make-deb-manifest (1869B)
1 #!/bin/bash 2 3 # Copyright (C) 2010 Daniel Hokka Zakrisson <daniel@hozac.com> 4 # 5 # This program is free software; you can redistribute it and/or modify 6 # it under the terms of the GNU General Public License as published by 7 # the Free Software Foundation; version 2 of the License. 8 # 9 # This program is distributed in the hope that it will be useful, 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 # GNU General Public License for more details. 13 # 14 # You should have received a copy of the GNU General Public License 15 # along with this program; if not, write to the Free Software 16 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 17 18 ## Usage: make-deb-manifest <basename> <destdir> <datfile> 19 20 name=$2/$1 21 dest=$2 22 data=$3 23 24 getname() { 25 if test $1 = "lib"; then 26 fullname="$dest/libvserver0" 27 elif test $1 = "devel"; then 28 fullname="$dest/libvserver0-dev" 29 elif test $1 = "base"; then 30 fullname="$name" 31 else 32 fullname="$name-$1" 33 fi 34 } 35 36 for i in {core,build,legacy,sysv,lib,devel,base,python}; do 37 getname $i 38 rm -f ${fullname}.conffiles 39 done 40 41 DESTDIR=debian/tmp 42 while read style file; do 43 test "$file" || continue 44 case "$style" in 45 (\#*) continue;; 46 esac 47 getname $style 48 set -o noglob 49 set -- $file 50 set +o noglob 51 if test "$2"; then 52 file="$2" 53 for i in ${DESTDIR}$file; do 54 test "${file#/etc/}" != "$file" && continue 55 echo "${i#${DESTDIR}}" >>${fullname}.conffiles 56 done 57 fi 58 for i in ${DESTDIR}$file; do 59 i=${i#${DESTDIR}} 60 dir=`dirname $i` 61 mkdir -p $fullname$dir 62 if test -d "$DESTDIR${i%/}"; then 63 if test "${i%/}" != "$i"; then 64 mkdir -p $fullname${i%/} 65 else 66 cp -a $DESTDIR$i $fullname$dir 67 fi 68 else 69 cp -d --preserve=all $DESTDIR${i%/} $fullname$dir 70 fi 71 done 72 done < $data