diff --git a/.gitlab/issue_templates/Default.md b/.gitlab/issue_templates/Default.md deleted file mode 100644 index cc992fc..0000000 --- a/.gitlab/issue_templates/Default.md +++ /dev/null @@ -1,52 +0,0 @@ -## Bug Report Template - -> **If you have a question or are not sure about what you are about to post, please use the forums instead.** -> **Also, check for possible duplicate reports here or in the forum before submitting this issue.** - ---- - -### 1. Affected Package revision / version - - - ---- - -### 2. Steps to Reproduce - - - -1. ... -2. ... -3. ... - ---- - -### 3. Current Behavior - - - ---- - -### 4. Expected Behavior *(optional)* - - - ---- - -### 5. Workaround *(optional)* - - - ---- - -### 6. Suggestions, Investigation and Possible Causes *(optional)* - - - ---- - -### 7. Other Tests *(optional)* - - - ---- diff --git a/README.md b/README.md index 20b693b..db9873a 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ Once a new package is added, it takes priority over the original one from Ubuntu so they never enter into the repo from upstream and need to be compiled with this helpers and pushed into reprepro. -To add a package to the list, follow the [CONTRIBUTING](https://gitlab.trisquel.org/trisquel/package-helpers/blob/nabia/CONTRIBUTING.md) guidelines. +To add a package to the list, follow the [CONTRIBUTING](CONTRIBUTING.md) guidelines. ## Steps @@ -39,7 +39,7 @@ Those are the steps done by the helpers: * You don't need to use sudo in order to run those scripts, but some extra packages are needed: - `sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch python2 quilt rename rpl sed python3-jsonschema` + `sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch quilt rename rpl sed python3-jsonschema` * Take care to use the right sourcePackageName, many source packages produce several binary packages. `apt-cache showsrc binary-package` can help you. diff --git a/helpers/DATA/7zip/000_remove-non-free-suggestions-from-control-file.patch b/helpers/DATA/7zip/000_remove-non-free-suggestions-from-control-file.patch new file mode 100644 index 0000000..366de26 --- /dev/null +++ b/helpers/DATA/7zip/000_remove-non-free-suggestions-from-control-file.patch @@ -0,0 +1,32 @@ +diff --git a/debian/control b/debian/control +index b4734c95..e0aa528c 100644 +--- a/debian/control ++++ b/debian/control +@@ -13,7 +13,7 @@ Vcs-Browser: https://salsa.debian.org/debian/7zip + Package: 7zip + Architecture: any + Depends: ${misc:Depends}, ${shlibs:Depends} +-Suggests: 7zip-standalone, 7zip-rar ++Suggests: 7zip-standalone + Breaks: p7zip-full (<= 16.02+dfsg-8), p7zip (<= 16.02+dfsg-8) + Replaces: p7zip-full (<= 16.02+dfsg-8), p7zip (<= 16.02+dfsg-8) + Provides: p7zip-full, p7zip +@@ -37,7 +37,6 @@ Description: 7-Zip file archiver with a high compression ratio + * /usr/bin/7zr: LZMA (.7z, .lzma, .xz) only. Minimal executable. + . + Note: The unRAR code was dropped to keep compatible with DFSG. +- Install 7zip-rar package in non-free section to use RAR files. + + Package: 7zip-standalone + Architecture: any +@@ -49,8 +48,8 @@ Description: 7-Zip file archiver with a high compression ratio (standalone) + . + "7zip-standalone" provides: + * /usr/bin/7zz: Full featured except plugins, standalone executable. +- This means 7zz can't work with unRAR plugin that provided by 7zip-rar +- package. Use 7zip package for unRAR plugin. ++ This means 7zz can't work with the non-free unRAR plugin not ++ available at Trisquel repo. + . + Note: If you want to create SFX archive, you also needs 7zip package for SFX + stub module. diff --git a/helpers/DATA/akregator/trisquel_feeds.patch b/helpers/DATA/akregator/trisquel_feeds.patch index 7d54c10..cc88808 100644 --- a/helpers/DATA/akregator/trisquel_feeds.patch +++ b/helpers/DATA/akregator/trisquel_feeds.patch @@ -1,5 +1,5 @@ ---- src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500 -+++ src/akregator_part_trisquel.cpp 2020-06-05 12:46:05.914051386 -0500 +--- a/src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500 ++++ b/src/akregator_part.cpp 2020-06-05 12:46:05.914051386 -0500 @@ -189,6 +189,61 @@ wire.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://wire.kubuntu.org/?feed=rss2")); kubuntuFolder.appendChild(wire); diff --git a/helpers/DATA/apparmor-profiles-extra/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch b/helpers/DATA/apparmor-profiles-extra/000-70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch similarity index 99% rename from helpers/DATA/apparmor-profiles-extra/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch rename to helpers/DATA/apparmor-profiles-extra/000-70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch index 1b8ad3b..4db9062 100644 --- a/helpers/DATA/apparmor-profiles-extra/70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch +++ b/helpers/DATA/apparmor-profiles-extra/000-70aed868a4ed76d74eecf3b210ce7bf3098ffab4.patch @@ -35,4 +35,3 @@ index 5e18702..085301c 100644 } -- 2.25.1 - diff --git a/helpers/DATA/apparmor-profiles-extra/001_enable-restricted-dbus-update.patch b/helpers/DATA/apparmor-profiles-extra/001_enable-restricted-dbus-update.patch new file mode 100644 index 0000000..696d5c5 --- /dev/null +++ b/helpers/DATA/apparmor-profiles-extra/001_enable-restricted-dbus-update.patch @@ -0,0 +1,15 @@ +Enable restricted dbus configuration usage by pidgin to fix MATE on Noble (Ecne) orca access. + +diff --git a/profiles/usr.bin.pidgin b/profiles/usr.bin.pidgin +index 085301c6..78338084 100644 +--- a/profiles/usr.bin.pidgin ++++ b/profiles/usr.bin.pidgin +@@ -49,7 +49,7 @@ + # Uncomment the two following lines if you want to allow Pidgin to update + # any DConf setting: + # owner @{HOME}/.{cache,config}/dconf/user rw, +- # owner /{,var/}run/user/[0-9]*/dconf/user rwk, ++ owner /{,var/}run/user/[0-9]*/dconf/user rwk, + + /{usr/,}bin/dash rix, + /{usr/,}bin/which rix, diff --git a/helpers/DATA/apparmor/002-add-unconfined-profile-firefox-icedove-icecat.patch b/helpers/DATA/apparmor/002-add-unconfined-profile-firefox-icedove-icecat.patch new file mode 100644 index 0000000..a48c7ff --- /dev/null +++ b/helpers/DATA/apparmor/002-add-unconfined-profile-firefox-icedove-icecat.patch @@ -0,0 +1,70 @@ +diff --git a/profiles/apparmor.d/abrowser b/profiles/apparmor.d/abrowser +index c4b6337f..8a3ac9ec 100644 +--- a/profiles/apparmor.d/abrowser ++++ b/profiles/apparmor.d/abrowser +@@ -4,9 +4,9 @@ + abi , + include + +-profile firefox /{usr/lib/firefox{,-esr,-beta,-devedition,-nightly},opt/firefox}/firefox{,-esr,-bin} flags=(unconfined) { ++profile abrowser /{usr/lib/abrowser{,-esr,-beta,-devedition,-nightly},opt/abrowser}/abrowser{,-esr,-bin} flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. +- include if exists ++ include if exists + } +diff --git a/profiles/apparmor.d/icedove b/profiles/apparmor.d/icedove +index 060eb24d..667b1674 100644 +--- a/profiles/apparmor.d/icedove ++++ b/profiles/apparmor.d/icedove +@@ -4,9 +4,9 @@ + abi , + include + +-profile thunderbird /usr/bin/thunderbird flags=(unconfined) { ++profile icedove /usr/bin/icedove flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. +- include if exists ++ include if exists + } +diff --git a/profiles/apparmor.d/icecat b/profiles/apparmor.d/icecat +index 4071c345..148e445e 100644 +--- a/profiles/apparmor.d/icecat ++++ b/profiles/apparmor.d/icecat +@@ -4,9 +4,9 @@ + abi , + include + +-profile firefox /{usr/lib/firefox{,-esr,-beta,-devedition,-nightly},opt/firefox}/firefox{,-esr,-bin} flags=(unconfined) { ++profile icecat /{usr/lib/icecat{,-esr,-beta,-devedition,-nightly},opt/icecat}/icecat{,-esr,-bin} flags=(unconfined) { + userns, + + # Site-specific additions and overrides. See local/README for details. +- include if exists ++ include if exists + } +diff --git a/debian/apparmor.install b/debian/apparmor.install +index 9cdaa3a2..d9ee697c 100644 +--- a/debian/apparmor.install ++++ b/debian/apparmor.install +@@ -68,6 +68,7 @@ etc/apparmor.d/sbuild-update + etc/apparmor.d/sbuild-upgrade + etc/apparmor.d/slirp4netns + etc/apparmor.d/stress-ng ++etc/apparmor.d/icedove + etc/apparmor.d/thunderbird + etc/apparmor.d/toybox + etc/apparmor.d/trinity +@@ -83,7 +84,9 @@ etc/apparmor.d/1password + etc/apparmor.d/Discord + etc/apparmor.d/MongoDB_Compass + etc/apparmor.d/code ++etc/apparmor.d/abrowser + etc/apparmor.d/firefox ++etc/apparmor.d/icecat + etc/apparmor.d/github-desktop + etc/apparmor.d/obsidian + etc/apparmor.d/opera diff --git a/helpers/DATA/apparmor/003-add-extra-profile-for-abrowser-icecat.patch b/helpers/DATA/apparmor/003-add-extra-profile-for-abrowser-icecat.patch new file mode 100644 index 0000000..d156906 --- /dev/null +++ b/helpers/DATA/apparmor/003-add-extra-profile-for-abrowser-icecat.patch @@ -0,0 +1,173 @@ +diff --git a/profiles/apparmor/profiles/extras/icecat b/profiles/apparmor/profiles/extras/icecat +index cbe1aa80..71813e99 100644 +--- a/profiles/apparmor/profiles/extras/icecat ++++ b/profiles/apparmor/profiles/extras/icecat +@@ -14,7 +14,7 @@ abi , + include + + # Declare some variables to help with variants +-@{MOZ_APP_NAME}=firefox{,-esr} ++@{MOZ_APP_NAME}=icecat{,-esr} + @{MOZ_LIBDIR}=/usr/lib/@{MOZ_APP_NAME}{,-[0-9]*} + @{MOZ_ADDONDIR}=/usr/lib/{@{MOZ_APP_NAME},xulrunner}-addons + +@@ -22,7 +22,7 @@ include + # /usr/lib/firefox-4.0b8/firefox + # but not: + # /usr/lib/firefox-4.0b8/firefox.sh +-profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { ++profile icecat @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + include + include + include +@@ -144,8 +144,8 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + /etc/wildmidi/wildmidi.cfg r, + + # firefox specific +- /etc/firefox*/ r, +- /etc/firefox*/** r, ++ /etc/icecat*/ r, ++ /etc/icecat*/** r, + /etc/xul-ext/** r, + /etc/xulrunner{,-[0-9]*}/ r, + /etc/xulrunner{,-[0-9]*}/** r, +@@ -234,12 +234,12 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + owner @{HOME}/.thumbnails/*/*.png r, + + # per-user firefox configuration +- owner @{HOME}/.{firefox,mozilla}/ rw, +- owner @{HOME}/.{firefox,mozilla}/** rw, +- owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k, +- owner @{HOME}/.{firefox,mozilla}/plugins/** rm, +- owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm, +- owner @{HOME}/.gnome2/firefox* rwk, ++ owner @{HOME}/.{icecat,mozilla}/ rw, ++ owner @{HOME}/.{icecat,mozilla}/** rw, ++ owner @{HOME}/.{icecat,mozilla}/**/*.{db,parentlock,sqlite}* k, ++ owner @{HOME}/.{icecat,mozilla}/plugins/** rm, ++ owner @{HOME}/.{icecat,mozilla}/**/plugins/** rm, ++ owner @{HOME}/.gnome2/icecat* rwk, + owner @{HOME}/.cache/mozilla/{,@{MOZ_APP_NAME}/} rw, + owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/** rw, + owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/**/*.sqlite{,-shm} k, +@@ -440,7 +440,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + owner @{HOME}/.mozilla/**/extensions/** mixr, + + # Widevine CDM plugin (LP: #1777070) +- owner @{HOME}/.mozilla/firefox/*/gmp-widevinecdm/*/libwidevinecdm.so m, ++ owner @{HOME}/.mozilla/icecat/*/gmp-widevinecdm/*/libwidevinecdm.so m, + + deny @{MOZ_LIBDIR}/update.test w, + deny /usr/lib/mozilla/extensions/**/ w, +@@ -458,7 +458,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + + /usr/bin/lsb_release Pxr -> lsb_release, + +- # These should be started outside of Firefox ++ # These should be started outside of icecat + deny /usr/bin/dbus-launch x, + deny /usr/bin/speech-dispatcher x, + +@@ -466,6 +466,6 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + include if exists + + # Site-specific additions and overrides. See local/README for details. +- include if exists +- include if exists ++ include if exists ++ include if exists + } +diff --git a/profiles/apparmor/profiles/extras/firefox b/profiles/apparmor/profiles/extras/abrowser +index cbe1aa80..2fb77651 100644 +--- a/profiles/apparmor/profiles/extras/firefox ++++ b/profiles/apparmor/profiles/extras/abrowser +@@ -14,7 +14,7 @@ abi , + include + + # Declare some variables to help with variants +-@{MOZ_APP_NAME}=firefox{,-esr} ++@{MOZ_APP_NAME}=abrowser{,-esr} + @{MOZ_LIBDIR}=/usr/lib/@{MOZ_APP_NAME}{,-[0-9]*} + @{MOZ_ADDONDIR}=/usr/lib/{@{MOZ_APP_NAME},xulrunner}-addons + +@@ -22,7 +22,7 @@ include + # /usr/lib/firefox-4.0b8/firefox + # but not: + # /usr/lib/firefox-4.0b8/firefox.sh +-profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { ++profile abrowser @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + include + include + include +@@ -144,8 +144,8 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + /etc/wildmidi/wildmidi.cfg r, + + # firefox specific +- /etc/firefox*/ r, +- /etc/firefox*/** r, ++ /etc/abrowser*/ r, ++ /etc/abrowser*/** r, + /etc/xul-ext/** r, + /etc/xulrunner{,-[0-9]*}/ r, + /etc/xulrunner{,-[0-9]*}/** r, +@@ -234,12 +234,12 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + owner @{HOME}/.thumbnails/*/*.png r, + + # per-user firefox configuration +- owner @{HOME}/.{firefox,mozilla}/ rw, +- owner @{HOME}/.{firefox,mozilla}/** rw, +- owner @{HOME}/.{firefox,mozilla}/**/*.{db,parentlock,sqlite}* k, +- owner @{HOME}/.{firefox,mozilla}/plugins/** rm, +- owner @{HOME}/.{firefox,mozilla}/**/plugins/** rm, +- owner @{HOME}/.gnome2/firefox* rwk, ++ owner @{HOME}/.{abrowser,mozilla}/ rw, ++ owner @{HOME}/.{abrowser,mozilla}/** rw, ++ owner @{HOME}/.{abrowser,mozilla}/**/*.{db,parentlock,sqlite}* k, ++ owner @{HOME}/.{abrowser,mozilla}/plugins/** rm, ++ owner @{HOME}/.{abrowser,mozilla}/**/plugins/** rm, ++ owner @{HOME}/.gnome2/abrowser* rwk, + owner @{HOME}/.cache/mozilla/{,@{MOZ_APP_NAME}/} rw, + owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/** rw, + owner @{HOME}/.cache/mozilla/@{MOZ_APP_NAME}/**/*.sqlite{,-shm} k, +@@ -440,7 +440,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + owner @{HOME}/.mozilla/**/extensions/** mixr, + + # Widevine CDM plugin (LP: #1777070) +- owner @{HOME}/.mozilla/firefox/*/gmp-widevinecdm/*/libwidevinecdm.so m, ++ owner @{HOME}/.mozilla/abrowser/*/gmp-widevinecdm/*/libwidevinecdm.so m, + + deny @{MOZ_LIBDIR}/update.test w, + deny /usr/lib/mozilla/extensions/**/ w, +@@ -458,7 +458,7 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + + /usr/bin/lsb_release Pxr -> lsb_release, + +- # These should be started outside of Firefox ++ # These should be started outside of abrowser + deny /usr/bin/dbus-launch x, + deny /usr/bin/speech-dispatcher x, + +@@ -466,6 +466,6 @@ profile firefox @{MOZ_LIBDIR}/@{MOZ_APP_NAME}{,*[^s][^h]} { + include if exists + + # Site-specific additions and overrides. See local/README for details. +- include if exists +- include if exists ++ include if exists ++ include if exists + } +diff --git a/debian/apparmor-profiles.install b/debian/apparmor-profiles.install +index 5cecd9dd..62531edb 100644 +--- a/debian/apparmor-profiles.install ++++ b/debian/apparmor-profiles.install +@@ -88,8 +88,10 @@ usr/share/apparmor/extra-profiles/usr.lib.GConf.2.gconfd-2 + usr/share/apparmor/extra-profiles/usr.lib.RealPlayer10.realplay + usr/share/apparmor/extra-profiles/usr.lib.bonobo.bonobo-activation-server + usr/share/apparmor/extra-profiles/usr.lib.evolution-data-server.evolution-data-server-1.10 ++usr/share/apparmor/extra-profiles/abrowser + usr/share/apparmor/extra-profiles/firefox + usr/share/apparmor/extra-profiles/firefox.sh ++usr/share/apparmor/extra-profiles/icecat + usr/share/apparmor/extra-profiles/usr.lib.firefox.mozilla-xremote-client + usr/share/apparmor/extra-profiles/usr.lib.man-db.man + usr/share/apparmor/extra-profiles/postfix-anvil diff --git a/helpers/DATA/apparmor/004-update-profile-extra-firefox-sh.patch b/helpers/DATA/apparmor/004-update-profile-extra-firefox-sh.patch new file mode 100644 index 0000000..839d606 --- /dev/null +++ b/helpers/DATA/apparmor/004-update-profile-extra-firefox-sh.patch @@ -0,0 +1,46 @@ +diff --git a/profiles/apparmor/profiles/extras/firefox.sh b/profiles/apparmor/profiles/extras/firefox.sh +index fb75c5b6..7b23cd83 100644 +--- a/profiles/apparmor/profiles/extras/firefox.sh ++++ b/profiles/apparmor/profiles/extras/firefox.sh +@@ -22,3 +22,41 @@ profile firefox.sh /usr/lib/firefox/firefox.sh { + # Site-specific additions and overrides. See local/README for details. + include if exists + } ++ ++profile firefox.sh /usr/lib/abrowser/firefox.sh { ++ include ++ include ++ include ++ ++ deny capability sys_ptrace, ++ ++ /{usr/,}bin/basename rix, ++ /{usr/,}bin/bash rix, ++ /{usr/,}bin/grep rix, ++ /etc/magic r, ++ /usr/bin/file rix, ++ /usr/lib/abrowser/abrowser px, ++ /usr/share/misc/magic.mgc r, ++ ++ # Site-specific additions and overrides. See local/README for details. ++ include if exists ++} ++ ++profile firefox.sh /usr/lib/icecat/firefox.sh { ++ include ++ include ++ include ++ ++ deny capability sys_ptrace, ++ ++ /{usr/,}bin/basename rix, ++ /{usr/,}bin/bash rix, ++ /{usr/,}bin/grep rix, ++ /etc/magic r, ++ /usr/bin/file rix, ++ /usr/lib/icecat/icecat px, ++ /usr/share/misc/magic.mgc r, ++ ++ # Site-specific additions and overrides. See local/README for details. ++ include if exists ++} diff --git a/helpers/DATA/apparmor/005-update_trasnmission_profile_for_daemon_service_fix.patch b/helpers/DATA/apparmor/005-update_trasnmission_profile_for_daemon_service_fix.patch new file mode 100644 index 0000000..6bb7294 --- /dev/null +++ b/helpers/DATA/apparmor/005-update_trasnmission_profile_for_daemon_service_fix.patch @@ -0,0 +1,54 @@ +diff --git a/profiles/apparmor.d/transmission b/profiles/apparmor.d/transmission +index 6cd67adf..6aa4214a 100644 +--- a/profiles/apparmor.d/transmission ++++ b/profiles/apparmor.d/transmission +@@ -5,7 +5,7 @@ abi , + + include + +-profile transmission-daemon /usr/bin/transmission-daemon flags=(complain) { ++profile transmission-daemon /usr/bin/transmission-daemon flags=(complain,attach_disconnected) { + # Don't use abstractions/transmission-common here, as the + # access needed is narrower than the user applications + include +@@ -17,6 +17,8 @@ profile transmission-daemon /usr/bin/transmission-daemon flags=(complain) { + network inet stream, + network inet6 stream, + ++ /usr/bin/transmission-daemon mr, ++ + owner @{PROC}/@{pid}/mounts r, + @{PROC}/sys/kernel/random/uuid r, + +@@ -42,17 +44,21 @@ profile transmission-cli /usr/bin/transmission-cli flags=(complain) { + include + include + ++ /usr/bin/transmission-cli mr, ++ + # Site-specific additions and overrides. See local/README for details. + include if exists + include if exists + } + +-profile transmission-gtk /usr/bin/transmission-gtk flags=(complain) { ++profile transmission-gtk /usr/bin/transmission-gtk flags=(complain,attach_disconnected) { + include + include + include + include + ++ /usr/bin/transmission-gtk mr, ++ + owner @{run}/user/*/dconf/user w, + + # Site-specific additions and overrides. See local/README for details. +@@ -70,6 +76,8 @@ profile transmission-qt /usr/bin/transmission-qt flags=(complain) { + include + include + ++ /usr/bin/transmission-qt mr, ++ + # Site-specific additions and overrides. See local/README for details. + include if exists + include if exists diff --git a/helpers/DATA/apparmor/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch b/helpers/DATA/apparmor/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch deleted file mode 100644 index 451e869..0000000 --- a/helpers/DATA/apparmor/b5a7641dd3502fcfb897d3b96e197628b674ce3c.patch +++ /dev/null @@ -1,26 +0,0 @@ -From b5a7641dd3502fcfb897d3b96e197628b674ce3c Mon Sep 17 00:00:00 2001 -From: Adrian Heine -Date: Mon, 23 Jan 2023 20:35:29 +0100 -Subject: [PATCH] Add pipewire client.conf to audio abstractions - -Fixes: https://bugs.launchpad.net/bugs/2003702 ---- - profiles/apparmor.d/abstractions/audio | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/profiles/apparmor.d/abstractions/audio b/profiles/apparmor.d/abstractions/audio -index 01493260d..dd783992d 100644 ---- a/profiles/apparmor.d/abstractions/audio -+++ b/profiles/apparmor.d/abstractions/audio -@@ -85,5 +85,8 @@ owner @{HOME}/.local/share/openal/hrtf/{,**} r, - # wildmidi - /etc/wildmidi/wildmidi.cfg r, - -+# pipewire -+/usr/share/pipewire/client{,-rt}.conf r, -+ - # Include additions to the abstraction - include if exists --- -GitLab - diff --git a/helpers/DATA/apt-setup/50mirror.trisquel b/helpers/DATA/apt-setup/50mirror.trisquel new file mode 100755 index 0000000..28d603d --- /dev/null +++ b/helpers/DATA/apt-setup/50mirror.trisquel @@ -0,0 +1,122 @@ +#!/bin/sh +set -e + +. /usr/share/debconf/confmodule + +file="$1" + +log() { + logger -t apt-setup "$@" +} +warning() { + log "warning: $@" +} + +# Ask if a mirror should be used if the base system can be installed from CD +if [ -e /cdrom/.disk/base_installable ] || [ "$OVERRIDE_BASE_INSTALLABLE" ]; then + if ! search-path choose-mirror; then + warning "choose-mirror is not available; cannot offer network mirror" + exit 1 + fi + + # Default to false if no network selected in netcfg + if db_get netcfg/dhcp_options && \ + [ "$RET" = "Do not configure the network at this time" ]; then + use_mirror=false + fi + + # Set default if no value (see Debian mirror generator) + db_get apt-setup/use_mirror + [ "$RET" ] || db_set apt-setup/use_mirror true + + # Text is variable for Debian + db_metaget apt-mirror/use/netinst_old description + db_subst apt-setup/use_mirror EXPLANATION "$RET" + + db_input medium apt-setup/use_mirror || [ $? -eq 30 ] + db_go # or exit 10 + + db_get apt-setup/use_mirror + if [ "$RET" = false ]; then + exit 1 + fi + + if db_get cdrom/codename && [ "$RET" ]; then + db_set mirror/codename $RET + fi + if db_get cdrom/suite && [ "$RET" ]; then + db_set mirror/suite $RET + fi + choose-mirror -n # no progress bar +fi + +db_input low apt-setup/backports || true + +dists="main" + +db_get mirror/protocol +protocol="$RET" +db_get mirror/codename +codename="$RET" +db_get mirror/$protocol/hostname +hostname="$RET" +db_get mirror/$protocol/directory +directory="/${RET#/}" + +if [ "$protocol" = http ]; then + db_get mirror/$protocol/proxy + proxy="$RET" + if [ -n "$proxy" ]; then + if ! grep -iq "Acquire::$protocol::Proxy" $ROOT/etc/apt/apt.conf.new; then + echo "Acquire::$protocol::Proxy \"$proxy\";" >> $ROOT/etc/apt/apt.conf.new + fi + fi +fi + +# Trisquel: Deb822-first, keep legacy clean +: "${ROOT:=/target}" +SD="$ROOT/etc/apt/sources.list.d" +SF="$SD/trisquel.sources" +mkdir -p "$SD" + +# Use keyring in /usr/share/keyrings +SIGNED_BY="/usr/share/keyrings/trisquel-archive-keyring.gpg" + +# Canonical URI for Deb822 (trailing slash) +uri="$protocol://$hostname$directory" +case "$uri" in */) : ;; *) uri="$uri/";; esac + +# Write Deb822 sources file in the requested structure +cat << EOF > "$SF" +# Trisquel repositories for supported software and updates +Types: deb +URIs: ${uri} +Suites: ${codename} ${codename}-updates ${codename}-security +Components: main +Signed-By: ${SIGNED_BY} + +# Source package repositories +Types: deb-src +URIs: ${uri} +Suites: ${codename} ${codename}-updates ${codename}-security +Components: main +Signed-By: ${SIGNED_BY} + +# Optional backports repository +Enabled: no +Types: deb deb-src +URIs: ${uri} +Suites: ${codename}-backports +Components: main +Signed-By: ${SIGNED_BY} +EOF + +# Set legacy format for apt-setup to apply updates correctly. +{ + echo "deb ${uri} ${codename} main" + echo "deb ${uri} ${codename}-updates main" + echo "deb ${uri} ${codename}-security main" +} >> "$file" + +exit 0 + diff --git a/helpers/DATA/apt-setup/93trisquel-sources-clean b/helpers/DATA/apt-setup/93trisquel-sources-clean new file mode 100755 index 0000000..6dab379 --- /dev/null +++ b/helpers/DATA/apt-setup/93trisquel-sources-clean @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +LEGACY=/target/etc/apt/sources.list +SD=/target/etc/apt/sources.list.d + +if ls "$SD"/*.sources >/dev/null 2>&1; then + MSG="# Trisquel sources have moved to /etc/apt/sources.list.d/trisquel.sources" + printf '%s\n' "$MSG" > "$LEGACY" +fi +exit 0 diff --git a/helpers/DATA/apt-setup/99deb822-breadcrumb b/helpers/DATA/apt-setup/99deb822-breadcrumb new file mode 100755 index 0000000..efc34c3 --- /dev/null +++ b/helpers/DATA/apt-setup/99deb822-breadcrumb @@ -0,0 +1,18 @@ +#!/bin/sh +set -e +. /usr/share/debconf/confmodule + +file="$1" +ROOT="${ROOT:-/target}" +LEGACY="$ROOT/etc/apt/sources.list" +SD="$ROOT/etc/apt/sources.list.d" +SAVETO="$ROOT/etc/apt/sources.list.new" + +# If .sources exist, leave sources.list reduced only as a breadcrumb +if ls "$SD"/*.sources >/dev/null 2>&1; then + MSG="# Trisquel sources have moved to /etc/apt/sources.list.d/trisquel.sources" + : > "$SAVETO" + printf '%s\n' "$MSG" > "$file" +fi + +exit 0 diff --git a/helpers/DATA/apt-setup/patch_changes/001-remove_non-free_firmware_contrib_mirror_setup.patch b/helpers/DATA/apt-setup/patch_changes/001-remove_non-free_firmware_contrib_mirror_setup.patch new file mode 100644 index 0000000..7278679 --- /dev/null +++ b/helpers/DATA/apt-setup/patch_changes/001-remove_non-free_firmware_contrib_mirror_setup.patch @@ -0,0 +1,50 @@ +diff --git a/debian/apt-mirror-setup.templates b/debian/apt-mirror-setup.templates +index 85baf176..6b330b32 100644 +--- a/debian/apt-mirror-setup.templates ++++ b/debian/apt-mirror-setup.templates +@@ -3,45 +3,7 @@ Type: text + # :sl1: + _Description: Scanning the mirror... + +-Template: apt-setup/non-free-firmware +-Type: boolean +-Default: false +-# :sl5: +-_Description: Use non-free firmware? +- Firmware is a kind of software providing low-level control of certain +- hardware components (such as Wi-Fi cards or audio chipsets), which may not +- function fully or at all without it. +- . +- Although not at all part of Debian, some non-free firmware has been made to +- work with Debian. This firmware has varying licenses which restrict your +- freedoms to use, modify, or share the software, and generally does not have +- source forms that you may study. +- . +- Please choose whether you want to have it available anyway. + +-Template: apt-setup/non-free +-Type: boolean +-Default: false +-# :sl1: +-_Description: Use non-free software? +- Some non-free software has been made to work with Debian. Though this +- software is not at all a part of Debian, standard Debian tools can be used +- to install it. This software has varying licenses which may prevent you +- from using, modifying, or sharing it. +- . +- Please choose whether you want to have it available anyway. +- +-Template: apt-setup/contrib +-Type: boolean +-Default: false +-# :sl1: +-_Description: Use contrib software? +- Some additional software has been made to work with Debian. Though this +- software is free, it depends on non-free software for its operation. This +- software is not a part of Debian, but standard Debian tools can be +- used to install it. +- . +- Please choose whether you want this software to be made available to you. + + Template: apt-setup/mirror/error + Type: select diff --git a/helpers/DATA/apt/trisquel/apt-vendor.ent b/helpers/DATA/apt/trisquel/apt-vendor.ent index c443816..e61a665 100644 --- a/helpers/DATA/apt/trisquel/apt-vendor.ent +++ b/helpers/DATA/apt/trisquel/apt-vendor.ent @@ -6,15 +6,11 @@ - + +Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg"> diff --git a/helpers/DATA/apt/trisquel/sources.list.in b/helpers/DATA/apt/trisquel/sources.list.in deleted file mode 100644 index 9c530ba..0000000 --- a/helpers/DATA/apt/trisquel/sources.list.in +++ /dev/null @@ -1,10 +0,0 @@ -# See sources.list(5) manpage for more information -# Remember that CD-ROMs, DVDs and such are managed through the apt-cdrom tool. -deb http://archive.trisquel.org/trisquel &trisquel-codename; main -deb-src http://archive.trisquel.org/trisquel &trisquel-codename; main - -deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main -deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-security main - -deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main -deb-src http://archive.trisquel.org/trisquel &trisquel-codename;-updates main diff --git a/helpers/DATA/apt/trisquel/trisquel.sources.in b/helpers/DATA/apt/trisquel/trisquel.sources.in new file mode 100644 index 0000000..32f8209 --- /dev/null +++ b/helpers/DATA/apt/trisquel/trisquel.sources.in @@ -0,0 +1,40 @@ +## Trisquel distribution repository +## +## The following settings can be adjusted to configure which packages to use from Trisquel. +## Mirror your choices (except for URIs and Suites) in the security section below to +## ensure timely security updates. +## +## Types: Append deb-src to enable the fetching of source package. +## URIs: A URL to the repository (you may add multiple URLs) +## Suites: The following additional suites can be configured +## -updates - Major bug fix updates produced after the final release of the +## distribution. +## -backports - software from this repository may not have been tested as +## extensively as that contained in the main release, although it includes +## newer versions of some applications which may provide useful features. +## Also, please note that software in backports WILL NOT receive any review +## or updates from the Trisquel security team. +## +## See the sources.list(5) manual page for further settings. + +# Trisquel repositories for supported software and updates +Types: deb +URIs: http://archive.trisquel.org/trisquel/ +Suites: &trisquel-codename; &trisquel-codename;-updates &trisquel-codename;-security +Components: main +Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg + +# Uncomment to enable source package repositories +Types: deb-src +URIs: http://archive.trisquel.org/trisquel/ +Suites: &trisquel-codename; &trisquel-codename;-updates &trisquel-codename;-security +Components: main +Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg + +# Uncomment to enable optional backports repository +Enabled: no +Types: deb deb-src +URIs: http://archive.trisquel.org/trisquel/ +Suites: &trisquel-codename;-backports +Components: main +Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg diff --git a/helpers/DATA/asunder/asunder_2.9.5-acc.patch b/helpers/DATA/asunder/asunder_2.9.5-acc.patch index 8b8a1f6..d75eba4 100644 --- a/helpers/DATA/asunder/asunder_2.9.5-acc.patch +++ b/helpers/DATA/asunder/asunder_2.9.5-acc.patch @@ -171,11 +171,10 @@ diff -ruN a/src/interface.h b/src/interface.h diff -ruN a/src/prefs.c b/src/prefs.c --- a/src/prefs.c 2019-08-29 00:18:58.000000000 -0500 +++ b/src/prefs.c 2021-06-27 16:07:27.299217038 -0500 -@@ -127,8 +127,6 @@ +@@ -127,7 +127,6 @@ p->wavpack_bitrate = 3; p->rip_monkey = 0; p->monkey_compression = 2; -- p->rip_aac = 0; - p->aac_quality = 60; p->rip_musepack = 0; p->musepack_bitrate = 2; diff --git a/helpers/DATA/ayatana-indicator-sound/fix_volume_change_notification.patch b/helpers/DATA/ayatana-indicator-sound/fix_volume_change_notification.patch deleted file mode 100644 index 92b6259..0000000 --- a/helpers/DATA/ayatana-indicator-sound/fix_volume_change_notification.patch +++ /dev/null @@ -1,214 +0,0 @@ -Patch based on https://github.com/AyatanaIndicators/ayatana-indicator-sound/pull/92 -For Trisquel 11.0, Aramo - ayatana-indicator-sound - 22.2.0-2 - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ac370b2..095c953 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -1,5 +1,5 @@ --project(ayatana-indicator-sound C CXX) --cmake_minimum_required(VERSION 3.13) -+cmake_minimum_required (VERSION 3.13) -+project (ayatana-indicator-sound VERSION 22.2.0 LANGUAGES C CXX) - - if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - SET(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "..." FORCE) -@@ -7,8 +7,6 @@ endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) - - set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake" "${CMAKE_MODULE_PATH}") - --set(PACKAGE ${CMAKE_PROJECT_NAME}) --set(PROJECT_VERSION 22.2.0) - find_package(PkgConfig REQUIRED) - include(GNUInstallDirs) - include(UseVala) -diff --git a/src/info-notification.vala b/src/info-notification.vala -index ce92a2a..3a36e52 100644 ---- a/src/info-notification.vala -+++ b/src/info-notification.vala -@@ -1,6 +1,6 @@ - /* - * Copyright 2015 Canonical Ltd. -- * Copyright 2021 Robert Tari -+ * Copyright 2021-2023 Robert Tari - * - * 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 -@@ -30,22 +30,26 @@ public class IndicatorSound.InfoNotification: Notification - public void show (VolumeControl.ActiveOutput active_output, - double volume, - bool is_high_volume) { -- if (!notify_server_supports ("x-canonical-private-synchronous")) -- return; - - /* Determine Label */ -- unowned string volume_label = get_notification_label (active_output); -+ string volume_label = get_notification_label (active_output); - - /* Choose an icon */ - unowned string icon = get_volume_notification_icon (active_output, volume, is_high_volume); - - /* Reset the notification */ - var n = _notification; -+ -+ uint nChars = ((int32)((volume * 20) + 0.5)).clamp(0, 20); -+ volume_label += "\n"; -+ -+ for (uint nChar = 0; nChar < nChars; nChar++) -+ { -+ volume_label += "◼"; -+ } -+ - n.update (_("Volume"), volume_label, icon); - n.clear_hints(); -- n.set_hint ("x-lomiri-non-shaped-icon", "true"); -- n.set_hint ("x-canonical-private-synchronous", "true"); -- n.set_hint ("x-lomiri-value-bar-tint", is_high_volume ? "true" : "false"); - n.set_hint ("value", ((int32)((volume * 100.0) + 0.5)).clamp(0, 100)); - show_notification (); - } -diff --git a/src/warn-notification.vala b/src/warn-notification.vala -index 6a08431..203758e 100644 ---- a/src/warn-notification.vala -+++ b/src/warn-notification.vala -@@ -1,5 +1,6 @@ - /* - * Copyright 2015 Canonical Ltd. -+ * Copyright 2021-2023 Robert Tari - * - * 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 -@@ -15,6 +16,7 @@ - * - * Authors: - * Charles Kerr -+ * Robert Tari - */ - - public class IndicatorSound.WarnNotification: Notification -@@ -31,9 +33,6 @@ public class IndicatorSound.WarnNotification: Notification - _("Volume"), - _("Allow volume above safe level?\nHigh volume can damage your hearing."), - "audio-volume-high"); -- n.set_hint ("x-lomiri-non-shaped-icon", "true"); -- n.set_hint ("x-lomiri-snap-decisions", "true"); -- n.set_hint ("x-lomiri-private-affirmative-tint", "true"); - n.closed.connect ((n) => { - n.clear_actions (); - }); -diff --git a/tests/integration/indicator-sound-test-base.cpp b/tests/integration/indicator-sound-test-base.cpp -index 3ecd856..eb4ee8c 100644 ---- a/tests/integration/indicator-sound-test-base.cpp -+++ b/tests/integration/indicator-sound-test-base.cpp -@@ -1,6 +1,6 @@ - /* - * Copyright 2015 Canonical Ltd. -- * Copyright 2021 Robert Tari -+ * Copyright 2021-2023 Robert Tari - * - * This program is free software: you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 3, as published -@@ -72,7 +72,7 @@ void IndicatorSoundTestBase::SetUp() - "GetCapabilities", - "", - "as", -- "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'x-canonical-private-synchronous', 'x-canonical-append', 'x-canonical-private-icon-only', 'x-canonical-truncation', 'private-synchronous', 'append', 'private-icon-only', 'truncation']" -+ "ret = ['actions', 'body', 'body-markup', 'icon-static', 'image/svg+xml', 'private-synchronous', 'append', 'private-icon-only', 'truncation']" - ).waitForFinished(); - - int waitedTime = 0; -@@ -647,14 +647,8 @@ void IndicatorSoundTestBase::checkVolumeNotification(double volume, QString cons - QVariantMap hints; - ASSERT_TRUE(qDBusArgumentToMap(args.at(6), hints)); - ASSERT_TRUE(hints.contains("value")); -- ASSERT_TRUE(hints.contains("x-lomiri-non-shaped-icon")); -- ASSERT_TRUE(hints.contains("x-lomiri-value-bar-tint")); -- ASSERT_TRUE(hints.contains("x-canonical-private-synchronous")); - - EXPECT_EQ(volume*100, hints["value"]); -- EXPECT_EQ(true, hints["x-lomiri-non-shaped-icon"]); -- EXPECT_EQ(isLoud, hints["x-lomiri-value-bar-tint"]); -- EXPECT_EQ(true, hints["x-canonical-private-synchronous"]); - } - - void IndicatorSoundTestBase::checkHighVolumeNotification(QVariantList call) -diff --git a/tests/notifications-mock.h b/tests/notifications-mock.h -index 49b2e66..3ae8da5 100644 ---- a/tests/notifications-mock.h -+++ b/tests/notifications-mock.h -@@ -1,6 +1,6 @@ - /* - * Copyright 2015 Canonical Ltd. -- * Copyright 2021 Robert Tari -+ * Copyright 2021-2023 Robert Tari - * - * 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 -@@ -31,7 +31,7 @@ class NotificationsMock - DbusTestDbusMockObject * baseobj = nullptr; - - public: -- NotificationsMock (const std::vector& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "x-canonical-private-synchronous", "x-canonical-append", "x-canonical-private-icon-only", "x-canonical-truncation", "private-synchronous", "append", "private-icon-only", "truncation"}) { -+ NotificationsMock (const std::vector& capabilities = {"actions", "body", "body-markup", "icon-static", "image/svg+xml", "private-synchronous", "append", "private-icon-only", "truncation"}) { - mock = dbus_test_dbus_mock_new("org.freedesktop.Notifications"); - dbus_test_task_set_bus(DBUS_TEST_TASK(mock), DBUS_TEST_SERVICE_BUS_SESSION); - dbus_test_task_set_name(DBUS_TEST_TASK(mock), "Notify"); -diff --git a/tests/notifications-test.cc b/tests/notifications-test.cc -index a9fa55d..92f4672 100644 ---- a/tests/notifications-test.cc -+++ b/tests/notifications-test.cc -@@ -1,6 +1,6 @@ - /* - * Copyright 2015-2016 Canonical Ltd. -- * Copyright 2021 Robert Tari -+ * Copyright 2021-2023 Robert Tari - * - * 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 -@@ -259,7 +259,6 @@ TEST_F(NotificationsTest, VolumeChanges) { - EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name); - EXPECT_EQ("Volume", notev[0].summary); - EXPECT_EQ(0, notev[0].actions.size()); -- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); - EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); - - /* Set a different volume */ -@@ -432,7 +431,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { - ASSERT_EQ(1, notev.size()); - EXPECT_EQ("Volume", notev[0].summary); - EXPECT_EQ("Speakers", notev[0].body); -- EXPECT_GVARIANT_EQ("@s 'false'", notev[0].hints["x-lomiri-value-bar-tint"]); - - /* Set high volume with volume change */ - notifications->clearNotifications(); -@@ -443,7 +441,6 @@ TEST_F(NotificationsTest, DISABLED_HighVolume) { - ASSERT_LT(0, notev.size()); /* This passes with one or two since it would just be an update to the first if a second was sent */ - EXPECT_EQ("Volume", notev[0].summary); - EXPECT_EQ("Speakers", notev[0].body); -- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-value-bar-tint"]); - - /* Move it back */ - volume_warning_mock_set_high_volume(VOLUME_WARNING_MOCK(volumeWarning.get()), false); -@@ -513,7 +510,6 @@ TEST_F(NotificationsTest, DISABLED_ExtendendVolumeNotification) { - EXPECT_EQ("ayatana-indicator-sound", notev[0].app_name); - EXPECT_EQ("Volume", notev[0].summary); - EXPECT_EQ(0, notev[0].actions.size()); -- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); - EXPECT_GVARIANT_EQ("@i 50", notev[0].hints["value"]); - - /* Allow an amplified volume */ -@@ -628,14 +624,10 @@ TEST_F(NotificationsTest, DISABLED_TriggerWarning) { - if (warning_expected) { - EXPECT_TRUE(volume_warning_get_active(volumeWarning.get())); - ASSERT_EQ(1, notev.size()); -- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-lomiri-snap-decisions"]); -- EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-canonical-private-synchronous"]); - } - else { - EXPECT_FALSE(volume_warning_get_active(volumeWarning.get())); - ASSERT_EQ(1, notev.size()); -- EXPECT_GVARIANT_EQ(nullptr, notev[0].hints["x-lomiri-snap-decisions"]); -- EXPECT_GVARIANT_EQ("@s 'true'", notev[0].hints["x-canonical-private-synchronous"]); - } - - } // multimedia_active diff --git a/helpers/DATA/base-installer/archs/amd64.sh b/helpers/DATA/base-installer/archs/amd64.sh index be52108..7a416d7 100644 --- a/helpers/DATA/base-installer/archs/amd64.sh +++ b/helpers/DATA/base-installer/archs/amd64.sh @@ -3,7 +3,7 @@ arch_get_kernel_flavour () { } arch_check_usable_kernel () { - if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-16.04"; then return 1; fi + if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-@REVISION@"; then return 1; fi if echo "$1" | grep -Eq -- "-(server|generic|virtual|xen|preempt|rt)(-.*)?$"; then return 0; fi return 1 @@ -14,24 +14,24 @@ arch_get_kernel () { echo "linux-generic" echo "linux-image-generic" - echo "linux-generic-hwe-20.04" - echo "linux-image-generic-hwe-20.04" + echo "linux-generic-hwe-@REVISION@" + echo "linux-image-generic-hwe-@REVISION@" echo "linux-lowlatency" echo "linux-image-lowlatency" - echo "linux-lowlatency-hwe-20.04" - echo "linux-image-lowlatency-hwe-20.04" + echo "linux-lowlatency-hwe-@REVISION@" + echo "linux-image-lowlatency-hwe-@REVISION@" - echo "linux-oem-20.04" - echo "linux-image-oem-20.04" + echo "linux-oem-@REVISION@" + echo "linux-image-oem-@REVISION@" echo "linux-virtual" echo "linux-image-virtual" echo "linux-image-extra-virtual" - echo "linux-virtual-hwe-20.04" + echo "linux-virtual-hwe-@REVISION@" - echo "linux-image-virtual-hwe-20.04" - echo "linux-image-extra-virtual-hwe-20.04" + echo "linux-image-virtual-hwe-@REVISION@" + echo "linux-image-extra-virtual-hwe-@REVISION@" } diff --git a/helpers/DATA/base-installer/kernel_update_list.patch b/helpers/DATA/base-installer/patch_changes/000-kernel_update_list.patch similarity index 89% rename from helpers/DATA/base-installer/kernel_update_list.patch rename to helpers/DATA/base-installer/patch_changes/000-kernel_update_list.patch index 76d4175..309ee77 100644 --- a/helpers/DATA/base-installer/kernel_update_list.patch +++ b/helpers/DATA/base-installer/patch_changes/000-kernel_update_list.patch @@ -1,5 +1,5 @@ ---- source/library.sh 2022-07-14 15:09:08.482389439 -0500 -+++ source/library.sh_upd 2022-07-14 15:19:40.056073944 -0500 +--- a/library.sh 2022-07-14 15:09:08.482389439 -0500 ++++ b/library.sh 2022-07-14 15:19:40.056073944 -0500 @@ -345,9 +345,15 @@ kernel_update_list () { diff --git a/helpers/DATA/base-installer/patch_changes/001-set_generic_kernel_flavour_as_upstream.patch b/helpers/DATA/base-installer/patch_changes/001-set_generic_kernel_flavour_as_upstream.patch new file mode 100644 index 0000000..a4cceb9 --- /dev/null +++ b/helpers/DATA/base-installer/patch_changes/001-set_generic_kernel_flavour_as_upstream.patch @@ -0,0 +1,108 @@ +diff --git a/kernel/arm64.sh b/kernel/arm64.sh +index a5a5ec4a..9d5e07b4 100644 +--- a/kernel/arm64.sh ++++ b/kernel/arm64.sh +@@ -1,5 +1,8 @@ ++# Adjusted for Trisquel: use 'generic' flavour on all supported architectures, ++# matching Ubuntu's kernel packaging. ++ + arch_get_kernel_flavour () { +- echo "arm64" ++ echo "generic" + return 0 + } + +@@ -15,5 +18,5 @@ arch_check_usable_kernel () { + } + + arch_get_kernel () { +- echo "linux-image-arm64" ++ echo "linux-image-generic" + } +diff --git a/kernel/armhf.sh b/kernel/armhf.sh +index 389a416d..b998770e 100644 +--- a/kernel/armhf.sh ++++ b/kernel/armhf.sh +@@ -1,3 +1,6 @@ ++# Adjusted for Trisquel: use 'generic' flavour on all supported architectures, ++# matching Ubuntu's kernel packaging. ++ + arch_has_lpae () { + if grep -q '^Features.*\blpae\b' "$CPUINFO"; then + echo y +@@ -8,16 +11,13 @@ arch_has_lpae () { + + arch_get_kernel_flavour () { + case "$SUBARCH" in +- omap|mx5|vexpress) +- echo "$SUBARCH armmp" +- return 0 ;; + generic|efi) + case `arch_has_lpae` in + y) +- echo "armmp-lpae armmp" ++ echo "generic-lpae generic" + ;; + n) +- echo "armmp" ++ echo "generic" + ;; + esac + return 0 ;; +diff --git a/kernel/ppc64el.sh b/kernel/ppc64el.sh +index f21bdab2..2a5a0c5a 100644 +--- a/kernel/ppc64el.sh ++++ b/kernel/ppc64el.sh +@@ -1,5 +1,8 @@ ++# Adjusted for Trisquel: use 'generic' flavour on all supported architectures, ++# matching Ubuntu's kernel packaging. ++ + arch_get_kernel_flavour () { +- echo powerpc64le ++ echo generic + return 0 + } + +@@ -8,5 +11,5 @@ arch_check_usable_kernel () { + } + + arch_get_kernel () { +- echo "linux-image-powerpc64le" ++ echo "linux-image-generic" + } +diff --git a/kernel/riscv64.sh b/kernel/riscv64.sh +index 9fa410e0..982555ef 100644 +--- a/kernel/riscv64.sh ++++ b/kernel/riscv64.sh +@@ -4,10 +4,13 @@ + + # The riscv64 architecture has only a single unified multiplatform kernel + # (which uses "riscv64" as its flavour name). Therefore we don't need to +-# differentiate between multiple flavours here. ++# differentiate between multiple flavours here. (Debian) ++ ++## Adjusted for Trisquel: use 'generic' flavour on all supported architectures, ++## matching Ubuntu's kernel packaging. + + arch_get_kernel_flavour () { +- echo riscv64 ++ echo generic + } + + arch_check_usable_kernel () { +@@ -17,7 +20,7 @@ arch_check_usable_kernel () { + # Don't show debug packages in the kernel selection list. + return 1 + ;; +- *-riscv64 | *-riscv64-*) ++ *-generic | *-generic-*) + return 0 + ;; + *) +@@ -28,5 +31,5 @@ arch_check_usable_kernel () { + + arch_get_kernel () { + # parameters: $1=flavour +- echo "linux-image-riscv64" ++ echo "linux-image-generic" + } diff --git a/helpers/DATA/base-installer/patch_changes/002-patch_flavor_tests_arm64.patch b/helpers/DATA/base-installer/patch_changes/002-patch_flavor_tests_arm64.patch new file mode 100644 index 0000000..212a0c1 --- /dev/null +++ b/helpers/DATA/base-installer/patch_changes/002-patch_flavor_tests_arm64.patch @@ -0,0 +1,66 @@ +diff --git a/kernel/tests/arm64/foundation.test b/kernel/tests/arm64/foundation.test +index 30027845..882eb192 100644 +--- a/kernel/tests/arm64/foundation.test ++++ b/kernel/tests/arm64/foundation.test +@@ -1,12 +1,12 @@ + subarch generic + cpuinfo foundation.cpuinfo +-flavour arm64 ++flavour generic + majors 3.10 + machine aarch64 + kernel-3.10 \ +- linux-image-arm64 ++ linux-image-generic + usable \ +- linux-image-arm64 \ +- linux-image-3.14-1-arm64 ++ linux-image-generic \ ++ linux-image-3.14-1-generic + unusable \ +- linux-image-3.14-1-arm64-dbg ++ linux-image-3.14-1-generic-dbg +diff --git a/kernel/tests/arm64/mustang.test b/kernel/tests/arm64/mustang.test +index 80ab19f7..e58c06aa 100644 +--- a/kernel/tests/arm64/mustang.test ++++ b/kernel/tests/arm64/mustang.test +@@ -1,12 +1,12 @@ + subarch generic + cpuinfo mustang.cpuinfo +-flavour arm64 ++flavour generic + majors 3.10 + machine aarch64 + kernel-3.10 \ +- linux-image-arm64 ++ linux-image-generic + usable \ +- linux-image-arm64 \ +- linux-image-3.14-1-arm64 ++ linux-image-generic \ ++ linux-image-3.14-1-generic + unusable \ +- linux-image-3.14-1-arm64-dbg ++ linux-image-3.14-1-generic-dbg +diff --git a/kernel/tests/arm64/qemu-virt.test b/kernel/tests/arm64/qemu-virt.test +index 87c39c47..2d880f5c 100644 +--- a/kernel/tests/arm64/qemu-virt.test ++++ b/kernel/tests/arm64/qemu-virt.test +@@ -1,12 +1,12 @@ + subarch generic + cpuinfo qemu-virt.cpuinfo +-flavour arm64 ++flavour generic + majors 3.10 + machine aarch64 + kernel-3.10 \ +- linux-image-arm64 ++ linux-image-generic + usable \ +- linux-image-arm64 \ +- linux-image-3.14-1-arm64 ++ linux-image-generic \ ++ linux-image-3.14-1-generic + unusable \ +- linux-image-3.14-1-arm64-dbg ++ linux-image-3.14-1-generic-dbg diff --git a/helpers/DATA/base-installer/patch_changes/003-patch_flavor_tests_armhf.patch b/helpers/DATA/base-installer/patch_changes/003-patch_flavor_tests_armhf.patch new file mode 100644 index 0000000..a3090b9 --- /dev/null +++ b/helpers/DATA/base-installer/patch_changes/003-patch_flavor_tests_armhf.patch @@ -0,0 +1,143 @@ +diff --git a/kernel/tests/armhf/efikamx.test b/kernel/tests/armhf/efikamx.test +deleted file mode 100644 +index 3fa4eeef..00000000 +--- a/kernel/tests/armhf/efikamx.test ++++ /dev/null +@@ -1,19 +0,0 @@ +-subarch mx5 +-cpuinfo efikamx.cpuinfo +-majors 5.7 +-flavour mx5 armmp +-kernel-5.7 linux-image-mx5 linux-image-armmp +-usable \ +- linux-image-mx5 \ +- linux-image-5.7.0-1-mx5 \ +- linux-image-armmp \ +- linux-image-5.7.0-1-armmp +-unusable \ +- linux-image-armmp-lpae \ +- linux-image-netwinder \ +- linux-image-orion5x \ +- linux-image-rpc \ +- linux-image-s3c2410 \ +- linux-image-kirkwood \ +- linux-image-vexpress \ +- linux-image-5.7.0-1-armmp-dbg +diff --git a/kernel/tests/armhf/highbank.test b/kernel/tests/armhf/highbank.test +index 1f68d466..37a42821 100644 +--- a/kernel/tests/armhf/highbank.test ++++ b/kernel/tests/armhf/highbank.test +@@ -1,14 +1,14 @@ + subarch generic + cpuinfo highbank.cpuinfo + majors 5.7 +-flavour armmp ++flavour generic + kernel-5.7 \ +- linux-image-armmp ++ linux-image-generic + usable \ +- linux-image-armmp \ +- linux-image-5.7.0-1-armmp ++ linux-image-generic \ ++ linux-image-5.7.0-1-generic + unusable \ +- linux-image-armmp-lpae \ ++ linux-image-generic-lpae \ + linux-image-netwinder \ + linux-image-orion5x \ + linux-image-rpc \ +@@ -16,4 +16,4 @@ unusable \ + linux-image-kirkwood \ + linux-image-mx5 \ + linux-image-vexpress \ +- linux-image-5.7.0-1-armmp-dbg ++ linux-image-5.7.0-1-generic-dbg +diff --git a/kernel/tests/armhf/midway-no-lpae.test b/kernel/tests/armhf/midway-no-lpae.test +index 04db5356..056ff08f 100644 +--- a/kernel/tests/armhf/midway-no-lpae.test ++++ b/kernel/tests/armhf/midway-no-lpae.test +@@ -1,14 +1,14 @@ + subarch generic + cpuinfo midway-no-lpae.cpuinfo + majors 5.7 +-flavour armmp ++flavour generic + kernel-5.7 \ +- linux-image-armmp ++ linux-image-generic + usable \ +- linux-image-armmp \ +- linux-image-5.7.0-1-armmp ++ linux-image-generic \ ++ linux-image-5.7.0-1-generic + unusable \ +- linux-image-armmp-lpae \ ++ linux-image-generic-lpae \ + linux-image-netwinder \ + linux-image-orion5x \ + linux-image-rpc \ +@@ -16,4 +16,4 @@ unusable \ + linux-image-kirkwood \ + linux-image-mx5 \ + linux-image-vexpress \ +- linux-image-5.7.0-1-armmp-dbg ++ linux-image-5.7.0-1-generic-dbg +diff --git a/kernel/tests/armhf/midway.test b/kernel/tests/armhf/midway.test +index 6a789a1b..a5213a4a 100644 +--- a/kernel/tests/armhf/midway.test ++++ b/kernel/tests/armhf/midway.test +@@ -1,15 +1,15 @@ + subarch generic + cpuinfo midway.cpuinfo + majors 5.7 +-flavour armmp-lpae armmp ++flavour generic-lpae generic + kernel-5.7 \ +- linux-image-armmp-lpae \ +- linux-image-armmp ++ linux-image-generic-lpae \ ++ linux-image-generic + usable \ +- linux-image-armmp \ +- linux-image-5.7.0-1-armmp \ +- linux-image-armmp-lpae \ +- linux-image-5.7.0-1-armmp-lpae ++ linux-image-generic \ ++ linux-image-5.7.0-1-generic \ ++ linux-image-generic-lpae \ ++ linux-image-5.7.0-1-generic-lpae + unusable \ + linux-image-netwinder \ + linux-image-orion5x \ +@@ -18,4 +18,4 @@ unusable \ + linux-image-kirkwood \ + linux-image-mx5 \ + linux-image-vexpress \ +- linux-image-5.7.0-1-armmp-dbg ++ linux-image-5.7.0-1-generic-dbg +diff --git a/kernel/tests/armhf/vexpress.test b/kernel/tests/armhf/vexpress.test +deleted file mode 100644 +index 19d38dd4..00000000 +--- a/kernel/tests/armhf/vexpress.test ++++ /dev/null +@@ -1,19 +0,0 @@ +-subarch vexpress +-cpuinfo vexpress.cpuinfo +-majors 5.7 +-flavour vexpress armmp +-kernel-5.7 linux-image-vexpress linux-image-armmp +-usable \ +- linux-image-vexpress \ +- linux-image-3.2.0-4-vexpress \ +- linux-image-armmp \ +- linux-image-5.7.0-1-armmp +-unusable \ +- linux-image-armmp-lpae \ +- linux-image-netwinder \ +- linux-image-orion5x \ +- linux-image-rpc \ +- linux-image-s3c2410 \ +- linux-image-kirkwood \ +- linux-image-mx5 \ +- linux-image-5.7.0-1-armmp-dbg diff --git a/helpers/DATA/base-installer/patch_changes/004-patch_flavor_tests_ppc64el.patch b/helpers/DATA/base-installer/patch_changes/004-patch_flavor_tests_ppc64el.patch new file mode 100644 index 0000000..b66c5bb --- /dev/null +++ b/helpers/DATA/base-installer/patch_changes/004-patch_flavor_tests_ppc64el.patch @@ -0,0 +1,36 @@ +diff --git a/kernel/tests/ppc64el/postal.test b/kernel/tests/ppc64el/postal.test +index 9878d14f..33f7c0e3 100644 +--- a/kernel/tests/ppc64el/postal.test ++++ b/kernel/tests/ppc64el/postal.test +@@ -1,9 +1,9 @@ + subarch chrp_ibm + cpuinfo postal.cpuinfo + majors 5.7 +-flavour powerpc64le ++flavour generic + kernel-5.7 \ +- linux-image-powerpc64le ++ linux-image-generic + usable \ +- linux-image-powerpc64le \ +- linux-image-3.14-1-powerpc64le ++ linux-image-generic \ ++ linux-image-3.14-1-generic +diff --git a/kernel/tests/ppc64el/powernv.test b/kernel/tests/ppc64el/powernv.test +index 3e7d2250..77b5505a 100644 +--- a/kernel/tests/ppc64el/powernv.test ++++ b/kernel/tests/ppc64el/powernv.test +@@ -1,9 +1,9 @@ + subarch chrp_ibm + cpuinfo powernv.cpuinfo + majors 5.7 +-flavour powerpc64le ++flavour generic + kernel-5.7 \ +- linux-image-powerpc64le ++ linux-image-generic + usable \ +- linux-image-powerpc64le \ +- linux-image-3.14-1-powerpc64le ++ linux-image-generic \ ++ linux-image-3.14-1-generic diff --git a/helpers/DATA/birdtray/birdtray.ico b/helpers/DATA/birdtray/birdtray.ico deleted file mode 100644 index 28cc2fe..0000000 Binary files a/helpers/DATA/birdtray/birdtray.ico and /dev/null differ diff --git a/helpers/DATA/birdtray/birdtray.svg b/helpers/DATA/birdtray/birdtray.svg deleted file mode 100644 index 3fa8959..0000000 --- a/helpers/DATA/birdtray/birdtray.svg +++ /dev/null @@ -1,2059 +0,0 @@ - - - - - - image/svg+xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/helpers/DATA/birdtray/icons/128/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/128/com.ulduzsoft.Birdtray.png deleted file mode 100644 index 313a770..0000000 Binary files a/helpers/DATA/birdtray/icons/128/com.ulduzsoft.Birdtray.png and /dev/null differ diff --git a/helpers/DATA/birdtray/icons/32/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/32/com.ulduzsoft.Birdtray.png deleted file mode 100644 index 1dfe7a4..0000000 Binary files a/helpers/DATA/birdtray/icons/32/com.ulduzsoft.Birdtray.png and /dev/null differ diff --git a/helpers/DATA/birdtray/icons/48/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/48/com.ulduzsoft.Birdtray.png deleted file mode 100644 index 5acf48a..0000000 Binary files a/helpers/DATA/birdtray/icons/48/com.ulduzsoft.Birdtray.png and /dev/null differ diff --git a/helpers/DATA/birdtray/icons/64/com.ulduzsoft.Birdtray.png b/helpers/DATA/birdtray/icons/64/com.ulduzsoft.Birdtray.png deleted file mode 100644 index 28510f2..0000000 Binary files a/helpers/DATA/birdtray/icons/64/com.ulduzsoft.Birdtray.png and /dev/null differ diff --git a/helpers/DATA/birdtray/thunderbird.png b/helpers/DATA/birdtray/thunderbird.png deleted file mode 100644 index ee32dde..0000000 Binary files a/helpers/DATA/birdtray/thunderbird.png and /dev/null differ diff --git a/helpers/DATA/bleachbit/bleachbit-FSDG.patch b/helpers/DATA/bleachbit/bleachbit-FSDG.patch index 631be03..cdbf76f 100644 --- a/helpers/DATA/bleachbit/bleachbit-FSDG.patch +++ b/helpers/DATA/bleachbit/bleachbit-FSDG.patch @@ -66,16 +66,6 @@ diff -ru a/doc/cleaner_markup_language.xsd b/doc/cleaner_markup_language.xsd -diff -ru source/PKG-INFO source_fix/PKG-INFO ---- a/PKG-INFO 2021-11-13 15:05:48.000000000 -0600 -+++ b/PKG-INFO 2022-04-10 16:28:47.450145458 -0500 -@@ -7,5 +7,5 @@ - Author-email: andrew@bleachbit.org - License: GPLv3 - Download-URL: https://www.bleachbit.org/download --Description: BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Edge, Firefox, Google Chrome, VLC, and many others. -+Description: BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Firefox, VLC, and many others. - Platform: Linux and Windows; Python v2.6 and 2.7; GTK v3.12+ diff -ru source/setup.py source_fix/setup.py --- a/setup.py 2021-11-13 15:05:47.000000000 -0600 +++ b/setup.py 2022-04-10 16:34:51.418739031 -0500 @@ -88,3 +78,14 @@ diff -ru source/setup.py source_fix/setup.py # # begin win32com.shell workaround for py2exe +diff --git a/PKG-INFO b/PKG-INFO +index e7605a5c..1cb44f88 100644 +--- a/PKG-INFO ++++ b/PKG-INFO +@@ -10,5 +10,5 @@ Download-URL: https://www.bleachbit.org/download + Platform: Linux and Windows; Python v2.6 and 2.7; GTK v3.12+ + License-File: COPYING + +-BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Edge, Firefox, Google Chrome, VLC, and many others. ++BleachBit frees space and maintains privacy by quickly wiping files you don't need and didn't know you had. Supported applications include Abrowser, VLC, and many others. + diff --git a/helpers/DATA/casper/36apparmor_live b/helpers/DATA/casper/36apparmor_live new file mode 100644 index 0000000..094a847 --- /dev/null +++ b/helpers/DATA/casper/36apparmor_live @@ -0,0 +1,61 @@ +#!/bin/sh + +PREREQ="" +DESCRIPTION="Enabling Live apparmor profiles..." + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +# get pre-requisites +prereqs) + prereqs + exit 0 + ;; +esac + +. /scripts/casper-functions + +log_begin_msg "$DESCRIPTION" + +RC_EXIST=0 + +if [ ! -e /root/etc/rc.local ]; then + umask 022 + mkdir -p /root/etc + cat << 'EOF' > /root/etc/rc.local +#!/bin/sh +exit 0 +EOF + chmod 755 /root/etc/rc.local + RC_EXIST=1 +fi + +if [ "$RC_EXIST" -eq 0 ]; then + head -n1 /root/etc/rc.local | grep -q '^#!' || sed -i '1s|^|#!/bin/sh\n|' /root/etc/rc.local + sed -i 's/\r$//' /root/etc/rc.local + chmod 755 /root/etc/rc.local +fi + +if ! grep -q 'BEGIN trisquel-live-apparmor' /root/etc/rc.local 2>/dev/null; then + sed -i '/^exit 0$/d' /root/etc/rc.local + cat << 'EOF' >> /root/etc/rc.local +# --- BEGIN trisquel-live-apparmor --- +if [ -d /rofs ]; then + /usr/lib/casper/casper-apparmor-live || true +fi +# --- END trisquel-live-apparmor --- +EOF + echo 'exit 0' >> /root/etc/rc.local +fi + +mkdir -p /root/etc/apt/apt.conf.d +cat << 'APT' > /root/etc/apt/apt.conf.d/99-apparmor-live-hook +# /etc/apt/apt.conf.d/99-apparmor-live-hook +DPkg::Post-Invoke { "sh -c '[ -d /rofs ] && /usr/lib/casper/casper-apparmor-live || true'"; }; +APT +chmod 644 /root/etc/apt/apt.conf.d/99-apparmor-live-hook + +log_end_msg diff --git a/helpers/DATA/casper/set_trisquel_iso_suggestion.patch b/helpers/DATA/casper/patch_changes/000-set_trisquel_iso_suggestion.patch similarity index 74% rename from helpers/DATA/casper/set_trisquel_iso_suggestion.patch rename to helpers/DATA/casper/patch_changes/000-set_trisquel_iso_suggestion.patch index 116f99c..f7b369f 100644 --- a/helpers/DATA/casper/set_trisquel_iso_suggestion.patch +++ b/helpers/DATA/casper/patch_changes/000-set_trisquel_iso_suggestion.patch @@ -1,6 +1,8 @@ ---- a/scripts/casper 2023-02-13 23:53:18.908768968 -0600 -+++ b/scripts/casper 2023-02-21 03:28:55.176581755 -0600 -@@ -376,18 +376,18 @@ +diff --git a/scripts/casper b/scripts/casper +index 36a724d2..1b9a6faf 100644 +--- a/scripts/casper ++++ b/scripts/casper +@@ -379,18 +379,18 @@ do_interactive_netmount() { # maybe make livecd-rootfs embed something in the casper initrd? case $PRETTY_NAME in *development*) @@ -12,14 +14,14 @@ *) case $DPKG_ARCH in amd64) -- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-live-server-$DPKG_ARCH.iso -- desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-desktop-$DPKG_ARCH.iso +- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso +- desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso + server_url=http://cdimage.trisquel.org/trisquel-images/${ID}-netinst_${VERSION_ID}_${DPKG_ARCH}.iso + desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso ;; *) -- server_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-live-server-$DPKG_ARCH.iso -- desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-desktop-$DPKG_ARCH.iso +- server_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso +- desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso + server_url=http://cdimage.trisquel.org/trisquel-images/${ID}-netinst_${VERSION_ID}_${DPKG_ARCH}.iso + desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso ;; diff --git a/helpers/DATA/casper/patch_changes/001-fix_disable_kde_services_triskel_live.patch b/helpers/DATA/casper/patch_changes/001-fix_disable_kde_services_triskel_live.patch new file mode 100644 index 0000000..f0e0dff --- /dev/null +++ b/helpers/DATA/casper/patch_changes/001-fix_disable_kde_services_triskel_live.patch @@ -0,0 +1,13 @@ +diff --git a/scripts/casper-bottom/34disable_kde_services b/scripts/casper-bottom/34disable_kde_services +index f368ec2e..caa76986 100755 +--- a/scripts/casper-bottom/34disable_kde_services ++++ b/scripts/casper-bottom/34disable_kde_services +@@ -20,7 +20,7 @@ esac + + log_begin_msg "$DESCRIPTION" + +-for pkg in kubuntu-default-settings ubuntustudio; do ++for pkg in triskel-default-settings kubuntu-default-settings ubuntustudio; do + settingsdir="/root/usr/share/$pkg/kf5-settings" + [ -d "$settingsdir" ] || continue + printf "[Daemon]\nTimeout=0\nAutolock=false\nLockOnResume=false\n" >> "$settingsdir"/kscreenlockerrc diff --git a/helpers/DATA/casper/patch_changes/002-setup_apparmor_live_reload.patch b/helpers/DATA/casper/patch_changes/002-setup_apparmor_live_reload.patch new file mode 100644 index 0000000..d78ec82 --- /dev/null +++ b/helpers/DATA/casper/patch_changes/002-setup_apparmor_live_reload.patch @@ -0,0 +1,29 @@ +diff --git a/debian/casper.install b/debian/casper.install +index 5eb58de8..248d17d0 100644 +--- a/debian/casper.install ++++ b/debian/casper.install +@@ -10,4 +10,5 @@ bin/casper-update-initramfs usr/share/casper + hooks usr/share/initramfs-tools + scripts usr/share/initramfs-tools + casper-md5check/casper-md5check usr/lib/casper ++extra/casper-apparmor-live usr/lib/casper + casper.conf etc +diff --git a/extra/casper-apparmor-live b/extra/casper-apparmor-live +new file mode 100755 +index 00000000..c11b80ad +--- /dev/null ++++ b/extra/casper-apparmor-live +@@ -0,0 +1,13 @@ ++#!/bin/sh ++# /usr/lib/casper/casper-apparmor-live ++[ -d /rofs ] || exit 0 ++find /etc/apparmor.d -type f \ ++ ! -path "/etc/apparmor.d/abstractions/*" \ ++ ! -path "/etc/apparmor.d/tunables/*" \ ++ ! -path "/etc/apparmor.d/local/*" \ ++ ! -path "/etc/apparmor.d/disable/*" \ ++ ! -path "/etc/apparmor.d/rsyslog.d/*" \ ++ ! -path "/etc/apparmor.d/force-complain/*" \ ++ ! -path "/etc/apparmor.d/apache2.d/*" \ ++ ! -path "/etc/apparmor.d/abi/*" \ ++ -print0 | xargs -0 -r -n1 apparmor_parser -r -T -W || true diff --git a/helpers/DATA/casper/set_liveuser_uid_1000.patch b/helpers/DATA/casper/set_liveuser_uid_1000.patch deleted file mode 100644 index 511fe5c..0000000 --- a/helpers/DATA/casper/set_liveuser_uid_1000.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/bin/casper-snapshot b/bin/casper-snapshot -index ab075292..33243f63 100755 ---- a/bin/casper-snapshot -+++ b/bin/casper-snapshot -@@ -33,7 +33,7 @@ VERSION=0.0.1 - if [ -e /etc/casper.conf ]; then - . /etc/casper.conf - else -- USERNAME=$(cat /etc/passwd | grep "999" | cut -f1 -d ':') -+ USERNAME=$(cat /etc/passwd | grep "1000" | cut -f1 -d ':') - HOSTNAME=$(hostname) - BUILD_SYSTEM="Debian" - fi -diff --git a/scripts/casper-bottom/15autologin b/scripts/casper-bottom/15autologin -index d6c75e66..c80e2058 100755 ---- a/scripts/casper-bottom/15autologin -+++ b/scripts/casper-bottom/15autologin -@@ -90,9 +90,6 @@ if [ -f /root/usr/bin/sddm ]; then - sddm_session=QLubuntu.desktop - fi - cat >>/root/etc/sddm.conf < /dev/null - if [ ! -f /root/usr/bin/sddm ]; then -@@ -93,11 +94,6 @@ for file in /usr/share/applications/ubiquity.desktop /usr/share/applications/kde - fi - done - --# GDM --if [ -d /root/etc/gdm3 ]; then -- sed -i '/^[UG]ID_MIN/s/\<1000$/ 999/' /root/etc/login.defs --fi -- - # Kubuntu - if [ -f "/root/usr/bin/plasma-desktop" ]; then - if [ -f "/root/usr/share/kde4/apps/khelpcenter/plugins/kubuntu/a_welcome.desktop" ]; then diff --git a/helpers/DATA/cdebconf/new-default-color-palet-usage.patch b/helpers/DATA/cdebconf/new-default-color-palet-usage.patch new file mode 100644 index 0000000..a41807a --- /dev/null +++ b/helpers/DATA/cdebconf/new-default-color-palet-usage.patch @@ -0,0 +1,96 @@ +diff --git a/src/modules/frontend/newt/newt.c b/src/modules/frontend/newt/newt.c +index 838ff2f..ee754a2 100644 +--- a/src/modules/frontend/newt/newt.c ++++ b/src/modules/frontend/newt/newt.c +@@ -72,6 +72,47 @@ struct newt_data { + struct question *scale_info; + }; + ++struct newtColors newtAltColorPalette = { ++ /*"white", "blue",*/ /* root fg, bg */ ++ "white", "black", /* root fg, bg */ ++ /*"black", "lightgray",*/ /* border fg, bg */ ++ "white", "black", /* border fg, bg */ ++ /*"black", "lightgray",*/ /* window fg, bg */ ++ "white", "black", /* window fg, bg */ ++ /*"white", "black",*/ /* shadow fg, bg */ ++ "white", "black", /* shadow fg, bg */ ++ /*"red", "lightgray",*/ /* title fg, bg */ ++ "yellow", "black", /* title fg, bg */ ++ /*"brightred", "gray",*/ /* button fg, bg */ ++ "black", "lightgray", /* button fg, bg */ ++ "gray", "brightred", /* active button fg, bg */ ++ "white", "gray", /* checkbox fg, bg */ ++ /*"yellow", "brown",*/ /* active checkbox fg, bg */ ++ "black", "lightgray", /* active checkbox fg, bg */ ++ /*"yellow", "blue",*/ /* entry box fg, bg */ ++ "white", "black", /* entry box fg, bg */ ++ /*"blue", "lightgray",*/ /* label fg, bg */ ++ "brightred", "black", /* label fg, bg */ ++ /*"black", "lightgray",*/ /* listbox fg, bg */ ++ "white", "black", /* listbox fg, bg */ ++ "yellow", "blue", /* active listbox fg, bg */ ++ /*"black", "lightgray",*/ /* textbox fg, bg */ ++ "white", "black", /* textbox fg, bg */ ++ "lightgray", "black", /* active textbox fg, bg */ ++ /*"white", "blue",*/ /* help line */ ++ "white", "black", /* help line */ ++ "yellow", "blue", /* root text */ ++ /*"blue",*/ /* scale full */ ++ "black", /* scale full */ ++ /*"red",*/ /* scale empty */ ++ "blue", /* scale empty */ ++ "blue", "lightgray", /* disabled entry fg, bg */ ++ /*"black", "lightgray",*/ /* compact button fg, bg */ ++ "white", "black", /* compact button fg, bg */ ++ "black", "lightgray", /* active & sel listbox */ ++ "black", "brown" /* selected listbox */ ++}; ++ + typedef int (newt_handler)(struct frontend *obj, struct question *q); + + struct newt_help_callback_data { +@@ -153,6 +194,7 @@ cdebconf_newt_setup(void) + { + SLang_init_tty(0, 1, 0); /* disable flow control */ + newtInit(); ++ newtSetColors(newtAltColorPalette); + newtCls(); + } + +@@ -1078,7 +1120,7 @@ newt_handler_error(struct frontend *obj, struct question *q) + { + char *oldrootBg, *oldshadowBg, *oldhelpLineFg, *oldhelpLineBg; + int ret; +- struct newtColors palette = newtDefaultColorPalette; ++ struct newtColors palette = newtAltColorPalette; + + oldrootBg = palette.rootBg; + oldshadowBg = palette.shadowBg; +@@ -1148,22 +1190,15 @@ newt_initialize(struct frontend *obj, struct configuration *conf) + { + int width = 80, height = 24; + const char *palette; +- const char *base = "/etc/newt/palette"; +- char *path; + + obj->interactive = 1; + obj->data = calloc(1, sizeof(struct newt_data)); + SLang_init_tty(0, 1, 0); /* disable flow control */ +- palette = getenv("FRONTEND_BACKGROUND"); +- if (palette != NULL && asprintf(&path, "%s.%s", base, palette) >= 0) { +- /* Establish a symlink from /etc/newt/palette to +- * /etc/newt/palette.$FRONTEND_BACKGROUND +- */ +- unlink(base); +- link(path, base); +- free(path); +- } + newtInit(); ++ palette = getenv("FRONTEND_BACKGROUND"); ++ if (palette == NULL || strcmp(palette, "dark") != 0) ++ newtAltColorPalette = newtDefaultColorPalette; ++ newtSetColors(newtAltColorPalette); + newtGetScreenSize(&width, &height); + newtFinished(); + return DC_OK; diff --git a/helpers/DATA/cdebconf/restore-udeb-build-w_o-profile.patch b/helpers/DATA/cdebconf/restore-udeb-build-w_o-profile.patch new file mode 100644 index 0000000..3da51ef --- /dev/null +++ b/helpers/DATA/cdebconf/restore-udeb-build-w_o-profile.patch @@ -0,0 +1,96 @@ +diff --git a/debian/control b/debian/control +index 0b67d83..de3d32e 100644 +--- a/debian/control ++++ b/debian/control +@@ -83,7 +82,6 @@ Priority: standard + Depends: ${shlibs:Depends}, ${misc:Depends} + Provides: debconf-2.0 + Package-Type: udeb +-Build-Profiles: + Description: Debian Configuration Management System (C-implementation) + Debconf is a configuration management system for Debian packages. It is + used by some packages to prompt you for information before they are +@@ -99,7 +97,6 @@ Section: debian-installer + Priority: standard + Depends: cdebconf-udeb, ${misc:Depends} + Package-Type: udeb +-Build-Profiles: + XB-Installer-Menu-Item: 93000 + Description: Change debconf priority + This is a udeb that allows you to change the priority limit for the +@@ -110,7 +107,6 @@ Architecture: any + Section: debian-installer + Depends: ${shlibs:Depends}, ${misc:Depends}, cdebconf-udeb + Package-Type: udeb +-Build-Profiles: + Description: Debian Configuration Management System (C-implementation) + Debconf is a configuration management system for Debian packages. It is + used by some packages to prompt you for information before they are +@@ -124,7 +120,6 @@ Architecture: any + Section: debian-installer + Depends: cdebconf-udeb, ${shlibs:Depends}, ${misc:Depends} + Package-Type: udeb +-Build-Profiles: + Description: Plain text frontend for Debian Configuration Management System + Debconf is a configuration management system for Debian packages. It is + used by some packages to prompt you for information before they are +@@ -139,7 +134,6 @@ Architecture: any + Section: debian-installer + Depends: cdebconf-udeb, di-utils-terminfo, ${shlibs:Depends}, ${misc:Depends} + Package-Type: udeb +-Build-Profiles: + Description: Newt frontend for Debian Configuration Management System + Debconf is a configuration management system for Debian packages. It is + used by some packages to prompt you for information before they are +@@ -154,7 +148,7 @@ Architecture: any + Section: debian-installer + Depends: cdebconf-udeb, ${shlibs:Depends}, ${misc:Depends}, rootskel-gtk [!s390 !s390x] + Package-Type: udeb +-Build-Profiles: ++Build-Profiles: + Description: Gtk+ frontend for Debian Configuration Management System + Debconf is a configuration management system for Debian packages. It is + used by some packages to prompt you for information before they are +diff --git a/debian/rules b/debian/rules +index 3ee2ec0..a66e684 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -12,10 +12,6 @@ udebbuild=debian/build-udeb + + include /usr/share/dpkg/architecture.mk + +-ifeq (,$(filter noudeb, $(DEB_BUILD_PROFILES))) +- with_udeb = yes +-endif +- + CONFFILE=/etc/cdebconf.conf + + #package names +@@ -46,7 +42,7 @@ ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + DEBUG_CONFIGURE_OPT=--with-debug=yes + endif + +-build: build-deb $(if $(with_udeb),build-udeb) ++build: build-deb build-udeb + + build-arch: build + build-indep: build +@@ -108,9 +104,7 @@ install-arch: build + dh_testroot + dh_prep + $(MAKE) -C $(debbuild) install DESTDIR=$(CURDIR)/debian/tmp/deb +-ifeq ($(with_udeb),yes) + $(MAKE) -C $(udebbuild) install DESTDIR=$(CURDIR)/debian/tmp/udeb +-endif + dh_install -a + + install-indep: +@@ -152,7 +146,7 @@ endif + dh_strip -a + dh_compress -a + dh_fixperms -a +- dh_makeshlibs -a $(if $(with_udeb),--add-udeb=libdebconfclient0-udeb) ++ dh_makeshlibs -a --add-udeb=libdebconfclient0-udeb + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a diff --git a/helpers/DATA/choose-mirror/Makefile_mirrors-masterlist.patch b/helpers/DATA/choose-mirror/Makefile_mirrors-masterlist.patch new file mode 100644 index 0000000..920acc3 --- /dev/null +++ b/helpers/DATA/choose-mirror/Makefile_mirrors-masterlist.patch @@ -0,0 +1,15 @@ +diff --git a/Makefile b/Makefile +index f8bf521f..61d51be1 100644 +--- a/Makefile ++++ b/Makefile +@@ -34,8 +34,8 @@ LIBS=-ldebconfclient -ldebian-installer + STRIP=strip + + # Derivative distributions may want to change these. +-MIRRORLISTURL=https://mirror-master.debian.org/status/Mirrors.masterlist +-MASTERLIST=Mirrors.masterlist ++MIRRORLISTURL=https://gitlab.trisquel.org/trisquel/trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist ++MASTERLIST=Mirrors.masterlist.trisquel + + ifdef DEBUG + CFLAGS:=$(CFLAGS) -DDODEBUG diff --git a/helpers/DATA/choose-mirror/rev_choose-mirror-bin.templates-in.patch b/helpers/DATA/choose-mirror/choose-mirror-bin.templates-in.patch similarity index 51% rename from helpers/DATA/choose-mirror/rev_choose-mirror-bin.templates-in.patch rename to helpers/DATA/choose-mirror/choose-mirror-bin.templates-in.patch index 8976574..fd77a84 100644 --- a/helpers/DATA/choose-mirror/rev_choose-mirror-bin.templates-in.patch +++ b/helpers/DATA/choose-mirror/choose-mirror-bin.templates-in.patch @@ -1,22 +1,22 @@ diff -ru choose-mirror-2.78ubuntu7+10.0trisquel3/debian/choose-mirror-bin.templates-in choose-mirror-2.111/debian/choose-mirror-bin.templates-in --- choose-mirror-2.78ubuntu7+10.0trisquel3/debian/choose-mirror-bin.templates-in 2021-02-26 15:22:56.000000000 -0600 +++ choose-mirror-2.111/debian/choose-mirror-bin.templates-in 2021-02-08 06:52:03.000000000 -0600 -@@ -12,10 +12,14 @@ +@@ -12,14 +12,10 @@ Type: select Choices-C: ${CHOICES-C} Choices: ${CHOICES} --Default: _CODENAME_ --Description: Trisquel version to install: -- In Trisquel, this question is never asked, and is only for preseeding. -- Caveat emptor. -+# :sl2: -+_Description: Debian version to install: -+ Debian comes in several flavors. Stable is well-tested and rarely changes. -+ Unstable is untested and frequently changing. Testing is a middle ground, -+ that receives many of the new versions from unstable if they are not too -+ buggy. -+ . -+ Only flavors available on the selected mirror are listed. ++Default: _CODENAME_ ++Description: Trisquel version to install: ++ In Trisquel, this question is never asked, and is only for preseeding. ++ Caveat emptor. +-# :sl2: +-_Description: Debian version to install: +- Debian comes in several flavors. Stable is well-tested and rarely changes. +- Unstable is untested and frequently changing. Testing is a middle ground, +- that receives many of the new versions from unstable if they are not too +- buggy. +- . +- Only flavors available on the selected mirror are listed. Template: mirror/codename Type: string diff --git a/helpers/DATA/choose-mirror/rev_Makefile.patch b/helpers/DATA/choose-mirror/rev_Makefile.patch deleted file mode 100644 index 0f38b63..0000000 --- a/helpers/DATA/choose-mirror/rev_Makefile.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ru choose-mirror-2.78ubuntu7+10.0trisquel3/Makefile choose-mirror-2.111/Makefile ---- choose-mirror-2.78ubuntu7+10.0trisquel3/Makefile 2021-02-26 15:22:56.000000000 -0600 -+++ choose-mirror-2.111/Makefile 2021-06-04 12:09:55.000000000 -0500 -@@ -33,8 +33,8 @@ - STRIP=strip - - # Derivative distributions may want to change these. --#MIRRORLISTURL=https://gitlab.trisquel.org/trisquel/trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist --MASTERLIST=Mirrors.masterlist.trisquel -+MIRRORLISTURL=https://salsa.debian.org/mirror-team/masterlist/raw/master/Mirrors.masterlist -+MASTERLIST=Mirrors.masterlist - - ifdef DEBUG - CFLAGS:=$(CFLAGS) -DDODEBUG diff --git a/helpers/DATA/cwidget/0002-Fix-cwidget-and-aptitude-FTBFS.patch b/helpers/DATA/cwidget/0002-Fix-cwidget-and-aptitude-FTBFS.patch deleted file mode 100644 index 7614cb8..0000000 --- a/helpers/DATA/cwidget/0002-Fix-cwidget-and-aptitude-FTBFS.patch +++ /dev/null @@ -1,16 +0,0 @@ -Description: Fix FTBFS in cwidget as well as in aptitude due to missing #include -Author: Paul Wise -Reviewed-By: Axel Beckert -Bug-Debian: https://bugs.debian.org/1015925 -Bug: https://bugs.debian.org/1015925 - ---- a/src/cwidget/generic/threads/threads.h -+++ b/src/cwidget/generic/threads/threads.h -@@ -26,6 +26,7 @@ - #define THREADS_H - - #include -+#include - #include - - namespace cwidget diff --git a/helpers/DATA/debconf/patch_changes/000-add_Template_undef_guard.patch b/helpers/DATA/debconf/patch_changes/000-add_Template_undef_guard.patch new file mode 100644 index 0000000..e30df28 --- /dev/null +++ b/helpers/DATA/debconf/patch_changes/000-add_Template_undef_guard.patch @@ -0,0 +1,12 @@ +diff --git a/Debconf/Template.pm b/Debconf/Template.pm +index 9ab4833d..c3649929 100644 +--- a/Debconf/Template.pm ++++ b/Debconf/Template.pm +@@ -140,6 +140,7 @@ Get an existing template (it may be pulled out of the database, etc). + sub get { + my Debconf::Template $this=shift; + my $template=shift; ++ return unless defined $template && length $template; + return $template{$template} if exists $template{$template}; + if ($Debconf::Db::templates->exists($template)) { + $this = fields::new($this); diff --git a/helpers/DATA/debconf/patch_changes/001-add_DbDriver_Cache_undef_guard.patch b/helpers/DATA/debconf/patch_changes/001-add_DbDriver_Cache_undef_guard.patch new file mode 100644 index 0000000..8f3b8ba --- /dev/null +++ b/helpers/DATA/debconf/patch_changes/001-add_DbDriver_Cache_undef_guard.patch @@ -0,0 +1,12 @@ +diff --git a/Debconf/DbDriver/Cache.pm b/Debconf/DbDriver/Cache.pm +index 1b0e36fb..2e80d3bb 100644 +--- a/Debconf/DbDriver/Cache.pm ++++ b/Debconf/DbDriver/Cache.pm +@@ -122,6 +122,7 @@ undef -- marked as deleted in the cache, so does not exist + sub exists { + my $this=shift; + my $item=shift; ++ return 0 unless defined $item && length $item; + + return $this->{cache}->{$item} + if exists $this->{cache}->{$item}; diff --git a/helpers/DATA/debian-installer/001_remove-proposed-updates.patch b/helpers/DATA/debian-installer/001_remove-proposed-updates.patch new file mode 100644 index 0000000..4dc8a0d --- /dev/null +++ b/helpers/DATA/debian-installer/001_remove-proposed-updates.patch @@ -0,0 +1,25 @@ +diff --git a/build/Makefile b/build/Makefile +index 0aeccf2a..17cf6a43 100644 +--- a/build/Makefile ++++ b/build/Makefile +@@ -673,7 +673,7 @@ sources.list.udeb: + 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 \ +diff --git a/debian/rules b/debian/rules +index 371e8b57..6caa6641 100755 +--- a/debian/rules ++++ b/debian/rules +@@ -13,7 +13,6 @@ TRANSSTATUS= + BOOTMENU_BEEP=n + else + USE_UDEBS_FROM=trixie +-USE_PROPOSED_UPDATES=1 + TRANSSTATUS=translation-status + BOOTMENU_BEEP=y + endif diff --git a/helpers/DATA/debian-installer/chmod_755_ld-linux2.patch b/helpers/DATA/debian-installer/002_chmod_755_ld-linux2.patch similarity index 80% rename from helpers/DATA/debian-installer/chmod_755_ld-linux2.patch rename to helpers/DATA/debian-installer/002_chmod_755_ld-linux2.patch index d1f7ed7..763e442 100644 --- a/helpers/DATA/debian-installer/chmod_755_ld-linux2.patch +++ b/helpers/DATA/debian-installer/002_chmod_755_ld-linux2.patch @@ -1,17 +1,18 @@ diff --git a/build/Makefile b/build/Makefile -index c073a32..cace03d 100644 +index d45f982c..353e516e 100644 --- a/build/Makefile +++ b/build/Makefile -@@ -431,6 +431,12 @@ endif +@@ -458,6 +458,13 @@ ifneq (,$(filter $(ARCH),amd64 arm64 i386)) + fi + endif - ifeq ($(DEB_HOST_ARCH_OS),linux) - ifdef KERNELVERSION +ifneq ($(DEB_HOST_ARCH),ppc64el) + find $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ -name "ld-linux*" | xargs -r chmod 755 +endif +ifeq ($(DEB_HOST_ARCH),ppc64el) + chmod 755 $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ld*.so* +endif ++ # Set up modules.dep, ensure there is at least one standard dir (kernel # in this case), so depmod will use its prune list for archs with no # modules. diff --git a/helpers/DATA/debian-installer/medium_supported.patch b/helpers/DATA/debian-installer/003_medium_supported.patch similarity index 99% rename from helpers/DATA/debian-installer/medium_supported.patch rename to helpers/DATA/debian-installer/003_medium_supported.patch index 735a84a..8393a24 100644 --- a/helpers/DATA/debian-installer/medium_supported.patch +++ b/helpers/DATA/debian-installer/003_medium_supported.patch @@ -11,7 +11,7 @@ diff -Nru debian-installer-20210731+deb11u8+11.0trisquel13/build/config/arm64.cf --- debian-installer-20210731+deb11u8+11.0trisquel13/build/config/arm64.cfg 2023-05-12 13:48:56.073639701 -0600 +++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/arm64.cfg 2023-05-12 14:00:45.351718688 -0600 @@ -1,4 +1,4 @@ --MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot +-MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot hd-media +MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot KERNELMAJOR = 2.6 diff --git a/helpers/DATA/debian-installer/004_set-kernel-on-control-file.patch b/helpers/DATA/debian-installer/004_set-kernel-on-control-file.patch new file mode 100644 index 0000000..c1471bb --- /dev/null +++ b/helpers/DATA/debian-installer/004_set-kernel-on-control-file.patch @@ -0,0 +1,15 @@ +diff --git a/debian/control b/debian/control +index c56adcf9..d45d50c4 100644 +--- a/debian/control ++++ b/debian/control +@@ -168,8 +168,8 @@ Build-Depends: + # when creating ISO hybrid images on amd64 and i386 systems. + fontconfig, + # Used to generate a font cache through fc-cache, for gtk flavours +- linux-image-@@DEBIAN_KERNEL@@-amd64 [amd64], +- linux-image-@@DEBIAN_KERNEL@@-arm64 [arm64], ++ linux-image-@@DEBIAN_KERNEL@@-generic [amd64], ++ linux-image-@@DEBIAN_KERNEL@@-generic [arm64], + # Ship some more drm modules, without waiting on fb-modules (#1036019) + + Package: debian-installer diff --git a/helpers/DATA/debian-installer/006_prevent_error_unversioned_kernel_usage.patch b/helpers/DATA/debian-installer/006_prevent_error_unversioned_kernel_usage.patch new file mode 100644 index 0000000..d24378b --- /dev/null +++ b/helpers/DATA/debian-installer/006_prevent_error_unversioned_kernel_usage.patch @@ -0,0 +1,17 @@ +diff --git a/build/Makefile b/build/Makefile +index 8a4717cb..c1c1c239 100644 +--- a/build/Makefile ++++ b/build/Makefile +@@ -428,8 +428,12 @@ ifeq ($(filter $(DEB_HOST_ARCH),mips64el hppa sh4),) + # though (see KERNELNAME variable). + VMLINUXZ=`find $(TREE)/boot/ -name 'vmlinu[xz]-*'`; \ + if [ `echo "$$VMLINUXZ" | wc -w` != 1 ]; then \ ++ if [ ! -e $(TREE)/boot/vmlinuz ] && [ ! -e $(TREE)/boot/vmlinux ]; then \ + echo "E: unexpected number of vmlinu[xz]-* in tree: $$VMLINUXZ (expected: 1)" >&2; \ + exit 1; \ ++ else \ ++ echo "W: skipping unversioning; vmlinuz/vmlinux already exists" >&2; \ ++ fi; \ + else \ + echo "I: unversioning vmlinu[xz]" >&2; \ + mv -v $$VMLINUXZ $(TREE)/boot/`basename $$VMLINUXZ|sed 's/-.*//'`; \ diff --git a/helpers/DATA/debian-installer/di_focal/1422_1421.diff b/helpers/DATA/debian-installer/di_focal/1422_1421.diff index f62a271..9176f78 100644 --- a/helpers/DATA/debian-installer/di_focal/1422_1421.diff +++ b/helpers/DATA/debian-installer/di_focal/1422_1421.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' ---- build/Makefile 2010-11-05 16:34:29 +0000 -+++ build/Makefile 2011-03-01 11:42:39 +0000 +--- a/build/Makefile 2010-11-05 16:34:29 +0000 ++++ b/build/Makefile 2011-03-01 11:42:39 +0000 @@ -294,6 +294,7 @@ rm -rf $(TREE) # Set up the basic files [u]dpkg needs. @@ -19,8 +19,8 @@ ifdef EXTRADRIVERS #=== modified file 'debian/changelog' -#--- debian/changelog 2011-03-01 10:36:50 +0000 -#+++ debian/changelog 2011-03-01 11:42:39 +0000 +#--- a/debian/changelog 2011-03-01 10:36:50 +0000 +#+++ b/debian/changelog 2011-03-01 11:42:39 +0000 #@@ -1,3 +1,10 @@ #+debian-installer (20101020ubuntu21) UNRELEASED; urgency=low #+ diff --git a/helpers/DATA/debian-installer/di_focal/1677_1676.diff b/helpers/DATA/debian-installer/di_focal/1677_1676.diff index 8a497ec..bb0afae 100644 --- a/helpers/DATA/debian-installer/di_focal/1677_1676.diff +++ b/helpers/DATA/debian-installer/di_focal/1677_1676.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' -#--- build/Makefile 2011-12-15 15:35:38 +0000 -#+++ build/Makefile 2012-04-18 05:24:59 +0000 +#--- a/build/Makefile 2011-12-15 15:35:38 +0000 +#+++ b/build/Makefile 2012-04-18 05:24:59 +0000 #@@ -493,6 +493,12 @@ # `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | \ # grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.so'` @@ -16,8 +16,8 @@ # # have the ld.so symlink as the interpreter. Ideally mklibs should # === modified file 'build/config/armhf.cfg' ---- build/config/armhf.cfg 2012-04-11 08:52:18 +0000 -+++ build/config/armhf.cfg 2012-04-18 05:24:59 +0000 +--- a/build/config/armhf.cfg 2012-04-11 08:52:18 +0000 ++++ b/build/config/armhf.cfg 2012-04-18 05:24:59 +0000 @@ -1,5 +1,7 @@ SUBARCH_SUPPORTED = omap omap4 armadaxp @@ -28,8 +28,8 @@ KERNEL_FLAVOUR = di #=== modified file 'debian/changelog' -#--- debian/changelog 2012-04-13 13:14:35 +0000 -#+++ debian/changelog 2012-04-18 05:24:59 +0000 +#--- a/debian/changelog 2012-04-13 13:14:35 +0000 +#+++ b/debian/changelog 2012-04-18 05:24:59 +0000 #@@ -1,3 +1,12 @@ #+debian-installer (20101020ubuntu134) precise; urgency=low #+ diff --git a/helpers/DATA/debian-installer/di_focal/2057_2056.diff b/helpers/DATA/debian-installer/di_focal/2057_2056.diff index 9e81bc2..3bbb2d0 100644 --- a/helpers/DATA/debian-installer/di_focal/2057_2056.diff +++ b/helpers/DATA/debian-installer/di_focal/2057_2056.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' ---- build/Makefile 2015-01-22 12:10:03 +0000 -+++ build/Makefile 2015-03-17 21:09:21 +0000 +--- a/build/Makefile 2015-01-22 12:10:03 +0000 ++++ b/build/Makefile 2015-03-17 21:09:21 +0000 @@ -414,6 +414,14 @@ # These files are used to build special kernel images for some @@ -46,8 +46,8 @@ # install -m 644 -D $(TEMP_BOOT)$(GZIPPED) $@ #=== added file 'build/boot/README.device-tree' -#--- build/boot/README.device-tree 1970-01-01 00:00:00 +0000 -#+++ build/boot/README.device-tree 2015-02-13 23:50:29 +0000 +#--- a/build/boot/README.device-tree 1970-01-01 00:00:00 +0000 +#+++ b/build/boot/README.device-tree 2015-02-13 23:50:29 +0000 #@@ -0,0 +1,2 @@ #+This directory contains all of the device-tree files shipped by the Ubuntu #+kernel package. @@ -63,8 +63,8 @@ #+ #=== modified file 'build/config/arm64.cfg' -#--- build/config/arm64.cfg 2015-05-09 07:52:07 +0000 -#+++ build/config/arm64.cfg 2015-05-12 16:01:14 +0000 +#--- a/build/config/arm64.cfg 2015-05-09 07:52:07 +0000 +#+++ b/build/config/arm64.cfg 2015-05-12 16:01:14 +0000 #@@ -1,14 +1,98 @@ #-SUBARCH_SUPPORTED = generic #- @@ -173,16 +173,16 @@ === added directory 'build/config/arm64/cdrom' === added file 'build/config/arm64/cdrom.cfg' -#--- build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000 -#+++ build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000 +#--- a/build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,3 @@ #+FLAVOUR_SUPPORTED = grub #+ #+MEDIA_TYPE = CD-ROM === added file 'build/config/arm64/cdrom/grub.cfg' -#--- build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000 -#+++ build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000 +#--- a/build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,8 @@ #+MEDIA_TYPE = CD-ROM #+TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO) @@ -194,8 +194,8 @@ #+TYPE = cdrom/grub #=== added file 'build/config/arm64/device-tree.cfg' -#--- build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000 -#+++ build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000 +#--- a/build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000 #@@ -0,0 +1,4 @@ #+MEDIA_TYPE = device-tree blobs #+ @@ -203,8 +203,8 @@ #+EXTRANAME = $(MEDIUM)/ #=== removed file 'build/config/arm64/generic.cfg' -#--- build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000 -#+++ build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000 +#--- a/build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000 +#+++ b/build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000 #@@ -1,7 +0,0 @@ #-MEDIUM_SUPPORTED = netboot #- @@ -215,8 +215,8 @@ #-VERSIONED_SYSTEM_MAP = #=== removed file 'build/config/arm64/generic/netboot.cfg' -#--- build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000 -#+++ build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000 +#--- a/build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000 +#+++ b/build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000 #@@ -1,33 +0,0 @@ #-MEDIA_TYPE = netboot image #-TARGET = $(TEMP_INITRD) $(TEMP_KERNEL) all-generic @@ -253,8 +253,8 @@ #-all-generic: generic xgene === added file 'build/config/arm64/netboot.cfg' -#--- build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000 -#+++ build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000 +#--- a/build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000 #@@ -0,0 +1,37 @@ #+MEDIA_TYPE = netboot image #+ @@ -295,8 +295,8 @@ #+ mkimage -A arm -O linux -T ramdisk -C none -a 0x0 -e 0x0 -n "debian-installer ramdisk" -d $(TEMP_INITRD) $(XU_INSTALL_PATH)/uInitrd #=== modified file 'build/config/dir' -#--- build/config/dir 2010-08-25 22:06:28 +0000 -#+++ build/config/dir 2015-02-13 23:50:29 +0000 +#--- a/build/config/dir 2010-08-25 22:06:28 +0000 +#+++ b/build/config/dir 2015-02-13 23:50:29 +0000 #@@ -62,6 +62,7 @@ # # The files we may want to have in dest/ # INITRD = $(SOME_DEST)/$(EXTRANAME)initrd.gz @@ -315,8 +315,8 @@ # TEMP_MINIISO = $(TEMP)/mini.iso #=== added file 'build/pkg-lists/cdrom/arm64.cfg' -#--- build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000 -#+++ build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000 +#--- a/build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,11 @@ #+fat-modules-${kernel:Version} #+storage-core-modules-${kernel:Version} @@ -332,15 +332,15 @@ #=== added directory 'build/pkg-lists/cdrom/grub' #=== added file 'build/pkg-lists/cdrom/grub/arm64.cfg' -#--- build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000 -#+++ build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000 +#--- a/build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000 #@@ -0,0 +1,2 @@ #+# This image is based on the regular cdrom image, and gets all the packages #+# from that one too. #=== added file 'build/pkg-lists/cdrom/grub/common' -#--- build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000 -#+++ build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000 +#--- a/build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000 +#+++ b/build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000 #@@ -0,0 +1,3 @@ #+# This image is based on the regular cdrom image, and gets all the packages #+# from that one too. @@ -348,20 +348,20 @@ === added directory 'build/pkg-lists/device-tree' #=== added file 'build/pkg-lists/device-tree/arm64.cfg' -#--- build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000 -#+++ build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000 +#--- a/build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000 +#+++ b/build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000 #@@ -0,0 +1,1 @@ #+# Empty === added file 'build/pkg-lists/device-tree/common' -#--- build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000 -#+++ build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000 +#--- a/build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000 +#+++ b/build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000 #@@ -0,0 +1,1 @@ #+#include "kernel" #=== modified file 'build/util/efi-image' -#--- build/util/efi-image 2012-10-15 20:03:40 +0000 -#+++ build/util/efi-image 2015-02-24 04:58:57 +0000 +#--- a/build/util/efi-image 2012-10-15 20:03:40 +0000 +#+++ b/build/util/efi-image 2015-02-24 04:58:57 +0000 #@@ -22,13 +22,14 @@ # # it exists. # @@ -392,8 +392,8 @@ # size=$(( $(stat -c %s "$workdir/boot$efi_name.efi") / 1024 )) #=== added file 'build/util/grub-gencfg' -#--- build/util/grub-gencfg 1970-01-01 00:00:00 +0000 -#+++ build/util/grub-gencfg 2015-03-23 23:27:39 +0000 +#--- a/build/util/grub-gencfg 1970-01-01 00:00:00 +0000 +#+++ b/build/util/grub-gencfg 2015-03-23 23:27:39 +0000 #@@ -0,0 +1,210 @@ #+#!/usr/bin/perl #+ @@ -607,8 +607,8 @@ #+menuentry('Install with speech synthesis', Graphical => $graphical, Speach => 1); #=== modified file 'debian/changelog' -#--- debian/changelog 2015-05-09 07:52:07 +0000 -#+++ debian/changelog 2015-05-14 14:24:09 +0000 +#--- a/debian/changelog 2015-05-09 07:52:07 +0000 +#+++ b/debian/changelog 2015-05-14 14:24:09 +0000 #@@ -1,3 +1,25 @@ #+debian-installer (20101020ubuntu379) UNRELEASED; urgency=medium #+ @@ -637,8 +637,8 @@ # * Move master kernels to 3.19.0-17. #=== modified file 'debian/control' -#--- debian/control 2014-10-30 08:19:25 +0000 -#+++ debian/control 2015-04-03 21:16:40 +0000 +#--- a/debian/control 2014-10-30 08:19:25 +0000 +#+++ b/debian/control 2015-04-03 21:16:40 +0000 #@@ -9,7 +9,7 @@ # Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu # Build-Conflicts: libnewt-pic [mipsel] diff --git a/helpers/DATA/debian-installer/di_focal/2144_2143.diff b/helpers/DATA/debian-installer/di_focal/2144_2143.diff index 3ce1be3..5bc9f23 100644 --- a/helpers/DATA/debian-installer/di_focal/2144_2143.diff +++ b/helpers/DATA/debian-installer/di_focal/2144_2143.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' -#--- build/Makefile 2015-12-09 17:32:28 +0000 -#+++ build/Makefile 2016-04-16 19:45:21 +0000 +#--- a/build/Makefile 2015-12-09 17:32:28 +0000 +#+++ b/build/Makefile 2016-04-16 19:45:21 +0000 #@@ -525,12 +525,6 @@ # `find $(TEMP) -type f -a \( -perm /0111 -o -name '*.so' -o -name '*.so.*' \) | \ # grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.so'` @@ -16,8 +16,8 @@ # # have the ld.so symlink as the interpreter. Ideally mklibs should # #=== modified file 'build/config/amd64.cfg' -#--- build/config/amd64.cfg 2016-04-08 14:58:47 +0000 -#+++ build/config/amd64.cfg 2016-04-16 19:45:21 +0000 +#--- a/build/config/amd64.cfg 2016-04-08 14:58:47 +0000 +#+++ b/build/config/amd64.cfg 2016-04-16 19:45:21 +0000 #@@ -1,8 +1,6 @@ # MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-xen hd-media # netboot-gtk # MEDIUM_SUPPORTED_EXTRA = monolithic @@ -29,8 +29,8 @@ # KERNELVERSION = $(BASEVERSION)-generic #=== modified file 'build/config/amd64/netboot.cfg' -#--- build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000 -#+++ build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000 +#--- a/build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000 +#+++ b/build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000 #@@ -1,7 +1,7 @@ # MEDIA_TYPE = netboot image # @@ -42,8 +42,8 @@ === modified file 'build/config/armhf.cfg' ---- build/config/armhf.cfg 2016-04-08 14:58:47 +0000 -+++ build/config/armhf.cfg 2016-04-16 19:45:21 +0000 +--- a/build/config/armhf.cfg 2016-04-08 14:58:47 +0000 ++++ b/build/config/armhf.cfg 2016-04-16 19:45:21 +0000 @@ -1,6 +1,6 @@ SUBARCH_SUPPORTED = generic-lpae generic @@ -54,8 +54,8 @@ KERNELVERSION = 4.4.0-18 #=== modified file 'build/config/common' -#--- build/config/common 2015-11-12 19:14:48 +0000 -#+++ build/config/common 2016-04-16 19:45:21 +0000 +#--- a/build/config/common 2015-11-12 19:14:48 +0000 +#+++ b/build/config/common 2016-04-16 19:45:21 +0000 #@@ -24,7 +24,7 @@ # # # The library reducer to use. Set to mklibs (to build with library reduction) @@ -67,8 +67,8 @@ # # "normal" sources.list. However, you can specify a mirror here to override #=== modified file 'build/config/i386/netboot.cfg' -#--- build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000 -#+++ build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000 +#--- a/build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000 +#+++ b/build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000 #@@ -3,7 +3,7 @@ # MEDIA_TYPE = netboot image # @@ -80,8 +80,8 @@ #=== modified file 'build/config/powerpc/powerpc/netboot.cfg' -#--- build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000 -#+++ build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000 +#--- a/build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000 +#+++ b/build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000 #@@ -1,7 +1,7 @@ # MEDIA_TYPE = netboot image # @@ -93,8 +93,8 @@ #=== modified file 'build/config/ppc64el.cfg' -#--- build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000 -#+++ build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000 +#--- a/build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000 +#+++ b/build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000 #@@ -1,7 +1,5 @@ # MEDIUM_SUPPORTED = netboot cdrom # @@ -105,8 +105,8 @@ # KERNELVERSION = $(BASEVERSION)-generic #=== modified file 'build/pkg-lists/base' -#--- build/pkg-lists/base 2015-09-22 18:31:39 +0000 -#+++ build/pkg-lists/base 2016-04-16 19:45:21 +0000 +#--- a/build/pkg-lists/base 2015-09-22 18:31:39 +0000 +#+++ b/build/pkg-lists/base 2016-04-16 19:45:21 +0000 #@@ -10,7 +10,6 @@ # di-utils-shell # libdebconfclient0-udeb @@ -117,8 +117,8 @@ # main-menu #=== modified file 'build/pkg-lists/exclude' -#--- build/pkg-lists/exclude 2010-05-24 15:01:07 +0000 -#+++ build/pkg-lists/exclude 2016-04-16 19:45:21 +0000 +#--- a/build/pkg-lists/exclude 2010-05-24 15:01:07 +0000 +#+++ b/build/pkg-lists/exclude 2016-04-16 19:45:21 +0000 #@@ -2,15 +2,6 @@ # # they are currently provided not in udeb form but by the library # # reduction step. @@ -137,8 +137,8 @@ # # and newt #=== modified file 'build/pkg-lists/gtk-common' -#--- build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000 -#+++ build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000 +#--- a/build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000 +#+++ b/build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000 #@@ -1,5 +1,4 @@ # # udebs needed for graphical installer #-libnss-files-udeb @@ -147,8 +147,8 @@ # cdebconf-gtk-terminal #=== modified file 'build/pkg-lists/network-console' -#--- build/pkg-lists/network-console 2004-06-29 08:17:34 +0000 -#+++ build/pkg-lists/network-console 2016-04-16 19:45:21 +0000 +#--- a/build/pkg-lists/network-console 2004-06-29 08:17:34 +0000 +#+++ b/build/pkg-lists/network-console 2016-04-16 19:45:21 +0000 #@@ -1,4 +1,3 @@ # openssh-server-udeb #-libnss-files-udeb @@ -156,8 +156,8 @@ #=== modified file 'debian/changelog' -#--- debian/changelog 2016-04-13 12:07:03 +0000 -#+++ debian/changelog 2016-04-16 19:45:21 +0000 +#--- a/debian/changelog 2016-04-13 12:07:03 +0000 +#+++ b/debian/changelog 2016-04-16 19:45:21 +0000 #@@ -1,3 +1,16 @@ #+debian-installer (20101020ubuntu448) xenial; urgency=medium #+ @@ -177,8 +177,8 @@ # * Rebuild with updated udebs for s390x. === modified file 'debian/control' -#--- debian/control 2016-02-19 17:00:28 +0000 -#+++ debian/control 2016-04-16 19:45:21 +0000 +#--- a/debian/control 2016-02-19 17:00:28 +0000 +#+++ b/debian/control 2016-04-16 19:45:21 +0000 #@@ -9,7 +9,7 @@ # Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu # Build-Conflicts: libnewt-pic [mipsel] @@ -207,8 +207,8 @@ # # - genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x] # # For making mini isos. ##Ark74's fix ---- debian/control 2023-05-10 08:36:56.311243556 -0600 -+++ debian/control 2023-05-10 12:00:07.617639516 -0600 +--- a/debian/control 2023-05-10 08:36:56.311243556 -0600 ++++ b/debian/control 2023-05-10 12:00:07.617639516 -0600 @@ -45,6 +45,7 @@ # them. # Lintian: Yes, we know it's essential. We prefer not to diff --git a/helpers/DATA/debian-installer/di_focal/2273_2272.diff b/helpers/DATA/debian-installer/di_focal/2273_2272.diff index 5012ced..9cc5b24 100644 --- a/helpers/DATA/debian-installer/di_focal/2273_2272.diff +++ b/helpers/DATA/debian-installer/di_focal/2273_2272.diff @@ -1,6 +1,6 @@ === modified file 'build/Makefile' ---- build/Makefile 2018-02-15 11:44:41 +0000 -+++ build/Makefile 2018-07-22 10:55:51 +0000 +--- a/build/Makefile 2018-02-15 11:44:41 +0000 ++++ b/build/Makefile 2018-07-22 10:55:51 +0000 @@ -782,6 +782,8 @@ update-manifest $@ $(MANIFEST-BOOT) $(UDEB_LISTS) @@ -12,8 +12,8 @@ #=== modified file 'debian/changelog' -#--- debian/changelog 2018-06-14 10:36:23 +0000 -#+++ debian/changelog 2018-07-22 10:55:51 +0000 +#--- a/debian/changelog 2018-06-14 10:36:23 +0000 +#+++ b/debian/changelog 2018-07-22 10:55:51 +0000 #@@ -1,3 +1,9 @@ #+debian-installer (20101020ubuntu547) UNRELEASED; urgency=medium #+ diff --git a/helpers/DATA/debian-installer/patch_changes/007-remove_graphical_options_from_netinstall.patch b/helpers/DATA/debian-installer/patch_changes/007-remove_graphical_options_from_netinstall.patch new file mode 100644 index 0000000..895e9a1 --- /dev/null +++ b/helpers/DATA/debian-installer/patch_changes/007-remove_graphical_options_from_netinstall.patch @@ -0,0 +1,59 @@ +diff --git a/build/util/grub-gencfg b/build/util/grub-gencfg +index 6b38cd88..f5df37a5 100755 +--- a/build/util/grub-gencfg ++++ b/build/util/grub-gencfg +@@ -208,54 +208,18 @@ menuentry("Install"); + menuentry("Graphical install", Graphical => 1); + + start_submenu("Advanced options ...", Hotkey => 'a'); { +- menuentry("... Graphical expert install", Graphical => 1, Expert => 1); +- menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1); +- menuentry("... Graphical automated install", Graphical => 1, Auto => 1); + menuentry("... Expert install", Expert => 1); + menuentry("... Rescue mode", Rescue => 1); + menuentry("... Automated install", Auto => 1); + menuentry("... Expert install with speech synthesis", Expert => 1, Speech => 1, Hotkey => 'x'); + menuentry("... Rescue mode with speech synthesis", Rescue => 1, Speech => 1, Hotkey => 'r'); + menuentry("... Automated install with speech synthesis", Auto => 1, Speech => 1, Hotkey => 'a'); +- +- start_submenu("... Desktop environment menu ..."); { +- +- foreach ( ["GNOME", "gnome"], ["KDE Plasma", "kde"], ["LXDE", "lxde"] ) { +- my ($desktop,$opt) = @{$_}; +- +- my $one = sub { my ($title, %xargs) = @_; +- $xargs{Desktop} = $opt; +- menuentry($title, %xargs); +- }; +- start_submenu("... $desktop desktop boot menu ..."); { +- $one->("... Install"); +- $one->("... Graphical install", Graphical => 1); +- +- start_submenu("... $desktop advanced options ..."); { +- $one->("... Graphical expert install", Graphical => 1, Expert => 1); +- $one->("... Graphical automated install", Graphical => 1, Auto => 1); +- $one->("... Expert install", Expert => 1); +- $one->("... Automated install", Auto => 1); +- $one->("... Expert install with speech synthesis", Expert => 1, Speech => 1, Hotkey => 'x'); +- $one->("... Automated install with speech synthesis", Auto => 1, Speech => 1, Hotkey => 'a'); +- } end_submenu(); # $desktop advanced +- +- $one->("... Install with speech synthesis", Graphical => 1, Speech => 1, Hotkey => 's'); +- $one->("... 32 bit speech install", ThirtyTwo => 1, Graphical => 1, Speech => 1) +- if $thirtytwo; +- } end_submenu(); # $desktop submenu +- } # Desktop loop +- } end_submenu(); # Desktop submenu + } end_submenu(); # Advanced + + start_submenu("Accessible dark contrast installer menu ...", Hotkey => 'd', Dark => 1); { + menuentry("... Install", Dark => 1); +- menuentry("... Graphical install", Graphical => 1, Dark => 1); + + start_submenu("... Advanced options ...", Hotkey => 'a', Dark => 1); { +- menuentry("... Graphical expert install", Graphical => 1, Expert => 1, Dark => 1); +- menuentry("... Graphical rescue mode", Graphical => 1, Rescue => 1, Dark => 1); +- menuentry("... Graphical automated install", Graphical => 1, Auto => 1, Dark => 1); + menuentry("... Expert install", Expert => 1, Dark => 1); + menuentry("... Rescue mode", Rescue => 1, Dark => 1); + menuentry("... Automated install", Auto => 1, Dark => 1); diff --git a/helpers/DATA/debian-installer/patch_changes/008-re-enable_dpkg_force-overwrite.patch b/helpers/DATA/debian-installer/patch_changes/008-re-enable_dpkg_force-overwrite.patch new file mode 100644 index 0000000..872c735 --- /dev/null +++ b/helpers/DATA/debian-installer/patch_changes/008-re-enable_dpkg_force-overwrite.patch @@ -0,0 +1,16 @@ +We'll remove the force-overwrite flag once we conclude the riscv rework on the kernel and new arch implementation. +-- ark74 - Mon, 07 Jul 2025 23:27:26 -0600 + +diff --git a/build/config/common b/build/config/common +index 6e58ca8f..5953b26f 100644 +--- a/build/config/common ++++ b/build/config/common +@@ -41,7 +41,7 @@ PRESEED = + # Options to pass to dpkg when it is unpacking the udebs to create the + # image. None should be needed, but --force-overwrite might need to be + # enabled from time to time if udebs have conflicting files. +-DPKG_UNPACK_OPTIONS = ++DPKG_UNPACK_OPTIONS = --force-overwrite + + # The codename of the Trisquel release that should be installed by default. + TRISQUEL_RELEASE = ecne diff --git a/helpers/DATA/debian-installer/remove-proposed-updates.patch b/helpers/DATA/debian-installer/remove-proposed-updates.patch deleted file mode 100644 index b6a8b96..0000000 --- a/helpers/DATA/debian-installer/remove-proposed-updates.patch +++ /dev/null @@ -1,62 +0,0 @@ -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/depthcharge-tools/patch_changes/001_prevent-error-when-using-versionless-vmlinuz-in-netinstall.patch b/helpers/DATA/depthcharge-tools/patch_changes/001_prevent-error-when-using-versionless-vmlinuz-in-netinstall.patch new file mode 100644 index 0000000..56492c6 --- /dev/null +++ b/helpers/DATA/depthcharge-tools/patch_changes/001_prevent-error-when-using-versionless-vmlinuz-in-netinstall.patch @@ -0,0 +1,39 @@ +diff --git a/depthcharge_tools/depthchargectl/_build.py b/depthcharge_tools/depthchargectl/_build.py +index a605b83c..746e8a51 100644 +--- a/depthcharge_tools/depthchargectl/_build.py ++++ b/depthcharge_tools/depthchargectl/_build.py +@@ -157,11 +157,12 @@ class depthchargectl_build( + @Argument("--kernel-release", nargs=1) + def kernel_release(self, name=None): + """Release name for the kernel used in image name""" +- if name is None and self.kernel_version is not None: +- if self.kernel == self.kernel_version.kernel: +- name = self.kernel_version.release +- +- return name ++ # Trisquel customization: skip autodetection and honor empty values. ++ if name is not None: ++ return name ++ if self.kernel_version is not None and self.kernel == self.kernel_version.kernel: ++ return self.kernel_version.release ++ return "" + + @custom_kernel_options.add + @Argument("--kernel", nargs=1) +diff --git a/depthcharge_tools/depthchargectl/_build.py b/depthcharge_tools/depthchargectl/_build.py +index 746e8a51..45e0c02c 100644 +--- a/depthcharge_tools/depthchargectl/_build.py ++++ b/depthcharge_tools/depthchargectl/_build.py +@@ -82,6 +82,12 @@ class depthchargectl_build( + @Argument + def kernel_version(self, kernel_version=None): + """Installed kernel version to build an image for.""" ++ ++ # Trisquel customization: If --kernel is set but --kernel-version is ++ # not, skip autodetection and return None early ++ if kernel_version is None and self.kernel is not None: ++ return None ++ + if isinstance(kernel_version, KernelEntry): + return kernel_version + diff --git a/helpers/DATA/devscripts/fix_script_reproducible-check.patch b/helpers/DATA/devscripts/fix_script_reproducible-check.patch new file mode 100644 index 0000000..6f6a57e --- /dev/null +++ b/helpers/DATA/devscripts/fix_script_reproducible-check.patch @@ -0,0 +1,17 @@ +--- a/scripts/reproducible-check 2023-04-02 17:44:26+00:00 ++++ b/scripts/reproducible-check 2024-06-21 06:33:30.224688+00:00 +@@ -198,13 +198,13 @@ + + # We may have installed a binNMU version locally so we need to + # strip these off when looking up against the JSON of results. + version = re.sub(r"\+b\d+$", "", pkg_ver.version) + +- result[ +- (pkg.shortname, pkg_ver.architecture, version) +- ] = pkg_ver.source_name ++ result[(pkg.shortname, pkg_ver.architecture, version)] = ( ++ pkg_ver.source_name ++ ) + + self.log.debug("Parsed %d installed binary packages", len(result)) + diff --git a/helpers/DATA/dia/patch_changes/000-apply_current_dia_mr_114.patch b/helpers/DATA/dia/patch_changes/000-apply_current_dia_mr_114.patch new file mode 100644 index 0000000..80b30cf --- /dev/null +++ b/helpers/DATA/dia/patch_changes/000-apply_current_dia_mr_114.patch @@ -0,0 +1,1324 @@ +From 6d7a3b627566ff2201292a45ed35a5ab3e425c13 Mon Sep 17 00:00:00 2001 +From: Duncan McIntosh +Date: Sun, 15 Oct 2023 22:26:17 -0400 +Subject: [PATCH 1/4] objects: disable Tab in multi-line entry widgets + +This becomes a 'black hole' for focus, making it hard to navigate by +keyboard. This is both annoying, and also an accessibility problem. +--- + lib/prop_text.c | 1 + + objects/UML/class_attributes_dialog.c | 1 + + objects/UML/class_dialog.c | 1 + + objects/UML/class_operations_dialog.c | 2 ++ + 4 files changed, 5 insertions(+) + +diff --git a/lib/prop_text.c b/lib/prop_text.c +index 4ff98f60d..8e1e9fcf7 100644 +--- a/lib/prop_text.c ++++ b/lib/prop_text.c +@@ -125,6 +125,7 @@ multistringprop_get_widget(StringProperty *prop, PropDialog *dialog) + GtkWidget *ret = gtk_text_view_new(); + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(ret)); + GtkWidget *frame = gtk_frame_new(NULL); ++ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (ret), FALSE); + gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); + gtk_container_add(GTK_CONTAINER(frame), ret); + g_signal_connect(G_OBJECT(ret), "key-release-event", +diff --git a/objects/UML/class_attributes_dialog.c b/objects/UML/class_attributes_dialog.c +index 2722a2a03..085624e31 100644 +--- a/objects/UML/class_attributes_dialog.c ++++ b/objects/UML/class_attributes_dialog.c +@@ -729,6 +729,7 @@ _attributes_create_page (GtkNotebook *notebook, UMLClass *umlclass) + gtk_container_add (GTK_CONTAINER (scrolledwindow), entry); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (entry), TRUE); ++ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); + gtk_widget_show (entry); + #if 0 /* while the GtkEntry has a "activate" signal, GtkTextView does not. + * Maybe we should connect to "set-focus-child" instead? +diff --git a/objects/UML/class_dialog.c b/objects/UML/class_dialog.c +index 8867ae9ac..163cc2949 100644 +--- a/objects/UML/class_dialog.c ++++ b/objects/UML/class_dialog.c +@@ -382,6 +382,7 @@ class_create_page(GtkNotebook *notebook, UMLClass *umlclass) + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow), + GTK_SHADOW_IN); + entry = gtk_text_view_new (); ++ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); + prop_dialog->comment = GTK_TEXT_VIEW(entry); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); + +diff --git a/objects/UML/class_operations_dialog.c b/objects/UML/class_operations_dialog.c +index a530337a9..936a8b575 100644 +--- a/objects/UML/class_operations_dialog.c ++++ b/objects/UML/class_operations_dialog.c +@@ -982,6 +982,7 @@ operations_data_create_hbox (UMLClass *umlclass) + gtk_container_add (GTK_CONTAINER (scrolledwindow), entry); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (entry),TRUE); ++ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); + + + gtk_grid_attach (GTK_GRID (grid), label, 4, 0, 1, 1); +@@ -1340,6 +1341,7 @@ operations_parameters_data_create_vbox (UMLClass *umlclass) + gtk_container_add (GTK_CONTAINER (scrolledwindow), entry); + gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (entry), GTK_WRAP_WORD); + gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (entry),TRUE); ++ gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (entry), FALSE); + + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_grid_attach (GTK_GRID (grid), label, 2, 1, 1, 1); +-- +GitLab + + +From b5dc904ed58ea026898fbc7bf6940de97a6e4e15 Mon Sep 17 00:00:00 2001 +From: Duncan McIntosh +Date: Mon, 16 Oct 2023 15:34:23 -0400 +Subject: [PATCH 2/4] font: don't store the height internally + +We now solely rely on the PangoFontDescription, which is more flexible and +less prone to mistakes. +--- + lib/font.c | 85 ++++++++++++++++++++++---------------------------- + lib/font.h | 2 ++ + lib/libdia.def | 1 + + 3 files changed, 41 insertions(+), 47 deletions(-) + +diff --git a/lib/font.c b/lib/font.c +index 1a321c462..6dec80bb1 100644 +--- a/lib/font.c ++++ b/lib/font.c +@@ -39,6 +39,7 @@ + #include "font.h" + #include "message.h" + #include "textline.h" ++#include "units.h" + + static PangoContext *pango_context = NULL; + +@@ -53,13 +54,6 @@ struct _DiaFont { + PangoFontDescription *pfd; + /* mutable */ char *legacy_name; + +- /* there is a difference between Pango's font size and Dia's font height */ +- /* Calculated font_size is to make 'font_height = ascent + descent */ +- /* The font_height is used as default line height, there used to be a hard-coded size = 0.7 * height */ +- /* before using pango_set_absolute_size() to overcome font size differences between renderers */ +- double height; +- /* Need to load a font to query it's metrics */ +- PangoFont *loaded; + PangoFontMetrics *metrics; + }; + +@@ -136,8 +130,6 @@ dia_font_finalize (GObject *object) + g_clear_pointer (&font->pfd, pango_font_description_free); + g_clear_pointer (&font->metrics, pango_font_metrics_unref); + +- g_clear_object (&font->loaded); +- + G_OBJECT_CLASS (dia_font_parent_class)->finalize (object); + } + +@@ -166,33 +158,17 @@ dia_pfd_set_height(PangoFontDescription *pfd, double height) + } + + +-/*! +- * In Dia a font is usually referred to by it's (line-) height, not it's size. +- * +- * This methods "calculates" the latter from the former. This used to be some magic factor of 0.7 which did not +- * solve the resolution dependencance of the former calculation. In fact there is new magic factor now because +- * really calculating the font size from the height would involve two font loads which seem to be two expensive. +- */ + static void +-_dia_font_adjust_size (DiaFont *font, double height, gboolean recalc_alwways) ++dia_font_update_metrics (DiaFont *font) + { ++ PangoFont *loaded; + +- if (font->height != height || !font->metrics || recalc_alwways) { +- PangoFont *loaded; +- +- dia_pfd_set_height (font->pfd, height); +- /* need to load a font to get it's metrics */ +- loaded = font->loaded; +- font->loaded = pango_context_load_font (dia_font_get_context (), font->pfd); +- +- g_clear_object (&loaded); +- +- g_clear_pointer (&font->metrics, pango_font_metrics_unref); ++ g_clear_pointer (&font->metrics, pango_font_metrics_unref); + +- /* caching metrics */ +- font->metrics = pango_font_get_metrics (font->loaded, NULL); +- font->height = height; +- } ++ /* need to load a font to get its metrics */ ++ loaded = pango_context_load_font (dia_font_get_context (), font->pfd); ++ font->metrics = pango_font_get_metrics (loaded, NULL); ++ g_clear_object (&loaded); + } + + +@@ -205,15 +181,8 @@ DiaFont * + dia_font_new (const char *family, DiaFontStyle style, double height) + { + DiaFont* font = dia_font_new_from_style(style, height); +- gboolean changed; +- +- changed = family != NULL && g_strcmp0 (pango_font_description_get_family (font->pfd), family) != 0; + pango_font_description_set_family(font->pfd, family); + +- if (changed) { +- _dia_font_adjust_size (font, font->height, TRUE); +- } +- + return font; + } + +@@ -316,9 +285,10 @@ dia_font_new_from_style (DiaFontStyle style, double height) + + retval = g_object_new (DIA_TYPE_FONT, NULL); + retval->pfd = pfd; +- _dia_font_adjust_size (retval, height, FALSE); + retval->legacy_name = NULL; + ++ dia_font_update_metrics (retval); ++ + return retval; + } + +@@ -407,8 +377,9 @@ double + dia_font_get_height (DiaFont *font) + { + g_return_val_if_fail (font != NULL, 0.0); ++ g_return_val_if_fail (pango_font_description_get_size_is_absolute (font->pfd), 0.0); + +- return font->height; ++ return pdu_to_dcm(pango_font_description_get_size(font->pfd)) / 0.8; + } + + +@@ -430,6 +401,23 @@ dia_font_get_size (DiaFont *font) + } + + ++/** ++ * dia_font_set_size: ++ * @font: The font to modify. ++ * @size: The new size in centimetres. ++ * ++ * Sets the size of font to the provided (positive) size. ++ */ ++void ++dia_font_set_size (DiaFont *font, double size) ++{ ++ g_return_if_fail (size >= 0); ++ ++ pango_font_description_set_absolute_size (font->pfd, dcm_to_pdu (size)); ++ dia_font_update_metrics (font); ++} ++ ++ + /** + * dia_font_set_height: + * +@@ -438,7 +426,8 @@ dia_font_get_size (DiaFont *font) + void + dia_font_set_height (DiaFont* font, double height) + { +- _dia_font_adjust_size (font, height, FALSE); ++ /* FIXME For now, assume height is 80% of size. */ ++ dia_font_set_size (font, height / 0.8); + } + + +@@ -493,7 +482,7 @@ dia_font_set_any_family (DiaFont *font, const char *family) + pango_font_description_set_family (font->pfd, family); + if (changed) { + /* force recalculation on name change */ +- _dia_font_adjust_size (font, font->height, TRUE); ++ dia_font_update_metrics (font); + } + + g_clear_pointer (&font->legacy_name, g_free); +@@ -531,7 +520,7 @@ dia_font_set_weight (DiaFont *font, DiaFontWeight weight) + dia_pfd_set_weight(font->pfd,weight); + + if (old_weight != weight) { +- _dia_font_adjust_size (font, font->height, TRUE); ++ dia_font_update_metrics (font); + } + } + +@@ -548,7 +537,7 @@ dia_font_set_slant (DiaFont *font, DiaFontSlant slant) + g_return_if_fail(font != NULL); + dia_pfd_set_slant(font->pfd,slant); + if (slant != old_slant) +- _dia_font_adjust_size (font, font->height, TRUE); ++ dia_font_update_metrics (font); + } + + +@@ -702,7 +691,8 @@ dia_font_ascent (const char *string, DiaFont *font, double height) + { + if (font->metrics) { + double ascent = pdu_to_dcm (pango_font_metrics_get_ascent (font->metrics)); +- return ascent * (height / font->height); ++ double factor = height / dia_font_get_height (font); ++ return ascent * factor; + } else { + /* previous, _expensive_ but string specific way */ + TextLine *text_line = text_line_new (string, font, height); +@@ -723,7 +713,8 @@ dia_font_descent (const char *string, DiaFont *font, double height) + { + if (font->metrics) { + double descent = pdu_to_dcm (pango_font_metrics_get_descent (font->metrics)); +- return descent * (height / font->height); ++ double factor = height / dia_font_get_height (font); ++ return descent * factor; + } else { + /* previous, _expensive_ but string specific way */ + TextLine *text_line = text_line_new (string, font, height); +diff --git a/lib/font.h b/lib/font.h +index aaf19ef6d..bd6868cb3 100644 +--- a/lib/font.h ++++ b/lib/font.h +@@ -103,6 +103,8 @@ const PangoFontDescription *dia_font_get_description (DiaFont *f + double dia_font_get_height (DiaFont *font); + void dia_font_set_height (DiaFont *font, + double height); ++void dia_font_set_size (DiaFont *font, ++ double size); + double dia_font_get_size (DiaFont *font); + void dia_font_set_slant (DiaFont *font, + DiaFontSlant slant); +diff --git a/lib/libdia.def b/lib/libdia.def +index d7f579479..1218a20c9 100644 +--- a/lib/libdia.def ++++ b/lib/libdia.def +@@ -243,6 +243,7 @@ EXPORTS + dia_font_new_from_style + dia_font_set_any_family + dia_font_set_height ++ dia_font_set_size + dia_font_set_slant + dia_font_set_slant_from_string + dia_font_set_weight +-- +GitLab + + +From da5b8963d3bd8f80a50b3bf81ec5d7a59bdbe8a7 Mon Sep 17 00:00:00 2001 +From: Duncan McIntosh +Date: Fri, 20 Oct 2023 17:29:48 -0400 +Subject: [PATCH 3/4] font: add dia_font_new_from_description + +Since we no longer need to keep track of font heights in DiaFont, it +basically wraps descriptions. As such, allow creating fonts from a +string Pango description. + +This uses a string to try and avoid a public dependency on Pango. We +still have public dependencies elsewhere, but it means shifting to +alternative libraries, or incompatible versions (like Pango2, which +appears at least on hold) should be easier. It also doesn't really +add much friction with GTK. +--- + lib/font.c | 21 +++++++++++++++++++++ + lib/font.h | 1 + + lib/libdia.def | 1 + + 3 files changed, 23 insertions(+) + +diff --git a/lib/font.c b/lib/font.c +index 6dec80bb1..ca3953f28 100644 +--- a/lib/font.c ++++ b/lib/font.c +@@ -293,6 +293,27 @@ dia_font_new_from_style (DiaFontStyle style, double height) + } + + ++DiaFont * ++dia_font_new_from_description (const char *desc) ++{ ++ DiaFont *retval; ++ PangoFontDescription *pfd = pango_font_description_from_string (desc); ++ ++ if (!pango_font_description_get_size_is_absolute (pfd)) { ++ double size = pango_font_description_get_size (pfd); ++ pango_font_description_set_absolute_size(pfd, size * global_zoom_factor * 72.0); ++ } ++ ++ retval = g_object_new (DIA_TYPE_FONT, NULL); ++ retval->pfd = pfd; ++ retval->legacy_name = NULL; ++ ++ dia_font_update_metrics (retval); ++ ++ return retval; ++} ++ ++ + DiaFont * + dia_font_copy (DiaFont *font) + { +diff --git a/lib/font.h b/lib/font.h +index bd6868cb3..cc1260815 100644 +--- a/lib/font.h ++++ b/lib/font.h +@@ -95,6 +95,7 @@ DiaFont *dia_font_new (const char *f + DiaFont *dia_font_new_from_style (DiaFontStyle style, + double height); + DiaFont *dia_font_new_from_legacy_name (const char *name); ++DiaFont *dia_font_new_from_description (const char *description); + const char *dia_font_get_legacy_name (DiaFont *font); + DiaFont *dia_font_copy (DiaFont *font); + DiaFontStyle dia_font_get_style (DiaFont *font); +diff --git a/lib/libdia.def b/lib/libdia.def +index 1218a20c9..db1c4ad7a 100644 +--- a/lib/libdia.def ++++ b/lib/libdia.def +@@ -241,6 +241,7 @@ EXPORTS + dia_font_new + dia_font_new_from_legacy_name + dia_font_new_from_style ++ dia_font_new_from_description + dia_font_set_any_family + dia_font_set_height + dia_font_set_size +-- +GitLab + + +From 48c9b9b81d347d3f3c6df4df9c7456f2b74919c8 Mon Sep 17 00:00:00 2001 +From: Duncan McIntosh +Date: Fri, 20 Oct 2023 17:31:58 -0400 +Subject: [PATCH 4/4] lib: remove DiaFontSelector + +We can now use GtkFontButton, which (a) allows removing ~700 lines of code, +and (b) doesn't lock up whenever a property dialog is opened. + +Currently, we don't allow configuring size in the dialog, since the size +of a DiaFont isn't really used. Further refactoring should let us use it +instead of separate spin buttons. +--- + lib/dia-font-selector.c | 646 ------------------------------------- + lib/dia-font-selector.h | 37 --- + lib/libdia.def | 5 - + lib/meson.build | 2 - + lib/prop_attr.c | 17 +- + objects/UML/class_dialog.c | 54 +++- + objects/UML/class_dialog.h | 13 +- + 7 files changed, 56 insertions(+), 718 deletions(-) + delete mode 100644 lib/dia-font-selector.c + delete mode 100644 lib/dia-font-selector.h + +diff --git a/lib/dia-font-selector.c b/lib/dia-font-selector.c +deleted file mode 100644 +index fb59d6c98..000000000 +--- a/lib/dia-font-selector.c ++++ /dev/null +@@ -1,646 +0,0 @@ +-/* Dia -- an diagram creation/manipulation program +- * Copyright (C) 1998 Alexander Larsson +- * +- * 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 +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- */ +- +-#include "config.h" +- +-#include +-#include +- +-#include +-#include +- +-#include "dia-font-selector.h" +-#include "font.h" +-#include "persistence.h" +- +-#define PERSIST_NAME "font-menu" +- +-struct _DiaFontSelector { +- GtkBox hbox; +-}; +- +- +-typedef struct _DiaFontSelectorPrivate DiaFontSelectorPrivate; +-struct _DiaFontSelectorPrivate { +- GtkWidget *fonts; +- GtkTreeStore *fonts_store; +- GtkTreeIter fonts_default_end; +- GtkTreeIter fonts_custom_end; +- GtkTreeIter fonts_other; +- GtkTreeIter fonts_reset; +- +- const char *looking_for; +- +- GtkWidget *styles; +- GtkListStore *styles_store; +- +- char *current; +- int current_style; +-}; +- +-G_DEFINE_TYPE_WITH_PRIVATE (DiaFontSelector, dia_font_selector, GTK_TYPE_BOX) +- +-enum { +- VALUE_CHANGED, +- LAST_SIGNAL +-}; +- +-static guint signals[LAST_SIGNAL] = { 0 }; +- +- +-/* New and improved font selector: Contains the three standard fonts +- * and an 'Other fonts...' entry that opens the font dialog. The fonts +- * selected in the font dialog are persistently added to the menu. +- * +- * +----------------+ +- * | Sans | +- * | Serif | +- * | Monospace | +- * | -------------- | +- * | Bodini | +- * | CurlyGothic | +- * | OldWestern | +- * | -------------- | +- * | Other fonts... | +- * +----------------+ +- */ +- +-enum { +- STYLE_COL_LABEL, +- STYLE_COL_ID, +- STYLE_N_COL, +-}; +- +- +-enum { +- FONT_COL_FAMILY, +- FONT_N_COL, +-}; +- +- +-static void +-dia_font_selector_finalize (GObject *object) +-{ +- DiaFontSelector *self = DIA_FONT_SELECTOR (object); +- DiaFontSelectorPrivate *priv = dia_font_selector_get_instance_private (self); +- +- g_clear_object (&priv->fonts_store); +- g_clear_object (&priv->styles_store); +- +- g_clear_pointer (&priv->current, g_free); +- +- G_OBJECT_CLASS (dia_font_selector_parent_class)->finalize (object); +-} +- +- +-static void +-dia_font_selector_class_init (DiaFontSelectorClass *klass) +-{ +- GObjectClass *object_class = G_OBJECT_CLASS (klass); +- +- object_class->finalize = dia_font_selector_finalize; +- +- signals[VALUE_CHANGED] = g_signal_new ("value-changed", +- G_TYPE_FROM_CLASS (klass), +- G_SIGNAL_RUN_FIRST, +- 0, NULL, NULL, +- g_cclosure_marshal_VOID__VOID, +- G_TYPE_NONE, 0); +-} +- +- +-static int +-sort_fonts (const void *p1, const void *p2) +-{ +- const gchar *n1 = pango_font_family_get_name (PANGO_FONT_FAMILY (*(void**)p1)); +- const gchar *n2 = pango_font_family_get_name (PANGO_FONT_FAMILY (*(void**)p2)); +- return g_ascii_strcasecmp (n1, n2); +-} +- +- +-static char *style_labels[] = { +- "Normal", +- "Oblique", +- "Italic", +- "Ultralight", +- "Ultralight-Oblique", +- "Ultralight-Italic", +- "Light", +- "Light-Oblique", +- "Light-Italic", +- "Medium", +- "Medium-Oblique", +- "Medium-Italic", +- "Demibold", +- "Demibold-Oblique", +- "Demibold-Italic", +- "Bold", +- "Bold-Oblique", +- "Bold-Italic", +- "Ultrabold", +- "Ultrabold-Oblique", +- "Ultrabold-Italic", +- "Heavy", +- "Heavy-Oblique", +- "Heavy-Italic" +-}; +- +- +-static PangoFontFamily * +-get_family_from_name (GtkWidget *widget, const gchar *fontname) +-{ +- PangoFontFamily **families; +- int n_families, i; +- +- pango_context_list_families (dia_font_get_context(), +- &families, &n_families); +- /* Doing it the slow way until I find a better way */ +- for (i = 0; i < n_families; i++) { +- if (!(g_ascii_strcasecmp (pango_font_family_get_name (families[i]), fontname))) { +- PangoFontFamily *fam = families[i]; +- g_clear_pointer (&families, g_free); +- return fam; +- } +- } +- g_warning (_("Couldn't find font family for %s\n"), fontname); +- g_clear_pointer (&families, g_free); +- return NULL; +-} +- +- +-static void +-set_styles (DiaFontSelector *fs, +- const gchar *name, +- DiaFontStyle dia_style) +-{ +- PangoFontFamily *pff; +- DiaFontSelectorPrivate *priv; +- PangoFontFace **faces = NULL; +- int nfaces = 0; +- int i = 0; +- long stylebits = 0; +- +- g_return_if_fail (DIA_IS_FONT_SELECTOR (fs)); +- +- priv = dia_font_selector_get_instance_private (fs); +- +- pff = get_family_from_name (GTK_WIDGET (fs), name); +- +- pango_font_family_list_faces (pff, &faces, &nfaces); +- +- for (i = 0; i < nfaces; i++) { +- PangoFontDescription *pfd = pango_font_face_describe (faces[i]); +- PangoStyle style = pango_font_description_get_style (pfd); +- PangoWeight weight = pango_font_description_get_weight (pfd); +- /* +- * This is a quick and dirty way to pick the styles present, +- * sort them and avoid duplicates. +- * We set a bit for each style present, bit (weight*3+style) +- * From style_labels, we pick #(weight*3+style) +- * where weight and style are the Dia types. +- */ +- /* Account for DIA_WEIGHT_NORMAL hack */ +- int weightnr = (weight-200)/100; +- if (weightnr < 2) weightnr ++; +- else if (weightnr == 2) weightnr = 0; +- stylebits |= 1 << (3*weightnr + style); +- pango_font_description_free (pfd); +- } +- +- g_clear_pointer (&faces, g_free); +- +- if (stylebits == 0) { +- g_warning ("'%s' has no style!", +- pango_font_family_get_name (pff) ? pango_font_family_get_name (pff) : "(null font)"); +- } +- +- gtk_list_store_clear (priv->styles_store); +- +- for (i = DIA_FONT_NORMAL; i <= (DIA_FONT_HEAVY | DIA_FONT_ITALIC); i+=4) { +- GtkTreeIter iter; +- +- /* +- * bad hack continued ... +- */ +- int weight = DIA_FONT_STYLE_GET_WEIGHT (i) >> 4; +- int slant = DIA_FONT_STYLE_GET_SLANT (i) >> 2; +- +- if (DIA_FONT_STYLE_GET_SLANT (i) > DIA_FONT_ITALIC) { +- continue; +- } +- +- if (!(stylebits & (1 << (3 * weight + slant)))) { +- continue; +- } +- +- gtk_list_store_append (priv->styles_store, &iter); +- gtk_list_store_set (priv->styles_store, +- &iter, +- STYLE_COL_LABEL, style_labels[3 * weight + slant], +- STYLE_COL_ID, i, +- -1); +- +- if (dia_style == i || (i == DIA_FONT_NORMAL && dia_style == -1)) { +- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->styles), &iter); +- } +- } +- +- gtk_widget_set_sensitive (GTK_WIDGET (priv->styles), +- gtk_tree_model_iter_n_children (GTK_TREE_MODEL (priv->styles_store), NULL) > 1); +-} +- +- +-static void +-font_changed (GtkComboBox *widget, +- DiaFontSelector *self) +-{ +- DiaFontSelectorPrivate *priv; +- GtkTreeIter active; +- GtkTreePath *active_path; +- GtkTreePath *path; +- char *family = NULL; +- +- g_return_if_fail (DIA_IS_FONT_SELECTOR (self)); +- +- priv = dia_font_selector_get_instance_private (self); +- +- gtk_combo_box_get_active_iter (widget, &active); +- +- active_path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &active); +- path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_reset); +- +- if (gtk_tree_path_compare (path, active_path) == 0) { +- GtkTreeIter iter; +- GtkTreePath *end_path; +- DiaFont *font; +- +- persistent_list_clear (PERSIST_NAME); +- +- path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_default_end); +- +- // Move over the separator +- gtk_tree_path_next (path); +- gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->fonts_store), &iter, path); +- +- end_path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_custom_end); +- +- while (gtk_tree_path_compare (path, end_path) != 0) { +- gtk_tree_store_remove (priv->fonts_store, &iter); +- +- gtk_tree_model_get_iter (GTK_TREE_MODEL (priv->fonts_store), &iter, path); +- +- gtk_tree_path_free (end_path); +- end_path = gtk_tree_model_get_path (GTK_TREE_MODEL (priv->fonts_store), &priv->fonts_custom_end); +- } +- +- gtk_tree_path_free (path); +- gtk_tree_path_free (end_path); +- gtk_tree_path_free (active_path); +- +- if (priv->current) { +- font = dia_font_new (priv->current, priv->current_style, 1.0); +- dia_font_selector_set_font (self, font); +- g_clear_object (&font); +- } else { +- gtk_tree_model_get_iter_first (GTK_TREE_MODEL (priv->fonts_store), &iter); +- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->fonts), &iter); +- } +- +- return; +- } +- +- gtk_tree_model_get (GTK_TREE_MODEL (priv->fonts_store), +- &active, +- FONT_COL_FAMILY, &family, +- -1); +- +- g_clear_pointer (&priv->current, g_free); +- priv->current = g_strdup (family); +- +- set_styles (self, family, -1); +- g_signal_emit (G_OBJECT (self), signals[VALUE_CHANGED], 0); +- +- if (g_strcmp0 (family, "sans") != 0 && +- g_strcmp0 (family, "serif") != 0 && +- g_strcmp0 (family, "monospace") != 0 && +- !persistent_list_add (PERSIST_NAME, family)) { +- GtkTreeIter iter; +- +- gtk_tree_store_insert_before (priv->fonts_store, +- &iter, +- NULL, +- &priv->fonts_custom_end); +- gtk_tree_store_set (priv->fonts_store, +- &iter, +- FONT_COL_FAMILY, family, +- -1); +- +- gtk_combo_box_set_active_iter (widget, &iter); +- } +- +- gtk_tree_path_free (path); +- gtk_tree_path_free (active_path); +- g_clear_pointer (&family, g_free); +-} +- +- +-static gboolean +-is_separator (GtkTreeModel *model, +- GtkTreeIter *iter, +- gpointer data) +-{ +- gboolean result; +- char *family; +- +- gtk_tree_model_get (model, iter, FONT_COL_FAMILY, &family, -1); +- +- result = g_strcmp0 (family, "separator") == 0; +- +- g_clear_pointer (&family, g_free); +- +- return result; +-} +- +- +-static void +-is_sensitive (GtkCellLayout *cell_layout, +- GtkCellRenderer *cell, +- GtkTreeModel *tree_model, +- GtkTreeIter *iter, +- gpointer data) +-{ +- gboolean sensitive; +- +- sensitive = !gtk_tree_model_iter_has_child (tree_model, iter); +- +- g_object_set (cell, "sensitive", sensitive, NULL); +-} +- +- +-static void +-style_changed (GtkComboBox *widget, +- DiaFontSelector *self) +-{ +- DiaFontSelectorPrivate *priv; +- GtkTreeIter active; +- +- g_return_if_fail (DIA_IS_FONT_SELECTOR (self)); +- +- priv = dia_font_selector_get_instance_private (self); +- +- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->styles), &active)) { +- gtk_tree_model_get (GTK_TREE_MODEL (priv->styles_store), +- &active, +- STYLE_COL_ID, &priv->current_style, +- -1); +- } else { +- priv->current_style = 0; +- } +- +- g_signal_emit (G_OBJECT (self), signals[VALUE_CHANGED], 0); +-} +- +- +-static void +-dia_font_selector_init (DiaFontSelector *fs) +-{ +- DiaFontSelectorPrivate *priv; +- PangoFontFamily **families; +- int n_families,i; +- GtkCellRenderer *renderer; +- GtkTreeIter iter; +- GList *tmplist; +- +- g_return_if_fail (DIA_IS_FONT_SELECTOR (fs)); +- +- priv = dia_font_selector_get_instance_private (fs); +- +- priv->fonts_store = gtk_tree_store_new (FONT_N_COL, G_TYPE_STRING); +- +- gtk_tree_store_append (priv->fonts_store, &iter, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &iter, +- FONT_COL_FAMILY, "sans", +- -1); +- gtk_tree_store_append (priv->fonts_store, &iter, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &iter, +- FONT_COL_FAMILY, "serif", +- -1); +- gtk_tree_store_append (priv->fonts_store, &iter, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &iter, +- FONT_COL_FAMILY, "monospace", +- -1); +- +- gtk_tree_store_append (priv->fonts_store, &priv->fonts_default_end, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &priv->fonts_default_end, +- FONT_COL_FAMILY, "separator", +- -1); +- +- persistence_register_list (PERSIST_NAME); +- +- for (tmplist = persistent_list_get_glist (PERSIST_NAME); +- tmplist != NULL; tmplist = g_list_next (tmplist)) { +- gtk_tree_store_append (priv->fonts_store, &iter, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &iter, +- FONT_COL_FAMILY, tmplist->data, +- -1); +- } +- +- gtk_tree_store_append (priv->fonts_store, &priv->fonts_custom_end, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &priv->fonts_custom_end, +- FONT_COL_FAMILY, "separator", +- -1); +- +- gtk_tree_store_append (priv->fonts_store, &priv->fonts_other, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &priv->fonts_other, +- FONT_COL_FAMILY, _("Other Fonts"), +- -1); +- +- gtk_tree_store_append (priv->fonts_store, &priv->fonts_reset, NULL); +- gtk_tree_store_set (priv->fonts_store, +- &priv->fonts_reset, +- FONT_COL_FAMILY, _("Reset Menu"), +- -1); +- +- priv->fonts = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->fonts_store)); +- gtk_widget_set_hexpand (priv->fonts, TRUE); +- gtk_widget_show (priv->fonts); +- +- g_signal_connect (priv->fonts, +- "changed", +- G_CALLBACK (font_changed), +- fs); +- +- renderer = gtk_cell_renderer_text_new (); +- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->fonts), renderer, TRUE); +- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->fonts), renderer, +- "text", FONT_COL_FAMILY, +- "family", FONT_COL_FAMILY, +- NULL); +- +- gtk_combo_box_set_row_separator_func (GTK_COMBO_BOX (priv->fonts), +- is_separator, NULL, NULL); +- gtk_cell_layout_set_cell_data_func (GTK_CELL_LAYOUT (priv->fonts), +- renderer, +- is_sensitive, +- NULL, NULL); +- +- priv->styles_store = gtk_list_store_new (STYLE_N_COL, +- G_TYPE_STRING, +- G_TYPE_INT); +- priv->styles = gtk_combo_box_new_with_model (GTK_TREE_MODEL (priv->styles_store)); +- gtk_widget_show (priv->styles); +- +- g_signal_connect (priv->styles, +- "changed", +- G_CALLBACK (style_changed), +- fs); +- +- renderer = gtk_cell_renderer_text_new (); +- gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (priv->styles), renderer, TRUE); +- gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (priv->styles), renderer, +- "text", STYLE_COL_LABEL, +- NULL); +- +- pango_context_list_families (dia_font_get_context (), +- &families, +- &n_families); +- +- qsort (families, +- n_families, +- sizeof (PangoFontFamily *), +- sort_fonts); +- +- /* Doing it the slow way until I find a better way */ +- for (i = 0; i < n_families; i++) { +- gtk_tree_store_append (priv->fonts_store, +- &iter, +- &priv->fonts_other); +- gtk_tree_store_set (priv->fonts_store, +- &iter, +- FONT_COL_FAMILY, pango_font_family_get_name (families[i]), +- -1); +- } +- g_clear_pointer (&families, g_free); +- +- gtk_box_pack_start (GTK_BOX (fs), GTK_WIDGET (priv->fonts), FALSE, TRUE, 0); +- gtk_box_pack_start (GTK_BOX (fs), GTK_WIDGET (priv->styles), FALSE, TRUE, 0); +-} +- +- +-GtkWidget * +-dia_font_selector_new (void) +-{ +- return g_object_new (DIA_TYPE_FONT_SELECTOR, NULL); +-} +- +- +-static gboolean +-set_font (GtkTreeModel *model, +- GtkTreePath *path, +- GtkTreeIter *iter, +- gpointer data) +-{ +- DiaFontSelector *self = DIA_FONT_SELECTOR (data); +- DiaFontSelectorPrivate *priv = dia_font_selector_get_instance_private (self); +- char *font; +- gboolean res = FALSE; +- +- gtk_tree_model_get (model, +- iter, +- FONT_COL_FAMILY, &font, +- -1); +- +- res = g_strcmp0 (priv->looking_for, font) == 0; +- if (res) { +- gtk_combo_box_set_active_iter (GTK_COMBO_BOX (priv->fonts), iter); +- } +- +- g_clear_pointer (&font, g_free); +- +- return res; +-} +- +- +-/** +- * dia_font_selector_set_font: +- * +- * Set the current font to be shown in the font selector. +- */ +-void +-dia_font_selector_set_font (DiaFontSelector *self, DiaFont *font) +-{ +- DiaFontSelectorPrivate *priv; +- const gchar *fontname = dia_font_get_family (font); +- +- g_return_if_fail (DIA_IS_FONT_SELECTOR (self)); +- +- priv = dia_font_selector_get_instance_private (self); +- +- priv->looking_for = fontname; +- gtk_tree_model_foreach (GTK_TREE_MODEL (priv->fonts_store), set_font, self); +- priv->looking_for = NULL; +- +- set_styles (self, fontname, dia_font_get_style (font)); +-} +- +- +-DiaFont * +-dia_font_selector_get_font (DiaFontSelector *self) +-{ +- DiaFontSelectorPrivate *priv; +- DiaFontStyle style; +- DiaFont *font; +- GtkTreeIter iter; +- char *fontname = NULL; +- +- g_return_val_if_fail (DIA_IS_FONT_SELECTOR (self), NULL); +- +- priv = dia_font_selector_get_instance_private (self); +- +- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->fonts), &iter)) { +- gtk_tree_model_get (GTK_TREE_MODEL (priv->fonts_store), +- &iter, +- FONT_COL_FAMILY, &fontname, +- -1); +- } else { +- g_warning ("No font selected"); +- } +- +- if (gtk_combo_box_get_active_iter (GTK_COMBO_BOX (priv->styles), &iter)) { +- gtk_tree_model_get (GTK_TREE_MODEL (priv->styles_store), +- &iter, +- STYLE_COL_ID, &style, +- -1); +- } else { +- style = 0; +- } +- +- font = dia_font_new (fontname, style, 1.0); +- +- g_clear_pointer (&fontname, g_free); +- +- return font; +-} +- +diff --git a/lib/dia-font-selector.h b/lib/dia-font-selector.h +deleted file mode 100644 +index 8ffba0ccb..000000000 +--- a/lib/dia-font-selector.h ++++ /dev/null +@@ -1,37 +0,0 @@ +-/* Dia -- an diagram creation/manipulation program +- * Copyright (C) 1998 Alexander Larsson +- * +- * 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 +- * the Free Software Foundation; either version 2 of the License, or +- * (at your option) any later version. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program; if not, write to the Free Software +- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +- * +- * SPDX-License-Identifier: GPL-2.0-or-later +- */ +- +-#pragma once +- +-#include +- +-#include "font.h" +- +-G_BEGIN_DECLS +- +-#define DIA_TYPE_FONT_SELECTOR dia_font_selector_get_type () +-G_DECLARE_FINAL_TYPE (DiaFontSelector, dia_font_selector, DIA, FONT_SELECTOR, GtkBox) +- +-GtkWidget *dia_font_selector_new (void); +-void dia_font_selector_set_font (DiaFontSelector *self, +- DiaFont *font); +-DiaFont *dia_font_selector_get_font (DiaFontSelector *self); +- +-G_END_DECLS +diff --git a/lib/libdia.def b/lib/libdia.def +index db1c4ad7a..7f2364ddd 100644 +--- a/lib/libdia.def ++++ b/lib/libdia.def +@@ -252,11 +252,6 @@ EXPORTS + dia_font_copy + dia_font_string_width + +- dia_font_selector_get_font +- dia_font_selector_get_type +- dia_font_selector_new +- dia_font_selector_set_font +- + dia_guide_new + dia_guide_copy + dia_guide_free +diff --git a/lib/meson.build b/lib/meson.build +index f1ffb9659..7d2058c41 100644 +--- a/lib/meson.build ++++ b/lib/meson.build +@@ -167,8 +167,6 @@ libdia_sources = stdprop_sources + [ + 'dia-colour-cell-renderer.h', + 'dia-colour-selector.c', + 'dia-colour-selector.h', +- 'dia-font-selector.c', +- 'dia-font-selector.h', + 'dia-graphene.h', + 'dia-guide.c', + 'dia-guide.h', +diff --git a/lib/prop_attr.c b/lib/prop_attr.c +index 18a850a41..2362813a0 100644 +--- a/lib/prop_attr.c ++++ b/lib/prop_attr.c +@@ -29,11 +29,11 @@ + + #include + #include "dia_xml.h" ++#include "font.h" + #include "properties.h" + #include "propinternals.h" + #include "dia-arrow-selector.h" + #include "dia-colour-selector.h" +-#include "dia-font-selector.h" + #include "dia-line-style-selector.h" + + /***************************/ +@@ -421,22 +421,27 @@ fontprop_copy(FontProperty *src) + static WIDGET * + fontprop_get_widget(FontProperty *prop, PropDialog *dialog) + { +- GtkWidget *ret = dia_font_selector_new(); +- prophandler_connect(&prop->common, G_OBJECT(ret), "value-changed"); ++ GtkWidget *ret = gtk_font_button_new(); ++ gtk_font_chooser_set_level (GTK_FONT_CHOOSER (ret), GTK_FONT_CHOOSER_LEVEL_FAMILY | GTK_FONT_CHOOSER_LEVEL_STYLE); ++ prophandler_connect(&prop->common, G_OBJECT(ret), "font-set"); + return ret; + } + + static void + fontprop_reset_widget(FontProperty *prop, WIDGET *widget) + { +- dia_font_selector_set_font (DIA_FONT_SELECTOR (widget), +- prop->font_data); ++ const PangoFontDescription *desc = dia_font_get_description (prop->font_data); ++ gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (widget), desc); + } + + static void + fontprop_set_from_widget(FontProperty *prop, WIDGET *widget) + { +- prop->font_data = dia_font_selector_get_font (DIA_FONT_SELECTOR (widget)); ++ char *desc = gtk_font_chooser_get_font (GTK_FONT_CHOOSER (widget)); ++ DiaFont *new_font = dia_font_new_from_description (desc); ++ ++ g_clear_pointer (&desc, g_free); ++ g_set_object (&prop->font_data, new_font); + } + + static void +diff --git a/objects/UML/class_dialog.c b/objects/UML/class_dialog.c +index 163cc2949..56af1d84b 100644 +--- a/objects/UML/class_dialog.c ++++ b/objects/UML/class_dialog.c +@@ -40,6 +40,7 @@ + #include + #include + ++#include "font.h" + #include "object.h" + #include "class.h" + #include "diaoptionmenu.h" +@@ -196,6 +197,28 @@ _class_set_comment (GtkTextView *view, gchar *text) + } + + ++static DiaFont * ++_font_from_button (GtkFontButton *btn) ++{ ++ char *font_desc; ++ DiaFont *ret; ++ ++ font_desc = gtk_font_chooser_get_font (GTK_FONT_CHOOSER (btn)); ++ ret = dia_font_new_from_description (font_desc); ++ g_clear_pointer (&font_desc, g_free); ++ ++ return ret; ++} ++ ++ ++static void ++_set_selector_font (GtkFontButton *btn, DiaFont *font) ++{ ++ gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (btn), ++ dia_font_get_description (font)); ++} ++ ++ + static void + class_read_from_dialog(UMLClass *umlclass, UMLClassDialog *prop_dialog) + { +@@ -243,12 +266,12 @@ class_read_from_dialog(UMLClass *umlclass, UMLClassDialog *prop_dialog) + dia_colour_selector_get_colour (DIA_COLOUR_SELECTOR (prop_dialog->fill_color), + ¨class->fill_color); + +- umlclass->normal_font = dia_font_selector_get_font (prop_dialog->normal_font); +- umlclass->polymorphic_font = dia_font_selector_get_font (prop_dialog->polymorphic_font); +- umlclass->abstract_font = dia_font_selector_get_font (prop_dialog->abstract_font); +- umlclass->classname_font = dia_font_selector_get_font (prop_dialog->classname_font); +- umlclass->abstract_classname_font = dia_font_selector_get_font (prop_dialog->abstract_classname_font); +- umlclass->comment_font = dia_font_selector_get_font (prop_dialog->comment_font); ++ umlclass->normal_font = _font_from_button(prop_dialog->normal_font); ++ umlclass->polymorphic_font = _font_from_button(prop_dialog->polymorphic_font); ++ umlclass->abstract_font = _font_from_button(prop_dialog->abstract_font); ++ umlclass->classname_font = _font_from_button (prop_dialog->classname_font); ++ umlclass->abstract_classname_font = _font_from_button (prop_dialog->abstract_classname_font); ++ umlclass->comment_font = _font_from_button (prop_dialog->comment_font); + + umlclass->font_height = gtk_spin_button_get_value (prop_dialog->normal_font_height); + umlclass->abstract_font_height = gtk_spin_button_get_value (prop_dialog->abstract_font_height); +@@ -291,12 +314,12 @@ class_fill_in_dialog(UMLClass *umlclass) + dia_colour_selector_set_colour (prop_dialog->text_color, ¨class->text_color); + dia_colour_selector_set_colour (prop_dialog->line_color, ¨class->line_color); + dia_colour_selector_set_colour (prop_dialog->fill_color, ¨class->fill_color); +- dia_font_selector_set_font (prop_dialog->normal_font, umlclass->normal_font); +- dia_font_selector_set_font (prop_dialog->polymorphic_font, umlclass->polymorphic_font); +- dia_font_selector_set_font (prop_dialog->abstract_font, umlclass->abstract_font); +- dia_font_selector_set_font (prop_dialog->classname_font, umlclass->classname_font); +- dia_font_selector_set_font (prop_dialog->abstract_classname_font, umlclass->abstract_classname_font); +- dia_font_selector_set_font (prop_dialog->comment_font, umlclass->comment_font); ++ _set_selector_font (prop_dialog->normal_font, umlclass->normal_font); ++ _set_selector_font (prop_dialog->polymorphic_font, umlclass->polymorphic_font); ++ _set_selector_font (prop_dialog->abstract_font, umlclass->abstract_font); ++ _set_selector_font (prop_dialog->classname_font, umlclass->classname_font); ++ _set_selector_font (prop_dialog->abstract_classname_font, umlclass->abstract_classname_font); ++ _set_selector_font (prop_dialog->comment_font, umlclass->comment_font); + gtk_spin_button_set_value (prop_dialog->normal_font_height, umlclass->font_height); + gtk_spin_button_set_value (prop_dialog->polymorphic_font_height, umlclass->polymorphic_font_height); + gtk_spin_button_set_value (prop_dialog->abstract_font_height, umlclass->abstract_font_height); +@@ -311,7 +334,7 @@ create_font_props_row (GtkGrid *grid, + gint row, + DiaFont *font, + real height, +- DiaFontSelector **fontsel, ++ GtkFontButton **fontsel, + GtkSpinButton **heightsel) + { + GtkWidget *label; +@@ -320,9 +343,10 @@ create_font_props_row (GtkGrid *grid, + label = gtk_label_new (kind); + gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5); + gtk_grid_attach (grid, label, 0, row, 1, 1); +- *fontsel = DIA_FONT_SELECTOR (dia_font_selector_new ()); ++ *fontsel = GTK_FONT_BUTTON (gtk_font_button_new ()); + gtk_widget_set_hexpand (GTK_WIDGET (*fontsel), TRUE); +- dia_font_selector_set_font (DIA_FONT_SELECTOR (*fontsel), font); ++ gtk_font_chooser_set_font_desc (GTK_FONT_CHOOSER (*fontsel), dia_font_get_description (font)); ++ gtk_font_chooser_set_level (GTK_FONT_CHOOSER (*fontsel), GTK_FONT_CHOOSER_LEVEL_FAMILY | GTK_FONT_CHOOSER_LEVEL_STYLE); + gtk_grid_attach (GTK_GRID (grid), GTK_WIDGET(*fontsel), 1, row, 1, 1); + + adj = GTK_ADJUSTMENT (gtk_adjustment_new (height, 0.1, 10.0, 0.1, 1.0, 0)); +diff --git a/objects/UML/class_dialog.h b/objects/UML/class_dialog.h +index 6bbb4b404..bf38b5613 100644 +--- a/objects/UML/class_dialog.h ++++ b/objects/UML/class_dialog.h +@@ -1,7 +1,6 @@ + #pragma once + + #include "dia-colour-selector.h" +-#include "dia-font-selector.h" + + G_BEGIN_DECLS + +@@ -32,12 +31,12 @@ struct _UMLClassDialog { + GtkToggleButton *op_supp; + GtkToggleButton *comments_vis; + GtkToggleButton *op_wrap; +- DiaFontSelector *normal_font; +- DiaFontSelector *abstract_font; +- DiaFontSelector *polymorphic_font; +- DiaFontSelector *classname_font; +- DiaFontSelector *abstract_classname_font; +- DiaFontSelector *comment_font; ++ GtkFontButton *normal_font; ++ GtkFontButton *abstract_font; ++ GtkFontButton *polymorphic_font; ++ GtkFontButton *classname_font; ++ GtkFontButton *abstract_classname_font; ++ GtkFontButton *comment_font; + GtkSpinButton *normal_font_height; + GtkSpinButton *abstract_font_height; + GtkSpinButton *polymorphic_font_height; +-- +GitLab + diff --git a/helpers/DATA/dino-im/cve/01_ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec.patch b/helpers/DATA/dino-im/cve/01_ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec.patch deleted file mode 100644 index 0172ccd..0000000 --- a/helpers/DATA/dino-im/cve/01_ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec.patch +++ /dev/null @@ -1,37 +0,0 @@ -From ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec Mon Sep 17 00:00:00 2001 -From: Marvin W -Date: Thu, 23 Mar 2023 10:13:30 -0600 -Subject: [PATCH] Check sender of bookmark:1 updates - ---- - xmpp-vala/src/module/xep/0402_bookmarks2.vala | 10 ++++++++++ - 1 file changed, 10 insertions(+) - -diff --git a/xmpp-vala/src/module/xep/0402_bookmarks2.vala b/xmpp-vala/src/module/xep/0402_bookmarks2.vala -index 406f37f43..d1e53e6e3 100644 ---- a/xmpp-vala/src/module/xep/0402_bookmarks2.vala -+++ b/xmpp-vala/src/module/xep/0402_bookmarks2.vala -@@ -68,6 +68,11 @@ public class Module : BookmarksProvider, XmppStreamModule { - } - - private void on_pupsub_item(XmppStream stream, Jid jid, string id, StanzaNode? node) { -+ if (!jid.equals(stream.get_flag(Bind.Flag.IDENTITY).my_jid.bare_jid)) { -+ warning("Received alleged bookmarks:1 item from %s, ignoring", jid.to_string()); -+ return; -+ } -+ - Conference conference = parse_item_node(node, id); - Flag? flag = stream.get_flag(Flag.IDENTITY); - if (flag != null) { -@@ -77,6 +82,11 @@ public class Module : BookmarksProvider, XmppStreamModule { - } - - private void on_pupsub_retract(XmppStream stream, Jid jid, string id) { -+ if (!jid.equals(stream.get_flag(Bind.Flag.IDENTITY).my_jid.bare_jid)) { -+ warning("Received alleged bookmarks:1 retract from %s, ignoring", jid.to_string()); -+ return; -+ } -+ - try { - Jid jid_parsed = new Jid(id); - Flag? flag = stream.get_flag(Flag.IDENTITY); diff --git a/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch b/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch index 13a196a..1c1e7a4 100644 --- a/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch +++ b/helpers/DATA/distro-info-data/add_trisquel_tools_py.patch @@ -1,14 +1,16 @@ ---- a/lib/tools.py 2021-10-15 08:01:00.000000000 -0500 -+++ a/lib/tools.py 2022-04-06 12:27:07.672427372 -0500 -@@ -37,7 +37,7 @@ +diff --git a/lib/tools.py b/lib/tools.py +index 2ab74f7f..a3d52620 100644 +--- a/lib/tools.py ++++ b/lib/tools.py +@@ -49,7 +49,7 @@ def get_csv_dict_reader(filename: str) -> csv.DictReader: + def main(validation_function): """Main function with command line parameter parsing.""" - script_name = os.path.basename(sys.argv[0]) -- usage = "%s [-h] -d|-u csv-file" % (script_name) -+ usage = "%s [-h] -d|-u|-t csv-file" % (script_name) - parser = argparse.ArgumentParser(usage=usage) +- parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u csv-file") ++ parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u|-t csv-file") parser.add_argument( + "-d", @@ -56,15 +56,24 @@ default=False, help="validate an Ubuntu CSV file", diff --git a/helpers/DATA/distro-info/distro_info_py.patch b/helpers/DATA/distro-info/distro_info_py.patch index efd916b..0c91ff1 100644 --- a/helpers/DATA/distro-info/distro_info_py.patch +++ b/helpers/DATA/distro-info/distro_info_py.patch @@ -1,5 +1,7 @@ ---- source/python/distro_info.py 2021-11-04 15:27:37.000000000 -0600 -+++ source/python/distro_info.py_fix 2022-04-06 10:20:39.217365952 -0500 +diff --git a/python/distro_info.py b/python/distro_info.py +index c87fbff6..0a624745 100644 +--- a/python/distro_info.py ++++ b/python/distro_info.py @@ -1,3 +1,4 @@ +# Copyright (C) 2021, Trisquel GNU/Linux developers # Copyright (C) 2009-2012, Benjamin Drung @@ -23,7 +25,7 @@ """ def __init__(self, distro): -@@ -311,14 +312,14 @@ +@@ -340,16 +340,16 @@ class DebianDistroInfo(DistroInfo): ] @@ -32,31 +34,35 @@ +class TrisquelDistroInfo(DistroInfo): + """provides information about Trisquel's distributions""" - def __init__(self): + def __init__(self) -> None: - super().__init__("Ubuntu") + super().__init__("Trisquel") - def lts(self, date=None, result="codename"): + def lts( + self, date: typing.Optional[datetime.date] = None, result: str = "codename" + ) -> typing.Union[DistroRelease, str]: - """Get latest long term support (LTS) Ubuntu distribution based on the + """Get latest long term support (LTS) Trisquel distribution based on the given date.""" if date is None: date = self._date -@@ -337,7 +338,7 @@ - return "LTS" in distros[0].version - - def supported(self, date=None, result="codename"): +@@ -372,7 +372,7 @@ class UbuntuDistroInfo(DistroInfo): + def supported( + self, date: typing.Optional[datetime.date] = None, result: str = "codename" + ) -> list[typing.Union[DistroRelease, str]]: - """Get list of all supported Ubuntu distributions based on the given + """Get list of all supported Trisquel distributions based on the given date.""" if date is None: date = self._date -@@ -347,15 +348,3 @@ - if date <= x.eol or (x.eol_server is not None and date <= x.eol_server) +@@ -382,17 +382,3 @@ class UbuntuDistroInfo(DistroInfo): + if (x.eol and date <= x.eol) or (x.eol_server is not None and date <= x.eol_server) ] return distros - -- def supported_esm(self, date=None, result="codename"): +- def supported_esm( +- self, date: typing.Optional[datetime.date] = None, result: str = "codename" +- ) -> list[typing.Union[DistroRelease, str]]: - """Get list of all ESM supported Ubuntu distributions based on the - given date.""" - if date is None: diff --git a/helpers/DATA/distro-info/test_distro_info.py.patch b/helpers/DATA/distro-info/test_distro_info.py.patch new file mode 100644 index 0000000..1e7d6bf --- /dev/null +++ b/helpers/DATA/distro-info/test_distro_info.py.patch @@ -0,0 +1,152 @@ +diff --git a/python/distro_info_test/test_distro_info.py b/python/distro_info_test/test_distro_info.py +index b9e1cc13..94474bf5 100644 +--- a/python/distro_info_test/test_distro_info.py ++++ b/python/distro_info_test/test_distro_info.py +@@ -1,5 +1,6 @@ + # test_distro_info.py - Test suite for distro_info + # ++# Copyright (C) 2024, Trisquel GNU/Linux developers + # Copyright (C) 2011, Benjamin Drung + # + # Permission to use, copy, modify, and/or distribute this software for any +@@ -19,7 +20,7 @@ + import datetime + import unittest + +-from distro_info import DebianDistroInfo, UbuntuDistroInfo ++from distro_info import DebianDistroInfo, TrisquelDistroInfo + + + class DebianDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-public-methods +@@ -122,91 +123,89 @@ class DebianDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-p + self.assertEqual(self._distro_info.stable(self._date, result="release"), "5.0") + + +-class UbuntuDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-public-methods +- """TestCase object for distro_info.UbuntuDistroInfo""" ++class TrisquelDistroInfoTestCase(unittest.TestCase): # pylint: disable=too-many-public-methods ++ """TestCase object for distro_info.TrisquelDistroInfo""" + + def setUp(self) -> None: # pylint: disable=invalid-name +- self._distro_info = UbuntuDistroInfo() ++ self._distro_info = TrisquelDistroInfo() + self._date = datetime.date(2011, 1, 10) + + def test_all(self) -> None: +- """Test: List all known Ubuntu distributions.""" ++ """Test: List all known Trisquel distributions.""" + all_distros = { +- "warty", +- "hoary", +- "breezy", +- "dapper", +- "edgy", +- "feisty", +- "gutsy", +- "hardy", +- "intrepid", +- "jaunty", +- "karmic", +- "lucid", +- "maverick", +- "natty", ++ "robur", ++ "dwyn", ++ "awen", ++ "taranis", ++ "slaine", ++ "dagda", ++ "brigantia", ++ "toutanis", ++ "belenos", ++ "flidas", ++ "etiona", ++ "nabia", + } + self.assertEqual(all_distros - set(self._distro_info.all), set()) + + def test_devel(self) -> None: +- """Test: Get latest development Ubuntu distribution.""" +- self.assertEqual(self._distro_info.devel(self._date), "natty") ++ """Test: Get latest development Trisquel distribution.""" ++ self.assertEqual(self._distro_info.devel(self._date), "dagda") + + def test_lts(self) -> None: +- """Test: Get latest long term support (LTS) Ubuntu distribution.""" +- self.assertEqual(self._distro_info.lts(self._date), "lucid") ++ """Test: Get latest long term support (LTS) Trisquel distribution.""" ++ self.assertEqual(self._distro_info.lts(self._date), "taranis") + + def test_stable(self) -> None: +- """Test: Get latest stable Ubuntu distribution.""" +- self.assertEqual(self._distro_info.stable(self._date), "maverick") ++ """Test: Get latest stable Trisquel distribution.""" ++ self.assertEqual(self._distro_info.stable(self._date), "taranis") + + def test_supported(self) -> None: +- """Test: List all supported Ubuntu distribution.""" +- supported = ["dapper", "hardy", "karmic", "lucid", "maverick", "natty"] ++ """Test: List all supported Trisquel distribution.""" ++ supported = ["robur", "awen", "taranis", "slaine", "dagda"] + self.assertEqual(self._distro_info.supported(self._date), supported) + + def test_unsupported(self) -> None: +- """Test: List all unsupported Ubuntu distributions.""" +- unsupported = ["warty", "hoary", "breezy", "edgy", "feisty", "gutsy", "intrepid", "jaunty"] ++ """Test: List all unsupported Trisquel distributions.""" ++ unsupported = ["dwyn"] + self.assertEqual(self._distro_info.unsupported(self._date), unsupported) + + def test_current_unsupported(self) -> None: +- """Test: List all unsupported Ubuntu distributions today.""" +- unsupported = {"warty", "hoary", "breezy", "edgy", "feisty", "gutsy", "intrepid", "jaunty"} ++ """Test: List all unsupported Trisquel distributions today.""" ++ unsupported = {"robur", "dwyn"} + self.assertEqual(unsupported - set(str(d) for d in self._distro_info.unsupported()), set()) + + def test_valid(self) -> None: +- """Test: Check for valid Ubuntu distribution.""" +- self.assertTrue(self._distro_info.valid("lucid")) ++ """Test: Check for valid Trisquel distribution.""" ++ self.assertTrue(self._distro_info.valid("taranis")) + self.assertFalse(self._distro_info.valid("42")) + + def test_is_lts(self) -> None: +- """Test: Check if Ubuntu distribution is an LTS.""" +- self.assertTrue(self._distro_info.is_lts("lucid")) ++ """Test: Check if Trisquel distribution is an LTS.""" ++ self.assertTrue(self._distro_info.is_lts("taranis")) + self.assertFalse(self._distro_info.is_lts("42")) + self.assertFalse(self._distro_info.is_lts("warty")) + + def test_codename(self) -> None: + """Test: Check result set to codename.""" +- self.assertEqual(self._distro_info.lts(self._date, "codename"), "lucid") +- self.assertEqual(self._distro_info.devel(self._date, result="codename"), "natty") ++ self.assertEqual(self._distro_info.lts(self._date, "codename"), "taranis") ++ self.assertEqual(self._distro_info.devel(self._date, result="codename"), "dagda") + + def test_version(self) -> None: + """Test: Check result set to version.""" +- self.assertEqual(self._distro_info.version("lucid"), "10.04 LTS") +- self.assertEqual(self._distro_info.version("Maverick Meerkat"), "10.10") ++ self.assertEqual(self._distro_info.version("taranis"), "4.0 LTS") ++ self.assertEqual(self._distro_info.version("Slaine"), "4.5") + + def test_fullname(self) -> None: + """Test: Check result set to fullname.""" + self.assertEqual( +- self._distro_info.stable(self._date, "fullname"), 'Ubuntu 10.10 "Maverick Meerkat"' ++ self._distro_info.stable(self._date, "fullname"), 'Trisquel 4.0 LTS "Taranis"' + ) + self.assertEqual( +- self._distro_info.lts(self._date, result="fullname"), 'Ubuntu 10.04 LTS "Lucid Lynx"' ++ self._distro_info.lts(self._date, result="fullname"), 'Trisquel 4.0 LTS "Taranis"' + ) + + def test_release(self) -> None: + """Test: Check result set to release.""" +- self.assertEqual(self._distro_info.devel(self._date, "release"), "11.04") +- self.assertEqual(self._distro_info.lts(self._date, result="release"), "10.04 LTS") ++ self.assertEqual(self._distro_info.devel(self._date, "release"), "5.0") ++ self.assertEqual(self._distro_info.lts(self._date, result="release"), "4.0 LTS") diff --git a/helpers/DATA/distro-info/test_distro_info.py b/helpers/DATA/distro-info/test_distro_info.py_legacy similarity index 98% rename from helpers/DATA/distro-info/test_distro_info.py rename to helpers/DATA/distro-info/test_distro_info.py_legacy index d3a8a77..eebdf32 100644 --- a/helpers/DATA/distro-info/test_distro_info.py +++ b/helpers/DATA/distro-info/test_distro_info.py_legacy @@ -1,3 +1,8 @@ +## +# This file is used for reference when the patch needs updating. +# only remove it when you no longer need it on the next release +# e.g. T12 > T13, etc. +## # test_distro_info.py - Test suite for distro_info # # Copyright (C) 2021, Trisquel GNU/Linux developers diff --git a/helpers/DATA/dpkg/Trisquel.pm b/helpers/DATA/dpkg/Trisquel.pm deleted file mode 100644 index 3710ff7..0000000 --- a/helpers/DATA/dpkg/Trisquel.pm +++ /dev/null @@ -1,100 +0,0 @@ -# Copyright © 2008 Ian Jackson -# Copyright © 2008 Canonical, Ltd. -# written by Colin Watson -# Copyright © 2008 James Westby -# Copyright © 2009 Raphaël Hertzog -# Copyright © 2022 Ruben Rodriguez -# -# 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 -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -package Dpkg::Vendor::Trisquel; - -use strict; -use warnings; - -our $VERSION = '0.01'; - -use Dpkg::ErrorHandling; -use Dpkg::Gettext; -use Dpkg::Control::Types; - -use parent qw(Dpkg::Vendor::Debian); - -=encoding utf8 - -=head1 NAME - -Dpkg::Vendor::Trisquel - Trisquel vendor class - -=head1 DESCRIPTION - -This vendor class customizes the behaviour of dpkg scripts for Trisquel -specific behavior and policies. - -=cut - -sub run_hook { - my ($self, $hook, @params) = @_; - - if ($hook eq 'package-keyrings') { - return ($self->SUPER::run_hook($hook), - '/usr/share/keyrings/trisquel-archive-keyring.gpg'); - } elsif ($hook eq 'archive-keyrings') { - return ($self->SUPER::run_hook($hook), - '/usr/share/keyrings/trisquel-archive-keyring.gpg'); - } elsif ($hook eq 'archive-keyrings-historic') { - return ($self->SUPER::run_hook($hook), - '/usr/share/keyrings/trisquel-archive-removed-keys.gpg'); - } elsif ($hook eq 'update-buildflags') { - my $flags = shift @params; - - # Run the Debian hook to add hardening flags - $self->SUPER::run_hook($hook, $flags); - - require Dpkg::BuildOptions; - - my $build_opts = Dpkg::BuildOptions->new(); - - if (!$build_opts->has('noopt')) { - require Dpkg::Arch; - - my $arch = Dpkg::Arch::get_host_arch(); - if (Dpkg::Arch::debarch_eq($arch, 'ppc64el')) { - for my $flag (qw(CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS GCJFLAGS - FFLAGS FCFLAGS)) { - my $value = $flags->get($flag); - $value =~ s/-O[0-9]/-O3/; - $flags->set($flag, $value); - } - } - } - # Per https://wiki.ubuntu.com/DistCompilerFlags - $flags->prepend('LDFLAGS', '-Wl,-Bsymbolic-functions'); - } else { - return $self->SUPER::run_hook($hook, @params); - } - - # Default return value for unknown/unimplemented hooks - return; -} - -=head1 CHANGES - -=head2 Version 0.xx - -This is a private module. - -=cut - -1; diff --git a/helpers/DATA/dpkg/patch-Makefile_in_am-to-add-trisquel-options.patch b/helpers/DATA/dpkg/patch-Makefile_in_am-to-add-trisquel-options.patch new file mode 100644 index 0000000..fb618d4 --- /dev/null +++ b/helpers/DATA/dpkg/patch-Makefile_in_am-to-add-trisquel-options.patch @@ -0,0 +1,56 @@ +diff --git a/scripts/Makefile.am b/scripts/Makefile.am +index 8d39d24..c69d88d 100644 +--- a/scripts/Makefile.am ++++ b/scripts/Makefile.am +@@ -89,6 +89,7 @@ nobase_dist_perllib_DATA = \ + Dpkg/Vendor/Default.pm \ + Dpkg/Vendor/Devuan.pm \ + Dpkg/Vendor/Ubuntu.pm \ ++ Dpkg/Vendor/Trisquel.pm \ + Dpkg/Version.pm \ + Dpkg.pm \ + # EOL +@@ -237,6 +238,7 @@ test_scripts = \ + t/Dpkg_BuildEnv.t \ + t/Dpkg_BuildFlags.t \ + t/Dpkg_BuildFlags_Ubuntu.t \ ++ t/Dpkg_BuildFlags_Trisquel.t + t/Dpkg_BuildInfo.t \ + t/Dpkg_BuildOptions.t \ + t/Dpkg_BuildProfiles.t \ +@@ -258,6 +260,7 @@ test_scripts = \ + t/Dpkg_Vendor.t \ + t/Dpkg_Changelog.t \ + t/Dpkg_Changelog_Ubuntu.t \ ++ t/Dpkg_Changelog_Trisquel.t \ + t/Dpkg_Control_Fields.t \ + t/Dpkg_Control.t \ + t/Dpkg_Control_Tests.t \ +diff --git a/scripts/Makefile.in b/scripts/Makefile.in +index 8b0a61f..74a035f 100644 +--- a/scripts/Makefile.in ++++ b/scripts/Makefile.in +@@ -548,6 +548,7 @@ nobase_dist_perllib_DATA = \ + Dpkg/Vendor/Default.pm \ + Dpkg/Vendor/Devuan.pm \ + Dpkg/Vendor/Ubuntu.pm \ ++ Dpkg/Vendor/Trisquel.pm \ + Dpkg/Version.pm \ + Dpkg.pm \ + # EOL +@@ -644,6 +645,7 @@ test_scripts = \ + t/Dpkg_BuildEnv.t \ + t/Dpkg_BuildFlags.t \ + t/Dpkg_BuildFlags_Ubuntu.t \ ++ t/Dpkg_BuildFlags_Trisquel.t \ + t/Dpkg_BuildInfo.t \ + t/Dpkg_BuildOptions.t \ + t/Dpkg_BuildProfiles.t \ +@@ -665,6 +667,7 @@ test_scripts = \ + t/Dpkg_Vendor.t \ + t/Dpkg_Changelog.t \ + t/Dpkg_Changelog_Ubuntu.t \ ++ t/Dpkg_Changelog_Trisquel.t \ + t/Dpkg_Control_Fields.t \ + t/Dpkg_Control.t \ + t/Dpkg_Control_Tests.t \ diff --git a/helpers/DATA/dpkg/patch-Trisquel_pm-from-Ubuntu_pm.patch b/helpers/DATA/dpkg/patch-Trisquel_pm-from-Ubuntu_pm.patch new file mode 100644 index 0000000..75fc55d --- /dev/null +++ b/helpers/DATA/dpkg/patch-Trisquel_pm-from-Ubuntu_pm.patch @@ -0,0 +1,154 @@ +diff --git a/scripts/Dpkg/Vendor/Trisquel.pm b/scripts/Dpkg/Vendor/Trisquel.pm +index 383d5cc..8b65c43 100644 +--- a/scripts/Dpkg/Vendor/Trisquel.pm ++++ b/scripts/Dpkg/Vendor/Trisquel.pm +@@ -3,6 +3,8 @@ + # written by Colin Watson + # Copyright © 2008 James Westby + # Copyright © 2009 Raphaël Hertzog ++# Copyright © 2022 Ruben Rodriguez ++# Copyright © 2024 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 +@@ -21,18 +23,18 @@ + + =head1 NAME + +-Dpkg::Vendor::Ubuntu - Ubuntu vendor class ++Dpkg::Vendor::Trisquel - Trisquel vendor class + + =head1 DESCRIPTION + +-This vendor class customizes the behavior of dpkg scripts for Ubuntu ++This vendor class customizes the behavior of dpkg scripts for Trisquel + specific behavior and policies. + + B: This is a private module, its API can change at any time. + + =cut + +-package Dpkg::Vendor::Ubuntu 0.01; ++package Dpkg::Vendor::Trisquel 0.01; + + use strict; + use warnings; +@@ -48,71 +50,20 @@ use parent qw(Dpkg::Vendor::Debian); + sub run_hook { + my ($self, $hook, @params) = @_; + +- if ($hook eq 'before-source-build') { +- my $src = shift @params; +- my $fields = $src->{fields}; +- +- # check that Maintainer/XSBC-Original-Maintainer comply to +- # https://wiki.ubuntu.com/DebianMaintainerField +- if (defined($fields->{'Version'}) and defined($fields->{'Maintainer'}) and +- $fields->{'Version'} =~ /ubuntu/) { +- if ($fields->{'Maintainer'} !~ /(?:ubuntu|canonical)/i) { +- if (length $ENV{DEBEMAIL} and $ENV{DEBEMAIL} =~ /\@(?:ubuntu|canonical)\.com/) { +- error(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address')); +- } else { +- warning(g_('Version number suggests Ubuntu changes, but Maintainer: does not have Ubuntu address')); +- } +- } +- unless ($fields->{'Original-Maintainer'}) { +- warning(g_('Version number suggests Ubuntu changes, but there is no XSBC-Original-Maintainer field')); +- } +- } +- } elsif ($hook eq 'package-keyrings') { ++ if ($hook eq 'package-keyrings') { + return ($self->SUPER::run_hook($hook), +- '/usr/share/keyrings/ubuntu-archive-keyring.gpg'); ++ '/usr/share/keyrings/trisquel-archive-keyring.gpg'); + } elsif ($hook eq 'archive-keyrings') { + return ($self->SUPER::run_hook($hook), +- '/usr/share/keyrings/ubuntu-archive-keyring.gpg'); ++ '/usr/share/keyrings/trisquel-archive-keyring.gpg'); + } elsif ($hook eq 'archive-keyrings-historic') { + return ($self->SUPER::run_hook($hook), +- '/usr/share/keyrings/ubuntu-archive-removed-keys.gpg'); +- } elsif ($hook eq 'register-custom-fields') { +- my @field_ops = $self->SUPER::run_hook($hook); +- push @field_ops, [ +- 'register', 'Launchpad-Bugs-Fixed', +- CTRL_FILE_CHANGES | CTRL_CHANGELOG, +- ], [ +- 'insert_after', CTRL_FILE_CHANGES, 'Closes', 'Launchpad-Bugs-Fixed', +- ], [ +- 'insert_after', CTRL_CHANGELOG, 'Closes', 'Launchpad-Bugs-Fixed', +- ]; +- return @field_ops; +- } elsif ($hook eq 'post-process-changelog-entry') { +- my $fields = shift @params; +- +- # Add Launchpad-Bugs-Fixed field +- my $bugs = find_launchpad_closes($fields->{'Changes'} // ''); +- if (scalar(@$bugs)) { +- $fields->{'Launchpad-Bugs-Fixed'} = join(' ', @$bugs); +- } +- } elsif ($hook eq 'update-buildopts') { +- my $build_opts = shift @params; +- require Dpkg::Arch; +- my $arch = Dpkg::Arch::get_host_arch(); +- if (Dpkg::Arch::debarch_eq($arch, 'riscv64')) { +- $build_opts->set('nocheck', 1, 'riscv64'); +- } +- } elsif ($hook eq 'update-buildprofiles') { +- my $build_profiles_ref = shift @params; +- unless(grep $_ =~ /^!?noudeb$/, @$build_profiles_ref) { +- unshift(@$build_profiles_ref, 'noudeb'); +- } else { +- # Strip otherwise invalid profile name +- @$build_profiles_ref = grep { $_ ne "!noudeb" } @$build_profiles_ref; +- } ++ '/usr/share/keyrings/trisquel-archive-removed-keys.gpg'); + } else { + return $self->SUPER::run_hook($hook, @params); + } ++ # Default return value for unknown/unimplemented hooks ++ return; + } + + sub _lto_disabled { +@@ -289,39 +240,11 @@ sub add_build_flags { + return; + } + +-=head1 PUBLIC FUNCTIONS +- +-=over +- +-=item $bugs = Dpkg::Vendor::Ubuntu::find_launchpad_closes($changes) +- +-Takes one string as argument and finds "LP: #123456, #654321" statements, +-which are references to bugs on Launchpad. Returns all closed bug +-numbers in an array reference. +- +-=cut +- +-sub find_launchpad_closes { +- my $changes = shift; +- my %closes; +- +- while ($changes && +- ($changes =~ /lp:\s+\#\d+(?:,\s*\#\d+)*/pig)) { +- $closes{$_} = 1 foreach (${^MATCH} =~ /\#?\s?(\d+)/g); +- } +- +- my @closes = sort { $a <=> $b } keys %closes; +- +- return \@closes; +-} +- +-=back +- + =head1 CHANGES + + =head2 Version 0.xx + +-This is a semi-private module. Only documented functions are public. ++This is a private module. + + =cut + diff --git a/helpers/DATA/electrum/replace_distutils_by_packaging.patch b/helpers/DATA/electrum/replace_distutils_by_packaging.patch new file mode 100644 index 0000000..01263b5 --- /dev/null +++ b/helpers/DATA/electrum/replace_distutils_by_packaging.patch @@ -0,0 +1,43 @@ +diff --git a/electrum/gui/qt/update_checker.py b/electrum/gui/qt/update_checker.py +index fa3ad989..998e746f 100644 +--- a/electrum/gui/qt/update_checker.py ++++ b/electrum/gui/qt/update_checker.py +@@ -16,7 +16,7 @@ from electrum.i18n import _ + from electrum.util import make_aiohttp_session + from electrum.logging import Logger + from electrum.network import Network +-from electrum._vendor.distutils.version import StrictVersion ++import packaging.version + + + class UpdateCheck(QDialog, Logger): +@@ -76,7 +76,7 @@ class UpdateCheck(QDialog, Logger): + + @staticmethod + def is_newer(latest_version): +- return latest_version > StrictVersion(version.ELECTRUM_VERSION) ++ return latest_version > packaging.version(version.ELECTRUM_VERSION) + + def update_view(self, latest_version=None): + if latest_version: +@@ -129,7 +129,7 @@ class UpdateCheckThread(QThread, Logger): + break + else: + raise Exception('no valid signature for version announcement') +- return StrictVersion(version_num.strip()) ++ return packaging.version(version_num.strip()) + + def run(self): + if not self.network: +diff --git a/debian/control b/debian/control +index 6b24e90c..2a3f3436 100644 +--- a/debian/control ++++ b/debian/control +@@ -24,6 +24,7 @@ Build-Depends: + python3-dnspython (>= 2.0), + python3-ecdsa (>= 0.14), + python3-kivy, ++ python3-packaging, + python3-pbkdf2, + python3-protobuf (>= 3.12), + python3-pyaes, diff --git a/helpers/DATA/emacs/patch_changes/000-add_custom_libs_imagemagic_tree-sitter_json.patch b/helpers/DATA/emacs/patch_changes/000-add_custom_libs_imagemagic_tree-sitter_json.patch deleted file mode 100644 index 8f9640f..0000000 --- a/helpers/DATA/emacs/patch_changes/000-add_custom_libs_imagemagic_tree-sitter_json.patch +++ /dev/null @@ -1,41 +0,0 @@ -diff --git a/debian/rules b/debian/rules -index 2aaaef13..db5d184f 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -297,6 +297,9 @@ confflags_gtk := $(confflags) - confflags_gtk += --with-cairo - confflags_gtk += --with-x=yes - confflags_gtk += --with-x-toolkit=gtk3 -+confflags_gtk += --with-imagemagick -+#confflags_gtk += --with-tree-sitter -+confflags_gtk += --with-json - # For those who prefer the old-style non-toolkit scrollbars, just - # change the assignment below to --without-toolkit-scroll-bars. The - # resulting emacs-gtk package will have the old scrollbars. -@@ -317,6 +320,9 @@ confflags_lucid += --with-x=yes - confflags_lucid += --with-x-toolkit=lucid - confflags_lucid += --with-toolkit-scroll-bars - confflags_lucid += --without-gsettings -+confflags_gtk += --with-imagemagick -+#confflags_gtk += --with-tree-sitter -+confflags_gtk += --with-json - - define cfg_tree - cd $(1) && \ -diff --git a/debian/control b/debian/control -index 005b695..169abfc 100644 ---- a/debian/control -+++ b/debian/control -@@ -26,10 +26,12 @@ Build-Depends: - libgpm-dev [linux-any], - libgtk-3-dev, - libharfbuzz-dev, -+ libjansson-dev, - libjpeg-dev, - liblcms2-dev, - liblockfile-dev, - libm17n-dev, -+ libmagickwand-dev, - libncurses-dev, - liboss4-salsa-dev [hurd-i386 kfreebsd-i386 kfreebsd-amd64], - libotf-dev, diff --git a/helpers/DATA/epiphany-browser/patch_changes/000-force_disable_gl_tests.patch b/helpers/DATA/epiphany-browser/patch_changes/000-force_disable_gl_tests.patch new file mode 100644 index 0000000..1590440 --- /dev/null +++ b/helpers/DATA/epiphany-browser/patch_changes/000-force_disable_gl_tests.patch @@ -0,0 +1,32 @@ +diff --git a/tests/meson.build b/tests/meson.build +index 5528a6e4..4b63cb85 100644 +--- a/tests/meson.build ++++ b/tests/meson.build +@@ -31,16 +31,17 @@ if get_option('unit_tests').enabled() + # env: envs + # ) + +- embed_shell_test = executable('test-ephy-embed-shell', +- 'ephy-embed-shell-test.c', +- adguard_resources, +- dependencies: ephymain_dep, +- c_args: test_cargs + ['-DTEST_DIR="' + meson.current_source_dir() + '"'], +- ) +- test('Embed shell test', +- embed_shell_test, +- env: envs +- ) ++ # TRISQUEL: Disabled test due builds env don't support OpenGL. ++ #embed_shell_test = executable('test-ephy-embed-shell', ++ # 'ephy-embed-shell-test.c', ++ # adguard_resources, ++ # dependencies: ephymain_dep, ++ # c_args: test_cargs + ['-DTEST_DIR="' + meson.current_source_dir() + '"'], ++ #) ++ #test('Embed shell test', ++ # embed_shell_test, ++ # env: envs ++ #) + + embed_utils_test = executable('test-ephy-embed-utils', + 'ephy-embed-utils-test.c', diff --git a/helpers/DATA/finish-install/09trisquel-uefi-splash b/helpers/DATA/finish-install/09trisquel-uefi-splash new file mode 100755 index 0000000..537e917 --- /dev/null +++ b/helpers/DATA/finish-install/09trisquel-uefi-splash @@ -0,0 +1,49 @@ +#!/bin/sh +# Enable 'splash' only on UEFI desktop installs, and only if Plymouth is present. +# Runs before 10update-initramfs, so we only call update-grub here. +# + +# Run only on UEFI installs +[ -d /sys/firmware/efi ] || exit 0 + +# Require plymouth in the target system (otherwise splash is pointless) +in-target dpkg -s plymouth >/dev/null 2>&1 || exit 0 + +# Heuristic “desktop present?” check — avoid debconf; rely on packages/DM. +if ! in-target sh -c ' + dpkg -s trisquel-desktop-common >/dev/null 2>&1 || + dpkg -s triskel >/dev/null 2>&1 || + dpkg -s trisquel-gnome >/dev/null 2>&1 || + dpkg -s trisquel-mini >/dev/null 2>&1 || + dpkg -s lightdm >/dev/null 2>&1 || + dpkg -s gdm3 >/dev/null 2>&1 || + dpkg -s sddm >/dev/null 2>&1 +'; then +# No desktop, then do nothing + exit 0 +fi + +CFG=/target/etc/default/grub +[ -f "$CFG" ] || exit 0 + +# If the key is missing entirely, create it with just "splash" +grep -q '^GRUB_CMDLINE_LINUX_DEFAULT=' "$CFG" \ + || echo 'GRUB_CMDLINE_LINUX_DEFAULT="splash"' >> "$CFG" + +# Normalize trivial cases: +# - empty quotes > "splash" +# - unquoted value > quote it +sed -i -r \ + -e 's/^GRUB_CMDLINE_LINUX_DEFAULT=""$/GRUB_CMDLINE_LINUX_DEFAULT="splash"/' \ + -e 's/^(GRUB_CMDLINE_LINUX_DEFAULT)=([^"].*)$/\1="\2"/' \ + "$CFG" + +# If 'splash' is already present, leave as-is; otherwise append it +grep -q '^GRUB_CMDLINE_LINUX_DEFAULT=.*\bsplash\b' "$CFG" || \ + sed -i -r 's/^(GRUB_CMDLINE_LINUX_DEFAULT="[^"]*)"/\1 splash"/' "$CFG" + +# Regenerate grub.cfg; never fail finish-install +in-target update-grub >/dev/null 2>&1 || true + +# Always succeed so remaining finish-install hooks run +exit 0 diff --git a/helpers/DATA/finish-install/fix_keyboard-configure-netinstall.patch b/helpers/DATA/finish-install/fix_keyboard-configure-netinstall.patch deleted file mode 100644 index 231ab51..0000000 --- a/helpers/DATA/finish-install/fix_keyboard-configure-netinstall.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff -Nru finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs ---- finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs 2018-08-10 14:21:58.000000000 -0500 -+++ finish-install-2.104+11.0trisquel0/finish-install.d/10update-initramfs 2022-12-18 17:56:21.817264252 -0600 -@@ -4,7 +4,11 @@ - # update-initramfs to make sure one can type the passphrase - # (see #694156, workaround for #696773): - /bin/in-target \ -- /bin/sh -c "dpkg-query -s cryptsetup >/dev/null 2>&1 && dpkg-query -s console-setup >/dev/null 2>&1" -+ /bin/sh -c "dpkg-query -s console-setup >/dev/null 2>&1" -+ -+#Fix bug keyboard not using the selected layout. -+/bin/in-target \ -+ dpkg-reconfigure -f noninteractive keyboard-configuration - - if [ $? = 0 ]; then - echo "Encrypted LVM detected, refreshing initramfs" diff --git a/helpers/DATA/finish-install/patch_changes/001-fix_keyboard-configure-netinstall.patch b/helpers/DATA/finish-install/patch_changes/001-fix_keyboard-configure-netinstall.patch new file mode 100644 index 0000000..0101fe3 --- /dev/null +++ b/helpers/DATA/finish-install/patch_changes/001-fix_keyboard-configure-netinstall.patch @@ -0,0 +1,16 @@ +diff --git a/finish-install.d/10update-initramfs b/finish-install.d/10update-initramfs +index f91557cb..6b35ce25 100755 +--- a/finish-install.d/10update-initramfs ++++ b/finish-install.d/10update-initramfs +@@ -6,8 +6,10 @@ log() { + + # If both cryptsetup and console-setup are installed, run update-initramfs to + # make sure one can type the passphrase (see #694156, workaround for #696773): +-if /bin/in-target /bin/sh -c "dpkg-query -s cryptsetup >/dev/null 2>&1 && dpkg-query -s console-setup >/dev/null 2>&1"; then ++if /bin/in-target /bin/sh -c "dpkg-query -s console-setup >/dev/null 2>&1"; then + log "refresh initramfs for cryptsetup" ++ # Fix bug keyboard not using the selected layout. --Trisquel ++ /bin/in-target /bin/sh -c "dpkg-reconfigure -f noninteractive keyboard-configuration" + refresh=yes + fi + diff --git a/helpers/DATA/firefox/patch_changes/005-apply_custom_urls.patch b/helpers/DATA/firefox/patch_changes/005-apply_custom_urls.patch index 4f57574..a8e8300 100644 --- a/helpers/DATA/firefox/patch_changes/005-apply_custom_urls.patch +++ b/helpers/DATA/firefox/patch_changes/005-apply_custom_urls.patch @@ -19,8 +19,47 @@ with is="" and support-page="..." Cheers! -diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml_ -index 77ea8f5d..62c3ce8e 100644 +diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml +index a9e8501a..02328371 100644 +--- a/browser/components/preferences/privacy.inc.xhtml ++++ b/browser/components/preferences/privacy.inc.xhtml +@@ -21,13 +21,13 @@ + + + +- +- ++ ++ + +