aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Spooren <mail@aparcar.org>2020-09-13 15:55:52 -1000
committerDaniel Golle <daniel@makrotopia.org>2020-09-14 10:54:52 +0100
commit34cc2c9a99f6542f009aa660790061f169aa96b3 (patch)
tree27ef139d98cd4c4cc4b7aca414226e51057a390f
parentdf8e6be59a1fbce3f8c6878fe7440a129b1245d6 (diff)
downloadupstream-34cc2c9a99f6542f009aa660790061f169aa96b3.tar.gz
upstream-34cc2c9a99f6542f009aa660790061f169aa96b3.tar.bz2
upstream-34cc2c9a99f6542f009aa660790061f169aa96b3.zip
build: create tmp/userids file
Multiple packages contain a USERID variable defining required user and group for the package to run. With the recent addition of "PKG_FILE_MODES" it is possible to define user and group of specific files, replacing (possibly insecure) post-inst scripts. These modes are set during build time and put directly into the packages. To allow user and group names rather than the numeric values, a mapping like `/etc/passwd` is required by the `ipkg-build` script, mapping names defined in "PKG_FILE_MODES" to a numeric value, as the build system does not create any users during build. This commit adds a single line to the `prepare-tmpinfo` target, so that everytime the feeds are updated the *passwd like* content of `./tmp/userids` is updated. Signed-off-by: Paul Spooren <mail@aparcar.org>
-rw-r--r--include/toplevel.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/toplevel.mk b/include/toplevel.mk
index c7e71ad571..589af94075 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -92,6 +92,7 @@ prepare-tmpinfo: FORCE
./scripts/package-metadata.pl mk tmp/.packageinfo > tmp/.packagedeps || { rm -f tmp/.packagedeps; false; }
./scripts/package-metadata.pl pkgaux tmp/.packageinfo > tmp/.packageauxvars || { rm -f tmp/.packageauxvars; false; }
touch $(TOPDIR)/tmp/.build
+ grep "Require-User" tmp/.packageinfo | cut -d ' ' -f 2- | sort -u | grep "=" > tmp/userids
.config: ./scripts/config/conf $(if $(CONFIG_HAVE_DOT_CONFIG),,prepare-tmpinfo)
@+if [ \! -e .config ] || ! grep CONFIG_HAVE_DOT_CONFIG .config >/dev/null; then \