diff options
Diffstat (limited to '')
-rw-r--r-- | debian/changelog | 151 | ||||
-rw-r--r-- | debian/control | 88 | ||||
-rw-r--r-- | debian/copyright | 284 | ||||
-rw-r--r-- | debian/libnvme-dev.examples | 1 | ||||
-rw-r--r-- | debian/libnvme-dev.install | 5 | ||||
-rw-r--r-- | debian/libnvme-dev.lintian-overrides | 2 | ||||
-rw-r--r-- | debian/libnvme1.install | 1 | ||||
-rw-r--r-- | debian/python3-libnvme.examples | 1 | ||||
-rw-r--r-- | debian/python3-libnvme.install | 1 | ||||
-rwxr-xr-x | debian/rules | 19 | ||||
-rw-r--r-- | debian/source/format | 1 | ||||
-rw-r--r-- | debian/watch | 4 |
12 files changed, 558 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..e828212 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,151 @@ +libnvme (1.8-2) sid; urgency=medium + + * Uploading to sid. + * Temporarily disabling failing tests (Closes: #1064324). + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Tue, 20 Feb 2024 10:22:26 +0100 + +libnvme (1.8-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.8. + * Updating copyright for 2024. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Mon, 19 Feb 2024 11:38:46 +0100 + +libnvme (1.7.1-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.7.1. + * Removing python location workaround, now not needed anymore. + * Removing pci-slots-fd-leak.patch, included upstream. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Sun, 24 Dec 2023 08:51:57 +0100 + +libnvme (1.5-3) sid; urgency=medium + + * Uploading to sid. + * Making workaround for certain meson versions conditional in rules to + fix (now) FTBFS in sid (Closes: #1051722). + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Mon, 11 Sep 2023 22:26:38 +0200 + +libnvme (1.5-2) sid; urgency=medium + + * Uploading to sid. + * Adding patch from upstream to fix fd leaks with /sys/bus/pci/slots + (Closes: #1043095). + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Sun, 06 Aug 2023 09:42:25 +0200 + +libnvme (1.5-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.5. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Sat, 01 Jul 2023 00:36:16 +0200 + +libnvme (1.4-4) sid; urgency=medium + + * Uploading to sid. + * Adding missing dependencies to libnvme-dev, thanks to Michael Biebl + <biebl@debian.org> (Closes: #1039858). + * Workarounding changes for wrong python prefix. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Thu, 29 Jun 2023 03:17:34 +0200 + +libnvme (1.4-3) sid; urgency=medium + + * Uploading to sid. + * Uploading without changes after bookworm release. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Sun, 11 Jun 2023 14:26:23 +0200 + +libnvme (1.4-2) experimental; urgency=medium + + * Uploading to experimental. + * Building with keyutils support. + * Correcting breaks/replaces for transitional package. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Tue, 04 Apr 2023 06:51:42 +0200 + +libnvme (1.4-1) experimental; urgency=medium + + * Uploading to experimental. + * Merging upstream version 1.4. + * Renaming python3-nvme to correct python3-libnvme name (Closes: + #1032635). + * Updating boolean meson values in rules. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Mon, 03 Apr 2023 09:52:03 +0200 + +libnvme (1.3-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.3. + * Removing ftbfs-big-endian.patch, included upstream. + * Adding libdbus-1-dev to build-depends. + * Updating copyright for 2023. + * Sorting copyright file. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Tue, 31 Jan 2023 05:18:01 +0100 + +libnvme (1.2-3) sid; urgency=medium + + * Uploading to sid. + * Updating build-depends on meson to avoid buggy meson version (Closes: + #1026711). + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Wed, 04 Jan 2023 08:40:26 +0100 + +libnvme (1.2-2) sid; urgency=medium + + * Uploading to sid. + * Applying patch from Chris Lamb <lamby@debian.org> to make build + reproducible (Closes: #1023589). + * Adding patch from upstream to fix FTBFS on big endian, thanks to + Benjamin Drung <bdrung@debian.org> (Closes: #1023826). + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Thu, 10 Nov 2022 23:06:24 +0100 + +libnvme (1.2-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.2. + * Using codename instead of suitname in changelog consistently. + * Removing uuid-dev build-dependency, not needed anymore. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Sat, 05 Nov 2022 19:19:21 +0100 + +libnvme (1.1-2) sid; urgency=medium + + * Uploading to sid. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Tue, 18 Oct 2022 16:02:35 +0200 + +libnvme (1.1-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.1. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Mon, 15 Aug 2022 14:26:36 +0200 + +libnvme (1.1~rc0-1) sid; urgency=medium + + * Uploading to sid. + * Merging upstream version 1.1~rc0. + * Updating copyright for newly added mctp support in this upstream + release. + * Updating copyright to reflect license change of log.c in this upstream + release. + * Updating python3-nvme.install for backports. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Tue, 26 Jul 2022 07:34:55 +0200 + +libnvme (1.0-1) sid; urgency=medium + + * Initial upload to sid: + - as of nvme-cli 2.0, upstream has moved the common functionality + out to a shared library. + + -- Daniel Baumann <daniel.baumann@progress-linux.org> Thu, 14 Jul 2022 20:54:45 +0200 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..97680c5 --- /dev/null +++ b/debian/control @@ -0,0 +1,88 @@ +Source: libnvme +Section: libs +Priority: optional +Maintainer: Daniel Baumann <daniel.baumann@progress-linux.org> +Build-Depends: + cmake, + debhelper-compat (= 13), + dh-python, + libdbus-1-dev, + libjson-c-dev, + libkeyutils-dev, + libssl-dev, + meson (>= 1.0.0-1.1~), + pkg-config, + python3-dev, + swig, +Rules-Requires-Root: no +Standards-Version: 4.6.2 +Homepage: https://github.com/linux-nvme/libnvme +Vcs-Browser: https://git.progress-linux.org/users/daniel.baumann/debian/packages/libnvme +Vcs-Git: https://git.progress-linux.org/users/daniel.baumann/debian/packages/libnvme + +Package: libnvme-dev +Section: libdevel +Architecture: any +Depends: + libjson-c-dev, + libkeyutils-dev, + libnvme1 (= ${binary:Version}), + libssl-dev, + ${misc:Depends}, +Description: NVMe management library (development) + NVM Express (NVMe) is a interface specification for accessing non-volatile + storage media, typically modern solid state drives (SSDs) through PCI Express + (PCIe). libnvme provides library functions for accessing and managing NVMe + devices. + . + This package contains the development files. + +Package: libnvme1 +Section: libs +Architecture: any +Depends: + ${misc:Depends}, + ${shlibs:Depends}, +Suggests: + nvme-cli, +Description: NVMe management library (library) + NVM Express (NVMe) is a interface specification for accessing non-volatile + storage media, typically modern solid state drives (SSDs) through PCI Express + (PCIe). libnvme provides library functions for accessing and managing NVMe + devices. + . + This package contains the shared library. + +Package: python3-libnvme +Section: python +Architecture: any +Depends: + libnvme1 (= ${binary:Version}), + ${misc:Depends}, + ${python3:Depends}, + ${shlibs:Depends}, +Breaks: + python3-nvme (<< 1.4~), +Replaces: + python3-nvme, +Description: NVMe management library (Python) + NVM Express (NVMe) is a interface specification for accessing non-volatile + storage media, typically modern solid state drives (SSDs) through PCI Express + (PCIe). libnvme provides library functions for accessing and managing NVMe + devices. + . + This package contains the Python bindings. + +Package: python3-nvme +Section: oldlibs +Priority: extra +Architecture: all +Depends: + python3-libnvme, + ${misc:Depends}, +Description: NVMe management library (transitional package) + Package to ease upgrading from older python3-nvme package to the new + python3-libnvme package. + . + This package can be purged at anytime once the python3-libnvme package has been + installed. diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..d8c9de6 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,284 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: libnvme +Upstream-Contact: https://github.com/linux-nvme/libnvme/issues +Source: https://github.com/linux-nvme/libnvme/releases + +Files: * +Copyright: 2021-2024 Dell Inc. +License: LGPL-2.1+ + +Files: ccan/* +Copyright: Rusty Russell <rusty@rustcorp.com.au> +License: CC0 + +Files: ccan/ccan/list/* +Copyright: Rusty Russell <rusty@rustcorp.com.au> +License: MIT + +Files: ccan/ccan/minmax/* +Copyright: David Gibson <david@gibson.dropbear.id.au> +License: CC0 + +Files: doc/* +Copyright: 2022-2024 Keith Busch <kbusch@kernel.org> +License: LGPL-2.1+ + +Files: doc/kernel-doc +Copyright: 1998 Michael Zucchi + 2000-2001 Tim Waugh <twaugh@redhat.com> + 2001 Simon Huggins + 2005-2012 Randy Dunlap + 2012 Dan Luedtke +License: GPL-2 + +Files: examples/* +Copyright: 2020 Western Digital Corp. +License: LGPL-2.1+ + +Files: examples/discover-loop.py +Copyright: 2021 Hannes Reinecke, SUSE Software Solutions +License: Apache-2.0 + +Files: examples/meson.build +Copyright: 2021 Dell Inc. +License: LGPL-2.1+ + +Files: libnvme/* pyproject.toml +Copyright: 2021 SUSE Software Solutions +License: LGPL-2.1+ + +Files: libnvme/meson.build +Copyright: 2021 Dell Inc. +License: LGPL-2.1+ + +Files: src/* +Copyright: 2020 Western Digital Corporation +License: LGPL-2.1+ + +Files: src/meson.build +Copyright: 2021 Dell Inc. +License: LGPL-2.1+ + +Files: src/nvme/log.c +Copyright: 2021 SUSE LLC +License: LGPL-2.1+ + +Files: src/nvme/log.h +Copyright: 2021 Martin Wilck, SUSE LLC +License: LGPL-2.1+ + +Files: src/nvme/private.h src/nvme/json.c +Copyright: 2021 SUSE Software Solutions +License: LGPL-2.1+ + +Files: test/* +Copyright: 2020 Western Digital Corporation +License: LGPL-2.1+ + +Files: test/meson.build +Copyright: 2021 Dell Inc. +License: LGPL-2.1+ + +Files: test/tree.py +Copyright: 2021 SUSE Software Solutions AG +License: LGPL-2.1+ + +Files: examples/mi-mctp.c src/nvme/mi-mctp.c src/nvme/api-types.h src/nvme/mi.* src/libnvme-mi.h test/utils.* test/mi-mctp.c test/mi.c +Copyright: 2021-2022 Code Construct +License: LGPL-2.1+ + +Files: debian/* +Copyright: 2022-2024 Daniel Baumann <daniel.baumann@progress-linux.org> +License: LGPL-2.1+ + +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 + . + https://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. + . + The complete text of the Apache-2.0 License + can be found in /usr/share/common-licenses/Apache-2.0 file. + +License: CC0 + Creative Commons Legal Code + . + CC0 1.0 Universal + . + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + . + Statement of Purpose + . + The laws of most jurisdictions throughout the world automatically confer + exclusive Copyright and Related Rights (defined below) upon the creator + and subsequent owner(s) (each and all, an "owner") of an original work of + authorship and/or a database (each, a "Work"). + . + Certain owners wish to permanently relinquish those rights to a Work for + the purpose of contributing to a commons of creative, cultural and + scientific works ("Commons") that the public can reliably and without fear + of later claims of infringement build upon, modify, incorporate in other + works, reuse and redistribute as freely as possible in any form whatsoever + and for any purposes, including without limitation commercial purposes. + These owners may contribute to the Commons to promote the ideal of a free + culture and the further production of creative, cultural and scientific + works, or to gain reputation or greater distribution for their Work in + part through the use and efforts of others. + . + For these and/or other purposes and motivations, and without any + expectation of additional consideration or compensation, the person + associating CC0 with a Work (the "Affirmer"), to the extent that he or she + is an owner of Copyright and Related Rights in the Work, voluntarily + elects to apply CC0 to the Work and publicly distribute the Work under its + terms, with knowledge of his or her Copyright and Related Rights in the + Work and the meaning and intended legal effect of CC0 on those rights. + . + 1. Copyright and Related Rights. A Work made available under CC0 may be + protected by copyright and related or neighboring rights ("Copyright and + Related Rights"). Copyright and Related Rights include, but are not + limited to, the following: + . + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); + iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and + vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + . + 2. Waiver. To the greatest extent permitted by, but not in contravention + of, applicable law, Affirmer hereby overtly, fully, permanently, + irrevocably and unconditionally waives, abandons, and surrenders all of + Affirmer's Copyright and Related Rights and associated claims and causes + of action, whether now known or unknown (including existing as well as + future claims and causes of action), in the Work (i) in all territories + worldwide, (ii) for the maximum duration provided by applicable law or + treaty (including future time extensions), (iii) in any current or future + medium and for any number of copies, and (iv) for any purpose whatsoever, + including without limitation commercial, advertising or promotional + purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each + member of the public at large and to the detriment of Affirmer's heirs and + successors, fully intending that such Waiver shall not be subject to + revocation, rescission, cancellation, termination, or any other legal or + equitable action to disrupt the quiet enjoyment of the Work by the public + as contemplated by Affirmer's express Statement of Purpose. + . + 3. Public License Fallback. Should any part of the Waiver for any reason + be judged legally invalid or ineffective under applicable law, then the + Waiver shall be preserved to the maximum extent permitted taking into + account Affirmer's express Statement of Purpose. In addition, to the + extent the Waiver is so judged Affirmer hereby grants to each affected + person a royalty-free, non transferable, non sublicensable, non exclusive, + irrevocable and unconditional license to exercise Affirmer's Copyright and + Related Rights in the Work (i) in all territories worldwide, (ii) for the + maximum duration provided by applicable law or treaty (including future + time extensions), (iii) in any current or future medium and for any number + of copies, and (iv) for any purpose whatsoever, including without + limitation commercial, advertising or promotional purposes (the + "License"). The License shall be deemed effective as of the date CC0 was + applied by Affirmer to the Work. Should any part of the License for any + reason be judged legally invalid or ineffective under applicable law, such + partial invalidity or ineffectiveness shall not invalidate the remainder + of the License, and in such case Affirmer hereby affirms that he or she + will not (i) exercise any of his or her remaining Copyright and Related + Rights in the Work or (ii) assert any associated claims and causes of + action with respect to the Work, in either case contrary to Affirmer's + express Statement of Purpose. + . + 4. Limitations and Disclaimers. + . + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. + +License: GPL-2 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, version 2 of the License. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <https://www.gnu.org/licenses/>. + . + The complete text of the GNU General Public License + can be found in /usr/share/common-licenses/GPL-2 file. + +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 + . + The complete text of the GNU Lesser General Public License + can be found in /usr/share/common-licenses/LGPL-2.1 file. + +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the 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 Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE 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 SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. diff --git a/debian/libnvme-dev.examples b/debian/libnvme-dev.examples new file mode 100644 index 0000000..43ec862 --- /dev/null +++ b/debian/libnvme-dev.examples @@ -0,0 +1 @@ +examples/*.c diff --git a/debian/libnvme-dev.install b/debian/libnvme-dev.install new file mode 100644 index 0000000..e5f703b --- /dev/null +++ b/debian/libnvme-dev.install @@ -0,0 +1,5 @@ +usr/include +usr/lib/*/*.a +usr/lib/*/*.so +usr/lib/*/pkgconfig +usr/share/man diff --git a/debian/libnvme-dev.lintian-overrides b/debian/libnvme-dev.lintian-overrides new file mode 100644 index 0000000..76543e0 --- /dev/null +++ b/debian/libnvme-dev.lintian-overrides @@ -0,0 +1,2 @@ +# lintian false-positives +libnvme-dev: bad-whatis-entry diff --git a/debian/libnvme1.install b/debian/libnvme1.install new file mode 100644 index 0000000..3de3b10 --- /dev/null +++ b/debian/libnvme1.install @@ -0,0 +1 @@ +usr/lib/*/*.so.* diff --git a/debian/python3-libnvme.examples b/debian/python3-libnvme.examples new file mode 100644 index 0000000..2c8fad4 --- /dev/null +++ b/debian/python3-libnvme.examples @@ -0,0 +1 @@ +examples/*.py diff --git a/debian/python3-libnvme.install b/debian/python3-libnvme.install new file mode 100644 index 0000000..4606faa --- /dev/null +++ b/debian/python3-libnvme.install @@ -0,0 +1 @@ +usr/lib/python3* diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..25373e3 --- /dev/null +++ b/debian/rules @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +export KBUILD_BUILD_TIMESTAMP = "@$(SOURCE_DATE_EPOCH)" + +%: + dh ${@} --buildsystem=meson --with python3 + +override_dh_auto_configure: + dh_auto_configure -- -Ddocs=man -Ddocs-build=true -Dpython=enabled -Dopenssl=enabled --default-library=both + +execute_after_dh_auto_install: + # remove empty manpages + find debian/tmp/usr/share/man -type f -empty -exec rm -f {} + + + # fix wrong-manual-section + sed -i -e 's| 9 | 2 |' debian/tmp/usr/share/man/*/*.2 + +override_dh_auto_test: + # disabled diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /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 0000000..5c20944 --- /dev/null +++ b/debian/watch @@ -0,0 +1,4 @@ +version=4 +opts="pgpmode=auto, filenamemangle=s/.+\/v?(\d\S+)\.tar\.gz/libnvme-$1\.tar\.gz/, \ + uversionmangle=s/(\d)\-?((pre|rc)\d*)$/$1~$2/" \ +https://github.com/linux-nvme/libnvme/tags .*/v?(\d\S+)\.tar\.gz |