%bcond_without static # link e2fsck dynamically with libc
%bcond_without nls # build without NLS
%bcond_without initrd # don't build initrd version
-%bcond_without uClibc # link initrd version with static glibc instead of uClibc
+%bcond_with uClibc # link initrd version with static glibc instead of uClibc
+%bcond_without dietlibc # link initrd version with dietlibc instead of uClibc
#
%ifarch sparc64 sparc
%undefine with_uClibc
Summary(zh_CN.UTF-8): 管理第二扩展(ext2)文件系统的工具。
Summary(zh_TW.UTF-8): 用於管理 ext2 檔案系統的工具程式。
Name: e2fsprogs
-Version: 1.40.10
+Version: 1.41.4
Release: 1
License: GPL v2 (with LGPL v2 and BSD parts)
Group: Applications/System
Source0: http://dl.sourceforge.net/e2fsprogs/%{name}-%{version}.tar.gz
-# Source0-md5: 6174d70fb26858861f842f28486a8e83
+# Source0-md5: 59033388df36987d2b9c9bbf7e19bd57
Source1: e2compr-0.4.texinfo.gz
# Source1-md5: c3c59ff37e49d8759abb1ef95a8d3abf
Source2: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
Patch0: %{name}-info.patch
Patch1: e2compr-info.patch
Patch2: %{name}-498381.patch
+Patch3: %{name}-diet.patch
URL: http://e2fsprogs.sourceforge.net/
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.50
BuildRequires: automake
-BuildRequires: device-mapper-devel >= 1.02.18-2
BuildRequires: gettext-devel >= 0.11
BuildRequires: rpmbuild(macros) >= 1.426
BuildRequires: texinfo
%if %{with allstatic}
-BuildRequires: device-mapper-static
BuildRequires: glibc-static
BuildRequires: libselinux-static
BuildRequires: libsepol-static
%endif
-%if %{with initrd} && %{with uClibc}
+%if %{with initrd}
+ %if %{with uClibc}
BuildRequires: uClibc-static >= 2:0.9.29
+ %else
+ %if %{with dietlibc}
+BuildRequires: dietlibc-static
+ %else
+BuildRequires: glibc-static
+ %endif
+ %endif
%endif
Requires(post,postun): /sbin/ldconfig
Requires: fsck = %{version}-%{release}
%{__gzip} -dc < %{SOURCE1} > doc/e2compr.texinfo
%patch1 -p1
%patch2 -p1
+%patch3 -p1
sed -i -e '/AC_SUBST(DO_TEST_SUITE/a\MKINSTALLDIRS="install -d"\nAC_SUBST(MKINSTALLDIRS)\n' configure.in
%{__autoconf}
%if %{with initrd}
+%if %{with dietlibc}
+# needed for syscall()
+sed -i -e 's|\(^LIBUUID = .*\)|\1 -lcompat|g' \
+ -e 's|\(^STATIC_LIBUUID = .*\)|\1 -lcompat|g' MCONFIG.in
+%endif
%configure \
- %{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"} \
ac_cv_lib_dl_dlopen=no \
+ %{?with_uClibc:CC="%{_target_cpu}-uclibc-gcc"} \
+ %{?with_dietlibc:--with-cc="diet %{__cc}"} \
--with-ccopts="-Os" \
--with-ldopts="-static" \
--disable-elf-shlibs \
--disable-selinux \
- --disable-nls
-
-%{__make} libs
+ --disable-nls \
+ --disable-testio-debug \
+ --disable-e2initrd-helper \
+ --disable-uuidd \
+ --disable-tls \
+ --disable-nls \
+ --disable-threads
+
+%{__make} -j1 libs
%{__make} progs
mv -f misc/blkid initrd-blkid
+mv -f misc/mke2fs initrd-mke2fs
+mv -f misc/fsck initrd-e2fsck
%{__make} clean
+%if %{with dietlibc}
+sed -i -e 's|\(^LIBUUID = .*\) -lcompat|\1|g' \
+ -e 's|\(^STATIC_LIBUUID = .*\) -lcompat|\1|g' MCONFIG.in
+%endif
%endif
%configure \
--with-root-prefix="" \
%{!?with_nls:--disable-nls} \
%{!?with_allstatic:--enable-elf-shlibs} \
- --enable-blkid-devmapper \
--enable-compression \
--enable-htree \
--enable-fsck \
bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/{mkfs,fsck}.ext[23].8*
+rm -f $RPM_BUILD_ROOT%{_mandir}/man8/{mkfs,fsck}.ext[234]*.8*
echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/man8/fsck.ext2.8
echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/man8/fsck.ext3.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/man8/fsck.ext4.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/man8/fsck.ext4dev.8
echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/man8/mkfs.ext2.8
echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/man8/mkfs.ext3.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/man8/mkfs.ext4.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/man8/mkfs.ext4dev.8
# missing in non-english-man-pages tarball
echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/hu/man8/fsck.ext3.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/hu/man8/fsck.ext4.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/hu/man8/fsck.ext4dev.8
echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/fsck.ext3.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/fsck.ext4.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/fsck.ext4dev.8
echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/mkfs.ext3.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/mkfs.ext4.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/it/man8/mkfs.ext4dev.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/ja/man8/fsck.ext4.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/ja/man8/fsck.ext4dev.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/ja/man8/mkfs.ext4.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/ja/man8/mkfs.ext4dev.8
echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/fsck.ext3.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/fsck.ext4.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/fsck.ext4dev.8
echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/mkfs.ext3.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/mkfs.ext4.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/ko/man8/mkfs.ext4dev.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/pl/man8/fsck.ext4.8
+echo '.so e2fsck.8' > $RPM_BUILD_ROOT%{_mandir}/pl/man8/fsck.ext4dev.8
echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/pl/man8/mkfs.ext3.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/pl/man8/mkfs.ext4.8
+echo '.so mke2fs.8' > $RPM_BUILD_ROOT%{_mandir}/pl/man8/mkfs.ext4dev.8
%if %{with nls}
[ "`file $RPM_BUILD_ROOT%{_datadir}/locale/it/LC_MESSAGES/e2fsprogs.mo |\
rm -f $RPM_BUILD_ROOT%{_mandir}/README.e2fsprogs-non-english-man-pages
touch $RPM_BUILD_ROOT%{_sysconfdir}/blkid.tab
-%{?with_initrd:install initrd-blkid $RPM_BUILD_ROOT/sbin/initrd-blkid}
+%if %{with initrd}
+install initrd-blkid $RPM_BUILD_ROOT/sbin/initrd-blkid
+install initrd-e2fsck $RPM_BUILD_ROOT/sbin/initrd-e2fsck
+install initrd-mke2fs $RPM_BUILD_ROOT/sbin/initrd-mke2fs
+%endif
%clean
rm -rf $RPM_BUILD_ROOT
%postun -n libuuid -p /sbin/ldconfig
%pre -n uuidd
-if [ "$(getgid libuuid)" = "222" ]; then
+if [ "$(getgid libuuid 2>/dev/null)" = "222" ]; then
/usr/sbin/groupmod -n uuidd libuuid
fi
%groupadd -g 222 uuidd
%attr(755,root,root) /sbin/e2fsck
%attr(755,root,root) /sbin/e2image
%attr(755,root,root) /sbin/e2label
+%attr(755,root,root) /sbin/e2undo
%attr(755,root,root) /sbin/findfs
%attr(755,root,root) /sbin/fsck.ext2
%attr(755,root,root) /sbin/fsck.ext3
+%attr(755,root,root) /sbin/fsck.ext4
+%attr(755,root,root) /sbin/fsck.ext4dev
%attr(755,root,root) /sbin/logsave
%attr(755,root,root) /sbin/mke2fs
%attr(755,root,root) /sbin/mkfs.ext2
%attr(755,root,root) /sbin/mkfs.ext3
+%attr(755,root,root) /sbin/mkfs.ext4
+%attr(755,root,root) /sbin/mkfs.ext4dev
%attr(755,root,root) /sbin/resize2fs
%attr(755,root,root) /sbin/tune2fs
%attr(755,root,root) %{_bindir}/chattr
%{_mandir}/man8/e2fsck.8*
%{_mandir}/man8/e2image.8*
%{_mandir}/man8/e2label.8*
+%{_mandir}/man8/e2undo.8*
%{_mandir}/man8/filefrag.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/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*
%lang(hu) %{_mandir}/hu/man8/e2fsck.8*
%lang(hu) %{_mandir}/hu/man8/fsck.ext2.8*
%lang(hu) %{_mandir}/hu/man8/fsck.ext3.8*
+%lang(hu) %{_mandir}/hu/man8/fsck.ext4.8*
+%lang(hu) %{_mandir}/hu/man8/fsck.ext4dev.8*
%lang(hu) %{_mandir}/hu/man8/tune2fs.8*
%lang(it) %{_mandir}/it/man1/chattr.1*
%lang(it) %{_mandir}/it/man1/lsattr.1*
%lang(it) %{_mandir}/it/man8/e2fsck.8*
%lang(it) %{_mandir}/it/man8/fsck.ext2.8*
%lang(it) %{_mandir}/it/man8/fsck.ext3.8*
+%lang(it) %{_mandir}/it/man8/fsck.ext4.8*
+%lang(it) %{_mandir}/it/man8/fsck.ext4dev.8*
%lang(it) %{_mandir}/it/man8/mke2fs.8*
%lang(it) %{_mandir}/it/man8/mkfs.ext2.8*
%lang(it) %{_mandir}/it/man8/mkfs.ext3.8*
+%lang(it) %{_mandir}/it/man8/mkfs.ext4.8*
+%lang(it) %{_mandir}/it/man8/mkfs.ext4dev.8*
%lang(it) %{_mandir}/it/man8/mklost+found.8*
%lang(it) %{_mandir}/it/man8/tune2fs.8*
%lang(ja) %{_mandir}/ja/man1/chattr.1*
%lang(ja) %{_mandir}/ja/man8/findfs.8*
%lang(ja) %{_mandir}/ja/man8/fsck.ext2.8*
%lang(ja) %{_mandir}/ja/man8/fsck.ext3.8*
+%lang(ja) %{_mandir}/ja/man8/fsck.ext4.8*
+%lang(ja) %{_mandir}/ja/man8/fsck.ext4dev.8*
%lang(ja) %{_mandir}/ja/man8/mke2fs.8*
%lang(ja) %{_mandir}/ja/man8/mkfs.ext2.8*
%lang(ja) %{_mandir}/ja/man8/mkfs.ext3.8*
+%lang(ja) %{_mandir}/ja/man8/mkfs.ext4.8*
+%lang(ja) %{_mandir}/ja/man8/mkfs.ext4dev.8*
%lang(ja) %{_mandir}/ja/man8/mklost+found.8*
%lang(ja) %{_mandir}/ja/man8/resize2fs.8*
%lang(ja) %{_mandir}/ja/man8/tune2fs.8*
%lang(ko) %{_mandir}/ko/man8/e2fsck.8*
%lang(ko) %{_mandir}/ko/man8/fsck.ext2.8*
%lang(ko) %{_mandir}/ko/man8/fsck.ext3.8*
+%lang(ko) %{_mandir}/ko/man8/fsck.ext4.8*
+%lang(ko) %{_mandir}/ko/man8/fsck.ext4dev.8*
%lang(ko) %{_mandir}/ko/man8/mke2fs.8*
%lang(ko) %{_mandir}/ko/man8/mkfs.ext2.8*
%lang(ko) %{_mandir}/ko/man8/mkfs.ext3.8*
+%lang(ko) %{_mandir}/ko/man8/mkfs.ext4.8*
+%lang(ko) %{_mandir}/ko/man8/mkfs.ext4dev.8*
%lang(ko) %{_mandir}/ko/man8/mklost+found.8*
%lang(ko) %{_mandir}/ko/man8/tune2fs.8*
%lang(pl) %{_mandir}/pl/man1/chattr.1*
%lang(pl) %{_mandir}/pl/man8/e2label.8*
%lang(pl) %{_mandir}/pl/man8/fsck.ext2.8*
%lang(pl) %{_mandir}/pl/man8/fsck.ext3.8*
+%lang(pl) %{_mandir}/pl/man8/fsck.ext4.8*
+%lang(pl) %{_mandir}/pl/man8/fsck.ext4dev.8*
%lang(pl) %{_mandir}/pl/man8/mke2fs.8*
%lang(pl) %{_mandir}/pl/man8/mkfs.ext2.8*
%lang(pl) %{_mandir}/pl/man8/mkfs.ext3.8*
+%lang(pl) %{_mandir}/pl/man8/mkfs.ext4.8*
+%lang(pl) %{_mandir}/pl/man8/mkfs.ext4dev.8*
%lang(pl) %{_mandir}/pl/man8/mklost+found.8*
%lang(pl) %{_mandir}/pl/man8/tune2fs.8*
%{_datadir}/ss
%if %{with initrd}
%files initrd
%defattr(644,root,root,755)
-%attr(755,root,root) /sbin/initrd-blkid
+%attr(755,root,root) /sbin/initrd-*
%endif