Age | Commit message (Collapse) | Author |
|
|
|
This documents all the contributions of the last few years, based on
the Git history.
|
|
|
|
- `-A`: Comment out the `Include = /etc/pacman.d/*.conf` line that is
present in the /usr/share/pacman/defaults/ files since pacman
5.1.1-1.parabola4
- Pass --hookdir="$copydir/etc/pacman.d/hooks" to mkarchroot's pacman to
avoid inheriting the host's hooks.
https://bugs.archlinux.org/task/49347
I should maybe add tests for both of those things, but they both rely on
the actual contents of /etc/pacman.d/...
|
|
|
|
the chroot
The /bin/chcleanup file that it installs will clash with the package-owned
/usr/bin/chcleanup (since /bin is a symlink)
|
|
|
|
expect input
If stdin is a TTY, systemd-nspawn will create a proxy PTY, and pump the
data from real stdin through the proxy PTY. Because the PTY acts as a
buffer, that means that it eats stdin, EVEN IF THE PROGRAM DOESN'T ACTUALLY
READ IT. This is surprising to the user.
We can't know if the command to `librechroot run` is going to read from
stdin, but for most uses of librechroot we do know. So, set stdin to
/dev/null for those cases.
|
|
|
|
https://labs.parabola.nu/issues/431
|
|
|
|
This results in user confusion, like https://labs.parabola.nu/issues/1938
|
|
|
|
Objectives:
- Once the source package has been created, never run makepkg with
networking enabled again, so that we can be 100% sure that the source
package has all of the sources that we need.
- Don't let makepkg edit the PKGBUILD (eg. by evaluating pkgver())
User-facing changes:
- libremakepkg now disables networking during prepare()
- libremakepkg no longer runs pkgver()
- chcleanup (and thus `librechroot clean-pkgs`) now also installs packages
Technical description of changes:
- In devtools (and not really in this commit):
* No longer split /chrootprepare off of /chrootbuild. The point of
splitting it was that we'd have prepare() run from /chrootprepare
and the rest later run from /chrootbuild, so that we could leave
networking enabled during prepare() but not the rest. Now that we're
disabling networking during prepare(), that's pointless.
* Have download_sources create a source package (rather than having
/chrootbuild create the source package at the same time that we create
the binary package). We adjust the caller to temporarily set
SRCPKGDEST to a temporary directory, so that we can get the file and
control the filename when we move it in to the real SRCPKGDEST.
- Have chcleanup install the dependencies. If we used the traditional
`makepkg --sync` to install the dependencies, then we'd be breaking the
"no networking for makepkg after source package creation" objective.
chcleanup already has all of the logic necessary to accomplish this.
If there's a discrepancy in chcleanup behavior and makepkg behavior, and
makepkg thinks it needs to install something, then that just means we'll
have to fix the bug in chcleanup, instead of letting it go for more than
a year (*cough* https://labs.parabola.nu/issues/1311 *cough*).
- Use files extracted from the source package (rather than files found in
the current directory) to build the package.
- We mount the temporary directory containing the extracted source package
files read-only, to be sure that makepkg doesn't modify the PKGBUILD.
This is necessary because --holdver only disables pkgver() if it's a VCS
package.
|
|
|
|
|
|
db-import-pkg now makes sure that that doesn't happen.
|
|
This should have been in 314f2c9b1daac8c47d78754569a7310d0b77e22b.
|
|
in the light of my attempts to create a riscv64 parabola port, I would
like to see the following changes made to librechroot.
The patch removes the hard-coded arm cross arch checks in favour of a
more general approach, that works for more architectures. As a side
effect, this now also would behave correctly when creating x86 chroots
on arm, although why anyone would choose to do this is beyond me.
Reviewed-By: Luke Shumaker <lukeshu@parabola.nu>
[LS: Added quotes]
|
|
|
|
|
|
This has been sitting uncommitted in my checkout for a while.
This has been sitting uncommitted in my checkout for a while.
|
|
|
|
https://lists.parabola.nu/pipermail/dev/2017-June/005576.html
|
|
|
|
|
|
|
|
Only make this change in places where it shouldn't make a difference, and
something weird has to be going on for the subshell to fail. This is on
par with checking the return value of malloc. We don't need tests for each
of these failure cases.
|
|
These were found with the help of shellcheck.
|
|
These were found with the help of shellcheck.
Nothing more complicated than wrapping a variable in double quotes has been
done.
|
|
I changed how it works in devtools-par.
|
|
makechrootpkg.sh has now been patched to make it ok with `set -euE`.
|
|
|
|
|
|
|
|
|
|
It screws with the exit status. Instead, take advantage of dynamic scoping
to avoid mutating arch_nspawn_flags (the reason I switched them to
subshells).
|
|
|
|
|
|
When viewing this diff, you should ignore whitespace change. It just moved
an "if" block up a ways.
|
|
|
|
Fixes https://labs.parabola.nu/issues/667
|
|
https://news.ycombinator.com/item?id=11497636
|
|
|
|
Takes advantage of pacman 5.0.1-2.parabola4 shipping the default
config files for all architectures.
|
|
|
|
|
|
|
|
This only existed to work around a compatibility-breaking change in
the Linux kernel. `uname -m` for MIPS-64 little-endian changed from
"mips64el" to "mips64". This meant that all existing packages' CARCH
was no longer == `uname -m`, so we had to de-unify the two, as we
couldn't do `setarch $CARCH`.
I'm removing this kludge because:
- We no longer actively support MIPS.
- Until two commits ago, it didn't work anyway
- We should avoid this on new architectures going forward (ARM,
anyone?)
- It's gross.
|
|
|