From: Theodore Ts'o Date: Sun, 18 Aug 2002 01:11:29 +0000 (-0400) Subject: Update to debian's 1.27+1.28-WIP-0626-1 X-Git-Tag: E2FSPROGS-1.28-WIP-0817~9 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=e5b164373c2b7feb867f701f6493e3d87765272c;p=tools%2Fe2fsprogs.git Update to debian's 1.27+1.28-WIP-0626-1 Revert the shlibs hack. Makefile.in: Remove inode_io.o from the standard object files in libext2fs, and only build it if debugfs is enabled (it requires fileio.o, which is only built if --disable-debugfs isn't specified to configure). --- diff --git a/debian/changelog b/debian/changelog index eddb9d8..8ec6a2c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,68 @@ +e2fsprogs (1.27+1.28-WIP-0626-2) experimental; urgency=low + + * Remove bogus shlibs deps on "e2fsprogs (>= )" + + -- Theodore Y. Ts'o Sat, 17 Aug 2002 17:59:17 -0400 + +e2fsprogs (1.27+1.28-WIP-0626-1) experimental; urgency=low + + * New upstream pre-release: + ** Supports v2 ACL format (Closes: #138160). + * Removed explicit --mandir flag, as it now uses FHS man location by + default. + * Added mkinitrd script, "upstream-contributed" ;) by Ted Ts'o (Closes: + #148064). + * Build a no-pic version of libext2fs.a on mips and mipsel, patch by + Florian Lohoff, adapted for style consistency (Closes: #145432). + * Removed presumably-useless and presumably-broken CFLAGS propagation. + If someone misses that, I'll add ${CFLAGS} to --ccopts. + + * Switched to debhelper v4. + * Added ${misc:Depends} to all packages' Depends field. + + * Fixed typos in fsck.8, added an example for clarity (Closes: + #145044). + * Fixed typo in chattr manpage (Closes: #141938). + * Fixed typo in tune2fs manpage (Closes: #148514). + + -- Yann Dirson Tue, 23 Jul 2002 00:12:33 +0200 + +e2fsprogs (1.27-2) unstable; urgency=medium + + * Urgency medium since this fixes a RC bug. + * Generate the shlibs file instead of just copying it in place, and make + it produce deps on "e2fsprogs (>= )" as well, to cope with + new functions introduced in the libs (Closes: #139274). + * Added a note on this in README.Debian. + + -- Yann Dirson Thu, 21 Mar 2002 23:58:48 +0100 + +e2fsprogs (1.27-1) unstable; urgency=low + + * New upstream release (Closes: #136737). + * No more use for dh_link'ing *.ext[23], it's now done by upstream + Makefiles. + * Only include (new) inode_io.o from libext2fs when fileio.o is, or the + BF build fails because of this additional (unused) member (upstream + hint). + + -- Yann Dirson Mon, 11 Mar 2002 00:17:32 +0100 + +e2fsprogs (1.26-3) unstable; urgency=low + + * Simple rebuild after fixing the settings of my computer's clock, so + that katie accepts to install the package. + + -- Yann Dirson Sat, 23 Feb 2002 14:53:15 +0100 + +e2fsprogs (1.26-2) unstable; urgency=low + + * Applied upstream patch dealing with the rlimit filesize variation + among archs and kernel versions (Closes: #133909). + * Create fsck.ext3.8 symlink (Closes: #121526). + + -- Yann Dirson Sat, 23 Feb 2002 06:44:02 +0100 + e2fsprogs (1.26-1) unstable; urgency=low * This uploads fixes 10 bugs, including data-corruption problems, and diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..b8626c4 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +4 diff --git a/debian/control b/debian/control index 89feaf9..2c5c683 100644 --- a/debian/control +++ b/debian/control @@ -2,13 +2,13 @@ Source: e2fsprogs Section: base Priority: required Maintainer: Yann Dirson -Build-Depends: texi2html, texinfo, debhelper (>= 3) +Build-Depends: texi2html, texinfo, debhelper (>= 4) Standards-Version: 3.5.4 Package: e2fsck-static Section: admin Priority: optional -Depends: e2fsprogs (= ${Source-Version}) +Depends: e2fsprogs (= ${Source-Version}), ${misc:Depends} Recommends: sash | zsh-static | busybox-static | zsh30-static Architecture: any Description: A statically-linked version of the ext2 filesystem checker. @@ -24,7 +24,7 @@ Description: A statically-linked version of the ext2 filesystem checker. Package: comerr-dev Section: devel Priority: extra -Depends: ${libcdev:Depends}, libcomerr2 +Depends: ${libcdev:Depends}, libcomerr2, ${misc:Depends} Suggests: doc-base Conflicts: e2fsprogs (<< 1.10-6) Architecture: any @@ -36,7 +36,7 @@ Description: The Common Error Description library - headers and static libraries Package: ss-dev Section: devel Priority: extra -Depends: ${libcdev:Depends}, libss2 +Depends: ${libcdev:Depends}, libss2, ${misc:Depends} Conflicts: e2fsprogs (<< 1.10-6) Architecture: any Description: Command-line interface parsing library - headers and static libraries. @@ -49,7 +49,7 @@ Description: Command-line interface parsing library - headers and static librari Package: uuid-dev Section: devel Priority: extra -Depends: ${libcdev:Depends}, e2fsprogs (= ${Source-Version}) +Depends: ${libcdev:Depends}, e2fsprogs (= ${Source-Version}), ${misc:Depends} Conflicts: e2fsprogs (<< 1.10-6) Replaces: e2fslibs-dev (<< 1.15) Architecture: any @@ -65,7 +65,7 @@ Description: Universally unique id library - headers and static libraries. Package: e2fsprogs-bf Section: devel Priority: extra -Depends: ${shlibs:Depends} +Depends: ${shlibs:Depends}, ${misc:Depends} Conflicts: e2fsprogs Architecture: any Description: A stripped-down versions of e2fsprogs, for boot-floppies @@ -78,6 +78,7 @@ Description: A stripped-down versions of e2fsprogs, for boot-floppies Package: e2fsprogs Essential: yes Pre-Depends: ${shlibs:Depends} +Depends: ${misc:Depends} Suggests: gpart, parted, e2fsck-static Conflicts: e2fslibsg, dump (<< 0.4b4-4), quota (<< 1.55-8.1) Provides: libcomerr2, libss2, libext2fs2, libe2p2, libuuid1 @@ -92,7 +93,7 @@ Description: The EXT2 file system utilities and libraries. Package: e2fslibs-dev Section: devel Priority: extra -Depends: ${libcdev:Depends}, comerr-dev, e2fsprogs (= ${Source-Version}) +Depends: ${libcdev:Depends}, comerr-dev, e2fsprogs (= ${Source-Version}), ${misc:Depends} Suggests: doc-base Provides: ext2fs-dev, e2p-dev Conflicts: e2fsprogs (<< 1.10-6) diff --git a/debian/e2fsprogs.README.Debian b/debian/e2fsprogs.README.Debian index c925403..07722be 100644 --- a/debian/e2fsprogs.README.Debian +++ b/debian/e2fsprogs.README.Debian @@ -18,7 +18,8 @@ incompatible versions. development. -* Here's the reasonning for not having the libs outside of the e2fsprogs package: +* Here's the reasonning for not moving the libs outside of the +e2fsprogs package (this may be partly obsolete): If we have: @@ -63,6 +64,35 @@ These are automatically referenced thanks to the shlibs file. They are currently provided by e2fsprogs. +* Additionally, we must add to the shlibs file a dep on "e2fsprogs (>= +)", so that programs using new functions from those +libs will not break (see #139274). Note that this will be superceeded +by versionned Provides: when they will come in dpkg. + +We can see the reality of the problem: + +$ diff <(nm -D 1.18/lib/libuuid.so.1 | cut -c10- | grep -v ^U) \ + <(nm -D 1.27/lib/libuuid.so.1 | cut -c10- | grep -v ^U) +3a4 +> w __cxa_finalize +6a8,9 +> T __udivdi3 +> T __umoddi3 + +<=== Actually, there are **no** API changes in libuuid between + e2fsprogs 1.27 and 1.18. The observant reader will notice + that the "reality of the problem" show above shows symbol + names which are are prefixed with "__". This means no program + should be using them. In point of fact, these are functions + created by gcc, and the incompatibility reported in #139274 + was much more likely casued by glibc or gcc incompatibilities, + not changes in the libuuid library. Hence, I am removing the + shlibs hack, because it does far more harm than it does good. + (Next time, *please* consult me before making changes like + this.) + -- Theodore Ts'o, tytso@mit.edu. + + * e2fsprogs still Provides/Conflicts with e2fslibsg to allow upgrading from pre 1.10-13 releases (from unstable hamm). This does not seem to be possible for ss2g and comerr2g for some still-to-be-investigated diff --git a/debian/e2fsprogs.mkinitrd b/debian/e2fsprogs.mkinitrd new file mode 100644 index 0000000..8353a17 --- /dev/null +++ b/debian/e2fsprogs.mkinitrd @@ -0,0 +1,5 @@ +#!/bin/sh +ext3root=`awk '{ if (($2 == "/") && ($3 == "ext3")) {print $1;}}' /etc/fstab` +if test -n "$ext3root" ; then + /sbin/tune2fs -j $ext3root > /dev/null +fi diff --git a/debian/rules b/debian/rules index 157421c..c10402b 100644 --- a/debian/rules +++ b/debian/rules @@ -10,8 +10,6 @@ # be paranoid export LC_ALL=C -export DH_COMPAT=3 - DEB_BUILD_ARCH := $(shell dpkg --print-architecture) DEB_BUILD_GNU_TYPE := $(shell ./config.guess) ifndef DEB_HOST_ARCH @@ -21,7 +19,7 @@ DEB_HOST_GNU_CPU := $(patsubst hurd-%,%,$(DEB_HOST_ARCH)) ifeq ($(filter-out hurd-%,${DEB_HOST_ARCH}),) DEB_HOST_GNU_SYSTEM := gnu else -# FIXME: we won't always have only Hurd and Linux +# FIXME: we won't have always just Hurd and Linux DEB_HOST_GNU_SYSTEM := linux endif DEB_HOST_GNU_TYPE := ${DEB_HOST_GNU_CPU}-${DEB_HOST_GNU_SYSTEM} @@ -29,13 +27,16 @@ DEB_HOST_GNU_TYPE := ${DEB_HOST_GNU_CPU}-${DEB_HOST_GNU_SYSTEM} # find the version for the main package, from changelog file MAIN_VERSION = $(shell head -1 debian/changelog | cut '-d ' -f 2 | sed 's/[()]//g') -# find versions for libraries going into their own packages, from their Makefile.in's +# find versions for libraries going into their own packages, from their Makefile.in's, +# and sonames for all libs COMERR_VERSION = $(shell grep ELF_VERSION lib/et/Makefile.in | cut '-d ' -f3) -COMERR_MAJOR = $(word 1,$(subst ., ,${COMERR_VERSION})) +COMERR_SOVERSION = $(shell grep ELF_SO_VERSION lib/et/Makefile.in | cut '-d ' -f3) SS_VERSION = $(shell grep ELF_VERSION lib/ss/Makefile.in | cut '-d ' -f3) -SS_MAJOR = $(word 1,$(subst ., ,${SS_VERSION})) +SS_SOVERSION = $(shell grep ELF_SO_VERSION lib/ss/Makefile.in | cut '-d ' -f3) UUID_VERSION = $(shell grep ELF_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) -# UUID_MAJOR = $(word 1,$(subst ., ,${UUID_VERSION})) +UUID_SOVERSION = $(shell grep ELF_SO_VERSION lib/uuid/Makefile.in | cut '-d ' -f3) +EXT2FS_SOVERSION = $(shell grep ELF_SO_VERSION lib/ext2fs/Makefile.in | cut '-d ' -f3) +E2P_SOVERSION = $(shell grep ELF_SO_VERSION lib/e2p/Makefile.in | cut '-d ' -f3) package=e2fsprogs @@ -46,6 +47,7 @@ bfdir=${debdir}/e2fsprogs-bf maindir=${debdir}/e2fsprogs stdbuilddir=${debdir}/BUILD-STD bfbuilddir=${debdir}/BUILD-BF +mipsbuilddir=${debdir}/BUILD-MIPS # docdir=${maindir}/usr/share/doc/${package} MANDIR=/usr/share/man mandir=${tmpdir}${MANDIR} @@ -78,13 +80,12 @@ else CCOPTS += -D__NO_STRING_INLINES endif -# Try -Os BF_CCOPTS = -Os -fomit-frame-pointer COMMON_CONF_FLAGS = \ --enable-elf-shlibs --enable-dynamic-e2fsck \ --enable-nls \ - --mandir=${MANDIR} --infodir=/usr/share/info + --infodir=/usr/share/info STD_CONF_FLAGS = --with-ccopts="${CCOPTS}" --enable-compression @@ -92,18 +93,36 @@ BF_CONF_FLAGS = --with-ccopts="${CCOPTS} ${BF_CCOPTS}" \ --disable-swapfs --disable-imager \ --disable-resizer --disable-debugfs +MIPS_NOPIC_CONF_FLAGS = --with-ccopts="${CCOPTS} -G 0 -fno-pic -mno-abicalls" \ + --disable-swapfs --disable-imager \ + --disable-resizer --disable-debugfs + +ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) +ifneq (,$(findstring $(DEB_BUILD_ARCH),mips mipsel)) +ismips=ismips +endif +endif + ${CFGSTDSTAMP}: dh_testdir mkdir -p ${stdbuilddir} ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) - cd ${stdbuilddir} && CFLAGS="${CFLAGS}" \ + cd ${stdbuilddir} && \ ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} else - cd ${stdbuilddir} && CFLAGS="${CFLAGS}" CC="${DEB_HOST_GNU_TYPE}-gcc" \ + cd ${stdbuilddir} && CC="${DEB_HOST_GNU_TYPE}-gcc" \ ${topdir}/configure ${COMMON_CONF_FLAGS} ${STD_CONF_FLAGS} \ --build=$(DEB_BUILD_GNU_TYPE) $(DEB_HOST_GNU_TYPE) endif + + # specially-built MIPS lib + if [ ismips = "${ismips}" ]; then \ + mkdir -p ${mipsbuilddir} ; \ + cd ${mipsbuilddir} && \ + ${topdir}/configure ${MIPS_NOPIC_CONF_FLAGS} ; \ + fi + mkdir -p ${STAMPSDIR} touch ${CFGSTDSTAMP} @@ -113,10 +132,10 @@ ${CFGBFSTAMP}: mkdir -p ${bfbuilddir} ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH)) - cd ${bfbuilddir} && CFLAGS="${CFLAGS}" \ + cd ${bfbuilddir} && \ ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} else - cd ${bfbuilddir} && CFLAGS="${CFLAGS}" CC="${DEB_HOST_GNU_TYPE}-gcc" \ + cd ${bfbuilddir} && CC="${DEB_HOST_GNU_TYPE}-gcc" \ ${topdir}/configure ${COMMON_CONF_FLAGS} ${BF_CONF_FLAGS} \ --build=$(DEB_BUILD_GNU_TYPE) $(DEB_HOST_GNU_TYPE) endif @@ -129,10 +148,18 @@ build-std: ${BUILDSTDSTAMP} ${BUILDSTDSTAMP}: ${CFGSTDSTAMP} dh_testdir make -C ${stdbuilddir} all + ( cd ${stdbuilddir}/doc && \ texi2html -split_chapter ${topdir}/doc/libext2fs.texinfo ) ( cd ${stdbuilddir}/lib/et && make com_err.info && \ texi2html -split_chapter -expandinfo ${topdir}/lib/et/com_err.texinfo ) + + # specially-built MIPS lib + if [ ismips = "${ismips}" ]; then \ + make -C ${mipsbuilddir}/util ; \ + make -C ${mipsbuilddir} libs LIB_SUBDIRS="lib/et lib/ext2fs" ; \ + fi + touch ${BUILDSTDSTAMP} build-bf: ${BUILDBFSTAMP} @@ -176,6 +203,12 @@ install-std: build ${INSTALL_PROGRAM} ${stdbuilddir}/e2fsck/e2fsck.static ${tmpdir}/sbin ln -s e2fsck.8.gz ${mandir}/man8/e2fsck.static.8.gz + # specially-built MIPS lib + if [ ismips = "${ismips}" ]; then \ + cp ${mipsbuilddir}/lib/libext2fs.a \ + ${debdir}/e2fslibs-dev/usr/lib/libext2fs-nopic.a ; \ + fi + dh_movefiles test -z `find ${tmpdir} -type f` @@ -203,7 +236,7 @@ binary-arch: install # remove obsolete maint-scripts provided by 1.26 upstream cd debian && rm -f comerr-dev.postinst e2fslibs-dev.postinst \ - e2fsprogs.postinst e2fsprogs.shlibs + e2fsprogs.postinst e2fsprogs.shlibs e2fsprogs.shlibs.in # lintian overrides for i in $$(cd debian && echo *.lintian-overrides); do \ @@ -211,6 +244,10 @@ binary-arch: install install -m644 -D -p debian/$$i ${debdir}/$${pkg}/usr/share/lintian/overrides/$${pkg} ;\ done + # mkinitrd script + dh_install -p e2fsprogs debian/e2fsprogs.mkinitrd \ + /etc/mkinitrd/scripts + # 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 @@ -222,15 +259,15 @@ binary-arch: install 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 + mkdir -p ${maindir}/usr/share/doc/libcomerr${COMERR_SOVERSION} + mkdir -p ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION} + ln -sf libcomerr${COMERR_SOVERSION} ${debdir}/comerr-dev/usr/share/doc/comerr-dev - mkdir -p ${maindir}/usr/share/doc/libss${SS_MAJOR} - 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 ${maindir}/usr/share/doc/libss${SS_SOVERSION} + mkdir -p ${debdir}/ss-dev/usr/share/doc/libss${SS_SOVERSION} + ln -sf libss${SS_SOVERSION} ${debdir}/ss-dev/usr/share/doc/ss-dev - for i in libcomerr${COMERR_MAJOR} libss${SS_MAJOR}; do \ + for i in libcomerr${COMERR_SOVERSION} libss${SS_SOVERSION}; do \ install -m 644 debian/$$i.copyright \ ${maindir}/usr/share/doc/$$i/copyright ; \ done @@ -252,7 +289,7 @@ binary-arch: install install -p ${topdir}/doc/libext2fs.texinfo \ ${debdir}/e2fslibs-dev/usr/share/doc/e2fslibs-dev/libext2fs.texi install -p ${topdir}/lib/et/com_err.texinfo \ - ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_MAJOR}/com_err.texi + ${debdir}/comerr-dev/usr/share/doc/libcomerr${COMERR_SOVERSION}/com_err.texi dh_installexamples @@ -263,7 +300,7 @@ binary-arch: install DH_OPTIONS= dh_installchangelogs -pe2fsprogs -pe2fsprogs-bf ChangeLog - for i in libcomerr${COMERR_MAJOR} libss${SS_MAJOR} ; do \ + for i in libcomerr${COMERR_SOVERSION} libss${SS_SOVERSION} ; 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/ ; \ @@ -282,7 +319,17 @@ binary-arch: install # Call this mostly to get the maintainer-script snippets dh_makeshlibs -pe2fsprogs # We overwrite the shlibs by hand because of virtual packages used - cp debian/e2fsprogs.shlibs.in debian/e2fsprogs/DEBIAN/shlibs + : > debian/e2fsprogs/DEBIAN/shlibs + echo "libext2fs ${EXT2FS_SOVERSION} libext2fs${EXT2FS_SOVERSION}" \ + >> debian/e2fsprogs/DEBIAN/shlibs + echo "libe2p ${E2P_SOVERSION} libe2p${E2P_SOVERSION}" \ + >> debian/e2fsprogs/DEBIAN/shlibs + echo "libuuid ${UUID_SOVERSION} libuuid${UUID_SOVERSION}" \ + >> debian/e2fsprogs/DEBIAN/shlibs + echo "libcom_err ${COMERR_SOVERSION} libcomerr${COMERR_SOVERSION}" \ + >> debian/e2fsprogs/DEBIAN/shlibs + echo "libss ${SS_SOVERSION} libss${SS_SOVERSION}" \ + >> debian/e2fsprogs/DEBIAN/shlibs dh_installdeb dh_shlibdeps -l${stdbuilddir}/lib diff --git a/lib/ext2fs/ChangeLog b/lib/ext2fs/ChangeLog index 26db244..123d85e 100644 --- a/lib/ext2fs/ChangeLog +++ b/lib/ext2fs/ChangeLog @@ -1,5 +1,10 @@ 2002-08-17 Theodore Ts'o + * Makefile.in: Remove inode_io.o from the standard object files, + and only build it if debugfs is enabled (it requires + fileio.o, which is only built if --disable-debugfs isn't + specified to configure). + * dirhash.c (ext2fs_dirhash): Change the MD4 hash in a backwards incompatible way so that it is no longer endian-dependent. Add the TEA hash. Allow the seed diff --git a/lib/ext2fs/Makefile.in b/lib/ext2fs/Makefile.in index 82ac27f..e54d61e 100644 --- a/lib/ext2fs/Makefile.in +++ b/lib/ext2fs/Makefile.in @@ -8,7 +8,7 @@ INSTALL = @INSTALL@ @MCONFIG@ @DEBUGFS_CMT@DEBUGFS_LIB_OBJS = bb_compat.o cmp_bitmaps.o fileio.o \ -@DEBUGFS_CMT@ namei.o write_bb_file.o +@DEBUGFS_CMT@ inode_io.o namei.o write_bb_file.o @RESIZER_CMT@RESIZE_LIB_OBJS = rs_bitmap.o dupfs.o test_io.o @@ -44,7 +44,6 @@ OBJS= $(DEBUGFS_LIB_OBJS) $(RESIZE_LIB_OBJS) $(E2IMAGE_LIB_OBJS) \ initialize.o \ inline.o \ inode.o \ - inode_io.o \ ismounted.o \ link.o \ llseek.o \