On Fri, Apr 1, 2011 at 2:10 PM, kachelaqa <[email protected]> wrote: > On 01/04/11 20:00, Dan McGee wrote: >> >> On Fri, Apr 1, 2011 at 1:56 PM, kachelaqa<[email protected]> wrote: >>> >>> On 01/04/11 19:44, Dan McGee wrote: >>>> >>>> It is definitely a bug in the sense that it segfaults- we provide no >>>> changelog_* functions in the sync (or default) pkg_operations >>>> callback. >>> >>> pardon my ignorance, but what is _package_changelog_open in be_package.c >>> for? >> >> pacman -Qpc<package file> >> >> Not sync *database packages*, but *package files*. >> >> be_local: /var/lib/pacman/local >> be_sync: /var/lib/pacman/sync/*.db >> be_package: package files > > ah, yes of course - thanks > >>>> Where have you actually seen changelogs in sync databases? >>> >>> well, it's difficult for me to check for specific changelogs at the >>> moment. >>> are you saying that they are not stored in sync databases at all? even if >>> there is one in the local database (e.g. scite)? >> >> Nope. >> >> $ bsdtar tf /var/lib/pacman/sync/community.db | grep scite >> scite-2.24-1/ >> scite-2.24-1/desc >> scite-2.24-1/depends > > okay, so changelogs are only ever stored in the local database. so all i > have to do is check whether a package is installed before attempting to > retrieve a changelog.
Well you will be looking at very different pmpkg_t objects as well- one loaded from a sync database vs. one loaded from a local database. Either way, I'll fix it so it doesn't segfault and just returns NULL when calling changelog_open on a sync database package. -Dan
