Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] tracker-miners: enable landlock
@ 2024-04-15  8:07 oreo639
  2024-04-15  8:08 ` [PR PATCH] [Updated] " oreo639
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: oreo639 @ 2024-04-15  8:07 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1247 bytes --]

There is a new pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages tracker
https://github.com/void-linux/void-packages/pull/49847

tracker-miners: enable landlock
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49847.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-tracker-49847.patch --]
[-- Type: text/x-diff, Size: 2633 bytes --]

From ce6f922570801c92ac49649b1ec56a1415f44b52 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 15 Apr 2024 01:01:21 -0700
Subject: [PATCH] tracker-miners: enable landlock

---
 srcpkgs/tracker-miners/template | 22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/tracker-miners/template b/srcpkgs/tracker-miners/template
index 32c9c116114dc2..0e1ec66fbbe15f 100644
--- a/srcpkgs/tracker-miners/template
+++ b/srcpkgs/tracker-miners/template
@@ -1,19 +1,19 @@
 # Template file for 'tracker-miners'
 pkgname=tracker-miners
 version=3.7.1
-revision=1
+revision=2
 build_style=meson
 build_helper=qemu
 # missing libgrss for miner_rss
 configure_args="-Dtracker_core=system -Dextract=true
- -Dfunctional_tests=false -Dcue=enabled -Dexif=enabled
+ -Dfunctional_tests=true -Dcue=enabled -Dexif=enabled
  -Dgif=enabled -Dgsf=enabled -Diptc=enabled -Diso=enabled -Djpeg=enabled
  -Dpdf=enabled -Dplaylist=enabled -Dpng=enabled -Draw=enabled
  -Dtiff=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
  -Dminer_rss=false -Dbattery_detection=upower -Dcharset_detection=icu
  -Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
  -Dsystemd_user_services=false -Dnetwork_manager=enabled
- -Dlandlock=disabled"
+ $(vopt_feature landlock)"
 hostmakedepends="pkg-config glib-devel intltool asciidoc"
 makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
@@ -22,6 +22,7 @@ makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  poppler-glib-devel totem-pl-parser-devel
  upower-devel zlib-devel gst-plugins-base1-devel giflib-devel
  NetworkManager-devel libharfbuzz"
+checkdepends="python3-gobject tracker dbus gst-plugins-good1 gst-plugins-bad1"
 short_desc="Data miners for tracker"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -29,7 +30,20 @@ homepage="https://tracker.gnome.org/"
 changelog="https://gitlab.gnome.org/GNOME/tracker-miners/-/raw/master/NEWS"
 distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
 checksum=50a3abe40cfb0b35ced43ec716dbf1368992e444ef7a0babf202c7ac6ab2f6f4
-make_check=no # relies on unsupported ops in chroot
+make_check_pre="dbus-run-session"
+
+build_options="landlock"
+desc_option_landlock="Enable enhanced sandboxing (requires linux5.13+ kernel support)"
+build_options_default="landlock"
+
+pre_check() {
+	oldhome="$HOME"
+	HOME="${wrksrc}"
+}
+
+post_check() {
+	HOME="$oldhome"
+}
 
 tracker3-miners_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] tracker-miners: enable landlock
  2024-04-15  8:07 [PR PATCH] tracker-miners: enable landlock oreo639
@ 2024-04-15  8:08 ` oreo639
  2024-04-15  8:43 ` oreo639
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: oreo639 @ 2024-04-15  8:08 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1252 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages tracker
https://github.com/void-linux/void-packages/pull/49847

tracker-miners: enable landlock
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49847.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-tracker-49847.patch --]
[-- Type: text/x-diff, Size: 2662 bytes --]

From b515ea9d9c04149d46227646bd236136e61d8f6d Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 15 Apr 2024 01:01:21 -0700
Subject: [PATCH] tracker-miners: enable landlock

---
 srcpkgs/tracker-miners/template | 23 ++++++++++++++++++-----
 1 file changed, 18 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/tracker-miners/template b/srcpkgs/tracker-miners/template
index 32c9c116114dc2..6406985b15204b 100644
--- a/srcpkgs/tracker-miners/template
+++ b/srcpkgs/tracker-miners/template
@@ -1,19 +1,18 @@
 # Template file for 'tracker-miners'
 pkgname=tracker-miners
 version=3.7.1
-revision=1
+revision=2
 build_style=meson
 build_helper=qemu
 # missing libgrss for miner_rss
-configure_args="-Dtracker_core=system -Dextract=true
- -Dfunctional_tests=false -Dcue=enabled -Dexif=enabled
+configure_args="-Dtracker_core=system -Dextract=true -Dcue=enabled -Dexif=enabled
  -Dgif=enabled -Dgsf=enabled -Diptc=enabled -Diso=enabled -Djpeg=enabled
  -Dpdf=enabled -Dplaylist=enabled -Dpng=enabled -Draw=enabled
  -Dtiff=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
  -Dminer_rss=false -Dbattery_detection=upower -Dcharset_detection=icu
  -Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
  -Dsystemd_user_services=false -Dnetwork_manager=enabled
- -Dlandlock=disabled"
+ $(vopt_feature landlock)"
 hostmakedepends="pkg-config glib-devel intltool asciidoc"
 makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
@@ -22,6 +21,7 @@ makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  poppler-glib-devel totem-pl-parser-devel
  upower-devel zlib-devel gst-plugins-base1-devel giflib-devel
  NetworkManager-devel libharfbuzz"
+checkdepends="python3-gobject tracker dbus gst-plugins-good1 gst-plugins-bad1"
 short_desc="Data miners for tracker"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -29,7 +29,20 @@ homepage="https://tracker.gnome.org/"
 changelog="https://gitlab.gnome.org/GNOME/tracker-miners/-/raw/master/NEWS"
 distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
 checksum=50a3abe40cfb0b35ced43ec716dbf1368992e444ef7a0babf202c7ac6ab2f6f4
-make_check=no # relies on unsupported ops in chroot
+make_check_pre="dbus-run-session"
+
+build_options="landlock"
+desc_option_landlock="Enable enhanced sandboxing (requires linux5.13+ kernel support)"
+build_options_default="landlock"
+
+pre_check() {
+	oldhome="$HOME"
+	HOME="${wrksrc}"
+}
+
+post_check() {
+	HOME="$oldhome"
+}
 
 tracker3-miners_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] tracker-miners: enable landlock
  2024-04-15  8:07 [PR PATCH] tracker-miners: enable landlock oreo639
  2024-04-15  8:08 ` [PR PATCH] [Updated] " oreo639
@ 2024-04-15  8:43 ` oreo639
  2024-04-15  8:48 ` oreo639
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: oreo639 @ 2024-04-15  8:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1252 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages tracker
https://github.com/void-linux/void-packages/pull/49847

tracker-miners: enable landlock
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49847.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-tracker-49847.patch --]
[-- Type: text/x-diff, Size: 2875 bytes --]

From 512d4b01390d9a4fa21010458c9a7c39e82631b4 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 15 Apr 2024 01:01:21 -0700
Subject: [PATCH] tracker-miners: enable landlock

---
 srcpkgs/tracker-miners/template | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/tracker-miners/template b/srcpkgs/tracker-miners/template
index 32c9c116114dc2..27191fe0841581 100644
--- a/srcpkgs/tracker-miners/template
+++ b/srcpkgs/tracker-miners/template
@@ -1,19 +1,18 @@
 # Template file for 'tracker-miners'
 pkgname=tracker-miners
 version=3.7.1
-revision=1
+revision=2
 build_style=meson
 build_helper=qemu
 # missing libgrss for miner_rss
-configure_args="-Dtracker_core=system -Dextract=true
- -Dfunctional_tests=false -Dcue=enabled -Dexif=enabled
+configure_args="-Dtracker_core=system -Dextract=true -Dcue=enabled -Dexif=enabled
  -Dgif=enabled -Dgsf=enabled -Diptc=enabled -Diso=enabled -Djpeg=enabled
  -Dpdf=enabled -Dplaylist=enabled -Dpng=enabled -Draw=enabled
  -Dtiff=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
  -Dminer_rss=false -Dbattery_detection=upower -Dcharset_detection=icu
  -Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
  -Dsystemd_user_services=false -Dnetwork_manager=enabled
- -Dlandlock=disabled"
+ $(vopt_feature landlock)"
 hostmakedepends="pkg-config glib-devel intltool asciidoc"
 makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
@@ -22,6 +21,7 @@ makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  poppler-glib-devel totem-pl-parser-devel
  upower-devel zlib-devel gst-plugins-base1-devel giflib-devel
  NetworkManager-devel libharfbuzz"
+checkdepends="python3-gobject tracker dbus gst-plugins-good1 gst-plugins-bad1"
 short_desc="Data miners for tracker"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -29,7 +29,25 @@ homepage="https://tracker.gnome.org/"
 changelog="https://gitlab.gnome.org/GNOME/tracker-miners/-/raw/master/NEWS"
 distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
 checksum=50a3abe40cfb0b35ced43ec716dbf1368992e444ef7a0babf202c7ac6ab2f6f4
-make_check=no # relies on unsupported ops in chroot
+make_check_pre="dbus-run-session"
+make_check=ci-skip # TODO: d-bus tests timeout ci
+
+build_options="landlock"
+desc_option_landlock="Enable enhanced sandboxing (requires linux5.13+ kernel support)"
+build_options_default="landlock"
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS+=" -DSYS_landlock_create_ruleset=444 -DSYS_landlock_add_rule=445 -DSYS_landlock_restrict_self=446"
+fi
+
+pre_check() {
+	oldhome="$HOME"
+	HOME="${wrksrc}"
+}
+
+post_check() {
+	HOME="$oldhome"
+}
 
 tracker3-miners_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] tracker-miners: enable landlock
  2024-04-15  8:07 [PR PATCH] tracker-miners: enable landlock oreo639
  2024-04-15  8:08 ` [PR PATCH] [Updated] " oreo639
  2024-04-15  8:43 ` oreo639
@ 2024-04-15  8:48 ` oreo639
  2024-04-15  8:59 ` oreo639
  2024-04-18  1:35 ` [PR PATCH] [Merged]: " oreo639
  4 siblings, 0 replies; 6+ messages in thread
From: oreo639 @ 2024-04-15  8:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1252 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages tracker
https://github.com/void-linux/void-packages/pull/49847

tracker-miners: enable landlock
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49847.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-tracker-49847.patch --]
[-- Type: text/x-diff, Size: 3292 bytes --]

From 0169e9000856bd2f9a15dcbb4caff5d95840c29a Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 15 Apr 2024 01:01:21 -0700
Subject: [PATCH] tracker-miners: enable landlock

Landlock is a method of unprivileged sandboxing to restrict, for example, fs
access for certian processes. It requires linux5.13+ along with landlock
being enabled in the kernel.

The latter has been the case since 2020 661f17ea74e86eee3488327327b65bb24516dea8
however, those using older kernels will no longer be able to use tracker-miners.

This will make the gnome-music and gnome-photos unusable on such kernels.
---
 srcpkgs/tracker-miners/template | 28 +++++++++++++++++++++++-----
 1 file changed, 23 insertions(+), 5 deletions(-)

diff --git a/srcpkgs/tracker-miners/template b/srcpkgs/tracker-miners/template
index 32c9c116114dc2..27191fe0841581 100644
--- a/srcpkgs/tracker-miners/template
+++ b/srcpkgs/tracker-miners/template
@@ -1,19 +1,18 @@
 # Template file for 'tracker-miners'
 pkgname=tracker-miners
 version=3.7.1
-revision=1
+revision=2
 build_style=meson
 build_helper=qemu
 # missing libgrss for miner_rss
-configure_args="-Dtracker_core=system -Dextract=true
- -Dfunctional_tests=false -Dcue=enabled -Dexif=enabled
+configure_args="-Dtracker_core=system -Dextract=true -Dcue=enabled -Dexif=enabled
  -Dgif=enabled -Dgsf=enabled -Diptc=enabled -Diso=enabled -Djpeg=enabled
  -Dpdf=enabled -Dplaylist=enabled -Dpng=enabled -Draw=enabled
  -Dtiff=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
  -Dminer_rss=false -Dbattery_detection=upower -Dcharset_detection=icu
  -Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
  -Dsystemd_user_services=false -Dnetwork_manager=enabled
- -Dlandlock=disabled"
+ $(vopt_feature landlock)"
 hostmakedepends="pkg-config glib-devel intltool asciidoc"
 makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
@@ -22,6 +21,7 @@ makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  poppler-glib-devel totem-pl-parser-devel
  upower-devel zlib-devel gst-plugins-base1-devel giflib-devel
  NetworkManager-devel libharfbuzz"
+checkdepends="python3-gobject tracker dbus gst-plugins-good1 gst-plugins-bad1"
 short_desc="Data miners for tracker"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -29,7 +29,25 @@ homepage="https://tracker.gnome.org/"
 changelog="https://gitlab.gnome.org/GNOME/tracker-miners/-/raw/master/NEWS"
 distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
 checksum=50a3abe40cfb0b35ced43ec716dbf1368992e444ef7a0babf202c7ac6ab2f6f4
-make_check=no # relies on unsupported ops in chroot
+make_check_pre="dbus-run-session"
+make_check=ci-skip # TODO: d-bus tests timeout ci
+
+build_options="landlock"
+desc_option_landlock="Enable enhanced sandboxing (requires linux5.13+ kernel support)"
+build_options_default="landlock"
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS+=" -DSYS_landlock_create_ruleset=444 -DSYS_landlock_add_rule=445 -DSYS_landlock_restrict_self=446"
+fi
+
+pre_check() {
+	oldhome="$HOME"
+	HOME="${wrksrc}"
+}
+
+post_check() {
+	HOME="$oldhome"
+}
 
 tracker3-miners_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Updated] tracker-miners: enable landlock
  2024-04-15  8:07 [PR PATCH] tracker-miners: enable landlock oreo639
                   ` (2 preceding siblings ...)
  2024-04-15  8:48 ` oreo639
@ 2024-04-15  8:59 ` oreo639
  2024-04-18  1:35 ` [PR PATCH] [Merged]: " oreo639
  4 siblings, 0 replies; 6+ messages in thread
From: oreo639 @ 2024-04-15  8:59 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1252 bytes --]

There is an updated pull request by oreo639 against master on the void-packages repository

https://github.com/oreo639/void-packages tracker
https://github.com/void-linux/void-packages/pull/49847

tracker-miners: enable landlock
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/49847.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-tracker-49847.patch --]
[-- Type: text/x-diff, Size: 4074 bytes --]

From a8986d14f07db80ae7d615d712e165d4c22f6de4 Mon Sep 17 00:00:00 2001
From: oreo639 <oreo6391@gmail.com>
Date: Mon, 15 Apr 2024 01:01:21 -0700
Subject: [PATCH] tracker-miners: enable landlock

Landlock is a method of unprivileged sandboxing to restrict, for example, fs
access for certian processes. It requires linux5.13+ along with landlock
being enabled in the kernel.

The latter has been the case since 2020 661f17ea74e86eee3488327327b65bb24516dea8
however, those using older kernels will no longer be able to use tracker-miners.

This will make the gnome-music and gnome-photos unusable on such kernels.
---
 .../patches/fix-musl-missing-include.patch    | 10 +++++++
 srcpkgs/tracker-miners/template               | 29 +++++++++++++++----
 2 files changed, 34 insertions(+), 5 deletions(-)
 create mode 100644 srcpkgs/tracker-miners/patches/fix-musl-missing-include.patch

diff --git a/srcpkgs/tracker-miners/patches/fix-musl-missing-include.patch b/srcpkgs/tracker-miners/patches/fix-musl-missing-include.patch
new file mode 100644
index 00000000000000..9446e10a609f55
--- /dev/null
+++ b/srcpkgs/tracker-miners/patches/fix-musl-missing-include.patch
@@ -0,0 +1,10 @@
+--- a/src/libtracker-miners-common/tracker-landlock.c
++++ b/src/libtracker-miners-common/tracker-landlock.c
+@@ -28,6 +28,7 @@
+ #include <linux/landlock.h>
+ #include <sys/prctl.h>
+ #include <sys/syscall.h>
++#include <unistd.h>
+ 
+ #include "tracker-debug.h"
+ 
diff --git a/srcpkgs/tracker-miners/template b/srcpkgs/tracker-miners/template
index 32c9c116114dc2..92b3863efd342c 100644
--- a/srcpkgs/tracker-miners/template
+++ b/srcpkgs/tracker-miners/template
@@ -1,19 +1,18 @@
 # Template file for 'tracker-miners'
 pkgname=tracker-miners
 version=3.7.1
-revision=1
+revision=2
 build_style=meson
 build_helper=qemu
 # missing libgrss for miner_rss
-configure_args="-Dtracker_core=system -Dextract=true
- -Dfunctional_tests=false -Dcue=enabled -Dexif=enabled
+configure_args="-Dtracker_core=system -Dextract=true -Dcue=enabled -Dexif=enabled
  -Dgif=enabled -Dgsf=enabled -Diptc=enabled -Diso=enabled -Djpeg=enabled
  -Dpdf=enabled -Dplaylist=enabled -Dpng=enabled -Draw=enabled
  -Dtiff=enabled -Dxml=enabled -Dxmp=enabled -Dxps=enabled
  -Dminer_rss=false -Dbattery_detection=upower -Dcharset_detection=icu
  -Dgeneric_media_extractor=gstreamer -Dgstreamer_backend=discoverer
  -Dsystemd_user_services=false -Dnetwork_manager=enabled
- -Dlandlock=disabled"
+ $(vopt_feature landlock)"
 hostmakedepends="pkg-config glib-devel intltool asciidoc"
 makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  libglib-devel libgexiv2-devel gstreamer1-devel icu-devel libcue-devel
@@ -22,6 +21,7 @@ makedepends="tracker-devel ffmpeg-devel dbus-devel exempi-devel
  poppler-glib-devel totem-pl-parser-devel
  upower-devel zlib-devel gst-plugins-base1-devel giflib-devel
  NetworkManager-devel libharfbuzz"
+checkdepends="python3-gobject tracker dbus gst-plugins-good1 gst-plugins-bad1"
 short_desc="Data miners for tracker"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-2.0-or-later"
@@ -29,7 +29,26 @@ homepage="https://tracker.gnome.org/"
 changelog="https://gitlab.gnome.org/GNOME/tracker-miners/-/raw/master/NEWS"
 distfiles="${GNOME_SITE}/tracker-miners/${version%.*}/tracker-miners-${version}.tar.xz"
 checksum=50a3abe40cfb0b35ced43ec716dbf1368992e444ef7a0babf202c7ac6ab2f6f4
-make_check=no # relies on unsupported ops in chroot
+make_check_pre="dbus-run-session"
+make_check=ci-skip # TODO: d-bus tests timeout ci
+
+build_options="landlock"
+desc_option_landlock="Enable enhanced sandboxing (requires linux5.13+ kernel support)"
+build_options_default="landlock"
+
+if [ "$XBPS_TARGET_LIBC" = "musl" ]; then
+	CFLAGS+=" -DSYS_landlock_create_ruleset=444 -DSYS_landlock_add_rule=445 -DSYS_landlock_restrict_self=446"
+fi
+
+pre_check() {
+	# Tests must run inside of home directory for changes to be tracked
+	oldhome="$HOME"
+	HOME="${wrksrc}"
+}
+
+post_check() {
+	HOME="$oldhome"
+}
 
 tracker3-miners_package() {
 	depends="${sourcepkg}>=${version}_${revision}"

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PR PATCH] [Merged]: tracker-miners: enable landlock
  2024-04-15  8:07 [PR PATCH] tracker-miners: enable landlock oreo639
                   ` (3 preceding siblings ...)
  2024-04-15  8:59 ` oreo639
@ 2024-04-18  1:35 ` oreo639
  4 siblings, 0 replies; 6+ messages in thread
From: oreo639 @ 2024-04-18  1:35 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1096 bytes --]

There's a merged pull request on the void-packages repository

tracker-miners: enable landlock
https://github.com/void-linux/void-packages/pull/49847

Description:
<!-- Uncomment relevant sections and delete options which are not applicable -->

#### Testing the changes
- I tested the changes in this PR: **briefly**

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-04-18  1:35 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-15  8:07 [PR PATCH] tracker-miners: enable landlock oreo639
2024-04-15  8:08 ` [PR PATCH] [Updated] " oreo639
2024-04-15  8:43 ` oreo639
2024-04-15  8:48 ` oreo639
2024-04-15  8:59 ` oreo639
2024-04-18  1:35 ` [PR PATCH] [Merged]: " oreo639

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).