<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/aparcar/include/package.mk, branch master</title>
<subtitle>Staging tree of Paul Spooren</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/aparcar/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/'/>
<updated>2022-09-30T20:26:51Z</updated>
<entry>
<title>build: make find_md5 reproducible with AUTOREMOVE</title>
<updated>2022-09-30T20:26:51Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2022-09-06T14:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=53a08e37437972ba0a8fbf953a93a70a6b784ef4'/>
<id>urn:sha1:53a08e37437972ba0a8fbf953a93a70a6b784ef4</id>
<content type='text'>
While experimenting with the AUTOREMOVE option in search of a way to use
prebuilt host tools in different buildroot, it was discovered that the
md5 generated by find_md5 in depends.mk is not reproducible.

Currently the hash is generated by the path of the file in addition to
the file mod time. Out of confusion, probably, there was an idea that
such command was used on the package build_dir. Reality is that this
command is run on the package files. (Makefile, patches, src)

This is problematic because the package Makefile (for example) change at
each git clone and base the hash on the Makefile mtime doesn't really
reflect if the Makefile actually changes across a buildroot or not.

A better approach is to generate an hash of each file and then generate
an hash on the sort hash list. This way we remove the problem of git
clone setting a wrong mtime while keeping the integrity of checking if a
file changed for the package as any change will result in a different
hash.

Introduce a new kind of find_md5 function, find_md5_reproducible that
apply this new logic and limit it only with AUTOREMOVE option set to
prevent any kind of slowdown due to additional hash generation.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: handle directory with whitespace in AUTOREMOVE clean</title>
<updated>2022-09-11T09:27:02Z</updated>
<author>
<name>Christian Marangi</name>
</author>
<published>2022-09-07T21:50:36Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=dccee21792b89031bcd801030de403f195d80278'/>
<id>urn:sha1:dccee21792b89031bcd801030de403f195d80278</id>
<content type='text'>
Package with whitespace in their build directory are not correctly
removed when CONFIG_AUTOREMOVE is enabled. This is caused by xargs that
use whitespace as delimiters. To handle this use \0 as the delimiter and
set find to use \0 as the delimiter.

Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>build: fix host package unpack if git-src is used</title>
<updated>2021-11-04T15:43:32Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-11-04T14:54:27Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=9faa22fcee8f9bc5310239661838ab68c7e7c104'/>
<id>urn:sha1:9faa22fcee8f9bc5310239661838ab68c7e7c104</id>
<content type='text'>
If the package download step is skipped, it needs to be performed for the host
build instead.

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>download: improve handling of invalid local files</title>
<updated>2021-11-01T19:18:55Z</updated>
<author>
<name>Eneas U de Queiroz</name>
</author>
<published>2021-08-19T21:14:22Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=8cf4d4df5560f6771f74c3124870e8a23094aff3'/>
<id>urn:sha1:8cf4d4df5560f6771f74c3124870e8a23094aff3</id>
<content type='text'>
4e19cbc5533: [download: handle possibly invalid local tarballs] added a
FORCE rule to downloaded files, so that they will be always checked by
download.pl.

As a side-effect, check-compile will fail, forcing unnecessary package
rebuilds.
The check-compile.txt log shows (for libxml2 for example):
  Considering target file '.../dl/libxml2-2.9.12.tar.gz'.
    ...
    prerequisite 'FORCE' of target '.../dl/libxml2-2.9.12.tar.gz' does
    not exist.
    Must remake target '.../dl/libxml2-2.9.12.tar.gz'.
    ...
   Giving up on target file '...libxml2-2.9.12/.prepared_...'.
   Giving up on target file '...libxml2-2.9.12/.configured_...'.
   Giving up on target file '...libxml2-2.9.12/.built'.
   Giving up on target file '...stamp/.libxml2_installed'.
  Giving up on target file '.compile'.

Then the package is rebuilt even if it is not otherwise needed.

To fix this, instead of always forcing the download target to be remade,
check its hash first: if it matches, then the FORCE is not added.

Signed-off-by: Eneas U de Queiroz &lt;cotequeiroz@gmail.com&gt;
</content>
</entry>
<entry>
<title>Revert "build: use config.site generated by autoconf-lean, drop hardcoded sitefiles"</title>
<updated>2021-03-02T11:35:45Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2021-03-02T11:34:22Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=1b6209203d4e403b4c6b124d1222d0a4ad69d37f'/>
<id>urn:sha1:1b6209203d4e403b4c6b124d1222d0a4ad69d37f</id>
<content type='text'>
This reverts commit f439e291304a93b982e912dc91b80ca950a594f3.

Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>build: use config.site generated by autoconf-lean, drop hardcoded sitefiles</title>
<updated>2021-02-28T00:09:09Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2018-03-02T13:17:10Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=f439e291304a93b982e912dc91b80ca950a594f3'/>
<id>urn:sha1:f439e291304a93b982e912dc91b80ca950a594f3</id>
<content type='text'>
Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
<entry>
<title>build: filter out own packages on package version check</title>
<updated>2021-02-15T20:10:48Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-02-15T20:09:49Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=c68d52799110262698734882bc50d960e3108eca'/>
<id>urn:sha1:c68d52799110262698734882bc50d960e3108eca</id>
<content type='text'>
This was accidentally dropped in 27a4a71c2408
("metadata: handle ABI version rebuild tracking for transient dependencies")

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</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-03.infra.openwrt.org/openwrt/staging/aparcar/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-03.infra.openwrt.org/openwrt/staging/aparcar/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: fix ABI version rebuild dependency</title>
<updated>2021-02-14T18:41:51Z</updated>
<author>
<name>Felix Fietkau</name>
</author>
<published>2021-02-12T08:47:14Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/aparcar/commit/?id=8597da20acce8533a538d436a536795a61b2e8e0'/>
<id>urn:sha1:8597da20acce8533a538d436a536795a61b2e8e0</id>
<content type='text'>
A stray comma was being appended to the last package version dependency,
causing it to be missed for ABI version checks

Signed-off-by: Felix Fietkau &lt;nbd@nbd.name&gt;
</content>
</entry>
</feed>
