Compare commits

...

8 Commits

Author SHA1 Message Date
Ribbon
2dbfcf12f7 Merge branch 'add-redox-target' into 'master'
Draft: Add Redox target in native_bootstrap.sh

See merge request redox-os/redox!1618
2025-07-28 12:36:55 -03:00
Jeremy Soller
172432859d Merge branch 'fix-ci' into 'master'
Enhance CI artifacts and manual trigger

See merge request redox-os/redox!1620
2025-07-28 09:34:08 -06:00
Jeremy Soller
620a7a79fc Merge branch 'remove-orb' into 'master'
Replace old orbutils in config

See merge request redox-os/redox!1619
2025-07-28 09:32:18 -06:00
Wildan Mubarok
c5a7b03f23 Only create artifacts in MR 2025-07-28 14:07:11 +00:00
Wildan Mubarok
e57b033fae Fix blocked by manual trigger 2025-07-28 14:01:05 +00:00
Wildan Mubarok
ce17706497 Do not create artifacts in CI 2025-07-28 13:46:56 +00:00
Wildan Mubarok
e4984c338c Replace old orbutils in config 2025-07-28 12:01:43 +00:00
Ribbon
6dc7fc6fad Add Redox target in native_bootstrap.sh 2025-07-23 15:20:33 -03:00
8 changed files with 79 additions and 22 deletions

View File

@ -45,7 +45,8 @@ img:
cargo binstall --no-confirm --version 1.16.0 just &&
cargo binstall --no-confirm --version 0.27.0 cbindgen &&
cargo build --manifest-path installer/Cargo.toml --release &&
PODMAN_BUILD=0 REPO_BINARY=1 make ci-img IMG_TAG=$CI_COMMIT_REF_NAME
PODMAN_BUILD=0 REPO_BINARY=1 make ci-img IMG_TAG=$CI_COMMIT_REF_NAME &&
([ $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "master" ] && rm -rf build/img/* || true)
artifacts:
paths:
- build/img/
@ -56,6 +57,7 @@ img:
rules:
- if: '$CI_PIPELINE_SOURCE == "push"'
when: manual
allow_failure: true
- when: never
image:
name: alpine/git:latest

View File

@ -12,9 +12,7 @@ filesystem_size = 256
orbdata = {}
orbital = {}
orbterm = {}
orbutils-background = {}
orbutils-launcher = {}
orbutils-orblogin = {}
orbutils = {}
[[files]]
path = "/usr/lib/init.d/20_orbital"

View File

@ -14,9 +14,7 @@ filesystem_size = 256
orbdata = {}
orbital = {}
orbterm = {}
orbutils-background = {}
orbutils-launcher = {}
orbutils-orblogin = {}
orbutils = {}
[[files]]
path = "/usr/lib/init.d/20_orbital"

View File

@ -14,9 +14,7 @@ filesystem_size = 256
orbdata = {}
orbital = {}
orbterm = {}
orbutils-background = {}
orbutils-launcher = {}
orbutils-orblogin = {}
orbutils = {}
[[files]]
path = "/usr/lib/init.d/20_orbital"

View File

@ -14,9 +14,7 @@ filesystem_size = 256
orbdata = {}
orbital = {}
orbterm = {}
orbutils-background = {}
orbutils-launcher = {}
orbutils-orblogin = {}
orbutils = {}
[[files]]
path = "/usr/lib/init.d/20_orbital"

View File

@ -14,9 +14,7 @@ filesystem_size = 256
orbdata = {}
orbital = {}
orbterm = {}
orbutils-background = {}
orbutils-launcher = {}
orbutils-orblogin = {}
orbutils = {}
[[files]]
path = "/usr/lib/init.d/20_orbital"

View File

@ -130,9 +130,6 @@ orbdata = {}
orbital = {}
orbterm = {}
orbutils = {}
#orbutils-background = {} # needs recipe update
#orbutils-launcher = {} # needs recipe update
#orbutils-orblogin = {} # needs recipe update
osdemo = {}
#pango = {} # undefined references to std::__throw_system_error(int)
#pastel = {} # needs crate patches for redox-unix

View File

@ -16,6 +16,71 @@ banner()
echo "|------------------------------------------|"
}
###############################################################################
# This function takes care of installing all dependencies for building Redox on
# Redox
# @params: $1 the emulator to install
# $2 install non-interactively, boolean
# $3 the package manager to use
###############################################################################
redox()
{
noninteractive=$2
package_manager=$3
echo "Detected Redox OS"
echo "Updating system..."
sudo $package_manager update
if [ $package_manager == "pkg" ]; then
if [ "$noninteractive" = true ]; then
install_command+="pkg install"
else
install_command="pkg install"
fi
else
install_command="$package_manager install"
fi
echo "Installing required packages..."
pkgs="\
rust \
cargo \
gcc \
gnu-make \
qemu \
bison \
cmake \
wget \
file \
flex \
gperf \
expat \
libgmp \
libpng \
libjpeg \
sdl \
sdl2-ttf \
html-parser-perl \
libtool \
m4 \
nasm \
patch \
automake \
autoconf \
scons \
pkg-config \
po4a \
texinfo \
ninja-build \
meson \
python310 \
python3-mako \
xdg-utils \
vim \
perl \
doxygen"
}
############################################################################
# This function takes care of installing a dependency via package manager of
# choice for building Redox on BSDs (macOS, FreeBSD, etc.).
@ -1068,6 +1133,12 @@ if [ "Darwin" == "$(uname -s)" ]; then
else
# Here we will use package managers to determine which operating system the user is using.
# Redox OS
elif hash 2>/dev/null pkg; then
redox "$emulator"
# FreeBSD
elif hash 2>/dev/null pkg; then
freebsd "$emulator"
# SUSE and derivatives
if hash 2>/dev/null zypper; then
suse "$emulator"
@ -1086,9 +1157,6 @@ else
# Arch Linux
elif hash 2>/dev/null pacman; then
archLinux "$emulator" "$noninteractive"
# FreeBSD
elif hash 2>/dev/null pkg; then
freebsd "$emulator"
# Unsupported platform
else
printf "\e[31;1mFatal error: \e[0;31mUnsupported platform, please open an issue\e[0m\n"