mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-12 14:25:24 +01:00
Remove the notion of "sys*"
- This idea originates from very early in the project and was, at the
time, a very easy way to categorise things.
- Now, it doesn't really make much sense - it is fairly arbitary, often
occuring when there is a change in kernel, but not from builder-hex0
to fiwix, and sysb is in reality completely unnecessary.
- In short, the sys* stuff is a bit of a mess that makes the project
more difficult to understand.
- This puts everything down into one folder and has a manifest file that
is used to generate the build scripts on the fly rather than using
coded scripts.
- This is created in the "seed" stage.
stage0-posix -- (calls) --> seed -- (generates) --> main steps
Alongside this change there are a variety of other smaller fixups to the
general structure of the live-bootstrap rootfs.
- Creating a rootfs has become much simpler and is defined as code in
go.sh. The new structure, for an about-to-be booted system, is
/
-- /steps (direct copy of steps/)
-- /distfiles (direct copy of distfiles/)
-- all files from seed/*
-- all files from seed/stage0-posix/*
- There is no longer such a thing as /usr/include/musl, this didn't
really make any sense, as musl is the final libc used. Rather, to
separate musl and mes, we have /usr/include/mes, which is much easier
to work with.
- This also makes mes easier to blow away later.
- A few things that weren't properly in packages have been changed;
checksum-transcriber, simple-patch, kexec-fiwix have all been given
fully qualified package names.
- Highly breaking change, scripts now exist in their package directory
but NOT WITH THE packagename.sh. Rather, they use pass1.sh, pass2.sh,
etc. This avoids manual definition of passes.
- Ditto with patches; default directory is patches, but then any patch
series specific to a pass are named patches-passX.
This commit is contained in:
parent
0907cfd073
commit
6ed2e09f3a
546 changed files with 700 additions and 1299 deletions
68
steps/coreutils-5.0/patches/uniq-fopen.patch
Normal file
68
steps/coreutils-5.0/patches/uniq-fopen.patch
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
SPDX-FileCopyrightText: 2005 Paul Eggert <eggert@cs.ucla.edu>
|
||||
SPDX-FileCopyrightText: 2023 Emily Trau <emily@downunderctf.com>
|
||||
|
||||
SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
uniq: don't assume fopen cannot return stdin or stdout.
|
||||
Backport of https://git.savannah.gnu.org/cgit/coreutils.git/commit/?id=786ebb2ceca72f69aa2de701671fb41f53cb1489
|
||||
|
||||
--- src/uniq.c
|
||||
+++ src/uniq.c
|
||||
@@ -30,6 +30,7 @@
|
||||
#include "error.h"
|
||||
#include "hard-locale.h"
|
||||
#include "posixver.h"
|
||||
+#include "stdio-safer.h"
|
||||
#include "xmemcoll.h"
|
||||
#include "xstrtol.h"
|
||||
#include "memcasecmp.h"
|
||||
@@ -267,20 +268,26 @@ check_file (const char *infile, const char *outfile)
|
||||
FILE *ostream;
|
||||
struct linebuffer lb1, lb2;
|
||||
struct linebuffer *thisline, *prevline;
|
||||
+ bool is_stdin = STREQ (infile, "-");
|
||||
+ bool is_stdout = STREQ (outfile, "-");
|
||||
|
||||
- if (STREQ (infile, "-"))
|
||||
+ if (is_stdin)
|
||||
istream = stdin;
|
||||
else
|
||||
- istream = fopen (infile, "r");
|
||||
- if (istream == NULL)
|
||||
- error (EXIT_FAILURE, errno, "%s", infile);
|
||||
+ {
|
||||
+ istream = fopen_safer (infile, "r");
|
||||
+ if (! istream)
|
||||
+ error (EXIT_FAILURE, errno, "%s", infile);
|
||||
+ }
|
||||
|
||||
- if (STREQ (outfile, "-"))
|
||||
+ if (is_stdout)
|
||||
ostream = stdout;
|
||||
else
|
||||
- ostream = fopen (outfile, "w");
|
||||
- if (ostream == NULL)
|
||||
- error (EXIT_FAILURE, errno, "%s", outfile);
|
||||
+ {
|
||||
+ ostream = fopen_safer (outfile, "w");
|
||||
+ if (! ostream)
|
||||
+ error (EXIT_FAILURE, errno, "%s", outfile);
|
||||
+ }
|
||||
|
||||
thisline = &lb1;
|
||||
prevline = &lb2;
|
||||
@@ -377,12 +384,12 @@ check_file (const char *infile, const char *outfile)
|
||||
}
|
||||
|
||||
closefiles:
|
||||
- if (ferror (istream) || fclose (istream) == EOF)
|
||||
+ if (!is_stdin && (ferror (istream) || fclose (istream) != 0))
|
||||
error (EXIT_FAILURE, errno, _("error reading %s"), infile);
|
||||
|
||||
/* Close ostream only if it's not stdout -- the latter is closed
|
||||
via the atexit-invoked close_stdout. */
|
||||
- if (ostream != stdout && (ferror (ostream) || fclose (ostream) == EOF))
|
||||
+ if (!is_stdout && (ferror (ostream) || fclose (ostream) != 0))
|
||||
error (EXIT_FAILURE, errno, _("error writing %s"), outfile);
|
||||
|
||||
free (lb1.buffer);
|
||||
Loading…
Add table
Add a link
Reference in a new issue