diff --git a/RELEASE-NOTES b/RELEASE-NOTES index aea7eb42..9232f5e2 100644 --- a/RELEASE-NOTES +++ b/RELEASE-NOTES @@ -1,7 +1,33 @@ -E2fsprogs 1.21-WIP (June 1, 2001) -================================= +E2fsprogs 1.21 (June 15, 2001) +============================== -Fixed a ext3 recovery bug in the revoke handling; synchornized with +Added new configure flags which allow a subset e2fsprogs to be built; +this is most useful for boot floopies, since the resulting shared +libraries and programs are slimmed down by removing features that +aren't necessary for a boot floppy. The new flags that were added +are: --disable-swapfs, which removes support for byte swapping old +legacy PPC/68k filesystems, --disable-debugfs, which removes support +for debugfs from the libext2fs library, --disable-imager, which +removes support for the e2image program, and --disable-resizer, which +removes support for resize2fs. + +E2fsck now prints the number of mounts or days elapsed since the last +check when e2fsck is forced to check an otherwise clean filesystem. + +Tune2fs now prints an informative message about how often a filesystem +will be checked when adding a journal to the filesystem, to remind the +user that he/she may want to adjust those parameters using tune2fs +-c/-i. + +Worked around hurd brain-damage which causes e2fsck to sometimes +believe a filesystem is the root filesystem based on device numbers +(since Hurd doesn't have dev_t's, which is arguably a POSIX.1 +violation). + +Fixed a bug introduced in 1.20 which caused e2fsck to abort with an +erroneous error with the -F option was specified. + +Fixed a ext3 recovery bug in the revoke handling; synchronized with ext3 0.7a. Fixed two bugs in e2fsck's handling of dup block handling, dealing @@ -15,21 +41,28 @@ big, and offers to clear the symlink if so. E2fsck now checks to see if i_size_high of special files is non-zero, and offers to clear i_size_high. -Fixed byte-ordering conversion bug which caused e2fsck's revoke -handling to essentially not work. - Fix e2fsck's handling of incompatible journal flags so that the user has chance to abort, and then has the option to clear out the journal entirely. (Addresses Debian bug #98527.) +Fixed a bug in fsck which could cause it to core dump if a mix of +standard and non-standard device names are used in /etc/fstab. +(Debian bug #100559) + Fixed a bug in debugfs which caused read errors when copying a file to not be noticed. +The debugfs set_super_value command can now modify the s_lastcheck field. + Fixed a bug in lsattr and chattr which was accidentally introduced in 1.20 to support > 2GB files; both lsattr and chattr wasn't reading directories correctly because the change modified the layout of struct dirent to be incompatible with the libe2p shared library. +Cleaned up the mke2fs manual page and included a discussion about why +it's good to periodically check the filesystem even when journaling is +enabled. + Programmer's notes: ------------------- @@ -39,7 +72,8 @@ The types needed by the ext2 header files are now provided by lib/ext2fs/ext2_types.h, instead of include/asm/types.h. Integers are now preferred to longs when trying to find a 32-bit type -in ext2_types.h. +in ext2_types.h. Also, if linux/types.h has already been defined, +don't try to redefine the types. Fixed make depend script so that it automatically corrects the pathname cleanups performed by make -M, so I don't have to fix them up @@ -54,6 +88,34 @@ intrudced in e2fsprogs 1.20 Fixed a performance bug in the libext2fs's icount routine; the size estimate of the icount array was incorrectly being calculated. +Removed use of the badblocks compatibility functions in the e2fsprogs +programs. + +Added paranoia code which protects against strange cases where /etc +isn't on the root filesystem, or if /etc/mtab doesn't exist. + +The header file ext2_types.h is now installed. + +Autoconf is used to determine when we are on big-endian machines, +instead of doing run-time tests, to save a few bytes of code. + +The ext2fs_mark_generic_bitmap and ext2fs_unmark_generic_bitmap +functions are no longer inline functions, which saves space and +doesn't really cost any real performance. + +The ext2fs library no longer depends on the e2p library. (What need +there was of it --- namely, fsetflags, was coded in-line). + +Fixed the makefile so that lib/ext2fs/ext2_types.h is generated even +when the user is stupid and tries compiling the package using "make +install" as root. + +Miscellaneous code cleanups: + * Added missing files from Makefile.in's SRCS file, so that + their dependencies would be properly calculated. + * Removed redundant code + * Fixed comments in code + * Removed no-longer unneeded argsused #pragma. E2fsprogs 1.20 (May 20, 2001) diff --git a/debian/changelog b/debian/changelog index f9b12193..1764f4e7 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,65 @@ +e2fsprogs (1.20+1.21-WIP-0614-1) unstable; urgency=low + + * New upstream pre-release (Closes: #100559, #100304). + * Fixed lib/ext2fs/Makefile.in for installation of new generated .h + file. + + -- Yann Dirson Thu, 14 Jun 2001 16:14:11 +0200 + +e2fsprogs (1.20+1.21-WIP-0608-1) unstable; urgency=low + + * New upstream pre-release (critical ext3 bugfix mostly). + * Correctly use dh_installinfo. + * Adjusted various things accordingly. + + -- Yann Dirson Sat, 9 Jun 2001 00:25:51 +0200 + +e2fsprogs (1.20-4) unstable; urgency=low + + * Cleanup generated substvars files now that debhelper uses other + names (may cause problems on other archs). Build-dep on debhelper + 3.0.30 or newer to be sure it won't cause broken uploads. Allows to + get rid of hairy dep, but cannot build straightforwardly on potato any + more... + + -- Yann Dirson Wed, 6 Jun 2001 02:33:32 +0200 + +e2fsprogs (1.20-3) unstable; urgency=low + + * Create all symlinks to uuid-generate.3 (Closes: #99573). + * Somewhat modernized debian/rules (debhelper v2, etc.). + * Fixed libss2 copyright file. + * Fixed e2fslibs-pic short description. + + -- Yann Dirson Wed, 6 Jun 2001 01:19:19 +0200 + +e2fsprogs (1.20-2) unstable; urgency=low + + * Added support for building pic libs to Makefile.elf-lib. + * New package e2fslibs-pic for boot-floppies team (Closes: #99285). + * Use -N on dh_gencontrol instead of lots of -p. + + -- Yann Dirson Thu, 31 May 2001 23:59:51 +0200 + +e2fsprogs (1.20-1) unstable; urgency=low + + * Final 1.20 release. + * Added new zsh-static to the list of possible static shells recommended + by e2fsck-static. + + -- Yann Dirson Mon, 28 May 2001 21:39:06 +0200 + +e2fsprogs (1.19+1.20-WIP-0520-1) unstable; urgency=low + + * New upstream pre-release snapshot: + ** Extended "fsck -t" syntax (Closes: #89483). + ** Fix handling of devices for which fsck can't determine a physical + spindal, causing lockup when checking LVM volumes (Closes: #98103). + ** Fixed typo in e2fsck-static description - thanks Ted :). + * Fixed small compilation bug in fsck.c + + -- Yann Dirson Mon, 21 May 2001 20:47:10 +0200 + e2fsprogs (1.19+1.20-WIP-0514-2) unstable; urgency=low * Tighten dependency on dephelper. diff --git a/debian/control b/debian/control index d0e2380f..7e8a56a0 100644 --- a/debian/control +++ b/debian/control @@ -2,28 +2,14 @@ Source: e2fsprogs Section: base Priority: required Maintainer: Yann Dirson -Build-Depends: texi2html, texinfo, debhelper (>= 2), fakeroot (<< 0.4.4-9.2) | debhelper (>= 3.0.24) +Build-Depends: texi2html, texinfo, debhelper (>= 3.0.30) Standards-Version: 3.5.4 -Package: e2fsprogs -Essential: yes -Pre-Depends: ${shlibs:Depends} -Suggests: gpart, parted, e2fsck-static -Conflicts: e2fslibsg, dump (<< 0.4b4-4), quota (<< 1.55-8.1) -Provides: libcomerr2, libss2, libext2fs2, libe2p2, libuuid1 -Architecture: any -Description: The EXT2 file system utilities and libraries. - EXT2 stands for "Extended Filesystem", version 2. It's the main - filesystem type used for hard disks on Debian and other Linux systems. - . - This package contains programs for creating, checking, and maintaining EXT2 - filesystems, and the generic `fsck' wrapper. - Package: e2fsck-static Section: admin Priority: optional Depends: e2fsprogs (= ${Source-Version}) -Recommends: sash | zsh30-static | busybox-static +Recommends: sash | zsh-static | busybox-static | zsh30-static Architecture: any Description: A statically-linked version of the ext2 filesystem checker. This may be of some help to you if your filesystem gets corrupted enough @@ -76,6 +62,32 @@ Description: Universally unique id library - headers and static libraries. . for more information. +Package: e2fslibs-pic +Section: devel +Priority: extra +Depends: e2fsprogs +Architecture: any +Description: The PIC versions of ext2fs-related libraries. + These are the Position-independant-code versions of the libraries + shiped with e2fsprogs. + . + If you don't know what it's about you don't need this - mostly people + working on boot-floppies will need this package. + +Package: e2fsprogs +Essential: yes +Pre-Depends: ${shlibs:Depends} +Suggests: gpart, parted, e2fsck-static +Conflicts: e2fslibsg, dump (<< 0.4b4-4), quota (<< 1.55-8.1) +Provides: libcomerr2, libss2, libext2fs2, libe2p2, libuuid1 +Architecture: any +Description: The EXT2 file system utilities and libraries. + EXT2 stands for "Extended Filesystem", version 2. It's the main + filesystem type used for hard disks on Debian and other Linux systems. + . + This package contains programs for creating, checking, and maintaining EXT2 + filesystems, and the generic `fsck' wrapper. + Package: e2fslibs-dev Section: devel Priority: extra diff --git a/debian/e2fslibs-dev.files b/debian/e2fslibs-dev.files index f269eca4..7c69e2e4 100644 --- a/debian/e2fslibs-dev.files +++ b/debian/e2fslibs-dev.files @@ -1,4 +1,5 @@ usr/lib/*.so usr/lib/*.a -usr/include/ext2fs/* -usr/include/e2p/* +usr/include/ext2fs +usr/include/e2p +usr/share/info/libext2fs.info* diff --git a/debian/README.Debian b/debian/e2fsprogs.README.Debian similarity index 100% rename from debian/README.Debian rename to debian/e2fsprogs.README.Debian diff --git a/debian/TODO b/debian/e2fsprogs.TODO similarity index 100% rename from debian/TODO rename to debian/e2fsprogs.TODO diff --git a/debian/e2fsprogs.files b/debian/e2fsprogs.files new file mode 100644 index 00000000..8aed423c --- /dev/null +++ b/debian/e2fsprogs.files @@ -0,0 +1,5 @@ +lib +sbin +usr/bin +usr/sbin +usr/share/man diff --git a/debian/libss2.copyright b/debian/libss2.copyright index 578628a5..eb261c39 100644 --- a/debian/libss2.copyright +++ b/debian/libss2.copyright @@ -1,6 +1,7 @@ -This is the Debian GNU/Linux prepackaged version of the Common Error -Description library. It is currently distributed together with the EXT2 file -system utilities, which are otherwise packaged as "e2fsprogs". +This is the Debian GNU/Linux prepackaged version of the ss +command-line interface parsing library library. It is currently +distributed together with the EXT2 file system utilities, which are +otherwise packaged as "e2fsprogs". This package was put together by Yann Dirson , from sources obtained from a mirror of: diff --git a/debian/rules b/debian/rules index ff906380..b650c1b5 100644 --- a/debian/rules +++ b/debian/rules @@ -10,6 +10,8 @@ # be paranoid export LC_ALL=C +export DH_COMPAT=2 + DEB_BUILD_ARCH := $(shell dpkg --print-architecture) DEB_BUILD_GNU_TYPE := $(shell ./config.guess) ifndef DEB_HOST_ARCH @@ -33,17 +35,18 @@ COMERR_MAJOR = $(word 1,$(subst ., ,${COMERR_VERSION})) SS_VERSION = $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) SS_MAJOR = $(word 1,$(subst ., ,${SS_VERSION})) UUID_VERSION = $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) -UUID_MAJOR = $(word 1,$(subst ., ,${UUID_VERSION})) +# UUID_MAJOR = $(word 1,$(subst ., ,${UUID_VERSION})) package=e2fsprogs topdir=$(shell pwd) debdir=${topdir}/debian -maindir=${debdir}/tmp +tmpdir=${debdir}/tmp +maindir=${debdir}/e2fsprogs builddir=${debdir}/BUILD -docdir=${maindir}/usr/share/doc/${package} +# docdir=${maindir}/usr/share/doc/${package} MANDIR=/usr/share/man -mandir=${maindir}${MANDIR} +mandir=${tmpdir}${MANDIR} SUBPACKAGES_DIRS = tmp e2fslibs-dev comerr-dev ss-dev @@ -70,7 +73,7 @@ endif build: build-stamp build-stamp: configure-stamp dh_testdir - make -C ${builddir} + make -C ${builddir} all pic ( cd ${builddir}/doc && \ texi2html -split_chapter ${topdir}/doc/libext2fs.texinfo ) ( cd ${builddir}/lib/et && make com_err.info && \ @@ -101,37 +104,51 @@ clean: rm -f build-stamp configure-stamp install -make -C ${builddir} -i distclean rm -rf ${builddir} - rm -f doc/libext2fs_*.html lib/et/com_err_*.html + rm -f doc/libext2fs_*.html lib/et/com_err_*.html debian/*.substvars dh_clean -binary-indep: build - # no arch-independant debs. +install: DH_OPTIONS= +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs -binary-arch: build - dh_testdir -a - dh_testroot -a - dh_clean -a - dh_installdirs -a - - mkdir -p ${maindir}/sbin - make -C ${builddir} install DESTDIR=${maindir} INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true - # static libs and .h files - make -C ${builddir} install-libs DESTDIR=${maindir} LDCONFIG=true + mkdir -p ${tmpdir}/sbin + make -C ${builddir} install DESTDIR=${tmpdir} INSTALL_PROGRAM="${INSTALL_PROGRAM}" LDCONFIG=true + # static libs, pic libs and .h files + make -C ${builddir} install-libs install-pic DESTDIR=${tmpdir} LDCONFIG=true + mv ${tmpdir}/lib/*.a ${tmpdir}/usr/lib # statically-linked fsck - ${INSTALL_PROGRAM} ${builddir}/e2fsck/e2fsck.static ${maindir}/sbin + ${INSTALL_PROGRAM} ${builddir}/e2fsck/e2fsck.static ${tmpdir}/sbin ln -s e2fsck.8.gz ${mandir}/man8/e2fsck.static.8.gz -# docs - # fully handled by debhelper - rm -rf ${maindir}/usr/share/info + dh_movefiles + test -z `find ${tmpdir} -type f` + +binary-indep: + # no arch-independant debs. + +binary-arch: DH_OPTIONS= -a +binary-arch: install + dh_testdir + dh_testroot + + # symlinks to prepare dh_installdocs run + mkdir -p ${debdir}/e2fsck-static/usr/share/doc/ + ln -sf e2fsprogs ${debdir}/e2fsck-static/usr/share/doc/e2fsck-static + + mkdir -p ${debdir}/e2fslibs-pic/usr/share/doc/ + ln -sf e2fsprogs ${debdir}/e2fslibs-pic/usr/share/doc/e2fslibs-pic mkdir -p ${debdir}/e2fslibs-dev/usr/share/doc/e2fsprogs ln -sf e2fsprogs ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev - mkdir -p ${debdir}/e2fsck-static/usr/share/doc/ - ln -sf e2fsprogs ${debdir}/e2fsck-static/usr/share/doc/e2fsck-static + mkdir -p ${debdir}/uuid-dev/usr/share/doc/e2fsprogs + ln -sf e2fsprogs ${debdir}/uuid-dev/usr/share/doc/uuid-dev + # comerr and ss have their own copyright notices mkdir -p ${maindir}/usr/share/doc/libcomerr${COMERR_MAJOR} mkdir -p ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_MAJOR} ln -sf libcomerr${COMERR_MAJOR} ${debdir}/comerr-dev/usr/share/doc/comerr-dev @@ -140,15 +157,12 @@ binary-arch: build mkdir -p ${debdir}/ss-dev/usr/share/doc/libss${SS_MAJOR} ln -sf libss${SS_MAJOR} ${debdir}/ss-dev/usr/share/doc/ss-dev - mkdir -p ${debdir}/uuid-dev/usr/share/doc/e2fsprogs - ln -sf e2fsprogs ${debdir}/uuid-dev/usr/share/doc/uuid-dev - - dh_installdocs -a - for i in libcomerr${COMERR_MAJOR} libss${SS_MAJOR}; do \ - install -m 644 debian/$$i.copyright ${maindir}/usr/share/doc/$$i/copyright ;\ + install -m 644 debian/$$i.copyright ${maindir}/usr/share/doc/$$i/copyright ; \ done + dh_installdocs + # HTML docs install -d ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev/html-info/ install -p ${builddir}/doc/libext2fs_*.html \ @@ -163,56 +177,55 @@ binary-arch: build install -p ${topdir}/lib/et/com_err.texinfo \ ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_MAJOR}/com_err.texi - # info docs + dh_installexamples + dh_installman + # dh_installinfo -pcomerr-dev ${builddir}/lib/et/com_err.info dh_installinfo -pe2fslibs-dev ${builddir}/doc/libext2fs.info - # examples - dh_installexamples -a + dh_undocumented - # dh_installmanpages still makes a mess as of 0.54 (see below dh_movefiles) - ln -s e2fsck.8 ${mandir}/man8/fsck.ext2.8 - ln -s mke2fs.8 ${mandir}/man8/mkfs.ext2.8 + DH_OPTIONS= dh_installchangelogs -pe2fsprogs ChangeLog - dh_movefiles -a - # cleanup empty dirs - cd ${maindir}/usr/include/ && rmdir * && cd .. && rmdir include/ - cd ${maindir}/usr/share/ && rmdir et ss && cd man && rmdir man3 - cd ${maindir}/usr && rmdir lib - - # broken + useless in 0.52 - # dh_installmanpages -a - - dh_undocumented -a - - dh_installchangelogs -pe2fsprogs ChangeLog - for i in libcomerr${COMERR_MAJOR} libss${SS_MAJOR}; do \ - ln -s ../e2fsprogs/changelog.Debian.gz ${maindir}/usr/share/doc/$$i/ ;\ - ln -s ../e2fsprogs/changelog.gz ${maindir}/usr/share/doc/$$i/ ;\ + for i in libcomerr${COMERR_MAJOR} libss${SS_MAJOR} ; do \ + mkdir -p ${maindir}/usr/share/doc/$$i ; \ + ln -s ../e2fsprogs/changelog.Debian.gz ${maindir}/usr/share/doc/$$i/ ; \ + ln -s ../e2fsprogs/changelog.gz ${maindir}/usr/share/doc/$$i/ ; \ done - dh_strip -a - dh_compress -a - dh_fixperms -a + dh_strip - echo "libcdev:Depends=${LIBC-DEV}" >> debian/comerr-dev.substvars - echo "libcdev:Depends=${LIBC-DEV}" >> debian/ss-dev.substvars - echo "libcdev:Depends=${LIBC-DEV}" >> debian/uuid-dev.substvars - echo "libcdev:Depends=${LIBC-DEV}" >> debian/e2fslibs-dev.substvars + dh_link -pe2fsprogs \ + /usr/share/man/man8/e2fsck.8.gz /usr/share/man/man8/fsck.ext2.8.gz \ + /usr/share/man/man8/mke2fs.8.gz /usr/share/man/man8/mkfs.ext2.8.gz + dh_link -puuid-dev \ + /usr/share/man/man3/uuid_generate.3.gz /usr/share/man/man3/uuid_generate_random.3.gz \ + /usr/share/man/man3/uuid_generate.3.gz /usr/share/man/man3/uuid_generate_time.3.gz + + dh_compress + dh_fixperms + + echo "libcdev:Depends=${LIBC-DEV}" > debian/comerr-dev.substvars + echo "libcdev:Depends=${LIBC-DEV}" > debian/ss-dev.substvars + echo "libcdev:Depends=${LIBC-DEV}" > debian/uuid-dev.substvars + echo "libcdev:Depends=${LIBC-DEV}" > debian/e2fslibs-dev.substvars - dh_installdeb -a - dh_shlibdeps -a -l${builddir}/lib - dh_gencontrol -pe2fsprogs -pe2fslibs-dev -pe2fsck-static - dh_gencontrol -pcomerr-dev \ - -u '-v${COMERR_VERSION}-${MAIN_VERSION}' - dh_gencontrol -pss-dev \ - -u '-v${SS_VERSION}-${MAIN_VERSION}' - dh_gencontrol -puuid-dev \ - -u '-v${UUID_VERSION}-${MAIN_VERSION}' # We do this one by hand -# dh_makeshlibs -a - dh_md5sums -a - dh_builddeb -a +# dh_makeshlibs + + dh_installdeb + dh_shlibdeps -l${builddir}/lib + + dh_gencontrol -Ncomerr-dev -Nss-dev -Nuuid-dev + DH_OPTIONS= dh_gencontrol -pcomerr-dev \ + -u '-v${COMERR_VERSION}-${MAIN_VERSION}' + DH_OPTIONS= dh_gencontrol -pss-dev \ + -u '-v${SS_VERSION}-${MAIN_VERSION}' + DH_OPTIONS= dh_gencontrol -puuid-dev \ + -u '-v${UUID_VERSION}-${MAIN_VERSION}' + + dh_md5sums + dh_builddeb binary: binary-indep binary-arch diff --git a/doc/libext2fs.texinfo b/doc/libext2fs.texinfo index e9271a76..734909a4 100644 --- a/doc/libext2fs.texinfo +++ b/doc/libext2fs.texinfo @@ -31,7 +31,7 @@ END-INFO-DIR-ENTRY This file documents the ext2fs library, a library for manipulating the ext2 filesystem. -Copyright (C) 1997, 1998, 1999 Theodore Ts'o +Copyright (C) 1997, 1998, 1999, 2000, 2001 Theodore Ts'o Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice diff --git a/e2fsprogs.lsm b/e2fsprogs.lsm index 0a7b258f..1603af8a 100644 --- a/e2fsprogs.lsm +++ b/e2fsprogs.lsm @@ -1,14 +1,14 @@ Begin3 Title: EXT2 Filesystem utilities Version: 1.21 -Entered-date: 01Jun2001 +Entered-date: 15Jun2001 Description: The filesystem utilities for the EXT2 filesystem, including e2fsck, mke2fs, dumpe2fs, fsck, and others. Keywords: utilities, fsck, filesystem, Ext2fs Author: tytso@mit.edu (Theodore Tso) Maintained-by: tytso@mit.edu (Theodore Tso) Primary-site: download.sourceforge.net /pub/sourceforge/e2fsprogs - 1136kB e2fsprogs-1.21.tar.gz + 1152kB e2fsprogs-1.21.tar.gz 1kB e2fsprogs-1.21.lsm Alternate-site: Platforms: linux 1.2.x/1.3.x/2.0.x/2.1.x/2.2.x/2.3.x/2.4.x diff --git a/version.h b/version.h index 3a5149eb..023cc87c 100644 --- a/version.h +++ b/version.h @@ -6,5 +6,5 @@ * Ts'o. This file may be redistributed under the GNU Public License. */ -#define E2FSPROGS_VERSION "1.21-WIP" -#define E2FSPROGS_DATE "14-Jun-2001" +#define E2FSPROGS_VERSION "1.21" +#define E2FSPROGS_DATE "15-Jun-2001"