--- Begin Message ---
Package: madfuload
Version: 1.2-2
Severity: grave
Tags: patch
Justification: renders package unusable
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu karmic ubuntu-patch
*** /tmp/tmpYRLSkU
In my Ubuntu archive, I've applied the attached patch to achieve the following:
* 42-madfuload.rules.in: substitution variables need to be in lower case...
* madfuload.c: Fix 64-bit segfault. LP: #301771.
* debian/watch: fix source path - sf redirector seems broken.
* debian/rules:
- switch to debhelper 7.
- Add quilt patch system and remove all changes to orig.tar.
- Force autoreconf on build due to patching.
* debian/control:
- Update policy to 3.8.3.
- Add build dependencies for autotools, quilt and the correct version
of udev.
* 42-madfuload.rules.in: rework udev selectors to workaround race
condition. LP: #330573
* Add man page for madfuload binary.
* debian/control: Depend on udev
We thought you might be interested in doing the same.
-- System Information:
Debian Release: squeeze/sid
APT prefers karmic-updates
APT policy: (500, 'karmic-updates'), (500, 'karmic-security'), (500, 'karmic')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.31-10-generic (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -u madfuload-1.2/debian/rules madfuload-1.2/debian/rules
--- madfuload-1.2/debian/rules
+++ madfuload-1.2/debian/rules
@@ -2,5 +2,6 @@
-
-include /usr/share/cdbs/1/rules/debhelper.mk
-include /usr/share/cdbs/1/class/autotools.mk
+%:
+ dh --with quilt $@
-# Add here any variable or target overrides you need.
+override_dh_auto_configure:
+ autoreconf -f
+ dh_auto_configure -- --with-udev=/lib/udev
diff -u madfuload-1.2/debian/watch madfuload-1.2/debian/watch
--- madfuload-1.2/debian/watch
+++ madfuload-1.2/debian/watch
@@ -3 +3 @@
-http://heanet.dl.sourceforge.net/sourceforge/usb-midi-fw/madfuload-(.*)\.tar\.gz debian uupdate
+http://heanet.dl.sourceforge.net/project/usb-midi-fw/madfu-firmware/(\d\.\d)/madfuload-(\d\.\d)\.tar\.gz debian uupdate
diff -u madfuload-1.2/debian/changelog madfuload-1.2/debian/changelog
diff -u madfuload-1.2/debian/control madfuload-1.2/debian/control
--- madfuload-1.2/debian/control
+++ madfuload-1.2/debian/control
@@ -1,17 +1,18 @@
Source: madfuload
Section: non-free/sound
Priority: extra
Uploaders: Free Ekanayaka <fr...@debian.org>
-Build-Depends: cdbs, debhelper (>= 5), udev
-Standards-Version: 3.7.3
+Build-Depends: autoconf, automake, libtool, quilt (>=0.46-7), debhelper (>= 7.0.50), udev (>= 136)
+Standards-Version: 3.8.3
Homepage: http://usb-midi-fw.sourceforge.net/
Vcs-Svn: svn://svn.debian.org/demudi/madfuload/trunk/
Vcs-Browser: http://svn.debian.org/wsvn/demudi/madfuload/op=log
Package: madfuload
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, udev (>= 136)
Description: Firmware loader for M-Audio DFU audio devices
This packages allows you to use M-Audio's DFU audio devices
with Linux. These devices require a firmware download before
diff -u madfuload-1.2/debian/compat madfuload-1.2/debian/compat
--- madfuload-1.2/debian/compat
+++ madfuload-1.2/debian/compat
@@ -1 +1 @@
-5
+7
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/README.source
+++ madfuload-1.2/debian/README.source
@@ -0,0 +1,4 @@
+See /usr/share/doc/quilt/README.source
+
+Note that the patch system alters the configure files and you will need
+to run 'autoreconf' to regenerate the make system prior to building.
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/madfuload.1
+++ madfuload-1.2/debian/madfuload.1
@@ -0,0 +1,92 @@
+.\"
+.\" This program is free software; you can redistribute it and/or modify
+.\" it under the terms of the GNU General Public License as published by
+.\" the Free Software Foundation; either version 2 of the License, or
+.\" (at your option) any later version.
+.\"
+.\" This program is distributed in the hope that it will be useful,
+.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
+.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+.\" GNU General Public License for more details.
+.\"
+.\" You should have received a copy of the GNU General Public License
+.\" along with this program; if not, write to the Free Software
+.\" Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+.\"
+.\"
+.TH MADFULOAD 1 "AUGUST 20, 2009" "" ""
+
+.SH NAME
+madfuload \- Device firmware loader utility for M-Audio DFU devices
+.SH SYNOPSIS
+.B madfuload
+[ \fIoption\fR ] ...
+.SH DESCRIPTION
+.B madfuload
+is used to download firmware files to M-Audio DFU devices. These devices
+require a firmware download before an operating system driver (e.g. ALSA's
+snd-usb-audio) can access them.
+.PP
+Supported devices:
+.PP
+.RS
+ - Audiophile
+ - Sonica
+ - Ozone
+ - MobilePre USB (some newer models work without the loader)
+ - Transit
+.RE
+.PP
+The loader is not required for some newer models of the above devices,
+like the Ozone Academic.
+.SH OPTIONS
+.TP
+.B -h, --help
+Gives a list of possible options.
+.TP
+.B -V, --version
+Prints the version number of the tool.
+.TP
+.BI -f " <path>, " --firmware= "<path>"
+File containing firmware to load.
+.TP
+.BI -D " <path>, " --device= "<path>"
+specify the device to use.
+.TP
+.B -v, --verbose
+Output debugging messages.
+.TP
+.B -l, --logger
+Output messages to system logger instead of standard output.
+.TP
+.B -n, --nowait
+Don't wait between download requests.
+.TP
+.B -3, waitbyte3
+Use only the third byte of the BwPollTimeout field.
+.SH FILES
+.TP
+.I /usr/share/usb/maudio/ma003101.bin
+Audiophile firmware.
+.TP
+.I /usr/share/usb/maudio/ma004103.bin
+MobilePre firmware.
+.TP
+.I /usr/share/usb/maudio/ma005101.bin
+Sonica firmware.
+.TP
+.I /usr/share/usb/maudio/ma006100.bin
+Transit firmware.
+.TP
+.I /usr/share/usb/maudio/ma008100.bin
+Ozone firmware.
+.TP
+.I /lib/udev/rules.d/42-madfuload.rules
+Udev rules for loading firmware automatically.
+.SH AUTHOR
+.PP
+Written by Clemens Ladisch <clem...@ladisch.de>.
+.PP
+This manual page was written by Neil Wilson <n...@aldur.co.uk> for
+the Debian GNU/Linux system (but may be used by others).
+.br
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/preinst
+++ madfuload-1.2/debian/preinst
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = install ] || [ "$1" = upgrade ]; then
+ if [ -e "/etc/udev/rules.d/42-madfuload.rules" ]; then
+ if [ "`md5sum \"/etc/udev/rules.d/42-madfuload.rules\" | sed -e \"s/ .*//\"`" = \
+ "`dpkg-query -W -f='${Conffiles}' madfuload | sed -n -e \"\\\\' /etc/udev/rules.d/42-madfuload.rules's/.* //p\"`" ]
+ then
+ rm -f "/etc/udev/rules.d/42-madfuload.rules"
+ fi
+ fi
+fi
+
+#DEBHELPER#
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/manpages
+++ madfuload-1.2/debian/manpages
@@ -0,0 +1 @@
+debian/madfuload.1
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/patches/fix-64-bit-implicit-declarations.patch
+++ madfuload-1.2/debian/patches/fix-64-bit-implicit-declarations.patch
@@ -0,0 +1,15 @@
+Ubuntu: https://bugs.launchpad.net/ubuntu/+source/madfuload/+bug/301771
+Description: Fixes the implicit declarations warnings and stops segfaults
+on 64 bit architectures
+--- a/madfuload.c
++++ b/madfuload.c
+@@ -16,7 +16,8 @@
+ #include <fcntl.h>
+ #include <getopt.h>
+ #include <syslog.h>
+-#include <linux/ioctl.h>
++#include <sys/ioctl.h>
++#include <string.h>
+
+ /* USB stuff -- we can't rely on all Linux headers being there */
+
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/patches/configure.ac.patch
+++ madfuload-1.2/debian/patches/configure.ac.patch
@@ -0,0 +1,13 @@
+Description: Minimal patch to configure.ac so that it calls
+'udevadm --version' to obtain the version number. Upstream is out of date.
+--- a/configure.ac
++++ b/configure.ac
+@@ -7,7 +7,7 @@
+ AC_PROG_CC
+
+ AC_MSG_CHECKING([for udev version])
+-udev_ver=`udevinfo -V | awk '{ print $3 }'`
++udev_ver=`udevadm --version`
+ if test -n "$udev_ver"; then
+ AC_MSG_RESULT([$udev_ver])
+ else
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/patches/42-madfuload-rules.patch
+++ madfuload-1.2/debian/patches/42-madfuload-rules.patch
@@ -0,0 +1,31 @@
+Ubuntu: https://bugs.launchpad.net/ubuntu/+source/madfuload/+bug/330573
+Description: Fixes selection problems with udev that prevents the firmware
+loading properly
+--- madfuload.orig/42-madfuload.rules.in
++++ madfuload/42-madfuload.rules.in
+@@ -1,17 +1,17 @@
+ # madfuload.rules - udev rules for loading firmware into M-Audio DFU devices
+-
+-# DEVPATH=="/*.0" selects interface 0 only
+-# (some udev versions don't work with SYSFS{bInterfaceNumber})
++# Altered for Ubuntu udev system
++# Uses DEVTYPE and DEVNAME to ensure that the right device is selected
++# and the correct device file is opened
+
+ # Audiophile
+-ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/2803/*", RUN+="@sbindir@/madfuload -l -n -f @firmwaredir@/ma003101.bin"
++ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2803", RUN+="@sbindir@/madfuload -l -n -f @firmwaredir@/ma003101.bin -D $env{DEVNAME}"
+ # MobilePre
+-ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/2804/*", RUN+="@sbindir@/madfuload -l -3 -f @firmwaredir@/ma004103.bin"
++ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2804", RUN+="@sbindir@/madfuload -l -3 -f @firmwaredir@/ma004103.bin -D $env{DEVNAME}"
+ # Sonica
+-ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/2805/*", RUN+="@sbindir@/madfuload -l -n -f @firmwaredir@/ma005101.bin"
++ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2805", RUN+="@sbindir@/madfuload -l -n -f @firmwaredir@/ma005101.bin -D $env{DEVNAME}"
+ # Transit
+-ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/2806/*", RUN+="@sbindir@/madfuload -l -3 -f @firmwaredir@/ma006100.bin"
++ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2806", RUN+="@sbindir@/madfuload -l -3 -f @firmwaredir@/ma006100.bin -D $env{DEVNAME}"
+ # Ozone
+-ACTION=="add", SUBSYSTEM=="usb", DEVPATH=="/*.0", ENV{PRODUCT}=="763/2808/*", RUN+="@sbindir@/madfuload -l -3 -f @firmwaredir@/ma008100.bin"
++ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="0763", ATTRS{idProduct}=="2808", RUN+="@sbindir@/madfuload -l -3 -f @firmwaredir@/ma008100.bin -D $env{DEVNAME}"
+
+ # vim: ft=conf
only in patch2:
unchanged:
--- madfuload-1.2.orig/debian/patches/series
+++ madfuload-1.2/debian/patches/series
@@ -0,0 +1,3 @@
+fix-64-bit-implicit-declarations.patch
+42-madfuload-rules.patch
+configure.ac.patch
--- End Message ---