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

Bug#782257: gnat-5: add version suffix for command



Package: src:gcc-5
Version: 5-20150404-1

Can you consider to add a version suffix to gnat commands,
aka use gnat-5 instead of gnat

This patch also link these commands to the ones with triplet prefix
for example:

x86_64-linux-gnu-gnat-5 > gnat-5

-- 
YunQiang Su
diff --git a/debian/patches/ada-gcc-name.diff b/debian/patches/ada-gcc-name.diff
index 4008241..a121140 100644
--- a/debian/patches/ada-gcc-name.diff
+++ b/debian/patches/ada-gcc-name.diff
@@ -27,15 +27,24 @@ Index: b/src/gcc/ada/make.adb
 ===================================================================
 --- a/src/gcc/ada/make.adb
 +++ b/src/gcc/ada/make.adb
-@@ -671,7 +671,7 @@ package body Make is
+@@ -671,14 +671,14 @@
     -- Compiler, Binder & Linker Data and Subprograms --
     ----------------------------------------------------
- 
+
 -   Gcc          : String_Access := Program_Name ("gcc", "gnatmake");
 +   Gcc          : String_Access := Program_Name ("gcc-5", "gnatmake");
     Original_Gcc : constant String_Access := Gcc;
     --  Original_Gcc is used to check if Gcc has been modified by a switch
     --  --GCC=, so that for VM platforms, it is not modified again, as it can
+    --  result in incorrect error messages if the compiler cannot be found.
+
+-   Gnatbind : String_Access := Program_Name ("gnatbind", "gnatmake");
+-   Gnatlink : String_Access := Program_Name ("gnatlink", "gnatmake");
++   Gnatbind : String_Access := Program_Name ("gnatbind-5", "gnatmake");
++   Gnatlink : String_Access := Program_Name ("gnatlink-5", "gnatmake");
+    --  Default compiler, binder, linker programs
+
+    Globalizer : constant String := "codepeer_globalizer";
 Index: b/src/gcc/ada/gnatchop.adb
 ===================================================================
 --- a/src/gcc/ada/gnatchop.adb
diff --git a/debian/patches/ada-link-lib.diff b/debian/patches/ada-link-lib.diff
index 22336ad..fa94621 100644
--- a/debian/patches/ada-link-lib.diff
+++ b/debian/patches/ada-link-lib.diff
@@ -945,7 +945,7 @@ Index: b/src/gnattools/Makefile.in
  
  # Installation rules.
  install:
-+	$(INSTALL) -s gnatmake gnatlink $(TOOLS) $(DESTDIR)$(bindir)
++	for i in gnatmake gnatlink $(TOOLS);do mv $$i $$i-5; $(INSTALL) -s $$i-5 $(DESTDIR)$(bindir);done
  
  install-strip: install

diff --git a/debian/rules.d/binary-ada.mk b/debian/rules.d/binary-ada.mk
index db35be9..441d357 100644
--- a/debian/rules.d/binary-ada.mk
+++ b/debian/rules.d/binary-ada.mk
@@ -58,7 +59,7 @@ dirs_gnat = \
 files_gnat = \
 	$(gcc_lexec_dir)/gnat1 \
 	$(gcc_lib_dir)/{adalib,adainclude} \
-	$(foreach i,$(GNAT_TOOLS),$(PF)/bin/$(cmd_prefix)$(i))
+	$(foreach i,$(GNAT_TOOLS),$(PF)/bin/$(cmd_prefix)$(i)$(pkg_ver))
 
 ifeq ($(with_gnatsjlj),yes)
 files_gnat += \
@@ -102,7 +103,7 @@ $(binary_stamp)-libgnat: $(install_stamp)
 
 	for lib in lib{gnat,gnarl}; do \
 	  vlib=$$lib-$(GNAT_SONAME); \
-	  mv $(d)/$(gcc_lib_dir)/adalib/$$vlib.so.1 $(d)/$(PF)/$(libdir)/. ; \
+	  mv $(d)/$(gcc_lib_dir)/$(rts_subdir)/adalib/$$vlib.so.1 $(d)/$(PF)/$(libdir)/. ; \
 	  rm -f $(d)/$(gcc_lib_dir)/adalib/$$lib.so.1; \
 	done
 	dh_movefiles -p$(p_lgnat) $(files_lgnat)
@@ -275,8 +276,8 @@ endif
 	rm -rf $(d_gnat)
 	dh_installdirs -p$(p_gnat) $(dirs_gnat)
 	# Upstream does not install gnathtml.
-	cp src/gcc/ada/gnathtml.pl debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml
-	chmod 755 debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml
+	cp src/gcc/ada/gnathtml.pl debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml$(pkg_ver)
+	chmod 755 debian/tmp/$(PF)/bin/$(cmd_prefix)gnathtml$(pkg_ver)
 	dh_movefiles -p$(p_gnat) $(files_gnat)
 
 ifeq ($(with_gnatsjlj),yes)
@@ -315,16 +316,36 @@ else
 	mkdir -p $(d_gnat)/$(docdir)/$(p_gbase)/ada
 	cp -p src/gcc/ada/ChangeLog $(d_gnat)/$(docdir)/$(p_gbase)/ada/.
 endif
+ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
 	for i in $(GNAT_TOOLS); do \
 	  case "$$i" in \
-	    gnat) cp -p debian/gnat.1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)gnat.1 ;; \
-	    *) ln -sf gnat.1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i.1; \
+	    gnat) cp -p debian/gnat.1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)gnat$(pkg_ver).1 ;; \
+	    *) ln -sf gnat.1 $(d_gnat)/$(PF)/share/man/man1/$(cmd_prefix)$$i$(pkg_ver).1; \
 	  esac; \
 	done
+endif
+	
+ifneq ($(DEB_CROSS),yes)
+	for i in $(GNAT_TOOLS); do \
+          ln -sf $$i$(pkg_ver) \
+            $(d_gnat)/$(PF)/bin/$(DEB_TARGET_GNU_TYPE)-$$i$(pkg_ver); \
+         ln -sf $$i$(pkg_ver) \
+           $(d_gnat)/$(PF)/bin/$(TARGET_ALIAS)-$$i$(pkg_ver); \
+        done
+
+	for i in $(GNAT_TOOLS); do \
+          ln -sf gnat$(pkg_ver).1 \
+            $(d_gnat)/$(PF)/share/man/man1/$(DEB_TARGET_GNU_TYPE)-$$i$(pkg_ver).1; \
+          ln -sf $$i$(pkg_ver).1 \
+            $(d_gnat)/$(PF)/share/man/man1/$(TARGET_ALIAS)-$$i$(pkg_ver).1; \
+       done
+endif
 
 	dh_install -p$(p_gnat) debian/ada/debian_packaging.mk usr/share/ada
-	dh_link -p$(p_gnat) usr/bin/gcc-$(GNAT_VERSION) usr/bin/gnatgcc
-	dh_link -p$(p_gnat) usr/share/man/man1/gnat.1.gz usr/share/man/man1/gnatgcc.1.gz
+	mv $(d_gnat)/usr/share/ada/debian_packaging.mk \
+            $(d_gnat)/usr/share/ada/debian_packaging-$(GNAT_VERSION).mk
+	dh_link -p$(p_gnat) usr/bin/$(cmd_prefix)gcc$(pkg_ver) usr/bin/$(cmd_prefix)gnatgcc$(pkg_ver)
+	dh_link -p$(p_gnat) usr/share/man/man1/$(cmd_prefix)gnat$(pkg_ver).1.gz usr/share/man/man1/$(cmd_prefix)gnatgcc$(pkg_ver).1.gz
 
 	debian/dh_rmemptydirs -p$(p_gnat)

diff --git a/debian/rules.conf b/debian/rules.conf
index 7cd7f31..d674c88 100644
--- a/debian/rules.conf
+++ b/debian/rules.conf
@@ -477,7 +477,7 @@ endif
 GO_BUILD_DEP := netbase,
 
 # try to build with itself, or with the last version
-gnat_build_dep := gnat-5 [$(ada_no_archs)] | gnat-4.9 [$(ada_no_archs)]
+gnat_build_dep := gnat (>= 5) [$(ada_no_archs)] | gnat-4.9 [$(ada_no_archs)],
 ifneq (,$(filter $(distrelease), wheezy precise trusty))
   gnat_build_dep := gnat-5 [$(ada_no_archs)] | gnat [$(ada_no_archs)]
 else ifneq (,$(filter $(distrelease), squeeze lucid))
@@ -498,7 +498,7 @@ else ifeq ($(PKGSOURCE),gnat-$(BASE_VERSION))
   # Special source package just for gnat. Fail early if gnat is not present,
   # rather than waste CPU cycles and fail later.
   # Bootstrap step needs a gnatgcc symbolic link.
-  GNAT_BUILD_DEP := gnat (>= 4.1) | gnat-4.9 | gnat-4.6 (>= 4.6.4-2),
+  GNAT_BUILD_DEP := $(gnat_build_dep),
   GNAT_BUILD_DEP += $(SOURCE_BUILD_DEP)
   JAVA_BUILD_DEP :=
   JAVA_BUILD_INDEP :=


Reply to: