From 795e3b1989504a7013aaab4db79748a1f7e2d787 Mon Sep 17 00:00:00 2001 From: Roberto Sassu Date: Wed, 15 Jul 2020 11:37:25 +0200 Subject: [PATCH] Initial version --- Add-support-for-digest-lists.patch | 58 +++++++++++ ...ct-mask-in-pesign-gen-repackage-spec.patch | 25 +++++ Disable-building-debug-packages.patch | 24 +++++ ...-set-files-variable-in-brp-99-pesign.patch | 25 +++++ ...-for-building-in-pesign-repackage.sp.patch | 28 ++++++ ...of-ghost-files-as-they-are-not-extra.patch | 46 +++++++++ ...igest_list-in-pesign-repackage.spec..patch | 26 +++++ pesign-obs-integration.spec | 90 ++++++++++++++++++ pesign-obs-integration_10.1.tar.gz | Bin 0 -> 35869 bytes 9 files changed, 322 insertions(+) create mode 100644 Add-support-for-digest-lists.patch create mode 100644 Apply-correct-mask-in-pesign-gen-repackage-spec.patch create mode 100644 Disable-building-debug-packages.patch create mode 100644 Don-t-set-files-variable-in-brp-99-pesign.patch create mode 100644 Require-nss-util-for-building-in-pesign-repackage.sp.patch create mode 100644 Skip-processing-of-ghost-files-as-they-are-not-extra.patch create mode 100644 Undefine-__brp_digest_list-in-pesign-repackage.spec..patch create mode 100644 pesign-obs-integration.spec create mode 100644 pesign-obs-integration_10.1.tar.gz diff --git a/Add-support-for-digest-lists.patch b/Add-support-for-digest-lists.patch new file mode 100644 index 0000000..87e38e9 --- /dev/null +++ b/Add-support-for-digest-lists.patch @@ -0,0 +1,58 @@ +From 9caa3773a41c531c21b4a696a6928ed953f18b7f Mon Sep 17 00:00:00 2001 +From: Roberto Sassu +Date: Sat, 27 Jun 2020 13:38:07 +0200 +Subject: [PATCH] Add support for digest lists + +--- + pesign-gen-repackage-spec | 7 +++++++ + pesign-repackage.spec.in | 11 +++++++++-- + 2 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/pesign-gen-repackage-spec b/pesign-gen-repackage-spec +index 96f07b5..682c5c1 100755 +--- a/pesign-gen-repackage-spec ++++ b/pesign-gen-repackage-spec +@@ -432,6 +432,13 @@ sub print_files { + if (-e "$path.sig") { + print SPEC "$attrs " . quote($f->{name}) . ".sig\n"; + } ++ ++ my $digest_list_sig = $f->{name}; ++ $digest_list_sig =~ s/digest_lists/digest_lists.sig/; ++ ++ if (-e "$directory/$digest_list_sig.sig") { ++ print SPEC "$attrs " . quote($digest_list_sig) . ".sig\n"; ++ } + } + } + +diff --git a/pesign-repackage.spec.in b/pesign-repackage.spec.in +index 76732b5..141f990 100644 +--- a/pesign-repackage.spec.in ++++ b/pesign-repackage.spec.in +@@ -119,13 +119,20 @@ fi + mkdir nss-db + nss_db=$PWD/nss-db + echo foofoofoo > "$nss_db/passwd" +-certutil -N -d "$nss_db" -f "$nss_db/passwd" +-certutil -A -d "$nss_db" -f "$nss_db/passwd" -n cert -t CT,CT,CT -i "$cert" ++ ++if test "$(wc -l +Date: Tue, 14 Jul 2020 12:38:42 +0200 +Subject: [PATCH 1/3] Apply correct mask in pesign-gen-repackage-spec + +--- + pesign-gen-repackage-spec | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pesign-gen-repackage-spec b/pesign-gen-repackage-spec +index fa0935e..e554c5d 100755 +--- a/pesign-gen-repackage-spec ++++ b/pesign-gen-repackage-spec +@@ -376,7 +376,7 @@ sub print_files { + $attrs .= "\%dir "; + utime($f->{mtime}, $f->{mtime}, $path); + } +- $attrs .= sprintf('%%attr(%04o, %s, %s) ', ($f->{mode} & 0777), ++ $attrs .= sprintf('%%attr(%04o, %s, %s) ', ($f->{mode} & oct(7777)), + $f->{owner}, $f->{group}); + if ($f->{flags} & $filetypes{config}) { + $attrs .= "%config "; +-- +2.27.GIT + diff --git a/Disable-building-debug-packages.patch b/Disable-building-debug-packages.patch new file mode 100644 index 0000000..bb574cc --- /dev/null +++ b/Disable-building-debug-packages.patch @@ -0,0 +1,24 @@ +From c93cc80bd005f04eec1c933b23d3ba263cf21461 Mon Sep 17 00:00:00 2001 +From: Roberto Sassu +Date: Sat, 27 Jun 2020 13:56:09 +0200 +Subject: [PATCH] Disable building debug packages + +--- + pesign-repackage.spec.in | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/pesign-repackage.spec.in b/pesign-repackage.spec.in +index fe00f0a..90ae17c 100644 +--- a/pesign-repackage.spec.in ++++ b/pesign-repackage.spec.in +@@ -21,6 +21,7 @@ + + # Do not generate any debug packages from the repackage specfile + %undefine _build_create_debug ++%global debug_package %{nil} + + Name: pesign-repackage + Version: 1.0 +-- +2.27.GIT + diff --git a/Don-t-set-files-variable-in-brp-99-pesign.patch b/Don-t-set-files-variable-in-brp-99-pesign.patch new file mode 100644 index 0000000..7d62780 --- /dev/null +++ b/Don-t-set-files-variable-in-brp-99-pesign.patch @@ -0,0 +1,25 @@ +From 6deabd288aa9daffe09b555dd3deff69f0081dcf Mon Sep 17 00:00:00 2001 +From: Roberto Sassu +Date: Tue, 14 Jul 2020 14:46:40 +0200 +Subject: [PATCH] Don't set files variable in brp-99-pesign + +--- + brp-99-pesign | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/brp-99-pesign b/brp-99-pesign +index c2492b3..c991d83 100644 +--- a/brp-99-pesign ++++ b/brp-99-pesign +@@ -22,7 +22,7 @@ + + set -e + +-files="*.ko" ++#files="*.ko" + if test -n "${BRP_PESIGN_FILES+x}"; then + files=${BRP_PESIGN_FILES} + fi +-- +2.27.GIT + diff --git a/Require-nss-util-for-building-in-pesign-repackage.sp.patch b/Require-nss-util-for-building-in-pesign-repackage.sp.patch new file mode 100644 index 0000000..6a16178 --- /dev/null +++ b/Require-nss-util-for-building-in-pesign-repackage.sp.patch @@ -0,0 +1,28 @@ +From f1afdd8f47351449b85da91ae690fb0d06bc3431 Mon Sep 17 00:00:00 2001 +From: Roberto Sassu +Date: Tue, 14 Jul 2020 14:49:12 +0200 +Subject: [PATCH] Require nss-util for building in pesign-repackage.spec.in + +--- + pesign-repackage.spec.in | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/pesign-repackage.spec.in b/pesign-repackage.spec.in +index 141f990..3758329 100644 +--- a/pesign-repackage.spec.in ++++ b/pesign-repackage.spec.in +@@ -25,7 +25,11 @@ + Name: pesign-repackage + Version: 1.0 + Release: 1 ++%if 0%{?suse_version} + BuildRequires: openssl mozilla-nss-tools ++%else ++BuildRequires: openssl nss-util ++%endif + %ifarch %ix86 x86_64 ia64 + BuildRequires: pesign + %endif +-- +2.27.GIT + diff --git a/Skip-processing-of-ghost-files-as-they-are-not-extra.patch b/Skip-processing-of-ghost-files-as-they-are-not-extra.patch new file mode 100644 index 0000000..eff371c --- /dev/null +++ b/Skip-processing-of-ghost-files-as-they-are-not-extra.patch @@ -0,0 +1,46 @@ +From bbebbe1e51ff38601bb9e14e323327d21dedb048 Mon Sep 17 00:00:00 2001 +From: Roberto Sassu +Date: Tue, 14 Jul 2020 12:39:44 +0200 +Subject: [PATCH 2/3] Skip processing of ghost files as they are not extracted + from RPMs + +--- + pesign-gen-repackage-spec | 22 +++++++++++----------- + 1 file changed, 11 insertions(+), 11 deletions(-) + +diff --git a/pesign-gen-repackage-spec b/pesign-gen-repackage-spec +index e554c5d..96f07b5 100755 +--- a/pesign-gen-repackage-spec ++++ b/pesign-gen-repackage-spec +@@ -392,17 +392,17 @@ sub print_files { + } + if ($f->{flags} & $filetypes{ghost}) { + $attrs .= "%ghost "; +- if (S_ISREG($f->{mode})) { +- open(my $fh, '>', $path) or die "$path: $!\n"; +- if ($f->{size} > 0) { +- sysseek($fh, $f->{size} - 1, SEEK_SET); +- syswrite($fh, ' ', 1); +- } +- close($fh); +- utime($f->{mtime}, $f->{mtime}, $path); +- } elsif (S_ISLNK($f->{mode})) { +- symlink($f->{target}, $path); +- } ++# if (S_ISREG($f->{mode})) { ++# open(my $fh, '>', $path) or die "$path: $!\n"; ++# if ($f->{size} > 0) { ++# sysseek($fh, $f->{size} - 1, SEEK_SET); ++# syswrite($fh, ' ', 1); ++# } ++# close($fh); ++# utime($f->{mtime}, $f->{mtime}, $path); ++# } elsif (S_ISLNK($f->{mode})) { ++# symlink($f->{target}, $path); ++# } + } + # mtime of symlinks is also not preserved by cpio + if (S_ISLNK($f->{mode})) { +-- +2.27.GIT + diff --git a/Undefine-__brp_digest_list-in-pesign-repackage.spec..patch b/Undefine-__brp_digest_list-in-pesign-repackage.spec..patch new file mode 100644 index 0000000..7547a5b --- /dev/null +++ b/Undefine-__brp_digest_list-in-pesign-repackage.spec..patch @@ -0,0 +1,26 @@ +From b9006b66251441a10e1714e697cb45c2fb49a410 Mon Sep 17 00:00:00 2001 +From: Roberto Sassu +Date: Tue, 14 Jul 2020 17:11:10 +0200 +Subject: [PATCH] Undefine __brp_digest_list in pesign-repackage.spec.in + +--- + pesign-repackage.spec.in | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/pesign-repackage.spec.in b/pesign-repackage.spec.in +index 90ae17c..034f56c 100644 +--- a/pesign-repackage.spec.in ++++ b/pesign-repackage.spec.in +@@ -174,7 +174,8 @@ popd + --directory=%buildroot "${rpms[@]}" + rpmbuild --define "%%buildroot %buildroot" --define "%%disturl $disturl" \ + --define "%%_builddir $PWD" \ +- --define "%_suse_insert_debug_package %%{nil}" -bb repackage.spec ++ --define "%_suse_insert_debug_package %%{nil}" \ ++ --undefine "%%__brp_digest_list" -bb repackage.spec + + # This is needed by the kernel packages. Ideally, we should not run _any_ brp + # checks, because the RPMs passed them once already +-- +2.27.GIT + diff --git a/pesign-obs-integration.spec b/pesign-obs-integration.spec new file mode 100644 index 0000000..c25810f --- /dev/null +++ b/pesign-obs-integration.spec @@ -0,0 +1,90 @@ +# +# spec file for package pesign-obs-integration +# +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# +# needssslcertforbuild + +%global debug_package %{nil} + +Name: pesign-obs-integration +Summary: Macros and scripts to sign the kernel and bootloader +License: GPL-2.0-only +Group: Development/Tools/Other +Version: 10.1 +Release: 0 +Requires: fipscheck +%if 0%{?suse_version} +Requires: mozilla-nss-tools +%else +Requires: nss-util +%endif +Requires: openssl +%ifarch %ix86 x86_64 ia64 aarch64 %arm +Requires: pesign +%endif +BuildRequires: openssl +Url: http://en.opensuse.org/openSUSE:UEFI_Image_File_Sign_Tools +Source: %{name}_%{version}.tar.gz +Patch0: Require-nss-util-for-building-in-pesign-repackage.sp.patch +Patch1: Apply-correct-mask-in-pesign-gen-repackage-spec.patch +Patch2: Skip-processing-of-ghost-files-as-they-are-not-extra.patch +Patch3: Add-support-for-digest-lists.patch +Patch4: Don-t-set-files-variable-in-brp-99-pesign.patch +Patch5: Disable-building-debug-packages.patch +Patch6: Undefine-__brp_digest_list-in-pesign-repackage.spec..patch +BuildRoot: %{_tmppath}/%{name}-%{version}-build +%if 0%{?suse_version} +# suse-module-tools <= 15.0.10 contains modsign-verify +Requires: suse-module-tools >= 15.0.10 +%endif + +%description +This package provides scripts and rpm macros to automate signing of the +boot loader, kernel and kernel modules in the openSUSE Buildservice. + +%prep +%autosetup -n %{name} -p1 + +%build + +%install + +mkdir -p %buildroot/usr/lib/rpm/brp-suse.d %buildroot/usr/lib/rpm/pesign +install pesign-gen-repackage-spec kernel-sign-file gen-hmac %buildroot/usr/lib/rpm/pesign +install brp-99-pesign %buildroot/usr/lib/rpm/brp-suse.d +# brp-99-compress-vmlinux has nothing to do with signing. It is packaged in +# pesign-obs-integration because this package is already used by the kernel +# build +install brp-99-compress-vmlinux %buildroot/usr/lib/rpm/brp-suse.d +install -m644 pesign-repackage.spec.in %buildroot/usr/lib/rpm/pesign +mkdir -p %buildroot/usr/bin +install modsign-repackage %buildroot/usr/bin/ +install -pm 755 modsign-verify %buildroot/usr/bin/ +if test -e _projectcert.crt; then + openssl x509 -inform PEM -in _projectcert.crt \ + -outform DER -out %buildroot/usr/lib/rpm/pesign/pesign-cert.x509 +else + echo "No buildservice project certificate available" +fi + +%files +%defattr(-,root,root) +%license COPYING +%doc README +/usr/bin/modsign-repackage +/usr/bin/modsign-verify +/usr/lib/rpm/* + +%changelog diff --git a/pesign-obs-integration_10.1.tar.gz b/pesign-obs-integration_10.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..636326d5828288e3bc817fc9a90889e529bbb838 GIT binary patch literal 35869 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 EU;TW7$^ZZW literal 0 HcmV?d00001