d66b3d8b4e
'export' will accept any output filename, but 'import' needs a '.conf' suffix to work. Otherwise you'll get: koen@beast:/build/v2013.12$ bitbake-prserv-tool import x.txt ERROR: Traceback (most recent call last): File "/build/v2013.12/sources/bitbake/lib/bb/cookerdata.py", line 162, in wrapped return func(fn, *args) File "/build/v2013.12/sources/bitbake/lib/bb/cookerdata.py", line 172, in parse_config_file return bb.parse.handle(fn, data, include) File "/build/v2013.12/sources/bitbake/lib/bb/parse/__init__.py", line 100, in handle raise ParseError("not a BitBake file", fn) ParseError: ParseError in x.txt: not a BitBake file ERROR: Unable to parse x.txt: ParseError in x.txt: not a BitBake file Importing from file x.txt failed! (From OE-Core rev: 704878ba025fda931be6accbb74cfdb14ffb55e9) Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
104 lines
2.2 KiB
Bash
Executable file
104 lines
2.2 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
help ()
|
|
{
|
|
base=`basename $0`
|
|
echo -e "Usage: $base command"
|
|
echo "Avaliable commands:"
|
|
echo -e "\texport <file.conf>: export and lock down the AUTOPR values from the PR service into a file for release."
|
|
echo -e "\timport <file.conf>: import the AUTOPR values from the exported file into the PR service."
|
|
}
|
|
|
|
clean_cache()
|
|
{
|
|
s=`bitbake -e | grep ^CACHE= | cut -f2 -d\"`
|
|
if [ "x${s}" != "x" ]; then
|
|
rm -rf ${s}
|
|
fi
|
|
}
|
|
|
|
do_export ()
|
|
{
|
|
file=$1
|
|
[ "x${file}" == "x" ] && help && exit 1
|
|
rm -f ${file}
|
|
|
|
clean_cache
|
|
bitbake -R conf/prexport.conf -p
|
|
s=`bitbake -R conf/prexport.conf -e | grep ^PRSERV_DUMPFILE= | cut -f2 -d\"`
|
|
if [ "x${s}" != "x" ];
|
|
then
|
|
[ -e $s ] && mv -f $s $file && echo "Exporting to file $file succeeded!"
|
|
return 0
|
|
fi
|
|
echo "Exporting to file $file failed!"
|
|
return 1
|
|
}
|
|
|
|
do_import ()
|
|
{
|
|
file=$1
|
|
[ "x${file}" == "x" ] && help && exit 1
|
|
|
|
clean_cache
|
|
bitbake -R conf/primport.conf -R $file -p
|
|
ret=$?
|
|
[ $ret -eq 0 ] && echo "Importing from file $file succeeded!" || echo "Importing from file $file failed!"
|
|
return $ret
|
|
}
|
|
|
|
do_migrate_localcount ()
|
|
{
|
|
df=`bitbake -R conf/migrate_localcount.conf -e | \
|
|
grep ^LOCALCOUNT_DUMPFILE= | cut -f2 -d\"`
|
|
if [ "x${df}" == "x" ];
|
|
then
|
|
echo "LOCALCOUNT_DUMPFILE is not defined!"
|
|
return 1
|
|
fi
|
|
|
|
rm -rf $df
|
|
clean_cache
|
|
echo "Exporting LOCALCOUNT to AUTOINCs..."
|
|
bitbake -R conf/migrate_localcount.conf -p
|
|
[ ! $? -eq 0 ] && echo "Exporting to file $df failed!" && exit 1
|
|
|
|
if [ -e $df ];
|
|
then
|
|
echo "Exporting to file $df succeeded!"
|
|
else
|
|
echo "Exporting to file $df failed!"
|
|
exit 1
|
|
fi
|
|
|
|
echo "Importing generated AUTOINC entries..."
|
|
[ -e $df ] && do_import $df
|
|
|
|
if [ ! $? -eq 0 ]
|
|
then
|
|
echo "Migration from LOCALCOUNT to AUTOINCs failed!"
|
|
return 1
|
|
fi
|
|
|
|
echo "Migration from LOCALCOUNT to AUTOINCs succeeded!"
|
|
return 0
|
|
}
|
|
|
|
[ $# -eq 0 ] && help && exit 1
|
|
|
|
case $1 in
|
|
export)
|
|
do_export $2
|
|
;;
|
|
import)
|
|
do_import $2
|
|
;;
|
|
migrate_localcount)
|
|
do_migrate_localcount
|
|
;;
|
|
*)
|
|
help
|
|
exit 1
|
|
;;
|
|
esac
|