mirror of
https://github.com/vyos/vyos-build.git
synced 2025-10-01 20:28:40 +02:00
85 lines
2.0 KiB
Bash
85 lines
2.0 KiB
Bash
#!/bin/bash
|
||
#
|
||
# **** License ****
|
||
#
|
||
# Copyright (C) 2013 Vyatta, Inc.
|
||
#
|
||
# This program is free software; you can redistribute it and/or modify
|
||
# it under the terms of the GNU General Public License version 2 as
|
||
# published by the Free Software Foundation.
|
||
#
|
||
# This program is distributed in the hope that it will be useful,
|
||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||
# GNU General Public License for more details.
|
||
#
|
||
# You should have received a copy of the GNU General Public License
|
||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||
#
|
||
# **** End License ****
|
||
|
||
progname=${0##*/}
|
||
shopt -s nullglob
|
||
shopt -s extglob
|
||
cd packages
|
||
|
||
info=echo
|
||
trace=
|
||
noclean="-nc"
|
||
build="debuild -i -b -uc -us"
|
||
|
||
declare -a submodule
|
||
declare -a debs
|
||
for debian in !(installer|linux-kernel-di-i386-2.6)/debian ; do
|
||
smod=${debian%/*}
|
||
debs=( ${smod}_*.deb )
|
||
if [ ${#debs[@]} -eq 0 ] ; then
|
||
submodule+=( $smod )
|
||
fi
|
||
done
|
||
|
||
while [ $# -gt 0 ] ; do
|
||
case "$1" in
|
||
-h | --help )
|
||
cat <<-EOF
|
||
Usage: $progname [Options] [ SUBMODULE... ]
|
||
Options:
|
||
-n | --do-nothing Don´t actually remove or build anything,
|
||
just show what would be done
|
||
-q | --quiet Quiet, don't print progress info
|
||
-c | --clean Clean build
|
||
-b | --binary Skip source package build (default)
|
||
-s | --source Build binary and source packages
|
||
-S | --signed-source Build and sign packages
|
||
|
||
If no SUBMODULE(s) given, build all checked-out submodules w/o debs.
|
||
EOF
|
||
exit 0;;
|
||
-n | --do-nothing )
|
||
trace=echo
|
||
shift;;
|
||
-q | --quiet )
|
||
info='#'
|
||
shift;;
|
||
-c | --clean )
|
||
noclean=
|
||
shift;;
|
||
-b | --binary )
|
||
shift ;; # default
|
||
-s | --source )
|
||
build="git buildpackage -uc -us"
|
||
shift;;
|
||
-S | --signed-source )
|
||
build="git buildpackage"
|
||
shift;;
|
||
* )
|
||
submodule=( $@ )
|
||
break;;
|
||
esac
|
||
done
|
||
|
||
for (( i=0; i<${#submodule[@]}; i++)) ; do
|
||
eval $info P: ${submodule[i]}
|
||
( cd ${submodule[i]} && eval $trace $build $noclean ) || exit $?
|
||
done
|