summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-misc/pcmanfm/Manifest1
-rw-r--r--x11-misc/pcmanfm/files/pcmanfm-1.2.5-CVE-2017-8934.patch40
-rw-r--r--x11-misc/pcmanfm/pcmanfm-1.2.5-r1.ebuild81
3 files changed, 122 insertions, 0 deletions
diff --git a/x11-misc/pcmanfm/Manifest b/x11-misc/pcmanfm/Manifest
new file mode 100644
index 00000000..8762b0d0
--- /dev/null
+++ b/x11-misc/pcmanfm/Manifest
@@ -0,0 +1 @@
+DIST pcmanfm-1.2.5.tar.xz 417808 BLAKE2B 1bc4ff7879baa1b62c5acf0b48977f5a81b5bac2d449064ed3ae74740f8e6981ae129cdfe123b63e57e2a22769273348df1a48def61eeb6a72a5918fdad2847c SHA512 ce53315483f58361c5a7797bdca355dbbedc2cf3907d319c7c65be844ea74ed297497dc3183c903e06b8294f6301d19347f6b9871e34bf773c04ff4fb8ab32f3
diff --git a/x11-misc/pcmanfm/files/pcmanfm-1.2.5-CVE-2017-8934.patch b/x11-misc/pcmanfm/files/pcmanfm-1.2.5-CVE-2017-8934.patch
new file mode 100644
index 00000000..2acd91bf
--- /dev/null
+++ b/x11-misc/pcmanfm/files/pcmanfm-1.2.5-CVE-2017-8934.patch
@@ -0,0 +1,40 @@
+# index 8c2049a..876f7f3 100644 (file)
+# --- a/NEWS
+# +++ b/NEWS
+# @@ -1,3 +1,7 @@
+# +* Fixed potential access violation, use runtime user dir instead of tmp dir
+# + for single instance socket.
+# +
+# +
+# Changes on 1.2.5 since 1.2.4:
+
+ * Removed options to Cut, Remove and Rename from context menu on mounted
+diff --git a/src/single-inst.c b/src/single-inst.c
+index 62c37b3..aaf84ab 100644 (file)
+--- a/src/single-inst.c
++++ b/src/single-inst.c
+@@ -2,7 +2,7 @@
+ * single-inst.c: simple IPC mechanism for single instance app
+ *
+ * Copyright 2010 Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
+- * Copyright 2012 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
++ * Copyright 2012-2017 Andriy Grytsenko (LStranger) <andrej@rep.kiev.ua>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+@@ -404,11 +404,16 @@ static void get_socket_name(SingleInstData* data, char* buf, int len)
+ }
+ else
+ dpynum = 0;
++#if GLIB_CHECK_VERSION(2, 28, 0)
++ g_snprintf(buf, len, "%s/%s-socket-%s-%d", g_get_user_runtime_dir(),
++ data->prog_name, host ? host : "", dpynum);
++#else
+ g_snprintf(buf, len, "%s/.%s-socket-%s-%d-%s",
+ g_get_tmp_dir(),
+ data->prog_name,
+ host ? host : "",
+ dpynum,
+ g_get_user_name());
++#endif
+ }
diff --git a/x11-misc/pcmanfm/pcmanfm-1.2.5-r1.ebuild b/x11-misc/pcmanfm/pcmanfm-1.2.5-r1.ebuild
new file mode 100644
index 00000000..ab1432e7
--- /dev/null
+++ b/x11-misc/pcmanfm/pcmanfm-1.2.5-r1.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PLOCALES="ar be bg bn ca cs da de el en_GB es et eu fa fi fo fr gl he hr hu id
+is it ja kk km ko lg lt lv ms nl pa pl pt pt_BR ro ru si sk sl sr sr@latin sv
+te th tr tt_RU ug uk vi zh_CN zh_TW"
+PLOCALE_BACKUP="en_GB"
+
+inherit eutils fdo-mime l10n readme.gentoo-r1
+
+MY_PV="${PV/_/}"
+MY_P="${PN}-${MY_PV}"
+
+DESCRIPTION="Fast lightweight tabbed filemanager"
+HOMEPAGE="https://wiki.lxde.org/en/PCManFM"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~arm64 ~mips ppc x86"
+IUSE="debug gtk gtk3"
+
+RDEPEND=">=dev-libs/glib-2.18:2
+ gtk? ( >=x11-libs/gtk+-2.16:2 >=x11-libs/libfm-${PV}:=[gtk(+)] )
+ gtk3? ( >=x11-libs/gtk+-3.18:3 >=x11-libs/libfm-${PV}:=[gtk3(+)] )
+ >=lxde-base/menu-cache-0.3.2
+ x11-misc/shared-mime-info
+ virtual/eject
+ virtual/freedesktop-icon-theme"
+DEPEND="${RDEPEND}
+ app-arch/xz-utils
+ >=dev-util/intltool-0.40
+ virtual/pkgconfig
+ sys-devel/gettext"
+
+S="${WORKDIR}"/${MY_P}
+
+REQUIRED_USE="gtk3? ( gtk )"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.2.5-CVE-2017-8934.patch )
+
+src_prepare() {
+ default
+
+ export LINGUAS="${LINGUAS:-${PLOCALE_BACKUP}}"
+ l10n_get_locales > po/LINGUAS || die
+}
+
+src_configure() {
+ if use gtk3; then
+ econf \
+ --sysconfdir="${EPREFIX}"/etc \
+ --with-gtk=3 \
+ $(use_enable debug)
+ else
+ econf \
+ --sysconfdir="${EPREFIX}"/etc \
+ $(use_enable debug)
+ fi
+}
+
+src_install() {
+ default
+
+ local DOC_CONTENTS="PCmanFM can optionally support the menu://applications/
+ location. You should install lxde-base/lxmenu-data for that functionality."
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+ readme.gentoo_print_elog
+}
+
+pkg_postrm() {
+ fdo-mime_desktop_database_update
+ fdo-mime_mime_database_update
+}