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: