From 43cad9c871f32da7a5342ba8b68aa316d7e47e9e Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 13 Oct 2011 14:49:48 -0500 Subject: doc: update .gitignore, add CSS override for new tables usage * Make all docs depend on Makefile; if we change flags here we want them rebuilt. * Add explicit filenames to .gitignore so we can add our own CSS override file, and add an asciidoc-override.css resource. * Adjust a few asciidoc options when generating HTML. * Remove asciidoc-manpage.css; apparantly this doesn't exist anymore. Signed-off-by: Dan McGee --- doc/.gitignore | 4 +++- doc/Makefile.am | 12 +++++++----- doc/asciidoc-override.css | 7 +++++++ 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 doc/asciidoc-override.css diff --git a/doc/.gitignore b/doc/.gitignore index a7f33e55..5625735a 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -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 diff --git a/doc/Makefile.am b/doc/Makefile.am index aa27b506..f449e727 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -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 diff --git a/doc/asciidoc-override.css b/doc/asciidoc-override.css new file mode 100644 index 00000000..328c8fcd --- /dev/null +++ b/doc/asciidoc-override.css @@ -0,0 +1,7 @@ +table th, table td { + padding: 0.2em 1em; +} + +table td p.table { + margin: 0; +} -- cgit v1.2.3-70-g09d2 From 1ebe5dc1979e90c37d6534d6b1e0173a884326b1 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 13 Oct 2011 14:54:49 -0500 Subject: doc/index.txt: Reformat past releases chart This makes it a three-column deal with releases all the way back to 1.0. Signed-off-by: Dan McGee --- doc/index.txt | 135 ++++++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 94 insertions(+), 41 deletions(-) diff --git a/doc/index.txt b/doc/index.txt index 5e903e25..359b47fa 100644 --- a/doc/index.txt +++ b/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 -- cgit v1.2.3-70-g09d2 From 86bc36412e2619e0e05d61cf6216ef68814cf1cd Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 13 Oct 2011 12:53:56 -0500 Subject: curl_gethost() potential bug fixups This is in the realm of "probably not going to happen", but if someone were to translate "disk" to a string longer than 256 characters, we would have a smashed/corrupted stack due to our unchecked strcpy() call. Rework the function to always length-check the value we copy into the hostname buffer, and do it with memcpy rather than the more cumbersome and unnecessary snprintf. Finally, move the magic 256 value into a constant and pass it into the function which is going to get inlined anyway. Signed-off-by: Dan McGee --- lib/libalpm/dload.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c index 83060f97..cd2857c3 100644 --- a/lib/libalpm/dload.c +++ b/lib/libalpm/dload.c @@ -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) { - /* buffer overflow imminent */ - return 1; - } - snprintf(buffer, hostlen + 1, "%s", p); + if(hostlen > buf_len - 1) { + /* buffer overflow imminent */ + return 1; } + 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); } -- cgit v1.2.3-70-g09d2 From 5b5b250443ed416a2c2315c28a034501603cd003 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 13 Oct 2011 12:30:31 -0500 Subject: Coding style cleanups Signed-off-by: Dan McGee --- src/pacman/util.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/pacman/util.c b/src/pacman/util.c index ee8fe3ff..24ac782b 100644 --- a/src/pacman/util.c +++ b/src/pacman/util.c @@ -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); -- cgit v1.2.3-70-g09d2 From 185cbb8a44d9e084580d6a9f4ca004c20ee90103 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Fri, 14 Oct 2011 07:38:58 -0500 Subject: Add missing #ifdef around cURL error code in download struct Thanks to Eduardo Tongson on the mailing list. Signed-off-by: Dan McGee --- lib/libalpm/dload.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/libalpm/dload.h b/lib/libalpm/dload.h index 5442c0e2..f5f2cd9c 100644 --- a/lib/libalpm/dload.h +++ b/lib/libalpm/dload.h @@ -40,7 +40,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); -- cgit v1.2.3-70-g09d2 From 020bdb4298cd1bc53df7ca4d911cda7aaa65329c Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 13 Oct 2011 17:26:17 -0500 Subject: makepkg: don't attach traps until after argument parsing Nothing we do in our traps is necessary this early in the script. This fixes FS#26196. Signed-off-by: Dan McGee --- scripts/makepkg.sh.in | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index 09c1e963..3085bf59 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -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}) -- cgit v1.2.3-70-g09d2