[gentoo-commits] repo/gentoo:master commit in: dev-libs/sway/, dev-libs/sway/files/

2017-12-27 Thread David Seifert
commit: 402056b57722e365689a733479e00e3d5ebd432a
Author: Mykyta Holubakha  gmail  com>
AuthorDate: Tue Dec 26 23:48:38 2017 +
Commit: David Seifert  gentoo  org>
CommitDate: Wed Dec 27 15:57:11 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=402056b5

dev-libs/sway: json-c-0.13.0 fixes

Closes: https://bugs.gentoo.org/641684
Closes: https://github.com/gentoo/gentoo/pull/6646

 dev-libs/sway/files/sway-0.15.0-json-c-fixes.patch | 370 +
 dev-libs/sway/sway-0.15.0.ebuild   |   2 +
 dev-libs/sway/sway-.ebuild |   2 +
 3 files changed, 374 insertions(+)

diff --git a/dev-libs/sway/files/sway-0.15.0-json-c-fixes.patch 
b/dev-libs/sway/files/sway-0.15.0-json-c-fixes.patch
new file mode 100644
index 000..1e43eda62e8
--- /dev/null
+++ b/dev-libs/sway/files/sway-0.15.0-json-c-fixes.patch
@@ -0,0 +1,370 @@
+From c6e12368a531dd4bbb0778c9a1dd5d3fb935c197 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= 
+Date: Thu, 14 Dec 2017 01:30:54 +0100
+Subject: [PATCH 1/3] Lift restriction on json-c <= 0.12.1
+
+---
+ CMakeLists.txt | 2 +-
+ README.de.md   | 2 +-
+ README.el.md   | 2 +-
+ README.fr.md   | 2 +-
+ README.it.md   | 2 +-
+ README.ja.md   | 2 +-
+ README.md  | 2 +-
+ README.pt.md   | 2 +-
+ README.ru.md   | 2 +-
+ README.uk.md   | 2 +-
+ 10 files changed, 10 insertions(+), 10 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index dc521570..bd12b191 100644
+--- a/CMakeLists.txt
 b/CMakeLists.txt
+@@ -59,7 +59,7 @@ if (LD_LIBRARY_PATH)
+   add_definitions(-D_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}")
+ endif()
+ 
+-find_package(JsonC 0.12.1 REQUIRED)
++find_package(JsonC REQUIRED)
+ find_package(PCRE REQUIRED)
+ find_package(WLC REQUIRED)
+ find_package(Wayland REQUIRED)
+diff --git a/README.de.md b/README.de.md
+index 701cc34f..293ffe70 100644
+--- a/README.de.md
 b/README.de.md
+@@ -60,7 +60,7 @@ Abhängigkeiten:
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.el.md b/README.el.md
+index df39364f..eba97b9c 100644
+--- a/README.el.md
 b/README.el.md
+@@ -53,7 +53,7 @@ To username μου στο Freenode είναι kon14 και θα με βρείτ
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.fr.md b/README.fr.md
+index 47b6c410..a4ff7cb9 100644
+--- a/README.fr.md
 b/README.fr.md
+@@ -55,7 +55,7 @@ Installez les dépendances :
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.it.md b/README.it.md
+index f5e0d8e2..ded441c3 100644
+--- a/README.it.md
 b/README.it.md
+@@ -56,7 +56,7 @@ Installa queste dipendenze:
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.ja.md b/README.ja.md
+index 2e8f9bfb..94b4ce9d 100644
+--- a/README.ja.md
 b/README.ja.md
+@@ -46,7 +46,7 @@ Swayは沢山のディストリビューションで提供されています。"
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.md b/README.md
+index 29e8a674..eeca9f88 100644
+--- a/README.md
 b/README.md
+@@ -61,7 +61,7 @@ Install dependencies:
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.pt.md b/README.pt.md
+index b5ca132f..e35849ec 100644
+--- a/README.pt.md
 b/README.pt.md
+@@ -62,7 +62,7 @@ Antes de iniciar a compilação, instale as dependências:
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.ru.md b/README.ru.md
+index 4035b0fc..1551caa0 100644
+--- a/README.ru.md
 b/README.ru.md
+@@ -55,7 +55,7 @@ Sway доступен во многих дистрибутивах и наход
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+diff --git a/README.uk.md b/README.uk.md
+index 2e107afc..c8520e4b 100644
+--- a/README.uk.md
 b/README.uk.md
+@@ -62,7 +62,7 @@ Sway доступний у багатьох дистрибутивах Linux (а
+ * libcap
+ * asciidoc
+ * pcre
+-* json-c <= 0.12.1
++* json-c
+ * pango
+ * cairo
+ * gdk-pixbuf2 *
+
+From 8272a9bae0d288b479c517dde3e831ea3889dc7f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= 
+Date: Thu, 14 Dec 2017 16:44:18 +0100
+Subject: [PATCH 2/3] ipc-server: Acquire ownership of referenced json_object
+ properly
+
+When adding a referenced json_object with an unknown lifetime to
+another json_object, it must be done with a wrapped call to
+json_object_get() to acquire the ownership of that json_object.
+---
+ sway/ipc-server.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/sway/ipc-server.c b/sway/ipc-server.c
+index b560b930..80f4e5d0 100644
+--- a/sway/ipc-server.c
 b/sway/ipc-server.c
+@@ -1126,7 +1126,8 @@ static void ipc_event_binding(json_

[gentoo-commits] repo/gentoo:master commit in: dev-libs/sway/, dev-libs/sway/files/

2017-01-15 Thread David Seifert
commit: da0797f7528c80c800a2c39fe5828aa0ac43fe7e
Author: Mykyta Holubakha  gmail  com>
AuthorDate: Thu Jan 12 17:37:58 2017 +
Commit: David Seifert  gentoo  org>
CommitDate: Sun Jan 15 13:37:53 2017 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=da0797f7

dev-libs/sway: revbump to 0.11-r3

backport capability fixes (usptream #1043)

drop capabilities from binary

fix version info
Closes: https://github.com/gentoo/gentoo/pull/3446

 dev-libs/sway/files/sway-0.11-r3-keep-cap.patch| 84 ++
 .../{sway-0.11-r2.ebuild => sway-0.11-r3.ebuild}   | 14 ++--
 2 files changed, 94 insertions(+), 4 deletions(-)

diff --git a/dev-libs/sway/files/sway-0.11-r3-keep-cap.patch 
b/dev-libs/sway/files/sway-0.11-r3-keep-cap.patch
new file mode 100644
index ..da821e3
--- /dev/null
+++ b/dev-libs/sway/files/sway-0.11-r3-keep-cap.patch
@@ -0,0 +1,84 @@
+From ea1313d80d5ee1623b00c8cdf6e7ff8a7e14c2ae Mon Sep 17 00:00:00 2001
+From: Mykyta Holubakha 
+Date: Thu, 12 Jan 2017 04:25:03 +0200
+Subject: [PATCH 1/2] Keep CAP_SYS_PTRACE with suid binary
+
+---
+ sway/main.c | 28 
+ 1 file changed, 28 insertions(+)
+
+diff --git a/sway/main.c b/sway/main.c
+index e8a02e7..6c74aab 100644
+--- a/sway/main.c
 b/sway/main.c
+@@ -10,6 +10,9 @@
+ #include 
+ #include 
+ #include 
++#ifdef __linux__
++#include 
++#endif
+ #include "sway/extensions.h"
+ #include "sway/layout.h"
+ #include "sway/config.h"
+@@ -289,6 +292,18 @@ int main(int argc, char **argv) {
+   return 0;
+   }
+ 
++#ifdef __linux__
++  bool suid = false;
++  if (getuid() != geteuid() || getgid() != getegid()) {
++  // Retain capabilities after setuid()
++  if (prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0)) {
++  sway_log(L_ERROR, "Cannot keep caps after setuid()");
++  exit(EXIT_FAILURE);
++  }
++  suid = true;
++  }
++#endif
++
+   // we need to setup logging before wlc_init in case it fails.
+   if (debug) {
+   init_log(L_DEBUG);
+@@ -311,6 +326,19 @@ int main(int argc, char **argv) {
+   }
+   register_extensions();
+ 
++#ifdef __linux__
++  if (suid) {
++  // Drop every cap except CAP_SYS_PTRACE
++  cap_t caps = cap_init();
++  cap_value_t keep = CAP_SYS_PTRACE;
++  if (cap_set_flag(caps, CAP_PERMITTED, 1, &keep, CAP_SET) ||
++  cap_set_flag(caps, CAP_EFFECTIVE, 1, &keep, CAP_SET) ||
++  cap_set_proc(caps)) {
++  sway_log(L_ERROR, "Failed to drop extra capabilities");
++  exit(EXIT_FAILURE);
++  }
++  }
++#endif
+   // handle SIGTERM signals
+   signal(SIGTERM, sig_handler);
+ 
+
+From d9ba61d7e91c5aceef1a6a736dc65f0594b9be2a Mon Sep 17 00:00:00 2001
+From: Mykyta Holubakha 
+Date: Thu, 12 Jan 2017 04:35:09 +0200
+Subject: [PATCH 2/2] Log capability dropping
+
+---
+ sway/main.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/sway/main.c b/sway/main.c
+index 6c74aab..7bf71b5 100644
+--- a/sway/main.c
 b/sway/main.c
+@@ -331,6 +331,7 @@ int main(int argc, char **argv) {
+   // Drop every cap except CAP_SYS_PTRACE
+   cap_t caps = cap_init();
+   cap_value_t keep = CAP_SYS_PTRACE;
++  sway_log(L_INFO, "Dropping extra capabilities");
+   if (cap_set_flag(caps, CAP_PERMITTED, 1, &keep, CAP_SET) ||
+   cap_set_flag(caps, CAP_EFFECTIVE, 1, &keep, CAP_SET) ||
+   cap_set_proc(caps)) {

diff --git a/dev-libs/sway/sway-0.11-r2.ebuild 
b/dev-libs/sway/sway-0.11-r3.ebuild
similarity index 84%
rename from dev-libs/sway/sway-0.11-r2.ebuild
rename to dev-libs/sway/sway-0.11-r3.ebuild
index dbea8b2..fdd4feb 100644
--- a/dev-libs/sway/sway-0.11-r2.ebuild
+++ b/dev-libs/sway/sway-0.11-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2016 Gentoo Foundation
+# Copyright 1999-2017 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Id$
 
 EAPI=6
 
-inherit eutils cmake-utils fcaps
+inherit eutils cmake-utils
 
 DESCRIPTION="i3-compatible Wayland window manager"
 HOMEPAGE="http://swaywm.org/";
@@ -32,6 +32,8 @@ DEPEND="${RDEPEND}
virtual/pkgconfig
app-text/asciidoc"
 
+PATCHES=( "${FILESDIR}/sway-0.11-r3-keep-cap.patch" )
+
 src_prepare() {
cmake-utils_src_prepare
 
@@ -54,15 +56,19 @@ src_configure() {
 
-DCMAKE_INSTALL_SYSCONFDIR="/etc"
-DLD_LIBRARY_PATH="${EPREFIX}/usr/lib"
+   -DGIT_COMMIT_HASH="${PVR}" # specify version info, may change 
in future
)
 
cmake-utils_src_configure
 }
 
-FILECAPS=( -M 4711 cap_sys_ptrace,cap_sys_tty_config usr/bin/sway )
+src_install() {
+   cmake-utils_src_install
+
+   use !systemd && fperms u+s /usr/bin/sway
+}
 
 pkg_postinst() {
-   fca