Magellan Linux

Contents of /smage/branches/alx07x-unstable/include/cleanutils.sminc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 15378 - (show annotations) (download)
Mon Aug 31 08:15:55 2020 UTC (3 years, 8 months ago) by niro
File size: 1066 byte(s)
-release unstable
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 pushd ${rootdir}
21 install -d ${BUILDDIR}/zap
22 local dirs
23 shift
24 local x
25 for x in ${*}
26 do
27 if [ "${x##*/}" = "${x}" ]
28 then
29 #one deep
30 mv ${rootdir}${x} ${BUILDDIR}/zap
31 else
32 #more than one deep; create intermediate directories
33 dirs=${x%/*}
34 install -d ${BUILDDIR}/zap/${dirs}
35 mv ${rootdir}${x} ${BUILDDIR}/zap/${dirs}
36 fi
37 done
38 rm -rf ${rootdir}*
39 mv ${BUILDDIR}/zap/* ${rootdir}
40 popd
41 echo -e "${COLBLUE}=== ${COLGREEN}zapmost done for ${rootdir}${COLDEFAULT}"
42 }