12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #!/bin/sh
- if which readlink >/dev/null; then
- points_to() {
- local DST
- local SRC
- DST="$1"
- SRC="$2"
- [ `readlink "$DST"` = "$SRC" ]
- }
- else
-
-
- false
- fi
- awk '$1 == "dest" && $3 != "/" { print $2, $3 }' /etc/opkg.conf | \
- while read DEST DDIR; do
- echo "Processing destination $DEST..." >&2
-
- [ -d "$DDIR" ] || continue
- for LIST in "$DDIR/usr/lib/opkg/info"/*.list; do
- [ -e "$LIST" ] || continue;
- PKG=${LIST##*/}
- PKG=${PKG%.list}
- echo " Linking package ${PKG} from $DEST..." >&2
- while read FSRC; do
- FDST=${FSRC#$DDIR}
-
- FDSTDIR=${FDST%/*}/
- [ ! -d "$FDSTDIR" ] && {
- echo " Creating directory $FDSTDIR..." >&2
- mkdir -p "$FDSTDIR"
- }
- if [ ! -e "$FDST" ] || [ -L "$FDST" ]; then
-
- if [ -L "$FDST" ] && [ `readlink "$FDST"` = "$FSRC" ]; then
- :
-
- else
- echo " linking $FSRC -> $FDST" >&2
- ln -sf "$FSRC" "$FDST"
- fi
- else
- echo " Not replacing existing file $FDST!" >&2
- fi
- done < "$LIST"
- done
- done
|