diff --git a/ISO/build.sh b/ISO/build.sh index 29cbc59332df..61d33eaee7aa 100755 --- a/ISO/build.sh +++ b/ISO/build.sh @@ -4,8 +4,8 @@ set -e # BSD ABI -VER="14.0" -MAJOR="14" +VER="15.0" +MAJOR="15" if [ -x /usr/sbin/pkg ]; then PKG=/usr/sbin/pkg @@ -59,15 +59,6 @@ if [ "$(id -u)" != "0" ]; then exit 1 fi -# Make sure git is installed -# We only need this in case we decide to pull in ingredients from -# other git repositories; this is currently not the case -# if [ ! -f "/usr/local/bin/git" ] ; then -# echo "Git is required" -# echo "Please install it with pkg install git or pkg install git-lite first" -# exit 1 -# fi - if [ -z "${desktop}" ] ; then export desktop=xfce fi @@ -102,31 +93,11 @@ else isopath="${iso}/${desktop}-${vol}-${arch}.iso" fi -# For helloSystem, we are using a different naming scheme for the ISOS -if [ "${desktop}" = "hello" ] ; then - if [ -f overlays/uzip/hello/manifest ] ; then - HELLO_VERSION=$(grep "^version:" overlays/uzip/hello/manifest | xargs | cut -d " " -f 2 | cut -d "_" -f 1) - # If we are building hello, then set version number of the 'hello' transient package - # based on environment variable set e.g., by Cirrus CI - if [ ! -z $BUILDNUMBER ] ; then - echo "Injecting $BUILDNUMBER" into manifest - sed -i -e 's|\(^version: .*_\).*$|\1'$BUILDNUMBER'|g' "${cwd}/overlays/uzip/hello/manifest" - rm "${cwd}/overlays/uzip/hello/manifest-e" - cat "${cwd}/overlays/uzip/hello/manifest" - isopath="${iso}/${tag}-F${VER}_h${HELLO_VERSION}_${BUILDNUMBER}-${arch}.iso" - else - isopath="${iso}/${tag}-F${VER}_h${HELLO_VERSION}_git${SHA}-${arch}.iso" - fi - fi -fi - -if [ "${desktop}" = "ravynOS" ]; then - MAJLABEL="f${MAJOR}" - if [ ! -z "${CIRRUS_BUILD_ID}" ]; then - MAJLABEL="${MAJLABEL}_${CIRRUS_BUILD_ID}" - fi - isopath="${iso}/${tag}_${MAJLABEL}_${arch}.iso" +MAJLABEL="f${MAJOR}" +if [ ! -z "${CIRRUS_BUILD_ID}" ]; then + MAJLABEL="${MAJLABEL}_${CIRRUS_BUILD_ID}" fi +isopath="${iso}/${tag}_${MAJLABEL}_${arch}.iso" cleanup() { @@ -222,8 +193,7 @@ packages() # Install packages beginning with 'https:' mkdir -p ${uzip}${pkg_cachedir}/furybsd-https for url in $(grep -e '^https' "${cwd}/settings/packages.$p"); do - # ABI=freebsd:12:$arch in an attempt to use package built on 12 for 13 - pkg_add_from_url "$url" furybsd-https "freebsd:14:$arch" + pkg_add_from_url "$url" furybsd-https "freebsd:15:$arch" done done # Install the packages we have generated in pkg() that are listed in transient-packages-list @@ -306,8 +276,6 @@ pkg() mkdir -p "${packages}/transient" cd "${packages}/transient" rm -f *.pkg # Make sure there are no leftover transient packages from earlier runs - splashqml="${cwd}/overlays/uzip/ravynos/files/usr/share/plasma/look-and-feel/ravynOS/contents/splash/Splash.qml" - sed -e "s@__CODENAME__@${RAVYNOS_CODENAME}@" -e "s@__VERSION__@${RAVYNOS_VERSION}@" < "${splashqml}.in" > "${splashqml}" while read -r p; do sh -ex "${cwd}/scripts/build-pkg.sh" -m "${cwd}/overlays/uzip/${p}"/manifest -d "${cwd}/overlays/uzip/${p}/files" done <"${cwd}"/settings/overlays.common @@ -323,7 +291,7 @@ pkg() initgfx() { if [ "${arch}" != "i386" ] ; then - if [ $MAJOR -lt 14 ] ; then + if [ $MAJOR -lt 15 ] ; then PKGS="quarterly" else PKGS="latest" @@ -367,10 +335,11 @@ uzip() ramdisk() { cp -R "${cwd}/overlays/ramdisk/" "${ramdisk_root}" - cc -static -o "${ramdisk_root}/raminit" "${cwd}/raminit.c" -lutil sync ### Needed? cd ${cwd} && zpool import furybsd && zfs set mountpoint=${workdir}/furybsd/uzip furybsd sync ### Needed? + cc --sysroot=${uzip} -static -o "${ramdisk_root}/raminit" \ + "${cwd}/raminit.c" -lutil cd "${uzip}" && tar -cf - rescue | tar -xf - -C "${ramdisk_root}" mkdir -p "${ramdisk_root}/etc" touch "${ramdisk_root}/etc/fstab" diff --git a/ISO/overlays/uzip/ravynos/files/usr/share/plasma/look-and-feel/ravynOS/contents/splash/Splash.qml b/ISO/overlays/uzip/ravynos/files/usr/share/plasma/look-and-feel/ravynOS/contents/splash/Splash.qml index ee00b247a755..c7a7e5888ec1 100644 --- a/ISO/overlays/uzip/ravynos/files/usr/share/plasma/look-and-feel/ravynOS/contents/splash/Splash.qml +++ b/ISO/overlays/uzip/ravynos/files/usr/share/plasma/look-and-feel/ravynOS/contents/splash/Splash.qml @@ -64,7 +64,7 @@ Image { Text { id: verstext color: "#eff0f1" - text: "Pygmy Marmoset v0.4.0pre5" + text: "Sneaky Snek v0.5.0" font.pointSize: 20 font { family: "Nimbus Sans"; weight: Font.Regular } x: (PlasmaCore.Units.gridUnit * 2) diff --git a/ISO/settings/packages.ravynOS b/ISO/settings/packages.ravynOS index 3c9b92ae3888..e69de29bb2d1 100644 --- a/ISO/settings/packages.ravynOS +++ b/ISO/settings/packages.ravynOS @@ -1,76 +0,0 @@ -#ImageMagick7 -avahi-app -bash-completion -ca_root_nss -cairo -cpdup -dbus -dmidecode -#drm-devel-kmod -fcft -foot -glib -gpu-firmware-kmod -#libdbusmenu -#libdbusmenu-qt5 -libexif -libinput -libqtxdg -#libXres -libudev-devd -libva-intel-driver -libxcb -libxshmfence -mesa-libs -mesa-gallium-xa -mesa-dri -nss_mdns -#qt5-l10n -#qt5-graphicaleffects -#qt5-quickcontrols2 -#qt5-x11extras -#menu-cache -#py38-psutil -#py38-dateutil -#py38-pytz -#py38-qt5-network -#py38-xmltodict -#py38-beautifulsoup -#py38-sqlite3 -#py38-qt5-dbus -#py38-qt5-widgets -#py38-qt5-qml -#py38-qt5-multimedia -#py38-qt5-webengine -#openssl -pango -pixman -pkg -python3 -pv -qt5-core -qt5-dbus -qt5-gui -qt5-svg -qt5-widgets -qt5-xml -seatd -sqlite3 -sudo -tiff -#font-awesome -#sourcecodepro-ttf -#wqy-fonts -git-tiny -cmake -pkgconf -#qt5-qmake -#qt5-buildtools -#lxqt-build-tools -usbids -utf8proc -vulkan-loader -xcb-util-errors -xdg-user-dirs -xdg-utils -zsh diff --git a/ISO/settings/script.ravynOS b/ISO/settings/script.ravynOS index 77bf6f25ca4e..a42f60957db1 100755 --- a/ISO/settings/script.ravynOS +++ b/ISO/settings/script.ravynOS @@ -1,4 +1,4 @@ -#!/usr/bin/bash +#!/bin/sh set -e set -x @@ -6,45 +6,13 @@ set -x mkdir -p /tmp/system-overlay cd /tmp/system-overlay -# Use blue folder icons instead of the ones packaged in FreeBSD which have yellow folder icons -# Don't extract directly in /tmp, as tar will modify its permissions -icons_temp=$(mktemp -d /tmp/icons.XXXXX) -cd $icons_temp -fetch http://archive.ubuntu.com/ubuntu/pool/universe/x/xubuntu-artwork/xubuntu-icon-theme_16.04.2_all.deb -tar xf xubuntu-icon-theme_16.04.2_all.deb -tar xf data.tar.xz -mkdir -p "${uzip}"/usr/share/icons/ -mv ./usr/share/icons/elementary-xfce "${uzip}"/usr/share/icons/elementary -ln -sf "elementary" "${uzip}/usr/share/icons/elementary-xfce" -mv ./usr/share/doc/xubuntu-icon-theme/copyright "${uzip}"/usr/share/icons/elementary/ -cd - -rm -r $icons_temp - -#curl -Lo - https://dl.cloudsmith.io/public/airyx/13_0/raw/files/gnome-icon-theme-3.12.0_1.pkg | tar xvf - -C "${uzip}" -#curl -Lo - https://dl.cloudsmith.io/public/airyx/13_0/raw/files/gnome-icon-theme-symbolic-3.12.0.pkg | tar xvf - -C "${uzip}" -#( cd "${uzip}/usr/share/icons/" ; ln -s Adwaita adwaita ) - -# Cursor theme with HiDPi Support, sizes: 22 24 28 32 40 48 56 64 72 80 88 96 -fetch https://github.com/ful1e5/apple_cursor/releases/download/v1.0.6/macOSBigSur.tar.gz -tar xvf macOSBigSur.tar.gz -mv macOSBigSur "${uzip}/usr/share/icons/" -chown -R root:wheel "${uzip}/usr/share/icons" -find "${uzip}/usr/share/icons/macOSBigSur" -type d -exec chmod 755 {} \; -find "${uzip}/usr/share/icons/macOSBigSur" -type f -exec chmod 644 {} \; -( cd "${uzip}/usr/share/icons/" ; ln -s macOSBigSur default ) -rm -f macOSBigSur.tar.gz - -# Pull in the default JDK -mkdir -p "${uzip}/Library/Java/JavaVirtualMachines/" -curl -Lo - https://github.com/mszoek/airyx/releases/download/jdk-17.0.1/openjdk-17.0.1.jdk.txz | \ - tar -xf - -C "${uzip}/Library/Java/JavaVirtualMachines/" - # Install our standard app bundles mkdir -p "${uzip}/Applications/Utilities" -declare -A apps utils +# This syntax below needs bash or zsh. Rewrite it or add them to build server +#declare -A apps utils #apps=(Kate 21.08.1 Firefox 97.0) -utils=(Terminal 0.9.0) +#utils=(Terminal 0.9.0) #for app in ${!apps[@]}; do # tag="v${apps[$app]}" @@ -53,12 +21,12 @@ utils=(Terminal 0.9.0) # curl -Lo - https://github.com/airyxos/${app}_app/releases/download/${tag}/${app}.txz | \ # tar -xf - -C "${uzip}/Applications/" #done -for app in ${!utils[@]}; do - tag="v${utils[$app]}" - echo Fetching $app $tag - curl -Lo - https://github.com/ravynsoft/${app}_app/releases/download/${tag}/${app}.txz | \ - tar -xf - -C "${uzip}/Applications/Utilities/" -done +#for app in ${!utils[@]}; do +# tag="v${utils[$app]}" +# echo Fetching $app $tag +# curl -Lo - https://github.com/ravynsoft/${app}_app/releases/download/${tag}/${app}.txz | \ +# tar -xf - -C "${uzip}/Applications/Utilities/" +#done # Fonts fetch https://github.com/ArtifexSoftware/urw-base35-fonts/archive/20200910.zip @@ -71,8 +39,6 @@ rm -rf urw-base35-fonts-20200910/ 20200910.zip cat > /tmp/rc <<\EOF #!/bin/sh -# The following block was added by helloSystem -# FIXME: Let us know how to do this properly # Silence messages if boot_mute="YES" is set if [ "$(kenv boot_mute)" = "YES" ] ; then conscontrol delete ttyv0 >/dev/null 2>&1 @@ -87,8 +53,6 @@ mv /tmp/rc "${uzip}/etc/rc" cat > /tmp/rc.shutdown <<\EOF #!/bin/sh -# The following block was added by helloSystem -# FIXME: Let us know how to do this properly # Silence messages if boot_mute="YES" is set if [ "$(kenv boot_mute)" = "YES" ] ; then exec 1>>/dev/null 2>&1 @@ -122,35 +86,3 @@ rm "${uzip}/etc/syslog.conf-e" # Workaround to allow unmounting as normal user # setuid root chmod +s "${uzip}/sbin/umount" - -# Brute force method to make FAT media fully accessible and executable by everyone -# https://github.com/vermaden/automount/issues/21#issuecomment-808753031 -# https://github.com/vermaden/automount/issues/27 -# https://github.com/vermaden/automount/commit/f50118920208e49890067d00ecd6bb1a97b47ce3 -# FIXME: Use better solution -sed -i -e 's|longnames -m 644|longnames -m 777|g' "${uzip}/usr/sbin/automount" -sed -i -e 's|longnames -m 755|longnames -m 777|g' "${uzip}/usr/sbin/automount" -rm "${uzip}/usr/sbin/automount-e" - -# Required for runappimage -fetch "https://github.com/helloSystem/elfsize/releases/download/0/elfsize" -chmod +x elfsize -mv elfsize "${uzip}/usr/bin/" - -# Improve compatibility with many scripts from the Linux world, -# including those in many AppImages -chroot ${uzip} ln -s /usr/bin/bash /bin/bash - -# Make sure zsh exists in /bin too -chroot ${uzip} ln -s /usr/bin/zsh /bin/zsh - -# Remove unwanted UDisks2VolumeMonitor D-Bus service -# TODO: Find a proper way to do this. The correct thing to do would probably to split up the FreeBSD package -# FIXME: This is guaranteed to break as soon as the user updates/upgrades the package -if [ -f "${uzip}/usr/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service" ] ; then - rm -rf "${uzip}/usr/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service" - touch "${uzip}/usr/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service" - # Make the file immutable so that even root cannot overwrite it - chflags schg "${uzip}/usr/share/dbus-1/services/org.gtk.vfs.UDisks2VolumeMonitor.service" -fi - diff --git a/tools/ravynOS/build.sh b/tools/ravynOS/build.sh index c1fbe9d8e4e4..c4268399d12c 100755 --- a/tools/ravynOS/build.sh +++ b/tools/ravynOS/build.sh @@ -56,7 +56,9 @@ drm_build() { system_build() { cd ${CIRRUS_WORKING_DIR} + echo "CIRRUS_CI=${CIRRUS_CI}" if [ "x${CIRRUS_CI}" = "xtrue" ]; then + echo "Symlinking OBJTOP/usr/include/machine for CI" ln -sf ${CIRRUS_WORKING_DIR}/sys/$(uname -m)/include \ /usr/obj/${CIRRUS_WORKING_DIR}/${PLATFORM}/tmp/usr/include/machine fi