Pacman-dev
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- 1 participants
- 7322 discussions
Use ASCII control codes to hide cursor at the pacman start and then
show the cursor when pacman finishes.
It helps to avoid annoying blinking when progress bars are re-drawn.
Cursor is reenabled if pacman expects user's input.
Signed-off-by: Anatol Pomozov <anatol.pomozov(a)gmail.com>
---
src/common/util-common.c | 15 +++++++++++++++
src/common/util-common.h | 3 +++
src/pacman/pacman.c | 2 ++
src/pacman/sighandler.c | 5 +++++
4 files changed, 25 insertions(+)
diff --git a/src/common/util-common.c b/src/common/util-common.c
index 7d43ac0d..ad2a8ad1 100644
--- a/src/common/util-common.c
+++ b/src/common/util-common.c
@@ -21,6 +21,7 @@
#include <errno.h>
#include <stdlib.h>
#include <string.h>
+#include <unistd.h>
#include "util-common.h"
@@ -104,6 +105,18 @@ int llstat(char *path, struct stat *buf)
return ret;
}
+void console_hide_cursor(void) {
+ if(isatty(fileno(stdout))) {
+ printf("\e[?25l");
+ }
+}
+
+void console_show_cursor(void) {
+ if(isatty(fileno(stdout))) {
+ printf("\e[?25h");
+ }
+}
+
/** Wrapper around fgets() which properly handles EINTR
* @param s string to read into
* @param size maximum length to read
@@ -114,6 +127,7 @@ char *safe_fgets(char *s, int size, FILE *stream)
{
char *ret;
int errno_save = errno, ferror_save = ferror(stream);
+ console_show_cursor();
while((ret = fgets(s, size, stream)) == NULL && !feof(stream)) {
if(errno == EINTR) {
/* clear any errors we set and try again */
@@ -125,6 +139,7 @@ char *safe_fgets(char *s, int size, FILE *stream)
break;
}
}
+ console_hide_cursor();
return ret;
}
diff --git a/src/common/util-common.h b/src/common/util-common.h
index 483d5da4..8eacde7e 100644
--- a/src/common/util-common.h
+++ b/src/common/util-common.h
@@ -28,6 +28,9 @@ char *mdirname(const char *path);
int llstat(char *path, struct stat *buf);
+void console_hide_cursor(void);
+void console_show_cursor(void);
+
char *safe_fgets(char *s, int size, FILE *stream);
void wordsplit_free(char **ws);
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index d58c428a..aafd9e63 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -300,6 +300,7 @@ static void cleanup(int ret)
/* free memory */
FREELIST(pm_targets);
+ console_show_cursor();
exit(ret);
}
@@ -1084,6 +1085,7 @@ int main(int argc, char *argv[])
int ret = 0;
uid_t myuid = getuid();
+ console_hide_cursor();
install_segv_handler();
/* i18n init */
diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
index 46e6481f..adad411a 100644
--- a/src/pacman/sighandler.c
+++ b/src/pacman/sighandler.c
@@ -27,6 +27,9 @@
#include "sighandler.h"
#include "util.h"
+/* the same ANSI sequence as used in console_show_cursor */
+#define SHOW_CURSOR_ANSI "\e[?25h"
+
/** Write function that correctly handles EINTR.
*/
static ssize_t xwrite(int fd, const void *buf, size_t count)
@@ -60,6 +63,7 @@ static void soft_interrupt_handler(int signum)
const char msg[] = "\nHangup signal received\n";
xwrite(STDERR_FILENO, msg, ARRAYSIZE(msg) - 1);
}
+ xwrite(STDOUT_FILENO, SHOW_CURSOR_ANSI, sizeof(SHOW_CURSOR_ANSI) - 1);
if(alpm_trans_interrupt(config->handle) == 0) {
/* a transaction is being interrupted, don't exit pacman yet. */
return;
@@ -95,6 +99,7 @@ static void segv_handler(int signum)
const char msg[] = "\nerror: segmentation fault\n"
"Please submit a full bug report with --debug if appropriate.\n";
xwrite(STDERR_FILENO, msg, sizeof(msg) - 1);
+ xwrite(STDOUT_FILENO, SHOW_CURSOR_ANSI, sizeof(SHOW_CURSOR_ANSI) - 1);
/* restore the default handler */
_reset_handler(signum);
--
2.25.1
2
1
[pacman-dev] [PATCH] makepkg: Include more source files in debug packages.
by Austin Lund 02 Mar '20
by Austin Lund 02 Mar '20
02 Mar '20
Currently only the file pointed to by the DW_AT_name is included as a source
file in debug packages. This means many files that are useful for debugging are
not included. For example, no header files are included but yet these may by
referenced in the .debug_line section.
This sed script converts into shell variables the debug dump information from
readelf about compilation units, directory tables and file tables. This can be
used to get the full path of all the source files from within the package being
compiled that are referenced in the debugging information. Also, placeholder
symbols (e.g. <builtin>) and paths outside the current source (e.g. linked
libraries) will be more consistently ignored from inclusion in the debug
packages.
Signed-off-by: Austin Lund <austin.lund(a)gmail.com>
---
scripts/libmakepkg/tidy/strip.sh.in | 46 +++++++++++++++++++++++++++--
1 file changed, 44 insertions(+), 2 deletions(-)
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index 2b6f732d..2598d606 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -35,9 +35,51 @@ build_id() {
LANG=C readelf -n "$1" | sed -n '/Build ID/ { s/.*: //p; q; }'
}
+_source_files_sedscript='1 { a \
+declare -A COMPDIR
+}
+/^Contents of the .debug_info section:$/,/^[^[:space:]]/ {
+/^ <0>.*\(DW_TAG_compile_unit\)$/,/^ {0,3}[^[:space:]]/{
+ /^ <0>.*\(DW_TAG_compile_unit\)$/{h;d}
+ /^ {0,3}[^[:space:]]/{
+ x
+ s/(.*)/\n&\n/
+ s/.*DW_AT_comp_dir[^\n]*: ([^\n]*)\n.*/'\''\1'\''&/
+ s/.*DW_AT_stmt_list[^\n]*: ([^\n]*)\n.*/COMPDIR\[\1\]=&/
+ P;d
+ }
+ H
+ d
+}
+}
+/^Raw dump of debug contents of section .debug_line:$/,/^[^[:space:]]/ {
+/^ Offset:/,/^ Line Number Statements:$/ {
+ /^ Offset:/ {
+ a \
+unset DIRTABLE\
+unset FILETABLE
+
+ s/.*(0x[[:xdigit:]]+)$/OFFSET=\1/; p; d }
+ /^ The Directory Table/,/^$/ {
+ /^ [[:digit:]]+\t[^/.]/ {
+ s/^ ([[:digit:]]+)\t(.*)/DIRTABLE[\1]=\$\{COMPDIR\[\$OFFSET]\}\/\2/
+ p; d
+ }
+ d
+ }
+ /^ The File Name Table/,/^$/ {
+ /^ [[:digit:]]+\t[1-9]/ {
+ s/^ [[:digit:]]+\t([[:digit:]]+)\t.*\t(.*)$/\[\[ -v DIRTABLE\[\1\] \]\] \&\& echo \$\{DIRTABLE\[\1\]\}\/\2/
+ p; d
+ }
+ d
+ }
+}
+}'
+
source_files() {
LANG=C readelf "$1" --debug-dump | \
- awk '/DW_AT_name +:/{name=$8}/DW_AT_comp_dir +:/{{if (name == "<artificial>") next}{if (name !~ /^[<\/]/) {printf "%s/", $8}}{print name}}'
+ sed -n -E -e "${_source_files_sedscript}" | /bin/bash
}
strip_file() {
@@ -60,7 +102,7 @@ strip_file() {
while IFS= read -r t; do
f=${t/${dbgsrcdir}/"$srcdir"}
mkdir -p "${dbgsrc/"$dbgsrcdir"/}${t%/*}"
- cp -- "$f" "${dbgsrc/"$dbgsrcdir"/}$t"
+ cp -n -- "$f" "${dbgsrc/"$dbgsrcdir"/}$t"
done < <(source_files "$binary")
# copy debug symbols to debug directory
--
2.25.0
3
5
[pacman-dev] [GIT] The official pacman repository branch, master, updated. v5.2.1-47-g130db5cc
by Allan McRae 24 Feb '20
by Allan McRae 24 Feb '20
24 Feb '20
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 130db5cc9eb5c58681cbdf76d18ab383b14edebe (commit)
from 4246a4cc4f0f87642cbbb6b375524b2e4c713412 (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 130db5cc9eb5c58681cbdf76d18ab383b14edebe
Author: Anatol Pomozov <anatol.pomozov(a)gmail.com>
Date: Wed Feb 19 17:40:45 2020 -0800
Simplify construction of payloads in download_files
Currently, download_files() creates payloads for all packages then
iterates over them, calling download_single_file. This can be
simplified by looping over packages and constructing the payload as needed.
Signed-off-by: Anatol Pomozov <anatol.pomozov(a)gmail.com>
Signed-off-by: Allan McRae <allan(a)archlinux.org>
-----------------------------------------------------------------------
Summary of changes:
lib/libalpm/sync.c | 34 +++++++++++++---------------------
1 file changed, 13 insertions(+), 21 deletions(-)
hooks/post-receive
--
The official pacman repository
1
0
[pacman-dev] [PATCH] Simplify construction of payloads in download_files
by Anatol Pomozov 24 Feb '20
by Anatol Pomozov 24 Feb '20
24 Feb '20
Currently, download_files() creates payloads for all packages then
iterates over them, calling download_single_file. This can be
simplified by looping over packages and constructing the payload as needed.
Signed-off-by: Anatol Pomozov <anatol.pomozov(a)gmail.com>
---
lib/libalpm/sync.c | 34 +++++++++++++---------------------
1 file changed, 13 insertions(+), 21 deletions(-)
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 9b1e1197..89cc7867 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -693,18 +693,6 @@ static int prompt_to_delete(alpm_handle_t *handle, const char *filepath,
return question.remove;
}
-static struct dload_payload *build_payload(alpm_handle_t *handle,
- const char *filename, size_t size, alpm_list_t *servers)
-{
- struct dload_payload *payload;
-
- CALLOC(payload, 1, sizeof(*payload), RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
- STRDUP(payload->remote_name, filename, FREE(payload); RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
- payload->max_size = size;
- payload->servers = servers;
- return payload;
-}
-
static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
{
for(alpm_list_t *i = handle->trans->add; i; i = i->next) {
@@ -729,10 +717,7 @@ static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
}
if(spkg->download_size != 0 || !fpath) {
- struct dload_payload *payload;
- payload = build_payload(handle, spkg->filename, spkg->size, repo->servers);
- ASSERT(payload, return -1);
- *files = alpm_list_add(*files, payload);
+ *files = alpm_list_add(*files, spkg);
}
FREE(fpath);
@@ -815,8 +800,8 @@ static int download_files(alpm_handle_t *handle)
CALLOC(file_sizes, num_files, sizeof(off_t), goto finish);
for(i = files, idx = 0; i; i = i->next, idx++) {
- const struct dload_payload *payload = i->data;
- file_sizes[idx] = payload->max_size;
+ const alpm_pkg_t *pkg = i->data;
+ file_sizes[idx] = pkg->size;
}
ret = _alpm_check_downloadspace(handle, cachedir, num_files, file_sizes);
@@ -832,19 +817,26 @@ static int download_files(alpm_handle_t *handle)
EVENT(handle, &event);
event.type = ALPM_EVENT_RETRIEVE_DONE;
for(i = files; i; i = i->next) {
- if(download_single_file(handle, i->data, cachedir) == -1) {
+ const alpm_pkg_t *pkg = i->data;
+ struct dload_payload payload = {0};
+
+ STRDUP(payload.remote_name, pkg->filename, handle->pm_errno = ALPM_ERR_MEMORY; goto finish);
+ payload.servers = pkg->origin_data.db->servers;
+ payload.max_size = pkg->size;
+
+ if(download_single_file(handle, &payload, cachedir) == -1) {
errors++;
event.type = ALPM_EVENT_RETRIEVE_FAILED;
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n"));
}
+ _alpm_dload_payload_reset(&payload);
}
EVENT(handle, &event);
}
finish:
if(files) {
- alpm_list_free_inner(files, (alpm_list_fn_free)_alpm_dload_payload_reset);
- FREELIST(files);
+ alpm_list_free(files);
}
for(i = handle->trans->add; i; i = i->next) {
--
2.25.1
2
1
[pacman-dev] [PATCH] Convert payload structs from heap allocated to stack allocated
by Anatol Pomozov 20 Feb '20
by Anatol Pomozov 20 Feb '20
20 Feb '20
download_files() dynamically allocates a payload object for each
package. Then iterates over these payloads and calls
download_single_file() for it.
This code can be simplified to iterate over package list itself.
payload struct can be stack allocated in this case.
Signed-off-by: Anatol Pomozov <anatol.pomozov(a)gmail.com>
---
lib/libalpm/sync.c | 37 ++++++++++++++-----------------------
1 file changed, 14 insertions(+), 23 deletions(-)
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 4d93f41f..cd9db641 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -693,18 +693,6 @@ static int prompt_to_delete(alpm_handle_t *handle, const char *filepath,
return question.remove;
}
-static struct dload_payload *build_payload(alpm_handle_t *handle,
- const char *filename, size_t size, alpm_list_t *servers)
-{
- struct dload_payload *payload;
-
- CALLOC(payload, 1, sizeof(*payload), RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
- STRDUP(payload->remote_name, filename, FREE(payload); RET_ERR(handle, ALPM_ERR_MEMORY, NULL));
- payload->max_size = size;
- payload->servers = servers;
- return payload;
-}
-
static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
{
for(alpm_list_t *i = handle->trans->add; i; i = i->next) {
@@ -729,10 +717,7 @@ static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
}
if(spkg->download_size != 0 || !fpath) {
- struct dload_payload *payload;
- payload = build_payload(handle, spkg->filename, spkg->size, repo->servers);
- ASSERT(payload, return -1);
- *files = alpm_list_add(*files, payload);
+ *files = alpm_list_add(*files, spkg);
}
FREE(fpath);
@@ -815,8 +800,8 @@ static int download_files(alpm_handle_t *handle)
CALLOC(file_sizes, num_files, sizeof(off_t), goto finish);
for(i = files, idx = 0; i; i = i->next, idx++) {
- const struct dload_payload *payload = i->data;
- file_sizes[idx] = payload->max_size;
+ const alpm_pkg_t *pkg = i->data;
+ file_sizes[idx] = pkg->size;
}
ret = _alpm_check_downloadspace(handle, cachedir, num_files, file_sizes);
@@ -832,20 +817,26 @@ static int download_files(alpm_handle_t *handle)
EVENT(handle, &event);
event.type = ALPM_EVENT_RETRIEVE_DONE;
for(i = files; i; i = i->next) {
- if(download_single_file(handle, i->data, cachedir) == -1) {
+ const alpm_pkg_t *pkg = i->data;
+ struct dload_payload payload = {0};
+
+ STRDUP(payload.remote_name, pkg->filename, handle->pm_errno = ALPM_ERR_MEMORY; goto finish);
+ payload.servers = pkg->origin_data.db->servers;
+ payload.max_size = pkg->size;
+
+ if(download_single_file(handle, &payload, cachedir) == -1) {
errors++;
event.type = ALPM_EVENT_RETRIEVE_FAILED;
_alpm_log(handle, ALPM_LOG_WARNING, _("failed to retrieve some files\n"));
}
+ _alpm_dload_payload_reset(&payload);
}
EVENT(handle, &event);
}
finish:
- if(files) {
- alpm_list_free_inner(files, (alpm_list_fn_free)_alpm_dload_payload_reset);
- FREELIST(files);
- }
+ if(files)
+ alpm_list_free(files);
for(i = handle->trans->add; i; i = i->next) {
alpm_pkg_t *pkg = i->data;
--
2.25.0
2
2
[pacman-dev] [GIT] The official pacman repository branch, master, updated. v5.2.1-46-g4246a4cc
by Allan McRae 20 Feb '20
by Allan McRae 20 Feb '20
20 Feb '20
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 4246a4cc4f0f87642cbbb6b375524b2e4c713412 (commit)
via e76ec94083235ddc5510ab57b7c2bc12a1d34e8a (commit)
via 033405c9638830fd3579d8946fa1b140cea697ee (commit)
via 886a6677a847a5b7fdc1e44240f90cc81d91b9ad (commit)
from d0c487d4dcc6fec6f4bd8e1cefa1de9ffbe0e460 (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 4246a4cc4f0f87642cbbb6b375524b2e4c713412
Author: Dave Reisner <dreisner(a)archlinux.org>
Date: Thu Feb 6 07:48:39 2020 -0500
makepkg: drop duplicate reporting of missing dependencies
When pacman fails to satisfy deps, we might see output like the
following:
==> Making package: spiderfoot 3.0-1 (Thu 06 Feb 2020 12:45:10 PM CET)
==> Checking runtime dependencies...
==> Installing missing dependencies...
error: target not found: python-pygexf
==> ERROR: 'pacman' failed to install missing dependencies.
==> Missing dependencies:
-> python-dnspython
-> python-exifread
-> python-cherrypy
-> python-beautifulsoup4
-> python-netaddr
-> python-pysocks
-> python-ipwhois
-> python-ipaddress
-> python-phonenumbers
-> python-pypdf2
-> python-stem
-> python-whois
-> python-future
-> python-pyopenssl
-> python-docx
-> python-pptx
-> python-networkx
-> python-cryptography
-> python-secure
-> python-pygexf
-> python-adblockparser
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
This is misleading -- the only truly missing package is python-pygexf,
but we fail to remove sync-able deps from our deplist and report
everything as if it were missing. Simply drop this extra reporting
because pacman already tells us exactly what couldn't be resolved.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit e76ec94083235ddc5510ab57b7c2bc12a1d34e8a
Author: Allan McRae <allan(a)archlinux.org>
Date: Mon Feb 10 10:46:03 2020 +1000
build-aux/update-copyright 2019 2020
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 033405c9638830fd3579d8946fa1b140cea697ee
Author: Allan McRae <allan(a)archlinux.org>
Date: Mon Feb 10 10:31:39 2020 +1000
Add pacman-hooks.5 man page symlink
Improve discoverability of the alpm-hooks man page by adding a pacman-hooks
symlink.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 886a6677a847a5b7fdc1e44240f90cc81d91b9ad
Author: Anatol Pomozov <anatol.pomozov(a)gmail.com>
Date: Wed Jan 29 21:27:10 2020 -0800
Eliminate extra loop over dbs_sync
Current flow looks like
loop dbs_sync {
loop pkgs {
if pkg.db == db then process(pkg, db)
}
}
Package sync transaction always has a counterpart in the dbs_sync list
(I cannot come up with a use-case when it is not true). So the loop can
be simplified to:
loop pkgs {
process(pkg, pkg.db)
}
Tested: 'ninja test' & manually by using pacman with this patch for a
week
Signed-off-by: Anatol Pomozov <anatol.pomozov(a)gmail.com>
Signed-off-by: Allan McRae <allan(a)archlinux.org>
-----------------------------------------------------------------------
Summary of changes:
doc/Makefile.am | 13 ++++++++++++-
doc/index.asciidoc | 2 +-
doc/meson.build | 4 ++++
lib/libalpm/add.c | 2 +-
lib/libalpm/add.h | 2 +-
lib/libalpm/alpm.c | 2 +-
lib/libalpm/alpm.h | 2 +-
lib/libalpm/alpm_list.c | 2 +-
lib/libalpm/alpm_list.h | 2 +-
lib/libalpm/backup.c | 2 +-
lib/libalpm/backup.h | 2 +-
lib/libalpm/be_local.c | 2 +-
lib/libalpm/be_package.c | 2 +-
lib/libalpm/be_sync.c | 2 +-
lib/libalpm/conflict.c | 2 +-
lib/libalpm/conflict.h | 2 +-
lib/libalpm/db.c | 2 +-
lib/libalpm/db.h | 2 +-
lib/libalpm/deps.c | 2 +-
lib/libalpm/deps.h | 2 +-
lib/libalpm/diskspace.c | 2 +-
lib/libalpm/diskspace.h | 2 +-
lib/libalpm/dload.c | 2 +-
lib/libalpm/dload.h | 2 +-
lib/libalpm/error.c | 2 +-
lib/libalpm/filelist.c | 2 +-
lib/libalpm/filelist.h | 2 +-
lib/libalpm/graph.c | 2 +-
lib/libalpm/graph.h | 2 +-
lib/libalpm/group.c | 2 +-
lib/libalpm/group.h | 2 +-
lib/libalpm/handle.c | 2 +-
lib/libalpm/handle.h | 2 +-
lib/libalpm/hook.c | 2 +-
lib/libalpm/hook.h | 2 +-
lib/libalpm/libarchive-compat.h | 2 +-
lib/libalpm/log.c | 2 +-
lib/libalpm/log.h | 2 +-
lib/libalpm/package.c | 2 +-
lib/libalpm/package.h | 2 +-
lib/libalpm/pkghash.c | 2 +-
lib/libalpm/pkghash.h | 2 +-
lib/libalpm/remove.c | 2 +-
lib/libalpm/remove.h | 2 +-
lib/libalpm/signing.c | 2 +-
lib/libalpm/signing.h | 2 +-
lib/libalpm/sync.c | 16 ++++++----------
lib/libalpm/sync.h | 2 +-
lib/libalpm/trans.c | 2 +-
lib/libalpm/trans.h | 2 +-
lib/libalpm/util.c | 2 +-
lib/libalpm/util.h | 2 +-
lib/libalpm/version.c | 2 +-
scripts/libmakepkg/buildenv.sh.in | 2 +-
scripts/libmakepkg/buildenv/buildflags.sh.in | 2 +-
scripts/libmakepkg/buildenv/compiler.sh.in | 2 +-
scripts/libmakepkg/buildenv/debugflags.sh.in | 2 +-
scripts/libmakepkg/buildenv/makeflags.sh.in | 2 +-
scripts/libmakepkg/executable.sh.in | 2 +-
scripts/libmakepkg/executable/ccache.sh.in | 2 +-
scripts/libmakepkg/executable/checksum.sh.in | 2 +-
scripts/libmakepkg/executable/distcc.sh.in | 2 +-
scripts/libmakepkg/executable/fakeroot.sh.in | 2 +-
scripts/libmakepkg/executable/gpg.sh.in | 2 +-
scripts/libmakepkg/executable/gzip.sh.in | 2 +-
scripts/libmakepkg/executable/pacman.sh.in | 2 +-
scripts/libmakepkg/executable/strip.sh.in | 2 +-
scripts/libmakepkg/executable/sudo.sh.in | 2 +-
scripts/libmakepkg/executable/vcs.sh.in | 2 +-
scripts/libmakepkg/integrity.sh.in | 2 +-
scripts/libmakepkg/integrity/generate_checksum.sh.in | 2 +-
scripts/libmakepkg/integrity/generate_signature.sh.in | 2 +-
scripts/libmakepkg/integrity/verify_checksum.sh.in | 2 +-
scripts/libmakepkg/integrity/verify_signature.sh.in | 2 +-
scripts/libmakepkg/lint_config.sh.in | 2 +-
scripts/libmakepkg/lint_config/ext.sh.in | 2 +-
scripts/libmakepkg/lint_config/paths.sh.in | 2 +-
scripts/libmakepkg/lint_config/source_date_epoch.sh.in | 2 +-
scripts/libmakepkg/lint_config/variable.sh.in | 2 +-
scripts/libmakepkg/lint_package.sh.in | 2 +-
scripts/libmakepkg/lint_package/build_references.sh.in | 2 +-
scripts/libmakepkg/lint_package/dotfiles.sh.in | 2 +-
scripts/libmakepkg/lint_package/file_names.sh.in | 2 +-
scripts/libmakepkg/lint_package/missing_backup.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/arch.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/backup.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/changelog.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/depends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/epoch.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/install.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/options.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/package_function.sh.in | 2 +-
.../lint_pkgbuild/package_function_variable.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/provides.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/source.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/util.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/variable.sh.in | 2 +-
scripts/libmakepkg/source.sh.in | 2 +-
scripts/libmakepkg/source/bzr.sh.in | 2 +-
scripts/libmakepkg/source/file.sh.in | 2 +-
scripts/libmakepkg/source/git.sh.in | 2 +-
scripts/libmakepkg/source/hg.sh.in | 2 +-
scripts/libmakepkg/source/local.sh.in | 2 +-
scripts/libmakepkg/source/svn.sh.in | 2 +-
scripts/libmakepkg/srcinfo.sh.in | 2 +-
scripts/libmakepkg/tidy.sh.in | 2 +-
scripts/libmakepkg/tidy/docs.sh.in | 2 +-
scripts/libmakepkg/tidy/emptydirs.sh.in | 2 +-
scripts/libmakepkg/tidy/libtool.sh.in | 2 +-
scripts/libmakepkg/tidy/purge.sh.in | 2 +-
scripts/libmakepkg/tidy/staticlibs.sh.in | 2 +-
scripts/libmakepkg/tidy/strip.sh.in | 2 +-
scripts/libmakepkg/tidy/zipman.sh.in | 2 +-
scripts/libmakepkg/util.sh.in | 2 +-
scripts/libmakepkg/util/compress.sh.in | 2 +-
scripts/libmakepkg/util/config.sh.in | 2 +-
scripts/libmakepkg/util/dirsize.sh.in | 2 +-
scripts/libmakepkg/util/error.sh.in | 2 +-
scripts/libmakepkg/util/message.sh.in | 2 +-
scripts/libmakepkg/util/option.sh.in | 2 +-
scripts/libmakepkg/util/parseopts.sh.in | 2 +-
scripts/libmakepkg/util/pkgbuild.sh.in | 2 +-
scripts/libmakepkg/util/schema.sh.in | 2 +-
scripts/libmakepkg/util/source.sh.in | 2 +-
scripts/libmakepkg/util/util.sh.in | 2 +-
scripts/makepkg-template.pl.in | 4 ++--
scripts/makepkg.sh.in | 10 ++--------
scripts/pacman-db-upgrade.sh.in | 4 ++--
scripts/pacman-key.sh.in | 4 ++--
scripts/repo-add.sh.in | 4 ++--
scripts/wrapper.sh.in | 2 +-
src/common/ini.c | 2 +-
src/common/ini.h | 2 +-
src/common/util-common.c | 2 +-
src/common/util-common.h | 2 +-
src/pacman/callback.c | 2 +-
src/pacman/callback.h | 2 +-
src/pacman/check.c | 2 +-
src/pacman/check.h | 2 +-
src/pacman/conf.c | 2 +-
src/pacman/conf.h | 2 +-
src/pacman/database.c | 2 +-
src/pacman/deptest.c | 2 +-
src/pacman/files.c | 2 +-
src/pacman/package.c | 2 +-
src/pacman/package.h | 2 +-
src/pacman/pacman-conf.c | 2 +-
src/pacman/pacman.c | 4 ++--
src/pacman/pacman.h | 2 +-
src/pacman/query.c | 2 +-
src/pacman/remove.c | 2 +-
src/pacman/sighandler.c | 2 +-
src/pacman/sighandler.h | 2 +-
src/pacman/sync.c | 2 +-
src/pacman/upgrade.c | 2 +-
src/pacman/util.c | 2 +-
src/pacman/util.h | 2 +-
src/util/testpkg.c | 2 +-
src/util/vercmp.c | 2 +-
test/pacman/pactest.py | 2 +-
test/pacman/pmdb.py | 2 +-
test/pacman/pmenv.py | 2 +-
test/pacman/pmfile.py | 2 +-
test/pacman/pmpkg.py | 2 +-
test/pacman/pmrule.py | 2 +-
test/pacman/pmtest.py | 2 +-
test/pacman/tap.py | 2 +-
test/pacman/util.py | 2 +-
test/util/vercmptest.sh | 2 +-
181 files changed, 206 insertions(+), 201 deletions(-)
hooks/post-receive
--
The official pacman repository
1
0
Hello folks
While working on multiplexed download API I hit one issue that requires
some alpm API changes.
Current ALPM download api handles one file at a time. And interaction
between pacman and ALPM looks like:
- pacman iterates over list of files to download
- pacman calls alpm API to download one file
- alpm initializes curl with progress callback implemented by pacman
- during the download curl calls the pacman callback
- once download is done alpm returns a result code of the download
transaction
In this single-download scenario pacman knows when the download starts,
progresses and finished.
With multiplexed download feature alpm_download() will change its API. It
will get a list of files as a parameter and handle downloads for all of
them with a single function call.
This unfortunately makes impossible to intercept "start file download" and
"complete file download" events. These events are needed because we want to
render UI correctly and print download information like "file up to date",
"failed to download"... at the exact moment when the event happens.
To mitigate this problem I propose to extend the callback API to make it
possible for ALPM to provide other types of download events.
The signature will change from:
typedef void (*alpm_cb_download)(const char *filename, off_t xfered, off_t
total);
that implies only download progress events, to:
typedef void (*alpm_cb_download)(const char *filename,
alpm_download_event_type_t event, void *data);
where alpm_download_event_type_t is enum
typedef enum {
ALPM_DOWNLOAD_INIT,
ALPM_DOWNLOAD_PROGRESS,
ALPM_DOWNLOAD_ERROR,
ALPM_DOWNLOAD_COMPLETED
} alpm_download_event_type_t;
and *data is a pointer to event specific structure (different for each type
of event), e.g.:
typedef struct {
int result; /* 1 - file is uptodate, 0 - download completed
successfully, -1 failed */
} alpm_download_event_completed_t;
Note this is an ALPM breaking API change. It means it can be done only with
major version bump.
What do you think about it?
3
4
Signed-off-by: Allan McRae <allan(a)archlinux.org>
---
doc/index.asciidoc | 2 +-
lib/libalpm/add.c | 2 +-
lib/libalpm/add.h | 2 +-
lib/libalpm/alpm.c | 2 +-
lib/libalpm/alpm.h | 2 +-
lib/libalpm/alpm_list.c | 2 +-
lib/libalpm/alpm_list.h | 2 +-
lib/libalpm/backup.c | 2 +-
lib/libalpm/backup.h | 2 +-
lib/libalpm/be_local.c | 2 +-
lib/libalpm/be_package.c | 2 +-
lib/libalpm/be_sync.c | 2 +-
lib/libalpm/conflict.c | 2 +-
lib/libalpm/conflict.h | 2 +-
lib/libalpm/db.c | 2 +-
lib/libalpm/db.h | 2 +-
lib/libalpm/deps.c | 2 +-
lib/libalpm/deps.h | 2 +-
lib/libalpm/diskspace.c | 2 +-
lib/libalpm/diskspace.h | 2 +-
lib/libalpm/dload.c | 2 +-
lib/libalpm/dload.h | 2 +-
lib/libalpm/error.c | 2 +-
lib/libalpm/filelist.c | 2 +-
lib/libalpm/filelist.h | 2 +-
lib/libalpm/graph.c | 2 +-
lib/libalpm/graph.h | 2 +-
lib/libalpm/group.c | 2 +-
lib/libalpm/group.h | 2 +-
lib/libalpm/handle.c | 2 +-
lib/libalpm/handle.h | 2 +-
lib/libalpm/hook.c | 2 +-
lib/libalpm/hook.h | 2 +-
lib/libalpm/libarchive-compat.h | 2 +-
lib/libalpm/log.c | 2 +-
lib/libalpm/log.h | 2 +-
lib/libalpm/package.c | 2 +-
lib/libalpm/package.h | 2 +-
lib/libalpm/pkghash.c | 2 +-
lib/libalpm/pkghash.h | 2 +-
lib/libalpm/remove.c | 2 +-
lib/libalpm/remove.h | 2 +-
lib/libalpm/signing.c | 2 +-
lib/libalpm/signing.h | 2 +-
lib/libalpm/sync.c | 2 +-
lib/libalpm/sync.h | 2 +-
lib/libalpm/trans.c | 2 +-
lib/libalpm/trans.h | 2 +-
lib/libalpm/util.c | 2 +-
lib/libalpm/util.h | 2 +-
lib/libalpm/version.c | 2 +-
scripts/libmakepkg/buildenv.sh.in | 2 +-
scripts/libmakepkg/buildenv/buildflags.sh.in | 2 +-
scripts/libmakepkg/buildenv/compiler.sh.in | 2 +-
scripts/libmakepkg/buildenv/debugflags.sh.in | 2 +-
scripts/libmakepkg/buildenv/makeflags.sh.in | 2 +-
scripts/libmakepkg/executable.sh.in | 2 +-
scripts/libmakepkg/executable/ccache.sh.in | 2 +-
scripts/libmakepkg/executable/checksum.sh.in | 2 +-
scripts/libmakepkg/executable/distcc.sh.in | 2 +-
scripts/libmakepkg/executable/fakeroot.sh.in | 2 +-
scripts/libmakepkg/executable/gpg.sh.in | 2 +-
scripts/libmakepkg/executable/gzip.sh.in | 2 +-
scripts/libmakepkg/executable/pacman.sh.in | 2 +-
scripts/libmakepkg/executable/strip.sh.in | 2 +-
scripts/libmakepkg/executable/sudo.sh.in | 2 +-
scripts/libmakepkg/executable/vcs.sh.in | 2 +-
scripts/libmakepkg/integrity.sh.in | 2 +-
scripts/libmakepkg/integrity/generate_checksum.sh.in | 2 +-
scripts/libmakepkg/integrity/generate_signature.sh.in | 2 +-
scripts/libmakepkg/integrity/verify_checksum.sh.in | 2 +-
scripts/libmakepkg/integrity/verify_signature.sh.in | 2 +-
scripts/libmakepkg/lint_config.sh.in | 2 +-
scripts/libmakepkg/lint_config/ext.sh.in | 2 +-
scripts/libmakepkg/lint_config/paths.sh.in | 2 +-
scripts/libmakepkg/lint_config/source_date_epoch.sh.in | 2 +-
scripts/libmakepkg/lint_config/variable.sh.in | 2 +-
scripts/libmakepkg/lint_package.sh.in | 2 +-
scripts/libmakepkg/lint_package/build_references.sh.in | 2 +-
scripts/libmakepkg/lint_package/dotfiles.sh.in | 2 +-
scripts/libmakepkg/lint_package/file_names.sh.in | 2 +-
scripts/libmakepkg/lint_package/missing_backup.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/arch.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/backup.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/changelog.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/depends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/epoch.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/install.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/options.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/package_function.sh.in | 2 +-
.../libmakepkg/lint_pkgbuild/package_function_variable.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/provides.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/source.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/util.sh.in | 2 +-
scripts/libmakepkg/lint_pkgbuild/variable.sh.in | 2 +-
scripts/libmakepkg/source.sh.in | 2 +-
scripts/libmakepkg/source/bzr.sh.in | 2 +-
scripts/libmakepkg/source/file.sh.in | 2 +-
scripts/libmakepkg/source/git.sh.in | 2 +-
scripts/libmakepkg/source/hg.sh.in | 2 +-
scripts/libmakepkg/source/local.sh.in | 2 +-
scripts/libmakepkg/source/svn.sh.in | 2 +-
scripts/libmakepkg/srcinfo.sh.in | 2 +-
scripts/libmakepkg/tidy.sh.in | 2 +-
scripts/libmakepkg/tidy/docs.sh.in | 2 +-
scripts/libmakepkg/tidy/emptydirs.sh.in | 2 +-
scripts/libmakepkg/tidy/libtool.sh.in | 2 +-
scripts/libmakepkg/tidy/purge.sh.in | 2 +-
scripts/libmakepkg/tidy/staticlibs.sh.in | 2 +-
scripts/libmakepkg/tidy/strip.sh.in | 2 +-
scripts/libmakepkg/tidy/zipman.sh.in | 2 +-
scripts/libmakepkg/util.sh.in | 2 +-
scripts/libmakepkg/util/compress.sh.in | 2 +-
scripts/libmakepkg/util/config.sh.in | 2 +-
scripts/libmakepkg/util/dirsize.sh.in | 2 +-
scripts/libmakepkg/util/error.sh.in | 2 +-
scripts/libmakepkg/util/message.sh.in | 2 +-
scripts/libmakepkg/util/option.sh.in | 2 +-
scripts/libmakepkg/util/parseopts.sh.in | 2 +-
scripts/libmakepkg/util/pkgbuild.sh.in | 2 +-
scripts/libmakepkg/util/schema.sh.in | 2 +-
scripts/libmakepkg/util/source.sh.in | 2 +-
scripts/libmakepkg/util/util.sh.in | 2 +-
scripts/makepkg-template.pl.in | 4 ++--
scripts/makepkg.sh.in | 4 ++--
scripts/pacman-db-upgrade.sh.in | 4 ++--
scripts/pacman-key.sh.in | 4 ++--
scripts/repo-add.sh.in | 4 ++--
scripts/wrapper.sh.in | 2 +-
src/common/ini.c | 2 +-
src/common/ini.h | 2 +-
src/common/util-common.c | 2 +-
src/common/util-common.h | 2 +-
src/pacman/callback.c | 2 +-
src/pacman/callback.h | 2 +-
src/pacman/check.c | 2 +-
src/pacman/check.h | 2 +-
src/pacman/conf.c | 2 +-
src/pacman/conf.h | 2 +-
src/pacman/database.c | 2 +-
src/pacman/deptest.c | 2 +-
src/pacman/files.c | 2 +-
src/pacman/package.c | 2 +-
src/pacman/package.h | 2 +-
src/pacman/pacman-conf.c | 2 +-
src/pacman/pacman.c | 4 ++--
src/pacman/pacman.h | 2 +-
src/pacman/query.c | 2 +-
src/pacman/remove.c | 2 +-
src/pacman/sighandler.c | 2 +-
src/pacman/sighandler.h | 2 +-
src/pacman/sync.c | 2 +-
src/pacman/upgrade.c | 2 +-
src/pacman/util.c | 2 +-
src/pacman/util.h | 2 +-
src/util/testpkg.c | 2 +-
src/util/vercmp.c | 2 +-
test/pacman/pactest.py | 2 +-
test/pacman/pmdb.py | 2 +-
test/pacman/pmenv.py | 2 +-
test/pacman/pmfile.py | 2 +-
test/pacman/pmpkg.py | 2 +-
test/pacman/pmrule.py | 2 +-
test/pacman/pmtest.py | 2 +-
test/pacman/tap.py | 2 +-
test/pacman/util.py | 2 +-
test/util/vercmptest.sh | 2 +-
179 files changed, 185 insertions(+), 185 deletions(-)
diff --git a/doc/index.asciidoc b/doc/index.asciidoc
index 33983f78..ebf02c20 100644
--- a/doc/index.asciidoc
+++ b/doc/index.asciidoc
@@ -262,7 +262,7 @@ bugs under the Pacman project.
Copyright
---------
-pacman is Copyright (C) 2006-2019 Pacman Development Team
+pacman is Copyright (C) 2006-2020 Pacman Development Team
<pacman-dev(a)archlinux.org> and Copyright (C) 2002-2006 Judd Vinet
<jvinet(a)zeroflux.org> and is licensed through the GNU General Public License,
version 2 or later.
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index 2cfb3974..8ea89407 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -1,7 +1,7 @@
/*
* add.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/add.h b/lib/libalpm/add.h
index 620391d6..cbab07e4 100644
--- a/lib/libalpm/add.h
+++ b/lib/libalpm/add.h
@@ -1,7 +1,7 @@
/*
* add.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c
index cb2ab795..d1265214 100644
--- a/lib/libalpm/alpm.c
+++ b/lib/libalpm/alpm.c
@@ -1,7 +1,7 @@
/*
* alpm.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 4a2d2fc1..c2a069ad 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -1,7 +1,7 @@
/*
* alpm.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/alpm_list.c b/lib/libalpm/alpm_list.c
index ce3b37fa..fe0c2906 100644
--- a/lib/libalpm/alpm_list.c
+++ b/lib/libalpm/alpm_list.c
@@ -1,7 +1,7 @@
/*
* alpm_list.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/alpm_list.h b/lib/libalpm/alpm_list.h
index 4e18f36c..38094c7b 100644
--- a/lib/libalpm/alpm_list.h
+++ b/lib/libalpm/alpm_list.h
@@ -1,7 +1,7 @@
/*
* alpm_list.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/backup.c b/lib/libalpm/backup.c
index e789fb6a..2535c22c 100644
--- a/lib/libalpm/backup.c
+++ b/lib/libalpm/backup.c
@@ -1,7 +1,7 @@
/*
* backup.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2005 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/backup.h b/lib/libalpm/backup.h
index 28c0750e..94d7d3ba 100644
--- a/lib/libalpm/backup.h
+++ b/lib/libalpm/backup.h
@@ -1,7 +1,7 @@
/*
* backup.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c
index 78e32a24..9ebdfa40 100644
--- a/lib/libalpm/be_local.c
+++ b/lib/libalpm/be_local.c
@@ -1,7 +1,7 @@
/*
* be_local.c : backend for the local database
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/be_package.c b/lib/libalpm/be_package.c
index 9a8b4410..7a118d2a 100644
--- a/lib/libalpm/be_package.c
+++ b/lib/libalpm/be_package.c
@@ -1,7 +1,7 @@
/*
* be_package.c : backend for packages
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index f79c8a76..aafed15d 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -1,7 +1,7 @@
/*
* be_sync.c : backend for sync databases
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
index 65026f7c..ff1e4893 100644
--- a/lib/libalpm/conflict.c
+++ b/lib/libalpm/conflict.c
@@ -1,7 +1,7 @@
/*
* conflict.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2006 by David Kimpe <dnaku(a)frugalware.org>
diff --git a/lib/libalpm/conflict.h b/lib/libalpm/conflict.h
index 8ab9ea67..c854a55a 100644
--- a/lib/libalpm/conflict.h
+++ b/lib/libalpm/conflict.h
@@ -1,7 +1,7 @@
/*
* conflict.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 8a18c5a8..d679901c 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -1,7 +1,7 @@
/*
* db.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h
index e7ad98f5..c642e077 100644
--- a/lib/libalpm/db.h
+++ b/lib/libalpm/db.h
@@ -1,7 +1,7 @@
/*
* db.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2006 by Miklos Vajna <vmiklos(a)frugalware.org>
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index fc0a5308..f102864b 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -1,7 +1,7 @@
/*
* deps.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos(a)frugalware.org>
diff --git a/lib/libalpm/deps.h b/lib/libalpm/deps.h
index 54b91522..57a0ae47 100644
--- a/lib/libalpm/deps.h
+++ b/lib/libalpm/deps.h
@@ -1,7 +1,7 @@
/*
* deps.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2006 by Miklos Vajna <vmiklos(a)frugalware.org>
diff --git a/lib/libalpm/diskspace.c b/lib/libalpm/diskspace.c
index 59aff5c5..4cc17a12 100644
--- a/lib/libalpm/diskspace.c
+++ b/lib/libalpm/diskspace.c
@@ -1,7 +1,7 @@
/*
* diskspace.c
*
- * Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/diskspace.h b/lib/libalpm/diskspace.h
index 754ad05a..4f7d00b9 100644
--- a/lib/libalpm/diskspace.h
+++ b/lib/libalpm/diskspace.h
@@ -1,7 +1,7 @@
/*
* diskspace.h
*
- * Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index caa2935b..670da03d 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -1,7 +1,7 @@
/*
* dload.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h
index 98f2d437..1e8f75f3 100644
--- a/lib/libalpm/dload.h
+++ b/lib/libalpm/dload.h
@@ -1,7 +1,7 @@
/*
* dload.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/error.c b/lib/libalpm/error.c
index f8c418be..76a7f900 100644
--- a/lib/libalpm/error.c
+++ b/lib/libalpm/error.c
@@ -1,7 +1,7 @@
/*
* error.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/filelist.c b/lib/libalpm/filelist.c
index b7e3bd91..4a534b02 100644
--- a/lib/libalpm/filelist.c
+++ b/lib/libalpm/filelist.c
@@ -1,7 +1,7 @@
/*
* filelist.c
*
- * Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/filelist.h b/lib/libalpm/filelist.h
index 2574af88..dee44750 100644
--- a/lib/libalpm/filelist.h
+++ b/lib/libalpm/filelist.h
@@ -1,7 +1,7 @@
/*
* filelist.h
*
- * Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/graph.c b/lib/libalpm/graph.c
index e4571bcf..2491b670 100644
--- a/lib/libalpm/graph.c
+++ b/lib/libalpm/graph.c
@@ -1,7 +1,7 @@
/*
* graph.c - helpful graph structure and setup/teardown methods
*
- * Copyright (c) 2007-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2007-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/graph.h b/lib/libalpm/graph.h
index f6fe6f11..3c7309f8 100644
--- a/lib/libalpm/graph.h
+++ b/lib/libalpm/graph.h
@@ -1,7 +1,7 @@
/*
* graph.h - helpful graph structure and setup/teardown methods
*
- * Copyright (c) 2007-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2007-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/group.c b/lib/libalpm/group.c
index 397ccf24..bd9da8bd 100644
--- a/lib/libalpm/group.c
+++ b/lib/libalpm/group.c
@@ -1,7 +1,7 @@
/*
* group.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/group.h b/lib/libalpm/group.h
index 19ccf3bf..bd10ef74 100644
--- a/lib/libalpm/group.h
+++ b/lib/libalpm/group.h
@@ -1,7 +1,7 @@
/*
* group.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index 9bedf568..fc7c1faf 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -1,7 +1,7 @@
/*
* handle.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos(a)frugalware.org>
diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h
index 9a899671..c343f6e0 100644
--- a/lib/libalpm/handle.h
+++ b/lib/libalpm/handle.h
@@ -1,7 +1,7 @@
/*
* handle.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/hook.c b/lib/libalpm/hook.c
index 0dc0b8a2..aca8707e 100644
--- a/lib/libalpm/hook.c
+++ b/lib/libalpm/hook.c
@@ -1,7 +1,7 @@
/*
* hook.c
*
- * Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/hook.h b/lib/libalpm/hook.h
index c18d2fa5..ff5de4f2 100644
--- a/lib/libalpm/hook.h
+++ b/lib/libalpm/hook.h
@@ -1,7 +1,7 @@
/*
* hook.h
*
- * Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/libarchive-compat.h b/lib/libalpm/libarchive-compat.h
index b870f143..0ff005ae 100644
--- a/lib/libalpm/libarchive-compat.h
+++ b/lib/libalpm/libarchive-compat.h
@@ -4,7 +4,7 @@
/*
* libarchive-compat.h
*
- * Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c
index a6702782..64a67347 100644
--- a/lib/libalpm/log.c
+++ b/lib/libalpm/log.c
@@ -1,7 +1,7 @@
/*
* log.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/log.h b/lib/libalpm/log.h
index 062aa73f..3542387e 100644
--- a/lib/libalpm/log.h
+++ b/lib/libalpm/log.h
@@ -1,7 +1,7 @@
/*
* log.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index 11d37d43..5c5fa073 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -1,7 +1,7 @@
/*
* package.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005, 2006 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/package.h b/lib/libalpm/package.h
index 7c20282f..c37bd11e 100644
--- a/lib/libalpm/package.h
+++ b/lib/libalpm/package.h
@@ -1,7 +1,7 @@
/*
* package.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2006 by David Kimpe <dnaku(a)frugalware.org>
diff --git a/lib/libalpm/pkghash.c b/lib/libalpm/pkghash.c
index 4e4ad2b9..7434530b 100644
--- a/lib/libalpm/pkghash.c
+++ b/lib/libalpm/pkghash.c
@@ -1,7 +1,7 @@
/*
* pkghash.c
*
- * Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/pkghash.h b/lib/libalpm/pkghash.h
index 3e8deaed..55b87d03 100644
--- a/lib/libalpm/pkghash.h
+++ b/lib/libalpm/pkghash.h
@@ -1,7 +1,7 @@
/*
* pkghash.h
*
- * Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index e0b08586..8687e8ff 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -1,7 +1,7 @@
/*
* remove.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/remove.h b/lib/libalpm/remove.h
index df12866d..008f93dd 100644
--- a/lib/libalpm/remove.h
+++ b/lib/libalpm/remove.h
@@ -1,7 +1,7 @@
/*
* remove.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c
index bae52a58..52c27ccb 100644
--- a/lib/libalpm/signing.c
+++ b/lib/libalpm/signing.c
@@ -1,7 +1,7 @@
/*
* signing.c
*
- * Copyright (c) 2008-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2008-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/signing.h b/lib/libalpm/signing.h
index 47886ab5..f6a2201e 100644
--- a/lib/libalpm/signing.h
+++ b/lib/libalpm/signing.h
@@ -1,7 +1,7 @@
/*
* signing.h
*
- * Copyright (c) 2008-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2008-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 4d93f41f..9b1e1197 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -1,7 +1,7 @@
/*
* sync.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/sync.h b/lib/libalpm/sync.h
index 9c6710f5..61a89991 100644
--- a/lib/libalpm/sync.h
+++ b/lib/libalpm/sync.h
@@ -1,7 +1,7 @@
/*
* sync.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005, 2006 by Miklos Vajna <vmiklos(a)frugalware.org>
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 8909b9e3..c7317c15 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -1,7 +1,7 @@
/*
* trans.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/trans.h b/lib/libalpm/trans.h
index 2a689a8b..5c022d10 100644
--- a/lib/libalpm/trans.h
+++ b/lib/libalpm/trans.h
@@ -1,7 +1,7 @@
/*
* trans.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 128d3cd7..c46b1397 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -1,7 +1,7 @@
/*
* util.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h
index 71dadc2c..9827b2c1 100644
--- a/lib/libalpm/util.h
+++ b/lib/libalpm/util.h
@@ -1,7 +1,7 @@
/*
* util.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
* Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
* Copyright (c) 2005 by Christian Hamar <krics(a)linuxforum.hu>
diff --git a/lib/libalpm/version.c b/lib/libalpm/version.c
index ae220ff6..786ed0dc 100644
--- a/lib/libalpm/version.c
+++ b/lib/libalpm/version.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/buildenv.sh.in b/scripts/libmakepkg/buildenv.sh.in
index 3cd22655..965b9c29 100644
--- a/scripts/libmakepkg/buildenv.sh.in
+++ b/scripts/libmakepkg/buildenv.sh.in
@@ -3,7 +3,7 @@
# buildenv.sh - functions for altering the build environment before
# compilation
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/buildenv/buildflags.sh.in b/scripts/libmakepkg/buildenv/buildflags.sh.in
index b17557fa..9814a54a 100644
--- a/scripts/libmakepkg/buildenv/buildflags.sh.in
+++ b/scripts/libmakepkg/buildenv/buildflags.sh.in
@@ -2,7 +2,7 @@
#
# buildflags.sh - Clear user-specified buildflags if requested
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/buildenv/compiler.sh.in b/scripts/libmakepkg/buildenv/compiler.sh.in
index 69f58a29..33f19288 100644
--- a/scripts/libmakepkg/buildenv/compiler.sh.in
+++ b/scripts/libmakepkg/buildenv/compiler.sh.in
@@ -4,7 +4,7 @@
# ccache - Cache compilations and reuse them to save time on repetitions
# distcc - Distribute compilation of C and C++ across machines
#
-# Copyright (c) 2007-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2007-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/buildenv/debugflags.sh.in b/scripts/libmakepkg/buildenv/debugflags.sh.in
index 5c0dffd7..666d82a0 100644
--- a/scripts/libmakepkg/buildenv/debugflags.sh.in
+++ b/scripts/libmakepkg/buildenv/debugflags.sh.in
@@ -3,7 +3,7 @@
# debugflags.sh - Specify flags for building a package with debugging
# symbols
#
-# Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/buildenv/makeflags.sh.in b/scripts/libmakepkg/buildenv/makeflags.sh.in
index 36e7a9dc..67fd3919 100644
--- a/scripts/libmakepkg/buildenv/makeflags.sh.in
+++ b/scripts/libmakepkg/buildenv/makeflags.sh.in
@@ -2,7 +2,7 @@
#
# makeflags.sh - Clear user-specified makeflags if requested
#
-# Copyright (c) 2007-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2007-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable.sh.in b/scripts/libmakepkg/executable.sh.in
index 28d4f996..24deb1ee 100644
--- a/scripts/libmakepkg/executable.sh.in
+++ b/scripts/libmakepkg/executable.sh.in
@@ -2,7 +2,7 @@
#
# executable.sh - confirm presence of dependent executables
#
-# Copyright (c) 2018-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2018-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/ccache.sh.in b/scripts/libmakepkg/executable/ccache.sh.in
index ad7a463f..d3f8ab40 100644
--- a/scripts/libmakepkg/executable/ccache.sh.in
+++ b/scripts/libmakepkg/executable/ccache.sh.in
@@ -2,7 +2,7 @@
#
# ccache.sh - Confirm presence of ccache binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/checksum.sh.in b/scripts/libmakepkg/executable/checksum.sh.in
index 4f29d2d1..3aa5ea20 100644
--- a/scripts/libmakepkg/executable/checksum.sh.in
+++ b/scripts/libmakepkg/executable/checksum.sh.in
@@ -2,7 +2,7 @@
#
# checksum.sh - Confirm presence of binaries for checksum operations
#
-# Copyright (c) 2016-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2016-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/distcc.sh.in b/scripts/libmakepkg/executable/distcc.sh.in
index 2ea2991d..a2d1b613 100644
--- a/scripts/libmakepkg/executable/distcc.sh.in
+++ b/scripts/libmakepkg/executable/distcc.sh.in
@@ -2,7 +2,7 @@
#
# distcc.sh - Confirm presence of distcc binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/fakeroot.sh.in b/scripts/libmakepkg/executable/fakeroot.sh.in
index c54639f4..09ff15ab 100644
--- a/scripts/libmakepkg/executable/fakeroot.sh.in
+++ b/scripts/libmakepkg/executable/fakeroot.sh.in
@@ -2,7 +2,7 @@
#
# fakeroot.sh - Confirm presence of fakeroot binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/gpg.sh.in b/scripts/libmakepkg/executable/gpg.sh.in
index 4587441f..980ffeea 100644
--- a/scripts/libmakepkg/executable/gpg.sh.in
+++ b/scripts/libmakepkg/executable/gpg.sh.in
@@ -2,7 +2,7 @@
#
# gpg.sh - Confirm presence of gpg binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/gzip.sh.in b/scripts/libmakepkg/executable/gzip.sh.in
index 73bc9f37..3e7d07f2 100644
--- a/scripts/libmakepkg/executable/gzip.sh.in
+++ b/scripts/libmakepkg/executable/gzip.sh.in
@@ -2,7 +2,7 @@
#
# gzip.sh - Confirm presence of gzip binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/pacman.sh.in b/scripts/libmakepkg/executable/pacman.sh.in
index 3604e4cf..a77ab2e1 100644
--- a/scripts/libmakepkg/executable/pacman.sh.in
+++ b/scripts/libmakepkg/executable/pacman.sh.in
@@ -2,7 +2,7 @@
#
# pacman.sh - Confirm presence of pacman binary
#
-# Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/strip.sh.in b/scripts/libmakepkg/executable/strip.sh.in
index 5d6cd8ca..7922bf6f 100644
--- a/scripts/libmakepkg/executable/strip.sh.in
+++ b/scripts/libmakepkg/executable/strip.sh.in
@@ -2,7 +2,7 @@
#
# strip.sh - Confirm presence of strip binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/sudo.sh.in b/scripts/libmakepkg/executable/sudo.sh.in
index 425cdde1..9e50a76b 100644
--- a/scripts/libmakepkg/executable/sudo.sh.in
+++ b/scripts/libmakepkg/executable/sudo.sh.in
@@ -2,7 +2,7 @@
#
# sudo.sh - Confirm presence of sudo binary
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/executable/vcs.sh.in b/scripts/libmakepkg/executable/vcs.sh.in
index cc2e38f3..6eb93fae 100644
--- a/scripts/libmakepkg/executable/vcs.sh.in
+++ b/scripts/libmakepkg/executable/vcs.sh.in
@@ -2,7 +2,7 @@
#
# vcs.sh - Confirm presence of binaries for VCS operations
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/integrity.sh.in b/scripts/libmakepkg/integrity.sh.in
index 9d204967..b94b196c 100644
--- a/scripts/libmakepkg/integrity.sh.in
+++ b/scripts/libmakepkg/integrity.sh.in
@@ -2,7 +2,7 @@
#
# integrity.sh - functions relating to source integrity checking
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/integrity/generate_checksum.sh.in b/scripts/libmakepkg/integrity/generate_checksum.sh.in
index ef51f3a4..f5ca41bf 100644
--- a/scripts/libmakepkg/integrity/generate_checksum.sh.in
+++ b/scripts/libmakepkg/integrity/generate_checksum.sh.in
@@ -2,7 +2,7 @@
#
# generate_checksum.sh - functions for generating source checksums
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/integrity/generate_signature.sh.in b/scripts/libmakepkg/integrity/generate_signature.sh.in
index 35b98cf0..aec96c03 100644
--- a/scripts/libmakepkg/integrity/generate_signature.sh.in
+++ b/scripts/libmakepkg/integrity/generate_signature.sh.in
@@ -2,7 +2,7 @@
#
# generate_signature.sh - functions for generating PGP signatures
#
-# Copyright (c) 2008-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2008-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/integrity/verify_checksum.sh.in b/scripts/libmakepkg/integrity/verify_checksum.sh.in
index 5a3a628b..c597f02a 100644
--- a/scripts/libmakepkg/integrity/verify_checksum.sh.in
+++ b/scripts/libmakepkg/integrity/verify_checksum.sh.in
@@ -2,7 +2,7 @@
#
# verify_checksum.sh - functions for checking source checksums
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/integrity/verify_signature.sh.in b/scripts/libmakepkg/integrity/verify_signature.sh.in
index 124dab0a..a1bf7f1c 100644
--- a/scripts/libmakepkg/integrity/verify_signature.sh.in
+++ b/scripts/libmakepkg/integrity/verify_signature.sh.in
@@ -2,7 +2,7 @@
#
# verify_signature.sh - functions for checking PGP signatures
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_config.sh.in b/scripts/libmakepkg/lint_config.sh.in
index 30865d16..94c62225 100755
--- a/scripts/libmakepkg/lint_config.sh.in
+++ b/scripts/libmakepkg/lint_config.sh.in
@@ -2,7 +2,7 @@
#
# lint_config.sh - functions for checking for makepkg.conf errors
#
-# Copyright (c) 2018-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2018-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_config/ext.sh.in b/scripts/libmakepkg/lint_config/ext.sh.in
index 8f830ef9..da90cf43 100644
--- a/scripts/libmakepkg/lint_config/ext.sh.in
+++ b/scripts/libmakepkg/lint_config/ext.sh.in
@@ -2,7 +2,7 @@
#
# ext.sh - Check that source/package extensions have valid prefixes
#
-# Copyright (c) 2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2019-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_config/paths.sh.in b/scripts/libmakepkg/lint_config/paths.sh.in
index 3b549608..2fb0f5cd 100644
--- a/scripts/libmakepkg/lint_config/paths.sh.in
+++ b/scripts/libmakepkg/lint_config/paths.sh.in
@@ -2,7 +2,7 @@
#
# paths.sh - Check that pathname components do not contain odd characters
#
-# Copyright (c) 2018-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2018-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_config/source_date_epoch.sh.in b/scripts/libmakepkg/lint_config/source_date_epoch.sh.in
index 0527eefd..a2b26263 100755
--- a/scripts/libmakepkg/lint_config/source_date_epoch.sh.in
+++ b/scripts/libmakepkg/lint_config/source_date_epoch.sh.in
@@ -2,7 +2,7 @@
#
# source_date_epoch.sh - Check that reproducible builds timestamp is valid
#
-# Copyright (c) 2018-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2018-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_config/variable.sh.in b/scripts/libmakepkg/lint_config/variable.sh.in
index 8b76fb54..f70a237f 100644
--- a/scripts/libmakepkg/lint_config/variable.sh.in
+++ b/scripts/libmakepkg/lint_config/variable.sh.in
@@ -2,7 +2,7 @@
#
# variable.sh - Check that variables are or are not arrays as appropriate
#
-# Copyright (c) 2018-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2018-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_package.sh.in b/scripts/libmakepkg/lint_package.sh.in
index 226dd3fe..db6331cd 100644
--- a/scripts/libmakepkg/lint_package.sh.in
+++ b/scripts/libmakepkg/lint_package.sh.in
@@ -2,7 +2,7 @@
#
# lint_package.sh - functions for checking for packaging errors
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_package/build_references.sh.in b/scripts/libmakepkg/lint_package/build_references.sh.in
index 5c726ac2..bcaf71c6 100644
--- a/scripts/libmakepkg/lint_package/build_references.sh.in
+++ b/scripts/libmakepkg/lint_package/build_references.sh.in
@@ -2,7 +2,7 @@
#
# build_references.sh - Warn about files containing references to build directories
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_package/dotfiles.sh.in b/scripts/libmakepkg/lint_package/dotfiles.sh.in
index a3a685c6..9d999eca 100644
--- a/scripts/libmakepkg/lint_package/dotfiles.sh.in
+++ b/scripts/libmakepkg/lint_package/dotfiles.sh.in
@@ -2,7 +2,7 @@
#
# dotfiles.sh - check for dotfiles in the package root
#
-# Copyright (c) 2016-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2016-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_package/file_names.sh.in b/scripts/libmakepkg/lint_package/file_names.sh.in
index 2b92ae63..3ac3083f 100644
--- a/scripts/libmakepkg/lint_package/file_names.sh.in
+++ b/scripts/libmakepkg/lint_package/file_names.sh.in
@@ -2,7 +2,7 @@
#
# file_names.sh - check package file names
#
-# Copyright (c) 2016-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2016-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_package/missing_backup.sh.in b/scripts/libmakepkg/lint_package/missing_backup.sh.in
index a74258f4..6a43697e 100644
--- a/scripts/libmakepkg/lint_package/missing_backup.sh.in
+++ b/scripts/libmakepkg/lint_package/missing_backup.sh.in
@@ -2,7 +2,7 @@
#
# missing_backup.sh - Warn about missing files in the backup array
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild.sh.in b/scripts/libmakepkg/lint_pkgbuild.sh.in
index 94b44af9..70cf4ceb 100644
--- a/scripts/libmakepkg/lint_pkgbuild.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild.sh.in
@@ -2,7 +2,7 @@
#
# lint_pkgbuild.sh - functions for detecting PKGBUILD errors
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in
index ed9ce4e0..8bd8daee 100644
--- a/scripts/libmakepkg/lint_pkgbuild/arch.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/arch.sh.in
@@ -2,7 +2,7 @@
#
# arch.sh - Check the 'arch' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in b/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in
index 29c42533..3d73440e 100644
--- a/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/arch_specific.sh.in
@@ -2,7 +2,7 @@
#
# arch_specific.sh - Check that arch specific variables can be arch specific.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/backup.sh.in b/scripts/libmakepkg/lint_pkgbuild/backup.sh.in
index 8c6e7a06..e835838a 100644
--- a/scripts/libmakepkg/lint_pkgbuild/backup.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/backup.sh.in
@@ -2,7 +2,7 @@
#
# backup.sh - Check the 'backup' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in b/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in
index be6501ef..0999151b 100644
--- a/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/changelog.sh.in
@@ -2,7 +2,7 @@
#
# changelog.sh - Check the files in the 'changelog' array exist.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in b/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in
index f63ff5b6..e07a0775 100644
--- a/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/checkdepends.sh.in
@@ -2,7 +2,7 @@
#
# checkdepends.sh - Check the 'checkdepends' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in b/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in
index d83c7d8b..52a74ee5 100644
--- a/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/conflicts.sh.in
@@ -2,7 +2,7 @@
#
# conflicts.sh - Check the 'conflicts' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/depends.sh.in b/scripts/libmakepkg/lint_pkgbuild/depends.sh.in
index d23b1e85..a6a95bb2 100644
--- a/scripts/libmakepkg/lint_pkgbuild/depends.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/depends.sh.in
@@ -2,7 +2,7 @@
#
# depends.sh - Check the 'depends' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in b/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in
index 79e82910..71056e77 100644
--- a/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/epoch.sh.in
@@ -2,7 +2,7 @@
#
# epoch.sh - Check the 'epoch' variable conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in b/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in
index 593d4ade..5b7a3777 100644
--- a/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/fullpkgver.sh.in
@@ -2,7 +2,7 @@
#
# fullpkgver.sh - Check whether a full version conforms to requirements.
#
-# Copyright (c) 2018-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2018-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/install.sh.in b/scripts/libmakepkg/lint_pkgbuild/install.sh.in
index 1bf5681d..4eafbbd7 100644
--- a/scripts/libmakepkg/lint_pkgbuild/install.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/install.sh.in
@@ -2,7 +2,7 @@
#
# install.sh - Check the files in the 'install' array exist.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in b/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in
index ab021ad7..4e6655c5 100644
--- a/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/makedepends.sh.in
@@ -2,7 +2,7 @@
#
# makedepends.sh - Check the 'makedepends' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in b/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in
index 3def3976..4fbd0440 100644
--- a/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/optdepends.sh.in
@@ -2,7 +2,7 @@
#
# optdepends.sh - Check the 'optdepends' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/options.sh.in b/scripts/libmakepkg/lint_pkgbuild/options.sh.in
index 35dc9061..4e6ada7e 100644
--- a/scripts/libmakepkg/lint_pkgbuild/options.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/options.sh.in
@@ -2,7 +2,7 @@
#
# options.sh - Check the 'options' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in b/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in
index ef24724f..0f64f358 100644
--- a/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/package_function.sh.in
@@ -2,7 +2,7 @@
#
# package_function.sh - Check that required package functions exist.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in
index 58373382..79fdba37 100644
--- a/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/package_function_variable.sh.in
@@ -2,7 +2,7 @@
#
# package_function_variable.sh - Check variables inside the package function.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in
index 0711152c..90ce7a4b 100644
--- a/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/pkgbase.sh.in
@@ -2,7 +2,7 @@
#
# pkgbase.sh - Check the 'pkgbase' variable conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in
index fcfe319b..9f3f23f5 100644
--- a/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/pkglist.sh.in
@@ -2,7 +2,7 @@
#
# pkglist.sh - Check the packages selected to build exist.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
index 0ac069cb..81bd9525 100644
--- a/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/pkgname.sh.in
@@ -2,7 +2,7 @@
#
# pkgname.sh - Check the 'pkgname' variable conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in
index 7bbf4312..5790ec12 100644
--- a/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/pkgrel.sh.in
@@ -2,7 +2,7 @@
#
# pkgrel.sh - Check the 'pkgrel' variable conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in b/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in
index 833a495b..0d048420 100644
--- a/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/pkgver.sh.in
@@ -2,7 +2,7 @@
#
# pkgver.sh - Check the 'pkgver' variable conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/provides.sh.in b/scripts/libmakepkg/lint_pkgbuild/provides.sh.in
index e499cd7e..6f2415d3 100644
--- a/scripts/libmakepkg/lint_pkgbuild/provides.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/provides.sh.in
@@ -2,7 +2,7 @@
#
# provides.sh - Check the 'provides' array conforms to requirements.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/source.sh.in b/scripts/libmakepkg/lint_pkgbuild/source.sh.in
index 0020ab25..96082ca3 100644
--- a/scripts/libmakepkg/lint_pkgbuild/source.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/source.sh.in
@@ -2,7 +2,7 @@
#
# source.sh - Check the 'source' array is not sparse.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/util.sh.in b/scripts/libmakepkg/lint_pkgbuild/util.sh.in
index 0c27eb95..585e6653 100644
--- a/scripts/libmakepkg/lint_pkgbuild/util.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/util.sh.in
@@ -2,7 +2,7 @@
#
# util.sh - utility functions for pkgbuild linting.
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
index 6e4ce622..1bc49722 100644
--- a/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
+++ b/scripts/libmakepkg/lint_pkgbuild/variable.sh.in
@@ -2,7 +2,7 @@
#
# variable.sh - Check that variables are or are not arrays as appropriate
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source.sh.in b/scripts/libmakepkg/source.sh.in
index 4eaf6269..a0c6b662 100644
--- a/scripts/libmakepkg/source.sh.in
+++ b/scripts/libmakepkg/source.sh.in
@@ -2,7 +2,7 @@
#
# source.sh - functions for downloading and extracting sources
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source/bzr.sh.in b/scripts/libmakepkg/source/bzr.sh.in
index c476d8ae..1227c739 100644
--- a/scripts/libmakepkg/source/bzr.sh.in
+++ b/scripts/libmakepkg/source/bzr.sh.in
@@ -2,7 +2,7 @@
#
# bzr.sh - function for handling the download and "extraction" of Bazaar sources
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source/file.sh.in b/scripts/libmakepkg/source/file.sh.in
index df4256f7..819320c2 100644
--- a/scripts/libmakepkg/source/file.sh.in
+++ b/scripts/libmakepkg/source/file.sh.in
@@ -2,7 +2,7 @@
#
# file.sh - function for handling the download and extraction of source files
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source/git.sh.in b/scripts/libmakepkg/source/git.sh.in
index 69d904fb..aee944f7 100644
--- a/scripts/libmakepkg/source/git.sh.in
+++ b/scripts/libmakepkg/source/git.sh.in
@@ -2,7 +2,7 @@
#
# git.sh - function for handling the download and "extraction" of Git sources
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source/hg.sh.in b/scripts/libmakepkg/source/hg.sh.in
index 5362d6b1..b5af6ce0 100644
--- a/scripts/libmakepkg/source/hg.sh.in
+++ b/scripts/libmakepkg/source/hg.sh.in
@@ -2,7 +2,7 @@
#
# hg.sh - function for handling the download and "extraction" of Mercurial sources
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source/local.sh.in b/scripts/libmakepkg/source/local.sh.in
index 685c2049..f7d6056a 100644
--- a/scripts/libmakepkg/source/local.sh.in
+++ b/scripts/libmakepkg/source/local.sh.in
@@ -2,7 +2,7 @@
#
# local.sh - function for handling the "download" of local sources
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/source/svn.sh.in b/scripts/libmakepkg/source/svn.sh.in
index 1c8feb93..e808b2cb 100644
--- a/scripts/libmakepkg/source/svn.sh.in
+++ b/scripts/libmakepkg/source/svn.sh.in
@@ -2,7 +2,7 @@
#
# svn.sh - function for handling the download and "extraction" of Subversion sources
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/srcinfo.sh.in b/scripts/libmakepkg/srcinfo.sh.in
index 4dbe35e9..6e783279 100644
--- a/scripts/libmakepkg/srcinfo.sh.in
+++ b/scripts/libmakepkg/srcinfo.sh.in
@@ -2,7 +2,7 @@
#
# srcinfo.sh - functions for writing .SRCINFO files
#
-# Copyright (c) 2014-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2014-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy.sh.in b/scripts/libmakepkg/tidy.sh.in
index 7ee3700a..faebb395 100644
--- a/scripts/libmakepkg/tidy.sh.in
+++ b/scripts/libmakepkg/tidy.sh.in
@@ -3,7 +3,7 @@
# tidy.sh - functions for modifying/removing installed files before
# package creation
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/docs.sh.in b/scripts/libmakepkg/tidy/docs.sh.in
index 602b4912..5574bc52 100644
--- a/scripts/libmakepkg/tidy/docs.sh.in
+++ b/scripts/libmakepkg/tidy/docs.sh.in
@@ -2,7 +2,7 @@
#
# docs.sh - Remove documentation files from the package
#
-# Copyright (c) 2008-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2008-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/emptydirs.sh.in b/scripts/libmakepkg/tidy/emptydirs.sh.in
index 4c5dd73f..902ea317 100644
--- a/scripts/libmakepkg/tidy/emptydirs.sh.in
+++ b/scripts/libmakepkg/tidy/emptydirs.sh.in
@@ -2,7 +2,7 @@
#
# emptydirs.sh - Remove empty directories from the package
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/libtool.sh.in b/scripts/libmakepkg/tidy/libtool.sh.in
index ede68656..59749173 100644
--- a/scripts/libmakepkg/tidy/libtool.sh.in
+++ b/scripts/libmakepkg/tidy/libtool.sh.in
@@ -2,7 +2,7 @@
#
# libtool.sh - Remove libtool files from the package
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/purge.sh.in b/scripts/libmakepkg/tidy/purge.sh.in
index 8a09a583..1aa542da 100644
--- a/scripts/libmakepkg/tidy/purge.sh.in
+++ b/scripts/libmakepkg/tidy/purge.sh.in
@@ -2,7 +2,7 @@
#
# purge.sh - Remove unwanted files from the package
#
-# Copyright (c) 2008-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2008-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/staticlibs.sh.in b/scripts/libmakepkg/tidy/staticlibs.sh.in
index bf7601d2..7993c09a 100644
--- a/scripts/libmakepkg/tidy/staticlibs.sh.in
+++ b/scripts/libmakepkg/tidy/staticlibs.sh.in
@@ -2,7 +2,7 @@
#
# staticlibs.sh - Remove static library files from the package
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index 301d1989..2b6f732d 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -2,7 +2,7 @@
#
# strip.sh - Strip debugging symbols from binary files
#
-# Copyright (c) 2007-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2007-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/tidy/zipman.sh.in b/scripts/libmakepkg/tidy/zipman.sh.in
index ba2f006c..9893d72f 100644
--- a/scripts/libmakepkg/tidy/zipman.sh.in
+++ b/scripts/libmakepkg/tidy/zipman.sh.in
@@ -2,7 +2,7 @@
#
# zipman.sh - Compress man and info pages
#
-# Copyright (c) 2011-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2011-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util.sh.in b/scripts/libmakepkg/util.sh.in
index f3c469da..23d082a8 100644
--- a/scripts/libmakepkg/util.sh.in
+++ b/scripts/libmakepkg/util.sh.in
@@ -2,7 +2,7 @@
#
# util.sh - utility functions for makepkg
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/compress.sh.in b/scripts/libmakepkg/util/compress.sh.in
index 71604883..16420beb 100644
--- a/scripts/libmakepkg/util/compress.sh.in
+++ b/scripts/libmakepkg/util/compress.sh.in
@@ -2,7 +2,7 @@
#
# compress.sh - functions to compress archives in a uniform manner
#
-# Copyright (c) 2017-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2017-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/config.sh.in b/scripts/libmakepkg/util/config.sh.in
index 5e3a9b6a..a8975d6d 100644
--- a/scripts/libmakepkg/util/config.sh.in
+++ b/scripts/libmakepkg/util/config.sh.in
@@ -2,7 +2,7 @@
#
# config.sh - functions for handling makepkg config files
#
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
# Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
#
# This program is free software; you can redistribute it and/or modify
diff --git a/scripts/libmakepkg/util/dirsize.sh.in b/scripts/libmakepkg/util/dirsize.sh.in
index fce9f5b5..8f6e49cb 100644
--- a/scripts/libmakepkg/util/dirsize.sh.in
+++ b/scripts/libmakepkg/util/dirsize.sh.in
@@ -2,7 +2,7 @@
#
# dirsize.sh - calculate size of all files in a directory
#
-# Copyright (c) 2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2019-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/error.sh.in b/scripts/libmakepkg/util/error.sh.in
index 02b8da21..1847f46f 100644
--- a/scripts/libmakepkg/util/error.sh.in
+++ b/scripts/libmakepkg/util/error.sh.in
@@ -2,7 +2,7 @@
#
# error.sh.in - error variable definitions for makepkg
#
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
# Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
#
# This program is free software; you can redistribute it and/or modify
diff --git a/scripts/libmakepkg/util/message.sh.in b/scripts/libmakepkg/util/message.sh.in
index c87db1e2..061bd858 100644
--- a/scripts/libmakepkg/util/message.sh.in
+++ b/scripts/libmakepkg/util/message.sh.in
@@ -2,7 +2,7 @@
#
# message.sh - functions for outputting messages in makepkg
#
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
# Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
#
# This program is free software; you can redistribute it and/or modify
diff --git a/scripts/libmakepkg/util/option.sh.in b/scripts/libmakepkg/util/option.sh.in
index df7c2728..2212867d 100644
--- a/scripts/libmakepkg/util/option.sh.in
+++ b/scripts/libmakepkg/util/option.sh.in
@@ -2,7 +2,7 @@
#
# option.sh - functions to test if build/packaging options are enabled
#
-# Copyright (c) 2009-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2009-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/parseopts.sh.in b/scripts/libmakepkg/util/parseopts.sh.in
index 698f2acb..7cba3510 100644
--- a/scripts/libmakepkg/util/parseopts.sh.in
+++ b/scripts/libmakepkg/util/parseopts.sh.in
@@ -2,7 +2,7 @@
#
# parseopts.sh - getopt_long-like parser
#
-# Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/pkgbuild.sh.in b/scripts/libmakepkg/util/pkgbuild.sh.in
index ed15f05c..93bae4e8 100644
--- a/scripts/libmakepkg/util/pkgbuild.sh.in
+++ b/scripts/libmakepkg/util/pkgbuild.sh.in
@@ -2,7 +2,7 @@
#
# pkgbuild.sh - functions to extract information from PKGBUILD files
#
-# Copyright (c) 2009-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2009-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/schema.sh.in b/scripts/libmakepkg/util/schema.sh.in
index 02bfdb86..b42b8ae9 100644
--- a/scripts/libmakepkg/util/schema.sh.in
+++ b/scripts/libmakepkg/util/schema.sh.in
@@ -2,7 +2,7 @@
#
# schema.sh - declare specific groups of pkgbuild variables
#
-# Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/source.sh.in b/scripts/libmakepkg/util/source.sh.in
index 2b33c7dd..e0490661 100644
--- a/scripts/libmakepkg/util/source.sh.in
+++ b/scripts/libmakepkg/util/source.sh.in
@@ -2,7 +2,7 @@
#
# source.sh - functions to extract information from source URLs
#
-# Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/scripts/libmakepkg/util/util.sh.in b/scripts/libmakepkg/util/util.sh.in
index 80d178c6..8f6d6d3a 100644
--- a/scripts/libmakepkg/util/util.sh.in
+++ b/scripts/libmakepkg/util/util.sh.in
@@ -2,7 +2,7 @@
#
# util.sh - general utility functions
#
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
# Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
#
# This program is free software; you can redistribute it and/or modify
diff --git a/scripts/makepkg-template.pl.in b/scripts/makepkg-template.pl.in
index 762dd4be..804ae896 100755
--- a/scripts/makepkg-template.pl.in
+++ b/scripts/makepkg-template.pl.in
@@ -1,7 +1,7 @@
#!/usr/bin/perl
# makepkg-template - template system for makepkg
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -190,7 +190,7 @@ sub version {
my ($exitstatus) = @_;
printf "makepkg-template (pacman) %s\n", '@PACKAGE_VERSION@';
print gettext(
- 'Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>.'."\n".
+ 'Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>.'."\n".
'This is free software; see the source for copying conditions.'."\n".
'There is NO WARRANTY, to the extent permitted by law.'."\n");
exit($exitstatus);
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index 7fa791e1..7ebdfdd6 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -2,7 +2,7 @@
#
# makepkg - make packages compatible for use with pacman
#
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
# Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
# Copyright (c) 2005 by Aurelien Foret <orelien(a)chez.com>
# Copyright (c) 2006 by Miklos Vajna <vmiklos(a)frugalware.org>
@@ -1005,7 +1005,7 @@ usage() {
version() {
printf "makepkg (pacman) %s\n" "$makepkg_version"
- printf -- "Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
+ printf -- "Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
printf -- "Copyright (C) 2002-2006 Judd Vinet <jvinet(a)zeroflux.org>.\n"
printf '\n'
printf -- "$(gettext "\
diff --git a/scripts/pacman-db-upgrade.sh.in b/scripts/pacman-db-upgrade.sh.in
index 4a904b6d..f4e41059 100644
--- a/scripts/pacman-db-upgrade.sh.in
+++ b/scripts/pacman-db-upgrade.sh.in
@@ -2,7 +2,7 @@
#
# pacman-db-upgrade - upgrade the local pacman db to a newer format
#
-# Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -52,7 +52,7 @@ usage() {
version() {
printf "pacman-db-upgrade (pacman) %s\n" "$myver"
- printf -- "Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
+ printf -- "Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
printf '\n'
printf -- "$(gettext "\
This is free software; see the source for copying conditions.\n\
diff --git a/scripts/pacman-key.sh.in b/scripts/pacman-key.sh.in
index 613b3514..3e952c1b 100644
--- a/scripts/pacman-key.sh.in
+++ b/scripts/pacman-key.sh.in
@@ -3,7 +3,7 @@
# pacman-key - manages pacman's keyring
# Based on apt-key, from Debian
#
-# Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -92,7 +92,7 @@ usage() {
version() {
printf "pacman-key (pacman) %s\n" "${myver}"
- printf -- "Copyright (c) 2010-2019 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
+ printf -- "Copyright (c) 2010-2020 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
printf '\n'
printf -- "$(gettext "\
This is free software; see the source for copying conditions.\n\
diff --git a/scripts/repo-add.sh.in b/scripts/repo-add.sh.in
index 5807a996..545c2929 100644
--- a/scripts/repo-add.sh.in
+++ b/scripts/repo-add.sh.in
@@ -3,7 +3,7 @@
# repo-add - add a package to a given repo database file
# repo-remove - remove a package entry from a given repo database file
#
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -95,7 +95,7 @@ See %s(8) for more details and descriptions of the available options.\n")" $cmd
version() {
cmd=${0##*/}
printf "%s (pacman) %s\n\n" "$cmd" "$myver"
- printf -- "Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
+ printf -- "Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>.\n"
printf '\n'
printf -- "$(gettext "\
This is free software; see the source for copying conditions.\n\
diff --git a/scripts/wrapper.sh.in b/scripts/wrapper.sh.in
index 505cc6b2..2a041d53 100644
--- a/scripts/wrapper.sh.in
+++ b/scripts/wrapper.sh.in
@@ -2,7 +2,7 @@
#
# @PROGNAME@ - a wrapper for running the real @PROGNAME@ in the source tree
#
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/src/common/ini.c b/src/common/ini.c
index 150b4c39..8e76479e 100644
--- a/src/common/ini.c
+++ b/src/common/ini.c
@@ -1,7 +1,7 @@
/*
* ini.c
*
- * Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/common/ini.h b/src/common/ini.h
index a96c47e9..bf99fab5 100644
--- a/src/common/ini.h
+++ b/src/common/ini.h
@@ -1,7 +1,7 @@
/*
* ini.h
*
- * Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/common/util-common.c b/src/common/util-common.c
index 6a6f5ddc..7d43ac0d 100644
--- a/src/common/util-common.c
+++ b/src/common/util-common.c
@@ -1,7 +1,7 @@
/*
* util-common.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/common/util-common.h b/src/common/util-common.h
index 8665bc7b..483d5da4 100644
--- a/src/common/util-common.h
+++ b/src/common/util-common.h
@@ -1,7 +1,7 @@
/*
* util-common.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index 08da4bb7..548e2df2 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -1,7 +1,7 @@
/*
* callback.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/callback.h b/src/pacman/callback.h
index 22b576a1..b4bde5f2 100644
--- a/src/pacman/callback.h
+++ b/src/pacman/callback.h
@@ -1,7 +1,7 @@
/*
* callback.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/check.c b/src/pacman/check.c
index 85b25f39..02217d0f 100644
--- a/src/pacman/check.c
+++ b/src/pacman/check.c
@@ -1,7 +1,7 @@
/*
* check.c
*
- * Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/check.h b/src/pacman/check.h
index a881bee6..862d8455 100644
--- a/src/pacman/check.h
+++ b/src/pacman/check.h
@@ -1,7 +1,7 @@
/*
* check.h
*
- * Copyright (c) 2012-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2012-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/conf.c b/src/pacman/conf.c
index fe6d6971..f9de386f 100644
--- a/src/pacman/conf.c
+++ b/src/pacman/conf.c
@@ -1,7 +1,7 @@
/*
* conf.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/conf.h b/src/pacman/conf.h
index 03a15a48..d954e637 100644
--- a/src/pacman/conf.h
+++ b/src/pacman/conf.h
@@ -1,7 +1,7 @@
/*
* conf.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/database.c b/src/pacman/database.c
index 378edc8c..80400f72 100644
--- a/src/pacman/database.c
+++ b/src/pacman/database.c
@@ -1,7 +1,7 @@
/*
* database.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/deptest.c b/src/pacman/deptest.c
index f4fe6e8d..5b47f51b 100644
--- a/src/pacman/deptest.c
+++ b/src/pacman/deptest.c
@@ -1,7 +1,7 @@
/*
* deptest.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/files.c b/src/pacman/files.c
index cae7130d..d208d89e 100644
--- a/src/pacman/files.c
+++ b/src/pacman/files.c
@@ -1,7 +1,7 @@
/*
* files.c
*
- * Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/package.c b/src/pacman/package.c
index ec6e78fc..4c93a443 100644
--- a/src/pacman/package.c
+++ b/src/pacman/package.c
@@ -1,7 +1,7 @@
/*
* package.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/package.h b/src/pacman/package.h
index 911b659a..9dd9cd7e 100644
--- a/src/pacman/package.h
+++ b/src/pacman/package.h
@@ -1,7 +1,7 @@
/*
* package.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/pacman-conf.c b/src/pacman/pacman-conf.c
index 939cbdbd..6e25d243 100644
--- a/src/pacman/pacman-conf.c
+++ b/src/pacman/pacman-conf.c
@@ -1,7 +1,7 @@
/*
* pacman-conf.c - parse pacman configuration files
*
- * Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c
index a9b64370..d58c428a 100644
--- a/src/pacman/pacman.c
+++ b/src/pacman/pacman.c
@@ -1,7 +1,7 @@
/*
* pacman.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
@@ -239,7 +239,7 @@ static void version(void)
{
printf("\n");
printf(" .--. Pacman v%s - libalpm v%s\n", PACKAGE_VERSION, alpm_version());
- printf("/ _.-' .-. .-. .-. Copyright (C) 2006-2019 Pacman Development Team\n");
+ printf("/ _.-' .-. .-. .-. Copyright (C) 2006-2020 Pacman Development Team\n");
printf("\\ '-. '-' '-' '-' Copyright (C) 2002-2006 Judd Vinet\n");
printf(" '--'\n");
printf(_(" This program may be freely redistributed under\n"
diff --git a/src/pacman/pacman.h b/src/pacman/pacman.h
index 144e5f65..5f681044 100644
--- a/src/pacman/pacman.h
+++ b/src/pacman/pacman.h
@@ -1,7 +1,7 @@
/*
* pacman.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/query.c b/src/pacman/query.c
index bdcfc3c1..513ddb7a 100644
--- a/src/pacman/query.c
+++ b/src/pacman/query.c
@@ -1,7 +1,7 @@
/*
* query.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/remove.c b/src/pacman/remove.c
index 5c9aa7db..9920f502 100644
--- a/src/pacman/remove.c
+++ b/src/pacman/remove.c
@@ -1,7 +1,7 @@
/*
* remove.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/sighandler.c b/src/pacman/sighandler.c
index 08226d22..46e6481f 100644
--- a/src/pacman/sighandler.c
+++ b/src/pacman/sighandler.c
@@ -1,7 +1,7 @@
/*
* sighandler.c
*
- * Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/sighandler.h b/src/pacman/sighandler.h
index 8101a435..f7aade86 100644
--- a/src/pacman/sighandler.h
+++ b/src/pacman/sighandler.h
@@ -1,7 +1,7 @@
/*
* sighandler.h
*
- * Copyright (c) 2015-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2015-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index 4bdeff7b..f7dcb958 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -1,7 +1,7 @@
/*
* sync.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/upgrade.c b/src/pacman/upgrade.c
index 072760ff..5f984e44 100644
--- a/src/pacman/upgrade.c
+++ b/src/pacman/upgrade.c
@@ -1,7 +1,7 @@
/*
* upgrade.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/util.c b/src/pacman/util.c
index 3448ee09..a640ffb4 100644
--- a/src/pacman/util.c
+++ b/src/pacman/util.c
@@ -1,7 +1,7 @@
/*
* util.c
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/pacman/util.h b/src/pacman/util.h
index f30e8b83..2cee479f 100644
--- a/src/pacman/util.h
+++ b/src/pacman/util.h
@@ -1,7 +1,7 @@
/*
* util.h
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2006 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/util/testpkg.c b/src/util/testpkg.c
index cc9b5aba..c4320861 100644
--- a/src/util/testpkg.c
+++ b/src/util/testpkg.c
@@ -1,7 +1,7 @@
/*
* testpkg.c : Test a pacman package for validity
*
- * Copyright (c) 2007-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2007-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2007 by Aaron Griffin <aaronmgriffin(a)gmail.com>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/src/util/vercmp.c b/src/util/vercmp.c
index 29f76ece..64b531fa 100644
--- a/src/util/vercmp.c
+++ b/src/util/vercmp.c
@@ -2,7 +2,7 @@
* vercmp.c - Compare package version numbers using pacman's version
* comparison logic
*
- * Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+ * Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
* Copyright (c) 2002-2005 by Judd Vinet <jvinet(a)zeroflux.org>
*
* This program is free software; you can redistribute it and/or modify
diff --git a/test/pacman/pactest.py b/test/pacman/pactest.py
index 3414f4cc..20af41dc 100755
--- a/test/pacman/pactest.py
+++ b/test/pacman/pactest.py
@@ -3,7 +3,7 @@
# pactest : run automated testing on the pacman binary
#
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/pmdb.py b/test/pacman/pmdb.py
index 363ae32d..971e28eb 100644
--- a/test/pacman/pmdb.py
+++ b/test/pacman/pmdb.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/pmenv.py b/test/pacman/pmenv.py
index 3fb7c249..24437b61 100644
--- a/test/pacman/pmenv.py
+++ b/test/pacman/pmenv.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/pmfile.py b/test/pacman/pmfile.py
index e1d75c8d..cbc53e9f 100644
--- a/test/pacman/pmfile.py
+++ b/test/pacman/pmfile.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/pmpkg.py b/test/pacman/pmpkg.py
index e40868cc..8a7c336e 100644
--- a/test/pacman/pmpkg.py
+++ b/test/pacman/pmpkg.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/pmrule.py b/test/pacman/pmrule.py
index 971ab610..59293266 100644
--- a/test/pacman/pmrule.py
+++ b/test/pacman/pmrule.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/pmtest.py b/test/pacman/pmtest.py
index f15d1aa4..ed6eab6a 100644
--- a/test/pacman/pmtest.py
+++ b/test/pacman/pmtest.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/tap.py b/test/pacman/tap.py
index e96be186..76cf24d4 100644
--- a/test/pacman/tap.py
+++ b/test/pacman/tap.py
@@ -1,4 +1,4 @@
-# Copyright (c) 2013-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2013-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/pacman/util.py b/test/pacman/util.py
index 4f124a49..1e0eb385 100644
--- a/test/pacman/util.py
+++ b/test/pacman/util.py
@@ -1,5 +1,5 @@
# Copyright (c) 2006 by Aurelien Foret <orelien(a)chez.com>
-# Copyright (c) 2006-2019 Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
diff --git a/test/util/vercmptest.sh b/test/util/vercmptest.sh
index e8627e35..2731ef26 100755
--- a/test/util/vercmptest.sh
+++ b/test/util/vercmptest.sh
@@ -2,7 +2,7 @@
#
# vercmptest - a test suite for the vercmp/libalpm program
#
-# Copyright (c) 2009-2019 by Pacman Development Team <pacman-dev(a)archlinux.org>
+# Copyright (c) 2009-2020 by Pacman Development Team <pacman-dev(a)archlinux.org>
# Copyright (c) 2008 by Dan McGee <dan(a)archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
--
2.25.0
1
0
Improve discoverability of the alpm-hooks man page by adding a pacman-hooks
symlink.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
---
doc/Makefile.am | 13 ++++++++++++-
doc/meson.build | 4 ++++
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index c61110fc..4de67566 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -47,7 +47,8 @@ EXTRA_DIST = \
$(DOXYGEN_MANS)
# Files that should be removed, but which Automake does not know.
-MOSTLYCLEANFILES = *.xml $(MANPAGES) $(HTML_DOCS) repo-remove.8 website.tar.gz
+MOSTLYCLEANFILES = *.xml $(MANPAGES) $(HTML_DOCS) \
+ pacman-hooks.5 repo-remove.8 website.tar.gz
# Ensure manpages are fresh when building a dist tarball
dist-hook:
@@ -140,12 +141,22 @@ repo-remove.8: repo-add.8
$(RM) repo-remove.8
$(LN_S) repo-add.8 repo-remove.8
+pacman-hooks.5: alpm-hooks.5
+ $(RM) pacman-hooks.5
+ $(LN_S) alpm-hooks.5 pacman-hooks.5
+
install-data-hook:
cd $(DESTDIR)$(mandir)/man8 && \
$(RM) repo-remove.8 && \
( $(LN_S) repo-add.8 repo-remove.8 || \
ln repo-add.8 repo-remove.8 || \
cp repo-add.8 repo-remove.8 )
+ cd $(DESTDIR)$(mandir)/man5 && \
+ $(RM) pacman-hooks.5 && \
+ ( $(LN_S) alpm-hooks.5 pacman-hooks.5 || \
+ ln alpm-hooks.5 pacman-hooks.5 || \
+ cp alpm-hooks.5 pacman-hooks.5 )
uninstall-hook:
$(RM) $(DESTDIR)$(mandir)/man8/repo-remove.8
+ $(RM) $(DESTDIR)$(mandir)/man5/pacman-hooks.5
diff --git a/doc/meson.build b/doc/meson.build
index a5bcd5b3..e24172fd 100644
--- a/doc/meson.build
+++ b/doc/meson.build
@@ -129,6 +129,10 @@ meson.add_install_script(MESON_MAKE_SYMLINK,
'repo-add.8',
join_paths(MANDIR, 'man8/repo-remove.8'))
+meson.add_install_script(MESON_MAKE_SYMLINK,
+ 'alpm-hooks.5',
+ join_paths(MANDIR, 'man5/pacman-hooks.5'))
+
doxygen = find_program('doxygen', required : get_option('doxygen'))
if doxygen.found() and not get_option('doxygen').disabled()
doxyconf = configuration_data()
--
2.25.0
1
0
[pacman-dev] [arch-general] Privilege separation in the pacman downloader (Was: Pacman Database Signatures)
by Eli Schwartz 07 Feb '20
by Eli Schwartz 07 Feb '20
07 Feb '20
On 2/2/20 4:59 PM, Christopher W. via arch-general wrote:
> Right now, pacman is taking untrusted input from the internet as root.
> That's very bad. Most of the comments I've seen say that an attacker
> could hold back vulnerable packages, but this is assuming the attacker
> does not have bigger plans. The pacman tool is not immune to bugs in
> the way it parses the database files. It has no privilege separation
> in the download/parsing code as far as I can see (apt and others have
> had this for a long time) so it's really an even more dire situation.
> Pacman should not perform any operations as root until it has verified
> the signature of all files being used to install/upgrade the packages,
> but it currently does everything (downloading, verifying, etc) as root.
>
> I'd like to get a discussion going about how and when these two issues
> could be resolved so that all Arch users can be safer. Thanks.
This is a more interesting topic to me, personally (as opposed to the
first half of your email which I responded to separately) because it's a
proposal for something that pacman itself could do better, without
waiting on distro policy.
It's also a discussion that will go nowhere, and then die alone, on
arch-general, since pacman development and proposals happen exclusively
on the pacman-dev mailing list. Therefore, I am cc'ing the pacman-dev
mailing list so that this has a chance to go somewhere. :)
Since I'm unfamiliar with apt and other tools, what exactly do they do?
Given pacman/apt/your-choice-of-package-manager must somehow write to a
cachedir, e.g. /var/cache/pacman/pkg, it would need a dedicated download
user, which would then exclusively hold ownership of the cachedir.
pacman is one big binary at the moment, it doesn't fork+exec to run
collections of binaries implementing different parts of the package
manager (which is actually a plus when it comes to speed), so this might
entail major re-architecturing of that part of pacman. Doing it for
external XferCommand programs could be a start.
Is this a topic you're interested in exploring?
--
Eli Schwartz
Bug Wrangler and Trusted User
2
2
[pacman-dev] [PATCH] libmakepkg: when stripping split debug symbols, warn on duplicate paths
by Eli Schwartz 03 Feb '20
by Eli Schwartz 03 Feb '20
03 Feb '20
Trying to strip multiple files installed to the same filepath (in
different components of a split package) can produce surprising results
if those files are built using different options. Per FS#63356 this is
not a supported PKGBUILD configuration. Instead, warn about such cases
when producing debug packages.
Fixes FS#63366
Signed-off-by: Eli Schwartz <eschwartz(a)archlinux.org>
---
scripts/libmakepkg/tidy/strip.sh.in | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/scripts/libmakepkg/tidy/strip.sh.in b/scripts/libmakepkg/tidy/strip.sh.in
index 5937e13c..eaa764b7 100644
--- a/scripts/libmakepkg/tidy/strip.sh.in
+++ b/scripts/libmakepkg/tidy/strip.sh.in
@@ -46,7 +46,13 @@ strip_file() {
if check_option "debug" "y"; then
local bid=$(build_id "$binary")
- # has this file already been stripped
+ # has this filepath been stripped before under a different Build Id
+ if [[ -f "$dbgdir/$binary.debug" ]]; then
+ if [[ -n $bid && $bid != $(build_id "$dbgdir/$binary.debug") ]]; then
+ warning "Split package with multiple copies of the file '%s' have different Build Ids" "$binary"
+ fi
+ fi
+ # has this file's hardlink already been stripped
if [[ -n "$bid" ]]; then
if [[ -f "$dbgdir/.build-id/${bid:0:2}/${bid:2}.debug" ]]; then
return
--
2.22.0
2
4
31 Jan '20
Google Photos
ضيو ابوليان shared photos with you
View photos here:
https://photos.google.com/share/AF1QipMchzeX-R_KWrdJdABTgJKj2AaQre-Z9qzE9m8…
You received this mail because ضيو ابوليان shared these photos with you. If
you no longer wish to receive email notifications of shared photos,
unsubscribe here:
https://notifications.google.com/unsubscribe/AJ7SsMlEHfPsXcvj5Bg9XH8DTyaGmh…
Get Google Photos (https://google.com/photos)
Google LLC, 1600 Amphitheatre Pkwy, Mountain View, CA 94043 USA
1
0
31 Jan '20
I found this TODO while browsing pacman's source code, tried fixing it
by checking returned errors while deleting packages files and logging
accordingly.
This is my first time editing code and submitting a patch; SORRY if I
did anything dumb!
Signed-off-by: Hamza Mogni <hamzamogni5(a)gmail.com>
---
lib/libalpm/remove.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 9030bfee..4a19c718 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -707,7 +707,12 @@ int _alpm_remove_single_package(alpm_handle_t *handle,
if(!(handle->trans->flags & ALPM_TRANS_FLAG_DBONLY)) {
/* TODO check returned errors if any */
- remove_package_files(handle, oldpkg, newpkg, targ_count, pkg_count);
+ int err = remove_package_files(handle, oldpkg, newpkg, targ_count, pkg_count);
+ if (err == -1) {
+ _alpm_log(handle, ALPM_LOG_ERROR, "alpm lacks permission to delete all files");
+ } else if (err > 0) {
+ _alpm_log(handle, ALPM_LOG_ERROR, "failed to delete %d files", err);
+ }
}
if(!newpkg) {
--
2.25.0
2
1
When releasing the handle, alpm tries to do some self clean up by
freeing the databases and transaction.
However, databases refuse to unregister is there is an in progress
transaction. Causing them to leak if the handle is released while
a transaction is active.
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c
index 1a378db9..02b8fc9b 100644
--- a/lib/libalpm/alpm.c
+++ b/lib/libalpm/alpm.c
@@ -30,6 +30,7 @@
#include "alpm_list.h"
#include "handle.h"
#include "log.h"
+#include "trans.h"
#include "util.h"
/** \addtogroup alpm_interface Interface Functions
@@ -114,6 +115,8 @@ int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
CHECK_HANDLE(myhandle, return -1);
+ _alpm_trans_free(myhandle->trans);
+
/* close local database */
db = myhandle->db_local;
if(db) {
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index e3193f40..1e42f4a8 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -34,7 +34,6 @@
#include "alpm_list.h"
#include "util.h"
#include "log.h"
-#include "trans.h"
#include "alpm.h"
#include "deps.h"
@@ -74,7 +73,6 @@ void _alpm_handle_free(alpm_handle_t *handle)
#endif
/* free memory */
- _alpm_trans_free(handle->trans);
FREE(handle->root);
FREE(handle->dbpath);
FREE(handle->dbext);
--
2.25.0
2
1
Current flow looks like
loop dbs_sync {
loop pkgs {
if pkg.db == db then process(pkg, db)
}
}
Package sync transaction always has a counterpart in the dbs_sync list
(I cannot come up with a use-case when it is not true). So the loop can
be simplified to:
loop pkgs {
process(pkg, pkg.db)
}
Tested: 'ninja test' & manually by using pacman with this patch for a
week
Signed-off-by: Anatol Pomozov <anatol.pomozov(a)gmail.com>
---
lib/libalpm/sync.c | 14 +++++---------
1 file changed, 5 insertions(+), 9 deletions(-)
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index d02a435f..4d93f41f 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -705,16 +705,14 @@ static struct dload_payload *build_payload(alpm_handle_t *handle,
return payload;
}
-static int find_dl_candidates(alpm_db_t *repo, alpm_list_t **files)
+static int find_dl_candidates(alpm_handle_t *handle, alpm_list_t **files)
{
- alpm_list_t *i;
- alpm_handle_t *handle = repo->handle;
-
- for(i = handle->trans->add; i; i = i->next) {
+ for(alpm_list_t *i = handle->trans->add; i; i = i->next) {
alpm_pkg_t *spkg = i->data;
- if(spkg->origin != ALPM_PKG_FROM_FILE && repo == spkg->origin_data.db) {
+ if(spkg->origin != ALPM_PKG_FROM_FILE) {
char *fpath = NULL;
+ alpm_db_t *repo = spkg->origin_data.db;
if(!repo->servers) {
handle->pm_errno = ALPM_ERR_SERVER_NONE;
@@ -802,9 +800,7 @@ static int download_files(alpm_handle_t *handle)
handle->totaldlcb(total_size);
}
- for(i = handle->dbs_sync; i; i = i->next) {
- errors += find_dl_candidates(i->data, &files);
- }
+ errors += find_dl_candidates(handle, &files);
if(files) {
/* check for necessary disk space for download */
--
2.25.0
2
2
[pacman-dev] [GIT] The official pacman repository branch, master, updated. v5.2.1-42-gd0c487d4
by Allan McRae 28 Jan '20
by Allan McRae 28 Jan '20
28 Jan '20
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 d0c487d4dcc6fec6f4bd8e1cefa1de9ffbe0e460 (commit)
via 0a25548cd0910f66dea2dfab21f75a6d15366d64 (commit)
via 21af79860403f9120d2c0412a95ec97d06368e11 (commit)
via c3852ff42569542b787d9e49289f5358ad22f900 (commit)
via e54617c7d554e0c14c039432b5f7bef66e43769c (commit)
via d626a17ef94d79975ff17d04250152ea46aaade3 (commit)
via 2856a7dea3c0d4584e126b5ca5957e13e23f83d1 (commit)
via 2e32d51a262fef398a94a17c0a0d4ff3233990b5 (commit)
via 75bf8e887cd9fe0f6ba1eb2b6554dbfbcda0294a (commit)
via 0965023fc57495ca819127eee1d7e881e1ed7c3c (commit)
from acaed30e243ff139b5549fd51dc3cb5472415b0a (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 d0c487d4dcc6fec6f4bd8e1cefa1de9ffbe0e460
Author: morganamilo <morganamilo(a)archlinux.org>
Date: Sun Jan 26 07:01:42 2020 +0000
Docs docs docs
libalpm: move docs from .c files into alpm.h And fix/expand some
along the way.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 0a25548cd0910f66dea2dfab21f75a6d15366d64
Author: morganamilo <morganamilo(a)archlinux.org>
Date: Thu Jan 23 06:38:35 2020 +0000
libalpm: fix alpm_option_set_assumeinstalled
It looks like this function has never actually worked. The current list
is never set to NULL after being freed. So the new deps were just
appended to the already freed list, leading to a segfault.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 21af79860403f9120d2c0412a95ec97d06368e11
Author: Allan McRae <allan(a)archlinux.org>
Date: Thu Jan 23 12:14:14 2020 +1000
makepkg: add CRC checksums and set these to be the default
Checksums arrays should be filled with values provided by upstream. We
currently have md5 set as an unsecure default, and are constantly asked to
change it to sha2. However, just changing the default to a stronger checksum
gives the user the impression that "makepkg -g" checksums are perfect.
Instead, change the default checksum to a CRC, to make it clear that any
checksum generated purely by "makepkg -g" is not ideal.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit c3852ff42569542b787d9e49289f5358ad22f900
Author: Allan McRae <allan(a)archlinux.org>
Date: Thu Jan 23 12:04:28 2020 +1000
Note that checksums from "makepkg -g" are not ideal
Generating checksums with "makepkg -g" only determines that the user of a
PKGBUILD has the same file as the packager (assuming no collision). This
means an upstream source could be maliciously changed and passed on as valid
by a PKGBUILD. To avoid this, it is essential that any checksums used in
a PKGBUILD are as provided by upstream.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit e54617c7d554e0c14c039432b5f7bef66e43769c
Author: Allan McRae <allan(a)archlinux.org>
Date: Thu Jan 23 10:47:02 2020 +1000
Fix "pacman -U <url>" operations
Commit e6a6d307 detected complete part files by comparing a payload's
max_size to initial_size. However, these values are also equal when we
use pacman -U on a URL as max_size is set to 0 in that case. Add a further
condition to avoid that.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit d626a17ef94d79975ff17d04250152ea46aaade3
Author: Eli Schwartz <eschwartz(a)archlinux.org>
Date: Thu Jan 16 12:27:34 2020 -0500
makepkg: make per-package files containing '$pkgname' consistently work
Extracting function variables containing arbitrarily scoped variables of
arbitrary nature is a disaster, but let's at least cover the common case
of using the actual '$pkgname' in an install/changelog file. It's the
odd case of actually being basically justified use of disambiguating
between the same variable used in multiple different split packages...
and also, --printsrcinfo already uses and overwrites the variable
'pkgname' in pkgbuild_extract_to_srcinfo, so this "works" in .SRCINFO
but doesn't work in .src.tar.gz
It doesn't work in lint_pkgbuild either, but in that case the problem is
being too permissive, not too restrictive -- we might end up checking
the same file twice, and printing that it is missing twice.
Fixes FS#64932
Signed-off-by: Eli Schwartz <eschwartz(a)archlinux.org>
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 2856a7dea3c0d4584e126b5ca5957e13e23f83d1
Author: Allan McRae <allan(a)archlinux.org>
Date: Sun Jan 19 09:30:54 2020 +1000
Increase maximum database size
We previously has the maximum database size as 25MB. This was set in the days
before repos had as many packages as they do now, and before we started
distributing files databases. Increase this limit to 128MB.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 2e32d51a262fef398a94a17c0a0d4ff3233990b5
Author: Allan McRae <allan(a)archlinux.org>
Date: Thu Jan 16 21:20:19 2020 +1000
Remove unneeded ltmain patch
Many moons ago, libtool was bad - I mean worse than today! It gobbled all
--as-needed and we ended up with an overlinked libalpm. This was annoying,
particularly when dealing with soname bumps in libraries pacman/libalpm had
no business linking to. Luckily we had a fix, stolen from GNOME I believe.
And with that fix, we lived in harmony with libtool for many years. Until one
day, unbeknownst to us, libtool was "fixed". We kept applying our patch,
because it still applied, but it did worse than nothing. It gobbled up our
other LDFLAGS, and our libalpm started missing out on RELRO and BIND_NOW.
This made the Arch Security Team unhappy. We will make them happy again by
stopping the patch.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 75bf8e887cd9fe0f6ba1eb2b6554dbfbcda0294a
Author: Allan McRae <allan(a)archlinux.org>
Date: Thu Jan 16 16:58:50 2020 +1000
Increase meson test timeout
Running the testsuite using "PACTEST_VALGRIND=1 ninja test -C build", I ran
into the following failure:
161/332 smoke001.py TIMEOUT 30.02 s
I figure an i7 @ 3.10GHz should be enough to run our testsuite... so boost
the meson test timeout to 120 seconds (which should be enough time for
anyone...).
Signed-off-by: Allan McRae <allan(a)archlinux.org>
commit 0965023fc57495ca819127eee1d7e881e1ed7c3c
Author: Allan McRae <allan(a)archlinux.org>
Date: Wed Jan 8 13:46:35 2020 +1000
tests: Fix typo in test description
-----------------------------------------------------------------------
Summary of changes:
autogen.sh | 6 -
build-aux/ltmain-asneeded.patch | 33 ---
doc/PKGBUILD.5.asciidoc | 16 +-
doc/makepkg.conf.5.asciidoc | 2 +-
etc/makepkg.conf.in | 4 +-
lib/libalpm/add.c | 1 -
lib/libalpm/alpm.c | 33 ---
lib/libalpm/alpm.h | 247 ++++++++++++++++++++-
lib/libalpm/be_sync.c | 39 +---
lib/libalpm/conflict.c | 14 --
lib/libalpm/db.c | 34 ---
lib/libalpm/deps.c | 32 ---
lib/libalpm/dload.c | 3 +-
lib/libalpm/handle.c | 7 +-
lib/libalpm/log.c | 13 --
lib/libalpm/package.c | 28 ---
lib/libalpm/remove.c | 8 -
lib/libalpm/signing.c | 34 ---
lib/libalpm/sync.c | 17 --
lib/libalpm/trans.c | 12 -
lib/libalpm/util.c | 10 -
lib/libalpm/version.c | 14 --
scripts/libmakepkg/lint_pkgbuild/changelog.sh.in | 10 +-
scripts/libmakepkg/lint_pkgbuild/install.sh.in | 10 +-
scripts/libmakepkg/util/schema.sh.in | 2 +-
scripts/makepkg.sh.in | 14 +-
test/pacman/meson.build | 1 +
...nc-update-package-removing-required-provides.py | 2 +-
28 files changed, 283 insertions(+), 363 deletions(-)
delete mode 100755 autogen.sh
delete mode 100644 build-aux/ltmain-asneeded.patch
hooks/post-receive
--
The official pacman repository
1
0
libalpm: move docs from .c files into alpm.h And fix/expand some
along the way.
---
lib/libalpm/add.c | 1 -
lib/libalpm/alpm.c | 33 ------
lib/libalpm/alpm.h | 247 ++++++++++++++++++++++++++++++++++++++++-
lib/libalpm/be_sync.c | 35 ------
lib/libalpm/conflict.c | 14 ---
lib/libalpm/db.c | 34 ------
lib/libalpm/deps.c | 32 ------
lib/libalpm/dload.c | 1 -
lib/libalpm/handle.c | 6 -
lib/libalpm/log.c | 13 ---
lib/libalpm/package.c | 28 -----
lib/libalpm/remove.c | 8 --
lib/libalpm/signing.c | 34 ------
lib/libalpm/sync.c | 17 ---
lib/libalpm/trans.c | 12 --
lib/libalpm/util.c | 10 --
lib/libalpm/version.c | 14 ---
17 files changed, 241 insertions(+), 298 deletions(-)
diff --git a/lib/libalpm/add.c b/lib/libalpm/add.c
index b949976d..2cfb3974 100644
--- a/lib/libalpm/add.c
+++ b/lib/libalpm/add.c
@@ -47,7 +47,6 @@
#include "remove.h"
#include "handle.h"
-/** Add a package to the transaction. */
int SYMEXPORT alpm_add_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
{
const char *pkgname, *pkgver;
diff --git a/lib/libalpm/alpm.c b/lib/libalpm/alpm.c
index 1a378db9..cb2ab795 100644
--- a/lib/libalpm/alpm.c
+++ b/lib/libalpm/alpm.c
@@ -32,19 +32,6 @@
#include "log.h"
#include "util.h"
-/** \addtogroup alpm_interface Interface Functions
- * @brief Functions to initialize and release libalpm
- * @{
- */
-
-/** Initializes the library.
- * Creates handle, connects to database and creates lockfile.
- * This must be called before any other functions are called.
- * @param root the root path for all filesystem operations
- * @param dbpath the absolute path to the libalpm database
- * @param err an optional variable to hold any error return codes
- * @return a context handle on success, NULL on error, err will be set if provided
- */
alpm_handle_t SYMEXPORT *alpm_initialize(const char *root, const char *dbpath,
alpm_errno_t *err)
{
@@ -99,14 +86,6 @@ cleanup:
return NULL;
}
-/** Release the library.
- * Disconnects from the database, removes handle and lockfile
- * This should be the last alpm call you make.
- * After this returns, handle should be considered invalid and cannot be reused
- * in any way.
- * @param myhandle the context handle
- * @return 0 on success, -1 on error
- */
int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
{
int ret = 0;
@@ -135,23 +114,11 @@ int SYMEXPORT alpm_release(alpm_handle_t *myhandle)
return ret;
}
-/** @} */
-
-/** @defgroup alpm_misc Miscellaneous Functions
- * @brief Various libalpm functions
- */
-
-/** Get the version of library.
- * @return the library version, e.g. "6.0.4"
- * */
const char SYMEXPORT *alpm_version(void)
{
return LIB_VERSION;
}
-/** Get the capabilities of the library.
- * @return a bitmask of the capabilities
- * */
int SYMEXPORT alpm_capabilities(void)
{
return 0
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h
index 956284bd..4a2d2fc1 100644
--- a/lib/libalpm/alpm.h
+++ b/lib/libalpm/alpm.h
@@ -335,6 +335,11 @@ typedef enum _alpm_hook_when_t {
* Logging facilities
*/
+/** \addtogroup alpm_log Logging Functions
+ * @brief Functions to log using libalpm
+ * @{
+ */
+
/** Logging Levels */
typedef enum _alpm_loglevel_t {
ALPM_LOG_ERROR = 1,
@@ -345,9 +350,17 @@ typedef enum _alpm_loglevel_t {
typedef void (*alpm_cb_log)(alpm_loglevel_t, const char *, va_list);
+/** A printf-like function for logging.
+ * @param handle the context handle
+ * @param prefix caller-specific prefix for the log
+ * @param fmt output format
+ * @return 0 on success, -1 on error (pm_errno is set accordingly)
+ */
int alpm_logaction(alpm_handle_t *handle, const char *prefix,
const char *fmt, ...) __attribute__((format(printf, 3, 4)));
+/** @} */
+
/**
* Type of events.
*/
@@ -960,12 +973,71 @@ int alpm_db_get_valid(alpm_db_t *db);
/** @name Accessors to the list of servers for a database.
* @{
*/
+
+/** Get the list of servers assigned to this db.
+ * @param db pointer to the database to get the servers from
+ * @return a char* list of servers
+ */
alpm_list_t *alpm_db_get_servers(const alpm_db_t *db);
+
+/** Sets the list of servers for the database to use.
+ * @param db the database to set the servers
+ * @param a char* list of servers. Note: the database will
+ * take ownership of the list and it should no longer be
+ * freed by the caller
+ */
int alpm_db_set_servers(alpm_db_t *db, alpm_list_t *servers);
+
+/** Add a download server to a database.
+ * @param db database pointer
+ * @param url url of the server
+ * @return 0 on success, -1 on error (pm_errno is set accordingly)
+ */
int alpm_db_add_server(alpm_db_t *db, const char *url);
+
+/** Remove a download server from a database.
+ * @param db database pointer
+ * @param url url of the server
+ * @return 0 on success, 1 on server not present,
+ * -1 on error (pm_errno is set accordingly)
+ */
int alpm_db_remove_server(alpm_db_t *db, const char *url);
/** @} */
+/** Update a package database
+ *
+ * An update of the package database \a db will be attempted. Unless
+ * \a force is true, the update will only be performed if the remote
+ * database was modified since the last update.
+ *
+ * This operation requires a database lock, and will return an applicable error
+ * if the lock could not be obtained.
+ *
+ * Example:
+ * @code
+ * alpm_list_t *syncs = alpm_get_syncdbs();
+ * for(i = syncs; i; i = alpm_list_next(i)) {
+ * alpm_db_t *db = alpm_list_getdata(i);
+ * result = alpm_db_update(0, db);
+ *
+ * if(result < 0) {
+ * printf("Unable to update database: %s\n", alpm_strerrorlast());
+ * } else if(result == 1) {
+ * printf("Database already up to date\n");
+ * } else {
+ * printf("Database updated\n");
+ * }
+ * }
+ * @endcode
+ *
+ * @note After a successful update, the \link alpm_db_get_pkgcache()
+ * package cache \endlink will be invalidated
+ * @param force if true, then forces the update, otherwise update only in case
+ * the database isn't up to date
+ * @param db pointer to the package database to update
+ * @return 0 on success, -1 on error (pm_errno is set accordingly), 1 if up to
+ * to date
+ */
int alpm_db_update(int force, alpm_db_t *db);
/** Get a package entry from a package database.
@@ -1069,7 +1141,20 @@ int alpm_pkg_free(alpm_pkg_t *pkg);
*/
int alpm_pkg_checkmd5sum(alpm_pkg_t *pkg);
-/** Compare two version strings and determine which one is 'newer'. */
+/** Compare two version strings and determine which one is 'newer'.
+ * Returns a value comparable to the way strcmp works. Returns 1
+ * if a is newer than b, 0 if a and b are the same version, or -1
+ * if b is newer than a.
+ *
+ * Different epoch values for version strings will override any further
+ * comparison. If no epoch is provided, 0 is assumed.
+ *
+ * Keep in mind that the pkgrel is only compared if it is available
+ * on both versions handed to this function. For example, comparing
+ * 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield
+ * -1 as expected. This is mainly for supporting versioned dependencies
+ * that do not include the pkgrel.
+ */
int alpm_pkg_vercmp(const char *a, const char *b);
/** Computes the list of packages requiring a given package.
@@ -1317,11 +1402,15 @@ void *alpm_pkg_changelog_open(alpm_pkg_t *pkg);
size_t alpm_pkg_changelog_read(void *ptr, size_t size,
const alpm_pkg_t *pkg, void *fp);
+/** Close a package changelog for reading.
+ * @param pkg the package to close the changelog of (either file or db)
+ * @return 0 on success, -1 on error
+ */
int alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp);
/** Open a package mtree file for reading.
- * @param pkg the local package to read the changelog of
- * @return a archive structure for the package mtree file
+ * @param pkg the local package to read the mtree of
+ * @return an archive structure for the package mtree file
*/
struct archive *alpm_pkg_mtree_open(alpm_pkg_t *pkg);
@@ -1334,6 +1423,10 @@ struct archive *alpm_pkg_mtree_open(alpm_pkg_t *pkg);
int alpm_pkg_mtree_next(const alpm_pkg_t *pkg, struct archive *archive,
struct archive_entry **entry);
+/** Close a package mtree file.
+ * @param pkg the local package to close the mtree of
+ * @param the archive to close
+ */
int alpm_pkg_mtree_close(const alpm_pkg_t *pkg, struct archive *archive);
/** Returns whether the package has an install scriptlet.
@@ -1341,8 +1434,7 @@ int alpm_pkg_mtree_close(const alpm_pkg_t *pkg, struct archive *archive);
*/
int alpm_pkg_has_scriptlet(alpm_pkg_t *pkg);
-/** Returns the size of download.
- * Returns the size of the files that will be downloaded to install a
+/** Returns the size of the files that will be downloaded to install a
* package.
* @param newpkg the new package to upgrade to
* @return the size of the download
@@ -1380,15 +1472,48 @@ alpm_file_t *alpm_filelist_contains(alpm_filelist_t *filelist, const char *path)
* Signatures
*/
+/**
+ * Check the PGP signature for the given package file.
+ * @param pkg the package to check
+ * @param siglist a pointer to storage for signature results
+ * @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
+ */
int alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg, alpm_siglist_t *siglist);
+/**
+ * Check the PGP signature for the given database.
+ * @param db the database to check
+ * @param siglist a pointer to storage for signature results
+ * @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
+ */
int alpm_db_check_pgp_signature(alpm_db_t *db, alpm_siglist_t *siglist);
+/**
+ * Clean up and free a signature result list.
+ * Note that this does not free the siglist object itself in case that
+ * was allocated on the stack; this is the responsibility of the caller.
+ * @param siglist a pointer to storage for signature results
+ * @return 0 on success, -1 on error
+ */
int alpm_siglist_cleanup(alpm_siglist_t *siglist);
+/**
+ * Decode a loaded signature in base64 form.
+ * @param base64_data the signature to attempt to decode
+ * @param data the decoded data; must be freed by the caller
+ * @param data_len the length of the returned data
+ * @return 0 on success, -1 on failure to properly decode
+ */
int alpm_decode_signature(const char *base64_data,
unsigned char **data, size_t *data_len);
+/**
+ * Extract the Issuer Key ID from a signature
+ * @param sig PGP signature
+ * @param len length of signature
+ * @param keys a pointer to storage for key IDs
+ * @return 0 on success, -1 on error
+ */
int alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
const unsigned char *sig, const size_t len, alpm_list_t **keys);
@@ -1396,12 +1521,22 @@ int alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
* Groups
*/
+/** Find group members across a list of databases.
+ * If a member exists in several databases, only the first database is used.
+ * IgnorePkg is also handled.
+ * @param dbs the list of alpm_db_t *
+ * @param name the name of the group
+ * @return the list of alpm_pkg_t * (caller is responsible for alpm_list_free)
+ */
alpm_list_t *alpm_find_group_pkgs(alpm_list_t *dbs, const char *name);
/*
* Sync
*/
+/** Check for new version of pkg in sync repos
+ * (only the first occurrence is considered in sync)
+ */
alpm_pkg_t *alpm_sync_get_new_version(alpm_pkg_t *pkg, alpm_list_t *dbs_sync);
/** @addtogroup alpm_api_trans Transaction Functions
@@ -1534,12 +1669,49 @@ int alpm_remove_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg);
* @{
*/
+/** Checks dependencies and returns missing ones in a list.
+ * Dependencies can include versions with depmod operators.
+ * @param handle the context handle
+ * @param pkglist the list of local packages
+ * @param remove an alpm_list_t* of packages to be removed
+ * @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
+ * @param reversedeps handles the backward dependencies
+ * @return an alpm_list_t* of alpm_depmissing_t pointers.
+ */
alpm_list_t *alpm_checkdeps(alpm_handle_t *handle, alpm_list_t *pkglist,
alpm_list_t *remove, alpm_list_t *upgrade, int reversedeps);
+
+/** Find a package satisfying a specified dependency.
+ * The dependency can include versions with depmod operators.
+ * @param pkgs an alpm_list_t* of alpm_pkg_t where the satisfier will be searched
+ * @param depstring package or provision name, versioned or not
+ * @return a alpm_pkg_t* satisfying depstring
+ */
alpm_pkg_t *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring);
+
+/** Find a package satisfying a specified dependency.
+ * First look for a literal, going through each db one by one. Then look for
+ * providers. The first satisfier that belongs to an installed package is
+ * returned. If no providers belong to an installed package then an
+ * alpm_question_select_provider_t is created to select the provider.
+ * The dependency can include versions with depmod operators.
+ *
+ * @param handle the context handle
+ * @param dbs an alpm_list_t* of alpm_db_t where the satisfier will be searched
+ * @param depstring package or provision name, versioned or not
+ * @return a alpm_pkg_t* satisfying depstring
+ */
alpm_pkg_t *alpm_find_dbs_satisfier(alpm_handle_t *handle,
alpm_list_t *dbs, const char *depstring);
+/**
+ * @brief Check the package conflicts in a database
+ *
+ * @param handle the context handle
+ * @param pkglist the list of packages to check
+ *
+ * @return an alpm_list_t of alpm_conflict_t
+ */
alpm_list_t *alpm_checkconflicts(alpm_handle_t *handle, alpm_list_t *pkglist);
/** Returns a newly allocated string representing the dependency information.
@@ -1568,12 +1740,60 @@ void alpm_dep_free(alpm_depend_t *dep);
*/
/* checksums */
+
+/** \addtogroup alpm_misc Miscellaneous Functions
+ * @brief Various libalpm functions
+ * @{
+ */
+
+/** Get the md5 sum of file.
+ * @param filename name of the file
+ * @return the checksum on success, NULL on error
+ */
char *alpm_compute_md5sum(const char *filename);
+
+/** Get the sha256 sum of file.
+ * @param filename name of the file
+ * @return the checksum on success, NULL on error
+ */
char *alpm_compute_sha256sum(const char *filename);
+/** @} */
+
+/** \addtogroup alpm_interface Interface Functions
+ * @brief Functions to initialize and release libalpm
+ * @{
+ */
+
+/** Initializes the library.
+ * Creates handle, connects to database and creates lockfile.
+ * This must be called before any other functions are called.
+ * @param root the root path for all filesystem operations
+ * @param dbpath the absolute path to the libalpm database
+ * @param err an optional variable to hold any error return codes
+ * @return a context handle on success, NULL on error, err will be set if provided
+ */
alpm_handle_t *alpm_initialize(const char *root, const char *dbpath,
alpm_errno_t *err);
+
+/** Release the library.
+ * Disconnects from the database, removes handle and lockfile
+ * This should be the last alpm call you make.
+ * After this returns, handle should be considered invalid and cannot be reused
+ * in any way.
+ * @param myhandle the context handle
+ * @return 0 on success, -1 on error
+ */
int alpm_release(alpm_handle_t *handle);
+
+/** @} */
+
+/** Remove the database lock file
+ * @param handle the context handle
+ * @return 0 on success, -1 on error
+ *
+ * @note Safe to call from inside signal handlers.
+ */
int alpm_unlock(alpm_handle_t *handle);
enum alpm_caps {
@@ -1582,12 +1802,27 @@ enum alpm_caps {
ALPM_CAPABILITY_SIGNATURES = (1 << 2)
};
+/** Get the version of library.
+ * @return the library version, e.g. "6.0.4"
+ * */
const char *alpm_version(void);
-/* Return a bitfield of capabilities using values from 'enum alpm_caps' */
+
+/** Get the capabilities of the library.
+ * @return a bitmask of the capabilities
+ * */
int alpm_capabilities(void);
+/**
+ * Free a fileconflict and its members.
+ * @param conflict the fileconflict to free
+ */
void alpm_fileconflict_free(alpm_fileconflict_t *conflict);
void alpm_depmissing_free(alpm_depmissing_t *miss);
+
+/**
+ * Free a conflict and its members.
+ * @param conflict the conflict to free
+ */
void alpm_conflict_free(alpm_conflict_t *conflict);
/* End of alpm_api */
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 07d2b4ae..5a97d31e 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -136,41 +136,6 @@ valid:
return 0;
}
-/** Update a package database
- *
- * An update of the package database \a db will be attempted. Unless
- * \a force is true, the update will only be performed if the remote
- * database was modified since the last update.
- *
- * This operation requires a database lock, and will return an applicable error
- * if the lock could not be obtained.
- *
- * Example:
- * @code
- * alpm_list_t *syncs = alpm_get_syncdbs();
- * for(i = syncs; i; i = alpm_list_next(i)) {
- * alpm_db_t *db = alpm_list_getdata(i);
- * result = alpm_db_update(0, db);
- *
- * if(result < 0) {
- * printf("Unable to update database: %s\n", alpm_strerrorlast());
- * } else if(result == 1) {
- * printf("Database already up to date\n");
- * } else {
- * printf("Database updated\n");
- * }
- * }
- * @endcode
- *
- * @ingroup alpm_databases
- * @note After a successful update, the \link alpm_db_get_pkgcache()
- * package cache \endlink will be invalidated
- * @param force if true, then forces the update, otherwise update only in case
- * the database isn't up to date
- * @param db pointer to the package database to update
- * @return 0 on success, -1 on error (pm_errno is set accordingly), 1 if up to
- * to date
- */
int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
{
char *syncpath;
diff --git a/lib/libalpm/conflict.c b/lib/libalpm/conflict.c
index 80827ed6..65026f7c 100644
--- a/lib/libalpm/conflict.c
+++ b/lib/libalpm/conflict.c
@@ -63,9 +63,6 @@ error:
return NULL;
}
-/**
- * @brief Free a conflict and its members.
- */
void SYMEXPORT alpm_conflict_free(alpm_conflict_t *conflict)
{
ASSERT(conflict != NULL, return);
@@ -243,14 +240,6 @@ alpm_list_t *_alpm_outerconflicts(alpm_db_t *db, alpm_list_t *packages)
return baddeps;
}
-/**
- * @brief Check the package conflicts in a database
- *
- * @param handle the context handle
- * @param pkglist the list of packages to check
- *
- * @return an alpm_list_t of alpm_conflict_t
- */
alpm_list_t SYMEXPORT *alpm_checkconflicts(alpm_handle_t *handle,
alpm_list_t *pkglist)
{
@@ -300,9 +289,6 @@ error:
RET_ERR(handle, ALPM_ERR_MEMORY, conflicts);
}
-/**
- * @brief Frees a conflict and its members.
- */
void SYMEXPORT alpm_fileconflict_free(alpm_fileconflict_t *conflict)
{
ASSERT(conflict != NULL, return);
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 43ca1fc8..8a18c5a8 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -37,12 +37,6 @@
#include "package.h"
#include "group.h"
-/** \addtogroup alpm_databases Database Functions
- * @brief Functions to query and manipulate the database of libalpm
- * @{
- */
-
-/** Register a sync database of packages. */
alpm_db_t SYMEXPORT *alpm_register_syncdb(alpm_handle_t *handle,
const char *treename, int siglevel)
{
@@ -81,7 +75,6 @@ void _alpm_db_unregister(alpm_db_t *db)
_alpm_db_free(db);
}
-/** Unregister all package databases. */
int SYMEXPORT alpm_unregister_all_syncdbs(alpm_handle_t *handle)
{
alpm_list_t *i;
@@ -102,7 +95,6 @@ int SYMEXPORT alpm_unregister_all_syncdbs(alpm_handle_t *handle)
return 0;
}
-/** Unregister a package database. */
int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
{
int found = 0;
@@ -139,14 +131,12 @@ int SYMEXPORT alpm_db_unregister(alpm_db_t *db)
return 0;
}
-/** Get the serverlist of a database. */
alpm_list_t SYMEXPORT *alpm_db_get_servers(const alpm_db_t *db)
{
ASSERT(db != NULL, return NULL);
return db->servers;
}
-/** Set the serverlist of a database. */
int SYMEXPORT alpm_db_set_servers(alpm_db_t *db, alpm_list_t *servers)
{
ASSERT(db != NULL, return -1);
@@ -168,11 +158,6 @@ static char *sanitize_url(const char *url)
return newurl;
}
-/** Add a download server to a database.
- * @param db database pointer
- * @param url url of the server
- * @return 0 on success, -1 on error (pm_errno is set accordingly)
- */
int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
{
char *newurl;
@@ -193,12 +178,6 @@ int SYMEXPORT alpm_db_add_server(alpm_db_t *db, const char *url)
return 0;
}
-/** Remove a download server from a database.
- * @param db database pointer
- * @param url url of the server
- * @return 0 on success, 1 on server not present,
- * -1 on error (pm_errno is set accordingly)
- */
int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
{
char *newurl, *vdata = NULL;
@@ -227,14 +206,12 @@ int SYMEXPORT alpm_db_remove_server(alpm_db_t *db, const char *url)
return ret;
}
-/** Get the name of a package database. */
const char SYMEXPORT *alpm_db_get_name(const alpm_db_t *db)
{
ASSERT(db != NULL, return NULL);
return db->treename;
}
-/** Get the signature verification level for a database. */
int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
{
ASSERT(db != NULL, return -1);
@@ -245,7 +222,6 @@ int SYMEXPORT alpm_db_get_siglevel(alpm_db_t *db)
}
}
-/** Check the validity of a database. */
int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
{
ASSERT(db != NULL, return -1);
@@ -253,7 +229,6 @@ int SYMEXPORT alpm_db_get_valid(alpm_db_t *db)
return db->ops->validate(db);
}
-/** Get a package entry from a package database. */
alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
{
alpm_pkg_t *pkg;
@@ -269,7 +244,6 @@ alpm_pkg_t SYMEXPORT *alpm_db_get_pkg(alpm_db_t *db, const char *name)
return pkg;
}
-/** Get the package cache of a package database. */
alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
{
ASSERT(db != NULL, return NULL);
@@ -277,7 +251,6 @@ alpm_list_t SYMEXPORT *alpm_db_get_pkgcache(alpm_db_t *db)
return _alpm_db_get_pkgcache(db);
}
-/** Get a group entry from a package database. */
alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
{
ASSERT(db != NULL, return NULL);
@@ -288,7 +261,6 @@ alpm_group_t SYMEXPORT *alpm_db_get_group(alpm_db_t *db, const char *name)
return _alpm_db_get_groupfromcache(db, name);
}
-/** Get the group cache of a package database. */
alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
{
ASSERT(db != NULL, return NULL);
@@ -297,7 +269,6 @@ alpm_list_t SYMEXPORT *alpm_db_get_groupcache(alpm_db_t *db)
return _alpm_db_get_groupcache(db);
}
-/** Searches a database. */
int SYMEXPORT alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
alpm_list_t **ret)
{
@@ -308,7 +279,6 @@ int SYMEXPORT alpm_db_search(alpm_db_t *db, const alpm_list_t *needles,
return _alpm_db_search(db, needles, ret);
}
-/** Sets the usage bitmask for a repo */
int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
{
ASSERT(db != NULL, return -1);
@@ -316,7 +286,6 @@ int SYMEXPORT alpm_db_set_usage(alpm_db_t *db, int usage)
return 0;
}
-/** Gets the usage bitmask for a repo */
int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
{
ASSERT(db != NULL, return -1);
@@ -325,9 +294,6 @@ int SYMEXPORT alpm_db_get_usage(alpm_db_t *db, int *usage)
return 0;
}
-
-/** @} */
-
alpm_db_t *_alpm_db_new(const char *treename, int is_local)
{
alpm_db_t *db;
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index b3732870..fc0a5308 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -286,12 +286,6 @@ static int no_dep_version(alpm_handle_t *handle)
return (handle->trans->flags & ALPM_TRANS_FLAG_NODEPVERSION);
}
-/** Find a package satisfying a specified dependency.
- * The dependency can include versions with depmod operators.
- * @param pkgs an alpm_list_t* of alpm_pkg_t where the satisfier will be searched
- * @param depstring package or provision name, versioned or not
- * @return a alpm_pkg_t* satisfying depstring
- */
alpm_pkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring)
{
alpm_depend_t *dep = alpm_dep_from_string(depstring);
@@ -303,15 +297,6 @@ alpm_pkg_t SYMEXPORT *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstri
return pkg;
}
-/** Checks dependencies and returns missing ones in a list.
- * Dependencies can include versions with depmod operators.
- * @param handle the context handle
- * @param pkglist the list of local packages
- * @param remove an alpm_list_t* of packages to be removed
- * @param upgrade an alpm_list_t* of packages to be upgraded (remove-then-upgrade)
- * @param reversedeps handles the backward dependencies
- * @return an alpm_list_t* of alpm_depmissing_t pointers.
- */
alpm_list_t SYMEXPORT *alpm_checkdeps(alpm_handle_t *handle,
alpm_list_t *pkglist, alpm_list_t *rem, alpm_list_t *upgrade,
int reversedeps)
@@ -763,18 +748,6 @@ static alpm_pkg_t *resolvedep(alpm_handle_t *handle, alpm_depend_t *dep,
return NULL;
}
-/** Find a package satisfying a specified dependency.
- * First look for a literal, going through each db one by one. Then look for
- * providers. The first satisfier that belongs to an installed package is
- * returned. If no providers belong to an installed package then an
- * alpm_question_select_provider_t is created to select the provider.
- * The dependency can include versions with depmod operators.
- *
- * @param handle the context handle
- * @param dbs an alpm_list_t* of alpm_db_t where the satisfier will be searched
- * @param depstring package or provision name, versioned or not
- * @return a alpm_pkg_t* satisfying depstring
- */
alpm_pkg_t SYMEXPORT *alpm_find_dbs_satisfier(alpm_handle_t *handle,
alpm_list_t *dbs, const char *depstring)
{
@@ -889,11 +862,6 @@ int _alpm_resolvedeps(alpm_handle_t *handle, alpm_list_t *localpkgs,
return ret;
}
-/** Reverse of splitdep; make a dep string from a alpm_depend_t struct.
- * The string must be freed!
- * @param dep the depend to turn into a string
- * @return a string-formatted dependency with operator if necessary
- */
char SYMEXPORT *alpm_dep_compute_string(const alpm_depend_t *dep)
{
const char *name, *opr, *ver, *desc_delim, *desc;
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index b3e6a411..72e3ca60 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -652,7 +652,6 @@ static char *filecache_find_url(alpm_handle_t *handle, const char *url)
return _alpm_filecache_find(handle, filebase);
}
-/** Fetch a remote pkg. */
char SYMEXPORT *alpm_fetch_pkgurl(alpm_handle_t *handle, const char *url)
{
char *filepath;
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index e3193f40..c4814b9f 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -123,12 +123,6 @@ int _alpm_handle_lock(alpm_handle_t *handle)
return (handle->lockfd >= 0 ? 0 : -1);
}
-/** Remove the database lock file
- * @param handle the context handle
- * @return 0 on success, -1 on error
- *
- * @note Safe to call from inside signal handlers.
- */
int SYMEXPORT alpm_unlock(alpm_handle_t *handle)
{
ASSERT(handle != NULL, return -1);
diff --git a/lib/libalpm/log.c b/lib/libalpm/log.c
index bae92f1f..a6702782 100644
--- a/lib/libalpm/log.c
+++ b/lib/libalpm/log.c
@@ -30,11 +30,6 @@
#include "util.h"
#include "alpm.h"
-/** \addtogroup alpm_log Logging Functions
- * @brief Functions to log using libalpm
- * @{
- */
-
static int _alpm_log_leader(FILE *f, const char *prefix)
{
time_t t = time(NULL);
@@ -47,12 +42,6 @@ static int _alpm_log_leader(FILE *f, const char *prefix)
return fprintf(f, "[%s] [%s] ", timestamp, prefix);
}
-/** A printf-like function for logging.
- * @param handle the context handle
- * @param prefix caller-specific prefix for the log
- * @param fmt output format
- * @return 0 on success, -1 on error (pm_errno is set accordingly)
- */
int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
const char *fmt, ...)
{
@@ -109,8 +98,6 @@ int SYMEXPORT alpm_logaction(alpm_handle_t *handle, const char *prefix,
return ret;
}
-/** @} */
-
void _alpm_log(alpm_handle_t *handle, alpm_loglevel_t flag, const char *fmt, ...)
{
va_list args;
diff --git a/lib/libalpm/package.c b/lib/libalpm/package.c
index 4b391a9c..11d37d43 100644
--- a/lib/libalpm/package.c
+++ b/lib/libalpm/package.c
@@ -34,12 +34,6 @@
#include "handle.h"
#include "deps.h"
-/** \addtogroup alpm_packages Package Functions
- * @brief Functions to manipulate libalpm packages
- * @{
- */
-
-/** Free a package. */
int SYMEXPORT alpm_pkg_free(alpm_pkg_t *pkg)
{
ASSERT(pkg != NULL, return -1);
@@ -52,7 +46,6 @@ int SYMEXPORT alpm_pkg_free(alpm_pkg_t *pkg)
return 0;
}
-/** Check the integrity (with md5) of a package from the sync cache. */
int SYMEXPORT alpm_pkg_checkmd5sum(alpm_pkg_t *pkg)
{
char *fpath;
@@ -397,7 +390,6 @@ alpm_db_t SYMEXPORT *alpm_pkg_get_db(alpm_pkg_t *pkg)
return pkg->origin_data.db;
}
-/** Open a package changelog for reading. */
void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
{
ASSERT(pkg != NULL, return NULL);
@@ -405,7 +397,6 @@ void SYMEXPORT *alpm_pkg_changelog_open(alpm_pkg_t *pkg)
return pkg->ops->changelog_open(pkg);
}
-/** Read data from an open changelog 'file stream'. */
size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
const alpm_pkg_t *pkg, void *fp)
{
@@ -414,7 +405,6 @@ size_t SYMEXPORT alpm_pkg_changelog_read(void *ptr, size_t size,
return pkg->ops->changelog_read(ptr, size, pkg, fp);
}
-/** Close a package changelog for reading. */
int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
{
ASSERT(pkg != NULL, return -1);
@@ -422,7 +412,6 @@ int SYMEXPORT alpm_pkg_changelog_close(const alpm_pkg_t *pkg, void *fp)
return pkg->ops->changelog_close(pkg, fp);
}
-/** Open a package mtree file for reading. */
struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
{
ASSERT(pkg != NULL, return NULL);
@@ -430,7 +419,6 @@ struct archive SYMEXPORT *alpm_pkg_mtree_open(alpm_pkg_t * pkg)
return pkg->ops->mtree_open(pkg);
}
-/** Read entry from an open mtree file. */
int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archive,
struct archive_entry **entry)
{
@@ -439,7 +427,6 @@ int SYMEXPORT alpm_pkg_mtree_next(const alpm_pkg_t * pkg, struct archive *archiv
return pkg->ops->mtree_next(pkg, archive, entry);
}
-/** Close a package mtree file for reading. */
int SYMEXPORT alpm_pkg_mtree_close(const alpm_pkg_t * pkg, struct archive *archive)
{
ASSERT(pkg != NULL, return -1);
@@ -510,21 +497,16 @@ static alpm_list_t *compute_requiredby(alpm_pkg_t *pkg, int optional)
return reqs;
}
-/** Compute the packages requiring a given package. */
alpm_list_t SYMEXPORT *alpm_pkg_compute_requiredby(alpm_pkg_t *pkg)
{
return compute_requiredby(pkg, 0);
}
-/** Compute the packages optionally requiring a given package. */
alpm_list_t SYMEXPORT *alpm_pkg_compute_optionalfor(alpm_pkg_t *pkg)
{
return compute_requiredby(pkg, 1);
}
-
-/** @} */
-
alpm_file_t *_alpm_file_copy(alpm_file_t *dest,
const alpm_file_t *src)
{
@@ -764,16 +746,6 @@ alpm_pkg_t SYMEXPORT *alpm_pkg_find(alpm_list_t *haystack, const char *needle)
return NULL;
}
-/** Test if a package should be ignored.
- *
- * Checks if the package is ignored via IgnorePkg, or if the package is
- * in a group ignored via IgnoreGroup.
- *
- * @param handle the context handle
- * @param pkg the package to test
- *
- * @return 1 if the package should be ignored, 0 otherwise
- */
int SYMEXPORT alpm_pkg_should_ignore(alpm_handle_t *handle, alpm_pkg_t *pkg)
{
alpm_list_t *groups = NULL;
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 9030bfee..e0b08586 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -46,14 +46,6 @@
#include "handle.h"
#include "filelist.h"
-/**
- * @brief Add a package removal action to the transaction.
- *
- * @param handle the context handle
- * @param pkg the package to uninstall
- *
- * @return 0 on success, -1 on error
- */
int SYMEXPORT alpm_remove_pkg(alpm_handle_t *handle, alpm_pkg_t *pkg)
{
const char *pkgname;
diff --git a/lib/libalpm/signing.c b/lib/libalpm/signing.c
index 257a287f..bae52a58 100644
--- a/lib/libalpm/signing.c
+++ b/lib/libalpm/signing.c
@@ -35,14 +35,6 @@
#include "alpm.h"
#include "handle.h"
-/**
- * Decode a loaded signature in base64 form.
- * @param base64_data the signature to attempt to decode
- * @param data the decoded data; must be freed by the caller
- * @param data_len the length of the returned data
- * @return 0 on success, -1 on failure to properly decode
- */
-
int SYMEXPORT alpm_decode_signature(const char *base64_data,
unsigned char **data, size_t *data_len)
{
@@ -999,12 +991,6 @@ int _alpm_process_siglist(alpm_handle_t *handle, const char *identifier,
return retry;
}
-/**
- * Check the PGP signature for the given package file.
- * @param pkg the package to check
- * @param siglist a pointer to storage for signature results
- * @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
- */
int SYMEXPORT alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg,
alpm_siglist_t *siglist)
{
@@ -1016,12 +1002,6 @@ int SYMEXPORT alpm_pkg_check_pgp_signature(alpm_pkg_t *pkg,
pkg->base64_sig, siglist);
}
-/**
- * Check the PGP signature for the given database.
- * @param db the database to check
- * @param siglist a pointer to storage for signature results
- * @return a int value : 0 (valid), 1 (invalid), -1 (an error occurred)
- */
int SYMEXPORT alpm_db_check_pgp_signature(alpm_db_t *db,
alpm_siglist_t *siglist)
{
@@ -1032,13 +1012,6 @@ int SYMEXPORT alpm_db_check_pgp_signature(alpm_db_t *db,
return _alpm_gpgme_checksig(db->handle, _alpm_db_path(db), NULL, siglist);
}
-/**
- * Clean up and free a signature result list.
- * Note that this does not free the siglist object itself in case that
- * was allocated on the stack; this is the responsibility of the caller.
- * @param siglist a pointer to storage for signature results
- * @return 0 on success, -1 on error
- */
int SYMEXPORT alpm_siglist_cleanup(alpm_siglist_t *siglist)
{
ASSERT(siglist != NULL, return -1);
@@ -1119,13 +1092,6 @@ static int parse_subpacket(alpm_handle_t *handle, const char *identifier,
return 0;
}
-/**
- * Extract the Issuer Key ID from a signature
- * @param sig PGP signature
- * @param len length of signature
- * @param keys a pointer to storage for key IDs
- * @return 0 on success, -1 on error
- */
int SYMEXPORT alpm_extract_keyid(alpm_handle_t *handle, const char *identifier,
const unsigned char *sig, const size_t len, alpm_list_t **keys)
{
diff --git a/lib/libalpm/sync.c b/lib/libalpm/sync.c
index 97a351fe..d02a435f 100644
--- a/lib/libalpm/sync.c
+++ b/lib/libalpm/sync.c
@@ -52,10 +52,6 @@ struct keyinfo_t {
char* keyid;
};
-
-/** Check for new version of pkg in sync repos
- * (only the first occurrence is considered in sync)
- */
alpm_pkg_t SYMEXPORT *alpm_sync_get_new_version(alpm_pkg_t *pkg, alpm_list_t *dbs_sync)
{
alpm_list_t *i;
@@ -200,7 +196,6 @@ static alpm_list_t *check_replacers(alpm_handle_t *handle, alpm_pkg_t *lpkg,
return replacers;
}
-/** Search for packages to upgrade and add them to the transaction. */
int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
{
alpm_list_t *i, *j;
@@ -256,13 +251,6 @@ int SYMEXPORT alpm_sync_sysupgrade(alpm_handle_t *handle, int enable_downgrade)
return 0;
}
-/** Find group members across a list of databases.
- * If a member exists in several databases, only the first database is used.
- * IgnorePkg is also handled.
- * @param dbs the list of alpm_db_t *
- * @param name the name of the group
- * @return the list of alpm_pkg_t * (caller is responsible for alpm_list_free)
- */
alpm_list_t SYMEXPORT *alpm_find_group_pkgs(alpm_list_t *dbs,
const char *name)
{
@@ -673,11 +661,6 @@ cleanup:
return ret;
}
-/** Returns the size of the files that will be downloaded to install a
- * package.
- * @param newpkg the new package to upgrade to
- * @return the size of the download
- */
off_t SYMEXPORT alpm_pkg_download_size(alpm_pkg_t *newpkg)
{
if(!(newpkg->infolevel & INFRQ_DSIZE)) {
diff --git a/lib/libalpm/trans.c b/lib/libalpm/trans.c
index 14f7d5e3..8909b9e3 100644
--- a/lib/libalpm/trans.c
+++ b/lib/libalpm/trans.c
@@ -42,12 +42,6 @@
#include "deps.h"
#include "hook.h"
-/** \addtogroup alpm_trans Transaction Functions
- * @brief Functions to manipulate libalpm transactions
- * @{
- */
-
-/** Initialize the transaction. */
int SYMEXPORT alpm_trans_init(alpm_handle_t *handle, int flags)
{
alpm_trans_t *trans;
@@ -97,7 +91,6 @@ static alpm_list_t *check_arch(alpm_handle_t *handle, alpm_list_t *pkgs)
return invalid;
}
-/** Prepare a transaction. */
int SYMEXPORT alpm_trans_prepare(alpm_handle_t *handle, alpm_list_t **data)
{
alpm_trans_t *trans;
@@ -156,7 +149,6 @@ int SYMEXPORT alpm_trans_prepare(alpm_handle_t *handle, alpm_list_t **data)
return 0;
}
-/** Commit a transaction. */
int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
{
alpm_trans_t *trans;
@@ -233,9 +225,6 @@ int SYMEXPORT alpm_trans_commit(alpm_handle_t *handle, alpm_list_t **data)
return 0;
}
-/** Interrupt a transaction.
- * @note Safe to call from inside signal handlers.
- */
int SYMEXPORT alpm_trans_interrupt(alpm_handle_t *handle)
{
alpm_trans_t *trans;
@@ -253,7 +242,6 @@ int SYMEXPORT alpm_trans_interrupt(alpm_handle_t *handle)
return 0;
}
-/** Release a transaction. */
int SYMEXPORT alpm_trans_release(alpm_handle_t *handle)
{
alpm_trans_t *trans;
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index d12a4403..128d3cd7 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -1023,11 +1023,6 @@ static char *hex_representation(unsigned char *bytes, size_t size)
return str;
}
-/** Get the md5 sum of file.
- * @param filename name of the file
- * @return the checksum on success, NULL on error
- * @addtogroup alpm_misc
- */
char SYMEXPORT *alpm_compute_md5sum(const char *filename)
{
unsigned char output[16];
@@ -1041,11 +1036,6 @@ char SYMEXPORT *alpm_compute_md5sum(const char *filename)
return hex_representation(output, 16);
}
-/** Get the sha256 sum of file.
- * @param filename name of the file
- * @return the checksum on success, NULL on error
- * @addtogroup alpm_misc
- */
char SYMEXPORT *alpm_compute_sha256sum(const char *filename)
{
unsigned char output[32];
diff --git a/lib/libalpm/version.c b/lib/libalpm/version.c
index 5ae3b341..ae220ff6 100644
--- a/lib/libalpm/version.c
+++ b/lib/libalpm/version.c
@@ -216,20 +216,6 @@ cleanup:
return ret;
}
-/** Compare two version strings and determine which one is 'newer'.
- * Returns a value comparable to the way strcmp works. Returns 1
- * if a is newer than b, 0 if a and b are the same version, or -1
- * if b is newer than a.
- *
- * Different epoch values for version strings will override any further
- * comparison. If no epoch is provided, 0 is assumed.
- *
- * Keep in mind that the pkgrel is only compared if it is available
- * on both versions handed to this function. For example, comparing
- * 1.5-1 and 1.5 will yield 0; comparing 1.5-1 and 1.5-2 will yield
- * -1 as expected. This is mainly for supporting versioned dependencies
- * that do not include the pkgrel.
- */
int SYMEXPORT alpm_pkg_vercmp(const char *a, const char *b)
{
char *full1, *full2;
--
2.25.0
2
4
[pacman-dev] [PATCH 1/2] Note that checksums from "makepkg -g" are not ideal
by Allan McRae 25 Jan '20
by Allan McRae 25 Jan '20
25 Jan '20
Generating checksums with "makepkg -g" only determines that the user of a
PKGBUILD has the same file as the packager (assuming no collision). This
means an upstream source could be maliciously changed and passed on as valid
by a PKGBUILD. To avoid this, it is essential that any checksums used in
a PKGBUILD are as provided by upstream.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
---
doc/PKGBUILD.5.asciidoc | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/doc/PKGBUILD.5.asciidoc b/doc/PKGBUILD.5.asciidoc
index ef53c0ee..abe2ab52 100644
--- a/doc/PKGBUILD.5.asciidoc
+++ b/doc/PKGBUILD.5.asciidoc
@@ -152,7 +152,9 @@ contain whitespace characters.
file integrity during subsequent builds. If 'SKIP' is put in the array
in place of a normal hash, the integrity check for that source file will
be skipped. To easily generate md5sums, run ``makepkg -g >> PKGBUILD''.
- If desired, move the md5sums line to an appropriate location.
+ If desired, move the md5sums line to an appropriate location. Note that
+ checksums generated by "makepkg -g" provide little security benefit. All
+ checksum values should be as provided by the software developer.
*sha1sums, sha224sums, sha256sums, sha384sums, sha512sums, b2sums (arrays)*::
Alternative integrity checks that makepkg supports; these all behave
--
2.25.0
4
8
24 Jan '20
It looks like this function has never actually worked. The current list
is never set to NULL after being freed. So the new deps were just
appended to the already freed list, leading to a segfault.
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index e3193f40..23464045 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -690,6 +690,7 @@ int SYMEXPORT alpm_option_set_assumeinstalled(alpm_handle_t *handle, alpm_list_t
if(handle->assumeinstalled) {
alpm_list_free_inner(handle->assumeinstalled, (alpm_list_fn_free)alpm_dep_free);
alpm_list_free(handle->assumeinstalled);
+ handle->assumeinstalled = NULL;
}
while(deps) {
if(alpm_option_add_assumeinstalled(handle, deps->data) != 0) {
--
2.25.0
2
1
[pacman-dev] [PATCH] Replace MD5 with SHA-256 as a default file integrity check in PKGBUILDs
by Artur Juraszek 23 Jan '20
by Artur Juraszek 23 Jan '20
23 Jan '20
Hi all,
While poking through Arch's package system, I noticed that despite its
bad reputation, MD5 remains a default, and even some kind of a "recommendation", due
to its presence in the example PKBUILDs, hashing algorithm for file integrity verification.
Is there a reason to not have it changed to a more future-proof one? I mean, at least for now,
it seems good enough to protect before a so-called "2nd preimage attack", which is the primary
concern in the classic file verification scenario, BUT:
a) given the huge size of AUR and its rather chaotic nature, it is not that hard to imagine
_a_ malicious upstream which could try to sneak some nasty changes in its own files,
with AUR maintainer not noticing anything - leveraging flaws which do exist and are quite
well-explored even today.
b) it's already shown its weaknesses and it is not going to be any better - the only research direction
is to found more (practical) attacks against MD5, so faster the change, fewer the people possibly
affected in the future
Attaching a patch which, I think, replaces MD5 with SHA256 as a default completely - it's my first
change in ABS-related code, though, so please do not hesitate to criticize if something's wrong ;]
--
Artur Juraszek
5
7
Commit e6a6d307 detected complete part files by comparing a payload's
max_size to initial_size. However, these values are also equal when we
use pacman -U on a URL as max_size is set to 0 in that case. Add a further
condition to avoid that.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
---
lib/libalpm/dload.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
index b3e6a411..e72a0b2a 100644
--- a/lib/libalpm/dload.c
+++ b/lib/libalpm/dload.c
@@ -415,7 +415,7 @@ static int curl_download_internal(struct dload_payload *payload,
curl_set_handle_opts(payload, curl, error_buffer);
- if(payload->max_size == payload->initial_size) {
+ if(payload->max_size == payload->initial_size && payload->max_size != 0) {
/* .part file is complete */
ret = 0;
goto cleanup;
--
2.25.0
1
0
Hello folks.
A few days ago there was a conversation at #pacman-dev IRC channel
about the ways to reduce pacman database size. David and few other
folks discussed how pgp signatures affect the final compressed size. I
decided to use this question for a small personal study. I would like
to present its results here.
Here are the scripts that I used for the following experiments
https://pkgbuild.com/~anatolik/db-size-experiments/ This directory
also contains all the generated datafiles that I am going to discuss
below. I use today’s community.db as the initial sample (file
db.original).
The first experiment is to parse db tarfile using the script and then
write it back to a file:
uncompressed size is 17757184 that is equal to original sample
'zstd -19' compressed size is 4366994 that is 1.0084540990896713
times better than original sample
Tar *entries* content is identical to the original file. Uncompressed
size is exactly the same. Compressed (zstd -19) size is 0.8% better.
It comes from the fact that my script does not set entries user/group
value and neither sets tar entries modification time. I am not sure if
this information is actually used by pacman. Modification time
contains a lot of entropy that compressor does not like.
The next experiment is the same database but without ‘%MD5SUM%
entries. md5sum is an old hash function algorithm that has known
security issues and it cannot be qualified as a cryptographically
strong hash function by modern day standards.
Experiment 'plain_nomd5':
uncompressed size is 17536365 that is 1.0125920622660398 times
better than original sample
'zstd -19' compressed size is 4188019 that is 1.0515503869490563
times better than original sample
Uncompressed size reduced by 1% and compressed size is 5% smaller. Md5
has a lot of entropy and compressor does not like it.
The next experiment is to remove package pgp signatures. Arch repos
have detached *.sig files for the packages so let’s see how removing
%PGPSIG% affects database size:
uncompressed size is 14085120 that is 1.2607051981097783 times
better than original sample
'zstd -19' compressed size is 1160912 that is 3.7934942527943547
times better than original sample
Uncompressed size is 1.26 times smaller and compressed size is 3.8
times smaller!!!! That’s a big difference.
And now db without both md5 and pgpsig:
uncompressed size is 13248000 that is 1.3403671497584542 times
better than original sample
'zstd -19' compressed size is 1021667 that is 4.310517027563776
times better than original sample
Compressed db size is down to 1MB that 4.3 times smaller than the
original compressed db!!!
Until now we were talking about current db format that is a set of
files with plain text format. While this format is flexible and it is
easy to add new fields it also introduces a lot of redundancy. I've
been always curious how far we can go down with the db file size. What
if we remove the repeating information and use some form of ‘stripped
down’ format. Something similar to ‘packed’ C structs where only field
values are stored. In addition to space effectiveness it is very easy
to implement the parser (C, ruby or in any other language), see the
scripts I shared above. The downside of such format its inflexibility
and it’s harder to achieve forward compatibility.
Okay let’s talk about the numbers:
Experiment 'packed':
uncompressed size is 7317679 that is 2.4266142310970458 times better
than original sample
'zstd -19' compressed size is 4145790 that is 1.062261474893808
times better than original sample
Packed uncompressed format is 2.42 times better than the tar file
solution. That’s how much redundant data our current format contains.
But what is really mind-blowing is that compressed format is only 6.2%
better than for the plain text. Woah!!! Modern day compressors make
wonders. zstd is very good in detecting and compressing all the
redundancy in our files.
Packed format without md5 field:
uncompressed size is 7201183 that is 2.4658703993496625 times better
than original sample
'zstd -19' compressed size is 3996814 that is 1.1018558782069918
times better than original sample
Now without pgp signatures:
uncompressed size is 2954238 that is 6.010749303204413 times better
than original sample
'zstd -19' compressed size is 883681 that is 4.983600416892521 times
better than original sample
Packed format, no md5, no pgp:
uncompressed size is 2837742 that is 6.257504734397982 times better
than original sample
'zstd -19' compressed size is 763730 that is 5.7663218676757495
times better than original sample
The smallest db size I was able to achieve is 764K (packed +
compressed) that is 1.34 times better than plain+compressed format w/o
md5 and pgp.
3
5
We previously has the maximum database size as 25MB. This was set in the days
before repos had as many packages as they do now, and before we started
distributing files databases. Increase this limit to 128MB.
Signed-off-by: Allan McRae <allan(a)archlinux.org>
---
So this has been hit in the wild. Manjaro patches their pacman package to
allow databases of 32MB, because their [community] repo files database
breaks the 25MB limit. But being Manjaro, the patch was never forwarded
upstream, just like everything they have ever done.
People in Arch are no better. A bug was reported, but some idiot (named
Antonio Rojas) closed the bug as "not a bug", because it was not an
Arch repo running into the issue.
So I only discovered this by seeing a closed bug report.
Now, onto the change... this is ~4x bigger than anything seen in the
wild currently. Is that enough of an increasse.
lib/libalpm/be_sync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/libalpm/be_sync.c b/lib/libalpm/be_sync.c
index 07d2b4ae..a7050290 100644
--- a/lib/libalpm/be_sync.c
+++ b/lib/libalpm/be_sync.c
@@ -224,7 +224,7 @@ int SYMEXPORT alpm_db_update(int force, alpm_db_t *db)
int sig_ret = 0;
/* set hard upper limit of 25MiB */
- payload.max_size = 25 * 1024 * 1024;
+ payload.max_size = 128 * 1024 * 1024;
/* print server + filename into a buffer */
len = strlen(server) + strlen(db->treename) + strlen(dbext) + 2;
--
2.25.0
3
6
[pacman-dev] [PATCH] makepkg: make source tarballs work with per-package files containing '$pkgname'
by Eli Schwartz 19 Jan '20
by Eli Schwartz 19 Jan '20
19 Jan '20
Extracting function variables containing arbitrarily scoped variables of
arbitrary nature is a disaster, but let's at least cover the common case
of using the actual '$pkgname' in an install/changelog file. It's the
odd case of actually being basically justified use of disambiguating
between the same variable used in multiple different split packages and
is even recommended in the PKGBUILD(5) documentation...
... and also, --printsrcinfo already uses and overwrites the variable
'pkgname' in pkgbuild_extract_to_srcinfo, so this "works" in .SRCINFO
but doesn't work in .src.tar.gz
Fixes FS#64932
Signed-off-by: Eli Schwartz <eschwartz(a)archlinux.org>
---
scripts/makepkg.sh.in | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ca3e7459..674e0d87 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -784,13 +784,14 @@ create_srcpackage() {
fi
done
- local i
+ local pkgname_backup=(${pkgname[@]})
+ local i pkgname
for i in 'changelog' 'install'; do
local file files
[[ ${!i} ]] && files+=("${!i}")
- for name in "${pkgname[@]}"; do
- if extract_function_variable "package_$name" "$i" 0 file; then
+ for pkgname in "${pkgname_backup[@]}"; do
+ if extract_function_variable "package_$pkgname" "$i" 0 file; then
files+=("$file")
fi
done
@@ -802,6 +803,7 @@ create_srcpackage() {
fi
done
done
+ pkgname=(${pkgname_backup[@]})
local fullver=$(get_full_version)
local pkg_file="$SRCPKGDEST/${pkgbase}-${fullver}${SRCEXT}"
--
2.24.1
2
3
Dear Pacman devs,
Although running makepkg in root is frowned upon and considered dangerous,
there are circumstances that one might need to do so. For example, during
the bootstrap process of building my own toy gnu/linux distro (which uses
pacman/makepkg), I have to run makepkg in root. I have added an option
called "ALLOWROOT" to makepkg which when is set to 1 enables running
makepkg in root. This option is disable by default and wouldn't cause any
issue for the average user of pacman and makepkg. This is my first patch
for pacman so criticism is welcome and please let me know how to improve it.
>From def5a1cae3513e75aa6447a27f3f22a207ffdc61 Mon Sep 17 00:00:00 2001
From: Saul Tigh <jemzipx(a)gmail.com>
Date: Thu, 16 Jan 2020 18:58:27 +0700
Subject: Signed-off-by: Saul Tigh <jemzipx(a)gmail.com>
Although running makepkg in root is frowned upon, there are
circumstances that one might need to do so. For example, during the
bootstrap process of building his toy gnu/linux distro, the author of
this patch needs to run makepkg in root. This option is disable by
default. It can be enable by setting 'ALLOWROOT' in makepkg to 1.
---
scripts/makepkg.sh.in | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in
index ca3e7459..b2cd8ee4 100644
--- a/scripts/makepkg.sh.in
+++ b/scripts/makepkg.sh.in
@@ -79,6 +79,7 @@ SIGNPKG=''
SPLITPKG=0
SOURCEONLY=0
VERIFYSOURCE=0
+ALLOWROOT=0
if [[ -n $SOURCE_DATE_EPOCH ]]; then
REPRODUCIBLE=1
@@ -1175,9 +1176,13 @@ fi
if (( ! INFAKEROOT )); then
if (( EUID == 0 )); then
- error "$(gettext "Running %s as root is not allowed as it can cause
permanent,\n\
-catastrophic damage to your system.")" "makepkg"
- exit $E_ROOT
+ if (( ALLOWROOT )); then
+ plain "Running as root is not recommended. Proceed with caution."
+ else
+ error "$(gettext "Running %s as root is not allowed as it can cause
permanent,\n\
+ catastrophic damage to your system.")" "makepkg"
+ exit $E_ROOT
+ fi
fi
else
if [[ -z $FAKEROOTKEY ]]; then
@@ -1352,6 +1357,10 @@ if (( SOURCEONLY )); then
check_source_integrity all
cd_safe "$startdir"
+ # allow makepkg to run in root
+ if (( ALLOWROOT )); then
+ unset FAKEROOTKEY
+ fi
enter_fakeroot
if [[ $SIGNPKG = 'y' ]]; then
--
2.20.1
3
9