Your message dated Thu, 14 Aug 2014 13:33:31 +0200
with message-id <[email protected]>
and subject line Re: debian/rules changes
has caused the Debian Bug report #745849,
regarding src:binutils: debian/rules uses usr vs $(PF) inconcistently and
confuses DEB_TARGET_* with DEB_HOST_*
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.)
--
745849: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=745849
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: src:binutils
Version: 2.24.51.20140411-2
Severity: wishlist
Tags: patch
User: [email protected]
Usertags: rebootstrap
While trying to work on binutils I got severely confused by its
debian/rules. This is why I start out with this patch, that (to the best
of my knowledge) aims to improve the situation in the following ways:
* Some places use "usr" and others use "$(PF)". Thus changing the PF
variable does no longer work. The patch restores $(PF) to working
order. If that variable is no longer useful, then maybe using its
only working value "usr" in all places is a better solution.
* If $(TARGET) is non-empty, it contains what should be called
DEB_TARGET_GNU_TYPE. I therefore introduce this new variable for both
native and cross builds. All places that really want to know the
target gnu type now use DEB_TARGET_GNU_TYPE. There are two kinds of
variables being converted:
+ TARGET when it is not used to branch on being non-empty
+ DEB_HOST_GNU_TYPE when it DEB_TARGET_GNU_TYPE was meant
Please consider applying this patch or taking those parts that are
useful. If the patch is not deemed useful, please just close this
bugreport.
Thanks
Helmut
diff -u binutils-2.24.51.20140411/debian/changelog
binutils-2.24.51.20140411/debian/changelog
--- binutils-2.24.51.20140411/debian/changelog
+++ binutils-2.24.51.20140411/debian/changelog
@@ -1,3 +1,10 @@
+binutils (2.24.51.20140411-2.1) UNRELEASED; urgency=low
+
+ * Non-maintainer upload.
+ * Refactor rules for consistent usage of DEB_TARGET_GNU_TYPE and PF.
+
+ -- Helmut Grohne <[email protected]> Fri, 25 Apr 2014 21:03:37 +0200
+
binutils (2.24.51.20140411-2) unstable; urgency=medium
* No-change rebuild to get rid off ftp-master mail storm.
diff -u binutils-2.24.51.20140411/debian/rules
binutils-2.24.51.20140411/debian/rules
--- binutils-2.24.51.20140411/debian/rules
+++ binutils-2.24.51.20140411/debian/rules
@@ -68,9 +68,11 @@
DPKG_TARGET_VARS := $(shell dpkg-architecture -f -t$(TARGET))
DEB_TARGET_MULTIARCH = $(call vafilt,$(DPKG_TARGET_VARS),DEB_HOST_MULTIARCH)
DEB_TARGET_ARCH = $(call vafilt,$(DPKG_TARGET_VARS),DEB_HOST_ARCH)
+ DEB_TARGET_GNU_TYPE = $(call vafilt,$(DPKG_TARGET_VARS),DEB_HOST_GNU_TYPE)
else
DEB_TARGET_MULTIARCH = $(DEB_HOST_MULTIARCH)
DEB_TARGET_ARCH = $(DEB_HOST_ARCH)
+ DEB_TARGET_GNU_TYPE = $(DEB_HOST_GNU_TYPE)
endif
ifneq (,$(TARGET))
@@ -358,7 +360,7 @@
-rm -rf debian/patched debian/tmp debian/files* debian/substvars
-rm -f debian/*.orig debian/*.rej
-rm -rf $(d_cross) debian/files debian/substvars
- -rm -rf builddir-$(TARGET) {configure,build,install}-cross-stamp
+ -rm -rf builddir-$(DEB_TARGET_GNU_TYPE)
{configure,build,install}-cross-stamp
for i in debian/*.in; do \
case "$$i" in debian/control*.in) continue; esac; \
rm -f $${i%*.in}; \
@@ -371,7 +373,7 @@
control-stamp: debian/control.in $(if $(TARGET),debian/control.cross.in)
ifneq (,$(TARGET))
sed "/^$$/ q" < debian/control.in > debian/control
- sed -e "s/__TARGET__/$$(echo -n $(TARGET) | sed s/_/-/g)/" \
+ sed -e "s/__TARGET__/$$(echo -n $(DEB_TARGET_GNU_TYPE) | sed s/_/-/g)/"
\
< debian/control.cross.in >> debian/control
else
cp debian/control.in debian/control
@@ -766,19 +768,19 @@
$(if $(with_gold),ld.gold dwp) \
nm objcopy objdump ranlib readelf size strings strip; \
do \
- ln -sf $$i $(d_bin)/usr/bin/$(DEB_HOST_GNU_TYPE)-$$i; \
- ln -sf $$i.1.gz
$(d_bin)/usr/share/man/man1/$(DEB_HOST_GNU_TYPE)-$$i.1.gz; \
+ ln -sf $$i $(d_bin)/$(PF)/bin/$(DEB_TARGET_GNU_TYPE)-$$i; \
+ ln -sf $$i.1.gz
$(d_bin)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-$$i.1.gz; \
done
-ifeq ($(DEB_HOST_ARCH),i386)
- ifneq ($(DEB_HOST_GNU_TYPE),i586-linux-gnu)
+ifeq ($(DEB_TARGET_ARCH),i386)
+ ifneq ($(DEB_TARGET_GNU_TYPE),i586-linux-gnu)
for i in \
addr2line ar as c++filt elfedit gprof ld ld.bfd \
$(if $(with_gold),ld.gold dwp) \
nm objcopy objdump ranlib readelf size strings strip; \
do \
- ln -sf $$i $(d_bin)/usr/bin/i586-linux-gnu-$$i; \
- ln -sf $$i.1.gz $(d_bin)/usr/share/man/man1/i586-linux-gnu-$$i.1.gz; \
+ ln -sf $$i $(d_bin)/$(PF)/bin/i586-linux-gnu-$$i; \
+ ln -sf $$i.1.gz
$(d_bin)/$(PF)/share/man/man1/i586-linux-gnu-$$i.1.gz; \
done
endif
endif
@@ -855,9 +857,9 @@
$(install_dir) $(d_doc)/DEBIAN
ifeq ($(GFDL_INVARIANT_FREE),yes)
- rm -f $(d_doc)//usr/share/info/bfd.info*
- rm -f $(d_doc)//usr/share/info/bfdint.info*
- rm -f $(d_doc)//usr/share/info/ldint.info*
+ rm -f $(d_doc)//$(PF)/share/info/bfd.info*
+ rm -f $(d_doc)//$(PF)/share/info/bfdint.info*
+ rm -f $(d_doc)//$(PF)/share/info/ldint.info*
endif
ifneq ($(BACKPORT),true)
@@ -1117,7 +1119,7 @@
# Process the following only if $(TARGET) is set
ifneq (,$(TARGET))
-p_cross = $(subst _,-,binutils-$(TARGET))
+p_cross = $(subst _,-,binutils-$(DEB_TARGET_GNU_TYPE))
d_cross = debian/$(p_cross)
#-----------------------------------------------------------------
@@ -1142,33 +1144,33 @@
configure-cross-stamp: patch-stamp control-stamp
$(checkdir)
test "" != "$(TARGET)"
- rm -rf configure-cross-stamp builddir-$(TARGET)
- mkdir builddir-$(TARGET)
- cd builddir-$(TARGET) \
+ rm -rf configure-cross-stamp builddir-$(DEB_TARGET_GNU_TYPE)
+ mkdir builddir-$(DEB_TARGET_GNU_TYPE)
+ cd builddir-$(DEB_TARGET_GNU_TYPE) \
&& env CC="$(CC)" CXX="$(CXX)" ../configure \
$(CONFARGS) \
- --target=$(TARGET)
+ --target=$(DEB_TARGET_GNU_TYPE)
touch $@
build-cross-stamp: configure-cross-stamp
$(checkdir)
test "" != "$(TARGET)"
- $(MAKE) -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
+ $(MAKE) -C builddir-$(DEB_TARGET_GNU_TYPE) $(NJOBS) CFLAGS="$(CFLAGS)"
touch $@
install-cross-stamp: build-cross-stamp
$(checkdir)
test "" != "$(TARGET)"
rm -rf $(d_cross)
- $(MAKE) -C builddir-$(TARGET) prefix=$(pwd)/$(d_cross)/$(PF) \
+ $(MAKE) -C builddir-$(DEB_TARGET_GNU_TYPE)
prefix=$(pwd)/$(d_cross)/$(PF) \
mandir=$(pwd)/$(d_cross)/$(PF)/share/man install
rm -rf $(d_cross)/$(PF)/lib* $(d_cross)/$(PF)/info
$(d_cross)/$(PF)/share/locale
- $(call strip_package, $(p_cross),
$(d_cross),$(DEB_HOST_GNU_TYPE)/$(TARGET))
- chmod ugo-x $(d_cross)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(TARGET)/lib/*.so
+ $(call strip_package, $(p_cross),
$(d_cross),$(DEB_HOST_GNU_TYPE)/$(DEB_TARGET_GNU_TYPE))
+ chmod ugo-x
$(d_cross)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(DEB_TARGET_GNU_TYPE)/lib/*.so
: # Get rid of .la files since libtool obviously has no idea about
transient paths
- rm -f $(d_cross)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(TARGET)/lib/*.la
+ rm -f
$(d_cross)/$(PF)/$(DEB_HOST_GNU_TYPE)/$(DEB_TARGET_GNU_TYPE)/lib/*.la
gzip -9 $(d_cross)/$(PF)/share/man/man1/*
touch $@
@@ -1176,13 +1178,13 @@
configure-host-cross-stamp: configure-cross-stamp
$(checkdir)
test "" != "$(TARGET)"
- $(MAKE) configure-host -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
+ $(MAKE) configure-host -C builddir-$(DEB_TARGET_GNU_TYPE) $(NJOBS)
CFLAGS="$(CFLAGS)"
touch $@
build-static-cross-stamp: configure-host-cross-stamp
$(checkdir)
test "" != "$(TARGET)"
- $(MAKE) -C builddir-$(TARGET) $(NJOBS) CFLAGS="$(CFLAGS)"
LDFLAGS="-all-static"
+ $(MAKE) -C builddir-$(DEB_TARGET_GNU_TYPE) $(NJOBS) CFLAGS="$(CFLAGS)"
LDFLAGS="-all-static"
touch $@
install-static-cross-stamp: build-static-cross-stamp install-cross-stamp
--- End Message ---
--- Begin Message ---
I think I fixed all those which needed fixing. Not touching the native builds.
--- End Message ---