[Pkg-golang-commits] [golang] 01/01: Package compiled PIE-mode stdlib (Closes: #823014)

Peter Colberg peter at colberg.org
Wed Jun 22 23:42:04 UTC 2016


This is an automated email from the git hooks/post-receive script.

pc-guest pushed a commit to branch pc/debian-sid
in repository golang.

commit 491e86350fe3b50d94a7927915dbf734e46e74a9
Author: Peter Colberg <peter at colberg.org>
Date:   Wed Jun 22 18:09:34 2016 -0400

    Package compiled PIE-mode stdlib (Closes: #823014)
---
 debian/control                 | 17 +++++++++++++++++
 debian/control.in              | 17 +++++++++++++++++
 debian/golang-X.Y-pie-dev.dirs |  1 +
 debian/rules                   |  7 +++++++
 4 files changed, 42 insertions(+)

diff --git a/debian/control b/debian/control
index fb7d3da..70a1e71 100644
--- a/debian/control
+++ b/debian/control
@@ -40,6 +40,23 @@ Description: Go programming language compiler, linker, compiled stdlib
  Go supports cross-compilation, but as of Go 1.5, it is no longer necessary to
  pre-compile the standard library inside GOROOT for cross-compilation to work.
 
+Package: golang-1.6-pie-dev
+Depends: golang-1.6-go (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Architecture: amd64 arm64 armel armhf i386 ppc64 ppc64el
+Build-Profiles: <!cross>
+Description: Go programming language - compiled PIE-mode stdlib
+ The Go programming language is an open source project to make programmers more
+ productive. Go is expressive, concise, clean, and efficient. Its concurrency
+ mechanisms make it easy to write programs that get the most out of multicore
+ and networked machines, while its novel type system enables flexible and
+ modular program construction. Go compiles quickly to machine code yet has the
+ convenience of garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a dynamically typed,
+ interpreted language.
+ .
+ This package provides the compiled Go standard library for building
+ position-independent executables (PIE).
+
 Package: golang-1.6-src
 Architecture: amd64 arm64 armel armhf i386 ppc64 ppc64el
 Depends: ${misc:Depends}, ${shlibs:Depends}
diff --git a/debian/control.in b/debian/control.in
index eff79ee..caf5728 100644
--- a/debian/control.in
+++ b/debian/control.in
@@ -36,6 +36,23 @@ Description: Go programming language compiler, linker, compiled stdlib
  Go supports cross-compilation, but as of Go 1.5, it is no longer necessary to
  pre-compile the standard library inside GOROOT for cross-compilation to work.
 
+Package: golang-X.Y-pie-dev
+Depends: golang-X.Y-go (= ${binary:Version}), ${misc:Depends}, ${shlibs:Depends}
+Architecture: amd64 arm64 armel armhf i386 ppc64 ppc64el
+Build-Profiles: <!cross>
+Description: Go programming language - compiled PIE-mode stdlib
+ The Go programming language is an open source project to make programmers more
+ productive. Go is expressive, concise, clean, and efficient. Its concurrency
+ mechanisms make it easy to write programs that get the most out of multicore
+ and networked machines, while its novel type system enables flexible and
+ modular program construction. Go compiles quickly to machine code yet has the
+ convenience of garbage collection and the power of run-time reflection. It's a
+ fast, statically typed, compiled language that feels like a dynamically typed,
+ interpreted language.
+ .
+ This package provides the compiled Go standard library for building
+ position-independent executables (PIE).
+
 Package: golang-X.Y-src
 Architecture: amd64 arm64 armel armhf i386 ppc64 ppc64el
 Depends: ${misc:Depends}, ${shlibs:Depends}
diff --git a/debian/golang-X.Y-pie-dev.dirs b/debian/golang-X.Y-pie-dev.dirs
new file mode 100644
index 0000000..93c0967
--- /dev/null
+++ b/debian/golang-X.Y-pie-dev.dirs
@@ -0,0 +1 @@
+/usr/lib/go-X.Y/pkg
diff --git a/debian/rules b/debian/rules
index 573fde2..1580b57 100755
--- a/debian/rules
+++ b/debian/rules
@@ -84,6 +84,10 @@ override_dh_install-arch:
 	# Touch built and installed files and directories to have same timestamp
 	touch debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg
 	find debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg -exec touch -r $(CURDIR)/debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg {} \;
+ifeq (,$(filter cross,$(DEB_BUILD_PROFILES)))
+	# Move compiled PIE-mode stdlib to separate package
+	mv debian/golang-$(GOVER)-go/usr/lib/go-$(GOVER)/pkg/*_*_shared debian/golang-$(GOVER)-pie-dev/usr/lib/go-$(GOVER)/pkg
+endif
 
 override_dh_strip:
 	dh_strip -Xtestdata
@@ -97,6 +101,9 @@ override_dh_auto_build-arch:
 		&& cd src \
 		&& $(CURDIR)/debian/helpers/goenv.sh \
 			bash ./make.bash --no-banner
+ifeq (,$(filter cross,$(DEB_BUILD_PROFILES)))
+	$(GOROOT)/bin/go install -v -buildmode=pie std
+endif
 
 opt_no_act :=
 ifneq (,$(findstring n,$(MAKEFLAGS)))

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-golang/golang.git



More information about the pkg-golang-commits mailing list