tech-pkg archive

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

Re: revbumps



> John Marino <netbsd%marino.st@localhost> writes:

 >> Honestly I think the "make replace" issue is the main one.  If that
 >> were fixed, I could live with dependence rebuilds.  It's just time
 >> (unless I don't have much, then it's still annoying.)

> What specific 'make replace' issue do you mean?  The biggest problem as
> I see it is that when files move from one package to another there is no
> way to replace packages individually.

Well, there is a way. As we discussed some time ago there are a number
of problem that causes problems _both_ in source-based and binary-based
updates. You mentioned one such problem above. There are others, for
example, package splits and joins. That is, the problem is conflicts
(marked by CONFLICTS ot unmarked (common files)) between installed
packages and packages to be installed. pkg_rr would be ideal tool if it
avoided "Stop here, I cannot do anything for you. Resolve the problem
manually" situation.

This is approximately how I resolved this kind of problems in the middle
of update in "nih". I hope you'll find it helpful.

  step 1: Find installed packages that conflicts (CONFLICTS or common
    files) with packages from update
    plan (packages to be installed/updated).
  step 2: Replace (pkg_add -UD) all these packages with so called "fake"
    packages.
    Fake package here is a package with the same PKGNAME, PKGPATH and
    DEPENDS but without files (empty PLIST) and no CONFLICTS entries.
  step 3: Mark all packages found in step 1 as "fake" (pkg_admin set
    fake=yes) and mark them for update.
  step 4: Start real updade/installation

The same can be implemented in pkg_rr.

-- 
Best regards, Aleksey Cheusov.


Home | Main Index | Thread Index | Old Index