Package: mozilla-devscripts
While building enigmail for raspbian one of our autobuilders ran into
the following error.
make[1]: Leaving directory `/«PKGBUILDDIR»'
dh_xul-ext -a
dh_xul-ext: Unknown vendor "Raspbian" specified.
Some investigation revealed that the code uses "dpkg-vendor --query
Vendor" to determine the vendor name. It then looks for a file called
/usr/share/mozilla-devscripts/xul-app-data.csv.<Vendor>, if it doesn't
find it it fails.
It appears the intent of this is to use different options on Debian and
Ubuntu. However it leads to failure on other derivatives which is
obviously undesirable.
You could try and add entries for all derivatives explicitly but I don't
think that is a good soloution (in particular I belive we should strive
to make life as easy as possible for new derivatives). IMO what you
should be doing is distinguishing Ubuntu and it's derivatives from
Debian and it's non-ubuntu based derivatives by using "dpkg-vendor
--derives-from Ubuntu". I went ahead and implemented this.
Debdiff attatched, no intent to NMU.
diff -Nru mozilla-devscripts-0.34/debian/changelog
mozilla-devscripts-0.34+rpi1/debian/changelog
--- mozilla-devscripts-0.34/debian/changelog 2013-04-15 10:55:22.000000000
+0000
+++ mozilla-devscripts-0.34+rpi1/debian/changelog 2013-12-16
01:25:26.000000000 +0000
@@ -1,3 +1,11 @@
+mozilla-devscripts (0.34+rpi1) jessie-staging; urgency=medium
+
+ * Use dpkg-vendor --derives-from Ubuntu instead of dpkg-vendor --query vendor
+ in dh_xul-ext so Ubuntu derivatives get treated like Ubuntu and non-ubuntu
+ based debian derivatives get treated like debian.
+
+ -- Peter Michael Green <plugw...@raspbian.org> Mon, 16 Dec 2013 01:24:15
+0000
+
mozilla-devscripts (0.34) unstable; urgency=low
* Add Iceowl to xpi:Depends auto-detection. Thanks to Matthias Schmitz for
diff -Nru mozilla-devscripts-0.34/dh_xul-ext
mozilla-devscripts-0.34+rpi1/dh_xul-ext
--- mozilla-devscripts-0.34/dh_xul-ext 2012-12-07 00:57:57.000000000 +0000
+++ mozilla-devscripts-0.34+rpi1/dh_xul-ext 2013-12-16 01:08:33.000000000
+0000
@@ -125,9 +125,18 @@
if _VENDOR_ENV in os.environ:
vendor = os.environ[_VENDOR_ENV]
else:
- cmd = ["dpkg-vendor", "--query", "Vendor"]
- process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
- vendor = process.communicate()[0].strip()
+ #cmd = ["dpkg-vendor", "--query", "Vendor"]
+ #process = subprocess.Popen(cmd, stdout=subprocess.PIPE)
+ #vendor = process.communicate()[0].strip()
+ #Use dpkg-vendor --derives-from Ubuntu rathe than dpkg-vendor --query
+ #So Ubuntu derivatives get treated like ubuntu and non-ubuntu based
+ #Debian derivatives get treated like Debian.
+ cmd = ["dpkg-vendor", "--derives-from", "Ubuntu"]
+ retval = subprocess.call(cmd);
+ if (retval == 0):
+ vendor = "Ubuntu"
+ else:
+ vendor = "Debian"
return vendor
def get_xul_apps(script_name, all_distros):