On Tue, 5 Dec 2006, Karel Kulhavy wrote: > man pkg_add says "-r Replace existing packages". > > I did pkg_remove transcode, then installed transcode I compiled from > sources, then removed all files containing "transcode" in their name from > the system and then tried to replace the OpenBSD binary package again. > > pkg_add transcode-1.0.2p0.tgz says Collision: the following files already > exist > some with same md5, some with different > pkg_add -r update transcode-1.0.2p0.tgz should replace the package acording > to the manpage. It doesn't - prints the same error. > > The manpage further says "use -F update to force the replacement" > When I use pkg_add -r -F update transcode-1.0.2p0.tgz, I get the same errors. > > Why doesn't pkg_add do what's written in the manpage? > > CL<
Somehow, an evil hacker got into your system, r00ted it, and broke it by deleting a bunch of files from protected system directories, probably under /usr/local. Maybe you have a Virus or other Pest. I assume (since you do not say it explicitly) that the transcode you "compiled from sources" was not done via /usr/ports/multimedia/transcode; therefore the pkg_* subsystem believed that no transcode package was installed; therefore "replacing" was not a good idea, perhaps it fell back to a simple "add". Then pkg_add detected files (whose names the evil hacker must have filtered from your post, check that your sendmail binary has not been 0wn3d!) that it felt were part of transcode. Foolishly assuming that transcode was installed (from outside the package/ports system), it refused to damage that installation. It is possible that the evil hacker missed these files since they did not contain the string "transcode" in their names, and yet there they were in the transcode packages "+CONTENTS" file. Had it worked, you could have posted, instead, that a bug in pkg_add overwrote your custom transcode installation. pkg_add probably decided it shouldn't decide what to do. Try it again with the -i switch. Dave the Patient -- "Lokot' blizok, da ne kusaesh'."