| #!/usr/bin/env bash | |
| # | |
| # Copyright OpenEmbedded Contributors | |
| # | |
| # SPDX-License-Identifier: GPL-2.0-only | |
| # | |
| 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\"` | |
| # Stop any active memory resident server | |
| bitbake -m | |
| # Remove cache entries since we want to trigger a full reparse | |
| if [ "x${s}" != "x" ]; then | |
| rm -f ${s}/bb_cache*.dat.* | |
| 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 | |
| } | |
| [ $# -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 | |
| ;; | |
| *) | |
| help | |
| exit 1 | |
| ;; | |
| esac |