> 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 <d...@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? _______________________________________________ pacman-dev mailing list pacman-dev@archlinux.org http://www.archlinux.org/mailman/listinfo/pacman-dev