Merge branch 'maint'
This commit is contained in:
commit
a33424f879
8 changed files with 142 additions and 74 deletions
4
doc/.gitignore
vendored
4
doc/.gitignore
vendored
|
@ -9,7 +9,9 @@ pkgdelta.8
|
|||
repo-add.8
|
||||
repo-remove.8
|
||||
vercmp.8
|
||||
*.css
|
||||
asciidoc-manpage.css
|
||||
asciidoc.css
|
||||
asciidoc.js
|
||||
*.html
|
||||
*.xml
|
||||
man3
|
||||
|
|
|
@ -41,6 +41,7 @@ HTML_DOCS = \
|
|||
|
||||
EXTRA_DIST = \
|
||||
asciidoc.conf \
|
||||
asciidoc-override.css \
|
||||
pacman.8.txt \
|
||||
makepkg.8.txt \
|
||||
repo-add.8.txt \
|
||||
|
@ -91,8 +92,9 @@ html: $(HTML_DOCS)
|
|||
|
||||
website: html
|
||||
bsdtar czf website.tar.gz $(HTML_DOCS) \
|
||||
asciidoc-override.css \
|
||||
-C /etc/asciidoc/stylesheets/ \
|
||||
asciidoc.css asciidoc-manpage.css \
|
||||
asciidoc.css \
|
||||
-C /etc/asciidoc/javascripts/ \
|
||||
asciidoc.js \
|
||||
-C /etc/asciidoc/ \
|
||||
|
@ -116,7 +118,7 @@ A2X_OPTS = \
|
|||
--destination-dir='./'
|
||||
|
||||
# These rules are due to the includes and files of the asciidoc text
|
||||
$(ASCIIDOC_MANS): asciidoc.conf footer.txt
|
||||
$(ASCIIDOC_MANS): asciidoc.conf footer.txt Makefile
|
||||
a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS) --out-file=./$@.xml" $(srcdir)/$@.txt
|
||||
|
||||
%.html: %.txt
|
||||
|
@ -128,9 +130,9 @@ HACKING.html: ../HACKING
|
|||
dos2unix $@
|
||||
|
||||
# Customizations for certain HTML docs
|
||||
$(HTML_MANPAGES): asciidoc.conf footer.txt
|
||||
$(HTML_OTHER): asciidoc.conf
|
||||
%.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons
|
||||
$(HTML_MANPAGES): asciidoc.conf footer.txt Makefile
|
||||
$(HTML_OTHER): asciidoc.conf Makefile
|
||||
%.html: ASCIIDOC_OPTS += -a linkcss -a toc -a icons -a max-width=960px -a stylesheet=asciidoc-override.css
|
||||
%.8.html: ASCIIDOC_OPTS += -d manpage
|
||||
%.5.html: ASCIIDOC_OPTS += -d manpage
|
||||
%.3.html: ASCIIDOC_OPTS += -d manpage
|
||||
|
|
7
doc/asciidoc-override.css
Normal file
7
doc/asciidoc-override.css
Normal file
|
@ -0,0 +1,7 @@
|
|||
table th, table td {
|
||||
padding: 0.2em 1em;
|
||||
}
|
||||
|
||||
table td p.table {
|
||||
margin: 0;
|
||||
}
|
135
doc/index.txt
135
doc/index.txt
|
@ -28,6 +28,9 @@ being able to handle a much wider variety of cases. The switch to a
|
|||
library-based program should also make it easier in the future to develop
|
||||
alternative front ends.
|
||||
|
||||
Version 4.0 added package signing and verification capabilities to the entire
|
||||
makepkg/repo-add/pacman toolchain via GNUPG and GPGME.
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
|
@ -62,47 +65,97 @@ contain the biggest changes in a format more concise than the commit log.
|
|||
Releases
|
||||
--------
|
||||
|
||||
`------------`-------
|
||||
Date Version
|
||||
---------------------
|
||||
2011-08-10 v3.5.4
|
||||
2011-06-07 v3.5.3
|
||||
2011-04-18 v3.5.2
|
||||
2011-03-23 v3.5.1
|
||||
2011-03-16 v3.5.0
|
||||
2011-01-22 v3.4.3
|
||||
2010-12-29 v3.4.2
|
||||
2010-09-03 v3.4.1
|
||||
2010-06-16 v3.4.0
|
||||
2009-11-10 v3.3.3
|
||||
2009-10-05 v3.3.2
|
||||
2009-09-22 v3.3.1
|
||||
2009-08-02 v3.3.0
|
||||
2009-01-05 v3.2.2
|
||||
2008-08-26 v3.2.1
|
||||
2008-07-30 v3.2.0
|
||||
2008-04-01 v3.1.4
|
||||
2008-03-06 v3.1.3
|
||||
2008-02-20 v3.1.2
|
||||
2008-01-20 v3.1.1
|
||||
2008-01-09 v3.1.0
|
||||
2007-09-16 v3.0.6
|
||||
2007-06-17 v3.0.5
|
||||
2007-05-08 v3.0.4
|
||||
2007-04-28 v3.0.3
|
||||
2007-04-23 v3.0.2
|
||||
2007-04-04 v3.0.1
|
||||
2007-03-25 v3.0.0
|
||||
2006-02-02 v2.9.8
|
||||
2005-09-16 v2.9.7
|
||||
2005-06-10 v2.9.6
|
||||
2005-01-11 v2.9.5
|
||||
2004-12-19 v2.9.4
|
||||
2004-12-18 v2.9.3
|
||||
2004-09-25 v2.9.2
|
||||
2004-09-24 v2.9.1
|
||||
2004-09-18 v2.9
|
||||
---------------------
|
||||
[frame="none",grid="none",options="autowidth",cols="3*a"]
|
||||
|======
|
||||
|
|
||||
[frame="topbot",grid="none",options="header,autowidth"]
|
||||
!======
|
||||
!Version !Date
|
||||
!4.0.0 !2011-09-13
|
||||
!4.0.0rc2 !2011-09-22
|
||||
!4.0.0rc1 !2011-08-11
|
||||
!3.5.4 !2011-08-10
|
||||
!3.5.3 !2011-06-07
|
||||
!3.5.2 !2011-04-18
|
||||
!3.5.1 !2011-03-23
|
||||
!3.5.0 !2011-03-16
|
||||
!3.4.3 !2011-01-22
|
||||
!3.4.2 !2010-12-29
|
||||
!3.4.1 !2010-09-03
|
||||
!3.4.0 !2010-06-16
|
||||
!3.3.3 !2009-11-10
|
||||
!3.3.2 !2009-10-05
|
||||
!3.3.1 !2009-09-22
|
||||
!3.3.0 !2009-08-02
|
||||
!3.2.2 !2009-01-05
|
||||
!3.2.1 !2008-08-26
|
||||
!3.2.0 !2008-07-30
|
||||
!3.1.4 !2008-04-01
|
||||
!3.1.3 !2008-03-06
|
||||
!3.1.2 !2008-02-20
|
||||
!3.1.1 !2008-01-20
|
||||
!3.1.0 !2008-01-09
|
||||
!======
|
||||
|
|
||||
[frame="topbot",grid="none",options="header,autowidth"]
|
||||
!======
|
||||
!Version !Date
|
||||
!2.9.8 !2006-02-02
|
||||
!2.9.7 !2005-09-16
|
||||
!2.9.7-TEST3 !2005-09-11
|
||||
!2.9.7-TEST2 !2005-09-07
|
||||
!2.9.7-TEST !2005-08-19
|
||||
!2.9.6 !2005-06-10
|
||||
!2.9.5 !2005-01-11
|
||||
!2.9.4 !2004-12-20
|
||||
!2.9.3 !2004-12-19
|
||||
!2.9.2 !2004-09-25
|
||||
!2.9.1 !2004-09-25
|
||||
!2.9 !2004-09-18
|
||||
!2.8.4 !2004-08-23
|
||||
!2.8.3 !2004-08-04
|
||||
!2.8.2 !2004-07-22
|
||||
!2.8.1 !2004-07-17
|
||||
!2.8 !2004-07-03
|
||||
!2.7.9 !2004-04-30
|
||||
!2.7.8 !2004-04-29
|
||||
!2.7.7 !2004-04-15
|
||||
!2.7.6 !2004-04-04
|
||||
!2.7.5 !2004-03-02
|
||||
!2.7.4 !2004-02-18
|
||||
!2.7.3 !2004-02-07
|
||||
!======
|
||||
|
|
||||
[frame="topbot",grid="none",options="header,autowidth"]
|
||||
!======
|
||||
!Version !Date
|
||||
!2.7.2 !2004-01-04
|
||||
!2.7.1 !2003-12-21
|
||||
!2.7 !2003-11-25
|
||||
!2.6.4 !2003-10-17
|
||||
!2.6.3 !2003-10-01
|
||||
!2.6.2 !2003-09-29
|
||||
!2.6.1 !2003-09-15
|
||||
!2.6 !2003-09-03
|
||||
!2.5.1 !2003-07-12
|
||||
!2.5 !2003-05-30
|
||||
!2.4.1 !2003-04-19
|
||||
!2.4 !2003-04-11
|
||||
!2.3.2 !2003-03-17
|
||||
!2.3.1 !2003-03-14
|
||||
!2.3 !2003-02-27
|
||||
!2.2 !2002-12-11
|
||||
!2.1 !2002-09-16
|
||||
!2.0 !2002-08-09
|
||||
!1.23 !2002-04-30
|
||||
!1.22 !2002-04-12
|
||||
!1.21 !2002-04-03
|
||||
!1.2 !2002-03-18
|
||||
!1.1 !2002-03-10
|
||||
!1.0 !2002-02-25
|
||||
!======
|
||||
|
||||
|======
|
||||
|
||||
Source code for all releases is available at
|
||||
link:ftp://ftp.archlinux.org/other/pacman/[]. To install, download the newest
|
||||
|
|
|
@ -127,13 +127,14 @@ static int curl_progress(void *file, double dltotal, double dlnow,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int curl_gethost(const char *url, char *buffer)
|
||||
static int curl_gethost(const char *url, char *buffer, size_t buf_len)
|
||||
{
|
||||
size_t hostlen;
|
||||
char *p, *q;
|
||||
|
||||
if(strncmp(url, "file://", 7) == 0) {
|
||||
strcpy(buffer, _("disk"));
|
||||
p = _("disk");
|
||||
hostlen = strlen(p);
|
||||
} else {
|
||||
p = strstr(url, "//");
|
||||
if(!p) {
|
||||
|
@ -154,13 +155,14 @@ static int curl_gethost(const char *url, char *buffer)
|
|||
hostlen -= q - p + 1;
|
||||
p = q + 1;
|
||||
}
|
||||
}
|
||||
|
||||
if(hostlen > 255) {
|
||||
if(hostlen > buf_len - 1) {
|
||||
/* buffer overflow imminent */
|
||||
return 1;
|
||||
}
|
||||
snprintf(buffer, hostlen + 1, "%s", p);
|
||||
}
|
||||
memcpy(buffer, p, hostlen);
|
||||
buffer[hostlen] = '\0';
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -310,14 +312,16 @@ static FILE *create_tempfile(struct dload_payload *payload, const char *localpat
|
|||
return fp;
|
||||
}
|
||||
|
||||
/* RFC1123 states applications should support this length */
|
||||
#define HOSTNAME_SIZE 256
|
||||
|
||||
static int curl_download_internal(struct dload_payload *payload,
|
||||
const char *localpath, char **final_file)
|
||||
{
|
||||
int ret = -1;
|
||||
FILE *localf = NULL;
|
||||
char *effective_url;
|
||||
/* RFC1123 states applications should support this length */
|
||||
char hostname[256];
|
||||
char hostname[HOSTNAME_SIZE];
|
||||
char error_buffer[CURL_ERROR_SIZE] = {0};
|
||||
struct stat st;
|
||||
long timecond, respcode = 0, remote_time = -1;
|
||||
|
@ -332,7 +336,7 @@ static int curl_download_internal(struct dload_payload *payload,
|
|||
if(!payload->remote_name) {
|
||||
payload->remote_name = strdup(get_filename(payload->fileurl));
|
||||
}
|
||||
if(!payload->remote_name || curl_gethost(payload->fileurl, hostname) != 0) {
|
||||
if(!payload->remote_name || curl_gethost(payload->fileurl, hostname, sizeof(hostname)) != 0) {
|
||||
_alpm_log(handle, ALPM_LOG_ERROR, _("url '%s' is invalid\n"), payload->fileurl);
|
||||
RET_ERR(handle, ALPM_ERR_SERVER_BAD_URL, -1);
|
||||
}
|
||||
|
|
|
@ -38,7 +38,9 @@ struct dload_payload {
|
|||
int allow_resume;
|
||||
int errors_ok;
|
||||
int unlink_on_fail;
|
||||
#ifdef HAVE_LIBCURL
|
||||
CURLcode curlerr; /* last error produced by curl */
|
||||
#endif
|
||||
};
|
||||
|
||||
void _alpm_dload_payload_reset(struct dload_payload *payload);
|
||||
|
|
|
@ -174,17 +174,6 @@ clean_up() {
|
|||
}
|
||||
|
||||
|
||||
##
|
||||
# Signal Traps
|
||||
##
|
||||
set -E
|
||||
trap 'clean_up' 0
|
||||
for signal in TERM HUP QUIT; do
|
||||
trap "trap_exit \"$(gettext "%s signal caught. Exiting...")\" \"$signal\"" "$signal"
|
||||
done
|
||||
trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT
|
||||
trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR
|
||||
|
||||
enter_fakeroot() {
|
||||
msg "$(gettext "Entering %s environment...")" "fakeroot"
|
||||
|
||||
|
@ -1956,6 +1945,15 @@ while true; do
|
|||
shift
|
||||
done
|
||||
|
||||
# setup signal traps
|
||||
trap 'clean_up' 0
|
||||
for signal in TERM HUP QUIT; do
|
||||
trap "trap_exit \"$(gettext "%s signal caught. Exiting...")\" \"$signal\"" "$signal"
|
||||
done
|
||||
trap 'trap_exit "$(gettext "Aborted by user! Exiting...")"' INT
|
||||
trap 'trap_exit "$(gettext "An unknown error has occurred. Exiting...")"' ERR
|
||||
set -E
|
||||
|
||||
# preserve environment variables and canonicalize path
|
||||
[[ -n ${PKGDEST} ]] && _PKGDEST=$(canonicalize_path ${PKGDEST})
|
||||
[[ -n ${SRCDEST} ]] && _SRCDEST=$(canonicalize_path ${SRCDEST})
|
||||
|
|
|
@ -1043,19 +1043,19 @@ void print_packages(const alpm_list_t *packages)
|
|||
char *string = strdup(config->print_format);
|
||||
char *temp = string;
|
||||
/* %n : pkgname */
|
||||
if(strstr(temp,"%n")) {
|
||||
if(strstr(temp, "%n")) {
|
||||
string = strreplace(temp, "%n", alpm_pkg_get_name(pkg));
|
||||
free(temp);
|
||||
temp = string;
|
||||
}
|
||||
/* %v : pkgver */
|
||||
if(strstr(temp,"%v")) {
|
||||
if(strstr(temp, "%v")) {
|
||||
string = strreplace(temp, "%v", alpm_pkg_get_version(pkg));
|
||||
free(temp);
|
||||
temp = string;
|
||||
}
|
||||
/* %l : location */
|
||||
if(strstr(temp,"%l")) {
|
||||
if(strstr(temp, "%l")) {
|
||||
char *pkgloc = pkg_get_location(pkg);
|
||||
string = strreplace(temp, "%l", pkgloc);
|
||||
free(pkgloc);
|
||||
|
@ -1063,7 +1063,7 @@ void print_packages(const alpm_list_t *packages)
|
|||
temp = string;
|
||||
}
|
||||
/* %r : repo */
|
||||
if(strstr(temp,"%r")) {
|
||||
if(strstr(temp, "%r")) {
|
||||
const char *repo = "local";
|
||||
alpm_db_t *db = alpm_pkg_get_db(pkg);
|
||||
if(db) {
|
||||
|
@ -1074,7 +1074,7 @@ void print_packages(const alpm_list_t *packages)
|
|||
temp = string;
|
||||
}
|
||||
/* %s : size */
|
||||
if(strstr(temp,"%s")) {
|
||||
if(strstr(temp, "%s")) {
|
||||
char *size;
|
||||
pm_asprintf(&size, "%jd", (intmax_t)pkg_get_size(pkg));
|
||||
string = strreplace(temp, "%s", size);
|
||||
|
|
Loading…
Add table
Reference in a new issue