This has been used in libguestfs and libnbd for quite a while as it
makes the ./run script easier to read and write.
See also:
http://stackoverflow.com/a/9631350
Signed-off-by: Richard W.M. Jones <rjones@redhat.com>
---
run.in | 20 +++++++++-----------
1 file changed, 9 insertions(+), 11 deletions(-)
diff --git a/run.in b/run.in
index 8574f81463..3118f9a9a4 100644
--- a/run.in
+++ b/run.in
@@ -42,22 +42,20 @@
#
#----------------------------------------------------------------------
+# Function to intelligently prepend a path to an environment variable.
+# See http://stackoverflow.com/a/9631350
+prepend()
+{
+ eval $1="$2\${$1:+:\$$1}"
+}
+
# Find this script.
b=@abs_builddir@
-library_path="$b/src/.libs"
-if [ -z "$LD_LIBRARY_PATH" ]; then
- LD_LIBRARY_PATH=$library_path
-else
- LD_LIBRARY_PATH="$library_path:$LD_LIBRARY_PATH"
-fi
+prepend LD_LIBRARY_PATH "$b/src/.libs"
export LD_LIBRARY_PATH
-if [ -z "$PKG_CONFIG_PATH" ]; then
- PKG_CONFIG_PATH="$b/src"
-else
- PKG_CONFIG_PATH="$b/src:$PKG_CONFIG_PATH"
-fi
+prepend PKG_CONFIG_PATH "$b/src"
export PKG_CONFIG_PATH
# Ensure that any 3rd party apps using libvirt.so from the build tree get
--
2.24.1
On Thu, Jan 16, 2020 at 05:15:41PM +0000, Richard W.M. Jones wrote: > This has been used in libguestfs and libnbd for quite a while as it > makes the ./run script easier to read and write. > > See also: > http://stackoverflow.com/a/9631350 > > Signed-off-by: Richard W.M. Jones <rjones@redhat.com> > --- > run.in | 20 +++++++++----------- > 1 file changed, 9 insertions(+), 11 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
On Thu, Jan 16, 2020 at 05:15:41PM +0000, Richard W.M. Jones wrote: > This has been used in libguestfs and libnbd for quite a while as it > makes the ./run script easier to read and write. > > See also: > http://stackoverflow.com/a/9631350 Very neat, thanks for linking the stackoverflow article :). Reviewed-by: Erik Skultety <eskultet@redhat.com>
© 2016 - 2026 Red Hat, Inc.