summaryrefslogtreecommitdiff
path: root/pbs-package-new
blob: 2a15ea92ef69bb353acfb76bb207cdffc3fea377 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash -euE

. pbs-plumb-shlib

cmd=${0##*/}
usage() {
	echo "Usage: $cmd [OPTIONS] REPO/PACKAGE"
	echo 'Creates a new package.'
	echo
	echo 'Options:'
	echo '  -h            Show this message'
}

main() {
	while getopts 'h' arg; do
		case $arg in
			h) usage; return 0;;
			*) usage; return 1;;
		esac
	done
	shift $(($OPTIND - 1))
	if [[ $# != 1 ]]; then
		usage
		return 1
	fi

	local dest=$1
	local package="${dest##*/}"

	cdto_pbs-root
	git submodule add ./ "${dest}"
	cd "${dest}"

	git checkout --orphan "packages/${package}"
	git remote set-branches origin "packages/${package}"
	git branch -D master
	git rm -rf .

	touch .pbs-package
	git add .pbs-package
}

main "$@"