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
 |