diff --git a/helpers/DATA/debian-installer/remove-proposed-updates.patch b/helpers/DATA/debian-installer/remove-proposed-updates.patch new file mode 100644 index 0000000..b6a8b96 --- /dev/null +++ b/helpers/DATA/debian-installer/remove-proposed-updates.patch @@ -0,0 +1,62 @@ +diff -Nru source/build/Makefile source_no_proposed/build/Makefile +--- source/build/Makefile 2022-10-20 08:22:18.334230755 -0500 ++++ source_no_proposed/build/Makefile 2022-10-20 08:25:19.346634640 -0500 +@@ -636,7 +636,7 @@ + echo "deb $(MIRROR) unreleased $(UDEB_COMPONENTS)"; \ + fi \ + else \ +- gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) $(UDEB_COMPONENTS) $(USE_PROPOSED_UPDATES); \ ++ gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) $(UDEB_COMPONENTS); \ + if [ "$(USE_UNRELEASED)" = 1 ]; then \ + gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" unreleased $(UDEB_COMPONENTS); \ + fi \ +@@ -648,10 +648,6 @@ + echo "Using generated $@:"; \ + sed -n "/^[^#]/ s/^/ /p" $@; \ + fi +- @if [ "$(USE_PROPOSED_UPDATES)" = 1 ] && ! grep -q proposed-updates $@; then \ +- echo "ERROR: no valid source for $(USE_UDEBS_FROM)-proposed-updates"; \ +- exit 1; \ +- fi + + # Font generation. + # +diff -Nru source/build/util/gen-sources.list.udeb source_no_proposed/build/util/gen-sources.list.udeb +--- source/build/util/gen-sources.list.udeb 2022-09-06 15:55:12.000000000 -0500 ++++ source_no_proposed/build/util/gen-sources.list.udeb 2022-10-20 08:26:32.538801725 -0500 +@@ -8,7 +8,6 @@ + SOURCES_LIST=$1 + SUITE=$2 + UDEB_COMPONENTS=$3 +-USE_PROPOSED_UPDATES=$4 # optional + + # Set to 1 or 2 to see increasing debug info about mirror tests + # Use 0 for quiet (normal) operation +@@ -84,16 +83,8 @@ + else + echo "WARNING: mirror '$tmirror' appears to be invalid; skipping" >&2 + fi +- if [ "$USE_PROPOSED_UPDATES" = 1 ] && +- test_url $tmirror/dists/$SUITE-proposed-updates/Release; then +- echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS" +- echo "INFO: using '$tmirror' for $SUITE-proposed-updates" >&2 +- fi + else + echo "$mirror $SUITE $UDEB_COMPONENTS" +- if [ "$USE_PROPOSED_UPDATES" = 1 ]; then +- echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS" +- fi + fi + + done | perl -ne 'print unless $seen{$_}; $seen{$_}=1' +diff -Nru source/debian/rules source_no_proposed/debian/rules +--- source/debian/rules 2022-10-20 08:22:18.318230720 -0500 ++++ source_no_proposed/debian/rules 2022-10-20 08:26:53.702850378 -0500 +@@ -13,7 +13,6 @@ + BOOTMENU_BEEP=n + else + USE_UDEBS_FROM=aramo +-USE_PROPOSED_UPDATES=1 + TRANSSTATUS=translation-status + BOOTMENU_BEEP=y + endif diff --git a/helpers/DATA/debian-installer/splash.png b/helpers/DATA/debian-installer/splash.png deleted file mode 100644 index 5e16aa3..0000000 Binary files a/helpers/DATA/debian-installer/splash.png and /dev/null differ diff --git a/helpers/DATA/debian-installer/splash.rle b/helpers/DATA/debian-installer/splash.rle deleted file mode 100644 index 2c06d3b..0000000 Binary files a/helpers/DATA/debian-installer/splash.rle and /dev/null differ diff --git a/helpers/DATA/debian-installer/splash.svg b/helpers/DATA/debian-installer/splash.svg new file mode 100644 index 0000000..58f49c3 --- /dev/null +++ b/helpers/DATA/debian-installer/splash.svg @@ -0,0 +1,557 @@ + + + +image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/helpers/config b/helpers/config index 5e30da6..a0c6525 100755 --- a/helpers/config +++ b/helpers/config @@ -46,7 +46,7 @@ export DOMAIN=trisquel.info export UPSTREAM=jammy export UPSTREAMRELEASE=22.04 MIRROR=http://archive.ubuntu.com/ubuntu -LOCALMIRROR=https://archive.trisquel.org/trisquel +LOCALMIRROR=http://archive.trisquel.org/trisquel LOCAL_APT=`mktemp -d` if [ -n "$BUILD_UNTIL" ] && (( $(echo "$BUILD_UNTIL $REVISION" | awk '{print ($1 > $2)}') )); then diff --git a/helpers/make-debian-installer b/helpers/make-debian-installer index 05d1f30..6a78f64 100644 --- a/helpers/make-debian-installer +++ b/helpers/make-debian-installer @@ -1,7 +1,7 @@ #!/bin/sh # # Copyright (C) 2009-2020 Ruben Rodriguez -# Copyright (C) 2021 Luis Guzman +# Copyright (C) 2022 Luis Guzman # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -18,11 +18,15 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # -VERSION=9 +VERSION=10 +EXTERNAL='deb-src http://ftp.debian.org/debian stable main' +REPOKEY=648ACFD622F3D138 NETINST=true - . ./config +# Set complete name as BUILD_DATE +sed -i "/DATE=/s/ | cut -d '.' -f 1//" debian/rules + cat << EOF > ${LOCAL_APT}/etc/apt_${CODENAME}.conf Dir::State "${LOCAL_APT}/var/lib/apt"; Dir::State::status "${LOCAL_APT}/var/lib/dpkg/status"; @@ -43,13 +47,38 @@ EOF find build/pkg-lists -type f | xargs sed -i /media-retriever/d apt-get update -c ${LOCAL_APT}/etc/apt_${CODENAME}.conf LASTKERNEL=$(apt-cache show -c ${LOCAL_APT}/etc/apt_${CODENAME}.conf linux-libc-dev|grep ^Version |head -n1|cut -d" " -f2|cut -d. -f1,2,3) -sed -i "s/^BASEVERSION.*/BASEVERSION = $LASTKERNEL/g" ./build/config/amd64.cfg -sed -i "s/^MEDIUM_SUPPORTED.*/MEDIUM_SUPPORTED = cdrom netboot/g" ./build/config/amd64.cfg +#sed -i "/# The version of the kernel to use./a BASEVERSION = $LASTKERNEL" ./build/config/amd64.cfg +#sed -i "s/^KERNELVERSION = .*/KERNELVERSION = \$(BASEVERSION)-generic/g" ./build/config/amd64.cfg +#sed -i "s/^MEDIUM_SUPPORTED.*/MEDIUM_SUPPORTED = cdrom netboot/g" ./build/config/amd64.cfg +##Optional +#sed -i '/KERNELNAME = vmlinuz/a #KERNELIMAGEVERSION = $(KERNELVERSION)' ./build/config/amd64.cfg +for i in amd64 arm64 ppc64el +do +find build/config/ -name $i.cfg | xargs sed -i "/# The version of the kernel to use./a BASEVERSION = $LASTKERNEL" +find build/config/ -name $i.cfg | xargs sed -i "s/^KERNELVERSION = .*/KERNELVERSION = \$(BASEVERSION)-generic/g" +find build/config/ -name $i.cfg | xargs sed -i "s/^MEDIUM_SUPPORTED.*/MEDIUM_SUPPORTED = cdrom netboot/g" +find build/config/ -name $i.cfg | xargs sed -i '/KERNELNAME = vmlinuz/a #KERNELIMAGEVERSION = $(KERNELVERSION)' +done -sed -i 's/shim-signed/shim/g' debian/control +##TODO: fix the EFI bootloader image +sed -i '/shim/s|signed|unsigned|g' debian/control +sed -i 's|grub-efi-amd64-signed|grub-efi-amd64-bin|' debian/control +sed -i 's|-signed||' debian/control +sed -i '/win32-loader/d' debian/control -cp $DATA/splash.png build/boot/x86/pics/trisquel.png -sed -i 's/ubuntu.png/trisquel.png/g' build/config/x86.cfg +#use unsigned shim +grep -rl "efi\.signed" | xargs sed -i 's|efi\.signed|efi|g' +#adjust path and name files from debian to trisquel | $arch-bin efi file (/usr/lib/grub/x86_64-efi/monolithic/grubx64.efi) +sed -i 's|\$platform-signed/grub|\$platform/monolithic/grub|' build/util/efi-image +sed -i 's|\$efi_name-installer.efi|\$efi_name.efi|' build/util/efi-image +##EO-TODO + +rm -r build/boot/artwork/11-homeworld +mkdir build/boot/artwork/trisquel/ +cp $DATA/splash.svg build/boot/artwork/trisquel/trisquel.svg +sed -i 's|SPLASH_PNG=.*|SPLASH_PNG=boot/artwork/trisquel/trisquel.png|' build/config/x86.cfg +grep -rl 'vshift 8' build/boot | xargs sed -i '/vshift/s|8|12|g' +grep -rl 'rows 12' build/boot | xargs sed -i '/rows/s|12|10|g' cat << EOF > build/sources.list.udeb.local deb $LOCALMIRROR $CODENAME main/debian-installer @@ -59,11 +88,11 @@ EOF #firmware-linux-free-udeb is missing cat << EOF >> build/pkg-lists/netboot/common -open-ath9k-htc-firmware-udeb +#open-ath9k-htc-firmware-udeb openfwwf-udeb EOF -replace "2004-20.." "2004-20$(date +'%y')" . -R +rpl "2004-20.." "2004-20$(date +'%y')" . -R rpl www.ubuntu.com trisquel.info . -R rpl ubuntu.com trisquel.info build/boot/ -R rpl www.ubuntu trisquel build/boot/ -R @@ -78,9 +107,43 @@ rpl "Trisquel Ltd, and Rosetta" "Canonical Ltd, and Rosetta" . -R rpl ubuntu-keyring trisquel-keyring . -R rpl ubuntu-archive-keyring trisquel-archive-keyring . -R -sed -i 's/.*SIGNED_IMAGE="$(KERNELNAME_ALT_SUFFIX)".*/'$'\t''efi-image $(TEMP_GRUB_EFI) x86_64-efi x64/' build/config/x86.cfg build/config/arm64.cfg +rpl Debian Trisquel . -R +rpl DEBIAN TRISQUEL . -R +rpl http://ftp.debian.org/debian http://archive.trisquel.org/trisquel . -R +rpl http://www.debian.org/ https://trisquel.info build/boot/ -R +# Replace the debian release for the trisquel one. +rpl bullseye $CODENAME . -R +rpl debian-archive-keyring trisquel-keyring debian/control +rpl debian-ports-archive-keyring trisquel-keyring debian/control +rpl debian-archive-keyring.gpg trisquel-archive-keyring.gpg . -R +rpl debian-ports-archive-keyring.gpg trisquel-archive-keyring.gpg . -R +rpl debian-archive-keyring-udeb trisquel-keyring-udeb . -R +rpl debian-ports-archive-keyring-udeb trisquel-keyring-udeb . -R + +# build/config/common +grep -rl TRISQUEL_VERSION |xargs sed -i "s|TRISQUEL_VERSION =.*|TRISQUEL_VERSION = $REVISION ($CODENAME)|" + +# Disable proposed-updates patch +patch -p1 < $DATA/remove-proposed-updates.patch + +echo "# (Test) Remove gtk related packages, not looking for graphical installer" +rm $(find build/pkg-lists -type f -path "*/gtk/*") +echo "Remove unused modules from d-i pkg-list" +grep -rl acpi-modules- build/pkg-lists/ |xargs sed -i '/acpi-modules-/d' +grep -rl cdrom-core-modules- build/pkg-lists/ |xargs sed -i '/cdrom-core-modules-/d' +grep -rl cdebconf-gtk-entropy build/config/ | xargs sed -i 's/cdebconf-gtk-entropy//' + +#sed -i 's/.*SIGNED_IMAGE="$(KERNELNAME_ALT_SUFFIX)".*/'$'\t''efi-image $(TEMP_GRUB_EFI) x86_64-efi x64/' build/config/x86.cfg build/config/arm64.cfg /bin/sed -i '/KERNELNAME_ALT_SUFFIX = -$(KERNELVERSION)/d' build/config/*.cfg build/config/*/*.cfg +# Ensure that ld-linux is executable +sed '/ifdef KERNELVERSION/a\\tchmod 755 $(TREE)\/lib\/$(DEB_HOST_MULTIARCH)\/ld-linux*' -i build/Makefile + +# HACK: include liblzma.so and liblz4.so from host into iso image, as runtime dependencies of zstd +sed '/not packaged as a udeb/a\\tcp /lib/$(DEB_HOST_MULTIARCH)/liblzma.so.5* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile +sed '/not packaged as a udeb/a\\tcp /lib/$(DEB_HOST_MULTIARCH)/liblz4.so* $(TREE)/lib/$(DEB_HOST_MULTIARCH)' -i build/Makefile +sed -i '/Build-Depends:/a\\tliblzma5, liblz4-1,' debian/control + # Fix mini.iso boot on EFI systems sed 's|/debian|/trisquel|' -i ./build/util/efi-image sed 's|EFI/debian|EFI/trisquel|' -i ./build/config/arm.cfg ./build/config/x86.cfg