From 1119174fdc66fece12a53960b09b775ec13c6d0d Mon Sep 17 00:00:00 2001 From: =?utf8?q?Gavin=20Lai=20=28=E8=B3=B4=E5=BB=BA=E5=AE=87=29?= Date: Tue, 27 Aug 2024 22:35:02 +0800 Subject: [PATCH 1/1] Import libgpiod_2.1.3-1.debian.tar.xz [dgit import tarball libgpiod 2.1.3-1 libgpiod_2.1.3-1.debian.tar.xz] --- changelog | 297 ++++++++++ control | 115 ++++ copyright | 505 ++++++++++++++++++ docs | 1 + gpiod.install | 6 + gpiod.manpages | 1 + libgpiod-dev.install | 6 + libgpiod-doc.doc-base | 9 + libgpiod-doc.docs | 1 + libgpiod3.install | 1 + libgpiod3.symbols | 472 ++++++++++++++++ ...ring-cross-builds-and-use-pre-genera.patch | 32 ++ patches/python3-all-versions-byte-compile | 40 ++ patches/series | 2 + python3-libgpiod.examples | 1 + python3-libgpiod.install | 1 + rules | 41 ++ salsa-ci.yml | 6 + source/format | 1 + tests/control | 2 + tests/import-module | 7 + upstream/metadata | 5 + watch | 4 + 23 files changed, 1556 insertions(+) create mode 100644 changelog create mode 100644 control create mode 100644 copyright create mode 100644 docs create mode 100644 gpiod.install create mode 100644 gpiod.manpages create mode 100644 libgpiod-dev.install create mode 100644 libgpiod-doc.doc-base create mode 100644 libgpiod-doc.docs create mode 100644 libgpiod3.install create mode 100644 libgpiod3.symbols create mode 100644 patches/Don-t-run-help2man-during-cross-builds-and-use-pre-genera.patch create mode 100644 patches/python3-all-versions-byte-compile create mode 100644 patches/series create mode 100644 python3-libgpiod.examples create mode 100644 python3-libgpiod.install create mode 100755 rules create mode 100644 salsa-ci.yml create mode 100644 source/format create mode 100644 tests/control create mode 100644 tests/import-module create mode 100644 upstream/metadata create mode 100644 watch diff --git a/changelog b/changelog new file mode 100644 index 0000000..d057da0 --- /dev/null +++ b/changelog @@ -0,0 +1,297 @@ +libgpiod (2.1.3-1) unstable; urgency=medium + + * Upload to unstable (Closes: #1055129) + + -- Gavin Lai (賴建宇) Tue, 27 Aug 2024 22:35:02 +0800 + +libgpiod (2.1.3-1~exp1) experimental; urgency=medium + + * Import new upstream + * d/control: Bump Standards-Version to 4.7.0 + * d/copyright: Update copyright content + + -- Gavin Lai (賴建宇) Sun, 18 Aug 2024 16:17:42 +0800 + +libgpiod (2.1.2-1~exp1) experimental; urgency=medium + + * Import new upstream + * d/copyright: + - relicense C++ bindings under LGPL-2.1-or-later + - Update copyright content + + -- Gavin Lai (賴建宇) Thu, 23 May 2024 23:18:41 +0800 + +libgpiod (2.1-1~exp2) experimental; urgency=medium + + * d/libgpiod3.symbols: Fix symbols disappeared on amrel and riscv64 + * d/control: Added Breaks and Replaces for libgpiod2t64 + + -- Gavin Lai (賴建宇) Wed, 10 Apr 2024 00:23:11 +0800 + +libgpiod (2.1-1~exp1) experimental; urgency=medium + + * Import new upstream + * d/control: + - Bump Standards-Version to 4.6.2 + - Update maintainer + - Add Uploader + - Add graphviz into Build-Depends for doc + - Add python3-all-dev into Build-Depends for compatibility + - Replace obsolete package pkg-config to pkgconf + * d/rules: + - Enable LTO (Closes: #1015490) + - Use 64-bit time_t on 32-bit arch + * Rename libgpiod2 to libgpiod3: Update symbols + libgpiod v2.0 reworked the entire API. + * Fix multi-arch-same-package-calls-pycompile + * d/patches: + - Refresh patch content + - upstream commit: fix python module cannot be imported + * d/gitlab-ci.yml: Enable diffoscope + * d/copyright: Update copyright content + + -- Gavin Lai (賴建宇) Tue, 19 Dec 2023 23:27:55 +0800 + +libgpiod (1.6.3-1) unstable; urgency=medium + + * Import new upstream release + + -- SZ Lin (林上智) Sun, 05 Sep 2021 17:07:01 +0800 + +libgpiod (1.6.2-1) unstable; urgency=medium + + * Import new upstream release + * d/control: + - Set Build-Depends: linux-libc-dev (>= 4.8), the new version of libgpiod + allows building the library with pre Linux v5.5 kernel headers. + - Bump Standards-Version to 4.5.1 + + -- SZ Lin (林上智) Mon, 14 Dec 2020 15:34:58 +0800 + +libgpiod (1.6.1-2) unstable; urgency=medium + + * Tweak the patch to fix FTCBFS - Thanks to Helmut Grohne + (Closes: #972488) + + -- SZ Lin (林上智) Tue, 10 Nov 2020 15:07:26 +0800 + +libgpiod (1.6.1-1) unstable; urgency=medium + + * Import new upstream release + * Fix event timestamp calculation for 32bit (Closes: #972263) + * Add missing Build-Depends: linux-libc-dev (Closes: #972489) + * Fix FTCBFS - Thanks to Helmut Grohne + (Closes: #972488) + - Multiarchify python Build-Depends. + - Install pre-built manpages during cross builds. + + -- SZ Lin (林上智) Wed, 04 Nov 2020 15:48:20 +0800 + +libgpiod (1.5.2-1) unstable; urgency=medium + + * Import new upstream release + + -- SZ Lin (林上智) Thu, 03 Sep 2020 11:26:10 +0800 + +libgpiod (1.5.1-2) unstable; urgency=medium + + * Fix symbol mismatches - Thanks to Gianfranco Costamagna + (Closes:#966654, #966964) + + -- SZ Lin (林上智) Fri, 14 Aug 2020 14:41:33 +0800 + +libgpiod (1.5.1-1) unstable; urgency=medium + + * Import new upstream release + * Add salsa-ci.yml for enabling CI function in Salsa + * Update symbol table + * d/control: + - Bump debhelper-compat to 13 + * d/copyright: + - Correct copyright information + * d/rules: + - Remove unneeded declaration + + -- SZ Lin (林上智) Wed, 01 Jul 2020 11:27:41 +0800 + +libgpiod (1.4.1-4) unstable; urgency=medium + + * Fix symbols disappeared on s390x - Thanks to Gianfranco Costamagna + (Closes: #949958) + * Add Multi-Arch attribute - Thanks to Helmut Grohne + (Closes: #951196) + * Support nopython build profile to avoid FTFBS issue - This patch was + tweaked from Helmut Grohne . Thanks the report from + Michael Hudson-Doyle (Closes:#949919, #951197) + * d/control: + - Bump Standards-Version to 4.5.0 + - Set Rules-Requires-Root: no + * d/watch: + - Ignore watching on rc version + + -- SZ Lin (林上智) Tue, 03 Mar 2020 21:46:43 +0800 + +libgpiod (1.4.1-3) unstable; urgency=medium + + * d/control: + - Use debhelper-compat (= 12) in build-dependency to replace d/compat + * d/libgpiod2.symbols + - Fix missing symbols issue in builting with -O3 option - Thanks to + Gianfranco Costamagna (Closes: #939304) + + -- SZ Lin (林上智) Tue, 10 Sep 2019 17:02:05 +0800 + +libgpiod (1.4.1-2) unstable; urgency=medium + + * Fix FTBFS in armel + + -- SZ Lin (林上智) Sat, 31 Aug 2019 21:25:57 +0800 + +libgpiod (1.4.1-1) unstable; urgency=high + + * Import new upstream release + * Fix FTBFS with GCC-9 (Closes: #925744) + * Update symbols + + -- SZ Lin (林上智) Fri, 30 Aug 2019 20:47:38 +0800 + +libgpiod (1.4-1) UNRELEASED; urgency=medium + + * Import new upstream release + * Move package from experimental to sid + * d/control: + - Bump Standards-Version to 4.4.0 + * d/watch: + - Fix wrong format in package naming + + -- SZ Lin (林上智) Wed, 31 Jul 2019 14:57:33 +0800 + +libgpiod (1.3-1~exp1) experimental; urgency=medium + + * Import new upstream release + * Add manpages for gpiod tools + * d/compat: + - Bump compat version to 12 + * d/control: + - Bump Standards-Version to 4.3.0 + - Bump debhelper version to 12 + - Add help2man into Build-Depends for manpage creation + - Drop conflicting setting (Closes: #924926) + - Suggested by Ben Harris + * d/libgpiod2.symbols + - Add Build-Depends-Package + - Update symbols + + -- SZ Lin (林上智) Thu, 11 Apr 2019 16:04:54 +0800 + +libgpiod (1.2-3) unstable; urgency=medium + + * d/libgpiod2.symbols + - Fix symbols for risv64 + - Fix symbols for armel + * d/rules: + - Remove dh_missing + + -- SZ Lin (林上智) Fri, 07 Dec 2018 11:42:02 +0800 + +libgpiod (1.2-2) unstable; urgency=medium + + * d/libgpiod2.symbols + - Fix symbols for s390x + - Fix symbols for armel + + -- SZ Lin (林上智) Wed, 05 Dec 2018 13:46:32 +0800 + +libgpiod (1.2-1) unstable; urgency=medium + + * Import new upstream release + * d/libgpiod2.symbols: + - Update symbols with c++filt to fix 32-bit FTBFS issue (Closes: #913522) + * d/control: + - Drop unnecessary build-depends + + -- SZ Lin (林上智) Tue, 13 Nov 2018 11:42:05 +0800 + +libgpiod (1.1.1-2) unstable; urgency=medium + + * Move version 1.1.1 to sid archive + + -- SZ Lin (林上智) Tue, 06 Nov 2018 18:57:31 +0800 + +libgpiod (1.1.1-1) experimental; urgency=medium + + * Import new upstream release + * Add upstream metadata + * Add python/cxx bindings (LP: #1791124) + * d/patches + - Add Fix-FTBFS-with-bindings-cxx-examples-gpiod_cxx_tests patch + + -- SZ Lin (林上智) Fri, 28 Sep 2018 16:25:28 +0800 + +libgpiod (1.1-1) UNRELEASED; urgency=medium + + * Import new upstream release + * Bump ABI version with upstream new release + * Converting git-dpm to gbp pq + * d/control: + - Bump standards-version to 4.2.1 + + -- SZ Lin (林上智) Wed, 12 Sep 2018 14:18:16 +0800 + +libgpiod (1.0.1-1) unstable; urgency=medium + + * New upstream release + * d/control: Bump standards-version to 4.1.4 + + -- SZ Lin (林上智) Tue, 17 Apr 2018 13:36:46 +0800 + +libgpiod (1.0-1) unstable; urgency=medium + + * New upstream release + * d/compat: Bump compat version to 11 + * d/control: Bump standards-version to 4.1.3 + * Move VCS to salsa + * d/libgpiod-doc.doc-base: repoint doc-base to /usr/share/doc/libgpiod-dev + * d/libgpiod1.symbols: Rename symbol file + + -- SZ Lin (林上智) Fri, 09 Feb 2018 16:41:51 +0800 + +libgpiod (0.3.2+git20171201-2) unstable; urgency=medium + + * Fix corrupted long description in gpiod (Closes: #885031) + + -- SZ Lin (林上智) Sat, 23 Dec 2017 10:25:20 +0800 + +libgpiod (0.3.2+git20171201-1) unstable; urgency=medium + + * Import new upstream (Closes: #881728) + * d/control: Rename libgpiod -> libgpiod0 in binary library package + * d/copyright: Add comment for license change in upstream + + -- SZ Lin (林上智) Thu, 21 Dec 2017 09:57:11 +0800 + +libgpiod (0.3.2-4) UNRELEASED; urgency=low + + * d/rules: Remove *.la Libtool archive files + + -- SZ Lin (林上智) Sun, 03 Dec 2017 23:41:06 +0800 + +libgpiod (0.3.2-3) UNRELEASED; urgency=low + + * d/control: Bump Standards-Version to 4.1.2 + * Make license type consistent between source + files and COPYING file + + -- SZ Lin (林上智) Fri, 01 Dec 2017 23:21:50 +0800 + +libgpiod (0.3.2-2) UNRELEASED; urgency=low + + * d/control: replace arch from "any" to "linux-any" + + -- SZ Lin (林上智) Sat, 18 Nov 2017 12:19:13 +0800 + +libgpiod (0.3.2-1) UNRELEASED; urgency=medium + + * Initial release + + -- SZ Lin (林上智) Wed, 15 Nov 2017 10:01:32 +0800 diff --git a/control b/control new file mode 100644 index 0000000..4afc765 --- /dev/null +++ b/control @@ -0,0 +1,115 @@ +Source: libgpiod +Section: misc +Priority: optional +Maintainer: Gavin Lai (賴建宇) +Uploaders: SZ Lin (林上智) +Build-Depends: debhelper-compat (= 13), + autoconf-archive, + automake, + dh-sequence-python3 , + help2man , + pkgconf, + m4, + graphviz, + python3-all-dev:any , + libpython3-dev , + python3-setuptools , + linux-libc-dev (>= 4.8) +Standards-Version: 4.7.0 +Rules-Requires-Root: no +Build-Depends-Indep: doxygen +Homepage: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git +Vcs-Git: https://salsa.debian.org/debian/libgpiod.git +Vcs-Browser: https://salsa.debian.org/debian/libgpiod + +Package: libgpiod-dev +Section: libdevel +Architecture: linux-any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + libgpiod3 (= ${binary:Version}) +Suggests: libgpiod-doc +Description: C library for interacting with Linux GPIO device - static libraries and headers + libgpiod encapsulates the ioctl calls and data structures + behind a straightforward API. This new character device + interface guarantees all allocated resources are freed after + closing the device file descriptor and adds several new + features that are not present in the obsolete sysfs interface + (like event polling, setting/reading multiple values at once or + open-source and open-drain GPIOs). + . + This package contains the required static libraries, headers, and C++ bindings. + +Package: libgpiod-doc +Section: doc +Architecture: all +Multi-Arch: foreign +Depends: ${misc:Depends} +Description: C library for interacting with Linux GPIO device - library documentation + libgpiod encapsulates the ioctl calls and data structures + behind a straightforward API. This new character device + interface guarantees all allocated resources are freed after + closing the device file descriptor and adds several new + features that are not present in the obsolete sysfs interface + (like event polling, setting/reading multiple values at once or + open-source and open-drain GPIOs). + . + This package contains the doxygen generated HTML documentation for the + libraries. + +Package: libgpiod3 +Replaces: libgpiod2, + libgpiod2t64, +Breaks: libgpiod2 (<< ${source:Version}), + libgpiod2t64 (<< ${source:Version}), +Section: libs +Architecture: linux-any +Depends: ${shlibs:Depends}, + ${misc:Depends}, +Multi-Arch: same +Description: C library for interacting with Linux GPIO device - shared libraries + libgpiod encapsulates the ioctl calls and data structures + behind a straightforward API. This new character device + interface guarantees all allocated resources are freed after + closing the device file descriptor and adds several new + features that are not present in the obsolete sysfs interface + (like event polling, setting/reading multiple values at once or + open-source and open-drain GPIOs). + . + This package contains the required shared libraries. + +Package: gpiod +Architecture: linux-any +Multi-Arch: foreign +Depends: ${shlibs:Depends}, + ${misc:Depends}, +Description: Tools for interacting with Linux GPIO character device - binary + libgpiod encapsulates the ioctl calls and data structures + behind a straightforward API. This new character device + interface guarantees all allocated resources are freed after + closing the device file descriptor and adds several new + features that are not present in the obsolete sysfs interface + (like event polling, setting/reading multiple values at once or + open-source and open-drain GPIOs). + . + This package contains the gpiod binary tools. + +Package: python3-libgpiod +Build-Profiles: +Section: python +Architecture: linux-any +Depends: ${shlibs:Depends}, + ${misc:Depends}, + ${python3:Depends}, + libgpiod3 (= ${binary:Version}) +Description: Python bindings for libgpiod (Python 3) + libgpiod encapsulates the ioctl calls and data structures + behind a straightforward API. This new character device + interface guarantees all allocated resources are freed after + closing the device file descriptor and adds several new + features that are not present in the obsolete sysfs interface + (like event polling, setting/reading multiple values at once or + open-source and open-drain GPIOs). + . + This package contains Python 3 bindings for the libgpiod library. diff --git a/copyright b/copyright new file mode 100644 index 0000000..e11097f --- /dev/null +++ b/copyright @@ -0,0 +1,505 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: libgpiod +Source: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git +#The upstream changes its license type to "LGPL-2.1+" +#https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git/commit/?h=v0.3.x&id=486b57388683fc4f404fa6cb008c5dbae6fe6c33 + +Files: * +Copyright: 2017-2023, by Bartosz Golaszewski +License: LGPL-2.1+ + +Files: tools/* +Copyright: 2017-2021 Bartosz Golaszewski + 2022 Kent Gibson +License: GPL-2+ + +Files: bindings/cxx/* +Copyright: 2017-2022 Bartosz Golaszewski +License: LGPL-2.1+ + +Files: bindings/cxx/tests/* +Copyright: 2022 Bartosz Golaszewski +License: LGPL-2.1+ + +Files: bindings/python/* +Copyright: 2017-2021 Bartosz Golaszewski +License: GPL-2+ + +Files: bindings/python/pyproject.toml +Copyright: 2023 Phil Howard +License: GPL-2+ + +Files: bindings/cxx/examples/* + bindings/python/examples/* + examples/* +Copyright: 2022-2023 Kent Gibson +License: GPL-2+ + +Files: bindings/cxx/gpiodcxx/Makefile.am + Makefile.am + man/Makefile.am + man/.gitignore + tests/* +Copyright: 2017-2022 Bartosz Golaszewski +License: GPL-2+ + +Files: bindings/rust/* +Copyright: 2022 Viresh Kumar +License: Apache-2.0 or BSD-3-clause + +Files: lib/uapi/gpio.h +Copyright: 2016 Linus Walleij +License: GPL-2.0 + +Files: bindings/rust/Cargo.toml + bindings/rust/libgpiod/Cargo.toml + bindings/rust/gpiosim-sys/Cargo.toml + bindings/rust/gpiosim-sys/README.md + bindings/rust/libgpiod-sys/Cargo.toml + bindings/rust/libgpiod-sys/README.md +Copyright: 2022 Viresh Kumar +License: CC0-1.0 + +Files: tools/gpio-tools-test.bash +Copyright: 2017-2021 Bartosz Golaszewski + 2022 Kent Gibson + 2023 Bartosz Golaszewski +License: GPL-2+ + +Files: lib/libgpiod.pc.in +Copyright: 2017-2021 Bartosz Golaszewski + 2018 Clemens Gruber +License: GPL-2+ + +Files: bindings/rust/libgpiod/README.md +Copyright: 2023 Erik Schilling +License: CC0-1.0 + +Files: bindings/rust/.gitignore +Copyright: 2022 Linaro Ltd. + 2022 Viresh Kumar +License: CC0-1.0 + +Files: man/template + NEWS + README + TODO +Copyright: 2017-2023 Bartosz Golaszewski +License: CC-BY-SA-4.0 + +Files: Doxyfile.in +Copyright: 2017-2021 Bartosz Golaszewski +License: GPL-2+ + +Files: bindings/cxx/examples/.gitignore + bindings/cxx/tests/.gitignore +Copyright: 2017-2021 Bartosz Golaszewski +License: GPL-2+ + +Files: .readthedocs.yaml + sphinx/* +Copyright: 2022 Kent Gibson +License: LGPL-2.1+ + +Files: autogen.sh +Copyright: 2017-2021 Bartosz Golaszewski + 2017 Thierry Reding +License: GPL-2+ + +Files: debian/* +Copyright: 2017-2024 SZ Lin (林上智) + 2023-2024 Gavin Lai (賴建宇) +License: LGPL-2.1+ + +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.1 of the License, or (at your option) any later version. + . + This library 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 this library; if not, write 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'. + +License: CC0-1.0 + On Debian systems, the full text of the Creative + Commons Zero v1.0 Universal license can be found + in `/usr/share/common-licenses/CC0-1.0’. + +License: GPL-2+ + On Debian machines the full text of the GNU General Public License + version 2 can be found in the file /usr/share/common-licenses/GPL-2. + +License: CC-BY-SA-4.0 + Creative Commons Attribution-ShareAlike 4.0 International Public License + . + By exercising the Licensed Rights (defined below), You accept and agree to be + bound by the terms and conditions of this Creative Commons + Attribution-ShareAlike 4.0 International Public License ("Public License"). To + the extent this Public License may be interpreted as a contract, You are + granted the Licensed Rights in consideration of Your acceptance of these terms + and conditions, and the Licensor grants You such rights in consideration of + benefits the Licensor receives from making the Licensed Material available + under these terms and conditions. + . + Section 1 – Definitions. + . + a. Adapted Material means material subject to Copyright and Similar Rights that + is derived from or based upon the Licensed Material and in which the Licensed + Material is translated, altered, arranged, transformed, or otherwise modified + in a manner requiring permission under the Copyright and Similar Rights held by + the Licensor. For purposes of this Public License, where the Licensed Material + is a musical work, performance, or sound recording, Adapted Material is always + produced where the Licensed Material is synched in timed relation with a moving + image. + . + b. Adapter's License means the license You apply to Your Copyright and Similar + Rights in Your contributions to Adapted Material in accordance with the terms + and conditions of this Public License. + . + c. BY-SA Compatible License means a license listed at + creativecommons.org/compatiblelicenses, approved by Creative Commons as + essentially the equivalent of this Public License. + . + d. Copyright and Similar Rights means copyright and/or similar rights closely + related to copyright including, without limitation, performance, broadcast, + sound recording, and Sui Generis Database Rights, without regard to how the + rights are labeled or categorized. For purposes of this Public License, the + rights specified in Section 2(b)(1)-(2) are not Copyright and Similar Rights. + . + e. Effective Technological Measures means those measures that, in the absence + of proper authority, may not be circumvented under laws fulfilling obligations + under Article 11 of the WIPO Copyright Treaty adopted on December 20, 1996, + and/or similar international agreements. + . + f. Exceptions and Limitations means fair use, fair dealing, and/or any other + exception or limitation to Copyright and Similar Rights that applies to Your + use of the Licensed Material. + . + g. License Elements means the license attributes listed in the name of a + Creative Commons Public License. The License Elements of this Public License + are Attribution and ShareAlike. + . + h. Licensed Material means the artistic or literary work, database, or other + material to which the Licensor applied this Public License. + . + i. Licensed Rights means the rights granted to You subject to the terms and + conditions of this Public License, which are limited to all Copyright and + Similar Rights that apply to Your use of the Licensed Material and that the + Licensor has authority to license. + . + j. Licensor means the individual(s) or entity(ies) granting rights under this + Public License. + . + k. Share means to provide material to the public by any means or process that + requires permission under the Licensed Rights, such as reproduction, public + display, public performance, distribution, dissemination, communication, or + importation, and to make material available to the public including in ways + that members of the public may access the material from a place and at a time + individually chosen by them. + . + l. Sui Generis Database Rights means rights other than copyright resulting from + Directive 96/9/EC of the European Parliament and of the Council of 11 March + 1996 on the legal protection of databases, as amended and/or succeeded, as well + as other essentially equivalent rights anywhere in the world. + . + m. You means the individual or entity exercising the Licensed Rights under this + Public License. Your has a corresponding meaning. + . + Section 2 – Scope. + . + a. License grant. + . + 1. Subject to the terms and conditions of this Public License, the Licensor + hereby grants You a worldwide, royalty-free, non-sublicensable, non-exclusive, + irrevocable license to exercise the Licensed Rights in the Licensed Material + to: + . + A. reproduce and Share the Licensed Material, in whole or in part; and + . + B. produce, reproduce, and Share Adapted Material. + . + 2. Exceptions and Limitations. For the avoidance of doubt, where Exceptions and + Limitations apply to Your use, this Public License does not apply, and You do + not need to comply with its terms and conditions. + . + 3. Term. The term of this Public License is specified in Section 6(a). + . + 4. Media and formats; technical modifications allowed. The Licensor authorizes + You to exercise the Licensed Rights in all media and formats whether now known + or hereafter created, and to make technical modifications necessary to do so. + The Licensor waives and/or agrees not to assert any right or authority to + forbid You from making technical modifications necessary to exercise the + Licensed Rights, including technical modifications necessary to circumvent + Effective Technological Measures. For purposes of this Public License, simply + making modifications authorized by this Section 2(a)(4) never produces Adapted + Material. + . + 5. Downstream recipients. + . + A. Offer from the Licensor – Licensed Material. Every recipient of the Licensed + Material automatically receives an offer from the Licensor to exercise the + Licensed Rights under the terms and conditions of this Public License. + . + B. Additional offer from the Licensor – Adapted Material. Every recipient of + Adapted Material from You automatically receives an offer from the Licensor to + exercise the Licensed Rights in the Adapted Material under the conditions of + the Adapter’s License You apply. + . + C. No downstream restrictions. You may not offer or impose any additional or + different terms or conditions on, or apply any Effective Technological Measures + to, the Licensed Material if doing so restricts exercise of the Licensed Rights + by any recipient of the Licensed Material. + . + 6. No endorsement. Nothing in this Public License constitutes or may be + construed as permission to assert or imply that You are, or that Your use of + the Licensed Material is, connected with, or sponsored, endorsed, or granted + official status by, the Licensor or others designated to receive attribution as + provided in Section 3(a)(1)(A)(i). + . + b. Other rights. + . + 1. Moral rights, such as the right of integrity, are not licensed under this + Public License, nor are publicity, privacy, and/or other similar personality + rights; however, to the extent possible, the Licensor waives and/or agrees not + to assert any such rights held by the Licensor to the limited extent necessary + to allow You to exercise the Licensed Rights, but not otherwise. + . + 2. Patent and trademark rights are not licensed under this Public License. + . + 3. To the extent possible, the Licensor waives any right to collect royalties + from You for the exercise of the Licensed Rights, whether directly or through a + collecting society under any voluntary or waivable statutory or compulsory + licensing scheme. In all other cases the Licensor expressly reserves any right + to collect such royalties. + . + Section 3 – License Conditions. + . + Your exercise of the Licensed Rights is expressly made subject to the following + conditions. + . + a. Attribution. + . + 1. If You Share the Licensed Material (including in modified form), You must: + . + A. retain the following if it is supplied by the Licensor with the Licensed + Material: + . + i. identification of the creator(s) of the Licensed Material and any others + designated to receive attribution, in any reasonable manner requested by the + Licensor (including by pseudonym if designated); + . + ii. a copyright notice; + . + iii. a notice that refers to this Public License; + . + iv. a notice that refers to the disclaimer of warranties; + . + v. a URI or hyperlink to the Licensed Material to the extent reasonably + practicable; + . + B. indicate if You modified the Licensed Material and retain an indication of + any previous modifications; and + . + C. indicate the Licensed Material is licensed under this Public License, and + include the text of, or the URI or hyperlink to, this Public License. + . + 2. You may satisfy the conditions in Section 3(a)(1) in any reasonable manner + based on the medium, means, and context in which You Share the Licensed + Material. For example, it may be reasonable to satisfy the conditions by + providing a URI or hyperlink to a resource that includes the required + information. + . + 3. If requested by the Licensor, You must remove any of the information + required by Section 3(a)(1)(A) to the extent reasonably practicable. + . + b. ShareAlike. + . + In addition to the conditions in Section 3(a), if You Share Adapted Material + You produce, the following conditions also apply. + . + 1. The Adapter’s License You apply must be a Creative Commons license with the + same License Elements, this version or later, or a BY-SA Compatible License. + . + 2. You must include the text of, or the URI or hyperlink to, the Adapter's + License You apply. You may satisfy this condition in any reasonable manner + based on the medium, means, and context in which You Share Adapted Material. + . + 3. You may not offer or impose any additional or different terms or conditions + on, or apply any Effective Technological Measures to, Adapted Material that + restrict exercise of the rights granted under the Adapter's License You apply. + . + Section 4 – Sui Generis Database Rights. + . + Where the Licensed Rights include Sui Generis Database Rights that apply to + Your use of the Licensed Material: + . + a. for the avoidance of doubt, Section 2(a)(1) grants You the right to extract, + reuse, reproduce, and Share all or a substantial portion of the contents of the + database; + . + b. if You include all or a substantial portion of the database contents in a + database in which You have Sui Generis Database Rights, then the database in + which You have Sui Generis Database Rights (but not its individual contents) is + Adapted Material, including for purposes of Section 3(b); and + . + c. You must comply with the conditions in Section 3(a) if You Share all or a + substantial portion of the contents of the database. + . + For the avoidance of doubt, this Section 4 supplements and does not replace + Your obligations under this Public License where the Licensed Rights include + other Copyright and Similar Rights. + . + Section 5 – Disclaimer of Warranties and Limitation of Liability. + . + a. Unless otherwise separately undertaken by the Licensor, to the extent + possible, the Licensor offers the Licensed Material as-is and as-available, and + makes no representations or warranties of any kind concerning the Licensed + Material, whether express, implied, statutory, or other. This includes, without + limitation, warranties of title, merchantability, fitness for a particular + purpose, non-infringement, absence of latent or other defects, accuracy, or the + presence or absence of errors, whether or not known or discoverable. Where + disclaimers of warranties are not allowed in full or in part, this disclaimer + may not apply to You. + . + b. To the extent possible, in no event will the Licensor be liable to You on + any legal theory (including, without limitation, negligence) or otherwise for + any direct, special, indirect, incidental, consequential, punitive, exemplary, + or other losses, costs, expenses, or damages arising out of this Public License + or use of the Licensed Material, even if the Licensor has been advised of the + possibility of such losses, costs, expenses, or damages. Where a limitation of + liability is not allowed in full or in part, this limitation may not apply to + You. + . + c. The disclaimer of warranties and limitation of liability provided above + shall be interpreted in a manner that, to the extent possible, most closely + approximates an absolute disclaimer and waiver of all liability. + . + Section 6 – Term and Termination. + . + a. This Public License applies for the term of the Copyright and Similar Rights + licensed here. However, if You fail to comply with this Public License, then + Your rights under this Public License terminate automatically. + . + b. Where Your right to use the Licensed Material has terminated under Section + 6(a), it reinstates: + . + 1. automatically as of the date the violation is cured, provided it is cured + within 30 days of Your discovery of the violation; or + . + 2. upon express reinstatement by the Licensor. + . + For the avoidance of doubt, this Section 6(b) does not affect any right the + Licensor may have to seek remedies for Your violations of this Public License. + . + c. For the avoidance of doubt, the Licensor may also offer the Licensed + Material under separate terms or conditions or stop distributing the Licensed + Material at any time; however, doing so will not terminate this Public License. + . + d. Sections 1, 5, 6, 7, and 8 survive termination of this Public License. + . + Section 7 – Other Terms and Conditions. + . + a. The Licensor shall not be bound by any additional or different terms or + conditions communicated by You unless expressly agreed. + . + b. Any arrangements, understandings, or agreements regarding the Licensed + Material not stated herein are separate from and independent of the terms and + conditions of this Public License. + . + Section 8 – Interpretation. + . + a. For the avoidance of doubt, this Public License does not, and shall not be + interpreted to, reduce, limit, restrict, or impose conditions on any use of the + Licensed Material that could lawfully be made without permission under this + Public License. + . + b. To the extent possible, if any provision of this Public License is deemed + unenforceable, it shall be automatically reformed to the minimum extent + necessary to make it enforceable. If the provision cannot be reformed, it shall + be severed from this Public License without affecting the enforceability of the + remaining terms and conditions. + . + c. No term or condition of this Public License will be waived and no failure to + comply consented to unless expressly agreed to by the Licensor. + . + d. Nothing in this Public License constitutes or may be interpreted as a + limitation upon, or waiver of, any privileges and immunities that apply to the + Licensor or You, including from the legal processes of any jurisdiction or + authority. + . + Creative Commons is not a party to its public licenses. Notwithstanding, + Creative Commons may elect to apply one of its public licenses to material it + publishes and in those instances will be considered the “Licensor.” The text of + the Creative Commons public licenses is dedicated to the public domain under + the CC0 Public Domain Dedication. Except for the limited purpose of indicating + that material is shared under a Creative Commons public license or as otherwise + permitted by the Creative Commons policies published at + creativecommons.org/policies, Creative Commons does not authorize the use of + the trademark “Creative Commons” or any other trademark or logo of Creative + Commons without its prior written consent including, without limitation, in + connection with any unauthorized modifications to any of its public licenses or + any other arrangements, understandings, or agreements concerning use of + licensed material. For the avoidance of doubt, this paragraph does not form + part of the public licenses. + . + Creative Commons may be contacted at creativecommons.org. + +License: GPL-2.0 + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License version 2 as published by + the Free Software Foundation. + . + On Debian systems, the complete text of the GNU General Public License + Version 2 can be found in `/usr/share/common-licenses/GPL-2'. + +License: Apache-2.0 + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + . + http://www.apache.org/licenses/LICENSE-2.0 + . + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + . + On Debian systems, the complete text of the Apache 2.0 license can be found in + "/usr/share/common-licenses/Apache-2.0". + +License: BSD-3-clause + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are + met: + . + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above + copyright notice, this list of conditions and the following disclaimer + in the documentation and/or other materials provided with the + distribution. + * Neither the name of Google Inc. nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + . + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/docs b/docs new file mode 100644 index 0000000..e845566 --- /dev/null +++ b/docs @@ -0,0 +1 @@ +README diff --git a/gpiod.install b/gpiod.install new file mode 100644 index 0000000..dbfa291 --- /dev/null +++ b/gpiod.install @@ -0,0 +1,6 @@ +usr/bin/gpioinfo +usr/bin/gpiodetect +usr/bin/gpionotify +usr/bin/gpioset +usr/bin/gpioget +usr/bin/gpiomon diff --git a/gpiod.manpages b/gpiod.manpages new file mode 100644 index 0000000..5ed5bcf --- /dev/null +++ b/gpiod.manpages @@ -0,0 +1 @@ +usr/share/man/man1/*.1 diff --git a/libgpiod-dev.install b/libgpiod-dev.install new file mode 100644 index 0000000..44240df --- /dev/null +++ b/libgpiod-dev.install @@ -0,0 +1,6 @@ +usr/include/* +usr/lib/*/libgpiod*.so +usr/lib/*/libgpiod*.a +usr/lib/*/libgpiodcxx*.so +usr/lib/*/libgpiodcxx*.a +usr/lib/*/pkgconfig/libgpiod*.pc diff --git a/libgpiod-doc.doc-base b/libgpiod-doc.doc-base new file mode 100644 index 0000000..358bd82 --- /dev/null +++ b/libgpiod-doc.doc-base @@ -0,0 +1,9 @@ +Document: libgpiod +Title: libgpiod Documentation (Doxygen) +Abstract: The doxygen generated documentation for programming with the libgpiod + libraries. +Section: Programming/C + +Format: HTML +Index: /usr/share/doc/libgpiod-dev/html/index.html +Files: /usr/share/doc/libgpiod-dev/html/* diff --git a/libgpiod-doc.docs b/libgpiod-doc.docs new file mode 100644 index 0000000..0bd3136 --- /dev/null +++ b/libgpiod-doc.docs @@ -0,0 +1 @@ +doc/html diff --git a/libgpiod3.install b/libgpiod3.install new file mode 100644 index 0000000..1ce4d28 --- /dev/null +++ b/libgpiod3.install @@ -0,0 +1 @@ +usr/lib/*/libgpiod*.so.* diff --git a/libgpiod3.symbols b/libgpiod3.symbols new file mode 100644 index 0000000..ba72cd7 --- /dev/null +++ b/libgpiod3.symbols @@ -0,0 +1,472 @@ +libgpiod.so.3 libgpiod3 #MINVER# +* Build-Depends-Package: libgpiod-dev + gpiod_api_version@Base 2.1 + gpiod_chip_close@Base 2.1 + gpiod_chip_get_fd@Base 2.1 + gpiod_chip_get_info@Base 2.1 + gpiod_chip_get_line_info@Base 2.1 + gpiod_chip_get_line_offset_from_name@Base 2.1 + gpiod_chip_get_path@Base 2.1 + gpiod_chip_info_free@Base 2.1 + gpiod_chip_info_get_label@Base 2.1 + gpiod_chip_info_get_name@Base 2.1 + gpiod_chip_info_get_num_lines@Base 2.1 + gpiod_chip_open@Base 2.1 + gpiod_chip_read_info_event@Base 2.1 + gpiod_chip_request_lines@Base 2.1 + gpiod_chip_unwatch_line_info@Base 2.1 + gpiod_chip_wait_info_event@Base 2.1 + gpiod_chip_watch_line_info@Base 2.1 + gpiod_edge_event_buffer_free@Base 2.1 + gpiod_edge_event_buffer_get_capacity@Base 2.1 + gpiod_edge_event_buffer_get_event@Base 2.1 + gpiod_edge_event_buffer_get_num_events@Base 2.1 + gpiod_edge_event_buffer_new@Base 2.1 + gpiod_edge_event_copy@Base 2.1 + gpiod_edge_event_free@Base 2.1 + gpiod_edge_event_get_event_type@Base 2.1 + gpiod_edge_event_get_global_seqno@Base 2.1 + gpiod_edge_event_get_line_offset@Base 2.1 + gpiod_edge_event_get_line_seqno@Base 2.1 + gpiod_edge_event_get_timestamp_ns@Base 2.1 + gpiod_info_event_free@Base 2.1 + gpiod_info_event_get_event_type@Base 2.1 + gpiod_info_event_get_line_info@Base 2.1 + gpiod_info_event_get_timestamp_ns@Base 2.1 + gpiod_is_gpiochip_device@Base 2.1 + gpiod_line_config_add_line_settings@Base 2.1 + gpiod_line_config_free@Base 2.1 + gpiod_line_config_get_configured_offsets@Base 2.1 + gpiod_line_config_get_line_settings@Base 2.1 + gpiod_line_config_get_num_configured_offsets@Base 2.1 + gpiod_line_config_new@Base 2.1 + gpiod_line_config_reset@Base 2.1 + gpiod_line_config_set_output_values@Base 2.1 + gpiod_line_info_copy@Base 2.1 + gpiod_line_info_free@Base 2.1 + gpiod_line_info_get_bias@Base 2.1 + gpiod_line_info_get_consumer@Base 2.1 + gpiod_line_info_get_debounce_period_us@Base 2.1 + gpiod_line_info_get_direction@Base 2.1 + gpiod_line_info_get_drive@Base 2.1 + gpiod_line_info_get_edge_detection@Base 2.1 + gpiod_line_info_get_event_clock@Base 2.1 + gpiod_line_info_get_name@Base 2.1 + gpiod_line_info_get_offset@Base 2.1 + gpiod_line_info_is_active_low@Base 2.1 + gpiod_line_info_is_debounced@Base 2.1 + gpiod_line_info_is_used@Base 2.1 + gpiod_line_request_get_chip_name@Base 2.1 + gpiod_line_request_get_fd@Base 2.1 + gpiod_line_request_get_num_requested_lines@Base 2.1 + gpiod_line_request_get_requested_offsets@Base 2.1 + gpiod_line_request_get_value@Base 2.1 + gpiod_line_request_get_values@Base 2.1 + gpiod_line_request_get_values_subset@Base 2.1 + gpiod_line_request_read_edge_events@Base 2.1 + gpiod_line_request_reconfigure_lines@Base 2.1 + gpiod_line_request_release@Base 2.1 + gpiod_line_request_set_value@Base 2.1 + gpiod_line_request_set_values@Base 2.1 + gpiod_line_request_set_values_subset@Base 2.1 + gpiod_line_request_wait_edge_events@Base 2.1 + gpiod_line_settings_copy@Base 2.1 + gpiod_line_settings_free@Base 2.1 + gpiod_line_settings_get_active_low@Base 2.1 + gpiod_line_settings_get_bias@Base 2.1 + gpiod_line_settings_get_debounce_period_us@Base 2.1 + gpiod_line_settings_get_direction@Base 2.1 + gpiod_line_settings_get_drive@Base 2.1 + gpiod_line_settings_get_edge_detection@Base 2.1 + gpiod_line_settings_get_event_clock@Base 2.1 + gpiod_line_settings_get_output_value@Base 2.1 + gpiod_line_settings_new@Base 2.1 + gpiod_line_settings_reset@Base 2.1 + gpiod_line_settings_set_active_low@Base 2.1 + gpiod_line_settings_set_bias@Base 2.1 + gpiod_line_settings_set_debounce_period_us@Base 2.1 + gpiod_line_settings_set_direction@Base 2.1 + gpiod_line_settings_set_drive@Base 2.1 + gpiod_line_settings_set_edge_detection@Base 2.1 + gpiod_line_settings_set_event_clock@Base 2.1 + gpiod_line_settings_set_output_value@Base 2.1 + gpiod_request_config_free@Base 2.1 + gpiod_request_config_get_consumer@Base 2.1 + gpiod_request_config_get_event_buffer_size@Base 2.1 + gpiod_request_config_new@Base 2.1 + gpiod_request_config_set_consumer@Base 2.1 + gpiod_request_config_set_event_buffer_size@Base 2.1 +libgpiodcxx.so.2 libgpiod3 #MINVER# +* Build-Depends-Package: libgpiod-dev + (c++|optional)"typeinfo for __gnu_cxx::__mutex@Base" 2.1-1~exp1 + (c++|optional)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)1>@Base" 2.1-1~exp1 + (c++|optional)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)1>@Base" 2.1-1~exp1 + (c++|optional)"typeinfo name for __gnu_cxx::__mutex@Base" 2.1-1~exp1 + (c++|optional)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)1>@Base" 2.1-1~exp1 + (c++|optional)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)1>@Base" 2.1-1~exp1 + (c++)"std::piecewise_construct@Base" 2.1 + (c++|arch-bits=32)"gpiod::line_request::read_edge_events(gpiod::edge_event_buffer&, unsigned int)@Base" 2.1 + (c++|arch-bits=32)"gpiod::line_settings::set_debounce_period(std::chrono::duration > const&)@Base" 2.1 + (c++|arch-bits=32)"gpiod::request_config::set_event_buffer_size(unsigned int)@Base" 2.1 + (c++|arch-bits=32)"gpiod::request_builder::set_event_buffer_size(unsigned int)@Base" 2.1 + (c++|arch-bits=32)"gpiod::edge_event_buffer::edge_event_buffer(unsigned int)@Base" 2.1 + (c++|arch-bits=32)"gpiod::line_request::wait_edge_events(std::chrono::duration > const&) const@Base" 2.1 + (c++|arch-bits=32)"gpiod::chip::wait_info_event(std::chrono::duration > const&) const@Base" 2.1 + (c++)"gpiod::edge_event::edge_event(gpiod::edge_event&&)@Base" 2.1 + (c++)"gpiod::edge_event::edge_event(gpiod::edge_event const&)@Base" 2.1 + (c++)"gpiod::edge_event::edge_event(gpiod::edge_event&&)@Base" 2.1 + (c++)"gpiod::edge_event::edge_event(gpiod::edge_event const&)@Base" 2.1 + (c++)"gpiod::edge_event::~edge_event()@Base" 2.1 + (c++)"gpiod::edge_event::~edge_event()@Base" 2.1 + (c++)"gpiod::edge_event::operator=(gpiod::edge_event&&)@Base" 2.1 + (c++)"gpiod::edge_event::operator=(gpiod::edge_event const&)@Base" 2.1 + (c++)"gpiod::info_event::info_event(gpiod::info_event&&)@Base" 2.1 + (c++)"gpiod::info_event::info_event(gpiod::info_event const&)@Base" 2.1 + (c++)"gpiod::info_event::info_event(gpiod::info_event&&)@Base" 2.1 + (c++)"gpiod::info_event::info_event(gpiod::info_event const&)@Base" 2.1 + (c++)"gpiod::info_event::~info_event()@Base" 2.1 + (c++)"gpiod::info_event::~info_event()@Base" 2.1 + (c++)"gpiod::info_event::operator=(gpiod::info_event&&)@Base" 2.1 + (c++)"gpiod::info_event::operator=(gpiod::info_event const&)@Base" 2.1 + (c++)"gpiod::api_version[abi:cxx11]()@Base" 2.1 + (c++)"gpiod::bad_mapping::bad_mapping(gpiod::bad_mapping&&)@Base" 2.1 + (c++)"gpiod::bad_mapping::bad_mapping(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::bad_mapping::bad_mapping(gpiod::bad_mapping const&)@Base" 2.1 + (c++)"gpiod::bad_mapping::bad_mapping(gpiod::bad_mapping&&)@Base" 2.1 + (c++)"gpiod::bad_mapping::bad_mapping(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::bad_mapping::bad_mapping(gpiod::bad_mapping const&)@Base" 2.1 + (c++)"gpiod::bad_mapping::~bad_mapping()@Base" 2.1 + (c++)"gpiod::bad_mapping::~bad_mapping()@Base" 2.1 + (c++)"gpiod::bad_mapping::~bad_mapping()@Base" 2.1 + (c++)"gpiod::bad_mapping::operator=(gpiod::bad_mapping&&)@Base" 2.1 + (c++)"gpiod::bad_mapping::operator=(gpiod::bad_mapping const&)@Base" 2.1 + (c++)"gpiod::chip_closed::chip_closed(gpiod::chip_closed&&)@Base" 2.1 + (c++)"gpiod::chip_closed::chip_closed(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::chip_closed::chip_closed(gpiod::chip_closed const&)@Base" 2.1 + (c++)"gpiod::chip_closed::chip_closed(gpiod::chip_closed&&)@Base" 2.1 + (c++)"gpiod::chip_closed::chip_closed(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::chip_closed::chip_closed(gpiod::chip_closed const&)@Base" 2.1 + (c++)"gpiod::chip_closed::~chip_closed()@Base" 2.1 + (c++)"gpiod::chip_closed::~chip_closed()@Base" 2.1 + (c++)"gpiod::chip_closed::~chip_closed()@Base" 2.1 + (c++)"gpiod::chip_closed::operator=(gpiod::chip_closed&&)@Base" 2.1 + (c++)"gpiod::chip_closed::operator=(gpiod::chip_closed const&)@Base" 2.1 + (c++)"gpiod::line_config::add_line_settings(gpiod::line::offset, gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::line_config::add_line_settings(std::vector > const&, gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::line_config::set_output_values(std::vector > const&)@Base" 2.1 + (c++)"gpiod::line_config::reset()@Base" 2.1 + (c++)"gpiod::line_config::line_config(gpiod::line_config&&)@Base" 2.1 + (c++)"gpiod::line_config::line_config()@Base" 2.1 + (c++)"gpiod::line_config::line_config(gpiod::line_config&&)@Base" 2.1 + (c++)"gpiod::line_config::line_config()@Base" 2.1 + (c++)"gpiod::line_config::~line_config()@Base" 2.1 + (c++)"gpiod::line_config::~line_config()@Base" 2.1 + (c++)"gpiod::line_config::operator=(gpiod::line_config&&)@Base" 2.1 + (c++)"gpiod::line_request::get_values(std::vector > const&)@Base" 2.1 + (c++)"gpiod::line_request::get_values(std::vector > const&, std::vector >&)@Base" 2.1 + (c++)"gpiod::line_request::get_values(std::vector >&)@Base" 2.1 + (c++)"gpiod::line_request::get_values()@Base" 2.1 + (c++)"gpiod::line_request::set_values(std::vector > const&)@Base" 2.1 + (c++)"gpiod::line_request::set_values(std::vector > const&, std::vector > const&)@Base" 2.1 + (c++)"gpiod::line_request::set_values(std::vector, std::allocator > > const&)@Base" 2.1 + (c++)"gpiod::line_request::read_edge_events(gpiod::edge_event_buffer&)@Base" 2.1 + (c++|arch-bits=64)"gpiod::line_request::read_edge_events(gpiod::edge_event_buffer&, unsigned long)@Base" 2.1 + (c++)"gpiod::line_request::reconfigure_lines(gpiod::line_config const&)@Base" 2.1 + (c++)"gpiod::line_request::release()@Base" 2.1 + (c++)"gpiod::line_request::get_value(gpiod::line::offset)@Base" 2.1 + (c++)"gpiod::line_request::set_value(gpiod::line::offset, gpiod::line::value)@Base" 2.1 + (c++)"gpiod::line_request::line_request(gpiod::line_request&&)@Base" 2.1 + (c++)"gpiod::line_request::line_request(gpiod::line_request&&)@Base" 2.1 + (c++)"gpiod::line_request::~line_request()@Base" 2.1 + (c++)"gpiod::line_request::~line_request()@Base" 2.1 + (c++)"gpiod::line_request::operator=(gpiod::line_request&&)@Base" 2.1 + (c++)"gpiod::line_settings::set_direction(gpiod::line::direction)@Base" 2.1 + (c++)"gpiod::line_settings::set_active_low(bool)@Base" 2.1 + (c++)"gpiod::line_settings::set_event_clock(gpiod::line::clock)@Base" 2.1 + (c++)"gpiod::line_settings::set_output_value(gpiod::line::value)@Base" 2.1 + (c++)"gpiod::line_settings::set_edge_detection(gpiod::line::edge)@Base" 2.1 + (c++|arch-bits=64)"gpiod::line_settings::set_debounce_period(std::chrono::duration > const&)@Base" 2.1 + (c++)"gpiod::line_settings::reset()@Base" 2.1 + (c++)"gpiod::line_settings::set_bias(gpiod::line::bias)@Base" 2.1 + (c++)"gpiod::line_settings::set_drive(gpiod::line::drive)@Base" 2.1 + (c++)"gpiod::line_settings::line_settings(gpiod::line_settings&&)@Base" 2.1 + (c++)"gpiod::line_settings::line_settings(gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::line_settings::line_settings()@Base" 2.1 + (c++)"gpiod::line_settings::line_settings(gpiod::line_settings&&)@Base" 2.1 + (c++)"gpiod::line_settings::line_settings(gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::line_settings::line_settings()@Base" 2.1 + (c++)"gpiod::line_settings::~line_settings()@Base" 2.1 + (c++)"gpiod::line_settings::~line_settings()@Base" 2.1 + (c++)"gpiod::line_settings::operator=(gpiod::line_settings&&)@Base" 2.1 + (c++)"gpiod::line_settings::operator=(gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::request_config::set_consumer(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++|arch-bits=64)"gpiod::request_config::set_event_buffer_size(unsigned long)@Base" 2.1 + (c++)"gpiod::request_config::request_config(gpiod::request_config&&)@Base" 2.1 + (c++)"gpiod::request_config::request_config()@Base" 2.1 + (c++)"gpiod::request_config::request_config(gpiod::request_config&&)@Base" 2.1 + (c++)"gpiod::request_config::request_config()@Base" 2.1 + (c++)"gpiod::request_config::~request_config()@Base" 2.1 + (c++)"gpiod::request_config::~request_config()@Base" 2.1 + (c++)"gpiod::request_config::operator=(gpiod::request_config&&)@Base" 2.1 + (c++)"gpiod::request_builder::do_request()@Base" 2.1 + (c++)"gpiod::request_builder::set_consumer(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::request_builder::set_line_config(gpiod::line_config&)@Base" 2.1 + (c++)"gpiod::request_builder::add_line_settings(gpiod::line::offset, gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::request_builder::add_line_settings(std::vector > const&, gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::request_builder::set_output_values(std::vector > const&)@Base" 2.1 + (c++)"gpiod::request_builder::set_request_config(gpiod::request_config&)@Base" 2.1 + (c++|arch-bits=64)"gpiod::request_builder::set_event_buffer_size(unsigned long)@Base" 2.1 + (c++)"gpiod::request_builder::request_builder(gpiod::request_builder&&)@Base" 2.1 + (c++)"gpiod::request_builder::request_builder(gpiod::chip&)@Base" 2.1 + (c++)"gpiod::request_builder::request_builder(gpiod::request_builder&&)@Base" 2.1 + (c++)"gpiod::request_builder::request_builder(gpiod::chip&)@Base" 2.1 + (c++)"gpiod::request_builder::~request_builder()@Base" 2.1 + (c++)"gpiod::request_builder::~request_builder()@Base" 2.1 + (c++)"gpiod::request_builder::operator=(gpiod::request_builder&&)@Base" 2.1 + (c++)"gpiod::request_released::request_released(gpiod::request_released&&)@Base" 2.1 + (c++)"gpiod::request_released::request_released(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::request_released::request_released(gpiod::request_released const&)@Base" 2.1 + (c++)"gpiod::request_released::request_released(gpiod::request_released&&)@Base" 2.1 + (c++)"gpiod::request_released::request_released(std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++)"gpiod::request_released::request_released(gpiod::request_released const&)@Base" 2.1 + (c++)"gpiod::request_released::~request_released()@Base" 2.1 + (c++)"gpiod::request_released::~request_released()@Base" 2.1 + (c++)"gpiod::request_released::~request_released()@Base" 2.1 + (c++)"gpiod::request_released::operator=(gpiod::request_released&&)@Base" 2.1 + (c++)"gpiod::request_released::operator=(gpiod::request_released const&)@Base" 2.1 + (c++)"gpiod::edge_event_buffer::edge_event_buffer(gpiod::edge_event_buffer&&)@Base" 2.1 + (c++|arch-bits=64)"gpiod::edge_event_buffer::edge_event_buffer(unsigned long)@Base" 2.1 + (c++)"gpiod::edge_event_buffer::edge_event_buffer(gpiod::edge_event_buffer&&)@Base" 2.1 + (c++)"gpiod::edge_event_buffer::~edge_event_buffer()@Base" 2.1 + (c++)"gpiod::edge_event_buffer::~edge_event_buffer()@Base" 2.1 + (c++)"gpiod::edge_event_buffer::operator=(gpiod::edge_event_buffer&&)@Base" 2.1 + (c++)"gpiod::is_gpiochip_device(std::filesystem::__cxx11::path const&)@Base" 2.1 + (c++)"gpiod::chip::prepare_request()@Base" 2.1 + (c++)"gpiod::chip::close()@Base" 2.1 + (c++)"gpiod::chip::chip(gpiod::chip&&)@Base" 2.1 + (c++)"gpiod::chip::chip(std::filesystem::__cxx11::path const&)@Base" 2.1 + (c++)"gpiod::chip::chip(gpiod::chip&&)@Base" 2.1 + (c++)"gpiod::chip::chip(std::filesystem::__cxx11::path const&)@Base" 2.1 + (c++)"gpiod::chip::~chip()@Base" 2.1 + (c++)"gpiod::chip::~chip()@Base" 2.1 + (c++)"gpiod::chip::operator=(gpiod::chip&&)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, gpiod::line::bias)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, gpiod::line::edge)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, gpiod::line::clock)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, gpiod::line::drive)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, gpiod::line::value)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, gpiod::line::direction)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, std::pair const&)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, std::vector > const&)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, std::vector > const&)@Base" 2.1 + (c++)"gpiod::line::operator<<(std::basic_ostream >&, std::vector, std::allocator > > const&)@Base" 2.1 + (c++)"gpiod::chip_info::chip_info(gpiod::chip_info&&)@Base" 2.1 + (c++)"gpiod::chip_info::chip_info(gpiod::chip_info const&)@Base" 2.1 + (c++)"gpiod::chip_info::chip_info()@Base" 2.1 + (c++)"gpiod::chip_info::chip_info(gpiod::chip_info&&)@Base" 2.1 + (c++)"gpiod::chip_info::chip_info(gpiod::chip_info const&)@Base" 2.1 + (c++)"gpiod::chip_info::chip_info()@Base" 2.1 + (c++)"gpiod::chip_info::~chip_info()@Base" 2.1 + (c++)"gpiod::chip_info::~chip_info()@Base" 2.1 + (c++)"gpiod::chip_info::operator=(gpiod::chip_info&&)@Base" 2.1 + (c++)"gpiod::chip_info::operator=(gpiod::chip_info const&)@Base" 2.1 + (c++)"gpiod::line_info::line_info(gpiod::line_info&&)@Base" 2.1 + (c++)"gpiod::line_info::line_info(gpiod::line_info const&)@Base" 2.1 + (c++)"gpiod::line_info::line_info(gpiod::line_info&&)@Base" 2.1 + (c++)"gpiod::line_info::line_info(gpiod::line_info const&)@Base" 2.1 + (c++)"gpiod::line_info::~line_info()@Base" 2.1 + (c++)"gpiod::line_info::~line_info()@Base" 2.1 + (c++)"gpiod::line_info::operator=(gpiod::line_info&&)@Base" 2.1 + (c++)"gpiod::line_info::operator=(gpiod::line_info const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::edge_event const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::info_event const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::line_config const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::line_request const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::line_settings const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::request_config const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::request_builder const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::edge_event_buffer const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::chip const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::chip_info const&)@Base" 2.1 + (c++)"gpiod::operator<<(std::basic_ostream >&, gpiod::line_info const&)@Base" 2.1 + (c++)"gpiod::edge_event::line_seqno() const@Base" 2.1 + (c++)"gpiod::edge_event::line_offset() const@Base" 2.1 + (c++)"gpiod::edge_event::global_seqno() const@Base" 2.1 + (c++)"gpiod::edge_event::timestamp_ns() const@Base" 2.1 + (c++)"gpiod::edge_event::type() const@Base" 2.1 + (c++)"gpiod::info_event::timestamp_ns() const@Base" 2.1 + (c++)"gpiod::info_event::get_line_info() const@Base" 2.1 + (c++)"gpiod::info_event::type() const@Base" 2.1 + (c++)"gpiod::line_config::get_line_settings() const@Base" 2.1 + (c++|arch-bits=64)"gpiod::line_request::wait_edge_events(std::chrono::duration > const&) const@Base" 2.1 + (c++)"gpiod::line_request::fd() const@Base" 2.1 + (c++)"gpiod::line_request::offsets() const@Base" 2.1 + (c++)"gpiod::line_request::chip_name[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::line_request::num_lines() const@Base" 2.1 + (c++)"gpiod::line_request::operator bool() const@Base" 2.1 + (c++)"gpiod::line_settings::active_low() const@Base" 2.1 + (c++)"gpiod::line_settings::event_clock() const@Base" 2.1 + (c++)"gpiod::line_settings::output_value() const@Base" 2.1 + (c++)"gpiod::line_settings::edge_detection() const@Base" 2.1 + (c++)"gpiod::line_settings::debounce_period() const@Base" 2.1 + (c++)"gpiod::line_settings::bias() const@Base" 2.1 + (c++)"gpiod::line_settings::drive() const@Base" 2.1 + (c++)"gpiod::line_settings::direction() const@Base" 2.1 + (c++)"gpiod::request_config::event_buffer_size() const@Base" 2.1 + (c++)"gpiod::request_config::consumer[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::request_builder::get_line_config() const@Base" 2.1 + (c++)"gpiod::request_builder::get_request_config() const@Base" 2.1 + (c++)"gpiod::edge_event_buffer::num_events() const@Base" 2.1 + (c++)"gpiod::edge_event_buffer::end() const@Base" 2.1 + (c++)"gpiod::edge_event_buffer::begin() const@Base" 2.1 + (c++)"gpiod::edge_event_buffer::capacity() const@Base" 2.1 + (c++)"gpiod::edge_event_buffer::get_event(unsigned int) const@Base" 2.1 + (c++)"gpiod::chip::get_line_info(gpiod::line::offset) const@Base" 2.1 + (c++)"gpiod::chip::read_info_event() const@Base" 2.1 + (c++|arch-bits=64)"gpiod::chip::wait_info_event(std::chrono::duration > const&) const@Base" 2.1 + (c++)"gpiod::chip::watch_line_info(gpiod::line::offset) const@Base" 2.1 + (c++)"gpiod::chip::unwatch_line_info(gpiod::line::offset) const@Base" 2.1 + (c++)"gpiod::chip::get_line_offset_from_name(std::__cxx11::basic_string, std::allocator > const&) const@Base" 2.1 + (c++)"gpiod::chip::fd() const@Base" 2.1 + (c++)"gpiod::chip::path[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::chip::get_info() const@Base" 2.1 + (c++)"gpiod::chip::operator bool() const@Base" 2.1 + (c++)"gpiod::chip_info::name[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::chip_info::label[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::chip_info::num_lines() const@Base" 2.1 + (c++)"gpiod::line_info::active_low() const@Base" 2.1 + (c++)"gpiod::line_info::event_clock() const@Base" 2.1 + (c++)"gpiod::line_info::edge_detection() const@Base" 2.1 + (c++)"gpiod::line_info::debounce_period() const@Base" 2.1 + (c++)"gpiod::line_info::bias() const@Base" 2.1 + (c++)"gpiod::line_info::name[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::line_info::used() const@Base" 2.1 + (c++)"gpiod::line_info::drive() const@Base" 2.1 + (c++)"gpiod::line_info::offset() const@Base" 2.1 + (c++)"gpiod::line_info::consumer[abi:cxx11]() const@Base" 2.1 + (c++)"gpiod::line_info::debounced() const@Base" 2.1 + (c++)"gpiod::line_info::direction() const@Base" 2.1 + (c++|optional)"std::unique_ptr::~unique_ptr()@Base" 2.1 + (c++|optional)"std::unique_ptr::~unique_ptr()@Base" 2.1 + (c++|optional)"std::system_error::system_error(int, std::_V2::error_category const&, std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::system_error::system_error(int, std::_V2::error_category const&, std::__cxx11::basic_string, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release()@Base" 2.1 + (c++|optional)"std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release_last_use_cold()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::map(std::initializer_list, std::allocator > > >, std::less const&, std::allocator, std::allocator > > > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator >, std::less, std::allocator, std::allocator > > > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::map(std::initializer_list >, std::less const&, std::allocator > const&)@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::map, std::allocator > >::~map()@Base" 2.1 + (c++|optional)"std::vector >::~vector()@Base" 2.1 + (c++|optional)"std::vector >::~vector()@Base" 2.1 + (c++|optional)"void std::vector, std::allocator >, std::allocator, std::allocator > > >::_M_realloc_insert, std::allocator > >(__gnu_cxx::__normal_iterator, std::allocator >*, std::vector, std::allocator >, std::allocator, std::allocator > > > >, std::__cxx11::basic_string, std::allocator >&&)@Base" 2.1 + (c++|optional)"std::vector >::_M_default_append(unsigned long)@Base" 2.1 + (c++|optional)"std::vector >::~vector()@Base" 2.1 + (c++|optional)"std::vector >::~vector()@Base" 2.1 + (c++|optional)"std::__cxx11::basic_string, std::allocator >::basic_string >(char const*, std::allocator const&)@Base" 2.1 + (c++)"typeinfo for gpiod::bad_mapping@Base" 2.1 + (c++)"typeinfo for gpiod::chip_closed@Base" 2.1 + (c++)"typeinfo for gpiod::request_released@Base" 2.1 + (c++|optional)"typeinfo for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.1 + (c++|optional)"typeinfo for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.1 + (c++)"typeinfo name for gpiod_line_bias@Base" 2.1 + (c++)"typeinfo name for gpiod_line_edge@Base" 2.1 + (c++)"typeinfo name for gpiod_line_clock@Base" 2.1 + (c++)"typeinfo name for gpiod_line_drive@Base" 2.1 + (c++)"typeinfo name for gpiod_line_value@Base" 2.1 + (c++)"typeinfo name for gpiod_line_direction@Base" 2.1 + (c++)"typeinfo name for gpiod::edge_event::event_type@Base" 2.1 + (c++)"typeinfo name for gpiod::info_event::event_type@Base" 2.1 + (c++)"typeinfo name for gpiod::bad_mapping@Base" 2.1 + (c++)"typeinfo name for gpiod::chip_closed@Base" 2.1 + (c++)"typeinfo name for gpiod::request_released@Base" 2.1 + (c++)"typeinfo name for gpiod::line::bias@Base" 2.1 + (c++)"typeinfo name for gpiod::line::edge@Base" 2.1 + (c++)"typeinfo name for gpiod::line::clock@Base" 2.1 + (c++)"typeinfo name for gpiod::line::drive@Base" 2.1 + (c++)"typeinfo name for gpiod::line::value@Base" 2.1 + (c++)"typeinfo name for gpiod::line::direction@Base" 2.1 + (c++|optional)"typeinfo name for std::_Mutex_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.1 + (c++|optional)"typeinfo name for std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>@Base" 2.1 + (c++)"vtable for gpiod::bad_mapping@Base" 2.1 + (c++)"vtable for gpiod::chip_closed@Base" 2.1 + (c++)"vtable for gpiod::request_released@Base" 2.1 diff --git a/patches/Don-t-run-help2man-during-cross-builds-and-use-pre-genera.patch b/patches/Don-t-run-help2man-during-cross-builds-and-use-pre-genera.patch new file mode 100644 index 0000000..c3f2037 --- /dev/null +++ b/patches/Don-t-run-help2man-during-cross-builds-and-use-pre-genera.patch @@ -0,0 +1,32 @@ +From: =?utf-8?b?IlNaIExpbiAo5p6X5LiK5pm6KSI=?= +Date: Mon, 9 Nov 2020 11:24:33 +0800 +Subject: Don't run help2man during cross builds and use pre-generated manual + pages instead - Thanks to Helmut Grohne +Forwarded: not-needed +--- + configure.ac | 2 +- + man/Makefile.am | 4 ++-- + 2 files changed, 3 insertions(+), 3 deletions(-) + +--- a/configure.ac ++++ b/configure.ac +@@ -257,7 +257,7 @@ + then + AC_CHECK_PROG([has_help2man], [help2man], [true], [false]) + fi +-AM_CONDITIONAL([WITH_MANPAGES], [test "x$has_help2man" = xtrue]) ++AM_CONDITIONAL([WITH_HELP2MAN], [test "x$has_help2man" = xtrue]) + if test "x$has_help2man" = xfalse + then + AC_MSG_NOTICE([help2man not found - man pages cannot be generated automatically]) +--- a/man/Makefile.am ++++ b/man/Makefile.am +@@ -1,7 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0-or-later + # SPDX-FileCopyrightText: 2017-2021 Bartosz Golaszewski + +-if WITH_MANPAGES ++if WITH_HELP2MAN + + dist_man1_MANS = \ + gpiodetect.man \ diff --git a/patches/python3-all-versions-byte-compile b/patches/python3-all-versions-byte-compile new file mode 100644 index 0000000..eccd99f --- /dev/null +++ b/patches/python3-all-versions-byte-compile @@ -0,0 +1,40 @@ +Description: bindings: python: byte compile by python3-all versions + This patch ensures this package is compatible with the Python versions in + python3-all. Before this patch, there will be an import error for the Python + version, which is not installed in the python3 package. +Author: Gavin Lai (賴建宇) +Forwarded: not-needed +Last-Update: 2024-02-25 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/bindings/python/Makefile.am ++++ b/bindings/python/Makefile.am +@@ -12,14 +12,22 @@ + endif + + all-local: +- GPIOD_WITH_TESTS=$(BUILD_TESTS) \ +- $(PYTHON) setup.py build_ext --inplace \ +- --include-dirs=$(top_srcdir)/include/:$(top_srcdir)/tests/gpiosim/ \ +- --library-dirs=$(top_builddir)/lib/.libs/:$(top_srcdir)/tests/gpiosim/.libs/ ++ @PYTHON_VERSIONS=$$(py3versions -s); \ ++ for py in $$PYTHON_VERSIONS; do \ ++ echo "Using $$py for building..."; \ ++ GPIOD_WITH_TESTS=$(BUILD_TESTS) \ ++ $$py setup.py build_ext --inplace \ ++ --include-dirs=$(top_srcdir)/include/:$(top_srcdir)/tests/gpiosim/ \ ++ --library-dirs=$(top_builddir)/lib/.libs/:$(top_srcdir)/tests/gpiosim/.libs/; \ ++ done + + install-exec-local: +- GPIOD_WITH_TESTS= \ +- $(PYTHON) setup.py install --root=$(if $(DESTDIR),$(DESTDIR),/) --prefix=$(prefix) ++ @PYTHON_VERSIONS=$$(py3versions -s); \ ++ for py in $$PYTHON_VERSIONS; do \ ++ echo "Using $$py for building..."; \ ++ GPIOD_WITH_TESTS= \ ++ $$py setup.py install --root=$(if $(DESTDIR),$(DESTDIR),/) --prefix=$(prefix); \ ++ done + + SUBDIRS = gpiod + diff --git a/patches/series b/patches/series new file mode 100644 index 0000000..5081372 --- /dev/null +++ b/patches/series @@ -0,0 +1,2 @@ +Don-t-run-help2man-during-cross-builds-and-use-pre-genera.patch +python3-all-versions-byte-compile diff --git a/python3-libgpiod.examples b/python3-libgpiod.examples new file mode 100644 index 0000000..f230bb5 --- /dev/null +++ b/python3-libgpiod.examples @@ -0,0 +1 @@ +bindings/python/examples/*.py diff --git a/python3-libgpiod.install b/python3-libgpiod.install new file mode 100644 index 0000000..7553ec0 --- /dev/null +++ b/python3-libgpiod.install @@ -0,0 +1 @@ +usr/local/lib/*/dist-packages/* diff --git a/rules b/rules new file mode 100755 index 0000000..e600b13 --- /dev/null +++ b/rules @@ -0,0 +1,41 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all optimize=+lto abi=+time64 +export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic + +%: +ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),) + dh $@ --with python3 --exclude=.la +else + dh $@ --exclude=.la +endif + +override_dh_auto_configure: + dh_auto_configure -- \ + --enable-tools=yes \ + --$(if $(filter nopython,$(DEB_BUILD_PROFILES)),dis,en)able-bindings-python \ + --enable-bindings-cxx \ + $(NULL) + +# Architecture: all only: build the doxygen documentation +override_dh_auto_build-indep: +ifeq (,$(filter nodoc,$(DEB_BUILD_OPTIONS))) + dh_auto_build -- doc +endif + +# doxygen documentation is installed using dh_installdocs +override_dh_auto_install-indep: + +override_dh_auto_install: + dh_auto_install + rm -rf debian/tmp/usr/local/lib/*/dist-packages/gpiod*.egg-info + rm -f debian/tmp/usr/lib/*/site-packages/gpiod.a + +override_dh_installdocs: + # fix lintian useless-autogenerated-doxygen-file + dh_installdocs -X.md5 + +override_dh_clean: + dh_clean + rm -rf confdefs.h + rm -rf doc/* diff --git a/salsa-ci.yml b/salsa-ci.yml new file mode 100644 index 0000000..d754a70 --- /dev/null +++ b/salsa-ci.yml @@ -0,0 +1,6 @@ +include: + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/salsa-ci.yml + - https://salsa.debian.org/salsa-ci-team/pipeline/raw/master/pipeline-jobs.yml + +variables: + SALSA_CI_REPROTEST_ENABLE_DIFFOSCOPE: 1 diff --git a/source/format b/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/tests/control b/tests/control new file mode 100644 index 0000000..5af39cd --- /dev/null +++ b/tests/control @@ -0,0 +1,2 @@ +Tests: import-module +Depends: python3-all, python3-libgpiod diff --git a/tests/import-module b/tests/import-module new file mode 100644 index 0000000..5821dc5 --- /dev/null +++ b/tests/import-module @@ -0,0 +1,7 @@ +set -e +for py in $(py3versions -s 2>/dev/null) +do + cd "$AUTOPKGTEST_TMPP" + echo "Testing with $py:" + $py -c "import gpiod; print(gpiod)" +done diff --git a/upstream/metadata b/upstream/metadata new file mode 100644 index 0000000..e75df51 --- /dev/null +++ b/upstream/metadata @@ -0,0 +1,5 @@ +Bug-Database: linux-gpio@vger.kernel.org +Bug-Submit: linux-gpio@vger.kernel.org +Name: libgpiod +Repository: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git +Repository-Browse: https://git.kernel.org/pub/scm/libs/libgpiod/libgpiod.git diff --git a/watch b/watch new file mode 100644 index 0000000..e5db649 --- /dev/null +++ b/watch @@ -0,0 +1,4 @@ +version=4 + opts=uversionmangle=s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)\d*)$/$1~$2/,dversionmangle=s/\+(debian|dfsg|ds|deb)(\.\d+)?$// \ + https://mirrors.edge.kernel.org/pub/software/libs/libgpiod/\ + libgpiod-(.+)\.tar\.(?:xz|gz) -- 2.30.2