pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkg_rolling-replace



Chavdar Ivanov <ci4ic4%gmail.com@localhost> writes:

> => Creating binary package /usr/pkgsrc/lang/llvm/work/.packages/llvm-10.0.1.tgz
> ===> Building binary package for llvm-10.0.1
> => Creating binary package /usr/pkgsrc/packages/All/llvm-10.0.1.tgz
> ===> Installing binary package of llvm-10.0.1
> pkg_add: A different version of llvm-10.0.1 is already installed: llvm-10.0.0nb1
> pkg_add: 1 package addition failed
> *** Error code 1
> ....
>
> Why is not llvm updated in this context? it is selected for build, the
> build completes and then it does not replace it.

You didn't include enough context.  Was llvm in MISMATCH_TODO?  What
package was being replaced? It seems that some package depended on llvm,
and replacing that package forced a build of llvm, which was an
'install', not a 'replace-if-already-present-else-install' target (which
we don't have!).

pkg_rr tries to find the build depends, but I suspect that

A BUILD_DEPENDS on B
B BUILD_DEPENDS on C

gets the "A B" dependency in the list to be tsorted, and probably does
not get the "B C".  However, if B depends on llvm and llvm has a version
chagne B should have been revbumped and be on the MISMATCH list.

> I do 'pkgclean' and 'pkg_admin rebuild-tree' before every attempt to
> 'pkg_rolling-replace -uv'.

Can you find out from the output (that I hope you saved) whether llvm
was on the MISMATCH list?

Because there are lots of problems, most of them in individual packages,
i tend to run pkg_rr with -k, and then clean workdirs and do it again.
That tends to paper over the kind of problem you are having.

Attachment: signature.asc
Description: PGP signature



Home | Main Index | Thread Index | Old Index