From b396f373fad2f3e3fc0ef3d890555b4e1a72c316 Mon Sep 17 00:00:00 2001 From: Alexandre Duret-Lutz Date: Fri, 27 Feb 2015 22:16:32 +0100 Subject: [PATCH] debian: First attempt at creating Debian packages * debian/: New directory. * Makefile.am, README: Add it. * configure.ac: Generate debian/changelog. --- Makefile.am | 14 +++-- README | 1 + configure.ac | 1 + debian/.gitignore | 1 + debian/changelog.in | 5 ++ debian/compat | 1 + debian/control | 28 +++++++++ debian/copyright | 121 +++++++++++++++++++++++++++++++++++++ debian/docs | 4 ++ debian/libspot-dev.install | 1 + debian/rules | 52 ++++++++++++++++ debian/spot-doc.doc-base | 9 +++ debian/spot-doc.docs | 1 + debian/spot-doc.install | 3 + debian/spot.install | 3 + 15 files changed, 240 insertions(+), 5 deletions(-) create mode 100644 debian/.gitignore create mode 100644 debian/changelog.in create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/libspot-dev.install create mode 100755 debian/rules create mode 100644 debian/spot-doc.doc-base create mode 100644 debian/spot-doc.docs create mode 100644 debian/spot-doc.install create mode 100644 debian/spot.install diff --git a/Makefile.am b/Makefile.am index 26b3818db..f31e2219a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,6 +1,6 @@ ## -*- coding: utf-8 -*- -## Copyright (C) 2011, 2012, 2013, 2014 Laboratoire de Recherche et Développement -## de l'Epita (LRDE). +## Copyright (C) 2011, 2012, 2013, 2014, 2015 Laboratoire de Recherche +## et Développement de l'Epita (LRDE). ## Copyright (C) 2003, 2005 Laboratoire d'Informatique de Paris 6 (LIP6), ## département Systèmes Répartis Coopératifs (SRC), Université Pierre ## et Marie Curie. @@ -32,11 +32,15 @@ SUBDIRS = buddy lib src wrap ltdl iface doc $(NEVER_BENCH) UTF8 = utf8/doc/ReleaseNotes utf8/doc/utf8cpp.html utf8/utf8.h \ utf8/utf8/checked.h utf8/utf8/core.h utf8/utf8/unchecked.h +DEBIAN = debian/changelog.in debian/compat debian/control \ + debian/copyright debian/docs debian/rules debian/spot-doc.docs \ + debian/spot-doc.install debian/spot-doc.doc-base \ + debian/spot.install debian/libspot-dev.install ACLOCAL_AMFLAGS = -I m4 -EXTRA_DIST = HACKING ChangeLog.1 tools/gitlog-to-changelog tools/help2man \ - tools/test-driver-teamcity $(UTF8) m4/gnulib-cache.m4 \ - .dir-locals.el +EXTRA_DIST = HACKING ChangeLog.1 tools/gitlog-to-changelog \ + tools/help2man tools/test-driver-teamcity $(UTF8) \ + $(DEBIAN) m4/gnulib-cache.m4 .dir-locals.el dist-hook: gen-ChangeLog diff --git a/README b/README index 1c1f8612c..4a4ab637f 100644 --- a/README +++ b/README @@ -193,6 +193,7 @@ Build-system stuff m4/ M4 macros used by configure.ac. tools/ Helper scripts used during the build. +debian/ Configuration file to build Debian packages. ------------------------------------------------------------------------------- Local Variables: diff --git a/configure.ac b/configure.ac index f3134350d..788e2bb31 100644 --- a/configure.ac +++ b/configure.ac @@ -173,6 +173,7 @@ AC_CONFIG_FILES([ bench/spin13/Makefile bench/wdba/Makefile bench/stutter/Makefile + debian/changelog doc/Doxyfile doc/Makefile doc/tl/Makefile diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 000000000..696e79c95 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1 @@ +*.ex diff --git a/debian/changelog.in b/debian/changelog.in new file mode 100644 index 000000000..937610b8f --- /dev/null +++ b/debian/changelog.in @@ -0,0 +1,5 @@ +spot (@VERSION@-1) unstable; urgency=low + + * Initial release + + -- Alexandre Duret-Lutz Fri, 27 Feb 2015 11:00:07 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..4d0793d33 --- /dev/null +++ b/debian/control @@ -0,0 +1,28 @@ +Source: spot +Section: science +Priority: optional +Maintainer: Alexandre Duret-Lutz +Build-Depends: debhelper (>= 9) +Standards-Version: 3.9.5 +Homepage: http://spot.lip6.fr/ + +Package: spot +Architecture: any +Recommends: graphviz +Suggests: libspot-dev, spot-doc +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: the Spot model checking library + Library and tools to manipulate omega-automata as well as + linear-temporal logic (LTL & PSL). + +Package: libspot-dev +Architecture: all +Suggests: spot-doc +Depends: spot +Description: headers for the Spot model checking library + C++ headers for the Spot library. + +Package: spot-doc +Architecture: all +Description: documentation for Spot + Developer documentation for Spot. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..e244460f6 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,121 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: spot +Source: http://spot.lip6.fr/dl/ + +Files: * +Copyright: 2003-2007 Laboratoire d'Informatique de Paris 6 (LIP6) + 2007-2015 Laboratoire de Recherche et Développement de l'Epita (LRDE) +License: GPL-3+ + Spot is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + Spot is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". + +Files: buddy/* +Copyright: 1996-2002 Jorn Lind-Nielsen +License: BSD-2-Clause + Permission is hereby granted, without written agreement and without + license or royalty fees, to use, reproduce, prepare derivative + works, distribute, and display this software and its documentation + for any purpose, provided that (1) the above copyright notice and + the following two paragraphs appear in all copies of the source code + and (2) redistributions, including without limitation binaries, + reproduce these notices in the supporting documentation. Substantial + modifications to this software may be copyrighted by their authors + and need not follow the licensing terms described here, provided + that the new terms are clearly indicated in all files where they apply. + . + IN NO EVENT SHALL JORN LIND-NIELSEN, OR DISTRIBUTORS OF THIS + SOFTWARE BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, + INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF THIS + SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHORS OR ANY OF THE + ABOVE PARTIES HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + . + JORN LIND-NIELSEN SPECIFICALLY DISCLAIM ANY WARRANTIES, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS + ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO + OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR + MODIFICATIONS. + +Files: utf8/* +Copyright: 2006 Nemanja Trifunovic +License: BSL-1.0 + Permission is hereby granted, free of charge, to any person or organization + obtaining a copy of the software and accompanying documentation covered by + this license (the "Software") to use, reproduce, display, distribute, + execute, and transmit the Software, and to prepare derivative works of the + Software, and to permit third-parties to whom the Software is furnished to + do so, all subject to the following: + . + The copyright notices in the Software and this entire statement, including + the above license grant, this restriction and the following disclaimer, + must be included in all copies of the Software, in whole or in part, and + all derivative works of the Software, unless such copies or derivative + works are solely in the form of machine-executable object code generated by + a source language processor. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT + SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE + FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, + ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +Files: ltdl/* +Copyright: 1996-2011 Free Software Foundation, Inc. +License: LGPL-2.1 + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + . + As a special exception to the GNU Lesser General Public License, + if you distribute this file as part of a program or library that + is built using GNU libtool, you may include this file under the + same distribution terms that you use for the rest of that program. + . + GNU Libltdl is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + . + You should have received a copy of the GNU Lesser General Public + License along with GNU Libltdl; see the file COPYING.LIB. If not, a + copy con be downloaded from http://www.gnu.org/licenses/lgpl.html, + or obtained by writing to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + . + On Debian systems, the complete text of the GNU Lesser General Public + License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1". + +Files: debian/* +Copyright: 2015 Laboratoire de Recherche et Développement de l'Epita (LRDE) +License: GPL-3+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see + . + On Debian systems, the complete text of the GNU General + Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". diff --git a/debian/docs b/debian/docs new file mode 100644 index 000000000..c18a9387b --- /dev/null +++ b/debian/docs @@ -0,0 +1,4 @@ +AUTHORS +README +NEWS +THANKS diff --git a/debian/libspot-dev.install b/debian/libspot-dev.install new file mode 100644 index 000000000..e43b95cb9 --- /dev/null +++ b/debian/libspot-dev.install @@ -0,0 +1 @@ +usr/include diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..4d404f2d4 --- /dev/null +++ b/debian/rules @@ -0,0 +1,52 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +DH_VERBOSE = 1 + +# see EXAMPLES in dpkg-buildflags(1) and read /usr/share/dpkg/* +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk + +# see FEATURE AREAS in dpkg-buildflags(1) +#export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +# see ENVIRONMENT in dpkg-buildflags(1) +# package maintainers to append CFLAGS +#export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic +# package maintainers to append LDFLAGS +#export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed + + +# main packaging script based on dh7 syntax +%: + dh $@ --parallel + +LTOPLUG = /usr/lib/gcc/x86_64-linux-gnu/4.9/liblto_plugin.so + +# ARFLAGS is for Automake +# AR_FLAGS is for Libtool +LTOSETUP = \ + LDFLAGS='-fuse-linker-plugin' \ + NM='nm --plugin $(LTOPLUG)' \ + ARFLAGS='cru --plugin $(LTOPLUG)' \ + AR_FLAGS='cru --plugin $(LTOPLUG)' \ + RANLIB='ranlib --plugin $(LTOPLUG)' +PRO1SETUP = \ + CFLAGS='-flto -fprofile-generate' \ + CXXFLAGS='-flto -fprofile-generate' +PRO2SETUP = \ + CFLAGS='-flto -fprofile-use' \ + CXXFLAGS='-flto -fprofile-use' + +# We want to build Spot twice: once to get profile data, and a second +# time to use it. +override_dh_auto_configure: + dh_auto_configure -- $(PRO1SETUP) $(LTOSETUP) \ + --disable-devel --enable-optimizations \ + --disable-static --disable-python + dh_auto_build + dh_auto_test + make clean + dh_auto_configure -- $(PRO2SETUP) $(LTOSETUP) \ + --disable-devel --enable-optimizations \ + --disable-static --disable-python diff --git a/debian/spot-doc.doc-base b/debian/spot-doc.doc-base new file mode 100644 index 000000000..cc7744bca --- /dev/null +++ b/debian/spot-doc.doc-base @@ -0,0 +1,9 @@ +Document: spot +Title: Spot documentation +Author: Alexandre Duret-Lutz et al. +Abstract: User documentation for Spot +Section: science + +Format: HTML +Index: /usr/share/doc/spot/userdoc/tools.html +Files: /usr/share/doc/spot/userdoc/*.html diff --git a/debian/spot-doc.docs b/debian/spot-doc.docs new file mode 100644 index 000000000..e845566c0 --- /dev/null +++ b/debian/spot-doc.docs @@ -0,0 +1 @@ +README diff --git a/debian/spot-doc.install b/debian/spot-doc.install new file mode 100644 index 000000000..c9f6326b6 --- /dev/null +++ b/debian/spot-doc.install @@ -0,0 +1,3 @@ +doc/userdoc/* usr/share/doc/spot/userdoc/ +doc/spot.html/* usr/share/doc/spot/doxygen/ +doc/tl/tl.pdf usr/share/doc/spot/tl/ diff --git a/debian/spot.install b/debian/spot.install new file mode 100644 index 000000000..35ed4f7b7 --- /dev/null +++ b/debian/spot.install @@ -0,0 +1,3 @@ +usr/bin +usr/lib +usr/share/man