enable rebuilding tagged release code and zips in a working tree in temp folder

This commit is contained in:
Steve Karg
2024-02-16 12:03:05 -06:00
parent 93d47d95d5
commit d044736ecb
+48 -36
View File
@@ -25,56 +25,64 @@ url_api='https://sourceforge.net/projects/bacnet/files'
url_frs="${USERNAME},bacnet@frs.sourceforge.net:/home/frs/project/b/ba/bacnet" url_frs="${USERNAME},bacnet@frs.sourceforge.net:/home/frs/project/b/ba/bacnet"
url_frs_tools="$url_frs/bacnet-tools" url_frs_tools="$url_frs/bacnet-tools"
url_frs_source="$url_frs/bacnet-stack" url_frs_source="$url_frs/bacnet-stack"
work_tree=$(mktemp -d 2>/dev/null || mktemp -d -t 'mytmpdir')
function bacnet_tag() { function bacnet_tag() {
echo "Tagging Source Code $tag_name" echo "Tagging Source Code $tag_name"
git tag $tag_name git tag $tag_name
} }
function bacnet_build() { function bacnet_create_work_tree() {
git archive --format=tar $tag_name | tar -x -C $work_tree
echo "work-tree is in $work_tree"
}
function bacnet_build_apps() {
echo "" echo ""
echo "Build Win32 Apps" echo "Build Win32 Apps"
export CC=i686-w64-mingw32-gcc export CC=i686-w64-mingw32-gcc
export LD=i686-w64-mingw32-ld export LD=i686-w64-mingw32-ld
i686-w64-mingw32-gcc --version i686-w64-mingw32-gcc --version
make clean make -C $work_tree clean
make -s LEGACY=true win32 make -C $work_tree -s LEGACY=true win32
} }
function bacnet_zip() { function bacnet_zip_apps() {
echo "ZIP Win32 Tools" echo "ZIP Win32 Tools"
mkdir -p $tools mkdir -p $work_tree/$tools
cp ./bin/*.exe $tools cp $work_tree/bin/*.exe $work_tree/$tools
cp ./bin/bvlc.bat $tools cp $work_tree/bin/bvlc.bat $work_tree/$tools
cp ./bin/readme.txt $tools cp $work_tree/bin/readme.txt $work_tree/$tools
cp ./apps/mstpcap/mstpcap.txt $tools cp $work_tree/apps/mstpcap/mstpcap.txt $work_tree/$tools
zip -r $tools.zip $tools zip -r $work_tree/$tools.zip $work_tree/$tools
rm $tools/*.exe rm $work_tree/$tools/*.exe
rm $tools/*.bat rm $work_tree/$tools/*.bat
mv $tools.zip $tools/$tools.zip mv $work_tree/$tools.zip $work_tree/$tools/$tools.zip
} }
function bacnet_source() { function bacnet_upload_apps() {
echo "Upload Win32 Tools with SCP"
scp -r $work_tree/$tools $url_frs_tools
}
function bacnet_zip_source() {
echo "ZIP Source Code for Tag $tag_name" echo "ZIP Source Code for Tag $tag_name"
git archive --format=zip --prefix=$tag_name/ --output=$tag_name.zip $tag_name git archive --format=zip --prefix=$tag_name/ --output=$tag_name.zip $tag_name
echo "TGZ Source Code for Tag $tag_name" echo "TGZ Source Code for Tag $tag_name"
git archive --format=tar.gz --prefix=$tag_name/ --output=$tag_name.tgz $tag_name git archive --format=tar.gz --prefix=$tag_name/ --output=$tag_name.tgz $tag_name
mkdir -p $tag_name mkdir -p $work_tree/$tag_name
mv $tag_name.zip $tag_name mv $tag_name.zip $work_tree/$tag_name
mv $tag_name.tgz $tag_name mv $tag_name.tgz $work_tree/$tag_name
cp CHANGELOG.md $tag_name cp $work_tree/CHANGELOG.md $work_tree/$tag_name
cp README.md $tag_name cp $work_tree/README.md $work_tree/$tag_name
cp SECURITY.md $tag_name cp $work_tree/SECURITY.md $work_tree/$tag_name
} }
function bacnet_upload() { function bacnet_upload_source() {
echo "Upload Win32 Tools with SCP"
scp -r $tools $url_frs_tools
echo "Upload Source Code with SCP" echo "Upload Source Code with SCP"
scp -r $tag_name $url_frs_source scp -r $work_tree/$tag_name $url_frs_source
} }
function bacnet_settings() { function bacnet_settings() {
@@ -89,25 +97,29 @@ function bacnet_settings() {
curl -H $accept -X PUT -d $default_posix -d $api_key $url_source curl -H $accept -X PUT -d $default_posix -d $api_key $url_source
} }
menu(){ menu() {
echo -ne " echo -ne "
BACnet Stack Release Steps BACnet Stack Release Steps
1) Tag BACnet source code 1) Tag BACnet source code
2) Build BACnet apps for Win32 2) Create Work Tree
3) Zip BACnet apps for Win32 3) Build BACnet apps for Win32
4) Archive BACnet source code 4) Zip BACnet apps for Win32
5) Upload files to bacnet.sf.net 5) Upload BACnet apps to bacnet.sf.net
6) Configure bacnet.sf.net download settings 6) Archive BACnet source code
7) Upload BACnet source code to bacnet.sf.net
8) Configure bacnet.sf.net download settings
0) Exit 0) Exit
Choose an option: " Choose an option: "
read a read a
case $a in case $a in
1) bacnet_tag ; menu ;; 1) bacnet_tag ; menu ;;
2) bacnet_build ; menu ;; 2) bacnet_create_work_tree ; menu ;;
3) bacnet_zip ; menu ;; 3) bacnet_build_apps ; menu ;;
4) bacnet_source ; menu ;; 4) bacnet_zip_apps ; menu ;;
5) bacnet_upload ; menu ;; 5) bacnet_upload_apps ; menu ;;
6) bacnet_settings ; menu ;; 6) bacnet_zip_source ; menu ;;
7) bacnet_upload_source ; menu ;;
8) bacnet_settings ; menu ;;
0) exit 0 ;; 0) exit 0 ;;
*) echo -e $red"Invalid option."$clear; WrongCommand;; *) echo -e $red"Invalid option."$clear; WrongCommand;;
esac esac