commit 35b9703588955aa22bc9f252d8704f487db7f77b Author: MSVSphere Packaging Team Date: Fri Oct 25 16:52:16 2024 +0300 import luksmeta-9-25.el10 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ff7c8e0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +SOURCES/luksmeta-9.tar.bz2 diff --git a/.luksmeta.metadata b/.luksmeta.metadata new file mode 100644 index 0000000..0b9a585 --- /dev/null +++ b/.luksmeta.metadata @@ -0,0 +1 @@ +ea7cf9cee7ff08b7fcdd1a4a7d659506ce8c012a SOURCES/luksmeta-9.tar.bz2 diff --git a/SOURCES/Define-log-callback-function-to-use-with-libcryptset.patch b/SOURCES/Define-log-callback-function-to-use-with-libcryptset.patch new file mode 100644 index 0000000..c43f7e2 --- /dev/null +++ b/SOURCES/Define-log-callback-function-to-use-with-libcryptset.patch @@ -0,0 +1,45 @@ +From 70247ce7e47963bfbd6c4cdc584f35ca38ccf66d Mon Sep 17 00:00:00 2001 +From: Sergio Correia +Date: Mon, 11 Nov 2019 18:06:13 -0500 +Subject: [PATCH] Define log callback function to use with libcryptsetup + +Logs from libcryptsetup now go to stderr and this prevents issues like +the one reported in https://bugzilla.redhat.com/show_bug.cgi?id=1770395 +--- + luksmeta.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/luksmeta.c b/luksmeta.c +index a79da82..1c72787 100644 +--- a/luksmeta.c ++++ b/luksmeta.c +@@ -45,6 +45,17 @@ struct options { + int slot; + }; + ++#define LUKSMETA_LIBCRYPTSETUP_LOG_LEVEL CRYPT_LOG_ERROR ++ ++static void ++luksmeta_libcryptsetup_log(int level, const char *msg, void *usrptr) ++{ ++ if (level != LUKSMETA_LIBCRYPTSETUP_LOG_LEVEL) { ++ return; ++ } ++ fprintf(stderr, "%s", msg); ++} ++ + static int + cmd_test(const struct options *opts, struct crypt_device *cd) + { +@@ -485,6 +496,8 @@ main(int argc, char *argv[]) + return EX_IOERR; + } + ++ crypt_set_log_callback(cd, luksmeta_libcryptsetup_log, NULL); ++ + r = crypt_load(cd, NULL, NULL); + if (r != 0) { + fprintf(stderr, "Unable to read LUKSv1 header (%s): %s\n", +-- +2.23.0 + diff --git a/SOURCES/luksmeta-9-relax-layout-assumptions.patch b/SOURCES/luksmeta-9-relax-layout-assumptions.patch new file mode 100644 index 0000000..4722e5e --- /dev/null +++ b/SOURCES/luksmeta-9-relax-layout-assumptions.patch @@ -0,0 +1,148 @@ +From 9c550e0675f9fa8fe58c996660c61eca11b424d1 Mon Sep 17 00:00:00 2001 +From: Christoph Biedl +Date: Mon, 10 Dec 2018 14:25:33 +0100 +Subject: [PATCH] Relax content tests in test suite + +Starting with version 2.0.5, cryptsetup wipes the full LUKS header +and fills unused sections with random data, this was introduced +in commit + + commit c2bce3e93ecee41f661b589ee28f112eb538259e + Author: Milan Broz + Date: Sun Oct 14 13:11:50 2018 +0200 + + Wipe full header areas (including unused) during LUKS format. + +While this is the right thing to do, it breaks luksmeta tests. So +relax them. + +Bug-Debian: https://bugs.debian.org/915256 +Resolves: https://github.com/latchset/luksmeta/issues/6 +--- + test-lm-assumptions.c | 3 ++- + test-lm-big.c | 4 ++-- + test-lm-init.c | 4 ++-- + test-lm-one.c | 4 ++-- + test-lm-two.c | 8 ++++---- + 5 files changed, 12 insertions(+), 11 deletions(-) + +diff --git a/test-lm-assumptions.c b/test-lm-assumptions.c +index d9ff20b..b4f293f 100644 +--- a/test-lm-assumptions.c ++++ b/test-lm-assumptions.c +@@ -28,7 +28,8 @@ main(int argc, char *argv[]) + /* Test the layout state. */ + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- END(1024), /* Rest of the file */ ++ { 1024, 3072, true }, /* Keyslot Area */ ++ { 0, 0 }, + })); + + unlink(filename); +diff --git a/test-lm-big.c b/test-lm-big.c +index 6098e59..eb94d3b 100644 +--- a/test-lm-big.c ++++ b/test-lm-big.c +@@ -111,7 +111,7 @@ main(int argc, char *argv[]) + + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + { offset + 4096, 4096 }, /* luksmeta slot 0 */ + { offset + 8192, 4096 }, /* luksmeta slot 0 (cont) */ +@@ -127,7 +127,7 @@ main(int argc, char *argv[]) + + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + END(offset + 4096), /* Rest of the file */ + })); +diff --git a/test-lm-init.c b/test-lm-init.c +index 2a6cb45..b16d597 100644 +--- a/test-lm-init.c ++++ b/test-lm-init.c +@@ -57,7 +57,7 @@ main(int argc, char *argv[]) + /* Test the layout state. */ + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + END(offset + 4096), /* Rest of the file */ + })); +@@ -106,7 +106,7 @@ main(int argc, char *argv[]) + assert(luksmeta_test(cd) == -ENOENT); + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + END(offset), /* Rest of the file */ + })); + +diff --git a/test-lm-one.c b/test-lm-one.c +index 8deb70a..18613e0 100644 +--- a/test-lm-one.c ++++ b/test-lm-one.c +@@ -49,7 +49,7 @@ main(int argc, char *argv[]) + /* Test the layout state. */ + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + { offset + 4096, 4096 }, /* luksmeta slot 0 */ + END(offset + 8192), /* Rest of the file */ +@@ -68,7 +68,7 @@ main(int argc, char *argv[]) + /* Test the layout state. */ + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + END(offset + 4096), /* Rest of the file */ + })); +diff --git a/test-lm-two.c b/test-lm-two.c +index 78fea5b..9f0b1c5 100644 +--- a/test-lm-two.c ++++ b/test-lm-two.c +@@ -53,7 +53,7 @@ main(int argc, char *argv[]) + + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + { offset + 4096, 4096 }, /* luksmeta slot 0 */ + END(offset + 8192), /* Rest of the file */ +@@ -70,7 +70,7 @@ main(int argc, char *argv[]) + + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + { offset + 4096, 4096 }, /* luksmeta slot 0 */ + { offset + 8192, 4096 }, /* luksmeta slot 1 */ +@@ -88,7 +88,7 @@ main(int argc, char *argv[]) + assert(luksmeta_wipe(cd, 0, UUID0) == 0); + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + { offset + 4096, 4096, true }, /* luksmeta slot 0 */ + { offset + 8192, 4096 }, /* luksmeta slot 1 */ +@@ -99,7 +99,7 @@ main(int argc, char *argv[]) + assert(luksmeta_wipe(cd, 1, UUID1) == 0); + assert(test_layout((range_t[]) { + { 0, 1024 }, /* LUKS header */ +- { 1024, offset - 1024, true }, /* Keyslot Area */ ++ { 1024, 3072, true }, /* Keyslot Area */ + { offset, 4096 }, /* luksmeta header */ + END(offset + 4096), /* Rest of the file */ + })); diff --git a/SOURCES/luksmeta-9-tests.patch b/SOURCES/luksmeta-9-tests.patch new file mode 100644 index 0000000..d64119f --- /dev/null +++ b/SOURCES/luksmeta-9-tests.patch @@ -0,0 +1,26 @@ +From 052c5d53d56f52cba95a569b3f2648b7cd647f1e Mon Sep 17 00:00:00 2001 +From: Nathaniel McCallum +Date: Thu, 9 Aug 2018 15:07:17 -0400 +Subject: [PATCH] Specify LUKSv1 during luksFormat + +This fixes tests on builds of cryptsetup which default to LUKSv2. +--- + test-luksmeta | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/test-luksmeta b/test-luksmeta +index fd17ead..f1e8b2e 100755 +--- a/test-luksmeta ++++ b/test-luksmeta +@@ -11,7 +11,7 @@ function onexit() { + trap 'onexit' EXIT + + truncate -s 4M $tmp +-echo -n foo | cryptsetup luksFormat $tmp - ++echo -n foo | cryptsetup luksFormat --type luks1 $tmp - + + ! ./luksmeta test -d $tmp + +-- +2.17.1 + diff --git a/SPECS/luksmeta.spec b/SPECS/luksmeta.spec new file mode 100644 index 0000000..34d9f6c --- /dev/null +++ b/SPECS/luksmeta.spec @@ -0,0 +1,192 @@ +## START: Set by rpmautospec +## (rpmautospec version 0.6.1) +## RPMAUTOSPEC: autorelease, autochangelog +%define autorelease(e:s:pb:n) %{?-p:0.}%{lua: + release_number = 25; + base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); + print(release_number + base_release_number - 1); +}%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} +## END: Set by rpmautospec + +Name: luksmeta +Version: 9 +Release: %autorelease +Summary: Utility for storing small metadata in the LUKSv1 header + +License: LGPL-2.1-or-later +URL: https://github.com/latchset/%{name} +Source0: https://github.com/latchset/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.bz2 + +Patch01: luksmeta-9-tests.patch +Patch02: luksmeta-9-relax-layout-assumptions.patch +Patch03: Define-log-callback-function-to-use-with-libcryptset.patch + +BuildRequires: gcc +BuildRequires: asciidoc +BuildRequires: pkgconfig +BuildRequires: cryptsetup-devel +BuildRequires: cryptsetup +BuildRequires: make +Requires: lib%{name}%{?_isa} = %{version}-%{release} + +%description +LUKSMeta is a command line utility for storing small portions of metadata in +the LUKSv1 header for use before unlocking the volume. + +%package -n lib%{name} +Summary: Library for storing small metadata in the LUKSv1 header + +%description -n lib%{name} +LUKSMeta is a C library for storing small portions of metadata in the LUKSv1 +header for use before unlocking the volume. + +%package -n lib%{name}-devel +Summary: Development files for libluksmeta +Requires: lib%{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig + +%description -n lib%{name}-devel +This package contains development files for the LUKSMeta library. + +%prep +%autosetup + +%build +%configure +%make_build + +%install +rm -rf %{buildroot} +%make_install +rm -rf %{buildroot}/%{_libdir}/libluksmeta.la + +%check +make %{?_smp_mflags} check + +%ldconfig_scriptlets -n lib%{name} + +%files +%{_bindir}/luksmeta +%{_mandir}/man8/luksmeta.8* + +%files -n lib%{name} +%license COPYING +%{_libdir}/libluksmeta.so.* + +%files -n lib%{name}-devel +%{_includedir}/luksmeta.h +%{_libdir}/libluksmeta.so +%{_libdir}/pkgconfig/luksmeta.pc + +%changelog +* Fri Oct 25 2024 MSVSphere Packaging Team - 9-25 +- Rebuilt for MSVSphere 10 + +## START: Generated by rpmautospec +* Mon Jun 24 2024 Troy Dawson - 9-25 +- Bump release for June 2024 mass rebuild + +* Mon May 27 2024 koncpa - 9-24 +- Enable fmf init for luksmeta + +* Thu May 23 2024 koncpa - 9-23 +- Enable RHEL gating for jose + +* Thu Jan 25 2024 Fedora Release Engineering - 9-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 9-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jul 20 2023 Fedora Release Engineering - 9-16 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Jan 19 2023 Fedora Release Engineering - 9-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Jul 21 2022 Fedora Release Engineering - 9-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 9-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 9-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Apr 06 2021 Timm Bäder - 9-11 +- Use make macro +- https://docs.fedoraproject.org/en-US/packaging-guidelines/#_parallel_make + +* Mon Apr 05 2021 Sergio Correia - 9-10 +- Add cryptsetup as a package required during build time. + +* Tue Jan 26 2021 Fedora Release Engineering - 9-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 9-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jan 29 2020 Fedora Release Engineering - 9-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Dec 31 2019 Sergio Correia - 9-6 +- Define log callback function to use with libcryptsetup + Logs from libcryptsetup now go to stderr and this prevents issues like + the one reported in https://bugzilla.redhat.com/show_bug.cgi?id=1770395 + +* Thu Jul 25 2019 Fedora Release Engineering - 9-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Mon Jun 03 2019 Daniel Kopecek - 9-4 +- Add patch to fix tests on newer kernels + +* Fri Feb 01 2019 Fedora Release Engineering - 9-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Thu Aug 09 2018 Nathaniel McCallum - 9-2 +- Add (upstream) patch to fix tests on LUKSv2-default cryptsetup + +* Thu Aug 09 2018 Nathaniel McCallum - 9-1 +- New upstream release +- Add asciidoc build require to generate man pages + +* Fri Jul 13 2018 Fedora Release Engineering - 8-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Thu Feb 08 2018 Fedora Release Engineering - 8-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Nov 08 2017 Zbigniew Jędrzejewski-Szmek - 8-2 +- Rebuild for cryptsetup-2.0.0 + +* Fri Sep 29 2017 Nathaniel McCallum - 8-1 +- New upstream release + +* Thu Aug 03 2017 Fedora Release Engineering - 7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Jun 24 2017 Nathaniel McCallum - 7-1 +- New upstream release + +* Wed Jun 14 2017 Nathaniel McCallum - 6-1 +- New upstream release + +* Thu Jun 01 2017 Nathaniel McCallum - 5-1 +- New upstream release + +* Tue May 30 2017 Nathaniel McCallum - 4-1 +- New upstream release + +* Fri Feb 10 2017 Fedora Release Engineering - 3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Oct 25 2016 Nathaniel McCallum - 3-1 +- New upstream release + +* Thu Aug 25 2016 Nathaniel McCallum - 2-1 +- First release + +## END: Generated by rpmautospec