mirror of
				https://gitlab.labs.nic.cz/labs/bird.git
				synced 2024-05-11 16:54:54 +00:00 
			
		
		
		
	
		
			
	
	
		
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 
								 | 
							
								#!/bin/bash
							 | 
						||
| 
								 | 
							
								# create OpenSUSE Build System (OBS) source package
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# this needs to be run on a (Debian-based) system with:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# * apkg
							 | 
						||
| 
								 | 
							
								# * dpkg-buildpackage
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# run from project root containing distro/ dir:
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								#     ./tools/make-obs [path/to/archive.tar.gz]
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# supply archives as optional arguments to build from,
							 | 
						||
| 
								 | 
							
								# otherwise archive will be built from sources by apkg
							 | 
						||
| 
								 | 
							
								#
							 | 
						||
| 
								 | 
							
								# output at ./pkg/obs/ (removed on each run)
							 | 
						||
| 
								 | 
							
								set -o errexit -o nounset
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								OUTDIR="pkg/obs"
							 | 
						||
| 
								 | 
							
								APKG_OPTS="-O $OUTDIR"
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ -z $@ ]; then
							 | 
						||
| 
								 | 
							
								    echo "building OBS srcpkg from project files"
							 | 
						||
| 
								 | 
							
								else
							 | 
						||
| 
								 | 
							
								    AR=$1
							 | 
						||
| 
								 | 
							
								    echo "building OBS srcpkg from specified archive(s)"
							 | 
						||
| 
								 | 
							
								    APKG_OPTS="-a $AR $APKG_OPTS"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								if [ -n "$RELEASE" ]; then
							 | 
						||
| 
								 | 
							
								    echo "custom release: $RELEASE"
							 | 
						||
| 
								 | 
							
								    APKG_OPTS="-r $RELEASE $APKG_OPTS"
							 | 
						||
| 
								 | 
							
								fi
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								set -o xtrace
							 | 
						||
| 
								 | 
							
								: removing existing output files at output dir: $OUTDIR
							 | 
						||
| 
								 | 
							
								rm -rf "$OUTDIR"
							 | 
						||
| 
								 | 
							
								: making debian source package from archive
							 | 
						||
| 
								 | 
							
								apkg srcpkg $APKG_OPTS -d debian
							 | 
						||
| 
								 | 
							
								: removing extra debian source package files
							 | 
						||
| 
								 | 
							
								rm -f $OUTDIR/*_source.*
							 | 
						||
| 
								 | 
							
								: rendering RPM template
							 | 
						||
| 
								 | 
							
								apkg srcpkg $APKG_OPTS -d fedora --render-template
							 | 
						||
| 
								 | 
							
								: fixing RPM .spec to use debian source archive
							 | 
						||
| 
								 | 
							
								sed -i 's/^\(Source0:\s\+\).*/\1bird2_%{version}.orig.tar.gz/' $OUTDIR/*.spec
							 | 
						||
| 
								 | 
							
								echo "OBS srcpkg ready at: $OUTDIR"
							 |