patches/binutils/2.20/270-better_file_error.patch
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
jocke@1700
     1
#!/bin/sh -e
jocke@1700
     2
## 006_better_file_error.dpatch by David Kimdon <dwhedon@gordian.com>
jocke@1700
     3
##
jocke@1700
     4
## All lines beginning with `## DP:' are a description of the patch.
jocke@1700
     5
## DP: Specify which filename is causing an error if the filename is a
jocke@1700
     6
## DP: directory. (#45832)
jocke@1700
     7
jocke@1700
     8
if [ $# -ne 1 ]; then
jocke@1700
     9
    echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
jocke@1700
    10
    exit 1
jocke@1700
    11
fi
jocke@1700
    12
jocke@1700
    13
[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
jocke@1700
    14
patch_opts="${patch_opts:--f --no-backup-if-mismatch}"
jocke@1700
    15
jocke@1700
    16
case "$1" in
jocke@1700
    17
       -patch) patch $patch_opts -p1 < $0;;
jocke@1700
    18
       -unpatch) patch $patch_opts -p1 -R < $0;;
jocke@1700
    19
        *)
jocke@1700
    20
                echo >&2 "`basename $0`: script expects -patch|-unpatch as argument"
jocke@1700
    21
                exit 1;;
jocke@1700
    22
esac
jocke@1700
    23
jocke@1700
    24
exit 0
jocke@1700
    25
jocke@1700
    26
@DPATCH@
jocke@1700
    27
diff -urNad /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c binutils-2.14.90.0.6/bfd/opncls.c
jocke@1700
    28
--- /home/james/debian/packages/binutils/binutils-2.14.90.0.6/bfd/opncls.c	2003-07-23 16:08:09.000000000 +0100
jocke@1700
    29
+++ binutils-2.14.90.0.6/bfd/opncls.c	2003-09-10 22:35:00.000000000 +0100
jocke@1700
    30
@@ -150,6 +150,13 @@
jocke@1700
    31
 {
jocke@1700
    32
   bfd *nbfd;
jocke@1700
    33
   const bfd_target *target_vec;
jocke@1700
    34
+  struct stat s;
jocke@1700
    35
+
jocke@1700
    36
+  if (stat (filename, &s) == 0)
jocke@1700
    37
+    if (S_ISDIR(s.st_mode)) {
jocke@1700
    38
+      bfd_set_error (bfd_error_file_not_recognized);
jocke@1700
    39
+      return NULL;
jocke@1700
    40
+    }
jocke@1700
    41
 
jocke@1700
    42
   nbfd = _bfd_new_bfd ();
jocke@1700
    43
   if (nbfd == NULL)