Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 294758 - Request for acceptance of Prefix modifications to dev-perl and perl-core ebuilds
Summary: Request for acceptance of Prefix modifications to dev-perl and perl-core ebuilds
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Gentoo Perl team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-26 21:18 UTC by Fabian Groffen
Modified: 2010-01-14 19:19 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Fabian Groffen gentoo-dev 2009-11-26 21:18:28 UTC
For all these ebuilds the perl herd is listed as maintainer.

The following list of ebuilds in gentoo-x86 have changes compared when to the Gentoo Prefix tree.  Please review the changes and raise objections, if any.  Thanks.

dev-perl:

--- Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild       2009-09-23 19:35:31 +0200
+++ Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild       2009-09-26 15:56:08 +0200
@@ -26 +26 @@
-myconf="${myconf} /usr"
+myconf="${myconf} --lib=${EPREFIX}/usr ${EPREFIX}/usr"


--- DBD-Pg/DBD-Pg-2.15.1.ebuild 2009-10-16 16:35:34 +0200
+++ DBD-Pg/DBD-Pg-2.15.1.ebuild 2009-10-21 21:19:00 +0200
@@ -28 +28 @@
-       postgres_include="$(readlink -f /usr/include/postgresql)"
+       postgres_include="$(readlink -f ${EPREFIX}/usr/include/postgresql)"


--- Net-DNS/Net-DNS-0.65.ebuild 2009-09-27 17:06:58 +0200
+++ Net-DNS/Net-DNS-0.65.ebuild 2009-09-30 19:38:38 +0200
@@ -26,0 +27 @@
+PATCHES=( ${FILESDIR}/${PN}-0.64-ar.patch )

Net-DNS-0.64-ar.patch:

The linker on Darwin/x86 needs archives with an index, so create one.

--- Makefile.PL
+++ Makefile.PL
@@ -260,7 +260,7 @@
        cover
 
 netdns$(LIB_EXT): netdns$(OBJ_EXT)
-       $(AR) '.($^O eq 'MSWin32' && $Config{'cc'} eq 'cl'?'/OUT:':'cr ').
+       $(AR) '.($^O eq 'MSWin32' && $Config{'cc'} eq 'cl'?'/OUT:':'crs ').
          'netdns$(LIB_EXT) netdns$(OBJ_EXT)
 
 ';


--- Net-SSLeay/Net-SSLeay-1.35.ebuild   2009-03-21 03:09:30 +0100
+++ Net-SSLeay/Net-SSLeay-1.35.ebuild   2009-11-03 11:01:30 +0100
@@ -24,0 +25,3 @@
+export OPENSSL_PREFIX=${EPREFIX}/usr
+
+myconf="${myconf} ${EPREFIX}/usr"


--- PortageXS/PortageXS-0.02.10.ebuild  2009-04-15 21:07:08 +0200
+++ PortageXS/PortageXS-0.02.10.ebuild  2009-10-29 17:48:19 +0100
@@ -5 +5 @@
-inherit perl-module
+inherit perl-module eutils prefix
@@ -23,0 +24,8 @@
+       cd "${S}"
+       epatch "${FILESDIR}"/${PN}-0.02.09-prefix.patch
+       eprefixify \
+               lib/PortageXS/Core.pm \
+               lib/PortageXS.pm \
+               usr/bin/portagexs_client \
+               usr/sbin/portagexsd
+
@@ -35 +43 @@
-               cp -r "${S}"/usr "${D}"
+               cp -r "${S}"/usr "${ED}"
@@ -37 +45 @@
-       cp -r "${S}"/etc "${D}"
+       cp -r "${S}"/etc "${ED}"
@@ -41 +49 @@
-       if [ -d /etc/portagexs ]; then
+       if [ -d "${EPREFIX}"/etc/portagexs ]; then

PortageXS-0.02.09-prefix.patch:

http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/dev-perl/PortageXS/files/PortageXS-0.02.09-prefix.patch


--- SGMLSpm/SGMLSpm-1.03-r5.ebuild      2007-07-12 11:05:38 +0200
+++ SGMLSpm/SGMLSpm-1.03-r5.ebuild      2009-04-11 17:52:07 +0200
@@ -30 +30 @@
-       sed -i -e "s:SPECDIR = \${PERL5DIR}:SPECDIR = ${D}/usr/share/SGMLS:" Makefile
+       sed -i -e "s:SPECDIR = \${PERL5DIR}:SPECDIR = ${ED}/usr/share/SGMLS:" Makefile
@@ -32,0 +33,6 @@
+
+       sed -i \
+               -e "s:PERL = :PERL = ${EPREFIX}:" \
+               -e "s:PERL5DIR = \${D}:PERL5DIR = ${ED}:" \
+               -e "s:BINDIR = \${D}:BINDIR = ${ED}:" \
+               -e "s:HTMLDIR = \${D}:HTMLDIR = ${ED}:" Makefile
@@ -42 +48 @@
-#      cd ${D}/usr/lib/${package}/vendor_perl/${version}
+#      cd ${ED}/usr/lib/${package}/vendor_perl/${version}


--- libwww-perl/libwww-perl-5.834.ebuild        2009-11-22 11:49:57 +0100
+++ libwww-perl/libwww-perl-5.834.ebuild        2009-11-26 21:53:05 +0100
@@ -28,3 +28,10 @@
-       dosym /usr/bin/lwp-request /usr/bin/GET
-       dosym /usr/bin/lwp-request /usr/bin/POST
-       dosym /usr/bin/lwp-request /usr/bin/HEAD
+
+       touch "${T}"/lowercase
+       if [[ ! -f ${T}/LOWERCASE ]] ; then
+               # most OSX users are on a case-INsensitive filesystem, so don't install
+               # these, as in particular HEAD will collide with head (coreutils)
+               # this also applies for interix (windows underneath)
+               dosym /usr/bin/lwp-request /usr/bin/GET
+               dosym /usr/bin/lwp-request /usr/bin/POST
+               dosym /usr/bin/lwp-request /usr/bin/HEAD
+       fi


--- math-pari/math-pari-2.01080602.ebuild       2009-11-13 03:17:34 +0100
+++ math-pari/math-pari-2.01080602.ebuild       2009-11-14 18:23:39 +0100
@@ -11 +11 @@
-inherit perl-module
+inherit perl-module eutils
@@ -48,0 +49,2 @@
+
+       epatch "${FILESDIR}"/${PN}-darwin.patch
@@ -57 +59,3 @@
-       use sparc && myconf="${myconf} machine=none"
+       if use sparc ; then
+               myconf="${myconf} machine=none"
+       fi

math-pari-darwin.patch:

On Darwin, libm doesn't exist, its contents is included in libSystem 
(equivalent of libc)

--- Makefile.PL
+++ Makefile.PL
@@ -80,7 +80,7 @@
 $os = $Config{osname};
 
 $define .= " -DPARI_VERSION_EXP=$pari_version -DDEBUG_PARI";
-$libs = "-lm";
+$libs = $os eq "darwin" ? "" : "-lm";
 $libs .= " $common::parilib" if $common::parilib;
 $noexp2 = '';                  # Should be used for generation of paricfg.h


--- perl-tk/perl-tk-804.028-r2.ebuild   2009-06-11 19:35:33 +0200
+++ perl-tk/perl-tk-804.028-r2.ebuild   2009-06-12 19:25:46 +0200
@@ -33 +33,2 @@
-       "${FILESDIR}"/${PN}-CVE-2008-0553.patch )
+       "${FILESDIR}"/${PN}-CVE-2008-0553.patch
+       "${FILESDIR}"/${PN}-804.027-interix-x11.patch )
@@ -35 +36 @@
-myconf="X11ROOT=/usr XFT=1 -I/usr/include/ -l/usr/$(get_libdir)"
+myconf="X11ROOT=${EPREFIX}/usr XFT=1 -I${EPREFIX}/usr/include/ -l${EPREFIX}/usr/$(get_libdir)"

perl-tk-804.027-interix-x11.patch:

mduft unfortunately didn't document this one

--- Tk-804.027/myConfig
+++ Tk-804.027/myConfig
@@ -15,6 +15,8 @@
 $gccopt = "";
 @macro = ( macro => {} );
 
+$X11=$ENV{X11};
+
 if (defined $Config{'gccversion'})
  {
   $ver = $Config{'gccversion'};



perl-core:

--- Compress-Raw-Zlib/Compress-Raw-Zlib-2.023.ebuild    2009-11-10 11:36:59 +0100
+++ Compress-Raw-Zlib/Compress-Raw-Zlib-2.023.ebuild    2009-11-14 18:23:27 +0100
@@ -27,2 +27,2 @@
-               INCLUDE = /usr/include
-               LIB = /usr/$(get_libdir)
+               INCLUDE = ${EPREFIX}/usr/include
+               LIB = ${EPREFIX}/usr/$(get_libdir)
Comment 1 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-11-26 22:03:10 UTC
1. The case-sensitive test, what if ${T} is on a different partition that IS case-sensitive and ${PREFIX}/usr is on a partition that isn't?
2. I think these should go in with revbumps, so non-prefix users can spot if they break stuff.
3. Otherwise looks ok, but tove should review too.
Comment 2 Fabian Groffen gentoo-dev 2009-11-27 08:51:07 UTC
(In reply to comment #1)
> 1. The case-sensitive test, what if ${T} is on a different partition that IS
> case-sensitive and ${PREFIX}/usr is on a partition that isn't?

That's a good one.  I think we could try and see if "${EPREFIX}"/BIN/SH exists, and if so, assume we have a case-INsensitive filesystem.  A /bin/sh should never be missing at this point, At the same time (thinking about binpkgs and permissions as mandated by PMS) it's better to rm these symlinks in pkg_preinst when we determine that the filesystem we're about to install into is case-INsensitive.  I'll update the ebuild.

> 2. I think these should go in with revbumps, so non-prefix users can spot if
> they break stuff.

All of them, or only those that add patches to the sources?
Comment 3 Fabian Groffen gentoo-dev 2009-11-27 09:01:41 UTC
Fail, collision-protect runs before.  pkg_preinst is too late it seems.
Comment 4 Torsten Veller (RETIRED) gentoo-dev 2009-11-27 10:48:24 UTC
(In reply to comment #0)
> --- Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild       2009-09-23 19:35:31 +0200
> +++ Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild       2009-09-26 15:56:08 +0200
> @@ -26 +26 @@
> -myconf="${myconf} /usr"
> +myconf="${myconf} --lib=${EPREFIX}/usr ${EPREFIX}/usr"

I've added the --lib part and removed the /usr.


> --- Net-SSLeay/Net-SSLeay-1.35.ebuild   2009-03-21 03:09:30 +0100
> +++ Net-SSLeay/Net-SSLeay-1.35.ebuild   2009-11-03 11:01:30 +0100
> @@ -24,0 +25,3 @@
> +export OPENSSL_PREFIX=${EPREFIX}/usr
> +
> +myconf="${myconf} ${EPREFIX}/usr"

I removed myconf.


> --- PortageXS/PortageXS-0.02.10.ebuild  2009-04-15 21:07:08 +0200
> +++ PortageXS/PortageXS-0.02.10.ebuild  2009-10-29 17:48:19 +0100

> http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/dev-perl/PortageXS/files/PortageXS-0.02.09-prefix.patch

PortageXS is ian's.


> math-pari-darwin.patch:
> 
> On Darwin, libm doesn't exist, its contents is included in libSystem 
> (equivalent of libc)

Are you going to bug upstream?
Comment 5 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-11-27 22:03:35 UTC
(In reply to comment #2)
> when we determine that the filesystem we're about to install into is
> case-INsensitive.  I'll update the ebuild.
+1 on /BIN/SH

> > 2. I think these should go in with revbumps, so non-prefix users can spot if
> > they break stuff.
> All of them, or only those that add patches to the sources?
ALL of them.
Comment 6 Fabian Groffen gentoo-dev 2009-11-28 14:07:23 UTC
(In reply to comment #4)
> (In reply to comment #0)
> > --- Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild       2009-09-23 19:35:31 +0200
> > +++ Crypt-SSLeay/Crypt-SSLeay-0.57.ebuild       2009-09-26 15:56:08 +0200
> > @@ -26 +26 @@
> > -myconf="${myconf} /usr"
> > +myconf="${myconf} --lib=${EPREFIX}/usr ${EPREFIX}/usr"
> 
> I've added the --lib part and removed the /usr.

ebuild is fine now, thanks

> > --- Net-SSLeay/Net-SSLeay-1.35.ebuild   2009-03-21 03:09:30 +0100
> > +++ Net-SSLeay/Net-SSLeay-1.35.ebuild   2009-11-03 11:01:30 +0100
> > @@ -24,0 +25,3 @@
> > +export OPENSSL_PREFIX=${EPREFIX}/usr
> > +
> > +myconf="${myconf} ${EPREFIX}/usr"
> 
> I removed myconf.

I only need the additional export of OPENSSL_PREFIX now.

> > --- PortageXS/PortageXS-0.02.10.ebuild  2009-04-15 21:07:08 +0200
> > +++ PortageXS/PortageXS-0.02.10.ebuild  2009-10-29 17:48:19 +0100
> 
> > http://overlays.gentoo.org/proj/alt/browser/trunk/prefix-overlay/dev-perl/PortageXS/files/PortageXS-0.02.09-prefix.patch
> 
> PortageXS is ian's.

I'll try to get a hold of him.

> > math-pari-darwin.patch:
> > 
> > On Darwin, libm doesn't exist, its contents is included in libSystem 
> > (equivalent of libc)
> 
> Are you going to bug upstream?

I was it if weren't a useless patch.  It is an overzealous attempt to "get things right" by the original author.  Darwin systems just have a symlink libm.dylib -> libSystem.dylib, so adding -lm doesn't hurt although it isn't really useful either, hence I removed the patch, leaving no more differences for the latest version.

(In reply to comment #5)
> (In reply to comment #2)
> > when we determine that the filesystem we're about to install into is
> > case-INsensitive.  I'll update the ebuild.
> +1 on /BIN/SH

new check looks like this:

    # Perform a check to see if the live filesystem is case-INsensitive
    # or not.  If it is, the symlinks GET, POST and in particular HEAD
    # will collide with e.g. head from coreutils.  While under Linux
    # having a case-INsensitive filesystem is really unusual, most Mac
    # OS X users are on it, and also Interix users deal with
    # case-INsensitivity since Windows is underneath.

    # bash should always be there, if we can find it in capitals, we're
    # on a case-INsensitive filesystem.
    if [[ ! -f ${EROOT}/BIN/BASH ]] ; then
        dosym /usr/bin/lwp-request /usr/bin/GET
        dosym /usr/bin/lwp-request /usr/bin/POST
        dosym /usr/bin/lwp-request /usr/bin/HEAD
    fi

> > > 2. I think these should go in with revbumps, so non-prefix users can spot if
> > > they break stuff.
> > All of them, or only those that add patches to the sources?
> ALL of them.

Ok.
Comment 7 Jonathan Callen (RETIRED) gentoo-dev 2009-12-16 22:04:37 UTC
This bug was just brought to my attention: I had already merged the only change for perl-core that didn't simply entail adding keywords.  As that change simply prefixes "${EPREFIX}" in a couple of places, and explicitly sets EPREFIX to "" when on a non-prefix system, I could not see any way in which it could break.  My apologies if this causes any issues.
Comment 8 Fabian Groffen gentoo-dev 2009-12-17 07:49:27 UTC
thanks Jonathan, does this mean entire perl-core has been moved now?
Comment 9 Fabian Groffen gentoo-dev 2010-01-14 19:19:36 UTC
all ebuilds transferred, thanks