summaryrefslogtreecommitdiff
path: root/sys-apps/pmount
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-10 11:34:01 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-10 11:34:01 +0000
commitcc901a8ce7c6bfe97e3b4f048619693d360ae348 (patch)
treec250ff07a4d508fa08b487b616e0ae8aff2f0d8e /sys-apps/pmount
parentc9badf79e4669147edb94182af5776072f2ffaea (diff)
gentoo auto-resync : 10:02:2024 - 11:34:00
Diffstat (limited to 'sys-apps/pmount')
-rw-r--r--sys-apps/pmount/Manifest2
-rw-r--r--sys-apps/pmount/files/pmount-0.9.99_alpha-fix-buggy-realpath-implementation.patch31
-rw-r--r--sys-apps/pmount/pmount-0.9.99_alpha-r8.ebuild93
3 files changed, 126 insertions, 0 deletions
diff --git a/sys-apps/pmount/Manifest b/sys-apps/pmount/Manifest
index 3a6cbeb2ee79..6000b6b6fcd2 100644
--- a/sys-apps/pmount/Manifest
+++ b/sys-apps/pmount/Manifest
@@ -1,9 +1,11 @@
AUX pmount-0.9.19-testsuite-missing-dir.patch 1360 BLAKE2B 3a44bfe3de89169f5666886b9c192e0f530b3a3785c8a64fbfbdbbbc93331a9c74cbc19cab25ebcc0f5e3fb64d23348f1dd8deaf028545d444000a64d6a5b45a SHA512 3bc940550f59d62106c610d7846ddea09cab674b176cd7361848d283b0f19a0fda5573c6bafb99abe99c806651493ed07ac21f92d32f7dc30d0ccb77a4c1928e
AUX pmount-0.9.99_alpha-exfat-support.patch 499 BLAKE2B 11045f138c9b20c03f39760d2da8c36600f1be539b2fdfba6e5ba9f97b953945fed7fd9d127ed0f1874cf9f36efe455c32a726e52bf8274c381da476a64e723d SHA512 d2b0024a73343646d688212749ef4e1b6b01f93e2e5059eb1a94b3e0a84a1c2491551c80d295fa62815e609c5f7c442920cfa832fa74a836904b6cef1048c847
+AUX pmount-0.9.99_alpha-fix-buggy-realpath-implementation.patch 939 BLAKE2B 820cb13fc59db62092fa43c16cbd0c0f631513634c610e535481b7f34f727e7d42881ce36732a857ec5455e999f668a15ddf5c8f3014b4985a05d1412e2434fe SHA512 36f07fd32a4eaf2993d423a1c7ddd6794760dccd274a46daf6d1a7ad1d8c928ccc0689992aa99542d0835c0363abc341f86102f305c6c3edadd86a6b0e76cfbc
AUX pmount-0.9.99_alpha-limits-musl.patch 176 BLAKE2B 34e41d6c1b5e0a13db17ec5341cbc66a95a6e52f0edccace07f067655d7c72fe186203368941c4b5172c32b826e86becca25a50cb7fdde9ffc6d213029887ade SHA512 20d90921827b6bcc89dc8df01c2b83279c334d096b4f17591acf8d042d7813d6e16bcc7b3fa40feddfbc740fdc98d1c16e6e95359af8c3f40496e1ac8c3ab82e
AUX pmount-0.9.99_alpha-locale-regex.patch 753 BLAKE2B a79805f883143f6beea9597ab88059e15ccde83d08ce69625c8c3387b419e46f8a6ea3c3937c17adfdbaeaa4dd5c3f9ad7aef8d67cc5dd406e79dbc250196c1b SHA512 423d52a372c7cdd73206a9001fcc717b50b834023130cc77e4e063ac2b62ae5c84698d127646e3658ae44e3a47f2c77522d007664cf0c4277dc49b47413c8563
AUX pmount-0.9.99_alpha-missing-includes.patch 1522 BLAKE2B d1adc8c74fb67010df912eaa650f6d06fb0dab513edbcce403834b9679cb95c56681f6785bc1a8bdc306335c49339384e912de51550d062ef595733bda77bd97 SHA512 5457a641e5a40c90119d25d835757d7f4ed127cc36838715ddb6d957b83b3dddb5fb0357cfef7fe0b4b6133249476fc585a8d78cda1057debf9576c316df8ddc
AUX pmount.bash-completion 2935 BLAKE2B 8d89d6098764dbbbddcdc45e3aaac377eb71ead5ca0ea3f44b9eda1dbe1573e3cde154d51b9486903c6fe104948af1ad29031837375953239956651efff7dfad SHA512 b57a37afc2a124c6a4f19924a367d03b315e93575d0b152acde06e43c7dcd1b3d5df46c02d2e5ceef35911edb4f96d1d4113fb6d7cd1e9531fd9840c3729f924
DIST pmount_0.9.99-alpha.orig.tar.bz2 364282 BLAKE2B a023d75623374186fb2de07bf1a41b01b2fc2570f9560b8bddec04441ffd083c6a0ece32b53db4e6067d181269f74cb7044f2c60bffece4b0e4c8dba9f1611b5 SHA512 12105674f099afb82302c0960f4f50a4bc75382071940e897d9c65b57a0f4de1fafdaa2a4c05f0fa5cba55453ae0c21376b9891353cad1afa88e5fbd9f63d5e9
EBUILD pmount-0.9.99_alpha-r7.ebuild 2268 BLAKE2B 37a7f6aa3c8ab73ac39b3c226644db0a34c1af064ed9a9049741d5569b1b33709783c79cbf07f44bcae1587b7382333c68063b311c9d28f098e1a5a081a553ff SHA512 0c134102d72173ae0d2f0d3916eb2c8b2b900edb602e5f022ffed4be5f342ec49f30796abe246b69f2088fbcca71c53d95faa397be81a625a21ba0dfb597ad33
+EBUILD pmount-0.9.99_alpha-r8.ebuild 2334 BLAKE2B 046a0789fe86cf3e0e09fec2d977c775c3ff57c39fa956671b04f04333493959464ee19e088f98a3459fc12e03730e8b11c7dc71647c7a479f69ff907a79e406 SHA512 be0bc0aad10ae0e6bbb11880ae10d8db0bdd885329b51b83f314f1904c535d6eef28a9a23a84f315d2a7f3124acaef8b80ef73f8032f906e57230b2bbcbb6313
MISC metadata.xml 242 BLAKE2B cb59d43775ce66631bc52b682a3e9e2ce9df559ab0063bdef9e3f4e0ba56d3da47c085e3bd30cb94ccee4daf14143571ba0f2de5adf709bc9f1fb37503355a48 SHA512 7467737bb177a1e73ce482206e9ddf3b93165e275b29a74d95080ade4b22e7d3388e9ab5a91ffe4f7624e52df18afcd3e4b58be6e9582a1d0f1d1a0a0a442275
diff --git a/sys-apps/pmount/files/pmount-0.9.99_alpha-fix-buggy-realpath-implementation.patch b/sys-apps/pmount/files/pmount-0.9.99_alpha-fix-buggy-realpath-implementation.patch
new file mode 100644
index 000000000000..f1d7f7d4c0fc
--- /dev/null
+++ b/sys-apps/pmount/files/pmount-0.9.99_alpha-fix-buggy-realpath-implementation.patch
@@ -0,0 +1,31 @@
+Fix bug in realpath implementation bundled with pmount which caused it to
+likely fail on paths with several symlinks.
+
+The issue was first noticed by failure in tests:
+Gentoo-Bug: https://bugs.gentoo.org/741810
+--- pmount-0.9.99-alpha/src/realpath.c.orig 2024-01-21 09:19:55.776224329 +0300
++++ pmount-0.9.99-alpha/src/realpath.c 2024-01-21 09:30:46.751233027 +0300
+@@ -128,6 +128,7 @@
+ } else {
+ #ifdef resolve_symlinks /* Richard Gooch dislikes sl resolution */
+ int m;
++ char *old_buf;
+
+ /* Note: readlink doesn't add the null byte. */
+ link_path[n] = '\0';
+@@ -141,12 +142,13 @@
+
+ /* Insert symlink contents into path. */
+ m = strlen(path);
+- if (buf)
+- free(buf);
++ old_buf = buf; /* path might point to buf at this point */
+ buf = xmalloc(m + n + 1);
+ memcpy(buf, link_path, n);
+ memcpy(buf + n, path, m + 1);
+ path = buf;
++ if (old_buf)
++ free(old_buf);
+ #endif
+ }
+ *npath++ = '/';
diff --git a/sys-apps/pmount/pmount-0.9.99_alpha-r8.ebuild b/sys-apps/pmount/pmount-0.9.99_alpha-r8.ebuild
new file mode 100644
index 000000000000..4b0c16d89431
--- /dev/null
+++ b/sys-apps/pmount/pmount-0.9.99_alpha-r8.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1
+
+DESCRIPTION="Policy based mounter that gives the ability to mount removable devices as a user"
+HOMEPAGE="https://launchpad.net/pmount"
+SRC_URI="mirror://debian/pool/main/p/${PN}/${PN}_${PV/_/-}.orig.tar.bz2"
+S="${WORKDIR}"/${P/_/-}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="crypt"
+
+# cryptsetup is executed at runtime only, no libraries used AFAICT
+# but in DEPEND too as it's checked during configure
+RDEPEND="
+ acct-group/plugdev
+ >=sys-apps/util-linux-2.17.2
+ crypt? ( >=sys-fs/cryptsetup-1.0.6-r2 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/intltool
+ sys-devel/gettext"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.19-testsuite-missing-dir.patch
+ "${FILESDIR}"/${P}-locale-regex.patch
+ "${FILESDIR}"/${P}-exfat-support.patch
+ "${FILESDIR}"/${P}-limits-musl.patch
+ "${FILESDIR}"/${P}-missing-includes.patch
+ "${FILESDIR}"/${P}-fix-buggy-realpath-implementation.patch
+)
+
+src_prepare() {
+ # Restore default value from pmount <= 0.9.23 wrt #393633
+ sed -i -e '/^not_physically_logged_allow/s:=.*:= yes:' etc/pmount.conf || die
+
+ cat <<-EOF > po/POTFILES.skip || die
+ src/conffile.c
+ src/configuration.c
+ src/loop.c
+ EOF
+
+ default
+}
+
+src_configure() {
+ econf --disable-hal
+}
+
+src_test() {
+ local testdir=${S}/tests/check_fstab
+
+ ln -s a "${testdir}/b" &&
+ ln -s d "${testdir}/c" &&
+ ln -s c "${testdir}/e" ||
+ die "Unable to create fake symlinks required for testsuite"
+
+ emake check
+}
+
+src_install() {
+ # Must be run SETUID+SETGID, bug #250106
+ exeinto /usr/bin
+ exeopts -m 6710 -g plugdev
+ doexe src/{p,pu}mount
+
+ dodoc AUTHORS ChangeLog TODO
+ doman man/{{p,pu}mount.1,pmount.conf.5}
+
+ insinto /etc
+ doins etc/pmount.{allow,conf}
+
+ keepdir /media #501772
+
+ newbashcomp "${FILESDIR}/${PN}.bash-completion" "${PN}"
+ bashcomp_alias pmount pumount
+}
+
+pkg_postinst() {
+ elog
+ elog "This package has been installed setuid and setgid."
+
+ elog "The permissions are as such that only users that belong to the plugdev"
+ elog "group are allowed to run this. But if a script run by root mounts a"
+ elog "device, members of the plugdev group will have access to it."
+ elog
+ elog "Please add your user to the plugdev group to be able to mount USB drives"
+}