Fixed: $ bitbake-prserv-tool import /tmp/1 File "/path/to/lib/bb/parse/__init__.py", line 114, in handle(fn='/tmp/1', data=<bb.data_smart.DataSmart object at 0x2369bd0>, include=True): return h['handle'](fn, data, include) > raise ParseError("not a BitBake file", fn) ParseError: ParseError in /tmp/1: not a BitBake file But 1.conf or 1.inc works well, check the filename and print proper error message. (From OE-Core rev: 273eee7a3614caea17c5bc93b720353641293cf7) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
113 lines
2.3 KiB
Bash
Executable file
113 lines
2.3 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 $2 in
|
|
*.conf|*.inc)
|
|
;;
|
|
*)
|
|
echo ERROR: $2 must end with .conf or .inc!
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
case $1 in
|
|
export)
|
|
do_export $2
|
|
;;
|
|
import)
|
|
do_import $2
|
|
;;
|
|
migrate_localcount)
|
|
do_migrate_localcount
|
|
;;
|
|
*)
|
|
help
|
|
exit 1
|
|
;;
|
|
esac
|