mirror of
https://dev.iopsys.eu/feed/iopsys.git
synced 2025-12-10 07:44:50 +01:00
88 lines
1.7 KiB
Bash
Executable file
88 lines
1.7 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Intermediate repo for core packages
|
|
core_repo=git@public.inteno.se:iopsys-cc-core.git
|
|
|
|
# Repo to which core packages should be imported
|
|
import_repo=git@public.inteno.se:feed-inteno-openwrt.git
|
|
import_branch=openwrt-cc-core
|
|
|
|
|
|
function export_core {
|
|
|
|
local path=$1
|
|
|
|
# export paths to their own branches in an intermediate repo
|
|
repo=$(basename $path)
|
|
git subtree push -q --prefix=$path $core_repo $repo
|
|
}
|
|
|
|
|
|
function update_core {
|
|
|
|
local path=$1
|
|
|
|
if [ ! -d $topdir/feeds/feed_inteno_openwrt ]; then
|
|
echo "You need to run ./iop feeds_update"
|
|
exit -1
|
|
fi
|
|
|
|
# ensure that we are synced with the remote
|
|
cd $topdir/feeds/feed_inteno_openwrt
|
|
git checkout $import_branch
|
|
git pull
|
|
|
|
# first install subtrees if they don't already exist
|
|
repo=$(basename $path)
|
|
git subtree add --prefix=$repo $core_repo $repo
|
|
|
|
# install subtrees in feed from intermediate repo
|
|
repo=$(basename $path)
|
|
echo "Exporting $repo"
|
|
git subtree pull -q -m "Exporting $repo" --prefix=$repo $core_repo $repo
|
|
|
|
# update import repo sync branch
|
|
git push origin $import_branch
|
|
}
|
|
|
|
function display_help {
|
|
|
|
echo "Usage: ./iop export_core -e path/to/package"
|
|
}
|
|
|
|
function extract_core {
|
|
|
|
# Dir of script location
|
|
topdir=$(pwd)
|
|
|
|
|
|
if [ $# -eq 0 ]; then
|
|
display_help
|
|
exit -1
|
|
fi
|
|
|
|
# Execute user command
|
|
while getopts "he:" opt; do
|
|
case $opt in
|
|
e)
|
|
path=${OPTARG}
|
|
echo "Extracting ${path} from core to ${import_repo}:${import_branch}"
|
|
export_core $path
|
|
update_core $path
|
|
;;
|
|
h)
|
|
display_help
|
|
exit 0
|
|
;;
|
|
\?)
|
|
display_help
|
|
exit -1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
}
|
|
|
|
register_command "extract_core" "Extract core package to feeds_inteno_openwrt"
|
|
|
|
|