Christopher C Chimelis writes:
 > Unfortunately, I won't be able to upload the i386 binary deb, but it
 > should be happy with the autobuilders everywhere.

I tried to build on i386 (builds ok) and found some things:

- binutils is built for i486, not i386. Is this a problem?
  I tried to use dpkg-architecture; it does work on i386-linux,
  but binutils-multiarch is configured for i486-linux (not
  i386-linux). And dpkg-architcture does not seem to know sparc64.
  Is the i486-mingw32 a leftover?

- the doc -> share/doc links are missing

- still using 80cols for remote editing, so I introduced some vars
  and shortened the rules file.

Patches are appended, but please handle the dpkg
-print-gnu-build-architecture --> dpkg-architecture change with care.

The gcc-2.95-0pre2 in Incoming is built with the old binutils.


diff -r -u binutils-2.9.5.0.12-old/debian/binutils-dev.postinst 
binutils-2.9.5.0.12/debian/binutils-dev.postinst
--- binutils-2.9.5.0.12-old/debian/binutils-dev.postinst        Tue Sep 21 
00:53:33 1999
+++ binutils-2.9.5.0.12/debian/binutils-dev.postinst    Tue Sep 21 00:30:39 1999
@@ -3,5 +3,6 @@
 set -e
 
 install-info --quiet --section "Development" "Development" \
- /usr/share/info/bfd.info.gz
+  /usr/share/info/bfd.info.gz
 
+#DEBHELPER#
diff -r -u binutils-2.9.5.0.12-old/debian/binutils-dev.prerm 
binutils-2.9.5.0.12/debian/binutils-dev.prerm
--- binutils-2.9.5.0.12-old/debian/binutils-dev.prerm   Tue Sep 21 00:53:33 1999
+++ binutils-2.9.5.0.12/debian/binutils-dev.prerm       Tue Sep 21 00:30:56 1999
@@ -4,3 +4,4 @@
 
 install-info --quiet --remove bfd
 
+#DEBHELPER#
diff -r -u binutils-2.9.5.0.12-old/debian/binutils-multiarch.postinst 
binutils-2.9.5.0.12/debian/binutils-multiarch.postinst
--- binutils-2.9.5.0.12-old/debian/binutils-multiarch.postinst  Tue Sep 21 
00:53:33 1999
+++ binutils-2.9.5.0.12/debian/binutils-multiarch.postinst      Tue Sep 21 
00:31:32 1999
@@ -1,3 +1,9 @@
 #! /bin/sh
 set -e
-ldconfig
+
+case "$1" in
+    configure)
+       ldconfig
+esac
+
+#DEBHELPER#
Only in binutils-2.9.5.0.12/debian: binutils-multiarch.prerm
diff -r -u binutils-2.9.5.0.12-old/debian/postinst 
binutils-2.9.5.0.12/debian/postinst
--- binutils-2.9.5.0.12-old/debian/postinst     Tue Sep 21 00:53:33 1999
+++ binutils-2.9.5.0.12/debian/postinst Tue Sep 21 00:32:44 1999
@@ -13,5 +13,9 @@
 install-info --quiet --section "Development" "Development" \
  /usr/share/info/ld.info.gz
 
-ldconfig
+case "$1" in
+    configure)
+       ldconfig
+esac
 
+#DEBHELPER#
diff -r -u binutils-2.9.5.0.12-old/debian/prerm binutils-2.9.5.0.12/debian/prerm
--- binutils-2.9.5.0.12-old/debian/prerm        Tue Sep 21 00:53:33 1999
+++ binutils-2.9.5.0.12/debian/prerm    Tue Sep 21 00:32:57 1999
@@ -8,3 +8,4 @@
 install-info --quiet --remove gprof
 install-info --quiet --remove ld
 
+#DEBHELPER#
diff -r -u binutils-2.9.5.0.12-old/debian/rules binutils-2.9.5.0.12/debian/rules
--- binutils-2.9.5.0.12-old/debian/rules        Tue Sep 21 00:53:33 1999
+++ binutils-2.9.5.0.12/debian/rules    Tue Sep 21 00:51:01 1999
@@ -1,198 +1,204 @@
 #!/usr/bin/make -f
 # Build rules for GNU binutils (2.9.1.0.x)
 
-SHELL=bash
-
-package=binutils
+SHELL=/bin/bash
 
+p_bin  = binutils
+p_dev  = $(p_bin)-dev
+p_mul  = $(p_bin)-multiarch
+
+pwd    := $(shell pwd)
+d      = debian/tmp
+d_bin  = $(d)
+d_dev  = debian/$(p_dev)
+d_mul  = debian/$(p_mul)
 
 CFLAGS = -O2 
 LDFLAGS = -s
 
-ARCH = $(shell dpkg --print-gnu-build-architecture)
+DEB_HOST_ARCH          := $(shell dpkg-architecture -qDEB_HOST_ARCH)
+DEB_HOST_GNU_TYPE      := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
+
 VERSION = $(shell sed -n 's/^VERSION=\(.*\)/\1/p' bfd/configure)
 MULTI_VERSION = $(VERSION)-multiarch
 MULTI_ARGS = MAKEOVERRIDES="VERSION=$(MULTI_VERSION)"
 
-CONFARGS = --enable-shared --prefix=/usr $(ARCH)-linux
+CONFARGS = --enable-shared --prefix=/usr $(DEB_HOST_GNU_TYPE)
 CC = gcc
 
-ifeq ($(ARCH),sparc)
+ifeq ($(DEB_HOST_ARCH),sparc)
        CONFARGS += --enable-targets=sparc64-linux
 endif
-ifeq ($(ARCH),sparc64)
+ifeq ($(DEB_HOST_ARCH),sparc64)
        CONFARGS += --enable-targets=sparc-linux
 endif
 
-build-single:
+configure-single-stamp:
        dh_testdir
-       if [ ! -d builddir-single ]; then mkdir builddir-single; fi
-ifeq ($(ARCH),sparc)
+       rm -rf configure-single-stamp builddir-single
+       mkdir builddir-single
+ifeq ($(DEB_HOST_ARCH),sparc)
        echo "LIB_PATH=/lib/64:/usr/lib/64" >> ld/emulparams/elf64_sparc.sh
 endif
-ifeq ($(ARCH),sparc64)
+ifeq ($(DEB_HOST_ARCH),sparc64)
        echo "LIB_PATH=/lib/32:/usr/lib/32" >> ld/emulparams/elf32_sparc.sh
 endif
-       cd builddir-single && if [ ! -f Makefile ]; then \
-       env CC=$(CC) ../configure $(CONFARGS); fi
-       (cd builddir-single; \
-       $(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)")
-       touch build-single
-
-build-multi:
-       dh_testdir
-       if [ ! -d builddir-multi ]; then mkdir builddir-multi; fi
-       cd builddir-multi && if [ ! -f Makefile ]; then \
-       env CC=$(CC) ../configure $(CONFARGS) 
--enable-targets=alpha-linux,i486-linux,m68k-linux,powerpc-linux,sparc-linux,arm-linux,sparc64-linux,i486-mingw32;
 \
-       fi
-       (cd builddir-multi; \
-       $(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MULTI_ARGS))
-       touch build-multi
+       cd builddir-single && env CC="$(CC)" ../configure $(CONFARGS)
+       touch configure-single-stamp
+
+build-single-stamp: configure-single-stamp
+       dh_testdir
+       $(MAKE) -C builddir-single CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)"
+       touch build-single-stamp
+
+configure-multi-stamp:
+       dh_testdir
+       rm -rf configure-multi-stamp builddir-multi
+       mkdir builddir-multi
+       cd builddir-multi \
+           && env CC="$(CC)" ../configure $(CONFARGS) \
+               
--enable-targets=alpha-linux,i486-linux,m68k-linux,powerpc-linux,sparc-linux,arm-linux,sparc64-linux,i486-mingw32
+       touch configure-multi-stamp
 
-build: build-single build-multi
-       touch build
+build-multi-stamp: configure-multi-stamp
+       dh_testdir
+       $(MAKE) -C builddir-multi \
+               CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MULTI_ARGS)
+       touch build-multi-stamp
+
+build: build-stamp
+build-stamp: build-single-stamp build-multi-stamp
+       touch build-stamp
 
 clean:
        dh_testdir
-       -rm -rf build-multi build-single builddir-single builddir-multi build
-       -rm -rf debian/files* debian/substvars* 
-ifeq ($(ARCH),sparc)
+       rm -f *-stamp
+       rm -rf builddir-single builddir-multi
+ifeq ($(DEB_HOST_ARCH),sparc)
        grep -v LIB_PATH ld/emulparams/elf64_sparc.sh > elf64_sparc.sh.tmp
        rm -f ld/emulparams/elf64_sparc.sh
        mv elf64_sparc.sh.tmp ld/emulparams/elf64_sparc.sh
 endif
-ifeq ($(ARCH),sparc64)
+ifeq ($(DEB_HOST_ARCH),sparc64)
        grep -v LIB_PATH ld/emulparams/elf32_sparc.sh > elf32_sparc.sh.tmp
        rm -f ld/emulparams/elf32_sparc.sh
        mv elf32_sparc.sh.tmp ld/emulparams/elf32_sparc.sh
 endif
-       dh_clean -a
+       dh_clean
 
-binary-indep:   checkroot build
+binary-indep: build-stamp
        dh_testdir
 
-binary-arch:    checkroot build
+binary-arch: build-stamp
        dh_testdir
-       
+       dh_testroot
+       dh_testversion 2.0.50
+
        dh_clean -a
        dh_installdirs -a
 
-       ln -s binutils debian/binutils-dev/usr/share/doc/binutils-dev
-       ln -s binutils 
debian/binutils-multiarch/usr/share/doc/binutils-multiarch
+       ln -s binutils $(d_dev)/usr/share/doc/$(p_dev)
+       ln -s binutils $(d_mul)/usr/share/doc/$(p_mul)
 
-       # install binutils and -dev stuff
-       (cd builddir-single && \
-       $(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
-               prefix=`pwd`/../debian/tmp/usr 
mandir=`pwd`/../debian/tmp/usr/share/man install )
-
-       (cd builddir-single && \
-       $(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
-               prefix=`pwd`/../debian/tmp/usr 
mandir=`pwd`/../debian/tmp/usr/share/man \
-               infodir=`pwd`/../debian/tmp/usr/share/info install-info )
-
-       # now install binutils-multiarch stuff
-       (cd builddir-multi && \
-       $(MAKE) CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MULTI_ARGS) \
-               prefix=`pwd`/../debian/binutils-multiarch/usr 
mandir=`pwd`/../debian/tmp/usr/share/man \
-               infodir=`pwd`/../debian/tmp/usr/share/info install )
-
-       # We don't need to distribute everything in binutils and -dev
-       rm -rf debian/tmp/usr/include/obstack.h
-       rm -f debian/tmp/usr/man/man1/configure.1
-       rm -f debian/tmp/usr/info/cfg-paper.*
-       rm -f debian/tmp/usr/info/configure.*
-       rm -f debian/tmp/usr/info/standards.*
-
-       # Now get rid of just about everything in binutils-multiarch
-       rm -rf debian/binutils-multiarch/usr/man
-       rm -rf debian/binutils-multiarch/usr/info
-       rm -rf debian/binutils-multiarch/usr/include
-       
-       # Get rid of as and gasp since they don't work right multi
-       rm -f debian/binutils-multiarch/usr/bin/{as,gasp,c++filt}
+       : # install binutils and -dev stuff
+       $(MAKE) -C builddir-single CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+               prefix=$(pwd)/$(d)/usr mandir=$(pwd)/$(d)/usr/share/man install
+
+       $(MAKE) -C builddir-single CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+               prefix=$(pwd)/$(d)/usr mandir=$(pwd)/$(d)/usr/share/man \
+               infodir=$(pwd)/$(d)/usr/share/info install-info
+
+       : # now install binutils-multiarch stuff
+       $(MAKE) -C builddir-multi CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+               $(MULTI_ARGS) \
+               prefix=$(pwd)/$(d_mul)/usr mandir=$(pwd)/$(d)/usr/share/man \
+               infodir=$(pwd)/$(d)/usr/share/info install
+
+       : # We don't need to distribute everything in binutils and -dev
+       rm -rf $(d)/usr/include/obstack.h
+       rm -f $(d)/usr/man/man1/configure.1
+       rm -f $(d)/usr/info/{cfg-paper,configure,standards}.*
 
-       # Split out binutils-dev
+       : # Now get rid of just about everything in binutils-multiarch
+       rm -rf $(d_mul)/usr/{man,info,include}
+
+       : # Get rid of as and gasp since they don't work right multi
+       rm -f $(d_mul)/usr/bin/{as,gasp,c++filt}
+
+       : # Split out binutils-dev
        dh_movefiles -pbinutils-dev
 
-       rm -f debian/binutils-multiarch/usr/lib/{libbfd,libopcodes}.so
-       rm -f debian/binutils-multiarch/usr/lib/*.la
-       rm -f debian/binutils-multiarch/usr/lib/libiberty*
-
-       # We can strip shared libraries
-       strip --strip-unneeded debian/tmp/usr/lib/libbfd-*so
-       strip --strip-unneeded debian/tmp/usr/lib/libopcodes-*so
-       strip --strip-unneeded debian/binutils-multiarch/usr/lib/libbfd-*so
-       strip --strip-unneeded debian/binutils-multiarch/usr/lib/libopcodes-*so
-
-       # Don't want /usr/arch-linux to exist in any package
-       rm -rf debian/tmp/usr/$(ARCH)-linux
-       rm -rf debian/binutils-multiarch/usr/$(ARCH)-linux
-
-       # remove linker scripts in native package from multi-arch package to
-       # avoid (useless) diversions
-       set -e; for f in debian/tmp/usr/lib/ldscripts/*; do \
-               rm -f debian/binutils-multiarch/usr/lib/ldscripts/`basename 
$$f`; \
+       rm -f $(d_mul)/usr/lib/{libbfd,libopcodes}.so
+       rm -f $(d_mul)/usr/lib/*.la
+       rm -f $(d_mul)/usr/lib/libiberty*
+
+       : # We can strip shared libraries
+       strip --strip-unneeded $(d)/usr/lib/libbfd-*so
+       strip --strip-unneeded $(d)/usr/lib/libopcodes-*so
+       strip --strip-unneeded $(d_mul)/usr/lib/libbfd-*so
+       strip --strip-unneeded $(d_mul)/usr/lib/libopcodes-*so
+
+       : # Don't want /usr/arch-linux to exist in any package
+       rm -rf $(d)/usr/$(DEB_HOST_GNU_TYPE)
+       rm -rf $(d_mul)/usr/$(DEB_HOST_GNU_TYPE)
+
+       : # remove linker scripts in native package from multi-arch package to
+       : # avoid (useless) diversions
+       set -e; for f in $(d)/usr/lib/ldscripts/*; do \
+               rm -f $(d_mul)/usr/lib/ldscripts/`basename $$f`; \
        done
 
-       # There's no manpage for gasp yet
-       #dh_undocumented gasp.1
-       #ln -s ../man7/undocumented.7.gz debian/tmp/usr/share/man/man1/gasp.1.gz
-       #ln -s ../man7/undocumented.7.gz 
debian/tmp/usr/share/man/man1/readelf.1.gz
-
-       # Copy new manpages to the main binutils package
-       cp debian/{gasp.1,readelf.1} debian/tmp/usr/share/man/man1
-
-       # install docs
-       #dh_installdocs -pbinutils
-       cp debian/{changelog,copyright} debian/tmp/usr/share/doc/$(package)/
-       cp {ChangeLog,ChangeLog.linux} debian/tmp/usr/share/doc/$(package)/
+#      : # There's no manpage for gasp yet
+#      dh_undocumented gasp.1
+#      ln -s ../man7/undocumented.7.gz $(d)/usr/share/man/man1/gasp.1.gz
+#      ln -s ../man7/undocumented.7.gz $(d)/usr/share/man/man1/readelf.1.gz
+
+       : # Copy new manpages to the main binutils package
+       cp debian/{gasp.1,readelf.1} $(d)/usr/share/man/man1
+
+       : # install docs
+#      dh_installdocs -pbinutils
+       cp debian/{changelog,copyright} $(d)/usr/share/doc/$(p_bin)/
+       cp {ChangeLog,ChangeLog.linux} $(d)/usr/share/doc/$(p_bin)/
 
-       # Now install docs that dh_installdocs makes it harder to do
-       cp debian/changelog debian/tmp/usr/share/doc/$(package)/changelog.Debian
+       : # Now install docs that dh_installdocs makes it harder to do
+       cp debian/changelog $(d)/usr/share/doc/$(p_bin)/changelog.Debian
 
        cp bfd/{ChangeLog,ChangeLog.linux,PORTING,TODO} \
-       debian/tmp/usr/share/doc/$(package)/bfd/.
-
+               $(d)/usr/share/doc/$(p_bin)/bfd/.
        cp gas/{ChangeLog,ChangeLog.linux,NEWS} \
-       debian/tmp/usr/share/doc/$(package)/gas/.
-
+               $(d)/usr/share/doc/$(p_bin)/gas/.
        cp gprof/{ChangeLog,ChangeLog.linux,NOTES,TEST,TODO} \
-       debian/tmp/usr/share/doc/$(package)/gprof/.
-
+               $(d)/usr/share/doc/$(p_bin)/gprof/.
        cp ld/{ChangeLog,ChangeLog.linux,NEWS,TODO} \
-       debian/tmp/usr/share/doc/$(package)/ld/.
+               $(d)/usr/share/doc/$(p_bin)/ld/.
 
-       # Make links to .so files for multiarch
-#      ln -s libbfd-$(VERSION)-multiarch.so.0.0.0 
debian/binutils-multiarch/usr/lib/libbfd-$(VERSION)-multiarch.so
-#      ln -s libopcodes-$(VERSION)-multiarch.so.0.0.0 
debian/binutils-multiarch/usr/lib/libopcodes-$(VERSION)-multiarch.so
+       : # Make links to .so files for multiarch
+#      ln -s libbfd-$(VERSION)-multiarch.so.0.0.0 \
+#              $(d_mul)/usr/lib/libbfd-$(VERSION)-multiarch.so
+#      ln -s libopcodes-$(VERSION)-multiarch.so.0.0.0 \
+#              $(d_mul)/usr/lib/libopcodes-$(VERSION)-multiarch.so
 
-       # Compress stuff that needs it
+       : # Compress stuff that needs it
        dh_compress -a
 
-       # Finish it all up
+       : # Finish it all up
        dh_fixperms -a
        dh_installdeb -a
        dh_shlibdeps -a
-       dh_gencontrol -a
        dh_makeshlibs -a
+       dh_gencontrol -a
        dh_md5sums -a
        dh_builddeb -a
 
-define checkdir
-       test -f binutils/ar.c -a -f debian/rules
-endef
-
 # Below here is fairly generic really
 
-binary:         binary-indep binary-arch
+binary: binary-indep binary-arch
 
 source diff:
        @echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
 
-checkroot:
-       dh_testroot
-
-.PHONY: binary binary-arch binary-indep clean checkroot
+.PHONY: binary binary-arch binary-indep clean
 
 
 

Reply via email to