source: trunk/secdapt/make-package-debian @ 430

Last change on this file since 430 was 430, checked in by g7moreau, 4 years ago
  • Add subproject secdapt
  • Property svn:executable set to *
File size: 2.9 KB
Line 
1#!/bin/bash
2#
3# 2019/12/13 Gabriel Moreau <Gabriel.Moreau@univ-grenoble-alpes.fr>
4
5trap '[ -n "${tmp_folder}" -a -d "${tmp_folder}" ] && rm -rf "${tmp_folder}"' QUIT
6
7export PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
8export LANG=C
9
10tmp_folder=$(mktemp --directory /tmp/secdapt-XXXXXX)
11[ -n "${tmp_folder}" -a -d "${tmp_folder}" ] || exit 1
12
13# Set Name and Version
14PKG_NAME=secdapt
15CODE_VERSION=$(grep '^VERSION=' secdapt | cut -f 2 -d "'") # '
16PKG_VERSION=1
17
18# Create future tree
19mkdir -p ${tmp_folder}/usr/bin
20mkdir -p ${tmp_folder}/usr/share/man/man1
21mkdir -p ${tmp_folder}/usr/share/secdapt
22mkdir -p ${tmp_folder}/etc/bash_completion.d
23mkdir -p ${tmp_folder}/etc/sudoers.d
24cp secdapt                 ${tmp_folder}/usr/bin/
25cp secdapt.1.gz            ${tmp_folder}/usr/share/man/man1/
26cp LICENSE.txt             ${tmp_folder}/usr/share/secdapt/
27cp secdapt.bash_completion ${tmp_folder}/etc/bash_completion.d/
28cp secdapt-sudoers         ${tmp_folder}/etc/sudoers.d/
29chmod -R a+rx        ${tmp_folder}/usr/bin/secdapt
30chmod -R a+rX,go-w   ${tmp_folder}/usr
31chmod -R a+rX,go-w   ${tmp_folder}/etc
32chmod    o-rwx       ${tmp_folder}/etc/sudoers.d/*
33
34# Data archive
35rm -f ${tmp_folder}/data.tar.gz
36(cd ${tmp_folder}; tar --owner root --group root -czf data.tar.gz ./usr ./etc)
37
38# Control file
39cat <<END > ${tmp_folder}/control
40Package: ${PKG_NAME}
41Version: ${CODE_VERSION}-${PKG_VERSION}
42Section: admin
43Tag: implemented-in::bash, interface::commandline, interface::text-mode, role::program
44Priority: optional
45Depends: dpkg, apt, coreutils, awk, grep, sudo
46Suggests: aptitude
47Architecture: all
48Installed-Size: $(du -ks ${tmp_folder}|cut -f 1)
49Maintainer: Gabriel Moreau <Gabriel.Moreau@univ-grenoble-alpes.fr>
50Description: secure delegate apt upgrade
51 secdapt can be use to launch upgrade apt command
52 on remote host with a parallel tool
53(like tssh, pconsole...)
54Homepage: http://servforge.legi.grenoble-inp.fr/projects/soft-trokata/wiki/SoftWare/secdapt
55END
56
57# Control archive
58rm -f ${tmp_folder}/control.tar.gz
59(cd ${tmp_folder}; tar --owner root --group root -czf control.tar.gz control postinst postrm)
60
61# Format deb package
62echo 2.0 > ${tmp_folder}/debian-binary
63
64# Create package (control before data)
65ar -r ${PKG_NAME}_${CODE_VERSION}-${PKG_VERSION}_all.deb ${tmp_folder}/debian-binary ${tmp_folder}/control.tar.gz ${tmp_folder}/data.tar.gz
66     
67# Clean
68rm -rf ${tmp_folder}
69
70# Prepare reprepro upload
71echo "# Prepare reprepro upload"
72echo "( cd /srv/www/debian/ ; reprepro includedeb wheezy   ~/wheezy/${PKG_NAME}_${CODE_VERSION}-${PKG_VERSION}_all.deb )"
73echo "( cd /srv/www/debian/ ; reprepro includedeb jessie   ~/jessie/${PKG_NAME}_${CODE_VERSION}-${PKG_VERSION}_all.deb )"
74echo "( cd /srv/www/debian/ ; reprepro includedeb stretch ~/stretch/${PKG_NAME}_${CODE_VERSION}-${PKG_VERSION}_all.deb )"
75echo "( cd /srv/www/debian/ ; reprepro includedeb buster   ~/buster/${PKG_NAME}_${CODE_VERSION}-${PKG_VERSION}_all.deb )"
76echo "( cd /srv/www/debian/ ; reprepro dumpreferences ) | grep -i secdapt"
Note: See TracBrowser for help on using the repository browser.