[Cryptech-Commits] [user/sra/novena-releng] 02/05: Add Debian packaging and startup scripts to load Novena FPGA automatically.

git at cryptech.is git at cryptech.is
Mon Jul 6 03:42:01 UTC 2015


This is an automated email from the git hooks/post-receive script.

sra at hactrn.net pushed a commit to branch master
in repository user/sra/novena-releng.

commit e8f1bf514c1819cb9942d77bb624db4f6703fa8b
Author: Rob Austein <sra at hactrn.net>
Date:   Sun Jul 5 19:43:38 2015 -0400

    Add Debian packaging and startup scripts to load Novena FPGA automatically.
---
 Makefile                                 |  2 +-
 core/Makefile                            |  2 +-
 core/debian/control                      |  2 +-
 core/debian/cryptech-novena-rtl.default  |  3 ++
 core/debian/cryptech-novena-rtl.init     | 36 ++++++++++++++++++++++++
 core/debian/cryptech-novena-rtl.postinst | 47 ++++++++++++++++++++++++++++++++
 reprepro-conf/options                    |  1 +
 7 files changed, 90 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 3bb1b21..79a85da 100644
--- a/Makefile
+++ b/Makefile
@@ -92,7 +92,7 @@ rtl:
 	cd core; debuild -b -uc -us -aarmhf
 
 reprepro: ${REPOSITORY}/conf/distributions ${REPOSITORY}/conf/options
-	for f in *.changes; do reprepro -b ${REPOSITORY} --ignore=wrongdistribution include    ${CODENAME} $$f; done
+	for f in *.changes; do reprepro -b ${REPOSITORY} include ${CODENAME} $$f; done
 
 ${REPOSITORY}/conf/distributions ${REPOSITORY}/conf/options:
 	install -D reprepro-conf/$(notdir $@) ${REPOSITORY}/conf/$(notdir $@)
diff --git a/core/Makefile b/core/Makefile
index 9dadbcd..f8c8c5b 100644
--- a/core/Makefile
+++ b/core/Makefile
@@ -46,4 +46,4 @@ clean:
 	cd ${BUILD_DIR}; $(MAKE) clean
 
 install:
-	install -D ${BUILD_DIR}/novena_eim.bit ${DESTDIR}/usr/share/cryptech/novena_eim.bit
+	install -D -m 644 ${BUILD_DIR}/novena_eim.bit ${DESTDIR}/usr/share/cryptech/novena_eim.bit
diff --git a/core/debian/control b/core/debian/control
index 84a4e91..3a3de4c 100644
--- a/core/debian/control
+++ b/core/debian/control
@@ -8,7 +8,7 @@ Homepage: http://trac.cryptech.is/wiki
 
 Package: cryptech-novena-rtl
 Architecture: all
-Depends: libc6 (>= 2.13), ${misc:Depends}
+Depends: libc6 (>= 2.13), ${misc:Depends} cryptech-novena-sw (= ${binary:Version})
 Description: Cryptech open-source crypto hardware
  "cryptech-novena-rtl" contains FGPA configuration (RTL bitstream) for the Cryptech project on
  the Novena PVT-1 development board.
diff --git a/core/debian/cryptech-novena-rtl.default b/core/debian/cryptech-novena-rtl.default
new file mode 100644
index 0000000..1261cef
--- /dev/null
+++ b/core/debian/cryptech-novena-rtl.default
@@ -0,0 +1,3 @@
+# Configuration parameters for cryptech-novena-rtl package.
+
+fpga_bitstream=/usr/share/cryptech/novena_eim.bit
diff --git a/core/debian/cryptech-novena-rtl.init b/core/debian/cryptech-novena-rtl.init
new file mode 100644
index 0000000..68f5c8c
--- /dev/null
+++ b/core/debian/cryptech-novena-rtl.init
@@ -0,0 +1,36 @@
+#!/bin/sh -
+### BEGIN INIT INFO
+# Provides:          cryptech-novena-rtl
+# Required-Start:    $remote_fs
+# Required-Stop:
+# Should-Start:
+# Default-Start:     S
+# Default-Stop:
+# Short-Description: Reload Novena FPGA on boot.
+# Description:       Reload Novena FPGA on boot.
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+. /lib/lsb/init-functions
+. /etc/default/cryptech-novena-rtl
+
+do_start () {
+    log_daemon_msg "Loading Novena FPGA from ${fpga_bitstream}"
+    load_novena_fpga "${fpga_bitstream}"
+}
+
+case "$1" in
+    start|restart|reload|force-reload|"")
+	do_start
+	;;
+    stop)
+	# No-op
+	;;
+    *)
+	echo "Usage: bootmisc.sh [start|stop]" >&2
+	exit 3
+	;;
+esac
+
+:
diff --git a/core/debian/cryptech-novena-rtl.postinst b/core/debian/cryptech-novena-rtl.postinst
new file mode 100644
index 0000000..d36653a
--- /dev/null
+++ b/core/debian/cryptech-novena-rtl.postinst
@@ -0,0 +1,47 @@
+#!/bin/sh -
+# postinst script for cryptech-novena-rtl
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# Perhaps this should run our /etc/init.d script in order to localize
+# the voodoo?
+
+load_fpga() {
+    load_novena_fpga /usr/share/cryptech/novena_eim.bit
+}
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+	load_fpga
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
diff --git a/reprepro-conf/options b/reprepro-conf/options
index 7b49bf9..f5ad660 100644
--- a/reprepro-conf/options
+++ b/reprepro-conf/options
@@ -1,3 +1,4 @@
 verbose
 ask-passphrase
 basedir .
+ignore wrongdistribution



More information about the Commits mailing list