Michael Forney
ea3cbbd89c
Use our own pax for extracting archives
...
This reduces dependencies and variability in pax implementations.
2025-04-28 14:27:49 -07:00
Sertonix
f12aa67556
tree.sh: fix usage message
2024-08-09 21:51:46 -07:00
Michael Forney
4d42d8a3eb
Only apply patches ending in .patch
...
This way you can rename them to skip application.
2022-10-30 15:31:37 -07:00
Michael Forney
68a178aeac
sfeed: Update to 1.1
2021-11-29 10:45:03 -08:00
Michael Forney
a936fbebd1
Use --keep-non-patch when applying git patches
...
Some of our patches use bracketed tags.
2021-09-07 13:41:11 -07:00
Michael Forney
292fe11d11
scripts/outdated.py: Fix a couple package mappings
2020-12-14 17:58:47 -08:00
Michael Forney
1f05b9a1a0
bc: Switch back to GNU bc
...
The 1.07 release means we don't have to apply a bunch of patches,
and it is a smaller binary anyway.
2020-12-03 02:02:23 -08:00
Michael Forney
add900e7b0
Update scripts/outdated.py for wpa_supplicant directory rename
2020-11-04 15:33:23 -08:00
Michael Forney
b4ced98b9d
Generate root.perms from fspec
2020-06-22 22:59:35 -07:00
Michael Forney
7a8d4491c8
probe: Create output when test fails
...
This was a regression in 785b495ba7 .
2020-06-16 13:48:09 -07:00
Michael Forney
785b495ba7
Save stderr of probe commands
2020-06-04 19:42:34 -07:00
Michael Forney
714ee37eea
Support checksum via sha256(1)
2020-05-10 17:08:40 -07:00
Michael Forney
91fc847d0c
Fix extraction with pax
2020-05-10 13:44:30 -07:00
Michael Forney
6a6672c57e
Detect sha256 tool automatically
2020-05-08 13:49:57 -07:00
Michael Forney
f74127556d
Detect decompression tool automatically
...
This fixes cross-compilation from macOS, whose bsdtar does support
xz through liblzma, but does not have xz(1).
2020-05-08 13:05:22 -07:00
Michael Forney
0dbae24a86
Address some shellcheck warnings
2020-04-19 02:13:23 -07:00
Michael Forney
ea72d6bab9
Use main compression tool instead of *cat variants
2020-04-15 19:09:56 -07:00
Michael Forney
3c7d1aadfb
Allow overriding sha256 command through SHA256SUM
...
This way, oasis can be bootstrapped on other operating systems by
setting SHA256SUM='shasum -a 256'.
2020-04-15 19:09:56 -07:00
Michael Forney
184f709930
Add sed script to prune config.h headers
2020-01-21 14:43:42 -08:00
Michael Forney
24c94be90c
scripts: Check that we got the right number of parameters
2020-01-03 10:53:34 -08:00
Michael Forney
6ba1d3afa9
scripts/outdated.py: Fix some package names
2019-12-16 17:58:31 -08:00
Michael Forney
2a4f588105
scripts/outdated: Ignore directories with no ver file
2019-12-04 01:11:35 -08:00
Michael Forney
f4720910b9
Update ninja requirement to 1.8.0 and don't bother with atomic outputs
...
Since ninja 1.8.0[0] and samurai 0.2[1], output mtime is always
recorded after a job succeeds, and outputs are considered dirty if
the recorded mtime is older than any input. This means that even
if a command partially writes its output then fails (for example,
if run with stdout redirected to a file), it will still get re-run
during the next build.
This means that outputs no longer have to be written atomically
(i.e. renamed into place) in order to ensure a correct build, and
we can drop the idiom `command >$out.tmp && mv $out.tmp $out`.
[0] 04d886b110
[1] 799bc5a471
2019-11-17 15:24:25 -08:00
Michael Forney
e2f71b89b0
Remove plan9port (at least for now)
...
We are now using Federico G. Benavento's UNIX rc port, and set the
default editor to ed.
Maybe in the future, plan9port will be re-added for the plumber,
acme, or something else.
2019-11-04 23:52:01 -08:00
Michael Forney
4d2a791d56
Skip some packages in scripts/outdated.py
2019-09-20 14:06:38 -07:00
Michael Forney
10b83649e9
Use source revision in commit message
2019-06-19 12:20:18 -07:00
Michael Forney
b745c9ac80
Update lpeg package name in repology
2019-05-04 13:12:03 -07:00
Michael Forney
680d4261df
scripts/commit.sh: Fix when branch doesn't already exist
2019-04-09 23:02:46 -07:00
Michael Forney
86f67d71e0
scripts/commit.sh: Only commit if tree changed
2019-04-09 20:09:25 -07:00
Michael Forney
020a443e3b
Add script to check for out-of-date packages
2019-03-19 11:35:56 -07:00
Michael Forney
e5bb6756c1
Allow overriding pax command with PAXREAD
...
Most systems do not have pax installed by default, or it is not available
at all. However, since we are relying on the -s flag for member name
substitution, we can't just use a tar command that works everywhere.
Instead, support the environment variable PAXREAD to specify the command
to use in place of `pax -r`. Since bsdtar from libarchive supports -s,
we can set PAXREAD='bsdtar -xf -'.
2019-03-11 12:20:37 -07:00
Michael Forney
96bcd25021
Add mechanism to probe for size of type
2018-10-18 12:58:46 -07:00
Michael Forney
741d252822
Port build scripts to POSIX shell
...
Since we are now using Lua to generate ninja files, use of rc in build scripts
seems unnecessary and adds an additional bootstrap dependency. None of them are
too fancy, so just port to POSIX sh instead.
2018-02-16 02:52:34 -08:00
Michael Forney
224b5fdbf9
Add mechanism to probe for toolchain features
2017-10-23 21:43:52 -07:00
Michael Forney
8bfb60a368
fetch-curl: Allow overriding substitutions
2017-10-10 03:22:25 -07:00
Michael Forney
986c031e1c
Add texi2mdoc 0.1.2
2017-09-25 19:23:07 -07:00
Michael Forney
5915e9ccc6
fetch-*.rc does not need to be executable
...
We always call it with rc explicitly.
2017-09-01 17:59:36 -07:00
Michael Forney
6172f9ace7
scripts/tree.rc: Write index in $outdir
2017-02-25 14:50:33 -08:00
Michael Forney
a0b389e9f3
scripts/tree.rc: Don't clobber repository index
...
The repository index should be preserved if writing directly to the /
repository.
2017-02-10 19:34:52 -08:00
Michael Forney
38d0eb124d
fetch-curl: If not specified use */* as extraction pattern
...
Some pax implementations will fail otherwise if src already exists.
2017-01-03 22:49:57 -08:00
Michael Forney
d29f7e5d53
fetch-curl: Specify -O at the end in case we want to specify an output name
2016-12-29 23:29:18 -08:00
Michael Forney
36c037effc
Allow using /.git as output repository
2016-12-29 23:29:07 -08:00
Michael Forney
92751409f7
Provide mechanism to track library dependencies
...
Now, ar/lib rules can list static libraries or other .d files. These (as well as
the target library) are written to a file called $lib.d. link/exe rules can list
these .d files, causing them to be flattened into an RSP file and appear on the
command line as @$rsp.
The rule to generate the dependency list files depends on the libraries they
contain, so they also act as a stamp file for the dependencies. This gives us
dependency management for free.
2016-10-30 13:44:58 -07:00
Michael Forney
78c4cc0023
Don't list git repository files as outputs
...
This way, ninja -t clean will work as expected.
2016-07-16 14:23:20 -07:00
Michael Forney
51e359b2f8
tzdata: Fix gen.rc to not require contents of source files
...
This also fixes a symlink target calculation bug.
2016-07-04 21:47:29 -07:00
Michael Forney
98f6b74513
fetch-curl: Support specifying a pattern of files to extract
2016-06-28 00:35:03 -07:00
Michael Forney
153ac63e5c
fetch-curl: Match archives more strictly
2016-06-28 00:33:08 -07:00
Michael Forney
698113c957
Don't warn about whitespace errors when applying patches
2016-06-27 23:54:20 -07:00
Michael Forney
f732e53f58
Integrate source fetching into ninja files
2016-06-27 20:30:15 -07:00
Michael Forney
cd95be727e
Add global fetch.rc script
2016-06-07 00:43:30 -07:00