--- /usr/portage/net-misc/nxnode/nxnode-3.5.0.3.ebuild 2011-05-22 16:03:45.000000000 +0200 +++ nxnode-3.5.0.3.ebuild 2011-05-23 10:14:02.405743043 +0200 @@ -35,9 +35,40 @@ S=${WORKDIR}/NX +move_dir() +{ + if [[ -e "$1" && ! -L "$1" ]] ; then + mkdir -p "$2" + find "$1" -maxdepth 1 -print0 | \ + while read -d $'\0' src ; do + mv "${src}" "$2" + done + rm -rf "$1" + fi +} + +pkg_setup() { + if [ ! -h ${ROOT}/usr/NX/etc \ + -o ! -h ${ROOT}/usr/NX/var/db \ + -o ! -h ${ROOT}/usr/NX/var/log \ + -o ! -h ${ROOT}/usr/NX/var/run \ + -o ! -h ${ROOT}/usr/NX/home/nx ]; then + ewarn + ewarn "Collisions are expected here." + ewarn "Use COLLISION_IGNORE=\"/usr/NX/var /usr/NX/home\" emerge ... for this package," + ewarn "or remove previous versions of nxnode and nxserver-freeedition first." + ewarn + fi +} + pkg_preinst() { - enewuser nx -1 -1 /usr/NX/home/nx + enewuser nx -1 -1 /var/lib/NX + move_dir ${ROOT}/usr/NX/etc ${ROOT}/etc/NX + move_dir ${ROOT}/usr/NX/var/db ${ROOT}/var/db/NX + move_dir ${ROOT}/usr/NX/home/nx ${ROOT}/var/lib/NX + move_dir ${ROOT}/usr/NX/var/log ${ROOT}/var/log/NX + move_dir ${ROOT}/usr/NX/var/run ${ROOT}/var/run/NX } src_prepare() @@ -56,10 +87,11 @@ dobin bin/$x done - dodir /usr/NX/etc - cp etc/node-debian.cfg.sample "${D}"/usr/NX/etc/node-gentoo.cfg.sample || die - sed -e 's|COMMAND_FUSER = .*|COMMAND_FUSER = "/usr/bin/fuser"|;' -i "${D}"/usr/NX/etc/node-gentoo.cfg.sample || die - cp etc/node.lic.sample "${D}"/usr/NX/etc/node.lic.sample || die + dodir /etc/NX + dosym /etc/NX /usr/NX/etc + cp etc/node-debian.cfg.sample "${D}"/etc/NX/node-gentoo.cfg.sample || die + sed -e 's|COMMAND_FUSER = .*|COMMAND_FUSER = "/usr/bin/fuser"|;' -i "${D}"/etc/NX/node-gentoo.cfg.sample || die + cp etc/node.lic.sample "${D}"/etc/NX/node.lic.sample || die dodir /usr/NX/lib cp -R lib "${D}"/usr/NX || die @@ -71,7 +103,15 @@ cp -R share "${D}"/usr/NX || die dodir /usr/NX/var - cp -R var "${D}"/usr/NX || die + dodir /usr/NX/home + dodir /var/db/NX + dosym /var/db/NX /usr/NX/var/db + dodir /var/lib/NX + dosym /var/lib/NX /usr/NX/home/nx + dodir /var/log/NX + dosym /var/log/NX /usr/NX/var/log + dodir /var/run/NX + dosym /var/run/NX /usr/NX/var/run dodir /etc/init.d newinitd "${FILESDIR}"/nxnode-3.0.0-init nxsensor @@ -80,14 +120,14 @@ pkg_postinst() { # Only install license file if none is found - if [ ! -f /usr/NX/etc/node.lic ]; then - cp "${ROOT}"/usr/NX/etc/node.lic.sample "${ROOT}"/usr/NX/etc/node.lic || die - chmod 0400 "${ROOT}"/usr/NX/etc/node.lic - chown nx:0 "${ROOT}"/usr/NX/etc/node.lic + if [ ! -f "${ROOT}"/etc/NX/node.lic ]; then + cp "${ROOT}"/etc/NX/node.lic.sample "${ROOT}"/etc/NX/node.lic || die + chmod 0400 "${ROOT}"/etc/NX/node.lic + chown nx:0 "${ROOT}"/etc/NX/node.lic fi # only run install on the first time - if [ -f /usr/NX/etc/node.cfg ]; then + if [ -f "${ROOT}"/etc/NX/node.cfg ]; then einfo "Running NoMachine's update script" "${ROOT}"/usr/NX/scripts/setup/nxnode --update else @@ -99,5 +139,5 @@ elog elog " rc-update add nxsensor default" elog - elog "You will also need to change EnableSensor to 1 in /usr/NX/etc/node.cfg" + elog "You will also need to change EnableSensor to 1 in /etc/NX/node.cfg" }