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: [
|
||||
["dune" "subst"] {dev}
|
||||
["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"
|
||||
|
|
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