From 927566a3abfdb576c53b42898affb78333e7299a Mon Sep 17 00:00:00 2001 From: Andreas Dilger Date: Sun, 12 Nov 2006 19:41:25 -0500 Subject: [PATCH] Fixes for building RPM's via "make rpm" Fixed version number generation so that the same common algorithm is used for Debian and RPM version numbering schemes. This allows the RPM spec file to do the right thing for WIP releases. Signed-off-by: Andreas Dilger Signed-off-by: "Theodore Ts'o" --- ChangeLog | 8 ++++++ configure | 48 ++++++++++++++++++++++----------- configure.in | 42 ++++++++++++++++++++--------- contrib/ChangeLog | 5 ++++ contrib/build-rpm | 10 +++++-- e2fsprogs.spec.in | 15 +++++------ util/ChangeLog | 2 ++ util/gen-tarball.in | 76 +++-------------------------------------------------- 8 files changed, 95 insertions(+), 111 deletions(-) diff --git a/ChangeLog b/ChangeLog index f0f5641..46e7dbb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2006-11-12 Theodore Tso + + * configure, configure.in (E2FSPROGS_PKGVER): Define + E2FSPROGS_PKGVER so e2fsprogs.spec can have an appropriate + version number for WIP releases. + + * e2fsprogs.spec.in: Update/fix spec file so it will work on RHEL 4. + 2006-10-22 Theodore Tso * configure, configure.in: Add test for jrand48() diff --git a/configure b/configure index a0aae22..c193d54 100755 --- a/configure +++ b/configure @@ -639,6 +639,7 @@ E2FSPROGS_YEAR E2FSPROGS_MONTH E2FSPROGS_DAY E2FSPROGS_VERSION +E2FSPROGS_PKGVER build build_cpu build_vendor @@ -1861,28 +1862,44 @@ else fi case $MONTH in -Jan) E2FSPROGS_MONTH="January" ;; -Feb) E2FSPROGS_MONTH="February" ;; -Mar) E2FSPROGS_MONTH="March" ;; -Apr) E2FSPROGS_MONTH="April" ;; -May) E2FSPROGS_MONTH="May" ;; -Jun) E2FSPROGS_MONTH="June" ;; -Jul) E2FSPROGS_MONTH="July" ;; -Aug) E2FSPROGS_MONTH="August" ;; -Sep) E2FSPROGS_MONTH="September" ;; -Oct) E2FSPROGS_MONTH="October" ;; -Nov) E2FSPROGS_MONTH="November" ;; -Dec) E2FSPROGS_MONTH="December" ;; +Jan) MONTH_NUM=01; E2FSPROGS_MONTH="January" ;; +Feb) MONTH_NUM=02; E2FSPROGS_MONTH="February" ;; +Mar) MONTH_NUM=03; E2FSPROGS_MONTH="March" ;; +Apr) MONTH_NUM=04; E2FSPROGS_MONTH="April" ;; +May) MONTH_NUM=05; E2FSPROGS_MONTH="May" ;; +Jun) MONTH_NUM=06; E2FSPROGS_MONTH="June" ;; +Jul) MONTH_NUM=07; E2FSPROGS_MONTH="July" ;; +Aug) MONTH_NUM=08; E2FSPROGS_MONTH="August" ;; +Sep) MONTH_NUM=09; E2FSPROGS_MONTH="September" ;; +Oct) MONTH_NUM=10; E2FSPROGS_MONTH="October" ;; +Nov) MONTH_NUM=11; E2FSPROGS_MONTH="November" ;; +Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;; *) echo "Unknown month $MONTH??" ;; esac -unset DATE MONTH YEAR +base_ver=`echo $E2FSPROGS_VERSION | \ + sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'` +pre_vers=`echo $base_ver 0.01 - p | dc` + +date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY} + +case $E2FSPROGS_VERSION in +*-WIP|pre-*) + E2FSPROGS_PKGVER="$pre_vers+${base_ver}_WIP_$date_spec" + ;; +*) + E2FSPROGS_PKGVER="$base_ver" + ;; +esac + +unset DATE MONTH YEAR base_ver pre_vers date_spec echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" + # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 @@ -17504,6 +17521,7 @@ E2FSPROGS_YEAR!$E2FSPROGS_YEAR$ac_delim E2FSPROGS_MONTH!$E2FSPROGS_MONTH$ac_delim E2FSPROGS_DAY!$E2FSPROGS_DAY$ac_delim E2FSPROGS_VERSION!$E2FSPROGS_VERSION$ac_delim +E2FSPROGS_PKGVER!$E2FSPROGS_PKGVER$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim @@ -17538,7 +17556,6 @@ DEBUGFS_CMT!$DEBUGFS_CMT$ac_delim IMAGER_CMT!$IMAGER_CMT$ac_delim RESIZER_CMT!$RESIZER_CMT$ac_delim E2FSCK_TYPE!$E2FSCK_TYPE$ac_delim -FSCK_PROG!$FSCK_PROG$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 76; then @@ -17608,6 +17625,7 @@ _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF +FSCK_PROG!$FSCK_PROG$ac_delim FSCK_MAN!$FSCK_MAN$ac_delim E2INITRD_PROG!$E2INITRD_PROG$ac_delim E2INITRD_MAN!$E2INITRD_MAN$ac_delim @@ -17690,7 +17708,7 @@ LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 80; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 81; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.in b/configure.in index 068d6ed..334f75b 100644 --- a/configure.in +++ b/configure.in @@ -24,28 +24,44 @@ else fi case $MONTH in -Jan) E2FSPROGS_MONTH="January" ;; -Feb) E2FSPROGS_MONTH="February" ;; -Mar) E2FSPROGS_MONTH="March" ;; -Apr) E2FSPROGS_MONTH="April" ;; -May) E2FSPROGS_MONTH="May" ;; -Jun) E2FSPROGS_MONTH="June" ;; -Jul) E2FSPROGS_MONTH="July" ;; -Aug) E2FSPROGS_MONTH="August" ;; -Sep) E2FSPROGS_MONTH="September" ;; -Oct) E2FSPROGS_MONTH="October" ;; -Nov) E2FSPROGS_MONTH="November" ;; -Dec) E2FSPROGS_MONTH="December" ;; +Jan) MONTH_NUM=01; E2FSPROGS_MONTH="January" ;; +Feb) MONTH_NUM=02; E2FSPROGS_MONTH="February" ;; +Mar) MONTH_NUM=03; E2FSPROGS_MONTH="March" ;; +Apr) MONTH_NUM=04; E2FSPROGS_MONTH="April" ;; +May) MONTH_NUM=05; E2FSPROGS_MONTH="May" ;; +Jun) MONTH_NUM=06; E2FSPROGS_MONTH="June" ;; +Jul) MONTH_NUM=07; E2FSPROGS_MONTH="July" ;; +Aug) MONTH_NUM=08; E2FSPROGS_MONTH="August" ;; +Sep) MONTH_NUM=09; E2FSPROGS_MONTH="September" ;; +Oct) MONTH_NUM=10; E2FSPROGS_MONTH="October" ;; +Nov) MONTH_NUM=11; E2FSPROGS_MONTH="November" ;; +Dec) MONTH_NUM=12; E2FSPROGS_MONTH="December" ;; *) echo "Unknown month $MONTH??" ;; esac -unset DATE MONTH YEAR +base_ver=`echo $E2FSPROGS_VERSION | \ + sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS//'` +pre_vers=`echo $base_ver 0.01 - p | dc` + +date_spec=${E2FSPROGS_YEAR}.${MONTH_NUM}.${E2FSPROGS_DAY} + +case $E2FSPROGS_VERSION in +*-WIP|pre-*) + E2FSPROGS_PKGVER="$pre_vers+${base_ver}_WIP_$date_spec" + ;; +*) + E2FSPROGS_PKGVER="$base_ver" + ;; +esac + +unset DATE MONTH YEAR base_ver pre_vers date_spec echo "Generating configuration file for e2fsprogs version $E2FSPROGS_VERSION" echo "Release date is ${E2FSPROGS_MONTH}, ${E2FSPROGS_YEAR}" AC_SUBST(E2FSPROGS_YEAR) AC_SUBST(E2FSPROGS_MONTH) AC_SUBST(E2FSPROGS_DAY) AC_SUBST(E2FSPROGS_VERSION) +AC_SUBST(E2FSPROGS_PKGVER) AC_CANONICAL_HOST dnl dnl Use diet libc diff --git a/contrib/ChangeLog b/contrib/ChangeLog index 905f2d7..31890b1 100644 --- a/contrib/ChangeLog +++ b/contrib/ChangeLog @@ -1,3 +1,8 @@ +2006-11-12 Theodore Tso + + * build-rpm: Ignore the quilt working directory, and clean up the + tmp directory afterwards. + 2006-06-30 Theodore Ts'o * Release of E2fsprogs 1.38 diff --git a/contrib/build-rpm b/contrib/build-rpm index 9596684..c635097 100644 --- a/contrib/build-rpm +++ b/contrib/build-rpm @@ -21,8 +21,14 @@ cp -sR `pwd`/$currdir $tmpdir/$builddir || exit 1 # Remove any build files from the temporary tarball directory [ -f $tmpdir/$builddir/Makefile ] && make -C $tmpdir/$builddir distclean -EXCLUDE="--exclude .hg*" +EXCLUDE="--exclude .hg* --exclude .pc*" (cd $tmpdir && tar czfh ${builddir}.tar.gz $EXCLUDE $builddir) [ "`rpmbuild --version 2> /dev/null`" ] && RPM=rpmbuild || RPM=rpm -$RPM --define "_sourcedir `pwd`/$tmpdir" -ba $currdir/e2fsprogs.spec || exit $? +$RPM --define "_sourcedir `pwd`/$tmpdir" -ba $currdir/e2fsprogs.spec + +ret=$? +rm -rf $tmpdir +exit $? + + diff --git a/e2fsprogs.spec.in b/e2fsprogs.spec.in index bf78ebb..51b5538 100644 --- a/e2fsprogs.spec.in +++ b/e2fsprogs.spec.in @@ -1,10 +1,11 @@ %define _root_sbindir /sbin %define _root_libdir /%{_lib} %define _root_localedir /usr/share/locale +%define _root_etcdir /etc Summary: Utilities for managing the second extended (ext2) filesystem. Name: e2fsprogs -Version: @E2FSPROGS_VERSION@ +Version: @E2FSPROGS_PKGVER@ Release: 0 License: GPLv2 Group: System Environment/Base @@ -96,6 +97,7 @@ exit 0 %{_root_sbindir}/fsck.ext3 %{_root_sbindir}/logsave %{_root_sbindir}/mke2fs +%{_root_etcdir}/mke2fs.conf %{_root_sbindir}/mkfs.ext2 %{_root_sbindir}/mkfs.ext3 %{_root_sbindir}/resize2fs @@ -119,6 +121,9 @@ exit 0 %{_mandir}/man1/lsattr.1* %{_mandir}/man1/uuidgen.1* +%{_mandir}/man5/e2fsck.conf.5* +%{_mandir}/man5/mke2fs.conf.5* + %{_mandir}/man8/badblocks.8* %{_mandir}/man8/blkid.8* %{_mandir}/man8/debugfs.8* @@ -139,14 +144,6 @@ exit 0 %{_mandir}/man8/tune2fs.8* %{_mandir}/man8/filefrag.8* -%{_root_localedir}/cs/LC_MESSAGES/e2fsprogs.mo -%{_root_localedir}/de/LC_MESSAGES/e2fsprogs.mo -%{_root_localedir}/es/LC_MESSAGES/e2fsprogs.mo -%{_root_localedir}/it/LC_MESSAGES/e2fsprogs.mo -%{_root_localedir}/pl/LC_MESSAGES/e2fsprogs.mo -%{_root_localedir}/sv/LC_MESSAGES/e2fsprogs.mo -%{_root_localedir}/tr/LC_MESSAGES/e2fsprogs.mo - %files devel %defattr(-,root,root) %{_infodir}/libext2fs.info* diff --git a/util/ChangeLog b/util/ChangeLog index 5f8f89a..1381c5b 100644 --- a/util/ChangeLog +++ b/util/ChangeLog @@ -1,5 +1,7 @@ 2006-11-12 Theodore Tso + * gen-tarball.in: Use E2FSPROGS_PKGVER to simplify script + * subst.c (substitute_line): Avoid infinite loop caused by a substition such as @datarootdir@ --> @datarootdir@. (This was caused by autoconf versions before 2.60, which didn't diff --git a/util/gen-tarball.in b/util/gen-tarball.in index b1593ce..8365df1 100644 --- a/util/gen-tarball.in +++ b/util/gen-tarball.in @@ -9,84 +9,16 @@ base_ver=`echo @E2FSPROGS_VERSION@ | sed -e 's/-WIP//' -e 's/pre-//' -e 's/-PLUS base_e2fsprogs=`basename $top_dir` exclude=/tmp/exclude -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 +deb_pkgver=`echo @E2FSPROGS_PKGVER@ | sed -e 's/_/-/g'` +echo Debian package $deb_pkgver 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+dfsg" - ;; - *-rc*) - deb_vers=`echo @E2FSPROGS_VERSION@ | sed -e 's/-rc/rc/'` - SRCROOT="e2fsprogs-$deb_vers+dfsg" - ;; - *-PLUS) - SRCROOT="e2fsprogs-$base_ver+$date_spec+dfsg" - ;; - *) - SRCROOT="e2fsprogs-$base_ver+dfsg" - ;; - esac + SRCROOT="e2fsprogs-$deb_pkgver+dfsg" list=debian ;; ubuntu) - 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 + SRCROOT="e2fsprogs-$deb_pkgver" list=all ;; subset) -- 1.8.3.1