[pacman-dev] idea: PM_LOG_ERROR to stderr? (was: [PATCH 1/3] Give sensible feedback when a repo has no configured servers)

Nagy Gabor ngaba at bibl.u-szeged.hu
Sat Jun 6 14:29:53 EDT 2009


> This fixes FS#14899. When running an -Sp operation without servers
> configured for a repository, we would segfault, so add an assert to
> the backend method returning the first server preventing a null
> pointer dereference.
> 
> In addition, add a new error code to libalpm that indicates we have no
> servers configured for a repository. This makes -Sy and -S <package>
> operations fail gracefully and helpfully when a repo is set up with no
> servers, as the default mirrorlist in Arch is provided this way.
> 
> Signed-off-by: Dan McGee <dan at archlinux.org>

I like this patch.

>+			const char *dburl = alpm_db_get_url(db);
>+			if(dburl) {
>+				printf("%s/%s\n", dburl, alpm_pkg_get_filename(pkg));
>+			} else {
>+				/* can't use WARNING here, we don't show warnings in -Sp... */
>+				pm_fprintf(stderr, PM_LOG_ERROR, _("no database for package: %s\n"),
>+						alpm_pkg_get_name(pkg));
>+			}

IMHO we should print all error messages to stderr. (This can be
done easily in callback functions.) I am sure that it would be better
with -Sp (-Sp users usually do pacman -Sup > foo.txt), and I don't see
any drawbacks in other cases. (What about our scripts?) See also:
FS#12101.

Opinions?


More information about the pacman-dev mailing list