Magellan Linux

Contents of /branches/R11-stable/include/cleanutils.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 19316 - (show annotations) (download)
Tue Sep 3 15:52:00 2013 UTC (11 years, 2 months ago) by niro
File size: 1042 byte(s)
-revert last commit
1 # package clean utilities
2 # $Id$
3
4 #
5 # taken from gentoo (livecd-ng)
6 #
7 #"zapmost" is used to remove an entire directory tree, *except* for certain
8 #specified files. Arg 1 is the tree, args 2+ are the items to keep, which can
9 #be files or directories at the root or deeper levels.
10
11 #example calls:
12 #zapmost /usr/share/locales en_us
13 #zapmost /usr/share/terminfo l/linux
14 zapmost()
15 {
16 local rootdir
17 rootdir="${1}/"
18 [ ! -e "$rootdir" ] && echo "zapmost: $rootdir not found; skipping..." && return 1
19 echo -e "${COLBLUE}*** ${COLGREEN}Running zapmost for ${rootdir}${COLDEFAULT}"
20 install -d ${BUILDDIR}/zap
21 local dirs
22 shift
23 local x
24 for x in ${*}
25 do
26 if [ "${x##*/}" = "${x}" ]
27 then
28 #one deep
29 mv ${rootdir}${x} ${BUILDDIR}/zap
30 else
31 #more than one deep; create intermediate directories
32 dirs=${x%/*}
33 install -d ${BUILDDIR}/zap/${dirs}
34 mv ${rootdir}${x} ${BUILDDIR}/zap/${dirs}
35 fi
36 done
37 rm -rf ${rootdir}*
38 mv ${BUILDDIR}/zap/* ${rootdir}
39 echo -e "${COLBLUE}=== ${COLGREEN}zapmost done for ${rootdir}${COLDEFAULT}"
40 }