FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Gentoo > Gentoo Development

 
 
LinkBack Thread Tools
 
Old 11-28-2010, 06:32 PM
Arfrever Frehtes Taifersar Arahesis
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
EAPI >=4. The new syntax will depend on whether given package supports installation for
multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.

================================================== ==============================================
PYTHON_DEPEND in EAPI <=3, PYTHON_USE_WITH*

(It's a reminder. No changes will occur here.)

PYTHON_DEPEND has 2 possible forms:
PYTHON_DEPEND="${range_of_versions}"
PYTHON_DEPEND="${USE_flag}? ${range_of_versions}"

This syntax doesn't allow to specify conditions depending on more than 1 USE flag.

PYTHON_USE_WITH and PYTHON_USE_WITH_OR specify USE dependencies. PYTHON_USE_WITH_OPT is used
to make PYTHON_USE_WITH or PYTHON_USE_WITH_OR conditional under a USE flag. It doesn't allow
to specify more complicated conditions (e.g. USE="A" enables dependency on Python[tk], while
USE="B" enables dependency on Python[xml]).

================================================== ==============================================
PYTHON_DEPEND in EAPI >=4 in packages not supporting installation for multiple Python ABIs

Syntax of "${range_of_versions}" will remain the same as in EAPI <=3. The new syntax of
PYTHON_DEPEND will support USE conditionals and USE dependencies in {,R,P}DEPEND-style.
If PYTHON_DEPEND contains only 1 "${range_of_versions}", then no other elements in value of
whole PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}" should be included
between "<<" and ">>" markers. Potential USE dependencies should be included between "[" and "]"
markers directly after given "${range_of_versions}".

Examples:
# Dependency on Python 2.7 or 2.6.
PYTHON_DEPEND="2:2.6"

# Dependency on Python 2.7 or 2.6.
PYTHON_DEPEND="<<2:2.6>>"

# Dependency on Python 2.7 or 2.6 when "A" USE flag is enabled.
PYTHON_DEPEND="A? ( <<2:2.6>> )"

# Dependency on Python 2.7 or 2.6 when "A" and "B" USE flags are enabled.
PYTHON_DEPEND="A? ( B? ( <<2:2.6>> ) )"

# Dependency on Python 2.7 or 2.6 when "A" and "B" USE flags are enabled and "C" USE flag is
# disabled.
PYTHON_DEPEND="A? ( B? ( !C? ( <<2:2.6>> ) ) )"

# Dependency on Python 2 always, and 2.7 or 2.6 when "A" USE flag is enabled.
PYTHON_DEPEND="<<2>> A? ( <<2:2.6>> )"

# Dependency on Python 2 and 3. (It will probably never be used.)
PYTHON_DEPEND="<<2>> <<3>>"

# Dependency on Python 2 when "python2" USE flag is enabled, and Python 3 when "python3"
# USE flag is enabled.
PYTHON_DEPEND="python2? ( <<2>> ) python3? ( <<3>> )"

# Dependency on Python 2.7 or 2.6 with "ncurses", "threads" and "xml" USE flags.
PYTHON_DEPEND="<<2:2.6[ncurses,threads,xml]>>"

# Dependency on Python 2.7 or 2.6 with "ncurses" and "threads" USE flags, and "xml" USE flag
# when "xml" USE flag is enabled.
PYTHON_DEPEND="<<2:2.6[ncurses,threads,xml?]>>"

# Dependency on Python 2.7 or 2.6 with "ncurses" and "threads" USE flags, and "xml" USE flag
# when "A" USE flag is enabled.
PYTHON_DEPEND="<<2:2.6[ncurses,threads]>> A? ( <<2:2.6[xml]>> )"

# Dependency on Python 2.7 or 2.6 with enabled "ncurses" USE flag and disabled "threads" USE
# flag.
PYTHON_DEPEND="<<2:2.6[ncurses,-threads]>>"

# Dependency on Python 3.1, 2.6 or 2.5 with "ncurses" and "threads" USE flags.
PYTHON_DEPEND="<<2:2.5:2.6 3:3.1:3.1[ncurses,threads]>>"

# Dependency on Python 2 with "berkdb" or "gdbm" USE flag.
PYTHON_DEPEND="|| ( <<2[berkdb]>> <<2[gdbm]>> )"

# Dependency on Python 2 with "berkdb" or "gdbm" USE flag when "A" USE flag is enabled.
PYTHON_DEPEND="A? ( || ( <<2[berkdb]>> <<2[gdbm]>> ) )"

The last 2 examples present replacement for PYTHON_USE_WITH_OR. PYTHON_USE_WITH_OR is used by
only 1 package and it's unlikely that there will be many other packages, so I don't plan to
introduce special, shorter syntax for specifying of USE flags of which at least one must be
enabled.

USE dependencies specified between "[" and "]" will be used literally in generated DEPEND and
RDEPEND.

Appropriate has_version() checks in python_pkg_setup() will be generated from PYTHON_DEPEND.
(They are generated from PYTHON_USE_WITH/PYTHON_USE_WITH_OR in EAPI <=3.)

If PYTHON_DEPEND is empty or unset, then no dependency on Python will be generated.

PYTHON_USE_WITH* variables will be banned in EAPI >=4.

================================================== ==============================================
PYTHON_DEPEND in EAPI >=4 in packages supporting installation for multiple Python ABIs

Changes presented in this section can occur only if EAPI="4" contains support for dots in USE
flags.

The list of supported Python versions will depend only on RESTRICT_PYTHON_ABIS variable.
The new syntax of PYTHON_DEPEND will support USE conditionals and USE dependencies in
{,R,P}DEPEND-style. "<<>>" marker will be used to indicate dependencies on Python. Potential
USE dependencies should be included between "[" and "]" markers between "<<" and ">>".

If PYTHON_DEPEND is unset, then it will be treated as PYTHON_DEPEND="<<>>".
If PYTHON_DEPEND is set and empty, then no dependency on Python will be generated.

Examples:
# No dependency on Python.
PYTHON_DEPEND=""

# Dependency on Python.
# Unset PYTHON_DEPEND

# Dependency on Python.
PYTHON_DEPEND="<<>>"

# Dependency on Python when "A" USE flag is enabled.
PYTHON_DEPEND="A? ( <<>> )"

# Dependency on Python when "A" and "B" USE flags are enabled.
PYTHON_DEPEND="A? ( B? ( <<>> ) )"

# Dependency on Python when "A" and "B" USE flags are enabled and "C" USE flag is disabled.
PYTHON_DEPEND="A? ( B? ( !C? ( <<>> ) ) )"

# Dependency on Python with "ncurses", "threads" and "xml" USE flags.
PYTHON_DEPEND="<<[ncurses,threads,xml]>>"

# Dependency on Python with "ncurses" and "threads" USE flags, and "xml" USE flag when "xml"
# USE flag is enabled.
PYTHON_DEPEND="<<[ncurses,threads,xml?]>>"

# Dependency on Python with "ncurses" and "threads" USE flags, and "xml" USE flag when "A"
# USE flag is enabled.
PYTHON_DEPEND="<<[ncurses,threads]>> A? ( <<[xml]>> )"

# Dependency on Python with enabled "ncurses" USE flag and disabled "threads" USE flag.
PYTHON_DEPEND="<<[ncurses,-threads]>>"

# Dependency on Python with "berkdb" or "gdbm" USE flag.
PYTHON_DEPEND="|| ( <<[berkdb]>> <<[gdbm]>> )"

# Dependency on Python with "berkdb" or "gdbm" USE flag when "A" USE flag is enabled.
PYTHON_DEPEND="A? ( || ( <<[berkdb]>> <<[gdbm]>> ) )"

Each "<<>>" will be replaced in generated DEPEND and RDEPEND by something similar to:
python_abis_2.4? ( dev-lang/python:2.4 )
python_abis_2.5? ( dev-lang/python:2.5 )
python_abis_2.6? ( dev-lang/python:2.6 )
python_abis_2.7? ( dev-lang/python:2.7 )
python_abis_3.0? ( dev-lang/python:3.0 )
python_abis_3.1? ( dev-lang/python:3.1 )
python_abis_3.2? ( dev-lang/python:3.2 )
python_abis_2.5-jython? ( dev-java/jython:2.5 )

If USE dependencies have been specified in PYTHON_DEPEND, then they will be used literally
in generated DEPEND and RDEPEND:
python_abis_2.4? ( dev-lang/python:2.4[threads,xml] )
python_abis_2.5? ( dev-lang/python:2.5[threads,xml] )
...

No has_version() checks in python_pkg_setup() will be generated from PYTHON_DEPEND.

PYTHON_USE_WITH* variables will be banned in EAPI >=4.

Appropriate REQUIRED_USE will be generated from PYTHON_DEPEND.

Examples:
# Unset PYTHON_DEPEND or PYTHON_DEPEND="<<>>" can generate:
REQUIRED_USE="|| ( python_abis_2.4 python_abis_2.5 python_abis_2.6 python_abis_2.7 python_abis_3.0 python_abis_3.0 python_abis_3.1 python_abis_3.2 python_abis_2.5-jython )"

# PYTHON_DEPEND="A? ( B? ( <<[ncurses,threads]>> ) )" can generate:
REQUIRED_USE="A? ( B? ( || ( python_abis_2.4 python_abis_2.5 python_abis_2.6 python_abis_2.7 python_abis_3.0 python_abis_3.0 python_abis_3.1 python_abis_3.2 python_abis_2.5-jython ) ) )"

================================================== ==============================================
PYTHON_BDEPEND

I would also like to introduce PYTHON_BDEPEND variable, which will affect only DEPEND without
RDEPEND. PYTHON_BDEPEND will have the same syntax as PYTHON_DEPEND in given EAPI and type of
package. PYTHON_BDEPEND maybe won't affect REQUIRED_USE and has_version() checks in
python_pkg_setup(). PYTHON_BDEPEND won't affect PYTHON_DEPEND's influence on DEPEND
(dependencies will be concatenated). PYTHON_BDEPEND probably will be used mainly in packages
not supporting installation for multiple Python ABIs. In packages supporting installation for
multiple Python ABIs, PYTHON_BDEPEND can be useful only to specify USE dependencies (e.g. USE
dependencies conditional on "test" USE flag). Unset PYTHON_BDEPEND won't affect DEPEND.

--
Arfrever Frehtes Taifersar Arahesis
 
Old 11-28-2010, 07:15 PM
Markos Chandras
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

On Sun, Nov 28, 2010 at 08:32:16PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
> EAPI >=4. The new syntax will depend on whether given package supports installation for
> multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.
>
> [...]

Your changes are far too complicated to me. Python eclass and
consequently writing python ebuilds is a difficult task already.
If you keep adding more and more "magic" in this eclass,
you will end up supporting and fixing all the python ebuilds by
yourself. Maybe you should consider splitting python eclass
into two separate modules. One for core functionality and
another one which will inherit this core eclass and export
a simple API so the rest of us can use python eclass without
having to study all the documentation for a month.

--
Markos Chandras (hwoarang)
Gentoo Linux Developer
Web: http://hwoarang.silverarrow.org
Key ID: 441AC410
Key FP: AAD0 8591 E3CD 445D 6411 3477 F7F7 1E8E 441A C410
 
Old 11-28-2010, 07:20 PM
Michał Górny
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

On Sun, 28 Nov 2010 20:32:16 +0100
Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:

> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
> should be included between "<<" and ">>" markers.

Do we really need to introduce those ugly markers? AFAICS in all places
they're used you could simply either use version numbers themselves or
'*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').

--
Best regards,
Michał Górny
 
Old 11-28-2010, 07:30 PM
Arfrever Frehtes Taifersar Arahesis
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

2010-11-28 21:15:15 Markos Chandras napisał(a):
> On Sun, Nov 28, 2010 at 08:32:16PM +0100, Arfrever Frehtes Taifersar Arahesis wrote:
> > I would like to introduce incompatible improvements in syntax of PYTHON_DEPEND variable in
> > EAPI >=4. The new syntax will depend on whether given package supports installation for
> > multiple Python ABIs. The extended functionality will replace PYTHON_USE_WITH* variables.
> >
> > [...]
>
> Your changes are far too complicated to me. Python eclass and
> consequently writing python ebuilds is a difficult task already.
> If you keep adding more and more "magic" in this eclass,
> you will end up supporting and fixing all the python ebuilds by
> yourself. Maybe you should consider splitting python eclass
> into two separate modules. One for core functionality and
> another one which will inherit this core eclass and export
> a simple API so the rest of us can use python eclass without
> having to study all the documentation for a month.

The changes aren't complicated. You only need to understand special "<<>>" marker.
The syntax of ranges of versions in packages not supporting installation for multiple Python ABIs
won't be changed. Majority of ebuilds won't need to explicitly use any extended functionality
of PYTHON_DEPEND. In ebuilds, which support installation for multiple Python ABIs, unconditionally
depend on Python and don't need additional USE dependencies on Python, I will unset PYTHON_DEPEND,
because it will work like PYTHON_DEPEND="<<>>".

--
Arfrever Frehtes Taifersar Arahesis
 
Old 11-28-2010, 07:34 PM
Arfrever Frehtes Taifersar Arahesis
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

2010-11-28 21:20:31 Michał Górny napisał(a):
> On Sun, 28 Nov 2010 20:32:16 +0100
> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
>
> > PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
> > should be included between "<<" and ">>" markers.
>
> Do we really need to introduce those ugly markers? AFAICS in all places
> they're used you could simply either use version numbers themselves or
> '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').

I prefer to use a character sequence, which isn't valid in DEPEND/RDEPEND/PDEPEND.

I don't know what you mean by "version numbers". Remember that each "<<>>" in an ebuild with empty
RESTRICT_PYTHON_ABIS is replaced in DEPEND/RDEPEND by:
python_abis_2.4? ( dev-lang/python:2.4 )
python_abis_2.5? ( dev-lang/python:2.5 )
python_abis_2.6? ( dev-lang/python:2.6 )
python_abis_2.7? ( dev-lang/python:2.7 )
python_abis_3.0? ( dev-lang/python:3.0 )
python_abis_3.1? ( dev-lang/python:3.1 )
python_abis_3.2? ( dev-lang/python:3.2 )
python_abis_2.5-jython? ( dev-java/jython:2.5 )

--
Arfrever Frehtes Taifersar Arahesis
 
Old 11-28-2010, 07:39 PM
Michał Górny
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

On Sun, 28 Nov 2010 21:34:49 +0100
Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:

> 2010-11-28 21:20:31 Michał Górny napisał(a):
> > On Sun, 28 Nov 2010 20:32:16 +0100
> > Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> >
> > > PYTHON_DEPEND will be required. Otherwise each
> > > "${range_of_versions}" should be included between "<<" and ">>"
> > > markers.
> >
> > Do we really need to introduce those ugly markers? AFAICS in all
> > places they're used you could simply either use version numbers
> > themselves or '*' (instead of '<<>>', and '*[...]' instead of
> > '<<[...]>>').
>
> I prefer to use a character sequence, which isn't valid in
> DEPEND/RDEPEND/PDEPEND.

Plain version numbers aren't valid there as well.

> I don't know what you mean by "version numbers". Remember that each
> "<<>>" in an ebuild with empty RESTRICT_PYTHON_ABIS is replaced in
> DEPEND/RDEPEND by: python_abis_2.4? ( dev-lang/python:2.4 )
> python_abis_2.5? ( dev-lang/python:2.5 )
> python_abis_2.6? ( dev-lang/python:2.6 )
> python_abis_2.7? ( dev-lang/python:2.7 )
> python_abis_3.0? ( dev-lang/python:3.0 )
> python_abis_3.1? ( dev-lang/python:3.1 )
> python_abis_3.2? ( dev-lang/python:3.2 )
> python_abis_2.5-jython? ( dev-java/jython:2.5 )

And we could use simply '*' instead. Similarly to what we use
in PYTHON_DEPEND now. That wouldn't be valid in *DEPEND as well.

--
Best regards,
Michał Górny
 
Old 11-28-2010, 07:53 PM
Arfrever Frehtes Taifersar Arahesis
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

2010-11-28 21:39:43 Michał Górny napisał(a):
> On Sun, 28 Nov 2010 21:34:49 +0100
> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
>
> > 2010-11-28 21:20:31 Michał Górny napisał(a):
> > > On Sun, 28 Nov 2010 20:32:16 +0100
> > > Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> > >
> > > > PYTHON_DEPEND will be required. Otherwise each
> > > > "${range_of_versions}" should be included between "<<" and ">>"
> > > > markers.
> > >
> > > Do we really need to introduce those ugly markers? AFAICS in all
> > > places they're used you could simply either use version numbers
> > > themselves or '*' (instead of '<<>>', and '*[...]' instead of
> > > '<<[...]>>').
> >
> > I prefer to use a character sequence, which isn't valid in
> > DEPEND/RDEPEND/PDEPEND.
>
> Plain version numbers aren't valid there as well.
>
> > I don't know what you mean by "version numbers". Remember that each
> > "<<>>" in an ebuild with empty RESTRICT_PYTHON_ABIS is replaced in
> > DEPEND/RDEPEND by: python_abis_2.4? ( dev-lang/python:2.4 )
> > python_abis_2.5? ( dev-lang/python:2.5 )
> > python_abis_2.6? ( dev-lang/python:2.6 )
> > python_abis_2.7? ( dev-lang/python:2.7 )
> > python_abis_3.0? ( dev-lang/python:3.0 )
> > python_abis_3.1? ( dev-lang/python:3.1 )
> > python_abis_3.2? ( dev-lang/python:3.2 )
> > python_abis_2.5-jython? ( dev-java/jython:2.5 )
>
> And we could use simply '*' instead. Similarly to what we use
> in PYTHON_DEPEND now. That wouldn't be valid in *DEPEND as well.

'*' in range of versions has different meaning. Ranges of versions in ebuilds NOT supporting
installation for multiple Python ABIs still need to be explicitly included. In these ebuilds,
"<<" and ">>" indicate where characters of range of versions start and end.

Example:
# Dependency on any version of Python when "A" and "B" USE flags are enabled.
# PYTHON_DEPEND in EAPI <=3 doesn't allow to specify such a condition.
PYTHON_DEPEND="A? ( B? ( <<*>> ) )"

--
Arfrever Frehtes Taifersar Arahesis
 
Old 11-28-2010, 11:24 PM
Alex Alexander
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

On 28 Nov 2010, at 22:20, Michał Górny <mgorny@gentoo.org> wrote:

> On Sun, 28 Nov 2010 20:32:16 +0100
> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
>
>> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
>> should be included between "<<" and ">>" markers.
>
> Do we really need to introduce those ugly markers? AFAICS in all places
> they're used you could simply either use version numbers themselves or
> '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').
>
> --
> Best regards,
> Michał Górny

I agree, reading these markers hurts my eyes

Alex | wired
 
Old 11-29-2010, 12:48 AM
Arfrever Frehtes Taifersar Arahesis
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

2010-11-29 01:24:50 Alex Alexander napisał(a):
> On 28 Nov 2010, at 22:20, Michał Górny <mgorny@gentoo.org> wrote:
>
> > On Sun, 28 Nov 2010 20:32:16 +0100
> > Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
> >
> >> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
> >> should be included between "<<" and ">>" markers.
> >
> > Do we really need to introduce those ugly markers? AFAICS in all places
> > they're used you could simply either use version numbers themselves or
> > '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').
> >
>
> I agree, reading these markers hurts my eyes

Some markers are necessary. Read the following examples in an ebuild NOT supporting installation
for multiple Python ABIs:

# Dependency on Python 2 or 3
PYTHON_DEPEND="<<2 3>>"

# Dependency on Python 2 and 3
PYTHON_DEPEND="<<2>> <<3>>"

--
Arfrever Frehtes Taifersar Arahesis
 
Old 11-29-2010, 12:54 AM
Jonathan Callen
 
Default PYTHON_DEPEND in EAPI >=4, PYTHON_BDEPEND

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 11/28/2010 08:48 PM, Arfrever Frehtes Taifersar Arahesis wrote:
> 2010-11-29 01:24:50 Alex Alexander napisał(a):
>> On 28 Nov 2010, at 22:20, Michał Górny <mgorny@gentoo.org> wrote:
>>
>>> On Sun, 28 Nov 2010 20:32:16 +0100
>>> Arfrever Frehtes Taifersar Arahesis <Arfrever@gentoo.org> wrote:
>>>
>>>> PYTHON_DEPEND will be required. Otherwise each "${range_of_versions}"
>>>> should be included between "<<" and ">>" markers.
>>>
>>> Do we really need to introduce those ugly markers? AFAICS in all places
>>> they're used you could simply either use version numbers themselves or
>>> '*' (instead of '<<>>', and '*[...]' instead of '<<[...]>>').
>>>
>>
>> I agree, reading these markers hurts my eyes
>
> Some markers are necessary. Read the following examples in an ebuild NOT supporting installation
> for multiple Python ABIs:
>
> # Dependency on Python 2 or 3
> PYTHON_DEPEND="<<2 3>>"
>
> # Dependency on Python 2 and 3
> PYTHON_DEPEND="<<2>> <<3>>"
>

Just throwing this out as an option, instead of using "<< >>", maybe "{
}", which might be more readable (and isn't currently allowed at all in
*DEPEND.

- --
Jonathan Callen
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQIcBAEBCAAGBQJM8wfGAAoJELHSF2kinlg4+GcQAKd+AdhhXX iQmYpw0DGY+tz3
xiAxoFgNKob5lTNHT20Y82PoeDHrYeN8Wia8nHcKY/P3wJ7OjRW6RrA+OgS5sasu
fjA6sRhLqR6reUyQPJc/Varwd0Hr2sNUcNN25/6z12y9orsI0y7rtcqo7Nn23Sek
6YR5p4FCIN+94uXgdYUnt5ZhNwCaYl/5BZIvtMgGzA1fGTJlwlv8kQXKteD2ocQH
+AiRpGHOUusi4XA/9FVUiMHrX3N2pac87TR3FcUAtUEeOllYZqjUcQwu4cZjmRkb
nkqgXWU8/A10IpkHvwl0EctlHB5QWcLaV+Ffadd+itjIZ87d7+1mFZlOMr3 wuypo
CMb/ogo8Zr7BqaeOyzxbQFR4LP3FbZjw/5hnMxQ7XqGyPsVduVeBWMl22SeBzUGK
fwNmxhIHNI4q3wCsI7e2AtS+bJL6CPhL1DzbMEEK6HQhxIVBrn nTBTJaX1lvs1l+
RK/0ygI7EBWGhebIfs28EMsxxZISH7ik2SVBGLTRpHEutrv+ikn96 yMqMJC95Yef
R1rStPIkbwhGoVWw1QiYtjA3r7FRG0Zz09DeaPHXl66/qotNHfdQHuo6MsSPy1Yx
GdyFRiCSaD+AxnmJ8FJ5wg8TW47tPoX2M4xczQx08t34MHx9zl Q8fWIwgqKZrS0w
dp9HSzCYUXe7xlZ7Ja5g
=g1Y2
-----END PGP SIGNATURE-----
 

Thread Tools




All times are GMT. The time now is 06:36 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org