diff --git a/srcpkgs/base-system/template b/srcpkgs/base-system/template index e73c0c9..5c8cb56 100644 --- a/srcpkgs/base-system/template +++ b/srcpkgs/base-system/template @@ -1,7 +1,7 @@ # Template file for 'base-system' pkgname=base-system version=0.115 -revision=1 +revision=2 bootstrap=yes build_style=meta short_desc="EvolutionOS base system meta package" @@ -10,10 +10,9 @@ license="Public Domain" homepage="https://hectabit.org/evolutionos" depends=" - base-files busybox-evolution - mdocml>=1.13.3 shadow eudev - procps-ng tzdata iana-etc dhcpcd - iwd kmod xbps wifi-firmware + base-files busybox-evolution dhcpcd + mdocml>=1.13.3 shadow eudev tzdata iana-etc + iwd kmod xbps wifi-firmware linux-firmware dinit removed-packages dinit-services evolution-patches booster-evolution" diff --git a/srcpkgs/dhcpcd/files/dhcpcd b/srcpkgs/dhcpcd/files/dhcpcd deleted file mode 100644 index 6889b7b..0000000 --- a/srcpkgs/dhcpcd/files/dhcpcd +++ /dev/null @@ -1,4 +0,0 @@ -type = process -working-dir = /etc/dinit.d/runitb.d/dhcpcd/ -waits-for = loginready -command = /etc/dinit.d/runitb.d/dhcpcd/run \ No newline at end of file diff --git a/srcpkgs/dinit-services/files/drunner b/srcpkgs/dinit-services/files/drunner index 20e9b56..0ed000d 100755 --- a/srcpkgs/dinit-services/files/drunner +++ b/srcpkgs/dinit-services/files/drunner @@ -1,25 +1,9 @@ #!/bin/sh -if [ -e /etc/runit/runsvdir/default ]; then - : -else - mkdir -p /etc/runit/runsvdir/default -fi - for i in $(ls /etc/sv/); do rm -f /etc/dinit.d/boot.d/runitb.d mkdir -p /etc/dinit.d/runitb.d/"$i" cp -r /etc/sv/"$i"/* /etc/dinit.d/runitb.d/"$i"/ rm -rf /etc/dinit.d/runitb.d/"$i"/supervise - if [[ -x /etc/dinit.d/runitb.d/"$i"/log ]]; then - rm -rf /etc/dinit.d/runitb.d/"$i"/log/supervise - printf "type = process \nworking-dir = /etc/dinit.d/runitb.d/"$i"/log/ \ncommand = /etc/dinit.d/runitb.d/"$i"/log/run" > /etc/dinit.d/"$i"-log - fi printf "type = process \nworking-dir = /etc/dinit.d/runitb.d/"$i"/ \nwaits-for = loginready \ncommand = /etc/dinit.d/runitb.d/"$i"/run" > /etc/dinit.d/"$i" done - -for i in $(ls /etc/runit/runsvdir/default/); do - ln -sf /etc/dinit.d/"$i" /etc/dinit.d/boot.d/ -done - -rm -rf /etc/dinit.d/boot.d/runitb.d diff --git a/srcpkgs/dinit-services/template b/srcpkgs/dinit-services/template index 0e78799..8a80fc6 100644 --- a/srcpkgs/dinit-services/template +++ b/srcpkgs/dinit-services/template @@ -1,7 +1,7 @@ #!/bin/sh pkgname=dinit-services version=1.0 -revision=0 +revision=1 short_desc="System services for evolutionOS" maintainer="Tracker-Friendly " homepage="https://github.com/davmac314/dinit" diff --git a/srcpkgs/evolution-patches/files/main.conf b/srcpkgs/evolution-patches/files/main.conf index 77123aa..a82f251 100644 --- a/srcpkgs/evolution-patches/files/main.conf +++ b/srcpkgs/evolution-patches/files/main.conf @@ -1 +1 @@ -repository=https://hectabit.org/evolutionos/pkg +repository=https://evolutionos.hectabit.org/pkg diff --git a/srcpkgs/evolution-patches/template b/srcpkgs/evolution-patches/template index 8318f44..e446a99 100644 --- a/srcpkgs/evolution-patches/template +++ b/srcpkgs/evolution-patches/template @@ -1,6 +1,6 @@ pkgname=evolution-patches version=1.2 -revision=2 +revision=4 build_style=meta maintainer="Tracker-Friendly " short_desc="Simple patches that enable an usable OS out of the box" @@ -17,7 +17,7 @@ do_install() { # Get the list of commands from busybox - commands="[ [[ arch ascii base32 base64 basename brctl cat chgrp chmod chown chroot comm cp crc32 cttyhack cut date dc dd df dirname dnsdomainname du dumpkmap echo ed env expand expr factor false fatattr fbset fold fsync fuser getty groups head hexedit i2cdetect i2cdump i2cget i2cset i2ctransfer id ifconfig ifenslave install iostat ipaddr iplink ipneigh iproute iprule iptunnel killall killall5 link ln loadkmap ls lsof lsscsi lzcat md5sum mkdir mkfifo mknod mkstat mv nc netstat nice nl nohup nproc nslookup od partprobe paste patch pipe_progress powertop printenv printf pstree pwd readlink realpath rm rmdir seq setfattr sha1sum sha256sum sha3sum sha512sum shred shuf sleep sort split ssl_client stat strings stty su sum svok sync tac tail tee telnet test time touch tr true truncate ts tty uevent uname unexpand uniq unlink unxz unzip uudecode uuencode wc wget whoami whois xxd xz xzcat yes sh find diff gunzip tar gzip sed which mktemp grep xargs cmp egrep fgrep lspci lsusb mpstat tree tsort zcat add-shell addgroup adduser adjtimex ar arp ash awk bc beep chat cksum conspy crond crontab cryptpw delgroup deluser devmem dhcprelay dnsd dos2unix dpkg dpkg-deb dumpleases ether-wake fakeidentd fbsplash fdflush fdformat freeramdisk ftpd ftpget ftpput hd hdparm hostid hostname httpd hush ifdown ifplugd ifup inetd ipcalc klogd linux32 linux64 loadfont logger logname logread lpd lpq lpr lzma lzop lzopcat makedevs makemime mdev microcom mim minips mkpasswd mt nameif nanddump nandwrite nbd-client netcat nmeter ntpd nuke ping ping6 popmaildir pscan raidautorun rdate rdev readahead reformime remove-shell resize resume route rpm rpm2cpio run-init runlevel rx seedrng sendmail setconsole setlogcons setserial slattach smemcap start-stop-daemon syslogd tcpsvd telnetd tftp tftpd timeout traceroute traceroute6 ttysize tunctl ubiattach ubidetach ubimkvol ubirename ubirmvol ubirsvol ubiupdatevol udhcpc udhcpc6 udhcpd udpsvd uncompress unix2dos unlzma unlzop users usleep vconfig vi volname w watchdog who zcip" + commands="[ [[ arch ascii base32 base64 basename brctl cat chgrp chmod chown chroot comm cp crc32 cttyhack cut date dc dd df dirname dnsdomainname du dumpkmap echo ed env expand expr factor false fatattr fbset fold fsync fuser getty groups head hexedit i2cdetect i2cdump i2cget i2cset i2ctransfer id ifconfig ifenslave install iostat ipaddr iplink ipneigh iproute iprule iptunnel killall killall5 link ln loadkmap login ls lsof lsscsi lzcat md5sum mkdir mkfifo mount mknod mkstat mv nc netstat nice nl nohup nproc nslookup od partprobe paste patch pipe_progress powertop printenv printf pstree pwd readlink realpath rm rmdir seq setfattr sha1sum sha256sum sha3sum sha512sum shred shuf sleep sort split ssl_client stat strings stty su sum svok sync tac tail tee telnet test time touch tr true truncate ts tty uevent uname unexpand uniq unlink unxz unzip uudecode uuencode wc wget whoami whois xxd xz xzcat yes sh find diff gunzip tar gzip sed which mktemp grep xargs cmp egrep fgrep lspci lsusb mpstat tree tsort zcat add-shell addgroup adduser adjtimex ar arp ash awk bc beep chat cksum conspy crond crontab cryptpw delgroup deluser devmem dhcprelay dnsd dos2unix dpkg dpkg-deb dumpleases ether-wake fakeidentd fbsplash fdflush fdformat freeramdisk ftpd ftpget ftpput hd hdparm hostid hostname httpd hush ifdown ifplugd ifup inetd ipcalc klogd linux32 linux64 loadfont logger logname logread lpd lpq lpr lzma lzop lzopcat makedevs makemime mdev microcom mim minips mkpasswd mt nameif nanddump nandwrite nbd-client netcat nmeter ntpd nuke ping ping6 popmaildir pscan raidautorun rdate rdev readahead reformime remove-shell resize resume route rpm rpm2cpio run-init runlevel rx seedrng sendmail setconsole setlogcons setserial slattach smemcap start-stop-daemon syslogd tcpsvd telnetd tftp tftpd timeout traceroute traceroute6 ttysize tunctl ubiattach ubidetach ubimkvol ubirename ubirmvol ubirsvol ubiupdatevol udhcpc udhcpc6 udhcpd udpsvd uncompress unix2dos unlzma unlzop users usleep vconfig vi volname w watchdog who zcip" mkdir -p ${DESTDIR}/usr/bin/ # Loop through each command for cmd in $commands; do @@ -47,3 +47,4 @@ do_install() { ln -sf "/etc/dinit.d/$i" "${DESTDIR}/etc/dinit.d/boot.d/$i" done } + diff --git a/xbps-src b/xbps-src index cdb5f8c..77695b9 100755 --- a/xbps-src +++ b/xbps-src @@ -3,7 +3,7 @@ print_cross_targets() { local f - for f in common/cross-profiles/*.sh; do + for f in "${XBPS_DISTDIR}"/common/cross-profiles/*.sh; do f=${f%.sh}; f=${f##*/}; printf "\t$f\n" done } @@ -14,14 +14,17 @@ $PROGNAME: [options] [arguments] Targets: (only one may be specified) -binary-bootstrap [arch] +binary-bootstrap Install bootstrap packages from host repositories into . - If the optional 'arch' argument is set, it will install bootstrap packages - from this architecture, and its required xbps utilities. The - will be initialized for chroot operations. + If the optional '-A ' flag is set, it will install bootstrap packages + from this architecture, and its required xbps utilities. The will + be initialized for chroot operations. bootstrap Build and install from source the bootstrap packages into . + If the optional '-A ' flag is set, it will build and install bootstrap + packages from this architecture, and its required xbps utilities. The + will be initialized for chroot operations. bootstrap-update Updates bootstrap packages with latest versions available from registered @@ -151,6 +154,13 @@ Options: -1 If dependencies of target package are missing, fail instead of building them. +-A + Use this host machine. Automatically creates masterdir- if it doesn't + already exist. Some host machines may require qemu-user-static and + binfmt-support if not natively supported by the processor. Supported hosts: + +$(print_cross_targets) + -a Cross compile packages for this target machine. Supported targets: @@ -194,7 +204,7 @@ $(print_cross_targets) -m Absolute path to a directory to be used as masterdir. The masterdir is the main directory to build/store/compile packages. - If unset defaults to void-packages/masterdir. + If unset defaults to void-packages/masterdir-. -N Disable use of remote repositories to resolve dependencies. @@ -290,19 +300,8 @@ check_native_arch() { else export XBPS_ARCH=$(xbps-uhelper arch) fi - elif [ "$XBPS_TARGET" = 'binary-bootstrap' ] && [ "$XBPS_TARGET_PKG" ]; then - # ^ special case for binary-bootstrap for e.g: - # x86_64 -> x86_64-musl - # x86_64 -> i686 - export XBPS_ARCH=$XBPS_TARGET_PKG else - LDD=$(ldd --version 2>&1|head -1) - if [[ $LDD == *musl* ]]; then - export XBPS_ARCH=${XBPS_MACHINE%-musl}-musl - else - # XBPS_ARCH == $(uname -m) - export XBPS_ARCH=$(uname -m) - fi + export XBPS_ARCH="$XBPS_MACHINE" fi } @@ -372,7 +371,7 @@ readonly XBPS_SRC_VERSION="113" export XBPS_MACHINE=$(xbps-uhelper -C /dev/null arch) XBPS_OPTIONS= -XBPS_OPTSTRING="1a:bc:CEfgGhH:iIj:Lm:No:p:qsQKr:tV" +XBPS_OPTSTRING="1A:a:bc:CEfgGhH:iIj:Lm:No:p:qsQKr:tV" # Preprocess arguments in order to allow options before and after XBPS_TARGET. eval set -- $(getopt "$XBPS_OPTSTRING" "$@"); @@ -383,6 +382,7 @@ eval set -- $(getopt "$XBPS_OPTSTRING" "$@"); while getopts "$XBPS_OPTSTRING" opt; do case $opt in 1) XBPS_ARG_BUILD_ONLY_ONE_PKG=yes; XBPS_OPTIONS+=" -1";; + A) XBPS_ARG_MACHINE="$OPTARG"; XBPS_OPTIONS+=" -A $OPTARG";; a) XBPS_ARG_CROSS_BUILD="$OPTARG"; XBPS_OPTIONS+=" -a $OPTARG";; b) XBPS_ARG_IGNORE_BROKENNESS=yes; XBPS_OPTIONS+=" -b";; c) XBPS_ARG_CONFIG="$OPTARG"; XBPS_OPTIONS+=" -c $OPTARG";; @@ -474,6 +474,9 @@ fi # Read settings from config file [ -s "$XBPS_CONFIG_FILE" ] && . $XBPS_CONFIG_FILE &>/dev/null +# show colors unconditionally in CI +[ "$XBPS_BUILD_ENVIRONMENT" = void-packages-ci ] && export NOCOLORS= + # Set options passed on command line, after configuration files have been read [ -n "$XBPS_ARG_BUILD_ONLY_ONE_PKG" ] && XBPS_BUILD_ONLY_ONE_PKG=yes [ -n "$XBPS_ARG_IGNORE_BROKENNESS" ] && XBPS_IGNORE_BROKENNESS=1 @@ -490,6 +493,7 @@ fi [ -n "$XBPS_ARG_PRINT_VARIABLES" ] && XBPS_PRINT_VARIABLES="$XBPS_ARG_PRINT_VARIABLES" [ -n "$XBPS_ARG_ALT_REPOSITORY" ] && XBPS_ALT_REPOSITORY="$XBPS_ARG_ALT_REPOSITORY" [ -n "$XBPS_ARG_STRICT" ] && XBPS_STRICT="$XBPS_ARG_STRICT" +[ -n "$XBPS_ARG_MACHINE" ] && XBPS_MACHINE="$XBPS_ARG_MACHINE" [ -n "$XBPS_ARG_CROSS_BUILD" ] && XBPS_CROSS_BUILD="$XBPS_ARG_CROSS_BUILD" [ -n "$XBPS_ARG_CHECK_PKGS" ] && XBPS_CHECK_PKGS="$XBPS_ARG_CHECK_PKGS" [ -n "$XBPS_ARG_MAKEJOBS" ] && XBPS_MAKEJOBS="$XBPS_ARG_MAKEJOBS" @@ -524,9 +528,19 @@ if [ -z "$IN_CHROOT" -a "$UID" -eq 0 -a -z "$XBPS_ALLOW_CHROOT_BREAKOUT" ]; then exit 1 fi -# if XBPS_MASTERDIR unset, defaults to $XBPS_DISTDIR/masterdir. -: ${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir} -[ ! -d $XBPS_MASTERDIR ] && mkdir -p $XBPS_MASTERDIR +# if XBPS_MASTERDIR unset, defaults to $XBPS_DISTDIR/masterdir- +# unless in a container for simplicity of container/CI usage +if [ "$XBPS_CHROOT_CMD" = ethereal ]; then + : "${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir}" +else + : "${XBPS_MASTERDIR:=$XBPS_DISTDIR/masterdir-$XBPS_MACHINE}" + # but use $XBPS_DISTDIR/masterdir if it exists and the new style doesn't + if [ ! -d "${XBPS_MASTERDIR}" ] && [ -r "${XBPS_DISTDIR}/masterdir/.xbps_chroot_init" ] \ + && [ "$(cat "${XBPS_DISTDIR}/masterdir/.xbps_chroot_init")" = "$XBPS_MACHINE" ]; then + XBPS_MASTERDIR="${XBPS_DISTDIR}/masterdir" + fi +fi +[ ! -d "$XBPS_MASTERDIR" ] && mkdir -p "$XBPS_MASTERDIR" # if XBPS_HOSTDIR unset, defaults to $XBPS_DISTDIR/hostdir. : ${XBPS_HOSTDIR:=$XBPS_DISTDIR/hostdir} @@ -614,10 +628,10 @@ if [ -z "$XBPS_REINIT" -a -s $XBPS_MASTERDIR/.xbps_chroot_init ]; then linux32 xbps-reconfigure -r ${XBPS_MASTERDIR} -a &>/dev/null # reexec itself via linux32 export XBPS_REINIT=1 - exec linux32 $0 ${XBPS_OPTIONS} $@ + exec linux32 $0 ${XBPS_OPTIONS} "$@" fi fi -if [ "$XBPS_ARCH" ]; then +if [ -n "$XBPS_ARCH" ]; then export XBPS_MACHINE=$XBPS_ARCH fi # At this point if XBPS_TARGET_MACHINE isn't defined we assume @@ -740,13 +754,21 @@ reconfigure_base_chroot # case "$XBPS_TARGET" in binary-bootstrap) - install_base_chroot ${XBPS_TARGET_PKG:=$XBPS_MACHINE} + if [ -n "$XBPS_TARGET_PKG" ]; then + msg_error "xbps-src: binary-bootstrap is no longer supported, use '-A ' instead\n" + exit 1 + fi + install_base_chroot "$XBPS_MACHINE" ;; bootstrap) if [ -n "$XBPS_CHECK_PKGS" ]; then msg_error "xbps-src: disable tests for bootstrap\n" exit 1 fi + if [ -n "$XBPS_TARGET_PKG" ]; then + msg_error "xbps-src: bootstrap is no longer supported, use '-A ' instead\n" + exit 1 + fi # base-chroot building on host # check for required host utils check_reqhost_utils bootstrap @@ -758,7 +780,7 @@ case "$XBPS_TARGET" in base-chroot base-chroot $XBPS_TARGET || exit 1 ) || exit 1 [ -d $XBPS_MASTERDIR ] && rm -rf $XBPS_MASTERDIR - install_base_chroot ${XBPS_TARGET_PKG:=$XBPS_MACHINE} + install_base_chroot "$XBPS_MACHINE" ;; bootstrap-update) if [ -n "$CHROOT_READY" -a -z "$IN_CHROOT" ]; then