* [gentoo-portage-dev] [Fwd: [Fwd: portage slot libraries useflag glep]]
@ 2003-11-11 21:31 Grant Goodyear
0 siblings, 0 replies; only message in thread
From: Grant Goodyear @ 2003-11-11 21:31 UTC (permalink / raw
To: gentoo-portage-dev
[-- Attachment #1.1: Type: text/plain, Size: 178 bytes --]
*Sigh* I really need to get glep@gentoo.org subscribed to this mailing
list. Okay, forwarding for real this time....
-g2boojum-
--
Grant Goodyear <g2boojum@gentoo.org>
[-- Attachment #1.2: Forwarded message - [Fwd: portage slot libraries useflag glep] --]
[-- Type: message/rfc822, Size: 10860 bytes --]
[-- Attachment #1.2.1.1.1: Type: text/plain, Size: 291 bytes --]
Aaron,
Thank you very much for your GLEP. I'm forwarding it along to
gentoo-portage-dev@gentoo.org for comments. One thing your GLEP doesn't
mention, unless I missed it, is who would be doing to work to implement
it.
Thanks again,
g2boojum
--
Grant Goodyear <glep@gentoo.org>
[-- Attachment #1.2.1.1.2: Forwarded message - portage slot libraries useflag glep --]
[-- Type: message/rfc822, Size: 7913 bytes --]
[-- Attachment #1.2.1.1.2.1.1: Type: text/plain, Size: 690 bytes --]
Hi.
The included (7bit txt) glep is about making portage handle use-flag library
dependancy issues.
anyway, I don't feel like puting much more work into this glep if nobody is
interested, so I'm seeking a quick glance and a: "yeah we'll look at it when
it is formatted better" or "don't bother, we're already working on it" type
responce.
I've basically only read a bit about ebuilds and portage, but I ran into
problems attemting to convert my install to support multiple languages and my
attempt at building my own ebuild was thwarted by a package needing a library
built with gtk1.2 instead of 2. (I believe it was gnet)
--Aaron Peterson
alpeterson@wsu.edu
[-- Attachment #1.2.1.1.2.1.2: glepideab.txt --]
[-- Type: text/plain, Size: 4903 bytes --]
GLEP: XXX
Title: Tracking and sloting
Version: $Revision: 0.1 $
Last-Modified: $Date: 2003/11/09 04:51:50 $
Author: Aaron Peterson <alpeterson@wsu.edu>
Status: Draft
Type: Standards-Track
Content-Type: text/x-rst
Created: 09-Nov-2003
Post-History: 30-Aug-2002
Abstract
========
This GLEP provides a method to improve Portages handling of packages built with incompatible library versions.
This method includes slotting libraries that are statically linked, and an extra layer to the DEPENDS portion of the ebuilds.
It also provides a few new tools, something called version-lister or such might go with the SLOT tools. and ufed could be expanded to automatically list the packages that utilize the use flags, and to specify which packages to apply this to. This would be accoplished by continuing the "cascading" nature of the use flags already. make.conf settings override make.global. I suggest including an /etc/make/ directory, or similar that includes text files named after their package containing the required useflags. This file would have the format
Rationale
=========
Incompatible library versions require knoledge of the entire history of the tools an ebuild is linking to. A package three layers ago (package x was built with a, i built with x, but package i requires the funcionality of x built with b) another program might need the functionaility of a. Simply changing the depend flags does not fix this... a and b are installed on the system... one must have two versions of x on vis computer to operate program
These problems show up when a user changes a use flag partway through the life of the gentoo box and compiles new software
Typical Comment
--------
zhenlin
Veteran
Joined: 09 Nov 2002
Posts: 1616
Location: icbm://101*45'E,3*15'N
Posted: Sat Jun 21, 2003 4:54 am Post subject:
This is going to be a problem...
Looks like I will have to fork the slang ebuild, since an ABI compatible version is not built.
I'm going to test whether the utf8 patches work.
_________________
Ebuild Dependancies
========================
The Rdepend and depend problem
include a sub layer after
To use this template you must first decide whether your PEP is going
to be an Informational or Standards Track PEP. Most PEPs are
Standards Track because they propose a new feature for the Python
language or standard library. When in doubt, read PEP 1 for details
or contact the PEP editors <peps@python.org>.
Once you've decided which type of PEP yours is going to be, follow the
directions below.
USE={happy, \
libcow{gtk2},
foobar}
or similar, I'm not a coder.
/etc/make.conf.d/
==========
/etc/make.conf.d/pakcage-name
-xfree,alsa
10.3:xfree,-alsa
10.3-r3: xfree,arts
BREAK xsv
10.4
Where general package settings are over writted by more specific versions. support for ranges of versions is requested.. 10.4+ represents for versions 10.4 and above, do not apply special USE flags, use whatever make.conf said
the line
SLOT xsv LIB_APPEND 0
means that all versions upto the line after it, should have a slot named xsv and 0 should be appended to the name of the library.
LIB_NAME could completely change the name of the library... and LIB_DIR etc could say other stuff about where the package or libraries are stuck
a better name is suggested
Slot naming extension, and libraries
===========
package-version-useflag1-useflag2-cflag1
An M could prefix a useflag to indicate a negatio.
minuses first, positives second.
in alphabetical order
cflags can also cause thie problem (I believe)
the BREAK line will overide the generic use flags if specified in the /etc/make.conf.d/
comment
I believe that other distros take care of this type issue with numbers appended to the end of the library name
Linking to the slotted libraries
=========
I imagine that replacing libraries with a a script replacement is impossible, and links wouldn't work because the two versions expected to have a connection with the other...
Resources
==========
the portage log file already includes information about previously built packages, and the build time options could be used to
Emerge
========
A new emerge option would have to be created to figure out what packages need to change due to the useflag change. another emerge option could be used for the cflag change, and another for both (I don't know if the cflag option needs to be there)
emerge is the primary interface for portage, and it is not intuitively obvious what all of the N's are for and the UD's are for, there is already another glep for this thoguh
Copyright
=========
Aaron Peterson
Licence: Creative Commons/Share alike
..
Local Variables:
mode: indented-text
indent-tabs-mode: nil
sentence-end-double-space: t
fill-column: 70
End:
[-- Attachment #1.2.1.2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-11-11 21:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-11 21:31 [gentoo-portage-dev] [Fwd: [Fwd: portage slot libraries useflag glep]] Grant Goodyear
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox