From owner-freebsd-questions Tue Dec 21 17:41:34 1999 Delivered-To: freebsd-questions@freebsd.org Received: from aragorn.neomedia.it (aragorn.neomedia.it [195.103.207.6]) by hub.freebsd.org (Postfix) with ESMTP id 2546114E63 for ; Tue, 21 Dec 1999 17:41:27 -0800 (PST) (envelope-from bartequi@nojunk.com) Received: from bartequi.ottodomain.org (ppp3-pa2.neomedia.it [195.103.207.115]) by aragorn.neomedia.it (8.9.3/8.9.3) with SMTP id CAA17220 for ; Wed, 22 Dec 1999 02:41:20 +0100 (CET) From: Salvo Bartolotta Date: Wed, 22 Dec 1999 01:42:11 GMT Message-ID: <19991222.1421100@bartequi.ottodomain.org> Subject: multiple ports versions . To: freebsd-questions@FreeBSD.org X-Mailer: Supercalifragilis X-Priority: 3 (Normal) MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Sender: owner-freebsd-questions@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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