summaryrefslogtreecommitdiff
path: root/src/chroot-tools/librechroot
AgeCommit message (Collapse)Author
2024-03-28update docsbill-auger
2024-02-20fix: Update copyright statementsLuke T. Shumaker
This documents all the contributions of the last few years, based on the Git history.
2019-04-03add volatile bulid support repos to chroot pacman.conf (commented-out)bill-auger
2018-08-29librechroot make: Try harder to avoid inheriting the host's pacman configLuke Shumaker
- `-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/...
2018-08-29Rely on Bash 4.4 empty array behaviorLuke Shumaker
2018-08-26librechroot clean-pkgs: Do the right thing when libretools is installed in ↵Luke Shumaker
the chroot The /bin/chcleanup file that it installs will clash with the package-owned /usr/bin/chcleanup (since /bin is a symlink)
2018-08-15librechroot: Add --noconfirm to install-name, don't expect input.Luke Shumaker
2018-08-15librechroot,libremakepkg: Don't have stdin of nspawn be a TTY if we don't ↵Luke Shumaker
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.
2018-08-15librechroot: Fix typo in a commentLuke Shumaker
2018-08-15librechroot: Remove SYSTEMD-STDIN HACKLuke Shumaker
https://labs.parabola.nu/issues/431
2018-08-07oopsLuke Shumaker
2018-08-07librechroot: Disallow flags overriding other flagsLuke Shumaker
This results in user confusion, like https://labs.parabola.nu/issues/1938
2018-08-06librechroot help: Clarify the usage of -w and -rLuke Shumaker
2018-08-04libremakepkg,chcleanup: Be stricter about network accessv20180804Luke Shumaker
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.
2018-08-03Use Bash 4.4 @Q instead of %qLuke Shumaker
2018-06-02librechroot: Properly clean up temporary pacman.conf fileLuke Shumaker
2018-06-02librechroot: Remove the hack for -any packages differing between archesLuke Shumaker
db-import-pkg now makes sure that that doesn't happen.
2018-03-24librechroot: Add Andreas Grapentin to the copyright statement.Luke Shumaker
This should have been in 314f2c9b1daac8c47d78754569a7310d0b77e22b.
2018-03-20make librechroot target arch agnosticAndreas Grapentin
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]
2018-01-02Change my email address lukeshu@sbcglobal.net -> lukeshu@parabola.nuLuke Shumaker
2018-01-02librechroot: Update binfmt_misc check for qemu-user-static-binfmtLuke Shumaker
2018-01-02librechroot: Add comments about where config changes come fromLuke Shumaker
This has been sitting uncommitted in my checkout for a while. This has been sitting uncommitted in my checkout for a while.
2017-07-08librechroot: Respect the -n flag (fixes test)Luke Shumaker
2017-07-04librechroot: make sure that makepkg.conf is always parsed as textv20170705Luke Shumaker
https://lists.parabola.nu/pipermail/dev/2017-June/005576.html
2017-05-25start moving things to use the libremessages exit codesLuke Shumaker
2017-05-24Merge conf.sh:load_files and conf.sh:check_vars into load_confLuke Shumaker
2017-05-04random tidy upLuke Shumaker
2017-04-20Don't use subshells in local/export/declare commands.Luke Shumaker
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.
2017-04-20Variables inside of $((...)) don't need a $ in front of them.Luke Shumaker
These were found with the help of shellcheck.
2017-04-20Quote unquoted strings that should probably be quoted.Luke Shumaker
These were found with the help of shellcheck. Nothing more complicated than wrapping a variable in double quotes has been done.
2017-04-11librechroot: Update for new sync_chroot usage.Luke Shumaker
I changed how it works in devtools-par.
2017-04-11librechroot: Load makechrootpkg.sh into the main process.Luke Shumaker
makechrootpkg.sh has now been patched to make it ok with `set -euE`.
2017-04-11librechroot: Tidy up.Luke Shumaker
2016-05-23librechroot: give a better error if an invalid -A flag is givenLuke Shumaker
2016-05-11librechroot: Don't use the host CacheDir for ARM chroots on x86 hosts.v20160511Luke Shumaker
2016-05-11librechroot: tidy qemu-arm checkLuke Shumaker
2016-05-10librechroot: Revert running arch-nspawn and mkarchroot in subshells.v20160510Luke Shumaker
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).
2016-05-09librechroot: give a good error message if binfmt_misc isn't configuredLuke Shumaker
2016-05-09librechroot: Support using qemu for ARM builds on x86 via binfmt_misc.Luke Shumaker
2016-05-09librechroot: skip initialization steps when mode=deleteLuke Shumaker
When viewing this diff, you should ignore whitespace change. It just moved an "if" block up a ways.
2016-04-17librechroot: have the -A flag set Architecture in pacman.confLuke Shumaker
2016-04-15librechroot: run mkarchroot in its own mount namespace.Luke Shumaker
Fixes https://labs.parabola.nu/issues/667
2016-04-15Use a better technique for dealing with empty arrays when `set -u`.Luke Shumaker
https://news.ycombinator.com/item?id=11497636
2016-04-15librechroot: librexgettext was getting confusedLuke Shumaker
2016-04-14librechroot: add -A flag to set the architecture.Luke Shumaker
Takes advantage of pacman 5.0.1-2.parabola4 shipping the default config files for all architectures.
2016-04-14librechroot: minor fixupsLuke Shumaker
2015-04-13librechroot help: remove extra whitespaceLuke Shumaker
2015-01-05librechroot: tidy upLuke Shumaker
2015-01-05chroot-tools: Drop support for CHROOTARCHLuke Shumaker
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.
2015-01-04Generate the duplicated code in chcleanupLuke Shumaker