All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: "Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Wei Liu" <wl@xen.org>,
	"Anthony PERARD" <anthony.perard@citrix.com>,
	"Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>,
	"Bernhard Kaindl" <bernhard.kaindl@citrix.com>
Subject: [PATCH v2 5/7] tools: Use -s for python shebangs
Date: Thu, 16 Mar 2023 19:37:44 +0000	[thread overview]
Message-ID: <20230316193744.1077012-1-andrew.cooper3@citrix.com> (raw)
In-Reply-To: <20230314141520.3652451-6-andrew.cooper3@citrix.com>

This is mandated by the Fedora packaging guidelines because it is a security
vulnerability otherwise in suid scripts.  While Xen doesn't have suid scripts,
it's a very good idea generally, because it prevents the users local python
environment interfering from system packaged scripts.

pygrub is the odd-script-out, being installed by distutils rather than
manually with INSTALL_PYTHON_PROG.  distutils has no nice way of editing the
shebang, so arrange to use INSTALL_PYTHON_PROG on pygrub too.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
CC: Bernhard Kaindl <bernhard.kaindl@citrix.com>

v2:
 * Remove accidental setuputils dependency.
---
 tools/Rules.mk        | 2 +-
 tools/pygrub/Makefile | 4 +++-
 tools/pygrub/setup.py | 1 -
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/Rules.mk b/tools/Rules.mk
index 6e135387bd7e..18cf83f5be83 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -179,7 +179,7 @@ CFLAGS += $(CFLAGS-y)
 CFLAGS += $(EXTRA_CFLAGS_XEN_TOOLS)
 
 INSTALL_PYTHON_PROG = \
-	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH)" $(INSTALL_PROG)
+	$(XEN_ROOT)/tools/python/install-wrap "$(PYTHON_PATH) -s" $(INSTALL_PROG)
 
 %.opic: %.c
 	$(CC) $(CPPFLAGS) -DPIC $(CFLAGS) $(CFLAGS_$*.opic) -fPIC -c -o $@ $< $(APPEND_CFLAGS)
diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index 29ad0513212f..4963bc89c6ed 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -18,8 +18,10 @@ build:
 .PHONY: install
 install: all
 	$(INSTALL_DIR) $(DESTDIR)/$(bindir)
+	$(INSTALL_DIR) $(DESTDIR)/$(LIBEXEC_BIN)
 	$(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
-		--root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force
+		--root="$(DESTDIR)" --force
+	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
 	set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \
 	             "`readlink -f $(DESTDIR)/$(bindir)`" != \
 	             "`readlink -f $(LIBEXEC_BIN)`" ]; then \
diff --git a/tools/pygrub/setup.py b/tools/pygrub/setup.py
index 0e4e3d02d372..502aa4df2dae 100644
--- a/tools/pygrub/setup.py
+++ b/tools/pygrub/setup.py
@@ -23,7 +23,6 @@ setup(name='pygrub',
       author_email='katzj@redhat.com',
       license='GPL',
       package_dir={'grub': 'src', 'fsimage': 'src'},
-      scripts = ["src/pygrub"],
       packages=pkgs,
       ext_modules = [ xenfsimage ]
       )
-- 
2.30.2



  parent reply	other threads:[~2023-03-16 19:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-14 14:15 [PATCH 0/7] tools: More Python 3 fixes (part 1 of N) Andrew Cooper
2023-03-14 14:15 ` [PATCH 1/7] tools/python: Drop pylintrc Andrew Cooper
2023-03-16 11:23   ` Anthony PERARD
2023-03-16 18:00   ` Marek Marczykowski-Górecki
2023-03-14 14:15 ` [PATCH 2/7] tools/misc: Drop xencons Andrew Cooper
2023-03-16 11:33   ` Anthony PERARD
2023-03-16 12:05     ` Andrew Cooper
2023-03-16 18:01   ` Marek Marczykowski-Górecki
2023-03-14 14:15 ` [PATCH 3/7] tools: Delete trailing whitespace in python scripts Andrew Cooper
2023-03-16 11:35   ` Anthony PERARD
2023-03-16 18:02   ` Marek Marczykowski-Górecki
2023-03-14 14:15 ` [PATCH 4/7] tools/pygrub: Factor out common setup.py parts Andrew Cooper
2023-03-16 11:39   ` Anthony PERARD
2023-03-14 14:15 ` [PATCH 5/7] tools: Use -s for python shebangs Andrew Cooper
2023-03-14 14:50   ` Andrew Cooper
2023-03-16 12:15     ` Anthony PERARD
2023-03-16 19:37   ` Andrew Cooper [this message]
2023-03-16 20:09     ` [PATCH v2 " Marek Marczykowski-Górecki
2023-03-14 14:15 ` [PATCH 6/7] tools/python: Improve unit test handling Andrew Cooper
2023-03-16 18:06   ` Marek Marczykowski-Górecki
2023-03-14 14:15 ` [PATCH 7/7] tools/python: Drop shebangs from library files Andrew Cooper
2023-03-16 18:12   ` Marek Marczykowski-Górecki
2023-03-15  2:37 ` [PATCH 0/7] tools: More Python 3 fixes (part 1 of N) Henry Wang

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=20230316193744.1077012-1-andrew.cooper3@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=bernhard.kaindl@citrix.com \
    --cc=marmarek@invisiblethingslab.com \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.org \
    /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.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.