=== modified file 'profiles/flavor/vserver/parent' --- profiles/flavor/vserver/parent 2014-10-28 05:58:44 +0000 +++ profiles/flavor/vserver/parent 2014-10-28 05:55:00 +0000 @@ -1,3 +1,3 @@ ../../mix-ins/vserver -../../../../ccx-bootstrap/profiles/packages/minimal-dev +../../packages/minimal-dev ../../packages/network-utilities === added directory 'sys-fs' === added directory 'sys-fs/minimal-dev' === added file 'sys-fs/minimal-dev/Manifest' --- sys-fs/minimal-dev/Manifest 1970-01-01 00:00:00 +0000 +++ sys-fs/minimal-dev/Manifest 2013-05-24 14:17:03 +0000 @@ -0,0 +1,1 @@ +EBUILD minimal-dev-0.1.ebuild 1434 SHA256 629c30100a36abd557a9d77be760889cf6cfe8c08b326a884903102638aec5de SHA512 068fe5598e0eb00f2c55cf9cc39c2796405b6b316388e0360ef0754df430da446bb021ce0b40883f66935eb086420b62e5897059dbe86c6225c7f5b399c1ae13 WHIRLPOOL a4bde08e827043589767d318750659c58f5df2081e0bb393287b36bda5c4e92d67d072f3916e611ea8cbdda15b9487a80a87810c68d97c7fe04b9e9df47932c9 === added file 'sys-fs/minimal-dev/minimal-dev-0.1.ebuild' --- sys-fs/minimal-dev/minimal-dev-0.1.ebuild 1970-01-01 00:00:00 +0000 +++ sys-fs/minimal-dev/minimal-dev-0.1.ebuild 2013-05-24 14:17:03 +0000 @@ -0,0 +1,45 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/static-dev/static-dev-0.1.ebuild,v 1.15 2013/04/27 09:51:05 vapier Exp $ + +DESCRIPTION="A minimal, statically managed /dev suitable for vservers" +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86" +IUSE="" + +RDEPEND="sys-apps/makedev" + +pkg_preinst() { + if [[ -d ${ROOT}/dev/.udev || -c ${ROOT}/dev/.devfs ]] || \ + ! awk '$2 == "/dev" && $3 == "devtmpfs" { exit 1 }' /proc/mounts ; then + echo "" + eerror "We have detected that you currently use udev or devfs or devtmpfs" + eerror "and this ebuild cannot install to the same mount-point." + eerror "Please reinstall the ebuild (as root) like follows:" + eerror "" + eerror "mkdir /tmp/newroot" + eerror "mount -o bind / /tmp/newroot" + eerror "ROOT=/tmp/newroot/ emerge sys-fs/static-dev" + eerror "umount /tmp/newroot" + die "Cannot install on udev/devfs tmpfs." + fi +} + +pkg_postinst() { + MAKEDEV -d "${ROOT}"/dev full null ptmx random tty urandom zero + # TODO check actual device numbers + find "${ROOT}"/dev -xdev \( -type c -or -type b \) -and -not \( \ + -name full -or \ + -name null -or \ + -name ptmx -or \ + -name random -or \ + -name tty -or \ + -name urandom -or \ + -name zero \) -delete + + # remove broken symlinks + find -L "${ROOT}"/dev -xdev -type l -delete +}