aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/bitbake
diff options
context:
space:
mode:
authorLianhao Lu <lianhao.lu@intel.com>2011-01-05 18:13:53 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-05 14:24:00 +0000
commita47c6415bdff42ebc8ddcae1acafa791f5029ef1 (patch)
tree377b1b7bbfd4b503015cef81af66d12482492002 /scripts/bitbake
parentd7a6a01ed71805a2199439a931c1be9530707b9a (diff)
downloadopenembedded-core-contrib-a47c6415bdff42ebc8ddcae1acafa791f5029ef1.tar.gz
scripts/bitbake: Skip building pseudo if necessary.
Fixed [BUGID# 625]. Skip building pseudo if necessary by parsing the options to bitbake. Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Diffstat (limited to 'scripts/bitbake')
-rwxr-xr-xscripts/bitbake24
1 files changed, 21 insertions, 3 deletions
diff --git a/scripts/bitbake b/scripts/bitbake
index 2c03314e0b..df4e215fc5 100755
--- a/scripts/bitbake
+++ b/scripts/bitbake
@@ -1,7 +1,20 @@
#!/bin/sh
+NO_BUILD_OPTS="--version -h --help -p --parse-only -s --show-versions -e --environment"
+no_build="0"
+for opt in $@; do
+for key in $NO_BUILD_OPTS; do
+ if [ $opt == $key ]
+ then
+ no_build="1"
+ break
+ fi
+done
+[ $no_build == "1" ] && break
+done
+
OLDPATH=$PATH
export PATH=`echo $PATH | sed s#[^:]*/scripts:##`
-if [ ! -e "$BUILDDIR/pseudodone" ]; then
+if [ ! -e "$BUILDDIR/pseudodone" -a $no_build == "0" ]; then
echo "Pseudo has not been built, building this first before the main build"
bitbake pseudo-native
ret=$?
@@ -19,7 +32,12 @@ if [ ! -e "$BUILDDIR/pseudodone" ]; then
fi
BITBAKE=`which bitbake`
export PATH=$OLDPATH
-PSEUDOBINDIR=`cat $BUILDDIR/pseudodone`
-PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@
+if [ $no_build == "0" ]
+then
+ PSEUDOBINDIR=`cat $BUILDDIR/pseudodone`
+ PSEUDO_BINDIR=$PSEUDOBINDIR PSEUDO_LIBDIR=$PSEUDOBINDIR/../lib/pseudo/lib PSEUDO_PREFIX=$PSEUDOBINDIR/../../ PSEUDO_DISABLED=1 $PSEUDOBINDIR/pseudo $BITBAKE $@
+else
+ $BITBAKE $@
+fi
ret=$?
exit $ret
ackground-color: #ddffdd } /* Generic.Inserted */ .highlight .go { color: #888888 } /* Generic.Output */ .highlight .gp { color: #555555 } /* Generic.Prompt */ .highlight .gs { font-weight: bold } /* Generic.Strong */ .highlight .gu { color: #666666 } /* Generic.Subheading */ .highlight .gt { color: #aa0000 } /* Generic.Traceback */ .highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */ .highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */ .highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */ .highlight .kp { color: #008800 } /* Keyword.Pseudo */ .highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */ .highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */ .highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */ .highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
From 3fa2ae78db9b31edb4c22f3b5cd36c6c972947f1 Mon Sep 17 00:00:00 2001
From: Florian Festi <ffesti@redhat.com>
Date: Wed, 26 Jul 2023 15:01:35 +0200
Subject: [PATCH] Duplicate filename before passing it to basename

basename is allowed change the string passed to it. While we don't need
the filename after that just casting away the const seems a bit too
hacky.

Upstream-Status: Backport [https://github.com/rpm-software-management/rpm/commit/3fa2ae78db9b31edb4c22f3b5cd36c6c972947f1]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 tools/rpmuncompress.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/tools/rpmuncompress.c b/tools/rpmuncompress.c
index 58ddf5683..e13cc6a66 100644
--- a/tools/rpmuncompress.c
+++ b/tools/rpmuncompress.c
@@ -98,7 +98,8 @@ static char *doUntar(const char *fn)
 	if (needtar) {
 	    rasprintf(&buf, "%s '%s' | %s %s -", zipper, fn, tar, taropts);
 	} else if (at->compressed == COMPRESSED_GEM) {
-	    const char *bn = basename(fn);
+	    char *tmp = xstrdup(fn);
+	    const char *bn = basename(tmp);
 	    size_t nvlen = strlen(bn) - 3;
 	    char *gem = rpmGetPath("%{__gem}", NULL);
 	    char *gemspec = NULL;
@@ -112,6 +113,7 @@ static char *doUntar(const char *fn)
 
 	    free(gemspec);
 	    free(gem);
+	    free(tmp);
 	} else {
 	    rasprintf(&buf, "%s '%s'", zipper, fn);
 	}
-- 
2.43.0