Your message dated Fri, 1 Feb 2013 17:15:48 +0100
with message-id <[email protected]>
and subject line Re: Bug#699295: pre-approval for unblock: 
dahdi-linux/1:2.6.1+dfsg-2
has caused the Debian Bug report #699295,
regarding pre-approval for unblock: dahdi-linux/1:2.6.1+dfsg-2
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.)


-- 
699295: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=699295
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock

Please consider pre-approving dahdi-linux/1:2.6.1+dfsg-2
(not yet uploaded, would go via unstable)

As explained in #693666, two of the older drivers in DAHDI include
hardwired firmware. Ben Hutchings recently converted them as well
to use loadable firmwares.

The second part of the fix is (#699104) is to include those firmware
files in the existing package dahdi-firmware-nonfree.
Should I file a separate unblock request for dahdi-firmware 2.6.1-2?

As there is a new upload, I figured I'll include some of the fixes
accumulated in the recent monthes:

* Patch fix_define_dev: fix building with kernel 3.8.
  (Build: building a modules package for dahdi-linux)
* Patch fix_xpp_usermode: fixes odd xpp behaviour with later kernels.
  (not panic, but this is a low-risk fix for an odd-looking bug)
* Patch fix_xpp_post_unregister: fixes a panic with manual
  'dahdi_registration off'.

All of them are low-risk and included in the recently-tagged 2.6.2-rc1.

Packages could be found for now at:

  http://anonscm.debian.org/viewvc/pkg-voip/dahdi-linux/trunk/
  http://anonscm.debian.org/viewvc/pkg-voip/dahdi-firmware/trunk/

debdiff (for dahdi-linux)
The deleted files are noted in the debdiff as just '[deleted]'.

diff -Nru dahdi-linux-2.6.1+dfsg/debian/changelog 
dahdi-linux-2.6.1+dfsg2/debian/changelog
--- dahdi-linux-2.6.1+dfsg/debian/changelog     2012-04-23 13:26:35.000000000 
+0300
+++ dahdi-linux-2.6.1+dfsg2/debian/changelog    2013-01-29 23:39:57.000000000 
+0200
@@ -1,3 +1,14 @@
+dahdi-linux (1:2.6.1+dfsg2-1) UNRELEASED; urgency=low
+
+  * Patch fix_define_dev: fix building with kernel 3.8.
+  * Remove non-free FPGA bitfiles and patch drivers to load them
+    (Closes: #693666) (Ben Hutchings).
+  * Patch fix_xpp_usermode: fixes odd xpp behaviour with later kernels.
+  * Patch fix_xpp_post_unregister: fixes a crash with manual
+    'dahdi_registration off'
+
+ -- Tzafrir Cohen <[email protected]>  Mon, 28 Jan 2013 14:23:01 +0200
+
 dahdi-linux (1:2.6.1+dfsg-1) unstable; urgency=low
 
   * New upstream release candidate:
diff -Nru dahdi-linux-2.6.1+dfsg/debian/patches/fix_define_dev 
dahdi-linux-2.6.1+dfsg2/debian/patches/fix_define_dev
--- dahdi-linux-2.6.1+dfsg/debian/patches/fix_define_dev        1970-01-01 
02:00:00.000000000 +0200
+++ dahdi-linux-2.6.1+dfsg2/debian/patches/fix_define_dev       2013-01-28 
16:08:17.000000000 +0200
@@ -0,0 +1,35 @@
+From: Tzafrir Cohen <[email protected]>
+Date: Mon, 28 Jan 2013 15:22:13 +0200
+Subject: [PATCH] Redefine the removed __dev* for now
+
+The __dev* directives and functions were removed in 3.8, as they
+are no-ops. We still have use of them for older versions, thus
+we should define them (as noops) if they don't exist.
+
+Signed-off-by: Tzafrir Cohen <[email protected]>
+---
+ include/dahdi/kernel.h |    8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/include/dahdi/kernel.h b/include/dahdi/kernel.h
+index 13bbb20..4a98af5 100644
+--- a/include/dahdi/kernel.h
++++ b/include/dahdi/kernel.h
+@@ -120,6 +120,14 @@
+ #  endif
+ #endif
+ 
++/* __dev* were removed in 3.8. They still have effect in 2.6.18. */
++#ifndef __devinit
++#  define __devinit
++#  define __devinitdata
++#  define __devexit
++#  define __devexit_p(x) x
++#endif
++
+ /*! Default chunk size for conferences and such -- static right now, might 
make
+    variable sometime.  8 samples = 1 ms = most frequent service interval 
possible
+    for a USB device */
+-- 
+1.7.10.4
+
diff -Nru dahdi-linux-2.6.1+dfsg/debian/patches/fix_xpp_post_unregister 
dahdi-linux-2.6.1+dfsg2/debian/patches/fix_xpp_post_unregister
--- dahdi-linux-2.6.1+dfsg/debian/patches/fix_xpp_post_unregister       
1970-01-01 02:00:00.000000000 +0200
+++ dahdi-linux-2.6.1+dfsg2/debian/patches/fix_xpp_post_unregister      
2013-01-29 23:38:53.000000000 +0200
@@ -0,0 +1,41 @@
+From: Tzafrir Cohen <[email protected]>
+Date: Thu, 15 Nov 2012 15:15:48 +0000
+Subject: xpp: pre/post_unregister: not for the EC
+Origin: 
http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=c0eebd73bb29f1187b38cc3a41f1a86579e481ac
+
+Don't run the pre- and post-unregister hooks on a non-phone XPD
+(practically: the echo canceller). This fixes a panic with manual
+'dahdi_registertion off' as it is now called for the whole device
+(regression of 2.6.x).
+
+Signed-off-by: Tzafrir Cohen <[email protected]>
+
+---
+ drivers/dahdi/xpp/xpp_dahdi.c |    4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/drivers/dahdi/xpp/xpp_dahdi.c b/drivers/dahdi/xpp/xpp_dahdi.c
+index b9fa49a..b2f7008 100644
+--- a/drivers/dahdi/xpp/xpp_dahdi.c
++++ b/drivers/dahdi/xpp/xpp_dahdi.c
+@@ -1083,7 +1083,7 @@ int xpd_dahdi_postregister(xpd_t *xpd)
+  */
+ void xpd_dahdi_preunregister(xpd_t *xpd)
+ {
+-      if (!xpd)
++      if (!xpd || !IS_PHONEDEV(xpd))
+               return;
+       XPD_DBG(DEVICES, xpd, "\n");
+       update_xpd_status(xpd, DAHDI_ALARM_NOTOPEN);
+@@ -1103,7 +1103,7 @@ void xpd_dahdi_preunregister(xpd_t *xpd)
+ 
+ void xpd_dahdi_postunregister(xpd_t *xpd)
+ {
+-      if (!xpd)
++      if (!xpd || !IS_PHONEDEV(xpd))
+               return;
+       atomic_dec(&PHONEDEV(xpd).dahdi_registered);
+       atomic_dec(&num_registered_spans);
+-- 
+1.7.10.4
+
diff -Nru dahdi-linux-2.6.1+dfsg/debian/patches/fix_xpp_usermode 
dahdi-linux-2.6.1+dfsg2/debian/patches/fix_xpp_usermode
--- dahdi-linux-2.6.1+dfsg/debian/patches/fix_xpp_usermode      1970-01-01 
02:00:00.000000000 +0200
+++ dahdi-linux-2.6.1+dfsg2/debian/patches/fix_xpp_usermode     2013-01-29 
23:31:13.000000000 +0200
@@ -0,0 +1,60 @@
+From c0eebd73bb29f1187b38cc3a41f1a86579e481ac Mon Sep 17 00:00:00 2001
+From: Oron Peled <[email protected]>
+Date: Thu, 21 Jun 2012 17:53:33 +0000
+Subject: xpp: usermode_helper() bugfix for kernels >= 3.3.0
+Origin: 
http://git.asterisk.org/gitweb/?p=dahdi/linux.git;a=commit;h=c0eebd73bb29f1187b38cc3a41f1a86579e481ac
+
+Respective kernels fail to run the initialization script but report it
+was run, and thus the device behaves in an odd way.
+
+* UMH_WAIT_PROC semantics (and value) was changed from enum to
+  a bitmask (via #define)
+* This constant was missing from kernels older than 2.6.23
+
+Signed-off-by: Oron Peled <[email protected]>
+Acked-by: Tzafrir Cohen <[email protected]>
+
+---
+ drivers/dahdi/xpp/card_global.c |   12 +++++++++++-
+ 1 file changed, 11 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/dahdi/xpp/card_global.c b/drivers/dahdi/xpp/card_global.c
+index 29c43f0..dca5aee 100644
+--- a/drivers/dahdi/xpp/card_global.c
++++ b/drivers/dahdi/xpp/card_global.c
+@@ -22,6 +22,7 @@
+ 
+ #include <linux/module.h>
+ #include <linux/delay.h>
++#include <linux/kmod.h>
+ #include "xdefs.h"
+ #include "xpd.h"
+ #include "xpp_dahdi.h"
+@@ -655,6 +656,15 @@ static void global_packet_dump(const char *msg, xpacket_t 
*pack)
+ 
+ #define       MAX_PATH_STR    128
+ 
++#ifndef       UMH_WAIT_PROC
++/*
++ * - UMH_WAIT_PROC was introduced as enum in 2.6.23
++ *   with a value of 1
++ * - It was changed to a macro (and it's value was modified) in 3.3.0
++ */
++#define       UMH_WAIT_PROC   1
++#endif
++
+ int run_initialize_registers(xpd_t *xpd)
+ {
+       int     ret;
+@@ -737,7 +747,7 @@ int run_initialize_registers(xpd_t *xpd)
+       }
+       XPD_DBG(DEVICES, xpd, "running '%s' for type=%d revision=%d\n",
+                       init_card, xpd->type, xbus->revision);
+-      ret = call_usermodehelper(init_card, argv, envp, 1);
++      ret = call_usermodehelper(init_card, argv, envp, UMH_WAIT_PROC);
+       /*
+        * Carefully report results
+        */
+-- 
+1.7.10.4
+
diff -Nru dahdi-linux-2.6.1+dfsg/debian/patches/pciradio-request_firmware 
dahdi-linux-2.6.1+dfsg2/debian/patches/pciradio-request_firmware
--- dahdi-linux-2.6.1+dfsg/debian/patches/pciradio-request_firmware     
1970-01-01 02:00:00.000000000 +0200
+++ dahdi-linux-2.6.1+dfsg2/debian/patches/pciradio-request_firmware    
2013-01-28 16:40:40.000000000 +0200
@@ -0,0 +1,135 @@
+Author: Ben Hutchings <[email protected]>
+Description: pciradio: Use request_firmware() to load bitfile
+Bug-Debian: http://bugs.debian.org/693666
+
+Non-free bits belong in separate (source & binary) packages.
+This driver must use request_firmware() to load the FPGA bitfile.
+
+---
+--- a/drivers/dahdi/pciradio.c
++++ b/drivers/dahdi/pciradio.c
+@@ -51,6 +51,7 @@ With driver: 303826  (1.5 %)
+ #include <linux/interrupt.h>
+ #include <linux/moduleparam.h>
+ #include <linux/sched.h>
++#include <linux/firmware.h>
+ #include <asm/io.h>
+ #include <asm/delay.h> 
+ 
+@@ -220,8 +221,6 @@ struct tonedef {
+       unsigned char b2;
+ } ;
+ 
+-#include "radfw.h"
+-
+ static struct tonedef cttable_tx [] = {
+ {0,0,0},
+ {670,0xE,0xB1},
+@@ -1505,9 +1504,18 @@ static void wait_just_a_bit(int foo)
+ 
+ static int pciradio_hardware_init(struct pciradio *rad)
+ {
++const struct firmware *bitfile;
+ unsigned char byte1,byte2;
+ int   x;
+ unsigned long endjif;
++int res;
++
++      res = request_firmware(&bitfile, "dahdi-fw-pciradio.bin",
++                             &rad->dev->dev);
++      if (res)
++              return res;
++
++      res = -EIO;
+ 
+       /* Signal Reset */
+       outb(0x01, rad->ioaddr + RAD_CNTL);
+@@ -1539,7 +1547,7 @@ unsigned long endjif;
+       while (inb(rad->ioaddr + RAD_AUXR) & (XINIT | XDONE) && (jiffies <= 
endjif));
+       if (endjif < jiffies) {
+               printk(KERN_DEBUG "Timeout waiting for INIT and DONE to go 
low\n");
+-              return -1;
++              goto out;
+       }
+       if (debug) printk(KERN_DEBUG "fwload: Init and done gone to low\n");
+       /* De-assert PGM */
+@@ -1550,16 +1558,16 @@ unsigned long endjif;
+       while (!(inb(rad->ioaddr + RAD_AUXR) & XINIT) && (jiffies <= endjif));
+       if (endjif < jiffies) {
+               printk(KERN_DEBUG "Timeout waiting for INIT to go high\n");
+-              return -1;
++              goto out;
+       }
+       if (debug) printk(KERN_DEBUG "fwload: Init went high (clearing 
done)\nNow loading...\n");
+       /* Assert CS+Write */
+       rad->ios &= ~XCS;
+       outb(rad->ios, rad->ioaddr + RAD_AUXD);
+-      for (x = 0; x < sizeof(radfw); x++)
++      for (x = 0; x < bitfile->size; x++)
+          {
+                 /* write the byte */
+-              outb(radfw[x],rad->ioaddr + RAD_REGBASE);
++              outb(bitfile->data[x], rad->ioaddr + RAD_REGBASE);
+                 /* if DONE signal, we're done, exit */
+               if (inb(rad->ioaddr + RAD_AUXR) & XDONE) break;
+                 /* if INIT drops, we're screwed, exit */
+@@ -1580,12 +1588,12 @@ unsigned long endjif;
+       if (!(inb(rad->ioaddr + RAD_AUXR) & XINIT))
+          {
+               printk(KERN_NOTICE "Drove Init low!! CRC Error!!!\n");
+-              return -1;
++              goto out;
+          }
+       if (!(inb(rad->ioaddr + RAD_AUXR) & XDONE))
+          {
+               printk(KERN_INFO "Did not get DONE signal. Short file 
maybe??\n");
+-              return -1;
++              goto out;
+          }
+       wait_just_a_bit(2);
+       /* get the thingy started */
+@@ -1646,7 +1654,10 @@ unsigned long endjif;
+       /* Wait 1/4 of a sec */
+       wait_just_a_bit(HZ/4);
+ 
+-      return 0;
++      res = 0;
++out:
++      release_firmware(bitfile);
++      return res;
+ }
+ 
+ static void pciradio_enable_interrupts(struct pciradio *rad)
+@@ -1765,7 +1776,8 @@ static int __devinit pciradio_init_one(s
+                       /* Keep track of which device we are */
+                       pci_set_drvdata(pdev, rad);
+ 
+-                      if (pciradio_hardware_init(rad)) {
++                      res = pciradio_hardware_init(rad);
++                      if (res) {
+                               /* Set Reset Low */
+                               x=inb(rad->ioaddr + RAD_CNTL);
+                               outb((~0x1)&x, rad->ioaddr + RAD_CNTL);
+@@ -1780,7 +1792,7 @@ static int __devinit pciradio_init_one(s
+                               pci_set_drvdata(pdev, NULL);
+                               dahdi_free_device(rad->ddev);
+                               kfree(rad);
+-                              return -EIO;
++                              return res;
+ 
+                       }
+ 
+--- a/drivers/dahdi/Kbuild
++++ b/drivers/dahdi/Kbuild
+@@ -141,11 +141,4 @@ ifeq ($(HPEC_PRESENT),yes)
+ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECHOCAN_HPEC)    += dahdi_echocan_hpec.o
+ endif
+ 
+-$(obj)/pciradio.o: $(obj)/radfw.h
+-
+ hostprogs-y := makefw
+-
+-$(obj)/radfw.h: $(src)/pciradio.rbt $(obj)/makefw
+-      $(obj)/makefw $< radfw > $@
+-
+-clean-files   := radfw.h
diff -Nru dahdi-linux-2.6.1+dfsg/debian/patches/series 
dahdi-linux-2.6.1+dfsg2/debian/patches/series
--- dahdi-linux-2.6.1+dfsg/debian/patches/series        2012-04-23 
12:32:49.000000000 +0300
+++ dahdi-linux-2.6.1+dfsg2/debian/patches/series       2013-01-29 
23:40:15.000000000 +0200
@@ -3,3 +3,8 @@
 no_firmware_download
 chanmute
 notest
+fix_define_dev
+tor2-request_firmware
+pciradio-request_firmware
+fix_xpp_usermode
+fix_xpp_post_unregister
diff -Nru dahdi-linux-2.6.1+dfsg/debian/patches/tor2-request_firmware 
dahdi-linux-2.6.1+dfsg2/debian/patches/tor2-request_firmware
--- dahdi-linux-2.6.1+dfsg/debian/patches/tor2-request_firmware 1970-01-01 
02:00:00.000000000 +0200
+++ dahdi-linux-2.6.1+dfsg2/debian/patches/tor2-request_firmware        
2013-01-28 16:40:40.000000000 +0200
@@ -0,0 +1,87 @@
+Author: Ben Hutchings <[email protected]>
+Description: tor2: Use request_firmware() to load bitfile
+Bug-Debian: http://bugs.debian.org/693666
+
+Non-free bits belong in separate (source & binary) packages.
+This driver must use request_firmware() to load the FPGA bitfile.
+
+---
+--- a/drivers/dahdi/tor2.c
++++ b/drivers/dahdi/tor2.c
+@@ -31,11 +31,11 @@
+ #include <linux/sched.h>
+ #include <linux/interrupt.h>
+ #include <linux/moduleparam.h>
++#include <linux/firmware.h>
+ 
+ #include <dahdi/kernel.h>
+ #define NEED_PCI_IDS
+ #include "tor2-hw.h"
+-#include "tor2fw.h"
+ 
+ /*
+  * Tasklets provide better system interactive response at the cost of the
+@@ -379,6 +379,7 @@ static int __devinit tor2_probe(struct p
+       unsigned long endjif;
+       __iomem volatile unsigned long *gpdata_io, *lasdata_io;
+       unsigned long gpdata,lasdata;
++      const struct firmware *bitfile;
+ 
+       res = pci_enable_device(pdev);
+       if (res)
+@@ -439,6 +440,11 @@ static int __devinit tor2_probe(struct p
+                      tor->xilinx8_len, tor->xilinx8_region);
+               goto err_out_release_plx_region;
+       }
++      res = request_firmware(&bitfile, "dahdi-fw-tor2.bin", &pdev->dev);
++      if (res) {
++              ret = res;
++              goto err_out_release_all_regions;
++      }
+       pci_set_drvdata(pdev, tor);
+       printk(KERN_INFO "Detected %s at 0x%lx/0x%lx irq %d\n", tor->type, 
+               tor->xilinx32_region, tor->xilinx8_region,tor->irq);
+@@ -490,10 +496,10 @@ static int __devinit tor2_probe(struct p
+       /* assert WRITE signal */
+       gpdata &= ~GPIO_WRITE;
+       writel(gpdata, gpdata_io);
+-      for (x = 0; x < sizeof(tor2fw); x++)
++      for (x = 0; x < bitfile->size; x++)
+          {
+                 /* write the byte */
+-              writeb(tor2fw[x], tor->mem8);
++              writeb(bitfile->data[x], tor->mem8);
+                 /* if DONE signal, we're done, exit */
+               if (readl(gpdata_io) & GPIO_DONE)
+                       break;
+@@ -612,9 +618,12 @@ static int __devinit tor2_probe(struct p
+                       break;
+       }
+ 
++      release_firmware(bitfile);
+       return 0;
+ 
+ err_out_release_all:
++      release_firmware(bitfile);
++err_out_release_all_regions:
+       release_mem_region(tor->xilinx32_region, tor->xilinx32_len);
+       release_mem_region(tor->xilinx8_region, tor->xilinx8_len);
+ err_out_release_plx_region:
+--- a/drivers/dahdi/Kbuild
++++ b/drivers/dahdi/Kbuild
+@@ -142,14 +142,10 @@ obj-$(DAHDI_BUILD_ALL)$(CONFIG_DAHDI_ECH
+ endif
+ 
+ $(obj)/pciradio.o: $(obj)/radfw.h
+-$(obj)/tor2.o: $(obj)/tor2fw.h
+ 
+ hostprogs-y := makefw
+ 
+-$(obj)/tor2fw.h: $(src)/tormenta2.rbt $(obj)/makefw 
+-      $(obj)/makefw $< tor2fw > $@
+-
+ $(obj)/radfw.h: $(src)/pciradio.rbt $(obj)/makefw
+       $(obj)/makefw $< radfw > $@
+ 
+-clean-files   := radfw.h tor2fw.h
++clean-files   := radfw.h
diff -Nru dahdi-linux-2.6.1+dfsg/debian/rules 
dahdi-linux-2.6.1+dfsg2/debian/rules
--- dahdi-linux-2.6.1+dfsg/debian/rules 2012-04-23 12:32:49.000000000 +0300
+++ dahdi-linux-2.6.1+dfsg2/debian/rules        2013-01-28 16:40:40.000000000 
+0200
@@ -25,7 +25,7 @@
 DEBVERSION:=$(shell head -n 1 debian/changelog \
                    | sed -e 's/^[^(]*(\([^)]*\)).*/\1/')
 DEB_BASE_VERSION:=$(shell echo $(DEBVERSION) | sed -e 's/^.*://' -e 
's/-[0-9~.a-z]*$$//')
-UPVERSION:=$(shell echo $(DEB_BASE_VERSION) | sed -e 's/[~+]dfsg\(~\|$$\)/\1/' 
-e 's/~\(rc\|beta\)/-\1/')
+UPVERSION:=$(shell echo $(DEB_BASE_VERSION) | sed -e 
's/[~+]dfsg[0-9]*\(~\|$$\)/\1/' -e 's/~\(rc\|beta\)/-\1/')
 
 UPFILENAME := $(PACKAGE_SRC)_$(UPVERSION).orig.tar.gz
 FILENAME := $(PACKAGE_SRC)_$(DEB_BASE_VERSION).orig.tar.gz
@@ -117,6 +117,7 @@
        @@cd $(TARBALL_DIR) ; \
        tar xfz ../$(UPFILENAME)
        @@rm -rf 
$(TARBALL_DIR)/$(PACKAGE_SRC)-$(UPVERSION)/drivers/dahdi/xpp/firmwares/*.hex
+       @@rm -f $(TARBALL_DIR)/$(PACKAGE_SRC)-$(UPVERSION)/drivers/dahdi/*.rbt
        @@cd $(TARBALL_DIR) ; \
        tar cfz ../$(FILENAME) *
        @@echo Cleaning up...
diff -Nru dahdi-linux-2.6.1+dfsg/drivers/dahdi/pciradio.rbt 
dahdi-linux-2.6.1+dfsg2/drivers/dahdi/pciradio.rbt
--- dahdi-linux-2.6.1+dfsg/drivers/dahdi/pciradio.rbt   2008-05-21 
18:11:48.000000000 +0300
+++ dahdi-linux-2.6.1+dfsg2/drivers/dahdi/pciradio.rbt  1970-01-01 
02:00:00.000000000 +0200
[deleted]
diff -Nru dahdi-linux-2.6.1+dfsg/drivers/dahdi/tormenta2.rbt 
dahdi-linux-2.6.1+dfsg2/drivers/dahdi/tormenta2.rbt
--- dahdi-linux-2.6.1+dfsg/drivers/dahdi/tormenta2.rbt  2008-05-21 
18:11:48.000000000 +0300
+++ dahdi-linux-2.6.1+dfsg2/drivers/dahdi/tormenta2.rbt 1970-01-01 
02:00:00.000000000 +0200
[deleted]





debdiff for dahdi-firmware:

diff -Nru dahdi-firmware-2.6.1/debian/changelog 
dahdi-firmware-2.6.1/debian/changelog
--- dahdi-firmware-2.6.1/debian/changelog       2012-06-10 12:52:32.000000000 
+0300
+++ dahdi-firmware-2.6.1/debian/changelog       2013-01-28 17:42:48.000000000 
+0200
@@ -1,6 +1,12 @@
-dahdi-firmware (2.6.1-1) UNRELEASED; urgency=low
+dahdi-firmware (2.6.1-2) UNRELEASED; urgency=low
 
   * NOT RELEASED YET
+  * Move old Zapata bitfiles (*.rbt) to this package (Closes: #699104).
+
+ -- Tzafrir Cohen <[email protected]>  Sun, 10 Jun 2012 13:38:32 +0300
+
+dahdi-firmware (2.6.1-1) unstable; urgency=low
+
   * New upstream release.
   * Standards version 3.9.3 (no change needed).
   * Include the Octasic firmware for the Xorcom Astribank.
diff -Nru dahdi-firmware-2.6.1/debian/install 
dahdi-firmware-2.6.1/debian/install
--- dahdi-firmware-2.6.1/debian/install 2012-05-01 20:06:59.000000000 +0300
+++ dahdi-firmware-2.6.1/debian/install 2013-01-28 17:42:48.000000000 +0200
@@ -2,3 +2,4 @@
 drivers/dahdi/firmware/Makefile                var/lib/dahdi/digium-firm
 debian/get-digium-firmware             usr/share/dahdi
 debian/OCT6104E-256D.ima               usr/share/dahdi
+drivers/dahdi/dahdi-fw-*.bin           lib/firmware/ 
diff -Nru dahdi-firmware-2.6.1/debian/patches/make-binary-bitfiles 
dahdi-firmware-2.6.1/debian/patches/make-binary-bitfiles
--- dahdi-firmware-2.6.1/debian/patches/make-binary-bitfiles    1970-01-01 
02:00:00.000000000 +0200
+++ dahdi-firmware-2.6.1/debian/patches/make-binary-bitfiles    2013-01-28 
17:30:32.000000000 +0200
@@ -0,0 +1,73 @@
+Author: Ben Hutchings <[email protected]>
+Description: Add makefw -b option to enable binary output
+Bug-Debian: http://bugs.debian.org/699104
+
+We can't compile these bitfiles into the drivers in the free
+dahdi-source package.  Add the -b option to write a binary
+instead of a C array.
+
+---
+--- a/drivers/dahdi/makefw.c
++++ b/drivers/dahdi/makefw.c
+@@ -1,6 +1,7 @@
+ /* Xilinx firmware convertor program.
+  *
+  * Written by Jim Dixon <[email protected]>.
++ * Binary output adde by Ben Hutchings <[email protected]>.
+  *
+  * Copyright (C) 2001 Jim Dixon / Zapata Telephony.
+  * Copyright (C) 2001-2008 Digium, Inc.
+@@ -34,10 +35,12 @@ FILE *fp;
+ int i,j,nbytes;
+ unsigned char c;
+ char  buf[300];
++int bin;
+ 
+       if (argc < 3)
+          {
+               puts("Usage... makefw  filename.rbt  array_name");
++              puts("         makefw  filename.rbt  -b");
+               exit(1);
+          }    
+ 
+@@ -47,8 +50,10 @@ char        buf[300];
+               perror("bit file open");
+               exit(1);
+          }
++      bin = !strcmp(argv[2], "-b");
+       nbytes = 0;
+-      printf("static unsigned char %s[] = {\n",argv[2]);
++      if (!bin)
++              printf("static unsigned char %s[] = {\n",argv[2]);
+       i = 0;
+       while(fgets(buf,sizeof(buf) - 1,fp))
+          {
+@@ -66,17 +71,22 @@ char       buf[300];
+                       if ((j & 7) == 7)
+                          {
+                               nbytes++;
+-                              if (i) printf(",");                             
+-                              printf("0x%02x",c);
+-                              if (i++ == SWATH) {
+-                                      printf(",\n");
+-                                      i = 0;
++                              if (bin) {
++                                      putchar(c);
++                              } else {
++                                      if (i) printf(",");
++                                      printf("0x%02x",c);
++                                      if (i++ == SWATH) {
++                                              printf(",\n");
++                                              i = 0;
++                                      }
+                               }
+                               c = 0;
+                          }
+                  }
+          }
+-      printf("\n};\n\n");
++      if (!bin)
++              printf("\n};\n\n");
+       fprintf(stderr,"Loaded %d bytes from file\n",nbytes);
+       fclose(fp);
+       exit(0);
diff -Nru dahdi-firmware-2.6.1/debian/patches/series 
dahdi-firmware-2.6.1/debian/patches/series
--- dahdi-firmware-2.6.1/debian/patches/series  1970-01-01 02:00:00.000000000 
+0200
+++ dahdi-firmware-2.6.1/debian/patches/series  2013-01-30 00:02:39.000000000 
+0200
@@ -0,0 +1 @@
+make-binary-bitfiles
diff -Nru dahdi-firmware-2.6.1/debian/rules dahdi-firmware-2.6.1/debian/rules
--- dahdi-firmware-2.6.1/debian/rules   2010-04-15 13:02:53.000000000 +0300
+++ dahdi-firmware-2.6.1/debian/rules   2013-01-28 17:53:59.000000000 +0200
@@ -12,8 +12,19 @@
 # included in the tarball. The same tarball is properly built in
 # dahdi-linux
 
-install/dahdi-firmware::
-       chmod +x 
$(CURDIR)/debian/dahdi-firmware/usr/share/dahdi/get-digium-firmware
+drivers/dahdi/makefw: drivers/dahdi/makefw.c
+       $(CC) $(CFLAGS) -Wall -Wextra -o $@ $<
+
+drivers/dahdi/dahdi-fw-tor2.bin: drivers/dahdi/tormenta2.rbt 
drivers/dahdi/makefw
+       drivers/dahdi/makefw $< -b > $@
+
+drivers/dahdi/dahdi-fw-pciradio.bin: drivers/dahdi/pciradio.rbt 
drivers/dahdi/makefw
+       drivers/dahdi/makefw $< -b > $@
+
+build/dahdi-firmware-nonfree:: drivers/dahdi/dahdi-fw-tor2.bin 
drivers/dahdi/dahdi-fw-pciradio.bin
+
+clean::
+       rm -f drivers/dahdi/makefw drivers/dahdi/dahdi-fw-*.bin
 
 get-orig-source:
        @@dh_testdir



unblock dahdi-linux/1:2.6.1+dfsg-2

-- System Information:
Debian Release: 7.0
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-4-amd64 (SMP w/2 CPU cores)
Locale: LANG=he_IL.UTF-8, LC_CTYPE=he_IL.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

-- 
Tzafrir Cohen         | [email protected] | VIM is
http://tzafrir.org.il |                    | a Mutt's
[email protected] |                    |  best
[email protected]    |                    | friend

-- 
Tzafrir Cohen         | [email protected] | VIM is
http://tzafrir.org.il |                    | a Mutt's
[email protected] |                    |  best
[email protected]    |                    | friend

--- End Message ---
--- Begin Message ---
On Wed, Jan 30, 2013 at 00:07:29 +0100, Tzafrir Cohen wrote:

> Package: release.debian.org
> Severity: normal
> User: [email protected]
> Usertags: unblock
> 
> Please consider pre-approving dahdi-linux/1:2.6.1+dfsg-2
> (not yet uploaded, would go via unstable)
> 
Unblocked.

Cheers,
Julien

Attachment: signature.asc
Description: Digital signature


--- End Message ---

Reply via email to