<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/classes/go.bbclass, branch yocto-4.0.12</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.12</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=yocto-4.0.12'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2023-06-23T14:16:40+00:00</updated>
<entry>
<title>go.bbclass: don't use test to check output from ls</title>
<updated>2023-06-23T14:16:40+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>Martin.Jansa@gmail.com</email>
</author>
<published>2023-05-15T17:37:39+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=756c144ee1034fe811d38b7847c55f258b3578f1'/>
<id>urn:sha1:756c144ee1034fe811d38b7847c55f258b3578f1</id>
<content type='text'>
* avoids possibly confusing error message in log.do_install like:
  ls: cannot access 'etcd/3.5.7-r0/build/bin/linux_arm64/': No such file or directory

(From OE-Core rev: f9b1a56c50a96ad6300a48bf74a540579b352411)

Signed-off-by: Martin Jansa &lt;Martin.Jansa@gmail.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
(cherry picked from commit 2f1777e6ac5269a71203b6a2c562a43503be95ae)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
</content>
</entry>
<entry>
<title>go.bbclass: disable the use of the default configuration file</title>
<updated>2022-05-04T12:07:34+00:00</updated>
<author>
<name>Chen Qi</name>
<email>Qi.Chen@windriver.com</email>
</author>
<published>2022-04-26T03:59:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5c91954b7d1d426eaaf2b426a06fc9549d0f7134'/>
<id>urn:sha1:5c91954b7d1d426eaaf2b426a06fc9549d0f7134</id>
<content type='text'>
We need to disable the use the default configuration file. This is
to ensure that user settings do not mess things up when building go
recipes.

For example, if I set 'GOBIN=./relative/path' in $HOME/.config/go/env,
then go-runtime fails to build with error like below:

  cannot install, GOBIN must be an absolute path

According to `go help environment',
"""
Setting GOENV=off in the environment disables the use of the default
configuration file.
"""

We can explicitly disable the configuration file by setting GOENV to off.

(From OE-Core rev: 00f794aeaaa660851f3a8464ee89c553195dd3dd)

Signed-off-by: Chen Qi &lt;Qi.Chen@windriver.com&gt;
Signed-off-by: Luca Ceresoli &lt;luca.ceresoli@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
(cherry picked from commit 711b41744ab08ee62c71cdccca335a7828ec0ba1)
Signed-off-by: Steve Sakoman &lt;steve@sakoman.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go: correctly set debug-prefix-map and build directory</title>
<updated>2022-01-05T17:18:15+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex.kanavin@gmail.com</email>
</author>
<published>2022-01-01T11:29:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0111724c3405c422730aaf1353269e3665aea6e2'/>
<id>urn:sha1:0111724c3405c422730aaf1353269e3665aea6e2</id>
<content type='text'>
Go has its own system for creating temporary build
sub-directories with randomized names, and setting
up debug-prefix-map on the fly to prevent those
directories leaking into target binaries. OE's own
settings were clashing with it, so this change
carefully avoids the two stepping on each other.

Additionally, the top level build directory cannot
be named 'go-something'.

(From OE-Core rev: 9985b17a30bb9b9f1bc82a44662687db5cead66e)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go: log build id computations</title>
<updated>2022-01-05T17:18:15+00:00</updated>
<author>
<name>Alexander Kanavin</name>
<email>alex.kanavin@gmail.com</email>
</author>
<published>2022-01-01T11:29:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=a44ba6ae65ce2e9096d7374c02dad4c3503c57e9'/>
<id>urn:sha1:a44ba6ae65ce2e9096d7374c02dad4c3503c57e9</id>
<content type='text'>
go writes build-specific ids into binaries it produces
and has a custom system for calculating them from
file hashes, environment variables and other inputs
(not that dissimilar to sstate cache, actually). This can
go wrong :) in various ways (for purposes of reproducibility
in particular), so this enables useful logs to see what
happens and why.

(From OE-Core rev: a587be1d18fc55fe57d1aa5aa7c9e26af887109e)

Signed-off-by: Alexander Kanavin &lt;alex@linutronix.de&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go.bbclass: Allow adding parameters to go ldflags</title>
<updated>2021-10-28T13:16:30+00:00</updated>
<author>
<name>Ahmed Hossam</name>
<email>Ahmed.Hossam@opensynergy.com</email>
</author>
<published>2021-10-26T18:56:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=82070da31d86c5fd87818bea80ad1038ea74a94e'/>
<id>urn:sha1:82070da31d86c5fd87818bea80ad1038ea74a94e</id>
<content type='text'>
Currently, there is no clean way to pass extra parameters to the go tool link,
which is passed by the go build ldflags flag, the append needs to happen inside
the quotes of the ldflags parameter

See [YOCTO #14554].

Add a variable to allow adding extra parameters to -ldflags in the GO_LDFLAGS
variable, one of the main usecases is setting the application version.

For example, adding to the recipe something like
GO_EXTRA_LDFLAGS="-X main.Version=v1.0.0"
or
GO_EXTRA_LDFLAGS="-X main.Version=${PV}"

(From OE-Core rev: eaa7a61dab9a1d7bb039f16abdd9aacb44faa595)

Signed-off-by: Ahmed Hossam &lt;Ahmed.Hossam@opensynergy.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>Convert to new override syntax</title>
<updated>2021-08-02T14:44:10+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2021-07-28T22:28:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=bb6ddc3691ab04162ec5fd69a2d5e7876713fd15'/>
<id>urn:sha1:bb6ddc3691ab04162ec5fd69a2d5e7876713fd15</id>
<content type='text'>
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py &lt;oe-core directory&gt;

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go: Enable CGO and pie buildmode on rv64</title>
<updated>2021-02-26T15:21:20+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2021-02-24T04:13:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b1eea8178ae36ca82918f658b6bffd7da9fe7a1f'/>
<id>urn:sha1:b1eea8178ae36ca82918f658b6bffd7da9fe7a1f</id>
<content type='text'>
go1.16 has added CGO support for riscv64 arch

(From OE-Core rev: 8e078238312948e8c7b09c66ba7a186512e995d3)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go.bbclass: don't stage test data with sources of dependencies</title>
<updated>2021-01-10T12:35:21+00:00</updated>
<author>
<name>Thomas Perrot</name>
<email>thomas.perrot@bootlin.com</email>
</author>
<published>2021-01-08T06:22:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=34e7ad0b455a55a7845ed18efbf207f21af31209'/>
<id>urn:sha1:34e7ad0b455a55a7845ed18efbf207f21af31209</id>
<content type='text'>
As for the sources the dependencies contain test data, ELF files and other
binaries which aren't necessary for building and which lead to unnecessary QA
warnings.

(From OE-Core rev: 7faea9766127fe4e1023c89b140cc98020655155)

Signed-off-by: Thomas Perrot &lt;thomas.perrot@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go.bbclass: Use external linker for native packages</title>
<updated>2020-12-18T22:52:24+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2020-12-15T08:49:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d059b90fc0e2a224c51ce946a8842183c1a39e6b'/>
<id>urn:sha1:d059b90fc0e2a224c51ce946a8842183c1a39e6b</id>
<content type='text'>
go 1.15 has reworked internal linker, which has resulted in regressions
in OE where native binaries generated using internal linker in some
cases result in corruption during populate_sysroot e.g. glide-native
crashing when used after relocation.

This improved reliability of native binaries working especially when
they use cgo or pie build modes

(From OE-Core rev: daf4856ea3ccafc05c808a34d4c6af2bfafea12f)

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
Cc: Otavio Salvador &lt;otavio.salvador@ossystems.com.br&gt;
Cc: Konrad Weihmann &lt;kweihmann@outlook.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>go.bbclass: Add `-trimpath` to default build flags</title>
<updated>2020-05-26T22:07:12+00:00</updated>
<author>
<name>Otavio Salvador</name>
<email>otavio.salvador@gmail.com</email>
</author>
<published>2020-05-22T02:22:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=2d0c2242136e8c823d58218844c6e082122d0bce'/>
<id>urn:sha1:2d0c2242136e8c823d58218844c6e082122d0bce</id>
<content type='text'>
The `-trimpath` option is important for reproducible builds so full
build paths and module paths are not embedded.

(From OE-Core rev: e3df027b3697b6a92b417bba8d442a5bd15525fd)

Signed-off-by: Otavio Salvador &lt;otavio@ossystems.com.br&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
