Whamcloud - gitweb
e2fsck: merge EA blocks properly
[tools/e2fsprogs.git] / util / gen-tarball.in
index 88dbadd..650d3b5 100644 (file)
@@ -5,93 +5,47 @@
 srcdir=@srcdir@
 top_srcdir=@top_srcdir@
 top_dir=`cd $top_srcdir; pwd`
-base_ver=`echo @E2FSPROGS_VERSION@ | sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'`
+base_ver=`echo @E2FSPROGS_PKGVER@`
+base_rel=`echo @E2FSPROGS_PKGREL@`
 base_e2fsprogs=`basename $top_dir`
-exclude=/tmp/exclude
+exclude=/tmp/exclude$$
+GZIP=gzip
 
-case @E2FSPROGS_MONTH@ in 
-    January)
-       mon=01
-       ;;
-    February)
-       mon=02
-       ;;
-    March)
-       mon=03
-       ;;
-    April)
-       mon=04
-       ;;
-    May)
-       mon=05
-       ;;
-    June)
-       mon=06
-       ;;
-    July)
-       mon=07
-       ;;
-    August)
-       mon=08
-       ;;
-    September)
-       mon=09
-       ;;
-    October)
-       mon=10
-       ;;
-    November)
-       mon=11
-       ;;
-    December)
-       mon=12
-       ;;
-esac
+#
+# This hack is needed because texi2dvi blows up horribly if there are 
+# any '~' characters in the directory pathname.  So we kludge around it by
+# using a non-standard directory name for WIP releases.  dpkg-source
+# complains, but life goes on.
+#
+deb_pkgver="$base_ver${base_rel:+-$base_rel}"
     
 case $1 in
-    debian)
-       date_spec="@E2FSPROGS_YEAR@.$mon.@E2FSPROGS_DAY@"
-       case @E2FSPROGS_VERSION@ in
-       *-WIP|pre-*)
-               deb_vers=`echo $base_ver 0.01 - p | dc`
-               SRCROOT="e2fsprogs-$deb_vers+$base_ver-WIP-$date_spec"
-               ;;
-       *-rc*)
-               deb_vers=`echo @E2FSPROGS_VERSION@ | sed -e 's/-rc/rc/'`
-               SRCROOT="e2fsprogs-$deb_vers"
-               ;;
-       *-PLUS)
-               SRCROOT="e2fsprogs-$base_ver+$date_spec"
-               ;;
-       *)
-               SRCROOT="e2fsprogs-$base_ver"
-               ;;
-        esac
-       list=all
-       ;;
-    subset)
-       SRCROOT="e2fsprogs-libs-$base_ver"
-       list=subset
+    debian|ubuntu)
+       SRCROOT="e2fsprogs-$deb_pkgver"
+       tarout="e2fsprogs_$deb_pkgver.orig.tar.gz"
        ;;
    all|*)
        SRCROOT="e2fsprogs-$base_ver"
-       list=all
+       tarout="$SRCROOT.tar.gz"
        ;;
 esac
 
-mv ../e2fsprogs.spec $top_srcdir/e2fsprogs.spec
+if test -z "$SOURCE_DATE_EPOCH" ; then
+    export SOURCE_DATE_EPOCH=$(cd $top_srcdir; git log -1 --pretty=%ct)
+fi
+
 (cd $top_srcdir/.. ; find $base_e2fsprogs \( -name \*~ -o -name \*.orig \
                -o -name CVS -o -name \*.rej -o -name Makefile.pq \
                -o -name TAGS -o -name \*.old -o -name SCCS \
                -o -name changed-files -o -name .#\* -o -name \*.tar.gz \
                -o -name autom4te.cache \) \
-               -print) | sed -e "s/^$base_e2fsprogs/$SRCROOT/" > $exclude
-sed -e "s;^;$SRCROOT/;" < $srcdir/$list.exclude >> $exclude
-
-(cd $top_srcdir/.. ; rm -f $SRCROOT ; ln -sf e2fsprogs $SRCROOT)
-
-(cd $top_srcdir/.. ; tar -c -h -v -f - -X $exclude $SRCROOT) \
-        | gzip -9 > $SRCROOT.tar.gz
+               -print) > $exclude
+sed -e "s;^;$base_e2fsprogs/;" < $srcdir/all.exclude >> $exclude
 
-(cd $top_srcdir/.. ; rm -f $SRCROOT)
-mv $top_srcdir/e2fsprogs.spec ../e2fsprogs.spec 
+(cd $top_srcdir/.. ; \
+ tar -c -f - -X $exclude --sort=name --owner=0 --group=0 \
+     --transform "flags=r;s|^$base_e2fsprogs|$SRCROOT|" \
+     --numeric-owner --mtime="@${SOURCE_DATE_EPOCH}" $base_e2fsprogs) \
+    | $GZIP -9n -c > $tarout
+$GZIP -ln $tarout
+rm -f "$exclude"