source: trunk/project-meta/make-package-debian @ 221

Last change on this file since 221 was 216, checked in by g7moreau, 6 years ago
  • Bette meta data for debian package
  • Property svn:executable set to *
File size: 2.8 KB
Line 
1#!/bin/bash
2#
3# 2018/04/29 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/project-meta-XXXXXX)
11[ -n "${tmp_folder}" -a -d "${tmp_folder}" ] || exit 1
12
13# Set Version
14PROJECT_META_VERSION=$(grep 'version->declare' project-meta | cut -f 2 -d "'")
15LOCAL_VERSION=1
16
17# Create future tree
18mkdir -p ${tmp_folder}/usr/bin
19mkdir -p ${tmp_folder}/usr/share/man/man1
20mkdir -p ${tmp_folder}/usr/share/project-meta/license.d
21mkdir -p ${tmp_folder}/usr/share/project-meta/template.d
22mkdir -p ${tmp_folder}/etc/bash_completion.d
23cp project-meta                  ${tmp_folder}/usr/bin/
24cp project-meta.1.gz             ${tmp_folder}/usr/share/man/man1/
25cp LICENSE.txt                   ${tmp_folder}/usr/share/project-meta/
26cp PROJECT-META.sample.yml       ${tmp_folder}/usr/share/project-meta/
27cp license.d/*.txt               ${tmp_folder}/usr/share/project-meta/license.d/
28cp template.d/*.tt               ${tmp_folder}/usr/share/project-meta/template.d/
29cp project-meta.bash_completion  ${tmp_folder}/etc/bash_completion.d/
30
31# Data archive
32rm -f ${tmp_folder}/data.tar.gz
33(cd ${tmp_folder}; tar czf data.tar.gz ./usr ./etc)
34
35# Control file
36cat <<END > ${tmp_folder}/control
37Package: project-meta
38Version: ${PROJECT_META_VERSION}-${LOCAL_VERSION}
39Section: utils
40Tag: implemented-in::perl, interface::commandline, role::program,
41 works-with-format::zip, works-with::archive, works-with::file
42Priority: optional
43Depends: perl, libyaml-syck-perl, libtemplate-perl, libarchive-zip-perl, coreutils, findutils
44Suggests: libyaml-shell-perl | yamllint
45Architecture: amd64
46Installed-Size: $(du -ks ${tmp_folder}|cut -f 1)
47Maintainer: Gabriel Moreau <Gabriel.Moreau@univ-grenoble-alpes.fr>
48Description: Project-Meta - opendata project metafile manager
49 Project-Meta is a small tool to maintain a set of open data files.
50 In order to help you in this task, project-meta command has a set of action
51 to generated and maintain many files in your dataset.
52Homepage: http://servforge.legi.grenoble-inp.fr/projects/soft-trokata/wiki/SoftWare/ProjectMeta
53END
54
55# Control archive
56rm -f ${tmp_folder}/control.tar.gz
57(cd ${tmp_folder}; tar czf control.tar.gz control)
58
59# Format deb package
60echo 2.0 > ${tmp_folder}/debian-binary
61
62# Create package (control before data)
63ar -r project-meta_${PROJECT_META_VERSION}-${LOCAL_VERSION}_amd64.deb ${tmp_folder}/debian-binary ${tmp_folder}/control.tar.gz ${tmp_folder}/data.tar.gz
64     
65# Clean
66rm -rf ${tmp_folder}
67
68# Prepare reprepro upload
69echo "# Prepare reprepro upload"
70echo "( cd /srv/www/debian/ ; reprepro includedeb jessie ~/jessie/project-meta_${PROJECT_META_VERSION}-${LOCAL_VERSION}_amd64.deb )"
71echo "( cd /srv/www/debian/ ; reprepro dumpreferences ) | grep -i project-meta"
Note: See TracBrowser for help on using the repository browser.