Your message dated Wed, 03 Dec 2008 22:42:22 +0000
with message-id <[EMAIL PROTECTED]>
and subject line Bug#504668: fixed in firmware-nonfree 0.14
has caused the Debian Bug report #504668,
regarding firmware-nonfree: Add License handler in gencontrol.py
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [EMAIL PROTECTED]
immediately.)
--
504668: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=504668
Debian Bug Tracking System
Contact [EMAIL PROTECTED] with problems
--- Begin Message ---
Package: firmware-nonfree
Severity: normal
Tags: patch
The two patches attaches allow gencontrol.py to handle licenses
in a way that complies with ipw2100 and ipw2200 firmware license.
The patch links.diff implements a "links" entry in the firmware's
define file. That entry is a list of source:target that is used
by gencontrol.py to generate ./debian/firmware-foobar.links
The patch license.diff implements license=[required|no-preseed]
and license_name entry in the firmware's define file.
When used, those fields are used to generate a preinst script
that present the license to the user.
If license=no-preseed, then the license acceptation can't be
accepted by using Debconf preseeding (!).
Franklin
-- System Information:
Debian Release: lenny/sid
APT prefers testing
APT policy: (990, 'testing'), (200, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.26-1-686 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
index 92f0017..f5d5cc9 100755
--- a/debian/bin/gencontrol.py
+++ b/debian/bin/gencontrol.py
@@ -134,6 +134,11 @@ class GenControl(object):
postinst = self.templates['postinst.initramfs-tools']
file("debian/firmware-%s.postinst" % package, 'w').write(self.substitute(postinst, vars))
+ if 'links' in config_entry:
+ for l in config_entry['links']:
+ src,trg = l.split(':')
+ file("debian/firmware-%s.links" % package, 'w').write("%s %s\n" % (src, trg))
+
packages.extend(packages_binary)
makefile.add('binary-indep', cmds = ["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags])
@@ -209,6 +214,7 @@ class Config(dict):
schemas = {
'base': {
'files': SchemaItemList(),
+ 'links': SchemaItemList(),
'packages': SchemaItemList(),
'support': SchemaItemList(),
}
diff --git a/debian/changelog b/debian/changelog
index bbbe478..e871f01 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+firmware-nonfree (0.14) unstable; urgency=low
+
+ * gencontrol can generate links file.
+
+ -- Frank Lin PIAT <[EMAIL PROTECTED]> Mon, 27 Oct 2008 00:05:03 +0100
+
firmware-nonfree (0.13) unstable; urgency=low
* Make firmware-bnx2 trigger update-initramfs (closes: #494936)
diff --git a/debian/rules b/debian/rules
index 648d517..9a6f3fb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,4 +12,5 @@ maintainerclean:
-rm debian/control debian/control.md5sum debian/rules.gen
-rm debian/*.copyright
-rm debian/*.hook.*
+ -rm debian/*.links
-rm debian/*.postinst
diff --git a/debian/rules.real b/debian/rules.real
index 7626ef5..83646f4 100644
--- a/debian/rules.real
+++ b/debian/rules.real
@@ -30,6 +30,7 @@ install:
fi
dh_installchangelogs
dh_installdocs
+ dh_link
dh_compress
dh_fixperms
dh_installdeb
diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
index f5d5cc9..b23cd51 100755
--- a/debian/bin/gencontrol.py
+++ b/debian/bin/gencontrol.py
@@ -83,6 +83,8 @@ class GenControl(object):
config_entry = self.config['base', package]
vars.update(config_entry)
vars['package'] = package
+ vars['debconfpkg'] = "firmware-%s" % package
+ vars['license_name'] = package
makeflags['PACKAGE'] = package
@@ -91,6 +93,11 @@ class GenControl(object):
vars['license'] = file("%s/LICENSE" % package).read()
+ regex=re.compile('^\s*$', re.MULTILINE)
+ vars['license_indented'] = re.sub(regex, '.', vars['license'])
+ regex=re.compile('^', re.MULTILINE)
+ vars['license_indented'] = re.sub(regex, ' ', vars['license_indented'])
+
file("debian/firmware-%s.copyright" % package, 'w').write(self.substitute(copyright, vars))
files_orig = config_entry['files']
@@ -139,6 +146,15 @@ class GenControl(object):
src,trg = l.split(':')
file("debian/firmware-%s.links" % package, 'w').write("%s %s\n" % (src, trg))
+ if 'license_accept' in config_entry:
+ preinst = self.templates['preinst.license']
+ preinst_filename = "debian/firmware-%s.preinst" % package
+ file(preinst_filename, 'w').write(self.substitute(preinst, vars))
+
+ templates = self.templates['license.templates']
+ templates_filename = "debian/firmware-%s.templates" % package
+ file(templates_filename, 'w').write(self.substitute(templates, vars))
+
packages.extend(packages_binary)
makefile.add('binary-indep', cmds = ["$(MAKE) -f debian/rules.real binary-indep %s" % makeflags])
diff --git a/debian/changelog b/debian/changelog
index e871f01..756f9a8 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,8 @@
firmware-nonfree (0.14) unstable; urgency=low
* gencontrol can generate links file.
+ * gencontrol can generate license acceptation prompt, based on
+ sun-java5 preinst script and template.
-- Frank Lin PIAT <[EMAIL PROTECTED]> Mon, 27 Oct 2008 00:05:03 +0100
diff --git a/debian/rules b/debian/rules
index 9a6f3fb..38f8b0f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,5 +12,7 @@ maintainerclean:
-rm debian/control debian/control.md5sum debian/rules.gen
-rm debian/*.copyright
-rm debian/*.hook.*
-rm debian/*.links
+ -rm debian/*.templates
+ -rm debian/*.preinst
-rm debian/*.postinst
diff --git a/debian/rules.real b/debian/rules.real
index 83646f4..afcf1cc 100644
--- a/debian/rules.real
+++ b/debian/rules.real
@@ -30,6 +30,7 @@ install:
fi
dh_installchangelogs
dh_installdocs
+ dh_installdebconf
dh_link
dh_compress
dh_fixperms
diff --git a/debian/templates/license.templates.in b/debian/templates/license.templates.in
new file mode 100644
index 0000000..629547b
--- /dev/null
+++ b/debian/templates/license.templates.in
@@ -0,0 +1,21 @@
+Template: @debconfpkg@/[EMAIL PROTECTED]@
+Type: note
+Description: @license_title@
[EMAIL PROTECTED]@
+
+Template: @debconfpkg@/[EMAIL PROTECTED]@
+Type: boolean
+Default: false
+Description: Do you agree with the @license_title@ license terms?
+ In order to install this package, you must agree to its license terms, the
+ "@license_title@".
+ Not accepting will cancel the installation.
+
+Template: @debconfpkg@/[EMAIL PROTECTED]@
+Type: error
+Description: Declined @license_title@
+ If you do not agree to the "@license_title@"
+ license terms you cannot install this software.
+ .
+ The installation of this package will be canceled.
+
diff --git a/debian/templates/preinst.license.in b/debian/templates/preinst.license.in
new file mode 100644
index 0000000..ec750e9
--- /dev/null
+++ b/debian/templates/preinst.license.in
@@ -0,0 +1,77 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule
+db_version 2.0
+db_capb backup
+
+#Valid values are "required" and "no-preseed"
[EMAIL PROTECTED]@
+
+errmsg()
+{
+ echo >&2 ''
+ echo >&2 "$@"
+ echo >&2 "try 'dpkg-reconfigure debconf' to select a frontend other than noninteractive"
+ echo >&2 ''
+}
+
+db_get @debconfpkg@/[EMAIL PROTECTED]@
+if [ "$RET" = "true" ]; then
+ echo "@license_name@ license has already been accepted" >&2
+ exit 0
+fi
+
+# facilitate backup capability per debconf-devel(7)
+STATE=1
+while true; do
+ case "$STATE" in
+ 0) # ensure going back from license presentment is harmless
+ STATE=1
+ continue
+ ;;
+ 1) # present license
+ db_get @debconfpkg@/[EMAIL PROTECTED]@
+ if [ "$RET" != true -o "${license_accept}" = "no-preseed" ]; then
+ db_fset @debconfpkg@/[EMAIL PROTECTED]@ seen false
+ if ! db_input critical @debconfpkg@/[EMAIL PROTECTED]@ ; then
+ errmsg "@license_name@ license could not be presented"
+ exit 2
+ fi
+
+ db_fset @debconfpkg@/[EMAIL PROTECTED]@ seen false
+ if ! db_input critical @debconfpkg@/[EMAIL PROTECTED]@ ; then
+ errmsg "@license_name@ agree question could not be asked"
+ exit 2
+ fi
+ fi
+ ;;
+ 2) # determine users' choice
+ db_get @debconfpkg@/[EMAIL PROTECTED]@
+ if [ "$RET" = "true" ]; then
+ # license accepted
+ exit 0
+ fi
+ # error on decline license (give user chance to back up)
+ db_input critical @debconfpkg@/[EMAIL PROTECTED]@
+ ;;
+ 3) # user has confirmed declining license
+ echo "user did not accept the @license_name@ license" >&2
+ exit 1
+ ;;
+ *) # unknown state
+ echo "@license_name@ license state unknown: $STATE" >&2
+ exit 2
+ ;;
+ esac
+ if db_go; then
+ STATE=$(($STATE + 1))
+ else
+ STATE=$(($STATE - 1))
+ fi
+done
+
+#DEBHELPER#
+
+# proper exit (0 or 1) above
+errmsg "@license_name@ license could not be presented / was not accepted"
+exit 2
--- End Message ---
--- Begin Message ---
Source: firmware-nonfree
Source-Version: 0.14
We believe that the bug you reported is fixed in the latest version of
firmware-nonfree, which is due to be installed in the Debian FTP archive:
firmware-bnx2_0.14_all.deb
to pool/non-free/f/firmware-nonfree/firmware-bnx2_0.14_all.deb
firmware-ipw2x00_0.14_all.deb
to pool/non-free/f/firmware-nonfree/firmware-ipw2x00_0.14_all.deb
firmware-iwlwifi_0.14_all.deb
to pool/non-free/f/firmware-nonfree/firmware-iwlwifi_0.14_all.deb
firmware-nonfree_0.14.dsc
to pool/non-free/f/firmware-nonfree/firmware-nonfree_0.14.dsc
firmware-nonfree_0.14.tar.gz
to pool/non-free/f/firmware-nonfree/firmware-nonfree_0.14.tar.gz
firmware-qlogic_0.14_all.deb
to pool/non-free/f/firmware-nonfree/firmware-qlogic_0.14_all.deb
firmware-ralink_0.14_all.deb
to pool/non-free/f/firmware-nonfree/firmware-ralink_0.14_all.deb
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Bastian Blank <[EMAIL PROTECTED]> (supplier of updated firmware-nonfree package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Format: 1.8
Date: Tue, 02 Dec 2008 18:07:12 +0100
Source: firmware-nonfree
Binary: firmware-bnx2 firmware-ipw2x00 firmware-iwlwifi firmware-qlogic
firmware-ralink
Architecture: source all
Version: 0.14
Distribution: unstable
Urgency: low
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Changed-By: Bastian Blank <[EMAIL PROTECTED]>
Description:
firmware-bnx2 - Binary firmware for Broadcom NetXtremeII
firmware-ipw2x00 - Binary firmware for Intel Pro Wireless 2100, 2200 and 2915
firmware-iwlwifi - Binary firmware for Intel Wireless 3945 and 4965
firmware-qlogic - Binary firmware for QLogic QLA2XXX
firmware-ralink - Binary firmware for Ralink RT2561, RT2571, RT2661 and RT2671
wire
Closes: 449235 504668 504671
Changes:
firmware-nonfree (0.14) unstable; urgency=low
.
* Generate license acceptation prompt, based on sun-java5. (closes: #504668)
* Add Intel Pro 2100 firwmare, version 1.3. (closes: #504671)
* Add Intel Pro 2200/2915 firwmare, version 3.0. (closes: #449235)
Checksums-Sha1:
7029717853f68a8e4d4a91288cd7320e536766cf 1107 firmware-nonfree_0.14.dsc
91aae6ef3dfe2be676fbe708b336b7c834b431b9 1281829 firmware-nonfree_0.14.tar.gz
183887c86acae946a05786029c3b7e941c6c1fed 105312 firmware-bnx2_0.14_all.deb
e6387d347d10cac9647acd1d4c7317fb52766d01 519622 firmware-ipw2x00_0.14_all.deb
adf99db78a2ae1fd96e8006d58bd1656ee704775 223788 firmware-iwlwifi_0.14_all.deb
58c89e3314853c28940fb0d807e2de6d5ee1e5c7 415896 firmware-qlogic_0.14_all.deb
326032ce8a450bd6afef1cd2727c0348e52239fc 11698 firmware-ralink_0.14_all.deb
Checksums-Sha256:
7a43f7dd4c3c66b7dbcb23d9c1cb37d7f9aec36ae740b7049dedf91d054ed8d9 1107
firmware-nonfree_0.14.dsc
21eb0cdb70c9703facec99702acc528d402ee60d9df00cba7ba1f6782002a88b 1281829
firmware-nonfree_0.14.tar.gz
aa9532addaf376902dc880a71a3632d9f877c27cf62c95841ea077acb897349b 105312
firmware-bnx2_0.14_all.deb
160e9e14074d269e963baa8432be4df5e10a62735fddfb32f045a103f970f375 519622
firmware-ipw2x00_0.14_all.deb
56ccec13accc373a994f44a5e3ecbe9f4f3b58371a505db71174b3fab6d8b77c 223788
firmware-iwlwifi_0.14_all.deb
13e5ce82984d7df3c202d48c70c5c1e541d53afead1365353c856501e3290552 415896
firmware-qlogic_0.14_all.deb
eb93d9da29217af2a4ac9db723bd56b8f281157891effc785470d4cfa1970de4 11698
firmware-ralink_0.14_all.deb
Files:
693f9c8d093429ecd2e978935fa190a8 1107 non-free/admin optional
firmware-nonfree_0.14.dsc
faf59942e8da6821ff9b1b800f5ed1c9 1281829 non-free/admin optional
firmware-nonfree_0.14.tar.gz
e913bc936a8ca754d72aa91291f229dd 105312 non-free/admin optional
firmware-bnx2_0.14_all.deb
91737f5f83dbc71d1c93c17d7f155b73 519622 non-free/admin optional
firmware-ipw2x00_0.14_all.deb
b5ddd638c4cd04267cb88fa0a001caa5 223788 non-free/admin optional
firmware-iwlwifi_0.14_all.deb
4fdb341a9d7375d9b373b782cf8dc74c 415896 non-free/admin optional
firmware-qlogic_0.14_all.deb
89c8a7381fca91b4bca7c9b0812f3f68 11698 non-free/admin optional
firmware-ralink_0.14_all.deb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iEYEARECAAYFAkk1bDAACgkQLkAIIn9ODhHPjwCcDKZnqz0ZPzqjI7s4Pj+Zpo+1
HUcAoMUj1nBCLZtvOuCjhdMLk9lAqsWX
=/BzE
-----END PGP SIGNATURE-----
--- End Message ---