Alternativa programu relink

Martin `MJ' Mares mj na ucw.cz
Středa Červen 16 17:09:44 CEST 2004


> Pouzivate neco podobneho, vite o necem podobnem ? Sverte se prosim, i
> soukrome ...

:-)  Ja pouzivam uz peknych par let svou zcela primitivni utilitku sync-opt,
ktera pro packages v /opt/<package> generuje symlinky do /opt/{bin,sbin,lib,man,include}.

					Martin


#!/bin/sh
# This is /opt syncer as written by Martin Mares <mj na ucw.cz>

OPT=/opt
DO=
DIRS="bin sbin lib man include"

[ "$1" = -s ] && DO="echo #"

function add_pkgs
{
	local D="$1"
	local F=0
	local T X
	for T in $DIRS ; do
		if [ -d $D$T -a -n "$D" ] ; then
			[ $F = 0 ] && echo "Adding $D..."
			for X in `find $D$T -not -type d` ; do
				R=`echo $X | sed "s@^$D@@"`
				RD=`echo $R | sed 's@\([^/]\+\)$@@'`
				B=`echo $R | sed "s@[^/]\+/@../@g;s@/\\([^/]\\+\\)\\$@/$X@"`
				[ -d $RD ] || $DO mkdir -p $RD
				$DO ln -s $B $R
			done
			F=1
		fi
	done
	if [ $F = 0 ] ; then
		for T in $D* ; do
			[ -d $T ] && add_pkgs $T/
		done
	fi
}

cd $OPT
$DO rm -rf $DIRS
$DO mkdir -p $DIRS
add_pkgs ""

echo "Running ldconfig"
$DO ldconfig


Další informace o konferenci Linux