[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1106403: unblock: archivemount/1b-1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
X-Debbugs-Cc: archivemount@packages.debian.org
Control: affects -1 + src:archivemount

Please unblock package archivemount

[ Reason ]
https://qa.debian.org/excuses.php?package=archivemount says
  No tests, superficial or marked flaky
which appears to be because the tests need FUSE
and thus the autopkgtests need isolation-machine
which the runners don't have
which means the tests are SKIPped.

[ Impact ]
This is a targeted fix for archives with files with 7-bit-ASCII names.
archivemount 1a discarded them,
archivemount 1b works around the libarchive API to correctly interpret
them in all-or-the-vast-majority of cases.

[ Tests ]
This passes the automated tests when run directly,
and I've tested the binary package against the originally-reported archive
  https://todo.sr.ht/~nabijaczleweli/archivemount-ng/2#event-416012
as well as other previously-non-functional variants.

[ Risks ]
The code is trivial, leaf package,
this is the currently-endorsed SOP for working around the API.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

[ Other info ]
Don't think so.

unblock archivemount/1b-1
diff -Nru archivemount-1a/archivemount.cpp archivemount-1b/archivemount.cpp
--- archivemount-1a/archivemount.cpp	2024-12-21 16:45:25.000000000 +0100
+++ archivemount-1b/archivemount.cpp	2025-05-14 15:34:44.000000000 +0200
@@ -22,6 +22,7 @@
 #include <archive.h>
 #include <archive_entry.h>
 #include <cinttypes>
+#include <clocale>  // TODO: drop; https://todo.sr.ht/~nabijaczleweli/archivemount-ng/2
 #include <dirent.h>
 #include <errno.h>
 #include <fcntl.h>
@@ -2207,6 +2208,8 @@
 }
 
 int main(int argc, char ** argv) {
+	std::setlocale(LC_ALL, "");  // TODO: drop; https://todo.sr.ht/~nabijaczleweli/archivemount-ng/2
+
 	struct stat st;
 	int oldwd             = -1;
 	struct fuse_args args = FUSE_ARGS_INIT(argc, argv);
diff -Nru archivemount-1a/debian/changelog archivemount-1b/debian/changelog
--- archivemount-1a/debian/changelog	2024-12-21 16:00:13.000000000 +0100
+++ archivemount-1b/debian/changelog	2025-05-14 16:06:03.000000000 +0200
@@ -1,3 +1,10 @@
+archivemount (1b-1) unstable; urgency=medium
+
+  * New upstream version 1b (+ changelog & NEWS)
+    Closes: #1105758
+
+ -- наб <nabijaczleweli@nabijaczleweli.xyz>  Wed, 14 May 2025 16:06:03 +0200
+
 archivemount (1a-1) unstable; urgency=medium
 
   * d/tests/test: shebang /bin/test(?!) -> /bin/sh
diff -Nru archivemount-1a/debian/changelog.upstream archivemount-1b/debian/changelog.upstream
--- archivemount-1a/debian/changelog.upstream	2024-12-21 16:00:13.000000000 +0100
+++ archivemount-1b/debian/changelog.upstream	2025-05-14 16:06:03.000000000 +0200
@@ -1,3 +1,12 @@
+1b              I'm digging on how that sounded
+
+    Fixed:
+      * Files with non-ASCII filenames being discarded
+        worked around by running setlocale(LC_ALL, "") ‒
+        $WHATEVER.UTF-8 will have the highest likelyhood of working
+        (https://todo.sr.ht/~nabijaczleweli/archivemount-ng/2)
+        (Reported-by: ~vitaly-zdanevich)
+
 1a              Can we just lay here and exist
 
     New:
diff -Nru archivemount-1a/debian/NEWS.upstream archivemount-1b/debian/NEWS.upstream
--- archivemount-1a/debian/NEWS.upstream	2024-12-21 16:00:13.000000000 +0100
+++ archivemount-1b/debian/NEWS.upstream	2025-05-14 16:06:03.000000000 +0200
@@ -100,3 +100,61 @@
 
 --hga62tz56aerqtnx--
 
+From nabijaczleweli@nabijaczleweli.xyz Wed May 14 16:04:04 2025
+Date: Wed, 14 May 2025 16:04:04 +0200
+From: =?utf-8?B?0L3QsNCx?= <nabijaczleweli@nabijaczleweli.xyz>
+To: ~nabijaczleweli/archivemount-ng@lists.sr.ht
+Cc: Vitaly Zdanevich <zdanevich.vitaly@ya.ru>
+Subject: archivemount-ng 1b released
+Message-ID: <3rhqkbbnupg55suehuq7x4jimerwo6xbwedfjbkej7g3vvkpse@tarta.nabijaczleweli.xyz>
+MIME-Version: 1.0
+Content-Type: multipart/signed; micalg=pgp-sha512;
+	protocol="application/pgp-signature"; boundary="aqajqkzupn4wajki"
+Content-Disposition: inline
+User-Agent: NeoMutt/20231221-2-4202cf-dirty
+
+
+--aqajqkzupn4wajki
+Content-Type: text/plain; charset=us-ascii
+Content-Disposition: inline
+
+Source tarball (and signature, same as this mail)
+and detailed changelog can be obtained from
+  https://git.sr.ht/~nabijaczleweli/archivemount-ng/refs/1b
+
+This release consists of a targeted work-around
+for libarchive hiding files with non-ASCII names:
+  https://todo.sr.ht/~nabijaczleweli/archivemount-ng/2
+  https://bugs.debian.org/1105758
+
+Still, to get non-ASCII names,
+the locale needs to be configured correctly,
+such that all the filenames could be rendered as text
+AND ALSO be in Unicode I think?
+or the filenames must be /decodable/ as text in the current locale?
+(the LC_ALL=C.UTF-8 family works, but ru_RU.KOI8-R doesn't,
+ even if the filenames only include KOI8-R characters).
+It's not good, but LC_ALL=$whatever.UTF-8 will work for most archives.
+
+--aqajqkzupn4wajki
+Content-Type: application/pgp-signature; name="signature.asc"
+
+-----BEGIN PGP SIGNATURE-----
+
+iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmgkotMACgkQvP0LAY0m
+WPF+eg//b/Z8yX49yiXwNa4+d3Yg2wiobHj3S8MdaeudcrVzw5F0WR7uhYSMRmjd
+LA1Xc6xhH5zyX1J7R7fGL2f3RObgo4O+MR0mwQuevzDe6R0nim/l80BrYWKO9yCo
+JYw8aPBoTDTcBlakMdt0ft4sLK/Vi/RpGKmTtdbW2x3D2h2mpu/AxtlTHBcNb+B8
+FarMVvL5TBvCO/y/fQA9vpjLvTWXdifiwaBtNRSEOQj1dImFYFUO0hcEFVGdSMVh
+5EEG/d8WMp8TUV+gRALVs5QJPXHuSFgChXRE69qsvyr4+cs7qTYRstcBfOnR9jmQ
+YLyuLY5feP0CnPVvzWANJhKLANVP3VBcEPXiwPwxqnHnsGxNM2fBoyCT+E6GoVOa
+jdapLRh7A89DQxoNr19z+YpTODh1tNlrfWW+jv1J1Y/L+SJ83htKahbKhk+QVyry
+6A8Zq9tzAVcUdmIttTz9C8dbiwQO+yaNqLFieHr644Po3x0unOpNoyGY3kV7H0DZ
+1hLNV3knWn4ffNcG/QgjnOK8LtpRy76Q69luZ62++dPdByAvbfG2LQC35yKAlyeD
+77YucTD+LCdqLiydBkErVBTzX0wB9UNKu3qyP2ryLk0qnnYNszlJ36s0XJUkr6Gh
+dqBWz+lMfR2avBeQN2V+W8QYDO8NvG1cetYPHCxKTtIoscTPQAM=
+=eOWH
+-----END PGP SIGNATURE-----
+
+--aqajqkzupn4wajki--
+

Attachment: signature.asc
Description: PGP signature


Reply to: