linux-wireless.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Seth Forshee <seth.forshee@canonical.com>
To: linux-wireless@vger.kernel.org, wireless-regdb@lists.infradead.org
Cc: Johannes Berg <johannes@sipsolutions.net>
Subject: [PATCH 2/6] wireless-regdb: Restore generation of old format database files
Date: Fri, 22 Dec 2017 00:02:59 -0600	[thread overview]
Message-ID: <20171222060303.14478-3-seth.forshee@canonical.com> (raw)
In-Reply-To: <20171222060303.14478-1-seth.forshee@canonical.com>

Johannes removed generation and installation of these files when
adding support for the new database format. We need to keep
generating these files to support distros still using CRDA, so
restore support for building and installing these files in the
makefile.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
---
 Makefile | 35 +++++++++++++++++++++++++++--------
 1 file changed, 27 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index e708982a453d..9532c29a1dc2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,7 @@
 # Install prefix
 PREFIX ?= /usr
+CRDA_PATH ?= $(PREFIX)/lib/crda
+CRDA_KEY_PATH ?= $(CRDA_PATH)/pubkeys
 
 MANDIR ?= $(PREFIX)/share/man/
 
@@ -28,26 +30,33 @@ REGDB_AUTHOR ?= $(shell if [ -f $(DISTRO_PRIVKEY) ]; then \
 		fi)
 
 REGDB_PRIVKEY ?= ~/.wireless-regdb-$(REGDB_AUTHOR).key.priv.pem
+REGDB_PUBKEY ?= $(REGDB_AUTHOR).key.pub.pem
 REGDB_PUBCERT ?= $(REGDB_AUTHOR).x509.pem
 
+REGDB_UPSTREAM_PUBKEY ?= sforshee.key.pub.pem
+
 REGDB_CHANGED = $(shell $(SHA1SUM) -c --status sha1sum.txt >/dev/null 2>&1; \
         if [ $$? -ne 0 ]; then \
-                echo maintainer-clean $(REGDB_PUBCERT); \
+                echo maintainer-clean $(REGDB_PUBKEY) $(REGDB_PUBCERT); \
         fi)
 
 .PHONY: all clean mrproper install maintainer-clean install-distro-key
 
-all: $(REGDB_CHANGED) regulatory.db.p7s sha1sum.txt
+all: $(REGDB_CHANGED) regulatory.bin sha1sum.txt regulatory.db.p7s
 
 clean:
 	@rm -f *.pyc *.gz
 
 maintainer-clean: clean
-	@rm -f regulatory.db regulatory.db.p7s
+	@rm -f regulatory.bin regulatory.db regulatory.db.p7s
 
 mrproper: clean maintainer-clean
-	@echo Removed public key, regulatory.db* and compressed man pages
-	@rm -f $(REGDB_PUBCERT) .custom
+	@echo Removed public key, regulatory.bin, regulatory.db* and compressed man pages
+	@rm -f $(REGDB_PUBKEY) $(REGDB_PUBCERT) .custom
+
+regulatory.bin: db.txt $(REGDB_PRIVKEY) $(REGDB_PUBKEY)
+	@echo Generating $@ digitally signed by $(REGDB_AUTHOR)...
+	./db2bin.py regulatory.bin db.txt $(REGDB_PRIVKEY)
 
 regulatory.db: db.txt db2fw.py
 	@echo "Generating $@"
@@ -64,6 +73,10 @@ regulatory.db.p7s: regulatory.db $(REGDB_PRIVKEY) $(REGDB_PUBCERT)
 sha1sum.txt: db.txt
 	sha1sum $< > $@
 
+$(REGDB_PUBKEY): $(REGDB_PRIVKEY)
+	@echo "Generating public key for $(REGDB_AUTHOR)..."
+	openssl rsa -in $(REGDB_PRIVKEY) -out $(REGDB_PUBKEY) -pubout -outform PEM
+
 $(REGDB_PUBCERT): $(REGDB_PRIVKEY)
 	@echo "Generating certificate for $(REGDB_AUTHOR)..."
 	@openssl req -config regulatory.openssl.conf \
@@ -103,7 +116,13 @@ install-distro-key: maintainer-clean $(DISTRO_PRIVKEY)
 #	make maintainer-clean
 #	make
 #	sudo make install
-install: regulatory.db.5.gz
-	install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.db
+install: regulatory.bin.5.gz regulatory.db.5.gz
+	install -m 755 -d $(DESTDIR)/$(CRDA_PATH)
+	install -m 755 -d $(DESTDIR)/$(CRDA_KEY_PATH)
+	if [ -f .custom ]; then \
+		install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(shell cat .custom); \
+	fi
+	install -m 644 -t $(DESTDIR)/$(CRDA_KEY_PATH)/ $(REGDB_UPSTREAM_PUBKEY)
+	install -m 644 -t $(DESTDIR)/$(CRDA_PATH)/ regulatory.bin regulatory.db
 	install -m 755 -d $(DESTDIR)/$(MANDIR)/man5/
-	install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.db.5.gz
+	install -m 644 -t $(DESTDIR)/$(MANDIR)/man5/ regulatory.bin.5.gz
-- 
2.14.1

  parent reply	other threads:[~2017-12-22  6:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-22  6:02 [PATCH 0/6] wireless-regdb: Support for new binary database format Seth Forshee
2017-12-22  6:02 ` [PATCH 1/6] regdb: write firmware file format (version code 20) Seth Forshee
2017-12-22  6:02 ` Seth Forshee [this message]
2017-12-22  6:03 ` [PATCH 3/6] wireless-regdb: Add sforshee's x509 certificate Seth Forshee
2017-12-22  6:03 ` [PATCH 4/6] wireless-regdb: Better support for generating public certificates Seth Forshee
2017-12-22  6:03 ` [PATCH 5/6] wireless-regdb: Install regulatory.db and regulatory.db.p7s to /lib/firmware Seth Forshee
2017-12-22  6:03 ` [PATCH 6/6] wireless-regdb: Document regulatory.db in the manual page Seth Forshee
2017-12-22  8:45 ` [PATCH 0/6] wireless-regdb: Support for new binary database format Johannes Berg
2017-12-24  3:24 ` Seth Forshee

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20171222060303.14478-3-seth.forshee@canonical.com \
    --to=seth.forshee@canonical.com \
    --cc=johannes@sipsolutions.net \
    --cc=linux-wireless@vger.kernel.org \
    --cc=wireless-regdb@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).