<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/pepe2k/target/imagebuilder, branch v21.02.4</title>
<subtitle>Staging tree of Piotr Dymacz</subtitle>
<id>https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.4</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/pepe2k/atom?h=v21.02.4'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/'/>
<updated>2022-04-05T20:06:41Z</updated>
<entry>
<title>imagebuilder: fix broken image generation with external targets</title>
<updated>2022-04-05T20:06:41Z</updated>
<author>
<name>Petr Štetiar</name>
</author>
<published>2022-03-24T05:52:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=3008f1f441a41e162311cee1ccadfdaaec1581c1'/>
<id>urn:sha1:3008f1f441a41e162311cee1ccadfdaaec1581c1</id>
<content type='text'>
When using external targets there is a symlink being created for the
target under target/linux which then becomes dangling under Image
Builder. Fix it by dereferencing the possible symlink.

Tested on IB with external target, ipq40xx and mvebu.

Signed-off-by: Petr Štetiar &lt;ynezz@true.cz&gt;
(cherry picked from commit 621f39d1f438bf95dbae667c575926fa16a6d797)
(cherry picked from commit ec9af870f3278f75549836b469baefa260e2ed41)
</content>
</entry>
<entry>
<title>imagebuilder: fix local packages/ folder</title>
<updated>2022-02-10T19:06:04Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-10-13T01:36:33Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=6d266ef158840b9f9e2b18153f3b789ad220e559'/>
<id>urn:sha1:6d266ef158840b9f9e2b18153f3b789ad220e559</id>
<content type='text'>
This commit fixes commit "2999f810ff: build,IB: include kmods only in
local builds" which cause the local packages/ folder only to be added
for local builds but no longer for ImageBuilder created by the Buildbot.

The commits intention was to use remote kmods repositories rather than
storing them locally. Accidentally the entire handling of the local
`packages/` was removed.

Re-add the folder and include a README describing what it can be used
for.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
(cherry picked from commit 15e55a2190ba087679b24b8844a51a6e4d512cf3)
Fixes: #5068
Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>imagebuilder: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archive</title>
<updated>2021-05-14T20:52:40Z</updated>
<author>
<name>Sven Roederer</name>
</author>
<published>2021-05-07T19:35:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=f25dc537238673c641eca6e7ce566476b839c46a'/>
<id>urn:sha1:f25dc537238673c641eca6e7ce566476b839c46a</id>
<content type='text'>
Using these config-options to customize the folders used at build-time
makes these folder settings appear in generated archive. This causes the
imagebuilder to be not portable, as it's going to use the build-time folders
on the new systems. Errors look like:

  mkdir: cannot create directory '/mnt/build': Permission denied
  Makefile:116: recipe for target '_call_image' failed
  make[2]: *** [_call_image] Error 1
  Makefile:241: recipe for target 'image' failed
  make[1]: *** [image] Error 2

The build-time settings of these folders are passed into the archives via
.config file.
The expected behavior is that after unpacking the imagebuilder acts like
these settings have their defaults, using intree folders. So unset the
build-time settings.

Signed-off-by: Sven Roederer &lt;devel-sven@geroedel.de&gt;
(cherry picked from commit 6967903b01ea9f7c9f70d0185c3da276801dd78f)
</content>
</entry>
<entry>
<title>build,ib: add STRIP_ABI option for manifest</title>
<updated>2021-03-16T21:05:26Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-03-16T01:59:26Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=69b77dc3b4480f90f02878e09e924a8e3f0116b6'/>
<id>urn:sha1:69b77dc3b4480f90f02878e09e924a8e3f0116b6</id>
<content type='text'>
The ImageBuilder `make manifest` prints all installed packages. This
function can be used to create a list of package and corresponding
package versions before attempting image creation.

When called with `--strip-abi` OPKG can automatically strip attached
ABIVersions from package names. Make this function accessible for the
ImageBuilder by adding a `STRIP_ABI` variable.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
(cherry picked from commit 0f7cd97f812adaf4b2c2048227610d150aec72cc)
</content>
</entry>
<entry>
<title>imagebuilder: invoke bundle-libraries.sh w/o buildroot dirs in $PATH</title>
<updated>2020-12-29T00:07:42Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2020-12-29T00:03:20Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=6a46615f372c02650f290614a8c5351bbadc80ed'/>
<id>urn:sha1:6a46615f372c02650f290614a8c5351bbadc80ed</id>
<content type='text'>
Invoke bundle-libraries.sh with any buildroot related directory entries
removed from $PATH to avoid picking up cross versions of utilities like
ldd which will not properly work when used against host executables.

This should fix executable bundling for glibc-target imagebuilders.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>imagebuilder: fix partition signature</title>
<updated>2020-11-25T00:46:05Z</updated>
<author>
<name>Matthew Gyurgyik</name>
</author>
<published>2020-11-13T19:21:29Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=aab36200e7eb539afb18df74476132f4750a9f0b'/>
<id>urn:sha1:aab36200e7eb539afb18df74476132f4750a9f0b</id>
<content type='text'>
When building images with the imagebuilder, the partition signature
never changes. The signature is generated by hashing SOURCE_DATE_EPOCH
and LINUX_VERMAGIC which are undefined. Prepopulate these variables, as
done by the SDK.

Signed-off-by: Matthew Gyurgyik &lt;matthew@gyurgyik.io&gt;
</content>
</entry>
<entry>
<title>imagebuilder: fix main entry makefile</title>
<updated>2020-11-23T03:13:46Z</updated>
<author>
<name>Paulo Machado</name>
</author>
<published>2020-11-22T14:23:27Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=b19a684f461977f1ff8218b28d5b191ec747c3d5'/>
<id>urn:sha1:b19a684f461977f1ff8218b28d5b191ec747c3d5</id>
<content type='text'>
Remove a syntax error from ImageBuider Makefile

Acked-by: Paul Spooren &lt;mail@aparcar.org&gt;
Signed-off-by: Paulo Machado &lt;pffmachado@yahoo.com&gt;
</content>
</entry>
<entry>
<title>imagebuilder: add package signature verification</title>
<updated>2020-11-19T22:15:00Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-11-02T22:15:05Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=418362b1cc106b9aca3905150199f60548906fff'/>
<id>urn:sha1:418362b1cc106b9aca3905150199f60548906fff</id>
<content type='text'>
The ImageBuilder downloads pre-built packages and adds them to images.
This process uses `opkg` which has the capability to verify package list
signatures via `usign`, as enabled per default on running OpenWrt
devices.

Until now this was disabled for ImageBuilders because neither the `opkg`
keys nor the `opkg-add` script was present during first packagelist
update.

To harden the ImageBuilder against *drive-by-download-attacks* both keys
and verification script are added to the ImageBuilder allowing `opkg` to
verify downloaded package indices.

This commit adds `opkg-add` to the ImageBuilder scripts folder. The keys
folder is added to ImageBuilder $TOPDIR to have an obvious place for users to
store their own keys. The `option check_signature` is appended to the
repositories.conf file. All of the above only happens if the Buildbot
runs with the SIGNATURE_CHECK option.

The keys stored in the ImageBuilder keys/ are the same as included in
the openwrt-keyring package. To avoid the chicken-egg problem of
downloading and verifying a package, containing signing keys, the keys
are added during the ImageBuilder generation. They are same as in
shipped images (stored at `/etc/opkg/keys/`).

To allow a local package feed in which the user can add additional
packages, a local set of `usign` and `ucert` keys is generated, same as
building OpenWrt from source. The private key signs the local repository
inside the packages/ folder. The local public key is added to the keys/
folder to be considered by `opkg` when updating repositories. This way a
local package feed can be modified while requiring `opkg` to check
signatures for remote feed, making HTTPS optional.

The new option `ADD_LOCAL_KEY` allows to add the local key inside the
created images, adding the advantage that sysupgrades can validate the
ImageBuilders local key.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>imagebuilder: fix sstrip</title>
<updated>2020-11-09T10:54:30Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-11-02T21:35:39Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=2e282537d00267774526ea5b4386ea3167b69c6a'/>
<id>urn:sha1:2e282537d00267774526ea5b4386ea3167b69c6a</id>
<content type='text'>
Without an absolute path to staging_dir/host/bin/sstrip the Makefile
tries to run a host installed version of sstrip, which is likely not
available.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build,IB: reload packages/ only if existing</title>
<updated>2020-10-30T00:39:09Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-10-17T20:06:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/pepe2k/commit/?id=04757f964b9dd4190b27d51914a4c0053d4a38cd'/>
<id>urn:sha1:04757f964b9dd4190b27d51914a4c0053d4a38cd</id>
<content type='text'>
With the fix of external kmod feeds it is possible to ship the
ImageBuilder without any packages except the pseudo packages kernel and
libc. Therefore the local package feeds becomes optional.

This commit adds a check to the package_reload function to only run if
the local feed is existing.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
</feed>
