diff --git a/.github/workflows/fedora_rpm.yml b/.github/workflows/fedora_rpm.yml index 0aa587a1f..afe846c35 100644 --- a/.github/workflows/fedora_rpm.yml +++ b/.github/workflows/fedora_rpm.yml @@ -1,4 +1,4 @@ -name: Fedora 41 RPM +name: Fedora 43 RPM on: workflow_dispatch: @@ -8,12 +8,12 @@ on: required: true default: 'warning' tags: - description: 'Build RPMs on Fedora 41' + description: 'Build RPMs on Fedora 43' jobs: build: - runs-on: ubuntu-22.04 - container: amd64/fedora:41 + runs-on: ubuntu-24.04 + container: amd64/fedora:43 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/sources_debian.yml b/.github/workflows/sources_debian.yml index 5251e533e..f250321f3 100644 --- a/.github/workflows/sources_debian.yml +++ b/.github/workflows/sources_debian.yml @@ -1,4 +1,4 @@ -name: Debian 12 +name: Debian 13 on: push: @@ -9,8 +9,8 @@ on: jobs: build: - runs-on: ubuntu-22.04 - container: amd64/debian:12 + runs-on: ubuntu-24.04 + container: amd64/debian:13 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/sources_fedora.yml b/.github/workflows/sources_fedora.yml index 7cd093f40..bf2d1ab0c 100644 --- a/.github/workflows/sources_fedora.yml +++ b/.github/workflows/sources_fedora.yml @@ -1,4 +1,4 @@ -name: Fedora 41 +name: Fedora 43 on: push: @@ -8,8 +8,8 @@ on: jobs: build: - runs-on: ubuntu-22.04 - container: amd64/fedora:41 + runs-on: ubuntu-24.04 + container: amd64/fedora:43 steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/sources_ubuntu.yml b/.github/workflows/sources_ubuntu.yml index 496b4b6e7..aef963d77 100644 --- a/.github/workflows/sources_ubuntu.yml +++ b/.github/workflows/sources_ubuntu.yml @@ -1,4 +1,4 @@ -name: Ubuntu 22.04 +name: Ubuntu 24.04 on: push: @@ -9,7 +9,7 @@ on: jobs: build: - runs-on: ubuntu-22.04 + runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v3 @@ -20,26 +20,26 @@ jobs: - name: Build core libraries run: | cd Packaging/Sources - ./0_build_libdispatch.sh - ./1_build_libcorefoundation.sh - ./2_build_libobjc2.sh - ./3_build_core.sh - ./3_build_tools-make.sh - ./4_build_libwraster.sh + sudo ./0_build_libdispatch.sh + sudo ./1_build_libcorefoundation.sh + sudo ./2_build_libobjc2.sh + sudo ./3_build_core.sh + sudo ./3_build_tools-make.sh + sudo ./4_build_libwraster.sh - name: Build GNUstep run: | cd Packaging/Sources - ./5_build_libs-base.sh - ./6_build_libs-gui.sh - ./7_build_libs-back.sh + sudo ./5_build_libs-base.sh + sudo ./6_build_libs-gui.sh + sudo ./7_build_libs-back.sh - name: Build NextSpace frameworks run: | cd Packaging/Sources - ./8_build_Frameworks.sh + sudo ./8_build_Frameworks.sh - name: Build NextSpace applications run: | cd Packaging/Sources - ./9_build_Applications.sh + sudo ./9_build_Applications.sh diff --git a/Applications/Terminal/TerminalView.m b/Applications/Terminal/TerminalView.m index e06af6c13..a48a6d0e6 100644 --- a/Applications/Terminal/TerminalView.m +++ b/Applications/Terminal/TerminalView.m @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/Packaging/Sources/0_build_libdispatch.sh b/Packaging/Sources/0_build_libdispatch.sh index 1edbdb7e2..0711301ac 100755 --- a/Packaging/Sources/0_build_libdispatch.sh +++ b/Packaging/Sources/0_build_libdispatch.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh #---------------------------------------- # Install package dependecies @@ -41,7 +41,9 @@ rm -rf _build 2>/dev/null mkdir -p _build cd _build -C_FLAGS="-Wno-error=unused-but-set-variable" +#C_FLAGS="-Wno-error=unused-but-set-variable" +C_FLAGS="-Wno-error=cast-function-type-mismatch" +CXX_FLAGS="-Wno-error=cast-function-type-mismatch" $CMAKE_CMD .. \ -DCMAKE_C_COMPILER=${C_COMPILER} \ -DCMAKE_CXX_COMPILER=${CXX_COMPILER} \ diff --git a/Packaging/Sources/1_build_libcorefoundation.sh b/Packaging/Sources/1_build_libcorefoundation.sh index 07ae5f441..2e342d350 100755 --- a/Packaging/Sources/1_build_libcorefoundation.sh +++ b/Packaging/Sources/1_build_libcorefoundation.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh #---------------------------------------- # Install package dependecies diff --git a/Packaging/Sources/2_build_libobjc2.sh b/Packaging/Sources/2_build_libobjc2.sh index b5a636a78..b209a1d41 100755 --- a/Packaging/Sources/2_build_libobjc2.sh +++ b/Packaging/Sources/2_build_libobjc2.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh #---------------------------------------- # Install package dependecies diff --git a/Packaging/Sources/3_build_core.sh b/Packaging/Sources/3_build_core.sh index fcad91349..3c77511f8 100755 --- a/Packaging/Sources/3_build_core.sh +++ b/Packaging/Sources/3_build_core.sh @@ -1,6 +1,17 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh + +#---------------------------------------- +# Install package dependecies +#---------------------------------------- +if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then + sudo apt-get install -y ${RUNTIME_RUN_DEPS} || exit 1 +else + SPEC_FILE=${PROJECT_DIR}/Core/nextspace-core.spec + DEPS=`rpmspec -q --requires ${SPEC_FILE} | grep -v libobjc2 | grep -v libdispatch | grep -v nextspace-core | grep -v git | grep -v clang | awk -c '{print $1}'` + sudo yum -y install ${DEPS} || exit 1 +fi #---------------------------------------- # Install system configuration files diff --git a/Packaging/Sources/3_build_tools-make.sh b/Packaging/Sources/3_build_tools-make.sh index a7c014bd9..f0dcabb8a 100755 --- a/Packaging/Sources/3_build_tools-make.sh +++ b/Packaging/Sources/3_build_tools-make.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh #---------------------------------------- # Install package dependecies diff --git a/Packaging/Sources/4_build_libwraster.sh b/Packaging/Sources/4_build_libwraster.sh index 46a6073c9..2f38f784c 100755 --- a/Packaging/Sources/4_build_libwraster.sh +++ b/Packaging/Sources/4_build_libwraster.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh . /etc/profile.d/nextspace.sh #---------------------------------------- @@ -9,7 +9,7 @@ ${ECHO} ">>> Installing ${OS_ID} packages for WRaster library build" if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then ${ECHO} "Debian-based Linux distribution: calling 'apt-get install'." - sudo apt-get install -y ${WRASTER_DEPS} || exit 1 + sudo apt-get install -y ${WRASTER_DEPS} ${WRASTER_RUN_DEPS} || exit 1 else ${ECHO} "RedHat-based Linux distribution: calling 'yum -y install'." SPEC_FILE=${PROJECT_DIR}/Libraries/libwraster/libwraster.spec @@ -43,4 +43,4 @@ $INSTALL_CMD || exit 1 if [ "$DEST_DIR" = "" ]; then sudo ldconfig -fi \ No newline at end of file +fi diff --git a/Packaging/Sources/5_build_libs-base.sh b/Packaging/Sources/5_build_libs-base.sh index a0c501924..6edd8f5a5 100755 --- a/Packaging/Sources/5_build_libs-base.sh +++ b/Packaging/Sources/5_build_libs-base.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh . /Developer/Makefiles/GNUstep.sh . /etc/profile.d/nextspace.sh @@ -10,7 +10,7 @@ ${ECHO} ">>> Installing ${OS_ID} packages for GNUstep Base (Foundation) build" if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then ${ECHO} "Debian-based Linux distribution: calling 'apt-get install'." - sudo apt-get install -y ${GNUSTEP_BASE_DEPS} || exit 1 + sudo apt-get install -y ${GNUSTEP_BASE_DEPS} ${GNUSTEP_BASE_RUN_DEPS} || exit 1 else ${ECHO} "RedHat-based Linux distribution: calling 'yum -y install'." SPEC_FILE=${PROJECT_DIR}/Libraries/gnustep/nextspace-gnustep.spec diff --git a/Packaging/Sources/6_build_libs-gui.sh b/Packaging/Sources/6_build_libs-gui.sh index f076ef2fe..d108c1b1d 100755 --- a/Packaging/Sources/6_build_libs-gui.sh +++ b/Packaging/Sources/6_build_libs-gui.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh . /Developer/Makefiles/GNUstep.sh . /etc/profile.d/nextspace.sh @@ -9,7 +9,7 @@ #---------------------------------------- if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then ${ECHO} ">>> Installing packages for GNUstep GUI (AppKit) build" - sudo apt-get install -q -y ${GNUSTEP_GUI_DEPS} + sudo apt-get install -q -y ${GNUSTEP_GUI_DEPS} ${GNUSTEP_GUI_RUN_DEPS} || exit 1 fi #---------------------------------------- diff --git a/Packaging/Sources/7_build_libs-back.sh b/Packaging/Sources/7_build_libs-back.sh index 78df045a8..2599f78e9 100755 --- a/Packaging/Sources/7_build_libs-back.sh +++ b/Packaging/Sources/7_build_libs-back.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh . /etc/profile.d/nextspace.sh #---------------------------------------- @@ -8,7 +8,7 @@ #---------------------------------------- if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then ${ECHO} ">>> Installing packages for GNUstep GUI Backend (ART) build" - sudo apt-get install -y ${BACK_ART_DEPS} + sudo apt-get install -y ${BACK_ART_DEPS} ${BACK_ART_RUN_DEPS} || exit 1 fi #---------------------------------------- diff --git a/Packaging/Sources/8_build_Frameworks.sh b/Packaging/Sources/8_build_Frameworks.sh index f1d5749b0..6d7bf0fd9 100755 --- a/Packaging/Sources/8_build_Frameworks.sh +++ b/Packaging/Sources/8_build_Frameworks.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh . /etc/profile.d/nextspace.sh #---------------------------------------- @@ -9,8 +9,8 @@ ${ECHO} ">>> Installing ${OS_ID} packages for NextSpace frameworks build" if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then ${ECHO} "Debian-based Linux distribution: calling 'apt-get install'." - sudo apt-get install -y ${FRAMEWORKS_BUILD_DEPS} - sudo apt-get install -y ${FRAMEWORKS_RUN_DEPS} + sudo apt-get install -y ${FRAMEWORKS_BUILD_DEPS} || exit 1 + sudo apt-get install -y ${FRAMEWORKS_RUN_DEPS} || exit 1 else ${ECHO} "RedHat-based Linux distribution: calling 'yum -y install'." SPEC_FILE=${PROJECT_DIR}/Frameworks/nextspace-frameworks.spec diff --git a/Packaging/Sources/9_build_Applications.sh b/Packaging/Sources/9_build_Applications.sh index 4e432f7b4..fcb1cde40 100755 --- a/Packaging/Sources/9_build_Applications.sh +++ b/Packaging/Sources/9_build_Applications.sh @@ -1,6 +1,6 @@ #!/bin/sh -. ../environment.sh +. `dirname $0`/../environment.sh . /etc/profile.d/nextspace.sh _PWD=`pwd` @@ -11,8 +11,8 @@ _PWD=`pwd` ${ECHO} ">>> Installing ${OS_ID} packages for NextSpace applications build" if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then ${ECHO} "Debian-based Linux distribution: calling 'apt-get install'." - sudo apt-get install -y ${APPS_BUILD_DEPS} - sudo apt-get install -y ${APPS_RUN_DEPS} + sudo apt-get install -y ${APPS_BUILD_DEPS} || exit 1 + sudo apt-get install -y ${APPS_RUN_DEPS} || exit 1 else ${ECHO} "RedHat-based Linux distribution: calling 'yum -y install'." SPEC_FILE=${PROJECT_DIR}/Applications/nextspace-applications.spec @@ -84,19 +84,19 @@ if [ "$DEST_DIR" = "" ] && [ "$GITHUB_ACTIONS" != "true" ]; then ${ECHO} "A Login panel is already running: refresh systemd unit info." sudo systemctl daemon-reload else - print_H2 "Setting up Login window service to run at system startup..." + ${ECHO} "Setting up Login window service to run at system startup..." systemctl --quiet is-active display-manager.service if [ $? -eq 0 ];then if [ -z $DISPLAY ];then - print_H2 "A session manager is already running: we must stop it now." + ${ECHO} "A session manager is already running: we must stop it now." sudo systemctl stop display-manager.service else - print_H1 "You're in graphical session.\nTo enable Login panel you need to execute the following commands in console:\n $ sudo systemctl stop display-manager.service\n $ sudo systemctl enable /usr/NextSpace/lib/systemd/loginwindow.service" + ${ECHO} "You're in graphical session.\nTo enable Login panel you need to execute the following commands in console:\n $ sudo systemctl stop display-manager.service\n $ sudo systemctl enable /usr/NextSpace/lib/systemd/loginwindow.service" fi else systemctl --quiet is-enabled display-manager.service if [ $? -eq 0 ];then - print_H2 "A session manager is already set: we must disable it now." + ${ECHO} "A session manager is already set: we must disable it now." sudo systemctl disable display-manager.service fi ${ECHO} "Setting up Login window service..." @@ -128,4 +128,4 @@ if [ "$MACHINE" = "aarch64" ] && [ "$MODEL" = "Raspberry" ] && [ "$GPU" = "bcm27 if [ -f ${_PWD}/rpi_info.sh ];then . "${_PWD}/rpi_info.sh" fi -fi \ No newline at end of file +fi diff --git a/Packaging/Sources/README.md b/Packaging/Sources/README.md index 6a04776f4..6d255468b 100644 --- a/Packaging/Sources/README.md +++ b/Packaging/Sources/README.md @@ -11,8 +11,8 @@ Each script preform the following actions: Scripts assume that you preform run inside this directory as user. Scripts use `sudo` to install build resultsa and ask you for the password when it's needed. Build scripts were tested on: -- Debian 12, Ubuntu 22.04 -- Fedora 35, 39 +- Debian 13, Ubuntu 24.04 +- Fedora 42, 43 - Rocky Linux 9, Alma Linux 9 and CentOS Stream 9 ## Build and install each dependency diff --git a/Packaging/Sources/debian-12.deps.sh b/Packaging/Sources/debian-13.deps.sh similarity index 93% rename from Packaging/Sources/debian-12.deps.sh rename to Packaging/Sources/debian-13.deps.sh index 52b72c71a..4423b0de6 100644 --- a/Packaging/Sources/debian-12.deps.sh +++ b/Packaging/Sources/debian-13.deps.sh @@ -1,16 +1,20 @@ -# Works for Debian 12 and Ubuntu 22.04 +# Works for Debian 13 BUILD_TOOLS=" + sudo curl clang cmake git + binutils-gold " #--- libdispatch, libcorefoundation, libobjc2 RUNTIME_DEPS=" libbsd-dev + libxml2-dev + libicu-dev uuid-dev - libcurl4-gnutls-dev + libcurl4-openssl-dev libavahi-compat-libdnssd-dev " #--- gnustep-make @@ -43,8 +47,8 @@ WRASTER_DEPS=" " WRASTER_RUN_DEPS=" libgif7 - libjpeg8 - libtiff5 + libjpeg62-turbo + libtiff6 libpng16-16 libwebp7 libxpm4 @@ -55,7 +59,6 @@ WRASTER_RUN_DEPS=" #--- gnustep-base GNUSTEP_BASE_DEPS=" libffi-dev - libxml2-dev libxslt1-dev libavahi-client-dev libcups2-dev @@ -66,8 +69,7 @@ GNUSTEP_BASE_RUN_DEPS=" libavahi-client3 libxml2 libxslt1.1 - libicu70 - libicu-dev + libicu76 libgnutls30 libcups2 " @@ -75,6 +77,7 @@ GNUSTEP_BASE_RUN_DEPS=" GNUSTEP_GUI_DEPS=" libao-dev libsndfile1-dev + libmagic-dev " GNUSTEP_GUI_RUN_DEPS=" libao4 @@ -107,6 +110,7 @@ FRAMEWORKS_BUILD_DEPS=" libxcursor-dev libxrandr-dev libpulse-dev + libxkbfile-dev " FRAMEWORKS_RUN_DEPS=" libmagic1 diff --git a/Packaging/Sources/nextspace_install.sh b/Packaging/Sources/nextspace_install.sh index 555f86c98..38d6e2a9c 100755 --- a/Packaging/Sources/nextspace_install.sh +++ b/Packaging/Sources/nextspace_install.sh @@ -2,8 +2,16 @@ # It is a helper script for automated install of NEXTSPACE which has been built # with scripts. Should be placed next to binary build hierarchy. -. ./install_environment.sh -. ./debian-12.deps.sh +. `dirname $0`/../functions.sh +. `dirname $0`/../environment.sh +. `dirname $0`/../install_environment.sh + +if [ ${OS_ID} = "debian" ]; then +. `dirname $0`/./debian-13.deps.sh +else +. `dirname $0`/./ubuntu-24.deps.sh +fi + clear #=============================================================================== @@ -30,9 +38,12 @@ $ECHO "========================================================================= $ECHO "Installing system packages needed for NextSpace..." $ECHO "=========================================================================" $ECHO -e -n "\e[0m" -sudo apt-get install ${RUNTIME_RUN_DEPS} ${WRASTER_RUN_DEPS} ${GNUSTEP_BASE_RUN_DEPS} \ - ${GNUSTEP_GUI_RUN_DEPS} ${BACK_ART_RUN_DEPS} ${FRAMEWORKS_RUN_DEPS} \ - ${APPS_RUN_DEPS} 2>&1 > /dev/null +if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then + sudo apt-get -y install ${RUNTIME_DEPS} ${WRASTER_DEPS} ${RUNTIME_RUN_DEPS} ${WRASTER_RUN_DEPS} ${GNUSTEP_BASE_RUN_DEPS} \ + ${GNUSTEP_GUI_DEPS} ${GNUSTEP_GUI_RUN_DEPS} ${BACK_ART_DEPS} ${BACK_ART_RUN_DEPS} ${FRAMEWORKS_RUN_DEPS} \ + ${FRAMEWORKS_BUILD_DEPS} ${APPS_BUILD_DEPS} ${APPS_RUN_DEPS} 2>&1 > /dev/null +fi + $ECHO -e "\e[32m Done! \e[0m" #=============================================================================== @@ -43,75 +54,21 @@ $ECHO "========================================================================= $ECHO "Installing NextSpace..." $ECHO "=========================================================================" $ECHO -e -n "\e[0m" -$ECHO "Populating /etc..." -CORE_SOURCES="." -DEST_DIR="" -{ - # Preferences - $MKDIR_CMD $DEST_DIR/Library/Preferences - $CP_CMD ${CORE_SOURCES}/Library/Preferences/* $DEST_DIR/Library/Preferences/ - - # Linker cache - if ! [ -d $DEST_DIR/etc/ld.so.conf.d ];then - $MKDIR_CMD -v $DEST_DIR/etc/ld.so.conf.d - fi - $CP_CMD ${CORE_SOURCES}/etc/ld.so.conf.d/nextspace.conf $DEST_DIR/etc/ld.so.conf.d/ - sudo ldconfig - - # X11 - if ! [ -d $DEST_DIR/etc/X11/xorg.conf.d ];then - $MKDIR_CMD -v $DEST_DIR/etc/X11/xorg.conf.d - fi - $CP_CMD ${CORE_SOURCES}/etc/X11/Xresources.nextspace $DEST_DIR/etc/X11 - $CP_CMD ${CORE_SOURCES}/etc/X11/xorg.conf.d/*.conf $DEST_DIR/etc/X11/xorg.conf.d/ - - # PolKit & udev - if ! [ -d $DEST_DIR/etc/polkit-1/rules.d ];then - $MKDIR_CMD -v $DEST_DIR/etc/polkit-1/rules.d - fi - $CP_CMD ${CORE_SOURCES}/etc/polkit-1/rules.d/*.rules $DEST_DIR/etc/polkit-1/rules.d/ - if ! [ -d $DEST_DIR/etc/udev/rules.d ];then - $MKDIR_CMD -v $DEST_DIR/etc/udev/rules.d - fi - $CP_CMD ${CORE_SOURCES}/etc/udev/rules.d/*.rules $DEST_DIR/etc/udev/rules.d/ - - # User environment - if ! [ -d $DEST_DIR/etc/profile.d ];then - $MKDIR_CMD -v $DEST_DIR/etc/profile.d - fi - $CP_CMD ${CORE_SOURCES}/etc/profile.d/nextspace.sh $DEST_DIR/etc/profile.d/ - - if ! [ -d $DEST_DIR/etc/skel ];then - $MKDIR_CMD -v $DEST_DIR/etc/skel - fi - $CP_CMD ${CORE_SOURCES}/etc/skel/Library $DEST_DIR/etc/skel/ - $CP_CMD ${CORE_SOURCES}/etc/skel/.config $DEST_DIR/etc/skel/ - $CP_CMD ${CORE_SOURCES}/etc/skel/.emacs.d $DEST_DIR/etc/skel/ - $CP_CMD ${CORE_SOURCES}/etc/skel/.gtkrc-2.0 $DEST_DIR/etc/skel/ - $CP_CMD ${CORE_SOURCES}/etc/skel/.*.nextspace $DEST_DIR/etc/skel/ - - # Scripts - if ! [ -d $DEST_DIR/usr/NextSpace/bin ];then - $MKDIR_CMD -v $DEST_DIR/usr/NextSpace/bin - fi - $CP_CMD ${CORE_SOURCES}/usr/NextSpace/bin/* $DEST_DIR/usr/NextSpace/bin/ - - # Icons and Plymouth resources - if ! [ -d $DEST_DIR/usr/share ];then - $MKDIR_CMD -v $DEST_DIR/usr/share - fi - $CP_CMD ${CORE_SOURCES}/usr/share/* $DEST_DIR/usr/share/ - - $ECHO "Copying /Applications..." - $CP_CMD Applications / - $ECHO "Copying /Developer..." - $CP_CMD Developer / - $ECHO "Copying /Library..." - $CP_CMD Library / - $ECHO "Copying /usr/NextSpace..." - $CP_CMD usr/NextSpace /usr -} -sudo ldconfig +DIR="$(cd "$(dirname "$0")" && pwd)" + +"$DIR/0_build_libdispatch.sh" && \ +"$DIR/1_build_libcorefoundation.sh" && \ +"$DIR/2_build_libobjc2.sh" && \ +"$DIR/3_build_core.sh" && \ +"$DIR/3_build_tools-make.sh" && \ +"$DIR/4_build_libwraster.sh" && \ +"$DIR/5_build_libs-base.sh" && \ +"$DIR/6_build_libs-gui.sh" && \ +"$DIR/7_build_libs-back.sh" && \ +"$DIR/8_build_Frameworks.sh" && \ +"$DIR/9_build_Applications.sh" + +$ECHO -e "\e[32m Done! \e[0m" #=============================================================================== # More X drivers. Workaround until NextSpace RPMs include them as dependencies @@ -121,7 +78,9 @@ $ECHO "========================================================================= $ECHO "Installing X11 drivers and utilities..." $ECHO "=========================================================================" $ECHO -e -n "\e[0m" -sudo apt-get install xserver-xorg-input-all xserver-xorg-video-all 2>&1 > /dev/null +if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then + sudo apt-get -y install xserver-xorg-input-all xserver-xorg-video-all 2>&1 > /dev/null +fi $ECHO -e "\e[32m Done! \e[0m" $ECHO -e "\e[1m" @@ -129,6 +88,7 @@ $ECHO "========================================================================= $ECHO "Performing system check and configuration..." $ECHO "=========================================================================" $ECHO -e -n "\e[0m" + #=============================================================================== # Hostname in /etc/hosts #=============================================================================== @@ -185,9 +145,8 @@ add_user # Setting up Login Panel setup_loginwindow - $ECHO -e "\e[32m" $ECHO "=========================================================================" $ECHO " NEXTSPACE $RELEASE successfuly installed! Wolcome to the NeXT world! " $ECHO "=========================================================================" -$ECHO -e "\e[0m" \ No newline at end of file +$ECHO -e "\e[0m" diff --git a/Packaging/Sources/ubuntu-22.deps.sh b/Packaging/Sources/ubuntu-22.deps.sh deleted file mode 100644 index 22893e4c8..000000000 --- a/Packaging/Sources/ubuntu-22.deps.sh +++ /dev/null @@ -1,12 +0,0 @@ -. ./debian-12.deps.sh - -# gnustep-base -GNUSTEP_BASE_DEPS=" - ${GNUSTEP_BASE_DEPS} - libgnutls28-dev -" -# Applications -APPS_BUILD_DEPS=" - ${APPS_BUILD_DEPS} - libpam0g-dev -" diff --git a/Packaging/Sources/ubuntu-24.deps.sh b/Packaging/Sources/ubuntu-24.deps.sh new file mode 100644 index 000000000..45125c92f --- /dev/null +++ b/Packaging/Sources/ubuntu-24.deps.sh @@ -0,0 +1,160 @@ +# Works for Ubuntu 24.04 + +BUILD_TOOLS=" + sudo + curl + clang + cmake + git + binutils-gold +" +#--- libdispatch, libcorefoundation, libobjc2 +RUNTIME_DEPS=" + libbsd-dev + libxml2-dev + libicu-dev + uuid-dev + libcurl4-openssl-dev + libavahi-compat-libdnssd-dev +" +#--- gnustep-make +GNUSTEP_MAKE_DEPS=" + zsh + plymouth + plymouth-label +" +RUNTIME_RUN_DEPS=" + libbsd0 + libuuid1 + libcurl4 + libcurl3-gnutls + libavahi-compat-libdnssd1 + zsh + plymouth + plymouth-label +" +#--- libwraster +WRASTER_DEPS=" + libgif-dev + libjpeg-dev + libpng-dev + libtiff-dev + libwebp-dev + libxpm-dev + libxmu-dev + libxext-dev + libx11-dev +" +WRASTER_RUN_DEPS=" + libgif7 + libjpeg-turbo8 + libtiff6 + libpng16-16t64 + libwebp7 + libxpm4 + libxmu6 + libxext6 + libx11-6 +" +#--- gnustep-base +GNUSTEP_BASE_DEPS=" + libffi-dev + libxslt1-dev + libavahi-client-dev + libcups2-dev + libgnutls28-dev +" +GNUSTEP_BASE_RUN_DEPS=" + libffi8 + libavahi-client3 + libxml2 + libxslt1.1 + libicu74 + libgnutls30t64 + libcups2t64 +" +#--- gnustep-gui +GNUSTEP_GUI_DEPS=" + libao-dev + libsndfile1-dev + libmagic-dev +" +GNUSTEP_GUI_RUN_DEPS=" + libao4 + libsndfile1 +" +#--- back-art +BACK_ART_DEPS=" + libart-2.0-dev + libfreetype-dev + libxcursor-dev + libxfixes-dev + libxt-dev + libxrandr-dev +" +BACK_ART_RUN_DEPS=" + libart-2.0-2 + libfreetype6 + libxcursor1 + libxfixes3 + libxt6t64 + libxrandr2 +" +#--- Frameworks +FRAMEWORKS_BUILD_DEPS=" + libmagic-dev + libudisks2-dev + libdbus-1-dev + libupower-glib-dev + libxkbfile-dev + libxcursor-dev + libxrandr-dev + libpulse-dev + libxkbfile-dev +" +FRAMEWORKS_RUN_DEPS=" + libmagic1 + libglib2.0-0 + dbus + libdbus-1-3 + udisks2 + libudisks2-0 + libupower-glib3 + libxkbfile1 + libxrandr2 + pulseaudio + libpulse0 + upower +" +#--- Applications +APPS_BUILD_DEPS=" + libfontconfig-dev + libxft-dev + libxinerama-dev + libxcomposite-dev + libxrender-dev + libxdamage-dev + libexif-dev + libpam0g-dev +" +APPS_RUN_DEPS=" + fontconfig + libfontconfig1 + libxft2 + libxinerama1 + libxcomposite1 + libxrender1 + libxdamage1 + libexif12 + xserver-xorg-core + xserver-xorg-input-evdev + xserver-xorg-input-synaptics + xfonts-100dpi + xserver-xorg-video-vmware + xserver-xorg-video-intel + x11-xkb-utils + x11-xserver-utils +" +# libpam0g +#xserver-xorg-input-kbd +#xserver-xorg-input-mouse diff --git a/Packaging/environment.sh b/Packaging/environment.sh index 518f9b2c8..e62842897 100644 --- a/Packaging/environment.sh +++ b/Packaging/environment.sh @@ -8,7 +8,7 @@ _PWD=`pwd` # Libraries and applications #---------------------------------------- # Apple -libdispatch_version=5.9.2 +libdispatch_version=6.0.2 libcorefoundation_version=5.9.2 libcfnetwork_version=129.20 # GNUstep @@ -101,6 +101,7 @@ fi #---------------------------------------- if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then . ./${OS_ID}-${OS_VERSION}.deps.sh || exit 1 + install_packages $BUILD_TOOLS else prepare_redhat_environment fi diff --git a/Packaging/install_environment.sh b/Packaging/install_environment.sh index 5a5a7fd52..48904b3ce 100644 --- a/Packaging/install_environment.sh +++ b/Packaging/install_environment.sh @@ -100,10 +100,18 @@ add_user() $ECHO -e -n "\e[0m" read YN if [ "$YN" = "y" ]; then + if [ ! -d "/Users" ]; then + sudo mkdir -p /Users + sudo chmod 755 /Users + fi $ECHO -n "Please enter username: " read USERNAME $ECHO "Adding username $USERNAME" - sudo adduser -b /Users -s /bin/zsh -G audio,wheel $USERNAME + if [ ${OS_ID} = "debian" ] || [ ${OS_ID} = "ubuntu" ]; then + sudo useradd -m -b /Users -s /bin/zsh -G audio $USERNAME + else + sudo adduser -b /Users -s /bin/zsh -G audio,wheel $USERNAME + fi $ECHO "Setting up password..." sudo passwd $USERNAME $ECHO "Updating SELinux file contexts..."