Bug 203316 - perl's ports build framework bug (devel/p5-App-cpanminus net/p5-Net-Server make package fail)
Summary: perl's ports build framework bug (devel/p5-App-cpanminus net/p5-Net-Server ma...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Jun Kuriyama
URL:
Keywords:
Depends on:
Blocks: 206847
  Show dependency treegraph
 
Reported: 2015-09-24 18:53 UTC by oklaspec
Modified: 2016-02-05 09:06 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (kuriyama)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description oklaspec 2015-09-24 18:53:59 UTC
Hi! Building the package of port is failed,
and therefore dependent packages ant repo tree
is imposible to build. Here output:

root@ns2:/usr/ports/devel/p5-App-cpanminus # make package
===>  Building package for p5-App-cpanminus-1.7039
pkg-static: Unable to access file /usr/ports/devel/p5-App-cpanminus/work/stage/usr/local/share/man/man1/cpanm.1.gz: No such file or directory
*** [do-package] Error code 1

Stop in /usr/ports/devel/p5-App-cpanminus.


The file is actually have path ('/share/' - component is difference):
/usr/ports/devel/p5-App-cpanminus/work/stage/usr/local/share/man/man1/cpanm.1.gz
Comment 1 oklaspec 2015-09-24 18:58:08 UTC
actually path:
/usr/ports/devel/p5-App-cpanminus/work/stage/usr/local/man/man1/cpanm.1.gz
Comment 2 oklaspec 2015-09-25 16:00:57 UTC
possible port build system error bug, same error at p5-Net-Server-2.008_1

pkg-static: Unable to access file /usr/ports/net/p5-Net-Server/work/stage/usr/local/share/man/man1/net-server.1.gz: No such file or directory
Comment 3 Andres Montalban 2015-09-25 17:43:57 UTC
Hi,

I'm also affected with this bug for devel/p5-App-cpanminus.

The bug was introduced in this commit: https://github.com/freebsd/freebsd-ports/commit/0a3881946e73bed6ebd8016e2b2ecd90da2b69f1

Specifically here in the pkg-plist file:

 bin/cpanm
-man/man1/cpanm.1.gz
+%%PERL5_MAN1%%/cpanm.1.gz
 %%PERL5_MAN3%%/App::cpanminus.3.gz
 %%PERL5_MAN3%%/App::cpanminus::fatscript.3.gz
 %%SITE_PERL%%/App/cpanminus.pm

Not sure which is the best way to fix it since this change affect all Perl ports.

Hope it gets fixed fast because we use tons of Perl modules.

Thanks!
Comment 4 Tod McQuillin 2015-12-11 03:47:53 UTC
I found this happens when the obsolete variable PERL_VERSION is defined in make.conf (or elsewhere).

In /usr/ports/Mk/Uses/perl5.mk we have:

.if defined(PERL_VERSION)
PERL5_DEPEND=	${PERL5}
THIS_IS_OLD_PERL=	yes
.else

and later:

.if defined(THIS_IS_OLD_PERL)
SITE_MAN1_REL?=	share/man/man1
.else
SITE_MAN1_REL?=	${SITE_PERL_REL}/man/man1
.endif

This is used to populate PERL5_MAN1 which ends up putting the wrong paths in pkg_plist when %%PERL5_MAN1%% is used.

I fixed this by removing PERL_VERSION from /etc/make.conf.  The replacement for this is now DEFAULT_VERSIONS.
Comment 5 oklaspec 2016-02-05 09:06:43 UTC
The problem originally was on 9.3-RELEASE r279048 immediately after system install from sources with empty /etc/make.conf