Re: "make update" question
Greg Troxel <[email protected]>
| Newsgroups | gmane.os.netbsd.help |
|---|---|
| Message-ID | <[email protected]> |
I want to update some packages (e.g. firefox) but all I know from the user guide is do "make update". This way everything gets updated. Is there a way to just upgrade 1 package and all dependancies? E.g. on FreeBSD: "portupgrade -R firefox"? I know other utilities exist, but those are branded as "not guaranteed to work". "make replace" actually works quite well, despite the stern warnings. There are two kinds of possible problems: bugs in make replace, where random bad things happen. This basially doesn't ever happen to me. problems from ABI changes, where make replace works as intended, but then depending packages breaks. One solution to the second problem is to track packages that have had a dependency replaced, and then to rebuild them. pkgsrc marks such packages with the unsafe_depends variable. A tool "pkg_rolling-replace" is available that does a topological sort of all packages and then does "make replace" in tsort order. It can replace "dirty" packages (those marked unsafe_depends), or the union of dirty packages and packages that are out of date relative to pkgsrc. (It also replaces packages with the 'rebuild' tag.) I'm not quite sure what -R does; perhaps you also want to update any packages that firefox depends on. pkg_rolling-replace will be in pkgsrc at some point, but for now it's available at: http://acert.ir.bbn.com/projects/acert/ http://acert.ir.bbn.com/viewvc/acert/pkgsrc-acert/ To check it out: cd /usr/pkgsrc && \ cvs -d [email protected]:/cvs/acert co -d acert pkgsrc-acert cd acert/pkg_rolling-replace && make package Read the man page for pkg_rolling-replace for details and please email me with any bugs in the script or the man page. You may want to run this script if your dependency records are not correct. /usr/pkgsrc/acert/pkgdb_fix-required-by/files > ls -l total 5 drwxr-xr-x 2 gdt wheel 512 Sep 18 08:39 CVS -r-xr-xr-x 1 gdt wheel 3355 Jul 16 09:56 pkgdb_fix-required-by.sh
signature.asc
(application/pgp-signature, 185 B)
-----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (NetBSD) iD8DBQFFDpZa+vesoDJhHiURAlOZAJ4ztj2fJjMRWQkCbI6rAtDqzAwPGwCgj4DN Gr7fg/+yTJwaYyqI1dlqnNU= =61Ym -----END PGP SIGNATURE-----