From: Stefano Brivio <sbrivio@redhat.com>
To: Max Chernoff <git@maxchernoff.ca>
Cc: passt-dev@passt.top, Paul Holzinger <pholzing@redhat.com>
Subject: Re: [PATCH] fedora: Separately restore context for /run/user in %posttrans selinux
Date: Fri, 23 May 2025 14:19:07 +0200 [thread overview]
Message-ID: <20250523141907.74aff624@elisabeth> (raw)
In-Reply-To: <f0ae3b503fadaecc3ba75d0713dc87d5b31f54e2.camel@maxchernoff.ca>
On Thu, 22 May 2025 22:19:11 -0600
Max Chernoff <git@maxchernoff.ca> wrote:
> Hi Stefano,
>
> On Thu, 2025-05-22 at 23:13 +0200, Stefano Brivio wrote:
> > The previous change introduces specific file contexts for
> > /run/user/%{USERID}/netns and
> > /run/user/%{USERID}/containers/networks/rootless-netns, but
> > %selinux_relabel_post can't handle that, see comments for more
> > details.
> >
> > Add a separate restorecon(8) call for /run/user in the
> > post-transaction scriptlet for the SELinux subpackage.
>
> I've tested this out and can confirm that it works, thanks.
Thanks for testing! I'll apply both patches soon and make a new release
within a few days, then we'll finally have the intended SELinux setup
for pasta as well. I'm quite relieved about it. :)
> Aside: what is the correct way to build passt rpms? "make pkgs" doesn't
> build the SELinux package,
Right, 'make pkgs' is just a quick hack to make static builds (which
doesn't need a proper rpm / rpmbuild setup) and I build RPMs for releases
and release testing via Koji / Copr, which source git snapshots anyway.
For one-off builds:
> but I was eventually able to get the following to work:
>
> $ git archive --prefix=passt-$(git rev-parse @)/ @ > ./passt-$(git rev-parse @).tar
> $ xz passt-*.tar
> $ mv *.tar.xz contrib/fedora/
> $ cd contrib/fedora/
> $ rpkg local --outdir $(realpath .)
I actually do something like this, but uglier. I didn't think of using
git-archive:
$ mkdir passt-679cb68455a9ae40cc72233abf218c20527500a6/
$ cp -Rpd *.c *.h Makefile seccomp.sh passt.1 passt-repair.1 qrap.1 README.md doc/ contrib/ LICENSES/ passt-679cb68455a9ae40cc72233abf218c20527500a6/
$ tar Jcvf /home/sbrivio/rpmbuild/SOURCES/passt-679cb68455a9ae40cc72233abf218c20527500a6.tar.xz passt-679cb68455a9ae40cc72233abf218c20527500a6/
$ cd contrib/fedora
$ rpkg spec
/tmp/rpkg/passt-1-djdq6cud/passt.spec
$ rpmbuild -ba /tmp/rpkg/passt-1-djdq6cud/passt.spec
> Is there a way to do this without needing to manually create the .tar.xz
> archive first?
We would need to replace %prep with a simple copy from the current
directory. I didn't really think this through, but perhaps we could
make it conditional, like this:
diff --git a/contrib/fedora/passt.spec b/contrib/fedora/passt.spec
index 745cf01..f1973ee 100644
--- a/contrib/fedora/passt.spec
+++ b/contrib/fedora/passt.spec
@@ -47,7 +47,13 @@ Requires(preun): policycoreutils
This package adds SELinux enforcement to passt(1), pasta(1), passt-repair(1).
%prep
+%if "%(ls passt.c)" == "passt.c"
+# Hack for local build from source tree
+cp -a %(pwd)/* .
+%else
+# The usual process with an upstream tarball
%setup -q -n passt-%{git_hash}
+%endif
%build
%set_build_flags
?
Maybe there's a more common or idiomatic way though...
--
@@ -47,7 +47,13 @@ Requires(preun): policycoreutils
This package adds SELinux enforcement to passt(1), pasta(1), passt-repair(1).
%prep
+%if "%(ls passt.c)" == "passt.c"
+# Hack for local build from source tree
+cp -a %(pwd)/* .
+%else
+# The usual process with an upstream tarball
%setup -q -n passt-%{git_hash}
+%endif
%build
%set_build_flags
?
Maybe there's a more common or idiomatic way though...
--
Stefano
next prev parent reply other threads:[~2025-05-23 12:19 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-22 21:13 [PATCH] fedora: Separately restore context for /run/user in %posttrans selinux Stefano Brivio
2025-05-23 4:19 ` Max Chernoff
2025-05-23 12:19 ` Stefano Brivio [this message]
2025-05-24 7:07 ` Max Chernoff
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250523141907.74aff624@elisabeth \
--to=sbrivio@redhat.com \
--cc=git@maxchernoff.ca \
--cc=passt-dev@passt.top \
--cc=pholzing@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://passt.top/passt
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 IMAP folder(s).