mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-26 04:36:33 +00:00
fs/common: add option to execute custom scripts under fakeroot
Some users have the need to be able to tweak the content of the target rootfs with root-like rights, that is, from inside the fakeroot script. Add a new system option to allow those users to provide a list of scripts, like the post-build and post-image scripts, that will be run from our fakeroot script. [Peter: pass TARGET_DIR to scripts, tweak help text] Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Peter Korsgaard <peter@korsgaard.com> Cc: Cam Hutchison <camh@xdna.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
7d56f0cc55
commit
9cdb281fa6
@ -92,6 +92,9 @@ endif
|
|||||||
$$(call PRINTF,$$(PACKAGES_PERMISSIONS_TABLE)) >> $$(FULL_DEVICE_TABLE)
|
$$(call PRINTF,$$(PACKAGES_PERMISSIONS_TABLE)) >> $$(FULL_DEVICE_TABLE)
|
||||||
echo "$$(HOST_DIR)/usr/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
|
echo "$$(HOST_DIR)/usr/bin/makedevs -d $$(FULL_DEVICE_TABLE) $$(TARGET_DIR)" >> $$(FAKEROOT_SCRIPT)
|
||||||
endif
|
endif
|
||||||
|
$$(foreach s,$$(call qstrip,$$(BR2_ROOTFS_POST_FAKEROOT_SCRIPT)),\
|
||||||
|
echo "echo '$$(TERM_BOLD)>>> Executing fakeroot script $$(s)$$(TERM_RESET)'" >> $$(FAKEROOT_SCRIPT); \
|
||||||
|
echo $$(s) $$(TARGET_DIR) $$(BR2_ROOTFS_POST_SCRIPT_ARGS) >> $$(FAKEROOT_SCRIPT)$$(sep))
|
||||||
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
|
$$(call PRINTF,$$(ROOTFS_$(2)_CMD)) >> $$(FAKEROOT_SCRIPT)
|
||||||
chmod a+x $$(FAKEROOT_SCRIPT)
|
chmod a+x $$(FAKEROOT_SCRIPT)
|
||||||
PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
|
PATH=$$(BR_PATH) $$(HOST_DIR)/usr/bin/fakeroot -- $$(FAKEROOT_SCRIPT)
|
||||||
|
@ -454,6 +454,38 @@ config BR2_ROOTFS_POST_BUILD_SCRIPT
|
|||||||
argument. Make sure the exit code of those scripts are 0, otherwise
|
argument. Make sure the exit code of those scripts are 0, otherwise
|
||||||
make will stop after calling them.
|
make will stop after calling them.
|
||||||
|
|
||||||
|
config BR2_ROOTFS_POST_FAKEROOT_SCRIPT
|
||||||
|
string "Custom scripts to run inside the fakeroot environment"
|
||||||
|
default ""
|
||||||
|
help
|
||||||
|
Specify a space-separated list of scripts to be run at the end
|
||||||
|
of the fakeroot script right before the image(s) are actually
|
||||||
|
generated.
|
||||||
|
|
||||||
|
This gives users the opportunity to do customisations of the
|
||||||
|
content of the rootfs, which would otherwise require root
|
||||||
|
rigths.
|
||||||
|
|
||||||
|
These scripts are called with the target directory name as
|
||||||
|
first argument. The build will fail on the first scripts that
|
||||||
|
exits with a non-zero exit code.
|
||||||
|
|
||||||
|
Note that Buildroot already provides mechanisms to customise
|
||||||
|
the content of the rootfs:
|
||||||
|
|
||||||
|
- BR2_ROOTFS_STATIC_DEVICE_TABLE
|
||||||
|
to create arbitrary entries statically in /dev
|
||||||
|
|
||||||
|
- BR2_ROOTFS_DEVICE_TABLE
|
||||||
|
to set arbitrary permissions as well as extended attributes
|
||||||
|
(such as capabilities) on files and directories,
|
||||||
|
|
||||||
|
- BR2_ROOTFS_USERS_TABLES:
|
||||||
|
to create arbitrary users and their home directories
|
||||||
|
|
||||||
|
It is highly recommended to use those mechanisms if possible,
|
||||||
|
rather than using custom fakeroot scripts.
|
||||||
|
|
||||||
config BR2_ROOTFS_POST_IMAGE_SCRIPT
|
config BR2_ROOTFS_POST_IMAGE_SCRIPT
|
||||||
string "Custom scripts to run after creating filesystem images"
|
string "Custom scripts to run after creating filesystem images"
|
||||||
default ""
|
default ""
|
||||||
@ -473,8 +505,10 @@ config BR2_ROOTFS_POST_IMAGE_SCRIPT
|
|||||||
source directory as the current directory.
|
source directory as the current directory.
|
||||||
|
|
||||||
config BR2_ROOTFS_POST_SCRIPT_ARGS
|
config BR2_ROOTFS_POST_SCRIPT_ARGS
|
||||||
string "Extra post-{build,image} arguments"
|
string "Extra arguments passed to custom scripts"
|
||||||
depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" || BR2_ROOTFS_POST_IMAGE_SCRIPT != ""
|
depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \
|
||||||
|
|| BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \
|
||||||
|
|| BR2_ROOTFS_POST_IMAGE_SCRIPT != ""
|
||||||
help
|
help
|
||||||
Pass these additional arguments to each post-build or post-image
|
Pass these additional arguments to each post-build or post-image
|
||||||
scripts.
|
scripts.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user