diff options
author | Mike Frysinger <vapier@gentoo.org> | 2009-02-14 02:43:28 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2009-02-14 02:43:28 +0000 |
commit | 3c780608b187260771329354fcd9bbf365a936ba (patch) | |
tree | 97fe3d8897c2750b38272239d936df2214593b8b /sys-apps | |
parent | Add in dependency on x11-libs/libgksu thanks to Jeff Mitchell, bug 258621. (diff) | |
download | gentoo-2-3c780608b187260771329354fcd9bbf365a936ba.tar.gz gentoo-2-3c780608b187260771329354fcd9bbf365a936ba.tar.bz2 gentoo-2-3c780608b187260771329354fcd9bbf365a936ba.zip |
Add fix from upstream for unicode issue #258452 by MarisN. Move data files to /usr/share/misc/ #246769 by Ulrich Müller.
(Portage version: 2.2_rc23/cvs/Linux x86_64)
Diffstat (limited to 'sys-apps')
-rw-r--r-- | sys-apps/file/ChangeLog | 9 | ||||
-rw-r--r-- | sys-apps/file/file-5.00-r1.ebuild | 61 | ||||
-rw-r--r-- | sys-apps/file/files/file-5.00-localization.patch | 80 |
3 files changed, 149 insertions, 1 deletions
diff --git a/sys-apps/file/ChangeLog b/sys-apps/file/ChangeLog index 6427cadfc47f..f1d1803287fa 100644 --- a/sys-apps/file/ChangeLog +++ b/sys-apps/file/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-apps/file # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/ChangeLog,v 1.164 2009/02/04 00:17:11 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/ChangeLog,v 1.165 2009/02/14 02:43:28 vapier Exp $ + +*file-5.00-r1 (14 Feb 2009) + + 14 Feb 2009; Mike Frysinger <vapier@gentoo.org> + +files/file-5.00-localization.patch, +file-5.00-r1.ebuild: + Add fix from upstream for unicode issue #258452 by MarisN. Move data files + to /usr/share/misc/ #246769 by Ulrich Müller. *file-5.00 (04 Feb 2009) diff --git a/sys-apps/file/file-5.00-r1.ebuild b/sys-apps/file/file-5.00-r1.ebuild new file mode 100644 index 000000000000..7879ba4fd54f --- /dev/null +++ b/sys-apps/file/file-5.00-r1.ebuild @@ -0,0 +1,61 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/file/file-5.00-r1.ebuild,v 1.1 2009/02/14 02:43:28 vapier Exp $ + +inherit eutils distutils libtool flag-o-matic + +DESCRIPTION="identify a file's format by scanning binary data for patterns" +HOMEPAGE="ftp://ftp.astron.com/pub/file/" +SRC_URI="ftp://ftp.astron.com/pub/file/${P}.tar.gz + ftp://ftp.gw.com/mirrors/pub/unix/file/${P}.tar.gz" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd" +IUSE="python" + +DEPEND="" + +src_unpack() { + unpack ${P}.tar.gz + cd "${S}" + + epatch "${FILESDIR}"/${PN}-4.15-libtool.patch #99593 + epatch "${FILESDIR}"/${P}-localization.patch #258452 + + elibtoolize + epunt_cxx + + # make sure python links against the current libmagic #54401 + sed -i "/library_dirs/s:'\.\./src':'../src/.libs':" python/setup.py + # dont let python README kill main README #60043 + mv python/README{,.python} + + # only one data file, so put it into /usr/share/misc/ + sed -i '/^pkgdatadir/s:/@PACKAGE@::' $(find -name Makefile.in) +} + +src_compile() { + # file uses things like strndup() and wcwidth() + append-flags -D_GNU_SOURCE + + econf --datadir=/usr/share/misc || die + emake || die "emake failed" + + use python && cd python && distutils_src_compile +} + +src_install() { + emake DESTDIR="${D}" install || die "make install failed" + dodoc ChangeLog MAINT README + + use python && cd python && distutils_src_install +} + +pkg_postinst() { + use python && distutils_pkg_postinst +} + +pkg_postrm() { + use python && distutils_pkg_postrm +} diff --git a/sys-apps/file/files/file-5.00-localization.patch b/sys-apps/file/files/file-5.00-localization.patch new file mode 100644 index 000000000000..f598c15084a3 --- /dev/null +++ b/sys-apps/file/files/file-5.00-localization.patch @@ -0,0 +1,80 @@ +http://bugs.gentoo.org/258452 + +From: christos@zoulas.com (Christos Zoulas) +To: file@mx.gw.com +Date: Fri, 13 Feb 2009 13:46:12 -0500 +Subject: Re: file 5.00 error with a French .doc file + +On Feb 12, 5:05am, dnovotny@redhat.com (Daniel Novotny) wrote: +-- Subject: file 5.00 error with a French .doc file + +| +| ------=_Part_10359_582458326.1234433130940 +| Content-Type: text/plain; charset=utf-8 +| Content-Transfer-Encoding: 7bit +| +| hello, +| +| the new file 5.00 returns error exit code for a .DOC file: +| +| $ file ~/Download/PMD.doc +| /home/pmatilai/Download/PMD.doc: ERROR: CDF V2 Document, Little Endian, Os: +| Windows, Version 5.1, Code page: 1252vasprintf failed (Invalid or incomplete +| multibyte or wide character) +| +| I am attaching the file for analysis +| +| (btw this corrupts rpmbuild process, which checks every file it packs) +| +| best regards, + +$ file -m ../magic/magic.mgc PMD.doc +PMD.doc: CDF V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 1252, Title: \225, Subject: , Author: Bekrar, Keywords: , Comments: , Template: Normal.dot, Last Saved By: Bekrar, Revision Number: 2, Name of Creating Application: Microsoft Office Word, Total Editing Time: 01:00, Create Time/Date: Mon Aug 15 10:51:00 2005, Last Saved Time/Date: Mon Aug 15 11:02:00 2005, Number of Pages: 2, Number of Words: 646, Number of Characters: 3555, Security: 0 + +It must be the \225 character. Since we don't handle localization, I will +just eat the bad strings. Here is the output after the change: + +PMD.doc: CDF V2 Document, Little Endian, Os: Windows, Version 5.1, Code page: 1252, Author: Bekrar, Template: Normal.dot, Last Saved By: Bekrar, Revision Number: 2, Name of Creating Application: Microsoft Office Word, Total Editing Time: 01:00, Create Time/Date: Mon Aug 15 10:51:00 2005, Last Saved Time/Date: Mon Aug 15 11:02:00 2005, Number of Pages: 2, Number of Words: 646, Number of Characters: 3555, Security: 0 + + +Index: readcdf.c +=================================================================== +RCS file: /p/file/cvsroot/file/src/readcdf.c,v +retrieving revision 1.11 +diff -u -u -r1.11 readcdf.c +--- src/readcdf.c 3 Feb 2009 20:27:51 -0000 1.11 ++++ src/readcdf.c 13 Feb 2009 18:45:33 -0000 +@@ -75,9 +75,23 @@ + if (len > 1) { + s = info[i].pi_str.s_buf; + if (NOTMIME(ms)) { +- if (file_printf(ms, ", %s: %.*s", buf, +- len, s) == -1) +- return -1; ++ char vbuf[1024]; ++ size_t j; ++ for (j = 0; j < sizeof(vbuf) && len--; ++ j++, s++) { ++ if (*s == '\0') ++ break; ++ if (isprint((unsigned char)*s)) ++ vbuf[j] = *s; ++ } ++ if (j == sizeof(vbuf)) ++ --j; ++ vbuf[j] = '\0'; ++ if (vbuf[0]) { ++ if (file_printf(ms, ", %s: %s", ++ buf, vbuf) == -1) ++ return -1; ++ } + } else if (info[i].pi_id == + CDF_PROPERTY_NAME_OF_APPLICATION) { + if (strstr(s, "Word")) + +christos + +_______________________________________________ +File mailing list +File@mx.gw.com +http://mx.gw.com/mailman/listinfo/file |