diff options
Diffstat (limited to 'debian/rules.d/binary-go.mk')
-rw-r--r-- | debian/rules.d/binary-go.mk | 119 |
1 files changed, 78 insertions, 41 deletions
diff --git a/debian/rules.d/binary-go.mk b/debian/rules.d/binary-go.mk index c7e9e1d..9d30d68 100644 --- a/debian/rules.d/binary-go.mk +++ b/debian/rules.d/binary-go.mk @@ -1,18 +1,33 @@ ifeq ($(with_libgo),yes) $(lib_binaries) += libgo endif +ifeq ($(with_godev),yes) + $(lib_binaries) += libgo-dev +endif ifeq ($(with_lib64go),yes) $(lib_binaries) += lib64go endif +ifeq ($(with_lib64godev),yes) + $(lib_binaries) += lib64go-dev +endif ifeq ($(with_lib32go),yes) $(lib_binaries) += lib32go endif +ifeq ($(with_lib32godev),yes) + $(lib_binaries) += lib32go-dev +endif ifeq ($(with_libn32go),yes) $(lib_binaries) += libn32go endif +ifeq ($(with_libn32godev),yes) + $(lib_binaries) += libn32go-dev +endif ifeq ($(with_libx32go),yes) $(lib_binaries) += libx32go endif +ifeq ($(with_libx32godev),yes) + $(lib_binaries) += libx32go-dev +endif ifneq ($(DEB_STAGE),rtlibs) arch_binaries := $(arch_binaries) gccgo @@ -51,6 +66,7 @@ ifneq (,$(filter $(build_type), build-native cross-build-native)) files_go += \ $(PF)/bin/$(cmd_prefix){go,gofmt}$(pkg_ver) \ $(gcc_lexec_dir)/cgo \ + $(gcc_lexec_dir)/{buildid,test2json,vet} \ $(PF)/share/man/man1/$(cmd_prefix){go,gofmt}$(pkg_ver).1 endif @@ -102,7 +118,7 @@ ifeq ($(with_standalone_go),yes) endif # ---------------------------------------------------------------------- -define __do_gccgo +define __do_libgo dh_testdir dh_testroot mv $(install_stamp) $(install_stamp)-tmp @@ -110,7 +126,7 @@ define __do_gccgo rm -rf $(d_l) $(d_d) dh_installdirs -p$(p_l) $(usr_lib$(2)) $(dh_compat2) dh_movefiles -p$(p_l) \ - $(usr_lib$(2))/libgo.so.* $(usr_lib$(2))/go + $(usr_lib$(2))/libgo.so.* debian/dh_doclink -p$(p_l) $(p_lbase) debian/dh_doclink -p$(p_d) $(p_lbase) @@ -135,8 +151,6 @@ define __do_gccgo trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) endef -do_gccgo = $(call __do_gccgo,lib$(1)go$(GO_SONAME),$(1)) - define install_gccgo_lib mv $(d)/$(usr_lib$(3))/$(1).a debian/$(4)/$(gcc_lib_dir$(3))/ if [ -f $(d)/$(usr_lib$(3))/$(1)libbegin.a ]; then \ @@ -166,30 +180,65 @@ define __do_gccgo_libgcc ) endef -define do_go_dev - dh_installdirs -p$(2) $(gcc_lib_dir$(1)) - $(dh_compat2) dh_movefiles -p$(2) \ - $(gcc_lib_dir$(1))/{libgobegin,libnetgo}.a +define __do_libgo_dev + dh_testdir + dh_testroot + mv $(install_stamp) $(install_stamp)-tmp + + rm -rf $(d_l) + dh_installdirs -p$(p_l) \ + $(gcc_lib_dir$(2)) \ + $(usr_lib$(2)) + mv $(d)/$(usr_lib$(2))/{libgobegin,libgolibbegin}.a \ + $(d)/$(gcc_lib_dir$(2))/ + $(dh_compat2) dh_movefiles -p$(p_l) \ + $(gcc_lib_dir$(2))/{libgobegin,libgolibbegin}.a \ + $(usr_lib$(2))/go + $(call install_gccgo_lib,libgo,$(GO_SONAME),$(2),$(p_l)) + $(if $(filter yes, $(with_standalone_go)), \ - $(call install_gccgo_lib,libgomp,$(GOMP_SONAME),$(1),$(2))) - $(call install_gccgo_lib,libgo,$(GO_SONAME),$(1),$(2)) - $(call __do_gccgo_libgcc,$(1),$(2),$(gcc_lib_dir$(1)),$(d)/$(usr_lib$(1))) + $(call install_gccgo_lib,libgomp,$(GOMP_SONAME),$(2),$(p_l))) + $(call __do_gccgo_libgcc,$(2),$(p_l),$(gcc_lib_dir$(2)),$(d)/$(usr_lib$(2))) + + debian/dh_doclink -p$(p_l) $(p_lbase) + echo $(p_l) >> debian/$(lib_binaries) + + trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp) endef + +do_libgo = $(call __do_libgo,lib$(1)go$(GO_SONAME),$(1)) +do_libgo_dev = $(call __do_libgo_dev,lib$(1)go-$(BASE_VERSION)-dev,$(1)) + # ---------------------------------------------------------------------- $(binary_stamp)-libgo: $(install_stamp) - $(call do_gccgo,) + $(call do_libgo,) $(binary_stamp)-lib64go: $(install_stamp) - $(call do_gccgo,64) + $(call do_libgo,64) $(binary_stamp)-lib32go: $(install_stamp) - $(call do_gccgo,32) + $(call do_libgo,32) $(binary_stamp)-libn32go: $(install_stamp) - $(call do_gccgo,n32) + $(call do_libgo,n32) $(binary_stamp)-libx32go: $(install_stamp) - $(call do_gccgo,x32) + $(call do_libgo,x32) + +$(binary_stamp)-libgo-dev: $(install_stamp) + $(call do_libgo_dev,) + +$(binary_stamp)-lib64go-dev: $(install_stamp) + $(call do_libgo_dev,64) + +$(binary_stamp)-lib32go-dev: $(install_stamp) + $(call do_libgo_dev,32) + +$(binary_stamp)-libx32go-dev: $(install_stamp) + $(call do_libgo_dev,x32) + +$(binary_stamp)-libn32go-dev: $(install_stamp) + $(call do_libgo_dev,n32) # ---------------------------------------------------------------------- $(binary_stamp)-gccgo: $(install_stamp) @@ -200,27 +249,6 @@ $(binary_stamp)-gccgo: $(install_stamp) rm -rf $(d_go) dh_installdirs -p$(p_go) $(dirs_go) - mv $(d)/$(usr_lib)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/ - if [ -f $(d)/$(usr_lib64)/libgobegin.a ]; then \ - mv $(d)/$(usr_lib64)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/64/; \ - fi - if [ -f $(d)/$(usr_lib32)/libgobegin.a ]; then \ - mv $(d)/$(usr_lib32)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/32/; \ - fi - if [ -f $(d)/$(usr_libn32)/libgobegin.a ]; then \ - mv $(d)/$(usr_libn32)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/n32/; \ - fi - if [ -f $(d)/$(usr_libx32)/libgobegin.a ]; then \ - mv $(d)/$(usr_libx32)/{libgobegin,libnetgo}.a \ - $(d)/$(gcc_lib_dir)/x32/; \ - fi - - $(call do_go_dev,,$(p_go)) - $(dh_compat2) dh_movefiles -p$(p_go) $(files_go) ifneq (,$(findstring gccgo,$(PKGSOURCE))) @@ -268,8 +296,12 @@ ifeq ($(with_standalone_go),yes) endif endif -ifeq ($(GFDL_INVARIANT_FREE),yes) mkdir -p $(d_go)/usr/share/lintian/overrides + echo '$(p_go) binary: unstripped-binary-or-object' \ + > $(d_go)/usr/share/lintian/overrides/$(p_go) + echo '$(p_go) binary: hardening-no-pie' \ + >> $(d_go)/usr/share/lintian/overrides/$(p_go) +ifeq ($(GFDL_INVARIANT_FREE),yes) echo '$(p_go) binary: binary-without-manpage' \ >> $(d_go)/usr/share/lintian/overrides/$(p_go) endif @@ -280,8 +312,12 @@ endif # $(d_go)/$(docdir)/$(p_base)/go/changelog debian/dh_rmemptydirs -p$(p_go) +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTONS))) + $(DWZ) \ + $(d_go)/$(gcc_lexec_dir)/go1 +endif dh_strip -v -p$(p_go) -X/cgo -X/go$(pkg_ver) -X/gofmt$(pkg_ver) \ - $(if $(unstripped_exe),-X/go1) + -X/buildid -X/test2json -X/vet $(if $(unstripped_exe),-X/go1) dh_shlibdeps -p$(p_go) echo $(p_go) >> debian/arch_binaries @@ -296,8 +332,9 @@ $(binary_stamp)-gccgo-multi: $(install_stamp) rm -rf $(d_go_m) dh_installdirs -p$(p_go_m) $(docdir) - $(foreach flavour,$(flavours), \ - $(call do_go_dev,$(flavour),$(p_go_m))) + mkdir -p $(d_go_m)/usr/share/lintian/overrides + echo '$(p_go_m) binary: non-multi-arch-lib-dir' \ + > $(d_go_m)/usr/share/lintian/overrides/$(p_go_m) debian/dh_doclink -p$(p_go_m) $(p_xbase) debian/dh_rmemptydirs -p$(p_go_m) |