--- /usr/bin/makepkg 2007-08-17 23:30:17.000000000 +0200 +++ bin/makepkg 2007-09-09 18:19:50.000000000 +0200 @@ -924,164 +924,182 @@ fi fi -if [ "$(check_option docs)" = "n" ]; then - # remove info/doc files - msg "Removing info/doc files..." - cd "$startdir/pkg" - #fix flyspray bug #5021 - rm -rf ${DOC_DIRS[@]} -fi +pack() +{ + if [ "$(check_option docs)" = "n" ]; then + # remove info/doc files + msg "Removing info/doc files..." + cd "$startdir/pkg" + #fix flyspray bug #5021 + rm -rf ${DOC_DIRS[@]} + fi + + # move /usr/share/man files to /usr/man + if [ -d $startdir/pkg/usr/share/man ]; then + cd "$startdir" + mkdir -p pkg/usr/man + cp -a pkg/usr/share/man/* pkg/usr/man/ + rm -rf pkg/usr/share/man + fi + + # compress man pages + msg "Compressing man pages..." + find "$startdir"/pkg/{usr{,/local},opt/*}/man -type f 2>/dev/null | while read i ; do + ext="${i##*.}" + fn="${i##*/}" + if [ "$ext" != "gz" -a "$ext" != "bz2" ]; then + # update symlinks to this manpage + find "$startdir"/pkg/{usr{,/local},opt/*}/man -lname "$fn" 2> /dev/null | while read ln ; do + rm -f "$ln" + ln -sf "${fn}.gz" "${ln}.gz" + done + # compress the original + gzip -9 "$i" + fi + done -# move /usr/share/man files to /usr/man -if [ -d $startdir/pkg/usr/share/man ]; then cd "$startdir" - mkdir -p pkg/usr/man - cp -a pkg/usr/share/man/* pkg/usr/man/ - rm -rf pkg/usr/share/man -fi -# compress man pages -msg "Compressing man pages..." -find "$startdir"/pkg/{usr{,/local},opt/*}/man -type f 2>/dev/null | while read i ; do - ext="${i##*.}" - fn="${i##*/}" - if [ "$ext" != "gz" -a "$ext" != "bz2" ]; then - # update symlinks to this manpage - find "$startdir"/pkg/{usr{,/local},opt/*}/man -lname "$fn" 2> /dev/null | while read ln ; do - rm -f "$ln" - ln -sf "${fn}.gz" "${ln}.gz" - done - # compress the original - gzip -9 "$i" - fi -done - -cd "$startdir" - -# strip binaries -if [ "$(check_option strip)" = "y" ]; then - msg "Stripping debugging symbols from libraries..." - find pkg/{,usr,usr/local,opt/*}/lib -type f -not -name "*.dll" -not -name "*.exe" \ - -exec /usr/bin/strip --strip-debug '{}' \; 2>&1 \ - | grep -v "No such file" | grep -v "format not recognized" - msg "Stripping symbols from binaries..." - find pkg/{,usr,usr/local,opt/*}/{bin,sbin} -type f -not -name "*.dll" -not -name "*.exe" \ - -exec /usr/bin/strip '{}' \; 2>&1 \ - | grep -v "No such file" | grep -v "format not recognized" -fi + # strip binaries + if [ "$(check_option strip)" = "y" ]; then + msg "Stripping debugging symbols from libraries..." + find pkg/{,usr,usr/local,opt/*}/lib -type f -not -name "*.dll" -not -name "*.exe" \ + -exec /usr/bin/strip --strip-debug '{}' \; 2>&1 \ + | grep -v "No such file" | grep -v "format not recognized" + msg "Stripping symbols from binaries..." + find pkg/{,usr,usr/local,opt/*}/{bin,sbin} -type f -not -name "*.dll" -not -name "*.exe" \ + -exec /usr/bin/strip '{}' \; 2>&1 \ + | grep -v "No such file" | grep -v "format not recognized" + fi -# remove libtool (.la) files -if [ "$(check_option libtool)" = "n" ]; then - msg "Removing libtool .la files..." - find pkg -type f -name "*.la" -exec rm -f -- '{}' \; -fi + # remove libtool (.la) files + if [ "$(check_option libtool)" = "n" ]; then + msg "Removing libtool .la files..." + find pkg -type f -name "*.la" -exec rm -f -- '{}' \; + fi -# remove empty directories -if [ "$(check_option emptydirs)" = "n" ]; then - msg "Removing empty directories..." + # remove empty directories + if [ "$(check_option emptydirs)" = "n" ]; then + msg "Removing empty directories..." + cd "$startdir/pkg" + find -depth -type d -empty -delete; + fi + + # get some package meta info + builddate=$(LC_ALL= ; LANG= ; date -u "+%a %b %e %H:%M:%S %Y") + if [ "$PACKAGER" != "" ]; then + packager="$PACKAGER" + else + packager="Arch Linux (http://www.archlinux.org)" + fi + size=$(du -cb "$startdir/pkg" | tail -n 1 | awk '{print $1}') + + # build a filelist - do this first to keep meta files out of the list + msg "Generating .FILELIST file..." cd "$startdir/pkg" - find -depth -type d -empty -delete; -fi + tar cvf /dev/null * | sort >.FILELIST -# get some package meta info -builddate=$(LC_ALL= ; LANG= ; date -u "+%a %b %e %H:%M:%S %Y") -if [ "$PACKAGER" != "" ]; then - packager="$PACKAGER" -else - packager="Arch Linux (http://www.archlinux.org)" -fi -size=$(du -cb "$startdir/pkg" | tail -n 1 | awk '{print $1}') + # write the .PKGINFO file + msg "Generating .PKGINFO file..." + cd "$startdir/pkg" + echo "# Generated by makepkg $myver" >.PKGINFO + echo -n "# " >>.PKGINFO + date >>.PKGINFO + echo "pkgname = $pkgname" >>.PKGINFO + echo "pkgver = $pkgver-$pkgrel" >>.PKGINFO + echo "pkgdesc = $pkgdesc" >>.PKGINFO + echo "url = $url" >>.PKGINFO + echo "builddate = $builddate" >>.PKGINFO + echo "packager = $packager" >>.PKGINFO + echo "size = $size" >>.PKGINFO + if [ "$CARCH" != "" ]; then + echo "arch = $CARCH" >>.PKGINFO + fi -# build a filelist - do this first to keep meta files out of the list -msg "Generating .FILELIST file..." -cd "$startdir/pkg" -tar cvf /dev/null * | sort >.FILELIST - -# write the .PKGINFO file -msg "Generating .PKGINFO file..." -cd "$startdir/pkg" -echo "# Generated by makepkg $myver" >.PKGINFO -echo -n "# " >>.PKGINFO -date >>.PKGINFO -echo "pkgname = $pkgname" >>.PKGINFO -echo "pkgver = $pkgver-$pkgrel" >>.PKGINFO -echo "pkgdesc = $pkgdesc" >>.PKGINFO -echo "url = $url" >>.PKGINFO -echo "builddate = $builddate" >>.PKGINFO -echo "packager = $packager" >>.PKGINFO -echo "size = $size" >>.PKGINFO -if [ "$CARCH" != "" ]; then - echo "arch = $CARCH" >>.PKGINFO -fi + for it in "${license[@]}"; do + echo "license = $it" >>.PKGINFO + done + for it in "${replaces[@]}"; do + echo "replaces = $it" >>.PKGINFO + done + for it in "${groups[@]}"; do + echo "group = $it" >>.PKGINFO + done + for it in "${depends[@]}"; do + echo "depend = $it" >>.PKGINFO + done + for it in "${conflicts[@]}"; do + echo "conflict = $it" >>.PKGINFO + done + for it in "${provides[@]}"; do + echo "provides = $it" >>.PKGINFO + done + for it in "${backup[@]}"; do + echo "backup = $it" >>.PKGINFO + done + + # TODO maybe remove this at some point + # warn if license array is not present or empty + if [ "$license" = "" ]; then + warning "Please add a license line to your $BUILDSCRIPT!" + plain "example for GPL'ed software: license=('GPL')." + fi -for it in "${license[@]}"; do - echo "license = $it" >>.PKGINFO -done -for it in "${replaces[@]}"; do - echo "replaces = $it" >>.PKGINFO -done -for it in "${groups[@]}"; do - echo "group = $it" >>.PKGINFO -done -for it in "${depends[@]}"; do - echo "depend = $it" >>.PKGINFO -done -for it in "${conflicts[@]}"; do - echo "conflict = $it" >>.PKGINFO -done -for it in "${provides[@]}"; do - echo "provides = $it" >>.PKGINFO -done -for it in "${backup[@]}"; do - echo "backup = $it" >>.PKGINFO -done - -# TODO maybe remove this at some point -# warn if license array is not present or empty -if [ "$license" = "" ]; then - warning "Please add a license line to your $BUILDSCRIPT!" - plain "example for GPL'ed software: license=('GPL')." -fi + # check for an install script + if [ "$install" != "" ]; then + msg "Copying install script..." + cp "$startdir/$install" "$startdir/pkg/.INSTALL" + fi -# check for an install script -if [ "$install" != "" ]; then - msg "Copying install script..." - cp "$startdir/$install" "$startdir/pkg/.INSTALL" -fi + # do we have a changelog? + have_changelog=0 + if [ -f "$startdir/ChangeLog" ]; then + msg "Copying package changelog" + cp "$startdir/ChangeLog" "$startdir/pkg/.CHANGELOG" + have_changelog=1 + fi -# do we have a changelog? -have_changelog=0 -if [ -f "$startdir/ChangeLog" ]; then - msg "Copying package changelog" - cp "$startdir/ChangeLog" "$startdir/pkg/.CHANGELOG" - have_changelog=1 -fi + # tar it up + msg "Compressing package..." + cd "$startdir/pkg" -# tar it up -msg "Compressing package..." -cd "$startdir/pkg" - -pkg_file="$PKGDEST/$pkgname-$pkgver-$pkgrel-${CARCH}.${PKGEXT}" -comp_files=".PKGINFO .FILELIST ${install:+.INSTALL}" -[ $have_changelog -eq 1 ] && comp_files=".CHANGELOG $comp_files" - -if ! tar czf $pkg_file $comp_files *; then - error "Failed to create package file." - exit 1 -fi + pkg_file="$PKGDEST/$pkgname-$pkgver-$pkgrel-${CARCH}.${PKGEXT}" + comp_files=".PKGINFO .FILELIST ${install:+.INSTALL}" + [ $have_changelog -eq 1 ] && comp_files=".CHANGELOG $comp_files" + + if ! tar czf $pkg_file $comp_files *; then + error "Failed to create package file." + exit 1 + fi -cd "$startdir" -if [ "$CLEANUP" = "1" ]; then - msg "Cleaning up..." - rm -rf src pkg - rm -rf ${pkgname}-${pkgver}-${pkgrel}-${CARCH}.log* -fi + cd "$startdir" + if [ "$CLEANUP" = "1" ]; then + msg "Cleaning up..." + rm -rf src pkg + rm -rf ${pkgname}-${pkgver}-${pkgrel}-${CARCH}.log* + fi + + removedeps -removedeps + msg "Finished making: $pkgname ($(date))" -msg "Finished making: $pkgname ($(date))" + installpackage +} -installpackage +# +# KDEmod modifications for split packages follow +# + +if [ "$splitinstall" != "" ] ; then + for it in "${splitinstall[@]}" ; do + msg "Building split package using function: $it" + $it + rm -Rf "$startdir/pkg" + done + msg "All split packages built!" +else + pack +fi exit 0 # vim: set ts=2 sw=2 noet: