diff options
Diffstat (limited to 'sys-libs/libnih')
-rw-r--r-- | sys-libs/libnih/Manifest | 4 | ||||
-rw-r--r-- | sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch | 15 | ||||
-rw-r--r-- | sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch | 57 | ||||
-rw-r--r-- | sys-libs/libnih/libnih-1.0.3-r4.ebuild | 12 |
4 files changed, 82 insertions, 6 deletions
diff --git a/sys-libs/libnih/Manifest b/sys-libs/libnih/Manifest index 68b556fea1ad..a11d8dd2b09f 100644 --- a/sys-libs/libnih/Manifest +++ b/sys-libs/libnih/Manifest @@ -1,8 +1,10 @@ +AUX libnih-1.0.3-expat-2.2.5.patch 465 BLAKE2B e260bd17a18d51ae48cae66226a19d06bdb724d72993f484a2cb69cfc202514d259cbd8a3b96516d049011757b8dd760e8ef8c0da17cfd20a842fd142c1f04c5 SHA512 8cc5785c60187c9716f92978fb567de67d80cc302bed26dab34a2dd2e3bd3e52ab8caca033abb2b757ff19a00bf68576d37501f6173e46c001a3c408dabf49a0 AUX libnih-1.0.3-fno-common.patch 267 BLAKE2B 157f1c34239b90ff6a2ab76a0c29f8d8cc563979e4f42405c8bab7f78bb0352a3ec3fa4d02d7b1cb1bc07970f289be7f39ed095cc3b19c6a166a343de02eac64 SHA512 b0e08aca019b9e0c1e2954b67036dac8d07b347fcb33a17163706b788896c5e5d9f95f23f6ffbe5a061f2e0773ed9179f94a68e162386c39df9ceeb8c8c17508 +AUX libnih-1.0.3-glibc-2.24.patch 2176 BLAKE2B b72a328ab9ccc7c56756887d7954c80cdd40daee359ac681c599e3dfd447dffb0919ff1f3b2c86be4e85280b7b243086d59dcac67e387cb4e55b87e08bf717b7 SHA512 92746d83b598eadf96dae490d4f23aee1262e54dda2bba752a13db88b7eb717f8e56d749c4487ca8f034206509f77b027e4ada37895d56f19f14f49ed23f5eb6 AUX libnih-1.0.3-optional-dbus.patch 1113 BLAKE2B b7c30e666fcb641edbb2168058d837f90e0cf0fc8e290ed91fbe2da7de15ab884c4b312aa8f8cffda878010da794d587a73fdc49954d0c551161184e22537c2c SHA512 c46e434a5e162fedbe06408680ab5d08e875ad35aaa058974724565c5b8f1719a56187fb78bbd0cc87729dcde05cfa571678297b8e5d9cfe7e1bb18a3ed78961 AUX libnih-1.0.3-pkg-config.patch 393 BLAKE2B 77ed2af4429624e03e86f00cdb58c015f19c1acc690f2f76efbef4142c5a166be478860b14756dbe5ee99a73824d16d50505098c5d1aa5b89e4df9c99536c793 SHA512 c483a5032fdb727d6ae106e27b7c66b184b5aae19d7ed3ba5796533f444763facdacb5c0e08b2ac4e371056dab6ee0478d26fbc190ea149c9f976accaba1abb8 AUX libnih-1.0.3-signal-race.patch 1432 BLAKE2B b08b7356d2fae755fbe45b2a45b4081c9e1b27ab5aa3a1f71a6945ced5048bc587883de5b9181887a8124f4fc025bcbea4e668ae0e93d5b97e56f67788dd42a8 SHA512 5bd1ff4d7774db62cb6f54721c3b30b5fba1f085a69b28da12f85f448efacb6efd0dd9b9b61801ceb3fc94ca1616fb898bdce33e873f9e57486e44f26c063ed5 DIST libnih-1.0.3.tar.gz 1187624 BLAKE2B f8f9fcdda86eabff39de0b0f92cd1f8c1c0eeb0c86ec4970e5bef1cc0dff0fda83db64975ece93d5d8ede5d0613d5f363dd7456c59fe966feb5e61e5b8913627 SHA512 fce40d2445b28c27b8838631681ca3206a4f053b2dd4fc488fc9ef98bbd3d933e3d62b82cf346be2ef1677f6457f692cf5544cd915a6bb1e5c618f98ffa101b4 EBUILD libnih-1.0.3-r3.ebuild 1499 BLAKE2B 81ebd631c031c5f18ca79c582cd582c21b5d605e65976c48f0a75623ed0469bee634387ef976f2c8910ac2365c9944cd9cbd960836704908a4af9c6e62fb113e SHA512 845a2a47d3e193f3c09e5c0486252da24c246dccd409b56d702725995ee1845e719c14fa3ecba6916d2f986aed9762e6f0776792d64206a68af1314a4885fc3d -EBUILD libnih-1.0.3-r4.ebuild 1511 BLAKE2B eaf4188a00ecc6e4b43a37c448b48aaca019ea8c2bdaaf151957e06b32e086dfbe4464bb17af43c6c1e6c377b32c645bad710151b80ccd0893fe0a6beb315896 SHA512 a8fdf2aeb7be7ce0f43fb8b89ddc1edce7af4e217375f495ca908f520c8cfae352d54ea0e672ba6d99153af1a4167c8f9d4268dea097153c3b5ee0764e28da2d +EBUILD libnih-1.0.3-r4.ebuild 1556 BLAKE2B 79b7a02d29bc6e8b3c853be8addbefc6c48a510fb92fb8069db1681c083077065cdce6fe85c690c333ffd11e340a7759c1ab15ec144fdde2c508a3e2012fda94 SHA512 21c2f46eb9c5271e21b86d9361ec06cc71421142969735dd0c65fac685f63aa336d173ccd9b9d22c3d13ce7b9a41388ea199e47a59b5f336a6b455b54f5ea850 MISC metadata.xml 241 BLAKE2B 02f7c7b912751df8725055416a093647e79dfdbf7f06c9f56246c67f6a1176997454dd3aaaa493ecf7d00d8ae295066e2861ac10bee860a94eef6085437561af SHA512 31e21c0bed310c4a025385f24c5b76f2e588999912fa548ca343947d95ad448b3a1232211cd4427607550c0f5de2e562e2b4e492415b6d207c954a516b811a84 diff --git a/sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch b/sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch new file mode 100644 index 000000000000..02b5e4c0a9e2 --- /dev/null +++ b/sys-libs/libnih/files/libnih-1.0.3-expat-2.2.5.patch @@ -0,0 +1,15 @@ +Description: Adapt test suite to expat 2.2.5 +Author: Axel Beckert <abe@debian.org> +Bug-Debian: https://bugs.debian.org/886416 + +--- a/nih-dbus-tool/tests/test_parse.c ++++ b/nih-dbus-tool/tests/test_parse.c +@@ -7950,7 +7950,7 @@ + + TEST_EQ_P (node, NULL); + +- TEST_FILE_EQ (output, ("test:foo:2:0: " ++ TEST_FILE_EQ (output, ("test:foo:1:36: " + "Invalid object path in <node> name attribute\n")); + TEST_FILE_END (output); + TEST_FILE_RESET (output); diff --git a/sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch b/sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch new file mode 100644 index 000000000000..9b90f3539d7c --- /dev/null +++ b/sys-libs/libnih/files/libnih-1.0.3-glibc-2.24.patch @@ -0,0 +1,57 @@ +With glibc >= 2.24, raise() temporarily blocks signals to make this +function async-signal-safe. This has the consequence that the SIGCONT +signal send by the call to PTRACE_CONT is delivered slightly later. In +turn it means the next ptrace event received is the SIGCONT signal +instead of the expected one. + +Unfortunately the libnih testsuite has very precise expectations, and +do not expect such an event. Fix that by catching it and waiting for the +following event. + +--- libnih-1.0.3.orig/nih/tests/test_child.c ++++ libnih-1.0.3/nih/tests/test_child.c +@@ -360,6 +360,14 @@ test_poll (void) + + waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT); + ++ /* ptrace might catch the SIGCONT emitted with PTRACE_CONT, catch it ++ and wait for the next event. ++ */ ++ if (siginfo.si_code == CLD_TRAPPED && siginfo.si_status == SIGCONT) { ++ assert0 (ptrace (PTRACE_CONT, pid, NULL, NULL)); ++ waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT); ++ } ++ + watch = nih_child_add_watch (NULL, pid, NIH_CHILD_TRAPPED, + my_handler, &watch); + +@@ -420,6 +428,14 @@ test_poll (void) + /* Wait for ptrace to stop the parent (signalling the fork) */ + waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT); + ++ /* ptrace might catch the SIGCONT emitted with PTRACE_CONT, catch it ++ and wait for the next event. ++ */ ++ if (siginfo.si_code == CLD_TRAPPED && siginfo.si_status == SIGCONT) { ++ assert0 (ptrace (PTRACE_CONT, pid, NULL, NULL)); ++ waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT); ++ } ++ + /* Will be able to get the child pid now, we have to do it here + * because we want to wait on it to ensure the test is synchronous; + * otherwise nih_child_poll() could actually eat the child event +@@ -489,6 +505,14 @@ test_poll (void) + + waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT); + ++ /* ptrace might catch the SIGCONT emitted with PTRACE_CONT, catch it ++ and wait for the next event. ++ */ ++ if (siginfo.si_code == CLD_TRAPPED && siginfo.si_status == SIGCONT) { ++ assert0 (ptrace (PTRACE_CONT, pid, NULL, NULL)); ++ waitid (P_PID, pid, &siginfo, WSTOPPED | WNOWAIT); ++ } ++ + watch = nih_child_add_watch (NULL, pid, NIH_CHILD_PTRACE, + my_handler, &watch); + diff --git a/sys-libs/libnih/libnih-1.0.3-r4.ebuild b/sys-libs/libnih/libnih-1.0.3-r4.ebuild index fae185404cc4..c59946540be9 100644 --- a/sys-libs/libnih/libnih-1.0.3-r4.ebuild +++ b/sys-libs/libnih/libnih-1.0.3-r4.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/${PN}/$(ver_cut 1-2)/${PV}/+download/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 ~sparc ~x86" IUSE="+dbus nls static-libs +threads" # The configure phase will check for valgrind headers, and the tests will use @@ -23,10 +23,12 @@ DEPEND="${RDEPEND} sys-devel/gettext virtual/pkgconfig" PATCHES=( - "${FILESDIR}"/${PN}-1.0.3-optional-dbus.patch - "${FILESDIR}"/${PN}-1.0.3-pkg-config.patch - "${FILESDIR}"/${PN}-1.0.3-signal-race.patch - "${FILESDIR}"/${PN}-1.0.3-fno-common.patch + "${FILESDIR}"/${P}-optional-dbus.patch + "${FILESDIR}"/${P}-pkg-config.patch + "${FILESDIR}"/${P}-signal-race.patch + "${FILESDIR}"/${P}-fno-common.patch + "${FILESDIR}"/${P}-expat-2.2.5.patch + "${FILESDIR}"/${P}-glibc-2.24.patch ) src_prepare() { |