Source: argon2 Package: libargon2-1-udeb Version: 0~20190702+dfsg-2 Control: found -1 0~20171227-0.2 Control: found -1 0~20171227-0.3 Control: affects -1 cryptsetup-udeb Severity: important Tags: d-i patch bookworm Hi, While investigating LUKS2 PBKDF benchmark results in d-i with kibi (d-i maintainer, X-Debbugs-Cc'ed) in #1028250 we observed that the memory cost was sometimes set to about 60% of what one gets when doing the same on the final (post d-i) system. (See https://bugs.debian.org/1028250#78 for details.) Further investigation shows that this is because libargon2-1, unlike libargon2-1-udeb, is built with threading support. As hinted at in #1014110, the lack of threading support yields much slower function calls, causing the benchmark operation to settle on lower memory cost after hitting the 2s limit. Building libargon2-1-udeb without threading support was implemented in https://salsa.debian.org/debian/argon2/-/commit/31225912349933993e49f5007e97630b20465c32 because at the time d-i didn't have functional pthread support. But glibc 2.34 removed libpthread as a separate library, so since Bookworm d-i gets pthread support for free. Since binary packages already have ‘Depends: libc6 (>= 2.34)’ it makes sense to simply revert the aforementioned commit. I feel confident about these changes: * For debian/sid, diffoscope(1) tells me the only modification is in libargon2-1-udeb (on amd64 no .deb is modified modulo timestamps and changelog entries), so this is really a d-i-specific issue. * For debian/bookworm, it also fixes (#1014110) since 3122591 inadvertently removed threading support from argon2. (That part was fixed in sid but not in bookworm.) Updated LUKS2 PBKDF benchmark results in d-i can be found at the end of #1028250. Bastian: Given that 1/ the package is orphaned, and 2/ the tight deadline (kibi would like to have the fix in bookworm in the next d-i RC already, which is scheduled for the end of next week), I would normally go ahead and push + dupload, but given you appear to be interested in adopting the package I'll wait a bit before uploading in case you have any concerns or objections. (I plan to upload to sid by the end of the week-end if I don't hear anything, and request a t-p-u upload soon afterwards.) Cheers, -- Guilhem.
diffstat for argon2-0~20190702+dfsg argon2-0~20190702+dfsg changelog | 10 ++++++++++ libargon2-1-udeb.install | 2 ++ rules | 15 --------------- 3 files changed, 12 insertions(+), 15 deletions(-) diff -Nru argon2-0~20190702+dfsg/debian/changelog argon2-0~20190702+dfsg/debian/changelog --- argon2-0~20190702+dfsg/debian/changelog 2023-03-16 00:16:03.000000000 +0100 +++ argon2-0~20190702+dfsg/debian/changelog 2023-04-21 19:48:56.000000000 +0200 @@ -1,3 +1,13 @@ +argon2 (0~20190702+dfsg-3) unstable; urgency=medium + + * QA upload + * d/rules: Restore threading support in libargon2-1-udeb (closes: #-1). + This is beneficial for cryptsetup-udeb, see #1028250. Removing threading + support in libargon2-1-udeb was done for historical reasons no longer + relevant since Debian Bookworm. + + -- Guilhem Moulin <guilhem@debian.org> Fri, 21 Apr 2023 19:48:56 +0200 + argon2 (0~20190702+dfsg-2) unstable; urgency=medium * QA upload diff -Nru argon2-0~20190702+dfsg/debian/libargon2-1-udeb.install argon2-0~20190702+dfsg/debian/libargon2-1-udeb.install --- argon2-0~20190702+dfsg/debian/libargon2-1-udeb.install 1970-01-01 01:00:00.000000000 +0100 +++ argon2-0~20190702+dfsg/debian/libargon2-1-udeb.install 2023-04-21 19:48:56.000000000 +0200 @@ -0,0 +1,2 @@ +#!/usr/bin/dh-exec +libargon2.so.1 => usr/lib/${DEB_HOST_MULTIARCH}/${SONAME} diff -Nru argon2-0~20190702+dfsg/debian/rules argon2-0~20190702+dfsg/debian/rules --- argon2-0~20190702+dfsg/debian/rules 2023-03-16 00:14:34.000000000 +0100 +++ argon2-0~20190702+dfsg/debian/rules 2023-04-21 19:48:56.000000000 +0200 @@ -18,25 +18,10 @@ export DEBPREFIX=0~ export DEBSUFFIX=+dfsg export ARGON2_VERSION=$(subst $(DEBSUFFIX),,$(subst $(DEBPREFIX),,$(DEB_VERSION_UPSTREAM))) -export UDEBLIB=$(SONAME).udeb %: dh $@ -override_dh_auto_build: - dh_auto_build -- NO_THREADS=1 libs - mv $(SONAME) $(UDEBLIB) - $(MAKE) clean - dh_auto_build - -override_dh_install: - dh_install - install -D $(UDEBLIB) debian/$(SOPKG)-udeb/usr/lib/$(DEB_HOST_MULTIARCH)/$(SONAME) - -override_dh_auto_clean: - dh_auto_clean - -rm $(UDEBLIB) - override_dh_auto_test: -$(MAKE) -j1 test
diffstat for argon2-0~20171227 argon2-0~20171227 changelog | 18 ++++++++++++++++++ control | 1 + gbp.conf | 2 +- libargon2-1-udeb.install | 2 ++ rules | 11 ----------- 5 files changed, 22 insertions(+), 12 deletions(-) diff -Nru argon2-0~20171227/debian/changelog argon2-0~20171227/debian/changelog --- argon2-0~20171227/debian/changelog 2022-02-13 10:41:34.000000000 +0100 +++ argon2-0~20171227/debian/changelog 2023-04-21 21:29:33.000000000 +0200 @@ -1,3 +1,21 @@ +argon2 (0~20171227-0.3+deb12u1) bookworm; urgency=medium + + * Non-maintainer upload. + + [ Bastian Germann ] + * Add Breaks on cryptsetup-initramfs (see #1032235) + + [ Guilhem Moulin ] + * d/gbp.conf: Set 'debian-branch = debian/bookworm'. + * d/rules: Restore threading support to libargon2-1-udeb (closes: #-1). + This is beneficial for cryptsetup-udeb, see #1028250. Removing threading + support in libargon2-1-udeb was done for historical reasons no longer + relevant since Debian Bookworm. This also restores threading support to + argon2 which was inadvertently drooped in 0~20171227-0.1 (closes: + #1014110). + + -- Guilhem Moulin <guilhem@debian.org> Fri, 21 Apr 2023 21:29:33 +0200 + argon2 (0~20171227-0.3) unstable; urgency=medium * Non-maintainer upload. diff -Nru argon2-0~20171227/debian/control argon2-0~20171227/debian/control --- argon2-0~20171227/debian/control 2022-02-13 10:41:34.000000000 +0100 +++ argon2-0~20171227/debian/control 2023-04-21 21:29:33.000000000 +0200 @@ -60,6 +60,7 @@ Architecture: any Pre-Depends: ${misc:Pre-Depends} Depends: ${shlibs:Depends}, ${misc:Depends} +Breaks: cryptsetup-initramfs (<<2:2.6.1-2) Multi-Arch: same Description: memory-hard hashing function - runtime library Argon2 is a password-hashing function that can be used to hash passwords diff -Nru argon2-0~20171227/debian/gbp.conf argon2-0~20171227/debian/gbp.conf --- argon2-0~20171227/debian/gbp.conf 2022-02-13 10:41:34.000000000 +0100 +++ argon2-0~20171227/debian/gbp.conf 2023-04-21 21:29:33.000000000 +0200 @@ -1,7 +1,7 @@ [DEFAULT] debian-tag = debian/%(version)s pristine-tar = True -debian-branch = debian/sid +debian-branch = debian/bookworm [buildpackage] upstream-tag = v%(version)s diff -Nru argon2-0~20171227/debian/libargon2-1-udeb.install argon2-0~20171227/debian/libargon2-1-udeb.install --- argon2-0~20171227/debian/libargon2-1-udeb.install 1970-01-01 01:00:00.000000000 +0100 +++ argon2-0~20171227/debian/libargon2-1-udeb.install 2023-04-21 21:29:33.000000000 +0200 @@ -0,0 +1,2 @@ +#!/usr/bin/dh-exec +libargon2.so.1 => usr/lib/${DEB_HOST_MULTIARCH}/${SONAME} diff -Nru argon2-0~20171227/debian/rules argon2-0~20171227/debian/rules --- argon2-0~20171227/debian/rules 2022-02-13 10:41:34.000000000 +0100 +++ argon2-0~20171227/debian/rules 2023-04-21 21:29:33.000000000 +0200 @@ -16,26 +16,15 @@ export SOVER=1 export DEBPREFIX=0~ export UPSTREAMVER=$(subst $(DEBPREFIX),,$(DEB_VERSION_UPSTREAM)) -export UDEBLIB=$(SONAME).udeb %: dh $@ -override_dh_auto_build: - dh_auto_build -- NO_THREADS=1 - mv $(SONAME) $(UDEBLIB) - dh_auto_build - override_dh_install: dh_install sed -i '/^## /d' debian/${PKG}-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libargon2.pc sed -i s/@HOST_MULTIARCH@/$(DEB_HOST_MULTIARCH)/ debian/${PKG}-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libargon2.pc sed -i s/@UPSTREAM_VER@/$(UPSTREAMVER)/ debian/${PKG}-dev/usr/lib/$(DEB_HOST_MULTIARCH)/pkgconfig/libargon2.pc - install -D $(UDEBLIB) debian/$(SOPKG)-udeb/usr/lib/$(DEB_HOST_MULTIARCH)/$(SONAME) - -override_dh_auto_clean: - dh_auto_clean - -rm $(UDEBLIB) override_dh_auto_test: -$(MAKE) -j1 test
Attachment:
signature.asc
Description: PGP signature