From d3f263527886373252fe0f24ca7ddcf9161d6d4a Mon Sep 17 00:00:00 2001 From: "Robin H. Johnson" Date: Thu, 5 Oct 2006 16:27:07 +0000 Subject: Bug #99845 - fix double count of files during verification. (Portage version: 2.1.2_pre2-r3) --- sys-fs/dosfstools/ChangeLog | 9 ++++- sys-fs/dosfstools/dosfstools-2.11-r2.ebuild | 42 ++++++++++++++++++++++ sys-fs/dosfstools/files/digest-dosfstools-2.11-r2 | 3 ++ .../dosfstools-2.11-verify-double-count-fix.patch | 37 +++++++++++++++++++ 4 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 sys-fs/dosfstools/dosfstools-2.11-r2.ebuild create mode 100644 sys-fs/dosfstools/files/digest-dosfstools-2.11-r2 create mode 100644 sys-fs/dosfstools/files/dosfstools-2.11-verify-double-count-fix.patch (limited to 'sys-fs/dosfstools') diff --git a/sys-fs/dosfstools/ChangeLog b/sys-fs/dosfstools/ChangeLog index 3be728797480..bb1dc1506839 100644 --- a/sys-fs/dosfstools/ChangeLog +++ b/sys-fs/dosfstools/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-fs/dosfstools # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/ChangeLog,v 1.34 2006/10/04 16:32:54 dang Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/ChangeLog,v 1.35 2006/10/05 16:27:07 robbat2 Exp $ + +*dosfstools-2.11-r2 (05 Oct 2006) + + 05 Oct 2006; Robin H. Johnson + +files/dosfstools-2.11-verify-double-count-fix.patch, + +dosfstools-2.11-r2.ebuild: + Bug #99845 - fix double count of files during verification. 04 Oct 2006; Daniel Gryniewicz dosfstools-2.11-r1.ebuild: diff --git a/sys-fs/dosfstools/dosfstools-2.11-r2.ebuild b/sys-fs/dosfstools/dosfstools-2.11-r2.ebuild new file mode 100644 index 000000000000..685438a0d6d1 --- /dev/null +++ b/sys-fs/dosfstools/dosfstools-2.11-r2.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-fs/dosfstools/dosfstools-2.11-r2.ebuild,v 1.1 2006/10/05 16:27:07 robbat2 Exp $ + +inherit eutils + +DESCRIPTION="DOS filesystem tools - provides mkdosfs, mkfs.msdos, mkfs.vfat" +HOMEPAGE="ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/" +SRC_URI="ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/dosfstools/${P}.src.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="" + +DEPEND="" + +src_unpack() { + unpack ${A} + cd "${S}" + sed -i \ + -e '/^PREFIX/s:=:=/usr:' \ + -e '/^MANDIR/s:/usr:/share:' \ + Makefile || die "sed Makefile" + epatch "${FILESDIR}"/dosfstools-2.11-fat32size.patch + epatch "${FILESDIR}"/dosfstools-2.11-verify-double-count-fix.patch +} + +src_compile() { + # this package does *not* play well with optimisations + # please dont change to: make OPTFLAGS="${CFLAGS}" + emake -j1 || die +} + +src_install() { + make PREFIX="${D}"/usr install || die + dodoc CHANGES TODO + newdoc dosfsck/README README.dosfsck + newdoc dosfsck/CHANGES CHANGES.dosfsck + newdoc mkdosfs/README README.mkdosfs + newdoc mkdosfs/ChangeLog ChangeLog.mkdosfs +} diff --git a/sys-fs/dosfstools/files/digest-dosfstools-2.11-r2 b/sys-fs/dosfstools/files/digest-dosfstools-2.11-r2 new file mode 100644 index 000000000000..00e5fa079ba2 --- /dev/null +++ b/sys-fs/dosfstools/files/digest-dosfstools-2.11-r2 @@ -0,0 +1,3 @@ +MD5 407d405ade410f7597d364ab5dc8c9f6 dosfstools-2.11.src.tar.gz 68346 +RMD160 0336d407319ccbf8d4c4bf16a2330e713ab6b0ab dosfstools-2.11.src.tar.gz 68346 +SHA256 0eac6d12388b3d9ed78684529c1b0d9346fa2abbe406c4d4a3eb5a023c98a484 dosfstools-2.11.src.tar.gz 68346 diff --git a/sys-fs/dosfstools/files/dosfstools-2.11-verify-double-count-fix.patch b/sys-fs/dosfstools/files/dosfstools-2.11-verify-double-count-fix.patch new file mode 100644 index 000000000000..5890c7869f62 --- /dev/null +++ b/sys-fs/dosfstools/files/dosfstools-2.11-verify-double-count-fix.patch @@ -0,0 +1,37 @@ +Don't double-count n_files during a verification pass. + +Bugzilla: http://bugs.gentoo.org/show_bug.cgi?id=99845 +Signed-off-by: Robin H. Johnson + +diff -Nuar --exclude '*~' dosfstools-2.11.orig/dosfsck/dosfsck.c dosfstools-2.11/dosfsck/dosfsck.c +--- dosfstools-2.11.orig/dosfsck/dosfsck.c 2004-02-25 11:28:57.000000000 -0800 ++++ dosfstools-2.11/dosfsck/dosfsck.c 2006-10-05 09:21:41.116526881 -0700 +@@ -84,6 +84,7 @@ + { + DOS_FS fs; + int rw,salvage_files,verify,c; ++ unsigned n_files_check=0, n_files_verify=0; + unsigned long free_clusters; + + rw = salvage_files = verify = 0; +@@ -154,12 +155,15 @@ + free_clusters = update_free(&fs); + file_unused(); + qfree(&mem_queue); ++ n_files_check = n_files; + if (verify) { +- printf("Starting verification pass.\n"); +- read_fat(&fs); +- scan_root(&fs); +- reclaim_free(&fs); +- qfree(&mem_queue); ++ n_files = 0; ++ printf("Starting verification pass.\n"); ++ read_fat(&fs); ++ scan_root(&fs); ++ reclaim_free(&fs); ++ qfree(&mem_queue); ++ n_files_verify = n_files; + } + + if (fs_changed()) { -- cgit v1.2.3-65-gdbad