From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on finch.gentoo.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=DATE_IN_PAST_24_48,DMARC_NONE, INVALID_DATE,MAILING_LIST_MULTI autolearn=no autolearn_force=no version=4.0.0 Received: from mailgw2.netvision.net.il ([194.90.1.9]) by cvs.gentoo.org with esmtp (Exim 3.30 #1) id 15qkqX-0003En-00 for gentoo-dev@cvs.gentoo.org; Mon, 08 Oct 2001 18:34:09 -0600 Received: from there (ras5-p59.rlz.netvision.net.il [62.0.86.59]) by mailgw2.netvision.net.il (8.9.3/8.9.3) with SMTP id CAA09513 for ; Tue, 9 Oct 2001 02:34:50 +0200 (IST) Message-Id: <200110090034.CAA09513@mailgw2.netvision.net.il> Content-Type: text/plain; charset="iso-8859-1" From: Dan Armak Organization: Gentoo Linux To: gentoo-dev@cvs.gentoo.org X-Mailer: KMail [version 1.3.1] MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [gentoo-dev] Final qt/QTDIR scheme Sender: gentoo-dev-admin@cvs.gentoo.org Errors-To: gentoo-dev-admin@cvs.gentoo.org X-BeenThere: gentoo-dev@cvs.gentoo.org X-Mailman-Version: 2.0 Precedence: bulk Reply-To: gentoo-dev@cvs.gentoo.org List-Help: List-Post: List-Subscribe: , List-Id: Gentoo Linux development list List-Unsubscribe: , List-Archive: Date: Mon Oct 8 18:35:02 2001 X-Original-Date: Tue, 9 Oct 2001 02:34:36 +0200 X-Archives-Salt: 40b1e630-9af2-4b4a-8ff0-43c9486cab0a X-Archives-Hash: 0b7981ac85db0df07ba6e03b77e1064c Hi all, As you may or may not know, during the last three or four days we've had a new (-r1) qt ebuild that installed into /usr and consequently did no use QTDIR. However, when (soon) qt-3 comes out, we will have to provide for their coexistence. Due to their headers having the same names, they cannot live in the same dir. There were three intermediary schemes to take care of this. If you know about them, forget them, they failed. The current and (I very much hope) final scheme is this: qtX installs in /usr/lib/${P}. This is qt-x11-${PV} normally. However there are also qt-x11-free and qt-embedded libraries which we may have in the future, so we don't use /usr/lib/qt-${PV} anymore. A symlink is created in /usr/lib/qt-x11-$MAJOR_VERSION. That is, for now, 2 or 3. There is a problem: files in /etc/env. extend settings. When we have more than one QTDIR setting, they will be concatenated and will become meaningless. Solution: There is the file /etc/env.d/30qt, which only sets QTDIR. So, the qt installed last is the default. Then, there are files ??qt-x11-$MAJOR_VERSION. The first one is 50qt-x11-2, then 49qt-x11-3 and so on. Each of these adds the /usr/lib/qt-x11-$MAJOR_VERSION/{bin,lib,share/man} dirs to the paths. These don't use QTDIR and do use the symlink dirs. The decreasing numbers make certain that later QT versions are given priority (i.e. 3 over 2...) because they are closer to the beginning of the paths. 99% of qt apps are also KDE apps and as such use eclasses. A configure script should automatically use the qt in QTDIR, which is by default the latest qt. Therefore, once kde3 is out, I will make (tiny) qt{2,3}.eclass files that will say QTDIR=/usr/lib/qt-x11-$MAJOR_VERSION. kde.eclass itself will have QTDIR set to the latest version available. This way: - An app inheriting from kde-*.eclass will use the latest qt available. - An app that needs the not-latest version (e.g. qt2 not 3), will explicitly inherit qt$VER.eclass (after kde-*.eclass). - An app being compiled outside ebuilds, non-kde qt apps, and everything else that doesn't use eclasses will have to trust that QTDIR is properly set, or to set it manually to /usr/lib/qt-x11-$MAJOR_VERSION (no biggie). ---- Well, that's it. I'm writing this late at night, so I've probably said something stupid. Comments welcome! -- Dan Armak Gentoo Linux Developer, Desktop Team Matan, Israel