From 3a614a3dc908e65e232127a355fdedb1615e79a9 Mon Sep 17 00:00:00 2001 From: Ondrej Vasik Date: Jun 20 2008 08:51:07 +0000 Subject: upstream fix of some typos, string formats +4TB limit fix for repquota, default mode of binaries 555->755 --- diff --git a/quota-3.06-no-stripping.patch b/quota-3.06-no-stripping.patch index 1125f06..db490fa 100644 --- a/quota-3.06-no-stripping.patch +++ b/quota-3.06-no-stripping.patch @@ -1,5 +1,29 @@ --- quota-tools/Makefile.in.orig 2002-07-17 17:07:14.000000000 -0400 +++ quota-tools/Makefile.in 2002-07-17 18:08:39.000000000 -0400 +@@ -23,8 +23,8 @@ SUPER_OWNER = root + BIN_OWNER = bin + BIN_GROUP = bin + DEF_SUID_MODE = 4511 +-DEF_BIN_MODE = 555 +-DEF_SBIN_MODE = 555 ++DEF_BIN_MODE = 755 ++DEF_SBIN_MODE = 755 + DEF_MAN_MODE = 444 + DEF_CONF_MODE = 644 + RPCGEN = rpcgen +@@ -87,10 +87,10 @@ install: all @INSTMO@ + -mkdir -p $(ROOTDIR)$(sbindir) + -mkdir -p $(ROOTDIR)$(bindir) + -mkdir -p $(ROOTDIR)$(root_sbindir) +- -$(INSTALL) $(STRIP) -m $(DEF_SBIN_MODE) \ ++ -$(INSTALL) -m $(DEF_SBIN_MODE) \ + quotacheck quotaon $(ROOTDIR)$(root_sbindir) + -$(LN) quotaon $(ROOTDIR)$(root_sbindir)/quotaoff +- -$(INSTALL) $(STRIP) -m $(DEF_SBIN_MODE) \ ++ -$(INSTALL) -m $(DEF_SBIN_MODE) \ + edquota repquota warnquota quotastats setquota quot xqmstats \ + convertquota $(ROOTDIR)$(sbindir) + -mkdir -p $(ROOTDIR)$(sysconfdir) @@ -90,8 +90,8 @@ -mkdir -p $(ROOTDIR)$(mandir)/man8 -$(INSTALL) -m 755 -d $(ROOTDIR)$(includedir)/rpcsvc diff --git a/quota-3.16-formatstring.patch b/quota-3.16-formatstring.patch new file mode 100644 index 0000000..910d11a --- /dev/null +++ b/quota-3.16-formatstring.patch @@ -0,0 +1,301 @@ +diff -urNp quota-tools-orig/edquota.c quota-tools/edquota.c +--- quota-tools-orig/edquota.c 2007-09-18 18:21:07.000000000 +0200 ++++ quota-tools/edquota.c 2008-06-19 16:00:13.000000000 +0200 +@@ -181,7 +181,7 @@ int parse_options(int argc, char **argv) + if (((flags & FL_EDIT_PERIOD) && argc != 0) || ((flags & FL_EDIT_TIMES) && argc < 1)) + usage(); + if ((flags & (FL_EDIT_PERIOD | FL_EDIT_TIMES)) && protoname) { +- errstr(_("Prototype name does not make sence when editting grace period or times.\n")); ++ errstr(_("Prototype name does not make sence when editing grace period or times.\n")); + usage(); + } + return optind; +@@ -196,8 +196,11 @@ void copy_prototype(int argc, char **arg + protoid = name2id(protoname, quotatype, !!(flags & FL_NUMNAMES), NULL); + protoprivs = getprivs(protoid, handles, 0); + while (argc-- > 0) { +- id = name2id(*argv++, quotatype, !!(flags & FL_NUMNAMES), NULL); ++ id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); + curprivs = getprivs(id, handles, 0); ++ if (!curprivs) ++ die(1, _("Cannot get quota information for user %s\n"), *argv); ++ argv++; + + for (pprivs = protoprivs, cprivs = curprivs; pprivs && cprivs; + pprivs = pprivs->dq_next, cprivs = cprivs->dq_next) { +@@ -276,7 +279,7 @@ int main(int argc, char **argv) + ret = -1; + } + if (editprivs(tmpfil) < 0) { +- errstr(_("Error while editting grace times.\n")); ++ errstr(_("Error while editing grace times.\n")); + ret = -1; + } + if (readtimes(handles, tmpfd) < 0) { +@@ -288,13 +291,15 @@ int main(int argc, char **argv) + for (; argc > 0; argc--, argv++) { + id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); + curprivs = getprivs(id, handles, 0); ++ if (!curprivs) ++ die(1, _("Cannot get quota information for user %s\n"), *argv); + if (writeindividualtimes(curprivs, tmpfd, *argv, quotatype) < 0) { + errstr(_("Cannot write individual grace times to file.\n")); + ret = -1; + continue; + } + if (editprivs(tmpfil) < 0) { +- errstr(_("Error while editting individual grace times.\n")); ++ errstr(_("Error while editing individual grace times.\n")); + ret = -1; + continue; + } +@@ -312,13 +317,15 @@ int main(int argc, char **argv) + for (; argc > 0; argc--, argv++) { + id = name2id(*argv, quotatype, !!(flags & FL_NUMNAMES), NULL); + curprivs = getprivs(id, handles, 0); ++ if (!curprivs) ++ die(1, _("Cannot get quota information for user %s.\n"), *argv); + if (writeprivs(curprivs, tmpfd, *argv, quotatype) < 0) { + errstr(_("Cannot write quotas to file.\n")); + ret = -1; + continue; + } + if (editprivs(tmpfil) < 0) { +- errstr(_("Error while editting quotas.\n")); ++ errstr(_("Error while editing quotas.\n")); + ret = -1; + continue; + } +diff -urNp quota-tools-orig/Makefile.in quota-tools/Makefile.in +--- quota-tools-orig/Makefile.in 2008-06-19 15:31:35.000000000 +0200 ++++ quota-tools/Makefile.in 2008-06-19 15:35:05.000000000 +0200 +@@ -105,6 +105,9 @@ install: all @INSTMO@ + -$(INSTALL) -m 644 rquota.h rquota.x $(ROOTDIR)$(includedir)/rpcsvc + -$(INSTALL) -m $(DEF_SBIN_MODE) quota $(ROOTDIR)$(bindir) + -$(INSTALL) -m $(DEF_SBIN_MODE) rpc.rquotad $(ROOTDIR)$(sbindir) ++ifneq ($(NETLINKLIBS),) ++ -$(INSTALL) -m $(DEF_SBIN_MODE) quota_nld $(ROOTDIR)$(sbindir) ++endif + -$(INSTALL) -m $(DEF_MAN_MODE) *.1 $(ROOTDIR)$(mandir)/man1 + -$(INSTALL) -m $(DEF_MAN_MODE) *.2 $(ROOTDIR)$(mandir)/man2 + -$(INSTALL) -m $(DEF_MAN_MODE) *.3 $(ROOTDIR)$(mandir)/man3 +diff -urNp quota-tools-orig/quota.c quota-tools/quota.c +--- quota-tools-orig/quota.c 2007-09-18 18:21:07.000000000 +0200 ++++ quota-tools/quota.c 2008-06-19 15:42:12.000000000 +0200 +@@ -204,7 +204,7 @@ int showquotas(int type, qid_t id, int m + } + else { + if (bover) +- sprintf(timebuf, "%Lu", (long long unsigned int)q->dq_dqb.dqb_btime); ++ sprintf(timebuf, "%llu", (long long unsigned int)q->dq_dqb.dqb_btime); + else + strcpy(timebuf, "0"); + } +@@ -222,7 +222,7 @@ int showquotas(int type, qid_t id, int m + } + else { + if (iover) +- sprintf(timebuf, "%Lu", (long long unsigned int)q->dq_dqb.dqb_itime); ++ sprintf(timebuf, "%llu", (long long unsigned int)q->dq_dqb.dqb_itime); + else + strcpy(timebuf, "0"); + } +diff -urNp quota-tools-orig/quotacheck.c quota-tools/quotacheck.c +--- quota-tools-orig/quotacheck.c 2008-03-13 15:49:33.000000000 +0100 ++++ quota-tools/quotacheck.c 2008-06-19 15:51:40.000000000 +0200 +@@ -554,7 +554,7 @@ static int scan_dir(char *pathname) + if (gcheck) + add_to_quota(GRPQUOTA, st.st_ino, st.st_uid, st.st_gid, st.st_mode, + st.st_nlink, qspace, 1); +- debug(FL_DEBUG, _("\tAdding %s size %Ld ino %d links %d uid %u gid %u\n"), de->d_name, ++ debug(FL_DEBUG, _("\tAdding %s size %lld ino %d links %d uid %u gid %u\n"), de->d_name, + (long long)st.st_size, (int)st.st_ino, (int)st.st_nlink, (int)st.st_uid, (int)st.st_gid); + files_done++; + } +diff -urNp quota-tools-orig/quotacheck_v2.c quota-tools/quotacheck_v2.c +--- quota-tools-orig/quotacheck_v2.c 2007-02-20 12:51:59.000000000 +0100 ++++ quota-tools/quotacheck_v2.c 2008-06-19 15:43:53.000000000 +0200 +@@ -158,7 +158,7 @@ static int buffer_entry(dqbuf_t buf, uin + if (flags & FL_GUESSDQ) { + if (!(flags & (FL_DEBUG | FL_VERBOSE))) + fputc('\n', stderr); +- errstr(_("Found more structures for ID %u. Using values: BHARD: %Ld BSOFT: %Ld IHARD: %Ld ISOFT: %Ld\n"), ++ errstr(_("Found more structures for ID %u. Using values: BHARD: %lld BSOFT: %lld IHARD: %lld ISOFT: %lld\n"), + (uint) id, (long long)fdq->dqb_bhardlimit, (long long)fdq->dqb_bsoftlimit, + (long long)fdq->dqb_ihardlimit, (long long)fdq->dqb_isoftlimit); + return 0; +@@ -166,7 +166,7 @@ static int buffer_entry(dqbuf_t buf, uin + else if (flags & FL_INTERACTIVE) { + if (!(flags & (FL_DEBUG | FL_VERBOSE))) + fputc('\n', stderr); +- errstr(_("Found more structures for ID %u. Values: BHARD: %Ld/%Ld BSOFT: %Ld/%Ld IHARD: %Ld/%Ld ISOFT: %Ld/%Ld\n"), ++ errstr(_("Found more structures for ID %u. Values: BHARD: %lld/%lld BSOFT: %lld/%lld IHARD: %lld/%lld ISOFT: %lld/%lld\n"), + (uint) id, (long long)fdq->dqb_bhardlimit, (long long)mdq.dqb_bhardlimit, + (long long)fdq->dqb_bsoftlimit, (long long)mdq.dqb_bsoftlimit, + (long long)fdq->dqb_ihardlimit, (long long)mdq.dqb_ihardlimit, +diff -urNp quota-tools-orig/quotaio_xfs.c quota-tools/quotaio_xfs.c +--- quota-tools-orig/quotaio_xfs.c 2001-09-27 23:34:58.000000000 +0200 ++++ quota-tools/quotaio_xfs.c 2008-06-19 15:49:35.000000000 +0200 +@@ -274,7 +274,7 @@ static int xfs_report(struct quota_handl + if (info->qs_uquota.qfs_ino == -1 || info->qs_uquota.qfs_ino == 0) + printf(_("Inode: none\n")); + else +- printf(_("Inode: #%Lu (%Lu blocks, %u extents)\n"), ++ printf(_("Inode: #%llu (%llu blocks, %u extents)\n"), + (unsigned long long)info->qs_uquota.qfs_ino, + (unsigned long long)info->qs_uquota.qfs_nblks, + info->qs_uquota.qfs_nextents); +@@ -283,7 +283,7 @@ static int xfs_report(struct quota_handl + if (info->qs_gquota.qfs_ino == -1) + printf(_("Inode: none\n")); + else +- printf(_("Inode: #%Lu (%Lu blocks, %u extents)\n"), ++ printf(_("Inode: #%llu (%llu blocks, %u extents)\n"), + (unsigned long long)info->qs_gquota.qfs_ino, + (unsigned long long)info->qs_gquota.qfs_nblks, + info->qs_gquota.qfs_nextents); +diff -urNp quota-tools-orig/quota_nld.c quota-tools/quota_nld.c +--- quota-tools-orig/quota_nld.c 2008-01-17 20:06:22.000000000 +0100 ++++ quota-tools/quota_nld.c 2008-06-19 15:51:05.000000000 +0200 +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -250,12 +251,12 @@ static void write_console_warning(struct + } + } + if (!max_atime) { +- errstr(_("Failed to find tty of user %Lu to report warning to.\n"), (unsigned long long)warn->caused_id); ++ errstr(_("Failed to find tty of user %llu to report warning to.\n"), (unsigned long long)warn->caused_id); + return; + } + fd = open(max_dev, O_WRONLY); + if (fd < 0) { +- errstr(_("Failed to open tty %s of user %Lu to report warning.\n"), dev, (unsigned long long)warn->caused_id); ++ errstr(_("Failed to open tty %s of user %llu to report warning.\n"), dev, (unsigned long long)warn->caused_id); + return; + } + id2name(warn->excess_id, warn->qtype, user); +@@ -287,7 +288,7 @@ static void write_console_warning(struct + } + sprintf(warnbuf, "%s: %s %s %s.\r\n", level, type2name(warn->qtype), user, msg); + if (write_all(fd, warnbuf, strlen(warnbuf)) < 0) +- errstr(_("Failed to write quota message for user %Lu to %s: %s\n"), (unsigned long long)warn->caused_id, dev, strerror(errno)); ++ errstr(_("Failed to write quota message for user %llu to %s: %s\n"), (unsigned long long)warn->caused_id, dev, strerror(errno)); + close(fd); + } + +diff -urNp quota-tools-orig/quotaops.c quota-tools/quotaops.c +--- quota-tools-orig/quotaops.c 2006-07-21 17:14:01.000000000 +0200 ++++ quota-tools/quotaops.c 2008-06-19 15:46:21.000000000 +0200 +@@ -266,7 +266,7 @@ int writeprivs(struct dquot *qlist, int + _(" Filesystem blocks soft hard inodes soft hard\n")); + + for (q = qlist; q; q = q->dq_next) { +- fprintf(fd, " %-24s %10Lu %10Lu %10Lu %10Lu %8Lu %8Lu\n", ++ fprintf(fd, " %-24s %10llu %10llu %10llu %10llu %8llu %8llu\n", + q->dq_h->qh_quotadev, + (long long)toqb(q->dq_dqb.dqb_curspace), + (long long)q->dq_dqb.dqb_bsoftlimit, +@@ -344,7 +344,7 @@ int readprivs(struct dquot *qlist, int i + fgets(line, sizeof(line), fd); + + while (fgets(line, sizeof(line), fd)) { +- cnt = sscanf(line, "%s %Lu %Lu %Lu %Lu %Lu %Lu", ++ cnt = sscanf(line, "%s %llu %llu %llu %llu %llu %llu", + fsp, &blocks, &bsoft, &bhard, &inodes, &isoft, &ihard); + + if (cnt != 7) { +@@ -370,7 +370,7 @@ int readprivs(struct dquot *qlist, int i + return -1; + } + +- cnt = sscanf(cp, _(" blocks in use: %Lu, limits (soft = %Lu, hard = %Lu)"), ++ cnt = sscanf(cp, _(" blocks in use: %llu, limits (soft = %llu, hard = %llu)"), + &blocks, &bsoft, &bhard); + if (cnt != 3) { + errstr(_("%s - %s -- bad format\n"), +@@ -384,7 +384,7 @@ int readprivs(struct dquot *qlist, int i + return -1; + } + +- cnt = sscanf(cp, _("\tinodes in use: %Lu, limits (soft = %Lu, hard = %Lu)"), ++ cnt = sscanf(cp, _("\tinodes in use: %llu, limits (soft = %llu, hard = %llu)"), + &inodes, &isoft, &ihard); + if (cnt != 3) { + errstr(_("%s - %s -- bad format\n"), +diff -urNp quota-tools-orig/quotasys.c quota-tools/quotasys.c +--- quota-tools-orig/quotasys.c 2007-08-22 13:27:56.000000000 +0200 ++++ quota-tools/quotasys.c 2008-06-19 15:48:45.000000000 +0200 +@@ -369,10 +369,10 @@ void space2str(qsize_t space, char *buf, + if (format) + for (i = 3; i > 0; i--) + if (space >= (1LL << (QUOTABLOCK_BITS*i))*100) { +- sprintf(buf, "%Lu%c", (unsigned long long)(space+(1 << (QUOTABLOCK_BITS*i))-1) >> (QUOTABLOCK_BITS*i), suffix[i]); ++ sprintf(buf, "%llu%c", (unsigned long long)(space+(1 << (QUOTABLOCK_BITS*i))-1) >> (QUOTABLOCK_BITS*i), suffix[i]); + return; + } +- sprintf(buf, "%Lu", (unsigned long long)space); ++ sprintf(buf, "%llu", (unsigned long long)space); + } + + /* +@@ -387,10 +387,10 @@ void number2str(unsigned long long num, + if (format) + for (i = 4, div = 1000000000000LL; i > 0; i--, div /= 1000) + if (num >= 100*div) { +- sprintf(buf, "%Lu%c", (num+div-1) / div, suffix[i]); ++ sprintf(buf, "%llu%c", (num+div-1) / div, suffix[i]); + return; + } +- sprintf(buf, "%Lu", num); ++ sprintf(buf, "%llu", num); + } + + /* +diff -urNp quota-tools-orig/repquota.c quota-tools/repquota.c +--- quota-tools-orig/repquota.c 2007-02-20 12:54:25.000000000 +0100 ++++ quota-tools/repquota.c 2008-06-19 16:03:24.000000000 +0200 +@@ -158,7 +158,7 @@ static void parse_options(int argcnt, ch + } + + /* Are we over soft or hard limit? */ +-static char overlim(uint usage, uint softlim, uint hardlim) ++static char overlim(qsize_t usage, qsize_t softlim, qsize_t hardlim) + { + if ((usage > softlim && softlim) || (usage > hardlim && hardlim)) + return '+'; +@@ -181,7 +181,7 @@ static void print(struct dquot *dquot, c + pname[PRINTNAMELEN] = 0; + if (entry->dqb_bsoftlimit && toqb(entry->dqb_curspace) >= entry->dqb_bsoftlimit) + if (flags & FL_RAWGRACE) +- sprintf(time, "%Lu", (unsigned long long)entry->dqb_btime); ++ sprintf(time, "%llu", (unsigned long long)entry->dqb_btime); + else + difftime2str(entry->dqb_btime, time); + else +@@ -198,7 +198,7 @@ static void print(struct dquot *dquot, c + numbuf[0], numbuf[1], numbuf[2], time); + if (entry->dqb_isoftlimit && entry->dqb_curinodes >= entry->dqb_isoftlimit) + if (flags & FL_RAWGRACE) +- sprintf(time, "%Lu", (unsigned long long)entry->dqb_itime); ++ sprintf(time, "%llu", (unsigned long long)entry->dqb_itime); + else + difftime2str(entry->dqb_itime, time); + else +diff -urNp quota-tools-orig/setquota.c quota-tools/setquota.c +--- quota-tools-orig/setquota.c 2007-11-13 11:44:43.000000000 +0100 ++++ quota-tools/setquota.c 2008-06-19 15:38:36.000000000 +0200 +@@ -184,7 +184,7 @@ static void parse_options(int argcnt, ch + usage(); + } + if (flags & FL_PROTO && flags & FL_GRACE) { +- errstr(_("Prototype user has no sense when editting grace times.\n")); ++ errstr(_("Prototype user has no sense when editing grace times.\n")); + usage(); + } + if (flags & FL_INDIVIDUAL_GRACE && flags & FL_GRACE) { diff --git a/quota.spec b/quota.spec index 4c38322..3a555c7 100644 --- a/quota.spec +++ b/quota.spec @@ -5,20 +5,21 @@ Name: quota Summary: System administration tools for monitoring users' disk usage Epoch: 1 Version: 3.16 -Release: 1%{?dist} +Release: 2%{?dist} License: BSD and GPLv2+ URL: http://sourceforge.net/projects/linuxquota/ Group: System Environment/Base -BuildRoot: %{_tmppath}/%{name}-root +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Requires: initscripts >= 6.38 tcp_wrappers e2fsprogs Conflicts: kernel < 2.4 -BuildRequires: e2fsprogs-devel gettext tcp_wrappers-devel +BuildRequires: e2fsprogs-devel gettext tcp_wrappers-devel nss-devel Source0: http://downloads.sourceforge.net/linuxquota/%{name}-%{version}.tar.gz Patch0: quota-3.06-warnquota.patch Patch1: quota-3.06-no-stripping.patch Patch2: quota-3.06-man-page.patch Patch3: quota-3.06-pie.patch Patch4: quota-3.13-wrong-ports.patch +Patch5: quota-3.16-formatstring.patch %description The quota package contains system administration tools for monitoring @@ -34,7 +35,13 @@ and limiting user and or group disk usage per filesystem. %patch3 -p1 %endif %patch4 -p1 +%patch5 -p1 +#fix typos/mistakes in localized documentation +for pofile in $(find ./po/*.p*) +do + sed -i 's/editting/editing/' "$pofile" +done %build %configure \ @@ -53,7 +60,7 @@ mkdir -p %{buildroot}%{_sysconfdir} mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_mandir}/{man1,man2,man3,man8} -make install ROOTDIR=%{buildroot} +make install INSTALL='install -p' ROOTDIR=%{buildroot} install -m 644 warnquota.conf %{buildroot}%{_sysconfdir} # # we don't support XFS yet @@ -67,7 +74,6 @@ ln -s %{_mandir}/man8/quotaon.8 \ %find_lang %{name} - %clean rm -rf %{buildroot} @@ -87,6 +93,13 @@ rm -rf %{buildroot} %changelog +* Fri Jun 20 2008 Ondrej Vasik 3.16-2 +- upstream fix of some typos, string formats + 4TB+ fix + for repquota +- some additional stripping removal +- change default mode of binaries from 555 to 755 + (strip error messages in build log) + * Wed Apr 23 2008 Ondrej Vasik 3.16-1 - own directory of rpcsvc headers(#442143) - new upstream release