diff --git a/scripts/makepkg b/scripts/makepkg index b84d1bd..41e4d6a 100755 --- a/scripts/makepkg +++ b/scripts/makepkg @@ -857,7 +857,7 @@ fi eval "serverlist=${TREE}_servers" if [ "$F_makepkg_scm" = "git" ]; then _serverlist=`GIT_DIR=$fst_root/${TREE}/.git git config --get remote.origin.url 2>/dev/null` - if echo $_serverlist |grep -q :[^/]; then + if [ -n "$_serverlist" ]; then serverlist=$_serverlist fi else @@ -1414,7 +1414,7 @@ fi # check for existing pkg directory if [ -d $startdir/pkg ]; then - msg "Removing existing pkg/ directory..." + msg "Removing existing pkg and pkg.* directories..." rm -rf $startdir/{pkg,pkg.*} fi mkdir -p $startdir/pkg @@ -1475,7 +1475,7 @@ cd $startdir # unwanted files msg "Removing unwanted files..." -for f in `find pkg*/usr/lib/perl? -type f 2> /dev/null` ; do +for f in `find {pkg,pkg.*}/usr/lib/perl? -type f 2> /dev/null` ; do case "$f" in */.packlist|*/perllocal.pod) rm -f "$f" @@ -1483,19 +1483,14 @@ for f in `find pkg*/usr/lib/perl? -type f 2> /dev/null` ; do ;; esac done -rm -f pkg*/{usr{,/local,/share},opt/*}/info/dir 2> /dev/null -for f in `find pkg*/ -type f -name encodings.dir -o -type f -name fonts.dir -o -type f -name fonts.scale` ; do +rm -f {pkg,pkg.*}/{usr{,/local,/share},opt/*}/info/dir 2> /dev/null +for f in `find {pkg,pkg.*}/ -type f -name encodings.dir -o -type f -name fonts.dir -o -type f -name fonts.scale` ; do msg2 "`echo $f | sed 's|pkg[^/]\+||'`" rm -f "$f" done # documentation msg "Preparing package documentation..." -if [ -d pkg/usr/doc ]; then - mkdir -p pkg/usr/share/doc - cp -a pkg/usr/doc/* pkg/usr/share/doc/ - rm -rf pkg/usr/doc -fi if [ ! "`check_option NODOCS`" -a "$NODOCS" = "0" ]; then mkdir -p pkg/usr/share/doc/$pkgname-$pkgver for i in `find src -maxdepth 2 -name ANNOUNCE -o -name AUTHORS -o -name *BUGS* -o -name CHANGES -o -name CONFIGURATION -o -name *COPYING* -o -name *COPYRIGHT* -o -name CREDITS -o -name ChangeLog -o -name Changelog -o -name CHANGELOG -o -name CONTRIBUTORS -o -name *FAQ* -o -name FEATURES -o -name FILES -o -name HACKING -o -name History -o -name HISTORY -o -name INSTALL* -o -name LICENSE -o -name LSM -o -name MANIFEST -o -name NEWS -o -name *README* -o -name *Readme* -o -name SITES -o -name *RELEASE* -o -name RELNOTES -o -name THANKS -o -name TIPS -o -name TODO -o -name VERSION -o -name CONFIGURATION* -o -name GPLLicense` @@ -1503,26 +1498,43 @@ if [ ! "`check_option NODOCS`" -a "$NODOCS" = "0" ]; then cp -a $i pkg/usr/share/doc/$pkgname-$pkgver/ done fi +for d in $startdir/{pkg,pkg.*} +do + [ ! -d $d ] && continue + if [ -d $d/usr/doc ]; then + if [ ! "`check_option NODOCS`" -a "$NODOCS" = "0" ]; then + mkdir -p $d/usr/share/doc/$pkgname-$pkgver + cp -a $d/usr/doc/* $d/usr/share/doc/$pkgname-$pkgver + fi + rm -rf $d/usr/doc + fi -# remove /usr/share/doc/$pkgname-$pkgver directory if empty -if [ -d pkg/usr/share/doc/$pkgname-$pkgver ]; then - rmdir -p --ignore-fail-on-non-empty pkg/usr/share/doc/$pkgname-$pkgver 2> /dev/null - mkdir -p pkg -fi + # remove /usr/share/doc/$pkgname-$pkgver directory if empty + if [ -d $d/usr/share/doc/$pkgname-$pkgver ]; then + rmdir -p --ignore-fail-on-non-empty $d/usr/share/doc/$pkgname-$pkgver 2> /dev/null + mkdir -p pkg + fi -# move /usr/info files to /usr/share/info -if [ -d pkg/usr/info ]; then - mkdir -p pkg/usr/share/info - cp -a pkg/usr/info/* pkg/usr/share/info/ - rm -rf pkg/usr/info -fi + # move /usr/info files to /usr/share/info + if [ -d $d/usr/info ]; then + mkdir -p $d/usr/share/info + cp -a $d/usr/info/* $d/usr/share/info/ + rm -rf $d/usr/info + fi -# move /usr/man files to /usr/share/man -if [ -d pkg/usr/man ]; then - mkdir -p pkg/usr/share/man - cp -a pkg/usr/man/* pkg/usr/share/man/ - rm -rf pkg/usr/man -fi + # move /usr/man files to /usr/share/man + if [ -d $d/usr/man ]; then + mkdir -p $d/usr/share/man + cp -a $d/usr/man/* $d/usr/share/man/ + rm -rf $d/usr/man + fi + + if [ -d "$d/usr/share/icons/hicolor" ]; then + if [ -z "$_F_gnome_iconcache" ]; then + warning "Package $pkgname contains hicolor icons but _F_gnome_iconcache is not set" + fi + fi +done # compress info and manual pages msg "Compressing info and manual pages..." @@ -1542,7 +1554,7 @@ done # check symbolic links msg "Checking symbolic links..." -for d in $startdir/pkg* ; do +for d in $startdir/{pkg,pkg.*} ; do for l in `find $d -type l 2> /dev/null` ; do if [ ! -e "$l" -a ! -e "$d/`ls -l $l | awk '{print $NF}'`" ]; then if [ "$d" = "$startdir/pkg" ]; then @@ -1560,23 +1572,6 @@ for d in $startdir/pkg* ; do done done -if [ -d "$startdir/pkg/usr/share/icons/hicolor" ]; then - if [ -z "$_F_gnome_iconcache" ]; then - warning "Package $pkgname contains hicolor icons but _F_gnome_iconcache is not set" - fi -fi - -if [ -n "$subpkgs" ]; then - for subpkg in "${subpkgs[@]}" - do - if [ -d "$startdir/pkg.$subpkg/usr/share/icons/hicolor" ]; then - if [ -z "$_F_gnome_iconcache" ]; then - warning "Package $subpkg contains hicolor icons but _F_gnome_iconcache is not set" - fi - fi - done -fi - # strip binaries strip_pkg $pkgname if [ -n "$subpkgs" ]; then