Age | Commit message (Collapse) | Author | Files | Lines |
|
It is possible to throw EINTR from a system call such as open(), close(), or
waitpid() if custom signal handlers are set up and they are not initialized
with the SA_RESTART flag. This was noticed by Andreas Radke when ^C (SIGINT)
was given during the call to waitpid(), causing it to throw the EINTR error
and we could not accommodate it.
Simply wrap these calls in a simple loop that allows us to retry the call if
interrupted.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Because libalpm always returns a root path with a trailing slash, when we
use it to create our unspecified paths we get double slashes in the result.
Use the fix suggested by Jürgen Hötzel to remedy this.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11339, which is a regression of commit 89c2c5196:
When totaldownload is enabled, the database downloading percent (-Sy) is
always at 0. That is because we have no guarantee that the totaldownload
callback was called by libalpm. In particular, it is not called (and it
would not make sense to) when a single file is downloaded, like it is the
case with databases.
So the correct way to detect if totaldownload should be used is checking
both config->totaldownload and list_total, like it was already done in
several places in the cb_dl_progress function.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11331
The newline was lost with commit 9451b2e4f23a3c566fcfe3420c379b3cb3eb1f90.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
A source entry can now have the following form, to specify a different
filename :
"filename::http://path/to/file"
Of course, the old syntax is still supported :
"http://path/to/file"
And as before, in the second case, the filename used is simply "file".
This fixes FS#11292, because handling multiple source files with the same
name is now possible (just choose a different filename).
But it will also allow to deal much more nicely with funny url like this by
using a sane filename (and unfortunately, there are quite a few) :
http://www.vim.org/scripts/download_script.php?src_id=6992
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
* Update all .po files because of the last "-q,--quiet" fix.
Also for some strange reason, en_GB was missing a few c-format tags.
* Finally, delete all unused translations.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Xav : alignment fixes
|
|
|
|
|
|
|
|
|
|
[Xav: one minor fix to libalpm po file]
|
|
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
|
|
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
|
|
|
|
Xav : one minor fix (a missing %s in the downgrading message).
|
|
|
|
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We had one "None" and one "None\n" string; we can let the program do the
addition of the newline so we don't have to.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
* Change the return values to be more informative.
It was previously boolean, only indicating if a sync package was newer than
a local package.
Now it is a simple wrapper to vercmp, handling the force flag.
* Remove the verbose output from _alpm_pkg_compare_versions.
The "force" message is not so useful.
The "package : local (v1) is newer than repo (v2)" message can be moved to
-Su operation.
For the -S operation, it is better to have something like :
"downgrading package from v1 to v2"
* Don't display the "up to date -- skipping" and "up to date -- reinstalling"
messages, when the local version is newer than the sync one.
* Fix the behavior of --needed option to not skip a target when the local
version is newer, and clarify its description.
* Add a new alpm_pkg_has_force function
This allows us to access the pkg->force field like any other package fields.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This is a work around for FS#8725.
There are some bad combination of proxies and mirrors where the Content
Length is not returned, and thus the progress bar can't be displayed
correctly.
Dan: Note that this patch also adds a "downloading" message when the
progress bar is disabled, which was formerly not indicated at all in the
output.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
The HACKING file seemed to be broken :
http://archlinux.org/pacman/HACKING.html
And indeed, running asciidoc HACKING issued a number of warnings :
WARNING: HACKING: line 27: missing [paradef-default] C-style entry
type: numbered : expected 1 got 3
WARNING: HACKING: line 44: list item 3 out of sequence
WARNING: HACKING: line 49: missing [paradef-default] C-style entry
type: numbered : expected 2 got 4
WARNING: HACKING: line 62: list item 4 out of sequence
type: numbered : expected 3 got 5
WARNING: HACKING: line 69: list item 5 out of sequence
type: numbered : expected 4 got 6
WARNING: HACKING: line 75: list item 6 out of sequence
type: numbered : expected 5 got 7
WARNING: HACKING: line 83: list item 7 out of sequence
WARNING: HACKING: line 104: missing [paradef-default] C-style entry
WARNING: HACKING: line 116: missing [paradef-default] C-style entry
WARNING: HACKING: line 126: missing [paradef-default] C-style entry
I just followed the syntax example there :
http://www.methods.co.nz/asciidoc/userguide.html#X56
And all is fine now :)
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
pacman already localizes the yesno stuff, so doing the same in makepkg is
more consistent.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This implements FS#10630.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
list_display puts several members on the same line, which is not appropriate
for optdepends:
Optdepends: foo: feature1 bar: feature2 baz: feature3
The new list_display_linebreak function puts every member on its own line,
which is much better with optdepends:
Optdepends: foo: feature1
bar: feature2
baz: feature3
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
[Xav: implement this new behavior as a new function rather than as a
parameter of list_display]
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
So dump_pkg_full will indent all strings correctly.
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
[Xav: add string_length function]
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11283 , which was originally reported on the forums :
http://bbs.archlinux.org/viewtopic.php?id=53794
Insensitive comparisons were implicitly made before since md5sum --status was
used for checking. Now that we use openssl and compare checksums manually in
bash, we lost that feature.
This can be easily reintroduced using tr '[A-F]' '[a-f]'
What convinced me to fix it is that the md5 command line tool generates md5sums
in upper case by default :
http://www.fourmilab.ch/md5/
And finally, A-F and a-f are the same in hex and both are used.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Commit 149839c5391e9a93 introduced a small behavior regression as a drawback
for a better portability. repo-add now includes the approximate size (to the
nearest KB) rather than an exact size due to the switching of the du command
to a more portable form. Instead of sacrificing the exact size, use
configure to help us determine a valid command to acquire our filesize and
place it in the sync database.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
See FS#10630.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
repo-add didn't handle whitespaces nicely in fields value, and this has hurt
us several times, first with provision version (FS#9171) and then with
optdepends (FS#10630), so it is time to fix it.
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Probably a tweakable "lockdb-retry" option was planned which is not
implemented. (Now it should be implemented in front-end.)
So now this variable was unused and caused a small memleak.
(FREE(dir) was not reached in case of error.)
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11218.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11203.
The doc has always mentioned NoPassiveFtp, but an inconsistency was
introduced with commit 76f816b9f764434d02e90207ee4656ebae2b6a8c when case
sensitive comparision was introduced, and was only found after commit
b3e6cf652c9e989badaf5499abb1d64c1a110927 which dropped the case insensitive
comparison.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
curl is likely to be available on the majority of systems and supports the
file:// protocol.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11180.
The usage of the total percent was detected like this :
/* use disp_percent if it is not 0, else show bar_percent */
However, it is very possible that the total percent is 0 at the beginning,
if the first packages downloaded are very small compared to the total
download.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
With the "set -e" property set, a failure when sourcing /etc/profile
can cause makepkg to exit without error message. The bash-completion
package activates this bug. Fixes FS#11179.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Fixes FS#11149.
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
Due to differences in handling va_list between i686 and x86_64, this bug
can only be seen on x86_64. va_list usage is not allowed but we had been
getting away with it. See
http://lists.opensuse.org/opensuse-programming/2008-02/msg00005.html
for details and explanation.
This fixes FS#11096.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
When this function got a rewrite in commit f43805d875, argument and variable
names got a bit mixed up when separating the casts from the strcmp
operation. Fix the mixup which also fixes a possible segfault when this
function is called.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
By doing the bolding manually, it doesn't look as cool in the HTML generated
manpages. Let asciidoc do the work.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
If a Server specified in pacman.conf had a trailing slash, libalpm ended up
building URLs with double slashes, and this broke libdownload with errors
like the following one :
error: failed retrieving file 'redland-1.0.8-1-i686.pkg.tar.gz'
from 192.168.0.90 : Command okay
So the public function alpm_db_set_server will make sure to remove the
trailing slash of servers. For the private function
_alpm_download_single_file, I only added a comment.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Before commit fc48dc31, file:/// urls forced the use of the internal
downloader (libdownload), because the default XferCommand, wget, does not
handle them. We tried to move away from forcing usage of libdownload, so
this commit implemented the handling of file:/// urls manually. However,
this implementation is way too basic. It does not handle the progress bar,
thus nothing at all appears in pacman's output when a file: repo is
synchronized, or when a file is downloaded from a sync repo. Also, it is not
able to detect when the repo is already up-to-date. When libdownload was
used, both were handled.
It seems better to just drop this implementation for now. All users who use
libdownload will get the much better file:// handling back. For the users of
XferCommand, it will be more problematic, but they have several options:
1) Switch to a downloader handling file:// (wget doesn't, but curl does for
example).
2) Drop the file:// repo, and set up light http or ftp servers instead.
Consider that going that way would make this repo available for the whole
local network, which can be useful.
3) Switch back to libdownload, which works perfectly for many users.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This fixes FS#11076.
1) quote the url in get_downloadclient
2) only enable nullglob where it is needed
You can see in 7fc306cd41 that nullglob was only enabled for one part, and
that it already caused other problems, which were fixed in 7ff5a917fd0.
Thanks to Henning Garus for pointing out that nullglob was problematic with
urls containing expansion char like '?'.
3) change get_downloadcmd which displayed the download command line to
download_file which actually executes the download. It seems nicer that way.
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|