[pacman-dev] [GIT] The official pacman repository branch, master, updated. v4.2.1-282-ga8e2578
Allan McRae
allan at archlinux.org
Sat Dec 5 12:40:44 UTC 2015
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 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit b8a72770619a29db436e2a3883ebe03910a8e827
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 8089081ef962337d9ff445213cdb160fc47da7c8
Author: Andrew Gregory <andrew.gregory.8 at gmail.com>
Date: Thu Nov 12 18:56:26 2015 -0500
extract SIGSEGV handler
Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit c74495a3b217249e3a14d616b38367b6dbb006e4
Author: Andrew Gregory <andrew.gregory.8 at gmail.com>
Date: Thu Nov 12 18:51:15 2015 -0500
extract SIGWINCH handler
Signed-off-by: Andrew Gregory <andrew.gregory.8 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 4d2317dafb3c3aac56f9f604262d82fd1b396a19
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 220a3ce2b8177bb3cc8a7a20715b67d5cbf7fc71
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 8d11aa3cdf284ebd5b0239b3e3e2f0c39ec7c3ba
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 85508b478e23ef225afccf5ec27dffb39a0300c9
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 7fb8a299c2a2e18eed21694ba24cf8959aa830dd
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 7b6f7bbe090e9c10c094c998147212ec0c1ba770
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 16623a7ea577309c8cfb90920ca61342c585f73a
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 4838d250e5fc258bdd52dc31098ed2ad0e44ee40
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit bb5e6c3b767e923fdb6cbdd75a930838c9b2a018
Author: Andrew Gregory <andrew.gregory.8 at 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 at gmail.com>
Signed-off-by: Allan McRae <allan at archlinux.org>
commit 8a373096f590925465f624d7b0bf466b02143ce1
Author: Allan McRae <allan at 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 at archlinux.org>
commit 088649534e7fd493cab4fce335f50a68108a48a6
Author: Allan McRae <allan at 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 at 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
More information about the pacman-dev
mailing list