Age | Commit message (Collapse) | Author |
|
"What is the alignment of the libremakepkg options section based on?", you
may ask. You'll see in the next commit!
|
|
|
|
This will display the evaluated command line, rather than the cryptic
ssh -fN ${REPODEST_port:+-p "$REPODEST_port"} "${REPODEST_userhost}"
|
|
Its value is configurable in libretools.conf.
I discussed this eventual change in my dbscripts plans on the mailing list.
|
|
- Drop `distcc-tool-idaemon.pid`; we can just check `jobs -p`
- _distcc_start_idaemon() and _distcc_stop_idaemon() are thereby
simplified to the point where they can just be inlined.
- Why did I keep doing `foo & wait`!?
- Don't forget to write DISTCC_HOSTS to makepkg.conf
- There was a typo in makepkg.conf; it said "_discc_start_idaemon"
|
|
I don't know what I was thinking when I wrote it that way.
For one, the "<&0" bit is a no-op. It redirects stdin to be stdin. Maybe
I had meant to write "<&-" and close it?
For two, just write it normally. It's simple enough, don't make it look
like magic.
|
|
- I'm pretty sure the "& trap 'jobs -p | xargs kill' EXIT; wait" bit is
100% superstition.
- Sprinkle `exec` in there to use fewer PIDs
- Don't bother with variables for short constant values, just hard-code
them
- Use `sleep infinity` instead of a dumb socat if we need to sleep
forever without doing anything.
|
|
|
|
This really messed me up while debugging, I don't want to fall for that
again!
|
|
The maximum socket name length is surprising short. So `cd` and use a
short relative path.
|
|
DISRUPTION: This will make the default configuration unsuitable
for packagers whose local username doesn't match their username in
hackers.git. They will need to manually adjust their
`libretools.conf:REPODEST` to have the correct username.
For years, when releasing a package, librerelease has been SSH'ing to a
shared repo@ account.
In the last few months, we've made changes to the server to make it so that
you can use your normal $USER@ account. It has been opt-in by adjusting
your REPODEST appropriately.
For the last month, several developers have opted-in. After a couple of
hiccups resolved in the first few hours, the HOOKPRERELEASE issue (for
users for which the DISRUPTION applies, which the last few commits fixed),
there were no issues.
This has the negative affect
So, change this from opt-in to opt-out. If all goes smoothly, then SSH to
the repo@ account will eventually be disabled.
https://lists.parabola.nu/pipermail/dev/2018-August/006907.html
|
|
~/.config/libretools/libretools.conf is loaded after /etc/libretools.conf
If the file in ~/.config/ changes REPODEST, then the default value of
HOOKPRERELEASE will do the wrong thing.
So, change the double-quotes to single quotes; deferring evaluation of the
REPODEST expression to call-time. This is made possible by the previous
commit, which exposes the REPODEST variable to the hook.
While we're at it, since we now have access to the parsed parts of
REPODEST (like REPODEST_port and REPODEST_userhost), go ahead and use
those, instead of using a gross `sed` expression to parse it in a sloppy
way.
|
|
This should give the hooks read-only access to whatever variables are set.
This includes both the configuration variables (like REPODEST), and local
instance variables (like REPODEST_port).
|
|
|
|
It was installed by `make install`, but not `make install-libretools`.
|
|
- `-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/...
|
|
That file hasn't been created since 646ac025 (2018-08-04).
|
|
|
|
the chroot
The /bin/chcleanup file that it installs will clash with the package-owned
/usr/bin/chcleanup (since /bin is a symlink)
|
|
The librefetch-install program will stick around for a while (1 year;
2019-08-26) so that it can be used from a post_upgrade hook to remove the
old edits, in order to seamlessly migrate people.
https://git.parabola.nu/abslibre.git/commit/?id=73982c5ad7057ce2fdec669d962aec6c9caf28c8
|
|
|
|
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
|
|
|
|
|
|
|
|
- Move a few lines around
- Add comments
- Don't bother checking [[ -n $TEXTDOMAIN ]]/TEXTDOMAINDIR, they're never
set.
- Put the pacman db at "$TEMPDIR/db", not "$TEMPDIR".
- Create a pacman=() variable for storing all of our scratch flags
- Drop the pkglist='' variable; expand it out where used
Altogether, there should be no user-visible changes here
|
|
|
|
I realized that it was missing. While we're at it, organize the defaults
by their "origin".
|
|
This avoids something like a dep on 'systemd-tools' from resolving to
'notsystemd', causing a conflict with 'systemd' in 'base-devel', which
had the 'systemd-tools' dep already filled.
On the downside, this is much slower.
|
|
|
|
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.
|
|
|
|
|
|
|
|
Also, don't parse PKGBUILD ourself; use .SRCINFO to extract
information from the PKGBUILD.
|
|
|
|
|
|
db-import-pkg now makes sure that that doesn't happen.
|
|
libremakepkg defined a cleanup() function, which overrode
common.sh:cleanup(), which meant that common.sh:die() exited with a
'0' status.
|
|
Do this by syncing makepkg_args with makechrootpkg's
default_makepkg_args; recent devtools have makechrootpkg not copy the
keyring in to the chroot.
This incorporates 3 commits from Arch devtools:
7ca4eb82d (2017-05-02): add --holdver
0cbc179d2 (2017-07-13): use long options; `-s`→`--syncdeps`, `-L`→`--log`
75fdff181 (2017-07-13): add --skipinteg
|
|
https://labs.parabola.nu/issues/1186
|
|
|
|
|
|
|
|
|