Problem Installing Perl inside Jail with NO_STAGE

horst leitenmueller horst.leitenmueller at liwest.at
Wed Jul 30 11:10:04 UTC 2014


hi,

so written together and tested a lot all INSIDE JAIL !

BASEINFO 
	all in FreeBSD 9.1 p4 amd64
	jails setup with guidelines of http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails-application.html


PROBLEM 1  perl portugrade problem with backup path

root at jboss1:/ # portupgrade -o lang/perl5.16 -f lang/perl5.14
** Detected a package name change: perl (lang/perl5.14) -> 'perl5' (lang/perl5.16)
--->  Upgrading 'perl-5.14.4' to 'perl5-5.16.3_11' (lang/perl5.16)
--->  Building '/usr/ports/lang/perl5.16' with make flags: -DDISABLE_CONFLICTS
===>  Cleaning for perl5-5.16.3_11
/!\ WARNING /!\
pkg_install EOL is scheduled for 2014-09-01. Please migrate to pkgng
http://blogs.freebsdish.org/portmgr/2014/02/03/time-to-bid-farewell-to-the-old-pkg_-tools/
If you do not want to see this message again set NO_WARNING_PKG_INSTALL_EOL=yes in your make.conf

..... build part

/bin/mkdir -p /s/portbuild/usr/ports/lang/perl5.16/work/stage/usr/local/lib/perl5/5.16/BSDPAN/ExtUtils
install  -o root -g wheel -m 444  /s/portbuild/usr/ports/lang/perl5.16/work/BSDPAN-20111107/ExtUtils/Packlist.pm /s/portbuild/usr/ports/lang/perl5.16/work/stage/usr/local/lib/perl5/5.16/BSDPAN/ExtUtils/Packlist.pm
====> Compressing man pages (compress-man)
--->  Backing up the old version
tar: Failed to open '/perl-5.14.4.tbz'
** Backup failed.
** Listing the failed packages (-:ignored / *:skipped / !:failed)
	! lang/perl5.16 (perl-5.14.4)	(backup error)


not working 

i tried a lot of things to change the path for backup no chance…



PROBLEM 2

root at jboss1:/usr/ports/lang/perl5.14 # make deinstall
===>  Deinstalling for lang/perl5.14
root at jboss1:/usr/ports/lang/perl5.14 # make reinstall
===>  Building package for perl5.14-5.14.4_7
Creating package /s/portbuild/usr/ports/lang/perl5.14/work/pkg/perl5.14-5.14.4_7.tbz
Registering depends:.
Registering conflicts: perl5.*-* perl5-*.
Creating bzip'd tar ball in '/s/portbuild/usr/ports/lang/perl5.14/work/pkg/perl5.14-5.14.4_7.tbz'
tar: could not chdir to '/s/portbuild/usr/ports/lang/perl5.14/work/stage/s/usr-local'

*** [do-package] Error code 1

Stop in /usr/ports/lang/perl5.14.
*** [install] Error code 1

Stop in /usr/ports/lang/perl5.14.
*** [reinstall] Error code 1

Stop in /usr/ports/lang/perl5.14.


important here the s/usr-local is a symlink to 

ls -la /usr/jails/mroot/usr/
lrwxr-xr-x   1 root  wheel   14 Jun 25  2013 local -> ../s/usr-local

and these are the directories existing

ls -la /s/portbuild/usr/ports/lang/perl5.14/work/stage/usr/local/

means staging is taking the symlink information and not the symlinked path => error
not possible to install 

with the NOT allowed switch NO_STAGING i get a workaround to prevent from this problem 
(already described 9 months before... http://lists.freebsd.org/pipermail/freebsd-ports/2013-October/086895.html)


PROBLEM 2 is my real problem and i can’t geht it running!

because of THIS i changed to NO_STAGE=yes in /etc/make.conf 
and commented out the find with the $STAGEDIR which is empty if NO_STAGE

if an other way please tell me, i have 3 more base machines with about 15 jails per machine


------------------------------------------------------
Ing. DI Horst Leitenmueller
Sperlstr. 11
4040 Linz

tel.: +43 650 2042702
email: horst.leitenmueller at liwest.at
------------------------------------------------------

On 30 Jul 2014, at 07:15, horst leitenmueller <horst.leitenmueller at liwest.at> wrote:

> hi
> 
> is NO_STAGE=yes in /etc/make.conf  a switch or not ?
> 
> if yes all Makefiles should / have to handle this means ${STAGEDIR} should be set correct in case of perl5.16.x
> otherwise you have my error 
> 
> in the makefile of perl5.16
> 
> 	${INSTALL_DATA} ${WRKDIR}/perl5_version ${STAGEDIR}${PREFIX}/etc
>>>> 	${FIND} ${STAGEDIR} -name '*.bs' -size 0 -delete
> .if ${OSVERSION} >= 900022
> 
> if not then NO_STAGE should be described at NOT USABLE at all but with this i have problems inside of Jails with a Read Only part
> (i will describe my problems with that in a separate mail)
> 
> 
> my problem
> 
> i just want to update my base systems to newest version of perl (from 5.14 to current 5.16 )
> and all jails 
> 
> and change to new package system pkgng
> 
> and perl 5.16 ist not possible to install inside of jails  <=  mail will follow with all constellations testet
> 
> 
> 
> 
> On 29 Jul 2014, at 15:16, Kurt Jaeger <lists at opsec.eu> wrote:
> 
>> Hi!
>> 
>>> i have a problem installing perl inside jail 
>> 
>> One hint: If you add "NO_STAGE" to a Makefile, this does not
>> make this Makefile an "NO_STAGE" Makefile.
>> 
>> So, again: What is your problem ?
>> 
>> -- 
>> pi at opsec.eu            +49 171 3101372                         6 years to go !
>> _______________________________________________
>> freebsd-ports at freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
> 
> _______________________________________________
> freebsd-ports at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"



More information about the freebsd-ports mailing list