Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 03 Sep 2016 00:25:35 +0200
From:      Alexander Leidinger <Alexander@leidinger.net>
To:        current@freebsd.org
Subject:   Installworld fails when /usr/bin and /usr/sbin are different FS / how to use symlinks in installworld?
Message-ID:  <20160903002535.Horde.n5qG88hbIXXvxY8xCMGjSbZ@webmail.leidinger.net>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi,

background info:
  - iocage (jail management) uses official release tarballs
  - I want to install a jail from a specific src I compiled withour  
creating release tarballs (-> faster time to market), so I want to  
convince iocage to use what I provide via installworld
  - jails of type "basejail" (jails read-only-share the base system)  
in iocage are handled via seperate zfs datasets for each directory
  - as such /usr/bin and /usr/sbin are different datasets

I got this error in installworld:
---snip---
===> usr.sbin/chkgrp (install)
install  -s -o root -g wheel -m 555   chkgrp  
/iocage/base/12.0-r305149M/root/usr/sbin/chkgrp
install  -o root -g wheel -m 444  chkgrp.debug  
/iocage/base/12.0-r305149M/root/usr/lib/debug/usr/sbin/chkgrp.debug
install  -o root -g wheel -m 444 chkgrp.8.gz   
/iocage/base/12.0-r305149M/root/usr/share/man/man8/
===> usr.sbin/chown (install)
install  -s -o root -g wheel -m 555   chown  
/iocage/base/12.0-r305149M/root/usr/sbin/chown
install  -o root -g wheel -m 444  chown.debug  
/iocage/base/12.0-r305149M/root/usr/lib/debug/usr/sbin/chown.debug
install  -o root -g wheel -m 444 chgrp.1.gz   
/iocage/base/12.0-r305149M/root/usr/share/man/man1/
install  -o root -g wheel -m 444 chown.8.gz   
/iocage/base/12.0-r305149M/root/usr/share/man/man8/
===> usr.sbin/chown/tests (install)
install  -o root  -g wheel -m 555  chown-f_test   
/iocage/base/12.0-r305149M/root/usr/tests/usr.sbin/chown/chown-f_test
install  -o root  -g wheel -m 444  Kyuafile   
/iocage/base/12.0-r305149M/root/usr/tests/usr.sbin/chown/Kyuafile
/usr/bin/chgrp -> /usr/sbin/chown
install: link /iocage/base/12.0-r305149M/root/usr/sbin/chown ->  
/iocage/base/12.0-r305149M/root/usr/bin/chgrp: Cross-device link
*** Error code 71

Stop.
make[5]: stopped in /usr/src/usr.sbin/chown
*** Error code 1

Stop.
---snip---

The error message is obvious, it tries to create a hardlink which is  
off course not possible when src and dest of the link are on different  
FS.

My goal of an easy procedure (installworld into target datasets)  
doesn't work like this off course. Do we have an easy way of telling  
installworld to create symlinks instead of hardlinks, or alternatively  
a way to tell to copy instead of doing a hardlink if the install hits  
the cross-device case?

Bye,
Alexander.

-- 
http://www.Leidinger.net Alexander@Leidinger.net: PGP 0x8F31830F9F2772BF
http://www.FreeBSD.org    netchild@FreeBSD.org  : PGP 0x8F31830F9F2772BF

[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJXyfxfAAoJEKrxQhqFIICEQ1YQAJfbtNNe8TvF+M+9XVRqYsZ9
sNFNXT7I7f7vSPvLrTvNU6V3sKwfAoxmFfHLU18zNBhEPEbeMwkbZnCLlpt2Xpba
bu++ubNZ7U6MCanQYC/X6rR0SzmBefJqXlfW3+RAgO5iBdRnYWYeQ+qB5zPdeaIQ
v9zSSL3n6vR+vOy+tdC39qmK2Q47ZDW5pQ58/p8LegrGk0QTMsyV6X//NXRxZs+Q
sCe7YsgH8JPQmjW+yBDh6egBOlbNMw6SsP/Mi9xOxUe1CIsr7LxaHrw8JlgT/caR
crOgIBppdHx/jw+z3rAIPkhKnGTjoNkpmQ4aYFl5sXLUidBZha9KZtBP1a9d/qf3
mebbUSGTvJNLudoGRd1LC+CrIpu/NgvpTqRHzotJuy0nJdf7LNXJoFbufZ+7Wkl+
ArFwAEYGdVJxggwMr5RI0A8okcr1XEzQd/71WJHj2fkLm0fGMcTMm680c7JrZDzR
uRN+oVJA5TufNdLYwl1l+NqAFw37u1n+UYIDQmBAmrs9lehoaDsK+P5qPAR3Rc2H
nGYfCEwXWz1uBkZ9JDE446A0Msaw50PiaKJ63BLUOt2MZfffSLmJ4A5SAj4NIv0Q
abozIv0iMv9pCOF/fgG3I1zkdwWxkQ+BOMcFzSofecuHcAyawBgtFoayjCdGcCjO
ifn/bOQJ1XN7K2Rg6aSU
=Ho+9
-----END PGP SIGNATURE-----

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160903002535.Horde.n5qG88hbIXXvxY8xCMGjSbZ>