Fix canonicalisation of user home directory.
authorUlrich Müller <ulm@gentoo.org>
Thu, 11 Aug 2011 07:04:45 +0000 (07:04 +0000)
committerUlrich Müller <ulm@gentoo.org>
Thu, 11 Aug 2011 07:04:45 +0000 (07:04 +0000)
Package-Manager: portage-2.1.10.10/cvs/Linux x86_64

app-editors/zile/ChangeLog
app-editors/zile/Manifest
app-editors/zile/files/zile-2.3.24-userhome.patch [new file with mode: 0644]
app-editors/zile/zile-2.3.24-r1.ebuild [new file with mode: 0644]

index f843a6f26b406c168f6579ada67933d9fa538edd..861ab8cf2ccf3b42cc82055f9ac20948f2f27740 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for app-editors/zile
 # Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/zile/ChangeLog,v 1.146 2011/05/29 17:30:07 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/zile/ChangeLog,v 1.147 2011/08/11 07:04:45 ulm Exp $
+
+*zile-2.3.24-r1 (11 Aug 2011)
+
+  11 Aug 2011; Ulrich Mueller <ulm@gentoo.org> +zile-2.3.24-r1.ebuild,
+  +files/zile-2.3.24-userhome.patch:
+  Fix canonicalisation of user home directory. Reported by flameeyes.
 
   29 May 2011; Ulrich Mueller <ulm@gentoo.org> -zile-2.3.20.ebuild:
   Remove old.
index d6911e294dc65de26f2bf7375422d83096b321b9..8cf76a9f8e6ecf0d0ee6df39dd19afbc3cf45114 100644 (file)
@@ -1,16 +1,18 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
+AUX zile-2.3.24-userhome.patch 980 RMD160 402e88bb104cf1037109f8fd7551797b5d4a31dc SHA1 d2fd7e92a8dc00efa1e9aae361ab62de6777f539 SHA256 68c7fa25fa7e6e0f9b5240f0824a9148edce6289870d281c9ecb99e421451541
 DIST zile-2.3.23.tar.gz 928118 RMD160 6148dfe3879153db7e50a9778e5c95ad96ef86b1 SHA1 69e61d6339246c61c58a75b517c812a499516674 SHA256 86ad8aad5f060688312b6454497d1c6b1aa4b77885b6e86a1eb75491553d7007
 DIST zile-2.3.24.tar.gz 953962 RMD160 a9a7a4bce857fcc1bca5e9d1ca7bc47b5b335a9e SHA1 e7f6e83d24d66ce46fc14a9e95efd3959f40f862 SHA256 218bb2af414c6a168101656631a5b2da92f20a965895e1006658cc658b0b7e89
 EBUILD zile-2.3.23.ebuild 1121 RMD160 f35696308debdc20742fdafba068979d08d95bf0 SHA1 f11fe90bbe96d610e2efe4135f79816ac3e5fe26 SHA256 263d0e5d3e77e5febc0e9bac8627e4ea6bc5509388b0b1d56422d4eb8cf5f15b
+EBUILD zile-2.3.24-r1.ebuild 1188 RMD160 4d709b3b143f4ef966d09994c64c212467e5c9eb SHA1 92478573ea09ba393559878e9b6f2ef7d5857910 SHA256 67e229df2f93a175b042cb3451e6d3390115a1cf7c475b3fc79cd19c2053aa31
 EBUILD zile-2.3.24.ebuild 1108 RMD160 12a252b2e4da025a7be67d4f27c897cda990ef61 SHA1 acadd8985a500b3edb222f97e0325bcbcebdfb7a SHA256 b0aeeefa77361ae49dd6d6ca7d7eff92cbaeb8718cc759ac6147b6e5f2b637ed
-MISC ChangeLog 17240 RMD160 a51d7c039e6df7f1f8091a6b184e21dc2113b72d SHA1 1392c34457b91bedb36922db96ed070d331e734d SHA256 15cb245bcd8db1d93909159a9496b0edb159c8e5e7196ecf7c4072858e75c5df
+MISC ChangeLog 17450 RMD160 77b5b26f1c77936a4f8b5c96749f2b0a713a5ac9 SHA1 c18aa61ee51a753bdf8ea832235642d48f2f368b SHA256 edcbcce8995a528d3e4b161c036fba0777d8616d469debbf28affdcc3d17d54c
 MISC metadata.xml 545 RMD160 61dd95d7ac4e824f37120336495b963db61fd7ef SHA1 84ac9ade40194fc62777712cface8592d977608d SHA256 301c943f7ac78de9705192c968070ae68d4b42ea75b9e2909886623bafe7338b
 -----BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.17 (GNU/Linux)
+Version: GnuPG v2.0.18 (GNU/Linux)
 
-iEYEARECAAYFAk3ig1IACgkQOeoy/oIi7uxrmwCfdEEzZBtBcWSVRDNZdX4sv+dz
-n3sAoKf06eGhXO8frnBkmrYJrGr3D2WP
-=Mzcc
+iEYEARECAAYFAk5DgGgACgkQOeoy/oIi7uwRTQCg6Cac+qRzVazi/rQQybzZkwdD
+CScAn3d8Ak4H7wKlZO1/8fR+tXcd/Tq2
+=By4f
 -----END PGP SIGNATURE-----
diff --git a/app-editors/zile/files/zile-2.3.24-userhome.patch b/app-editors/zile/files/zile-2.3.24-userhome.patch
new file mode 100644 (file)
index 0000000..37f605c
--- /dev/null
@@ -0,0 +1,26 @@
+http://lists.gnu.org/archive/html/bug-zile/2011-08/msg00030.html
+
+--- zile-2.3.24-orig/src/file.c
++++ zile-2.3.24/src/file.c
+@@ -177,14 +177,15 @@ compact_path (astr path)
+     {
+       /* Replace `/userhome/' (if found) with `~/'. */
+       size_t homelen = strlen (pw->pw_dir);
+-      if (astr_len (path) >= homelen &&
+-          !strncmp (pw->pw_dir, astr_cstr (path), homelen))
++      if (homelen > 0 && pw->pw_dir[homelen - 1] == '/')
++        homelen--;
++
++      if (astr_len (path) > homelen &&
++          !strncmp (pw->pw_dir, astr_cstr (path), homelen) &&
++          astr_get (path, homelen) == '/')
+         {
+           astr buf = astr_new_cstr ("~/");
+-          if (STREQ (pw->pw_dir, "/"))
+-            astr_cat_cstr (buf, astr_cstr (path) + 1);
+-          else
+-            astr_cat_cstr (buf, astr_cstr (path) + homelen + 1);
++          astr_cat_cstr (buf, astr_cstr (path) + homelen + 1);
+           astr_cpy (path, buf);
+           astr_delete (buf);
+         }
diff --git a/app-editors/zile/zile-2.3.24-r1.ebuild b/app-editors/zile/zile-2.3.24-r1.ebuild
new file mode 100644 (file)
index 0000000..4d455b1
--- /dev/null
@@ -0,0 +1,44 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-editors/zile/zile-2.3.24-r1.ebuild,v 1.1 2011/08/11 07:04:45 ulm Exp $
+
+EAPI=4
+
+inherit eutils
+
+DESCRIPTION="Zile is a small Emacs clone"
+HOMEPAGE="http://www.gnu.org/software/zile/"
+SRC_URI="mirror://gnu/zile/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc ~x86 ~sparc-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x86-solaris"
+IUSE="livecd test valgrind"
+
+RDEPEND="sys-libs/ncurses"
+DEPEND="${RDEPEND}
+       test? ( valgrind? ( dev-util/valgrind ) )"
+
+src_prepare() {
+       epatch "${FILESDIR}/${P}-userhome.patch"
+}
+
+src_configure() {
+       econf $(use test && use_with valgrind || echo "--without-valgrind")
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+
+       # FAQ is installed by the build system in /usr/share/zile
+       dodoc AUTHORS BUGS NEWS README THANKS
+
+       # Zile should never install charset.alias (even on non-glibc arches)
+       rm -f "${ED}"/usr/lib/charset.alias
+}
+
+pkg_postinst() {
+       if use livecd; then
+               [ -e "${EROOT}"/usr/bin/emacs ] || ln -s zile "${EROOT}"/usr/bin/emacs
+       fi
+}