<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/blocktrron/scripts/ipkg-build, branch master</title>
<subtitle>Staging tree of David Bauer</subtitle>
<id>https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/atom?h=master</id>
<link rel='self' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/'/>
<updated>2024-01-08T13:08:06Z</updated>
<entry>
<title>scripts: fix installed-size calculation</title>
<updated>2024-01-08T13:08:06Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2024-01-06T17:10:29Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=49e8f532989c342fff44c1c558f8182585673833'/>
<id>urn:sha1:49e8f532989c342fff44c1c558f8182585673833</id>
<content type='text'>
Previously the script would calculate the size of the compressed archive
which isn't the size installed in the overlayfs.

This commit uses zcat in combination with wc to calculate the
umcompressed size.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: use numeric-owner in ipkg-build</title>
<updated>2022-04-19T20:59:50Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2022-04-19T18:02:59Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=7a732213322d9aa6d8743beffb185ca6f53a5bea'/>
<id>urn:sha1:7a732213322d9aa6d8743beffb185ca6f53a5bea</id>
<content type='text'>
To create packages the `ipkg-build` script is used which double packs
`control.tar.gz` and `data.tar.gz` to a single package. By default it's
using a verbose username instead of a numeric value for files.

Official OpenWrt images (artifacts) are created within docker containers
which do not seem to contain those verbose usernames and instead
defaults to numeric values.

This becomes a problem when rebuilding public artifacts because other
build environments may offer verbose usernames and there the created
packages is different from the official ones.

With this commit `ipkg-build` always uses numeric values for user/group
and thereby making it easier to reproduce official artifacts.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>scripts: make sure sort-order is independent from locale</title>
<updated>2022-04-06T16:33:31Z</updated>
<author>
<name>Daniel Golle</name>
</author>
<published>2022-04-06T16:25:16Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=1d77dca3b32dd883bcc2213675cf21111ac1beca'/>
<id>urn:sha1:1d77dca3b32dd883bcc2213675cf21111ac1beca</id>
<content type='text'>
Set LC_ALL=C environment variable when calling 'sort' as the sort
order otherwise depends on the locale set.

Fixes: 56ce110b73 ("scripts: make sure conffiles are sorted")
Signed-off-by: Daniel Golle &lt;daniel@makrotopia.org&gt;
</content>
</entry>
<entry>
<title>scripts: make sure conffiles are sorted</title>
<updated>2022-04-01T12:08:58Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2022-03-31T21:51:29Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=56ce110b73970bcd65d309440baada84c8e1504b'/>
<id>urn:sha1:56ce110b73970bcd65d309440baada84c8e1504b</id>
<content type='text'>
It may happen that conffiles are in different order on different builds.
Make sure they have the same order by sorting them.

FIX: #9612

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>scripts,ipkg-build: use realpath for pkg_dir</title>
<updated>2021-03-15T05:32:30Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-02-04T23:49:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=bb95be9265a9e3eb71c4f50b5f289a75683405d4'/>
<id>urn:sha1:bb95be9265a9e3eb71c4f50b5f289a75683405d4</id>
<content type='text'>
This allows manual execution of the ipkg-build script even with
releative path.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>scripts,ipkg-build: apply shellcheck</title>
<updated>2021-03-15T05:31:43Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2021-02-04T23:34:30Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=72f481b1579e844d25ca71ec72b2fa377d961f04'/>
<id>urn:sha1:72f481b1579e844d25ca71ec72b2fa377d961f04</id>
<content type='text'>
This commit cleans the `ipkg-build` script via changes suggested by
shellcheck. These are mostly word splitting issues.

Remove the definition of GZIP, this adds three "lookups" of the `gzip`
binary but the rest of the build system doesn't seem to use such
improvements neither.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>scripts: ipkg-build: simplify uid/gid resolving</title>
<updated>2020-09-14T15:11:04Z</updated>
<author>
<name>Jo-Philipp Wich</name>
</author>
<published>2020-09-14T14:57:46Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=4038c031cbc156d361e80f73dbd88f83b13a4057'/>
<id>urn:sha1:4038c031cbc156d361e80f73dbd88f83b13a4057</id>
<content type='text'>
Use the prepared .packageusergroup file to lookup user and group names
when processing the passed file mode.

Also replace the various subshell/cut invocations with a sequence of
standard variable interpolations which fixes paths with embedded colons
as a side-effect.

Signed-off-by: Jo-Philipp Wich &lt;jo@mein.io&gt;
</content>
</entry>
<entry>
<title>build: add user/group ID resolve function</title>
<updated>2020-09-14T09:54:52Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-09-14T02:02:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=51ec51871fd57b80096baf76d6b21a2ae46e4748'/>
<id>urn:sha1:51ec51871fd57b80096baf76d6b21a2ae46e4748</id>
<content type='text'>
With the introduction of `./tmp/userids` the `ipkg-build` script can now
resolve values of "PKG_FILE_MODES", allowing users to set names rather
than numeric values.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: store granular timestamps in packages</title>
<updated>2020-08-31T10:18:06Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-08-15T20:57:02Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=fd29f2bcd97f7af7de22ac95b1490a54f45d6c88'/>
<id>urn:sha1:fd29f2bcd97f7af7de22ac95b1490a54f45d6c88</id>
<content type='text'>
With the new `SOURCE` argument of `get_source_date_epoch` it is possible
to set package timestamps based on actual package changes rather thane
$TOPDIR changes.

This commit adds a new variable PKG_SOURCE_DATE_EPOCH which is used by
the `ipkg` build script. As a fallback the existing SOURCE_DATE_EPOCH is
used or as last resort the current time.

The redundant checks for `.git/` and `.svn/` are removed.

Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>build: ipkg-build use fakeroot with PKG_FILE_MODES</title>
<updated>2020-08-31T10:13:12Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2020-08-07T21:13:00Z</published>
<link rel='alternate' type='text/html' href='https://git-03.infra.openwrt.org/openwrt/staging/blocktrron/commit/?id=353ce2e521f57318c502c862457dc859d8d181a6'/>
<id>urn:sha1:353ce2e521f57318c502c862457dc859d8d181a6</id>
<content type='text'>
The `ipkg-build` script converts a folder into a `opkg` installable
package. Until now it would use root:root for all packages and try to
preserve file modes.

This has the two drawbacks of packages want to add non-root files or add
SUID files, like the `sudo` package does.

To give more flexibility regarding file modes and avoid init script
hacks, a new variable called `PKG_FILE_MODES`. The variable contains a
list of files modes in the format `path:owner:group:mode`.

An example for the `sudo` package below:

```
PKG_FILE_MODES:=\
        /usr/bin/sudo:root:root:4755 \
        /etc/sudoers:root:root:0440
```

The `ipkg-build` now runs within a fakeroot environment to set any mode
and directly store it in the resulting `ipk` package archive.

Both options `-o` and `-g` are no longer required due to the introduction
of the more flexible `-m` options, which takes the `PKG_FILE_MODES` as
input.

Lastly the option `-c` is removed as it's unused within the script.

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