summaryrefslogtreecommitdiff
path: root/debian/rules.d/binary-go.mk
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules.d/binary-go.mk')
-rw-r--r--debian/rules.d/binary-go.mk119
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)