<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/pepe2k/rules.mk, branch v21.02.1</title>
<subtitle>Staging tree of Piotr Dymacz</subtitle>
<id>https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.1</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.1'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/'/>
<updated>2021-04-10T13:05:18Z</updated>
<entry>
<title>build: make sure asm gets built with -DPIC</title>
<updated>2021-04-10T13:05:18Z</updated>
<author>
<name>Philip Prindeville</name>
</author>
<published>2021-03-19T21:09:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=dc31191ec3e5cefc8eceb5b1525d14e8e81c59ed'/>
<id>urn:sha1:dc31191ec3e5cefc8eceb5b1525d14e8e81c59ed</id>
<content type='text'>
Fixes issue openwrt/packages#14921, whereby inline ASM wasn't getting
built as PIC; look at gmp-6.2.1/mpn/x86/pentium/popcount.asm for
example:

ifdef(`PIC',`
...

for a routine that exists in both PIC and non-PIC versions.

Make sure that wherever $(FPIC) gets passed as a variable expansion
that it gets quoted where necessary (such as setting environment
variables in shell commands).

Signed-off-by: Philip Prindeville &lt;philipp@redfish-solutions.com&gt;
(cherry picked from commit af22991e03cae55f96b06996df2ff16752cec5d5)
</content>
</entry>
<entry>
<title>Mostly revert "build: add support for fixing up library soname"</title>
<updated>2021-02-15T17:47:21Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-02-15T16:49:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=075fa4cd9ae2ee5e9715fad2f70b2092ddc9ac2d'/>
<id>urn:sha1:075fa4cd9ae2ee5e9715fad2f70b2092ddc9ac2d</id>
<content type='text'>
This reverts commit b12288fa69b171f7c9405518c9bed3581a06f7ce.
The patchelf approach is too fragile, and the only users of this have been
converted to make patching unnecessary
Leave the abi_version_str variable in place in rules.mk

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: add support for fixing up library soname</title>
<updated>2021-02-14T18:41:51Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-02-12T08:56:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=b12288fa69b171f7c9405518c9bed3581a06f7ce'/>
<id>urn:sha1:b12288fa69b171f7c9405518c9bed3581a06f7ce</id>
<content type='text'>
This makes it possible to declare a package ABI_VERSION independent from the
upstream soname by setting PKG_ABI_VERSION in the package makefile.
The library filename is fixed up for files installed to packages and to the
staging dir. References to the original from executables within the same
package are also fixed up

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: use SPDX license tags</title>
<updated>2021-02-05T13:54:47Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-09-22T02:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=a17b8eaa2e4b319b7069170398fe965786a813e9'/>
<id>urn:sha1:a17b8eaa2e4b319b7069170398fe965786a813e9</id>
<content type='text'>
The license folder is a core part of OpenWrt and all GPL-2.0 licensed.
Use SPDX license tags to allow machines to check licenses.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
[rebase, keep some Copyright lines, sharpen commit message]
Signed-off-by: Adrian Schmutzler &lt;freifunk@adrianschmutzler.de&gt;
</content>
</entry>
<entry>
<title>rules: fix empty COMMITCOUNT/AUTORELEASE</title>
<updated>2021-01-30T22:21:58Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-01-29T09:17:10Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=ddab795b370da986149f8c8e6b3455bf9c1066fe'/>
<id>urn:sha1:ddab795b370da986149f8c8e6b3455bf9c1066fe</id>
<content type='text'>
Packages that are in-tree only often lack a PKG_VERSION and only use the
PKG_RELEASE to mark changes. Using COMMITCOUNT/AUTORELEASE variables
causes an issue as both variables are empty during the metadata DUMP
phase.

Instead of leaving these variables empty and causing an error message
like below, set the variables to 0 during dumping. On actual building
the variable is evaluated causing in a value above 0.

ERROR: please fix package/utils/px5g-wolfssl/Makefile - \
	see logs/package/utils/px5g-wolfssl/dump.txt for details

Makefile:48: *** Package/px5g-wolfssl is missing the VERSION field.  Stop.

Reported-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
Reported-by: Stijn Segers &lt;foss@volatilesystems.org&gt;
Reported-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>rules: fix COMMITCOUNT logic</title>
<updated>2021-01-27T03:29:49Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-01-27T03:16:36Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=513f7171a3e509bba54ecc2af2d6259c7cbff221'/>
<id>urn:sha1:513f7171a3e509bba54ecc2af2d6259c7cbff221</id>
<content type='text'>
The newly added $(COMMITCOUNT) variable was wrongly increased by plus
one. The addition should have been only added to $(AUTORELEASE) as
OpenWrt traditionally starts counting at one rather than zero.

$(AUTORELEASE) counts the commits since the last bump, which is zero on
the version bump commit itself.

This commit increases $(AUTORELEASE) by one while leaving $(COMMITCOUNT)
as is.

The base-files package is the only package using $(COMMITCOUNT) so far
and requires a pseudo commit to keep the PKG_RELEASE correct. A non
functional change (Copyright bump) is done in the next commit.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>rules: add AUTORELEASE and COMMITCOUNT variables</title>
<updated>2021-01-23T05:03:53Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-01-02T00:02:12Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=9ae3c6f94c616cfbf854d3ec749c7fafc9893942'/>
<id>urn:sha1:9ae3c6f94c616cfbf854d3ec749c7fafc9893942</id>
<content type='text'>
The lack of bumped PKG_RELEASE variables is a recurring theme on the
mailing list and in GitHub comments. This costs precious review time,
a rare good within the OpenWrt project.

Instead of relying on a manually set PKG_RELEASE this commit adds a
`commitcount` function that uses the number of Git commits to determine
the release. The function is called via the variables `$(AUTORELEASE)`
or `$(COMMITCOUNT)`. The `PKG_RELEASE` variable can be set to either of
the two.

- $(AUTORELEASE):

Release is automagically set to the number of commits since the last
commit containing either ": update to " or ": bump to ".

Example below:

    $ git log packages/foobar/
    foobar: fixup file location
    foobar: disable docs
    foobar: bump to 5.3.2
    foobar: fixup copyright

Resulting package name: foobar_5.3.2-3_all.ipk, two package changes
since the last upstream version change, using a 1 based counter.

- $(COMMITCOUNT):

For non-traditional versioning (x.y.z), most prominent `base-files`,
this variable contains the total number of package commits.

The new functionality can also be used by other feeds like packages.git.

In case no build information is available, e.g. when using release
tarballs, the SOURCE_DATE_EPOCH is used to have a reproducible release
identifier.

Suggested-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>rules.mk: use -fPIC instead of -fpic on arm64</title>
<updated>2020-12-07T16:23:13Z</updated>
<author>
<name>Stijn Tintel</name>
</author>
<published>2020-12-04T16:32:46Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=0eb2fa39f313cac1e1e76c09e6ecf204064697a9'/>
<id>urn:sha1:0eb2fa39f313cac1e1e76c09e6ecf204064697a9</id>
<content type='text'>
Some packages fail to build on arm64 when PKG_ASLR_PIE_ALL=y, due to
machine-specific size restrictions on the global offset table.
While the manual instructs to recompile with -fPIC if it fails with
-fpic, by doing this per package, there is still a risk of random
breakage due to version bumps or other changes, so let's use -fPIC on
arm64 by default.

While comparing the sizes of 141 packages built with -fpic vs -fPIC,
most packages are either equal or smaller in size. Only 9 of the
compared packages turned out slightly larger.

Signed-off-by: Stijn Tintel &lt;stijn@linux-ipv6.be&gt;
</content>
</entry>
<entry>
<title>cmake.mk,rules.mk: fix host builds using CMake and ccache</title>
<updated>2020-11-28T15:17:58Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2020-11-27T21:50:32Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=524fb5646eec6147aadfdd508219f39bcf8ba8fc'/>
<id>urn:sha1:524fb5646eec6147aadfdd508219f39bcf8ba8fc</id>
<content type='text'>
Commit f98878e4c17d ("cmake.mk: set C/CXX compiler for host builds as
well") has introduced regression as it didn't taken usage of ccache into
the account so fix it by handling ccache use cases as well.

In order to get this working we need to export HOSTCXX_NOCACHE in
rules.mk as well.

Fixes: f98878e4c17d ("cmake.mk: set C/CXX compiler for host builds as well")
Reported-by: Ansuel Smith &lt;ansuelsmth@gmail.com&gt;
Tested-by: Ansuel Smith &lt;ansuelsmth@gmail.com&gt;
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
<entry>
<title>rules.mk: remove redundant target flags</title>
<updated>2020-11-27T13:46:13Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2020-11-27T08:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=e52d0487e88c3c8c57e1310d1a02b18eae0d142e'/>
<id>urn:sha1:e52d0487e88c3c8c57e1310d1a02b18eae0d142e</id>
<content type='text'>
We're patching the GCC specs [1], [2] to implicitly add
$STAGING_DIR/usr/lib to the linker and $STAGING_DIR/usr/include to the
CPP flags. There is no need to globally pass these as -I and -L flags
respectively.

1. https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=toolchain/gcc/final/Makefile#l86
2. https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=scripts/patch-specs.sh#l37

Ref: https://patchwork.ozlabs.org/project/openwrt/patch/20200820060637.533293-1-a.heider@gmail.com/#2511505
Suggested-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
</content>
</entry>
</feed>
