gnome-base/libgtop: fix suid handling and reinstall sandbox violation
authorMart Raudsepp <leio@gentoo.org>
Sat, 21 Mar 2020 16:52:05 +0000 (18:52 +0200)
committerMart Raudsepp <leio@gentoo.org>
Sat, 21 Mar 2020 16:52:15 +0000 (18:52 +0200)
Closes: https://bugs.gentoo.org/710628
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
gnome-base/libgtop/Manifest
gnome-base/libgtop/files/2.40.0-sandbox-workaround.patch [new file with mode: 0644]
gnome-base/libgtop/libgtop-2.40.0-r1.ebuild [new file with mode: 0644]

index 27814573056ff39ac75ad18efee7d2dc97b2a78c..5acc8826b569a30bb6d0bd7edd6c14efcfa0b147 100644 (file)
@@ -1,2 +1,3 @@
 DIST libgtop-2.38.0.tar.xz 729700 BLAKE2B 2296741d6c6bd1c9eb17be10e480dabd732e956826c859c176cbc6f8f03259a3b2f2f04d6c55d1c562b082f7e880bb4b7a3f07a66d7f24660085387dce078879 SHA512 96586b7f12a2b63c5ec7f69c51b6e28361a7458f24f20270fc589213bfae43ae99d1e39efb6101d189741bba084c887554f745131e99d8ed90b7db6d53c36e1d
+DIST libgtop-2.40.0-patchset.tar.xz 9700 BLAKE2B 0d7e42b12fe0989df8e5abd1d45578acb97981c05c43aeeea57ba38f526e61aaa9507cd9520a20634f4559b4dfe60efd368d343f2d1ac6803e33bc5dc4832522 SHA512 15b5a81f4ec7a3e921a2c114e8f57dcca194e38849e09080c55a3a16078a8ec706f8efef6d4b22931927e7ab7789596e85054ccd85f37d6dd3206c962734960b
 DIST libgtop-2.40.0.tar.xz 744316 BLAKE2B 3ffd11937e29aacc4b0d5569429ec92835a3743d7cb65336c5c36165b1bb0d817629e73db88c29eff4baf4965791497a8676a897d0de9b394f583fb2cab15b3a SHA512 a9b2135796d7e41c63a6621f672c385d1baeb74d4af3e55c9164aaaae18c66a8a76b09a6ae8b37f89f120092123c38830e0da840c6613a09035ea62339117861
diff --git a/gnome-base/libgtop/files/2.40.0-sandbox-workaround.patch b/gnome-base/libgtop/files/2.40.0-sandbox-workaround.patch
new file mode 100644 (file)
index 0000000..86184f9
--- /dev/null
@@ -0,0 +1,27 @@
+From 9a0067e0fa4636efa37212d7d56376f8ec02a802 Mon Sep 17 00:00:00 2001
+From: Mart Raudsepp <leio@gentoo.org>
+Date: Sat, 21 Mar 2020 18:40:09 +0200
+Subject: [PATCH] build: Workaround chmod on root filesystem sandbox issue
+
+Just delete this again, but keep the server enabling from
+commit ec662d01dac16b81; the suid part has to be handled at
+package level instead.
+---
+ libgtop-sysdeps.m4 | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/libgtop-sysdeps.m4 b/libgtop-sysdeps.m4
+index b363dae0..81aa5350 100644
+--- a/libgtop-sysdeps.m4
++++ b/libgtop-sysdeps.m4
+@@ -36,7 +36,6 @@ AC_DEFUN([GNOME_LIBGTOP_SYSDEPS],[
+         libgtop_need_server=yes
+         libgtop_sysdeps_private_mountlist=yes
+         libgtop_sysdeps_private_fsusage=yes
+-        libgtop_postinstall='chown root $(bindir)/libgtop_server2 && chmod 4755 $(bindir)/libgtop_server2'
+         ;;
+       netbsd*|bsdi*)
+         libgtop_sysdeps_dir=bsd
+-- 
+2.20.1
+
diff --git a/gnome-base/libgtop/libgtop-2.40.0-r1.ebuild b/gnome-base/libgtop/libgtop-2.40.0-r1.ebuild
new file mode 100644 (file)
index 0000000..0e55b90
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+GNOME2_EAUTORECONF="yes"
+inherit flag-o-matic gnome2
+
+DESCRIPTION="A library that provides top functionality to applications"
+HOMEPAGE="https://git.gnome.org/browse/libgtop"
+SRC_URI+=" https://dev.gentoo.org/~leio/distfiles/${P}-patchset.tar.xz"
+
+LICENSE="GPL-2+"
+SLOT="2/11" # libgtop soname version
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
+IUSE="+introspection"
+
+RDEPEND="
+       >=dev-libs/glib-2.26:2
+       introspection? ( >=dev-libs/gobject-introspection-0.6.7:= )
+"
+DEPEND="${RDEPEND}
+       >=dev-util/gtk-doc-am-1.4
+       >=sys-devel/gettext-0.19.6
+       virtual/pkgconfig
+"
+
+PATCHES=(
+       "${WORKDIR}"/patches # patches from master (not stable branch) that seem safe and fix potential eautoreconf problems
+       "${FILESDIR}"/${PV}-sandbox-workaround.patch # requires suid handling in ebuild - https://gitlab.gnome.org/GNOME/libgtop/issues/48
+)
+
+src_configure() {
+       # Add explicit stdc, bug #628256
+       append-cflags "-std=c99"
+
+       gnome2_src_configure \
+               --disable-static \
+               $(use_enable introspection)
+}
+
+src_install() {
+       gnome2_src_install
+       chmod 4755 "${ED}"/usr/bin/libgtop_server2 || die
+}