bad error message for incorrect Maintainer: field syntax (fails to parse changelog)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
equivs (Debian) |
Fix Released
|
Unknown
|
|||
equivs (Ubuntu) |
Confirmed
|
Low
|
Unassigned |
Bug Description
Binary package hint: equivs
This is on Kubuntu Dapper, with equivs version 2.0.6-0.1. Also tested with the newer version 2.0.7 installed from packages.
The command 'man equivs-build' tells us the following: "If you don’t use a local changelog, equivs will create a dummy one." However, it can't do this.
Using the following control file (for completely local use) by the name 'libxine-main1':
Package: libxine-main1
Version: 1.1.1+ubuntu2-
Maintainer: kko
Depends: libxine-main1 (= 1.1.1+ubuntu2-
Description: A meta-package to trick adept_notifier and adept_updater.
This depends on the real installed patched version, but has
a version number larger than what is currently available
through repositories.
...and then running 'equivs-build libxine-main1', I get the following output:
Use of uninitialized value in concatenation (.) or string at /usr/bin/
dh_testdir
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_clean: Compatibility levels before 4 are deprecated.
# Add here commands to install the package into debian/tmp.
touch install-stamp
dh_testdir
dh_testroot
dh_installdocs
dh_installdocs: Compatibility levels before 4 are deprecated.
dh_installchang
parsechangelog/
dh_installchang
make: *** [binary-arch] Virhe 1
Error during the build process: Inappropriate ioctl for device at /usr/bin/
...and after 'sudo dpkg -i equivs_
Use of uninitialized value in concatenation (.) or string at /usr/bin/
dh_testdir
dh_testroot
dh_clean -k
dh_testdir
dh_testroot
dh_installdocs
dh_installchang
parsechangelog/
dh_installchang
make: *** [binary-arch] Virhe 1
Error in the build process: exit status 2
There seems to at least be a problem in parsing the changelog (that equivs is supposed to provide from a template). (The command 'man equivs-build' tells us that "The control file -- doesn't have to define all keys, as default values will be used if you omit one." I have, accordingly, omitted a number of fields from the control file.)
Looking at the list of installed files, I don't see a separate 'changelog' file in equivs's template directory, although I'm guessing this may not even be intended, as it could be coded into the script.
I was able to build the package after I defined the changelog file with "Changelog: changelog.txt" in the control file, and added a modified changelog for "libxine-main1" as 'changelog.txt'.
Changed in equivs: | |
status: | Unknown → Unconfirmed |
Changed in equivs: | |
importance: | Undecided → Low |
status: | New → Confirmed |
summary: |
- equivs can't create a meta-package without a user-provided changelog - (bad error message, solution provided) + bad error message for incorrect Maintainer: field syntax (fails to parse + changelog) |
Changed in equivs (Debian): | |
status: | New → Fix Released |
I just ran into this bug today (Sept 2006). I discovered the solution to
it on usenetlinux.com, which was just an archive of this report. Hard to
believe that this bug was discoverd 2.5 years ago, and still hasn't been
fixed.