[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#744782: src:gcc-4.8: does not build gccbase when with_deps_on_target_arch_pkgs=yes



Package: src:gcc-4.8
Version: 4.8.2-19
Severity: normal
Tags: patch
User: helmutg@debian.org
Usertags: rebootstrap

Hi doko,

When cross building a gcc stage3 with_deps_on_target_arch_pkgs=yes, I
noticed that libgccX is uninstallable, because it's dependency on
gcc-4.8-base is not fulfilled (the native one rightfully isn't
M-A:foreign). I believe that gcc should be building that package and am
thus attaching a patch to fix that.

Helmut
diff -u gcc-4.8-4.8.2/debian/changelog gcc-4.8-4.8.2/debian/changelog
--- gcc-4.8-4.8.2/debian/changelog
+++ gcc-4.8-4.8.2/debian/changelog
@@ -1,3 +1,16 @@
+gcc-4.8 (4.8.2-19.1) UNRELEASED; urgency=low
+
+  * Non-maintainer upload.
+  * Build gcc-X.Y-base:$target when given with_deps_on_target_arch_pkgs=yes:
+    + Enable with_gccbase.
+    + Remove TARGET=="" check in control.m4 since the ifenabled gccbase
+      check covers everything else already.
+    + Set its architecture to CROSS_ARCH if necessary.
+    + Invoke dh_gencontrol with $(cross_gencontrol) if necessary.
+    (Closes: #-1)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Sun, 14 Apr 2014 18:35:08 +0200
+
 gcc-4.8 (4.8.2-19) unstable; urgency=medium
 
   * Update to SVN 20140404 (r209122) from the gcc-4_8-branch.
diff -u gcc-4.8-4.8.2/debian/control.m4 gcc-4.8-4.8.2/debian/control.m4
--- gcc-4.8-4.8.2/debian/control.m4
+++ gcc-4.8-4.8.2/debian/control.m4
@@ -125,11 +125,10 @@
 define(`SOFTBASEDEP', `gnat`'PV-base (>= ${gnat:SoftVersion})')
 ')
 
-ifdef(`TARGET', `', `
 ifenabled(`gccbase',`
 
 Package: gcc`'PV-base
-Architecture: any
+Architecture: ifdef(`TARGET',`CROSS_ARCH',`any')
 ifdef(`MULTIARCH', `Multi-Arch: same
 ')`'dnl
 Section: libs
@@ -146,8 +145,7 @@
  This version of GCC is not yet available for this architecture.
  Please use the compilers from the gcc-snapshot package for testing.
 ')`'dnl
-')`'dnl
-')`'dnl native
+')`'dnl gccbase
 
 ifenabled(`gccxbase',`
 dnl override default base package dependencies to cross version
diff -u gcc-4.8-4.8.2/debian/rules.d/binary-base.mk gcc-4.8-4.8.2/debian/rules.d/binary-base.mk
--- gcc-4.8-4.8.2/debian/rules.d/binary-base.mk
+++ gcc-4.8-4.8.2/debian/rules.d/binary-base.mk
@@ -38,7 +38,11 @@
 	dh_installchangelogs -p$(p_base)
 	dh_compress -p$(p_base)
 	dh_fixperms -p$(p_base)
+ifeq ($(with_deps_on_target_arch_pkgs),yes)
+	$(cross_gencontrol) dh_gencontrol -p$(p_base) -- -v$(DEB_VERSION) $(common_substvars)
+else
 	dh_gencontrol -p$(p_base) -- -v$(DEB_VERSION) $(common_substvars)
+endif
 	dh_installdeb -p$(p_base)
 	dh_md5sums -p$(p_base)
 	dh_builddeb -p$(p_base)
diff -u gcc-4.8-4.8.2/debian/rules.defs gcc-4.8-4.8.2/debian/rules.defs
--- gcc-4.8-4.8.2/debian/rules.defs
+++ gcc-4.8-4.8.2/debian/rules.defs
@@ -427,6 +427,8 @@
   else
     ifneq ($(with_deps_on_target_arch_pkgs),yes)
       with_gccxbase := yes
+    else
+      with_gccbase := yes
     endif
   endif
 endif

Reply to: