Makefile error in lang/perl5.8?

James Long list at museum.rain.com
Sun Feb 15 20:37:27 PST 2009


I'm attempting to:

portupgrade -p perl-threaded-5.8.9

My ports tree is updated to the 5.8.9_1 revision:

# New ports collection makefile for:    perl5
# Date created:         16 April 1995
# Whom:                 markm
#
# $FreeBSD: ports/lang/perl5.8/Makefile,v 1.100 2009/02/15 22:42:37 skv Exp $
#

PORTNAME=       perl
PORTVERSION=    ${PERL_VER}
PORTREVISION=   1
CATEGORIES=     lang devel perl5
MASTER_SITES=   CPAN \
                ${MASTER_SITE_LOCAL:S/$/:local/} \
                http://protey.ru/freebsd/distfiles/:local
MASTER_SITE_SUBDIR=     ../../src \
                        skv/:local
DISTFILES=      ${DISTNAME}${EXTRACT_SUFX} \
                BSDPAN-${BSDPAN_VERSION}${EXTRACT_SUFX}:local
DIST_SUBDIR=    perl
...


portupgrade fails with:


/bin/mkdir -p /usr/local/lib/perl5/5.8.9/BSDPAN/.
install  -o root -g wheel -m 444  /usr/ports/lang/perl5.8/work/BSDPAN-5.8.9/BSDPAN.pm /usr/local/lib/perl5/5.8.9/BSDPAN/BSDPAN.pm
install: /usr/ports/lang/perl5.8/work/BSDPAN-5.8.9/BSDPAN.pm: No such file or directory
*** Error code 71

Stop in /usr/ports/lang/perl5.8.
*** Error code 1

Stop in /usr/ports/lang/perl5.8.
*** Error code 1

Stop in /usr/ports/lang/perl5.8.
** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade20090215-43761-1d44k1l-0 env UPGRADE_TOOL=portupgrade UPGRADE_PORT=perl-threaded-5.8.9 UPGRADE_PORT_VER=5.8.9 make WITH_THREADS=1 DEPENDS_TARGET=package reinstall
--->  Restoring the old version
...


The actual location of BSDPAN.pm is:

$ locate BSDPAN.pm
/usr/ports/lang/perl5.8/work/BSDPAN-5.8.9_1/BSDPAN.pm

My presumption is that the Makefile's install path of 

/usr/ports/lang/perl5.8/work/BSDPAN-5.8.9/BSDPAN.pm

is erronous in not including the "_1" PORTREVISION value after the
5.8.9 in "BSDPAN-5.8.9".

I applied the diff below to the Makefile, and 
'portupgrade -wp perl-threaded-5.8.9' completed successfully.

Is this the correct fix?  I realize the better fix might be to
include "_${PORTREVISION}" instead of the literal "_1", but since
the BSDPAN_VERSION line did it that way, I copied.

If not correct, can someone please educate me how I might fix
this properly?  If it is correct, can someone please update the
Makefile?


Thanks,

Jim



# diff -u Makefile.orig Makefile
--- Makefile.orig       2009-02-15 19:57:19.000000000 -0800
+++ Makefile    2009-02-15 19:58:31.000000000 -0800
@@ -143,7 +143,7 @@
                ExtUtils/MakeMaker.pm \
                ExtUtils/Packlist.pm
 BSDPAN_VERSION=        ${PORTVERSION}_1
-BSDPAN_WRKSRC= ${WRKDIR}/BSDPAN-${PORTVERSION}
+BSDPAN_WRKSRC= ${WRKDIR}/BSDPAN-${PORTVERSION}_1

 PKGINSTALL=    ${WRKDIR}/pkg-install
 PKGDEINSTALL=  ${WRKDIR}/pkg-deinstall



More information about the freebsd-questions mailing list