portupgrade problem w/ dependency?
Kent Stewart
kstewart at owt.com
Tue Mar 30 10:44:46 PST 2004
On Tuesday 30 March 2004 06:20 am, Bart Silverstrim wrote:
> After doing a make install on openssl and then a portupgrade -f
> portupgrade, here's what I ran...
>
> server# pkgdb -F
> ---> Checking the package registry database
> server# portsdb -Uu
> Updating the ports index ... Generating INDEX.tmp - please wait..
> Done. done
> [Updating the portsdb <format:bdb1_btree> in /usr/ports ... - 10657
> port entries found
> .........1000.........2000.........3000.........4000.........5000....
>... ..6000.........7000.........8000.........9000.........10000......
> ..... done]
> server# pkdgdb -F
> pkdgdb: Command not found.
> server# pkgdb -F
> ---> Checking the package registry database
> server#
>
> This was what was happening after my previous selection of the
> portupgrade as a dependency using tab completion (it wouldn't allow
> openssl with tab completion); no errors seemed to show up afterwards.
>
> How can I tell that the link/dependency is properly fixed with
> portupgrade now, or does the above show it's okay? I don't know if
> now portupgrade has a circular dependency or not... :-( (below was
> the exchange that started my problem in the first place and prompted
> me to send to the list)
>
> I'd think that the "command failed" part meant nothing was
> changed?...below was what prompted the question, above is the output
> after installing openssl and going portupgrade -f portupgrade, sorry
> for the out-of-sequence-of-events-posting :-)
This shows normal output. If nothing is wrong with the links, pkgdb -F
doesn't do anything. I have seen portupgrade do what you had happen. It
doesn't always do that but will install the ports that is needs. If you
have a version of openssl installed and don't
portupgrade -R portupgrade
It can also leave you with the broken link that you saw originally.
What is broken right now is the dependancy of portupgrade.
If you do a run the following
cd /usr/ports
make search name=portupgrade
Openssl will not be listed. If you portupgrade -f porupgrade, you can
see it clean for openssl. Something is broken but if you know that the
message is really telling you that "openssl" needed to be updated, you
won't have a problem. The latest version may have fixed the problem
since it cleaned for openssl. I don't know.
For right now, I would just remember how you fixed it by updating
openssl and know that you should never point a port back to itself. You
have to skip and drop out of the pkgdb -F before you can fix the broken
link.
You are doing a number of things you don't need to. For example, I only
run pkgdb -F when the system tells me to. I have a script that cvsup
updates only ports-all and immediately after the cvsup, The script runs
the equivalent of portsdb -uU. That is the only time portsdb -uU needs
to be run. If you use a script, it will always be run when it needs to
be run.
In a normal situation, I never run pkgdb or portsdb from the command
line. I may go for weeks without running pkgdb -F but I have a cron job
that updates ports-all at 4am and 4pm. I try to keep my system clean so
that I can answer questions like yours. I follow -ports@ and cvs-all@
and in the past would only upgrade my ports when something significant
came along. The updates may have been weeks apart. I don't fix things
that aren't broken and there are a lot of ports that seem to be updated
for no special reason.
I keep my systems current because if I have to spend 4 hours updating
ruby before I can test your problem, my response is going to be kind of
slow. Ruby is an AMD 2400+ XP with a lot of HD space and memory. When I
did the portupgrade -rf expat2, it required 13 hours. That would have
been a really slow response :).
Half of any problem is knowing if it is probably on your end and not a
generic problem affecting everyone. If two or more people have the same
problem, it is probably something generic on the FreeBSD end and many
times you can easily track down who broke ports-all. I keep all of the
cvs-all messages for a week. The change that broke things will be in
there along with the email address of the person making the change.
Kent
>
> ****
> server# pkgdb -F
> ---> Checking the package registry database
> Stale dependency: portupgrade-20040325_1 -> openssl-0.9.7d
> (security/openssl):
> New dependency? (? to help): ?
> [Enter] to skip, [Ctrl]+[D] to delete, [.][Enter] to abort, [Tab]
> to complete
> New dependency? (? to help): portupgrade-20040325_1
> Fixed. (-> portupgrade-20040325_1)
> Cyclic dependencies: portupgrade-20040325_1 ->
> (portupgrade-20040325_1) Unlink portupgrade-20040325_1 ->
> portupgrade-20040325_1 ? [yes] Command failed [exit code 1]: "grep -v
> \"^portupgrade\\\\-20040325_1\\\$\" <
> /var/db/pkg/portupgrade-20040325_1/+REQUIRED_BY >
> /tmp/+REQUIRED_BY82988.0"
> server#
> *****
>
> Thanks,
> -Bart
--
Kent Stewart
Richland, WA
http://users.owt.com/kstewart/index.html
More information about the freebsd-questions
mailing list