Date: Wed, 22 Dec 1999 01:42:11 GMT From: Salvo Bartolotta <bartequi@nojunk.com> To: freebsd-questions@FreeBSD.org Subject: multiple ports versions . Message-ID: <19991222.1421100@bartequi.ottodomain.org>
next in thread | raw e-mail | index | archive | help
Dear readers, I would like to be able to keep different versions of the ports on my system, for various reasons: in order to test them and to be able to (re)configure and (re)build them; in order to be able to provide *different* versions to *different* users -- on demand. For the sake of simplicity, I will begin to consider the following oversimplified scenario: a snapshot of the ports collection is taken e.g. every four months; two "versions" of the (entire) ports collection are kept under /usr/ports and /usr/newports respectively; the distfiles directory is shared. As far as I can see, I should use the new ports collection by defining the DISTDIR and PORTSDIR environment variables in my root shell: DISTDIR=3D/usr/ports/distfiles #old distfiles directory; PORTSDIR=3D/usr/newports #or /whatever/my/new/ports/directory/is. I will go to /usr/newports/my/port/of/choice and issue the usual commands -- make, make install. Is this correct ? If I should move my /usr/newports elsewhere, it will suffice to redefine my environment variables. In this oversimplified scenario, I should be able to build either version of the ports in order to suit my needs -- with a trivial modification of environment variables. The general case is far more complicated: of course some ports may get updated, others may NOT. I should organize something like a CVS, but for the ports, in order to be able to choose among them. The problem may sound purely academic or paranoid, but I consider a practical situation: the new versions of some ports may prove unstable, and restoring the old versions thus becomes *mandatory*. If the ports in question involves a few (old) dependencies, it may be a little complicated to restore these ports ... Of course I do not consider here the problem of file clashing due to different versions of the same program (package). This would require its own versioning system (like e.g. Linux RPM). Finally, I consider the simplest case: suppose I CVSup my /usr/ports. Some of the ports will be updated. In this case I give up the ability to *rebuild* the corresponding old ports (and issue "make deinstall" for them). In order to use the new ports, I seem to understand that I should: -- install the new ports and test them; -- if the tests are ok, I should pkg_delete both my old ports and my new ports; -- reinstall my new ports only. Is this correct ? However, depending on the particular case, I might need to pkg_delete an old port -- because of file clashing issues. What if the new port proves unstable (or more buggy) ? My confusion is greatest ... I thank you very, very much in advance for any tips and suggestions related to these awkward problems. Best regards, Salvo N.B. myjokingdomain =3D=3D=3D> neomedia.it to reply. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19991222.1421100>