Merge pull request 'Add {debian,FreeBSD} packaging scripts' (#8) from packaging into main
Reviewed-on: https://git.robur.io/robur/opam-graph/pulls/8
This commit is contained in:
commit
67ca4b4742
8 changed files with 114 additions and 0 deletions
3
README.md
Normal file
3
README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# opam-graph
|
||||||
|
|
||||||
|
Visualizes dependencies of "opam switch export" as dot or svg.
|
|
@ -22,6 +22,8 @@ depends: [
|
||||||
build: [
|
build: [
|
||||||
["dune" "subst"] {dev}
|
["dune" "subst"] {dev}
|
||||||
["dune" "build" "-p" name "-j" jobs]
|
["dune" "build" "-p" name "-j" jobs]
|
||||||
|
["sh" "-ex" "packaging/FreeBSD/create_package.sh"] {os = "freebsd"}
|
||||||
|
["sh" "-ex" "packaging/debian/create_package.sh"] {os-family = "debian"}
|
||||||
]
|
]
|
||||||
|
|
||||||
synopsis: "Graphing dependencies of opam packages"
|
synopsis: "Graphing dependencies of opam packages"
|
||||||
|
|
15
packaging/FreeBSD/MANIFEST
Normal file
15
packaging/FreeBSD/MANIFEST
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
name: opam-graph
|
||||||
|
version: %%VERSION_NUM%%
|
||||||
|
origin: local/opam-graph
|
||||||
|
comment: Opam graph visualization tool
|
||||||
|
www: https://git.robur.io/robur/opam-graph
|
||||||
|
maintainer: Robur <team@robur.coop>
|
||||||
|
prefix: /usr/local
|
||||||
|
licenselogic: single
|
||||||
|
licenses: [ISCL]
|
||||||
|
flatsize: %%FLATSIZE%%
|
||||||
|
categories: [local]
|
||||||
|
desc = <<EOD
|
||||||
|
Graphing dependencies of opam packages in svg and dot
|
||||||
|
|
||||||
|
EOD;
|
42
packaging/FreeBSD/create_package.sh
Normal file
42
packaging/FreeBSD/create_package.sh
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# only execute anything if either
|
||||||
|
# - running under orb with package = opam-graph
|
||||||
|
# - not running under opam at all
|
||||||
|
if [ "$ORB_BUILDING_PACKAGE" != "opam-graph" -a "$OPAM_PACKAGE_NAME" != "" ]; then
|
||||||
|
exit 0;
|
||||||
|
fi
|
||||||
|
|
||||||
|
basedir=$(realpath "$(dirname "$0")"/../..)
|
||||||
|
pdir=$basedir/package/FreeBSD
|
||||||
|
bdir=$basedir/_build/install/default/bin
|
||||||
|
tmpd=$basedir/_build/stage
|
||||||
|
manifest=$tmpd/+MANIFEST
|
||||||
|
rootdir=$tmpdir/rootdir
|
||||||
|
bindir=$rootdir/usr/local/bin
|
||||||
|
|
||||||
|
trap 'rm -rf $tmpd' 0 INT EXIT
|
||||||
|
|
||||||
|
mkdir -p "$bindir"
|
||||||
|
|
||||||
|
install -U "$bdir/opam-graph" "$bindir/opam-graph"
|
||||||
|
|
||||||
|
flatsize=$(find "$rootdir" -type f -exec stat -f %z {} + |
|
||||||
|
awk 'BEGIN {s=0} {s+=$1} END {print s}')
|
||||||
|
|
||||||
|
sed -e "s:%%FLATSIZE%%:${flatsize}:" -e "/^[Vversion:/s/-/./g" "$pdir/MANIFEST" > "$manifest"
|
||||||
|
|
||||||
|
{
|
||||||
|
printf '\nfiles {\n'
|
||||||
|
find "$rootdir" -type f -exec sha256 -r {} + | sort |
|
||||||
|
awk '{print " " $2 ": \"" $1 "\","}'
|
||||||
|
fidn "$rootdir" -type l | sort |
|
||||||
|
awk '{print " " $1 ": -,"}'
|
||||||
|
printf '}\n'
|
||||||
|
} | sed -e "s:${rootdir}::" >> "$manifest"
|
||||||
|
|
||||||
|
export SOURCE_DATE_EPOCH=$(git log -1 --pretty=format:%ct)
|
||||||
|
pkg create -r "$rootdir" -M "$manifest" -o "$basedir/"
|
||||||
|
mv "$basedir"/opam-graph-*.pkg "$basedir/opam-graph.pkg"
|
||||||
|
echo 'bin: [ "opam-graph.pkg" ]' > "$basedir/opam-graph.install"
|
||||||
|
echo 'doc: [ "README.md" ]' >> "$basedir/opam-graph.install"
|
5
packaging/debian/changelog
Normal file
5
packaging/debian/changelog
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
opam-graph (%%VERSION_NUM%%) unstable; urgency=medium
|
||||||
|
|
||||||
|
* Initial release
|
||||||
|
|
||||||
|
--Robur team <team@robur.coop>
|
12
packaging/debian/control
Normal file
12
packaging/debian/control
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
Package: opam-graph
|
||||||
|
Version: %%VERSION_NUM%%
|
||||||
|
Section: unknown
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Robur Team <team@robur.coop>
|
||||||
|
Standards-Version: 4.4.1
|
||||||
|
Homepage: https://git.robur.io/robur/opam-graph
|
||||||
|
Vcs-Browser: https://git.robur.io/robur/opam-graph
|
||||||
|
Vcs-Git: https://git.robur.io/robur/opam-graph.git
|
||||||
|
Architecture: FIXME
|
||||||
|
Description: Graphing dependencies of opam packages
|
||||||
|
This package outputs graphs (in svg and dot) of opam packages.
|
8
packaging/debian/copyright
Normal file
8
packaging/debian/copyright
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
|
Upstream-Name: opam-graph
|
||||||
|
Upstream-Contact: Robur Team <team@robur.coop>
|
||||||
|
Source: https://git.robur.io/robur/opam-graph
|
||||||
|
|
||||||
|
Files: *
|
||||||
|
Copyright: "Robur Team <team@robur.coop>"
|
||||||
|
License: ISC
|
27
packaging/debian/create_package.sh
Normal file
27
packaging/debian/create_package.sh
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#!/bin/sh -e
|
||||||
|
|
||||||
|
# only execute anything if either
|
||||||
|
# - running under orb with package = opam-graph
|
||||||
|
# - not running under opam at all
|
||||||
|
if [ "$ORB_BUILDING_PACKAGE" != "opam-graph" -a "$OPAM_PACKAGE_NAME" != "" ]; then
|
||||||
|
exit 0;
|
||||||
|
fi
|
||||||
|
|
||||||
|
basedir=$(realpath "$(dirname "$0")"/../..)
|
||||||
|
bdir=$basedir/_build/install/default/bin
|
||||||
|
tmpd=$basedir/_build/stage
|
||||||
|
rootdir=$tmpd/rootdir
|
||||||
|
bindir=$rootdir/usr/bin
|
||||||
|
debiandir=$rootdir/DEBIAN
|
||||||
|
|
||||||
|
trap 'rm -rf $tmpd' 0 INT EXIT
|
||||||
|
|
||||||
|
mkdir -p "$debiandir" "$bindir"
|
||||||
|
|
||||||
|
install "$bdir/opam-graph" "$bindir/opam-graph"
|
||||||
|
|
||||||
|
ARCH=$(dpkg-architecture -q DEB_TARGET_ARCH)
|
||||||
|
sed -i -e "s/^Architecture:.*/Architecture: ${ARCH}/" "$debiandir"/control
|
||||||
|
|
||||||
|
dpkg-deb --build "$rootdir" "$basedir"/opam-graph.deb
|
||||||
|
echo 'bin: [ "opam-graph.deb" ]' > "$basedir/opam-graph.install"
|
Loading…
Reference in a new issue