Compare commits

..

342 commits

Author SHA1 Message Date
Ark74
8d2f60aa1b apt: backport apt 3 improving deb822 2025-09-29 01:32:47 -06:00
Ark74
080caaf29d python-apt: enable cmxsl mirror at custom repo. 2025-09-29 00:50:35 -06:00
Ark74
dedb8dca9e config: update to full name. 2025-09-29 00:47:05 -06:00
Ark74
ffa3bf9e85 config: set custom config values for cmxsl 2025-09-28 01:53:09 -06:00
Ark74
864e63539c Merge branch 'ecne' of git.cmxsl.org:CMXSL.org/package-helpers-cmxsl into ecne-cmxsl 2025-09-27 21:47:26 -06:00
Luis Guzmán
63f1a0f061 software-properties: backport v111 for improved deb822 sources 2025-09-26 14:37:13 -06:00
Ark74
ba94845cbc yt-dlp: fix license table for parsing properly. 2025-09-25 14:50:18 -06:00
Luis Guzman
9538d86cd7 firefox: set higher priority than chromium based ones 2025-09-22 19:38:55 +00:00
Luis Guzmán
3a0b55b612 riseup-vpn: backport maintained release 2025-09-20 22:51:15 -06:00
Luis Guzmán
332c457286 libmateweather: update default server uri. 2025-09-20 21:47:31 -06:00
Ark74
9dbf1c0566 casper: setup appamor live reload profiles 2025-09-19 03:57:40 -06:00
Luis Guzmán
2f4bde7002 hplip: add trisquel distro-name definition for hplip tools. 2025-09-15 16:28:11 -06:00
Ark74
6183e8282b sbuild: add Trisquel's auto-selector DistroInfo switch for backports 2025-09-15 01:41:49 -06:00
Luis Guzmán
d61972afb9 firefox: update for v143 and remove conflict on sponsors reference. 2025-09-13 01:50:24 -06:00
Ark74
c77d0b3cb8 finish-install: set final version name. 2025-09-08 02:34:16 -06:00
Ark74
c49ef5c8e2 finish-install: slim and improve script 2025-09-08 01:31:22 -06:00
Ark74
9b01ea21cd finish-install: use in-target directly 2025-09-08 00:20:23 -06:00
Ark74
91486041d0 finish-install: add fallback option. 2025-09-07 23:19:25 -06:00
Ark74
79d29a0715 finish-install: add script to set splash on uefi installations. 2025-09-07 22:29:37 -06:00
Ark74
3c9b6cae5a debian-installer: update patch for upstream trixie latest release 2025-09-06 12:44:48 -06:00
Ark74
b3de867042 misc: update debian key 2025-09-01 04:41:42 -06:00
Ark74
41b608a231 kubuntu-settings: bump helper version, update on next artwork release. 2025-09-01 03:38:43 -06:00
Ark74
3be99832a1 debian-installer: bump final helper version 2025-09-01 03:25:39 -06:00
Ark74
bb4e30e9cd netcfg: bump final helper version 2025-09-01 03:20:58 -06:00
Ark74
48fb455923 base-installer: set final helper version 2025-09-01 03:16:06 -06:00
Ark74
566593039d ubuntu-release-upgrader: set static release on tarball script 2025-09-01 02:56:38 -06:00
Luis Guzmán
19af8d6039 fix "firefox: publish 142 build, disable Sponsored Checkboxes" 2025-08-31 01:21:47 -06:00
Luis Guzmán
9a8d6f42f2 firefox: publish 142 build, disable Sponsored Checkboxes 2025-08-31 01:08:20 -06:00
Luis Guzmán
434c42cf91 casper: fix disable services on kde live (triskel). 2025-08-30 17:37:37 -06:00
Luis Guzmán
93338254a6 firefox: test 142 build 2025-08-29 03:33:43 -06:00
Luis Guzman
ff611e79eb yt-dlp: update integration with abrowser patch. 2025-08-28 14:05:55 +00:00
Ark74
33ffb36646 apt-setup: bump final release number. 2025-08-27 21:50:31 -06:00
Luis Guzmán
b0b9f1a548 apt-setup: yet another fix on finish-install.d 2025-08-27 21:24:44 -06:00
Luis Guzmán
c6b9260780 apt-setup: rollback and actually run the right script 2025-08-27 15:05:42 -06:00
Ark74
c3aeccf573 apt-setup: simplify and move slim script 2025-08-27 14:28:23 -06:00
Ark74
f9689bfb1c ubiquity: setup slim deb822 migration. 2025-08-26 16:38:12 -06:00
Luis Guzman
923cea5d74 ubiquity: test parse sources.list 2025-08-26 09:06:11 +00:00
Ark74
60f94b2d5f apt-setup: change approach 2025-08-26 01:16:48 -06:00
Ark74
140ce7a282 apt-setup: test final custom tuning file. 2025-08-26 00:27:38 -06:00
Ark74
85821ce930 akregator: remove Kubuntu feeds 2025-08-26 00:06:37 -06:00
Ark74
64bd2c8655 config: add notice to remove_patch function. 2025-08-25 23:59:22 -06:00
Ark74
b67a9c1830 apt-setup: continue testing fixing final repo setup 2025-08-25 23:17:28 -06:00
Ark74
25926c10cb apt-setup: yet another adjustment to fix missing updates. 2025-08-25 17:23:59 -06:00
Ark74
1f503fb465 apt-setup: test fix for non-applied file changes. 2025-08-25 14:49:48 -06:00
Luis Guzman
677854292f apt-setup: use default rules to prevent early setup breakage 2025-08-25 06:08:12 +00:00
Luis Guzman
f0a793833d mypaint: backport fix for openmp segfault 2025-08-25 03:18:40 +00:00
Kurt Kremitzki
0d6302786f freecad: add freecad 0.21.2 from Ubuntu 24.10 2025-08-24 11:36:24 -06:00
Kurt Kremitzki
2dd6e26db0 Use rel link in readme 2025-08-24 07:15:50 -06:00
Ark74
c9a94d83a1 grub-installler: bump final version 2025-08-23 01:31:24 -06:00
Ark74
73f7c02365 grub-installer: test fix grub-installer efi 2025-08-22 15:52:03 -06:00
Ark74
e167196ba6 apt-setup: bump version to confirm working release 2025-08-19 06:42:05 -06:00
Ark74
568757513f apt-setup: initial setup for deb822 in d-i 2025-08-19 05:18:39 -06:00
Luis Guzman
7f5176c32f ubiquity: setup custom support for deb822 format 2025-08-19 10:30:59 +00:00
Ark74
46ebef52f1 tasksel: add custom (non-extensive) l10n setup for d-i 2025-08-18 05:29:32 -06:00
Ark74
c8f629bbed pkgsel: add propagation of installer-chosen locale to tasksel 2025-08-18 04:54:06 -06:00
Ark74
c058e65f86 debconf: add patches to safeguard Template.pm and Cache.pm 2025-08-17 04:55:07 -06:00
Ark74
745e43935c lxde-metapackages: set correct browser dependencies. 2025-08-17 02:22:19 -06:00
Ark74
daba10136c language-selector: add icecat l10n support for l-s. 2025-08-17 00:01:40 -06:00
Luis Guzmán
8a814b3e6b ubiquity: add workaround for mesa upgrade 2025-08-13 11:45:39 -06:00
Ark74
79c72f92d7 gtk+3.0: delay additional fix 2025-08-13 06:38:08 -06:00
Ark74
58667d178e gtk+3.0: fix FTBFS on armhf. 2025-08-13 05:48:50 -06:00
Ark74
8dd4361d9f gtk+3.0: fix position for tooltip in gtk3 (lxde/trisquel-mini) 2025-08-13 01:24:49 -06:00
Luis Guzmán
d2b3ecfbd6 DATA/keyring.gpg: add Debian Security Archive Automatic keys 12/13. 2025-08-12 16:56:55 -06:00
Ark74
ce7d611790 yt-dlp: update upstream keyring 2025-08-12 16:24:01 -06:00
Ark74
2f0835b062 ubuntu-release-upgrade: add helper to purge gpg-wks-server and prevent postfix install. 2025-08-11 22:58:29 -06:00
Luis Guzmán
fdb3fa84cd ubuntu-release-upgrader: add trisquel-sugar workaround and promote ecne release version 2025-08-10 19:01:42 -06:00
Ark74
c7ded611ea ubuntu-release-upgrader: add trisquel-mini upgrade helper to prevent missing login greeter 2025-08-08 19:14:45 -06:00
Luis Guzmán
dc69d82ab4 debian-installer: update debian-installer for August 2025 2025-08-06 19:40:50 -06:00
Luis Guzmán
103ff49081 kubuntu-settings: add README.md to usr-share folder. 2025-08-05 11:40:34 -06:00
Luis Guzmán
9d72a79a02 kubuntu-settings: fix template. 2025-08-05 00:28:31 -06:00
Ark74
9acaed0315 caja: show desktop icon by default 2025-08-04 20:20:39 -06:00
Ark74
5e274a5594 kubuntu-settings: update distro slide and icons to match Trisquel's ones 2025-08-04 18:19:27 -06:00
Ark74
dd865885a2 ubuntu-release-upgrader: add changes to build scripts 2025-08-02 15:32:06 -06:00
Luis Guzmán
b35bb12775 DATA/rpl: basic changes to drop python2 in helpers 2025-08-01 19:36:45 -06:00
Ark74
83c540811e ubiquity: set closest to fixed number. 2025-07-23 18:28:59 -06:00
Ark74
c0c9310268 ubiquity: set trisquel default partition recipe. 2025-07-23 15:05:03 -06:00
Ark74
3b2fbb8b52 partman-auto: bump version 2025-07-23 12:15:07 -06:00
Ark74
a3b9160667 partman-auto: set default trisquel partition recipe. 2025-07-23 12:13:09 -06:00
Ark74
7e6f367d00 vidtuber: add simple yt-dlp GUI frontend. 2025-07-21 17:13:42 -06:00
Ark74
d881dc94c2 casper: fix profile overwriting. 2025-07-19 13:45:40 -06:00
Luis Guzmán
959722e3f5 casper: add & enable icecat apparmor profile 2025-07-19 00:11:41 -06:00
Ark74
de8087afd0 apparmor: add icecat profiles for ecne 2025-07-18 01:26:59 -06:00
Luis Guzmán
2a88e15ae0 icecat: test adding trisquel binaries. 2025-07-17 07:35:13 -06:00
Ark74
abdd7515d1 lxpanel: add patch to fix armhf cpufreq plugin build. 2025-07-14 03:54:25 -06:00
Ark74
5b65330e61 lxpanel: fix several issues via upstream patches for trisquel-mini 2025-07-14 01:44:23 -06:00
Ark74
410f35b19e config: add simple multi-line support changelog. 2025-07-14 01:13:28 -06:00
Luis Guzmán
fd14c173f6 firefox: patch external links for addons & update gnuzilla addon url 2025-07-09 04:19:22 -06:00
Ark74
23b8b1217a config: restore upstream mirror 2025-07-08 00:00:45 -06:00
Luis Guzmán
120d3ba1bf debian-installer: temporary re-enable overwrite 'til riscv overhaul 2025-07-07 23:52:22 -06:00
Luis Guzmán
f0c7717cd6 mate-user-admin: manually add cracklib-runtime as a dependency. 2025-07-07 23:07:34 -06:00
Ark74
81e0edcda2 grub2-unsigned: remove deprecated patches from grub.johnlane.ie 2025-07-01 19:14:23 -06:00
Ark74
391b140e9a grub2: remove deprecated patches from grub.johnlane.ie 2025-07-01 18:18:00 -06:00
Luis Guzmán
a6a027858a plymouth: fix luks password shown in plain text 2025-06-30 21:58:50 -06:00
Ark74
8b0848ffba config: agregar personalización del CMXSL 2025-06-21 20:51:40 -06:00
Ark74
470773fdba yt-dlp: enable abrowser to use 'cookies-from-browser' feature 2025-06-21 00:38:30 -06:00
Luis Guzmán
157554638d cron: correct copyright on crontab2english.pl (fixes TPH # 199) 2025-06-17 00:15:21 -06:00
Luis Guzman
ef970bfec6 kolourpaint: add icon theme recommendation for non-kde environments 2025-06-16 13:39:48 -06:00
Luis Guzman
9ea949de00 misc: xz-utils set correct label stage 2025-06-16 13:14:57 -06:00
Luis Guzmán
b0a4c0fb48 ubuntu-release-upgrader: start work for ecne do-release-upgrade. 2025-06-14 22:47:34 -06:00
Ark74
1c4c985b76 llvm-toolchain-19: fix helper format to prevent issues with watchdog. 2025-06-14 05:01:32 -06:00
Luis Guzmán
4634fc0d33 config: add start info for package helpers 2025-06-12 18:54:36 -06:00
Ark74
5430649bee dia: apply dia's MR 114 to fix delay to open text properties 2025-06-12 17:01:22 -06:00
Luis Guzman
62502abfc7 firefox: yet another change for profile fix path. 2025-06-11 16:33:17 +00:00
Luis Guzman
b71e61a411 firefox: fix path due missing configure settings 2025-06-10 07:37:47 +00:00
Ark74
159d5f03dc llvm-toolchain-19: restore armhf rt runtime. 2025-06-07 01:33:19 -06:00
Luis Guzmán
857bdc6eea update-notifier: update wayland support patch 2025-06-06 12:23:11 -06:00
Luis Guzmán
40d46056ff firefox: add firefox fix for ppc64el 2025-06-06 11:41:15 -06:00
Luis Guzmán
80d1c2166b firefox: prepare package changes for v139 2025-06-05 10:16:16 -06:00
Ark74
7e57197c68 config: add git package-helpers repo url to config 2025-06-05 02:52:36 -06:00
Ark74
0416f8a1b7 debconf-kde: fix TPH #212, pass home to prevent requests. 2025-06-02 19:11:21 -06:00
Ark74
52ff0938c4 epiphany-browser: disable test that requires OpenGL on build. 2025-06-02 04:13:20 -06:00
Luis Guzmán
677d460fa2 kubuntu-settings: fix placeholder theme 2025-06-01 02:04:27 -06:00
Ark74
e3358d85f7 update-manager: update python style patch 2025-05-31 23:55:26 -06:00
Ark74
e9172f3598 ubiquity: fix ubiquity-dm erroring out due gsettings 2025-05-31 21:34:56 -06:00
Ark74
1ba4ce84e1 apparmor: drop deprecated patch on latest release. 2025-05-31 17:33:40 -06:00
Ark74
6c4cd38392 apparmor: add transmission updated daemon profile 2025-05-31 01:49:25 -06:00
Luis Guzmán
b074fc04d1 misc: mirrors update bump. 2025-05-30 00:45:57 -06:00
Ark74
660a4ac801 libselinux: workaround python-pip lack of for libselinux. 2025-05-29 10:39:27 -06:00
Luis Guzmán
04e1e63723 weechat: backport fixed security release 2025-05-27 06:15:28 -06:00
Ark74
171264a6fd transmission: prevent issues with daemon location due DEP17 2025-05-25 17:05:40 -06:00
Luis Guzman
bbabc1ca1c rustc-1.82: add rustc dependency for newer abrowser releases. 2025-05-25 02:05:11 +00:00
Luis Guzmán
5954f3ce56 rustc-1.81: add rustc dependency for newer abrowser releases. 2025-05-21 17:23:31 -06:00
Ark74
6eb79d4162 debian-installer: update helper for new release. 2025-05-16 23:59:50 -06:00
Luis Guzman
62b30fe628 0ad: add backport package for 0ad 2025-05-16 04:20:43 +00:00
Ark74
e5ba8acc19 0ad-data: add backport data for 0ad 2025-05-15 15:38:51 -06:00
Luis Guzmán
4cb725d1f2 ungoogled-chromium: add ublock as recommendation to ug-c 2025-05-14 22:50:27 +00:00
Ruben Rodriguez
2461092a1a casper: new method to enable abrowser apparmor profile 2025-05-14 15:35:12 -04:00
Ruben Rodriguez
ff879f1520 casper: enable abrowser apparmor profile, second attempt 2025-05-13 16:35:09 -04:00
Ruben Rodriguez
fe6be0eae5 casper: enable abrowser apparmor profile 2025-05-13 11:36:36 -04:00
Ark74
37e7f0c0a7 apt-setup: prevent breakage from removing files 2025-05-12 10:35:21 -06:00
Ruben Rodriguez
73750bd7a1 ubiquity: removed shim dependency 2025-05-11 21:04:20 -04:00
Luis Guzmán
496394b4cd osinfo-db: improve trisquel derivation from earlier releases. 2025-04-29 10:40:48 +00:00
Luis Guzman
93896f6529 debian-reference: remove documentation not related to Trisquel. 2025-04-27 21:05:45 +00:00
Ark74
4e03518e5e debian-installer: set legacy version format compatibility on makeiso. 2025-04-25 01:51:30 -06:00
Ark74
428b410f6f brltty: move base release to trixie for d-i/udeb build. 2025-04-24 02:18:10 -06:00
Luis Guzmán
a0f13ad4c8 localechooser: move base release to trixie for d-i/udeb build. 2025-04-24 08:16:43 +00:00
Ark74
75d444be9d grub-installer: TESTING release 2025-04-24 02:09:25 -06:00
Ark74
b070da5f4e wireless-regdb: move base release to trixie for d-i/udeb build. 2025-04-24 01:51:06 -06:00
Ark74
2a7b04db8b choose-mirror: move base release to trixie for d-i/udeb build. 2025-04-24 01:41:06 -06:00
Luis Guzmán
efa68b96ff linux-meta-hwe-6.11: add meta package for linux-hwe-6.11 2025-04-23 20:58:48 +00:00
Luis Guzmán
42b69de012 linux-hwe-6.11: add 6.11 release for HWE 2025-04-23 05:44:42 +00:00
Luis Guzmán
0c8c973c73 debian-installer: initial updated package for ecne 2025-04-22 23:57:08 +00:00
Ark74
4f380a8a26 gnome-software: bump version to test archive removal. 2025-04-22 04:27:42 -06:00
Luis Guzmán
a9a75b1414 netcfg: TESTING release 0.12 2025-04-20 10:32:53 +00:00
Luis Guzmán
5e104e2644 netcfg: TESTING release 0.11 2025-04-20 08:27:16 +00:00
Ark74
0691ca5a1e netcfg: TESTING release 2025-04-20 01:41:36 +00:00
Ark74
b2b7788ac3 hw-detect: move base release to trixie for d-i/udeb build. 2025-04-19 04:21:13 -06:00
Ark74
5a8ad54ae6 misc: cleaning orphan files. 2025-04-19 01:50:47 -06:00
Ark74
e8bca0f2f1 debian-installer-utils: move base release to trixie for d-i/udeb build. 2025-04-19 00:56:30 -06:00
Luis Guzmán
62b4c9b889 media-retriever: move base release to trixie for d-i/udeb build. 2025-04-19 06:04:10 +00:00
Luis Guzmán
ac94a07ee2 base-installer: TESTING release 2025-04-19 02:00:31 +00:00
Luis Guzmán
ad5b3debda linux: add custom deblob-check names 2025-04-19 00:14:01 +00:00
Ark74
9e60d31d3c finish-install: move base release to trixie for d-i/udeb build. 2025-04-18 02:16:07 -06:00
Ark74
9aa0a91c07 apt-setup: move base release to trixie for d-i/udeb build. 2025-04-18 00:58:02 -06:00
Ark74
1a3c5b0813 main-menu: move base release to trixie for d-i/udeb build. 2025-04-17 19:56:35 -06:00
Ark74
e6eebc6fa6 anna: move base release to trixie for d-i/udeb build. 2025-04-17 19:34:49 -06:00
Ark74
ecafd9c542 osinfo-data: clean applied patches upstream. 2025-04-17 15:53:02 -06:00
Luis Guzmán
c5d312a14b misc: move base release to trixie for d-i/udeb build. 2025-04-17 04:30:49 +00:00
Ark74
5b9d6f0d33 depthcharge-tools: customize tool to be able to work with versionless vmlinuz 2025-04-14 01:52:00 -06:00
Ark74
50fabd3635 config: add apply_patch_changes function 2025-04-14 01:47:16 -06:00
Luis Guzmán
2ed14cf856 acpi-support: reintegrate acpi-support from bookworm. 2025-04-13 05:55:12 +00:00
Ark74
0c42979120 thunderbird: update patch set for v128.9 2025-04-12 10:28:48 -06:00
Ark74
ab4991b445 grub2-unsigned: fix duplicated gnulinux reference. 2025-04-11 23:58:36 -06:00
Ark74
a3a24c1f9f grub2: fix duplicated gnulinux reference. 2025-04-11 23:28:08 -06:00
Luis Guzmán
ec4f3826e4 software-properties: update patch removing subscription tab. 2025-04-09 05:41:42 +00:00
Luis Guzmán
69085a1263 firefox: prepare 136 release and strength privacy 2025-04-06 04:26:32 +00:00
Luis Guzman
91122f8d0a linux: removal of references to external sources for firmware 2025-04-02 09:58:27 +00:00
Luis Guzmán
23eb1e81a2 config: add finish timestamp 2025-03-28 11:03:44 +00:00
Ark74
35d7743fe5 openssh: fix dpkg-vendor naming. 2025-03-26 20:16:40 -06:00
Luis Guzman
8834ddb118 choose-mirror: fix utf-8 on udeb via upgrade release 2025-03-19 09:13:52 +00:00
Luis Guzmán
7de8a3a2e7 language-selector: update settings for browser. 2025-03-19 09:04:21 +00:00
Luis Guzman
2a802d2f5d netcfg: bump netcfg to rebuild against latest wireless-tools 2025-03-18 09:42:38 +00:00
Luis Guzman
ce547987ce readline: add new udeb requirement for d-i in Ecne 2025-03-18 08:29:33 +00:00
Luis Guzman
9619b299ae acl: add new udeb requirement for d-i in Ecne 2025-03-18 08:27:39 +00:00
Luis Guzman
7fa1944e83 python-apt: split https and http servers argument. 2025-03-18 05:25:26 +00:00
Luis Guzmán
e0f999388d python-apt: update mirror parser and add note 2025-03-17 22:42:00 +00:00
Luis Guzmán
de1bcc6d6b ubiquity: update format and use new Mirror masterlist 2025-03-17 22:32:12 +00:00
Luis Guzman
478d01a83f plasma-discover: remove fwupd dependency 2025-03-17 07:10:51 +00:00
Luis Guzmán
30de49c3a2 xz-utils: add new udeb requirement for d-i in Ence 2025-03-12 04:16:10 +00:00
Luis Guzmán
346797cd74 gnupg2: manually set udeb dependencies for udeb package. 2025-03-11 21:42:18 +00:00
Luis Guzman
ab99cad6d3 shim: add package using debian template 2025-03-11 15:22:42 +00:00
Luis Guzman
04bcca5bf4 wireless-tools: update to new release fixing deprecated dependencies. 2025-03-11 15:15:24 +00:00
Ark74
bf268b8f32 vboot-utils: add fixed release from non-free data 2025-03-05 08:32:23 -06:00
Luis Guzmán
65cbfb2c22 apparmor-profiles-extra: fix screen reader in pidgin for Ecne (TPH#198) 2025-03-03 19:02:23 +00:00
Luis Guzmán
6a45eb640a firefox: fix build for 135 update 2025-02-24 06:51:47 +00:00
Luis Guzmán
6339fc4e6c ungoogled-chromium: add package via xtradeb community 2025-02-20 10:35:45 +00:00
Luis Guzman
0fa40eba9d mate-panel: add 2px to fit widgets in 2 lines. 2025-02-19 16:23:47 +00:00
Luis Guzmán
e9d95e10e5 linux: update silent patch for 6.8.0-53.55 kernel revision. 2025-02-16 18:03:46 +00:00
Ark74
66e1e7d0c5 grub2-unsigned: update grub2-unsigned for ecne 2025-02-05 00:52:56 -06:00
Luis Guzmán
6c4cbd0b8d python-apt,choose-mirror: mirrors list update 02-2025 2025-02-04 22:17:40 +00:00
Luis Guzmán
4e649c40fa firefox: disable hover preview tab as privacy settings maintenance. 2025-01-25 00:49:07 +00:00
Luis Guzmán
86c7abad7b firefox: test 134 version 2025-01-18 06:01:54 +00:00
Luis Guzmán
f058590d83 qt6-webengine: make sure to disable safe_browsing_mode by default. 2025-01-17 01:40:42 +00:00
Ark74
60defcbb80 qtwebengine-opensource-src: update removal list, fixes TPH:#196 2025-01-14 18:32:24 -06:00
Luis Guzmán
0c0b0faad2 qt6-webengine: add helper to remove non-free and prebuilt binaries 2025-01-15 00:27:45 +00:00
Ark74
3b1598a023 yt-dlp: add latest stable upstream and remove explicit site listing 2025-01-14 14:48:07 -06:00
Luis Guzmán
2c02a4e8f2 linux: initial restoration udeb binaries in ecne 2025-01-13 04:50:32 +00:00
Ark74
664272f6d9 kernel-wedge: fix setting duplicated compat version 2025-01-12 13:43:29 -06:00
Ark74
5fb7e0a7aa kernel-wedge: rollback to fixed version for ecne 2025-01-12 13:18:28 -06:00
Luis Guzmán
eb6fbf6434 thuderbird: prepare icedove release v128 2025-01-10 16:20:30 +00:00
Luis Guzman
4cecb36869 misc: remove placeholder helpers. 2025-01-08 18:09:34 +00:00
Ark74
7b4d04c8ac config: upgrade discover dpkg-vendor or distro-related behaviors 2025-01-03 15:16:46 -06:00
Luis Guzmán
8b2a80ce49 config: add old kernel build capability for development 2025-01-03 15:15:04 -06:00
Luis Guzmán
fcdc3464a6 firefox: final changes to fix trisquel's search engine icons. 2024-12-27 17:08:04 +00:00
Ark74
d41388e84b firmware-free: update helper for newer release 2024-12-26 18:14:19 -06:00
Luis Guzmán
1762af069d linux: tweak deblob-check for upstream update. 2024-12-26 02:03:49 +00:00
Luis Guzmán
09c66daabd firefox: test firefox v133 release 2024-12-18 11:50:12 -06:00
Luis Guzmán
bdbf2cf07b atril: add custom apparmor profile for atril 2024-12-06 09:44:03 -06:00
Luis Guzmán
5fd2eab062 python-apt: use git Mirrors.masterlist as main source 2024-12-06 06:23:38 +00:00
Luis Guzmán
67d17e9a6d choose-mirror: use git Mirrors.masterlist source. 2024-12-06 00:05:51 -06:00
Luis Guzmán
3c21ffde85 firefox: use v132.0.2 for some maintenance work. 2024-11-16 14:04:50 -06:00
Luis Guzman
39ac25ccf2 evince: fix apparmor profile for Trisquel Mini 2024-11-10 07:23:09 +00:00
Luis Guzmán
9d07b5ee53 network-manager: standardize dpkg-vendor '--derives' instead of '--is' 2024-11-10 07:07:55 +00:00
Luis Guzmán
193c89753f grub2: upgrade and improve GRUB2 helper for ecne. 2024-11-10 06:42:46 +00:00
Luis Guzman
b6591de7ed brltty: upgrade release to match grub2 requirements. 2024-11-10 00:40:59 +00:00
Luis Guzmán
b66e973b33 firefox: add lost comment on patch 005_apply_custom_urls.patch 2024-11-08 15:54:20 +00:00
Luis Guzmán
21303804e7 firefox: update for 132 release 2024-11-08 04:17:56 +00:00
Luis Guzmán
eb4adc8253 linux: update deblob-check for upstream included drivers on 6.8 2024-11-04 21:59:33 +00:00
Ark74
56a9442f21 debian-installer-utils: add patch to fix FTBFS issue. 2024-11-04 11:01:10 -06:00
Ark74
a645a4d3f3 plymouth: fix missing trisquel-logo on theme. 2024-11-01 04:14:43 -06:00
Luis Guzmán
86a87cb9b5 fastfecth,yyjson: backport to ecne from trixie. 2024-10-30 20:03:56 +00:00
Luis Guzman
8d7aa07738 greybird-gtk-theme: update focused deprecated pseudo-class 2024-10-30 10:24:38 +00:00
Luis Guzmán
3ef06381f9 update-manager: remove ubuntu-pro dependency 2024-10-30 10:20:42 +00:00
Ark74
f53b51b7d7 tor: update repo for ence's upstream release. 2024-10-29 19:33:59 -06:00
Luis Guzmán
337c44c126 gnome-online-accounts: restore upstream dependencies/services on latest versions. 2024-10-28 10:19:58 +00:00
Luis Guzmán
268446b6d5 gnome-online-accounts: use a 2-step build, droping earlier dependecies. 2024-10-28 08:01:01 +00:00
Luis Guzmán
44df4f6db6 casper: disable localechooser-data dependency. 2024-10-28 07:16:28 +00:00
Luis Guzman
b8d37adbee multipath-tools: remove deprecated change. 2024-10-28 06:49:22 +00:00
Luis Guzmán
fe5b068d92 dsniff: use placeholder helper 'til testing. 2024-10-28 06:18:44 +00:00
Luis Guzman
bf398c354b localechooser: migrate to bookworm base. 2024-10-28 04:59:05 +00:00
Luis Guzman
06f00ca503 cups-filters: add place holder helper (TBR). 2024-10-28 02:55:30 +00:00
Luis Guzman
8e8b6e905c gnome-software: remove fwupd build dependency. 2024-10-28 00:12:03 +00:00
Luis Guzmán
a5e0f1edf8 plymouth: first adjust for plymouth on new release; needs review on last stage. 2024-10-27 23:08:14 +00:00
Luis Guzman
0da66f6c64 guix: add patches to fix guix#73919 2024-10-24 07:08:41 +00:00
Luis Guzmán
661f01bea8 plasma-desktop: add DEPENDS variable. 2024-10-18 11:18:15 +00:00
Luis Guzmán
803d0d8316 software-properties: bump version to integer number. 2024-10-18 07:42:08 +00:00
Luis Guzmán
fceae841fe config: add note when dpkg-vendor is present in debian/rules 2024-10-18 02:42:59 +00:00
Luis Guzmán
3f05530d6f firefox: prepare security 131.0.2 release for testing 2024-10-17 23:35:02 +00:00
Ark74
e73c07bd61 network-manager: add patch to disable netplan on i386 2024-10-17 00:21:26 -06:00
Luis Guzmán
19cdc0e545 freedom-maker: update patches for newer release 2024-10-15 09:52:42 +00:00
Luis Guzmán
fe099af6d1 nextcloud-desktop: backport packages required for v3.14 2024-10-13 15:38:47 +00:00
Luis Guzman
1d7c9c4df0 libva: add temporary placeholder helper. 2024-10-12 22:54:26 +00:00
Luis Guzmán
81c84e6778 desktop-file-utils: remove unnecessary package helper. 2024-10-12 07:28:11 +00:00
Luis Guzmán
bc80830fb1 casper: update helper fix FTBFS 2024-10-11 15:02:44 +00:00
Luis Guzman
a1d2d2e353 update-manager: update helper for ecne 2024-10-07 22:57:21 -06:00
Luis Guzmán
a895c0c17b umbrello: set correct upstream release source package 2024-10-04 03:44:44 +00:00
Luis Guzmán
6ff7a29f95 python-apt: update mirrors October 2024 2024-10-01 21:15:35 +00:00
Luis Guzman
37d611b0de linux: update silent patch again. 2024-09-27 22:26:36 +00:00
Luis Guzmán
8b130213c9 lvm2: remove deprecated patches using profile for udebs. 2024-09-27 20:53:20 +00:00
Ark74
94e50ed96a apparmor: update patch 2024-09-27 10:56:05 -06:00
Ark74
a95aa4bc07 apparmor: update firefox profile patch. 2024-09-27 10:52:10 -06:00
Luis Guzmán
a8bc3693c0 debootstrap: add Ecne script 2024-09-12 05:33:01 +00:00
Ruben Rodriguez
17910ff66f unzip: Updated documentation details 2024-09-11 13:44:02 -04:00
Luis Guzman
eda9007667 dpkg: remove bash specific curly braces usage. 2024-09-11 16:47:49 +00:00
Luis Guzmán
bbef305933 glibc: simplify helper on ecne's release. 2024-09-11 07:32:19 +00:00
Luis Guzmán
5934b87b60 dpkg: replace static files for patches to track changes. 2024-09-10 18:34:06 +00:00
Ark74
202f686415 cdebconf: update default color palet usage, and remove udeb profile need. 2024-09-09 01:59:09 -06:00
Luis Guzmán
9294cef9d3 util-linux: fix FTBFS package in Ecne (12.0) 2024-09-09 05:12:12 +00:00
Luis Guzmán
43f1802f16 gnome-software: remove fwup and snap support from gnome-software. 2024-09-07 06:12:39 +00:00
Luis Guzman
bfc0fbe4e5 linux-meta-hwe-6.5: drop old release helper 2024-09-06 04:32:38 +00:00
Ark74
37b4ed799e ubuntukylin-wallpapers: fix version for PEP440 compliance. 2024-09-05 19:56:16 -06:00
Luis Guzmán
004cd98bfa postgresql-common: update patch for postgres build. 2024-09-05 00:30:43 +00:00
Luis Guzman
9a4c93a9ae misc: fix shared wallpaper path on helper. 2024-09-04 23:11:40 +00:00
Luis Guzmán
1c3f58b50a misc: use centralized wallpaper artwork. 2024-09-04 19:50:22 +00:00
Ark74
4c6fea56e4 misc: add static trisquel-wallpaper file and instructions. 2024-09-04 13:21:38 -06:00
Luis Guzmán
65b532c7dc budgie-desktop-environment: update helper ecne; (S5RR) 2024-09-04 18:47:49 +00:00
Luis Guzmán
1f9902ea66 deja-dup: update change to newer file iteration. 2024-09-04 08:34:40 +00:00
Luis Guzmán
ad747bc1c9 misc: add debootstrap stage definition for helper. 2024-09-04 08:03:50 +00:00
Luis Guzman
53ff4905dd misc: add stage definition for helper. 2024-09-04 07:04:52 +00:00
Luis Guzmán
5eb647ab71 tor: rollback to tor/jammy release while noble is published. 2024-09-04 01:58:18 +00:00
Ruben Rodriguez
8abf9b92af ubuntu-release-upgrader: fixed pep440 compatibility; updated some string replacements 2024-08-24 23:53:46 -04:00
Luis Guzmán
8233f4de21 apparmor: add unconfined profiles for abrowser and icedove. 2024-08-22 05:12:34 +00:00
Luis Guzmán
45b150b801 ltsp, epoptes: there is no PPA release and requires rebranding done from scratch. 2024-08-22 05:03:06 +00:00
Luis Guzmán
8535908065 software-properties: make software-properties-qt visible with custom icon. 2024-08-18 02:27:11 +00:00
Luis Guzman
dad9dcaca5 compiz: fix small ftbfs detail. 2024-08-17 16:45:17 +00:00
Luis Guzmán
047089ef31 7zip: migrate helper from transitional package name. 2024-08-16 01:04:49 +00:00
Luis Guzmán
76237b9e63 libva: at 2.16 the driver mapping mechanism changed, deprecating this helper. 2024-08-15 23:37:30 +00:00
Luis Guzman
2b790a5ac4 system-config-printer: update package helper for ecne 2024-08-15 22:47:14 +00:00
Luis Guzmán
3d98b7b03c libcupsfilters: migrate helper from cups-filters to replace test page 2024-08-14 23:38:57 +00:00
Luis Guzman
7c1e2a051e pulseaudio: update removal patch strategy. 2024-08-14 05:17:24 +00:00
Luis Guzman
7934af42b5 plasma-workspace: update theme background usage. 2024-08-14 00:58:10 +00:00
Luis Guzmán
43b4fd8bbe gnome-online-accounts: update helper to match helper build env. 2024-08-13 21:18:13 +00:00
Luis Guzman
904e566359 initramfs-tools: drop unnecessary helper for ecne. 2024-08-13 20:29:32 +00:00
Ark74
9a3b626e6f kopete: remove deprecated helper. 2024-08-12 20:42:37 -06:00
Luis Guzmán
f71aaa77eb osinfo-db: add patches to add upgrade and derivation field. 2024-08-05 20:31:33 +00:00
Luis Guzmán
13dcdd56db gnome-boxes: add support for trisquel logo from osinfo-db. 2024-08-05 20:23:16 +00:00
Luis Guzman
ffdb7550b5 osinfo-db: update helpers for ecne 2024-08-05 17:55:48 +00:00
Luis Guzmán
996d104fde mplayer: update helper for ecne 2024-08-05 16:35:48 +00:00
Luis Guzmán
e27e4e0e3b telegram-desktop: drop support for telegram-desktop 2024-08-05 01:34:21 +00:00
Luis Guzman
c8edf71300 fai: rename fai-server source code package. 2024-08-05 01:24:20 +00:00
Luis Guzmán
58459515e9 ubuntu-budgie-meta: update helper for ecne release. 2024-08-05 00:49:35 +00:00
Luis Guzmán
c947c3a355 update-notifier: tweak update-notifier for ecne release 2024-08-04 23:53:27 +00:00
Luis Guzman
eb213e21dc ubuntu-mate-settings: tweak ubuntu-mate-settings for ecne 2024-08-04 23:05:42 +00:00
Luis Guzman
0b1784aeb3 bleachbit: tweak patch for ecne. 2024-08-04 22:51:08 +00:00
Luis Guzman
dc8a00bd25 birdtray: drop helper for ecne 2024-08-04 22:35:06 +00:00
Luis Guzmán
6a0eef90d6 at-spi2-core: tweak helper for ecne release. 2024-08-04 22:27:17 +00:00
Luis Guzmán
95b8d45b82 arctica-greeter: update helper for ecne release 2024-08-04 22:03:09 +00:00
Luis Guzmán
7ead729db4 software-properties: replace deprecated lsb_release and fix style. 2024-08-03 22:56:51 +00:00
Luis Guzmán
ccc3d1bd30 linux: update annotations for 6.8.0-39 2024-08-01 06:21:22 +00:00
Ark74
0491017e0e app-install-data-ubuntu: update helper for ecne 2024-07-30 10:49:30 -06:00
Luis Guzmán
6a7c84ba02 linux: initial version for 6.8 ecne (no udebs) 2024-07-24 21:02:04 +00:00
Luis Guzmán
9999b7f971 config: add option to set security component on helper. 2024-07-24 11:39:08 -06:00
Luis Guzman
869086c720 firefox: roll back old serach-config and update privacy settings. 2024-07-19 23:38:08 +00:00
Luis Guzman
69e3d6220c config: add rollback patch function 2024-07-19 16:35:57 +00:00
Luis Guzmán
bcae7ae2a2 ansible: dropping helper as this new release no longer identify distributions. 2024-07-11 06:47:30 +00:00
Luis Guzmán
002fb3ef5c firefox: update strict patch for v128 2024-07-11 05:45:41 +00:00
Luis Guzmán
3f205c5244 virtnbdbackup: drop target specific python3 version instead use generic v3 one. 2024-07-10 09:08:17 +00:00
Luis Guzman
c86d6c0dd7 firefox: update and test changes for v127 2024-06-28 01:41:10 +00:00
Luis Guzman
691db64c84 asunder: update patch for T12 2024-06-22 01:25:00 +00:00
Luis Guzmán
d5b832a890 firmware-free: restore firmware-free helper for ecne 2024-06-21 07:01:19 +00:00
Luis Guzman
3574fae6de devscripts: update package and fix test. 2024-06-21 06:47:41 +00:00
Ark74
77135136c7 ubuntu-themes: improve branding logos replacement. 2024-06-20 22:51:15 -06:00
Luis Guzman
b1527a2f43 mlt: drop deprecated package by kdenlive team. 2024-06-19 07:16:26 +00:00
Luis Guzman
8c0578d3fc ublock-origin: update package helper for ecne 2024-06-19 06:16:21 +00:00
Luis Guzman
0497609f4c sugar: remove deprecated helper 2024-06-19 05:54:03 +00:00
Luis Guzman
22cb5c808e rhythmbox: update helper for improved readability 2024-06-19 05:38:43 +00:00
Luis Guzman
e8dd66e1cb reprepro: update patch for ddeb support. 2024-06-19 05:25:52 +00:00
Luis Guzmán
db13a69e70 pidgin: update helper for new cve updates. 2024-06-19 01:26:50 +00:00
Luis Guzman
1152581d7c network-manager-applet: update remove unwanted dependencies via patch. 2024-06-19 00:20:06 +00:00
Luis Guzmán
fb7639a549 mate-panel: drop patches for earlier release. 2024-06-18 23:32:55 +00:00
Ark74
84d7c43496 enigmail: remove deprecated package helper. 2024-06-18 12:44:38 -06:00
Ark74
fef6c167fb misc: remove deprecated linux-meta packages. 2024-06-18 01:19:46 -06:00
Ark74
cde7ea9479 linux-hwe-{5.19,6.2}: drop deprecated helper and data folders for ecne. 2024-06-16 17:06:56 -06:00
Luis Guzmán
621f51eca5 update-manager: forced fix for style on patch. 2024-06-10 18:17:20 +00:00
Luis Guzman
d73f931452 distro-info: updated distro-info test set for ecne build. 2024-06-10 18:11:56 +00:00
Luis Guzman
bff68c8db0 electrum: replace distutils StrictVersion with packaging.version 2024-06-10 17:10:32 +00:00
Luis Guzmán
75c57df87f distro-info-data: update data for ecne / noble. 2024-06-05 17:33:15 +00:00
Luis Guzmán
16701f2ac4 software-properties: update patches and l10n strings for ecne 2024-05-22 21:38:59 +00:00
Ark74
69df5c9619 config: add function to simplify patch application. 2024-05-22 15:36:29 -06:00
Luis Guzmán
2ce0b36aa4 python-apt: add freedif.org mirror (Singapore). 2024-05-21 17:59:12 +00:00
Ark74
d3bd3498e0 usb-creator: add german l10n update, thanks knife. 2024-05-18 04:56:36 -06:00
Luis Guzmán
b2ded520d2 update-manager: update patches and helper to meet new python test and style. 2024-05-18 10:32:13 +00:00
Luis Guzmán
98b18f0ac7 linux{,hwe-6.5}: fix disable dkms modules with external sources. 2024-05-18 06:58:32 +00:00
Luis Guzmán
7a9de61b49 update-manager: add german l10n, thanks knife. 2024-05-12 18:32:04 +00:00
Luis Guzmán
14df256664 greybird-gtk-theme: fix caja selected elements on inactive panel at list view 2024-05-10 00:44:03 -06:00
Luis Guzman
516a0a86ab firefox: update helper and patches for v126 2024-05-09 15:19:16 -06:00
Luis Guzmán
9e144601e1 config: add echo comment to easily identify sed_csum errors. 2024-05-08 13:16:09 -06:00
Luis Guzmán
372a379e8a misc: 2nd general review of helpers. 2024-05-01 18:52:05 +00:00
Luis Guzmán
df6774d1fe misc: update changes from aramo to ecne 2024-04-30 16:55:41 +00:00
Ark74
88b3f96c45 config: update data and version schema for ecne. 2024-04-07 02:00:09 +00:00
Ark74
751192b898 misc: initial removal of previous BUILD_UNTIL release. 2024-04-06 19:56:30 -06:00
Luis Guzmán
1cab53cfe5 firefox: set widget.gtk.libadwaita-colors.enabled to false. 2024-04-06 13:53:15 -06:00
1840 changed files with 12095 additions and 73725 deletions

View file

@ -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
<!-- Example: v1.3.2, v1.2.3trisquel1, etc -->
---
### 2. Steps to Reproduce
<!-- List the minimal steps to reproduce the issue -->
1. ...
2. ...
3. ...
---
### 3. Current Behavior
<!-- Describe what is happening -->
---
### 4. Expected Behavior *(optional)*
<!-- Describe what you expected to happen instead -->
---
### 5. Workaround *(optional)*
<!-- Is there a known workaround? -->
---
### 6. Suggestions, Investigation and Possible Causes *(optional)*
<!-- Share any insights, code references, or debugging steps you've taken -->
---
### 7. Other Tests *(optional)*
<!-- Any other environments or tests tried? -->
---

View file

@ -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 so they never enter into the repo from upstream and need to be
compiled with this helpers and pushed into reprepro. 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 ## 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: * 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 * Take care to use the right sourcePackageName, many source packages produce
several binary packages. `apt-cache showsrc binary-package` can help you. several binary packages. `apt-cache showsrc binary-package` can help you.

View file

@ -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.

View file

@ -1,5 +1,5 @@
--- src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500 --- a/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 +++ b/src/akregator_part.cpp 2020-06-05 12:46:05.914051386 -0500
@@ -189,6 +189,61 @@ @@ -189,6 +189,61 @@
wire.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://wire.kubuntu.org/?feed=rss2")); wire.setAttribute(QStringLiteral("xmlUrl"), QStringLiteral("http://wire.kubuntu.org/?feed=rss2"));
kubuntuFolder.appendChild(wire); kubuntuFolder.appendChild(wire);

View file

@ -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,

View file

@ -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 <abi/4.0>,
include <tunables/global>
-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 <local/firefox>
+ include if exists <local/abrowser>
}
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 <abi/4.0>,
include <tunables/global>
-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 <local/thunderbird>
+ include if exists <local/icedove>
}
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 <abi/4.0>,
include <tunables/global>
-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 <local/firefox>
+ include if exists <local/icecat>
}
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

View file

@ -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 <abi/4.0>,
include <tunables/global>
# 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 <tunables/global>
# /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 <abstractions/audio>
include <abstractions/cups-client>
include <abstractions/dbus-strict>
@@ -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 <abstractions/ubuntu-browsers.d/firefox>
# Site-specific additions and overrides. See local/README for details.
- include if exists <local/usr.bin.firefox>
- include if exists <local/firefox>
+ include if exists <local/usr.bin.icecat>
+ include if exists <local/icecat>
}
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 <abi/4.0>,
include <tunables/global>
# 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 <tunables/global>
# /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 <abstractions/audio>
include <abstractions/cups-client>
include <abstractions/dbus-strict>
@@ -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 <abstractions/ubuntu-browsers.d/firefox>
# Site-specific additions and overrides. See local/README for details.
- include if exists <local/usr.bin.firefox>
- include if exists <local/firefox>
+ include if exists <local/usr.bin.abrowser>
+ include if exists <local/abrowser>
}
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

View file

@ -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 <local/firefox.sh>
}
+
+profile firefox.sh /usr/lib/abrowser/firefox.sh {
+ include <abstractions/base>
+ include <abstractions/bash>
+ include <abstractions/consoles>
+
+ 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 <local/firefox.sh>
+}
+
+profile firefox.sh /usr/lib/icecat/firefox.sh {
+ include <abstractions/base>
+ include <abstractions/bash>
+ include <abstractions/consoles>
+
+ 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 <local/firefox.sh>
+}

View file

@ -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 <abi/4.0>,
include <tunables/global>
-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 <abstractions/base>
@@ -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 <abstractions/transmission-common>
include <abstractions/consoles>
+ /usr/bin/transmission-cli mr,
+
# Site-specific additions and overrides. See local/README for details.
include if exists <local/transmission>
include if exists <local/transmission-cli>
}
-profile transmission-gtk /usr/bin/transmission-gtk flags=(complain) {
+profile transmission-gtk /usr/bin/transmission-gtk flags=(complain,attach_disconnected) {
include <abstractions/transmission-common>
include <abstractions/dbus-session-strict>
include <abstractions/dconf>
include <abstractions/gnome>
+ /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 <abstractions/qt5>
include <abstractions/qt5-settings-write>
+ /usr/bin/transmission-qt mr,
+
# Site-specific additions and overrides. See local/README for details.
include if exists <local/transmission>
include if exists <local/transmission-qt>

View file

@ -1,26 +0,0 @@
From b5a7641dd3502fcfb897d3b96e197628b674ce3c Mon Sep 17 00:00:00 2001
From: Adrian Heine <mail@adrianheine.de>
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 <abstractions/audio.d>
--
GitLab

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -6,15 +6,11 @@
<!ENTITY keyring-master-filename "/usr/share/keyrings/trisquel-master-keyring.gpg"> <!ENTITY keyring-master-filename "/usr/share/keyrings/trisquel-master-keyring.gpg">
<!ENTITY keyring-uri "http://archive.trisquel.org/trisquel/trisquel-archive-signkey.gpg"> <!ENTITY keyring-uri "http://archive.trisquel.org/trisquel/trisquel-archive-signkey.gpg">
<!ENTITY sourceslist-list-format "deb http://archive.trisquel.org/trisquel &trisquel-codename; main <!ENTITY sourceslist-list-format "deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] http://archive.trisquel.org/trisquel &trisquel-codename; main
deb http://archive.trisquel.org/trisquel &trisquel-codename;-security main deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] http://archive.trisquel.org/trisquel &trisquel-codename;-security main
deb http://archive.trisquel.org/trisquel &trisquel-codename;-updates main"> deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] http://archive.trisquel.org/trisquel &trisquel-codename;-updates main">
<!ENTITY sourceslist-sources-format "Types: deb <!ENTITY sourceslist-sources-format "Types: deb
URIs: http://archive.trisquel.org/trisquel URIs: http://archive.trisquel.org/trisquel
Suites: &trisquel-codename; &trisquel-codename;-updates Suites: &trisquel-codename; &trisquel-codename;-security &trisquel-codename;-updates
Components: main Components: main
Signed-By: /usr/share/keyrings/trisquel-archive-keyring.gpg">
Types: deb
URIs: http://archive.trisquel.org/trisquel
Suites: &trisquel-codename;-security
Components: main">

View file

@ -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

View file

@ -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
## <name>-updates - Major bug fix updates produced after the final release of the
## distribution.
## <name>-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

View file

@ -171,11 +171,10 @@ diff -ruN a/src/interface.h b/src/interface.h
diff -ruN a/src/prefs.c b/src/prefs.c diff -ruN a/src/prefs.c b/src/prefs.c
--- a/src/prefs.c 2019-08-29 00:18:58.000000000 -0500 --- a/src/prefs.c 2019-08-29 00:18:58.000000000 -0500
+++ b/src/prefs.c 2021-06-27 16:07:27.299217038 -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->wavpack_bitrate = 3;
p->rip_monkey = 0; p->rip_monkey = 0;
p->monkey_compression = 2; p->monkey_compression = 2;
- p->rip_aac = 0;
- p->aac_quality = 60; - p->aac_quality = 60;
p->rip_musepack = 0; p->rip_musepack = 0;
p->musepack_bitrate = 2; p->musepack_bitrate = 2;

View file

@ -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 <charles.kerr@canonical.com>
+ * Robert Tari <robert@tari.in>
*/
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<std::string>& 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<std::string>& 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

View file

@ -3,7 +3,7 @@ arch_get_kernel_flavour () {
} }
arch_check_usable_kernel () { 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 if echo "$1" | grep -Eq -- "-(server|generic|virtual|xen|preempt|rt)(-.*)?$"; then return 0; fi
return 1 return 1
@ -14,24 +14,24 @@ arch_get_kernel () {
echo "linux-generic" echo "linux-generic"
echo "linux-image-generic" echo "linux-image-generic"
echo "linux-generic-hwe-20.04" echo "linux-generic-hwe-@REVISION@"
echo "linux-image-generic-hwe-20.04" echo "linux-image-generic-hwe-@REVISION@"
echo "linux-lowlatency" echo "linux-lowlatency"
echo "linux-image-lowlatency" echo "linux-image-lowlatency"
echo "linux-lowlatency-hwe-20.04" echo "linux-lowlatency-hwe-@REVISION@"
echo "linux-image-lowlatency-hwe-20.04" echo "linux-image-lowlatency-hwe-@REVISION@"
echo "linux-oem-20.04" echo "linux-oem-@REVISION@"
echo "linux-image-oem-20.04" echo "linux-image-oem-@REVISION@"
echo "linux-virtual" echo "linux-virtual"
echo "linux-image-virtual" echo "linux-image-virtual"
echo "linux-image-extra-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-virtual-hwe-@REVISION@"
echo "linux-image-extra-virtual-hwe-20.04" echo "linux-image-extra-virtual-hwe-@REVISION@"
} }

View file

@ -1,5 +1,5 @@
--- source/library.sh 2022-07-14 15:09:08.482389439 -0500 --- a/library.sh 2022-07-14 15:09:08.482389439 -0500
+++ source/library.sh_upd 2022-07-14 15:19:40.056073944 -0500 +++ b/library.sh 2022-07-14 15:19:40.056073944 -0500
@@ -345,9 +345,15 @@ @@ -345,9 +345,15 @@
kernel_update_list () { kernel_update_list () {

View file

@ -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"
}

View file

@ -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

View file

@ -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

View file

@ -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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View file

@ -66,16 +66,6 @@ diff -ru a/doc/cleaner_markup_language.xsd b/doc/cleaner_markup_language.xsd
<xs:enumeration value="delete"/> <xs:enumeration value="delete"/>
<xs:enumeration value="dnf.autoremove"/> <xs:enumeration value="dnf.autoremove"/>
<xs:enumeration value="dnf.clean_all"/> <xs:enumeration value="dnf.clean_all"/>
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 diff -ru source/setup.py source_fix/setup.py
--- a/setup.py 2021-11-13 15:05:47.000000000 -0600 --- a/setup.py 2021-11-13 15:05:47.000000000 -0600
+++ b/setup.py 2022-04-10 16:34:51.418739031 -0500 +++ 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 # 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.

View file

@ -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

View file

@ -1,6 +1,8 @@
--- a/scripts/casper 2023-02-13 23:53:18.908768968 -0600 diff --git a/scripts/casper b/scripts/casper
+++ b/scripts/casper 2023-02-21 03:28:55.176581755 -0600 index 36a724d2..1b9a6faf 100644
@@ -376,18 +376,18 @@ --- a/scripts/casper
+++ b/scripts/casper
@@ -379,18 +379,18 @@ do_interactive_netmount() {
# maybe make livecd-rootfs embed something in the casper initrd? # maybe make livecd-rootfs embed something in the casper initrd?
case $PRETTY_NAME in case $PRETTY_NAME in
*development*) *development*)
@ -12,14 +14,14 @@
*) *)
case $DPKG_ARCH in case $DPKG_ARCH in
amd64) amd64)
- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-live-server-$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-desktop-$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 + 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 + 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 - 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-desktop-$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 + 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 + desktop_url=http://cdimage.trisquel.org/trisquel-images/${ID}_${VERSION_ID}_${DPKG_ARCH}.iso
;; ;;

View file

@ -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

View file

@ -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

View file

@ -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 <<EOF
-[Users]
-MinimumUid=999
-
[Autologin]
User=$USERNAME
Session=$sddm_session
diff --git a/scripts/casper-bottom/25adduser b/scripts/casper-bottom/25adduser
index 8320e710..efbf5677 100755
--- a/scripts/casper-bottom/25adduser
+++ b/scripts/casper-bottom/25adduser
@@ -57,7 +57,8 @@ db_set passwd/root-password-crypted '*'
db_set passwd/user-password-crypted U6aMy0wojraho
db_set passwd/user-fullname "$USERFULLNAME"
db_set passwd/username "$USERNAME"
-db_set passwd/user-uid 999
+# Per LP: #2004092, systemd uses 995-999
+db_set passwd/user-uid 1000
chroot /root /usr/lib/user-setup/user-setup-apply > /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

View file

@ -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;

View file

@ -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: <!noudeb>
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: <!noudeb>
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: <!noudeb>
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: <!noudeb>
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: <!noudeb>
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: <!pkg.cdebconf.nogtk !noudeb>
+Build-Profiles: <!pkg.cdebconf.nogtk>
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

View file

@ -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

View file

@ -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 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.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 +++ 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 Type: select
Choices-C: ${CHOICES-C} Choices-C: ${CHOICES-C}
Choices: ${CHOICES} Choices: ${CHOICES}
-Default: _CODENAME_ +Default: _CODENAME_
-Description: Trisquel version to install: +Description: Trisquel version to install:
- In Trisquel, this question is never asked, and is only for preseeding. + In Trisquel, this question is never asked, and is only for preseeding.
- Caveat emptor. + Caveat emptor.
+# :sl2: -# :sl2:
+_Description: Debian version to install: -_Description: Debian version to install:
+ Debian comes in several flavors. Stable is well-tested and rarely changes. - Debian comes in several flavors. Stable is well-tested and rarely changes.
+ Unstable is untested and frequently changing. Testing is a middle ground, - 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 - that receives many of the new versions from unstable if they are not too
+ buggy. - buggy.
+ . - .
+ Only flavors available on the selected mirror are listed. - Only flavors available on the selected mirror are listed.
Template: mirror/codename Template: mirror/codename
Type: string Type: string

View file

@ -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

View file

@ -1,16 +0,0 @@
Description: Fix FTBFS in cwidget as well as in aptitude due to missing #include <pthread.h>
Author: Paul Wise <pabs@debian.org>
Reviewed-By: Axel Beckert <abe@debian.org>
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 <errno.h>
+#include <pthread.h>
#include <cwidget/generic/util/exception.h>
namespace cwidget

View file

@ -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);

View file

@ -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};

View file

@ -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

View file

@ -1,17 +1,18 @@
diff --git a/build/Makefile b/build/Makefile diff --git a/build/Makefile b/build/Makefile
index c073a32..cace03d 100644 index d45f982c..353e516e 100644
--- a/build/Makefile --- a/build/Makefile
+++ b/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) +ifneq ($(DEB_HOST_ARCH),ppc64el)
+ find $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ -name "ld-linux*" | xargs -r chmod 755 + find $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ -name "ld-linux*" | xargs -r chmod 755
+endif +endif
+ifeq ($(DEB_HOST_ARCH),ppc64el) +ifeq ($(DEB_HOST_ARCH),ppc64el)
+ chmod 755 $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ld*.so* + chmod 755 $(TREE)/lib/$(DEB_HOST_MULTIARCH)/ld*.so*
+endif +endif
+
# Set up modules.dep, ensure there is at least one standard dir (kernel # 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 # in this case), so depmod will use its prune list for archs with no
# modules. # modules.

View file

@ -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 13:48:56.073639701 -0600
+++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/arm64.cfg 2023-05-12 14:00:45.351718688 -0600 +++ debian-installer-20210731+deb11u8+11.0trisquel13_/build/config/arm64.cfg 2023-05-12 14:00:45.351718688 -0600
@@ -1,4 +1,4 @@ @@ -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 +MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot
KERNELMAJOR = 2.6 KERNELMAJOR = 2.6

View file

@ -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

View file

@ -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/-.*//'`; \

View file

@ -1,6 +1,6 @@
=== modified file 'build/Makefile' === modified file 'build/Makefile'
--- build/Makefile 2010-11-05 16:34:29 +0000 --- a/build/Makefile 2010-11-05 16:34:29 +0000
+++ build/Makefile 2011-03-01 11:42:39 +0000 +++ b/build/Makefile 2011-03-01 11:42:39 +0000
@@ -294,6 +294,7 @@ @@ -294,6 +294,7 @@
rm -rf $(TREE) rm -rf $(TREE)
# Set up the basic files [u]dpkg needs. # Set up the basic files [u]dpkg needs.
@ -19,8 +19,8 @@
ifdef EXTRADRIVERS ifdef EXTRADRIVERS
#=== modified file 'debian/changelog' #=== modified file 'debian/changelog'
#--- debian/changelog 2011-03-01 10:36:50 +0000 #--- a/debian/changelog 2011-03-01 10:36:50 +0000
#+++ debian/changelog 2011-03-01 11:42:39 +0000 #+++ b/debian/changelog 2011-03-01 11:42:39 +0000
#@@ -1,3 +1,10 @@ #@@ -1,3 +1,10 @@
#+debian-installer (20101020ubuntu21) UNRELEASED; urgency=low #+debian-installer (20101020ubuntu21) UNRELEASED; urgency=low
#+ #+

View file

@ -1,6 +1,6 @@
=== modified file 'build/Makefile' === modified file 'build/Makefile'
#--- build/Makefile 2011-12-15 15:35:38 +0000 #--- a/build/Makefile 2011-12-15 15:35:38 +0000
#+++ build/Makefile 2012-04-18 05:24:59 +0000 #+++ b/build/Makefile 2012-04-18 05:24:59 +0000
#@@ -493,6 +493,12 @@ #@@ -493,6 +493,12 @@
# `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | \ # `find $(TEMP) -type f -a \( -perm +0111 -o -name '*.so' -o -name '*.so.*' \) | \
# grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.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 # # have the ld.so symlink as the interpreter. Ideally mklibs should
# #
=== modified file 'build/config/armhf.cfg' === modified file 'build/config/armhf.cfg'
--- build/config/armhf.cfg 2012-04-11 08:52:18 +0000 --- a/build/config/armhf.cfg 2012-04-11 08:52:18 +0000
+++ build/config/armhf.cfg 2012-04-18 05:24:59 +0000 +++ b/build/config/armhf.cfg 2012-04-18 05:24:59 +0000
@@ -1,5 +1,7 @@ @@ -1,5 +1,7 @@
SUBARCH_SUPPORTED = omap omap4 armadaxp SUBARCH_SUPPORTED = omap omap4 armadaxp
@ -28,8 +28,8 @@
KERNEL_FLAVOUR = di KERNEL_FLAVOUR = di
#=== modified file 'debian/changelog' #=== modified file 'debian/changelog'
#--- debian/changelog 2012-04-13 13:14:35 +0000 #--- a/debian/changelog 2012-04-13 13:14:35 +0000
#+++ debian/changelog 2012-04-18 05:24:59 +0000 #+++ b/debian/changelog 2012-04-18 05:24:59 +0000
#@@ -1,3 +1,12 @@ #@@ -1,3 +1,12 @@
#+debian-installer (20101020ubuntu134) precise; urgency=low #+debian-installer (20101020ubuntu134) precise; urgency=low
#+ #+

View file

@ -1,6 +1,6 @@
=== modified file 'build/Makefile' === modified file 'build/Makefile'
--- build/Makefile 2015-01-22 12:10:03 +0000 --- a/build/Makefile 2015-01-22 12:10:03 +0000
+++ build/Makefile 2015-03-17 21:09:21 +0000 +++ b/build/Makefile 2015-03-17 21:09:21 +0000
@@ -414,6 +414,14 @@ @@ -414,6 +414,14 @@
# These files are used to build special kernel images for some # These files are used to build special kernel images for some
@ -46,8 +46,8 @@
# install -m 644 -D $(TEMP_BOOT)$(GZIPPED) $@ # install -m 644 -D $(TEMP_BOOT)$(GZIPPED) $@
#=== added file 'build/boot/README.device-tree' #=== added file 'build/boot/README.device-tree'
#--- build/boot/README.device-tree 1970-01-01 00:00:00 +0000 #--- a/build/boot/README.device-tree 1970-01-01 00:00:00 +0000
#+++ build/boot/README.device-tree 2015-02-13 23:50:29 +0000 #+++ b/build/boot/README.device-tree 2015-02-13 23:50:29 +0000
#@@ -0,0 +1,2 @@ #@@ -0,0 +1,2 @@
#+This directory contains all of the device-tree files shipped by the Ubuntu #+This directory contains all of the device-tree files shipped by the Ubuntu
#+kernel package. #+kernel package.
@ -63,8 +63,8 @@
#+ #+
#=== modified file 'build/config/arm64.cfg' #=== modified file 'build/config/arm64.cfg'
#--- build/config/arm64.cfg 2015-05-09 07:52:07 +0000 #--- a/build/config/arm64.cfg 2015-05-09 07:52:07 +0000
#+++ build/config/arm64.cfg 2015-05-12 16:01:14 +0000 #+++ b/build/config/arm64.cfg 2015-05-12 16:01:14 +0000
#@@ -1,14 +1,98 @@ #@@ -1,14 +1,98 @@
#-SUBARCH_SUPPORTED = generic #-SUBARCH_SUPPORTED = generic
#- #-
@ -173,16 +173,16 @@
=== added directory 'build/config/arm64/cdrom' === added directory 'build/config/arm64/cdrom'
=== added file 'build/config/arm64/cdrom.cfg' === added file 'build/config/arm64/cdrom.cfg'
#--- build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000 #--- a/build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000
#+++ build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000 #+++ b/build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000
#@@ -0,0 +1,3 @@ #@@ -0,0 +1,3 @@
#+FLAVOUR_SUPPORTED = grub #+FLAVOUR_SUPPORTED = grub
#+ #+
#+MEDIA_TYPE = CD-ROM #+MEDIA_TYPE = CD-ROM
=== added file 'build/config/arm64/cdrom/grub.cfg' === added file 'build/config/arm64/cdrom/grub.cfg'
#--- build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000
#@@ -0,0 +1,8 @@ #@@ -0,0 +1,8 @@
#+MEDIA_TYPE = CD-ROM #+MEDIA_TYPE = CD-ROM
#+TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO) #+TARGET = $(INITRD) $(KERNEL) $(DEBIAN_CD_INFO)
@ -194,8 +194,8 @@
#+TYPE = cdrom/grub #+TYPE = cdrom/grub
#=== added file 'build/config/arm64/device-tree.cfg' #=== added file 'build/config/arm64/device-tree.cfg'
#--- build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000
#@@ -0,0 +1,4 @@ #@@ -0,0 +1,4 @@
#+MEDIA_TYPE = device-tree blobs #+MEDIA_TYPE = device-tree blobs
#+ #+
@ -203,8 +203,8 @@
#+EXTRANAME = $(MEDIUM)/ #+EXTRANAME = $(MEDIUM)/
#=== removed file 'build/config/arm64/generic.cfg' #=== removed file 'build/config/arm64/generic.cfg'
#--- build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000 #--- a/build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000
#+++ build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000 #+++ b/build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000
#@@ -1,7 +0,0 @@ #@@ -1,7 +0,0 @@
#-MEDIUM_SUPPORTED = netboot #-MEDIUM_SUPPORTED = netboot
#- #-
@ -215,8 +215,8 @@
#-VERSIONED_SYSTEM_MAP = #-VERSIONED_SYSTEM_MAP =
#=== removed file 'build/config/arm64/generic/netboot.cfg' #=== removed file 'build/config/arm64/generic/netboot.cfg'
#--- build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000 #--- a/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 #+++ b/build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000
#@@ -1,33 +0,0 @@ #@@ -1,33 +0,0 @@
#-MEDIA_TYPE = netboot image #-MEDIA_TYPE = netboot image
#-TARGET = $(TEMP_INITRD) $(TEMP_KERNEL) all-generic #-TARGET = $(TEMP_INITRD) $(TEMP_KERNEL) all-generic
@ -253,8 +253,8 @@
#-all-generic: generic xgene #-all-generic: generic xgene
=== added file 'build/config/arm64/netboot.cfg' === added file 'build/config/arm64/netboot.cfg'
#--- build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000 #--- a/build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000
#+++ build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000 #+++ b/build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000
#@@ -0,0 +1,37 @@ #@@ -0,0 +1,37 @@
#+MEDIA_TYPE = netboot image #+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 #+ 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' #=== modified file 'build/config/dir'
#--- build/config/dir 2010-08-25 22:06:28 +0000 #--- a/build/config/dir 2010-08-25 22:06:28 +0000
#+++ build/config/dir 2015-02-13 23:50:29 +0000 #+++ b/build/config/dir 2015-02-13 23:50:29 +0000
#@@ -62,6 +62,7 @@ #@@ -62,6 +62,7 @@
# # The files we may want to have in dest/ # # The files we may want to have in dest/
# INITRD = $(SOME_DEST)/$(EXTRANAME)initrd.gz # INITRD = $(SOME_DEST)/$(EXTRANAME)initrd.gz
@ -315,8 +315,8 @@
# TEMP_MINIISO = $(TEMP)/mini.iso # TEMP_MINIISO = $(TEMP)/mini.iso
#=== added file 'build/pkg-lists/cdrom/arm64.cfg' #=== added file 'build/pkg-lists/cdrom/arm64.cfg'
#--- build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000
#@@ -0,0 +1,11 @@ #@@ -0,0 +1,11 @@
#+fat-modules-${kernel:Version} #+fat-modules-${kernel:Version}
#+storage-core-modules-${kernel:Version} #+storage-core-modules-${kernel:Version}
@ -332,15 +332,15 @@
#=== added directory 'build/pkg-lists/cdrom/grub' #=== added directory 'build/pkg-lists/cdrom/grub'
#=== added file 'build/pkg-lists/cdrom/grub/arm64.cfg' #=== added file 'build/pkg-lists/cdrom/grub/arm64.cfg'
#--- build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000
#@@ -0,0 +1,2 @@ #@@ -0,0 +1,2 @@
#+# This image is based on the regular cdrom image, and gets all the packages #+# This image is based on the regular cdrom image, and gets all the packages
#+# from that one too. #+# from that one too.
#=== added file 'build/pkg-lists/cdrom/grub/common' #=== added file 'build/pkg-lists/cdrom/grub/common'
#--- build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000
#@@ -0,0 +1,3 @@ #@@ -0,0 +1,3 @@
#+# This image is based on the regular cdrom image, and gets all the packages #+# This image is based on the regular cdrom image, and gets all the packages
#+# from that one too. #+# from that one too.
@ -348,20 +348,20 @@
=== added directory 'build/pkg-lists/device-tree' === added directory 'build/pkg-lists/device-tree'
#=== added file 'build/pkg-lists/device-tree/arm64.cfg' #=== added file 'build/pkg-lists/device-tree/arm64.cfg'
#--- build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000
#@@ -0,0 +1,1 @@ #@@ -0,0 +1,1 @@
#+# Empty #+# Empty
=== added file 'build/pkg-lists/device-tree/common' === added file 'build/pkg-lists/device-tree/common'
#--- build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000 #--- a/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 #+++ b/build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000
#@@ -0,0 +1,1 @@ #@@ -0,0 +1,1 @@
#+#include "kernel" #+#include "kernel"
#=== modified file 'build/util/efi-image' #=== modified file 'build/util/efi-image'
#--- build/util/efi-image 2012-10-15 20:03:40 +0000 #--- a/build/util/efi-image 2012-10-15 20:03:40 +0000
#+++ build/util/efi-image 2015-02-24 04:58:57 +0000 #+++ b/build/util/efi-image 2015-02-24 04:58:57 +0000
#@@ -22,13 +22,14 @@ #@@ -22,13 +22,14 @@
# # it exists. # # it exists.
# #
@ -392,8 +392,8 @@
# size=$(( $(stat -c %s "$workdir/boot$efi_name.efi") / 1024 )) # size=$(( $(stat -c %s "$workdir/boot$efi_name.efi") / 1024 ))
#=== added file 'build/util/grub-gencfg' #=== added file 'build/util/grub-gencfg'
#--- build/util/grub-gencfg 1970-01-01 00:00:00 +0000 #--- a/build/util/grub-gencfg 1970-01-01 00:00:00 +0000
#+++ build/util/grub-gencfg 2015-03-23 23:27:39 +0000 #+++ b/build/util/grub-gencfg 2015-03-23 23:27:39 +0000
#@@ -0,0 +1,210 @@ #@@ -0,0 +1,210 @@
#+#!/usr/bin/perl #+#!/usr/bin/perl
#+ #+
@ -607,8 +607,8 @@
#+menuentry('Install with speech synthesis', Graphical => $graphical, Speach => 1); #+menuentry('Install with speech synthesis', Graphical => $graphical, Speach => 1);
#=== modified file 'debian/changelog' #=== modified file 'debian/changelog'
#--- debian/changelog 2015-05-09 07:52:07 +0000 #--- a/debian/changelog 2015-05-09 07:52:07 +0000
#+++ debian/changelog 2015-05-14 14:24:09 +0000 #+++ b/debian/changelog 2015-05-14 14:24:09 +0000
#@@ -1,3 +1,25 @@ #@@ -1,3 +1,25 @@
#+debian-installer (20101020ubuntu379) UNRELEASED; urgency=medium #+debian-installer (20101020ubuntu379) UNRELEASED; urgency=medium
#+ #+
@ -637,8 +637,8 @@
# * Move master kernels to 3.19.0-17. # * Move master kernels to 3.19.0-17.
#=== modified file 'debian/control' #=== modified file 'debian/control'
#--- debian/control 2014-10-30 08:19:25 +0000 #--- a/debian/control 2014-10-30 08:19:25 +0000
#+++ debian/control 2015-04-03 21:16:40 +0000 #+++ b/debian/control 2015-04-03 21:16:40 +0000
#@@ -9,7 +9,7 @@ #@@ -9,7 +9,7 @@
# Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu # Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu
# Build-Conflicts: libnewt-pic [mipsel] # Build-Conflicts: libnewt-pic [mipsel]

View file

@ -1,6 +1,6 @@
=== modified file 'build/Makefile' === modified file 'build/Makefile'
#--- build/Makefile 2015-12-09 17:32:28 +0000 #--- a/build/Makefile 2015-12-09 17:32:28 +0000
#+++ build/Makefile 2016-04-16 19:45:21 +0000 #+++ b/build/Makefile 2016-04-16 19:45:21 +0000
#@@ -525,12 +525,6 @@ #@@ -525,12 +525,6 @@
# `find $(TEMP) -type f -a \( -perm /0111 -o -name '*.so' -o -name '*.so.*' \) | \ # `find $(TEMP) -type f -a \( -perm /0111 -o -name '*.so' -o -name '*.so.*' \) | \
# grep -v udeblibs | grep -v 'usr/lib/xorg/modules/.*\.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 # # have the ld.so symlink as the interpreter. Ideally mklibs should
# #
#=== modified file 'build/config/amd64.cfg' #=== modified file 'build/config/amd64.cfg'
#--- build/config/amd64.cfg 2016-04-08 14:58:47 +0000 #--- a/build/config/amd64.cfg 2016-04-08 14:58:47 +0000
#+++ build/config/amd64.cfg 2016-04-16 19:45:21 +0000 #+++ b/build/config/amd64.cfg 2016-04-16 19:45:21 +0000
#@@ -1,8 +1,6 @@ #@@ -1,8 +1,6 @@
# MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-xen hd-media # netboot-gtk # MEDIUM_SUPPORTED = cdrom cdrom-xen netboot netboot-xen hd-media # netboot-gtk
# MEDIUM_SUPPORTED_EXTRA = monolithic # MEDIUM_SUPPORTED_EXTRA = monolithic
@ -29,8 +29,8 @@
# KERNELVERSION = $(BASEVERSION)-generic # KERNELVERSION = $(BASEVERSION)-generic
#=== modified file 'build/config/amd64/netboot.cfg' #=== modified file 'build/config/amd64/netboot.cfg'
#--- build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000 #--- a/build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000
#+++ build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000 #+++ b/build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000
#@@ -1,7 +1,7 @@ #@@ -1,7 +1,7 @@
# MEDIA_TYPE = netboot image # MEDIA_TYPE = netboot image
# #
@ -42,8 +42,8 @@
=== modified file 'build/config/armhf.cfg' === modified file 'build/config/armhf.cfg'
--- build/config/armhf.cfg 2016-04-08 14:58:47 +0000 --- a/build/config/armhf.cfg 2016-04-08 14:58:47 +0000
+++ build/config/armhf.cfg 2016-04-16 19:45:21 +0000 +++ b/build/config/armhf.cfg 2016-04-16 19:45:21 +0000
@@ -1,6 +1,6 @@ @@ -1,6 +1,6 @@
SUBARCH_SUPPORTED = generic-lpae generic SUBARCH_SUPPORTED = generic-lpae generic
@ -54,8 +54,8 @@
KERNELVERSION = 4.4.0-18 KERNELVERSION = 4.4.0-18
#=== modified file 'build/config/common' #=== modified file 'build/config/common'
#--- build/config/common 2015-11-12 19:14:48 +0000 #--- a/build/config/common 2015-11-12 19:14:48 +0000
#+++ build/config/common 2016-04-16 19:45:21 +0000 #+++ b/build/config/common 2016-04-16 19:45:21 +0000
#@@ -24,7 +24,7 @@ #@@ -24,7 +24,7 @@
# #
# # The library reducer to use. Set to mklibs (to build with library reduction) # # 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 # # "normal" sources.list. However, you can specify a mirror here to override
#=== modified file 'build/config/i386/netboot.cfg' #=== modified file 'build/config/i386/netboot.cfg'
#--- build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000 #--- a/build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000
#+++ build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000 #+++ b/build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000
#@@ -3,7 +3,7 @@ #@@ -3,7 +3,7 @@
# MEDIA_TYPE = netboot image # MEDIA_TYPE = netboot image
# #
@ -80,8 +80,8 @@
#=== modified file 'build/config/powerpc/powerpc/netboot.cfg' #=== modified file 'build/config/powerpc/powerpc/netboot.cfg'
#--- build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000 #--- a/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 #+++ b/build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000
#@@ -1,7 +1,7 @@ #@@ -1,7 +1,7 @@
# MEDIA_TYPE = netboot image # MEDIA_TYPE = netboot image
# #
@ -93,8 +93,8 @@
#=== modified file 'build/config/ppc64el.cfg' #=== modified file 'build/config/ppc64el.cfg'
#--- build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000 #--- a/build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000
#+++ build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000 #+++ b/build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000
#@@ -1,7 +1,5 @@ #@@ -1,7 +1,5 @@
# MEDIUM_SUPPORTED = netboot cdrom # MEDIUM_SUPPORTED = netboot cdrom
# #
@ -105,8 +105,8 @@
# KERNELVERSION = $(BASEVERSION)-generic # KERNELVERSION = $(BASEVERSION)-generic
#=== modified file 'build/pkg-lists/base' #=== modified file 'build/pkg-lists/base'
#--- build/pkg-lists/base 2015-09-22 18:31:39 +0000 #--- a/build/pkg-lists/base 2015-09-22 18:31:39 +0000
#+++ build/pkg-lists/base 2016-04-16 19:45:21 +0000 #+++ b/build/pkg-lists/base 2016-04-16 19:45:21 +0000
#@@ -10,7 +10,6 @@ #@@ -10,7 +10,6 @@
# di-utils-shell # di-utils-shell
# libdebconfclient0-udeb # libdebconfclient0-udeb
@ -117,8 +117,8 @@
# main-menu # main-menu
#=== modified file 'build/pkg-lists/exclude' #=== modified file 'build/pkg-lists/exclude'
#--- build/pkg-lists/exclude 2010-05-24 15:01:07 +0000 #--- a/build/pkg-lists/exclude 2010-05-24 15:01:07 +0000
#+++ build/pkg-lists/exclude 2016-04-16 19:45:21 +0000 #+++ b/build/pkg-lists/exclude 2016-04-16 19:45:21 +0000
#@@ -2,15 +2,6 @@ #@@ -2,15 +2,6 @@
# # they are currently provided not in udeb form but by the library # # they are currently provided not in udeb form but by the library
# # reduction step. # # reduction step.
@ -137,8 +137,8 @@
# # and newt # # and newt
#=== modified file 'build/pkg-lists/gtk-common' #=== modified file 'build/pkg-lists/gtk-common'
#--- build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000 #--- a/build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000
#+++ build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000 #+++ b/build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000
#@@ -1,5 +1,4 @@ #@@ -1,5 +1,4 @@
# # udebs needed for graphical installer # # udebs needed for graphical installer
#-libnss-files-udeb #-libnss-files-udeb
@ -147,8 +147,8 @@
# cdebconf-gtk-terminal # cdebconf-gtk-terminal
#=== modified file 'build/pkg-lists/network-console' #=== modified file 'build/pkg-lists/network-console'
#--- build/pkg-lists/network-console 2004-06-29 08:17:34 +0000 #--- a/build/pkg-lists/network-console 2004-06-29 08:17:34 +0000
#+++ build/pkg-lists/network-console 2016-04-16 19:45:21 +0000 #+++ b/build/pkg-lists/network-console 2016-04-16 19:45:21 +0000
#@@ -1,4 +1,3 @@ #@@ -1,4 +1,3 @@
# openssh-server-udeb # openssh-server-udeb
#-libnss-files-udeb #-libnss-files-udeb
@ -156,8 +156,8 @@
#=== modified file 'debian/changelog' #=== modified file 'debian/changelog'
#--- debian/changelog 2016-04-13 12:07:03 +0000 #--- a/debian/changelog 2016-04-13 12:07:03 +0000
#+++ debian/changelog 2016-04-16 19:45:21 +0000 #+++ b/debian/changelog 2016-04-16 19:45:21 +0000
#@@ -1,3 +1,16 @@ #@@ -1,3 +1,16 @@
#+debian-installer (20101020ubuntu448) xenial; urgency=medium #+debian-installer (20101020ubuntu448) xenial; urgency=medium
#+ #+
@ -177,8 +177,8 @@
# * Rebuild with updated udebs for s390x. # * Rebuild with updated udebs for s390x.
=== modified file 'debian/control' === modified file 'debian/control'
#--- debian/control 2016-02-19 17:00:28 +0000 #--- a/debian/control 2016-02-19 17:00:28 +0000
#+++ debian/control 2016-04-16 19:45:21 +0000 #+++ b/debian/control 2016-04-16 19:45:21 +0000
#@@ -9,7 +9,7 @@ #@@ -9,7 +9,7 @@
# Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu # Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/debian-installer/ubuntu
# Build-Conflicts: libnewt-pic [mipsel] # Build-Conflicts: libnewt-pic [mipsel]
@ -207,8 +207,8 @@
# # - genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x] # # - genisoimage (>= 9:1.1.10-1ubuntu2) [!s390 !s390x]
# # For making mini isos. # # For making mini isos.
##Ark74's fix ##Ark74's fix
--- debian/control 2023-05-10 08:36:56.311243556 -0600 --- a/debian/control 2023-05-10 08:36:56.311243556 -0600
+++ debian/control 2023-05-10 12:00:07.617639516 -0600 +++ b/debian/control 2023-05-10 12:00:07.617639516 -0600
@@ -45,6 +45,7 @@ @@ -45,6 +45,7 @@
# them. # them.
# Lintian: Yes, we know it's essential. We prefer not to # Lintian: Yes, we know it's essential. We prefer not to

View file

@ -1,6 +1,6 @@
=== modified file 'build/Makefile' === modified file 'build/Makefile'
--- build/Makefile 2018-02-15 11:44:41 +0000 --- a/build/Makefile 2018-02-15 11:44:41 +0000
+++ build/Makefile 2018-07-22 10:55:51 +0000 +++ b/build/Makefile 2018-07-22 10:55:51 +0000
@@ -782,6 +782,8 @@ @@ -782,6 +782,8 @@
update-manifest $@ $(MANIFEST-BOOT) $(UDEB_LISTS) update-manifest $@ $(MANIFEST-BOOT) $(UDEB_LISTS)
@ -12,8 +12,8 @@
#=== modified file 'debian/changelog' #=== modified file 'debian/changelog'
#--- debian/changelog 2018-06-14 10:36:23 +0000 #--- a/debian/changelog 2018-06-14 10:36:23 +0000
#+++ debian/changelog 2018-07-22 10:55:51 +0000 #+++ b/debian/changelog 2018-07-22 10:55:51 +0000
#@@ -1,3 +1,9 @@ #@@ -1,3 +1,9 @@
#+debian-installer (20101020ubuntu547) UNRELEASED; urgency=medium #+debian-installer (20101020ubuntu547) UNRELEASED; urgency=medium
#+ #+

View file

@ -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);

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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))

File diff suppressed because it is too large Load diff

View file

@ -1,37 +0,0 @@
From ef8fb0e94ce79d5fde2943e433ad0422eb7f70ec Mon Sep 17 00:00:00 2001
From: Marvin W <git@larma.de>
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);

View file

@ -1,14 +1,16 @@
--- a/lib/tools.py 2021-10-15 08:01:00.000000000 -0500 diff --git a/lib/tools.py b/lib/tools.py
+++ a/lib/tools.py 2022-04-06 12:27:07.672427372 -0500 index 2ab74f7f..a3d52620 100644
@@ -37,7 +37,7 @@ --- 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): def main(validation_function):
"""Main function with command line parameter parsing.""" """Main function with command line parameter parsing."""
script_name = os.path.basename(sys.argv[0]) - parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u csv-file")
- usage = "%s [-h] -d|-u csv-file" % (script_name) + parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u|-t csv-file")
+ usage = "%s [-h] -d|-u|-t csv-file" % (script_name)
parser = argparse.ArgumentParser(usage=usage)
parser.add_argument( parser.add_argument(
"-d",
@@ -56,15 +56,24 @@ @@ -56,15 +56,24 @@
default=False, default=False,
help="validate an Ubuntu CSV file", help="validate an Ubuntu CSV file",

View file

@ -1,5 +1,7 @@
--- source/python/distro_info.py 2021-11-04 15:27:37.000000000 -0600 diff --git a/python/distro_info.py b/python/distro_info.py
+++ source/python/distro_info.py_fix 2022-04-06 10:20:39.217365952 -0500 index c87fbff6..0a624745 100644
--- a/python/distro_info.py
+++ b/python/distro_info.py
@@ -1,3 +1,4 @@ @@ -1,3 +1,4 @@
+# Copyright (C) 2021, Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info> +# Copyright (C) 2021, Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info>
# Copyright (C) 2009-2012, Benjamin Drung <bdrung@debian.org> # Copyright (C) 2009-2012, Benjamin Drung <bdrung@debian.org>
@ -23,7 +25,7 @@
""" """
def __init__(self, distro): def __init__(self, distro):
@@ -311,14 +312,14 @@ @@ -340,16 +340,16 @@ class DebianDistroInfo(DistroInfo):
] ]
@ -32,31 +34,35 @@
+class TrisquelDistroInfo(DistroInfo): +class TrisquelDistroInfo(DistroInfo):
+ """provides information about Trisquel's distributions""" + """provides information about Trisquel's distributions"""
def __init__(self): def __init__(self) -> None:
- super().__init__("Ubuntu") - super().__init__("Ubuntu")
+ super().__init__("Trisquel") + 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) Ubuntu distribution based on the
+ """Get latest long term support (LTS) Trisquel distribution based on the + """Get latest long term support (LTS) Trisquel distribution based on the
given date.""" given date."""
if date is None: if date is None:
date = self._date date = self._date
@@ -337,7 +338,7 @@ @@ -372,7 +372,7 @@ class UbuntuDistroInfo(DistroInfo):
return "LTS" in distros[0].version def supported(
self, date: typing.Optional[datetime.date] = None, result: str = "codename"
def supported(self, date=None, result="codename"): ) -> list[typing.Union[DistroRelease, str]]:
- """Get list of all supported Ubuntu distributions based on the given - """Get list of all supported Ubuntu distributions based on the given
+ """Get list of all supported Trisquel distributions based on the given + """Get list of all supported Trisquel distributions based on the given
date.""" date."""
if date is None: if date is None:
date = self._date date = self._date
@@ -347,15 +348,3 @@ @@ -382,17 +382,3 @@ class UbuntuDistroInfo(DistroInfo):
if date <= x.eol or (x.eol_server is not None and date <= x.eol_server) if (x.eol and date <= x.eol) or (x.eol_server is not None and date <= x.eol_server)
] ]
return distros 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 - """Get list of all ESM supported Ubuntu distributions based on the
- given date.""" - given date."""
- if date is None: - if date is None:

View file

@ -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 <trisquel-devel@listas.trisquel.info>
# Copyright (C) 2011, Benjamin Drung <bdrung@debian.org>
#
# 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")

View file

@ -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 # test_distro_info.py - Test suite for distro_info
# #
# Copyright (C) 2021, Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info> # Copyright (C) 2021, Trisquel GNU/Linux developers <trisquel-devel@listas.trisquel.info>

View file

@ -1,100 +0,0 @@
# Copyright © 2008 Ian Jackson <ijackson@chiark.greenend.org.uk>
# Copyright © 2008 Canonical, Ltd.
# written by Colin Watson <cjwatson@ubuntu.com>
# Copyright © 2008 James Westby <jw+debian@jameswestby.net>
# Copyright © 2009 Raphaël Hertzog <hertzog@debian.org>
# Copyright © 2022 Ruben Rodriguez <ruben@trisquel.org>
#
# 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 <https://www.gnu.org/licenses/>.
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;

View file

@ -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 \

View file

@ -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 <cjwatson@ubuntu.com>
# Copyright © 2008 James Westby <jw+debian@jameswestby.net>
# Copyright © 2009 Raphaël Hertzog <hertzog@debian.org>
+# Copyright © 2022 Ruben Rodriguez <ruben@trisquel.org>
+# Copyright © 2024 Luis Guzman <ark@switnet.org>
#
# 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<Note>: 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

View file

@ -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,

View file

@ -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,

View file

@ -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',

View file

@ -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

View file

@ -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"

View file

@ -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

View file

@ -19,8 +19,47 @@ with is="" and support-page="..."
Cheers! Cheers!
diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml_ diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml
index 77ea8f5d..62c3ce8e 100644 index a9e8501a..02328371 100644
--- a/browser/components/preferences/privacy.inc.xhtml
+++ b/browser/components/preferences/privacy.inc.xhtml
@@ -21,13 +21,13 @@
<hbox align="start">
<image id="trackingProtectionShield"/>
<description class="description-with-side-element" flex="1">
- <html:span id="contentBlockingDescription" data-l10n-id="content-blocking-section-top-level-description"></html:span>
- <html:a is="moz-support-link"
- id="contentBlockingLearnMore"
- class="learnMore"
- data-l10n-id="content-blocking-learn-more"
- support-page="enhanced-tracking-protection"
- />
+ <html:span id="contentBlockingDescription" data-l10n-id="content-blocking-section-top-level-description"></html:span>
+ <html:a id="contentBlockingLearnMore"
+ class="learnMore"
+ data-l10n-id="content-blocking-learn-more"
+ href="https://trisquel.info/en/wiki/abrowser-help"
+ target="_blank"
+ />
</description>
<button id="trackingProtectionExceptions"
is="highlightable-button"
#@@ -389,9 +386,10 @@
# class="tail-with-learn-more"
# preference="privacy.donottrackheader.enabled"
# data-l10n-id="do-not-track-description2" />
#- <html:a is="moz-support-link"
#- id="doNotTrackLearnMoreLink"
#- support-page="how-do-i-turn-do-not-track-feature" />
#+ <html:a id="doNotTrackLearnMoreLink"
#+ href="https://trisquel.info/en/wiki/abrowser-help"
#+ data-l10n-id="do-not-track-learn-more"
#+ target="_blank"/>
# </hbox>
# </vbox>
# </groupbox>
diff --git a/browser/components/preferences/privacy.inc.xhtml b/browser/components/preferences/privacy.inc.xhtml
index 205c0e01..029b9925 100644
--- a/browser/components/preferences/privacy.inc.xhtml --- a/browser/components/preferences/privacy.inc.xhtml
+++ b/browser/components/preferences/privacy.inc.xhtml +++ b/browser/components/preferences/privacy.inc.xhtml
@@ -372,10 +372,7 @@ @@ -372,10 +372,7 @@
@ -35,19 +74,3 @@ index 77ea8f5d..62c3ce8e 100644
</hbox> </hbox>
</vbox> </vbox>
</groupbox> </groupbox>
@@ -388,11 +385,10 @@
<vbox flex="1">
<description class="description-with-side-element description-deemphasized" flex="1">
<html:span id="totalSiteDataSize"></html:span>
- <html:a is="moz-support-link"
- id="siteDataLearnMoreLink"
- data-l10n-id="sitedata-learn-more"
- support-page="storage-permissions"
- />
+ <html:a id="doNotTrackLearnMoreLink"
+ href="https://trisquel.info/en/wiki/abrowser-help"
+ data-l10n-id="do-not-track-learn-more"
+ target="_blank"/>
</description>
<hbox flex="1" id="deleteOnCloseNote" class="info-box-container smaller-font-size">
<hbox class="info-icon-container">

View file

@ -1,5 +1,5 @@
diff --git a/README.md b/README.md diff --git a/README.md b/README.md
index cd1815f..aaa7caa 100644 index 2ea7ebf3..aa30828e 100644
--- a/README.md --- a/README.md
+++ b/README.md +++ b/README.md
@@ -26,31 +26,32 @@ tweaks, see the *Build Images* section below. @@ -26,31 +26,32 @@ tweaks, see the *Build Images* section below.
@ -28,7 +28,7 @@ index cd1815f..aaa7caa 100644
-- *raspberry2*: RasbperryPi 2's SD card -- *raspberry2*: RasbperryPi 2's SD card
-- *raspberry3*: RasbperryPi 3's SD card -- *raspberry3*: RasbperryPi 3's SD card
-- *raspberry3-b-plus*: RasbperryPi 3 Model B+'s SD card -- *raspberry3-b-plus*: RasbperryPi 3 Model B+'s SD card
-- *test*: build virtualbox i386 image and run diagnostics tests on it -- *raspberry64*: Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B
-- *virtualbox-amd64*: 64-bit image for the VirtualBox virtualization tool -- *virtualbox-amd64*: 64-bit image for the VirtualBox virtualization tool
-- *virtualbox-i386*: 32-bit image for the VirtualBox virtualization tool -- *virtualbox-i386*: 32-bit image for the VirtualBox virtualization tool
+| target | description | +| target | description |
@ -54,7 +54,7 @@ index cd1815f..aaa7caa 100644
+| *raspberry2* | RasbperryPi 2's SD card | +| *raspberry2* | RasbperryPi 2's SD card |
+| *raspberry3* | RasbperryPi 3's SD card | +| *raspberry3* | RasbperryPi 3's SD card |
+| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card | +| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card |
+| *test* | build virtualbox i386 image and run diagnostics tests on it +| *raspberry64* | Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B |
+| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool | +| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool |
+| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool | +| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool |

View file

@ -11,22 +11,31 @@ index ca998d9..1b051e2 100644
# initramfs-tools is a dependency for the kernel-image package. However, when # initramfs-tools is a dependency for the kernel-image package. However, when
# kernel is not installed, as in case of Raspberry Pi image, explicit # kernel is not installed, as in case of Raspberry Pi image, explicit
# dependency is needed. # dependency is needed.
@@ -114,14 +116,15 @@ class ImageBuilder(object): # pylint: disable=too-many-instance-attributes diff --git a/freedommaker/builder.py b/freedommaker/builder.py
elif 'contrib' in self.release_components: index e4ccddd5..1ec3026b 100644
free_tag = 'contrib' --- a/freedommaker/builder.py
else: +++ b/freedommaker/builder.py
- free_tag = 'free' @@ -87,10 +87,10 @@ class ImageBuilder: # pylint: disable=too-many-instance-attributes
+ free_tag = 'libre' """Return the Debian release components to use for the build."""
else: components = ['main']
- free_tag = 'nonfree' if self.include_non_free_firmware:
+ free_tag = 'libre' - components.append('non-free-firmware')
+ components.append('libre')
if self.include_contrib:
- components.append('contrib')
+ components.append('libre')
if self.arguments.release_component:
for component in self.arguments.release_component:
@@ -120,8 +120,9 @@ class ImageBuilder: # pylint: disable=too-many-instance-attributes
"""Return the base file name of the final image."""
build_stamp = self.arguments.build_stamp build_stamp = self.arguments.build_stamp
build_stamp = build_stamp + '_' if build_stamp else '' build_stamp = build_stamp + '_' if build_stamp else ''
- return 'freedombox-{distribution}-{free_tag}_{build_stamp}{machine}' \ - return 'freedombox-{distribution}_{build_stamp}{machine}' \
+ return '{distro}freedombox-{distribution}-{free_tag}_{build_stamp}_{machine}' \ + return '{distro}freedombox-{distribution}-{free_tag}_{build_stamp}_{machine}' \
'-{architecture}'.format( '-{architecture}'.format(
+ distro=DISTRO_BRAND.lower() + '-' if DISTRO_BRAND else '', + distro=DISTRO_BRAND.lower() + '-' if DISTRO_BRAND else '',
distribution=self.arguments.distribution, free_tag=free_tag, distribution=self.arguments.distribution,
build_stamp=build_stamp, machine=self.machine, build_stamp=build_stamp, machine=self.machine,
architecture=self.architecture) architecture=self.architecture)

View file

@ -31,14 +31,14 @@ index aaa7caa..293545b 100644
| target | description | | target | description |
|-----------------------|-------------| |-----------------------|-------------|
@@ -46,25 +42,18 @@ Freedom-maker supports building for the following targets: @@ -42,25 +42,18 @@ Trisquel Freedom-maker supports building for the following targets:
| *pine64-plus* | Pine64+ board's SD card | | *pine64-plus* | Pine64+ board's SD card |
| *qemu-amd64* | 64-bit image for the Qemu virtualization tool | | *qemu-amd64* | 64-bit image for the Qemu virtualization tool |
| *qemu-i386* | 32-bit image for the Qemu virtualization tool | | *qemu-i386* | 32-bit image for the Qemu virtualization tool |
-| *raspberry2* | RasbperryPi 2's SD card | -| *raspberry2* | RasbperryPi 2's SD card |
-| *raspberry3* | RasbperryPi 3's SD card | -| *raspberry3* | RasbperryPi 3's SD card |
-| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card | -| *raspberry3-b-plus* | RasbperryPi 3 Model B+'s SD card |
-| *test* | build virtualbox i386 image and run diagnostics tests on it -| *raspberry64* | Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B |
-| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool | -| *virtualbox-amd64* | 64-bit image for the VirtualBox virtualization tool |
-| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool | -| *virtualbox-i386* | 32-bit image for the VirtualBox virtualization tool |
@ -53,7 +53,7 @@ index aaa7caa..293545b 100644
2. Install the required dependencies: 2. Install the required dependencies:
```shell ```shell
$ sudo apt install btrfs-progs debootstrap kpartx parted qemu-user-static qemu-utils sshpass $ sudo apt install binfmt-support btrfs-progs debootstrap dmsetup dosfstools fdisk git kpartx parted psmisc qemu-user-static qemu-utils sshpass sudo u-boot-tools xz-utils
- $ cd freedom-maker - $ cd freedom-maker
- $ sudo apt build-dep . - $ sudo apt build-dep .
+ $ sudo apt build-dep freedom-maker + $ sudo apt build-dep freedom-maker
@ -68,47 +68,69 @@ index aaa7caa..293545b 100644
$ sudo python3 -m freedommaker <TARGET> $ sudo python3 -m freedommaker <TARGET>
``` ```
where: &lt;TARGET&gt; is one of the 'Supported Targets' above. where: &lt;TARGET&gt; is one of the 'Supported Targets' above.
diff --git a/debian/freedom-maker.1 b/debian/freedom-maker.1 diff --git a/doc/freedom-maker.xml b/doc/freedom-maker.xml
index 71a9a9b..58051f3 100644 index 09c2f001..8c4abdd6 100644
--- a/debian/freedom-maker.1 --- a/doc/freedom-maker.xml
+++ b/debian/freedom-maker.1 +++ b/doc/freedom-maker.xml
@@ -51,17 +51,17 @@ Size of the image to build @@ -85,7 +85,7 @@
.PP <term> <option>--build-mirror</option></term>
\fB\-\-build\-mirror\fR <listitem>
.RS 4 <para>
-Debian mirror to use for building - Debian mirror to use for building
+Trisquel mirror to use for building + Trisquel mirror to use for building
.RE </para>
.PP </listitem>
\fB\-\-mirror\fR </varlistentry>
.RS 4 @@ -93,7 +93,7 @@
-Debian mirror to use in built image <term> <option>--mirror</option></term>
+Trisquel mirror to use in built image <listitem>
.RE <para>
.PP - Debian mirror to use in built image
\fB\-\-distribution\fR + Trisquel mirror to use in built image
.RS 4 </para>
-Debian release to use in built image </listitem>
+Trisquel release to use in built image </varlistentry>
.RE @@ -101,15 +101,7 @@
.PP <term> <option>--distribution</option></term>
\fB\-\-package\fR <listitem>
@@ -101,7 +101,7 @@ Force rebuild of images even when required image exists <para>
.PP - Debian release to use in built image
\fBtargets\fR - </para>
.RS 4 - </listitem>
-Image targets to build\&. Choose one or more of a20\-olinuxino\-lime, a20\-olinuxino\-lime2, a20\-olinuxino\-micro, amd64, arm64, armhf, banana\-pro, beaglebone, cubieboard2, cubietruck, i386, lamobo\-r1, orange\-pi\-zero, pcduino3, pine64\-lts, pine64\-plus, qemu\-amd64, qemu\-i386, raspberry2, raspberry3, raspberry3\-b\-plus, test, virtualbox\-amd64, virtualbox\-i386 - </varlistentry>
+Image targets to build\&. Choose one or more of freedommaker, dreamplug, beaglebone, cubieboard2, cubietruck, a20\-olinuxino\-lime, a20\-olinuxino\-lime2, a20\-olinuxino\-micro, i386, amd64, qemu\-i386, qemu\-amd64, pcDuino3 - <varlistentry>
.RE - <term> <option>--add-release-component</option></term>
.SH "EXAMPLES" - <listitem>
.PP - <para>
@@ -128,8 +128,7 @@ Build a FreedomBox image for the BeagleBone Single Board Computer\&. - Add an extra Debian release component (other than main)
$ freedommaker a20\-olinuxino\-lime a20\-olinuxino\-lime2 + Trisquel release to use in built image
a20\-olinuxino\-micro amd64 arm64 armhf banana\-pro beaglebone cubieboard2 </para>
cubietruck i386 lamobo\-r1 orange\-pi\-zero pcduino3 pine64\-lts pine64\-plus </listitem>
- qemu\-amd64 qemu\-i386 raspberry2 raspberry3 raspberry3\-b\-plus test </varlistentry>
- virtualbox\-amd64 virtualbox\-i386 @@ -208,12 +200,10 @@
+ qemu\-amd64 qemu\-i386 <term> <option>targets</option></term>
.fi <listitem>
.if n \{\ <para>
.RE - Image targets to build. Choose one or more of a20-olinuxino-lime,
- a20-olinuxino-lime2, a20-olinuxino-micro, amd64, arm64, armhf,
- banana-pro, beaglebone, cubieboard2, cubietruck, i386, lamobo-r1,
- orange-pi-zero, pcduino3, pine64-lts, pine64-plus, qemu-amd64,
- qemu-i386, raspberry2, raspberry3, raspberry3-b-plus, raspberry64,
- vagrant virtualbox-amd64, virtualbox-i386
+ Image targets to build. Choose one or more of freedommaker,
+ dreamplug, beaglebone, cubieboard2, cubietruck,
+ a20-olinuxino-lime,a20-olinuxino-lime2, a20-olinuxino-micro,
+ i386, amd64, qemu-i386, qemu-amd64, pcDuino3
</para>
</listitem>
</varlistentry>
@@ -236,8 +226,7 @@
<synopsis>$ freedommaker a20-olinuxino-lime a20-olinuxino-lime2
a20-olinuxino-micro amd64 arm64 armhf banana-pro beaglebone cubieboard2
cubietruck i386 lamobo-r1 orange-pi-zero pcduino3 pine64-lts pine64-plus
- qemu-amd64 qemu-i386 raspberry2 raspberry3 raspberry3-b-plus raspberry64
- vagrant virtualbox-amd64 virtualbox-i386</synopsis>
+ qemu-amd64 qemu-i386</synopsis>
<para>
Build all the available FreedomBox images using freedom-maker.
</para>

View file

@ -16,23 +16,23 @@ index c5175a8..a479721 100644
LOG_LEVEL = 'debug' LOG_LEVEL = 'debug'
HOSTNAME = 'freedombox' HOSTNAME = 'freedombox'
diff --git a/freedommaker/library.py b/freedommaker/library.py diff --git a/freedommaker/library.py b/freedommaker/library.py
index f8ea629..04954b5 100644 index 28f10cfa..b821226b 100644
--- a/freedommaker/library.py --- a/freedommaker/library.py
+++ b/freedommaker/library.py +++ b/freedommaker/library.py
@@ -493,12 +493,12 @@ deb {mirror} {distribution}-updates {components} @@ -527,12 +527,12 @@ deb {mirror} {distribution}-updates {components}
deb-src {mirror} {distribution}-updates {components} deb-src {mirror} {distribution}-updates {components}
''' '''
security_template = ''' security_template = '''
-deb http://security.debian.org/debian-security/ {distribution}-security {components} -deb http://security.debian.org/debian-security/ {distribution}-security {components}
-deb-src http://security.debian.org/debian-security/ {distribution}-security {components} -deb-src http://security.debian.org/debian-security/ {distribution}-security {components}
+deb {mirror} {distribution}-security {components} +deb https://archive.trisquel.org/trisquel/ {distribution}-security {components}
+deb-src {mirror} {distribution}-security {components} +deb-src https://archive.trisquel.org/trisquel/ {distribution}-security {components}
''' '''
backports_template = f''' backports_template = f'''
-deb http://deb.debian.org/debian {STABLE_CODENAME}-backports main -deb http://deb.debian.org/debian {releases.STABLE_CODENAME}-backports main
-deb-src http://deb.debian.org/debian {STABLE_CODENAME}-backports main -deb-src http://deb.debian.org/debian {releases.STABLE_CODENAME}-backports main
+#deb {mirror} {distribution}-backports {components} +deb {mirror} {distribution}-backports {components}
+#deb-src {mirror} {distribution}-backports {components} +deb-src {mirror} {distribution}-backports {components}
''' '''
file_path = path_in_mount(state, 'etc/apt/sources.list') file_path = path_in_mount(state, 'etc/apt/sources.list')
with open(file_path, 'w') as file_handle: with open(file_path, 'w') as file_handle:

View file

@ -12,23 +12,24 @@ index 1f2c207..c97d392 100644
FreedomBox is a personal cloud server which can be installed on single board FreedomBox is a personal cloud server which can be installed on single board
computers and Debian machines. computers and Debian machines.
diff --git a/freedommaker/builders/__init__.py b/freedommaker/builders/__init__.py diff --git a/freedommaker/builders/__init__.py b/freedommaker/builders/__init__.py
index dd694f3..139c654 100644 index 56c180db..139c6541 100644
--- a/freedommaker/builders/__init__.py --- a/freedommaker/builders/__init__.py
+++ b/freedommaker/builders/__init__.py +++ b/freedommaker/builders/__init__.py
@@ -25,10 +25,3 @@ from . import pine64_plus @@ -25,11 +25,3 @@ from . import pine64_plus
from . import pine64_lts from . import pine64_lts
from . import qemu_amd64 from . import qemu_amd64
from . import qemu_i386 from . import qemu_i386
-from . import raspberry_pi_2 -from . import raspberry_pi_2
-from . import raspberry_pi_3 -from . import raspberry_pi_3
-from . import raspberry_pi_3_b_plus -from . import raspberry_pi_3_b_plus
-from . import raspberry_pi_64bit
-from . import raspberry_pi_with_uboot -from . import raspberry_pi_with_uboot
-from . import vagrant -from . import vagrant
-from . import virtualbox_amd64 -from . import virtualbox_amd64
-from . import virtualbox_i386 -from . import virtualbox_i386
diff --git a/freedommaker/builders/raspberry_pi_2.py b/freedommaker/builders/raspberry_pi_2.py diff --git a/freedommaker/builders/raspberry_pi_2.py b/freedommaker/builders/raspberry_pi_2.py
deleted file mode 100644 deleted file mode 100644
index c226683..0000000 index 439444e7..00000000
--- a/freedommaker/builders/raspberry_pi_2.py --- a/freedommaker/builders/raspberry_pi_2.py
+++ /dev/null +++ /dev/null
@@ -1,15 +0,0 @@ @@ -1,15 +0,0 @@
@ -46,13 +47,13 @@ index c226683..0000000
- machine = 'raspberry2' - machine = 'raspberry2'
- kernel_flavor = 'armmp' - kernel_flavor = 'armmp'
- flash_kernel_name = 'Raspberry Pi 2 Model B' - flash_kernel_name = 'Raspberry Pi 2 Model B'
- uboot_variant = 'rpi_2' - u_boot_rpi_variant = 'rpi_2'
diff --git a/freedommaker/builders/raspberry_pi_3.py b/freedommaker/builders/raspberry_pi_3.py diff --git a/freedommaker/builders/raspberry_pi_3.py b/freedommaker/builders/raspberry_pi_3.py
deleted file mode 100644 deleted file mode 100644
index 797e8df..0000000 index 3b9bf82b..00000000
--- a/freedommaker/builders/raspberry_pi_3.py --- a/freedommaker/builders/raspberry_pi_3.py
+++ /dev/null +++ /dev/null
@@ -1,16 +0,0 @@ @@ -1,15 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-License-Identifier: GPL-3.0-or-later
-""" -"""
-Worker class to build Raspberry Pi 3 image. -Worker class to build Raspberry Pi 3 image.
@ -65,34 +66,67 @@ index 797e8df..0000000
- """Image builder for Raspberry Pi 3 target.""" - """Image builder for Raspberry Pi 3 target."""
- architecture = 'armhf' - architecture = 'armhf'
- machine = 'raspberry3' - machine = 'raspberry3'
- free = False
- kernel_flavor = 'armmp' - kernel_flavor = 'armmp'
- flash_kernel_name = 'Raspberry Pi 3 Model B' - flash_kernel_name = 'Raspberry Pi 3 Model B'
- uboot_variant = 'rpi_3_32b' - u_boot_rpi_variant = 'rpi_3_32b'
diff --git a/freedommaker/builders/raspberry_pi_3_b_plus.py b/freedommaker/builders/raspberry_pi_3_b_plus.py diff --git a/freedommaker/builders/raspberry_pi_64bit.py b/freedommaker/builders/raspberry_pi_64bit.py
deleted file mode 100644 deleted file mode 100644
index 7a54842..0000000 index e6a9ffa0..00000000
--- a/freedommaker/builders/raspberry_pi_3_b_plus.py --- a/freedommaker/builders/raspberry_pi_64bit.py
+++ /dev/null +++ /dev/null
@@ -1,12 +0,0 @@ @@ -1,46 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-License-Identifier: GPL-3.0-or-later
-""" -"""
-Worker class to build Raspberry Pi 3 Model B+ image. -Worker class to build Raspberry Pi 64-bit image.
-""" -"""
- -
-from .raspberry_pi_3 import RaspberryPi3ImageBuilder -from .. import library
-from ..builder import ImageBuilder
- -
- -
-class RaspberryPi3BPlusImageBuilder(RaspberryPi3ImageBuilder): -class RaspberryPi64ImageBuilder(ImageBuilder):
- """Image builder for Raspberry Pi 3 Model B+ target.""" - """Image builder for Raspberry Pi 64-bit target."""
- machine = 'raspberry3-b-plus' - architecture = 'arm64'
- flash_kernel_name = 'Raspberry Pi 3 Model B+' - boot_loader = None
- firmware_filesystem_type = 'vfat'
- firmware_size = '256MiB'
- include_non_free_firmware = True
- kernel_flavor = 'arm64'
- machine = 'raspberry64'
- update_initramfs = False
-
- def __init__(self, arguments):
- """Add to list of packages."""
- super().__init__(arguments)
- self.packages += ['firmware-brcm80211']
-
- @classmethod
- def get_target_name(cls):
- """Return the name of the target for an image builder."""
- return getattr(cls, 'machine', None)
-
- def install_boot_loader(self, state):
- """Install the firmware onto the image."""
- uuid = library.get_uuid_of_device(state['devices']['root'])
- script = '''
-set -e
-set -x
-set -o pipefail
-
-# This will trigger installing firmware and updating initramfs.
-apt-get install raspi-firmware
-
-# Fixup cmdline.txt and set defaults
-echo "console=tty0 console=ttyS1,115200 root=UUID={uuid} rw fsck.repair=yes net.ifnames=0 rootwait" >/boot/firmware/cmdline.txt
-sed -i 's/^#ROOTPART=.*/ROOTPART=UUID={uuid}/' /etc/default/raspi-firmware
-'''.format(uuid=uuid)
- library.run_in_chroot(state, ['bash', '-c', script])
diff --git a/freedommaker/builders/raspberry_pi_with_uboot.py b/freedommaker/builders/raspberry_pi_with_uboot.py diff --git a/freedommaker/builders/raspberry_pi_with_uboot.py b/freedommaker/builders/raspberry_pi_with_uboot.py
deleted file mode 100644 deleted file mode 100644
index 8057f87..0000000 index c4be09cd..00000000
--- a/freedommaker/builders/raspberry_pi_with_uboot.py --- a/freedommaker/builders/raspberry_pi_with_uboot.py
+++ /dev/null +++ /dev/null
@@ -1,44 +0,0 @@ @@ -1,46 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-License-Identifier: GPL-3.0-or-later
-""" -"""
-Base worker class to build Raspberry Pi 2 and 3 images. -Base worker class to build Raspberry Pi 2 and 3 images.
@ -104,14 +138,15 @@ index 8057f87..0000000
- -
-class RaspberryPiWithUBoot(ARMImageBuilder): -class RaspberryPiWithUBoot(ARMImageBuilder):
- """Base image builder for Raspberry Pi 2 and 3 targets.""" - """Base image builder for Raspberry Pi 2 and 3 targets."""
- free = False - include_non_free_firmware = True
- uboot_variant = None - uboot_variant = None
- firmware_filesystem_type = 'vfat' - firmware_filesystem_type = 'vfat'
- firmware_size = '64MiB' - firmware_size = '256MiB'
- u_boot_variant = 'rpi'
- -
- def install_boot_loader(self, state): - def install_boot_loader(self, state):
- """Install the boot loader onto the image.""" - """Install the boot loader onto the image."""
- if not self.uboot_variant: - if not self.u_boot_rpi_variant:
- raise NotImplementedError - raise NotImplementedError
- -
- firmware_package = 'raspi-firmware' - firmware_package = 'raspi-firmware'
@ -133,29 +168,35 @@ index 8057f87..0000000
- -
-# u-boot setup -# u-boot setup
-apt-get install -y u-boot-rpi -apt-get install -y u-boot-rpi
-cp /usr/lib/u-boot/{uboot_variant}/u-boot.bin /boot/firmware/kernel.img -cp /usr/lib/u-boot/{u_boot_rpi_variant}/u-boot.bin /boot/firmware/kernel.img
-cp /usr/lib/u-boot/{uboot_variant}/u-boot.bin /boot/firmware/kernel7.img -cp /usr/lib/u-boot/{u_boot_rpi_variant}/u-boot.bin /boot/firmware/kernel7.img
-'''.format(firmware_package=firmware_package, uboot_variant=self.uboot_variant) -'''.format(firmware_package=firmware_package,
- u_boot_rpi_variant=self.u_boot_rpi_variant)
- library.run_in_chroot(state, ['bash', '-c', script]) - library.run_in_chroot(state, ['bash', '-c', script])
diff --git a/freedommaker/builders/vagrant.py b/freedommaker/builders/vagrant.py diff --git a/freedommaker/builders/vagrant.py b/freedommaker/builders/vagrant.py
deleted file mode 100644 deleted file mode 100644
index 13d124d..0000000 index 30df772b..00000000
--- a/freedommaker/builders/vagrant.py --- a/freedommaker/builders/vagrant.py
+++ /dev/null +++ /dev/null
@@ -1,41 +0,0 @@ @@ -1,56 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-License-Identifier: GPL-3.0-or-later
-""" -"""
-Worker class to build Vagrant images. -Worker class to build Vagrant images.
-""" -"""
- -
-import logging
-import os -import os
-import subprocess
- -
-from .. import library -from .. import library
-from .virtualbox_amd64 import VirtualBoxAmd64ImageBuilder -from .virtualbox_amd64 import VirtualBoxAmd64ImageBuilder
- -
-logger = logging.getLogger(__name__)
-
- -
-class VagrantImageBuilder(VirtualBoxAmd64ImageBuilder): -class VagrantImageBuilder(VirtualBoxAmd64ImageBuilder):
- """Image builder for Vagrant package.""" - """Image builder for Vagrant package."""
- include_contrib = True
- vagrant_extension = '.box' - vagrant_extension = '.box'
- -
- @classmethod - @classmethod
@ -174,86 +215,23 @@ index 13d124d..0000000
- self.create_vm_file(self.image_file, vm_file) - self.create_vm_file(self.image_file, vm_file)
- os.remove(self.image_file) - os.remove(self.image_file)
- self.vagrant_package(vm_file, vagrant_file) - self.vagrant_package(vm_file, vagrant_file)
- self.store_hash(vagrant_file)
- -
- def vagrant_package(self, vm_file, vagrant_file): - def vagrant_package(self, vm_file, vagrant_file):
- """Create a vagrant package from VM file.""" - """Create a vagrant package from VM file."""
- command = [ - command = [
- 'bin/vagrant-package', '--distribution', - 'freedommaker/vagrant_package.py', '--distribution',
- self.arguments.distribution, '--release-components' - self.arguments.distribution, '--release-components'
- ] - ]
- command.extend(self.release_components) - command.extend(self.release_components)
- command += ['--output', vagrant_file, vm_file] - command += ['--output', vagrant_file, vm_file]
- library.run(command) - library.run(command)
diff --git a/freedommaker/builders/virtualbox.py b/freedommaker/builders/virtualbox.py
deleted file mode 100644
index 73c1965..0000000
--- a/freedommaker/builders/virtualbox.py
+++ /dev/null
@@ -1,31 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-"""
-Base worker class to build VirtualBox images.
-"""
- -
-import os - def store_hash(self, vagrant_file):
- - """Store the SHA-256 hash of the vagrant box file."""
-from .. import library - output = subprocess.check_output(['sha256sum', vagrant_file])
-from .vm import VMImageBuilder - result = output.decode()
- - logger.info('sha256sum: %s', result)
- - hash_filename = self._replace_extension(vagrant_file, '.sha256')
-class VirtualBoxImageBuilder(VMImageBuilder): - with open(hash_filename, 'w') as hash_file:
- """Base image builder for all VirtualBox targets.""" - hash_file.write(result)
- vm_image_extension = '.vdi'
-
- @classmethod
- def get_target_name(cls):
- """Return the name of the target for an image builder."""
- if getattr(cls, 'architecture', None):
- return 'virtualbox-' + cls.architecture
-
- return None
-
- def create_vm_file(self, image_file, vm_file):
- """Create a VM file from image file."""
- try:
- os.remove(vm_file)
- except FileNotFoundError:
- pass
-
- library.run(['VBoxManage', 'convertdd', image_file, vm_file])
diff --git a/freedommaker/builders/virtualbox_amd64.py b/freedommaker/builders/virtualbox_amd64.py
deleted file mode 100644
index 20108d6..0000000
--- a/freedommaker/builders/virtualbox_amd64.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-"""
-Worker class to build VirtualBox amd64 images.
-"""
-
-from .virtualbox import VirtualBoxImageBuilder
-
-
-class VirtualBoxAmd64ImageBuilder(VirtualBoxImageBuilder):
- """Image builder for all VirtualBox amd64 targets."""
- architecture = 'amd64'
- kernel_flavor = 'amd64'
diff --git a/freedommaker/builders/virtualbox_i386.py b/freedommaker/builders/virtualbox_i386.py
deleted file mode 100644
index 9380a6a..0000000
--- a/freedommaker/builders/virtualbox_i386.py
+++ /dev/null
@@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-"""
-Worker class to build VirtualBox i386 images.
-"""
-
-from .virtualbox import VirtualBoxImageBuilder
-
-
-class VirtualBoxI386ImageBuilder(VirtualBoxImageBuilder):
- """Image builder for all VirtualBox i386 targets."""
- architecture = 'i386'
- kernel_flavor = '686'

View file

@ -1,76 +1,75 @@
diff --git a/freedommaker/tests/test_library.py b/freedommaker/tests/test_library.py diff --git a/freedommaker/tests/test_library.py b/freedommaker/tests/test_library.py
index 2cc840a..6e63917 100644 index 4b52b278..b4688a11 100644
--- a/freedommaker/tests/test_library.py --- a/freedommaker/tests/test_library.py
+++ b/freedommaker/tests/test_library.py +++ b/freedommaker/tests/test_library.py
@@ -422,13 +422,13 @@ modify x x @@ -446,13 +446,13 @@ def test_cleanup_extra_storage(run, image, state, random_string):
@patch('freedommaker.library.run') @patch('freedommaker.library.run')
def test_debootstrap(self, run): def test_debootstrap(run, state):
"""Test debootstrapping.""" """Test debootstrapping."""
- library.debootstrap(self.state, 'i386', 'stretch', 'minbase', - library.debootstrap(state, 'i386', 'stretch', 'minbase',
- ['main', 'contrib'], ['p1', 'p2'], - ['main', 'contrib'], ['p1', 'p2'],
- 'http://deb.debian.org/debian') - 'http://deb.debian.org/debian')
+ library.debootstrap(self.state, 'amd64', 'nabia', 'minbase', + library.debootstrap(state, 'amd64', 'aramo', 'minbase',
+ ['main'], ['p1', 'p2'], + ['main'], ['p1', 'p2'],
+ 'http://archive.trisquel.org/trisquel') + 'http://archive.trisquel.org/trisquel')
run.assert_called_with([ run.assert_called_with([
- 'debootstrap', '--arch=i386', '--variant=minbase', - 'debootstrap', '--arch=i386', '--variant=minbase',
- '--components=main,contrib', '--include=p1,p2', 'stretch', - '--components=main,contrib', '--include=p1,p2', 'stretch',
- self.state['mount_point'], 'http://deb.debian.org/debian' - state['mount_point'], 'http://deb.debian.org/debian'
+ 'debootstrap', '--arch=amd64', '--variant=minbase', + 'debootstrap', '--arch=amd64', '--variant=minbase',
+ '--components=main', '--include=p1,p2', 'nabia', + '--components=main', '--include=p1,p2', 'aramo',
+ self.state['mount_point'], 'http://archive.trisquel.org/trisquel' + state['mount_point'], 'http://archive.trisquel.org/trisquel'
]) ])
self.assertEqual(self.state['cleanup'], [[ assert state['cleanup'] == [[
@@ -574,31 +574,37 @@ ff02::2 ip6-allrouters @@ -602,17 +602,17 @@ def test_setup_apt(run, state):
sources_path = self.state['mount_point'] + '/etc/apt/sources.list' sources_path = state['mount_point'] + '/etc/apt/sources.list'
stable_content = ''' stable_content = '''
-deb http://deb.debian.org/debian stable main -deb http://deb.debian.org/debian stable main
-deb-src http://deb.debian.org/debian stable main -deb-src http://deb.debian.org/debian stable main
+deb http://archive.trisquel.org/trisquel nabia main +deb http://archive.trisquel.org/trisquel aramo main
+deb-src http://archive.trisquel.org/trisquel nabia main +deb-src http://archive.trisquel.org/trisquel aramo main
-deb http://deb.debian.org/debian stable-updates main -deb http://deb.debian.org/debian stable-updates main
-deb-src http://deb.debian.org/debian stable-updates main -deb-src http://deb.debian.org/debian stable-updates main
+deb http://archive.trisquel.org/trisquel nabia-updates main +deb http://archive.trisquel.org/trisquel aramo-updates main
+deb-src http://archive.trisquel.org/trisquel nabia-updates main +deb-src http://archive.trisquel.org/trisquel aramo-updates main
-deb http://security.debian.org/debian-security/ stable-security main -deb http://security.debian.org/debian-security/ stable-security main
-deb-src http://security.debian.org/debian-security/ stable-security main -deb-src http://security.debian.org/debian-security/ stable-security main
+deb http://archive.trisquel.org/trisquel nabia-security main +deb https://archive.trisquel.org/trisquel/ aramo-security main
+deb-src http://archive.trisquel.org/trisquel nabia-security main +deb-src https://archive.trisquel.org/trisquel/ aramo-security main
''' '''
with self.assert_file_change(sources_path, None, stable_content): with assert_file_change(sources_path, None, stable_content):
- library.setup_apt(self.state, 'http://deb.debian.org/debian', - library.setup_apt(state, 'http://deb.debian.org/debian', 'stable',
- 'stable', ['main']) + library.setup_apt(state, 'http://archive.trisquel.org/trisquel', 'aramo',
+ library.setup_apt(self.state, 'http://archive.trisquel.org/trisquel', ['main'])
+ 'nabia', ['main'])
self.assertEqual(run.call_args_list, [ assert run.call_args_list == [
call(self.state, ['apt-get', 'update']), @@ -620,13 +620,19 @@ deb-src https://archive.trisquel.org/trisquel/ aramo-security main
call(self.state, ['apt-get', 'clean']) call(state, ['apt-get', 'clean'])
]) ]
- unstable_content = ''' - unstable_content = '''
-deb http://ftp.us.debian.org/debian unstable main contrib non-free -deb http://ftp.us.debian.org/debian unstable main contrib non-free-firmware
-deb-src http://ftp.us.debian.org/debian unstable main contrib non-free -deb-src http://ftp.us.debian.org/debian unstable main contrib non-free-firmware
+ aramo_content = ''' + ecne_content = '''
+deb http://archive.trisquel.org/trisquel aramo main +deb http://archive.trisquel.org/trisquel ecne main
+deb-src http://archive.trisquel.org/trisquel aramo main +deb-src http://archive.trisquel.org/trisquel ecne main
+ +
+deb http://archive.trisquel.org/trisquel aramo-updates main +deb http://archive.trisquel.org/trisquel ecne-updates main
+deb-src http://archive.trisquel.org/trisquel aramo-updates main +deb-src http://archive.trisquel.org/trisquel ecne-updates main
+ +
+deb http://archive.trisquel.org/trisquel aramo-security main +deb https://archive.trisquel.org/trisquel/ ecne-security main
+deb-src http://archive.trisquel.org/trisquel aramo-security main +deb-src https://archive.trisquel.org/trisquel/ ecne-security main
''' '''
- with self.assert_file_change(sources_path, None, unstable_content): - with assert_file_change(sources_path, None, unstable_content):
- library.setup_apt(self.state, 'http://ftp.us.debian.org/debian', - library.setup_apt(state, 'http://ftp.us.debian.org/debian', 'unstable',
- 'unstable', ['main', 'contrib', 'non-free']) - ['main', 'contrib', 'non-free-firmware'])
+ with self.assert_file_change(sources_path, None, aramo_content): + with assert_file_change(sources_path, None, ecne_content):
+ library.setup_apt(self.state, 'http://archive.trisquel.org/trisquel', + library.setup_apt(state, 'http://archive.trisquel.org/trisquel', 'ecne',
+ 'aramo', ['main']) + ['main'])
@patch('freedommaker.library.run_in_chroot') @patch('freedommaker.library.run_in_chroot')
def test_setup_flash_kernel(self, run):

View file

@ -5,12 +5,12 @@ index ff7f807..ad94e1c 100644
@@ -10,7 +10,7 @@ from .arm import ARMImageBuilder @@ -10,7 +10,7 @@ from .arm import ARMImageBuilder
class A20ImageBuilder(ARMImageBuilder): class A20ImageBuilder(ARMImageBuilder):
"""Base image builder for all Allwinner A20 board based targets.""" """Base image builder for all Allwinner A20 board based targets."""
architecture = 'armhf' architecture: str = 'armhf'
- kernel_flavor = 'armmp-lpae' - kernel_flavor: str = 'armmp-lpae'
+ kernel_flavor = 'generic' + kernel_flavor: str = 'generic'
u_boot_path = None u_boot_path: str | None = None
u_boot_variant: str = 'sunxi'
def install_boot_loader(self, state):
diff --git a/freedommaker/builders/a64.py b/ffreedommaker/builders/a64.py diff --git a/freedommaker/builders/a64.py b/ffreedommaker/builders/a64.py
index 7314724..21f3ae1 100644 index 7314724..21f3ae1 100644
--- a/freedommaker/builders/a64.py --- a/freedommaker/builders/a64.py
@ -18,22 +18,25 @@ index 7314724..21f3ae1 100644
@@ -12,7 +12,7 @@ from .arm import ARMImageBuilder @@ -12,7 +12,7 @@ from .arm import ARMImageBuilder
class A64ImageBuilder(ARMImageBuilder): class A64ImageBuilder(ARMImageBuilder):
"""Image builder for all Allwinner A64 board targets.""" """Image builder for all Allwinner A64 board targets."""
architecture = 'arm64' architecture: str = 'arm64'
- kernel_flavor = 'arm64' - kernel_flavor: str = 'arm64'
+ kernel_flavor = 'generic' + kernel_flavor: str = 'generic'
u_boot_target = None u_boot_target: str | None = None
def __init__(self, *args, **kwargs): def __init__(self, *args, **kwargs):
diff --git a/freedommaker/builders/amd64.py b/ffreedommaker/builders/amd64.py diff --git a/freedommaker/builders/amd64.py b/ffreedommaker/builders/amd64.py
index d577ece..1b758f8 100644 index d577ece..1b758f8 100644
--- a/freedommaker/builders/amd64.py --- a/freedommaker/builders/amd64.py
+++ b/ffreedommaker/builders/amd64.py +++ b/ffreedommaker/builders/amd64.py
@@ -9,4 +9,4 @@ from .amd_intel import AMDIntelImageBuilder @@ -9,7 +9,7 @@ from .amd_intel import AMDIntelImageBuilder
class AMD64ImageBuilder(AMDIntelImageBuilder): class AMD64ImageBuilder(AMDIntelImageBuilder):
"""Image builder for all amd64 targets.""" """Image builder for all amd64 targets."""
architecture = 'amd64' architecture = 'amd64'
- kernel_flavor = 'amd64' - kernel_flavor = 'amd64'
+ kernel_flavor = 'generic' + kernel_flavor = 'generic'
include_non_free_firmware = True
def __init__(self, *args, **kwargs):
diff --git a/freedommaker/builders/arm64.py b/ffreedommaker/builders/arm64.py diff --git a/freedommaker/builders/arm64.py b/ffreedommaker/builders/arm64.py
index 4576d3e..fc593f9 100644 index 4576d3e..fc593f9 100644
--- a/freedommaker/builders/arm64.py --- a/freedommaker/builders/arm64.py
@ -77,12 +80,15 @@ diff --git a/freedommaker/builders/i386.py b/ffreedommaker/builders/i386.py
index 98a48da..692122d 100644 index 98a48da..692122d 100644
--- a/freedommaker/builders/i386.py --- a/freedommaker/builders/i386.py
+++ b/ffreedommaker/builders/i386.py +++ b/ffreedommaker/builders/i386.py
@@ -9,4 +9,4 @@ from .amd_intel import AMDIntelImageBuilder @@ -9,7 +9,7 @@ from .amd_intel import AMDIntelImageBuilder
class I386ImageBuilder(AMDIntelImageBuilder): class I386ImageBuilder(AMDIntelImageBuilder):
"""Image builder for all i386 targets.""" """Image builder for all i386 targets."""
architecture = 'i386' architecture = 'i386'
- kernel_flavor = '686' - kernel_flavor = '686'
+ kernel_flavor = 'generic' + kernel_flavor = 'generic'
include_non_free_firmware = True
def __init__(self, *args, **kwargs):
diff --git a/freedommaker/builders/qemu_amd64.py b/ffreedommaker/builders/qemu_amd64.py diff --git a/freedommaker/builders/qemu_amd64.py b/ffreedommaker/builders/qemu_amd64.py
index bb28f0a..61e5863 100644 index bb28f0a..61e5863 100644
--- a/freedommaker/builders/qemu_amd64.py --- a/freedommaker/builders/qemu_amd64.py

View file

@ -1,127 +0,0 @@
From a9e6e44ef898671229388938cc3ed511fa394dfc Mon Sep 17 00:00:00 2001
From: Philip Withnall <pwithnall@endlessos.org>
Date: Mon, 23 Jan 2023 16:38:36 +0000
Subject: [PATCH] tools: Drop gnome-shell-overrides-migration.sh
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The tool was added in 2018 to migrate to per-desktop overrides from the
old overrides system.
5 years later, everyone whos going to migrate probably has migrated, so
we can delete the script and remove a process running on every login.
Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2611>
---
...gnome-shell-overrides-migration.desktop.in | 5 ---
data/meson.build | 9 -----
meson.build | 1 -
tools/gnome-shell-overrides-migration.sh | 38 -------------------
tools/meson.build | 4 --
5 files changed, 57 deletions(-)
delete mode 100644 data/gnome-shell-overrides-migration.desktop.in
delete mode 100755 tools/gnome-shell-overrides-migration.sh
delete mode 100644 tools/meson.build
diff --git a/data/gnome-shell-overrides-migration.desktop.in b/data/gnome-shell-overrides-migration.desktop.in
deleted file mode 100644
index 99452e6ec1..0000000000
--- a/data/gnome-shell-overrides-migration.desktop.in
+++ /dev/null
@@ -1,5 +0,0 @@
-[Desktop Entry]
-Type=Application
-Name=GNOME settings overrides migration
-NoDisplay=true
-Exec=@libexecdir@/gnome-shell-overrides-migration.sh
diff --git a/data/meson.build b/data/meson.build
index 7fa7f15ffb..a31efcc794 100644
--- a/data/meson.build
+++ b/data/meson.build
@@ -99,15 +99,6 @@ schema = configure_file(
)
install_data('00_org.gnome.shell.gschema.override', install_dir: schemadir)
-overrides_migration_conf = configuration_data()
-overrides_migration_conf.set('libexecdir', libexecdir)
-overrides_migration = configure_file(
- input: 'gnome-shell-overrides-migration.desktop.in',
- output: 'gnome-shell-overrides-migration.desktop',
- configuration: overrides_migration_conf,
- install_dir: autostartdir
-)
-
if have_systemd
unitconf = configuration_data()
unitconf.set('bindir', bindir)
diff --git a/meson.build b/meson.build
index 791ec2e64e..6cd40cefa8 100644
--- a/meson.build
+++ b/meson.build
@@ -283,7 +283,6 @@ subdir('js')
subdir('src')
subdir('po')
subdir('data')
-subdir('tools')
if get_option('tests')
subdir('tests')
diff --git a/tools/gnome-shell-overrides-migration.sh b/tools/gnome-shell-overrides-migration.sh
deleted file mode 100755
index a1b4cb6331..0000000000
--- a/tools/gnome-shell-overrides-migration.sh
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-
-PKG_DATA_DIR=${XDG_DATA_HOME:-$HOME/.local/share}/gnome-shell
-
-MIGRATION_GUARD=$PKG_DATA_DIR/gnome-overrides-migrated
-OVERRIDE_SCHEMA=
-
-if [ -f $MIGRATION_GUARD ]; then
- exit # already migrated
-fi
-
-# Find the right session
-if echo $XDG_CURRENT_DESKTOP | grep -q -v GNOME; then
- exit # not a GNOME session
-fi
-
-if echo $XDG_CURRENT_DESKTOP | grep -q Classic; then
- OVERRIDE_SCHEMA=org.gnome.shell.extensions.classic-overrides
-else
- OVERRIDE_SCHEMA=org.gnome.shell.overrides
-fi
-
-mkdir -p $PKG_DATA_DIR
-
-for k in `gsettings list-keys $OVERRIDE_SCHEMA`
-do
- if [ $k = button-layout ]; then
- orig_schema=org.gnome.desktop.wm.preferences
- else
- orig_schema=org.gnome.mutter
- fi
-
- oldValue=`gsettings get $OVERRIDE_SCHEMA $k`
- curValue=`gsettings get $orig_schema $k`
- if [ $oldValue != $curValue ]; then
- gsettings set $orig_schema $k $oldValue
- fi
-done && touch $MIGRATION_GUARD
diff --git a/tools/meson.build b/tools/meson.build
deleted file mode 100644
index d8e217cc44..0000000000
--- a/tools/meson.build
+++ /dev/null
@@ -1,4 +0,0 @@
-install_data('gnome-shell-overrides-migration.sh',
- install_dir: libexecdir,
- install_mode: 'rwxr-xr-x'
-)
--
GitLab

View file

@ -1,15 +1,24 @@
diff --git a/debian/control b/debian/control diff --git a/debian/control b/debian/control
index 2ea9e66..91f61fc 100644 index 7262a65c..497779f7 100644
--- a/debian/control --- a/debian/control
+++ b/debian/control +++ b/debian/control
@@ -62,9 +62,8 @@ Depends: appstream, @@ -17,7 +17,6 @@ Build-Depends: appstream,
libadwaita-1-dev (>= 1.4),
libappstream-dev (>= 1.0.0),
libflatpak-dev (>= 1.14.0) [amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x hppa powerpc ppc64 riscv64 x32],
- libfwupd-dev (>= 1.5.6) [linux-any],
libglib-testing-0-dev,
libglib2.0-dev (>= 2.70.0),
libgtk-4-dev (>= 4.12.0),
@@ -60,10 +60,8 @@ Depends: appstream,
${misc:Depends}, ${misc:Depends},
${shlibs:Depends} ${shlibs:Depends}
Conflicts: sessioninstaller Conflicts: sessioninstaller
-Recommends: fwupd [linux-any], ${plugin:Recommends} -Recommends: fwupd [linux-any],
- ${plugin:Recommends}
+Recommends: ${plugin:Recommends} +Recommends: ${plugin:Recommends}
Suggests: apt-config-icons-hidpi, Suggests: apt-config-icons-hidpi,
- gnome-software-plugin-flatpak [amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x hppa powerpc powerpcspe ppc64], - gnome-software-plugin-flatpak [amd64 arm64 armel armhf i386 mipsel mips64el ppc64el s390x hppa powerpc ppc64 riscv64 x32],
${plugin:Suggests} ${plugin:Suggests}
Description: Software Center for GNOME Description: Software Center for GNOME
Software lets you install and update applications and system extensions. Software lets you install and update applications and system extensions.

View file

@ -1,35 +0,0 @@
diff --git a/debian/control b/debian/control
index c6a9778..ca0b1f0 100644
--- a/debian/control
+++ b/debian/control
@@ -254,8 +254,6 @@ Depends:
gpg-agent (>= ${source:Version}),
gpg-wks-client (<< ${source:Version}.1~),
gpg-wks-client (>= ${source:Version}),
- gpg-wks-server (<< ${source:Version}.1~),
- gpg-wks-server (>= ${source:Version}),
gpgsm (<< ${source:Version}.1~),
gpgsm (>= ${source:Version}),
gpgv (<< ${source:Version}.1~),
@@ -265,6 +263,8 @@ Depends:
Recommends:
${shlibs:Recommends},
Suggests:
+ gpg-wks-server (<< ${source:Version}.1~),
+ gpg-wks-server (>= ${source:Version}),
parcimonie,
xloadimage,
Breaks:
diff --git a/debian/control b/debian/control
index ca0b1f0..dc1d5cd 100644
--- a/debian/control
+++ b/debian/control
@@ -279,6 +279,8 @@ Breaks:
python-apt (<= 1.1.0~beta4),
python-gnupg (<< 0.3.8-3),
python3-apt (<= 1.1.0~beta4),
+Conflicts:
+ gpg-wks-server (<= 2.2.27-3ubuntu2.3+11.0trisquel0),
Replaces:
gnupg2 (<< 2.1.11-7+exp1),
Description: GNU privacy guard - a free PGP replacement

View file

@ -0,0 +1,17 @@
diff --git a/debian/control b/debian/control
index c599ba9e..7215fac0 100644
--- a/debian/control
+++ b/debian/control
@@ -388,8 +388,10 @@ Build-Profiles: <!noudeb>
Section: debian-installer
Architecture: any
Depends:
- ${misc:Depends},
- ${shlibs:Depends},
+ libc6-udeb (>= 2.39),
+ libgcrypt20-udeb (>= 1.10.3),
+ libgpg-error0-udeb (>= 1.47),
+ zlib1g-udeb (>= 1:1.2.3.3.dfsg-1)
Description: minimal signature verification tool
GnuPG is GNU's tool for secure communication and data storage.
It can be used to encrypt data and to create digital signatures.

View file

@ -1,42 +0,0 @@
From a50782a34b4e792d62b77a5b56c9ca7fe14ece9c Mon Sep 17 00:00:00 2001
From: D-I role <debian-boot@lists.debian.org>
Date: Thu, 14 Sep 2023 20:02:51 +0000
Subject: [PATCH] [l10n] Update templates.pot (from l10n-sync run at dillon)
---
debian/po/templates.pot | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
index 30e63b4e..c46bf4bd 100644
--- a/debian/po/templates.pot
+++ b/debian/po/templates.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: grub-installer\n"
"Report-Msgid-Bugs-To: grub-installer@packages.debian.org\n"
-"POT-Creation-Date: 2023-04-20 20:02+0000\n"
+"POT-Creation-Date: 2023-09-14 20:02+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -394,14 +394,14 @@ msgstr ""
#. Description
#. :sl4:
#: ../grub-installer.templates:30001
-msgid "Failed to mount /target/proc"
+msgid "Failed to mount ${PATH}"
msgstr ""
#. Type: error
#. Description
#. :sl4:
#: ../grub-installer.templates:30001
-msgid "Mounting the proc file system on /target/proc failed."
+msgid "Mounting the ${FSTYPE} file system on ${PATH} failed."
msgstr ""
#. Type: error
--
GitLab

View file

@ -0,0 +1,18 @@
diff --git a/grub-installer b/grub-installer
index 4fdbb30e..af19a59f 100755
--- a/grub-installer
+++ b/grub-installer
@@ -533,8 +533,12 @@ case "$grub_package" in
grub-efi-ia32-bin grub-efi-ia32
;;
grub-efi*)
+ export DEBIAN_PRIORITY=critical
+ export DEBIAN_FRONTEND=noninteractive
+ unset DEBIAN_HAS_FRONTEND
+ unset DEBCONF_REDIR
log-output -t grub-installer $chroot $ROOT dpkg -P \
- grub grub-legacy grub-pc-bin grub-pc
+ grub grub-legacy grub-pc-bin grub-pc grub-gfxpayload-lists
;;
esac

View file

@ -0,0 +1,46 @@
diff --git a/grub-installer b/grub-installer
index 3d80321f..a1793ee5 100755
--- a/grub-installer
+++ b/grub-installer
@@ -475,23 +475,24 @@ case $grub_package in
NV_PRIO=high
fi
- # Should we force a copy of grub-efi to be installed
- # to the removable media path too? Set default to true
- # if the removable media path is empty, then ask at low
- # priority, or can also be pre-seeded of course
- if ! [ -e /var/lib/grub-installer/removable_media_path_checked ]; then
- info "Checking removable media path $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI"
- if ! [ -f $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI ]; then
- info "Removable media path is empty"
- db_fget grub-installer/force-efi-extra-removable seen
- if [ "$RET" = false ]; then
- info "force-efi-extra-removable not preseeded, set it true"
- db_set grub-installer/force-efi-extra-removable true
- fi
- fi
- mkdir -p /var/lib/grub-installer
- touch /var/lib/grub-installer/removable_media_path_checked
- fi
+# Mimic ubiquity 1.128ubuntu15 behaviour and only bypass low priority question. -- Ark74
+# # Should we force a copy of grub-efi to be installed
+# # to the removable media path too? Set default to true
+# # if the removable media path is empty, then ask at low
+# # priority, or can also be pre-seeded of course
+# if ! [ -e /var/lib/grub-installer/removable_media_path_checked ]; then
+# info "Checking removable media path $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI"
+# if ! [ -f $ROOT/boot/efi/EFI/BOOT/BOOT${EFI_SUFFIX}.EFI ]; then
+# info "Removable media path is empty"
+# db_fget grub-installer/force-efi-extra-removable seen
+# if [ "$RET" = false ]; then
+# info "force-efi-extra-removable not preseeded, set it true"
+# db_set grub-installer/force-efi-extra-removable true
+# fi
+# fi
+# mkdir -p /var/lib/grub-installer
+# touch /var/lib/grub-installer/removable_media_path_checked
+# fi
db_input $ER_PRIO grub-installer/force-efi-extra-removable || [ $? -eq 30 ]
db_go || exit 10
db_get grub-installer/force-efi-extra-removable

View file

@ -1,253 +0,0 @@
diff --git a/0001-Cryptomount-support-LUKS-detached-header.patch b/0001-Cryptomount-support-LUKS-detached-header.patch
new file mode 100644
index 00000000000..65943f41b8c
--- /dev/null
+++ b/0001-Cryptomount-support-LUKS-detached-header.patch
@@ -0,0 +1,247 @@
+From 2008e08c0a511da5d454664363f452a9e26c734f Mon Sep 17 00:00:00 2001
+From: John Lane <john@lane.uk.net>
+Date: Tue, 23 Jun 2015 11:16:30 +0100
+Subject: [PATCH 1/7] Cryptomount support LUKS detached header
+
+---
+ grub-core/disk/cryptodisk.c | 22 ++++++++++++++++++----
+ grub-core/disk/geli.c | 7 +++++--
+ grub-core/disk/luks.c | 45 +++++++++++++++++++++++++++++++++++++--------
+ include/grub/cryptodisk.h | 5 +++--
+ 4 files changed, 63 insertions(+), 16 deletions(-)
+
+diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
+index bd60a66b3..5230a5a9a 100644
+--- a/grub-core/disk/cryptodisk.c
++++ b/grub-core/disk/cryptodisk.c
+@@ -41,6 +41,7 @@ static const struct grub_arg_option options[] =
+ /* TRANSLATORS: It's still restricted to cryptodisks only. */
+ {"all", 'a', 0, N_("Mount all."), 0, 0},
+ {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0},
++ {"header", 'H', 0, N_("Read LUKS header from file"), 0, ARG_TYPE_STRING},
+ {0, 0, 0, 0, 0, 0}
+ };
+
+@@ -809,6 +810,7 @@ grub_util_cryptodisk_get_uuid (grub_disk_t disk)
+
+ static int check_boot, have_it;
+ static char *search_uuid;
++static grub_file_t hdr;
+
+ static void
+ cryptodisk_close (grub_cryptodisk_t dev)
+@@ -833,13 +835,13 @@ grub_cryptodisk_scan_device_real (const char *name, grub_disk_t source)
+
+ FOR_CRYPTODISK_DEVS (cr)
+ {
+- dev = cr->scan (source, search_uuid, check_boot);
++ dev = cr->scan (source, search_uuid, check_boot, hdr);
+ if (grub_errno)
+ return grub_errno;
+ if (!dev)
+ continue;
+
+- err = cr->recover_key (source, dev);
++ err = cr->recover_key (source, dev, hdr);
+ if (err)
+ {
+ cryptodisk_close (dev);
+@@ -880,7 +882,7 @@ grub_cryptodisk_cheat_mount (const char *sourcedev, const char *cheat)
+
+ FOR_CRYPTODISK_DEVS (cr)
+ {
+- dev = cr->scan (source, search_uuid, check_boot);
++ dev = cr->scan (source, search_uuid, check_boot,0);
+ if (grub_errno)
+ return grub_errno;
+ if (!dev)
+@@ -934,6 +936,18 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args)
+ if (argc < 1 && !state[1].set && !state[2].set)
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, "device name required");
+
++ if (state[3].set) /* LUKS detached header */
++ {
++ if (state[0].set) /* Cannot use UUID lookup with detached header */
++ return GRUB_ERR_BAD_ARGUMENT;
++
++ hdr = grub_file_open (state[3].arg, GRUB_FILE_TYPE_NONE);
++ if (!hdr)
++ return grub_errno;
++ }
++ else
++ hdr = NULL;
++
+ have_it = 0;
+ if (state[0].set)
+ {
+@@ -1141,7 +1155,7 @@ GRUB_MOD_INIT (cryptodisk)
+ {
+ grub_disk_dev_register (&grub_cryptodisk_dev);
+ cmd = grub_register_extcmd ("cryptomount", grub_cmd_cryptomount, 0,
+- N_("SOURCE|-u UUID|-a|-b"),
++ N_("SOURCE|-u UUID|-a|-b|-H file"),
+ N_("Mount a crypto device."), options);
+ grub_procfs_register ("luks_script", &luks_script);
+ }
+diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c
+index e9d23299a..f4394eb42 100644
+--- a/grub-core/disk/geli.c
++++ b/grub-core/disk/geli.c
+@@ -52,6 +52,7 @@
+ #include <grub/dl.h>
+ #include <grub/err.h>
+ #include <grub/disk.h>
++#include <grub/file.h>
+ #include <grub/crypto.h>
+ #include <grub/partition.h>
+ #include <grub/i18n.h>
+@@ -243,7 +244,8 @@ grub_util_get_geli_uuid (const char *dev)
+
+ static grub_cryptodisk_t
+ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+- int boot_only)
++ int boot_only,
++ grub_file_t hdr __attribute__ ((unused)) )
+ {
+ grub_cryptodisk_t newdev;
+ struct grub_geli_phdr header;
+@@ -398,7 +400,8 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ }
+
+ static grub_err_t
+-recover_key (grub_disk_t source, grub_cryptodisk_t dev)
++recover_key (grub_disk_t source, grub_cryptodisk_t dev,
++ grub_file_t hdr __attribute__ ((unused)) )
+ {
+ grub_size_t keysize;
+ grub_uint8_t digest[GRUB_CRYPTO_MAX_MDLEN];
+diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
+index 86c50c612..66e64c0e0 100644
+--- a/grub-core/disk/luks.c
++++ b/grub-core/disk/luks.c
+@@ -23,6 +23,7 @@
+ #include <grub/dl.h>
+ #include <grub/err.h>
+ #include <grub/disk.h>
++#include <grub/file.h>
+ #include <grub/crypto.h>
+ #include <grub/partition.h>
+ #include <grub/i18n.h>
+@@ -66,7 +67,7 @@ gcry_err_code_t AF_merge (const gcry_md_spec_t * hash, grub_uint8_t * src,
+
+ static grub_cryptodisk_t
+ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+- int check_boot)
++ int check_boot, grub_file_t hdr)
+ {
+ grub_cryptodisk_t newdev;
+ const char *iptr;
+@@ -86,11 +87,21 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ int benbi_log = 0;
+ grub_err_t err;
+
++ err = GRUB_ERR_NONE;
++
+ if (check_boot)
+ return NULL;
+
+ /* Read the LUKS header. */
+- err = grub_disk_read (disk, 0, 0, sizeof (header), &header);
++ if (hdr)
++ {
++ grub_file_seek (hdr, 0);
++ if (grub_file_read (hdr, &header, sizeof (header)) != sizeof (header))
++ err = GRUB_ERR_READ_ERROR;
++ }
++ else
++ err = grub_disk_read (disk, 0, 0, sizeof (header), &header);
++
+ if (err)
+ {
+ if (err == GRUB_ERR_OUT_OF_RANGE)
+@@ -304,12 +315,14 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid));
+ newdev->modname = "luks";
+ COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid));
++
+ return newdev;
+ }
+
+ static grub_err_t
+ luks_recover_key (grub_disk_t source,
+- grub_cryptodisk_t dev)
++ grub_cryptodisk_t dev,
++ grub_file_t hdr)
+ {
+ struct grub_luks_phdr header;
+ grub_size_t keysize;
+@@ -321,8 +334,19 @@ luks_recover_key (grub_disk_t source,
+ grub_err_t err;
+ grub_size_t max_stripes = 1;
+ char *tmp;
++ grub_uint32_t sector;
++
++ err = GRUB_ERR_NONE;
++
++ if (hdr)
++ {
++ grub_file_seek (hdr, 0);
++ if (grub_file_read (hdr, &header, sizeof (header)) != sizeof (header))
++ err = GRUB_ERR_READ_ERROR;
++ }
++ else
++ err = grub_disk_read (source, 0, 0, sizeof (header), &header);
+
+- err = grub_disk_read (source, 0, 0, sizeof (header), &header);
+ if (err)
+ return err;
+
+@@ -391,13 +415,18 @@ luks_recover_key (grub_disk_t source,
+ return grub_crypto_gcry_error (gcry_err);
+ }
+
++ sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset);
+ length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes));
+
+ /* Read and decrypt the key material from the disk. */
+- err = grub_disk_read (source,
+- grub_be_to_cpu32 (header.keyblock
+- [i].keyMaterialOffset), 0,
+- length, split_key);
++ if (hdr)
++ {
++ grub_file_seek (hdr, sector * 512);
++ if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length)
++ err = GRUB_ERR_READ_ERROR;
++ }
++ else
++ err = grub_disk_read (source, sector, 0, length, split_key);
+ if (err)
+ {
+ grub_free (split_key);
+diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h
+index 32f564ae0..4e6e89a93 100644
+--- a/include/grub/cryptodisk.h
++++ b/include/grub/cryptodisk.h
+@@ -20,6 +20,7 @@
+ #define GRUB_CRYPTODISK_HEADER 1
+
+ #include <grub/disk.h>
++#include <grub/file.h>
+ #include <grub/crypto.h>
+ #include <grub/list.h>
+ #ifdef GRUB_UTIL
+@@ -107,8 +108,8 @@ struct grub_cryptodisk_dev
+ struct grub_cryptodisk_dev **prev;
+
+ grub_cryptodisk_t (*scan) (grub_disk_t disk, const char *check_uuid,
+- int boot_only);
+- grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev);
++ int boot_only, grub_file_t hdr);
++ grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, grub_file_t hdr);
+ };
+ typedef struct grub_cryptodisk_dev *grub_cryptodisk_dev_t;
+
+--
+2.16.2
+

View file

@ -1,211 +0,0 @@
diff --git a/0002-Cryptomount-support-key-files.patch b/0002-Cryptomount-support-key-files.patch
new file mode 100644
index 00000000000..43af5ff3cbf
--- /dev/null
+++ b/0002-Cryptomount-support-key-files.patch
@@ -0,0 +1,205 @@
+From df3aa34cc68b128c5441ee25ef092e6c2c87392e Mon Sep 17 00:00:00 2001
+From: John Lane <john@lane.uk.net>
+Date: Fri, 26 Jun 2015 13:37:10 +0100
+Subject: [PATCH 2/7] Cryptomount support key files
+
+---
+ grub-core/disk/cryptodisk.c | 46 ++++++++++++++++++++++++++++++++++++++++++++-
+ grub-core/disk/geli.c | 4 +++-
+ grub-core/disk/luks.c | 44 +++++++++++++++++++++++++++++--------------
+ include/grub/cryptodisk.h | 5 ++++-
+ 4 files changed, 82 insertions(+), 17 deletions(-)
+
+diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
+index 5230a5a9a..5261af547 100644
+--- a/grub-core/disk/cryptodisk.c
++++ b/grub-core/disk/cryptodisk.c
+@@ -42,6 +42,9 @@ static const struct grub_arg_option options[] =
+ {"all", 'a', 0, N_("Mount all."), 0, 0},
+ {"boot", 'b', 0, N_("Mount all volumes with `boot' flag set."), 0, 0},
+ {"header", 'H', 0, N_("Read LUKS header from file"), 0, ARG_TYPE_STRING},
++ {"keyfile", 'k', 0, N_("Key file"), 0, ARG_TYPE_STRING},
++ {"keyfile-offset", 'O', 0, N_("Key file offset (bytes)"), 0, ARG_TYPE_INT},
++ {"keyfile-size", 'S', 0, N_("Key file data size (bytes)"), 0, ARG_TYPE_INT},
+ {0, 0, 0, 0, 0, 0}
+ };
+
+@@ -811,6 +814,8 @@ grub_util_cryptodisk_get_uuid (grub_disk_t disk)
+ static int check_boot, have_it;
+ static char *search_uuid;
+ static grub_file_t hdr;
++static grub_uint8_t *key, keyfile_buffer[GRUB_CRYPTODISK_MAX_KEYFILE_SIZE];
++static grub_size_t keyfile_size;
+
+ static void
+ cryptodisk_close (grub_cryptodisk_t dev)
+@@ -841,7 +846,7 @@ grub_cryptodisk_scan_device_real (const char *name, grub_disk_t source)
+ if (!dev)
+ continue;
+
+- err = cr->recover_key (source, dev, hdr);
++ err = cr->recover_key (source, dev, hdr, key, keyfile_size);
+ if (err)
+ {
+ cryptodisk_close (dev);
+@@ -949,6 +954,45 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args)
+ hdr = NULL;
+
+ have_it = 0;
++ key = NULL;
++
++ if (state[4].set) /* Key file; fails back to passphrase entry */
++ {
++ grub_file_t keyfile;
++ int keyfile_offset;
++ grub_size_t requested_keyfile_size;
++
++ requested_keyfile_size = state[6].set ? grub_strtoul(state[6].arg, 0, 0) : 0;
++
++ if (requested_keyfile_size > GRUB_CRYPTODISK_MAX_KEYFILE_SIZE)
++ grub_printf (N_("Key file size exceeds maximum (%llu)\n"), \
++ (unsigned long long) GRUB_CRYPTODISK_MAX_KEYFILE_SIZE);
++ else
++ {
++ keyfile_offset = state[5].set ? grub_strtoul (state[5].arg, 0, 0) : 0;
++ keyfile_size = requested_keyfile_size ? requested_keyfile_size : \
++ GRUB_CRYPTODISK_MAX_KEYFILE_SIZE;
++
++ keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE);
++ if (!keyfile)
++ grub_printf (N_("Unable to open key file %s\n"), state[4].arg);
++ else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1)
++ grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset);
++ else
++ {
++ keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size);
++ if (keyfile_size == (grub_size_t)-1)
++ grub_printf (N_("Error reading key file\n"));
++ else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size))
++ grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"),
++ (unsigned long long) requested_keyfile_size,
++ (unsigned long long) keyfile_size);
++ else
++ key = keyfile_buffer;
++ }
++ }
++ }
++
+ if (state[0].set)
+ {
+ grub_cryptodisk_t dev;
+diff --git a/grub-core/disk/geli.c b/grub-core/disk/geli.c
+index f4394eb42..da6aa6a63 100644
+--- a/grub-core/disk/geli.c
++++ b/grub-core/disk/geli.c
+@@ -401,7 +401,9 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+
+ static grub_err_t
+ recover_key (grub_disk_t source, grub_cryptodisk_t dev,
+- grub_file_t hdr __attribute__ ((unused)) )
++ grub_file_t hdr __attribute__ ((unused)),
++ grub_uint8_t *key __attribute__ ((unused)),
++ grub_size_t keyfile_size __attribute__ ((unused)) )
+ {
+ grub_size_t keysize;
+ grub_uint8_t digest[GRUB_CRYPTO_MAX_MDLEN];
+diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
+index 66e64c0e0..588236888 100644
+--- a/grub-core/disk/luks.c
++++ b/grub-core/disk/luks.c
+@@ -322,12 +322,16 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ static grub_err_t
+ luks_recover_key (grub_disk_t source,
+ grub_cryptodisk_t dev,
+- grub_file_t hdr)
++ grub_file_t hdr,
++ grub_uint8_t *keyfile_bytes,
++ grub_size_t keyfile_bytes_size)
+ {
+ struct grub_luks_phdr header;
+ grub_size_t keysize;
+ grub_uint8_t *split_key = NULL;
+- char passphrase[MAX_PASSPHRASE] = "";
++ char interactive_passphrase[MAX_PASSPHRASE] = "";
++ grub_uint8_t *passphrase;
++ grub_size_t passphrase_length;
+ grub_uint8_t candidate_digest[sizeof (header.mkDigest)];
+ unsigned i;
+ grub_size_t length;
+@@ -364,18 +368,30 @@ luks_recover_key (grub_disk_t source,
+ if (!split_key)
+ return grub_errno;
+
+- /* Get the passphrase from the user. */
+- tmp = NULL;
+- if (source->partition)
+- tmp = grub_partition_get_name (source->partition);
+- grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name,
+- source->partition ? "," : "", tmp ? : "",
+- dev->uuid);
+- grub_free (tmp);
+- if (!grub_password_get (passphrase, MAX_PASSPHRASE))
++ if (keyfile_bytes)
+ {
+- grub_free (split_key);
+- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
++ /* Use bytestring from key file as passphrase */
++ passphrase = keyfile_bytes;
++ passphrase_length = keyfile_bytes_size;
++ }
++ else
++ {
++ /* Get the passphrase from the user. */
++ tmp = NULL;
++ if (source->partition)
++ tmp = grub_partition_get_name (source->partition);
++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name,
++ source->partition ? "," : "", tmp ? : "", dev->uuid);
++ grub_free (tmp);
++ if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE))
++ {
++ grub_free (split_key);
++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
++ }
++
++ passphrase = (grub_uint8_t *)interactive_passphrase;
++ passphrase_length = grub_strlen (interactive_passphrase);
++
+ }
+
+ /* Try to recover master key from each active keyslot. */
+@@ -393,7 +409,7 @@ luks_recover_key (grub_disk_t source,
+
+ /* Calculate the PBKDF2 of the user supplied passphrase. */
+ gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase,
+- grub_strlen (passphrase),
++ passphrase_length,
+ header.keyblock[i].passwordSalt,
+ sizeof (header.keyblock[i].passwordSalt),
+ grub_be_to_cpu32 (header.keyblock[i].
+diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h
+index 4e6e89a93..67f6b0b59 100644
+--- a/include/grub/cryptodisk.h
++++ b/include/grub/cryptodisk.h
+@@ -55,6 +55,8 @@ typedef enum
+ #define GRUB_CRYPTODISK_GF_BYTES (1U << GRUB_CRYPTODISK_GF_LOG_BYTES)
+ #define GRUB_CRYPTODISK_MAX_KEYLEN 128
+
++#define GRUB_CRYPTODISK_MAX_KEYFILE_SIZE 8192
++
+ struct grub_cryptodisk;
+
+ typedef gcry_err_code_t
+@@ -109,7 +111,8 @@ struct grub_cryptodisk_dev
+
+ grub_cryptodisk_t (*scan) (grub_disk_t disk, const char *check_uuid,
+ int boot_only, grub_file_t hdr);
+- grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev, grub_file_t hdr);
++ grub_err_t (*recover_key) (grub_disk_t disk, grub_cryptodisk_t dev,
++ grub_file_t hdr, grub_uint8_t *key, grub_size_t keyfile_size);
+ };
+ typedef struct grub_cryptodisk_dev *grub_cryptodisk_dev_t;
+
+--
+2.16.2
+

View file

@ -1,335 +0,0 @@
diff --git a/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch b/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch
new file mode 100644
index 00000000000..19ffed89ca8
--- /dev/null
+++ b/0003-Cryptomount-luks-allow-multiple-passphrase-attempts.patch
@@ -0,0 +1,329 @@
+From d055c1e314fa37957f169e08bea9d19c4417ed21 Mon Sep 17 00:00:00 2001
+From: John Lane <john@lane.uk.net>
+Date: Fri, 26 Jun 2015 13:49:58 +0100
+Subject: [PATCH 3/7] cryptomount luks allow multiple passphrase attempts
+
+---
+ grub-core/disk/luks.c | 278 ++++++++++++++++++++++++++------------------------
+ 1 file changed, 143 insertions(+), 135 deletions(-)
+
+diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
+index 588236888..11e437edb 100644
+--- a/grub-core/disk/luks.c
++++ b/grub-core/disk/luks.c
+@@ -321,10 +321,10 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+
+ static grub_err_t
+ luks_recover_key (grub_disk_t source,
+- grub_cryptodisk_t dev,
+- grub_file_t hdr,
+- grub_uint8_t *keyfile_bytes,
+- grub_size_t keyfile_bytes_size)
++ grub_cryptodisk_t dev,
++ grub_file_t hdr,
++ grub_uint8_t *keyfile_bytes,
++ grub_size_t keyfile_bytes_size)
+ {
+ struct grub_luks_phdr header;
+ grub_size_t keysize;
+@@ -339,6 +339,7 @@ luks_recover_key (grub_disk_t source,
+ grub_size_t max_stripes = 1;
+ char *tmp;
+ grub_uint32_t sector;
++ unsigned attempts = 2;
+
+ err = GRUB_ERR_NONE;
+
+@@ -361,151 +362,158 @@ luks_recover_key (grub_disk_t source,
+
+ for (i = 0; i < ARRAY_SIZE (header.keyblock); i++)
+ if (grub_be_to_cpu32 (header.keyblock[i].active) == LUKS_KEY_ENABLED
+- && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes)
++ && grub_be_to_cpu32 (header.keyblock[i].stripes) > max_stripes)
+ max_stripes = grub_be_to_cpu32 (header.keyblock[i].stripes);
+
+ split_key = grub_malloc (keysize * max_stripes);
+ if (!split_key)
+ return grub_errno;
+
+- if (keyfile_bytes)
++ while (attempts)
+ {
+- /* Use bytestring from key file as passphrase */
+- passphrase = keyfile_bytes;
+- passphrase_length = keyfile_bytes_size;
+- }
+- else
+- {
+- /* Get the passphrase from the user. */
+- tmp = NULL;
+- if (source->partition)
+- tmp = grub_partition_get_name (source->partition);
+- grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name,
+- source->partition ? "," : "", tmp ? : "", dev->uuid);
+- grub_free (tmp);
+- if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE))
++ if (keyfile_bytes)
+ {
+- grub_free (split_key);
+- return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
+- }
+-
+- passphrase = (grub_uint8_t *)interactive_passphrase;
+- passphrase_length = grub_strlen (interactive_passphrase);
+-
+- }
+-
+- /* Try to recover master key from each active keyslot. */
+- for (i = 0; i < ARRAY_SIZE (header.keyblock); i++)
+- {
+- gcry_err_code_t gcry_err;
+- grub_uint8_t candidate_key[GRUB_CRYPTODISK_MAX_KEYLEN];
+- grub_uint8_t digest[GRUB_CRYPTODISK_MAX_KEYLEN];
+-
+- /* Check if keyslot is enabled. */
+- if (grub_be_to_cpu32 (header.keyblock[i].active) != LUKS_KEY_ENABLED)
+- continue;
+-
+- grub_dprintf ("luks", "Trying keyslot %d\n", i);
+-
+- /* Calculate the PBKDF2 of the user supplied passphrase. */
+- gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase,
+- passphrase_length,
+- header.keyblock[i].passwordSalt,
+- sizeof (header.keyblock[i].passwordSalt),
+- grub_be_to_cpu32 (header.keyblock[i].
+- passwordIterations),
+- digest, keysize);
+-
+- if (gcry_err)
+- {
+- grub_free (split_key);
+- return grub_crypto_gcry_error (gcry_err);
+- }
+-
+- grub_dprintf ("luks", "PBKDF2 done\n");
+-
+- gcry_err = grub_cryptodisk_setkey (dev, digest, keysize);
+- if (gcry_err)
+- {
+- grub_free (split_key);
+- return grub_crypto_gcry_error (gcry_err);
+- }
+-
+- sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset);
+- length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes));
+-
+- /* Read and decrypt the key material from the disk. */
+- if (hdr)
+- {
+- grub_file_seek (hdr, sector * 512);
+- if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length)
+- err = GRUB_ERR_READ_ERROR;
++ /* Use bytestring from key file as passphrase */
++ passphrase = keyfile_bytes;
++ passphrase_length = keyfile_bytes_size;
++ keyfile_bytes = NULL; /* use it only once */
+ }
+ else
+- err = grub_disk_read (source, sector, 0, length, split_key);
+- if (err)
+- {
+- grub_free (split_key);
+- return err;
+- }
+-
+- gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0);
+- if (gcry_err)
+- {
+- grub_free (split_key);
+- return grub_crypto_gcry_error (gcry_err);
+- }
+-
+- /* Merge the decrypted key material to get the candidate master key. */
+- gcry_err = AF_merge (dev->hash, split_key, candidate_key, keysize,
+- grub_be_to_cpu32 (header.keyblock[i].stripes));
+- if (gcry_err)
+- {
+- grub_free (split_key);
+- return grub_crypto_gcry_error (gcry_err);
+- }
+-
+- grub_dprintf ("luks", "candidate key recovered\n");
+-
+- /* Calculate the PBKDF2 of the candidate master key. */
+- gcry_err = grub_crypto_pbkdf2 (dev->hash, candidate_key,
+- grub_be_to_cpu32 (header.keyBytes),
+- header.mkDigestSalt,
+- sizeof (header.mkDigestSalt),
+- grub_be_to_cpu32
+- (header.mkDigestIterations),
+- candidate_digest,
+- sizeof (candidate_digest));
+- if (gcry_err)
+- {
+- grub_free (split_key);
+- return grub_crypto_gcry_error (gcry_err);
+- }
+-
+- /* Compare the calculated PBKDF2 to the digest stored
+- in the header to see if it's correct. */
+- if (grub_memcmp (candidate_digest, header.mkDigest,
+- sizeof (header.mkDigest)) != 0)
+- {
+- grub_dprintf ("luks", "bad digest\n");
+- continue;
+- }
++ {
++ /* Get the passphrase from the user. */
++ tmp = NULL;
++ if (source->partition)
++ tmp = grub_partition_get_name (source->partition);
++ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name,
++ source->partition ? "," : "", tmp ? : "", dev->uuid);
++ grub_free (tmp);
++ if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE))
++ {
++ grub_free (split_key);
++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
++ }
++
++ passphrase = (grub_uint8_t *)interactive_passphrase;
++ passphrase_length = grub_strlen (interactive_passphrase);
+
+- /* TRANSLATORS: It's a cryptographic key slot: one element of an array
+- where each element is either empty or holds a key. */
+- grub_printf_ (N_("Slot %d opened\n"), i);
++ }
+
+- /* Set the master key. */
+- gcry_err = grub_cryptodisk_setkey (dev, candidate_key, keysize);
+- if (gcry_err)
+- {
+- grub_free (split_key);
+- return grub_crypto_gcry_error (gcry_err);
+- }
++ /* Try to recover master key from each active keyslot. */
++ for (i = 0; i < ARRAY_SIZE (header.keyblock); i++)
++ {
++ gcry_err_code_t gcry_err;
++ grub_uint8_t candidate_key[GRUB_CRYPTODISK_MAX_KEYLEN];
++ grub_uint8_t digest[GRUB_CRYPTODISK_MAX_KEYLEN];
++
++ /* Check if keyslot is enabled. */
++ if (grub_be_to_cpu32 (header.keyblock[i].active) != LUKS_KEY_ENABLED)
++ continue;
++
++ grub_dprintf ("luks", "Trying keyslot %d\n", i);
++
++ /* Calculate the PBKDF2 of the user supplied passphrase. */
++ gcry_err = grub_crypto_pbkdf2 (dev->hash, (grub_uint8_t *) passphrase,
++ passphrase_length,
++ header.keyblock[i].passwordSalt,
++ sizeof (header.keyblock[i].passwordSalt),
++ grub_be_to_cpu32 (header.keyblock[i].
++ passwordIterations),
++ digest, keysize);
++
++ if (gcry_err)
++ {
++ grub_free (split_key);
++ return grub_crypto_gcry_error (gcry_err);
++ }
++
++ grub_dprintf ("luks", "PBKDF2 done\n");
++
++ gcry_err = grub_cryptodisk_setkey (dev, digest, keysize);
++ if (gcry_err)
++ {
++ grub_free (split_key);
++ return grub_crypto_gcry_error (gcry_err);
++ }
++
++ sector = grub_be_to_cpu32 (header.keyblock[i].keyMaterialOffset);
++ length = (keysize * grub_be_to_cpu32 (header.keyblock[i].stripes));
++
++ /* Read and decrypt the key material from the disk. */
++ if (hdr)
++ {
++ grub_file_seek (hdr, sector * 512);
++ if (grub_file_read (hdr, split_key, length) != (grub_ssize_t)length)
++ err = GRUB_ERR_READ_ERROR;
++ }
++ else
++ err = grub_disk_read (source, sector, 0, length, split_key);
++ if (err)
++ {
++ grub_free (split_key);
++ return err;
++ }
++
++ gcry_err = grub_cryptodisk_decrypt (dev, split_key, length, 0);
++ if (gcry_err)
++ {
++ grub_free (split_key);
++ return grub_crypto_gcry_error (gcry_err);
++ }
++
++ /* Merge the decrypted key material to get the candidate master key. */
++ gcry_err = AF_merge (dev->hash, split_key, candidate_key, keysize,
++ grub_be_to_cpu32 (header.keyblock[i].stripes));
++ if (gcry_err)
++ {
++ grub_free (split_key);
++ return grub_crypto_gcry_error (gcry_err);
++ }
++
++ grub_dprintf ("luks", "candidate key recovered\n");
++
++ /* Calculate the PBKDF2 of the candidate master key. */
++ gcry_err = grub_crypto_pbkdf2 (dev->hash, candidate_key,
++ grub_be_to_cpu32 (header.keyBytes),
++ header.mkDigestSalt,
++ sizeof (header.mkDigestSalt),
++ grub_be_to_cpu32
++ (header.mkDigestIterations),
++ candidate_digest,
++ sizeof (candidate_digest));
++ if (gcry_err)
++ {
++ grub_free (split_key);
++ return grub_crypto_gcry_error (gcry_err);
++ }
++
++ /* Compare the calculated PBKDF2 to the digest stored
++ in the header to see if it's correct. */
++ if (grub_memcmp (candidate_digest, header.mkDigest,
++ sizeof (header.mkDigest)) != 0)
++ {
++ grub_dprintf ("luks", "bad digest\n");
++ continue;
++ }
++
++ /* TRANSLATORS: It's a cryptographic key slot: one element of an array
++ where each element is either empty or holds a key. */
++ grub_printf_ (N_("Slot %d opened\n"), i);
++
++ /* Set the master key. */
++ gcry_err = grub_cryptodisk_setkey (dev, candidate_key, keysize);
++ if (gcry_err)
++ {
++ grub_free (split_key);
++ return grub_crypto_gcry_error (gcry_err);
++ }
+
+- grub_free (split_key);
++ grub_free (split_key);
+
+- return GRUB_ERR_NONE;
++ return GRUB_ERR_NONE;
++ }
++ grub_printf_ (N_("Failed to decrypt master key.\n"));
++ if (--attempts) grub_printf_ (N_("%u attempt%s remaining.\n"), attempts,
++ (attempts==1) ? "" : "s");
+ }
+
+ grub_free (split_key);
+--
+2.16.2
+

View file

@ -1,650 +0,0 @@
diff --git a/0004-Cryptomount-support-plain-dm-crypt.patch b/0004-Cryptomount-support-plain-dm-crypt.patch
new file mode 100644
index 00000000000..34c10d7216b
--- /dev/null
+++ b/0004-Cryptomount-support-plain-dm-crypt.patch
@@ -0,0 +1,644 @@
+From a8f9e3dcece89c179e89414abe89985c7ab1e03f Mon Sep 17 00:00:00 2001
+From: John Lane <john@lane.uk.net>
+Date: Fri, 26 Jun 2015 22:09:52 +0100
+Subject: [PATCH 4/7] Cryptomount support plain dm-crypt
+
+Patch modified to take into account a change to context
+brought about by c93d3e694713b8230fa2cf88414fabe005b56782
+
+grub-core/disk/cryptodisk.c
+142c142
+< if (disklast)
+---
+>
+---
+ grub-core/disk/cryptodisk.c | 298 +++++++++++++++++++++++++++++++++++++++++++-
+ grub-core/disk/luks.c | 195 +----------------------------
+ include/grub/cryptodisk.h | 8 ++
+ 3 files changed, 310 insertions(+), 191 deletions(-)
+
+diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
+index 5261af547..7f656f75c 100644
+--- a/grub-core/disk/cryptodisk.c
++++ b/grub-core/disk/cryptodisk.c
+@@ -45,6 +45,12 @@ static const struct grub_arg_option options[] =
+ {"keyfile", 'k', 0, N_("Key file"), 0, ARG_TYPE_STRING},
+ {"keyfile-offset", 'O', 0, N_("Key file offset (bytes)"), 0, ARG_TYPE_INT},
+ {"keyfile-size", 'S', 0, N_("Key file data size (bytes)"), 0, ARG_TYPE_INT},
++ {"plain", 'p', 0, N_("Plain (no LUKS header)"), 0, ARG_TYPE_NONE},
++ {"cipher", 'c', 0, N_("Plain mode cipher"), 0, ARG_TYPE_STRING},
++ {"digest", 'd', 0, N_("Plain mode passphrase digest (hash)"), 0, ARG_TYPE_STRING},
++ {"offset", 'o', 0, N_("Plain mode data sector offset"), 0, ARG_TYPE_INT},
++ {"size", 's', 0, N_("Size of raw device (sectors, defaults to whole device)"), 0, ARG_TYPE_INT},
++ {"key-size", 'K', 0, N_("Set key size (bits)"), 0, ARG_TYPE_INT},
+ {0, 0, 0, 0, 0, 0}
+ };
+
+@@ -933,6 +939,48 @@ grub_cryptodisk_scan_device (const char *name,
+ return have_it && search_uuid ? 1 : 0;
+ }
+
++/* Hashes a passphrase into a key and stores it with cipher. */
++static gcry_err_code_t
++set_passphrase (grub_cryptodisk_t dev, grub_size_t keysize, const char *passphrase)
++{
++ grub_uint8_t derived_hash[GRUB_CRYPTODISK_MAX_KEYLEN * 2], *dh = derived_hash;
++ char *p;
++ unsigned int round, i;
++ unsigned int len, size;
++
++ /* Need no passphrase if there's no key */
++ if (keysize == 0)
++ return GPG_ERR_INV_KEYLEN;
++
++ /* Hack to support the "none" hash */
++ if (dev->hash)
++ len = dev->hash->mdlen;
++ else
++ len = grub_strlen (passphrase);
++
++ if (keysize > GRUB_CRYPTODISK_MAX_KEYLEN || len > GRUB_CRYPTODISK_MAX_KEYLEN)
++ return GPG_ERR_INV_KEYLEN;
++
++ p = grub_malloc (grub_strlen (passphrase) + 2 + keysize / len);
++ if (!p)
++ return grub_errno;
++
++ for (round = 0, size = keysize; size; round++, dh += len, size -= len)
++ {
++ for (i = 0; i < round; i++)
++ p[i] = 'A';
++
++ grub_strcpy (p + i, passphrase);
++
++ if (len > size)
++ len = size;
++
++ grub_crypto_hash (dev->hash, dh, p, grub_strlen (p));
++ }
++
++ return grub_cryptodisk_setkey (dev, derived_hash, keysize);
++}
++
+ static grub_err_t
+ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args)
+ {
+@@ -1060,7 +1108,63 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args)
+ return GRUB_ERR_NONE;
+ }
+
+- err = grub_cryptodisk_scan_device_real (diskname, disk);
++ if (state[7].set) /* Plain mode */
++ {
++ char *cipher;
++ char *mode;
++ char *digest;
++ int offset, size, key_size;
++
++ cipher = grub_strdup (state[8].set ? state[8].arg : GRUB_CRYPTODISK_PLAIN_CIPHER);
++ digest = grub_strdup (state[9].set ? state[9].arg : GRUB_CRYPTODISK_PLAIN_DIGEST);
++ offset = state[10].set ? grub_strtoul (state[10].arg, 0, 0) : 0;
++ size = state[11].set ? grub_strtoul (state[11].arg, 0, 0) : 0;
++ key_size = ( state[12].set ? grub_strtoul (state[12].arg, 0, 0) \
++ : GRUB_CRYPTODISK_PLAIN_KEYSIZE ) / 8;
++
++ /* no strtok, do it manually */
++ mode = grub_strchr(cipher,'-');
++ if (!mode)
++ return GRUB_ERR_BAD_ARGUMENT;
++ else
++ *mode++ = 0;
++
++ dev = grub_cryptodisk_create (disk, NULL, cipher, mode, digest);
++
++ dev->offset = offset;
++ if (size) dev->total_length = size;
++
++ if (key)
++ {
++ err = grub_cryptodisk_setkey (dev, key, key_size);
++ if (err)
++ return err;
++ }
++ else
++ {
++ char passphrase[GRUB_CRYPTODISK_MAX_PASSPHRASE] = "";
++
++ grub_printf_ (N_("Enter passphrase for %s: "), diskname);
++ if (!grub_password_get (passphrase, GRUB_CRYPTODISK_MAX_PASSPHRASE))
++ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
++
++ err = set_passphrase (dev, key_size, passphrase);
++ if (err)
++ {
++ grub_crypto_cipher_close (dev->cipher);
++ return err;
++ }
++ }
++
++ grub_cryptodisk_insert (dev, diskname, disk);
++
++ grub_free (cipher);
++ grub_free (digest);
++
++ err = GRUB_ERR_NONE;
++ }
++ else
++ err = grub_cryptodisk_scan_device_real (diskname, disk);
+
+ grub_disk_close (disk);
+ if (disklast)
+@@ -1193,13 +1297,203 @@ struct grub_procfs_entry luks_script =
+ .get_contents = luks_script_get
+ };
+
++grub_cryptodisk_t
++grub_cryptodisk_create (grub_disk_t disk, char *uuid,
++ char *ciphername, char *ciphermode, char *hashspec)
++{
++ grub_cryptodisk_t newdev;
++ char *cipheriv = NULL;
++ grub_crypto_cipher_handle_t cipher = NULL, secondary_cipher = NULL;
++ grub_crypto_cipher_handle_t essiv_cipher = NULL;
++ const gcry_md_spec_t *hash = NULL, *essiv_hash = NULL;
++ const struct gcry_cipher_spec *ciph;
++ grub_cryptodisk_mode_t mode;
++ grub_cryptodisk_mode_iv_t mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64;
++ int benbi_log = 0;
++
++ if (!uuid)
++ uuid = (char*)"00000000000000000000000000000000";
++
++ ciph = grub_crypto_lookup_cipher_by_name (ciphername);
++ if (!ciph)
++ {
++ grub_error (GRUB_ERR_FILE_NOT_FOUND, "Cipher %s isn't available",
++ ciphername);
++ return NULL;
++ }
++
++ /* Configure the cipher used for the bulk data. */
++ cipher = grub_crypto_cipher_open (ciph);
++ if (!cipher)
++ return NULL;
++
++ /* Configure the cipher mode. */
++ if (grub_strcmp (ciphermode, "ecb") == 0)
++ {
++ mode = GRUB_CRYPTODISK_MODE_ECB;
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN;
++ cipheriv = NULL;
++ }
++ else if (grub_strcmp (ciphermode, "plain") == 0)
++ {
++ mode = GRUB_CRYPTODISK_MODE_CBC;
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN;
++ cipheriv = NULL;
++ }
++ else if (grub_memcmp (ciphermode, "cbc-", sizeof ("cbc-") - 1) == 0)
++ {
++ mode = GRUB_CRYPTODISK_MODE_CBC;
++ cipheriv = ciphermode + sizeof ("cbc-") - 1;
++ }
++ else if (grub_memcmp (ciphermode, "pcbc-", sizeof ("pcbc-") - 1) == 0)
++ {
++ mode = GRUB_CRYPTODISK_MODE_PCBC;
++ cipheriv = ciphermode + sizeof ("pcbc-") - 1;
++ }
++ else if (grub_memcmp (ciphermode, "xts-", sizeof ("xts-") - 1) == 0)
++ {
++ mode = GRUB_CRYPTODISK_MODE_XTS;
++ cipheriv = ciphermode + sizeof ("xts-") - 1;
++ secondary_cipher = grub_crypto_cipher_open (ciph);
++ if (!secondary_cipher)
++ {
++ grub_crypto_cipher_close (cipher);
++ return NULL;
++ }
++ if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES)
++ {
++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d",
++ cipher->cipher->blocksize);
++ grub_crypto_cipher_close (cipher);
++ grub_crypto_cipher_close (secondary_cipher);
++ return NULL;
++ }
++ if (secondary_cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES)
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d",
++ secondary_cipher->cipher->blocksize);
++ grub_crypto_cipher_close (secondary_cipher);
++ return NULL;
++ }
++ }
++ else if (grub_memcmp (ciphermode, "lrw-", sizeof ("lrw-") - 1) == 0)
++ {
++ mode = GRUB_CRYPTODISK_MODE_LRW;
++ cipheriv = ciphermode + sizeof ("lrw-") - 1;
++ if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES)
++ {
++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported LRW block size: %d",
++ cipher->cipher->blocksize);
++ grub_crypto_cipher_close (cipher);
++ return NULL;
++ }
++ }
++ else
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown cipher mode: %s",
++ ciphermode);
++ return NULL;
++ }
++
++ if (cipheriv == NULL);
++ else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0)
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN;
++ else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0)
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64;
++ else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0)
++ {
++ if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1)
++ || cipher->cipher->blocksize == 0)
++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported benbi blocksize: %d",
++ cipher->cipher->blocksize);
++ /* FIXME should we return an error here? */
++ for (benbi_log = 0;
++ (cipher->cipher->blocksize << benbi_log) < GRUB_DISK_SECTOR_SIZE;
++ benbi_log++);
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_BENBI;
++ }
++ else if (grub_memcmp (cipheriv, "null", sizeof ("null") - 1) == 0)
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_NULL;
++ else if (grub_memcmp (cipheriv, "essiv:", sizeof ("essiv:") - 1) == 0)
++ {
++ char *hash_str = cipheriv + 6;
++
++ mode_iv = GRUB_CRYPTODISK_MODE_IV_ESSIV;
++
++ /* Configure the hash and cipher used for ESSIV. */
++ essiv_hash = grub_crypto_lookup_md_by_name (hash_str);
++ if (!essiv_hash)
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_crypto_cipher_close (secondary_cipher);
++ grub_error (GRUB_ERR_FILE_NOT_FOUND,
++ "Couldn't load %s hash", hash_str);
++ return NULL;
++ }
++ essiv_cipher = grub_crypto_cipher_open (ciph);
++ if (!essiv_cipher)
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_crypto_cipher_close (secondary_cipher);
++ return NULL;
++ }
++ }
++ else
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_crypto_cipher_close (secondary_cipher);
++ grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown IV mode: %s",
++ cipheriv);
++ return NULL;
++ }
++
++ /* Configure the passphrase hash (LUKS also uses AF splitter and HMAC). */
++ hash = grub_crypto_lookup_md_by_name (hashspec);
++ if (!hash)
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_crypto_cipher_close (essiv_cipher);
++ grub_crypto_cipher_close (secondary_cipher);
++ grub_error (GRUB_ERR_FILE_NOT_FOUND, "Couldn't load %s hash",
++ hashspec);
++ return NULL;
++ }
++
++ newdev = grub_zalloc (sizeof (struct grub_cryptodisk));
++ if (!newdev)
++ {
++ grub_crypto_cipher_close (cipher);
++ grub_crypto_cipher_close (essiv_cipher);
++ grub_crypto_cipher_close (secondary_cipher);
++ return NULL;
++ }
++ newdev->cipher = cipher;
++ newdev->offset = 0;
++ newdev->source_disk = NULL;
++ newdev->benbi_log = benbi_log;
++ newdev->mode = mode;
++ newdev->mode_iv = mode_iv;
++ newdev->secondary_cipher = secondary_cipher;
++ newdev->essiv_cipher = essiv_cipher;
++ newdev->essiv_hash = essiv_hash;
++ newdev->hash = hash;
++ newdev->log_sector_size = 9;
++ newdev->total_length = grub_disk_get_size (disk) - newdev->offset;
++ grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid));
++ COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid));
++
++ return newdev;
++}
++
+ static grub_extcmd_t cmd;
+
+ GRUB_MOD_INIT (cryptodisk)
+ {
+ grub_disk_dev_register (&grub_cryptodisk_dev);
+ cmd = grub_register_extcmd ("cryptomount", grub_cmd_cryptomount, 0,
+- N_("SOURCE|-u UUID|-a|-b|-H file"),
++ N_("SOURCE|-u UUID|-a|-b|-H file|-p -c cipher -d digest"),
+ N_("Mount a crypto device."), options);
+ grub_procfs_register ("luks_script", &luks_script);
+ }
+diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
+index 11e437edb..4ebe21b4e 100644
+--- a/grub-core/disk/luks.c
++++ b/grub-core/disk/luks.c
+@@ -30,8 +30,6 @@
+
+ GRUB_MOD_LICENSE ("GPLv3+");
+
+-#define MAX_PASSPHRASE 256
+-
+ #define LUKS_KEY_ENABLED 0x00AC71F3
+
+ /* On disk LUKS header */
+@@ -76,15 +74,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ char uuid[sizeof (header.uuid) + 1];
+ char ciphername[sizeof (header.cipherName) + 1];
+ char ciphermode[sizeof (header.cipherMode) + 1];
+- char *cipheriv = NULL;
+ char hashspec[sizeof (header.hashSpec) + 1];
+- grub_crypto_cipher_handle_t cipher = NULL, secondary_cipher = NULL;
+- grub_crypto_cipher_handle_t essiv_cipher = NULL;
+- const gcry_md_spec_t *hash = NULL, *essiv_hash = NULL;
+- const struct gcry_cipher_spec *ciph;
+- grub_cryptodisk_mode_t mode;
+- grub_cryptodisk_mode_iv_t mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64;
+- int benbi_log = 0;
+ grub_err_t err;
+
+ err = GRUB_ERR_NONE;
+@@ -119,7 +109,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ iptr++)
+ {
+ if (*iptr != '-')
+- *optr++ = *iptr;
++ *optr++ = *iptr;
+ }
+ *optr = 0;
+
+@@ -129,6 +119,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ return NULL;
+ }
+
++
+ /* Make sure that strings are null terminated. */
+ grub_memcpy (ciphername, header.cipherName, sizeof (header.cipherName));
+ ciphername[sizeof (header.cipherName)] = 0;
+@@ -137,184 +128,10 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ grub_memcpy (hashspec, header.hashSpec, sizeof (header.hashSpec));
+ hashspec[sizeof (header.hashSpec)] = 0;
+
+- ciph = grub_crypto_lookup_cipher_by_name (ciphername);
+- if (!ciph)
+- {
+- grub_error (GRUB_ERR_FILE_NOT_FOUND, "Cipher %s isn't available",
+- ciphername);
+- return NULL;
+- }
+-
+- /* Configure the cipher used for the bulk data. */
+- cipher = grub_crypto_cipher_open (ciph);
+- if (!cipher)
+- return NULL;
+-
+- if (grub_be_to_cpu32 (header.keyBytes) > 1024)
+- {
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "invalid keysize %d",
+- grub_be_to_cpu32 (header.keyBytes));
+- grub_crypto_cipher_close (cipher);
+- return NULL;
+- }
+-
+- /* Configure the cipher mode. */
+- if (grub_strcmp (ciphermode, "ecb") == 0)
+- {
+- mode = GRUB_CRYPTODISK_MODE_ECB;
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN;
+- cipheriv = NULL;
+- }
+- else if (grub_strcmp (ciphermode, "plain") == 0)
+- {
+- mode = GRUB_CRYPTODISK_MODE_CBC;
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN;
+- cipheriv = NULL;
+- }
+- else if (grub_memcmp (ciphermode, "cbc-", sizeof ("cbc-") - 1) == 0)
+- {
+- mode = GRUB_CRYPTODISK_MODE_CBC;
+- cipheriv = ciphermode + sizeof ("cbc-") - 1;
+- }
+- else if (grub_memcmp (ciphermode, "pcbc-", sizeof ("pcbc-") - 1) == 0)
+- {
+- mode = GRUB_CRYPTODISK_MODE_PCBC;
+- cipheriv = ciphermode + sizeof ("pcbc-") - 1;
+- }
+- else if (grub_memcmp (ciphermode, "xts-", sizeof ("xts-") - 1) == 0)
+- {
+- mode = GRUB_CRYPTODISK_MODE_XTS;
+- cipheriv = ciphermode + sizeof ("xts-") - 1;
+- secondary_cipher = grub_crypto_cipher_open (ciph);
+- if (!secondary_cipher)
+- {
+- grub_crypto_cipher_close (cipher);
+- return NULL;
+- }
+- if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES)
+- {
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d",
+- cipher->cipher->blocksize);
+- grub_crypto_cipher_close (cipher);
+- grub_crypto_cipher_close (secondary_cipher);
+- return NULL;
+- }
+- if (secondary_cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES)
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported XTS block size: %d",
+- secondary_cipher->cipher->blocksize);
+- grub_crypto_cipher_close (secondary_cipher);
+- return NULL;
+- }
+- }
+- else if (grub_memcmp (ciphermode, "lrw-", sizeof ("lrw-") - 1) == 0)
+- {
+- mode = GRUB_CRYPTODISK_MODE_LRW;
+- cipheriv = ciphermode + sizeof ("lrw-") - 1;
+- if (cipher->cipher->blocksize != GRUB_CRYPTODISK_GF_BYTES)
+- {
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported LRW block size: %d",
+- cipher->cipher->blocksize);
+- grub_crypto_cipher_close (cipher);
+- return NULL;
+- }
+- }
+- else
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown cipher mode: %s",
+- ciphermode);
+- return NULL;
+- }
+-
+- if (cipheriv == NULL);
+- else if (grub_memcmp (cipheriv, "plain", sizeof ("plain") - 1) == 0)
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN;
+- else if (grub_memcmp (cipheriv, "plain64", sizeof ("plain64") - 1) == 0)
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_PLAIN64;
+- else if (grub_memcmp (cipheriv, "benbi", sizeof ("benbi") - 1) == 0)
+- {
+- if (cipher->cipher->blocksize & (cipher->cipher->blocksize - 1)
+- || cipher->cipher->blocksize == 0)
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unsupported benbi blocksize: %d",
+- cipher->cipher->blocksize);
+- /* FIXME should we return an error here? */
+- for (benbi_log = 0;
+- (cipher->cipher->blocksize << benbi_log) < GRUB_DISK_SECTOR_SIZE;
+- benbi_log++);
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_BENBI;
+- }
+- else if (grub_memcmp (cipheriv, "null", sizeof ("null") - 1) == 0)
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_NULL;
+- else if (grub_memcmp (cipheriv, "essiv:", sizeof ("essiv:") - 1) == 0)
+- {
+- char *hash_str = cipheriv + 6;
+-
+- mode_iv = GRUB_CRYPTODISK_MODE_IV_ESSIV;
+-
+- /* Configure the hash and cipher used for ESSIV. */
+- essiv_hash = grub_crypto_lookup_md_by_name (hash_str);
+- if (!essiv_hash)
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_crypto_cipher_close (secondary_cipher);
+- grub_error (GRUB_ERR_FILE_NOT_FOUND,
+- "Couldn't load %s hash", hash_str);
+- return NULL;
+- }
+- essiv_cipher = grub_crypto_cipher_open (ciph);
+- if (!essiv_cipher)
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_crypto_cipher_close (secondary_cipher);
+- return NULL;
+- }
+- }
+- else
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_crypto_cipher_close (secondary_cipher);
+- grub_error (GRUB_ERR_BAD_ARGUMENT, "Unknown IV mode: %s",
+- cipheriv);
+- return NULL;
+- }
+-
+- /* Configure the hash used for the AF splitter and HMAC. */
+- hash = grub_crypto_lookup_md_by_name (hashspec);
+- if (!hash)
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_crypto_cipher_close (essiv_cipher);
+- grub_crypto_cipher_close (secondary_cipher);
+- grub_error (GRUB_ERR_FILE_NOT_FOUND, "Couldn't load %s hash",
+- hashspec);
+- return NULL;
+- }
++ newdev = grub_cryptodisk_create (disk, uuid, ciphername, ciphermode, hashspec);
+
+- newdev = grub_zalloc (sizeof (struct grub_cryptodisk));
+- if (!newdev)
+- {
+- grub_crypto_cipher_close (cipher);
+- grub_crypto_cipher_close (essiv_cipher);
+- grub_crypto_cipher_close (secondary_cipher);
+- return NULL;
+- }
+- newdev->cipher = cipher;
+ newdev->offset = grub_be_to_cpu32 (header.payloadOffset);
+- newdev->source_disk = NULL;
+- newdev->benbi_log = benbi_log;
+- newdev->mode = mode;
+- newdev->mode_iv = mode_iv;
+- newdev->secondary_cipher = secondary_cipher;
+- newdev->essiv_cipher = essiv_cipher;
+- newdev->essiv_hash = essiv_hash;
+- newdev->hash = hash;
+- newdev->log_sector_size = 9;
+- newdev->total_length = grub_disk_get_size (disk) - newdev->offset;
+- grub_memcpy (newdev->uuid, uuid, sizeof (newdev->uuid));
+ newdev->modname = "luks";
+- COMPILE_TIME_ASSERT (sizeof (newdev->uuid) >= sizeof (uuid));
+
+ return newdev;
+ }
+@@ -329,7 +146,7 @@ luks_recover_key (grub_disk_t source,
+ struct grub_luks_phdr header;
+ grub_size_t keysize;
+ grub_uint8_t *split_key = NULL;
+- char interactive_passphrase[MAX_PASSPHRASE] = "";
++ char interactive_passphrase[GRUB_CRYPTODISK_MAX_PASSPHRASE] = "";
+ grub_uint8_t *passphrase;
+ grub_size_t passphrase_length;
+ grub_uint8_t candidate_digest[sizeof (header.mkDigest)];
+@@ -376,7 +193,7 @@ luks_recover_key (grub_disk_t source,
+ /* Use bytestring from key file as passphrase */
+ passphrase = keyfile_bytes;
+ passphrase_length = keyfile_bytes_size;
+- keyfile_bytes = NULL; /* use it only once */
++ keyfile_bytes = NULL; /* use it only once */
+ }
+ else
+ {
+@@ -387,7 +204,7 @@ luks_recover_key (grub_disk_t source,
+ grub_printf_ (N_("Enter passphrase for %s%s%s (%s): "), source->name,
+ source->partition ? "," : "", tmp ? : "", dev->uuid);
+ grub_free (tmp);
+- if (!grub_password_get (interactive_passphrase, MAX_PASSPHRASE))
++ if (!grub_password_get (interactive_passphrase, GRUB_CRYPTODISK_MAX_PASSPHRASE))
+ {
+ grub_free (split_key);
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, "Passphrase not supplied");
+diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h
+index 67f6b0b59..bb25ab730 100644
+--- a/include/grub/cryptodisk.h
++++ b/include/grub/cryptodisk.h
+@@ -54,9 +54,14 @@ typedef enum
+ #define GRUB_CRYPTODISK_GF_LOG_BYTES (GRUB_CRYPTODISK_GF_LOG_SIZE - 3)
+ #define GRUB_CRYPTODISK_GF_BYTES (1U << GRUB_CRYPTODISK_GF_LOG_BYTES)
+ #define GRUB_CRYPTODISK_MAX_KEYLEN 128
++#define GRUB_CRYPTODISK_MAX_PASSPHRASE 256
+
+ #define GRUB_CRYPTODISK_MAX_KEYFILE_SIZE 8192
+
++#define GRUB_CRYPTODISK_PLAIN_CIPHER "aes-cbc-essiv:sha256"
++#define GRUB_CRYPTODISK_PLAIN_DIGEST "ripemd160"
++#define GRUB_CRYPTODISK_PLAIN_KEYSIZE 256
++
+ struct grub_cryptodisk;
+
+ typedef gcry_err_code_t
+@@ -160,4 +165,7 @@ grub_util_get_geli_uuid (const char *dev);
+ grub_cryptodisk_t grub_cryptodisk_get_by_uuid (const char *uuid);
+ grub_cryptodisk_t grub_cryptodisk_get_by_source_disk (grub_disk_t disk);
+
++grub_cryptodisk_t grub_cryptodisk_create (grub_disk_t disk, char *uuid,
++ char *ciphername, char *ciphermode, char *digest);
++
+ #endif
+--
+2.16.2
+

View file

@ -1,128 +0,0 @@
diff --git a/0005-Cryptomount-support-for-hyphens-in-UUID.patch b/0005-Cryptomount-support-for-hyphens-in-UUID.patch
new file mode 100644
index 00000000000..f6ed18a66d7
--- /dev/null
+++ b/0005-Cryptomount-support-for-hyphens-in-UUID.patch
@@ -0,0 +1,122 @@
+From 0939fef502c4b97d1facc7972a54d5dfeba4ab71 Mon Sep 17 00:00:00 2001
+From: John Lane <john@lane.uk.net>
+Date: Fri, 26 Jun 2015 22:48:03 +0100
+Subject: [PATCH 5/7] Cryptomount support for hyphens in UUID
+
+---
+ grub-core/disk/cryptodisk.c | 20 +++++++++++++++++---
+ grub-core/disk/luks.c | 26 ++++++++------------------
+ include/grub/cryptodisk.h | 2 ++
+ 3 files changed, 27 insertions(+), 21 deletions(-)
+
+diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
+index 7f656f75c..c442d3a34 100644
+--- a/grub-core/disk/cryptodisk.c
++++ b/grub-core/disk/cryptodisk.c
+@@ -114,6 +114,20 @@ gf_mul_be (grub_uint8_t *o, const grub_uint8_t *a, const grub_uint8_t *b)
+ }
+ }
+
++int
++grub_cryptodisk_uuidcmp(char *uuid_a, char *uuid_b)
++{
++ while ((*uuid_a != '\0') && (*uuid_b != '\0'))
++ {
++ while (*uuid_a == '-') uuid_a++;
++ while (*uuid_b == '-') uuid_b++;
++ if (grub_toupper(*uuid_a) != grub_toupper(*uuid_b)) break;
++ uuid_a++;
++ uuid_b++;
++ }
++ return (*uuid_a == '\0') && (*uuid_b == '\0');
++}
++
+ static gcry_err_code_t
+ grub_crypto_pcbc_decrypt (grub_crypto_cipher_handle_t cipher,
+ void *out, void *in, grub_size_t size,
+@@ -509,8 +523,8 @@ grub_cryptodisk_open (const char *name, grub_disk_t disk)
+ if (grub_memcmp (name, "cryptouuid/", sizeof ("cryptouuid/") - 1) == 0)
+ {
+ for (dev = cryptodisk_list; dev != NULL; dev = dev->next)
+- if (grub_strcasecmp (name + sizeof ("cryptouuid/") - 1, dev->uuid) == 0)
+- break;
++ if (grub_cryptodisk_uuidcmp(name + sizeof ("cryptouuid/") - 1, dev->uuid))
++ break;
+ }
+ else
+ {
+@@ -742,7 +756,7 @@ grub_cryptodisk_get_by_uuid (const char *uuid)
+ {
+ grub_cryptodisk_t dev;
+ for (dev = cryptodisk_list; dev != NULL; dev = dev->next)
+- if (grub_strcasecmp (dev->uuid, uuid) == 0)
++ if (grub_cryptodisk_uuidcmp(dev->uuid, uuid))
+ return dev;
+ return NULL;
+ }
+diff --git a/grub-core/disk/luks.c b/grub-core/disk/luks.c
+index 4ebe21b4e..80a760670 100644
+--- a/grub-core/disk/luks.c
++++ b/grub-core/disk/luks.c
+@@ -68,9 +68,7 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ int check_boot, grub_file_t hdr)
+ {
+ grub_cryptodisk_t newdev;
+- const char *iptr;
+ struct grub_luks_phdr header;
+- char *optr;
+ char uuid[sizeof (header.uuid) + 1];
+ char ciphername[sizeof (header.cipherName) + 1];
+ char ciphermode[sizeof (header.cipherMode) + 1];
+@@ -104,22 +102,6 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ || grub_be_to_cpu16 (header.version) != 1)
+ return NULL;
+
+- optr = uuid;
+- for (iptr = header.uuid; iptr < &header.uuid[ARRAY_SIZE (header.uuid)];
+- iptr++)
+- {
+- if (*iptr != '-')
+- *optr++ = *iptr;
+- }
+- *optr = 0;
+-
+- if (check_uuid && grub_strcasecmp (check_uuid, uuid) != 0)
+- {
+- grub_dprintf ("luks", "%s != %s\n", uuid, check_uuid);
+- return NULL;
+- }
+-
+-
+ /* Make sure that strings are null terminated. */
+ grub_memcpy (ciphername, header.cipherName, sizeof (header.cipherName));
+ ciphername[sizeof (header.cipherName)] = 0;
+@@ -127,6 +109,14 @@ configure_ciphers (grub_disk_t disk, const char *check_uuid,
+ ciphermode[sizeof (header.cipherMode)] = 0;
+ grub_memcpy (hashspec, header.hashSpec, sizeof (header.hashSpec));
+ hashspec[sizeof (header.hashSpec)] = 0;
++ grub_memcpy (uuid, header.uuid, sizeof (header.uuid));
++ uuid[sizeof (header.uuid)] = 0;
++
++ if ( check_uuid && ! grub_cryptodisk_uuidcmp(check_uuid, uuid))
++ {
++ grub_dprintf ("luks", "%s != %s\n", uuid, check_uuid);
++ return NULL;
++ }
+
+ newdev = grub_cryptodisk_create (disk, uuid, ciphername, ciphermode, hashspec);
+
+diff --git a/include/grub/cryptodisk.h b/include/grub/cryptodisk.h
+index bb25ab730..01c02696e 100644
+--- a/include/grub/cryptodisk.h
++++ b/include/grub/cryptodisk.h
+@@ -168,4 +168,6 @@ grub_cryptodisk_t grub_cryptodisk_get_by_source_disk (grub_disk_t disk);
+ grub_cryptodisk_t grub_cryptodisk_create (grub_disk_t disk, char *uuid,
+ char *ciphername, char *ciphermode, char *digest);
+
++int
++grub_cryptodisk_uuidcmp(char *uuid_a, char *uuid_b);
+ #endif
+--
+2.16.2
+

View file

@ -1,114 +0,0 @@
diff --git a/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch b/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch
new file mode 100644
index 00000000000..49750f84aca
--- /dev/null
+++ b/0006-Cryptomount-support-for-using-whole-device-as-keyfile.patch
@@ -0,0 +1,108 @@
+From 908f4282cc934422923ff59836a835e63d6a7117 Mon Sep 17 00:00:00 2001
+From: Paul Gideon Dann <pdgiddie@gmail.com>
+Date: Tue, 19 Jul 2016 12:36:37 +0100
+Subject: [PATCH] Add support for using a whole device as a keyfile
+
+---
+ grub-core/disk/cryptodisk.c | 86 +++++++++++++++++++++++++++++--------
+ 1 file changed, 68 insertions(+), 18 deletions(-)
+
+diff --git a/grub-core/disk/cryptodisk.c b/grub-core/disk/cryptodisk.c
+index d0388c6d1..c5d8021ba 100644
+--- a/grub-core/disk/cryptodisk.c
++++ b/grub-core/disk/cryptodisk.c
+@@ -1031,26 +1031,76 @@ grub_cmd_cryptomount (grub_extcmd_context_t ctxt, int argc, char **args)
+ else
+ {
+ keyfile_offset = state[5].set ? grub_strtoul (state[5].arg, 0, 0) : 0;
+- keyfile_size = requested_keyfile_size ? requested_keyfile_size : \
+- GRUB_CRYPTODISK_MAX_KEYFILE_SIZE;
+-
+- keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE);
+- if (!keyfile)
+- grub_printf (N_("Unable to open key file %s\n"), state[4].arg);
+- else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1)
+- grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset);
+- else
++
++ if (grub_strchr (state[4].arg, '/'))
+ {
+- keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size);
+- if (keyfile_size == (grub_size_t)-1)
+- grub_printf (N_("Error reading key file\n"));
+- else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size))
+- grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"),
+- (unsigned long long) requested_keyfile_size,
+- (unsigned long long) keyfile_size);
++ keyfile_size = requested_keyfile_size ? requested_keyfile_size : \
++ GRUB_CRYPTODISK_MAX_KEYFILE_SIZE;
++ keyfile = grub_file_open (state[4].arg, GRUB_FILE_TYPE_NONE);
++ if (!keyfile)
++ grub_printf (N_("Unable to open key file %s\n"), state[4].arg);
++ else if (grub_file_seek (keyfile, keyfile_offset) == (grub_off_t)-1)
++ grub_printf (N_("Unable to seek to offset %d in key file\n"), keyfile_offset);
+ else
+- key = keyfile_buffer;
+- }
++ {
++ keyfile_size = grub_file_read (keyfile, keyfile_buffer, keyfile_size);
++ if (keyfile_size == (grub_size_t)-1)
++ grub_printf (N_("Error reading key file\n"));
++ else if (requested_keyfile_size && (keyfile_size != requested_keyfile_size))
++ grub_printf (N_("Cannot read %llu bytes for key file (read %llu bytes)\n"),
++ (unsigned long long) requested_keyfile_size,
++ (unsigned long long) keyfile_size);
++ else
++ key = keyfile_buffer;
++ }
++ }
++ else
++ {
++ grub_disk_t keydisk;
++ char* keydisk_name;
++ grub_err_t err;
++ grub_uint64_t total_sectors;
++
++ keydisk_name = grub_file_get_device_name(state[4].arg);
++ keydisk = grub_disk_open (keydisk_name);
++ if (!keydisk)
++ {
++ grub_printf (N_("Unable to open disk %s\n"), keydisk_name);
++ goto cleanup_keydisk_name;
++ }
++
++ total_sectors = grub_disk_get_size (keydisk);
++ if (total_sectors == GRUB_DISK_SIZE_UNKNOWN)
++ {
++ grub_printf (N_("Unable to determine size of disk %s\n"), keydisk_name);
++ goto cleanup_keydisk;
++ }
++
++ keyfile_size = (total_sectors << GRUB_DISK_SECTOR_BITS);
++ if (requested_keyfile_size > 0 && requested_keyfile_size < keyfile_size)
++ keyfile_size = requested_keyfile_size;
++ if (keyfile_size > GRUB_CRYPTODISK_MAX_KEYFILE_SIZE)
++ {
++ grub_printf (N_("Key file size exceeds maximum (%llu)\n"), \
++ (unsigned long long) GRUB_CRYPTODISK_MAX_KEYFILE_SIZE);
++ goto cleanup_keydisk;
++ }
++
++ err = grub_disk_read (keydisk, 0, keyfile_offset, keyfile_size, keyfile_buffer);
++ if (err != GRUB_ERR_NONE)
++ {
++ grub_printf (N_("Failed to read from disk %s\n"), keydisk_name);
++ keyfile_size = 0;
++ goto cleanup_keydisk;
++ }
++
++ key = keyfile_buffer;
++
++ cleanup_keydisk:
++ grub_disk_close (keydisk);
++ cleanup_keydisk_name:
++ grub_free (keydisk_name);
++ }
+ }
+ }
+

Some files were not shown because too many files have changed in this diff Show more