Age | Commit message (Collapse) | Author |
|
Our error message used to be very unclear when the configuration file
could not be found:
$ ./pactree -lsr gtk
error: failed to register sync DBs
Instead, display an accurate message and include the file name:
$ ./pactree -lsr gtk
error: config file /usr/local/etc/pacman.conf could not be read
Also, move the error message inside register_syncs() to allow for
differentiating between different errors that might require a handler in
the future.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This allows for specifying an alternate configuration file path, similar
to pacman's "--config" option.
Given that there is currently no other way to tell pactree to read from
another configuration file (except for patching or symlinking), this
seems totally sensible - even if there are plans to refactor and/or
replace the standalone configuration file parser.
We do not define a short option for the sake of consistency with
pacman's set of command line options.
Signed-off-by: Lukas Fleischer <archlinux@cryptocrack.de>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Printing all of "Installed", "Removed" and "Net Upgrade" sizes is
redundant as the difference of the first two is the last. Instead,
only print "Installed Size" and "Net Upgrade Size" when both the
installed and removed are non-zero.
This results in the following output in the following cases:
- package installation only: Installed Size
- package removal only: Removed Size
- package installation involving replacement: Installed + Net Upgrade Size
- package upgrade: Installed + Net Upgrade Size
- combination upgrade and installation: Installed + Net Upgrade Size
Download Size remains outputted whenever something is downloaded.
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Printing "[removal]" beside all package names is redundant when all
packages are being removed (i.e. when using -R).
Signed-off-by: Allan McRae <allan@archlinux.org>
|
|
This also fixes a memory leak and makes the dual-purpose "rows" variable
go away in favor of storing the rows and non-verbose names separately.
This also fixes some potential memory leaks and/or wrong behavior due to
the config->verbosepkglists flag being flipped, which we should never be
doing.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Left this in as part of the last set of commits, whoops.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
The prompt can be rather confusing otherwise when all files have already
been downloaded, but there is not a single total size listed.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Better scoping of variables for the most part, and ensure we are using
string_length() and not strlen() as appropriate. Also refactor the
longest cell code to call string_length() a lot less; by simply using an
array of max sizes we don't have to recompute values nearly as much.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
For getcols(), the functions we call return a value of type 'unsigned
short', so it makes sense for us to do the same.
string_length() is meant to behave like strlen(), so it should return
type size_t. This exposes other functions such as indentprint() which
should also be using signed return types.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We now label the old 'Size' column as 'Net Change' to reflect the
reality of what we are looking at. Sync operations now get an additional
'Download Size' column.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This allows us to sort the output list by showing all pulled
dependencies first, followed by the explicitly specified targets.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
There was no real reason for these to be done separately.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
* All errors now go to stderr, so do the same here and simplify the
writing of the error message.
* Add SIGHUP to the handled signal list, and don't repeat code.
* Attempt to release the transaction (e.g. remove the lock file)
for all of HUP, INT, and TERM. Signals HUP and INT respects
transaction state, TERM will immediately terminate the process.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We've had a bit of churn since the last time this was done.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Pick up any updates before I push new source messages out to the
service.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Because we aren't using gpgv and a dedicated keyring that is known to be
all safe, we should honor this flag being set on a given key in the
keyring to know to not honor it. This prevents a key from being
reimported that a user does not want to be used- instead of deleting,
one should mark it as disabled.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This is for eventual use by the PGP key import code. Breaking this into
a separate commit now makes the following patches a bit easier to
understand.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
pm_asprintf() does not return a length as asprintf() does. Fail. Make
sure it is not -1 as that is the only failure condition.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Just a helpful warning for those users in this unenviable position.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Before:
$ pacman -Si pacman
error: invalid value for 'SigLevel' : 'FooValue'
After:
$ ./src/pacman/pacman -Si pacman
error: config file /etc/pacman.conf, line 88: invalid value for 'SigLevel' : 'FooValue'
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This allows some message reuse, as well as making it clear to
translators what *not* to translate.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Only allow turning it on if the backend library has support for it.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This takes the libraries hidden default out of the equation: hidden in
the sense that we can't even find out what it is until we create a
handle. This is a chicken-and-egg problem where we have probably already
parsed the config, so it is hard to get the bitmask value right.
Move it to the frontend so the caller can do whatever the heck they
want. This also exposes a shortcoming where the frontend doesn't know if
the library even supports signatures, so we should probably add a
alpm_capabilities() method which exposes things like HAS_DOWNLOADER,
HAS_SIGNATURES, etc.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
alpm_list_count() returns size_t, which we should use to store the
result since it is easy enough to format for printing.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This adds a some new callback event and progress codes for package
loading, which was formerly bundled in with package validation before.
The main sync.c loop where loading occurred is now two loops running
sequentially. The behavior should not change with this patch outside of
progress and event display; more changes will come in following patches.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Do this outside the loop to prevent the message from being displayed
(and pluralized!) for each individual package.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
None of these are hot-code paths, and at least the target reading has
little need for an arbitrary length limitation (however crazy it might
be to have longer arguments).
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This variable was totally unused.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Just like we did in libalpm in commit 288a81d8470b1.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
needed for isspace() -- avoids warnings on OSX.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
There is no need to print them into buffers; we can use the values
returned by gettext() directly without issue.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Display now looks like this, whereas before we would have just showed
'2M/s' for the extra repository download. The cutoff is placed at 100.0
to ensure we only use 4 character slots of width (e.g. '99.9', '100').
:: Synchronizing package databases...
testing 39.9 KiB 470K/s 00:00 [######################] 100%
core 51.4 KiB 469K/s 00:00 [######################] 100%
extra 768.8 KiB 2.1M/s 00:00 [######################] 100%
community-testing 1941.0 B 54.4M/s 00:00 [######################] 100%
multilib 26.6 KiB 458K/s 00:00 [######################] 100%
community 449.8 KiB 1649K/s 00:00 [######################] 100%
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This will be the first thing printed when doing an upgrade. Currently
there is no output at all until we start resolving dependencies, which
can be a while in if specifying very large targets on the command line,
in which case it is nice to let the user know we are doing something.
Addresses FS#25822 in the most KISS way possible.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We don't need to keep track of how many files are in a package now that
said value is provided to us. It also makes more sense to use size_t
here for types rather than the (hopefully never too short) int.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Dan: fix the other missing one too.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Put all the callback stuff in alpm.h in one spot, and make the following
renames for clarity with the new structure:
ALPM_TRANS_EVT_* --> ALPM_EVENT_*
ALPM_TRANS_CONV_* --> ALPM_QUESTION_*
ALPM_TRANS_PROGRESS_* --> ALPM_PROGRESS_*
alpm_option_get_convcb() --> alpm_option_get_questioncb()
alpm_option_set_convcb() --> alpm_option_set_questioncb()
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
This was just disgusting before, unnecessary to limit these to only
usage in a transaction. Still a lot of more room for cleanup but we'll
start by attaching them to the handle rather than the transaction we may
or may not even want to use these callbacks.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Call strlen earlier in the dl progress callback, and reuse this length
to replace some heavier str*() calls with more optimized mem*()
replacements. This also gets rid of a false assumption that the ending
string will ever be longer than the original string.
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
When the database is locked, sync operations involving transactions, such as
pacman -Syy, show the following:
:: Synchronizing package databases...
error: failed to update core (unable to lock database)
error: failed to update extra (unable to lock database)
error: failed to update community (unable to lock database)
error: failed to update multilib (unable to lock database)
error: failed to synchronize any databases
Whereas pacman -U <pkg> shows:
error: failed to init transaction (unable to lock database)
if you're sure a package manager is not already
running, you can remove /var/lib/pacman/db.lck
Which is much more meaningful, since the presence of db.lck may indicate an
erroneous lockfile instead of an ongoing transaction.
Improve the error messages for sync operations by advising the user to remove
db.lck if he is sure that no package manager is running.
Signed-off-by: Pang Yan Han <pangyanhan@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
We only updated if the percentage incremented and enough time had
elapsed, even though the numerator of the current/howmany fraction may
have changed. Ensure we proceed with the progress bar update in these
cases so as to not mislead the user.
Signed-off-by: Dan McGee <dan@archlinux.org>
|
|
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
|