diff --git a/README.md b/README.md new file mode 100644 index 0000000..0e9312d --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# opam-graph + +Visualizes dependencies of "opam switch export" as dot or svg. diff --git a/opam-graph.opam b/opam-graph.opam index f885b2e..d5cebc5 100644 --- a/opam-graph.opam +++ b/opam-graph.opam @@ -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" diff --git a/packaging/FreeBSD/MANIFEST b/packaging/FreeBSD/MANIFEST new file mode 100644 index 0000000..7436597 --- /dev/null +++ b/packaging/FreeBSD/MANIFEST @@ -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 +prefix: /usr/local +licenselogic: single +licenses: [ISCL] +flatsize: %%FLATSIZE%% +categories: [local] +desc = < "$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" diff --git a/packaging/debian/changelog b/packaging/debian/changelog new file mode 100644 index 0000000..a303220 --- /dev/null +++ b/packaging/debian/changelog @@ -0,0 +1,5 @@ +opam-graph (%%VERSION_NUM%%) unstable; urgency=medium + + * Initial release + + --Robur team diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 0000000..3827ea8 --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,12 @@ +Package: opam-graph +Version: %%VERSION_NUM%% +Section: unknown +Priority: optional +Maintainer: Robur Team +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. diff --git a/packaging/debian/copyright b/packaging/debian/copyright new file mode 100644 index 0000000..4bb5e47 --- /dev/null +++ b/packaging/debian/copyright @@ -0,0 +1,8 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: opam-graph +Upstream-Contact: Robur Team +Source: https://git.robur.io/robur/opam-graph + +Files: * +Copyright: "Robur Team " +License: ISC diff --git a/packaging/debian/create_package.sh b/packaging/debian/create_package.sh new file mode 100644 index 0000000..8edd0bd --- /dev/null +++ b/packaging/debian/create_package.sh @@ -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"