This commit is contained in:
Mario Fetka 2013-10-31 09:47:02 +01:00
parent 785ec3de78
commit e7d5b0a814
16 changed files with 3597 additions and 2 deletions

View File

@ -1,6 +1,6 @@
DIST xxe-eval-5_8_0.tar.gz 66877766 SHA256 3fbbc24e3e8964471a5bf4bd77881331c205f6097a92b7b142a3ca828e898428 SHA512 c3266501c10d60bf98d9b246ba60e44f1df715f1a32a4d2b843e4bce3583f755cab5d4c8cc09ab488b1dc4c4fdc5aaeca0968123e8d2100979675786d211e938 WHIRLPOOL 253c9d6d30e046985afdf70cd7647693c2fa90db8f00cbdb75e3698a78ebb296a4c1f444bd622216fb7895f1166c4e04fdd3855dec19d2e6b42fba64bec48c9a
DIST xxe-perso-5_3_0.tar.gz 27324575 SHA256 1d7090f506855b787f160424efe86c66923853b83eaa5d6130d26b0235f04c96 SHA512 011824df5f88de3079181ce7f7e7a0844890e49e28b0fdb32858206d3e649cbeaa162d478f58e0b1c1e7748c78ff16eaf1d9bc692c85824528f060cc97d5fbc3 WHIRLPOOL ffc117399044eadd90f6f56f8761f28189a6d71c66273b8e96d623b9aabd45a7f311382fca556c145afddef41c9d5c17360b3a2af6efa7feebfd5b1af37a2b3a
EBUILD xxe-5.3.0.ebuild 2779 SHA256 7326966ac8cb7d7ecfdb1116b5dcca3d7ead973e025d0db430fe9e0c8b70ddac SHA512 29aa20a27468eca450daa4484065a34c19e3c419d64554080460ffa6003057241fde85cc7390b9d2469ff485a55c77364c05d25b9f023fdbb70a7e70959b68da WHIRLPOOL d1b62c64a3bc62f7bd48c58799928a9421a9529fd7f12fcbb52dbf1058007cf4d45b696942955e67ebaaaaf4e122ffd1af5383c83c4466b43770c44ea1c66db6
EBUILD xxe-5.3.0.ebuild 2783 SHA256 94936aa51a45da2d84b552fd53749b47c613e751f0130cdf7b4a2df97b441f7c SHA512 30889e2d48a11623415b99107fbd44e583ffb9294c6e4aa66ccee676e60de8604122ca6134f48ce3662b4fc468eaf88b2da9d8979f4dc3341aa8cbd401e369bb WHIRLPOOL ab320ecf911e21f42f7c65c7b3d98d4d9df635c016c098fe123eaff33e81f440fb47cad99ef7a254884235d567b6f1c40d052a78276a7f28d45e5c3409d9fdcb
EBUILD xxe-5.8.0.ebuild 2748 SHA256 375397a6d2144337dcacfbfcf80a452162c9e984b0909f57b9affd7f5112fcdc SHA512 cb4f935b94b1a83f703882f24d13450286489c056eba0161eef4880d86135ad22b118e00bbbb77c74bb7fd051c98f8d3aa793fc6b38af24c0e6dc5a56ca65227 WHIRLPOOL 995d50caacc3eb3e2a364838d2046ea555577f25f9cf686df088080d9df761c4205851eebe836f2742d299b73a4b91920fde2dd4b5640088cc9f529a14b2c3da
MISC ChangeLog 2228 SHA256 92ffb9d99526d7ed2e855f4b56d90db652c9051c722f938ab2481b91cf30fea9 SHA512 b8283ec4938ca83f1a44b6da712b58a409754b7af0fdb4e385f9555bf560dd49f2792e6915763a4d3f0e0715643de571148d9b8a112b4057f4a7c37e0a321bcd WHIRLPOOL 47e3436b7465fa067bfea126a4f5124c7d2ee19934ee9e2551d14e5b86edc9fdb94df4fec7e7f6405e5d9a0fe717e36892c72ad1c2dc56a018d91f1e540d8082
MISC metadata.xml 205 SHA256 9fdfc9c91107d94feb8416adc2cec7734fa27084bff83ea859938b3216e028bc SHA512 ef3a39d2cd131cd29451ec2d009484e89b60e8cbeed5fc0f5f899cebb0c5f9867682ce603982e4de32004493944c6ff99a4c797e7ef2441d6049e5a616143a8b WHIRLPOOL 779e2cb116b19389f70acc6d49694358619116f9849f3b8e46f00df4e39b4476424b20990b9dabb4ba16605d1894d6b820eaeb930401d825265bfdca27f6fb96

View File

@ -12,7 +12,7 @@ HOMEPAGE="http://www.xmlmind.com/xmleditor/"
MY_PV=$(replace_all_version_separators '_')
MY_P="${PN}-perso-${MY_PV}"
SRC_URI="http://www.xmlmind.net/xmleditor/_download/${MY_P}.tar.gz"
SRC_URI="http://www.xmlmind.com/archive/xmleditor/${PV}/${MY_P}.tar.gz"
LICENSE="xxe-perso"
# license does not allow redistributing, and they seem to silently update
# distfiles...

685
dev-libs/apr/ChangeLog Normal file
View File

@ -0,0 +1,685 @@
# ChangeLog for dev-libs/apr
# Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/apr/ChangeLog,v 1.188 2013/02/20 22:59:30 zmedico Exp $
20 Feb 2013; Zac Medico <zmedico@gentoo.org> apr-1.4.6-r1.ebuild:
Add ~arm-linux keyword.
29 Dec 2012; Sergey Popov <pinkbyte@gentoo.org> apr-1.4.6-r1.ebuild:
Apply user patches, wrt bug #449048
*apr-1.4.6-r1 (28 Nov 2012)
28 Nov 2012; Christoph Junghans <ottxor@gentoo.org> +apr-1.4.6-r1.ebuild,
+files/apr-1.4.6-mint.patch:
added prefix support
27 Nov 2012; Pacho Ramos <pacho@gentoo.org> metadata.xml:
Drop apache herd as discussed in http://www.gossamer-
threads.com/lists/gentoo/dev/262834
09 May 2012; Alexis Ballier <aballier@gentoo.org> apr-1.4.6.ebuild:
keyword ~amd64-fbsd
*apr-1.4.6 (28 Feb 2012)
28 Feb 2012; Christian Ruppert <idl0r@gentoo.org> +apr-1.4.6.ebuild,
metadata.xml:
Version bump, CVE-2012-0840, bug 403731
11 Nov 2011; Markos Chandras <hwoarang@gentoo.org> -apr-1.4.4.ebuild:
remove old ebuild
11 Nov 2011; Markos Chandras <hwoarang@gentoo.org> apr-1.4.5.ebuild:
Use EAPI=4. Add static-libs USE flag. Patch by Arfrever.
29 Oct 2011; Raúl Porcel <armin76@gentoo.org> apr-1.4.5.ebuild:
alpha/ia64/s390/sh/sparc stable wrt #385859
24 Oct 2011; Markus Meier <maekke@gentoo.org> apr-1.4.5.ebuild:
x86 stable, bug #385859
23 Oct 2011; Markus Meier <maekke@gentoo.org> apr-1.4.5.ebuild:
arm stable, bug #385859
22 Oct 2011; Kacper Kowalik <xarthisius@gentoo.org> apr-1.4.5.ebuild:
ppc/ppc64 stable wrt #385859
19 Oct 2011; Jeroen Roovers <jer@gentoo.org> apr-1.4.5.ebuild:
Stable for HPPA (bug #385859).
19 Oct 2011; Tony Vroon <chainsaw@gentoo.org> apr-1.4.5.ebuild:
Marked stable on AMD64 based on arch testing by Agostino "ago" Sarubbo & Ian
"idella4" Delaney in security bug #385859.
*apr-1.4.5 (07 Jul 2011)
07 Jul 2011; Markos Chandras <hwoarang@gentoo.org> +apr-1.4.5.ebuild:
Version bump. Requested by Arfrever
14 May 2011; Raúl Porcel <armin76@gentoo.org> apr-1.4.4.ebuild:
alpha/arm/ia64/s390/sh/sparc stable wrt #366903
14 May 2011; Kacper Kowalik <xarthisius@gentoo.org> apr-1.4.4.ebuild:
ppc/ppc64 stable wrt #366903
13 May 2011; Jeroen Roovers <jer@gentoo.org> apr-1.4.4.ebuild:
Stable for HPPA (bug #366903).
12 May 2011; Thomas Kahle <tomka@gentoo.org> apr-1.4.4.ebuild:
x86 stable per bug 366903
11 May 2011; Markos Chandras <hwoarang@gentoo.org> apr-1.4.4.ebuild:
Stable on amd64 wrt bug #366903
*apr-1.4.4 (09 May 2011)
09 May 2011; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+apr-1.4.4.ebuild:
Version bump.
*apr-1.4.2-r1 (18 Feb 2011)
18 Feb 2011; Benedikt Böhm <hollow@gentoo.org> +apr-1.4.2-r1.ebuild,
+files/apr_ring_volatile.patch, metadata.xml:
fix UUID support (bug #320845) and gcc 4.5 support (bug #355171)
19 Sep 2010; Benedikt Böhm <hollow@gentoo.org> apr-1.4.2.ebuild:
fix CONFIG_SHELL wrt #335944
01 Aug 2010; Raúl Porcel <armin76@gentoo.org> apr-1.4.2.ebuild:
ia64/s390/sh/sparc stable wrt #322681
25 Jul 2010; Samuli Suominen <ssuominen@gentoo.org> apr-1.4.2.ebuild:
ppc64 stable wrt #322681
25 Jul 2010; Tobias Klausmann <klausman@gentoo.org> apr-1.4.2.ebuild:
Stable on alpha, bug #322681
22 Jul 2010; Markus Meier <maekke@gentoo.org> apr-1.4.2.ebuild:
arm stable, bug #322681
26 Jun 2010; <nixnut@gentoo.org> apr-1.4.2.ebuild:
ppc stable #322681
22 Jun 2010; Jeroen Roovers <jer@gentoo.org> apr-1.4.2.ebuild:
Stable for HPPA (bug #322681).
12 Jun 2010; Pawel Hajdan jr <phajdan.jr@gentoo.org> apr-1.4.2.ebuild:
x86 stable wrt bug #322681
07 Jun 2010; Markos Chandras <hwoarang@gentoo.org> apr-1.4.2.ebuild:
Stable on amd64 wrt bug #322681
02 Jun 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
apr-1.4.2.ebuild:
Properly fix build failure (bug #317527).
02 Jun 2010; Patrick Lauer <patrick@gentoo.org> apr-1.4.2.ebuild:
Fix for compilation failure, #317527. Thanks to Andrew Savchenko for the
patch
*apr-1.4.2 (01 Apr 2010)
01 Apr 2010; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+apr-1.4.2.ebuild:
Version bump (bug #309625).
07 Mar 2010; Benedikt Böhm <hollow@gentoo.org> apr-1.3.8.ebuild,
apr-1.3.9.ebuild:
remove debug USE flag wrt #306651
17 Nov 2009; Brent Baude <ranger@gentoo.org> apr-1.3.9.ebuild:
Marking apr-1.3.9 ppc64 for bug 290319
14 Nov 2009; Raúl Porcel <armin76@gentoo.org> apr-1.3.9.ebuild:
arm/ia64/s390/sh/sparc stable wrt #290319
08 Nov 2009; Tobias Klausmann <klausman@gentoo.org> apr-1.3.9.ebuild:
Stable on alpha, bug #290319
04 Nov 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
apr-1.3.9.ebuild:
Use 'dohtml -r' for compatibility with Doxygen 1.6 (bug #287821).
01 Nov 2009; nixnut <nixnut@gentoo.org> apr-1.3.9.ebuild:
ppc stable #290319
30 Oct 2009; Markus Meier <maekke@gentoo.org> apr-1.3.9.ebuild:
amd64/x86 stable, bug #290319
26 Oct 2009; Jeroen Roovers <jer@gentoo.org> apr-1.3.9.ebuild:
Stable for HPPA (bug #290319).
*apr-1.3.9 (24 Sep 2009)
24 Sep 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+apr-1.3.9.ebuild:
Version bump.
20 Sep 2009; Benedikt Böhm <hollow@gentoo.org> -apr-1.3.5.ebuild,
-apr-1.3.6.ebuild, -apr-1.3.7.ebuild, apr-1.3.8.ebuild:
fix #274246; remove old ebuild
24 Aug 2009; Brent Baude <ranger@gentoo.org> apr-1.3.8.ebuild:
Marking apr-1.3.8 ppc64 for bug 280514
23 Aug 2009; nixnut <nixnut@gentoo.org> apr-1.3.8.ebuild:
ppc stable #280514
14 Aug 2009; Raúl Porcel <armin76@gentoo.org> apr-1.3.8.ebuild:
arm/ia64/s390/sh/sparc stable wrt #280514
11 Aug 2009; Jeroen Roovers <jer@gentoo.org> apr-1.3.8.ebuild:
Stable for HPPA (bug #280514).
10 Aug 2009; Markus Meier <maekke@gentoo.org> apr-1.3.8.ebuild:
x86 stable, bug #280514
10 Aug 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
apr-1.3.8.ebuild, metadata.xml:
Rename "cloexec" USE flag to "older-kernels-compatibility" (bug #280648).
10 Aug 2009; Tobias Klausmann <klausman@gentoo.org> apr-1.3.8.ebuild:
Stable on alpha, bug #280514
10 Aug 2009; Tobias Klausmann <klausman@gentoo.org> ChangeLog:
Stable on alpha, bug #280514
10 Aug 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
apr-1.3.8.ebuild, metadata.xml:
Add "cloexec" USE flag (bug #280648).
07 Aug 2009; Christian Faulhammer <fauli@gentoo.org> apr-1.3.8.ebuild:
revert stable keyword for x86
06 Aug 2009; Markus Meier <maekke@gentoo.org> apr-1.3.8.ebuild:
x86 stable, bug #280514
06 Aug 2009; Alex Legler <a3li@gentoo.org> apr-1.3.8.ebuild:
amd64 stable, security bug 280514.
*apr-1.3.8 (06 Aug 2009)
06 Aug 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
-apr-1.2.11.ebuild, -apr-1.2.12.ebuild, -apr-1.3.0.ebuild,
-apr-1.3.2.ebuild, -apr-1.3.3.ebuild, +apr-1.3.8.ebuild:
Version bump.
*apr-1.3.7 (24 Jul 2009)
24 Jul 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+apr-1.3.7.ebuild:
Version bump.
*apr-1.3.6 (07 Jul 2009)
07 Jul 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+apr-1.3.6.ebuild:
Version bump.
21 Jun 2009; Brent Baude <ranger@gentoo.org> apr-1.3.5.ebuild:
Marking apr-1.3.5 ppc for bug 272260
16 Jun 2009; Brent Baude <ranger@gentoo.org> apr-1.3.5.ebuild:
Marking apr-1.3.5 ppc64 for bug 272260
16 Jun 2009; Raúl Porcel <armin76@gentoo.org> apr-1.3.5.ebuild:
arm/ia64/s390/sh/sparc stable wrt #272260
11 Jun 2009; Tobias Klausmann <klausman@gentoo.org> apr-1.3.5.ebuild:
Stable on alpha, bug #272260
11 Jun 2009; Markus Meier <maekke@gentoo.org> apr-1.3.5.ebuild:
amd64 stable, bug #272260
10 Jun 2009; Christian Faulhammer <fauli@gentoo.org> apr-1.3.5.ebuild:
stable x86, security bug 272260
09 Jun 2009; Jeroen Roovers <jer@gentoo.org> apr-1.3.5.ebuild:
Stable for HPPA (bug #272260).
*apr-1.3.5 (08 Jun 2009)
08 Jun 2009; Arfrever Frehtes Taifersar Arahesis <arfrever@gentoo.org>
+apr-1.3.5.ebuild:
Version bump.
23 Jan 2009; Raúl Porcel <armin76@gentoo.org> apr-1.3.3.ebuild:
arm/ia64/s390/sh stable wrt #246003
18 Jan 2009; Tobias Klausmann <klausman@gentoo.org> apr-1.3.3.ebuild:
Stable on alpha, bug #246003
09 Jan 2009; Ferris McCormick <fmccor@gentoo.org> apr-1.3.3.ebuild:
Sparc stable, Bug #246003.
09 Jan 2009; Brent Baude <ranger@gentoo.org> apr-1.3.3.ebuild:
Marking apr-1.3.3 ppc for bug 246003
07 Jan 2009; Jeroen Roovers <jer@gentoo.org> apr-1.3.3.ebuild:
Stable for HPPA (bug #246003).
07 Jan 2009; Brent Baude <ranger@gentoo.org> apr-1.3.3.ebuild:
Marking apr-1.3.3 ppc64 for bug 246003
04 Jan 2009; Markus Meier <maekke@gentoo.org> apr-1.3.3.ebuild:
amd64/x86 stable, bug #246003
25 Oct 2008; Benedikt Böhm <hollow@gentoo.org> apr-1.3.3.ebuild:
fix typo wrt #236156
29 Aug 2008; Benedikt Böhm <hollow@gentoo.org> apr-1.3.3.ebuild:
defaulting to USE=urandom wrt #232951
*apr-1.3.3 (29 Aug 2008)
29 Aug 2008; Benedikt Böhm <hollow@gentoo.org> +apr-1.3.3.ebuild:
version bump wrt #235938
16 Aug 2008; Jeroen Roovers <jer@gentoo.org> apr-1.3.2.ebuild:
Stable for HPPA (bug #232671).
08 Aug 2008; nixnut <nixnut@gentoo.org> apr-1.3.2.ebuild:
Stable on ppc wrt bug 232671
08 Aug 2008; Markus Rothe <corsair@gentoo.org> apr-1.3.2.ebuild:
Stable on ppc64; bug #232671
08 Aug 2008; Raúl Porcel <armin76@gentoo.org> apr-1.3.2.ebuild:
alpha/ia64/sparc/x86 stable wrt #232671
07 Aug 2008; Thomas Anderson <gentoofan23@gentoo.org> apr-1.3.2.ebuild:
stable amd64, bug 232671
06 Aug 2008; Ulrich Mueller <ulm@gentoo.org> metadata.xml:
Add USE flag description to metadata wrt GLEP 56.
23 Jun 2008; Benedikt Böhm <hollow@gentoo.org> apr-1.3.2.ebuild:
remove unused ipv6 USE flag
*apr-1.3.2 (23 Jun 2008)
23 Jun 2008; Benedikt Böhm <hollow@gentoo.org> +apr-1.3.2.ebuild:
version bump wrt #228953
*apr-1.3.0 (11 Jun 2008)
11 Jun 2008; Benedikt Böhm <hollow@gentoo.org> +apr-1.3.0.ebuild:
version bump wrt #225783
01 Jun 2008; Benedikt Böhm <hollow@gentoo.org> apr-1.2.11.ebuild,
apr-1.2.12.ebuild:
fix #221653
28 Jan 2008; Benedikt Böhm <hollow@gentoo.org>
-files/apr-0.9.12-linking.patch, -apr-0.9.12.ebuild, -apr-0.9.13.ebuild:
remove apr-0 wrt #203578
*apr-1.2.12 (15 Dec 2007)
15 Dec 2007; Benedikt Böhm <hollow@gentoo.org> -apr-1.2.8.ebuild,
-apr-1.2.9.ebuild, +apr-1.2.12.ebuild:
version bump; #200947
16 Nov 2007; nixnut <nixnut@gentoo.org> apr-1.2.11.ebuild:
Stable on ppc wrt bug 198866
16 Nov 2007; Raúl Porcel <armin76@gentoo.org> apr-1.2.11.ebuild:
alpha/ia64 stable wrt #198866
15 Nov 2007; Steve Dibb <beandog@gentoo.org> apr-1.2.11.ebuild:
amd64 stable, bug 198866
13 Nov 2007; Dawid Węgliński <cla@gentoo.org> apr-1.2.11.ebuild:
Stable on x86 (bug #198866)
13 Nov 2007; Markus Rothe <corsair@gentoo.org> apr-1.2.11.ebuild:
Stable on ppc64; bug #198866
13 Nov 2007; Jeroen Roovers <jer@gentoo.org> apr-1.2.11.ebuild:
Stable for HPPA (bug #198866).
12 Nov 2007; Ferris McCormick <fmccor@gentoo.org> apr-1.2.11.ebuild:
Sparc stable --- Bug #198866 --- Good for two months.
09 Sep 2007; Benedikt Böhm <hollow@gentoo.org> apr-1.2.11.ebuild:
fix #188485
*apr-1.2.11 (08 Sep 2007)
08 Sep 2007; Benedikt Böhm <hollow@gentoo.org> +apr-1.2.11.ebuild:
version bump; #191733
31 Jul 2007; Christian Heim <phreak@gentoo.org> apr-1.2.9.ebuild:
The version bump wasn't designed to go straight to stable.
*apr-1.2.9 (30 Jul 2007)
30 Jul 2007; Benedikt Böhm <hollow@gentoo.org> +apr-1.2.9.ebuild:
version bump
27 Jun 2007; Lars Weiler <pylon@gentoo.org> apr-1.2.8.ebuild:
Stable on ppc; bug #178264.
27 Jun 2007; Jeroen Roovers <jer@gentoo.org> apr-1.2.8.ebuild:
Stable for HPPA (bug #178264).
15 Jun 2007; Raúl Porcel <armin76@gentoo.org> apr-1.2.8.ebuild:
alpha stable wrt #178264
13 Jun 2007; Gustavo Zacarias <gustavoz@gentoo.org> apr-1.2.8.ebuild:
Stable on sparc wrt #178264
21 Apr 2007; Raúl Porcel <armin76@gentoo.org> apr-1.2.8.ebuild:
ia64 stable
15 Apr 2007; Markus Rothe <corsair@gentoo.org> apr-1.2.8.ebuild:
Stable on ppc64
12 Apr 2007; Christian Faulhammer <opfer@gentoo.org> apr-1.2.8.ebuild:
stable amd64, bug 168287
11 Apr 2007; Christian Heim <phreak@gentoo.org> apr-1.2.8.ebuild:
Fix WANT_AUTO*, according to #172978.
03 Mar 2007; Marius Mauch <genone@gentoo.org> apr-0.9.12.ebuild,
apr-0.9.13.ebuild:
Replacing einfo with elog
25 Feb 2007; Christian Faulhammer <opfer@gentoo.org> apr-1.2.8.ebuild:
stable x86; bug 168287
29 Jan 2007; Christian Heim <phreak@gentoo.org> apr-0.9.13.ebuild:
Reverting the KEYWORDS to ~arch, accidently commited straight to arch.
*apr-0.9.13 (28 Jan 2007)
28 Jan 2007; Christian Heim <phreak@gentoo.org> +apr-0.9.13.ebuild:
Version bump, new upstream version. Cleaning up the ebuild a bit.
28 Jan 2007; Luca Longinotti <chtekk@gentoo.org> metadata.xml,
-apr-0.9.6-r3.ebuild, -apr-0.9.6-r4.ebuild, -apr-0.9.7.ebuild,
-apr-1.2.2.ebuild, -apr-1.2.7.ebuild, -apr-1.2.7-r1.ebuild,
-apr-1.2.7-r2.ebuild, -apr-1.2.7-r3.ebuild:
Remove redundant versions.
*apr-1.2.8 (21 Jan 2007)
21 Jan 2007; Christian Heim <phreak@gentoo.org> +apr-1.2.8.ebuild:
Version bump (thanks to Conrad Kostecki <ConiKost at gmx.de> in #114232).
08 Jan 2007; Christian Heim <phreak@gentoo.org> apr-1.2.7-r1.ebuild,
apr-1.2.7-r2.ebuild, apr-1.2.7-r3.ebuild:
Setting WANT_AUTOCONF to shutup #161027.
18 Oct 2006; Roy Marples <uberlord@gentoo.org> apr-0.9.12.ebuild:
Added ~sparc-fbsd keyword.
18 Oct 2006; Roy Marples <uberlord@gentoo.org> apr-1.2.7-r3.ebuild:
Added ~sparc-fbsd keyword.
15 Oct 2006; Michael Stewart <vericgar@gentoo.org> apr-0.9.12.ebuild,
apr-1.2.7-r3.ebuild:
Remove apr.exp as it's not used and causes collisions between SLOTs
10 Sep 2006; Javier Villavicencio <the_paya@gentoo.org>
apr-1.2.7-r3.ebuild:
Add ~x86-fbsd keyword.
05 Sep 2006; Joshua Kinard <kumba@gentoo.org> apr-0.9.12.ebuild:
Marked stable on mips.
29 Jul 2006; Bryan Østergaard <kloeri@gentoo.org> apr-0.9.12.ebuild:
Stable on alpha.
*apr-1.2.7-r3 (07 Jul 2006)
07 Jul 2006; Michael Stewart <vericgar@gentoo.org>
+files/config.layout.patch, +apr-1.2.7-r3.ebuild:
Use a config.layout instead of command line options to work around bug 139033.
28 Jun 2006; Tobias Scherbaum <dertobi123@gentoo.org> apr-0.9.12.ebuild:
ppc stable, #138011
28 Jun 2006; Joshua Jackson <tsunam@gentoo.org> apr-0.9.12.ebuild:
Stable x86; buf #138011
27 Jun 2006; Marcus D. Hanwell <cryos@gentoo.org> apr-0.9.12.ebuild:
Marked stable on amd64, bug 138011.
27 Jun 2006; Guy Martin <gmsoft@gentoo.org> apr-0.9.12.ebuild:
Stable on hppa.
26 Jun 2006; Markus Rothe <corsair@gentoo.org> apr-0.9.12.ebuild:
Stable on ppc64; bug #138011
26 Jun 2006; Gustavo Zacarias <gustavoz@gentoo.org> apr-0.9.12.ebuild:
Stable on sparc wrt #138011
*apr-1.2.7-r2 (07 Jun 2006)
07 Jun 2006; Michael Stewart <vericgar@gentoo.org> +apr-1.2.7-r2.ebuild:
Always enable ipv6. Fixes bug 123320.
06 Jun 2006; Michael Stewart <vericgar@gentoo.org> apr-1.2.7.ebuild:
Remove as-needed filtering
05 Jun 2006; Michael Stewart <vericgar@gentoo.org>
+files/apr-0.9.12-linking.patch, apr-0.9.12.ebuild:
Add patch to allow correct linking with --as-needed
04 Jun 2006; Michael Stewart <vericgar@gentoo.org> apr-1.2.7-r1.ebuild:
Remove hardcoding of .m4 files from configure.in. Fixes bug 135463
*apr-1.2.7-r1 (26 May 2006)
26 May 2006; Michael Stewart <vericgar@gentoo.org> +apr-1.2.7-r1.ebuild:
Use the system's libtool instead of the bundled libtool. Fixes bug 81260
Note that some software that hardcodes the APR libtool location (such as
Apache) may need to be recompiled.
18 May 2006; Michael Stewart <vericgar@gentoo.org> apr-0.9.12.ebuild,
apr-1.2.7.ebuild:
Fix sem_open related sandbox violations. Resolves bug 133573.
*apr-0.9.12 (16 Apr 2006)
16 Apr 2006; Michael Stewart <vericgar@gentoo.org> +apr-0.9.12.ebuild:
Version bump
*apr-1.2.7 (16 Apr 2006)
16 Apr 2006; Michael Stewart <vericgar@gentoo.org> +apr-1.2.7.ebuild:
Version bump in preperation for the next version of apache 2.2.x
30 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> apr-0.9.7.ebuild:
Add ~x86-fbsd keyword.
*apr-1.2.2 (15 Feb 2006)
15 Feb 2006; Michael Stewart <vericgar@gentoo.org> +apr-1.2.2.ebuild:
New version for apache 2.2
15 Jan 2006; Marcus D. Hanwell <cryos@gentoo.org> apr-0.9.7.ebuild:
Stable on amd64, bug 117835.
13 Jan 2006; Tobias Scherbaum <dertobi123@gentoo.org> apr-0.9.7.ebuild:
ppc stable, bug #117835
12 Jan 2006; Markus Rothe <corsair@gentoo.org> apr-0.9.7.ebuild:
Stable on ppc64; bug #117835
10 Jan 2006; Gustavo Zacarias <gustavoz@gentoo.org> apr-0.9.7.ebuild:
Stable on sparc wrt #117835
09 Jan 2006; Bryan Østergaard <kloeri@gentoo.org apr-0.9.7.ebuild:
Stable on x86, alpha and ia64, bug 117835.
*apr-0.9.7 (22 Oct 2005)
22 Oct 2005; Michael Stewart <vericgar@gentoo.org> +apr-0.9.7.ebuild:
Version Bump
21 Oct 2005; Aaron Walker <ka0ttic@gentoo.org> apr-0.9.6-r3.ebuild:
Stable on mips.
10 Oct 2005; Danny van Dyk <kugelfang@gentoo.org> apr-0.9.6-r4.ebuild:
Marked ~ppc-macos.
29 Sep 2005; MATSUU Takuto <matsuu@gentoo.org> apr-0.9.6-r3.ebuild:
Stable on sh.
19 Sep 2005; Michael Hanselmann <hansmi@gentoo.org> apr-0.9.6-r3.ebuild:
Stable on hppa and ppc.
18 Sep 2005; Marcus D. Hanwell <cryos@gentoo.org> apr-0.9.6-r3.ebuild:
Stable on amd64, bug 105516.
18 Sep 2005; Jason Wever <weeve@gentoo.org> apr-0.9.6-r3.ebuild:
Added ~sparc keyword wrt bug #105516.
18 Sep 2005; Michael Stewart <vericgar@gentoo.org> -apr-0.9.5.ebuild,
-apr-0.9.5-r1.ebuild, -apr-0.9.5-r2.ebuild, -apr-0.9.5-r3.ebuild,
-apr-0.9.6.ebuild, -apr-0.9.6-r1.ebuild, -apr-0.9.6-r2.ebuild:
Removing old revisions that use broken LFS-support
*apr-0.9.6-r4 (17 Sep 2005)
17 Sep 2005; Michael Stewart <vericgar@gentoo.org> +apr-0.9.6-r4.ebuild:
Added support for using /dev/urandom instead of /dev/random if the urandom
USE-flag is set. Fixes bug 102587
17 Sep 2005; Aron Griffis <agriffis@gentoo.org> apr-0.9.6-r3.ebuild:
Mark 0.9.6-r3 stable on ia64
11 Sep 2005; Markus Rothe <corsair@gentoo.org> apr-0.9.6-r3.ebuild:
Stable on ppc64
10 Sep 2005; Aron Griffis <agriffis@gentoo.org> apr-0.9.6-r3.ebuild:
Mark 0.9.6-r3 stable on alpha
10 Sep 2005; Michael Stewart <vericgar@gentoo.org> apr-0.9.6-r3.ebuild:
Stable on x86
10 Sep 2005; Aron Griffis <agriffis@gentoo.org> apr-0.9.5.ebuild:
Mark 0.9.5 stable on alpha
17 Jul 2005; Kito <kito@gentoo.org> apr-1.1.1.ebuild:
~ppc-macos Keyword
13 Jul 2005; bret curtis <psi29a@gentoo.org> apr-1.1.1.ebuild apr-0.9.6-r3:
added ~mips
10 May 2005; Bret Curtis <psi29a@gentoo.org> apr-0.9.5.ebuild:
marked for testing, ~mips
*apr-0.9.6-r3 (09 May 2005)
*apr-0.9.5-r3 (09 May 2005)
09 May 2005; Elfyn McBratney <beu@gentoo.org> +apr-0.9.5-r3.ebuild,
+apr-0.9.6-r3.ebuild:
Rev bumps that remove LFS support from APR (has caused too many issues for
mid-release introduction). The Apache tool-stack (net-www/apache,
devs-libs/apr (this package) and dev-libs/apr-util) will need to be rebuilt
once emerging this update.
*apr-1.1.1 (10 Apr 2005)
10 Apr 2005; Christian Parpart <trapni@gentoo.org> +apr-1.1.1.ebuild:
adding apr-1 (1.1.1) ebuilds to the series of apr versions which is the base
requirement for forthcoming apache httpd 2.1.x series ;)
31 Mar 2005; Aron Griffis <agriffis@gentoo.org> apr-0.9.5.ebuild:
stable on ia64
21 Mar 2005; Elfyn McBratney <beu@gentoo.org> apr-0.9.5-r2.ebuild,
apr-0.9.6-r2.ebuild:
Add elibtoolize call for bug #77455.
*apr-0.9.6-r2 (14 Mar 2005)
14 Mar 2005; Elfyn McBratney <beu@gentoo.org> +apr-0.9.5-r2.ebuild,
+apr-0.9.6-r2.ebuild:
Rev bumps which specify which random device node (--with-devrandom) to use.
These two are hard masked in case this changes breaks stuff.
14 Mar 2005; Elfyn McBratney <beu@gentoo.org> apr-0.9.5-r1.ebuild,
apr-0.9.5.ebuild:
Drop extranous 'ipv6' arg to use_enable.
05 Mar 2005; Markus Rothe <corsair@gentoo.org> apr-0.9.5.ebuild:
Stable on ppc64
*apr-0.9.6-r1 (05 Mar 2005)
05 Mar 2005; Elfyn McBratney <beu@gentoo.org> +apr-0.9.5-r1.ebuild,
+apr-0.9.6-r1.ebuild:
LFS-enabled apr breaks Apache on sparc; disabling until fixed.
03 Mar 2005; Elfyn McBratney <beu@gentoo.org> -apr-0.9.2.ebuild,
-apr-0.9.4.ebuild:
Remove old versions.
*apr-0.9.6 (02 Mar 2005)
02 Mar 2005; Elfyn McBratney <beu@gentoo.org> +apr-0.9.6.ebuild:
Version bump.
28 Feb 2005; Jeremy Huddleston <eradicator@gentoo.org> apr-0.9.5.ebuild:
Killed einstall usage. Back to using econf to fix multilib problems.
20 Feb 2005; Aron Griffis <agriffis@gentoo.org> apr-0.9.5.ebuild:
add ~ia64 #77455
05 Feb 2005; Bryan Østergaard <kloeri@gentoo.org> apr-0.9.5.ebuild:
~alpha keyword, bug 77455.
28 Jan 2005; Michael Hanselmann <hansmi@gentoo.org> apr-0.9.5.ebuild:
Added to ~ppc.
11 Jan 2005; Mike Doty <kingtaco@gentoo.org> apr-0.9.5.ebuild:
~amd64 keyword added, bug 77455
11 Jan 2005; Guy Martin <gmsoft@gentoo.org> apr-0.9.5.ebuild:
Added ~hppa to KEYWORDS.
11 Jan 2005; Markus Rothe <corsair@gentoo.org> apr-0.9.5.ebuild:
Added ~ppc64 to KEYWORDS
10 Jan 2005; Jason Wever <weeve@gentoo.org> apr-0.9.5.ebuild:
Added ~sparc keyword wrt bug #77455.
*apr-0.9.5 (08 Jan 2005)
08 Jan 2005; Michael Stewart <vericgar@gentoo.org> +metadata.xml,
+apr-0.9.5.ebuild:
Apache herd package refresh
22 Jul 2004; David Holm <dholm@gentoo.org> apr-0.9.4.ebuild:
Added to ~ppc.
20 Apr 2004; Daniel Black <dragonheart@gentoo.org> apr-0.9.2.ebuild:
QA - removed runtime dependance on autoconf and automake. More dependancy work
required
16 Apr 2004; Jason Wever <weeve@gentoo.org> apr-0.9.4.ebuild:
Added ~sparc keyword.
14 Mar 2004; Michael Sterrett <mr_bones_@gentoo.org> apr-0.9.2.ebuild,
apr-0.9.4.ebuild:
Don't assign default to S; header fix
09 Feb 2004; Dylan Carlson <absinthe@gentoo.org> apr-0.9.4.ebuild:
added amd64 keyword.
*apr-0.9.4 (13 Oct 2003)
13 Oct 2003; Martin Holzer <mholzer@gentoo.org> apr-0.9.4.ebuild:
Version bumped. Ebuild submitted by
Hattya <hattya@inter7.jp> in #30810.
*apr-0.9.2 (29 Mar 2003)
29 Mar 2003; Dylan Carlson <absinthe@gentoo.org> apr-0.9.2.ebuild:
Initial import.

12
dev-libs/apr/Manifest Normal file
View File

@ -0,0 +1,12 @@
AUX apr-1.4.5-xattr-build-1.patch 5932 SHA256 f1d4cfe011c0e0e507f5bda965f78cbe2884249b06f231d8c7b7252be49ab0ff SHA512 eab5ca3b60feffb359b03a2d5a396a4c3533ffe1148abf9e250b76c2740631f91c990e008775ff9074139015d835d1f93820dd3cfc434c0f4a8f3daf7858facf WHIRLPOOL 26589926dd6a3120a5e9a9207e1aa43c69758be36fd007065fd2e7adfd3dce944ae44d7db35d3351975b90c3b3fbf0b4121949ff3ad129f6858d8be89baefccf
AUX apr-1.4.6-mint.patch 1200 SHA256 d1d8217efbf87f136ece47d06e224f23a585b1634d70a911c88778b8503b3d71 SHA512 531961bcd79850a4b6af59288a6aeb489632d64fd4a1bed80450d48e48f5ff3ea7c0d1e05d80a591c2d8d1a2c6f0c859ef8500b1f01614d83df74034782fd7bd WHIRLPOOL 52c98387ed240f94099f4587734b048fdc6899309d5b4b2f5b237fc7621ef5aa81f1a8b6602e7589ec55fbf391104db3e4451e62dbabdc55133530830dddecf1
AUX apr-xattr-build.patch 5530 SHA256 ccda7d84d0a4c95507e82bcbf157dca91e420e7825c80cbd60894d2b047b2b1d SHA512 a7f8d2791222190302270f0a34412799f572e0230cc7687b2858c9143202b991da8c3f2f917a33016407092027797d79fa219535d8182236e33c387f6dd23b20 WHIRLPOOL 86320f68430097dac6cf84bf5a5acc2da61be639b79c54309ab3d8cc57b3b60fc8f8c79c1750a81636c3c1ceb428fbe9d66f274c2b26f2e260a7568b3cda7f8b
AUX apr-xattr-headers.patch 13791 SHA256 0d7068d1738dd2bedd8fffe7e95f0089e70b9730a81d35b2688c50e506f718ee SHA512 4ea5e37c7bfab2d44e9bdaf6cc32999e9f522a3516d2a284526f0198353636afc83bf62bd51eab4795cafa574dd59d8e1bf035c29a594a490f36c99696cebb04 WHIRLPOOL 54be7601b4b4325c4964ad3b6a33e8d2f35205631e3ac5f601c5e36d9f11143609171dc741d7ff98b24d59a285f3b3f33f109427e9c7419bf02c407fde8aa017
AUX apr-xattr-impl.patch 38289 SHA256 3998baaad273f88bf3d82cf6522d7da88a5d03ffbc75bd5c781e1142b010fa13 SHA512 11c7773593808499d890d5ceaf813bed0ac0b213efc2dba4d9e3fb2866d930e5d43aab08ac45ee7c69327345afda25e93275274a05d8427e700966b8e7ef672d WHIRLPOOL 374652f300b307cc669dd9a0d7804a39cc3cbfd82c43121505829d6a8600a23abacc6a2fadcade18db8ca5e7d46a1d63b59f481b15c31934eb5eec80883c1b1a
AUX apr-xattr-tests.patch 17458 SHA256 14b0b7750c795734a1e71688e084c08e8af6db83acab0f8b135f08cfa92c080e SHA512 3482bc272225072121ab902f1fb95a2ba15ce38c37449ee78ac0e9450df60e1a292a02613b7d55060233dab214d88dc615e72b876fb68d3d1c8f9cb140178684 WHIRLPOOL 1246086a29aebc1faf745a6bff93ca79d7f6ee99dea8710ce87f0cc53711227d25e2c3c118ffe2da498fc416cb507e98e76ac1a350e93c08e380c3be1809516a
AUX apxattr.c 5948 SHA256 2e758eb18056cc619acaea550c8fd724f90d39f4b3fe29ab801d3eeaccf7164c SHA512 bf767cd448d6e7b4e945e43b5843825e0a7f8b0475a0fb0cd34d0844b17d19e37a5ac47ba8afa4b095b3aa39a6e1a34b1f81a91313768a2fabd63d135bdad552 WHIRLPOOL 1af5fcd3e3d2a1527be08f6105d3d554c6c57944f8740ba6fb1bebe8c4d2dde0be153af1e41a0ff7d7afcf29948e9b70f63726f967067b3adb233d85d5d158e3
AUX config.layout.patch 818 SHA256 eeacaf654f23084e842bff02b97c083a8da5b5c056fd086166ba2d250edf3181 SHA512 4ff9a98c2a799c714d3b4c2cb42dd9c1cd6aa52b465570939710c0ac5800ea8806a9c38500d83b09a2bf61984d57c53ae934886d9f25e3111d721ef282a7d91e WHIRLPOOL a03f7e889a416ada14c62ca99727e2c8cba403972785c7d2282c1c914abe9c38a94b98489ec840b3c1e2cfc2af87ee08ac724d0434e8198596f7d2b44907d3db
DIST apr-1.4.6.tar.bz2 785724 SHA256 9b635e60feb163e6fc6c375721f71f44d7e26d6b9cd52f6b86b04e65d2481cbc SHA512 1842e2dfc9315d9dd39acd4545d80fad45dcb419c9bfb4423453ca8727aa78d864fd48f43e68a696345b4c0ee2e9eb50b3eddd96d3eaf6ed3c5d48211831b8e4 WHIRLPOOL 4d8a67dace2b7e1c41c778ad3d34f4a479f9885c0b11cd3c4be412da4e2e006765802f8756a52d97fbfe4e962302274fe0e67cd1b8ac1a673044e79fbec5dc6e
EBUILD apr-1.4.6-r1.ebuild 3812 SHA256 77bd785fcac4701619964dd3a591f1425883c8cf72009eb6b57c4e2fc26d87f2 SHA512 3a6164026d9c0bc993204b27c6523c3ede68ca6db0b788f774b8a60dc7d35c8b709c49d6a47f0ddb509c5de907f7e7f7e534a4fcba7978a18ad662fc4c24014a WHIRLPOOL 410dd3764ba610ff21e4dacb3451cd8dfe1c565d4ad81348099ad52c2d7eb61594ed281b2f50b8feb9f03da5c7dad6969830d1350e6b3a52c17947129671385d
MISC ChangeLog 22587 SHA256 9e25a38817bfd2ddf73e7c58b0b5c810a181b979d56f3f6a02e48d10efd163b9 SHA512 22a3c518acc3d66e3747f29420002a87ab192262a32b9323837303595e7e75df84e5e6e7940155bd033a832ddf7b860050184373b857f47228d2534c671d3263 WHIRLPOOL 268dd78f0b96b2bded481955dd392d979b0772604a71e88482d2ce45286e152e2baaddcf7d982b611238f265a30979412096a250836a92e2856a3cb128966df5
MISC metadata.xml 443 SHA256 966327337370abc0213bdd1e4fc8723db10871adad7746e07e9b1ebaed188212 SHA512 b46c129b23e4ba9a27be4cf0592a80223726a38d022916a4032a00dc5ca117a15641003ecb302eed6a560c73515aa990800b80b1b48574fb58235ce8bafb5b4c WHIRLPOOL 48326ff95f79a6ddcdea9a915803497bc5a510503ee5bd91d2b7d4f5d113167784f9bdca9962b083395dbc2916846f8dbadce411dcc27a207ae211cba5a1c1e0

View File

@ -0,0 +1,135 @@
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-libs/apr/apr-1.4.6-r1.ebuild,v 1.3 2013/02/20 22:59:30 zmedico Exp $
EAPI="4"
inherit autotools eutils libtool multilib toolchain-funcs
DESCRIPTION="Apache Portable Runtime Library"
HOMEPAGE="http://apr.apache.org/"
SRC_URI="mirror://apache/apr/${P}.tar.bz2"
LICENSE="Apache-2.0"
SLOT="1"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~ppc-aix ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="doc elibc_FreeBSD older-kernels-compatibility static-libs +urandom +uuid"
RDEPEND="uuid? (
elibc_glibc? ( >=sys-apps/util-linux-2.16 )
elibc_mintlib? ( >=sys-apps/util-linux-2.18 )
)"
DEPEND="${RDEPEND}
doc? ( app-doc/doxygen )"
DOCS=(CHANGES NOTICE README)
src_prepare() {
epatch "${FILESDIR}"/${P}-mint.patch
epatch "${FILESDIR}/apr-1.4.5-xattr-build-1.patch"
epatch "${FILESDIR}/apr-xattr-headers.patch"
epatch "${FILESDIR}/apr-xattr-impl.patch"
epatch "${FILESDIR}/apr-xattr-tests.patch"
# Ensure that system libtool is used.
local g=
[[ ${CHOST} == *-darwin* ]] && g=g
sed -e 's:${installbuilddir}/libtool:'"${EPREFIX}/usr/bin/${g}libtool"':' -i apr-config.in || die "sed failed"
sed -e 's:@LIBTOOL@:$(SHELL) '"${EPREFIX}/usr/bin/${g}libtool"':' -i build/apr_rules.mk.in || die "sed failed"
# Apply user patches, bug #449048
epatch_user
./buildconf
AT_M4DIR="build" eautoreconf
elibtoolize
epatch "${FILESDIR}/config.layout.patch"
}
src_configure() {
local myconf
[[ ${CHOST} == *-mint* ]] && export ac_cv_func_poll=no
if use older-kernels-compatibility; then
local apr_cv_accept4 apr_cv_dup3 apr_cv_epoll_create1 apr_cv_sock_cloexec
export apr_cv_accept4="no"
export apr_cv_dup3="no"
export apr_cv_epoll_create1="no"
export apr_cv_sock_cloexec="no"
fi
if use urandom; then
myconf+=" --with-devrandom=/dev/urandom"
elif (( ${CHOST#*-hpux11.} <= 11 )); then
: # no /dev/*random on hpux11.11 and before, $PN detects this.
else
myconf+=" --with-devrandom=/dev/random"
fi
if [[ ${CHOST} == *-mint* ]] ; then
myconf+=" --disable-dso"
fi
# shl_load does not search runpath, but hpux11 supports dlopen
[[ ${CHOST} == *-hpux11* ]] && myconf="${myconf} --enable-dso=dlfcn"
if [[ ${CHOST} == *-solaris2.10 ]]; then
case $(<$([[ ${CHOST} != ${CBUILD} ]] && echo "${EPREFIX}/usr/${CHOST}")/usr/include/atomic.h) in
*atomic_cas_ptr*) ;;
*)
elog "You do not have Solaris Patch ID "$(
[[ ${CHOST} == sparc* ]] && echo 118884 || echo 118885
)" (Problem 4954703) installed on your host ($(hostname)),"
elog "using generic atomic operations instead."
myconf="${myconf} --disable-nonportable-atomics"
;;
esac
fi
if ! use uuid; then
local apr_cv_osuuid
export apr_cv_osuuid="no"
fi
CONFIG_SHELL="${EPREFIX}"/bin/bash econf \
--enable-layout=gentoo \
--enable-nonportable-atomics \
--enable-threads \
${myconf}
rm -f libtool
}
src_compile() {
emake
$(tc-getCC) ${CFLAGS} -lpthread ${LDFLAGS} -L.libs/ -Iinclude "${FILESDIR}"/apxattr.c -pthread -lapr-1 -o apxattr || die "lsprint compile failed"
if use doc; then
emake dox
fi
}
src_install() {
default
find "${ED}" -name "*.la" -exec rm -f {} +
if use doc; then
dohtml -r docs/dox/html/*
fi
if ! use static-libs; then
find "${ED}" -name "*.a" -exec rm -f {} +
fi
dobin apxattr
# This file is only used on AIX systems, which Gentoo is not,
# and causes collisions between the SLOTs, so remove it.
# Even in Prefix, we don't need this on AIX.
rm -f "${ED}usr/$(get_libdir)/apr.exp"
}

View File

@ -0,0 +1,159 @@
Submitted By: Mario Fetka (mario dot fetka at gmail dot com)
Date: 2011-11-21
Initial Package Version: 1.4.5
Origin: http://privsep.org/patches/2.3.0-dev/xattr-patches/apr-xattr-build.patch
Upstream Status: unknown
Description: build infrastructure
diff -Naur apr-1.4.5.orig/build.conf apr-1.4.5/build.conf
--- apr-1.4.5.orig/build.conf 2011-11-21 18:38:28.659217726 +0000
+++ apr-1.4.5/build.conf 2011-11-21 18:39:17.735760998 +0000
@@ -13,7 +13,7 @@
# directories that have platform-specific code in them. the resulting
# pattern will be: SUBDIR/PLATFORM/*.c
platform_dirs =
- dso file_io locks memory misc mmap network_io poll random
+ dso file_io locks memory misc mmap network_io poll random xattr
shmem support threadproc time user atomic
# all the public headers
diff -Naur apr-1.4.5.orig/configure.in apr-1.4.5/configure.in
--- apr-1.4.5.orig/configure.in 2011-11-21 18:38:28.985607639 +0000
+++ apr-1.4.5/configure.in 2011-11-21 18:43:25.981912296 +0000
@@ -197,7 +197,7 @@
DEFAULT_OSDIR="unix"
echo "(Default will be ${DEFAULT_OSDIR})"
-apr_modules="file_io network_io threadproc misc locks time mmap shmem user memory atomic poll support random"
+apr_modules="file_io network_io threadproc misc locks time mmap shmem user memory atomic poll support random xattr"
dnl Checks for programs.
AC_PROG_MAKE_SET
@@ -1466,7 +1466,9 @@
sys/types.h \
sys/uio.h \
sys/un.h \
- sys/wait.h)
+ sys/wait.h \
+ sys/xattr.h \
+ sys/extattr.h)
# IRIX 6.5 has a problem in <netinet/tcp.h> which prevents it from
# being included by itself. Check for <netinet/tcp.h> manually,
@@ -1518,6 +1520,8 @@
AC_SUBST(unistdh)
AC_SUBST(signalh)
AC_SUBST(sys_waith)
+AC_SUBST(sys_xattrh)
+AC_SUBST(sys_extattrh)
AC_SUBST(processh)
AC_SUBST(pthreadh)
AC_SUBST(semaphoreh)
@@ -2472,6 +2476,87 @@
APR_CHECK_DIRENT_INODE
APR_CHECK_DIRENT_TYPE
+dnl ----------------------------- Checking for Extended Attributes Support
+echo "${nl}Checking for Extended Attributes Support..."
+
+# Check whether Extended Attributes have explicitly been disabled
+AC_ARG_ENABLE(xattr,
+ [ --disable-xattr Disable Extended Attributes support in APR.],
+ [ if test "$enableval" = "no"; then
+ user_disabled_xattr=1
+ fi ],
+ [ user_disabled_xattr=0 ] )
+
+xattrdarwin="0"
+xattrlinux="0"
+xattrfreebsd="0"
+xattrsolaris="0"
+if test "$user_disabled_xattr" = 1; then
+ echo "no -- disabled by user"
+else
+ AC_CHECK_FUNCS([fgetxattr fsetxattr flistxattr fremovexattr lgetxattr \
+ extattr_get_fd extattr_set_fd extattr_list_fd \
+ extattr_delete_fd openat unlinkat])
+ APR_CHECK_DEFINE(O_XATTR, sys/fcntl.h)
+ APR_CHECK_DEFINE(XATTR_NOFOLLOW, sys/xattr.h)
+ APR_CHECK_DEFINE(XATTR_CREATE, sys/xattr.h)
+ APR_CHECK_DEFINE(XATTR_REPLACE, sys/xattr.h)
+ APR_CHECK_DEFINE(XATTR_NAME_MAX, linux/limits.h)
+ APR_CHECK_DEFINE(XATTR_SIZE_MAX, linux/limits.h)
+ APR_CHECK_DEFINE(XATTR_LIST_MAX, linux/limits.h)
+ APR_CHECK_DEFINE(XATTR_MAXNAMELEN, sys/xattr.h)
+ APR_CHECK_DEFINE(EXTATTR_NAMESPACE_USER, sys/extattr.h)
+ APR_CHECK_DEFINE(EXTATTR_NAMESPACE_SYSTEM, sys/extattr.h)
+ APR_CHECK_DEFINE(EXTATTR_MAXNAMELEN, sys/extattr.h)
+
+ APR_BEGIN_DECISION([xattr attribute system interface])
+ APR_IFALLYES(header:sys/xattr.h dnl
+ define:XATTR_NOFOLLOW dnl
+ func:fgetxattr dnl
+ func:fsetxattr dnl
+ func:flistxattr dnl
+ func:fremovexattr,
+ [xattrdarwin="1"
+ APR_DECIDE(USE_XATTR_DARWIN, [xattr (Darwin)])])
+
+ APR_IFALLYES(header:sys/xattr.h dnl
+ func:lgetxattr dnl
+ func:fgetxattr dnl
+ func:fsetxattr dnl
+ func:flistxattr dnl
+ func:fremovexattr,
+ [xattrlinux="1"
+ APR_DECIDE(USE_XATTR_LINUX, [xattr (Linux)])])
+
+ APR_IFALLYES(header:sys/extattr.h dnl
+ func:extattr_set_fd dnl
+ func:func:extattr_get_fd dnl
+ func:extattr_list_fd dnl
+ func:func:extattr_delete_fd,
+ [xattrfreebsd="1"
+ APR_DECIDE(USE_XATTR_FREEBSD, [extattr (FreeBSD)])])
+
+ APR_IFALLYES(define:O_XATTR dnl
+ func:openat dnl
+ func:unlinkat,
+ [xattrsolaris="1"
+ APR_DECIDE(USE_XATTR_SOLARIS, [attropen (Solaris)])])
+
+ if test "x$ac_decision" = "x"; then
+ ac_decision="USE_XATTR_NONE"
+ ac_decision_msg="no xattr interface available"
+ fi
+ APR_END_DECISION
+ AC_DEFINE_UNQUOTED($ac_decision)
+fi
+
+if test "$xattrdarwin$xattrlinux$xattrfreebsd$xattrsolaris" = "0000"; then
+ xattr="0"
+else
+ xattr="1"
+fi
+AC_SUBST(xattr)
+
dnl ----------------------------- Checking for UUID Support
echo "${nl}Checking for OS UUID Support..."
diff -Naur apr-1.4.5.orig/include/apr.h.in apr-1.4.5/include/apr.h.in
--- apr-1.4.5.orig/include/apr.h.in 2011-11-21 18:38:28.661532544 +0000
+++ apr-1.4.5/include/apr.h.in 2011-11-21 18:40:23.666523955 +0000
@@ -104,6 +104,8 @@
#define APR_HAVE_SYS_UIO_H @sys_uioh@
#define APR_HAVE_SYS_UN_H @sys_unh@
#define APR_HAVE_SYS_WAIT_H @sys_waith@
+#define APR_HAVE_SYS_XATTR_H @sys_xattrh@
+#define APR_HAVE_SYS_EXTATTR_H @sys_extattrh@
#define APR_HAVE_TIME_H @timeh@
#define APR_HAVE_UNISTD_H @unistdh@
#define APR_HAVE_WINDOWS_H @windowsh@
@@ -276,6 +278,7 @@
#define APR_HAS_UNICODE_FS @have_unicode_fs@
#define APR_HAS_PROC_INVOKED @have_proc_invoked@
#define APR_HAS_USER @apr_has_user@
+#define APR_HAS_XATTR @xattr@
#define APR_HAS_LARGE_FILES @aprlfs@
#define APR_HAS_XTHREAD_FILES @apr_has_xthread_files@
#define APR_HAS_OS_UUID @osuuid@

View File

@ -0,0 +1,27 @@
diff -ur apr-1.2.11/build/apr_hints.m4 apr-1.2.11-mint/build/apr_hints.m4
--- apr-1.2.11/build/apr_hints.m4 Tue Jun 26 23:47:46 2007
+++ apr-1.2.11-mint/build/apr_hints.m4 Tue Mar 25 12:00:14 2008
@@ -44,8 +44,9 @@
case "$host" in
*mint)
- APR_ADDTO(CPPFLAGS, [-DMINT])
- APR_ADDTO(LIBS, [-lportlib])
+ APR_ADDTO(CPPFLAGS, [-DMINT -D_GNU_SOURCE])
+ apr_cv_pthreads_cflags="none"
+ apr_cv_pthreads_lib="-lpthread"
;;
*MPE/iX*)
APR_ADDTO(CPPFLAGS, [-DMPE -D_POSIX_SOURCE -D_SOCKET_SOURCE])
diff -ur apr-1.2.11/build/apr_threads.m4 apr-1.2.11-mint/build/apr_threads.m4
--- apr-1.2.11/build/apr_threads.m4 Thu Aug 3 11:05:26 2006
+++ apr-1.2.11-mint/build/apr_threads.m4 Wed Mar 19 08:38:56 2008
@@ -198,7 +198,7 @@
AC_DEFUN(APR_CHECK_SIGWAIT_ONE_ARG,[
AC_CACHE_CHECK(whether sigwait takes one argument,ac_cv_sigwait_one_arg,[
AC_TRY_COMPILE([
-#if defined(__NETBSD__) || defined(DARWIN)
+#if defined(__NETBSD__) || defined(DARWIN) || defined(MINT)
/* When using the unproven-pthreads package, we need to pull in this
* header to get a prototype for sigwait(). Else things will fail later
* on. XXX Should probably be fixed in the unproven-pthreads package.

View File

@ -0,0 +1,155 @@
Index: include/apr.h.in
===================================================================
--- include/apr.h.in (revision 606453)
+++ include/apr.h.in (working copy)
@@ -103,6 +103,8 @@
#define APR_HAVE_SYS_UIO_H @sys_uioh@
#define APR_HAVE_SYS_UN_H @sys_unh@
#define APR_HAVE_SYS_WAIT_H @sys_waith@
+#define APR_HAVE_SYS_XATTR_H @sys_xattrh@
+#define APR_HAVE_SYS_EXTATTR_H @sys_extattrh@
#define APR_HAVE_TIME_H @timeh@
#define APR_HAVE_UNISTD_H @unistdh@
#define APR_HAVE_WINDOWS_H @windowsh@
@@ -238,6 +240,7 @@
#define APR_HAS_UNICODE_FS @have_unicode_fs@
#define APR_HAS_PROC_INVOKED @have_proc_invoked@
#define APR_HAS_USER 1
+#define APR_HAS_XATTR @xattr@
#define APR_HAS_LARGE_FILES @aprlfs@
#define APR_HAS_XTHREAD_FILES 0
#define APR_HAS_OS_UUID @osuuid@
Index: configure.in
===================================================================
--- configure.in (revision 606453)
+++ configure.in (working copy)
@@ -124,7 +124,7 @@
DEFAULT_OSDIR="unix"
echo "(Default will be ${DEFAULT_OSDIR})"
-apr_modules="file_io network_io threadproc misc locks time mmap shmem user memory atomic poll support random"
+apr_modules="file_io network_io threadproc misc locks time mmap shmem user memory atomic poll support random xattr"
dnl Checks for programs.
AC_PROG_MAKE_SET
@@ -1135,7 +1135,9 @@
sys/types.h \
sys/uio.h \
sys/un.h \
- sys/wait.h)
+ sys/wait.h \
+ sys/xattr.h \
+ sys/extattr.h)
# IRIX 6.5 has a problem in <netinet/tcp.h> which prevents it from
# being included by itself. Check for <netinet/tcp.h> manually,
@@ -1187,6 +1189,8 @@
AC_SUBST(unistdh)
AC_SUBST(signalh)
AC_SUBST(sys_waith)
+AC_SUBST(sys_xattrh)
+AC_SUBST(sys_extattrh)
AC_SUBST(pthreadh)
AC_SUBST(semaphoreh)
AC_SUBST(windowsh)
@@ -2030,6 +2034,87 @@
APR_CHECK_DIRENT_INODE
APR_CHECK_DIRENT_TYPE
+dnl ----------------------------- Checking for Extended Attributes Support
+echo "${nl}Checking for Extended Attributes Support..."
+
+# Check whether Extended Attributes have explicitly been disabled
+AC_ARG_ENABLE(xattr,
+ [ --disable-xattr Disable Extended Attributes support in APR.],
+ [ if test "$enableval" = "no"; then
+ user_disabled_xattr=1
+ fi ],
+ [ user_disabled_xattr=0 ] )
+
+xattrdarwin="0"
+xattrlinux="0"
+xattrfreebsd="0"
+xattrsolaris="0"
+if test "$user_disabled_xattr" = 1; then
+ echo "no -- disabled by user"
+else
+ AC_CHECK_FUNCS([fgetxattr fsetxattr flistxattr fremovexattr lgetxattr \
+ extattr_get_fd extattr_set_fd extattr_list_fd \
+ extattr_delete_fd openat unlinkat])
+ APR_CHECK_DEFINE(O_XATTR, sys/fcntl.h)
+ APR_CHECK_DEFINE(XATTR_NOFOLLOW, sys/xattr.h)
+ APR_CHECK_DEFINE(XATTR_CREATE, sys/xattr.h)
+ APR_CHECK_DEFINE(XATTR_REPLACE, sys/xattr.h)
+ APR_CHECK_DEFINE(XATTR_NAME_MAX, linux/limits.h)
+ APR_CHECK_DEFINE(XATTR_SIZE_MAX, linux/limits.h)
+ APR_CHECK_DEFINE(XATTR_LIST_MAX, linux/limits.h)
+ APR_CHECK_DEFINE(XATTR_MAXNAMELEN, sys/xattr.h)
+ APR_CHECK_DEFINE(EXTATTR_NAMESPACE_USER, sys/extattr.h)
+ APR_CHECK_DEFINE(EXTATTR_NAMESPACE_SYSTEM, sys/extattr.h)
+ APR_CHECK_DEFINE(EXTATTR_MAXNAMELEN, sys/extattr.h)
+
+ APR_BEGIN_DECISION([xattr attribute system interface])
+ APR_IFALLYES(header:sys/xattr.h dnl
+ define:XATTR_NOFOLLOW dnl
+ func:fgetxattr dnl
+ func:fsetxattr dnl
+ func:flistxattr dnl
+ func:fremovexattr,
+ [xattrdarwin="1"
+ APR_DECIDE(USE_XATTR_DARWIN, [xattr (Darwin)])])
+
+ APR_IFALLYES(header:sys/xattr.h dnl
+ func:lgetxattr dnl
+ func:fgetxattr dnl
+ func:fsetxattr dnl
+ func:flistxattr dnl
+ func:fremovexattr,
+ [xattrlinux="1"
+ APR_DECIDE(USE_XATTR_LINUX, [xattr (Linux)])])
+
+ APR_IFALLYES(header:sys/extattr.h dnl
+ func:extattr_set_fd dnl
+ func:func:extattr_get_fd dnl
+ func:extattr_list_fd dnl
+ func:func:extattr_delete_fd,
+ [xattrfreebsd="1"
+ APR_DECIDE(USE_XATTR_FREEBSD, [extattr (FreeBSD)])])
+
+ APR_IFALLYES(define:O_XATTR dnl
+ func:openat dnl
+ func:unlinkat,
+ [xattrsolaris="1"
+ APR_DECIDE(USE_XATTR_SOLARIS, [attropen (Solaris)])])
+
+ if test "x$ac_decision" = "x"; then
+ ac_decision="USE_XATTR_NONE"
+ ac_decision_msg="no xattr interface available"
+ fi
+ APR_END_DECISION
+ AC_DEFINE_UNQUOTED($ac_decision)
+fi
+
+if test "$xattrdarwin$xattrlinux$xattrfreebsd$xattrsolaris" = "0000"; then
+ xattr="0"
+else
+ xattr="1"
+fi
+AC_SUBST(xattr)
+
dnl ----------------------------- Checking for UUID Support
echo "${nl}Checking for OS UUID Support..."
Index: build.conf
===================================================================
--- build.conf (revision 606453)
+++ build.conf (working copy)
@@ -13,7 +13,7 @@
# directories that have platform-specific code in them. the resulting
# pattern will be: SUBDIR/PLATFORM/*.c
platform_dirs =
- dso file_io locks memory misc mmap network_io poll random
+ dso file_io locks memory misc mmap network_io poll random xattr
shmem support threadproc time user atomic
# all the public headers

View File

@ -0,0 +1,366 @@
Index: include/apr_file_xattr.h
===================================================================
--- include/apr_file_xattr.h (revision 0)
+++ include/apr_file_xattr.h (revision 0)
@@ -0,0 +1,249 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef APR_FILE_XATTR_H
+#define APR_FILE_XATTR_H
+
+/**
+ * @file apr_file_xattr.h
+ * @brief APR File Extended Attributes
+ */
+
+#include "apr.h"
+#include "apr_pools.h"
+#include "apr_tables.h"
+#include "apr_file_io.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+/**
+ * @defgroup apr_xattr File Extended Attribute Functions
+ * @ingroup APR
+ * @{
+ */
+
+/** When setting values, fail if the attribute already exists */
+#define APR_XATTR_CREATE 1
+
+/** When setting values, fail if the attribute does not already exist */
+#define APR_XATTR_REPLACE 2
+
+typedef struct apr_xattr_t apr_xattr_t;
+
+/**
+ * Open a context for access to the extended attributes of a file or
+ * directory specified by a path name
+ *
+ * @param new the context allocated for access to extended attributes
+ * @param pathname the path name of the file or directory
+ * @param p the pool to allocate any memory from
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the path was opened for attribute access
+ * APR_STATUS_IS_ENOENT() the file or directory does not exist
+ * </PRE>
+ * Other operating system dependant error codes may be returned.
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_open_path(apr_xattr_t **new,
+ const char *pathname,
+ apr_pool_t *p);
+
+/**
+ * Open a context for access to the extended attributes of an open file
+ *
+ * @param new the context allocated for access to extended attributes
+ * @param file the open file to access the extended attributes on
+ * @param p the pool to allocate any memory from
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the file was opened for attribute access
+ * </PRE>
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_open_file(apr_xattr_t **new,
+ apr_file_t *file,
+ apr_pool_t *p);
+
+/**
+ * Open a context for access to the extended attributes of an open directory
+ *
+ * @param new the context allocated for access to extended attributes
+ * @param dir the open directory to access the extended attributes on
+ * @param p the pool to allocate any memory from if required
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the directory was opened for attribute access
+ * </PRE>
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_open_dir(apr_xattr_t **new,
+ apr_dir_t *dir,
+ apr_pool_t *p);
+
+/**
+ * Destroy a context used for access to extended attributes
+ *
+ * @param xattr the context to destroy
+ * <PRE>
+ * APR_SUCCESS the context was destroyed
+ * </PRE>
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_destroy(apr_xattr_t *xattr);
+
+/**
+ * Set an extended attribute on a file or directory
+ * @param xattr the opened extended attribute file or directory context
+ * @param name the attribute name to set
+ * @param value the attribute value
+ * @param size the size in bytes of the attribute value
+ * @param flags to control how the attribute is set
+ * <PRE>
+ * APR_XATTR_CREATE return an error if the attribute name
+ * already exists.
+ * APR_XATTR_REPLACE return an error if the attribute name
+ * does not already exist.
+ * </PRE>
+ * @param p the pool to allocate any memory from if required
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the attribute was set
+ * APR_STATUS_IS_EEXIST() create flag and the attribute exists
+ * APR_STATUS_IS_ENOATTR() replace flag and the attribute doesn't exist
+ * </PRE>
+ * Other operating system dependant error codes may be returned
+ * in the cases not listed above.
+ *
+ * @remark if neither flag APR_XATTR_CREATE or APR_XATTR_REPLACE are
+ * given then the attribute will either be created if it does not
+ * already exist or replaced if it does exist.
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_set(const apr_xattr_t *xattr,
+ const char *name,
+ const void *value,
+ apr_size_t size,
+ apr_uint32_t flags);
+
+/**
+ * Get an extended attribute from a file or directory
+ * @param xattr the opened extended attribute file or directory context
+ * @param name the name of the attribute to get
+ * @param value the returned attribute value allocated from the pool
+ * @param size the returned size of the attribute value
+ * @param flags to control how the attribute is got (reserved for future use)
+ * @param p the pool to allocate any memory from if required
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the attribute was retrieved
+ * APR_STATUS_IS_ENOATTR() the attribute does not exist
+ * </PRE>
+ * Other operating system dependant error codes may be returned
+ * in the cases not listed above.
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_get(const apr_xattr_t *xattr,
+ const char *name,
+ void **value,
+ apr_size_t *size,
+ apr_uint32_t flags);
+
+/**
+ * Check for the existence of an extended attribute on a file or directory
+ * @param xattr the opened extended attribute file or directory context
+ * @param name the name of the attribute to get
+ * @param exists the returned value indicating whether the attribute exists
+ * @param flags to control how the attribute is got (reserved for future use)
+ * @param p the pool to allocate any memory from if required
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the existence was successfully tested
+ * </PRE>
+ * Other operating system dependant error codes may be returned
+ * in the cases not listed above.
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_exists(const apr_xattr_t *xattr,
+ const char *name,
+ int *exists,
+ apr_uint32_t flags);
+
+/**
+ * List the extended attributes on a file or directory
+ * @param xattr the opened extended attribute file or directory context
+ * @param list the returned array of attributes names
+ * @param flags to control how the file is listed (reserved for future use)
+ * @param p the pool to allocate any memory from if required
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the attributes were listed
+ * </PRE>
+ * Other operating system dependant error codes may be returned
+ * in the cases not listed above.
+ *
+ * @remark list is an array containing simple null terminated strings.
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_list(const apr_xattr_t *xattr,
+ apr_array_header_t **list,
+ apr_uint32_t flags);
+
+/**
+ * Remove an extended attribute from a file or directory
+ * @param xattr the opened extended attribute file or directory context
+ * @param name the attribute name to remove
+ * @param flags to control how the attribute is removed (reserved for future use)
+ * @param p the pool to allocate any memory from if required
+ * @return the status of the operation:
+ * <PRE>
+ * APR_SUCCESS the attribute was removed
+ * APR_STATUS_IS_ENOATTR() the attribute does not exist
+ * </PRE>
+ * Other operating system dependant error codes may be returned
+ * in the cases not listed above.
+ *
+ * @warning Platforms which do not implement this feature will return
+ * APR_ENOTIMPL.
+ */
+APR_DECLARE(apr_status_t) apr_xattr_remove(const apr_xattr_t *xattr,
+ const char *name,
+ apr_uint32_t flags);
+/** @} */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ! APR_FILE_XATTR_H */
Index: include/arch/unix/apr_arch_xattr.h
===================================================================
--- include/arch/unix/apr_arch_xattr.h (revision 0)
+++ include/arch/unix/apr_arch_xattr.h (revision 0)
@@ -0,0 +1,51 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef FILE_XATTR_H
+#define FILE_XATTR_H
+
+#if APR_HAVE_CTYPE_H
+#include <ctype.h>
+#endif
+#if APR_HAVA_ERRNO_H
+#include <errno.h>
+#endif
+#if APR_HAVE_SYS_XATTR_H
+#include <sys/xattr.h>
+#endif
+#if APR_HAVE_SYS_EXTATTR_H
+#include <sys/extattr.h>
+#endif
+#if APR_HAVE_FCNTL_H
+#include <fcntl.h>
+#endif
+#if APR_HAVE_DIRENT_H
+#include <dirent.h>
+#endif
+
+#ifdef _LARGEFILE64_SOURCE
+#define XATTR_OPEN_FLAGS O_RDONLY | O_LARGEFILE
+#else
+#define XATTR_OPEN_FLAGS O_RDONLY
+#endif
+
+struct apr_xattr_t {
+ int fd;
+ apr_uint32_t flags;
+ apr_pool_t *pool;
+};
+
+#endif
Index: include/apr_errno.h
===================================================================
--- include/apr_errno.h (revision 606453)
+++ include/apr_errno.h (working copy)
@@ -851,6 +851,13 @@
#define APR_EAFNOSUPPORT (APR_OS_START_CANONERR + 27)
#endif
+/** @see APR_STATUS_IS_ENOATTR */
+#ifdef ENOATTR
+#define APR_ENOATTR ENOATTR
+#else
+#define APR_ENOATTR (APR_OS_START_CANONERR + 28)
+#endif
+
/** @} */
#if defined(OS2) && !defined(DOXYGEN)
@@ -995,6 +1002,7 @@
|| (s) == APR_OS_START_SYSERR + ERROR_ACCESS_DENIED)
#define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_AFNOSUPPORT \
|| (s) == APR_OS_START_SYSERR + SOCEAFNOSUPPORT)
+#define APR_STATUS_IS_ENOATTR(s) ((s) == APR_ENOATTR)
/*
Sorry, too tired to wrap this up for OS2... feel free to
@@ -1139,6 +1147,7 @@
|| (s) == APR_OS_START_SYSERR + ERROR_DIR_NOT_EMPTY)
#define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_EAFNOSUPPORT \
|| (s) == APR_OS_START_SYSERR + WSAEAFNOSUPPORT)
+#define APR_STATUS_IS_ENOATTR(s) ((s) == APR_ENOATTR)
#elif defined(NETWARE) && defined(USE_WINSOCK) && !defined(DOXYGEN) /* !defined(OS2) && !defined(WIN32) */
@@ -1200,6 +1209,7 @@
#define APR_STATUS_IS_ENOTEMPTY(s) ((s) == APR_ENOTEMPTY)
#define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_EAFNOSUPPORT \
|| (s) == APR_OS_START_SYSERR + WSAEAFNOSUPPORT)
+#define APR_STATUS_IS_ENOATTR(s) ((s) == APR_ENOATTR)
#else /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */
@@ -1319,6 +1329,13 @@
(s) == APR_EEXIST)
/** Address Family not supported */
#define APR_STATUS_IS_EAFNOSUPPORT(s) ((s) == APR_EAFNOSUPPORT)
+/** Attribute does not exists */
+#ifdef ENODATA
+#define APR_STATUS_IS_ENOATTR(s) ((s) == APR_ENOATTR \
+ || (s) == ENODATA)
+#else
+#define APR_STATUS_IS_ENOATTR(s) ((s) == APR_ENOATTR)
+#endif
/** @} */
#endif /* !defined(NETWARE) && !defined(OS2) && !defined(WIN32) */

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,542 @@
Index: test/Makefile.in
===================================================================
--- test/Makefile.in (revision 606453)
+++ test/Makefile.in (working copy)
@@ -28,7 +28,7 @@
testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \
testenv.lo testprocmutex.lo testfnmatch.lo testatomic.lo testflock.lo \
testsock.lo testglobalmutex.lo teststrnatcmp.lo testfilecopy.lo \
- testtemp.lo testlfs.lo testcond.lo
+ testtemp.lo testlfs.lo testcond.lo testxattr.lo
OTHER_PROGRAMS = \
sendfile@EXEEXT@ \
Index: test/testxattr.c
===================================================================
--- test/testxattr.c (revision 0)
+++ test/testxattr.c (revision 0)
@@ -0,0 +1,499 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include "apr_file_io.h"
+#include "apr_file_xattr.h"
+#include "apr_errno.h"
+#include "apr_general.h"
+#include "testutil.h"
+
+#if APR_HAS_XATTR
+
+#define DIRNAME "data"
+#define FNAME DIRNAME "/file_xattrfile.txt"
+#define DNAME DIRNAME "/dir_xattrdir"
+
+#define TESTKEY1 "testkey1"
+#define TESTVAL1 "testval1"
+#define TESTKEY2 "testkey2"
+#define TESTVAL2 "testval2"
+
+/* test solaris subfilename escaping */
+#define TESTKEYSPECIAL1 "/testkey2"
+#define TESTKEYSPECIAL2 "%testkey2"
+
+static void test_xattr_file_set(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_set_create(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1),
+ APR_XATTR_CREATE);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1),
+ APR_XATTR_CREATE);
+ ABTS_TRUE(tc, APR_STATUS_IS_EEXIST(rv));
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_set_replace(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1),
+ APR_XATTR_REPLACE);
+ ABTS_TRUE(tc, APR_STATUS_IS_ENOATTR(rv));
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1),
+ APR_XATTR_CREATE);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1),
+ APR_XATTR_REPLACE);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_get(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ char *val = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_get(xattr, TESTKEY1, (void**)&val, &size, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_INT_EQUAL(tc, strlen(TESTVAL1), size);
+ ABTS_PTR_NOTNULL(tc, val);
+ ABTS_TRUE(tc, strncmp(TESTVAL1, val, strlen(TESTVAL1)) == 0);
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_get_enoattr(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ char *val = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_get(xattr, TESTKEY1, (void**)&val, &size, 0);
+ ABTS_TRUE(tc, APR_STATUS_IS_ENOATTR(rv));
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_exists(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ int exists;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_exists(xattr, TESTKEY1, &exists, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_TRUE(tc, !exists);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_exists(xattr, TESTKEY1, &exists, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_TRUE(tc, exists);
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_list(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_array_header_t *list = NULL;
+ int cmp1, cmp2;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ rv = apr_xattr_set(xattr, TESTKEY2, TESTVAL2, strlen(TESTVAL2), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_list(xattr, &list, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_PTR_NOTNULL(tc, list);
+ ABTS_INT_EQUAL(tc, 2, list->nelts);
+ cmp1 = (strcmp(APR_ARRAY_IDX(list, 0, char*), TESTKEY1) == 0) &&
+ (strcmp(APR_ARRAY_IDX(list, 1, char*), TESTKEY2) == 0);
+ cmp2 = (strcmp(APR_ARRAY_IDX(list, 0, char*), TESTKEY2) == 0) &&
+ (strcmp(APR_ARRAY_IDX(list, 1, char*), TESTKEY1) == 0);
+ ABTS_TRUE(tc, cmp1 || cmp2 );
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_remove(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ char *val = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_remove(xattr, TESTKEY1, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_get(xattr, TESTKEY1, (void**)&val, &size, 0);
+ ABTS_INT_NEQUAL(tc, APR_SUCCESS, rv);
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_file_remove_enoattr(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ char *val = NULL;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_remove(xattr, TESTKEY1, 0);
+ ABTS_TRUE(tc, APR_STATUS_IS_ENOATTR(rv));
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+static void test_xattr_dir_set(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+
+ rv = apr_dir_make(DNAME, APR_OS_DEFAULT, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, DNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ apr_xattr_destroy(xattr);
+ apr_dir_remove(DNAME, p);
+}
+
+static void test_xattr_dir_get(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_size_t size;
+ char *val = NULL;
+
+ rv = apr_dir_make(DNAME, APR_OS_DEFAULT, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, DNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_get(xattr, TESTKEY1, (void**)&val, &size, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_INT_EQUAL(tc, strlen(TESTVAL1), size);
+ ABTS_PTR_NOTNULL(tc, val);
+ ABTS_TRUE(tc, strncmp(TESTVAL1, val, strlen(TESTVAL1)) == 0);
+
+ apr_xattr_destroy(xattr);
+ apr_dir_remove(DNAME, p);
+}
+
+static void test_xattr_dir_exists(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ int exists;
+
+ rv = apr_dir_make(DNAME, APR_OS_DEFAULT, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, DNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_exists(xattr, TESTKEY1, &exists, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_TRUE(tc, !exists);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_exists(xattr, TESTKEY1, &exists, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_TRUE(tc, exists);
+
+ apr_xattr_destroy(xattr);
+ apr_dir_remove(DNAME, p);
+}
+
+static void test_xattr_dir_list(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_array_header_t *list = NULL;
+ int cmp1, cmp2;
+
+ rv = apr_dir_make(DNAME, APR_OS_DEFAULT, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, DNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ rv = apr_xattr_set(xattr, TESTKEY2, TESTVAL2, strlen(TESTVAL2), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_list(xattr, &list, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_PTR_NOTNULL(tc, list);
+ ABTS_INT_EQUAL(tc, 2, list->nelts);
+ cmp1 = (strcmp(APR_ARRAY_IDX(list, 0, char*), TESTKEY1) == 0) &&
+ (strcmp(APR_ARRAY_IDX(list, 1, char*), TESTKEY2) == 0);
+ cmp2 = (strcmp(APR_ARRAY_IDX(list, 0, char*), TESTKEY2) == 0) &&
+ (strcmp(APR_ARRAY_IDX(list, 1, char*), TESTKEY1) == 0);
+ ABTS_TRUE(tc, cmp1 || cmp2 );
+
+ apr_xattr_destroy(xattr);
+ apr_dir_remove(DNAME, p);
+}
+
+static void test_xattr_dir_remove(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_size_t size;
+ char *val = NULL;
+
+ rv = apr_dir_make(DNAME, APR_OS_DEFAULT, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, DNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, TESTKEY1, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_remove(xattr, TESTKEY1, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_get(xattr, TESTKEY1, (void**)&val, &size, 0);
+ ABTS_INT_NEQUAL(tc, APR_SUCCESS, rv);
+
+ apr_xattr_destroy(xattr);
+ apr_dir_remove(DNAME, p);
+}
+
+static void test_xattr_open_path_enoent(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_TRUE(tc, APR_STATUS_IS_ENOENT(rv));
+}
+
+static void test_xattr_file_special_chars(abts_case *tc, void *data)
+{
+ apr_status_t rv;
+ apr_xattr_t *xattr;
+ apr_file_t *filetest = NULL;
+ apr_size_t size;
+ const char *name = (const char*)data;
+ char *val = NULL;
+ apr_array_header_t *list = NULL;
+ int cmp1, cmp2;
+
+ rv = apr_file_open(&filetest, FNAME,
+ APR_WRITE | APR_CREATE | APR_DELONCLOSE,
+ APR_UREAD | APR_UWRITE | APR_GREAD, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_open_path(&xattr, FNAME, p);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_set(xattr, name, TESTVAL1, strlen(TESTVAL1), 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+
+ rv = apr_xattr_get(xattr, name, (void**)&val, &size, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_INT_EQUAL(tc, strlen(TESTVAL1), size);
+ ABTS_PTR_NOTNULL(tc, val);
+ ABTS_TRUE(tc, strncmp(TESTVAL1, val, strlen(TESTVAL1)) == 0);
+
+ rv = apr_xattr_list(xattr, &list, 0);
+ ABTS_INT_EQUAL(tc, APR_SUCCESS, rv);
+ ABTS_PTR_NOTNULL(tc, list);
+ ABTS_INT_EQUAL(tc, 1, list->nelts);
+ ABTS_TRUE(tc, strcmp(name, APR_ARRAY_IDX(list, 0, char*)) == 0);
+
+ apr_xattr_destroy(xattr);
+ apr_file_close(filetest);
+}
+
+#else
+
+static void test_xattr_not_impl(abts_case *tc, void *data)
+{
+ ABTS_NOT_IMPL(tc, "xattr not implemented on this platform");
+}
+
+#endif /* APR_HAS_XATTR */
+
+abts_suite *testxattr(abts_suite *suite)
+{
+ suite = ADD_SUITE(suite)
+
+#if !APR_HAS_XATTR
+ abts_run_test(suite, test_xattr_not_impl, NULL);
+#else
+ abts_run_test(suite, test_xattr_file_set, NULL);
+ abts_run_test(suite, test_xattr_file_set_create, NULL);
+ abts_run_test(suite, test_xattr_file_set_replace, NULL);
+ abts_run_test(suite, test_xattr_file_get, NULL);
+ abts_run_test(suite, test_xattr_file_get_enoattr, NULL);
+ abts_run_test(suite, test_xattr_file_exists, NULL);
+ abts_run_test(suite, test_xattr_file_list, NULL);
+ abts_run_test(suite, test_xattr_file_remove, NULL);
+ abts_run_test(suite, test_xattr_file_remove_enoattr, NULL);
+ abts_run_test(suite, test_xattr_dir_set, NULL);
+ abts_run_test(suite, test_xattr_dir_get, NULL);
+ abts_run_test(suite, test_xattr_dir_exists, NULL);
+ abts_run_test(suite, test_xattr_dir_list, NULL);
+ abts_run_test(suite, test_xattr_dir_remove, NULL);
+ abts_run_test(suite, test_xattr_open_path_enoent, NULL);
+ abts_run_test(suite, test_xattr_file_special_chars, TESTKEYSPECIAL1);
+ abts_run_test(suite, test_xattr_file_special_chars, TESTKEYSPECIAL2);
+#endif
+
+ return suite;
+}
Index: test/abts_tests.h
===================================================================
--- test/abts_tests.h (revision 606453)
+++ test/abts_tests.h (working copy)
@@ -66,7 +66,8 @@
{testtime},
{testud},
{testuser},
- {testvsn}
+ {testvsn},
+ {testxattr}
};
#endif /* APR_TEST_INCLUDES */
Index: test/testutil.h
===================================================================
--- test/testutil.h (revision 606453)
+++ test/testutil.h (working copy)
@@ -102,5 +102,6 @@
abts_suite *testud(abts_suite *suite);
abts_suite *testuser(abts_suite *suite);
abts_suite *testvsn(abts_suite *suite);
+abts_suite *testxattr(abts_suite *suite);
#endif /* APR_TEST_INCLUDES */

View File

@ -0,0 +1,191 @@
/* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "apr.h"
#include "apr_lib.h"
#include "apr_getopt.h"
#include "apr_strings.h"
#include "apr_file_io.h"
#include "apr_file_xattr.h"
#if APR_HAVE_STDLIB_H
#include <stdlib.h>
#endif
#if !APR_HAS_XATTR
#error The APR you are using does not have extended attribute support
#endif
static apr_file_t *errfile;
static const char *shortname = "apxattr";
static void usage(void)
{
apr_file_printf(errfile,
"%s -- Utility to view/modify extended attributes on files." APR_EOL_STR
APR_EOL_STR
"Usage: %s -l FILENAME" APR_EOL_STR
" %s -g attr FILENAME" APR_EOL_STR
" %s -s attr -v value FILENAME" APR_EOL_STR
" %s -r attr FILENAME" APR_EOL_STR
APR_EOL_STR
"Options:" APR_EOL_STR
" -l List attributes" APR_EOL_STR
" -g Get attribute" APR_EOL_STR
" -s Set attribute" APR_EOL_STR
" -r Remove attributes" APR_EOL_STR,
shortname, shortname, shortname, shortname, shortname);
exit(1);
}
int main(int argc, const char * const argv[])
{
apr_file_t * outfile;
apr_file_t * infile;
apr_file_t * thefile;
apr_pool_t * pool;
apr_getopt_t * o;
apr_status_t rv;
const char * arg;
char opt;
int opt_list = 0;
char errmsg[120];
const char * opt_get = NULL, * opt_set = NULL, * opt_value = NULL,
* opt_remove = NULL, * filename = NULL;
if (apr_app_initialize(&argc, &argv, NULL) != APR_SUCCESS) {
return 1;
}
atexit(apr_terminate);
if (argc) {
shortname = apr_filepath_name_get(argv[0]);
}
if (apr_pool_create(&pool, NULL) != APR_SUCCESS) {
return 1;
}
apr_file_open_stderr(&errfile, pool);
apr_getopt_init(&o, pool, argc, argv);
while (1) {
rv = apr_getopt(o, "lg:s:r:v:", &opt, &arg);
if (rv == APR_EOF) {
break;
}
else if (rv != APR_SUCCESS) {
usage();
}
else {
switch (opt) {
case 'l':
opt_list = 1;
break;
case 's':
if (opt_set || opt_get || opt_list || opt_remove) {
usage();
}
opt_set = apr_pstrdup(pool, arg);
break;
case 'v':
if (opt_value || opt_get || opt_list || opt_remove) {
usage();
}
opt_value = apr_pstrdup(pool, arg);
break;
case 'g':
if (opt_set || opt_get || opt_list || opt_remove) {
usage();
}
opt_get = apr_pstrdup(pool, arg);
break;
case 'r':
if (opt_set || opt_get || opt_list || opt_remove) {
usage();
}
opt_remove = apr_pstrdup(pool, arg);
break;
}
}
}
if ((opt_set && !opt_value) || o->ind != argc - 1) {
usage();
}
filename = argv[o->ind];
apr_file_open_stdout(&outfile, pool);
apr_file_open_stdin(&infile, pool);
rv = apr_file_open(&thefile, filename, APR_READ, 0, pool);
if(rv != APR_SUCCESS) {
apr_file_printf(errfile, "*** Couldn't open %s: %s\n",
filename, apr_strerror(rv, errmsg, sizeof errmsg));
exit(1);
}
if (opt_get) {
void *value;
char *value_str;
apr_size_t size;
rv = apr_file_xattr_get(thefile, opt_get, &value, &size, 0, pool);
if(rv != APR_SUCCESS) {
apr_file_printf(errfile, "*** Couldn't get attribute: %s\n",
apr_strerror(rv, errmsg, sizeof errmsg));
exit(1);
}
else {
value_str = apr_pstrmemdup(pool, value, size);
apr_file_printf(outfile, "%s\n", value_str);
}
}
else if (opt_set) {
apr_size_t size;
rv = apr_file_xattr_set(thefile, opt_set, opt_value,
strlen(opt_value), 0, pool);
if(rv != APR_SUCCESS) {
apr_file_printf(errfile, "*** Couldn't set attribute: %s\n",
apr_strerror(rv, errmsg, sizeof errmsg));
exit(1);
}
}
else if (opt_list) {
apr_array_header_t *list = NULL;
rv = apr_file_xattr_list(thefile, &list, 0, pool);
if(rv != APR_SUCCESS) {
apr_file_printf(errfile, "*** Couldn't list attributes: %s\n",
apr_strerror(rv, errmsg, sizeof errmsg));
exit(1);
}
else {
int i;
for(i = 0; i < list->nelts; i++) {
apr_file_printf(outfile, "%s\n", APR_ARRAY_IDX(list, i, char*));
}
}
}
else if (opt_remove) {
rv = apr_file_xattr_remove(thefile, opt_remove, 0, pool);
if(rv != APR_SUCCESS) {
apr_file_printf(errfile, "*** Couldn't remove attribute: %s\n",
apr_strerror(rv, errmsg, sizeof errmsg));
exit(1);
}
}
apr_file_close(thefile);
return 0;
}

View File

@ -0,0 +1,25 @@
--- config.layout.orig 2006-07-06 21:44:41.000000000 -0700
+++ config.layout 2006-07-06 21:46:26.000000000 -0700
@@ -229,3 +229,22 @@
infodir: ${exec_prefix}/share/info
libsuffix: -${APR_MAJOR_VERSION}
</Layout>
+
+# Gentoo layout
+<Layout gentoo>
+ prefix: /usr
+ exec_prefix: ${prefix}
+ bindir: ${exec_prefix}/bin
+ sbindir: ${exec_prefix}/bin
+ libdir: ${exec_prefix}/lib
+ libexecdir: ${exec_prefix}/modules
+ mandir: ${prefix}/man
+ sysconfdir: ${prefix}/conf
+ datadir: /usr/share/apr-${APR_MAJOR_VERSION}
+ installbuilddir: ${datadir}/build-${APR_MAJOR_VERSION}
+ includedir: ${prefix}/include/apr-${APR_MAJOR_VERSION}
+ localstatedir: ${prefix}
+ libsuffix: -${APR_MAJOR_VERSION}
+</Layout>
+
+

12
dev-libs/apr/metadata.xml Normal file
View File

@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer>
<email>maintainer-needed@gentoo.org</email>
</maintainer>
<use>
<flag name="older-kernels-compatibility">Enable binary compatibility with older kernels</flag>
<flag name="urandom">Use /dev/urandom instead of /dev/random</flag>
<flag name="uuid">Enable UUID support</flag>
</use>
</pkgmetadata>

View File

@ -0,0 +1,3 @@
DIST nxplayer-4.0.181-5.i686.tar.gz 11545210 SHA256 fa151b958ec59124709a70371bb8716e6cf85149d05e9f1e7782b250b345bfc5 SHA512 4d9f97a59f337ca91f25061581262ea3d3925613f57c74a96e8a6394fbeea97a7ae79182949bcc23c063d573423169cbddbc2cf2d5b832b8e927474a4d2d4152 WHIRLPOOL 347db9f83b18eebbdfb18a882f9c1c3420d020b70da86b67951cadf3036a666fc8ec7f7c031d0db51590d8cb8ac3cf5eebe3b5ef4e44f05cb085cbd31796dd32
DIST nxplayer-4.0.181-5.x86_64.tar.gz 11933443 SHA256 39a7fa01688f35a464c197ac8ca32929a33921d6e66033c1cfc70e24539173f6 SHA512 a04572084fc188554058af0344d87a211a5b52cd4c72f3dd2dfef13e010eb4e06f6c7fe5d814d90e238272a56c01af1c5bbccbd859be305134827425a9f0508f WHIRLPOOL d58d89da58ee894c40395e6f5dffb3d290d9a602c357bbb359e001e21d6c92bebf64fd8111a1b03c7d3fd40b0ee22801de27587caca325eb87f0b24c337e80b0
EBUILD nxplayer-4.0.181.5.ebuild 1489 SHA256 24a39bb6e5d4376cd12367770fdcb53a316547899780fcb97fea04929dbcc9ed SHA512 a18a13cb8a56428ec2d41a140a24c7190870253e30a353866085178c0cac4e1b7c03bf9416451cbd48b1dba5f6abd244b57c33d844477f9e5ef5ac1836cf44f8 WHIRLPOOL c7db419a940def5456d3ea7797a385fb5f4125b318cdb8e72f326b9947a94e4d1a9826330f663cba35834e1c75543eb3c21dc7ea33a1dcb80f8b15bc90be857d

View File

@ -0,0 +1,50 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-misc/nxclient/nxclient-3.4.0.7-r1.ebuild,v 1.1 2010/12/22 09:47:27 voyageur Exp $
EAPI=2
inherit eutils versionator
MAJOR_PV="$(get_version_component_range 1-3)"
FULL_PV="${MAJOR_PV}-$(get_version_component_range 4)"
DESCRIPTION="New NX client interface"
HOMEPAGE="http://www.nomachine.com/"
SRC_URI="amd64? ( http://64.34.173.142/download/4.0/Linux/nxplayer-${FULL_PV}.x86_64.tar.gz )
x86? ( http://64.34.173.142/download/4.0/Linux/nxplayer-${FULL_PV}.i686.tar.gz )"
LICENSE="nomachine"
SLOT="0"
KEYWORDS="-* ~amd64 ~x86"
IUSE=""
RESTRICT="strip"
DEPEND=""
RDEPEND="x11-libs/libXft
x11-libs/libX11
x11-libs/libXdmcp
x11-libs/libXau"
S=${WORKDIR}/NX/etc/NX/player/packages/
src_install()
{
local NXROOT=/opt/NX
# dodir /etc/NX/localhost
# echo 'PlayerRoot = "'"${NXROOT}"'"' > ${D}/etc/NX/localhost/player.cfg
dodir /opt
tar xozf nxclient.tar.gz -C "${D}"/opt
tar xozf nxplayer.tar.gz -C "${D}"/opt
make_wrapper nxplayer ./nxplayer ${NXROOT}/bin ${NXROOT}/lib || die
# Add icons/desktop entries (missing in the tarball)
cd "${D}"/${NXROOT}/share/icons
for size in *; do
dodir /usr/share/icons/hicolor/${size}/apps
for icon in desktop icon; do
dosym /usr/NX/share/icons/${size}/nxplayer-${icon}.png \
/usr/share/icons/hicolor/${size}/apps
done
done
make_desktop_entry "nxplayer" "NX Player" nxplayer-icon
}