Compare commits

..

163 commits

Author SHA1 Message Date
Luis Guzmán
f6dec89128 yt-dlp: fix license table for parsing properly. 2025-09-25 15:05:43 -06:00
Ark74
7cfab2b6b1 libmateweather: update patch. 2025-09-24 16:53:58 -06:00
Luis Guzmán
4309bbb18c firefox: set higher priority than chromium based ones 2025-09-22 13:43:27 -06:00
Ark74
a18b9a93cc libmateweather: update default server uri. 2025-09-20 20:06:17 -06:00
Ark74
d61e03b0a2 hplip: add trisquel distro-name definition for hplip tools. 2025-09-15 15:38:44 -06:00
Luis Guzmán
1084ad3d7d firefox: update for v143 and remove conflict on sponsors reference. 2025-09-13 01:51:27 -06:00
Luis Guzmán
939adc704b firefox: publish 142 build, disable Sponsored Checkboxes 2025-08-31 01:04:53 -06:00
Luis Guzmán
765b4d5059 firefox: publish 142 build, disable Sponsored Checkboxes 2025-08-31 00:56:15 -06:00
Luis Guzmán
c8a2a75e3a yt-dlp: update integration with abrowser patch. 2025-08-28 08:10:55 -06:00
Ark74
472b6928a5 icecat: adding trisquel binaries. 2025-08-20 15:24:50 -06:00
Luis Guzmán
813a6be87b minetest: backporting ecne's release to fix CVE-2022-35978 and many others 2025-08-20 10:57:55 -06:00
Luis Guzmán
ce7eb58666 yt-dlp: update upstream keyring 2025-08-12 16:33:11 -06:00
Ark74
9147ba0080 videomass,vidtuber: fix dependencies on upstream package. 2025-07-30 12:18:08 -06:00
Luis Guzmán
b3e9560864 videomass: fix update python3-request dependencies. 2025-07-22 19:10:30 -06:00
Ark74
be0ad5a911 vidtuber: add simple yt-dlp GUI frontend. 2025-07-22 19:06:06 -06:00
Luis Guzmán
1e6aa228d5 firefox: patch external links for addons & update gnuzilla addon url 2025-07-09 04:26:28 -06:00
Luis Guzman
98fa1b2279 firefox: restore upstream release available for v140 2025-06-24 18:51:21 +00:00
Ark74
cb785f108d yt-dlp: enable abrowser to use 'cookies-from-browser' feature 2025-06-21 00:44:09 -06:00
Luis Guzmán
f7c9a74b92 python-apt: mirrors update bump. 2025-06-19 21:32:54 -06:00
Luis Guzmán
af678e2b2b firefox: prepare package changes for v139 2025-06-19 15:23:08 -06:00
Luis Guzmán
b6b5bf299f rustc-1.82: manually backported rustc-1.82 for latest abrowser builds 2025-06-19 15:17:38 -06:00
Luis Guzman
73229c9749 libgit2: backport for newer abrowser releases 2025-06-19 21:03:27 +00:00
Luis Guzmán
1aab15ff3a dh-cargo: backport for newer abrowser releases 2025-06-19 15:01:55 -06:00
Luis Guzmán
af31af9d45 cron: remove build until direction. 2025-06-17 00:39:36 -06:00
Jacob K
94fcd284a3 cron: correct copyright on crontab2english.pl (fixes TPH # 199) 2025-06-17 00:14:21 -06:00
Ark74
492256dd6f misc: clean unused component on src line 2025-06-14 16:00:02 -06:00
Luis Guzmán
bf25cfe3ce config: add start info for package helpers 2025-06-12 18:55:15 -06:00
Ark74
692365065d update-manager: update patch to remove pro 2025-06-12 02:32:00 -06:00
Ark74
d62d4dd516 llvm-toolchain-19: restore armhf rt runtime. 2025-06-07 01:22:52 -06:00
Ark74
c7b19a492f config: add apply_patch_changes function 2025-06-02 23:03:59 -06:00
Luis Guzmán
d703c69384 debconf-kde: fix TPH #212, pass home to prevent requests. 2025-06-02 19:14:08 -06:00
Luis Guzmán
c175b38d84 apparmor: upate apparmor profile 2025-05-31 17:31:18 -06:00
Luis Guzmán
2e58fef9fd llvm-toolchain-19: backported for latest abrowser updates 2025-05-29 02:06:37 -06:00
Luis Guzmán
c82672e89a weechat: backport fixed security release 2025-05-27 06:16:07 -06:00
Luis Guzmán
c223536ed0 misc: rename issue template 2025-05-14 17:55:29 +00:00
Ark74
3db09bbd0b misc: add issue template for bug report 2025-05-14 11:16:56 -06:00
Ark74
ed0d32e790 osinfo-db: improve trisquel derivation from earlier releases. 2025-04-29 04:47:29 -06:00
Luis Guzmán
e48d27b4e7 gnupg2: lower dependency of gpg-wks-server from desktop environment 2025-04-28 21:18:36 +00:00
Luis Guzman
603d8b7c64 openssh: bump security update 0.13 2025-04-27 19:58:03 +00:00
Ark74
42232b0f1c linux-hwe-6.8: update deblob-check for 6.8 2025-04-24 14:28:59 -06:00
Luis Guzmán
20ee3b87b8 thunderbird: update patch set for v128.9 2025-04-12 17:59:39 +00:00
Ark74
8adb9c62f5 expat: actually bump helper version 2025-04-08 17:31:35 -06:00
Ark74
6e5124d605 expat: bump version to trigger update 2025-04-08 16:33:27 -06:00
Luis Guzmán
aa1bb83ff3 firefox: prepare 136 release and strength privacy 2025-04-05 06:14:56 +00:00
Ark74
90fef7b990 linux-hwe-6.8: update deblob-check tools. 2025-04-04 10:16:57 -06:00
Ark74
b3799f8366 linux-hwe-6.8: update silent patch for 57.59 2025-04-04 00:08:26 -06:00
Ark74
96d3253765 linux-hwe-6.8: removal of references to external sources for firmware 2025-04-02 03:32:16 -06:00
Ark74
96cf108af6 linux: removal of references to external sources for firmware 2025-04-02 03:22:16 -06:00
Luis Guzmán
e7ae52a1ea config: add finish timestamp 2025-03-28 11:04:31 +00:00
Jacob K
1be49b69d4 apparmor-profiles-extra: fix screen reader in pidgin (issue #198) 2025-03-05 21:19:11 +00:00
Luis Guzman
4e2896e48c firefox: update patches for current release. 2025-02-25 06:07:35 +00:00
Ark74
06a3cb2c23 0ad{,-data}: backport version 0.27 for aramo 2025-02-24 15:53:34 -06:00
Luis Guzmán
2281936bd8 firefox: fix build for 135 update 2025-02-24 07:06:37 +00:00
Luis Guzman
f102d4c04e openssh: bump security update 0.11 2025-02-18 20:08:38 +00:00
Ark74
d602065589 nano: bump security update 0.1 2025-02-17 21:04:49 -06:00
Ark74
5412a1bae7 expat: bump security update 0.5 2025-02-17 20:55:13 -06:00
Ark74
913bb5a75d python-apt,choose-mirror: mirrors list update 02-2025 2025-02-01 06:02:41 +00:00
Ark74
bc2827457c firefox: disable hover preview tab as privacy settings maintenance. 2025-01-25 00:48:01 +00:00
Luis Guzman
8380da6089 firefox: test 134 version 2025-01-18 05:59:53 +00:00
Luis Guzmán
7ed3fcbcff qt6-webengine: make sure to disable safe_browsing_mode by default. 2025-01-16 23:44:54 +00:00
Ark74
e1d249923d qtwebengine-opensource-src: update removal list, fixes TPH:#196 2025-01-15 00:26:35 +00:00
Ark74
c499caf3a4 qt6-webengine: add helper to remove non-free and prebuilt binaries 2025-01-14 14:39:17 -06:00
Luis Guzmán
9572d7031a yt-dlp: add missing repokey 2025-01-14 17:52:55 +00:00
Luis Guzmán
43f99b854e yt-dlp: add latest stable upstream and remove explicit site listing 2025-01-14 17:38:49 +00:00
Luis Guzmán
c308416eb2 linux-hwe-6.8: update 001-disable_zstd_module_compression.patch 2025-01-13 04:48:15 +00:00
Luis Guzmán
2d72e52681 thuderbird: prepare icedove release v128 2025-01-10 14:11:28 +00:00
Luis Guzmán
42344a8d22 linux-hwe-6.8: restore udebs for latest linux-hwe-6.8 release 2025-01-09 21:19:33 +00:00
Ark74
c55c8bf080 python-apt: promote https sites by default on mirmon option 2025-01-07 22:32:41 -06:00
Ark74
46d5e40e51 python-apt: add option to parse Mastermirror list for mirmon format. 2025-01-06 15:25:47 -06:00
Ark74
37d28150c3 config: upgrade discover dpkg-vendor or distro-related behaviors 2025-01-03 14:55:22 -06:00
Luis Guzmán
22b7d58dad linux-hwe-6.5: restore udebs for latest linux-hwe-6.5 release. 2025-01-03 07:28:46 +00:00
Luis Guzmán
04b7fe41f7 config: add old kernel build capability for development 2025-01-01 08:12:47 +00:00
Luis Guzmán
60b1c33a70 firefox: final changes to fix trisquel's search engine icons. 2024-12-27 17:10:39 +00:00
Luis Guzmán
6b8c0b5c38 linux-hwe-6.8: tweak deblob-check for upstream update. 2024-12-24 16:36:03 +00:00
Luis Guzman
905d792784 linux: update cleaning linux tools for 5.15-130 2024-12-20 08:08:38 +00:00
Luis Guzmán
68b179b512 firefox: test firefox v133 release 2024-12-17 23:46:39 +00:00
Luis Guzmán
2cc2eaa5e0 llvm-toolchain-18: backport as dependency for icedove 128 2024-12-13 10:00:15 +00:00
Luis Guzmán
c3ad925bce atril: add custom apparmor profile for atril 2024-12-06 15:40:29 +00:00
Ark74
dc5da8840f debian-installer: no change, bump to rebuild against latest choose-mirror. 2024-12-04 20:05:06 -06:00
Luis Guzmán
ad12eaf56a python-apt: use git Mirrors.masterlist as main source 2024-12-05 00:06:06 +00:00
Luis Guzmán
c20840005e choose-mirror: use git Mirrors.masterlist source. 2024-12-05 00:00:34 +00:00
Luis Guzmán
9b803b2d03 firefox: use v132.0.2 for some maintenance work. 2024-11-16 18:27:56 +00:00
Luis Guzman
94cb4fd000 evince: fix apparmor profile for Trisquel Mini 2024-11-10 07:34:17 +00:00
Luis Guzmán
b640585ac8 distro-info-data: add test data for ecne / noble. 2024-11-10 06:22:28 +00:00
Luis Guzmán
57e5ef19ba firefox: add lost comment on patch 005_apply_custom_urls.patch 2024-11-08 15:56:42 +00:00
Luis Guzmán
20a25ce6d3 firefox: update for 132 release. 2024-11-08 04:08:49 +00:00
Luis Guzman
9d85d5a76d linux-hwe-6.8: update deblob-check for upstream included drivers on 6.8 2024-11-04 23:43:07 +00:00
Luis Guzmán
c7d80f569a python-apt: november update for repositories. 2024-11-01 10:34:45 +00:00
Luis Guzman
dda0d24f45 greybird-gtk-theme: update focused deprecated pseudo-class 2024-10-30 04:27:18 -06:00
Luis Guzmán
dbda85fde6 guix: add patches to fix guix#73919. 2024-10-23 15:31:17 +00:00
Luis Guzmán
1e8d358cbf config: add note when dpkg-vendor is present in debian/rules 2024-10-18 02:43:56 +00:00
Luis Guzmán
b294eb5ae9 firefox: prepare security 131.0.2 release 2024-10-15 12:16:11 +00:00
dinomug
8aee9943a1 yyjson: backport from debian trixie as fastfetch dependency 2024-10-10 21:16:41 +00:00
Luis Guzmán
44b98eef40 pkg-kde-tools: add patch for all policy.mk files. 2024-10-04 06:49:12 +00:00
Luis Guzman
e36e53d60b umbrello: remove deprecated changes on control file. 2024-10-04 05:44:12 +00:00
Luis Guzman
d61583cbf2 pkg-kde-tools: add Trisquel as valid Maintainer at pkg-kde-tools. 2024-10-04 05:38:43 +00:00
Luis Guzman
869d519689 python-apt: fix version FULLVERSION value 2024-10-01 21:27:44 +00:00
Luis Guzmán
32646fde69 python-apt: update mirrors October 2024 2024-10-01 21:17:46 +00:00
Luis Guzmán
26b0e44d7d firefox: prepare v130.0.1 release 2024-10-01 07:27:28 +00:00
Ark74
4c7f4310c5 linux-hwe-6.8: update silent patch. 2024-09-20 15:21:44 -06:00
Luis Guzmán
f05eeee8e4 linux-meta-hwe-6.8: restore improved version. 2024-09-19 04:29:38 +00:00
Luis Guzman
80f5ab8fd7 linux-meta-hwe-6.8: add meta package for linux-hwe-6.8 2024-09-19 04:09:43 +00:00
Luis Guzmán
c0320163fe linux-hwe-6.8: fix hwe definition and changelog version. 2024-09-18 18:26:56 +00:00
Ark74
bd4bcea380 expat: bump version for ubuntu0.4 release 2024-09-17 20:21:14 -06:00
Luis Guzmán
f24da921d2 nextcloud-desktop: backport packages required for v3.14 2024-09-16 15:11:46 +00:00
Luis Guzman
7b3f63da19 linux: update linux-libre tools and silent patch for 5.15-121 2024-09-15 20:13:11 +00:00
Ark74
8deec99563 linux-meta-hwe-6.8: add meta helper for hwe 6.8 2024-09-15 11:04:51 -06:00
Luis Guzman
d2239ec76a linux-hwe-6.8: add hwe 6.8 for aramo. 2024-09-15 06:13:46 +00:00
Luis Guzmán
07803be7f6 nextcloud-desktop: remove custom patches now applied upstream. 2024-09-14 20:40:33 +00:00
Luis Guzman
5bab20d013 update-manager: update patches and match newer release. 2024-09-14 16:27:10 +00:00
Luis Guzmán
226526fcbc nextcloud-desktop: backport fix for #7026 bug 2024-09-12 21:34:17 +00:00
Luis Guzmán
b5a0d8260a debootstrap: add Ecne script 2024-09-12 05:41:00 +00:00
Ark74
9565068877 gnome-software: update remove snap & fwup patch. 2024-09-11 02:50:22 -06:00
Luis Guzmán
95edfb114a gnome-software: remove fwup and snap support from gnome-software. 2024-09-11 02:15:27 -06:00
Luis Guzmán
05320ef185 firefox: 129.0.2 ; apply last patch before migrate to search-config-v2 2024-08-26 04:12:05 +00:00
Luis Guzmán
1374485dfd software-properties: make software-properties-qt visible with custom icon. 2024-08-17 22:08:59 +00:00
Luis Guzman
e34bb8fb39 nheko: backport newer release to improve matrix support on aramo. 2024-08-12 22:15:01 +00:00
Luis Guzmán
ff9bd1d520 gnome-boxes: add support for trisquel logo from osinfo-db. 2024-08-06 01:37:07 +00:00
Ark74
1cbeb6452b osinfo-db: update osinfo with ecne's release. 2024-08-05 19:08:53 -06:00
Luis Guzmán
7553ea11aa config: add option to set security component on helper. 2024-07-24 16:09:49 +00:00
Luis Guzmán
969774c9c4 guix: upgrade version from FTBFS + add missing CVE-2024-27297 fix via helper. 2024-07-23 00:40:52 +00:00
Luis Guzmán
47e7a17a54 linux-hwe-6.5: update deblob-check to match 6.5 changes. 2024-07-20 06:42:06 +00:00
Luis Guzman
6f60f2801c firefox: roll back old serach-config and update privacy settings. 2024-07-19 16:45:34 +00:00
Luis Guzman
876aa59124 config: add rollback patch function 2024-07-19 15:57:28 +00:00
Luis Guzmán
8af4bc9c9a firefox: update strict patch for v128 2024-07-11 05:39:01 +00:00
Luis Guzmán
eed30ae01c virtnbdbackup: drop target specific python3 version instead use generic v3 one. 2024-07-10 08:09:33 +00:00
Luis Guzman
057509e640 openssh: bump ssh version. 2024-07-01 18:18:14 +00:00
Luis Guzmán
c57af22e38 firefox: update and test changes for v127 2024-06-27 17:47:01 +00:00
Luis Guzman
84a1f3e553 rust-1.76: backported as dependency for abrowser. 2024-06-27 05:52:33 +00:00
Luis Guzmán
6df130993b ubuntu-themes: improve branding logos replacement. 2024-06-21 05:13:51 +00:00
Luis Guzmán
814669556e linux-hwe-6.5: update s-a-f patch for rev_41.41 2024-06-19 23:27:30 +00:00
Luis Guzman
3e89d26e3d make-linux: update linux-libre deblob-check. 2024-06-07 06:49:10 +00:00
Ark74
df85682d15 config: add function to simplify patch application. 2024-06-05 10:40:06 -06:00
Ark74
b440107ea3 misc: bump version to apply latest fixes. 2024-06-04 19:05:11 -06:00
Luis Guzman
c03ed2178d notmuch: backport fixes via debian-backports 2024-05-30 17:49:52 +00:00
Ark74
2dc0f8da09 python-apt: add freedif.org mirror (Singapore). 2024-05-20 01:34:40 -06:00
Ark74
7d1e8b0f4b usb-creator: add german l10n update, thanks knife. 2024-05-18 04:54:01 -06:00
Luis Guzman
3a4c59b33d linux{,hwe-6.5}: update hwe kernel dmks removal. 2024-05-18 05:14:29 +00:00
Luis Guzmán
f6c8d0a1f7 software-properties: update l10n german strings, thanks knife. 2024-05-18 03:27:34 +00:00
Ark74
59dce80f42 linux{,hwe-6.5}: fix disable dkms modules with external sources. 2024-05-17 14:14:01 -06:00
Luis Guzmán
088da83a52 update-manager: add german l10n, thanks knife. 2024-05-12 17:52:10 +00:00
Luis Guzmán
7921aef7ec update-manager: add german l10n, thanks knife. 2024-05-12 14:45:11 +00:00
Luis Guzmán
ae058aaab1 greybird-gtk-theme: fix caja selected elements on inactive panel at list view 2024-05-10 06:35:28 +00:00
Luis Guzmán
59c07048d4 misc: restore libxnvctrl for nvidia hardware detection 2024-05-09 19:20:45 +00:00
Luis Guzman
d815cecda4 firefox: update helper and patches for v126 2024-05-09 07:26:36 +00:00
Luis Guzmán
5f44eef626 config: add echo comment to easily identify sed_csum errors. 2024-05-08 19:05:39 +00:00
Ark74
036ae24511 python-virtualenv: remove python3-pip as dependency from virtualenv. 2024-05-03 19:18:58 -06:00
Luis Guzmán
cf01842269 dino-im: apply CVE-2023-28686 missing upstream 2024-05-04 00:06:49 +00:00
Ark74
cb72766b55 nvidia-settings: bump version to apply helper. 2024-05-02 00:22:47 -06:00
Ark74
f8835acec0 deboostrap: backport latest debootstrap for ecne support. 2024-05-01 01:17:51 -06:00
Luis Guzmán
ef906f1bfa pupnp: update backport helper to match dpkg version. 2024-04-30 05:14:49 +00:00
Luis Guzmán
e45548320a ubuntu-release-upgrader: actually upgrade version number 2024-04-26 01:07:05 +00:00
Luis Guzmán
580e426c0f ubuntu-release-upgrader: remove expired mirror. 2024-04-25 22:32:29 +00:00
Ark74
f0842c0799 base-files: update point release for new iso set. 2024-04-25 21:15:18 +00:00
Luis Guzmán
8dde32e79b libreoffice: update max libreoffice jobs for amd64. 2024-04-19 06:15:23 +00:00
Ark74
50e421142d nvidia-settings: remove pointer to external repository. 2024-04-17 13:28:59 -06:00
Luis Guzmán
d0e8271cbb opendmarc: rebuild to introduce missing armhf package in aramo repository 2024-04-15 18:42:18 +00:00
Luis Guzmán
76393fb349 update-manager: rollback uaclient.api.u.pro usage 2024-04-15 18:41:19 +00:00
Luis Guzmán
56bf7aedfd linux-meta: remove wireguard load on meta package. 2024-04-10 14:33:05 +00:00
Luis Guzmán
f1139c25b7 linux-hwe-6.5: sync base helper for linux and linux-hwe 2024-04-10 06:03:01 +00:00
Luis Guzman
2e68bebf50 firefox: update checksum for v125. 2024-04-09 18:10:30 +00:00
Luis Guzmán
dcc7af2408 linux: merge linux/linux-hwe helpers for both. 2024-04-09 08:18:23 +00:00
Luis Guzmán
63ffabcd4a firefox: set widget.gtk.libadwaita-colors.enabled to false. 2024-04-04 21:46:57 +00:00
1840 changed files with 73729 additions and 12146 deletions

View file

@ -0,0 +1,52 @@
## 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](CONTRIBUTING.md) guidelines. To add a package to the list, follow the [CONTRIBUTING](https://gitlab.trisquel.org/trisquel/package-helpers/blob/nabia/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 quilt rename rpl sed python3-jsonschema` `sudo apt-get install cdbs devscripts dpkg-dev git gnupg gnupg2 patch python2 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

@ -1,32 +0,0 @@
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 @@
--- a/src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500 --- src/akregator_part.cpp 2020-06-05 11:41:23.000000000 -0500
+++ b/src/akregator_part.cpp 2020-06-05 12:46:05.914051386 -0500 +++ src/akregator_part_trisquel.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

@ -1,15 +0,0 @@
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

@ -1,70 +0,0 @@
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

@ -1,173 +0,0 @@
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

@ -1,46 +0,0 @@
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

@ -1,54 +0,0 @@
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

@ -0,0 +1,26 @@
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

@ -1,122 +0,0 @@
#!/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

@ -1,11 +0,0 @@
#!/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

@ -1,18 +0,0 @@
#!/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

@ -1,50 +0,0 @@
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,11 +6,15 @@
<!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 [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] http://archive.trisquel.org/trisquel &trisquel-codename; main <!ENTITY sourceslist-list-format "deb http://archive.trisquel.org/trisquel &trisquel-codename; 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;-security main
deb [signed-by=/usr/share/keyrings/trisquel-archive-keyring.gpg] http://archive.trisquel.org/trisquel &trisquel-codename;-updates main"> deb 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;-security &trisquel-codename;-updates Suites: &trisquel-codename; &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

@ -0,0 +1,10 @@
# 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

@ -1,40 +0,0 @@
## 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,10 +171,11 @@ 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,7 +127,6 @@ @@ -127,8 +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

@ -0,0 +1,214 @@
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-@REVISION@"; then return 1; fi if echo "$1" | grep -q -e "signed" -e "edge" -e "hwe-16.04"; 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-@REVISION@" echo "linux-generic-hwe-20.04"
echo "linux-image-generic-hwe-@REVISION@" echo "linux-image-generic-hwe-20.04"
echo "linux-lowlatency" echo "linux-lowlatency"
echo "linux-image-lowlatency" echo "linux-image-lowlatency"
echo "linux-lowlatency-hwe-@REVISION@" echo "linux-lowlatency-hwe-20.04"
echo "linux-image-lowlatency-hwe-@REVISION@" echo "linux-image-lowlatency-hwe-20.04"
echo "linux-oem-@REVISION@" echo "linux-oem-20.04"
echo "linux-image-oem-@REVISION@" echo "linux-image-oem-20.04"
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-@REVISION@" echo "linux-virtual-hwe-20.04"
echo "linux-image-virtual-hwe-@REVISION@" echo "linux-image-virtual-hwe-20.04"
echo "linux-image-extra-virtual-hwe-@REVISION@" echo "linux-image-extra-virtual-hwe-20.04"
} }

View file

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

View file

@ -1,108 +0,0 @@
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

@ -1,66 +0,0 @@
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

@ -1,143 +0,0 @@
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

@ -1,36 +0,0 @@
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.

After

Width:  |  Height:  |  Size: 17 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View file

@ -66,6 +66,16 @@ 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
@ -78,14 +88,3 @@ 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

@ -1,61 +0,0 @@
#!/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,13 +0,0 @@
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

@ -1,29 +0,0 @@
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

@ -0,0 +1,53 @@
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

@ -1,8 +1,6 @@
diff --git a/scripts/casper b/scripts/casper --- a/scripts/casper 2023-02-13 23:53:18.908768968 -0600
index 36a724d2..1b9a6faf 100644 +++ b/scripts/casper 2023-02-21 03:28:55.176581755 -0600
--- a/scripts/casper @@ -376,18 +376,18 @@
+++ 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*)
@ -14,14 +12,14 @@ index 36a724d2..1b9a6faf 100644
*) *)
case $DPKG_ARCH in case $DPKG_ARCH in
amd64) amd64)
- server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-live-server-$DPKG_ARCH.iso - server_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-live-server-$DPKG_ARCH.iso
- desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso - desktop_url=https://releases.ubuntu.com/$UBUNTU_CODENAME/ubuntu-$VERSION_ID-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-latest-live-server-$DPKG_ARCH.iso - server_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-live-server-$DPKG_ARCH.iso
- desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-latest-desktop-$DPKG_ARCH.iso - desktop_url=http://cdimage.ubuntu.com/releases/$UBUNTU_CODENAME/release/ubuntu-$VERSION_ID-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

@ -1,96 +0,0 @@
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

@ -1,96 +0,0 @@
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

@ -1,15 +0,0 @@
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

@ -0,0 +1,14 @@
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,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,14 +12,10 @@ @@ -12,10 +12,14 @@
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

@ -0,0 +1,16 @@
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

@ -1,12 +0,0 @@
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

@ -1,12 +0,0 @@
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

@ -1,25 +0,0 @@
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,15 +0,0 @@
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

@ -1,17 +0,0 @@
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,18 +1,17 @@
diff --git a/build/Makefile b/build/Makefile diff --git a/build/Makefile b/build/Makefile
index d45f982c..353e516e 100644 index c073a32..cace03d 100644
--- a/build/Makefile --- a/build/Makefile
+++ b/build/Makefile +++ b/build/Makefile
@@ -458,6 +458,13 @@ ifneq (,$(filter $(ARCH),amd64 arm64 i386)) @@ -431,6 +431,12 @@ endif
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

@ -1,6 +1,6 @@
=== modified file 'build/Makefile' === modified file 'build/Makefile'
--- a/build/Makefile 2010-11-05 16:34:29 +0000 --- build/Makefile 2010-11-05 16:34:29 +0000
+++ b/build/Makefile 2011-03-01 11:42:39 +0000 +++ 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'
#--- a/debian/changelog 2011-03-01 10:36:50 +0000 #--- debian/changelog 2011-03-01 10:36:50 +0000
#+++ b/debian/changelog 2011-03-01 11:42:39 +0000 #+++ 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'
#--- a/build/Makefile 2011-12-15 15:35:38 +0000 #--- build/Makefile 2011-12-15 15:35:38 +0000
#+++ b/build/Makefile 2012-04-18 05:24:59 +0000 #+++ 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'
--- a/build/config/armhf.cfg 2012-04-11 08:52:18 +0000 --- build/config/armhf.cfg 2012-04-11 08:52:18 +0000
+++ b/build/config/armhf.cfg 2012-04-18 05:24:59 +0000 +++ 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'
#--- a/debian/changelog 2012-04-13 13:14:35 +0000 #--- debian/changelog 2012-04-13 13:14:35 +0000
#+++ b/debian/changelog 2012-04-18 05:24:59 +0000 #+++ 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'
--- a/build/Makefile 2015-01-22 12:10:03 +0000 --- build/Makefile 2015-01-22 12:10:03 +0000
+++ b/build/Makefile 2015-03-17 21:09:21 +0000 +++ 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'
#--- a/build/boot/README.device-tree 1970-01-01 00:00:00 +0000 #--- build/boot/README.device-tree 1970-01-01 00:00:00 +0000
#+++ b/build/boot/README.device-tree 2015-02-13 23:50:29 +0000 #+++ 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'
#--- a/build/config/arm64.cfg 2015-05-09 07:52:07 +0000 #--- build/config/arm64.cfg 2015-05-09 07:52:07 +0000
#+++ b/build/config/arm64.cfg 2015-05-12 16:01:14 +0000 #+++ 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'
#--- a/build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000 #--- build/config/arm64/cdrom.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/config/arm64/cdrom.cfg 2015-02-24 05:14:26 +0000 #+++ 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'
#--- a/build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000 #--- build/config/arm64/cdrom/grub.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/config/arm64/cdrom/grub.cfg 2015-02-24 05:14:26 +0000 #+++ 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'
#--- a/build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000 #--- build/config/arm64/device-tree.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/config/arm64/device-tree.cfg 2015-02-13 23:51:06 +0000 #+++ 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'
#--- a/build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000 #--- build/config/arm64/generic.cfg 2014-01-27 14:09:42 +0000
#+++ b/build/config/arm64/generic.cfg 1970-01-01 00:00:00 +0000 #+++ 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'
#--- a/build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000 #--- build/config/arm64/generic/netboot.cfg 2015-02-27 10:58:49 +0000
#+++ b/build/config/arm64/generic/netboot.cfg 1970-01-01 00:00:00 +0000 #+++ 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'
#--- a/build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000 #--- build/config/arm64/netboot.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/config/arm64/netboot.cfg 2015-02-24 05:45:09 +0000 #+++ 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'
#--- a/build/config/dir 2010-08-25 22:06:28 +0000 #--- build/config/dir 2010-08-25 22:06:28 +0000
#+++ b/build/config/dir 2015-02-13 23:50:29 +0000 #+++ 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'
#--- a/build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000 #--- build/pkg-lists/cdrom/arm64.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/pkg-lists/cdrom/arm64.cfg 2015-02-24 05:14:26 +0000 #+++ 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'
#--- a/build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000 #--- build/pkg-lists/cdrom/grub/arm64.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/pkg-lists/cdrom/grub/arm64.cfg 2015-02-24 05:14:26 +0000 #+++ 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'
#--- a/build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000 #--- build/pkg-lists/cdrom/grub/common 1970-01-01 00:00:00 +0000
#+++ b/build/pkg-lists/cdrom/grub/common 2015-03-17 21:09:21 +0000 #+++ 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'
#--- a/build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000 #--- build/pkg-lists/device-tree/arm64.cfg 1970-01-01 00:00:00 +0000
#+++ b/build/pkg-lists/device-tree/arm64.cfg 2015-02-13 23:51:06 +0000 #+++ 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'
#--- a/build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000 #--- build/pkg-lists/device-tree/common 1970-01-01 00:00:00 +0000
#+++ b/build/pkg-lists/device-tree/common 2015-02-13 23:50:29 +0000 #+++ 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'
#--- a/build/util/efi-image 2012-10-15 20:03:40 +0000 #--- build/util/efi-image 2012-10-15 20:03:40 +0000
#+++ b/build/util/efi-image 2015-02-24 04:58:57 +0000 #+++ 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'
#--- a/build/util/grub-gencfg 1970-01-01 00:00:00 +0000 #--- build/util/grub-gencfg 1970-01-01 00:00:00 +0000
#+++ b/build/util/grub-gencfg 2015-03-23 23:27:39 +0000 #+++ 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'
#--- a/debian/changelog 2015-05-09 07:52:07 +0000 #--- debian/changelog 2015-05-09 07:52:07 +0000
#+++ b/debian/changelog 2015-05-14 14:24:09 +0000 #+++ 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'
#--- a/debian/control 2014-10-30 08:19:25 +0000 #--- debian/control 2014-10-30 08:19:25 +0000
#+++ b/debian/control 2015-04-03 21:16:40 +0000 #+++ 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'
#--- a/build/Makefile 2015-12-09 17:32:28 +0000 #--- build/Makefile 2015-12-09 17:32:28 +0000
#+++ b/build/Makefile 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/config/amd64.cfg 2016-04-08 14:58:47 +0000 #--- build/config/amd64.cfg 2016-04-08 14:58:47 +0000
#+++ b/build/config/amd64.cfg 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000 #--- build/config/amd64/netboot.cfg 2016-03-27 03:15:58 +0000
#+++ b/build/config/amd64/netboot.cfg 2016-04-16 19:45:21 +0000 #+++ 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'
--- a/build/config/armhf.cfg 2016-04-08 14:58:47 +0000 --- build/config/armhf.cfg 2016-04-08 14:58:47 +0000
+++ b/build/config/armhf.cfg 2016-04-16 19:45:21 +0000 +++ 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'
#--- a/build/config/common 2015-11-12 19:14:48 +0000 #--- build/config/common 2015-11-12 19:14:48 +0000
#+++ b/build/config/common 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000 #--- build/config/i386/netboot.cfg 2016-03-22 04:37:29 +0000
#+++ b/build/config/i386/netboot.cfg 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000 #--- build/config/powerpc/powerpc/netboot.cfg 2016-03-22 05:15:29 +0000
#+++ b/build/config/powerpc/powerpc/netboot.cfg 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000 #--- build/config/ppc64el.cfg 2016-04-08 14:58:47 +0000
#+++ b/build/config/ppc64el.cfg 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/pkg-lists/base 2015-09-22 18:31:39 +0000 #--- build/pkg-lists/base 2015-09-22 18:31:39 +0000
#+++ b/build/pkg-lists/base 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/pkg-lists/exclude 2010-05-24 15:01:07 +0000 #--- build/pkg-lists/exclude 2010-05-24 15:01:07 +0000
#+++ b/build/pkg-lists/exclude 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000 #--- build/pkg-lists/gtk-common 2015-05-14 17:55:41 +0000
#+++ b/build/pkg-lists/gtk-common 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/build/pkg-lists/network-console 2004-06-29 08:17:34 +0000 #--- build/pkg-lists/network-console 2004-06-29 08:17:34 +0000
#+++ b/build/pkg-lists/network-console 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/debian/changelog 2016-04-13 12:07:03 +0000 #--- debian/changelog 2016-04-13 12:07:03 +0000
#+++ b/debian/changelog 2016-04-16 19:45:21 +0000 #+++ 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'
#--- a/debian/control 2016-02-19 17:00:28 +0000 #--- debian/control 2016-02-19 17:00:28 +0000
#+++ b/debian/control 2016-04-16 19:45:21 +0000 #+++ 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
--- a/debian/control 2023-05-10 08:36:56.311243556 -0600 --- debian/control 2023-05-10 08:36:56.311243556 -0600
+++ b/debian/control 2023-05-10 12:00:07.617639516 -0600 +++ 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'
--- a/build/Makefile 2018-02-15 11:44:41 +0000 --- build/Makefile 2018-02-15 11:44:41 +0000
+++ b/build/Makefile 2018-07-22 10:55:51 +0000 +++ 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'
#--- a/debian/changelog 2018-06-14 10:36:23 +0000 #--- debian/changelog 2018-06-14 10:36:23 +0000
#+++ b/debian/changelog 2018-07-22 10:55:51 +0000 #+++ 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

@ -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 hd-media -MEDIUM_SUPPORTED = cdrom netboot netboot-gtk device-tree u-boot
+MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot +MEDIUM_SUPPORTED = cdrom netboot device-tree u-boot
KERNELMAJOR = 2.6 KERNELMAJOR = 2.6

View file

@ -1,59 +0,0 @@
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

@ -1,16 +0,0 @@
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

@ -0,0 +1,62 @@
diff -Nru source/build/Makefile source_no_proposed/build/Makefile
--- source/build/Makefile 2022-10-20 08:22:18.334230755 -0500
+++ source_no_proposed/build/Makefile 2022-10-20 08:25:19.346634640 -0500
@@ -636,7 +636,7 @@
echo "deb $(MIRROR) unreleased $(UDEB_COMPONENTS)"; \
fi \
else \
- gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) $(UDEB_COMPONENTS) $(USE_PROPOSED_UPDATES); \
+ gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" $(USE_UDEBS_FROM) $(UDEB_COMPONENTS); \
if [ "$(USE_UNRELEASED)" = 1 ]; then \
gen-sources.list.udeb "$(SYSTEM_SOURCES_LIST)" unreleased $(UDEB_COMPONENTS); \
fi \
@@ -648,10 +648,6 @@
echo "Using generated $@:"; \
sed -n "/^[^#]/ s/^/ /p" $@; \
fi
- @if [ "$(USE_PROPOSED_UPDATES)" = 1 ] && ! grep -q proposed-updates $@; then \
- echo "ERROR: no valid source for $(USE_UDEBS_FROM)-proposed-updates"; \
- exit 1; \
- fi
# Font generation.
#
diff -Nru source/build/util/gen-sources.list.udeb source_no_proposed/build/util/gen-sources.list.udeb
--- source/build/util/gen-sources.list.udeb 2022-09-06 15:55:12.000000000 -0500
+++ source_no_proposed/build/util/gen-sources.list.udeb 2022-10-20 08:26:32.538801725 -0500
@@ -8,7 +8,6 @@
SOURCES_LIST=$1
SUITE=$2
UDEB_COMPONENTS=$3
-USE_PROPOSED_UPDATES=$4 # optional
# Set to 1 or 2 to see increasing debug info about mirror tests
# Use 0 for quiet (normal) operation
@@ -84,16 +83,8 @@
else
echo "WARNING: mirror '$tmirror' appears to be invalid; skipping" >&2
fi
- if [ "$USE_PROPOSED_UPDATES" = 1 ] &&
- test_url $tmirror/dists/$SUITE-proposed-updates/Release; then
- echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS"
- echo "INFO: using '$tmirror' for $SUITE-proposed-updates" >&2
- fi
else
echo "$mirror $SUITE $UDEB_COMPONENTS"
- if [ "$USE_PROPOSED_UPDATES" = 1 ]; then
- echo "$mirror $SUITE-proposed-updates $UDEB_COMPONENTS"
- fi
fi
done | perl -ne 'print unless $seen{$_}; $seen{$_}=1'
diff -Nru source/debian/rules source_no_proposed/debian/rules
--- source/debian/rules 2022-10-20 08:22:18.318230720 -0500
+++ source_no_proposed/debian/rules 2022-10-20 08:26:53.702850378 -0500
@@ -13,7 +13,6 @@
BOOTMENU_BEEP=n
else
USE_UDEBS_FROM=aramo
-USE_PROPOSED_UPDATES=1
TRANSSTATUS=translation-status
BOOTMENU_BEEP=y
endif

View file

@ -1,39 +0,0 @@
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

@ -1,17 +0,0 @@
--- 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))

View file

@ -0,0 +1,37 @@
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,16 +1,14 @@
diff --git a/lib/tools.py b/lib/tools.py --- a/lib/tools.py 2021-10-15 08:01:00.000000000 -0500
index 2ab74f7f..a3d52620 100644 +++ a/lib/tools.py 2022-04-06 12:27:07.672427372 -0500
--- a/lib/tools.py @@ -37,7 +37,7 @@
+++ 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."""
- parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u csv-file") script_name = os.path.basename(sys.argv[0])
+ parser = argparse.ArgumentParser(usage="%(prog)s [-h] -d|-u|-t csv-file") - usage = "%s [-h] -d|-u csv-file" % (script_name)
+ usage = "%s [-h] -d|-u|-t csv-file" % (script_name)
parser = argparse.ArgumentParser(usage=usage)
parser.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,7 +1,5 @@
diff --git a/python/distro_info.py b/python/distro_info.py --- source/python/distro_info.py 2021-11-04 15:27:37.000000000 -0600
index c87fbff6..0a624745 100644 +++ source/python/distro_info.py_fix 2022-04-06 10:20:39.217365952 -0500
--- 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>
@ -25,7 +23,7 @@ index c87fbff6..0a624745 100644
""" """
def __init__(self, distro): def __init__(self, distro):
@@ -340,16 +340,16 @@ class DebianDistroInfo(DistroInfo): @@ -311,14 +312,14 @@
] ]
@ -34,35 +32,31 @@ index c87fbff6..0a624745 100644
+class TrisquelDistroInfo(DistroInfo): +class TrisquelDistroInfo(DistroInfo):
+ """provides information about Trisquel's distributions""" + """provides information about Trisquel's distributions"""
def __init__(self) -> None: def __init__(self):
- super().__init__("Ubuntu") - super().__init__("Ubuntu")
+ super().__init__("Trisquel") + super().__init__("Trisquel")
def lts( def lts(self, date=None, result="codename"):
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
@@ -372,7 +372,7 @@ class UbuntuDistroInfo(DistroInfo): @@ -337,7 +338,7 @@
def supported( return "LTS" in distros[0].version
self, date: typing.Optional[datetime.date] = None, result: str = "codename"
) -> list[typing.Union[DistroRelease, str]]: def supported(self, date=None, result="codename"):
- """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
@@ -382,17 +382,3 @@ class UbuntuDistroInfo(DistroInfo): @@ -347,15 +348,3 @@
if (x.eol and date <= x.eol) or (x.eol_server is not None and date <= x.eol_server) if date <= x.eol or (x.eol_server is not None and date <= x.eol_server)
] ]
return distros return distros
- -
- def supported_esm( - def supported_esm(self, date=None, result="codename"):
- 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

@ -1,8 +1,3 @@
##
# 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,152 +0,0 @@
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

@ -0,0 +1,100 @@
# 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

@ -1,56 +0,0 @@
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

@ -1,154 +0,0 @@
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

@ -1,43 +0,0 @@
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,32 +0,0 @@
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

@ -1,49 +0,0 @@
#!/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

@ -0,0 +1,16 @@
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

@ -1,16 +0,0 @@
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,47 +19,8 @@ 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 a9e8501a..02328371 100644 index 77ea8f5d..62c3ce8e 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 @@
@ -74,3 +35,19 @@ index 205c0e01..029b9925 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 2ea7ebf3..aa30828e 100644 index cd1815f..aaa7caa 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 2ea7ebf3..aa30828e 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
-- *raspberry64*: Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B -- *test*: build virtualbox i386 image and run diagnostics tests on it
-- *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 2ea7ebf3..aa30828e 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 |
+| *raspberry64* | Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B | +| *test* | build virtualbox i386 image and run diagnostics tests on it
+| *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,31 +11,22 @@ 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.
diff --git a/freedommaker/builder.py b/freedommaker/builder.py @@ -114,14 +116,15 @@ class ImageBuilder(object): # pylint: disable=too-many-instance-attributes
index e4ccddd5..1ec3026b 100644 elif 'contrib' in self.release_components:
--- a/freedommaker/builder.py free_tag = 'contrib'
+++ b/freedommaker/builder.py else:
@@ -87,10 +87,10 @@ class ImageBuilder: # pylint: disable=too-many-instance-attributes - free_tag = 'free'
"""Return the Debian release components to use for the build.""" + free_tag = 'libre'
components = ['main'] else:
if self.include_non_free_firmware: - free_tag = 'nonfree'
- components.append('non-free-firmware') + free_tag = 'libre'
+ 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}_{build_stamp}{machine}' \ - return 'freedombox-{distribution}-{free_tag}_{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, distribution=self.arguments.distribution, free_tag=free_tag,
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 |
|-----------------------|-------------| |-----------------------|-------------|
@@ -42,25 +42,18 @@ Trisquel Freedom-maker supports building for the following targets: @@ -46,25 +42,18 @@ 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 |
-| *raspberry64* | Single image for Raspberry Pi 3B, Raspberry Pi 3B+ and Raspberry Pi 4B | -| *test* | build virtualbox i386 image and run diagnostics tests on it
-| *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 binfmt-support btrfs-progs debootstrap dmsetup dosfstools fdisk git kpartx parted psmisc qemu-user-static qemu-utils sshpass sudo u-boot-tools xz-utils $ sudo apt install btrfs-progs debootstrap kpartx parted qemu-user-static qemu-utils sshpass
- $ 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,69 +68,47 @@ 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/doc/freedom-maker.xml b/doc/freedom-maker.xml diff --git a/debian/freedom-maker.1 b/debian/freedom-maker.1
index 09c2f001..8c4abdd6 100644 index 71a9a9b..58051f3 100644
--- a/doc/freedom-maker.xml --- a/debian/freedom-maker.1
+++ b/doc/freedom-maker.xml +++ b/debian/freedom-maker.1
@@ -85,7 +85,7 @@ @@ -51,17 +51,17 @@ Size of the image to build
<term> <option>--build-mirror</option></term> .PP
<listitem> \fB\-\-build\-mirror\fR
<para> .RS 4
- Debian mirror to use for building -Debian mirror to use for building
+ Trisquel mirror to use for building +Trisquel mirror to use for building
</para> .RE
</listitem> .PP
</varlistentry> \fB\-\-mirror\fR
@@ -93,7 +93,7 @@ .RS 4
<term> <option>--mirror</option></term> -Debian mirror to use in built image
<listitem> +Trisquel mirror to use in built image
<para> .RE
- Debian mirror to use in built image .PP
+ Trisquel mirror to use in built image \fB\-\-distribution\fR
</para> .RS 4
</listitem> -Debian release to use in built image
</varlistentry> +Trisquel release to use in built image
@@ -101,15 +101,7 @@ .RE
<term> <option>--distribution</option></term> .PP
<listitem> \fB\-\-package\fR
<para> @@ -101,7 +101,7 @@ Force rebuild of images even when required image exists
- Debian release to use in built image .PP
- </para> \fBtargets\fR
- </listitem> .RS 4
- </varlistentry> -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
- <term> <option>--add-release-component</option></term> .RE
- <listitem> .SH "EXAMPLES"
- <para> .PP
- Add an extra Debian release component (other than main) @@ -128,8 +128,7 @@ Build a FreedomBox image for the BeagleBone Single Board Computer\&.
+ Trisquel release to use in built image $ freedommaker a20\-olinuxino\-lime a20\-olinuxino\-lime2
</para> a20\-olinuxino\-micro amd64 arm64 armhf banana\-pro beaglebone cubieboard2
</listitem> cubietruck i386 lamobo\-r1 orange\-pi\-zero pcduino3 pine64\-lts pine64\-plus
</varlistentry> - qemu\-amd64 qemu\-i386 raspberry2 raspberry3 raspberry3\-b\-plus test
@@ -208,12 +200,10 @@ - virtualbox\-amd64 virtualbox\-i386
<term> <option>targets</option></term> + qemu\-amd64 qemu\-i386
<listitem> .fi
<para> .if n \{\
- Image targets to build. Choose one or more of a20-olinuxino-lime, .RE
- 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 28f10cfa..b821226b 100644 index f8ea629..04954b5 100644
--- a/freedommaker/library.py --- a/freedommaker/library.py
+++ b/freedommaker/library.py +++ b/freedommaker/library.py
@@ -527,12 +527,12 @@ deb {mirror} {distribution}-updates {components} @@ -493,12 +493,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 https://archive.trisquel.org/trisquel/ {distribution}-security {components} +deb {mirror} {distribution}-security {components}
+deb-src https://archive.trisquel.org/trisquel/ {distribution}-security {components} +deb-src {mirror} {distribution}-security {components}
''' '''
backports_template = f''' backports_template = f'''
-deb http://deb.debian.org/debian {releases.STABLE_CODENAME}-backports main -deb http://deb.debian.org/debian {STABLE_CODENAME}-backports main
-deb-src http://deb.debian.org/debian {releases.STABLE_CODENAME}-backports main -deb-src http://deb.debian.org/debian {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,24 +12,23 @@ 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 56c180db..139c6541 100644 index dd694f3..139c654 100644
--- a/freedommaker/builders/__init__.py --- a/freedommaker/builders/__init__.py
+++ b/freedommaker/builders/__init__.py +++ b/freedommaker/builders/__init__.py
@@ -25,11 +25,3 @@ from . import pine64_plus @@ -25,10 +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 439444e7..00000000 index c226683..0000000
--- 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 @@
@ -47,13 +46,13 @@ index 439444e7..00000000
- 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'
- u_boot_rpi_variant = 'rpi_2' - uboot_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 3b9bf82b..00000000 index 797e8df..0000000
--- a/freedommaker/builders/raspberry_pi_3.py --- a/freedommaker/builders/raspberry_pi_3.py
+++ /dev/null +++ /dev/null
@@ -1,15 +0,0 @@ @@ -1,16 +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.
@ -66,67 +65,34 @@ index 3b9bf82b..00000000
- """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'
- u_boot_rpi_variant = 'rpi_3_32b' - uboot_variant = 'rpi_3_32b'
diff --git a/freedommaker/builders/raspberry_pi_64bit.py b/freedommaker/builders/raspberry_pi_64bit.py diff --git a/freedommaker/builders/raspberry_pi_3_b_plus.py b/freedommaker/builders/raspberry_pi_3_b_plus.py
deleted file mode 100644 deleted file mode 100644
index e6a9ffa0..00000000 index 7a54842..0000000
--- a/freedommaker/builders/raspberry_pi_64bit.py --- a/freedommaker/builders/raspberry_pi_3_b_plus.py
+++ /dev/null +++ /dev/null
@@ -1,46 +0,0 @@ @@ -1,12 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later -# SPDX-License-Identifier: GPL-3.0-or-later
-""" -"""
-Worker class to build Raspberry Pi 64-bit image. -Worker class to build Raspberry Pi 3 Model B+ image.
-""" -"""
- -
-from .. import library -from .raspberry_pi_3 import RaspberryPi3ImageBuilder
-from ..builder import ImageBuilder
- -
- -
-class RaspberryPi64ImageBuilder(ImageBuilder): -class RaspberryPi3BPlusImageBuilder(RaspberryPi3ImageBuilder):
- """Image builder for Raspberry Pi 64-bit target.""" - """Image builder for Raspberry Pi 3 Model B+ target."""
- architecture = 'arm64' - machine = 'raspberry3-b-plus'
- boot_loader = None - flash_kernel_name = 'Raspberry Pi 3 Model B+'
- 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 c4be09cd..00000000 index 8057f87..0000000
--- a/freedommaker/builders/raspberry_pi_with_uboot.py --- a/freedommaker/builders/raspberry_pi_with_uboot.py
+++ /dev/null +++ /dev/null
@@ -1,46 +0,0 @@ @@ -1,44 +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.
@ -138,15 +104,14 @@ index c4be09cd..00000000
- -
-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."""
- include_non_free_firmware = True - free = False
- uboot_variant = None - uboot_variant = None
- firmware_filesystem_type = 'vfat' - firmware_filesystem_type = 'vfat'
- firmware_size = '256MiB' - firmware_size = '64MiB'
- 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.u_boot_rpi_variant: - if not self.uboot_variant:
- raise NotImplementedError - raise NotImplementedError
- -
- firmware_package = 'raspi-firmware' - firmware_package = 'raspi-firmware'
@ -168,35 +133,29 @@ index c4be09cd..00000000
- -
-# 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/{u_boot_rpi_variant}/u-boot.bin /boot/firmware/kernel.img -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/kernel7.img -cp /usr/lib/u-boot/{uboot_variant}/u-boot.bin /boot/firmware/kernel7.img
-'''.format(firmware_package=firmware_package, -'''.format(firmware_package=firmware_package, uboot_variant=self.uboot_variant)
- 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 30df772b..00000000 index 13d124d..0000000
--- a/freedommaker/builders/vagrant.py --- a/freedommaker/builders/vagrant.py
+++ /dev/null +++ /dev/null
@@ -1,56 +0,0 @@ @@ -1,41 +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
@ -215,23 +174,86 @@ index 30df772b..00000000
- 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 = [
- 'freedommaker/vagrant_package.py', '--distribution', - 'bin/vagrant-package', '--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.
-"""
- -
- def store_hash(self, vagrant_file): -import os
- """Store the SHA-256 hash of the vagrant box file.""" -
- output = subprocess.check_output(['sha256sum', vagrant_file]) -from .. import library
- result = output.decode() -from .vm import VMImageBuilder
- logger.info('sha256sum: %s', result) -
- hash_filename = self._replace_extension(vagrant_file, '.sha256') -
- with open(hash_filename, 'w') as hash_file: -class VirtualBoxImageBuilder(VMImageBuilder):
- hash_file.write(result) - """Base image builder for all VirtualBox targets."""
- 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,75 +1,76 @@
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 4b52b278..b4688a11 100644 index 2cc840a..6e63917 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
@@ -446,13 +446,13 @@ def test_cleanup_extra_storage(run, image, state, random_string): @@ -422,13 +422,13 @@ modify x x
@patch('freedommaker.library.run') @patch('freedommaker.library.run')
def test_debootstrap(run, state): def test_debootstrap(self, run):
"""Test debootstrapping.""" """Test debootstrapping."""
- library.debootstrap(state, 'i386', 'stretch', 'minbase', - library.debootstrap(self.state, 'i386', 'stretch', 'minbase',
- ['main', 'contrib'], ['p1', 'p2'], - ['main', 'contrib'], ['p1', 'p2'],
- 'http://deb.debian.org/debian') - 'http://deb.debian.org/debian')
+ library.debootstrap(state, 'amd64', 'aramo', 'minbase', + library.debootstrap(self.state, 'amd64', 'nabia', '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',
- state['mount_point'], 'http://deb.debian.org/debian' - self.state['mount_point'], 'http://deb.debian.org/debian'
+ 'debootstrap', '--arch=amd64', '--variant=minbase', + 'debootstrap', '--arch=amd64', '--variant=minbase',
+ '--components=main', '--include=p1,p2', 'aramo', + '--components=main', '--include=p1,p2', 'nabia',
+ state['mount_point'], 'http://archive.trisquel.org/trisquel' + self.state['mount_point'], 'http://archive.trisquel.org/trisquel'
]) ])
assert state['cleanup'] == [[ self.assertEqual(self.state['cleanup'], [[
@@ -602,17 +602,17 @@ def test_setup_apt(run, state): @@ -574,31 +574,37 @@ ff02::2 ip6-allrouters
sources_path = state['mount_point'] + '/etc/apt/sources.list' sources_path = self.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 aramo main +deb http://archive.trisquel.org/trisquel nabia main
+deb-src http://archive.trisquel.org/trisquel aramo main +deb-src http://archive.trisquel.org/trisquel nabia 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 aramo-updates main +deb http://archive.trisquel.org/trisquel nabia-updates main
+deb-src http://archive.trisquel.org/trisquel aramo-updates main +deb-src http://archive.trisquel.org/trisquel nabia-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 https://archive.trisquel.org/trisquel/ aramo-security main +deb http://archive.trisquel.org/trisquel nabia-security main
+deb-src https://archive.trisquel.org/trisquel/ aramo-security main +deb-src http://archive.trisquel.org/trisquel nabia-security main
''' '''
with assert_file_change(sources_path, None, stable_content): with self.assert_file_change(sources_path, None, stable_content):
- library.setup_apt(state, 'http://deb.debian.org/debian', 'stable', - library.setup_apt(self.state, 'http://deb.debian.org/debian',
+ library.setup_apt(state, 'http://archive.trisquel.org/trisquel', 'aramo', - 'stable', ['main'])
['main']) + library.setup_apt(self.state, 'http://archive.trisquel.org/trisquel',
+ 'nabia', ['main'])
assert run.call_args_list == [ self.assertEqual(run.call_args_list, [
@@ -620,13 +620,19 @@ deb-src https://archive.trisquel.org/trisquel/ aramo-security main call(self.state, ['apt-get', 'update']),
call(state, ['apt-get', 'clean']) call(self.state, ['apt-get', 'clean'])
] ])
- unstable_content = ''' - unstable_content = '''
-deb http://ftp.us.debian.org/debian unstable main contrib non-free-firmware -deb 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 -deb-src http://ftp.us.debian.org/debian unstable main contrib non-free
+ ecne_content = ''' + aramo_content = '''
+deb http://archive.trisquel.org/trisquel ecne main +deb http://archive.trisquel.org/trisquel aramo main
+deb-src http://archive.trisquel.org/trisquel ecne main +deb-src http://archive.trisquel.org/trisquel aramo main
+ +
+deb http://archive.trisquel.org/trisquel ecne-updates main +deb http://archive.trisquel.org/trisquel aramo-updates main
+deb-src http://archive.trisquel.org/trisquel ecne-updates main +deb-src http://archive.trisquel.org/trisquel aramo-updates main
+ +
+deb https://archive.trisquel.org/trisquel/ ecne-security main +deb http://archive.trisquel.org/trisquel aramo-security main
+deb-src https://archive.trisquel.org/trisquel/ ecne-security main +deb-src http://archive.trisquel.org/trisquel aramo-security main
''' '''
- with assert_file_change(sources_path, None, unstable_content): - with self.assert_file_change(sources_path, None, unstable_content):
- library.setup_apt(state, 'http://ftp.us.debian.org/debian', 'unstable', - library.setup_apt(self.state, 'http://ftp.us.debian.org/debian',
- ['main', 'contrib', 'non-free-firmware']) - 'unstable', ['main', 'contrib', 'non-free'])
+ with assert_file_change(sources_path, None, ecne_content): + with self.assert_file_change(sources_path, None, aramo_content):
+ library.setup_apt(state, 'http://archive.trisquel.org/trisquel', 'ecne', + library.setup_apt(self.state, 'http://archive.trisquel.org/trisquel',
+ ['main']) + 'aramo', ['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: str = 'armhf' architecture = 'armhf'
- kernel_flavor: str = 'armmp-lpae' - kernel_flavor = 'armmp-lpae'
+ kernel_flavor: str = 'generic' + kernel_flavor = 'generic'
u_boot_path: str | None = None u_boot_path = 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,25 +18,22 @@ 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: str = 'arm64' architecture = 'arm64'
- kernel_flavor: str = 'arm64' - kernel_flavor = 'arm64'
+ kernel_flavor: str = 'generic' + kernel_flavor = 'generic'
u_boot_target: str | None = None u_boot_target = 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,7 +9,7 @@ from .amd_intel import AMDIntelImageBuilder @@ -9,4 +9,4 @@ 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
@ -80,15 +77,12 @@ 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,7 +9,7 @@ from .amd_intel import AMDIntelImageBuilder @@ -9,4 +9,4 @@ 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

@ -0,0 +1,127 @@
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,24 +1,15 @@
diff --git a/debian/control b/debian/control diff --git a/debian/control b/debian/control
index 7262a65c..497779f7 100644 index 2ea9e66..91f61fc 100644
--- a/debian/control --- a/debian/control
+++ b/debian/control +++ b/debian/control
@@ -17,7 +17,6 @@ Build-Depends: appstream, @@ -62,9 +62,8 @@ 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], -Recommends: fwupd [linux-any], ${plugin:Recommends}
- ${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 mipsel mips64el ppc64el s390x hppa powerpc ppc64 riscv64 x32], - gnome-software-plugin-flatpak [amd64 arm64 armel armhf i386 mips mipsel mips64el ppc64el s390x hppa powerpc powerpcspe ppc64],
${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

@ -0,0 +1,35 @@
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

@ -1,17 +0,0 @@
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

@ -0,0 +1,42 @@
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

@ -1,18 +0,0 @@
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

@ -1,46 +0,0 @@
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

@ -0,0 +1,253 @@
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

@ -0,0 +1,211 @@
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

@ -0,0 +1,335 @@
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

@ -0,0 +1,650 @@
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

@ -0,0 +1,128 @@
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

@ -0,0 +1,114 @@
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