]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blobdiff - e2fsprogs.spec
libsupport: silence gcc -Wall complaints
[thirdparty/e2fsprogs.git] / e2fsprogs.spec
index 5e14821db4f5b2b5044b2d1ac6326b01c8494e6e..b11e55b6b2f0df39fa1646f735d10aa914ba2b67 100644 (file)
-Summary: Utilities for managing the second extended (ext2) filesystem.
+%define        _root_sbindir   /sbin
+%define        _root_libdir    /%{_lib}
+%define        _root_localedir /usr/share/locale
+%define        _root_etcdir    /etc
+
+Summary: Utilities for managing ext2/ext3/ext4 filesystems
 Name: e2fsprogs
-Version: 1.18
+Version: 1.47.1
 Release: 0
-Copyright: GPL
+License: GPLv2
 Group: System Environment/Base
-Source: ftp://tsx-11.mit.edu/pub/linux/packages/ext2fs/e2fsprogs-1.18.tar.gz
-BuildRoot: /tmp/e2fsprogs-root
+Source:  ftp://download.sourceforge.net/pub/sourceforge/e2fsprogs/e2fsprogs-%{version}.tar.gz
+Url: http://e2fsprogs.sourceforge.net/
+Prereq: /sbin/ldconfig
+BuildRoot: %{_tmppath}/%{name}-root
 
 %description
 The e2fsprogs package contains a number of utilities for creating,
-checking, modifying and correcting any inconsistencies in second
-extended (ext2) filesystems.  E2fsprogs contains e2fsck (used to repair
+checking, modifying, and correcting any inconsistencies in ext2, ext3,
+and ext4 filesystems.  E2fsprogs contains e2fsck (used to repair
 filesystem inconsistencies after an unclean shutdown), mke2fs (used to
 initialize a partition to contain an empty ext2 filesystem), debugfs
 (used to examine the internal structure of a filesystem, to manually
-repair a corrupted filesystem or to create test cases for e2fsck), tune2fs
-(used to modify filesystem parameters) and most of the other core ext2fs
+repair a corrupted filesystem or to create test cases for e2fsck),
+tune2fs (used to modify filesystem parameters), resize2fs to grow and
+shrink unmounted ext2 filesystems, and most of the other core ext2fs
 filesystem utilities.
 
-You should install the e2fsprogs package if you are using any ext2
-filesystems (if you're not sure, you probably should install this
-package).
+You should install the e2fsprogs package if you are using any ext2,
+ext3, or ext4 filesystems (if you're not sure, you probably should
+install this package).  You may also need to install it (even if you
+don't use ext2/ext3/ext4) for the libuuid and libblkid libraries and
+fsck tool that are included here.
 
 %package devel
 Summary: Ext2 filesystem-specific static libraries and headers.
 Group: Development/Libraries
-Requires: e2fsprogs
+Requires: e2fsprogs = %{version}
+Prereq: /sbin/install-info
 
-%description devel 
+%description devel
 E2fsprogs-devel contains the libraries and header files needed to
-develop second extended (ext2) filesystem-specific programs.
+develop ext2, ext3, or ext4 filesystem-specific programs.
+
+You should install e2fsprogs-devel if you want to develop
+ext2. ext3. or ext4 filesystem-specific programs.  If you install
+e2fsprogs-devel, you'll also want to install e2fsprogs.
 
-You should install e2fsprogs-devel if you want to develop ext2
-filesystem-specific programs.  If you install e2fsprogs-devel, you will
-also need to install e2fsprogs.
+%package -n uuidd
+Summary: helper daemon to guarantee uniqueness of time-based UUIDs
+Group: System Environment/Daemons
+License: GPLv2
+Requires: e2fsprogs = %{version}
+Requires(pre): shadow-utils
+
+%description -n uuidd
+The uuidd package contains a userspace daemon (uuidd) which guarantees
+uniqueness of time-based UUID generation even at very high rates on
+SMP systems.
 
 %prep
 %setup
 
 %build
-CFLAGS="$RPM_OPT_FLAGS" ./configure --enable-elf-shlibs
-
-make libs progs docs
+%configure --enable-elf-shlibs --enable-nls \
+       %{?extra_config_flags:%extra_config_flags}
+make
+make check
 
 %install
+rm -rf $RPM_BUILD_ROOT
 export PATH=/sbin:$PATH
-make install DESTDIR="$RPM_BUILD_ROOT"
-make install-libs DESTDIR="$RPM_BUILD_ROOT"
+make install install-libs DESTDIR="$RPM_BUILD_ROOT" \
+       root_sbindir=%{_root_sbindir} root_libdir=%{_root_libdir}
+/sbin/ldconfig -n ${RPM_BUILD_ROOT}%{_libdir}
+
+# Add a dir that uuidd needs that the Makefiles don't create
+install -d $RPM_BUILD_ROOT/var/lib/libuuid
+
+%find_lang %{name}
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%post
-/sbin/ldconfig
-
-%postun
-/sbin/ldconfig
-
-%files
-%attr(-, root, root) %doc README RELEASE-NOTES
-%attr(-, root, root) /sbin/e2fsck
-%attr(-, root, root) /sbin/e2label
-%attr(-, root, root) /sbin/fsck.ext2
-%attr(-, root, root) /sbin/debugfs
-%attr(-, root, root) /sbin/mke2fs
-%attr(-, root, root) /sbin/badblocks
-%attr(-, root, root) /sbin/tune2fs
-%attr(-, root, root) /sbin/dumpe2fs
-%attr(-, root, root) /sbin/fsck
-%attr(-, root, root) /usr/sbin/mklost+found
-%attr(-, root, root) /sbin/mkfs.ext2
-
-%attr(-, root, root) /lib/libe2p.so.2.3
-%attr(-, root, root) /lib/libext2fs.so.2.4
-%attr(-, root, root) /lib/libss.so.2.0
-%attr(-, root, root) /lib/libcom_err.so.2.0
-%attr(-, root, root) /lib/libuuid.so.1.2
-
-%attr(-, root, root) /usr/bin/chattr
-%attr(-, root, root) /usr/bin/lsattr
-%attr(-, root, root) /usr/bin/uuidgen
-%attr(-, root, root) /usr/man/man8/e2fsck.8
-%attr(-, root, root) /usr/man/man8/e2label.8
-%attr(-, root, root) /usr/man/man8/debugfs.8
-%attr(-, root, root) /usr/man/man8/tune2fs.8
-%attr(-, root, root) /usr/man/man8/mklost+found.8
-%attr(-, root, root) /usr/man/man8/mke2fs.8
-%attr(-, root, root) /usr/man/man8/dumpe2fs.8
-%attr(-, root, root) /usr/man/man8/badblocks.8
-%attr(-, root, root) /usr/man/man8/fsck.8
-%attr(-, root, root) /usr/man/man1/chattr.1
-%attr(-, root, root) /usr/man/man1/lsattr.1
-%attr(-, root, root) /usr/man/man1/uuidgen.1
+%post -p /sbin/ldconfig
+
+%postun -p /sbin/ldconfig
+
+%post devel
+if [ -x /sbin/install-info -a -f %{_infodir}/libext2fs.info.gz ]; then
+    /sbin/install-info %{_infodir}/libext2fs.info.gz %{_infodir}/dir
+fi
+exit 0
+
+%postun devel
+if [ $1 = 0 -a -x /sbin/install-info -a -f %{_infodir}/libext2fs.info.gz ]; then
+   /sbin/install-info --delete %{_infodir}/libext2fs.info.gz %{_infodir}/dir
+fi
+exit 0
+
+%pre -n uuidd
+getent group uuidd >/dev/null || groupadd -r uuidd
+getent passwd uuidd >/dev/null || \
+useradd -r -g uuidd -d /var/lib/libuuid -s /sbin/nologin \
+    -c "UUID generator helper daemon" uuidd
+exit 0
+
+%files -f %{name}.lang
+%defattr(-,root,root)
+%doc README RELEASE-NOTES
+
+%{_root_sbindir}/badblocks
+%{_root_sbindir}/blkid
+%{_root_sbindir}/debugfs
+%{_root_sbindir}/dumpe2fs
+%{_root_sbindir}/e2fsck
+%{_root_sbindir}/e2image
+%{_root_sbindir}/e2label
+%{_root_sbindir}/e2mmpstatus
+%{_root_sbindir}/e2undo
+%{_root_sbindir}/findfs
+%{_root_sbindir}/fsck
+%{_root_sbindir}/fsck.ext2
+%{_root_sbindir}/fsck.ext3
+%{_root_sbindir}/fsck.ext4
+%{_root_sbindir}/fsck.ext4dev
+%{_root_sbindir}/logsave
+%{_root_sbindir}/mke2fs
+%{_root_etcdir}/mke2fs.conf
+%{_root_sbindir}/mkfs.ext2
+%{_root_sbindir}/mkfs.ext3
+%{_root_sbindir}/mkfs.ext4
+%{_root_sbindir}/mkfs.ext4dev
+%{_root_sbindir}/resize2fs
+%{_root_sbindir}/tune2fs
+%{_sbindir}/filefrag
+%{_sbindir}/mklost+found
+%{_sbindir}/e2freefrag
+
+%{_root_libdir}/libblkid.so.*
+%{_root_libdir}/libcom_err.so.*
+%{_root_libdir}/libe2p.so.*
+%{_root_libdir}/libext2fs.so.*
+%{_root_libdir}/libss.so.*
+%{_root_libdir}/libuuid.so.*
+
+%{_libdir}/e2initrd_helper
+
+%{_bindir}/chattr
+%{_bindir}/lsattr
+%{_bindir}/uuidgen
+%{_mandir}/man1/chattr.1*
+%{_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*
+%{_mandir}/man8/dumpe2fs.8*
+%{_mandir}/man8/e2fsck.8*
+%{_mandir}/man8/findfs.8*
+%{_mandir}/man8/fsck.ext2.8*
+%{_mandir}/man8/fsck.ext3.8*
+%{_mandir}/man8/fsck.ext4.8*
+%{_mandir}/man8/fsck.ext4dev.8*
+%{_mandir}/man8/e2image.8*
+%{_mandir}/man8/e2label.8*
+%{_mandir}/man8/e2mmpstatus.8*
+%{_mandir}/man8/e2undo.8*
+%{_mandir}/man8/fsck.8*
+%{_mandir}/man8/logsave.8*
+%{_mandir}/man8/mke2fs.8*
+%{_mandir}/man8/mkfs.ext2.8*
+%{_mandir}/man8/mkfs.ext3.8*
+%{_mandir}/man8/mkfs.ext4.8*
+%{_mandir}/man8/mkfs.ext4dev.8*
+%{_mandir}/man8/mklost+found.8*
+%{_mandir}/man8/resize2fs.8*
+%{_mandir}/man8/tune2fs.8*
+%{_mandir}/man8/filefrag.8*
+%{_mandir}/man8/e2freefrag.8*
 
 %files devel
-%attr(-, root, root) /usr/info/libext2fs.info*
-%attr(-, root, root) /usr/lib/libe2p.a
-%attr(-, root, root) /usr/lib/libext2fs.a
-%attr(-, root, root) /usr/lib/libss.a
-%attr(-, root, root) /usr/lib/libcom_err.a
-%attr(-, root, root) /usr/lib/libuuid.a
-%attr(-, root, root) /usr/include/ss
-%attr(-, root, root) /usr/include/ext2fs
-%attr(-, root, root) /usr/include/et
-%attr(-, root, root) /usr/include/uuid
-%attr(-, root, root) /usr/lib/libe2p.so
-%attr(-, root, root) /usr/lib/libext2fs.so
-%attr(-, root, root) /usr/lib/libss.so
-%attr(-, root, root) /usr/lib/libcom_err.so
-%attr(-, root, root) /usr/lib/libuuid.so
-%attr(-, root, root) /usr/bin/mk_cmds
-%attr(-, root, root) /usr/bin/compile_et
-%attr(-, root, root) /usr/share/et/et_c.awk
-%attr(-, root, root) /usr/share/et/et_h.awk
-%attr(-, root, root) /usr/share/ss/ct_c.awk
-%attr(-, root, root) /usr/share/ss/ct_c.sed
-%attr(-, root, root) /usr/man/man1/compile_et.1
-%attr(-, root, root) /usr/man/man3/com_err.3
+%defattr(-,root,root)
+%{_infodir}/libext2fs.info*
+%{_bindir}/compile_et
+%{_bindir}/mk_cmds
+
+%{_libdir}/libblkid.a
+%{_libdir}/libblkid.so
+%{_libdir}/libcom_err.a
+%{_libdir}/libcom_err.so
+%{_libdir}/libe2p.a
+%{_libdir}/libe2p.so
+%{_libdir}/libext2fs.a
+%{_libdir}/libext2fs.so
+%{_libdir}/libss.a
+%{_libdir}/libss.so
+%{_libdir}/libuuid.a
+%{_libdir}/libuuid.so
+
+%{_libdir}/pkgconfig/blkid.pc
+%{_libdir}/pkgconfig/com_err.pc
+%{_libdir}/pkgconfig/e2p.pc
+%{_libdir}/pkgconfig/ext2fs.pc
+%{_libdir}/pkgconfig/ss.pc
+%{_libdir}/pkgconfig/uuid.pc
+
+%{_datadir}/et
+%{_datadir}/ss
+%{_includedir}/blkid
+%{_includedir}/e2p
+%{_includedir}/et
+%{_includedir}/com_err.h
+%{_includedir}/ext2fs
+%{_includedir}/ss
+%{_includedir}/uuid
+%{_mandir}/man1/compile_et.1*
+%{_mandir}/man1/mk_cmds.1*
+%{_mandir}/man3/com_err.3*
+%{_mandir}/man3/libblkid.3*
+%{_mandir}/man3/uuid.3*
+%{_mandir}/man3/uuid_clear.3*
+%{_mandir}/man3/uuid_compare.3*
+%{_mandir}/man3/uuid_copy.3*
+%{_mandir}/man3/uuid_generate.3*
+%{_mandir}/man3/uuid_generate_random.3*
+%{_mandir}/man3/uuid_generate_time.3*
+%{_mandir}/man3/uuid_is_null.3*
+%{_mandir}/man3/uuid_parse.3*
+%{_mandir}/man3/uuid_time.3*
+%{_mandir}/man3/uuid_unparse.3*
+
+%files -n uuidd
+%defattr(-,root,root)
+# if you want to run via init
+# /etc/init.d/uuidd
+%{_mandir}/man8/uuidd.8*
+%attr(6755, uuidd, uuidd) %{_sbindir}/uuidd
+%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid