Compare commits

...
This repository has been archived on 2024-03-14. You can view files and clone it, but cannot push or open issues or pull requests.

28 Commits

Author SHA1 Message Date
Jeremy Soller f1f98b4378
Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox 2024-03-13 08:51:12 -06:00
Jeremy Soller 55991001ff
Update submodules 2024-03-13 08:51:07 -06:00
Jeremy Soller 30e701d357
Update cookbook 2024-03-08 14:13:27 -07:00
Jeremy Soller d29b44a473
Update relibc 2024-03-04 15:50:19 -07:00
Jeremy Soller 026a0ba855
Update cookbook 2024-03-04 15:48:47 -07:00
Jeremy Soller 7fc6893d22 Merge branch 'pkg-size' into 'master'
Add pkg-size script

See merge request redox-os/redox!1430
2024-03-03 20:02:52 +00:00
Ron Williams 06c0fe8e32 Add pkg-size script 2024-03-03 02:31:37 -08:00
Jeremy Soller 554a854c7d
Update cookbook, redoxfs, and relibc 2024-03-01 08:03:28 -07:00
Jeremy Soller 047035c5d1
Update cookbook and relibc 2024-02-28 10:44:44 -07:00
Jeremy Soller 9e0aabe157 Merge branch 'remove_mac_cfg_file' into 'master'
Remove /etc/net/mac

See merge request redox-os/redox!1429
2024-02-28 12:59:53 +00:00
bjorn3 477580b936 Remove /etc/net/mac
The mac address is now always fetched directly from the network card
2024-02-28 09:40:46 +01:00
Jeremy Soller 4cf64316b9 Add cosmic-files to demo 2024-02-15 17:36:23 -07:00
Jeremy Soller c1df502cae
Add boxedwine and nushell to Jeremy config 2024-02-15 16:10:13 -07:00
Jeremy Soller bd6d5538bd
Update submodules 2024-02-15 16:08:23 -07:00
Jeremy Soller e56e39cd0a
Update relibc 2024-02-12 15:09:50 -07:00
Jeremy Soller 2a8eb92c08 Merge branch 'update-goal' into 'master'
Update goals and improve the guide

See merge request redox-os/redox!1428
2024-02-12 20:07:06 +00:00
Ribbon 580869cdf4 Update goals and improve the guide 2024-02-12 16:47:27 +00:00
Jeremy Soller 1fd8fee0e5 Merge branch 'add-zstd' into 'master'
Add zstd to the bootstrap script

See merge request redox-os/redox!1427
2024-02-11 13:26:53 +00:00
Jeremy Soller 7cef4fe6a3 Update cookbook 2024-02-10 18:55:13 -07:00
mattmadeofpasta a54af76a08
Add zstd 2024-02-10 21:42:42 +00:00
Jeremy Soller 49f13e7b4d
Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox 2024-02-10 14:28:37 -07:00
Jeremy Soller cdf31043e7
Update relibc 2024-02-10 14:28:32 -07:00
Jeremy Soller 1f93e814a9 Merge branch 'non-interactive-bootstrap' into 'master'
Bootstrap non-interactively

See merge request redox-os/redox!1424
2024-02-10 21:01:55 +00:00
Jeremy Soller 659dbb4a99 Merge branch 'master' of https://gitlab.redox-os.org/redox-os/redox 2024-02-10 10:40:02 -07:00
Jeremy Soller e3221aa0a8 Move bootloader to base template 2024-02-10 10:39:56 -07:00
Jeremy Soller be4db6b213 Merge branch 'fuse3-everywhere' into 'master'
Use `fusermount3` everywhere

See merge request redox-os/redox!1426
2024-02-10 15:01:28 +00:00
mattmadeofpasta 3f58996f32
Use fusermount3 everywhere 2024-02-10 13:19:27 +00:00
mattmadeofpasta 1575ef70b8
Bootstrap non-interactively 2024-02-10 09:59:39 +00:00
14 changed files with 127 additions and 53 deletions

View File

@ -15,7 +15,7 @@ before_script:
build-essential \ build-essential \
curl \ curl \
flex \ flex \
fuse \ fuse3 \
git \ git \
libfuse-dev \ libfuse-dev \
nasm \ nasm \

View File

@ -20,7 +20,7 @@ On [this](https://doc.redox-os.org/book/ch01-02-philosophy.html) page we explain
Join us on [Matrix Chat](https://doc.redox-os.org/book/ch13-01-chat.html) to discuss issues or ask questions. Join us on [Matrix Chat](https://doc.redox-os.org/book/ch13-01-chat.html) to discuss issues or ask questions.
## Suggestions for Contributions ## Important Places to Contribute
(Before starting to contribute you **must** read the [FAQ](https://www.redox-os.org/faq/) and the [Redox Book](https://doc.redox-os.org/book/)) (Before starting to contribute you **must** read the [FAQ](https://www.redox-os.org/faq/) and the [Redox Book](https://doc.redox-os.org/book/))
@ -29,46 +29,49 @@ You can contribute to the Redox documentation and code on these repositories:
(The order is based on difficulty, easy things first) (The order is based on difficulty, easy things first)
- [Website](https://gitlab.redox-os.org/redox-os/website) - [Website](https://gitlab.redox-os.org/redox-os/website)
- [Book](https://gitlab.redox-os.org/redox-os/book) - [Book](https://gitlab.redox-os.org/redox-os/book) - High-level documentation
- [Build System Configuration](https://gitlab.redox-os.org/redox-os/redox) - Our main repository - [Build System Configuration](https://gitlab.redox-os.org/redox-os/redox) - Our main repository
- [Cookbook](https://gitlab.redox-os.org/redox-os/cookbook) - Package system - [Cookbook](https://gitlab.redox-os.org/redox-os/cookbook) - Ports system
- [Orbital](https://gitlab.redox-os.org/redox-os/orbital) - Display server and window manager
- [Package Manager](https://gitlab.redox-os.org/redox-os/pkgutils)
- [relibc](https://gitlab.redox-os.org/redox-os/relibc) - Redox C Library - [relibc](https://gitlab.redox-os.org/redox-os/relibc) - Redox C Library
- [Drivers](https://gitlab.redox-os.org/redox-os/drivers) - [Drivers](https://gitlab.redox-os.org/redox-os/drivers) - Device daemons
- [Kernel](https://gitlab.redox-os.org/redox-os/kernel) - [Kernel](https://gitlab.redox-os.org/redox-os/kernel)
### Places to Contribute ### Skill Levels
If you aren't fluent in Rust: If you aren't fluent in Rust:
- Write documentation - Write documentation
- Use and test Redox, fill issues for bugs or needed features (verify the repository issues before) - Use and test Redox, fill issues for bugs or needed features (please verify the repository issues before)
- Web development on the [website](https://gitlab.redox-os.org/redox-os/website) - Web development on the website (we don't accept JavaScript code)
- Write unit tests (may require minimal knowledge of Rust) - Write unit tests (may require minimal knowledge of Rust)
If you are fluent in Rust, but not operating system Development: If you are fluent in Rust, but not operating system Development:
- Improve the Orbital display server and window manager.
- Port programs written in Rust to Redox (in most cases you need to port crates, be aware of missing functions on relibc, porting without these functions will make patches dirty) - Port programs written in Rust to Redox (in most cases you need to port crates, be aware of missing functions on relibc, porting without these functions will make patches dirty)
- [relibc](https://gitlab.redox-os.org/redox-os/relibc) - Redox C Library - Improve the program compatibility in relibc
- The [Ion Shell](https://gitlab.redox-os.org/redox-os/ion) - Improve the package manager
- [Package Manager](https://gitlab.redox-os.org/redox-os/pkgutils) - Improve the [Ion](https://gitlab.redox-os.org/redox-os/ion) shell
If you are fluent in Rust, and have experience with operating system development: If you are fluent in Rust, and have experience with operating system development:
- Familiarize yourself with the repository and codebase - Familiarize yourself with the repository and code
- Grep for `TODO`, `FIXME`, `BUG`, `UNOPTIMIZED`, `REWRITEME`, `DOCME`, and `PRETTYFYME` and fix the code you find - Grep for `TODO`, `FIXME`, `BUG`, `UNOPTIMIZED`, `REWRITEME`, `DOCME`, and `PRETTYFYME` and fix the code you find
- Update older code to remove warnings - Update old code to remove warnings
- Improve and optimize code, especially in the kernel - Improve and optimize code, especially in the kernel
- Write drivers - Write device drivers
For those who want to contribute to the Redox GUI, our GUI strategy has recently changed. For those who want to contribute to the Redox GUI, our GUI strategy has recently changed.
- We are porting the [COSMIC compositor](https://github.com/pop-os/cosmic-comp), help wanted. - We are improving the [Orbital](https://gitlab.redox-os.org/redox-os/orbital) display server and window manager, you can read more about it on [this](https://gitlab.redox-os.org/redox-os/redox/-/issues/1430) tracking issue.
- Redox is in the process of adopting other Rust-lang GUIs such as [Iced](https://iced.rs) and [Slint](https://slint-ui.com/). Please check out those projects if this is your area of interest. - Redox is in the process of adopting other Rust-written GUI toolkits, such as [Iced](https://iced.rs) and [Slint](https://slint-ui.com/). Please check out those projects if this is your area of interest.
- OrbTk is in maintenance mode, and its developers have moved to other projects such as the ones below. There is currently no Redox-specific GUI development underway. - OrbTk is in maintenance mode, and its developers have moved to other projects such as the ones below. There is currently no Redox-specific GUI development underway.
## Tracking Issues Index ## Tracking Issues Index
We use the Tracking Issues Index to ease the development workflow, you can find them on [this](https://gitlab.redox-os.org/redox-os/redox/-/issues/1384) page. We use an index to track the development priorities, you can find them on [this](https://gitlab.redox-os.org/redox-os/redox/-/issues/1384) page.
## Build System ## Build System

View File

@ -297,9 +297,17 @@ freebsd()
# This function takes care of installing all dependencies for building Redox on # This function takes care of installing all dependencies for building Redox on
# Arch Linux # Arch Linux
# @params: $1 the emulator to install, "virtualbox" or "qemu" # @params: $1 the emulator to install, "virtualbox" or "qemu"
# $2 install non-interactively, boolean
############################################################################### ###############################################################################
archLinux() archLinux()
{ {
noninteractive=$2
pacman_install="pacman -S --needed"
if [ "$noninteractive" = true ]; then
pacman_install+=" --noconfirm"
fi
echo "Detected Arch Linux" echo "Detected Arch Linux"
packages="cmake \ packages="cmake \
fuse \ fuse \
@ -360,20 +368,34 @@ archLinux()
#sudo pacman -Syu #sudo pacman -Syu
echo "Installing packages $packages..." echo "Installing packages $packages..."
sudo pacman -S --needed $packages sudo $pacman_install $packages
} }
############################################################################### ###############################################################################
# This function takes care of installing all dependencies for building Redox on # This function takes care of installing all dependencies for building Redox on
# Debian-based Linux # Debian-based Linux
# @params: $1 the emulator to install, "virtualbox" or "qemu" # @params: $1 the emulator to install, "virtualbox" or "qemu"
# $2 the package manager to use # $2 install non-interactively, boolean
# $3 the package manager to use
############################################################################### ###############################################################################
ubuntu() ubuntu()
{ {
noninteractive=$2
package_manager=$3
echo "Detected Ubuntu/Debian" echo "Detected Ubuntu/Debian"
echo "Updating system..." echo "Updating system..."
sudo "$2" update sudo $package_manager update
if [ $package_manager == "apt-get" ]; then
if [ "$noninteractive" = true ]; then
install_command+="DEBIAN_FRONTEND=noninteractive apt-get install --assume-yes --quiet"
else
install_command="apt-get install"
fi
else
install_command="$package_manager install"
fi
echo "Installing required packages..." echo "Installing required packages..."
pkgs="\ pkgs="\
ant \ ant \
@ -389,6 +411,7 @@ ubuntu()
doxygen \ doxygen \
file \ file \
flex \ flex \
fuse3 \
g++ \ g++ \
genisoimage \ genisoimage \
git \ git \
@ -426,17 +449,18 @@ ubuntu()
xdg-utils \ xdg-utils \
xxd \ xxd \
zip \ zip \
zstd \
" "
# Not availible for at least ARM hosts # Not availible for at least ARM hosts
case "$host_arch" in case "$host_arch" in
x86*|i?86) pkgs="$pkgs libc6-dev-i386 syslinux-utils";; x86*|i?86) pkgs="$pkgs libc6-dev-i386 syslinux-utils";;
esac esac
sudo "$2" install $pkgs sudo $install_command $pkgs
if [ "$1" == "qemu" ]; then if [ "$1" == "qemu" ]; then
if [ -z "$(which qemu-system-x86_64)" ]; then if [ -z "$(which qemu-system-x86_64)" ]; then
echo "Installing QEMU..." echo "Installing QEMU..."
sudo "$2" install qemu-system-x86 qemu-kvm sudo $install_command qemu-system-x86 qemu-kvm
sudo "$2" install qemu-efi-arm qemu-system-arm sudo $install_command qemu-efi-arm qemu-system-arm
else else
echo "QEMU already installed!" echo "QEMU already installed!"
fi fi
@ -448,10 +472,10 @@ ubuntu()
echo "To install virtualbox on debian, see https://wiki.debian.org/VirtualBox" echo "To install virtualbox on debian, see https://wiki.debian.org/VirtualBox"
echo "Please install VirtualBox and re-run this script," echo "Please install VirtualBox and re-run this script,"
echo "or run with -e qemu" echo "or run with -e qemu"
exit 1 exit 1
else else
echo "Installing VirtualBox..." echo "Installing VirtualBox..."
sudo "$2" install virtualbox sudo $install_command virtualbox
fi fi
else else
echo "VirtualBox already installed!" echo "VirtualBox already installed!"
@ -466,19 +490,27 @@ ubuntu()
# This function takes care of installing all dependencies for building Redox on # This function takes care of installing all dependencies for building Redox on
# Fedora Linux # Fedora Linux
# @params: $1 the emulator to install, "virtualbox" or "qemu" # @params: $1 the emulator to install, "virtualbox" or "qemu"
# $2 install non-interactively, boolean
############################################################################### ###############################################################################
fedora() fedora()
{ {
noninteractive=$2
dnf_install="dnf install"
if [ "$noninteractive" = true ]; then
dnf_install+=" --assumeyes --quiet"
fi
echo "Detected Fedora" echo "Detected Fedora"
if [ -z "$(which git)" ]; then if [ -z "$(which git)" ]; then
echo "Installing git..." echo "Installing git..."
sudo dnf install git-all sudo $dnf_install git-all
fi fi
if [ "$1" == "qemu" ]; then if [ "$1" == "qemu" ]; then
if [ -z "$(which qemu-system-x86_64)" ]; then if [ -z "$(which qemu-system-x86_64)" ]; then
echo "Installing QEMU..." echo "Installing QEMU..."
sudo dnf install qemu-system-x86 qemu-kvm sudo $dnf_install qemu-system-x86 qemu-kvm
else else
echo "QEMU already installed!" echo "QEMU already installed!"
fi fi
@ -548,19 +580,19 @@ fedora()
clang \ clang \
doxygen \ doxygen \
ant \ ant \
protobuf-compiler ; do rpm -q $pkg > /dev/null || echo $pkg; done) protobuf-compiler \
zstd ; do rpm -q $pkg > /dev/null || echo $pkg; done)
# If the list of packages is not empty, install missing # If the list of packages is not empty, install missing
COUNT=$(echo $PKGS | wc -w) COUNT=$(echo $PKGS | wc -w)
if [ $COUNT -ne 0 ]; then if [ $COUNT -ne 0 ]; then
echo "Installing necessary build tools..." echo "Installing necessary build tools..."
sudo dnf install $PKGS sudo $dnf_install $PKGS
fi fi
} }
############################################################################### ###############################################################################
# This function takes care of installing all dependencies for building Redox on # This function takes care of installing all dependencies for building Redox on
# *SUSE Linux # *SUSE Linux
# @params: $1 the emulator to install, "virtualbox" or "qemu"
############################################################################### ###############################################################################
suse() suse()
{ {
@ -817,6 +849,10 @@ usage()
echo " -p [package Choose an Ubuntu package manager, apt-fast or" echo " -p [package Choose an Ubuntu package manager, apt-fast or"
echo " manager] aptitude" echo " manager] aptitude"
echo " -d Only install the dependencies, skip boot step" echo " -d Only install the dependencies, skip boot step"
echo " -y Install non-interactively. Answer \"yes\" or"
echo " select the default option for rustup and package"
echo " managers. Only the apt, dnf and pacman"
echo " package managers are supported."
echo "EXAMPLES:" echo "EXAMPLES:"
echo echo
echo "./bootstrap.sh -e qemu" echo "./bootstrap.sh -e qemu"
@ -839,8 +875,10 @@ cargoInstall() {
# This function takes care of everything associated to rust, and the version manager # This function takes care of everything associated to rust, and the version manager
# That controls it, it can install rustup and uninstall multirust as well as making # That controls it, it can install rustup and uninstall multirust as well as making
# sure that the correct version of rustc is selected by rustup # sure that the correct version of rustc is selected by rustup
# @params: $1 install non-interactively, boolean
#################################################################################### ####################################################################################
rustInstall() { rustInstall() {
noninteractive=$1
# Check to see if multirust is installed, we don't want it messing with rustup # Check to see if multirust is installed, we don't want it messing with rustup
# In the future we can probably remove this but I believe it's good to have for now # In the future we can probably remove this but I believe it's good to have for now
if [ -e /usr/local/lib/rustlib/uninstall.sh ] ; then if [ -e /usr/local/lib/rustlib/uninstall.sh ] ; then
@ -858,15 +896,21 @@ rustInstall() {
fi fi
# If rustup is not installed we should offer to install it for them # If rustup is not installed we should offer to install it for them
if [ -z "$(which rustup)" ]; then if [ -z "$(which rustup)" ]; then
rustup_options="--default-toolchain nightly"
echo "You do not have rustup installed." echo "You do not have rustup installed."
echo "We HIGHLY recommend using rustup." if [ "$noninteractive" = true ]; then
echo "Would you like to install it now?" rustup="y"
echo "*WARNING* this involves a 'curl | sh' style command" rustup_options+=" -y"
printf "(y/N): " else
read rustup echo "We HIGHLY recommend using rustup."
echo "Would you like to install it now?"
echo "*WARNING* this involves a 'curl | sh' style command"
printf "(y/N): "
read rustup
fi
if echo "$rustup" | grep -iq "^y" ;then if echo "$rustup" | grep -iq "^y" ;then
#install rustup #install rustup
curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly curl https://sh.rustup.rs -sSf | sh -s -- $rustup_options
# You have to add the rustup variables to the $PATH # You have to add the rustup variables to the $PATH
echo "export PATH=\"\$HOME/.cargo/bin:\$PATH\"" >> ~/.bashrc echo "export PATH=\"\$HOME/.cargo/bin:\$PATH\"" >> ~/.bashrc
# source the variables so that we can execute rustup commands in the current shell # source the variables so that we can execute rustup commands in the current shell
@ -966,7 +1010,9 @@ emulator="qemu"
defpackman="apt-get" defpackman="apt-get"
dependenciesonly=false dependenciesonly=false
update=false update=false
while getopts ":e:p:udhs" opt noninteractive=false
while getopts ":e:p:udhys" opt
do do
case "$opt" in case "$opt" in
e) emulator="$OPTARG";; e) emulator="$OPTARG";;
@ -974,6 +1020,7 @@ do
d) dependenciesonly=true;; d) dependenciesonly=true;;
u) update=true;; u) update=true;;
h) usage;; h) usage;;
y) noninteractive=true;;
s) statusCheck && exit;; s) statusCheck && exit;;
\?) echo "I don't know what to do with that option, try -h for help"; exit 1;; \?) echo "I don't know what to do with that option, try -h for help"; exit 1;;
esac esac
@ -981,7 +1028,7 @@ done
banner banner
rustInstall rustInstall "$noninteractive"
if [ "$update" == "true" ]; then if [ "$update" == "true" ]; then
git pull upstream master git pull upstream master
@ -1000,10 +1047,10 @@ else
suse "$emulator" suse "$emulator"
# Debian or any derivative of it # Debian or any derivative of it
elif hash 2>/dev/null apt-get; then elif hash 2>/dev/null apt-get; then
ubuntu "$emulator" "$defpackman" ubuntu "$emulator" "$noninteractive" "$defpackman"
# Fedora # Fedora
elif hash 2>/dev/null dnf; then elif hash 2>/dev/null dnf; then
fedora "$emulator" fedora "$emulator" "$noninteractive"
# Gentoo # Gentoo
elif hash 2>/dev/null emerge; then elif hash 2>/dev/null emerge; then
gentoo "$emulator" gentoo "$emulator"
@ -1012,7 +1059,7 @@ else
solus "$emulator" solus "$emulator"
# Arch Linux # Arch Linux
elif hash 2>/dev/null pacman; then elif hash 2>/dev/null pacman; then
archLinux "$emulator" archLinux "$emulator" "$noninteractive"
# FreeBSD # FreeBSD
elif hash 2>/dev/null pkg; then elif hash 2>/dev/null pkg; then
freebsd "$emulator" freebsd "$emulator"

View File

@ -9,6 +9,7 @@
prompt = false prompt = false
[packages] [packages]
bootloader = {}
bootstrap = {} bootstrap = {}
escalated = {} escalated = {}
initfs = {} initfs = {}

View File

@ -49,9 +49,3 @@ path = "/etc/net/ip_subnet"
data = """ data = """
255.255.255.0 255.255.255.0
""" """
[[files]]
path = "/etc/net/mac"
data = """
54-52-00-ab-cd-ef
"""

View File

@ -10,7 +10,6 @@ filesystem_size = 512
# Package settings # Package settings
[packages] [packages]
bash = {} bash = {}
bootloader = {}
ca-certificates = {} ca-certificates = {}
contain = {} contain = {}
coreutils = {} coreutils = {}

View File

@ -33,6 +33,7 @@ filesystem_size = 1536
[packages] [packages]
# GUI Apps # GUI Apps
cosmic-edit = {} cosmic-edit = {}
cosmic-files = {}
periodictable = {} periodictable = {}
# GUI Data # GUI Data

View File

@ -10,6 +10,7 @@ filesystem_size = 8192
# Package settings # Package settings
[packages] [packages]
# apps # apps
boxedwine = {}
cosmic-edit = {} cosmic-edit = {}
cosmic-files = {} cosmic-files = {}
cosmic-term = {} cosmic-term = {}
@ -26,6 +27,7 @@ ffmpeg6 = {}
gnu-grep = {} gnu-grep = {}
lua54 = {} lua54 = {}
nano = {} nano = {}
nushell = {}
perg = {} perg = {}
relibc-tests = {} relibc-tests = {}
ripgrep = {} ripgrep = {}

@ -1 +1 @@
Subproject commit ac090c745dadbd25c9abd70b6b0feef45ff5fe50 Subproject commit d0378b5c485ef7943e744ebeda4ecc453c7cd7b7

@ -1 +1 @@
Subproject commit 17219dab9f58e2bf2c243f745fecce2d8730f82f Subproject commit 1c30f4a3c1f55974aed694b478ff77c0552a1576

View File

@ -12,7 +12,7 @@ RUN apt-get update \
curl \ curl \
file \ file \
flex \ flex \
fuse \ fuse3 \
genisoimage \ genisoimage \
git \ git \
gperf \ gperf \

@ -1 +1 @@
Subproject commit b3dd3aa5f0e1b3e56f4d3f06e45966fd53743367 Subproject commit 14a07dc268ec41db87d4f453022ac8805b918d20

2
relibc

@ -1 +1 @@
Subproject commit a7b2294b6200aa6a1971d1ac59c5dc33babbd9d6 Subproject commit 65589f9c935a7eaaa2d1d8db4875fbb458b29edd

27
scripts/pkg-size.sh Executable file
View File

@ -0,0 +1,27 @@
#!/usr/bin/env bash
if [ $# = 0 ]
then
find cookbook/recipes \( -name stage.pkgar -o -name stage.tar.gz \) -exec ls -hs {} \;
exit 0
fi
for recipe in $@
do
if [ "$recipe" = "-h" ] || [ "$recipe" = "--help" ]
then
echo "Usage: $0 [recipe] ..."
echo " For the recipe(s), prints the size of 'stage.pkgar' and 'stage.tar.gz'."
echo " If no recipe is given, then all packages are listed."
exit 0
fi
recipe_paths=$(find cookbook/recipes -name $recipe)
for recipe_path in $recipe_paths
do
if [ -f "$recipe_path/recipe.toml" ] || [ -f "$recipe_path/recipe.sh" ]
then
find "$recipe_path" \( -name stage.pkgar -o -name stage.tar.gz \) -exec ls -hs {} \;
fi
done
done