|
1 | 1 | #!/bin/bash |
| 2 | +set -euo pipefail |
2 | 3 |
|
3 | | -hash fpm 2>/dev/null || { echo >&2 "ERROR : fpm is required to build rpm package (see https://fpm.readthedocs.io/en/latest/installing.html)"; exit 1; } |
| 4 | +setup_rpmbuild() { |
| 5 | + if hash rpmbuild 2>/dev/null; then |
| 6 | + return 0 |
| 7 | + fi |
| 8 | + |
| 9 | + local script_dir rpm_pkg_dir rpm_root |
| 10 | + script_dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) |
| 11 | + rpm_pkg_dir="$script_dir/.tools/rpm-pkg" |
| 12 | + rpm_root="$rpm_pkg_dir/extracted" |
| 13 | + |
| 14 | + if [[ ! -x "$rpm_root/usr/bin/rpmbuild" ]]; then |
| 15 | + mkdir -p "$rpm_pkg_dir" |
| 16 | + ( |
| 17 | + cd "$rpm_pkg_dir" |
| 18 | + apt-get download rpm librpm9t64 librpmbuild9t64 librpmio9t64 librpmsign9t64 \ |
| 19 | + rpm-common rpm2cpio debugedit liblua5.3-0 |
| 20 | + rm -rf extracted |
| 21 | + mkdir extracted |
| 22 | + for deb in *.deb; do |
| 23 | + dpkg-deb -x "$deb" extracted |
| 24 | + done |
| 25 | + ) |
| 26 | + fi |
| 27 | + |
| 28 | + export PATH="$rpm_root/usr/bin:$PATH" |
| 29 | + export LD_LIBRARY_PATH="$rpm_root/usr/lib/x86_64-linux-gnu${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" |
| 30 | + export RPM_CONFIGDIR="$rpm_root/usr/lib/rpm" |
| 31 | +} |
| 32 | + |
| 33 | +hash fpm 2>/dev/null || { |
| 34 | + echo >&2 "ERROR : fpm is required to build rpm package (see https://fpm.readthedocs.io/en/latest/installing.html)" |
| 35 | + exit 1 |
| 36 | +} |
| 37 | + |
| 38 | +setup_rpmbuild |
4 | 39 |
|
5 | 40 | cd validator-cli/target |
6 | 41 |
|
7 | 42 | VERSION=$(java -jar validator-cli.jar version) |
8 | 43 | echo "VERSION=$VERSION" |
9 | 44 |
|
10 | 45 | rm -rf *.rpm |
11 | | -fpm -s dir -t rpm -n ign-validator -v $VERSION \ |
12 | | - --architecture all \ |
13 | | - --description "IGNF/validator - validate and load data according to models" \ |
14 | | - --url "https://github.com/IGNF/validator#validator" \ |
15 | | - --license "Cecill-B" \ |
16 | | - --vendor "IGNF" \ |
17 | | - --maintainer "MBorne@users.noreply.github.com" \ |
18 | | - --prefix /opt/ign-validator validator-cli.jar |
| 46 | +fpm -s dir -t rpm -n ign-validator -v "$VERSION" \ |
| 47 | + --architecture all \ |
| 48 | + --description "IGNF/validator - validate and load data according to models" \ |
| 49 | + --url "https://github.com/IGNF/validator#validator" \ |
| 50 | + --license "Cecill-B" \ |
| 51 | + --vendor "IGNF" \ |
| 52 | + --maintainer "MBorne@users.noreply.github.com" \ |
| 53 | + --prefix /opt/ign-validator validator-cli.jar |
0 commit comments