From 2fe7dc85d5cf39c958dbf48377aa24d0c3b5040b Mon Sep 17 00:00:00 2001 From: Andriy Beregovenko Date: Sat, 9 Mar 2024 14:33:33 +0100 Subject: [PATCH] Add debian package files --- debian/changelog | 5 ++ debian/compat | 1 + debian/control | 25 ++++++ debian/copyright | 203 ++++++++++++++++++++++++++++++++++++++++++ debian/patches/series | 0 debian/rules | 95 ++++++++++++++++++++ debian/source/format | 1 + debian/watch | 7 ++ 8 files changed, 337 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/patches/series create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/watch diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..04356438c --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +pymavlink (2.4.41) UNRELEASED; urgency=medium + + * Initial release. + + -- Andrii Beregovenko Sat, 09 Mar 2024 14:00:50 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..f599e28b8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +10 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..a85cb85d9 --- /dev/null +++ b/debian/control @@ -0,0 +1,25 @@ +Source: pymavlink +Section: python +Priority: optional +Maintainer: Andrii Beregovenko +Build-Depends: debhelper (>= 10), + dh-python, + python3-all-dev (>= 3.3.3), + libxml2-dev, libxslt1-dev, zlib1g-dev, + python3-setuptools (>= 0.6.29), + python3-numpy, + python3-pytest, +X-Python-Version: all +Standards-Version: 4.5.1 +Homepage: https://github.com/ArduPilot/pymavlink + +Package: python3-pymavlink +Architecture: any +Multi-Arch: same +Depends: ${python3:Depends}, ${shlibs:Depends}, ${misc:Depends}, python3-future, python3-lxml +Provides: ${python3:Provides} +Description: Pymavlink is a Python implementation of the MAVLink protocol + Pymavlink is a Python implementation of the MAVLink protocol. It includes + a source code generator (generator/mavgen.py) to create MAVLink protocol + implementations for other programming languages as well. Also contains tools + for analyzing flight logs. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..26814184b --- /dev/null +++ b/debian/copyright @@ -0,0 +1,203 @@ +This repository contains the generator for the MAVLink protocol. The generator itself is +(L)GPL v3 licensed, while the generated code is subject to different licenses: + + +======================================================================================== + + Exception to the (L)GPL v.3: + +As an exception, if you use this Software to compile your source code and +portions of this Software, including messages ("the generator output"), are embedded +into the binary product as a result, you may redistribute such product and such +product is hereby licensed under the following MIT license: + +Copyright (C) the ArduPilot project +http://ardupilot.org/ + +Permission is hereby granted, free of charge, to any person obtaining a copy +of the generated software (the "Generated Software"), to deal +in the Generated Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Generated Software, and to permit persons to whom the Generated +Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Generated Software. + +THE GENERATED 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 AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE GENERATED SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE GENERATED SOFTWARE. + +========================================================================================= + + + + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 000000000..e69de29bb diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..95652df36 --- /dev/null +++ b/debian/rules @@ -0,0 +1,95 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +PY3VERS := $(shell py3versions -vs) +PY3VER := $(shell py3versions -vd) + +include /usr/share/dpkg/pkg-info.mk + +include /usr/share/python3/python.mk + +# Some locales trigger reproducibility issues in html documentation +export LC_ALL=C.UTF-8 +export LANG=C.UTF-8 + +prebuild: prebuild-stamp +prebuild-stamp: + touch $@ + +build-arch: build +build-indep: build +build: build3-stamp + +build3-stamp: $(PY3VERS:%=build3-python%) doc-build3-python$(PY3VER) + touch $@ +build3-python%: prebuild + python$* setup.py build + touch $@ +doc-build3-python$(PY3VER): build3-python$(PY3VER) + touch $@ + +clean: + dh_testdir + dh_testroot + rm -f build*-stamp build*-python* dbg-build*-python* prebuild-stamp + rm -rf build dist __pycache__ + -find -name '*.py[co]' | xargs rm -f + rm -rf [23].[0-9] + dh_clean + +install: build install-prereq $(PY3VERS:%=install3-python%) + -find debian -name '*.py[co]' | xargs rm -f + -find debian -name __pycache__ | xargs rm -rf + rm -rf debian/python*-pymavlink/usr/lib/python + +install-prereq: + dh_testdir + dh_testroot + dh_prep + +install3-python%: + mkdir -p debian/python3-pymavlink/usr/bin + mkdir -p debian/python3-pymavlink/$(call py_libdir, $*) + python$* setup.py install \ + --root=$(CURDIR)/debian/python3-pymavlink --install-layout=deb + +# Build architecture-independent files here. +binary-indep: build install + dh_testdir + dh_testroot + dh_installchangelogs -i + dh_installdocs -i + dh_installexamples -i samples/* + dh_compress -i -X.xml -X.py \ + -X.html -X.css -X.asc -X.png -Xapi-objects.txt + dh_fixperms -i + dh_installdeb -i + dh_shlibdeps -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installchangelogs -a CHANGES.txt +# dh_installdocs -a CREDITS.txt README.rst TODO.txt + dh_installdocs -a README.md +# dh_installexamples -a examples/* + dh_python3 -a + dh_strip -ppython3-pymavlink + dh_compress -a -X.xml -X.py \ + -X.html -X.css -X.asc -X.png -Xapi-objects.txt + dh_fixperms -a + dh_installdeb -a + dh_shlibdeps -a + dh_gencontrol -a + dh_md5sums -a + dh_builddeb -a + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 000000000..163aaf8d8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/watch b/debian/watch new file mode 100644 index 000000000..2bcc79fd2 --- /dev/null +++ b/debian/watch @@ -0,0 +1,7 @@ +version=4 +opts="\ + compression=zip, \ + dversionmangle=s/\+(?:git)?[0-9]*(?:\+g[0-9a-f]*)//, \ + downloadurlmangle=s#/tag/#/download/#;s#(v?@ANY_VERSION@)$#$1/@PACKAGE@-$2.zip#, \ + filenamemangle=s#v?@ANY_VERSION@#@PACKAGE@-$1.zip#" \ +https://github.com/ArduPilot/@PACKAGE@/tags .*/releases/tag/v?@ANY_VERSION@