From 5aaa155995f5a574a9fff5627f212159e3ee81d3 Mon Sep 17 00:00:00 2001 From: naiiawah Date: Sun, 18 Dec 2011 17:58:42 -0700 Subject: [PATCH] Initial version of the integrated Linux-Deb package system implementation. Uses the standard OP package system front end then connects into the Debian Package manager for package building. Should work on both i386 and amd64 systems. Auto determins and runtime which system it is building on and produces an appropriate package for the platform in the build dir. --- package/Makefile.linux | 69 ++++- package/linux/45-openpilot-permissions.rules | 13 + package/linux/deb_amd64/control | 15 + package/linux/deb_common/changelog | 5 + package/linux/deb_common/compat | 1 + package/linux/deb_common/copyright | 37 +++ package/linux/deb_common/docs | 0 package/linux/deb_common/init.d.ex | 154 +++++++++ package/linux/deb_common/manpage.1.ex | 59 ++++ package/linux/deb_common/manpage.sgml.ex | 154 +++++++++ package/linux/deb_common/manpage.xml.ex | 291 ++++++++++++++++++ package/linux/deb_common/menu.ex | 2 + package/linux/deb_common/openpilot.cron.d.ex | 4 + .../linux/deb_common/openpilot.debhelper.log | 15 + package/linux/deb_common/openpilot.default.ex | 10 + package/linux/deb_common/openpilot.dirs | 7 + .../linux/deb_common/openpilot.doc-base.EX | 20 ++ package/linux/deb_common/openpilot.substvars | 2 + package/linux/deb_common/postinst | 40 +++ package/linux/deb_common/postinst.ex | 39 +++ package/linux/deb_common/postrm.ex | 37 +++ package/linux/deb_common/preinst.ex | 35 +++ package/linux/deb_common/prerm.ex | 38 +++ package/linux/deb_common/rules | 81 +++++ package/linux/deb_common/watch.ex | 23 ++ package/linux/deb_i386/control | 15 + package/linux/openpilot.desktop | 12 + package/linux/openpilot.png | Bin 0 -> 2713 bytes package/linux/rc_applications.directory | 5 + package/linux/rc_applications.menu | 12 + package/linux/rc_applications.png | Bin 0 -> 644 bytes 31 files changed, 1193 insertions(+), 2 deletions(-) create mode 100644 package/linux/45-openpilot-permissions.rules create mode 100644 package/linux/deb_amd64/control create mode 100644 package/linux/deb_common/changelog create mode 100644 package/linux/deb_common/compat create mode 100644 package/linux/deb_common/copyright create mode 100644 package/linux/deb_common/docs create mode 100644 package/linux/deb_common/init.d.ex create mode 100644 package/linux/deb_common/manpage.1.ex create mode 100644 package/linux/deb_common/manpage.sgml.ex create mode 100644 package/linux/deb_common/manpage.xml.ex create mode 100644 package/linux/deb_common/menu.ex create mode 100644 package/linux/deb_common/openpilot.cron.d.ex create mode 100644 package/linux/deb_common/openpilot.debhelper.log create mode 100644 package/linux/deb_common/openpilot.default.ex create mode 100644 package/linux/deb_common/openpilot.dirs create mode 100644 package/linux/deb_common/openpilot.doc-base.EX create mode 100644 package/linux/deb_common/openpilot.substvars create mode 100644 package/linux/deb_common/postinst create mode 100644 package/linux/deb_common/postinst.ex create mode 100644 package/linux/deb_common/postrm.ex create mode 100644 package/linux/deb_common/preinst.ex create mode 100644 package/linux/deb_common/prerm.ex create mode 100755 package/linux/deb_common/rules create mode 100644 package/linux/deb_common/watch.ex create mode 100644 package/linux/deb_i386/control create mode 100644 package/linux/openpilot.desktop create mode 100755 package/linux/openpilot.png create mode 100644 package/linux/rc_applications.directory create mode 100644 package/linux/rc_applications.menu create mode 100755 package/linux/rc_applications.png diff --git a/package/Makefile.linux b/package/Makefile.linux index c966ff6f2..7bb0afc99 100644 --- a/package/Makefile.linux +++ b/package/Makefile.linux @@ -2,9 +2,74 @@ # Linux-specific packaging # +define CP_DEB_FILES_TEMPLATE +.PHONY: $(1) +$(2)/$(1): $(3)/$(1) + $(V1)cp -a $$< $$@ +endef + +# Update this number for every formal release. The Deb packaging system relies on this to know to update a +# package or not. Otherwise, the user has to uninstall first. +VERNUM := 0.1.0 +VERSION_FULL := $(VERNUM)-$(PACKAGE_LBL) + +FLIGHT_FW := coptercontrol revolution + +DEB_BUILD_DIR := $(ROOT_DIR)/debian + +SED_DATE_STRG = $(shell date -R) +SED_SCRIPT = s//$(VERSION_FULL)/;s//$(SED_DATE_STRG)/ + +DEB_CFG_CMN := $(ROOT_DIR)/package/linux/deb_common +DEB_CFG_CMN_FILES := $(shell ls $(DEB_CFG_CMN)) +DEB_CFG_I386_DIR := $(ROOT_DIR)/package/linux/deb_i386 +DEB_CFG_I386_FILES := $(shell ls $(DEB_CFG_I386_DIR)) +DEB_CFG_AMD64_DIR := $(ROOT_DIR)/package/linux/deb_amd64 +DEB_CFG_AMD64_FILES := $(shell ls $(DEB_CFG_AMD64_DIR)) +DEB_PLATFORM := amd64 +DEB_MACHINE_DIR := $(DEB_CFG_AMD64_DIR) +DEB_MACHINE_FILES := $(DEB_CFG_AMD64_FILES) +MACHINE_TYPE := $(shell uname -m) +ifneq ($(MACHINE_TYPE), x86_64) + DEB_PLATFORM := i386 + DEB_MACHINE_DIR := $(DEB_CFG_I386_DIR) + DEB_MACHINE_FILES := $(DEB_CFG_I386_FILES) +endif +ALL_DEB_FILES = $(foreach f, $(DEB_CFG_CMN_FILES), $(DEB_BUILD_DIR)/$(f)) +ALL_DEB_FILES += $(foreach f, $(DEB_MACHINE_FILES), $(DEB_BUILD_DIR)/$(f)) + +DEB_PACKAGE_NAME := openpilot_$(VERSION_FULL)_$(DEB_PLATFORM) + +linux_deb_package: gcs deb_build package_flight + @echo $@ starting + cd .. && dpkg-buildpackage -b + $(V1)mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).deb $(BUILD_DIR) + $(V1)mv $(ROOT_DIR)/../$(DEB_PACKAGE_NAME).changes $(BUILD_DIR) + $(V1)rm -rf $(DEB_BUILD_DIR) + +deb_build: | $(DEB_BUILD_DIR) $(ALL_DEB_FILES) + @echo $@ starting + $(V1)$(shell echo $(PACKAGE_DIR) > $(BUILD_DIR)/package_dir) + $(V1)sed -i -e "$(SED_SCRIPT)" $(DEB_BUILD_DIR)/changelog + +$(DEB_BUILD_DIR): + @echo $@ starting + $(V1)mkdir -p $(DEB_BUILD_DIR) + +$(foreach cpfile, $(DEB_CFG_CMN_FILES), $(eval $(call CP_DEB_FILES_TEMPLATE,$(cpfile),$(DEB_BUILD_DIR),$(DEB_CFG_CMN)))) + +$(foreach cpfile, $(DEB_MACHINE_FILES), $(eval $(call CP_DEB_FILES_TEMPLATE,$(cpfile),$(DEB_BUILD_DIR),$(DEB_MACHINE_DIR)))) + gcs: uavobjects + @echo "Linux Package Make of GCS." $(V1) $(MAKE) -C $(ROOT_DIR) GCS_BUILD_CONF=release $@ -ground_package: | gcs +identify: + @echo "" + @echo "We are in the Linux Package Make system." + @echo "" + $(V1)rm -rf $(DEB_BUILD_DIR) -.PHONY: gcs ground_package +ground_package: | identify linux_deb_package + +.PHONY: identify gcs ground_package linux_deb_package deb_build $(DEB_BUILD_DIR) diff --git a/package/linux/45-openpilot-permissions.rules b/package/linux/45-openpilot-permissions.rules new file mode 100644 index 000000000..d04d31b7f --- /dev/null +++ b/package/linux/45-openpilot-permissions.rules @@ -0,0 +1,13 @@ + # OpenPilot openpilot flight control board + SUBSYSTEM=="usb", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="4117", MODE="0664", GROUP="plugdev" + SUBSYSTEM=="usb", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="415a", MODE="0664", GROUP="plugdev" + # OpenPilot coptercontrol flight control board + SUBSYSTEM=="usb", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="415b", MODE="0664", GROUP="plugdev" + # OpenPilot Pipx radio modem board + SUBSYSTEM=="usb", ATTRS{idVendor}=="20a0", ATTRS{idProduct}=="415c", MODE="0664", GROUP="plugdev" + # unprogrammed openpilot flight control board + SUBSYSTEM=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5750", MODE="0664", GROUP="plugdev" + # FTDI FT2232C Dual USB-UART/FIFO IC + SUBSYSTEM=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0664", GROUP="plugdev" + # Olimex Ltd. OpenOCD JTAG TINY + SUBSYSTEM=="usb", ATTRS{idVendor}=="15ba", ATTRS{idProduct}=="0004", MODE="0664", GROUP="plugdev" diff --git a/package/linux/deb_amd64/control b/package/linux/deb_amd64/control new file mode 100644 index 000000000..eab1547b1 --- /dev/null +++ b/package/linux/deb_amd64/control @@ -0,0 +1,15 @@ +Source: openpilot +Section: unknown +Priority: extra +Maintainer: naiiawah +Build-Depends: debhelper (>= 7.0.50~) +Standards-Version: 3.8.4 +Homepage: http://www.openpilot.org +#Vcs-Git: git://git.debian.org/collab-maint/openpilot.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/openpilot.git;a=summary + +Package: openpilot +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: OpenPilot GCS & FW + OpenPilot GCS and Firmware for CopterControl (CC) board. diff --git a/package/linux/deb_common/changelog b/package/linux/deb_common/changelog new file mode 100644 index 000000000..c6f9e1519 --- /dev/null +++ b/package/linux/deb_common/changelog @@ -0,0 +1,5 @@ +openpilot () unstable; urgency=low + + * Initial release (testing - unstable) + + -- naiiawah diff --git a/package/linux/deb_common/compat b/package/linux/deb_common/compat new file mode 100644 index 000000000..7f8f011eb --- /dev/null +++ b/package/linux/deb_common/compat @@ -0,0 +1 @@ +7 diff --git a/package/linux/deb_common/copyright b/package/linux/deb_common/copyright new file mode 100644 index 000000000..561d0b327 --- /dev/null +++ b/package/linux/deb_common/copyright @@ -0,0 +1,37 @@ +This work was packaged for Debian by: + + naiiawah on Thu, 27 Oct 2011 01:35:37 -0600 + +It was downloaded from: + + + +Upstream Author(s): + + + + +Copyright: + + + + +License: + + + +The Debian packaging is: + + Copyright (C) 2011 naiiawah + +# Please chose a license for your packaging work. If the program you package +# uses a mainstream license, using the same license is the safest choice. +# Please avoid to pick license terms that are more restrictive than the +# packaged work, as it may make Debian's contributions unacceptable upstream. +# If you just want it to be GPL version 3, leave the following lines in. + +and is licensed under the GPL version 3, +see "/usr/share/common-licenses/GPL-3". + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. diff --git a/package/linux/deb_common/docs b/package/linux/deb_common/docs new file mode 100644 index 000000000..e69de29bb diff --git a/package/linux/deb_common/init.d.ex b/package/linux/deb_common/init.d.ex new file mode 100644 index 000000000..fb3e26243 --- /dev/null +++ b/package/linux/deb_common/init.d.ex @@ -0,0 +1,154 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: openpilot +# Required-Start: $network $local_fs +# Required-Stop: +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: +# Description: +# <...> +# <...> +### END INIT INFO + +# Author: naiiawah + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC=openpilot # Introduce a short description here +NAME=openpilot # Introduce the short server's name here +DAEMON=/usr/sbin/openpilot # Introduce the server's location here +DAEMON_ARGS="" # Arguments to run the daemon with +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/$NAME + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/package/linux/deb_common/manpage.1.ex b/package/linux/deb_common/manpage.1.ex new file mode 100644 index 000000000..1d0199483 --- /dev/null +++ b/package/linux/deb_common/manpage.1.ex @@ -0,0 +1,59 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH OPENPILOT SECTION "October 27, 2011" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +openpilot \- program to do something +.SH SYNOPSIS +.B openpilot +.RI [ options ] " files" ... +.br +.B bar +.RI [ options ] " files" ... +.SH DESCRIPTION +This manual page documents briefly the +.B openpilot +and +.B bar +commands. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +\fBopenpilot\fP is a program that... +.SH OPTIONS +These programs follow the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is included below. +For a complete description, see the Info files. +.TP +.B \-h, \-\-help +Show summary of options. +.TP +.B \-v, \-\-version +Show version of program. +.SH SEE ALSO +.BR bar (1), +.BR baz (1). +.br +The programs are documented fully by +.IR "The Rise and Fall of a Fooish Bar" , +available via the Info system. +.SH AUTHOR +openpilot was written by . +.PP +This manual page was written by naiiawah , +for the Debian project (and may be used by others). diff --git a/package/linux/deb_common/manpage.sgml.ex b/package/linux/deb_common/manpage.sgml.ex new file mode 100644 index 000000000..76b474e3e --- /dev/null +++ b/package/linux/deb_common/manpage.sgml.ex @@ -0,0 +1,154 @@ + manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + + + The docbook-to-man binary is found in the docbook-to-man package. + Please remember that if you create the nroff version in one of the + debian/rules file targets (such as build), you will need to include + docbook-to-man in your Build-Depends control field. + + --> + + + FIRSTNAME"> + SURNAME"> + + October 27, 2011"> + + SECTION"> + naiiawah@none"> + + OPENPILOT"> + + + Debian"> + GNU"> + GPL"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2003 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + This manual page was written for the &debian; distribution + because the original program does not have a manual page. + Instead, it has documentation in the &gnu; + Info format; see below. + + &dhpackage; is a program that... + + + + OPTIONS + + These programs follow the usual &gnu; command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + Info files. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (and may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the &gnu; General Public License, Version 2 any + later version published by the Free Software Foundation. + + + On Debian systems, the complete text of the GNU General Public + License can be found in /usr/share/common-licenses/GPL. + + + +
+ + diff --git a/package/linux/deb_common/manpage.xml.ex b/package/linux/deb_common/manpage.xml.ex new file mode 100644 index 000000000..b8c0d8411 --- /dev/null +++ b/package/linux/deb_common/manpage.xml.ex @@ -0,0 +1,291 @@ + +.
will be generated. You may view the +manual page with: nroff -man .
| less'. A typical entry +in a Makefile or Makefile.am is: + +DB2MAN = /usr/share/sgml/docbook/stylesheet/xsl/docbook-xsl/manpages/docbook.xsl +XP = xsltproc -''-nonet -''-param man.charmap.use.subset "0" + +manpage.1: manpage.xml + $(XP) $(DB2MAN) $< + +The xsltproc binary is found in the xsltproc package. The XSL files are in +docbook-xsl. A description of the parameters you can use can be found in the +docbook-xsl-doc-* packages. Please remember that if you create the nroff +version in one of the debian/rules file targets (such as build), you will need +to include xsltproc and docbook-xsl in your Build-Depends control field. +Alternatively use the xmlto command/package. That will also automatically +pull in xsltproc and docbook-xsl. + +Notes for using docbook2x: docbook2x-man does not automatically create the +AUTHOR(S) and COPYRIGHT sections. In this case, please add them manually as + ... . + +To disable the automatic creation of the AUTHOR(S) and COPYRIGHT sections +read /usr/share/doc/docbook-xsl/doc/manpages/authors.html. This file can be +found in the docbook-xsl-doc-html package. + +Validation can be done using: `xmllint -''-noout -''-valid manpage.xml` + +General documentation about man-pages and man-page-formatting: +man(1), man(7), http://www.tldp.org/HOWTO/Man-Page/ + +--> + + + + + + + + + + + + + +]> + + + + &dhtitle; + &dhpackage; + + + &dhfirstname; + &dhsurname; + Wrote this manpage for the Debian system. +
+ &dhemail; +
+
+
+ + 2007 + &dhusername; + + + This manual page was written for the Debian system + (and may be used by others). + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU General Public License, + Version 2 or (at your option) any later version published by + the Free Software Foundation. + On Debian systems, the complete text of the GNU General Public + License can be found in + /usr/share/common-licenses/GPL. + +
+ + &dhucpackage; + &dhsection; + + + &dhpackage; + program to do something + + + + &dhpackage; + + + + + + + + + this + + + + + + + + this + that + + + + + &dhpackage; + + + + + + + + + + + + + + + + + + + DESCRIPTION + This manual page documents briefly the + &dhpackage; and bar + commands. + This manual page was written for the Debian distribution + because the original program does not have a manual page. + Instead, it has documentation in the GNU + info + 1 + format; see below. + &dhpackage; is a program that... + + + OPTIONS + The program follows the usual GNU command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + + info + 1 + files. + + + + + + + Does this and that. + + + + + + + Show summary of options. + + + + + + + Show version of program. + + + + + + FILES + + + /etc/foo.conf + + The system-wide configuration file to control the + behaviour of &dhpackage;. See + + foo.conf + 5 + for further details. + + + + ${HOME}/.foo.conf + + The per-user configuration file to control the + behaviour of &dhpackage;. See + + foo.conf + 5 + for further details. + + + + + + ENVIONMENT + + + FOO_CONF + + If used, the defined file is used as configuration + file (see also ). + + + + + + DIAGNOSTICS + The following diagnostics may be issued + on stderr: + + + Bad configuration file. Exiting. + + The configuration file seems to contain a broken configuration + line. Use the option, to get more info. + + + + + &dhpackage; provides some return codes, that can + be used in scripts: + + Code + Diagnostic + + 0 + Program exited successfully. + + + 1 + The configuration file seems to be broken. + + + + + + BUGS + The program is currently limited to only work + with the foobar library. + The upstreams BTS can be found + at . + + + SEE ALSO + + + bar + 1 + , + baz + 1 + , + foo.conf + 5 + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + info + 1 + system. + +
+ diff --git a/package/linux/deb_common/menu.ex b/package/linux/deb_common/menu.ex new file mode 100644 index 000000000..c5a80a7bc --- /dev/null +++ b/package/linux/deb_common/menu.ex @@ -0,0 +1,2 @@ +?package(openpilot):needs="X11|text|vc|wm" section="Applications/see-menu-manual"\ + title="openpilot" command="/usr/bin/openpilot" diff --git a/package/linux/deb_common/openpilot.cron.d.ex b/package/linux/deb_common/openpilot.cron.d.ex new file mode 100644 index 000000000..bc3507489 --- /dev/null +++ b/package/linux/deb_common/openpilot.cron.d.ex @@ -0,0 +1,4 @@ +# +# Regular cron jobs for the openpilot package +# +0 4 * * * root [ -x /usr/bin/openpilot_maintenance ] && /usr/bin/openpilot_maintenance diff --git a/package/linux/deb_common/openpilot.debhelper.log b/package/linux/deb_common/openpilot.debhelper.log new file mode 100644 index 000000000..34de80b19 --- /dev/null +++ b/package/linux/deb_common/openpilot.debhelper.log @@ -0,0 +1,15 @@ +dh_prep +dh_installdirs +dh_installchangelogs +dh_installdocs +dh_installexamples +dh_installman +dh_link +dh_strip +dh_compress +dh_fixperms +dh_installdeb +dh_shlibdeps +dh_gencontrol +dh_md5sums +dh_builddeb diff --git a/package/linux/deb_common/openpilot.default.ex b/package/linux/deb_common/openpilot.default.ex new file mode 100644 index 000000000..0b172a1fc --- /dev/null +++ b/package/linux/deb_common/openpilot.default.ex @@ -0,0 +1,10 @@ +# Defaults for openpilot initscript +# sourced by /etc/init.d/openpilot +# installed at /etc/default/openpilot by the maintainer scripts + +# +# This is a POSIX shell fragment +# + +# Additional options that are passed to the Daemon. +DAEMON_OPTS="" diff --git a/package/linux/deb_common/openpilot.dirs b/package/linux/deb_common/openpilot.dirs new file mode 100644 index 000000000..2fa7142b6 --- /dev/null +++ b/package/linux/deb_common/openpilot.dirs @@ -0,0 +1,7 @@ +etc/udev/rules.d +etc/xdg/menus/applications-merged +usr/share/applications +usr/share/pixmaps +usr/share/desktop-directories +usr/local/OpenPilot/firmware +usr/bin diff --git a/package/linux/deb_common/openpilot.doc-base.EX b/package/linux/deb_common/openpilot.doc-base.EX new file mode 100644 index 000000000..9e24da0dc --- /dev/null +++ b/package/linux/deb_common/openpilot.doc-base.EX @@ -0,0 +1,20 @@ +Document: openpilot +Title: Debian openpilot Manual +Author: +Abstract: This manual describes what openpilot is + and how it can be used to + manage online manuals on Debian systems. +Section: unknown + +Format: debiandoc-sgml +Files: /usr/share/doc/openpilot/openpilot.sgml.gz + +Format: postscript +Files: /usr/share/doc/openpilot/openpilot.ps.gz + +Format: text +Files: /usr/share/doc/openpilot/openpilot.text.gz + +Format: HTML +Index: /usr/share/doc/openpilot/html/index.html +Files: /usr/share/doc/openpilot/html/*.html diff --git a/package/linux/deb_common/openpilot.substvars b/package/linux/deb_common/openpilot.substvars new file mode 100644 index 000000000..39006599c --- /dev/null +++ b/package/linux/deb_common/openpilot.substvars @@ -0,0 +1,2 @@ +shlibs:Depends=libc6 (>= 2.3.6-6~), libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libglu1-mesa | libglu1, libphonon4 (>= 4:4.3.0), libqt4-network (>= 4:4.6.1), libqt4-opengl (>= 4:4.6.1), libqt4-script (>= 4:4.5.3), libqt4-sql (>= 4:4.5.3), libqt4-svg (>= 4:4.5.3), libqt4-test (>= 4:4.5.3), libqt4-xml (>= 4:4.5.3), libqtcore4 (>= 4:4.7.0~beta1), libqtgui4 (>= 4:4.6.2), libsdl1.2debian (>= 1.2.10-1), libstdc++6 (>= 4.1.1), libudev0 (>= 147), libusb-0.1-4 (>= 2:0.1.12), phonon +misc:Depends= diff --git a/package/linux/deb_common/postinst b/package/linux/deb_common/postinst new file mode 100644 index 000000000..df8022075 --- /dev/null +++ b/package/linux/deb_common/postinst @@ -0,0 +1,40 @@ +#!/bin/sh +# postinst script for openpilot +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + sudo udevadm control --reload-rules >&2 + ;; + + 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/package/linux/deb_common/postinst.ex b/package/linux/deb_common/postinst.ex new file mode 100644 index 000000000..e8295471c --- /dev/null +++ b/package/linux/deb_common/postinst.ex @@ -0,0 +1,39 @@ +#!/bin/sh +# postinst script for openpilot +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + ;; + + 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/package/linux/deb_common/postrm.ex b/package/linux/deb_common/postrm.ex new file mode 100644 index 000000000..7494eff83 --- /dev/null +++ b/package/linux/deb_common/postrm.ex @@ -0,0 +1,37 @@ +#!/bin/sh +# postrm script for openpilot +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm 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/package/linux/deb_common/preinst.ex b/package/linux/deb_common/preinst.ex new file mode 100644 index 000000000..32ac40cc3 --- /dev/null +++ b/package/linux/deb_common/preinst.ex @@ -0,0 +1,35 @@ +#!/bin/sh +# preinst script for openpilot +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) + ;; + + abort-upgrade) + ;; + + *) + echo "preinst 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/package/linux/deb_common/prerm.ex b/package/linux/deb_common/prerm.ex new file mode 100644 index 000000000..a46c87175 --- /dev/null +++ b/package/linux/deb_common/prerm.ex @@ -0,0 +1,38 @@ +#!/bin/sh +# prerm script for openpilot +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) + ;; + + failed-upgrade) + ;; + + *) + echo "prerm 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/package/linux/deb_common/rules b/package/linux/deb_common/rules new file mode 100755 index 000000000..124d28ce2 --- /dev/null +++ b/package/linux/deb_common/rules @@ -0,0 +1,81 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. +# +# Modified to make a template file for a multi-binary package with separated +# build-arch and build-indep targets by Bill Allombert 2001 + +# Uncomment this to turn on verbose mode. +# export DH_VERBOSE=1 + +# This has to be exported to make some magic below work. +export DH_OPTIONS=-v + +#%: +# dh $@ + +PACKAGE_DIR := $(shell cat build/package_dir) + +clean: + dh_testdir + dh_testroot + dh_clean + +install: + dh_testdir + dh_testroot + dh_prep + dh_installdirs + # Add here commands to install the package into debian/ + cp -arp build/ground/openpilotgcs/bin debian/openpilot/usr/local/OpenPilot + cp -arp build/ground/openpilotgcs/lib debian/openpilot/usr/local/OpenPilot + cp -arp build/ground/openpilotgcs/share debian/openpilot/usr/local/OpenPilot + cp -arp build/ground/openpilotgcs/.obj debian/openpilot/usr/local/OpenPilot + cp -arp build/ground/openpilotgcs/gcsversioninfo.h debian/openpilot/usr/local/OpenPilot + cp -arp package/linux/openpilot.desktop debian/openpilot/usr/share/applications + cp -arp package/linux/openpilot.png debian/openpilot/usr/share/pixmaps + cp -arp package/linux/rc_applications.png debian/openpilot/usr/share/pixmaps + cp -arp package/linux/rc_applications.menu debian/openpilot/etc/xdg/menus/applications-merged + cp -arp package/linux/rc_applications.directory debian/openpilot/usr/share/desktop-directories + cp -arp package/linux/45-openpilot-permissions.rules debian/openpilot/etc/udev/rules.d + cp -ar $(PACKAGE_DIR)/* debian/openpilot/usr/local/OpenPilot/firmware/ + ln -s /usr/local/OpenPilot/bin/openpilotgcs.bin `pwd`/debian/openpilot/usr/bin/openpilot-gcs + rm -rf debian/openpilot/usr/local/OpenPilot/share/openpilotgcs/sounds/sounds + rm -rf debian/openpilot/usr/local/OpenPilot/share/openpilotgcs/pfd/pfd + rm -rf debian/openpilot/usr/local/OpenPilot/share/openpilotgcs/models/models + rm -rf debian/openpilot/usr/local/OpenPilot/share/openpilotgcs/mapicons/mapicons + rm -rf debian/openpilot/usr/local/OpenPilot/share/openpilotgcs/dials/dials + rm -rf debian/openpilot/usr/local/OpenPilot/share/openpilotgcs/diagrams/diagrams + + +# Build architecture-independent files here. +binary-indep: install + +# We have nothing to build by default. Got taken care of by OPs build system +# Build architecture-dependent files here. +binary-arch: install + dh_testdir + dh_testroot + dh_installchangelogs + dh_installdocs + dh_installexamples + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps -l/usr/local/OpenPilot/lib/openpilotgcs --dpkg-shlibdeps-params="--ignore-missing-info -v" + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch + +.PHONY: clean binary-indep binary-arch binary install + diff --git a/package/linux/deb_common/watch.ex b/package/linux/deb_common/watch.ex new file mode 100644 index 000000000..7e9872e99 --- /dev/null +++ b/package/linux/deb_common/watch.ex @@ -0,0 +1,23 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# See uscan(1) for format + +# Compulsory line, this is a version 3 file +version=3 + +# Uncomment to examine a Webpage +# +#http://www.example.com/downloads.php openpilot-(.*)\.tar\.gz + +# Uncomment to examine a Webserver directory +#http://www.example.com/pub/openpilot-(.*)\.tar\.gz + +# Uncommment to examine a FTP server +#ftp://ftp.example.com/pub/openpilot-(.*)\.tar\.gz debian uupdate + +# Uncomment to find new files on sourceforge, for devscripts >= 2.9 +# http://sf.net/openpilot/openpilot-(.*)\.tar\.gz + +# Uncomment to find new files on GooglePages +# http://example.googlepages.com/foo.html openpilot-(.*)\.tar\.gz diff --git a/package/linux/deb_i386/control b/package/linux/deb_i386/control new file mode 100644 index 000000000..7c274850c --- /dev/null +++ b/package/linux/deb_i386/control @@ -0,0 +1,15 @@ +Source: openpilot +Section: unknown +Priority: extra +Maintainer: naiiawah +Build-Depends: debhelper (>= 7.0.50~) +Standards-Version: 3.8.4 +Homepage: http://www.openpilot.org +#Vcs-Git: git://git.debian.org/collab-maint/openpilot.git +#Vcs-Browser: http://git.debian.org/?p=collab-maint/openpilot.git;a=summary + +Package: openpilot +Architecture: i386 +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: OpenPilot GCS & FW + OpenPilot GCS and Firmware for CopterControl (CC) board. diff --git a/package/linux/openpilot.desktop b/package/linux/openpilot.desktop new file mode 100644 index 000000000..fc3099641 --- /dev/null +++ b/package/linux/openpilot.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=0.1.0 +Encoding=UTF-8 +Name=OpenPilot GCS +Exec=openpilot-gcs +TryExec=openpilot-gcs +Comment=Configure, Tune, Diagnose, Track, & Upgrade FW for OpenPilot solutions +Terminal=false +Categories=RCApplications;Qt;Other; +Icon=openpilot +Type=Application +MimeType=application/openpilot.snapshot; diff --git a/package/linux/openpilot.png b/package/linux/openpilot.png new file mode 100755 index 0000000000000000000000000000000000000000..e9c4ee868ef977ebf1de2f856f60ecf73a94b18f GIT binary patch literal 2713 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 Te%FVV00000NkvXXu0mjf$ + + Applications + + RCApplications + rc_applications.directory + + RCApplications + + + diff --git a/package/linux/rc_applications.png b/package/linux/rc_applications.png new file mode 100755 index 0000000000000000000000000000000000000000..b5e10befaf72c11100090a88596cd302ca74f8b9 GIT binary patch literal 644 zcmV-~0(1M zut8kau0=#H+z5>!NJK3ST!fpcsgP(9II}bbQIHv3xF{?t7mB}cdRN|iI`jUe{cogig zK6xrY$q-z`Er6RE+iZh44wJ% zjE?Fq7y{>VF<;9Ds}>=mo5~m9MlFU2Yrm-Ns4Bn^Bjg_O4AA+;Y0DhtaFZ7!N%Q3N zgB7pbfa~v-?5M zzR~)B+ z*YK^o8`#F5*(r%|SZo3y{|PR`u78KeV9n9#-#?{mDyFC4468N4(;-2lU=Tb&V9{D? exW*2g?!XCe>w{%O1OwLq0000UD+ literal 0 HcmV?d00001