summaryrefslogtreecommitdiffstats
path: root/debian
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 03:24:09 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 03:24:09 +0000
commit45296c28f7260031283ede25480a094b6e3382d9 (patch)
treeb21c31a14bf20a2e74348174976e81d5c1dbb401 /debian
parentAdding upstream version 2022.06.06. (diff)
downloadwireless-regdb-45296c28f7260031283ede25480a094b6e3382d9.tar.xz
wireless-regdb-45296c28f7260031283ede25480a094b6e3382d9.zip
Adding debian version 2022.06.06-1.debian/2022.06.06-1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian')
-rw-r--r--debian/README.Debian20
-rw-r--r--debian/README.source31
-rw-r--r--debian/certs/benh@debian.org.x509.pem17
-rw-r--r--debian/certs/romain.perier@gmail.com.x509.pem18
-rw-r--r--debian/changelog353
-rw-r--r--debian/control36
-rw-r--r--debian/copyright29
-rw-r--r--debian/gbp.conf2
-rw-r--r--debian/patches/dont_auto_create_keypair36
-rw-r--r--debian/patches/run-scripts-with-python-3.patch46
-rw-r--r--debian/patches/series2
-rw-r--r--debian/regulatory.db.p7sbin0 -> 1225 bytes
-rwxr-xr-xdebian/rules68
-rw-r--r--debian/salsa-ci.yml13
-rw-r--r--debian/source/format1
-rw-r--r--debian/source/include-binaries2
-rw-r--r--debian/source/lintian-overrides2
-rwxr-xr-xdebian/tests/check-signatures136
-rw-r--r--debian/tests/control2
-rw-r--r--debian/upstream/metadata2
-rw-r--r--debian/upstream/signing-key.asc91
-rw-r--r--debian/watch3
-rw-r--r--debian/wireless-regdb.postinst27
-rw-r--r--debian/wireless-regdb.prerm10
24 files changed, 947 insertions, 0 deletions
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..2a72b1c
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,20 @@
+wireless-regdb for Debian
+-------------------------
+
+wireless-regdb provides a machine-readable database of legal
+regulations on radio emissions that affect use of wireless networking.
+The Linux kernel and drivers use this to maintain compliance with
+those regulations.
+
+The database is loaded directly by the kernel (since Linux 4.15, but
+only enabled in the Debian package from 5.5 onward).
+
+If you use a custom kernel built from upstream source, it will only
+trust this database if it is signed by the upstream maintainer of
+wireless-regdb. To use the upstream database and signature instead of
+the Debian version, run:
+
+ update-alternatives --set regulatory.db \
+ /lib/firmware/regulatory.db-upstream
+
+ -- Ben Hutchings <benh@debian.org>, Sat, 22 Jan 2022 16:46:35 +0100
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..14f5435
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,31 @@
+If you need to make an NMU, you'll first have to create a key-pair
+and certificate.
+
+1. Set REGDB_AUTHOR to the address you use in the Debian changelog:
+ REGDB_AUTHOR="example@debian.org"
+2. Generate the private key by running:
+ make REGDB_AUTHOR="$REGDB_AUTHOR" ~/".wireless-regdb-$REGDB_AUTHOR.key.priv.pem"
+3. Generate the public key by running:
+ make REGDB_AUTHOR="$REGDB_AUTHOR" "$REGDB_AUTHOR.key.pub.pem"
+4. Generate a certificate by running:
+ openssl req -new -key ~/.wireless-regdb-"$REGDB_AUTHOR.key.priv.pem" \
+ -days 36500 -utf8 -nodes -batch -x509 \
+ -outform PEM -out "$REGDB_AUTHOR.x509.pem" \
+ -config <(cat <<-EOF
+ [ req ]
+ distinguished_name = req_distinguished_name
+ string_mask = utf8only
+ prompt = no
+ [ req_distinguished_name ]
+ commonName = $REGDB_AUTHOR
+ EOF
+ )
+5. Add the certificate to the linux package and regenerate
+ debian/patches/debian/wireless-add-debian-wireless-regdb-certificates.patch
+ as documented in its patch header.
+
+When preparing a source package, you must run 'debian/rules sign' to
+create a detached signature so that the private key is not needed when
+building the binary package.
+
+ -- Ben Hutchings <benh@debian.org>, Sat, 22 Jan 2022 16:50:24 +0100
diff --git a/debian/certs/benh@debian.org.x509.pem b/debian/certs/benh@debian.org.x509.pem
new file mode 100644
index 0000000..da3981d
--- /dev/null
+++ b/debian/certs/benh@debian.org.x509.pem
@@ -0,0 +1,17 @@
+-----BEGIN CERTIFICATE-----
+MIICvTCCAaUCFFd+Ahy5gODoIIIbp7VLSWG4tPrfMA0GCSqGSIb3DQEBCwUAMBox
+GDAWBgNVBAMMD2JlbmhAZGViaWFuLm9yZzAgFw0yMDAxMzAxMzI2MTNaGA8yMTIw
+MDEwNjEzMjYxM1owGjEYMBYGA1UEAwwPYmVuaEBkZWJpYW4ub3JnMIIBIjANBgkq
+hkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAneF3oCSg1XllOgeQyfalph+EHCMHS0+l
+A8YP91TVi355gQDS6T30l/6EzVW9yY8hV4gGOZBmQSZ5LMo/lYcBES8vsOELQ/xf
+L09nBNtNt3JN0cV2c02RabBxFzbqqwo6zZWbdhuOIRePxQK/JMfAQLE7xIB8caVR
+3Pc6WH+xB4GKENH2kxdx4PpReRXU14+tvW844SZ9vPA+gIm07I5pkNuXivAjI4OC
+O2qxrOvnmXQqNY6pZP1GnujlSGExbub8GRhUwxtP1gBEhxw3Rer1ycsPDFXsz2rC
+RSYjojFSTe4hff1YcsIoxY6p0O4Bdwil8CIrR3krz5pGtY/9ZKK17QIDAQABMA0G
+CSqGSIb3DQEBCwUAA4IBAQAgRP6pnt2b6s4ldQjwK1P3WjYcSiN/0EE8Eiu5gE6K
+FV0fQKcmKDLDWwYoLT0ICR4B6WfjM+YVRTnuF4PbQv9/NfSsFtu6uBogIUH/85L/
+ZW4pFtC/jd9ILHM2fyLm7ni0Y4MOOeuvECqQ0/zmw4+XW3a/m/WY0lMGi/ikBJsb
+YmqdrOZLDcnXVmMVATiMvvFExDgn4M9y1j3k90s70rEM1YNtHhAEaSmIaeB919u0
+WXKNnTxDr8Z9tyEVUorpm2su6Cc8Py2E+5oiCp9qJeY55HRztipwqh3LzNSgGyZx
+YwTFEiFIupInBqg+baFDpdIq98rEJuhbH+TcidwfBHk/
+-----END CERTIFICATE-----
diff --git a/debian/certs/romain.perier@gmail.com.x509.pem b/debian/certs/romain.perier@gmail.com.x509.pem
new file mode 100644
index 0000000..b20d608
--- /dev/null
+++ b/debian/certs/romain.perier@gmail.com.x509.pem
@@ -0,0 +1,18 @@
+-----BEGIN CERTIFICATE-----
+MIICzTCCAbUCFDq7xuwUbgnRtgFqudbPcd0jPwMoMA0GCSqGSIb3DQEBCwUAMCIx
+IDAeBgNVBAMMF3JvbWFpbi5wZXJpZXJAZ21haWwuY29tMCAXDTIwMDIyNDE5MDE0
+NFoYDzIxMjAwMTMxMTkwMTQ0WjAiMSAwHgYDVQQDDBdyb21haW4ucGVyaWVyQGdt
+YWlsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPC4Tz9wePh0
+RaIorwR1BKPzp8cErLbh/OHAPeAmkIpFYMR18xozN1Z9MAd1DqZ5BpWdFzwJqX+r
+lV3t4HUmL2VlzWGxMydnQaEBE+kTam1OmOGeewtbRO9oWm99l6EzIpcSIQmPkOAl
+lN2KOvdKYAQmbQCC5M9kHHkVJPJChvUQhqwgiJCH34w3fL811W+fd8PNaSUGwmVR
+cYl/bk3l1Yo2Gq3BGNYUQofwk4PxmXTEE6o7ZoVv4LxftkCmQQYKug7pMkQQOVPN
+v/PTJva2K0AuuYjB9OOgKHdPuqjKnAW6iJaZVImijfNzoYxKqHHuLtKDFEi9mMbO
+3Kijly5AFi8CAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAdl0DPbaWABtuDN27yN+8
+62wBQBorB2ChGuFDV/q+3ruPc/OSoqqDAcEX5J0JQeAyM5dL8twPi6i4WgSG9nGh
+l9BUVhCOVJkNKqmvG1VZBiukX7FUpuzH1kPuhiybGJ2PAILBiGEWhTwXVv5qoHpo
+xXs9PLYTGJltdGUTZ7f8WkRIcqBzuP8CnXxb+Xx1CjyBgDxB8tX6PR/j2oylFx9T
+GnWtThEcB+wKaf0z+jJ+ZvUp6E2K+g1LaMOVEbpvHgeMhcfHycEwo3CwoeDVhRWU
+d8EckfFfUM0sV0siT+6V16ekWWKuub/XY1oE/CQRrjRL9AyfC1l9JzlUaU/9bkSf
+IQ==
+-----END CERTIFICATE-----
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..1caffc2
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,353 @@
+wireless-regdb (2022.06.06-1) unstable; urgency=medium
+
+ * New upstream version:
+ - Add rules for the 6 GHz band for Canada (CA), United Kingdom (GB),
+ United States (US)
+ - Remove AUTO-BW from 6 GHz rules
+ - Unify 6 GHz rules for EU countries
+ * d/tests/check-signatures: Fix typo in openssl command line
+ * lintian: Fix override pattern for orig-tarball-missing-upstream-signature
+
+ -- Ben Hutchings <benh@debian.org> Sat, 30 Jul 2022 22:10:23 +0200
+
+wireless-regdb (2022.04.08-2) unstable; urgency=medium
+
+ * debian/tests: Add check that regulatory.db signatures are valid
+ * d/wireless-regdb.postinst: Remove regular files installed by d-i
+ (Closes: #1012601)
+
+ -- Ben Hutchings <benh@debian.org> Thu, 30 Jun 2022 00:01:25 +0200
+
+wireless-regdb (2022.04.08-1) unstable; urgency=medium
+
+ * New upstream version:
+ - Raise DFS TX power limit to 250 mW (24 dBm) for the US
+ - Update regulatory rules for Croatia (HR) on 6GHz
+ - Update regulatory rules for France (FR) on 6 and 60 GHz
+ - add support for US S1G channels
+ - add 802.11ah bands to world regulatory domain
+ - Update regulatory rules for Spain (ES) on 6GHz
+ - Update regulatory rules for South Korea (KR)
+ - Update regulatory rules for China (CN) (Closes: #1006127)
+ - Update regulatory rules for the Netherlands (NL) on 6GHz
+ - Update regulatory rules for Israel (IL)
+ - Update regulatory rules for Australia (AU)
+ * d/salsa-ci.yml: Add CI configuration for salsa.debian.org
+ * Remove support for loading through crda (Closes: #973551, #1004347)
+ * d/.gitignore: Ignore another debhelper temporary file
+
+ -- Ben Hutchings <benh@debian.org> Sat, 04 Jun 2022 23:59:01 +0100
+
+wireless-regdb (2021.08.28-1) unstable; urgency=medium
+
+ * New upstream version (Closes: #986208):
+ - Update regulatory rules for Egypt (EG), Croatia (HR), Pakistan (PK)
+ on 5GHz, Great Britain (GB), Kazakhstan (KZ), Ukraine (UA), Cuba (CU)
+ on 5Ghz, Germany (DE) on 6GHz, Norway (NO) on 6 and 60 GHz, Ecuador (EC)
+ - US: restore channel 12 & 13 limitation
+ - US: remove PTMP-ONLY from 5850-5895 MHz
+ - US: reduce bandwidth for 5730-5850 and 5850-5895 MHz
+ - ES: Update CNAF regulation url
+
+ -- Romain Perier <romain.perier@gmail.com> Fri, 17 Sep 2021 18:30:37 +0200
+
+wireless-regdb (2020.04.29-2) unstable; urgency=medium
+
+ * Re-upload without binary packages (SourceOnlyUpload)
+
+ -- Romain Perier <romain.perier@gmail.com> Tue, 30 Jun 2020 19:34:44 +0200
+
+wireless-regdb (2020.04.29-1) unstable; urgency=medium
+
+ [ Romain Perier ]
+ * New upstream version:
+ - GB: Extend to cover DMG channels 5 & 6
+ - Update regulatory rules for Russia (RU), Indonesia (ID), Singapore (SG),
+ United States (US) on 2.4/5G.
+ - Harmonize ranges of CEPT countries (stand of July 2019)
+ - Fix ranges of EU countries as they are harmonized since 2014
+ - Extend 5470-5725 MHz range to 5730 MHz for Taiwan (TW)
+ - Fix overlapping ranges for Switzerland and Liechtenstein
+ * Rebased enable_recording_and_using_an_external_signature.patch onto
+ 2020.04.29
+ * Rebased run-scripts-with-python-3.patch onto 2020.04.29
+ * debian/gbp.conf: Rename old style config section
+
+ [ Debian Janitor ]
+ * Add missing ${misc:Depends} to Depends for wireless-regdb-udeb.
+ * Bump debhelper from deprecated 9 to 12.
+ * Set debhelper-compat version in Build-Depends.
+ * Set upstream metadata fields: Repository.
+ * Update standards version to 4.5.0, no changes needed.
+ * Remove Priority on wireless-regdb-udeb that duplicates source.
+
+ -- Romain Perier <romain.perier@gmail.com> Sun, 24 May 2020 13:15:10 +0200
+
+wireless-regdb (2019.06.03-3) unstable; urgency=medium
+
+ * Re-upload without self-built binary packages
+
+ -- Ben Hutchings <benh@debian.org> Sun, 12 Apr 2020 19:28:35 +0100
+
+wireless-regdb (2019.06.03-2) unstable; urgency=medium
+
+ [ Ben Hutchings ]
+ * Add wireless-regdb-udeb package for use in the installer
+ * debian/control: Use my debian.org email in Maintainers field
+ * debian/control: Change to team-maintained, with me and Romain as
+ Uploaders
+ * debian/README.source: Update instructions for setting REGDB_AUTHOR
+
+ [ Romain Perier ]
+ * debian/certs: Add my certificate
+ * debian/rules: Get REGDB_AUTHOR by using dpkg-parsechangelog
+
+ -- Ben Hutchings <benh@debian.org> Tue, 31 Mar 2020 20:39:33 +0100
+
+wireless-regdb (2019.06.03-1) unstable; urgency=medium
+
+ * New upstream version (Closes: #949553):
+ - Install regulatory.db and regulatory.db.p7s to /lib/firmware
+ (Closes: #892229)
+ - Update rules for Australia (AU), Canada (CA), Switzerland (CH),
+ Germany (DE), Denmark (DK), Spain (ES), Finland (FI), France (FR),
+ Hungary (HU), India (IN), Japan (JP), Republic of Korea (KR),
+ Kazakhstan (KZ), Lithuania (LI), Panama (PA), Portugal (PT),
+ Qatar (QA), Sweden (SE), Singapore (SG), Turkey (TR), Taiwan (TW),
+ and United States (US)
+ - Add ETSI WMM rules and apply them to various territories
+ - Make scripts compatible with Python 3
+ * debian/control: Point Vcs URLs to Salsa
+ * Drop "Set both PASSIVE_SCAN and NO_IBSS flags in binary database",
+ only needed for compatibility with wheezy
+ * debian/rules: Use $(MAKE) for recursive make
+ * debian/patches: Refresh and update for Python 3 compatibility
+ * Run scripts with Python 3 (Closes: #938829)
+ * Expect Debian regulatory.db detached signature in source package
+ * debian/rules: Build under debian/build to avoid overwriting shipped
+ binaries
+ * debian/rules: Only build regulatory.{bin,db} during binary build
+ * debian/rules: Update exclusion of custom public keys from the package
+ * debian/rules: Verify that our binaries match upstream unless db.txt is
+ patched
+ * Install upstream and Debian versions of regulatory.db as alternatives
+ * debian/contol: Rewrite package description
+ * debian/copyright: Use https: scheme in Format
+ * Add upstream public key and enable signature checking in debian/watch
+ * debian/control: Set Rules-Requires-Root: no
+ * debian/control: Update Standards-Version to 4.4.1
+ * lintian: Override orig-tarball-missing-upstream-signature warning as
+ this is blocked by bug #882694
+ * Add and use a static certificate for my signing key
+ * debian/README.source: Introduce a shell variable for author ID
+ * debian/README.source: Update to cover the certificate
+
+ -- Ben Hutchings <ben@decadent.org.uk> Thu, 30 Jan 2020 20:47:17 +0100
+
+wireless-regdb (2016.06.10-1) unstable; urgency=medium
+
+ * New upstream version (Closes: #830288)
+ - Update rules for Hong Kong (HK): assign to ETSI DFS region
+ - Update rules for South Africa (ZA): remove DFS requirement and increase
+ transmit power limit for channels 100..140 (5490-5710 MHz)
+ - Update rules for Taiwan (TW): extend the 2.4 GHz and 5 GHz bands; change
+ transmit power limits for parts of the 5 GHz band; re-assign to FCC DFS
+ region
+ - Update rules for United States (US): increase transmit power limit for
+ channels 36..48 (5170-5250 MHz)
+ - Update rules for Uruguay (UY): remove channels 100..144 (5490-5730 MHz)
+ - Update rules for Russia (RU): enable VHT80 in 5 GHz band and VHT160
+ for channel 50 (5170-5330 MHz)
+ - Update rules for Ukraine (UA): enable VHT80 in 5 GHz band and VHT160
+ for channels 46..54 (5150-5350 MHz) and 114..118 (5490-5670 MHz)
+ - Update rules for Malaysia (MY): change transmit power limit for the
+ 5 GHz band; enable VHT80 in 5 GHz band and VHT160 for channels 50
+ (5170-5330 MHz) and 114 (5490-5650 MHz)
+ - Update rules for Greenland (GL): enable VHT160 for channels 50
+ (5170-5330 MHz) and 114..126 (5490-5710 MHz)
+ - Update rules for Croatia (HR) and Finland (FI): extend the 2.4 GHz and
+ 5 GHz bands; increase transmit power limit for channels 34..48
+ (5150-5250 MHz); add NO-OUTDOOR flag for channels 34..64 (5150-5350 MHz)
+ - Fix world regulatory domain: correct the channel width for channels
+ 12..13 (2457-2482 MHz)
+ - Add rules for Cuba (CU)
+ - Update rules for Germany (DE) and Netherlands (NL): add channels
+ 147..165 (5725-5875 MHz)
+ - Update rules for Bulgaria (BG): increase transmit power limit for
+ channels 36..48 (5170-5250 MHz); add NO-OUTDOOR flag for 60 GHz band
+ - Update rules for Republic of Korea (KR): add 60 GHz band
+ * debian/control: Change Vcs-Git and Vcs-Browser to canonical HTTP-S URLs
+ * debian/copyright: Change Source to HTTP-S URL
+ * Use debhelper compatibility level 9
+ * debian/control: Update Standards-Version to 3.9.8; no changes needed
+ * Remove obsolete postinst script
+ * debian/control: Update Homepage
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 04 Dec 2016 23:47:35 +0000
+
+wireless-regdb (2015.07.20-1) unstable; urgency=medium
+
+ * New upstream version
+ - Update rules for Armenia (AM), Bahrain (BH), Costa Rica (CR),
+ Ecuador (EC), Guam (GU), Sri Lanka (LK), El Salvador (SV): disable VHT
+ in 5 GHz band
+ - Update rules for Australia (AU), New Zealand (NZ): assign to ETSI DFS
+ region
+ - Update rules for Bulgaria (BG): add channels 147..173 (5725-5875 MHz)
+ - Update rules for Canada (CA): remove channels 120..134 (5600-5650 MHz)
+ - Update rules for Egypt (EG): disable VHT80
+ - Update rules for Indonesia (ID), Democratic People's Republic of Korea
+ (KP): disable VHT
+ - Update rules for Japan (JP): add 60 GHz band
+ - Update rules for Macao (MO): assign to ETSI FCC region; add channels
+ 100..144 (5490-5730 MHz); enable VHT80 and VHT160 in 5 GHz band
+ - Add rules for Maldives (MV), Nigeria (NG), Tanzania (TZ) and Samoa (WS)
+ - Update rules for Russia (RU): disable VHT80; add 60 GHz band
+ - Update rules for United States (US): re-add channels 100..144
+ (5490-5730 MHz)
+ * Generate a detached signature at source preparation time and append
+ it when building the binary package (thanks to Jérémy Bobbio)
+ (Closes: #725803)
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 30 Aug 2015 10:20:04 +0100
+
+wireless-regdb (2014.11.18-1) unstable; urgency=medium
+
+ * New upstream version
+ - Update world regulatory domain: re-enable VHT80 on channel 42
+ (5210 MHz) (regression in 2014.05.19); enable VHT80 on channel 58
+ (5290 MHz) and VHT160 on channel 50 (5250 MHz) (requires Linux 3.15)
+ - Enable VHT160 on channel 50 (5250 MHz) for many countries
+ (requires Linux 3.15)
+ - Update rules for Bulgaria (BG): add channels 100..140 (5490-5710 MHz)
+ - Add rules for American Samoa (AS), Bermuda (BM), The Bahamas (BS),
+ Christmas Island (CX), Ethiopia (ET), French Guiana (GF),
+ Guadeloupe (GP), Cayman Islands (KY), Mongolia (MN),
+ Northern Mariana Islands (MP), Martinique (MQ), Mauritius (MU),
+ Malawi (MW), Nicaragua (NI), French Polynesia (PF), Paraguay (PY),
+ Reunion (RE), Suriname (SR), Uganda (UG), U.S. Virgin Islands (VI)
+ and Mayotte (YT)
+ - Update rules for countries using ETSI regulations in 60 GHz band:
+ increase frequency range to 57-66 GHz and remove NO-OUTDOOR flag
+ * debian/copyright: Update upstream maintainer and git repository
+ addresses
+
+ -- Ben Hutchings <ben@decadent.org.uk> Thu, 01 Jan 2015 23:51:50 +0000
+
+wireless-regdb (2014.10.07-1) unstable; urgency=medium
+
+ * New upstream version
+ - Update rules for Spain (ES): increase max EIRP in one frequency range
+ - Add rules for Anguilla (AI), Dominica (DM), Saint Kitts and Nevis (KN),
+ Saint Lucia (LC), Lesotho (LS), Marshall Islands (MH), Moldova (MD),
+ Saint Pierre and Miquelon (PM), Turks and Caicos Islands (TC),
+ Saint Vincent and the Grenadines (VC), and Wallis and Futuna (WF)
+ - Update rules for Saint Barthélemy (BL): increase frequency range and
+ max EIRP on 5 GHz band; assign to ETSI DFS region
+ - Update rules for Bolivia (BO): reduce max EIRP in 2.4 GHz band;
+ increase frequency range in 5 GHz band
+ - Update rules for Andorra (AD): add 2.4 GHz and 5 GHz bands
+ - Update rules for Republic of Korea (KR): add channel 165 (5825 MHz)
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 12 Oct 2014 01:19:26 +0100
+
+wireless-regdb (2014.06.13-1) unstable; urgency=medium
+
+ * New upstream version
+ - Correct removal of NO-OFDM and DFS flags from some rules
+ (regression in 2013.11.27)
+ - Add channels 52..64 and 100..144 in 5 GHz band to world regulatory
+ domain
+ - Update rules for Norway (NO): increase frequency range on 5 GHz band
+ and add 17 GHz band
+ - Update rules for Uzbekistan (UZ)
+ - Add rules for Afghanistan (AF), Burkina Faso (BF), Bhutan (BT),
+ Central African Republic (CF), Côte d'Ivoire (CI), Micronesia (FM),
+ Ghana (GH), Guyana (GY), Montenegro (ME), Mauritania (MR), Palau (PW),
+ Senegal (SN), Chad (TD), Togo (TG) and Vanuatu (VU)
+ - Update rules for Venezuela (VE): increase max EIRP in some frequency
+ ranges
+ - Update rules for Haiti (HT)
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 05 Oct 2014 23:52:43 +0100
+
+wireless-regdb (2013.11.27-1) unstable; urgency=medium
+
+ * New upstream version (Closes: #729089)
+ - Enable VHT80 for many countries where it is permitted
+ - Enable 5 GHz band for Albania (AL), Bangladesh (BD), Algeria (DZ),
+ Indonesia (ID), Morocco (MA), Zimbabwe (ZW)
+ - Enable HT40 in 5 GHz band for Russian Federation (RU)
+ - Enable VHT80 for world roaming
+ - Remove obsolete country code CS (Serbia and Montenegro)
+ - Add 60 GHz band channels 1-3 for world roaming
+ - Remove antenna gain
+ - Add many countries to DFS regions
+ - Increase frequency range on 5 GHz for many countries
+ - Increase max EIRP on 2.4 GHz for Canada (CA), Dominican Republic (DO),
+ Grenada (GD), Guatemala (GT), Guam (GU), Panama (PA), Puerto Rico (PR),
+ Taiwan (TW), United States (US) and Uzbekistan (UZ)
+ - Increase max EIRP on part or all of 5 GHz band for Grenada (GD),
+ Honduras (HN), Jamaica (JM), Sri Lanka (LK), Monaco (MC), Mexico (MX),
+ Papua New Guinea (PG), Trinidad and Tobago (TT), Uruguay (UY),
+ Uzbekistan (UZ) and Venezuela (VE)
+ - Enable HT40 in 2.4 GHz band for Republic of Korea (KR)
+ - Reduce max EIRP on 5 GHz for Bulgaria (BG), Brunei Darussalam (BN)
+ - Reduce 5 GHz band for Bulgaria (BG), Oman (OM)
+ - Remove middle of 5 GHz band for United States (US)
+ - Correct max EIRP and reduce 5 GHz band for Saudi Arabia (SA),
+ South Africa (ZA)
+ - Reduce max EIRP and increase frequency range on 2.4 GHz for
+ Colombia (CO) and Mexico (MX)
+ - Correct max EIRP and frequency range on 5 GHz for Kenya (KE)
+ * Remove the backward-compatible 'EU' regulatory domain; drivers
+ should all be generating specific country codes, and the domain
+ is no longer up-to-date with ETSI regulations
+ * Set both PASSIVE_SCAN and NO_IBSS flags in binary database
+
+ -- Ben Hutchings <ben@decadent.org.uk> Mon, 24 Feb 2014 22:39:31 +0000
+
+wireless-regdb (2013.02.13-1) unstable; urgency=low
+
+ * New upstream version
+ - Add master DFS region information
+ - Add regulations for Rwanda (RW)
+ - Enable HT40 on channels 8-13 in Japan (JP)
+ - Update regulations for Ukraine (UA)
+ - Remove wrong 10 MHz rule for Japan (JP)
+ - Add regulatory rules for US, China (CN) and ETSI members on 60 GHz band
+ - Update regulatory rules for Spain (ES) on 5 GHz and 2.4 GHz
+ - Allow 40 MHz on world roaming channels 12/13
+ - Add specific data for Serbia (RS) for the 2.4 GHz and 5 GHz bands
+ * debian/control: Set Multi-Arch: foreign, thanks to Tim Gardner
+ * debian/watch: Point to new download location on kernel.org
+ - Switch to xz-compressed tarballs
+ * debian/control: Update fragment in Homepage URL (Closes: #655029)
+ * Update policy version to 3.9.4
+ - debian/copyright: Update to 1.0 format (no changes required)
+ * debian/copyright: Remove unreferenced GPL-2 text
+ * debian/copyright: Add my copyright to Debian packaging
+
+ -- Ben Hutchings <ben@decadent.org.uk> Sun, 30 Jun 2013 20:27:44 +0100
+
+wireless-regdb (2011.04.28-1) unstable; urgency=low
+
+ * New upstream version (Closes: #626816)
+ - Update regulatory rules for Netherlands (NL)
+ - web/Regulatory.py is now under the ISC licence
+
+ -- Ben Hutchings <ben@decadent.org.uk> Tue, 17 May 2011 02:40:08 +0100
+
+wireless-regdb (2010.11.24-2) unstable; urgency=low
+
+ * debian/copyright: Correct licence of web/Regulatory.py
+ * debian/control: Add references to git repository
+
+ -- Ben Hutchings <ben@decadent.org.uk> Tue, 12 Apr 2011 00:15:21 +0100
+
+wireless-regdb (2010.11.24-1) unstable; urgency=low
+
+ * Initial release (Closes: #572220)
+ - Most packaging was done by Kel Modderman and Stefan Lippers-Hollmann
+
+ -- Ben Hutchings <ben@decadent.org.uk> Mon, 11 Apr 2011 14:09:21 +0100
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..272f82d
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,36 @@
+Source: wireless-regdb
+Section: net
+Priority: optional
+Maintainer: Debian kernel team <debian-kernel@lists.debian.org>
+Uploaders: Ben Hutchings <benh@debian.org>, Romain Perier <romain.perier@gmail.com>
+Build-Depends: debhelper-compat (= 12),
+ openssl,
+ python3,
+ python3-m2crypto,
+ quilt
+Rules-Requires-Root: no
+Standards-Version: 4.5.0
+Vcs-Git: https://salsa.debian.org/kernel-team/wireless-regdb.git
+Vcs-Browser: https://salsa.debian.org/kernel-team/wireless-regdb
+Homepage: https://wireless.wiki.kernel.org/en/developers/regulatory/wireless-regdb
+
+Package: wireless-regdb
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+Description: wireless regulatory database for Linux
+ This package provides a machine-readable database of legal
+ regulations on radio emissions that affect use of wireless networking.
+ The Linux kernel and drivers use this to maintain compliance with
+ those regulations.
+
+Package: wireless-regdb-udeb
+Package-Type: udeb
+Architecture: all
+Section: debian-installer
+Depends: ${misc:Depends}
+Description: wireless regulatory database for Linux - udeb
+ This package provides a machine-readable database of legal
+ regulations on radio emissions that affect use of wireless networking.
+ The Linux kernel and drivers use this to maintain compliance with
+ those regulations.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..bf1d330
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,29 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: wireless-regdb
+Upstream-Contact: Seth Forshee <seth.forshee@canonical.com>
+Source: https://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git
+
+Files: *
+Copyright: 2008, Luis R. Rodriguez <mcgrof@gmail.com>
+ 2008, Johannes Berg <johannes@sipsolutions.net>
+ 2008, Michael Green <Michael.Green@Atheros.com>
+License: ISC
+
+Files: debian/*
+Copyright: 2009, Kel Modderman <kel@otaku42.de>
+ 2011, Stefan Lippers-Hollmann <s.l-h@gmx.de>
+ 2011-2013, Ben Hutchings <ben@decadent.org.uk>
+License: ISC
+
+License: ISC
+ Permission to use, copy, modify, and/or distribute this software for any
+ purpose with or without fee is hereby granted, provided that the above
+ copyright notice and this permission notice appear in all copies.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..d2120d2
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,2 @@
+[buildpackage]
+compression=xz
diff --git a/debian/patches/dont_auto_create_keypair b/debian/patches/dont_auto_create_keypair
new file mode 100644
index 0000000..ec01564
--- /dev/null
+++ b/debian/patches/dont_auto_create_keypair
@@ -0,0 +1,36 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Subject: [PATCH] Don't automatically create key-pairs
+
+If the private key is missing, this is probably an error in the build
+configuration. Don't create a private key unless it's the only
+explicit goal for make.
+
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+
+--- a/Makefile
++++ b/Makefile
+@@ -30,7 +30,7 @@ REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO
+ echo custom-user; \
+ fi)
+
+-REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
++REGDB_PRIVKEY ?= $(HOME)/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
+ REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem
+ REGDB_PUBCERT ?= $(REGDB_AUTHOR).x509.pem
+
+@@ -85,8 +85,15 @@ $(REGDB_PUBCERT): $(REGDB_PRIVKEY)
+
+
+ $(REGDB_PRIVKEY):
++ifeq ($(MAKECMDGOALS),$(REGDB_PRIVKEY))
+ @echo "Generating private key for $(REGDB_AUTHOR)..."
+ openssl genrsa -out $(REGDB_PRIVKEY) 2048
++else
++ @echo "No private key found. To generate a private key, run:"
++ @echo " make ~/.wireless-regdb-<author-id>.key.priv.pem"
++ @echo "Your author-id is currently \"$(REGDB_AUTHOR)\"; set REGDB_AUTHOR to override this."
++ @exit 1
++endif
+
+ ifneq ($(shell test -e $(DISTRO_PRIVKEY) && echo yes),yes)
+ $(DISTRO_PRIVKEY):
diff --git a/debian/patches/run-scripts-with-python-3.patch b/debian/patches/run-scripts-with-python-3.patch
new file mode 100644
index 0000000..b35dfb4
--- /dev/null
+++ b/debian/patches/run-scripts-with-python-3.patch
@@ -0,0 +1,46 @@
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Wed, 29 Jan 2020 13:31:51 +0000
+Subject: Run scripts with Python 3
+Bug-Debian: https://bugs.debian.org/938829
+
+All the Python scripts here are meant to be Python 3 compatible, but
+they still use "/usr/bin/env python" as their interpreter. Since
+Debian is deprecating Python 2 but not (yet) changing "python" to
+Python 3, change the shebang lines.
+
+---
+ db2bin.py | 2 +-
+ db2fw.py | 2 +-
+ dbparse.py | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/db2bin.py b/db2bin.py
+index d1b7fc6..3e781ca 100755
+--- a/db2bin.py
++++ b/db2bin.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+
+ from io import BytesIO, open
+ import struct
+diff --git a/db2fw.py b/db2fw.py
+index 3affd5a..84bfb1c 100755
+--- a/db2fw.py
++++ b/db2fw.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+
+ from io import BytesIO, open
+ import struct
+diff --git a/dbparse.py b/dbparse.py
+index 5f7e082..dfd15fd 100755
+--- a/dbparse.py
++++ b/dbparse.py
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python
++#!/usr/bin/python3
+
+ from functools import total_ordering
+ import sys, math
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..224db78
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+dont_auto_create_keypair
+run-scripts-with-python-3.patch
diff --git a/debian/regulatory.db.p7s b/debian/regulatory.db.p7s
new file mode 100644
index 0000000..08646fc
--- /dev/null
+++ b/debian/regulatory.db.p7s
Binary files differ
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..6abd224
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,68 @@
+#!/usr/bin/make -f
+
+export CRDA_PATH = /lib/crda
+export REGDB_AUTHOR = $(shell dpkg-parsechangelog -SMaintainer | sed 's:.*<\(.*\)>:\1:')
+export V = 1
+# prevent the build system from calling lsb_release
+export LSB_ID = Debian/Ubuntu
+
+define copy_source
+test -d .pc
+set +e; QUILT_PC=.pc quilt unapplied --quiltrc - >/dev/null && echo 'Patch series not fully applied'; test $$? -eq 1
+mkdir -p '$(1)'
+cp -a $(filter-out debian .pc .git %.bin %.db %.p7s sha1sum.txt, $(wildcard * .[^.]*)) '$(1)'
+endef
+
+%:
+ dh ${@}
+
+debian/stamps/configure:
+ rm -rf debian/build
+ $(call copy_source,debian/build)
+ cp debian/regulatory.db.p7s debian/build/
+ mkdir -p debian/stamps
+ touch $@
+
+override_dh_auto_configure: debian/stamps/configure
+
+override_dh_auto_build:
+ $(MAKE) -C debian/build regulatory.db
+# Create regulatory.bin so the upstream install rule works
+ touch debian/build/regulatory.bin
+ rm -f debian/build/.custom
+# Verify that our binary matches upstream unless db.txt is patched
+ifeq ($(shell QUILT_PC=.pc quilt patches --quiltrc - db.txt | wc -l),0)
+ diff regulatory.db debian/build/regulatory.db
+endif
+
+override_dh_auto_install: install-wireless-regdb install-wireless-regdb-udeb
+
+install-wireless-regdb: DIR = debian/wireless-regdb
+install-wireless-regdb:
+ $(MAKE) -C debian/build DESTDIR=$(CURDIR)/$(DIR) install
+ for file in regulatory.db regulatory.db.p7s; do \
+ install -m644 $$file $(DIR)/lib/firmware/$$file-upstream \
+ && mv $(DIR)/lib/firmware/$$file $(DIR)/lib/firmware/$$file-debian \
+ || exit; \
+ done
+ rm -r $(DIR)/lib/crda
+# regulatory.db.5 just includes regulatory.bin.5, so we need to
+# install the latter as regulatory.db.5
+ mv $(DIR)/usr/share/man/man5/regulatory.bin.5.gz \
+ $(DIR)/usr/share/man/man5/regulatory.db.5.gz
+
+install-wireless-regdb-udeb: DIR = debian/wireless-regdb-udeb
+install-wireless-regdb-udeb:
+ $(MAKE) -C debian/build DESTDIR=$(CURDIR)/$(DIR) install
+ rm -r $(DIR)/lib/crda $(DIR)/usr/share/man
+ rmdir --ignore-fail-on-non-empty -p $(DIR)/usr/share
+
+override_dh_auto_clean:
+ rm -rf debian/build debian/stamps
+
+sign:
+ rm -rf debian/build
+ $(call copy_source,debian/build)
+ cp debian/certs/$(REGDB_AUTHOR).x509.pem debian/build/
+ $(MAKE) -C debian/build regulatory.db.p7s
+ cp debian/build/regulatory.db.p7s debian/
diff --git a/debian/salsa-ci.yml b/debian/salsa-ci.yml
new file mode 100644
index 0000000..e0042cf
--- /dev/null
+++ b/debian/salsa-ci.yml
@@ -0,0 +1,13 @@
+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:
+ RELEASE: 'unstable'
+ # We only build arch:all packages
+ SALSA_CI_DISABLE_BLHC: 'true'
+ SALSA_CI_DISABLE_BUILD_PACKAGE_I386: 'true'
+ SALSA_CI_DISABLE_BUILD_PACKAGE_ANY: 'true'
+ SALSA_CI_DISABLE_CROSSBUILD_ARM64: 'true'
+ # Currently triggering falsely (bug #973313)
+ SALSA_CI_LINTIAN_SUPPRESS_TAGS: 'groff-message'
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/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 0000000..615aaf0
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1,2 @@
+debian/regulatory.bin.sig
+debian/regulatory.db.p7s
diff --git a/debian/source/lintian-overrides b/debian/source/lintian-overrides
new file mode 100644
index 0000000..e395dbf
--- /dev/null
+++ b/debian/source/lintian-overrides
@@ -0,0 +1,2 @@
+# Blocked by #882694
+wireless-regdb source: orig-tarball-missing-upstream-signature *
diff --git a/debian/tests/check-signatures b/debian/tests/check-signatures
new file mode 100755
index 0000000..a36aae6
--- /dev/null
+++ b/debian/tests/check-signatures
@@ -0,0 +1,136 @@
+#!/usr/bin/python3
+
+# Check that signatures on regulatory.db are valid and made by keys
+# trusted by the current kernel in the target suite
+
+import glob
+import io
+import os
+import os.path
+import re
+import subprocess
+import sys
+
+
+tmp_dir = os.getenv('AUTOPKGTEST_TMP')
+
+
+# Find current major/minor kernel version
+def get_linux_source_name():
+ proc = subprocess.Popen(['dpkg', '-s', 'linux-source'],
+ stdout=subprocess.PIPE)
+ with io.open(proc.stdout.fileno(), encoding='utf-8') as pipe:
+ for line in pipe:
+ match = re.match(r'^Depends:.*\b(linux-source-[0-9.]*)\b', line)
+ if match:
+ return match.group(1)
+ return None
+
+
+# Extract wireless regdb certificate sources
+def extract_certs_source(source_name):
+ certs_subdir = f'{source_name}/net/wireless/certs'
+ subprocess.check_call(['tar', '-C', tmp_dir, '-xa',
+ '-f', f'/usr/src/{source_name}.tar.xz',
+ certs_subdir])
+ return os.path.join(tmp_dir, certs_subdir)
+
+
+c_comment_re = re.compile(r'/\*.*?\*/')
+c_hex_byte_re = re.compile(r'\s*0x([0-9A-Fa-f]{2})\s*')
+
+
+# Convert from a C hex literal array to bytes
+def convert_c_hex_to_bytes(hex):
+ decoded = []
+ hex = c_comment_re.sub(' ', hex)
+ for word in hex.split(','):
+ match = c_hex_byte_re.fullmatch(word)
+ if match:
+ decoded.append(int(match.group(1), 16))
+ elif word.isspace():
+ pass
+ else:
+ raise ValueError()
+ return bytes(decoded)
+
+
+# Convert an X.509 certificate from DER to PEM format
+def convert_cert_der_to_pem(der):
+ proc = subprocess.Popen(['openssl', 'x509', '-inform', 'der',
+ '-outform', 'pem'],
+ stdin=subprocess.PIPE,
+ stdout=subprocess.PIPE)
+ pem, _ = proc.communicate(der)
+ proc.wait()
+ return pem
+
+
+# Return an array of (cert, is_upstream] pairs. Each cert is in PEM
+# format. The is_upstream flag is false for certificates found in
+# "debian.hex" and otherwise true.
+def convert_certs(certs_source_dir):
+ certs = []
+
+ for hex_name in glob.glob(f'{certs_source_dir}/*.hex'):
+ is_upstream = os.path.basename(hex_name) != 'debian.hex'
+ decoded = convert_c_hex_to_bytes(open(hex_name).read())
+
+ # Split into certificates and convert one at a time, as the
+ # openssl command line doesn't seem to support this
+ start = 0
+ while start < len(decoded):
+ end = decoded.find(b'\x30\x82\x02', start + 3)
+ if end < 0:
+ end = len(decoded)
+ certs.append((convert_cert_der_to_pem(decoded[start:end]),
+ is_upstream))
+ start = end
+
+ return certs
+
+
+# Verify a PKCS#7 signature where the signer must exactly match
+# one of the given PEM-format X.509 certificates
+def verify_signature(payload_name, signature_name, certs):
+ cert_name = os.path.join(tmp_dir, 'certificate.pem')
+ with open(cert_name, 'wb') as cert_file:
+ for cert in certs:
+ cert_file.write(cert)
+
+ # The certificates used here are self-signed and not CAs. This
+ # means we need to turn off vertification of the certificates
+ # (-noverify). We then to ignore the certificate in the signature
+ # (-nointern), so that the signature is required to have been made
+ # by one of the certificates we pass in (I hope).
+ # The payload is printed to stdout by default, so disable that.
+ # Successful verification is reported to stderr, which autopkgtest
+ # counts as a failure, so redirect that to our stdout.
+ subprocess.check_call(['openssl', 'smime', '-verify', '-noverify',
+ '-certfile', cert_name, '-nointern',
+ '-no_check_time',
+ '-content', payload_name,
+ '-in', signature_name, '-inform', 'der'],
+ stdout=subprocess.DEVNULL,
+ stderr=1)
+
+
+def main():
+ source_name = get_linux_source_name()
+ certs_source_dir = extract_certs_source(source_name)
+ certs = convert_certs(certs_source_dir)
+ certs_upstream = [cert
+ for cert, is_upstream in certs
+ if is_upstream]
+ certs_debian = [cert for cert, is_upstream in certs]
+
+ verify_signature('/lib/firmware/regulatory.db-upstream',
+ '/lib/firmware/regulatory.db.p7s-upstream',
+ certs_upstream)
+ verify_signature('/lib/firmware/regulatory.db-debian',
+ '/lib/firmware/regulatory.db.p7s-debian',
+ certs_debian)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..8e72cc8
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,2 @@
+Tests: check-signatures
+Depends: wireless-regdb, linux-source, openssl, python3
diff --git a/debian/upstream/metadata b/debian/upstream/metadata
new file mode 100644
index 0000000..2e79147
--- /dev/null
+++ b/debian/upstream/metadata
@@ -0,0 +1,2 @@
+---
+Repository: git://git.kernel.org/pub/scm/linux/kernel/git/sforshee/wireless-regdb.git
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..20f0a8b
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,91 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+WgqL/3rROEWF/7Y=
+=9NqJ
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..c27699d
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts="pgpmode=mangle, pgpsigurlmangle=s|\.xz$|.sign|, decompress" \
+https://www.kernel.org/pub/software/network/wireless-regdb/wireless-regdb-(.*)\.tar\.xz debian
diff --git a/debian/wireless-regdb.postinst b/debian/wireless-regdb.postinst
new file mode 100644
index 0000000..8432e70
--- /dev/null
+++ b/debian/wireless-regdb.postinst
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "configure" ]; then
+ # d-i currently installs its copies of regulatory.db{,.p7s} as
+ # regular files, which we need to remove before running
+ # update-alternatives
+ if dpkg --compare-versions "$2" lt 2022.04.08-2~; then
+ for file in regulatory.db regulatory.db.p7s; do
+ if [ ! -L /lib/firmware/"$file" ] || \
+ [ "$(readlink /lib/firmware/"$file")" != \
+ /etc/alternatives/"$file" ]; then
+ rm -f /lib/firmware/"$file"
+ fi
+ done
+ fi
+
+ update-alternatives --install \
+ /lib/firmware/regulatory.db regulatory.db /lib/firmware/regulatory.db-debian 100 \
+ --slave /lib/firmware/regulatory.db.p7s regulatory.db.p7s /lib/firmware/regulatory.db.p7s-debian
+ update-alternatives --install \
+ /lib/firmware/regulatory.db regulatory.db /lib/firmware/regulatory.db-upstream 50 \
+ --slave /lib/firmware/regulatory.db.p7s regulatory.db.p7s /lib/firmware/regulatory.db.p7s-upstream
+fi
+
+#DEBHELPER#
diff --git a/debian/wireless-regdb.prerm b/debian/wireless-regdb.prerm
new file mode 100644
index 0000000..9e2e5bb
--- /dev/null
+++ b/debian/wireless-regdb.prerm
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" != "upgrade" ]; then
+ update-alternatives --remove regulatory.db /lib/firmware/regulatory.db-debian
+ update-alternatives --remove regulatory.db /lib/firmware/regulatory.db-upstream
+fi
+
+#DEBHELPER#