dejsem.1.5/unix/debian/pack
author hh
Wed, 27 Nov 2019 09:50:16 +0100
changeset 0 676905a3b03c
permissions -rwxr-xr-x
--
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
hh
parents:
diff changeset
     1
#!/bin/bash
hh
parents:
diff changeset
     2
hh
parents:
diff changeset
     3
cd $(dirname $0)
hh
parents:
diff changeset
     4
fn_dummy=
hh
parents:
diff changeset
     5
fn_common=
hh
parents:
diff changeset
     6
fn_client=
hh
parents:
diff changeset
     7
fn_server=
hh
parents:
diff changeset
     8
hh
parents:
diff changeset
     9
clean() {
hh
parents:
diff changeset
    10
	rm -rf debian
hh
parents:
diff changeset
    11
	mkdir -p debian
hh
parents:
diff changeset
    12
}
hh
parents:
diff changeset
    13
hh
parents:
diff changeset
    14
fnames() {
hh
parents:
diff changeset
    15
	version="$(sed -n "/^Version:/s/^Version:[[:blank:]]//p" common.DEBIAN/control)"
hh
parents:
diff changeset
    16
	arch="$(sed -n "/^Architecture:/s/^Architecture:[[:blank:]]//p" common.DEBIAN/control)"
hh
parents:
diff changeset
    17
	pname="$(sed -n "/^Package:/s/^Package:[[:blank:]]//p" common.DEBIAN/control)"
hh
parents:
diff changeset
    18
	fn_common=${pname}_${version}_${arch}
hh
parents:
diff changeset
    19
	pname="$(sed -n "/^Package:/s/^Package:[[:blank:]]//p" client.DEBIAN/control)"
hh
parents:
diff changeset
    20
	fn_client=${pname}_${version}_${arch}
hh
parents:
diff changeset
    21
	pname="$(sed -n "/^Package:/s/^Package:[[:blank:]]//p" server.DEBIAN/control)"
hh
parents:
diff changeset
    22
	fn_server=${pname}_${version}_${arch}
hh
parents:
diff changeset
    23
	pname="$(sed -n "/^Package:/s/^Package:[[:blank:]]//p" dummy.DEBIAN/control)"
hh
parents:
diff changeset
    24
	fn_dummy=${pname}_${version}_${arch}
hh
parents:
diff changeset
    25
}
hh
parents:
diff changeset
    26
hh
parents:
diff changeset
    27
changes() {
hh
parents:
diff changeset
    28
	rm -rf $1.changes	
hh
parents:
diff changeset
    29
	changestool --create $1.changes add $1.deb
hh
parents:
diff changeset
    30
	changestool $1.changes setdistribution unstable
hh
parents:
diff changeset
    31
}
hh
parents:
diff changeset
    32
hh
parents:
diff changeset
    33
pack() {
hh
parents:
diff changeset
    34
	[[ $FAKEROOT ]] || { FAKEROOT=1 fakeroot -- $0 pack; return; }
hh
parents:
diff changeset
    35
hh
parents:
diff changeset
    36
	version="$(sed -n "/^Version:/s/^Version:[[:blank:]]//p" common.DEBIAN/control)"
hh
parents:
diff changeset
    37
	if [[ ${version%.*} == $(date  +%Y.%m.%d) ]] 
hh
parents:
diff changeset
    38
	then	suff=$(printf "%02d" $(($(echo ${version##*.} | bc) + 1)))
hh
parents:
diff changeset
    39
	else	suff=00
hh
parents:
diff changeset
    40
	fi
hh
parents:
diff changeset
    41
	version=$(date +%Y.%m.%d.$suff)
hh
parents:
diff changeset
    42
	control=$(<common.DEBIAN/control)
hh
parents:
diff changeset
    43
	sed -e "/^Version:/s/^.*$/Version: $version/" <<<$control >common.DEBIAN/control
hh
parents:
diff changeset
    44
hh
parents:
diff changeset
    45
	# dejsem.common
hh
parents:
diff changeset
    46
	clean
hh
parents:
diff changeset
    47
	cp -a common.DEBIAN debian/DEBIAN
hh
parents:
diff changeset
    48
	mkdir -p debian/etc/default debian/usr/lib/dejsem debian/usr/share/dejsem/ssl
hh
parents:
diff changeset
    49
	cp -a ../../python/dejsem.pycharm/*.py	debian/usr/lib/dejsem/	
hh
parents:
diff changeset
    50
	cp -a ../../ssl/*.pem	debian/usr/share/dejsem/ssl/
hh
parents:
diff changeset
    51
	cp -a ../../ssl/dejCA.crt	debian/usr/share/dejsem/ssl/
hh
parents:
diff changeset
    52
	cp -a etc/default/dejsem	debian/etc/default/
hh
parents:
diff changeset
    53
	chown -R root.root debian
hh
parents:
diff changeset
    54
	dpkg-deb -b debian .
hh
parents:
diff changeset
    55
	
hh
parents:
diff changeset
    56
	# dejsem.client
hh
parents:
diff changeset
    57
	clean
hh
parents:
diff changeset
    58
	cp -a client.DEBIAN debian/DEBIAN
hh
parents:
diff changeset
    59
	sed -e "s/VERSION/$version/g" client.DEBIAN/control >debian/DEBIAN/control
hh
parents:
diff changeset
    60
	mkdir -p debian/usr/bin/
hh
parents:
diff changeset
    61
	cp -a ../bin/dejsem debian/usr/bin/				
hh
parents:
diff changeset
    62
	cp -a ../bin/d.* debian/usr/bin/				
hh
parents:
diff changeset
    63
	chown -R root.root debian
hh
parents:
diff changeset
    64
	dpkg-deb -b debian .
hh
parents:
diff changeset
    65
	
hh
parents:
diff changeset
    66
	# dejsem.server
hh
parents:
diff changeset
    67
	clean
hh
parents:
diff changeset
    68
	cp -a server.DEBIAN debian/DEBIAN
hh
parents:
diff changeset
    69
	sed -e "s/VERSION/$version/g" server.DEBIAN/control >debian/DEBIAN/control
hh
parents:
diff changeset
    70
	mkdir -p debian/etc/init.d debian/usr/bin
hh
parents:
diff changeset
    71
	cp -a etc/init.d debian/etc/
hh
parents:
diff changeset
    72
	cp -a ../bin/dejsemd debian/usr/bin/				
hh
parents:
diff changeset
    73
	chown -R root.root debian
hh
parents:
diff changeset
    74
	dpkg-deb -b debian .
hh
parents:
diff changeset
    75
	
hh
parents:
diff changeset
    76
	# dejsem.dummy
hh
parents:
diff changeset
    77
	clean
hh
parents:
diff changeset
    78
	cp -a dummy.DEBIAN debian/DEBIAN
hh
parents:
diff changeset
    79
	sed -e "s/VERSION/$version/g" dummy.DEBIAN/control >debian/DEBIAN/control
hh
parents:
diff changeset
    80
	chown -R root.root debian
hh
parents:
diff changeset
    81
	dpkg-deb -b debian .
hh
parents:
diff changeset
    82
	
hh
parents:
diff changeset
    83
	fnames
hh
parents:
diff changeset
    84
	changes $fn_common
hh
parents:
diff changeset
    85
	changes $fn_client
hh
parents:
diff changeset
    86
	changes $fn_server
hh
parents:
diff changeset
    87
	changes $fn_dummy
hh
parents:
diff changeset
    88
	
hh
parents:
diff changeset
    89
	clean
hh
parents:
diff changeset
    90
}
hh
parents:
diff changeset
    91
hh
parents:
diff changeset
    92
upload() {
hh
parents:
diff changeset
    93
	fnames
hh
parents:
diff changeset
    94
	scp -p $fn_common.{deb,changes} $fn_client.{deb,changes} $fn_server.{deb,changes} $fn_dummy.{deb,changes} root@deb.hh.cz:/w/debian/incoming/
hh
parents:
diff changeset
    95
}
hh
parents:
diff changeset
    96
hh
parents:
diff changeset
    97
case $1 in
hh
parents:
diff changeset
    98
	clean ) 	clean ;;
hh
parents:
diff changeset
    99
	pack )		pack ;;
hh
parents:
diff changeset
   100
	upload )	upload ;;
hh
parents:
diff changeset
   101
	* )
hh
parents:
diff changeset
   102
		pack
hh
parents:
diff changeset
   103
		upload
hh
parents:
diff changeset
   104
		;;
hh
parents:
diff changeset
   105
esac