2022-06-02 Colin Watson <cjwatson@debian.org> Version: 2.2.2 2022-06-02 Colin Watson <cjwatson@debian.org> Revert use of ProtectHome=true from systemd service I've noticed this sometimes failing at least in LXD containers as follows: Failed to set up mount namespacing: /run/systemd/unit-root/run/user: Permission denied Failed at step NAMESPACE spawning /usr/sbin/update-binfmts: Permission denied Since this isn't a long-running service, we can afford to forgo this particular piece of hardening in the name of robustness. * init/systemd/binfmt-support.service.in: Remove `ProtectHome=true`. 2022-06-02 Colin Watson <cjwatson@debian.org> Add NEWS entry for previous commit 2022-06-02 Michael Biebl <biebl@debian.org> Run binfmt-support.service after systemd-binfmt.service This fixes a race condition during boot when both services try to access /proc/sys/fs/binfmt_misc/register at the same time which can lead to the following error: systemd[1]: Starting Enable support for additional executable binary formats... update-binfmts[536]: update-binfmts: warning: unable to close /proc/sys/fs/binfmt_misc/register: File exists update-binfmts[536]: update-binfmts: warning: unable to close /proc/sys/fs/binfmt_misc/register: File exists update-binfmts[536]: update-binfmts: warning: unable to close /proc/sys/fs/binfmt_misc/register: File exists update-binfmts[536]: update-binfmts: exiting due to previous errors systemd[1]: binfmt-support.service: Main process exited, code=exited, status=2/INVALIDARGUMENT systemd[1]: binfmt-support.service: Failed with result 'exit-code'. systemd[1]: Failed to start Enable support for additional executable binary formats. Fixes Debian bug #1012154. 2022-04-23 Colin Watson <cjwatson@debian.org> gitlab-ci: Run tests with VERBOSE=1 This makes it easier to diagnose test failures. * .gitlab-ci.yml (build-distcheck:script, build-out-of-tree:script): Set VERBOSE=1. 2022-04-23 Colin Watson <cjwatson@debian.org> Update pre-commit hooks * .pre-commit-config.yaml (pre-commit-hooks): Update to v4.2.0. (black): Update to 22.3.0. (pyupgrade): Update to v2.32.0. 2022-03-08 Colin Watson <cjwatson@debian.org> pre-commit: Add shellcheck * .pre-commit-config.yaml: Add shellcheck. * .shellcheckrc: New file. 2022-03-08 Colin Watson <cjwatson@debian.org> tests: Add a few shellcheck directives * src/tests/detectors, src/tests/display, src/tests/enable, src/tests/find, src/tests/import, src/tests/install: Add `shellcheck source-path=SCRIPTDIR` directive before sourcing testlib.sh. * src/tests/detectors: Disable SC2154; `pkglibexecdir` is always set by the test runner. * src/tests/testlib.sh: Tell shellcheck which shell syntax to assume, since this file has no `#!` line. (fake_proc): Disable SC2154; `srcdir` is always set by the test files that include this library. 2022-03-08 Colin Watson <cjwatson@debian.org> tests: Improve quoting * src/tests/detectors, src/tests/display, src/tests/enable, src/tests/find, src/tests/import, src/tests/install, src/tests/testlib.sh: Use ': "${var=default}"' idiom to assign default values rather than ': ${var=default}', pacifying shellcheck. 2022-03-08 Colin Watson <cjwatson@debian.org> tests: Make pass/fail reporting more shellcheck-friendly * src/tests/detectors, src/tests/display, src/tests/enable, src/tests/find, src/tests/import, src/tests/install: Refactor to use report function rather than expect_pass. * src/tests/testlib.sh (expect_pass): Remove. 2022-03-08 Colin Watson <cjwatson@debian.org> tests: Add an expect_files_equal helper function * src/tests/testlib.sh (report): New function, similar to expect_pass but taking an exit code rather than a command string to evaluate. (expect_pass): Refactor using report function. (expect_files_equal): New function. * src/tests/detectors, src/tests/display, src/tests/enable, src/tests/find, src/tests/import, src/tests/install: Use expect_files_equal instead of the equivalent expect_pass construction. 2022-03-06 Colin Watson <cjwatson@debian.org> Add some hardening options to the systemd service * init/systemd/binfmt-support.service.in: Add some hardening options. (This may produce warnings with `systemd < 244`.) * NEWS.md: Document this. 2022-01-16 Colin Watson <cjwatson@debian.org> Update to Gnulib 20220116 * bootstrap: Sync to Gnulib 1eae0f7ea3c220d054025f2c9211700665f9f4a0. * bootstrap.conf (GNULIB_REVISION): Set to 1eae0f7ea3c220d054025f2c9211700665f9f4a0. 2022-01-16 Colin Watson <cjwatson@debian.org> Update pre-commit hooks * .pre-commit-config.yaml (pre-commit-hooks): Update to v4.1.0. (black): Update to 21.12b0. (pyupgrade): Update to v2.31.0. (flake8): Update to 5.10.1. 2022-01-03 Colin Watson <cjwatson@debian.org> Remove release.sh GitLab CI handles building releases now. * release.sh: Remove. * Makefile.am (EXTRA_DIST): Remove release.sh. 2022-01-03 Colin Watson <cjwatson@debian.org> Add release automation When a tag is pushed to GitLab, upload the bootstrapped source tarball to the package registry, and create a release in GitLab associated with the tag. * .gitlab-ci.yml (stages): Remove test, since it had no jobs. Add upload and release. (upload, release): New jobs. 2022-01-03 Colin Watson <cjwatson@debian.org> Reformat release notes as Markdown * NEWS: Move to ... * NEWS.md: ... here. Reformat as Markdown. 2022-01-02 Colin Watson <cjwatson@debian.org> Enable many more GCC warnings * bootstrap.conf (gnulib_modules): Add manywarnings. * configure.ac: Add gl_MANYWARN_ALL_GCC, with some refinements to disable -Wsystem-headers and -Wmissing-field-initializers. (--enable-gcc-warnings): New option, based on code in coreutils. Use this to enable -fanalyzer only if --enable-gcc-warnings=expensive is used; it's useful but slow. 2022-01-02 Colin Watson <cjwatson@debian.org> Update to Gnulib 20211231 * bootstrap: Sync to Gnulib 14db2b71b5bd05b94ec6126617fd32cd5f1016cd. * bootstrap.conf (GNULIB_REVISION): Set to 14db2b71b5bd05b94ec6126617fd32cd5f1016cd. 2022-01-02 Colin Watson <cjwatson@debian.org> Add build-distcheck CI artifact This should eventually allow publishing release tarballs built by a CI process rather than on my laptop. * .gitlab-ci.yml (variables): Set GIT_DEPTH to 0; we need full history in order to build the ChangeLog file. (build-distcheck:before_script): Add git, needed by gitlog-to-changelog. (build-distcheck:artifacts): Add bootstrapped/*.tar.gz. 2021-11-28 Colin Watson <cjwatson@debian.org> Fix pre-commit CI * .gitlab-ci.yml (bootstrap): Install git. 2021-11-28 Colin Watson <cjwatson@debian.org> Run pre-commit in GitLab CI * .gitlab-ci.yml (stages): Add bootstrap. (pre-commit): New job. (bootstrap): Move to bootstrap stage. 2021-11-17 Colin Watson <cjwatson@debian.org> Apply pyupgrade (no-op) * .pre-commit-config.yaml: Add pyupgrade. 2021-11-08 Colin Watson <cjwatson@debian.org> Ignore the "black" commit for "git blame" Developers should apply the following config setting: git config blame.ignoreRevsFile .git-blame-ignore-revs * .git-blame-ignore-revs: New file. 2021-11-08 Colin Watson <cjwatson@debian.org> Apply black code formatter for Python * .pre-commit-config.yaml: Add black, flake8, and isort. * .flake8: New file. * src/tests/pyproject.toml: New file. * src/tests/binfmt_misc.py: Reformat using black. 2021-11-08 Colin Watson <cjwatson@debian.org> Update pre-commit-hooks * .pre-commit-config.yaml: Update pre-commit-hooks to v4.0.1. (trailing-whitespace): Exclude src/mp.h. 2021-11-08 Colin Watson <cjwatson@debian.org> Reduce indentation depth using C99 * src/update-binfmts.c (parse_opt): Move declaration of "p" to the initialization clause of its "for" statement, allowing us to remove an enclosing block and associated indentation level. 2021-11-08 Colin Watson <cjwatson@debian.org> Document C99 compiler requirement The use of MPP_DECLARE in src/glcontainers.h needs this. While I've historically tried to stick to C89, that's probably too picky: it should be easy to find a C99 compiler for any system that can run binfmt-support. * README.md (Installation): Document C99 compiler requirement. 2021-11-08 Colin Watson <cjwatson@debian.org> Inform build system about mp.h * src/Makefile.am (COMMON): Add mp.h. 2021-11-08 Colin Watson <cjwatson@debian.org> Remove superfluous blank line 2021-11-08 Colin Watson <cjwatson@debian.org> Simplify interface to container iterator macros The Gnulib container iterator macros (GL_LIST_FOREACH_* and GL_OMAP_FOREACH_*) have to run code both before and after a chunk of user-supplied code. This previously required a START/END macro pair used something like this: GL_LIST_FOREACH_START (formats, binfmt) { ... } GL_LIST_FOREACH_END (formats); This doesn't look natural in C, and so it was easy to get it wrong. It's possible to do better, at the cost of some tricky macros. Fortunately, Simon Tatham has already done the hard work in https://www.chiark.greenend.org.uk/~sgtatham/mp/, and the necessary header file is MIT-licensed, so we can incorporate it. Now these iterator macros are used more like this, which is a much more natural C style: GL_LIST_FOREACH (formats, binfmt) { ... } * src/mp.h: New file. * src/glcontainers.h (GL_LIST_FOREACH_START, GL_LIST_FOREACH_END): Rewrite as ... (GL_LIST_FOREACH): ... this. (GL_OMAP_FOREACH_START, GL_OMAP_FOREACH_END): Rewrite as ... (GL_OMAP_FOREACH): ... this. * src/find.c (find_interpreters): Update uses of iterator macros. * src/run-detectors.c (main): Likewise. * src/update-binfmts.c (act_enable, act_disable, act_display, act_find): Likewise. 2021-11-08 Colin Watson <cjwatson@debian.org> Fix tests to work with Python 3 I attempted to do this in 505cdc5630 way back in 2012, but didn't get it quite right. * src/tests/binfmt_misc.py: Set #! to /usr/bin/python3, since that's more likely to exist nowadays. (create_entry): Return bytes. (write): Decode buffer before trying to parse it. * NEWS: Document this. * .gitlab-ci.yml (build-distcheck, build-out-of-tree): Install python3-fuse so that the tests run. (build-out-of-tree): Run "make" before "make check". 2021-11-08 Colin Watson <cjwatson@debian.org> Generate better git diffs for Python files * .gitattributes: Set "diff=python" for *.py files. 2021-11-08 Colin Watson <cjwatson@debian.org> Introduce pre-commit * .pre-commit-config.yaml: New file. 2021-11-08 Colin Watson <cjwatson@debian.org> Update remaining HTTP URLs to HTTPS * COPYING: Update from current contents of https://www.gnu.org/licenses/gpl-3.0.txt (no substantive licensing changes, only updated URLs). 2021-11-08 Colin Watson <cjwatson@debian.org> Upgrade to Gnulib 20211103 In line with Gnulib, we now require Autoconf 2.64. * bootstrap: Sync to Gnulib d902ad1b7507776bd16fa48d605fb9e2109bda16. * bootstrap.conf (GNULIB_REVISION): Set to d902ad1b7507776bd16fa48d605fb9e2109bda16. (buildreq): Bump required autoconf version to 2.64. * configure.ac (AC_PREREQ): Bump to 2.64. * NEWS: Document this. 2021-11-08 Colin Watson <cjwatson@debian.org> NEWS: Document move to GitLab 2021-11-08 Colin Watson <cjwatson@debian.org> Add a brief README * README.md: New file. 2021-11-08 Colin Watson <cjwatson@debian.org> Add .gitlab-ci.yml 2021-09-19 Colin Watson <cjwatson@debian.org> Update some obsolete Autoconf macros * configure.ac: Replace AC_GNU_SOURCE and AC_ISC_POSIX with AC_USE_SYSTEM_EXTENSIONS. Replace AC_CONFIG_HEADER with AC_CONFIG_HEADERS. 2020-04-17 Colin Watson <cjwatson@debian.org> Version: 2.2.1 NEWS: Document changes for 2.2.1 2020-04-17 Colin Watson <cjwatson@debian.org> Fix build with gcc -fno-common Fixes Debian bug #957038. * src/paths.h (admindir, importdir, procdir, auxdir): Declare as extern. 2020-01-01 Colin Watson <cjwatson@debian.org> Ensure that standard I/O streams are open Otherwise behaviour is undefined if somebody (unwisely) closes them before calling us. * bootstrap.conf (gnulib_modules): Add xstdopen. * src/update-binfmts.c (main): Call xstdopen. 2019-12-27 Colin Watson <cjwatson@debian.org> Replace kvhash with gl_map/gl_omap A list was a clumsy implementation of this; a map is more appropriate. * bootstrap.conf (gnulib_modules): Add hash-map, hash-pjw-bare, rbtree-omap, stdbool, xmap, and xomap; remove rbtreehash-list. * src/glcontainers.c: New file. * src/glcontainers.h (string_equals, string_hash, plain_free, new_string_map, new_string_omap, map_contains, omap_contains): Add prototypes. (GL_OMAP_FOREACH_START, GL_OMAP_FOREACH_END): New macros. * src/format.c (binfmt_new): Take a map rather than a list. (kvhash_dispose_binfmt): Remove. * src/format.h (binfmt_new): Update prototype. (kvhash_dispose_binfmt): Remove prototype. * src/update-binfmts.c (formats): Declare as a map rather than a list. (get_import, load_format, act_enable, act_disable, act_install, act_remove, act_import, act_unimport, act_display, main): Update to the map API. (act_import, act_unimport): Free import before returning. * src/kvhash.c, src/kvhash.h: Remove. * src/Makefile.am (COMMON): Add glcontainers.c; remove kvhash.c and kvhash.h. 2019-11-18 Helmut Grohne <helmut.grohne@intenta.de> Fix wrongly-documented "fix_binary" format entry The manual page says: | The magic, offset, mask, extension, detector, credentials, preserve, and | fix-binary options correspond to the command-line options of the same | names. However, the code parses "fix_binary" rather than "fix-binary". Use of "fix-binary" is silently ignored. Fixes Debian bug #945020. * man/update-binfmts.man8 (FORMAT FILES): Correct spelling of "fix_binary" option. 2019-02-10 Colin Watson <cjwatson@debian.org> Use macros for common cases of list iteration * src/glcontainers.h: New file. * src/Makefile.am (COMMON): Add glcontainers.h. * src/find.c (find_interpreters): Replace manual list iteration with equivalent macros. * src/run-detectors.c (main): Likewise. * src/update-binfmts.c (act_enable, act_disable, act_display): Likewise. 2019-01-24 Colin Watson <cjwatson@debian.org> Version: 2.2.0 Update to Gnulib 20190124 2019-01-13 Colin Watson <cjwatson@debian.org> Warn about fix-binary/detectors incompatibility "--fix-binary yes" is incompatible with detectors. Warn the user if they try to use both at once. Thanks to Stefan Agner; fixes Debian bug #918901. * src/update-binfmts.c (act_enable): Warn and return if a detector is needed and the fix-binary flag is set. * man/update-binfmts.man8 (BINARY FORMAT SPECIFICATIONS): Document the incompatibility. * NEWS: Document this. 2019-01-13 Colin Watson <cjwatson@debian.org> Avoid cleanup problems in chroots Don't enable formats on import or disable them on unimport unless /proc/sys/fs/binfmt_misc is already mounted. Fixes Debian bug #847788 and Ubuntu bug #534211. * src/update-binfmts.c (is_enabled): New function. (load_binfmt_misc): Use is_enabled rather than equivalent code. (act_install): Add always_update_kernel argument. Only enable/disable if always_update_kernel or if binfmt_misc is already enabled. (act_remove): Add always_update_kernel argument. Only disable if always_update_kernel or if binfmt_misc is already enabled. (act_import, act_unimport, main): Adjust calls to act_install and act_remove. * NEWS: Document this. 2019-01-13 Colin Watson <cjwatson@debian.org> Add a new --unimport action This is the inverse of --import. * src/update-binfmts.c (act_unimport): New function. (enum opts, options, mode_name, parse_opt, argp, main): Handle --unimport. * src/tests/import: Test --unimport. * man/update-binfmts.man8 (SYNOPSIS): Add --unimport. (COMMON OPTIONS): Mention --unimport in description of --package. (ACTIONS): Document --unimport. * NEWS: Document this. 2019-01-05 Colin Watson <cjwatson@debian.org> Upgrade to Gnulib 20190105 In line with Gnulib, we now require Autoconf 2.63. * bootstrap: Sync to Gnulib d271f868a8df9bbec29049d01e056481b7a1a263. * bootstrap.conf (GNULIB_REVISION): Set to d271f868a8df9bbec29049d01e056481b7a1a263. (buildreq): Bump required autoconf version to 2.63. * configure.ac (AM_SILENT_RULES): Remove conditional, which was there for Automake 1.10 support. (AC_PREREQ): Bump to 2.63. * NEWS: Document this. 2019-01-05 Colin Watson <cjwatson@debian.org> Add release.sh script * release.sh: New file. * Makefile.am (EXTRA_DIST): Add release.sh. 2019-01-05 Colin Watson <cjwatson@debian.org> Use tar --sort=name if available * m4/binfmt-tar-sort-name.m4: New file. * configure.ac: Call BINFMT_TAR_SORT_NAME. * Makefile.am (ACLOCAL_AMFLAGS): Add -I m4. 2019-01-04 Colin Watson <cjwatson@debian.org> Sort formats by name in --display The easiest way to do this was to recast kvhash as a wrapper around a gl_list_t (specifically a red-black tree hash) rather than a Hash_table. * bootstrap.conf (gnulib_modules): Remove hash; add rbtreehash-list. * src/kvhash.c (kvhash_hasher): Rename to ... (kvhash_hashcode): ... this, make static, and replace the hash implementation with one from Gnulib. (kvhash_compare): New function. (kvhash_comparator): Rename to ... (kvhash_equals): ... this, make static, and reimplement using kvhash_compare. (kvhash_dispose, kvhash_dispose_plain): New functions. (kvhash_initialize, kvhash_exists, kvhash_lookup, kvhash_insert, kvhash_delete): Use a list rather than a hash. * src/kvhash.h (kvhash_hasher, kvhash_comparator): Remove prototypes. (kvhash_dispose, kvhash_dispose_plain): Add prototypes. (kvhash_initialize, kvhash_exists, kvhash_lookup, kvhash_insert, kvhash_delete): Update prototypes. * src/format.c (binfmt_new): Take a list rather than a hash table. (binfmt_hash_free): Rename to ... (kvhash_dispose_binfmt): ... this, and update to the list API. * src/format.h (binfmt_new): Update prototype. (binfmt_hash_free): Rename to ... (kvhash_dispose_binfmt): ... this, and update prototype. * src/update-binfmts.c (formats): Declare as a list rather than a hash table. (get_import, act_enable, act_disable, act_import, act_display, main): Update to the list API. * NEWS: Document this. 2018-12-24 Colin Watson <cjwatson@debian.org> More (void *) 0 as variadic sentinel * src/find.c (find_interpreters): Use (void *) rather than NULL as a sentinel for variadic functions. 2018-12-24 Colin Watson <cjwatson@debian.org> Use (void *) 0 as a variadic sentinel NULL is formally incorrect here since the standard allows it to be an integer constant expression. * src/update-binfmts.c (rename_mv, load_binfmt_misc, unload_binfmt_misc): Use (void *) rather than NULL as a sentinel for variadic functions. 2018-12-24 Colin Watson <cjwatson@debian.org> Tidy up and document removal of procfs support * src/update-binfmts.c (unload_binfmt_misc): Move declarations to top of function. Remove obsolete comment. * NEWS: Document removal of procfs support. 2018-12-24 Bastian Blank <waldi@debian.org> Remove ancient unused procfs support * src/update-binfmts.c (enum binfmt_style, get_binfmt_style): Remove. (load_binfmt_misc, unload_binfmt_misc): Remove procfs case. 2018-05-29 Colin Watson <cjwatson@debian.org> Avoid gl directory confusion * bootstrap.conf (local_gl_dir): Set to 'gnulib-local'. 2018-05-28 Colin Watson <cjwatson@debian.org> Upgrade to Gnulib 20180527 * bootstrap.conf (GNULIB_URL): Remove. (GNULIB_REVISION): Set to 90f289f249a266b1afb9c63e182f5d979d17df5f. (gnulib_extra_files): Remove. (This has the effect of reverting to bootstrap's default of also copying some files in build-aux/ from Gnulib.) 2018-05-28 Colin Watson <cjwatson@debian.org> Switch to bootstrap We no longer keep autogenerated files in git. * .gitignore: Add **/Makefile, **/Makefile.in, /INSTALL, /aclocal.m4, /build-aux, /config.h.in, /configure, /gl, and /gnulib. Remove doc/Makefile, gnulib/*, init/Makefile, init/openrc/Makefile, init/systemd/Makefile, init/sysvinit/Makefile, init/upstart/Makefile, man/Makefile, src/Makefile, and src/tests/Makefile. * INSTALL, Makefile.in, aclocal.m4, autogen.sh, build-aux, config.h.in, configure, doc/Makefile.in, gnulib, init/Makefile.in, init/openrc/Makefile.in, init/systemd/Makefile.in, init/sysvinit/Makefile.in, init/upstart/Makefile.in, man/Makefile.in, src/Makefile.in, src/tests/Makefile.in: Remove. * bootstrap, bootstrap.conf: New files. * Makefile.am (SUBDIRS, EXTRA_DIST, ACLOCAL_AMFLAGS): Refer to gl/ rather than gnulib/ (gnulib/ now contains pristine source). (EXTRA_DIST): Replace autogen.sh with bootstrap and bootstrap.conf. Remove gnulib/m4/gnulib-cache.m4 and gnulib/m4/gnulib-tool.m4. * configure.ac (AC_CONFIG_FILES): Refer to gl/ rather than gnulib/. * src/Makefile.am (AM_CPPFLAGS, LIBGNU): Likewise. 2017-08-22 Colin Watson <cjwatson@debian.org> Version: 2.1.8. 2017-08-22 Colin Watson <cjwatson@debian.org> Add --disable-{upstart,systemd} configure options * configure.ac: Add --disable-upstart and --disable-systemd options. * init/upstart/Makefile.am: Don't install job if --disable-upstart is used. * init/systemd/Makefile.am: Don't install unit if --disable-systemd is used. * NEWS: Document this. 2017-07-09 Colin Watson <cjwatson@debian.org> Version: 2.1.7. 2017-07-09 Dan Nicholson <nicholson@endlessm.com> Add support for fix-binary flag Recent kernels provide a binfmt flag F referred to as fix binary[1]. This flag instructs the kernel to open the interpreter immediately and use always use the opened image. This has a big advantage in containers or chroots where the interpreter may not exist at the specified path. A primary use case would be for a static linked QEMU user emulator where an architecture can be emulated in a container or chroot without any alterations so long as the binfmt configuration is handled on the host. 1. https://www.kernel.org/doc/html/latest/admin-guide/binfmt-misc.html 2017-07-09 Colin Watson <cjwatson@debian.org> Various build system upgrades Upgrade to Automake 1.15.1, config.guess 2016-10-02, and config.sub 2016-11-04. 2016-02-21 Colin Watson <cjwatson@debian.org> Version: 2.1.6. 2016-02-21 Colin Watson <cjwatson@debian.org> Various build system upgrades Upgrade to Autoconf 2.69-9 (from Debian), config.guess 2015-08-20, config.sub 2015-08-20, and pkg-config 0.29. 2016-02-21 Colin Watson <cjwatson@debian.org> Implement a stop action for the systemd service * init/systemd/binfmt-support.service.in: Implement ExecStop, but with manual dependencies so that the service doesn't need to be (unnecessarily) stopped on shutdown. Thanks to Michael Biebl; fixes Debian bug #739085. * NEWS: Document this. 2016-02-21 Raphaƫl Hertzog <hertzog@debian.org> Always install DB entry even if /proc entry exists * src/update-binfmts.c (act_install): Remove test for existing /proc entry, superseded by test in act_enable. Fixes Debian bug #750245. * NEWS: Document this. 2015-08-06 Colin Watson <cjwatson@debian.org> Upgrade to Automake 1.15 and config.sub 2014-09-11. 2014-08-24 Colin Watson <cjwatson@debian.org> Version: 2.1.5. Upgrade to Gettext 0.19.2. 2014-08-19 Colin Watson <cjwatson@debian.org> Update to config.guess 2014-03-23 and config.sub 2014-05-01. 2014-08-18 Riku Voipio <riku.voipio@linaro.org> Add support for preserve-argv0 flag Qemu will start requiring setting P in binfmt_misc flags [P]. Unfortunately update-binfmts doesn't just pass flags section as-is. The only supported flag so far is credentials, which is supported via --credentials command line flag. I've implemented a similar --preserve flag in this commit. This commit (or something similar) needs to land to Debian before qemu 2.2 can be uploaded. [P] https://www.kernel.org/doc/Documentation/binfmt_misc.txt 2014-03-30 Colin Watson <cjwatson@debian.org> Version: 2.1.4. Upgrade to Automake 1:1.14.1-3 (from Debian). 2014-03-30 Cameron Norman <camerontnorman@gmail.com> upstart: do not act as a task * init/upstart/binfmt-support.conf.in: Make the job a service with pre-start and post-stop stanzas rather than a task, as a task with a corresponding init script prevents startpar from continuing the boot sequence past that init script (because the job is considered "stopped"). * NEWS: Document this. 2014-03-06 Colin Watson <cjwatson@debian.org> Fix --disable-sysvinit and --disable-openrc configure options * configure.ac: Check whether $enable_sysvinit and $enable_openrc are set to "yes", not merely whether they are set at all. * NEWS: Document this. 2014-02-20 Colin Watson <cjwatson@debian.org> Fix test suite when libexecdir is not /usr/lib * src/tests/Makefile.am (TESTS_ENVIRONMENT): Export pkglibexecdir to tests. * src/tests/detectors: Expect interpreter to be set to $pkglibexecdir/run-detectors rather than /usr/lib/binfmt-support/run-detectors. * NEWS: Document this. 2014-02-20 Colin Watson <cjwatson@debian.org> * .gitignore: Add src/tests/*.log and src/tests/*.trs. 2014-02-20 Colin Watson <cjwatson@debian.org> Move Autotools auxiliary build files from tools to build-aux. "build-aux" is a more conventional location for the Autotools files. 2014-02-18 Colin Watson <cjwatson@debian.org> Upgrade to Gnulib 20140202. 2014-02-08 Colin Watson <cjwatson@debian.org> Version: 2.1.3. * init/openrc/binfmt-support.in: Check uname in stop as well. 2014-02-08 Colin Watson <cjwatson@debian.org> Fix reversed logic in OpenRC script * init/openrc/binfmt-support.in (start): Fix reversed uname check. * NEWS: Document this. 2014-02-07 Colin Watson <cjwatson@debian.org> Version: 2.1.2. 2014-02-07 Colin Watson <cjwatson@debian.org> Add --enable-sysvinit and --enable-openrc configure options * configure.ac: Add --enable-sysvinit and --enable-openrc options. Check that at most one of these is used. * init/openrc/Makefile.am: Install script if --enable-openrc is used. * init/sysvinit/Makefile.am: Install script if --enable-sysvinit is used. * NEWS: Document this. 2014-02-07 Colin Watson <cjwatson@debian.org> Remove unnecessary file extension * init/sysvinit/Makefile.am (EXTRA_DIST, CLEANFILES, noinst_SCRIPTS, binfmt-support): Remove ".sh" extension. * init/sysvinit/binfmt-support.sh.in: Rename to ... * init/sysvinit/binfmt-support.in: ... this. * .gitignore: Ignore init/sysvinit/binfmt-support rather than init/sysvinit/binfmt-support.sh. 2014-02-07 Colin Watson <cjwatson@debian.org> Add OpenRC support * configure.ac (AC_CONFIG_FILES): Add init/openrc/Makefile. * init/Makefile.am (SUBDIRS): Add openrc. * init/openrc/Makefile.am: New file. * init/openrc/binfmt-support.in: New file. * .gitignore: Add init/openrc/Makefile and init/openrc/binfmt-support. * NEWS: Document this. 2014-02-07 Colin Watson <cjwatson@debian.org> Embed full path to update-binfmts into init files * init/sysvinit/binfmt-support.sh: Rename to ... * init/sysvinit/binfmt-support.sh.in: ... this, substituting @sbindir@ and removing PATH setting. * init/sysvinit/Makefile.am (EXTRA_DIST): Distribute binfmt-support.sh.in. (CLEANFILES): Clean binfmt-support.sh. (dist_noinst_SCRIPTS): Rename to ... (noinst_SCRIPTS): ... this. (binfmt-support.sh): Generate from binfmt-support.sh.in. * init/upstart/binfmt-support.conf: Rename to ... * init/upstart/binfmt-support.conf.in: ... this, substituting @sbindir@. * init/upstart/Makefile.am (EXTRA_DIST): Distribute binfmt-support.conf.in. (CLEANFILES): Clean binfmt-support.conf. (dist_upstart_DATA): Rename to ... (upstart_DATA): ... this. (binfmt-support.conf): Generate from binfmt-support.conf.in. * .gitignore: Add init/sysvinit/binfmt-support.sh and init/upstart/binfmt-support.conf. * NEWS: Document this. 2014-02-07 Colin Watson <cjwatson@debian.org> Ensure all necessary directories exist after installation * configure.ac: Add AC_PROG_MKDIR_P. * src/Makefile.am (install-data-hook): Create $(admindir) and $(importdir). * NEWS: Document this. 2014-02-07 Colin Watson <cjwatson@debian.org> Stop hardcoding Debian defaults for various directories * configure.ac: Substitute admindir, importdir, and procdir. * man/update-binfmts.8: Rename to ... * man/update-binfmts.man8: ... this, without hardcoding directories. * man/Makefile.am (dist_man8_MANS): Rename to ... (man8_MANS): ... this. (CLEANFILES): Clean $(man8_MANS). (.man8.8): Generate manual page with appropriate substitutions. (dist-hook): Distribute update-binfmts.man8. * src/Makefile.am (AM_CPPFLAGS): Define ADMINDIR, IMPORTDIR, PROCDIR, and AUXDIR. * src/paths.c (admindir, importdir, procdir, auxdir): Use definitions rather than hardcoding. * src/run-detectors.c (options): Likewise. * src/update-binfmts.c (options): Likewise. * .gitignore: Add man/update-binfmts.8. * NEWS: Document this. 2014-02-06 Colin Watson <cjwatson@debian.org> Upgrade to Automake 1.14.1. 2013-12-29 Colin Watson <cjwatson@debian.org> Version: 2.1.1. 2013-12-29 Colin Watson <cjwatson@debian.org> Fix installation of systemd unit files. * configure.ac (AC_CONFIG_FILES): Remove init/systemd/binfmt-support.service. * init/systemd/Makefile.am (EXTRA_DIST): Add binfmt-support.service.in. (CLEANFILES): Add binfmt-support.service. (systemdsystemunit_DATA): Rename to ... (nodist_systemdsystemunit_DATA): ... this. (binfmt-support.service): Generate from binfmt-support.service.in. * NEWS: Document this. 2013-12-29 Colin Watson <cjwatson@debian.org> * configure.ac: Fix --with-systemdsystemunitdir. * .gitignore: Add **/*.a and **/*.o. Version: 2.1.0. * Makefile.am (gen_start_date): Fix fencepost error. 2013-12-29 Colin Watson <cjwatson@debian.org> Add a systemd unit file. * configure.ac: Add --with-systemdsystemunitdir option. (AC_CONFIG_FILES): Add init/systemd/Makefile and init/systemd/binfmt-support.service. * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): Ensure that --with-systemdsystemunitdir points under ${prefix}. * init/Makefile.am (SUBDIRS): Add systemd. * init/systemd/Makefile.am: New file. * init/systemd/binfmt-support.service.in: New file. * NEWS: Document this. * .gitignore: Update. 2013-12-29 Colin Watson <cjwatson@debian.org> Add copyright/licence notices to init files. * .gitignore: Remove Debian-specific files. * NEWS: New file. 2013-12-29 Colin Watson <cjwatson@debian.org> Add sample init configuration. * Makefile.am (SUBDIRS): Add init. * configure.ac (AC_CONFIG_FILES): Add init/Makefile, init/sysvinit/Makefile, and init/upstart/Makefile. * init/Makefile.am: New file. * init/sysvinit/Makefile.am: New file. * init/sysvinit/binfmt-support.sh: New file, stripped down from debian/init.d in the Debian packaging. * init/upstart/Makefile.am: New file. * init/upstart/binfmt-support.conf: New file, copied from debian/upstart in the Debian packaging. 2013-12-29 Colin Watson <cjwatson@debian.org> gnulib: Import gnupload module. 2013-12-29 Colin Watson <cjwatson@debian.org> Improve accuracy of "make dist". * Makefile.am (SUBDIRS): Add doc. (EXTRA_DIST): Add gnulib/m4/math_h.m4. * configure.ac (AC_CONFIG_FILES): Add doc/Makefile. * doc/Makefile.am: New file. 2013-12-29 Colin Watson <cjwatson@debian.org> Stop trying to distribute non-existent files. * Makefile.am (EXTRA_DIST): Remove gnulib/gets.patch and gnulib/lib/argp-parse.patch. 2013-12-29 Colin Watson <cjwatson@debian.org> Automatically generate ChangeLog from git * Makefile.am (dist-hook): Add gen-ChangeLog. (gen-ChangeLog): New rule, based on that in coreutils. * gnulib: Import gitlog-to-changelog module. * .gitignore: Add **/*~. 2013-12-29 Colin Watson <cjwatson@debian.org> Remove Debian packaging. * debian/changelog: Copy to ... * ChangeLog-2013: ... here. * Makefile.am (EXTRA_DIST): Add ChangeLog-2013. * configure.ac (AC_INIT): Stop autogenerating version from debian/changelog. Bump to 2.1.0. 2013-12-29 Colin Watson <cjwatson@debian.org> Move to git. * .bzrignore: Move to ... * .gitignore: ... here, adjusting for differences between bzr and git. * Makefile.am (EXTRA_DIST): Replace .bzrignore with .gitignore. * gnulib: Add --no-vc-files.
Generated by dwww version 1.15 on Mon Jul 1 04:36:46 CEST 2024.