|Age||Commit message (Collapse)||Author|
- libremessages: `lock_open_write` became `lock`
- libremessages: `lock_open_read` became `slock`
- librechroot: learned the `-r` and `-w` flags to do bind mounts.
The changes to librechroot were pretty straight-forward; the biggest
change is that `archroot` got split into `mkarchroot` and
libremakepkg got a major overhaul Honestly, the changes to
libremakepklg probably could have been a lot smaller, but... I wanted
to do it right/be clean. makechrootpkg in devtools got cleaned up a
lot, actually a lot of the same changes I was making. But, the small
differences between the way we did things made it less than simple to
adjust. The biggest changes in terms of conflict for me are how
devtools now uses bind-mounts to put files in the chroot, and that the
/chrootbuild file is more complicated.
I handled a lot of the complexity by moving things out of the main
program, and adding hooks for non-core functionality, including
chcleanup, distcc compatability hacks, and PKGBUILD/pkg checking.
Unfortunately, the files containing the hooks are currently
hard-coded. Perhaps they will be truly pluggable in the future. That
might be neat. Or over-complicated. We'll see where it goes.
- Don't set LANG=C in common.sh
- Move TEXTDOMAIN stuff into common.sh; so devtools stuff will use it.
- Add _(): Basically an alias for `gettext`, but falls back if gettext is
- Add panic(): First showed up in `distcc-tool`, does what it sounds like.
- Add prose(), bullet(), and flag(): they do word wrapping and such to
make it easy to internationalize `--help` text.
- Teach common.mk how to make .pot files based on these routines.
* install all library files to $(libexecdir)/libretools, instead of
* symlink the executable library files into $(bindir)
* add the tool `librelib`
* instead of ". /path/to/lib.sh", use ". $(librelib lib.sh)"
* mark all libraries with shebangs of what options they support
* move blacklist.sh to libreblacklist
I did this by making the assumption that the files in a directory are
dividable into 2 groups: those that are executable, and those that aren't, and
that all of the files in each group all go in the same folder when
These install directories are configurable per source directory with
$(libre_execdir) and $(libre_datadir)