freebsd / portmaster

FreeBSD port management script without external databases or languages
81 stars 40 forks source link

Recursive update by packages #2

Open RedRat opened 12 years ago

RedRat commented 12 years ago

When portmaster recursively updates installed port using packages, it get dependencies list from the port or INDEX file, not from the package itself. This lead to the problem: some packages has dependencies not matched defaults ones for the port. For example, when I try to update libslang library from package, portmaster also trying to install png library, though my package doesn't has this dependency. For some ports it will try to install half of X-Windows, which pretty confusing.

But things become much worse when package has dependencies, which not "on" by default in the port. In this case portmaster doesn't updates needed dependencies at all, which could lead to the broken installation. I suggest that portmaster have to get dependencies from packages when they used for updating. It can be done by simple grep of +CONTENT file for strings "@pkgdep" or "@comment DEPORIGIN". It also allow portmaster recursively install and update ports by packages without ports tree - it's very useful for cases when packages built on one server and then installed on many..

xzhayon commented 12 years ago

Are you sure you have no "index" option in command line or portmaster.rc?

RedRat commented 12 years ago

Yes, I'm sure. There are no any "index" options in command line or portmaster.rc.