This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "The official pacman repository". The branch, master has been updated via a8e2578febbb71d1b788c7270c2be57ca1e64dec (commit) via b8a72770619a29db436e2a3883ebe03910a8e827 (commit) via 8089081ef962337d9ff445213cdb160fc47da7c8 (commit) via c74495a3b217249e3a14d616b38367b6dbb006e4 (commit) via 4d2317dafb3c3aac56f9f604262d82fd1b396a19 (commit) via 220a3ce2b8177bb3cc8a7a20715b67d5cbf7fc71 (commit) via 8d11aa3cdf284ebd5b0239b3e3e2f0c39ec7c3ba (commit) via 85508b478e23ef225afccf5ec27dffb39a0300c9 (commit) via 7fb8a299c2a2e18eed21694ba24cf8959aa830dd (commit) via 7b6f7bbe090e9c10c094c998147212ec0c1ba770 (commit) via 16623a7ea577309c8cfb90920ca61342c585f73a (commit) via 4838d250e5fc258bdd52dc31098ed2ad0e44ee40 (commit) via bb5e6c3b767e923fdb6cbdd75a930838c9b2a018 (commit) via 8a373096f590925465f624d7b0bf466b02143ce1 (commit) via 088649534e7fd493cab4fce335f50a68108a48a6 (commit) from dfa4dcb16d42a84a76ed22792f681190aaa60b31 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit a8e2578febbb71d1b788c7270c2be57ca1e64dec Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Fri Dec 4 14:27:41 2015 -0500 remove soft interrupt handler before cleanup The soft interrupt handler dereferences config, causing a segfault if it is called during cleanup. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit b8a72770619a29db436e2a3883ebe03910a8e827 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Mon Nov 30 13:07:11 2015 -0500 extract soft interrupt handlers Delays handler setup until after config is set to a valid value to avoid a segmentation fault. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 8089081ef962337d9ff445213cdb160fc47da7c8 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Thu Nov 12 18:56:26 2015 -0500 extract SIGSEGV handler Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit c74495a3b217249e3a14d616b38367b6dbb006e4 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Thu Nov 12 18:51:15 2015 -0500 extract SIGWINCH handler Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 4d2317dafb3c3aac56f9f604262d82fd1b396a19 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Mon Nov 30 12:36:30 2015 -0500 move signal handlers to sighandler.[ch] Signals are special because they run asynchronously, making them non-trivial to handle correctly. Move the handlers a separate file to offset them from the normal code and make them easier to separate into individual functions without further cluttering pacman.c Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 220a3ce2b8177bb3cc8a7a20715b67d5cbf7fc71 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Mon Nov 30 12:29:13 2015 -0500 avoid unsafe functions in signal handler signal(7) lists a set of functions that can safely be called from within a signal handler. Even fileno and strlen are not guaranteed to be safe. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 8d11aa3cdf284ebd5b0239b3e3e2f0c39ec7c3ba Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Mon Nov 30 12:16:48 2015 -0500 remove SIG_IGN check when setting signal handler Our signal handler provides a way to gracefully interrupt a transaction and should always be set. The check appears to have originally been copied directly from the glibc manual. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 85508b478e23ef225afccf5ec27dffb39a0300c9 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Mon Nov 30 12:10:58 2015 -0500 do not catch SIGTERM On SIGTERM pacman was exiting immediately, even in the middle of a transaction. In this case we should leave the lock file in place as an indication that the database may not be in a consistent state. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 7fb8a299c2a2e18eed21694ba24cf8959aa830dd Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Thu Nov 12 18:37:43 2015 -0500 pacman: exit without memory cleanup on signals Memory allocation/deallocation functions are not safe to call from signal handlers. Just remove the lock file if there is one and exit immediately. Fixes: FS#46375, FS#45995, FS#47011 Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 7b6f7bbe090e9c10c094c998147212ec0c1ba770 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Thu Nov 12 18:06:53 2015 -0500 add and expose alpm_unlock alpm_unlock is a limited version of alpm_release that does nothing but the actual unlinking of the lock file and is therefore safe to call from signal handlers. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 16623a7ea577309c8cfb90920ca61342c585f73a Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Thu Nov 12 17:58:01 2015 -0500 handle_unlock: return 0 if lockfile == NULL Returning -1 is useless since we don't provide any way to determine why it failed. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 4838d250e5fc258bdd52dc31098ed2ad0e44ee40 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Fri Dec 4 14:14:32 2015 -0500 skip conflicts resolved by file replacement When replacing a file with a directory, any files inside the new directory cannot possibly exist on the filesystem and can be skipped. This allows cross-package symlink-to-directory transitions when there are files with the same name under both the symlinked directory and the new directory. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit bb5e6c3b767e923fdb6cbdd75a930838c9b2a018 Author: Andrew Gregory <andrew.gregory.8@gmail.com> Date: Fri Dec 4 14:14:31 2015 -0500 always unlink files before extraction libarchive will not extract a directory over an existing directory symlink, making it impossible to replace a symlink with a directory across packages. Adding the ARCHIVE_EXTRACT_UNLINK and ARCHIVE_EXTRACT_SECURE_SYMLINKS causes libarchive to unlink the existing symlink and prevents it from extracting any paths that contain a symlink, which we should not be doing anyway. Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> commit 8a373096f590925465f624d7b0bf466b02143ce1 Author: Allan McRae <allan@archlinux.org> Date: Fri Dec 4 07:36:01 2015 +1000 Detect potential conflict when symlink to directory is changing to directory When a symlink to a directory is changing to a directory, any package file inside the new directory can create an unexpected conflict with the filesystem. Reported by Neofytos and Luca from Chakra. Signed-off-by: Allan McRae <allan@archlinux.org> commit 088649534e7fd493cab4fce335f50a68108a48a6 Author: Allan McRae <allan@archlinux.org> Date: Sun Nov 29 08:42:56 2015 +1000 Add large file support CFLAGS to pkgconfig file Large file support is enabled by our configure script as required. If anything linking to libalpm does not also define large file support, there will be differences in the size of off_t which are not caught until runtime. Add the required CFLAGS to the pkg-config file so that users of libalpm know what flags are required. Signed-off-by: Allan McRae <allan@archlinux.org> ----------------------------------------------------------------------- Summary of changes: configure.ac | 9 ++ lib/libalpm/add.c | 11 +-- lib/libalpm/alpm.h | 1 + lib/libalpm/conflict.c | 15 ++++ lib/libalpm/handle.c | 21 ++++- lib/libalpm/libalpm.pc.in | 2 +- src/pacman/Makefile.am | 1 + src/pacman/pacman.c | 75 ++-------------- src/pacman/sighandler.c | 119 ++++++++++++++++++++++++++ lib/libalpm/hook.h => src/pacman/sighandler.h | 20 ++--- test/pacman/tests/TESTS | 1 + test/pacman/tests/symlink021.py | 26 ++++++ 12 files changed, 211 insertions(+), 90 deletions(-) create mode 100644 src/pacman/sighandler.c copy lib/libalpm/hook.h => src/pacman/sighandler.h (74%) create mode 100644 test/pacman/tests/symlink021.py hooks/post-receive -- The official pacman repository