# TODO:
# - add warnquota as cron job
-Summary: Quota administration package
+#
+# Conditional build:
+%bcond_with kernel64 # build 32-bit userland for 64-bit kernel
+%bcond_with ldap # LDAP mail address lookups
+%bcond_with netlink # quota messages via netlink
+#
+Summary: Quota administration package%{?with_kernel64: - 32-bit userland for 64-bit kernel}
Summary(de.UTF-8): Quotenverwaltungspaket
Summary(es.UTF-8): Paquete de administración cuota
Summary(fr.UTF-8): Paquetage de gestion des quotas
-Summary(pl.UTF-8): Pakiet administaracyjny Quota
+Summary(pl.UTF-8): Pakiet administaracyjny Quota%{?with_kernel64: - 32-bitowe programy dla 64-bitowego jądra}
Summary(pt_BR.UTF-8): Pacote de administração quota
Summary(ru.UTF-8): Утилиты системного администратора для управления дисковыми квотами
Summary(tr.UTF-8): Kota denetleme paketi
Summary(uk.UTF-8): Утиліти системного адміністратора для керування дисковими квотами
Summary(zh_CN.UTF-8): 磁盘使用情况的监控工具
-Name: quota
-Version: 3.14
-Release: 4
+Name: quota%{?with_kernel64:64}
+Version: 4.02
+Release: 1
Epoch: 1
License: BSD
Group: Applications/System
-Source0: http://dl.sourceforge.net/linuxquota/%{name}-%{version}.tar.gz
-# Source0-md5: e6ae17d4bf26012e820c3582ec7af487
-Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-non-english-man-pages.tar.bz2
+Source0: http://downloads.sourceforge.net/linuxquota/quota-%{version}.tar.gz
+# Source0-md5: a8a5df262261e659716ccad2a5d6df0d
+Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/quota-non-english-man-pages.tar.bz2
# Source1-md5: 05a209bc054366ea190d1c67669f9ca3
-Source2: r%{name}d.init
-Source3: r%{name}d.sysconfig
+Source2: rquotad.init
+Source3: rquotad.sysconfig
URL: http://sourceforge.net/projects/linuxquota/
-Patch0: %{name}-defaults.patch
-Patch1: %{name}-repquota-len-fix.patch
-BuildRequires: autoconf
+Patch0: quota-defaults.patch
+Patch1: quota-pl.po-update.patch
+Patch2: quota-repquota-len-fix.patch
+BuildRequires: autoconf >= 2.50
BuildRequires: automake
+%{?with_netlink:BuildRequires: dbus-devel}
BuildRequires: e2fsprogs-devel
-BuildRequires: gettext-devel
+BuildRequires: gettext-tools
+%{?with_netlink:BuildRequires: libnl-devel >= 3.2}
BuildRequires: libwrap-devel
+%{?with_ldap:BuildRequires: openldap-devel}
BuildRequires: rpmbuild(macros) >= 1.268
+%if %{with kernel64}
+ExclusiveArch: %{ix86}
+%endif
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
and/or group per filesystem. This package contains the tools which are
needed to enable, modify, and update quotas.
+%if %{with kernel64}
+Warning: This package is for 32-bit systems running on 64-bit kernel!
+%endif
+
%description -l de.UTF-8
Quotas gestatten es dem Systemadministrator, die Festplattennutzung
durch einen Anwender und/oder Gruppen pro Dateisystem zu beschränken.
miejsca na dysku dla użytkownika/grupy. Pakiet ten zawiera narzędzia
do aktywacji i modyfikacji Quoty.
+%if %{with kernel64}
+Uwaga: Ten pakiet jest przeznaczony wyłącznie dla 32-bitowych systemów
+ działających na 64-bitowym jądrze!
+%endif
+
%description -l pt_BR.UTF-8
Quotas permite ao administrador do sistema limitar o uso de disco por
um usuário e/ou grupo por sistema de arquivos. Este pacote contém as
The results are used by quota(1) to display user quotas for remote
file systems.
+%if %{with kernel64}
+Warning: This package is for 32-bit systems running on 64-bit kernel!
+%endif
+
%description rquotad -l pl.UTF-8
rquotad jest serverem rpc(3N), który zwraca quoty użytkownika
lokalnego systemu plików, który jest zamountowany przez zdalną maszynę
poprzez NFS. Rezultaty są używane przez quota(1), aby wyświetlić quote
dla zdalnego systemu plików.
+%if %{with kernel64}
+Uwaga: Ten pakiet jest przeznaczony wyłącznie dla 32-bitowych systemów
+ działających na 64-bitowym jądrze!
+%endif
+
%prep
-%setup -q -n %{name}-tools
+%setup -q -n quota-tools
%patch0 -p1
%patch1 -p1
+%patch2 -p1
%build
%{__aclocal}
%{__autoconf}
+
+%if %{with kernel64}
+CFLAGS="%{rpmcflags} -malign-double"
+export CFLAGS
+%endif
+
%configure \
+ %{?with_ldap:--enable-ldapmail} \
+ %{?with_netlink:--enable-netlink} \
--enable-rpcsetquota
-%{__make}
+%{__make} \
+ CC="%{__cc}"
%install
rm -rf $RPM_BUILD_ROOT
ROOTDIR=$RPM_BUILD_ROOT
# essential, used by rc-scripts
-mv -f $RPM_BUILD_ROOT%{_sbindir}/{quotacheck,quotaon,quotaoff,convertquota} \
+%{__mv} $RPM_BUILD_ROOT%{_sbindir}/{quotacheck,quotaon,quotaoff,convertquota} \
$RPM_BUILD_ROOT/sbin
install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/rquotad
install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/rquotad
echo ".so quotaon.8" > $RPM_BUILD_ROOT%{_mandir}/man8/quotaoff.8
-echo ".so rquotad.8" > $RPM_BUILD_ROOT%{_mandir}/man8/rpc.rquotad.8
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.quota-non-english-man-pages
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/fr/man8/{rquotad,rpc.rquotad}.8
+%{__mv} $RPM_BUILD_ROOT%{_mandir}/ja/man8/{rquotad,rpc.rquotad}.8
+
+# interface included in glibc-devel
+%{__rm} $RPM_BUILD_ROOT{%{_includedir}/rpcsvc/rquota.[hx],%{_mandir}/man3/rquota.3}
%find_lang quota
/sbin/chkconfig --del rquotad
fi
-%triggerpostun rquotad -- %{name}-rquotad < 3.14-3
+%triggerpostun rquotad -- quota-rquotad < 3.14-3
/sbin/chkconfig rquotad reset
%files -f quota.lang
%defattr(644,root,root,755)
-%doc Changelog doc/{quotas-1.eps,quotas.ms} quotatab
+%doc Changelog README.{ldap-support,mailserver} doc/{quotas-1.eps,quotas.ms} quotatab
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/quotagrpadmins
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/quotatab
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/warnquota.conf
%attr(755,root,root) %{_sbindir}/setquota
%attr(755,root,root) %{_sbindir}/warnquota
%attr(755,root,root) %{_sbindir}/xqmstats
-%attr(755,root,root) %{_bindir}/*
-
-%{_mandir}/man1/*
-%{_mandir}/man8/quot*.8*
-%{_mandir}/man8/*quota.8*
+%attr(755,root,root) %{_bindir}/quota
+%attr(755,root,root) %{_bindir}/quotasync
+
+%{_mandir}/man1/quota.1*
+%{_mandir}/man1/quotasync.1*
+%{_mandir}/man5/quotagrpadmins.5*
+%{_mandir}/man5/quotatab.5*
+%{_mandir}/man5/warnquota.conf.5*
+%{_mandir}/man8/convertquota.8*
+%{_mandir}/man8/edquota.8*
+%{_mandir}/man8/quot.8*
+%{_mandir}/man8/quota_nld.8*
+%{_mandir}/man8/quotacheck.8*
+%{_mandir}/man8/quotaoff.8*
+%{_mandir}/man8/quotaon.8*
+%{_mandir}/man8/quotastats.8*
+%{_mandir}/man8/repquota.8*
+%{_mandir}/man8/setquota.8*
+%{_mandir}/man8/warnquota.8*
%{_mandir}/man8/xqmstats.8*
%lang(fi) %{_mandir}/fi/man1/*
%attr(755,root,root) %{_sbindir}/rpc.rquotad
%attr(754,root,root) /etc/rc.d/init.d/rquotad
%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rquotad
-
-%{_mandir}/man8/*rquotad.8*
-%lang(fr) %{_mandir}/fr/man8/*rquotad.8*
-%lang(ja) %{_mandir}/ja/man8/*rquotad.8*
+%{_mandir}/man8/rpc.rquotad.8*
+%lang(fr) %{_mandir}/fr/man8/rpc.rquotad.8*
+%lang(ja) %{_mandir}/ja/man8/rpc.rquotad.8*