Skip to content

Releases: dex4er/fakechroot

2.20.1

22 Mar 21:15
Compare
Choose a tag to compare
  • Fixed problem when tests couldn't be started with root user and glibc 2.28.
  • Fixed problem with too verbose test for debootstrap(8) command.
  • Fixed problem with tests for fts_* functions when started on btrfs
    filesystem.
  • The debootstrap(8) command honors FAKECHROOT_EXTRA_LIBRARY_PATH
    environment variable too.
  • Workaround has been added for systemd package installed by
    debootstrap(8) command.
  • Better support for link-time optimizer. Run
    ./configure EXTRA_CFLAGS='-Wall -flto' EXTRA_LDFLAGS='-flto' AR=gcc-ar NM=gcc-nm RANLIB=gcc-ranlib
    to use it.

2.20

17 Mar 10:56
Compare
Choose a tag to compare
  • The fts64_* functions were added: glibc supports them since 2.23.
  • The renameat2(2) function were added: glibc supports it since 2.28
    and mv command from coreutils 8.30 uses it.
  • The chroot(8) wrapper and fakechroot(1) command can work with POSIX
    shell.
  • The chroot(8) wrapper allows to chroot into root directory.
  • The chroot(8) wrapper appends directories from
    FAKECHROOT_EXTRA_LIBRARY_PATH environment variable because some commands
    use runpath. The default value is /lib/systemd:/usr/lib/man-db for
    systemctl(1) and man(1) commands.
  • The ldd(1) wrapper doesn't lose a leading slash in absolute paths.
  • The fakechroot(1) command unsets CDPATH environment variable and swaps
    libfakeroot and libfakechroot in LD_PRELOAD environment variable if
    needed.
  • Can be compiled with gcc 7.1 -Wformat-truncation.
  • Can be compiled with clang 5.0 -O2 and -std=c11.

2.19

20 Nov 15:54
Compare
Choose a tag to compare
  • The FAKECHROOT_EXCLUDE_PATH list has to contain at most 100 elements.
  • The env(1) wrapper works with dash.
  • The fakeroot(1) works if chroot(8) is invoked twice.
  • Fixes were made for chdir(2). It was possible to change to a directory
    outside of fakechroot.
  • The fakechroot(1) command sets FAKECHROOT_CMD_ORIG environment variable
    for wrapped command.
  • The ldd(1) wrapper distinguishes different paths with the same beginning.
  • The ldd(1) wrapper does not fail if the path is not existing outside
    fakechroot.
  • Can be compiled with clang 4.0.

2.18

26 Oct 17:32
Compare
Choose a tag to compare
  • The fakechroot(1) command accepts new option --bindir.
  • The chfn(1) command runs correctly on Ubuntu vidid and Debian stretch.
  • The env(1) wrapper works correctly if there is variable with multilined
    content.
  • New functions ldaddr(3) and dl_iterate_phdr(3) were added. The
    dlopen(3) function was fixed. The java(1) command should work correctly.
  • New functions posix_spawn(3) and posix_spawnp(3) were added. Some new
    applications like clang(1) should run properly.
  • Fixes were made for lstat(2) and lstat64(2) functions. The ending
    slash is not removed by normalization of a path name.
  • Fixes were made for readlink(2) function. The fakechroot(1) command runs
    properly with libjemalloc library.
  • The tilde ~ character in FAKECHROOT_* variables is not expanded anymore.
  • Fixes were made for getpeeraddr(3) and getsockaddr(3) functions.

2.17.2

24 Dec 13:36
Compare
Choose a tag to compare
  • Fixes were made for fakechroot(1) command with -h option.
  • The path for function chroot(2) is sanitized so it works correctly when
    path is ended with /.
  • The make -n test was fixed and doesn't call any command.

2.17.1

05 Dec 20:20
Compare
Choose a tag to compare
  • The fakechroot(1) command runs proper wrapper rather than original
    command, if it is listed on FAKECHROOT_CMD_SUBST variable.
  • Fixes were made for chroot(8) wrapper. It scanned /etc/ld.so.conf
    incorrectly and now enters to physical path, avoiding symlinks.
  • The chroot(2) function allows to use more than 2048 bytes for
    LD_LIBRARY_PATH environment variable.

2.17

24 Nov 23:19
Compare
Choose a tag to compare
  • The FAKECHROOT_ELFLOADER environment variable changes the default dynamic
    linker. The fakechroot script provides --elfloader option.
  • The FAKECHROOT_EXCLUDE_PATH environment variable overrides the default
    settings.
  • The ldd(1) wrapper can work if overriden with FAKECHROOT_CMD_SUBST
    environment variable.
  • New env(1) wrapper was added. It preserves fakechroot environment even
    for --ignore-environment option.
  • The special environment none means that no environment settings are loaded
    at all.
  • The function setenv(3) and unsetenv(3) was reimplemented, to prevent
    problems with binaries which brings own implementation of these functions.
  • New function clearenv(3) was added. It preserves fakechroot environment.
  • It is safe to use relative paths which won't escape from fake chroot.
  • Fixes were made for readline(2) function if destination path is similar to
    FAKECHROOT_PATH.
  • Fixes were made for mktemp(3) function if used on a path in
    FAKECHROOT_EXCLUDE_PATHS.
  • The _xftw64(glibc) function is reenabled. It had wrong wrapper.
  • Fixes were made for __realpath_chk(glibc) function when __chk_fail
    function is missing.
  • New functions mkostemp(3), mkostemp64(3), mkostemps(3),
    mkostemps64(3), mkstemps(3) and mkstemps64(3) were implemented.
    It fixes sed -i command.

2.16

24 Dec 13:46
Compare
Choose a tag to compare
  • The fakechroot script loads additional environment settings from
    configuration directory (--config-dir option). By default additional
    settings are provided for chroot(8) and debootstrap(8) commands.
  • Wrapped chroot(8) command loads ld.so.conf paths to LD_LIBRARY_PATH
    environment variable.
  • The debootstrap(8) command works with default, buildd and minbase
    variants.
  • Fixes were made for getpeeraddr(3) and getsockaddr(3) functions.
    lwp-request command is working correctly.

2.15

24 Dec 13:49
Compare
Choose a tag to compare
  • New function faccessat(2) was added. It fixes test -r command.
    Thanks to Johannes Schauer.
  • The popen(3) function were reimplemented based on OpenBSD source to
    prevent some coredumps with newer GNU C Library.

2.14

24 Dec 13:50
Compare
Choose a tag to compare
  • The source code was refactored: all functions was moved to separated files.
  • The opendir(3) function is compiled only if it doesn't call other function
    internally. It fixes opendir(3), fts_open(3) and ftw(3) functions.
  • The fts_*(3) functions were reimplemented based on OpenBSD source.
  • The ftw_*(3) functions were reimplemented based on GNU C Library source.
  • The __opendir2(3) function was reimplemented based on FreeBSD source.
  • Fixes were made for older GNU C Library and for cross-compiling environment.