Message ID | 20181218005116.17435-3-mmayer@broadcom.com |
---|---|
State | Superseded |
Headers | show |
Series | Allow customization of system default PATH | expand |
On 2018-12-17 16:51 -0800, Markus Mayer spake thusly: > We substitute the path specified in system/skeleton/etc/profile with > the path specified in the configuration varialbe > BR2_SYSTEM_DEFAULT_PATH. > > Signed-off-by: Markus Mayer <mmayer@broadcom.com> > --- > package/skeleton-init-common/skeleton-init-common.mk | 3 +++ > system/skeleton/etc/profile | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk > index e8a052205268..358336599389 100644 > --- a/package/skeleton-init-common/skeleton-init-common.mk > +++ b/package/skeleton-init-common/skeleton-init-common.mk > @@ -22,6 +22,9 @@ define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS > $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) > $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ > $(TARGET_DIR_WARNING_FILE) > + $(SED) '/.*the PATH below may be replaced.*/d' $(TARGET_DIR)/etc/profile > + $(SED) 's|PATH=.*|PATH=$(BR2_SYSTEM_DEFAULT_PATH)|' \ > + $(TARGET_DIR)/etc/profile > endef > > # We don't care much about what goes in staging, as long as it is > diff --git a/system/skeleton/etc/profile b/system/skeleton/etc/profile > index 1255d23ff40d..5ed47743d8f4 100644 > --- a/system/skeleton/etc/profile > +++ b/system/skeleton/etc/profile > @@ -1,3 +1,4 @@ > +# At install, the PATH below may be replaced with BR2_SYSTEM_DEFAULT_PATH. No need for the boilerplate, just: export PATH=@PATH@ This is enough to understand the value is actually replaced at some point in the build process. This is so very similar to what the autotools do. And thus, the sed expression becomes: $(SED) 's,@PATH@,$(BR2_SYSTEM_DEFAULT_PATH),' \ $(TARGET_DIR)/etc/profile (yeah, I see you went for the code snippet I initially provided, but you should learn that you should not always do take what I say to the letter! ;-] ) Regards, Yann E. MORIN. > export PATH=/bin:/sbin:/usr/bin:/usr/sbin > > if [ "$PS1" ]; then > -- > 2.17.1 >
Markus, All, On 2018-12-17 16:51 -0800, Markus Mayer spake thusly: > We substitute the path specified in system/skeleton/etc/profile with > the path specified in the configuration varialbe > BR2_SYSTEM_DEFAULT_PATH. You forgot to state in the commit log that $(BR2_SYSTEM_DEFAULT_PATH) is a kconfig string, so it is already quoted, and that's what we want it to be in the file. Regards, Yann E. MORIN. > Signed-off-by: Markus Mayer <mmayer@broadcom.com> > --- > package/skeleton-init-common/skeleton-init-common.mk | 3 +++ > system/skeleton/etc/profile | 1 + > 2 files changed, 4 insertions(+) > > diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk > index e8a052205268..358336599389 100644 > --- a/package/skeleton-init-common/skeleton-init-common.mk > +++ b/package/skeleton-init-common/skeleton-init-common.mk > @@ -22,6 +22,9 @@ define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS > $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) > $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ > $(TARGET_DIR_WARNING_FILE) > + $(SED) '/.*the PATH below may be replaced.*/d' $(TARGET_DIR)/etc/profile > + $(SED) 's|PATH=.*|PATH=$(BR2_SYSTEM_DEFAULT_PATH)|' \ > + $(TARGET_DIR)/etc/profile > endef > > # We don't care much about what goes in staging, as long as it is > diff --git a/system/skeleton/etc/profile b/system/skeleton/etc/profile > index 1255d23ff40d..5ed47743d8f4 100644 > --- a/system/skeleton/etc/profile > +++ b/system/skeleton/etc/profile > @@ -1,3 +1,4 @@ > +# At install, the PATH below may be replaced with BR2_SYSTEM_DEFAULT_PATH. > export PATH=/bin:/sbin:/usr/bin:/usr/sbin > > if [ "$PS1" ]; then > -- > 2.17.1 >
diff --git a/package/skeleton-init-common/skeleton-init-common.mk b/package/skeleton-init-common/skeleton-init-common.mk index e8a052205268..358336599389 100644 --- a/package/skeleton-init-common/skeleton-init-common.mk +++ b/package/skeleton-init-common/skeleton-init-common.mk @@ -22,6 +22,9 @@ define SKELETON_INIT_COMMON_INSTALL_TARGET_CMDS $(call SYSTEM_LIB_SYMLINK,$(TARGET_DIR)) $(INSTALL) -m 0644 support/misc/target-dir-warning.txt \ $(TARGET_DIR_WARNING_FILE) + $(SED) '/.*the PATH below may be replaced.*/d' $(TARGET_DIR)/etc/profile + $(SED) 's|PATH=.*|PATH=$(BR2_SYSTEM_DEFAULT_PATH)|' \ + $(TARGET_DIR)/etc/profile endef # We don't care much about what goes in staging, as long as it is diff --git a/system/skeleton/etc/profile b/system/skeleton/etc/profile index 1255d23ff40d..5ed47743d8f4 100644 --- a/system/skeleton/etc/profile +++ b/system/skeleton/etc/profile @@ -1,3 +1,4 @@ +# At install, the PATH below may be replaced with BR2_SYSTEM_DEFAULT_PATH. export PATH=/bin:/sbin:/usr/bin:/usr/sbin if [ "$PS1" ]; then
We substitute the path specified in system/skeleton/etc/profile with the path specified in the configuration varialbe BR2_SYSTEM_DEFAULT_PATH. Signed-off-by: Markus Mayer <mmayer@broadcom.com> --- package/skeleton-init-common/skeleton-init-common.mk | 3 +++ system/skeleton/etc/profile | 1 + 2 files changed, 4 insertions(+)