home *** CD-ROM | disk | FTP | other *** search
/ ftp.ncftp.com / ftp.ncftp.com.zip / ftp.ncftp.com / ncftp / older_versions / ncftp-3.2.2-src.tar.bz2 / ncftp-3.2.2-src.tar / ncftp-3.2.2 / sh / mksrctar.sh < prev    next >
Linux/UNIX/POSIX Shell Script  |  2008-08-01  |  3KB  |  148 lines

  1. #!/bin/sh
  2.  
  3. wd=`pwd`
  4. if [ -f ../sh_util/Makefile.in ] ; then
  5.     cd ..
  6. fi
  7. for f in ncftp libncftp sh_util vis sio Strn ; do
  8.     if [ ! -f "$f" ] && [ ! -d "$f" ] ; then
  9.         echo "Missing directory $f ?" 1>&2
  10.         exit 1
  11.     fi
  12. done
  13.  
  14. TMPDIR=/tmp
  15. TAR=""
  16. TARFLAGS=""
  17.  
  18. if [ "$#" -lt 2 ] ; then
  19.     TARDIR="ncftp"
  20.     STGZFILE="$TARDIR.tar.gz"
  21. else
  22.     TARDIR="$1"
  23.     STGZFILE="$2"
  24.     if [ "$#" -eq 4 ] ; then
  25.         # I.e., called from Makefile
  26.         TAR="$3"
  27.         TARFLAGS="$4"
  28.     fi
  29. fi
  30.  
  31. if [ -x /usr/bin/bzip2 ] ; then
  32.     BZIP="/usr/bin/bzip2"
  33. elif [ -x /usr/local/bin/bzip2 ] ; then
  34.     BZIP="/usr/local/bin/bzip2"
  35. else
  36.     BZIP=":"
  37. fi
  38. SBGZFILE=`echo "$STGZFILE" | sed 's/\.tar\.gz/.tar.bz2/g'`
  39. ZIPFILE=`echo "$STGZFILE" | sed 's/\.tar\.gz/.zip/g'`
  40. rm -rf $TMPDIR/TAR
  41. mkdir -p -m755 $TMPDIR/TAR/$TARDIR 2>/dev/null
  42.  
  43. chmod 755 configure sh/*
  44.  
  45. find . -depth -follow -type f | sed '
  46. /\/\./d
  47. /\/samples/d
  48. /libncftp\/configure$/d
  49. /sio\/configure$/d
  50. /Strn\/configure$/d
  51. /\.o$/d
  52. /\.so$/d
  53. /\.a$/d
  54. /\.lib$/d
  55. /\.ncb$/d
  56. /\.pdb$/d
  57. /\.idb$/d
  58. /\.pch$/d
  59. /\.gch$/d
  60. /\.cpch$/d
  61. /\.dSYM/d
  62. /SunWS_cache/d
  63. /\.ilk$/d
  64. /\.res$/d
  65. /\.aps$/d
  66. /\.opt$/d
  67. /\.plg$/d
  68. /\.obj$/d
  69. /\.exe$/d
  70. /\.zip$/d
  71. /\.gz$/d
  72. /\.bz2$/d
  73. /\.tgz$/d
  74. /\.tar$/d
  75. /\.swp$/d
  76. /\.orig$/d
  77. /\.rej$/d
  78. /\/\._/d
  79. /\/Makefile\.bin$/d
  80. /\.bin$/d
  81. /\/bin/d
  82. /\/core$/d
  83. /\/ccdv$/d
  84. /\/[Rr]elease$/d
  85. /\/[Dd]ebug$/d
  86. /\/sio\/.*\//d
  87. /shit/d
  88. /\/upload/d
  89. /\/Strn\.version/d
  90. /\/sio\.version/d
  91. /\/config\.h\.in$/p
  92. /\/config\.guess$/p
  93. /\/config\.sub$/p
  94. /\/config\./d
  95. /\/configure\.in/p
  96. /\/configure\./d
  97. /\/Makefile$/d
  98. /\/OLD/d
  99. /\/old/d' | cut -c3- > "$wd/doc/manifest"
  100.  
  101. if [ -f "$wd/sh/unix2dos.sh" ] ; then
  102.     cp "$wd/doc/manifest" "$wd/doc/manifest.txt" 
  103.     $wd/sh/unix2dos.sh "$wd/doc/manifest.txt"
  104. fi
  105.  
  106. cpio -Lpdm $TMPDIR/TAR/$TARDIR < "$wd/doc/manifest"
  107. chmod -R a+rX "$TMPDIR/TAR/$TARDIR"
  108.  
  109. find $TMPDIR/TAR/$TARDIR -type f '(' -name '*.[ch]' -or -name '*.[ch]pp' -or -name '*.in' ')' -exec $wd/sh/dos2unix.sh {} \;
  110.  
  111. if [ "$TAR" = "" ] || [ "$TARFLAGS" = "" ] ; then
  112.     x=`tar --help 2>&1 | sed -n 's/.*owner=NAME.*/owner=NAME/g;/owner=NAME/p'`
  113.     case "$x" in
  114.         *owner=NAME*)
  115.             TARFLAGS="-c --owner=bin --group=bin -f"
  116.             TAR=tar
  117.             ;;
  118.         *)
  119.             TARFLAGS="cf"
  120.             TAR=tar
  121.             x2=`gtar --help 2>&1 | sed -n 's/.*owner=NAME.*/owner=NAME/g;/owner=NAME/p'`
  122.             case "$x2" in
  123.                 *owner=NAME*)
  124.                     TARFLAGS="-c --owner=bin --group=bin -f"
  125.                     TAR=gtar
  126.                     ;;
  127.             esac
  128.             ;;
  129.     esac
  130. fi
  131.  
  132. ( cd $TMPDIR/TAR ; $TAR $TARFLAGS - $TARDIR | gzip -c > $STGZFILE )
  133. cp $TMPDIR/TAR/$STGZFILE .
  134.  
  135. if [ "$BZIP" != ":" ] ; then
  136.     ( cd $TMPDIR/TAR ; $TAR $TARFLAGS - $TARDIR | $BZIP -c > $SBGZFILE )
  137.     cp $TMPDIR/TAR/$SBGZFILE .
  138. fi
  139.  
  140. ( cd $TMPDIR/TAR ; zip -q -r -9 $ZIPFILE $TARDIR )
  141. cp $TMPDIR/TAR/$ZIPFILE .
  142.  
  143. chmod 644 $STGZFILE $SBGZFILE $ZIPFILE 2>/dev/null
  144. rm -rf $TMPDIR/TAR
  145. touch -r ncftp/version.c $STGZFILE $SBGZFILE $ZIPFILE
  146. ls -l $STGZFILE $SBGZFILE $ZIPFILE 2>/dev/null
  147. exit 0
  148.