[gentoo-dev] Suggestion: Globalness of some USE flags

2006-08-31 Thread Arfrever Frehtes Taifersar Arahesis
I think that cairo, logrotate, openexr, udev and vnc USE flags should be 
global. These are now local USE flags.

Do you agree to change their globalness?


Jak zerwać z dziewczyną, która potrafi fruwać, przenosić 
góry i przebijać wzrokiem stalowe pancerze? Uma Thurman
w komedii MOJA SUPER EKSDZIEWCZYNA. Już kinach!
http://klik.wp.pl/?adr=http%3A%2F%2Fadv.reklama.wp.pl%2Fas%2Fmojasuperdziewczyna.htmlsid=857


-- 
gentoo-dev@gentoo.org mailing list



Re: [gentoo-dev] [RFC] SRC_URI behaviour

2013-06-16 Thread Arfrever Frehtes Taifersar Arahesis
2013-06-15 17:51 Rich Freeman napisał(a):
 Plus, right now with Gentoo there is no way to set an overlay as being LOWER
 priority than the main tree - so that you can grab packages not supported in
 main from an overlay but still use the main packages when available.

Portage has been supporting setting of priority in /etc/portage/repos.conf for 
about 2.7 years.

$ cat /etc/portage/repos.conf
[name_of_overlay]
priority = -1001

(`emerge --info -v` shows repositories with their priorities.)

--
Arfrever Frehtes Taifersar Arahesis



[gentoo-dev] Marking of deprecated USE flags

2013-08-09 Thread Arfrever Frehtes Taifersar Arahesis
Some people want that repoman print warnings for ebuilds, whose effective IUSE 
contains deprecated
USE flags (e.g. USE flags corresponding to old versions of Python/Ruby). I 
suggest that deprecation
of USE flags be specified by  (DEPRECATED) suffix in descriptions of given 
flags in profiles/use.desc
and profiles/desc/*.desc files.

Any opinions about syntax?

Example:

Index: profiles/desc/python_single_target.desc
===
RCS file: /var/cvsroot/gentoo-x86/profiles/desc/python_single_target.desc,v
retrieving revision 1.5
diff -u -r1.5 python_single_target.desc
--- profiles/desc/python_single_target.desc 5 Aug 2013 14:20:47 -   
1.5
+++ profiles/desc/python_single_target.desc 9 Aug 2013 16:27:37 -
@@ -4,14 +4,14 @@
 
 # This file contains descriptions of PYTHON_SINGLE_TARGET USE_EXPAND flags.
 
-python2_5 - Build for Python 2.5 only
+python2_5 - Build for Python 2.5 only (DEPRECATED)
 python2_6 - Build for Python 2.6 only
 python2_7 - Build for Python 2.7 only
-python3_1 - Build for Python 3.1 only
+python3_1 - Build for Python 3.1 only (DEPRECATED)
 python3_2 - Build for Python 3.2 only
 python3_3 - Build for Python 3.3 only
-jython2_5 - Build for Jython 2.5 only
+jython2_5 - Build for Jython 2.5 only (DEPRECATED)
 jython2_7 - Build for Jython 2.7 only
-pypy1_9 - Build for PyPy 1.9 only
+pypy1_9 - Build for PyPy 1.9 only (DEPRECATED)
 pypy2_0 - Build for PyPy 2.0 only
 pypy2_1 - Build for PyPy 2.1 only
Index: profiles/desc/python_targets.desc
===
RCS file: /var/cvsroot/gentoo-x86/profiles/desc/python_targets.desc,v
retrieving revision 1.9
diff -u -r1.9 python_targets.desc
--- profiles/desc/python_targets.desc   5 Aug 2013 14:20:47 -   1.9
+++ profiles/desc/python_targets.desc   9 Aug 2013 16:27:37 -
@@ -4,15 +4,15 @@
 
 # This file contains descriptions of PYTHON_TARGETS USE_EXPAND flags.
 
-python2_5 - Build with Python 2.5
+python2_5 - Build with Python 2.5 (DEPRECATED)
 python2_6 - Build with Python 2.6
 python2_7 - Build with Python 2.7
-python3_1 - Build with Python 3.1
+python3_1 - Build with Python 3.1 (DEPRECATED)
 python3_2 - Build with Python 3.2
 python3_3 - Build with Python 3.3
 python3_4 - Build with Python 3.4
-jython2_5 - Build with Jython 2.5
+jython2_5 - Build with Jython 2.5 (DEPRECATED)
 jython2_7 - Build with Jython 2.7
-pypy1_9 - Build with PyPy 1.9
+pypy1_9 - Build with PyPy 1.9 (DEPRECATED)
 pypy2_0 - Build with PyPy 2.0
 pypy2_1 - Build with PyPy 2.1
Index: profiles/desc/ruby_targets.desc
===
RCS file: /var/cvsroot/gentoo-x86/profiles/desc/ruby_targets.desc,v
retrieving revision 1.3
diff -u -r1.3 ruby_targets.desc
--- profiles/desc/ruby_targets.desc 23 Jun 2013 12:31:14 -  1.3
+++ profiles/desc/ruby_targets.desc 9 Aug 2013 16:27:37 -
@@ -6,7 +6,7 @@
 
 rbx - Build with Rubinius
 jruby - Build with JRuby
-ree18 - Build with Ruby Enterprise Edition 1.8.x
+ree18 - Build with Ruby Enterprise Edition 1.8.x (DEPRECATED)
 ruby18 - Build with MRI Ruby 1.8.x
 ruby19 - Build with MRI Ruby 1.9.x
 ruby20 - Build with MRI Ruby 2.0.x

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: [RFC] Policy for migrating library consumers to subslots

2013-09-26 Thread Arfrever Frehtes Taifersar Arahesis
2013-09-26 17:04 Michael Palimaka napisał(a):
 What about when the subslot of boost was equal to ${PV}? Was it really a 
 good idea to make everyone rebuild half their system for a bugfix 
 release, without even checking if the ABI changed?

It is wrong example due to 2 reasons:
1. Subslot of dev-libs/boost::gentoo was never equal to ${PV}.
2. Sonames of Boost libraries actually include full ${PV}, so rebuilding of 
reverse dependencies
   would be necessary after upgrade from Boost 1.54.0 to hypothetical 1.54.1.

Although upstream rarely releases X.Y.Z with Z != 0 (last was 1.46.1).
http://www.boost.org/users/history/

--
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Ideas for a (fast) EAPI=3

2009-03-08 Thread Arfrever Frehtes Taifersar Arahesis
2009-03-08 10:43:44 Tiziano Müller napisał(a):
 Am Sonntag, den 08.03.2009, 00:08 -0800 schrieb Josh Saddler:
  Tiziano Müller wrote:
   Hi everyone
   
   With eapis 1 and 2 we introduced nice features but also a couple of new
   problems. One of them are the use dependencies when the package you
   depend on doesn't have the use flag anymore (see [1] for an example).
   
   So I think it's time for a short eapi bump with some distinct
   improvements:
   
   http://spreadsheets.google.com/ccc?key=pPAJXP6shYH78lCXeqRqCUQ
  
  Is there a reason why we should ram through a new EAPI for something
  that *looks* like another Paludis supports this so let's make it a
  Portage standard proposal?
 Ok, first it's not about paludis,portage,pkgcore,whatever but about the
 ebuild-format. Paludis also fails if you have DEPEND=cat/foo[moo] in
 bar-0.1.ebuild but cat/foo doesn't have a moo USE flag.
 
 So, please let's focus on the problems we have and try to find a
 solution. Please fill in the blanks in the table if you know how portage
 has it implemented.
 
 And I used the word fast because people start to use use-dependencies
 on a larger scale leading to more problems like the one I described in
 the example. In fact, you could already say that for git the dep-tree is
 broken because newer subversion doesn't carry the dso USE flag
 anymore.

http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-util/subversion/subversion-1.5.5.ebuild?view=markup
contains:
IUSE=apache2 berkdb debug doc +dso emacs extras java nls perl python ruby sasl 
vim-syntax +webdav-neon webdav-serf
^^^

(Subversion 1.6.* also has dso USE flag.)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Request for testing of GnuTLS 2.7.*

2009-05-03 Thread Arfrever Frehtes Taifersar Arahesis
GnuTLS =2.7.1 doesn't contain 'libgnutls-config' and 'libgnutls-extra-config'
scripts so packages, which use them, usually fail to build.
(Sometimes `configure` scripts disable support for GnuTLS without failing.)

The list of packages depending on net-libs/gnutls is available at:
http://tinderbox.dev.gentoo.org/misc/dindex/net-libs/gnutls

If you maintain or use a package included in this list, please check if it
can be built with =net-libs/gnutls-2.7.1.

If a package fails to build with =net-libs/gnutls-2.7.1 and it hasn't been
reported yet, please report a bug and make it block bug 253709 [1].

GnuTLS 2.8.0 will be released soon and we would like to unmask it without
waiting too long.

[1] https://bugs.gentoo.org/show_bug.cgi?id=253709

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] [RFC] Allow bash-4.0 features in EAPI=3 ebuilds

2009-05-17 Thread Arfrever Frehtes Taifersar Arahesis
I would like to suggest to include possibility of using of features of
bash-4.0 (and older versions) in local scope of EAPI=3 ebuilds.

I know that it's slightly late, but this change is very easy to implement
(adjusting RDEPEND of new versions of package managers and updating PMS).

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] Allow bash-4.0 features in EAPI=3 ebuilds

2009-05-17 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-17 18:37:32 Ciaran McCreesh napisał(a):
 On Sun, 17 May 2009 18:20:21 +0200
 Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com wrote:
  I would like to suggest to include possibility of using of features of
  bash-4.0 (and older versions) in local scope of EAPI=3 ebuilds.
  
  I know that it's slightly late, but this change is very easy to
  implement (adjusting RDEPEND of new versions of package managers and
  updating PMS).
 
 No good, for two reasons.
 
 First, this is a global scope change

Why do you think that it is a global scope change?

 and we can't make global scope
 changes to EAPIs using current mechanisms. EAPIs have to carry on using
 bash 3 until the EAPI mechanism is changed.

IMHO ebuilds are allowed to set DEPEND==app-shells/bash-4.0 and use
bash-4.0 features anyway, but it would be easier to just set appropriate EAPI
in ebuilds.

 Second, by order of the Council, EAPI 3's feature list was locked
 several weeks ago. If we ignore that for one thing, it just means
 everyone else who had features that came along too late will start
 demanding we reconsider those too...

IMHO addition of this feature would be acceptable.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] GLEP 55 updated

2009-05-17 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-17 20:57:25 Robert Buchholz napisał(a):
 On Sunday 17 May 2009, Piotr Jaroszyński wrote:
  Hello,
 
  I have just updated GLEP 55 [1], hopefully making it a bit clearer.
 
  Just FYI, my order of preference of solutions is:
 
  1. EAPI-suffixed ebuilds (obviously)
  2. EAPI in the filename with one-time extension change
  3. Easily fetchable EAPI inside the ebuild and one-time extension
  change
 
 Judging from this list, fourth option present in the GLEP is 
 unacceptable for you?
 4. Easily fetchable EAPI inside the ebuild

+1

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: EAPI Changes

2009-05-17 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-17 22:51:50 Ryan Hill napisał(a):
 On Sun, 17 May 2009 21:03:46 +0200
 Tiziano Müller dev-z...@gentoo.org wrote:
  So, unless you're doing a pkgmove
  it's a dangerous thing since the PM can't reliably track reverse deps
  when doing uninstalls since it has to use the vdb entry for that,
  doesn't it?
 
 Since when do we track reverse deps for uninstalls?

Portage supports `emerge --depclean ${package}` command which checks reverse 
dependencies.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] Allow bash-4.0 features in EAPI=3 ebuilds

2009-05-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-17 19:02:02 Piotr Jaroszyński napisał(a):
 2009/5/17 Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com:
  2009-05-17 18:37:32 Ciaran McCreesh napisał(a):
  On Sun, 17 May 2009 18:20:21 +0200
  Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com wrote:
   I would like to suggest to include possibility of using of features of
   bash-4.0 (and older versions) in local scope of EAPI=3 ebuilds.
  
   I know that it's slightly late, but this change is very easy to
   implement (adjusting RDEPEND of new versions of package managers and
   updating PMS).
 
  No good, for two reasons.
 
  First, this is a global scope change
 
  Why do you think that it is a global scope change?
 
 I have updated the glep, see how it breaks [1].
 
 [1] - http://dev.gentoo.org/~peper/glep-0055.html#use-newer-bash-features

This error occurs only when there is no up-to-date cache for given ebuild.
rsync users would see only the usual masked by: EAPI 3 message.

Here's the updated version of my proposition:

* bash-4.0 features are allowed in EAPI=3 (global scope and local scope).

* bash-4.0 features temporarily shouldn't be used in gentoo-x86 repository
  until 1 month has passed since stabilization of =app-shells/bash-4.0* on
  all architectures. It will give Gentoo developers sufficient time to update
  app-shells/bash. (app-shells/bash used on system, which generates cache,
  also should be updated.)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] Allow bash-4.0 features in EAPI=3 ebuilds

2009-05-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-20 19:29:12 Piotr Jaroszyński napisał(a):
 2009/5/20 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org:
  2009-05-17 19:02:02 Piotr Jaroszyński napisał(a):
  2009/5/17 Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com:
   2009-05-17 18:37:32 Ciaran McCreesh napisał(a):
   On Sun, 17 May 2009 18:20:21 +0200
   Arfrever Frehtes Taifersar Arahesis arfrever@gmail.com wrote:
I would like to suggest to include possibility of using of features of
bash-4.0 (and older versions) in local scope of EAPI=3 ebuilds.
   
I know that it's slightly late, but this change is very easy to
implement (adjusting RDEPEND of new versions of package managers and
updating PMS).
  
   No good, for two reasons.
  
   First, this is a global scope change
  
   Why do you think that it is a global scope change?
 
  I have updated the glep, see how it breaks [1].
 
  [1] - http://dev.gentoo.org/~peper/glep-0055.html#use-newer-bash-features
 
  This error occurs only when there is no up-to-date cache for given ebuild.
  rsync users would see only the usual masked by: EAPI 3 message.
 
 Relying on cache being valid is doomed to fail. Among other things,
 what about overlays?

People managing overlays can temporarily disallow using bash-4.0 features
in their overlays or they can drop support for bash-3, but it is outside
of scope of my proposition.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] Allow bash-4.0 features in EAPI=3 ebuilds

2009-05-21 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-20 20:00:43 Ciaran McCreesh napisał(a):
 On Wed, 20 May 2009 19:12:56 +0200
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
  This error occurs only when there is no up-to-date cache for given
  ebuild. rsync users would see only the usual masked by: EAPI 3
  message.
 
 We always have to assume that there might not be an up to date cache.
 The Gentoo rsync mirrors do not always ship up to date cache,
 particularly if someone's just changed a widely used eclass.

Users can wait an hour and run `emerge --sync` again.
Anyway, Portage still allows to install other ebuilds (with lower EAPI)
of given package, so this corner case doesn't need to slow down progress.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: [RFC] Allow bash-4.0 features in EAPI=3 ebuilds

2009-05-24 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-17 18:20:21 Arfrever Frehtes Taifersar Arahesis napisał(a):
 I would like to suggest to include possibility of using of features of
 bash-4.0 (and older versions) in local scope of EAPI=3 ebuilds.
 
 I know that it's slightly late, but this change is very easy to implement
 (adjusting RDEPEND of new versions of package managers and updating PMS).

Zac Medico doesn't have objections to this proposition, so I hope that Council
will approve it.

From #gentoo-portage:
[22:40:11] Arfrever zmedico: What is your opinion about allowing bash-4.0 
features in EAPI=3?
...
[22:55:03] zmedico Arfrever: that's fine with me
...
[22:56:15] Arfrever zmedico: Could you respond to the thread on gentoo-dev 
mailing list about it?
...
[22:56:59] tanderson I'd not mind seeing bash 4 in eapi 3; and I don't buy 
ciaran's argument that it'll open the door for all the other latecomers
[22:57:20] igli takes out life-insurance on tanderson ;p
[22:57:22] zmedico Arfrever: can you just respond for me and say zac says 
it's okay with him? :)
[22:58:52] zmedico is migrating his thunderbird pop setup to use all imap and 
filters in gmial
[22:58:55] zmedico *gmail
[22:59:08] tanderson igli: disagreeing technically isn't something that can 
get you killed! You're notplaying the odds well my friend
[22:59:23] Arfrever zmedico: OK.
[22:59:34] zmedico Arfrever: thanks a lot :)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Monthly Gentoo Council Reminder for June

2009-06-01 Thread Arfrever Frehtes Taifersar Arahesis
2009-06-01 07:30:01 Mike Frysinger napisał(a):
 This is your monthly friendly reminder !  Same bat time (typically
 the 2nd Thursday at 2000 UTC / 1600 EST), same bat channel
 (#gentoo-council @ irc.freenode.net) !
 
 If you have something you'd wish for us to chat about, maybe even
 vote on, let us know !  Simply reply to this e-mail for the whole
 Gentoo dev list to see.

Please vote on:
* Temporary unlocking of list of features of EAPI=3
* Allowing bash-4.0 features in EAPI=3 ebuilds
* Temporary disallowing of adding bash-4.0 features to ebuilds in
  gentoo-x86 repository until ${TIME:-1 month} has passed since
  stabilization of =app-shells/bash-4.0* on all architectures.

Details of this proposition were already discussed on:
http://archives.gentoo.org/gentoo-dev/msg_fac31baaca8de3fb39ba6209fced9362.xml

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] [RFC] [EAPI=3] Add approprietly prefixed values of IUSE_* variables to IUSE

2009-07-04 Thread Arfrever Frehtes Taifersar Arahesis
I would like to suggest that values of IUSE_* variables (whose names end with
values of USE_EXPAND variable), after prefixing with lower-cased names of
appropriate variables included in USE_EXPAND, should be automatically added
to IUSE variable.

Example:
IUSE=abc
IUSE_LINGUAS=en fr +la pl ru

Effective IUSE would be abc linguas_en linguas_fr +linguas_la linguas_pl 
linguas_ru.

Currently ebuilds need to manually add such flags to IUSE.

It's a zero-cost feature implemented in the attached patch, so including it
in EAPI=3 (after temporary unlocking of list of features of EAPI=3) wouldn't
delay implementing support for EAPI=3 in Portage.

-- 
Arfrever Frehtes Taifersar Arahesis
Index: bin/ebuild.sh
===
--- bin/ebuild.sh	(revision 13786)
+++ bin/ebuild.sh	(working copy)
@@ -1154,6 +1154,22 @@ debug-print-section() {
 	debug-print now in section $*
 }
 
+expand_IUSE() {
+	if ! has ${EAPI:-0} 0 1 2 ; then
+		local var flag flag_prefix
+		for var in $USE_EXPAND ; do
+			for flag in $(eval echo \$IUSE_$var) ; do
+flag_prefix=
+if [[ ${flag:0:1} == [+-] ]] ; then
+	flag_prefix=${flag:0:1}
+	flag=${flag:1}
+fi
+IUSE=$IUSE $flag_prefix$(echo $var | LC_ALL=C tr [:upper:] [:lower:])_$flag
+			done
+		done
+	fi
+}
+
 # Sources all eclasses in parameters
 declare -ix ECLASS_DEPTH=0
 inherit() {
@@ -1240,6 +1256,8 @@ inherit() {
 		#turn off glob expansion
 		set -f
 
+		expand_IUSE
+
 		# If each var has a value, append it to the global variable E_* to
 		# be applied after everything is finished. New incremental behavior.
 		[ ${IUSE-unset}!= unset ]  export E_IUSE=${E_IUSE} ${IUSE}
@@ -1750,6 +1768,10 @@ _source_ebuild() {
 	# eclasses, they need to be unset before this process of
 	# interaction begins.
 	unset DEPEND RDEPEND PDEPEND IUSE
+	local var
+	for var in $USE_EXPAND ; do
+		unset IUSE_$var
+	done
 	source ${EBUILD} || die error sourcing ebuild
 
 	if [ ${EBUILD_PHASE} != depend ] ; then
@@ -1773,6 +1795,8 @@ _source_ebuild() {
 
 	unset ECLASS E_IUSE E_DEPEND E_RDEPEND E_PDEPEND
 
+	expand_IUSE
+
 	# alphabetically ordered by $EBUILD_PHASE value
 	local f valid_phases
 	case $EAPI in
Index: bin/isolated-functions.sh
===
--- bin/isolated-functions.sh	(revision 13786)
+++ bin/isolated-functions.sh	(working copy)
@@ -512,8 +512,8 @@ save_ebuild_env() {
 			abort_test abort_install dyn_prepare dyn_configure \
 			dyn_compile dyn_test dyn_install \
 			dyn_preinst dyn_help debug-print debug-print-function \
-			debug-print-section inherit EXPORT_FUNCTIONS newdepend newrdepend \
-			newpdepend do_newdepend remove_path_entry \
+			debug-print-section expand_IUSE inherit EXPORT_FUNCTIONS \
+			newdepend newrdepend newpdepend do_newdepend remove_path_entry \
 			save_ebuild_env filter_readonly_variables preprocess_ebuild_env \
 			source_all_bashrcs ebuild_main \
 			ebuild_phase ebuild_phase_with_hooks \


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] [RFC] [EAPI=3] Add approprietly prefixed values of IUSE_* variables to IUSE

2009-07-07 Thread Arfrever Frehtes Taifersar Arahesis
2009-07-05 13:36:24 David Leverton napisał(a):
 On Sunday 05 July 2009 03:33:54 Arfrever Frehtes Taifersar Arahesis wrote:
  I would like to suggest that values of IUSE_* variables (whose names end
  with values of USE_EXPAND variable), after prefixing with lower-cased names
  of appropriate variables included in USE_EXPAND, should be automatically
  added to IUSE variable.
 
 USE_EXPAND is set in the profiles, so it can't be used during metadata 
 generation.

OK. I think that the proposed new behavior could concern all IUSE_* variables 
(maybe except IUSE_IMPLICIT).

  It's a zero-cost feature implemented in the attached patch, so including it
  in EAPI=3 (after temporary unlocking of list of features of EAPI=3)
  wouldn't delay implementing support for EAPI=3 in Portage.
 
 http://www.gentoo.org/proj/en/council/meeting-logs/20090409-summary.txt

Council can vote on changing of its previous decisions.

-- 
Arfrever Frehtes Taifersar Arahesis
Index: bin/ebuild.sh
===
--- bin/ebuild.sh	(revision 13805)
+++ bin/ebuild.sh	(working copy)
@@ -1182,6 +1182,24 @@
 	debug-print now in section $*
 }
 
+expand_IUSE() {
+	if ! has ${EAPI:-0} 0 1 2 ; then
+		local var flag flag_prefix
+		for var in ${!IUSE_*} ; do
+			if [[ $var != IUSE_IMPLICIT ]] ; then
+for flag in ${!var} ; do
+	flag_prefix=
+	if [[ ${flag:0:1} == [+-] ]] ; then
+		flag_prefix=${flag:0:1}
+		flag=${flag:1}
+	fi
+	IUSE=$IUSE $flag_prefix$(echo ${var#IUSE_} | LC_ALL=C tr [:upper:] [:lower:])_$flag
+done
+			fi
+		done
+	fi
+}
+
 # Sources all eclasses in parameters
 declare -ix ECLASS_DEPTH=0
 inherit() {
@@ -1268,6 +1286,8 @@
 		#turn off glob expansion
 		set -f
 
+		expand_IUSE
+
 		# If each var has a value, append it to the global variable E_* to
 		# be applied after everything is finished. New incremental behavior.
 		[ ${IUSE-unset}!= unset ]  export E_IUSE=${E_IUSE} ${IUSE}
@@ -1785,6 +1805,12 @@
 	# eclasses, they need to be unset before this process of
 	# interaction begins.
 	unset DEPEND RDEPEND PDEPEND IUSE
+	local var
+	for var in ${!IUSE_*} ; do
+		if [[ $var != IUSE_IMPLICIT ]] ; then
+			unset $var
+		fi
+	done
 	source ${EBUILD} || die error sourcing ebuild
 
 	if [ ${EBUILD_PHASE} != depend ] ; then
@@ -1808,6 +1834,8 @@
 
 	unset ECLASS E_IUSE E_DEPEND E_RDEPEND E_PDEPEND
 
+	expand_IUSE
+
 	# alphabetically ordered by $EBUILD_PHASE value
 	local f valid_phases
 	case $EAPI in
Index: bin/isolated-functions.sh
===
--- bin/isolated-functions.sh	(revision 13805)
+++ bin/isolated-functions.sh	(working copy)
@@ -512,8 +512,8 @@
 			abort_test abort_install dyn_prepare dyn_configure \
 			dyn_compile dyn_test dyn_install \
 			dyn_preinst dyn_help debug-print debug-print-function \
-			debug-print-section inherit EXPORT_FUNCTIONS newdepend newrdepend \
-			newpdepend do_newdepend remove_path_entry \
+			debug-print-section expand_IUSE inherit EXPORT_FUNCTIONS \
+			newdepend newrdepend newpdepend do_newdepend remove_path_entry \
 			save_ebuild_env filter_readonly_variables preprocess_ebuild_env \
 			source_all_bashrcs ebuild_main \
 			ebuild_phase ebuild_phase_with_hooks \


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: Python 2.6.* stabilization plans

2009-07-10 Thread Arfrever Frehtes Taifersar Arahesis
2009-05-18 06:47:56 Arfrever Frehtes Taifersar Arahesis napisał(a):
 I'm planning to request stabilization of Python 2.6.* in August.

s/August/July/

 I will also request stabilizations of other packages which need to be
 stabilized before Python 2.6.*.
 
 Please test various packages with Python 2.6.*. If you find a package
 which fails to build or doesn't work with Python 2.6.*, please report
 a bug and make it block bug #230205 [1].
 
 [1] https://bugs.gentoo.org/show_bug.cgi?id=230205

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Support for multiple ABIs (for Python modules etc.)

2009-07-25 Thread Arfrever Frehtes Taifersar Arahesis
/${CATEGORY}/${PF}/ABIS):
python[2.6,3.1] ruby[1.9]

Names/syntax of specific variables etc. can be changed. Please write 
constructive comments.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Support for multiple ABIs (for Python modules etc.)

2009-07-25 Thread Arfrever Frehtes Taifersar Arahesis
2009-07-25 12:28:44 Arfrever Frehtes Taifersar Arahesis napisał(a):
 I would like to present the plan of support for multiple ABIs. It should be 
 sufficient for
 Python modules and might be also appropriate for some other ABI types (e.g. 
 for Ruby modules).
 
 1. Portage will support repository-specific, profile-independent 
 ${REPOSITORY}/profiles/settings
 configuration files (filename can be changed). They will set some variables 
 (similarly to
 make.defaults files). These variables shouldn't be overrideable by profiles, 
 eclasses, ebuilds
 or by user's configuration files (e.g. /etc/portage/*). For future 
 compatibility these files
 could also support lists/indexed arrays and dictionaries/associative 
 arrays/maps.
 
 2. ${REPOSITORY}/profiles/settings will set ABI_TYPES and 
 ${ABI_TYPE^^}_ABI_SUPPORTED_VALUES variables.
 ABI_TYPES defines supported ABI types. ${ABI_TYPE^^}_ABI_SUPPORTED_VALUES 
 defines supported ABIs
 for given ABI type.
 
   Example (${REPOSITORY}/profiles/settings):
 ABI_TYPES=python ruby ...
 PYTHON_ABI_SUPPORTED_VALUES=2.4 2.5 2.6 3.0 3.1
 RUBY_ABI_SUPPORTED_VALUES=1.8 1.9
 
 3. make.defaults files will support 
 ${ABI_TYPE^^}_ABI_FORCED_VALUES/${ABI_TYPE^^}_ABI_MASKED_VALUES
 variables to force/mask specific ABIs in given profiles.
 
   Example (make.defaults):
 PYTHON_ABI_MASKED_VALUES=2.4 2.5
 PYTHON_ABI_FORCED_VALUES=3.1
 
 4. For convenience of developers ABI dependencies will be able to be 
 specified in explicit and
 slightly implicit way. Ebuilds/eclasses, which support multiple ABIs, will 
 set USED_ABI_TYPES.
 Ebuilds/eclasses will be able to set RESTRICT_${ABI_TYPE^^}_ABIS variables 
 which will support
 '*' wildcard. USED_ABI_TYPES and RESTRICT_${ABI_TYPE^^}_ABIS variables should 
 be cumulative
 (across eclasses and ebuild).
 
   Example (ebuild):
 USED_ABI_TYPES=python
 # This package doesn't work yet with Python 2.6 and 3.*
 RESTRICT_PYTHON_ABIS=2.6 3*
 
 4.1. Implicitly specified ABI dependencies. During calculation of 
 dependencies of given package,
 Portage will verify if all dependencies, which use given ABI type, have been 
 built with enabled
 support for these ABIs, which are enabled for given package.
 
   Example (ebuild):
 # dev-python/bsddb3
 USED_ABI_TYPES=python
 RDEPEND==sys-libs/db-4.6
 DEPEND=${RDEPEND}
 dev-python/setuptools
 doc? ( dev-python/sphinx )
 
 Assuming that dev-python/setuptools and dev-python/sphinx set 
 USED_ABI_TYPES=python,
 Portage will verify that, when user runs `USE_PYTHON=2.5 2.6 emerge 
 dev-python/bsddb3`,
 dev-python/setuptools and dev-python/sphinx (when USE=doc is enabled) 
 are built with
 enabled support for at least 2.5 and 2.6 Python ABIs. If they are 
 already installed
 without support for e.g. 2.5 Python ABI, Portage will print appropriate 
 error message
 (similarly to unsatisfied USE dependencies) and exit.
 
 4.2. Explicitly specified ABI dependencies. {,P,R}DEPEND variables will 
 support specifying
 ABI dependencies in explicit way. {,P,R}DEPEND variables will also support 
 ABI conditionals.
 I suggest using {ABI_type[comma-delimited values]} syntax, but it can be 
 changed.
 
   Example (ebuild):
 DEPEND=category/package1{python[2.5,2.6],ruby[-1.8]}
 RDEPEND={python[2.6]}? ( category/package2 )
 
   Example (python.eclass):
 DEPEND=
 {python[2.4]}? ( dev-lang/python:2.4 )
 {python[2.5]}? ( dev-lang/python:2.5 )
 {python[2.6]}? ( dev-lang/python:2.6 )
 {python[3.0]}? ( dev-lang/python:3.0 )
 {python[3.1]}? ( dev-lang/python:3.1 )
 
 RDEPEND=${RDEPEND}
 
 5. 18th line of metadata cache files will contain the list of ABI types and 
 values supported
 (i.e. not restricted by RESTRICT_${ABI_TYPE^^}_ABIS variables) by given 
 package.
 
   Example (18th line of metadata cache file):
 python[2.5,2.6,3.0,3.1] ruby[1.8,1.9]
 
 Every change to ${REPOSITORY}/profiles/settings should probably invalidate 
 whole metadata
 cache of given repository.
 
 6. Portage will support USE_${ABI_TYPE^^} variables in /etc/make.conf to 
 specify which ABIs
 should be enabled.

Portage will also allow to set USE_${ABI_TYPE^^} variables per-package etc.

 
   Example (/etc/make.conf):
 USE_PYTHON=2.5 2.6 3.1
 USE_RUBY=1.8 1.9
 
 7. Portage will set ${ABI_TYPE^^}_ABIS variables in ebuild environment. 
 ${ABI_TYPE^^}_ABIS
 should contain ABIs forced by ${ABI_TYPE^^}_ABI_FORCED_VALUES and these ABIs 
 enabled by user
 in /etc/make.conf by USE_${ABI_TYPE^^} which aren't masked by 
 ${ABI_TYPE^^}_ABI_MASKED_VALUES.

${ABI_TYPE^^}_ABIS variables won't contain ABIs restricted by 
RESTRICT_${ABI_TYPE^^}_ABIS
variables. Eclasses/ebuilds will be able to change the values of 
${ABI_TYPE^^}_ABIS variables
in ebuild phases. For example python.eclass will support ignoring of build 
failures for Python
ABIs specified by user in FAILURE_TOLERANT_PYTHON_ABIS variable. Python ABIs

Re: [gentoo-dev] Support for multiple ABIs (for Python modules etc.)

2009-07-26 Thread Arfrever Frehtes Taifersar Arahesis
2009-07-26 14:40:13 Marijn Schouten (hkBst) napisał(a):
 Arfrever Frehtes Taifersar Arahesis wrote:
  I would like to present the plan of support for multiple ABIs. It should be 
  sufficient for
  Python modules and might be also appropriate for some other ABI types (e.g. 
  for Ruby modules).
 
 In the context of which problem are you brainstorming?

This proposition is intended to solve multiple problems, but Gentoo Python 
Project especially
would like to have it available during transitions to new Python versions (e.g. 
Python 3.*).
Python 3.1 will be added to the tree in the next week. Over 10 Python modules 
should work with
Python 3, but the majority of packages doesn't work yet. We want to provide 
possibility of
installing Python modules into site-packages directories of multiple Python 
versions (e.g. 2.6
and 3.1). In currently existing EAPIs we *will* support it, but without 
checking Python ABI
dependencies during dependency calculation.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Support for multiple ABIs (for Python modules etc.)

2009-08-06 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-01 20:10:49 Ciaran McCreesh napisał(a):
 On Sat, 25 Jul 2009 12:28:44 +0200
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
  I would like to present the plan of support for multiple ABIs. It
  should be sufficient for Python modules and might be also appropriate
  for some other ABI types (e.g. for Ruby modules).
 
 How do you plan to handle the intersection of ABIs? What if you have to
 build or depend upon a Python module for both 32 and 64 bit ABIs, and
 for both 2.5 and 2.6? What if you have a package that provides both
 Ruby and Python code, where the two ABIs are independent rather than a
 product?

The proposition already handles these cases. Please describe in more details 
what you don't
understand.

  4.1. Implicitly specified ABI dependencies. During calculation of
  dependencies of given package, Portage will verify if all
  dependencies, which use given ABI type, have been built with enabled
  support for these ABIs, which are enabled for given package.
 
 How do you say I need only a single ABI for this, even though it looks
 like I need every ABI I'm built with? For example, if your Python
 module, being built for 2.5 and 2.6, runs (but does not use in a
 library sense) a Python program that comes as part of a Python package
 that is buildable with multiple ABIs?

In such case a Python package, which is a dependency of another Python package, 
shouldn't
be marked as supporting multiple Python ABIs. But anyway I suggest the 
following syntax:
  category/package_name{python[*]}

  4.2. Explicitly specified ABI dependencies. {,P,R}DEPEND variables
  will support specifying ABI dependencies in explicit way.
  {,P,R}DEPEND variables will also support ABI conditionals. I suggest
  using {ABI_type[comma-delimited values]} syntax, but it can be
  changed.
 
 I think we're trying to avoid introducing new special characters if we
 can get away with using existing ones. You can overload [] and existing
 conditionals if you're careful.

The syntax suggested by me looks better for this purpose.

 Having said that, you can probably do everything you described slightly
 less elegantly just using things that're already in EAPI 3.

Not everything.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] RFC: Make 10.0 profiles EAPI-2 'compliant'

2009-08-12 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-12 20:41:30 Tomáš Chvátal napisał(a):
 Dne středa 12 Srpen 2009 19:58:05 Jeremy Olexa napsal(a):
  I am suggesting that the new 10.0 profiles be marked as EAPI-2
  compliant. This involves setting the content of the 'eapi' file to 2
  and bumping up the required portage version.
 
  This seems like progress to me. Often, developers are complaining that
  they can't use SLOT syntax in profiles (I know that is EAPI-1). Since,
  the only time we can bump EAPI syntax in profiles is upon a new
  directory creation, this seems like a good time to me. The new
  profiles are still in flux until the official stages/cd's are
  produced.
 
  Also, another good reason is: why not? I don't think any Gentoo user
  can avoid EAPI-2 up til now anyway.
 
  Any comments? No comments means it will be decided off-list.
  Timeframe: 1 week from now.
  -Jeremy
 Agreed. This is great idea.
 Also we should allow the stuff as directory thingus (portage already handles 
 it right).
 package.mask/koffice-2
 package.mask/live-gnome
 

+1.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: RFC: Make 10.0 profiles EAPI-2 'compliant'

2009-08-21 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-21 23:17:56 Ryan Hill napisał(a):
 On Fri, 21 Aug 2009 16:25:35 +0200
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
 
  2009-08-13 07:55:22 Ryan Hill napisał(a):
   On Wed, 12 Aug 2009 19:46:56 +0100
   Ciaran McCreesh ciaran.mccre...@googlemail.com wrote:
   
On Wed, 12 Aug 2009 20:41:30 +0200
Tomáš Chvátal scarab...@gentoo.org wrote:
 Also we should allow the stuff as directory thingus (portage already
 handles it right).

That's a seperate thing that needs EAPI control. You'll need to propose
it for EAPI 4 if you want that.
   
   Why is that (seriously curious, not disagreeing)?  Portage has supported 
   this
   for quite a while now.  Does the current PMS disallow it?
  
  Portage documentation has been properly fixed (and the fix will be released
  in next version) and this feature can now be used in 10.0 profiles.
 
 How does changing the portage documentation magically add this to the PMS?

PMS developers are unwilling to fix many bugs in PMS.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] EAPI 3 and nonfatal die

2009-08-21 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-21 22:56:41 David Leverton napisał(a):
 In EAPI 3, most commands and functions provided by the package
 manager automatically call die if they fail.  There's also a
 new nonfatal function that can be used to suppress this
 behaviour: by prefixing a function/command call with nonfatal,
 the automatic die behaviour is suppressed during the executation
 of that function/command.
 
 The difficulty here is that it's not clear what nonfatal should
 do to explicit die and assert calls.  On the one hand, if
 nonfatal does suppress these functions, then nonfatal can be
 usefully used with eclass functions - silly hypothetical example:
 
 # eclass
 escons() {
 scons $...@} || die scons failed
 }
 
 # ebuild
 nonfatal escons || do_something_else
 
 On the other hand, it could be risky to change the behaviour of
 existing functions like that:
 
 do_foo() {
 cd foo || die cd failed
 # something that would be dangerous if run in some other directory
 }
 
 If called as nonfatal do_foo and the cd failed, do_foo
 /wouldn't/ return a failure code - it would proceed with the rest
 of its body and wreak all manner of havoc.
 
 One way around this would be to add either an option to die to
 explicitly tell it to respect nonfatal, or an alternative die
 function.  This would allow eclasses to choose to respect
 nonfatal when it's safe to do so, but without changing existing
 behaviour.  The disadvantage of this is that it would require
 changes to all eclass functions that could potentially use it,
 plus the slight ugliness of making them handle older EAPIs as
 well.
 
 Another option would be to make die respect nonfatal by default,
 and add an option that doesn't.  This wouldn't require changes to
 eclasses that want the nonfatal behaviour, but it would require
 some care to make sure that it was used when necessary.  A
 potential advantage of this over the previous solution is that if
 the force option is implemented with an environment variable,
 it can be used regardless of EAPI - the previous example could be
 changed to something like
 
 do_foo() {
 cd foo || DIE_FORCE=1 die cd failed
 # something that would be dangerous if run in some other directory
 }
 
 Does anyone have any opinions on which of the four options (#1
 make die respect nonfatal, #2 make die always die, #3 add a new
 die variant that respects nonfatal, #4 make regular die respect
 nonfatal, and add a new variant that doesn't) we should go with?

I think that 'DIE_FORCE=1 die ${die_message}' (which was invented by me) 
would be the
best option. It will allow to use nonfatal() with eclass functions with the 
smallest
number of required changes in eclasses.

I would like to also notice that (not yet approved by Council) definition of 
nonfatal()
in PMS was recently drastically changed without proper discussion with 
developers of
other package managers. [1] was sent about 20 minutes after discussion about 
nonfatal()
started in #gentoo-portage in about 2009-08-06 19:45 UTC.
(I'm attaching IRC log from #gentoo-portage (in UTC+02 timezone).)
I think that such drastic changes should be first discussed on gentoo-dev 
mailing list.

[1] 
http://archives.gentoo.org/gentoo-pms/msg_5ae501394eaeff148cfc349f84d960c9.xml

-- 
Arfrever Frehtes Taifersar Arahesis
### Log session started at 2009-08-06T13:57:20 ###
[13:57:20] Arfrever [n=arfre...@gentoo/developer/arfrever] has joined #gentoo-portage
[13:57:20] Channel topic is: This is not a help/support channel || Ebuild dev questions go to #gentoo-dev-help and usage questions go to #gentoo || Portage resources: http://www.gentoo.org/proj/en/portage/index.xml#doc_chap6
[13:57:20] Topic was set by zmedico on 2009-06-07T06:54:17
[13:57:20] pratchett.freenode.net [...@*] has set channel mode +tnc
[13:57:20] Channel was created at 2006-11-26T07:42:44
[14:07:37] scarabeus [n=sca...@gentoo/developer/scarabeus] has quit IRC: No Ping reply in 90 seconds.
[14:11:27] scarabeus [n=sca...@net-2-2.jaw.cz] has joined #gentoo-portage
[14:37:51] sping_ [n=sp...@e179008226.adsl.alicedsl.de] has joined #gentoo-portage
[14:54:07] reavertm [n=reave...@gentoo/contributor/reavertm] has quit IRC: Remote closed the connection
[15:05:30] few [n=...@gibbs.nat.uni-magdeburg.de] has joined #gentoo-portage
[15:05:34] few [n=...@gibbs.nat.uni-magdeburg.de] has quit IRC: Remote closed the connection
[15:05:50] few [n=...@gibbs.nat.uni-magdeburg.de] has joined #gentoo-portage
[15:06:05] few [n=...@gibbs.nat.uni-magdeburg.de] has quit IRC: Client Quit
[15:08:02] slonopotamus [n=slono...@83.149.10.164] has quit IRC: Read error: 110 (Connection timed out)
[15:08:10] FuzzyRay [n=pvar...@gentoo/developer/FuzzyRay] has joined #gentoo-portage
[15:21:01] noisebleed [n=noise...@piggy.inescn.pt] has quit IRC: Remote closed the connection
[15:41:22] sping_ [n=sp...@gentoo/user/sping] is now known as sping_afk
[16:07:53] ali_bush [n=alist...@gentoo/developer/alibush] has quit IRC

Re: [gentoo-dev] EAPI 3 and nonfatal die

2009-08-21 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-22 00:51:14 Ciaran McCreesh napisał(a):
 On Sat, 22 Aug 2009 00:40:04 +0200
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
  I would like to also notice that (not yet approved by Council)
  definition of nonfatal() in PMS was recently drastically changed
  without proper discussion with developers of other package managers.
  [1] was sent about 20 minutes after discussion about nonfatal()
  started in #gentoo-portage in about 2009-08-06 19:45 UTC. (I'm
  attaching IRC log from #gentoo-portage (in UTC+02 timezone).) I think
  that such drastic changes should be first discussed on gentoo-dev
  mailing list.
 
 There was no change to the definition of nonfatal.
 
There was a change regardless of what you think.

 There was a clarification of the wording after it became clear that there
 was room to misinterpret the intent of the original wording, and it went
 through the usual Council-mandated process for such a change.

This sentence contradicts your first sentence. Additionally you had deceived
Christian Faulhammer by not presenting negative consequences of your patch and
your interpretation of original wording of definition of nonfatal().

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: RFC: Make 10.0 profiles EAPI-2 'compliant'

2009-08-22 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-22 21:39:47 Ciaran McCreesh napisał(a):
 On Sat, 22 Aug 2009 01:54:22 +0100
 AllenJB gentoo-li...@allenjb.me.uk wrote:
  Could there be room for fast track EAPI's to be considered on some
  occasions - eg. in this case an EAPI-2.1 which is simply EAPI-2 with
  the package.* as directory in profiles feature included?
 
 It's a possibility, since it's zero cost for Portage and an easy one
 to word into the specification.
 
 Another possibly nicer option would be to add the feature into EAPI 3.
 However, if we're considering this, we'd have to be absolutely totally
 clear that this isn't a call to open up EAPI 3 for yet more changes.

EAPI=3 can be opened also for other changes trivial to implement (e.g. allowing
bash-4.0 features).

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: RFC: Make 10.0 profiles EAPI-2 'compliant'

2009-08-22 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-23 02:34:08 Ciaran McCreesh napisał(a):
 On Sat, 22 Aug 2009 17:26:24 -0700
 Chip Parker infowo...@gmail.com wrote:
  Since you have a habit of ignoring relevant bits of technical
  opposition to some of your more insane schemes, I'll cite *again* the
  relevant portion.
 
 I showed you the relevant portion. /etc/make.profile means it is user
 configuration, which in turn means PMS has absolutely nothing to say
 about it. Anything done under /etc/make.profile is entirely up to the
 package manager and is not covered by the specification.

/etc/make.profile is by default a symlink to appropriate profile directory
in ${PORTDIR}/profiles. Documentation of /etc/make.profile concerns also
all profile directories.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] EAPI 3 and nonfatal die

2009-08-22 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-22 01:43:54 Ciaran McCreesh napisał(a):
 On Sat, 22 Aug 2009 01:39:41 +0200
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
 There was a clarification of the wording after it became clear
 that there was room to misinterpret the intent of the original
 wording, and it went through the usual Council-mandated process
 for such a change.

This sentence contradicts your first sentence.
   
   No, it doesn't.
  
  it went through the usual Council-mandated process for such a
  change clearly contradicts There was no change.
 
 There was a change in wording to better convey the original intent.
 There was no change in behaviour.

There was a change in behavior of 'nonfatal 
eclass_function_which_sometimes_calls_die'.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: [gentoo-dev-announce] Deprecation of Python 2.4

2009-08-30 Thread Arfrever Frehtes Taifersar Arahesis
2009-08-30 11:14:53 Petteri Räty napisał(a):
 Arfrever Frehtes Taifersar Arahesis wrote:
  Python 2.4 is deprecated. There are plans to mask for removal it when
  remaining packages incompatible with Python 2.5 are fixed.
  (We will announce masking of Python 2.4 at least 1 month before masking it.)
  
  Please don't add new packages to the tree which work only with Python 2.4.
  
  If you want to add a package which depends on a Python module, which had 
  been
  maintained separately in the past, but has been also included in Python 2.5,
  then don't add this Python module to the tree only for use with Python 2.4,
  but instead depend on Python =2.5.
  
 
 Where's the CC and Reply-To to gentoo-dev? Does removing python 2.4 have
 any effect on the upgrade path for old installations?

sys-apps/portage-2.1.4.5 should work with Python 2.5 and probably also 2.6.
sys-apps/portage-2.1.6.7 works with Python 2.5 and 2.6.
=sys-apps/portage-2.1.6.13 works with Python 2.5 and 2.6 and doesn't work with 
Python 2.4.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Stabilization of Python 3.1

2009-09-19 Thread Arfrever Frehtes Taifersar Arahesis
Stabilization of Python 3.1.* will be requested at the beginning of november.
There was a suggestion to create a news item which would inform users that
temporarily they shouldn't switch to Python 3 as their main interpreter.
Python ebuilds don't automatically activate Python 3, so I'm not sure if
the news item is required. What is your opinion about it?

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-19 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-19 20:22:49 Tobias Klausmann napisał(a):
 Hi! 
 
 Aside from the remarks made by others (and speaking as someone
 who maintains Python software), there is one reason for me to not
 switch Python 3 to stable yet: lack of compatibility. Software
 that runs with 3.x will not run with any 2.x version as of today

It's possible (and not too hard) to write code which works with
Python 3 and 2.6. It might be also possible to support older
versions, but it would require many ugly exec() calls etc.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-19 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-19 20:45:45 Nirbheek Chauhan napisał(a):
 On Sat, Sep 19, 2009 at 10:18 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  Stabilization of Python 3.1.* will be requested at the beginning of 
  november.
  There was a suggestion to create a news item which would inform users that
  temporarily they shouldn't switch to Python 3 as their main interpreter.
  Python ebuilds don't automatically activate Python 3, so I'm not sure if
  the news item is required. What is your opinion about it?
 
 
 Have any other distribution moved to purely using python-3.1?

We won't move to purely using Python 3.1. Both Python 2 and 3 will be used.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-19 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-19 20:20:10 AllenJB napisał(a):
 Dirkjan Ochtman wrote:
  On Sat, Sep 19, 2009 at 19:06, Alex Legler a...@gentoo.org wrote:
  What is the point of stabilizing it if users shouldn't use it as main
  interpreter? Just leave it in ~arch until it can be safely used.
  
  Making it easily available so that people can port stuff, so that the
  entire world may be able to use it as their main interpreter sooner?
  
  Seriously, it's out there, there's no reason to keep it from stable.
  Just prevent people from making python invoke 3.x and everything will
  be fine.
  
  Cheers,
  
  Dirkjan
  
 
 Yes, there is a very good reason: The sanity of the users and those who
 support them.
 
 As a user who has spent a lot of time on IRC and the forums supporting
 other users, I think I can safely say that stabilizing a version of
 python which is not supported by portage will end up in a nightmare
 scenario. At the very least portage, python-updater and eselect, if not
 the majority of the commonly used tools (whichever of gentoolkit,
 portage-utils, eix, etc use python), should support python 3.1 before it
 goes stable.

python-updater and eselect are written in bash. portage-utils are written
in C. eix is written in C++.

 perhaps add a block to eselect so that python-3.1 can't be selected as
 the system python interpreter until portage supports it.

Users might want to sometimes temporarily switch to Python 3 to test some
Portage-unrelated code.
Anyway Portage will support Python 3 soon.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 16:53:37 Jesús Guerrero napisał(a):
 On Sun, 20 Sep 2009 00:41:32 +0200, Dawid Węgliński c...@gentoo.org
 wrote:
  On Sunday 20 of September 2009 00:32:28 Dale wrote:
  
   ~arch is for testing ebuilds, not the upstream package
 
  So it would be OK to mark something stable even tho portage itself
  doesn't work with it?  Sorry, this makes no sense to me.  I run stable
  for the most part and having a package that portage depends on that is
  not stable just sounds a little like putting the cart before the horse.
 
  See some of the other replies as to why this is a not so good idea.
 
  Dale
 
  :-)  :-)
  
  You mix it up. Portage works with python 3.1. If an user switches to
  python 
  3.1 as the main interpreter, it's possible that his own scripts won't
  work. 
 
 Yes?
 
 # eselect python set 2
 # emerge -s foo
   File /usr/bin/emerge, line 41
 except PermissionDenied, e:
^
 SyntaxError: invalid syntax
 
 
 Ummm, yes, it works *beautifully*, you see. Nothing else to add.

I have fixed it today :) .
http://sources.gentoo.org/viewcvs.py/portage?rev=14289view=rev

  Marking it stable sometine in november give's some time to ebuilds 
  maintainers to fix their python based apps just like it's done with gcc 
  stabilization.
 
 That's not the usual case. In Gentoo we have a serious policy of not
 marking as stable things until it has passed one month without any serious
 bug report about it.

There wasn't any serious bug report about Python 3.1.
IIRC the only problem was a (already fixed) build failure caused by non-UTF-8
characters in header of Berkeley DB.
Stabilization of Python 3.1.1-r1 is planned over 1 month after its addition to
the tree and about 3 months after addition of 3.1 slot to the tree.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 17:56:46 Nirbheek Chauhan napisał(a):
 On Sun, Sep 20, 2009 at 9:16 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  Some packages (whose older versions might be stable) might soon start 
  requiring
  Python 3. Stabilization of these packages cannot be delayed due to the fact
  that some other packages don't work with Python 3.
 
 
 Are you seriously suggesting that you would knowingly break existing
 packages in the tree?

Please stop spreading untrue information. Stabilization of Python 3 (and 
packages
which depend on Python 3) wouldn't break any packages and wouldn't require
to switch main Python interpreter to Python 3.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 18:51:53 Robert Buchholz napisał(a):
 On Sunday 20 September 2009, Arfrever Frehtes Taifersar Arahesis wrote:
  Some packages (whose older versions might be stable) might soon start
  requiring Python 3. Stabilization of these packages cannot be delayed
  due to the fact that some other packages don't work with Python 3.
 
 Of course they can. That is exactly the reason I am using a distribution 
 (instead of LFS), because I expect maintainers of packages to 
 coordinate and define a working set of packages for me to use. This 
 includes holding back updates, fast-tracking updates, forward- and 
 backward-porting. Automatisms in updates and blindly following upstream 
 removes that extra value we are there to provide.

I agree. But Python 3.1 doesn't have more issues than Python 2.6, so
the stabilization is reasonable.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 19:25:55 Nirbheek Chauhan napisał(a):
 On Sun, Sep 20, 2009 at 9:37 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  which depend on Python 3) wouldn't break any packages and wouldn't require
  to switch main Python interpreter to Python 3.
 
 
 Package X (stable) requires python-2
 Package Y (stable) requires python-3
 
 = User can't use both at the same time.

Distribute/Setuptools will ensure that appropriate shebang is present in Python
scripts. In other cases, we can easily modify shebangs in installed scripts.
(A new function in python.eclass could be created for this purpose, but until
now it isn't needed.)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 19:30:54 Nirbheek Chauhan napisał(a):
 On Sun, Sep 20, 2009 at 8:54 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  2009-09-20 16:53:37 Jesús Guerrero napisał(a):
  # eselect python set 2
  # emerge -s foo
File /usr/bin/emerge, line 41
  except PermissionDenied, e:
 ^
  SyntaxError: invalid syntax
 
 
  Ummm, yes, it works *beautifully*, you see. Nothing else to add.
 
  I have fixed it today :) .
  http://sources.gentoo.org/viewcvs.py/portage?rev=14289view=rev
 
 This is silly. portage itself was broken with python-3.1 and you want
 to stabilize it?

You should distinguish between Python version used by Portage and
Python version used by packages which can be installed by Portage.

 Actually, how did you make portage work with both 2.x and 3.x at the
 same time?

Portage doesn't yet work with Python 3, but it hopefully change soon.

 I would be very interested to know this since afaik no useful program
 can work with both python-3 and python-2 with the same code.

It isn't hard to write code which works with both Python 2.6 and 3.*.

Example:

$ cat get_protocol.py
#!/usr/bin/env python

# It allows to use print() function in 2.6.
from __future__ import print_function

import sys

try:
  # Python 3
  from urllib.parse import urlparse as urllib_parse_urlparse
except ImportError:
  # Python 2
  from urlparse import urlparse as urllib_parse_urlparse

if len(sys.argv) != 2:
  sys.stderr.write(This script requires 1 argument: URL\n)

def get_protocol(url):
  return urllib_parse_urlparse(url)[0]

print(Protocol:, get_protocol(sys.argv[1]))
$ ./get_protocol.py http://www.example.com
Protocol: http

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 19:47:28 Nirbheek Chauhan napisał(a):
 On Sun, Sep 20, 2009 at 11:05 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  Package X (stable) requires python-2
  Package Y (stable) requires python-3
 
  = User can't use both at the same time.
 
  Distribute/Setuptools will ensure that appropriate shebang is present in 
  Python
  scripts. In other cases, we can easily modify shebangs in installed scripts.
  (A new function in python.eclass could be created for this purpose, but 
  until
  now it isn't needed.)
 
 
 Oooh, this will lead to more phun!
 
 Package A (module, stable) requires python-3
 
 However, A is a dependency of *both* X and Y
 
 Now what? Slotting? Install to both/all python prefixes? Or some other
 ugly solution?

There is a difference between Python scripts and Python modules.

Python scripts should have shebang and this shebang is used to decide
which interpreter should be used when './script.py' is called. But it
is possible to call Python scripts using 'pythonX.Y script.py' which
will enforce using of pythonX.Y instead of interpreter specified in
shebang in this script. When one Python script executes another Python
script (using e.g. subprocess.Popen()) then both scripts will work
correctly even when they have different shebangs.

Python modules shouldn't have shebang. Python modules are intended to
be imported from Python scripts or other Python modules. Any shebang
in a Python module is ignored, when this module is imported using 'import'
statement.

The chance that well known and often used Python modules start
unconditionally require Python 3 in the near future is small, but
Python scripts can safely do it.

For example PyQt4 supports both Python 2 and 3, but a useful script, which
uses PyQt4, might require Python 3.

 Seriously, if you *really* *really* want python-3 stable, it should:
 
 1) NOT show up in `eselect python` to set as the default interpreter

When a user wants to work for an hour with a script requiring Python 3,
and doesn't want to use e.g. Portage during this time, then it is
reasonable to run 'eselect python set python3.1' once and be able
to just use './script.py' instead of having to type 'python3.1 script.py'
every time. Next this user can switch active Python back to 2.6.

 2) NOT be a dependency of any package in stable

It isn't implementable without having to change dependencies in hundreds
of packages. There is nothing wrong in having Python 3 installed which
would use small amount of disk space.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-09-20 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 20:46:17 Nirbheek Chauhan napisał(a):
 On Sun, Sep 20, 2009 at 11:57 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  There is a difference between Python scripts and Python modules.
 
 
 Yes, I'm well aware of the difference between them.
 
 [snip]
  Python modules shouldn't have shebang. Python modules are intended to
  be imported from Python scripts or other Python modules. Any shebang
  in a Python module is ignored, when this module is imported using 'import'
  statement.
 
 
 You forget that the search path for both installs is different, and
 hence modules installed for python-3 cannot be found/used by scripts
 using python-2;

These modules can be installed for both Python 2 and 3 simultaneously.

  Seriously, if you *really* *really* want python-3 stable, it should:
 ...
  2) NOT be a dependency of any package in stable
 
  It isn't implementable without having to change dependencies in hundreds
  of packages. There is nothing wrong in having Python 3 installed which
  would use small amount of disk space.
 
 
 You're twisting what I mean. You know what I mean -- packages
 *needing* python-3.

So Seriously, if you *really* *really* want python-3 stable, it should:
...
2) NOT be a dependency of any package in stable is already met, because
no stable package unconditionally needs Python 3. If it was otherwise,
then the dependency tree of these stable packages would be broken.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] python-wrapper breaks init scripts

2009-10-04 Thread Arfrever Frehtes Taifersar Arahesis
2009-10-04 20:32:17 Hanno Böck napisał(a):
 I just stepped over a problem with the new python-wrapper. If I interpreted 
 the changelogs correctly, since eselect-python-20090801 /usr/bin/python is no 
 longer a symlink, but a wrapper.

Since eselect-python-20090804 /usr/bin/python is a symlink to a wrapper.
 
 I find this a questionable idea simply for the overhead it causes, but it 
 seems that this breaks all init-scripts using start-stop-daemon for python 
 scripts.
 
 Example:
 http://bugs.gentoo.org/show_bug.cgi?id=286191
 
 (same issue happens with some self-written python daemons we're using on our 
 servers)
 
 I don't know what the reasons were for the change from symlinks to a wrapper

Ebuilds (usually through python.eclass) need to be able to set requested version
of Python without changing /usr/bin/python symlink. This is performed by setting
EPYTHON environment variable (E in the name of this variable is related to 
words
ebuild and eclass). If this variable isn't set, then Python wrapper uses
version of Python configured using `eselect python`. Otherwise it uses version 
of
Python referenced by this variable.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Stabilization of Python 3.1

2009-10-08 Thread Arfrever Frehtes Taifersar Arahesis
2009-09-20 20:46:17 Nirbheek Chauhan napisał(a):
 On Sun, Sep 20, 2009 at 11:57 PM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  There is a difference between Python scripts and Python modules.
 
 
 Yes, I'm well aware of the difference between them.
 
 [snip]
  Python modules shouldn't have shebang. Python modules are intended to
  be imported from Python scripts or other Python modules. Any shebang
  in a Python module is ignored, when this module is imported using 'import'
  statement.
 
 
 You forget that the search path for both installs is different, and
 hence modules installed for python-3 cannot be found/used by scripts
 using python-2; which results in the dependency hell; which was the
 basis for my whole argument.

When both Python 2 and Python 3 are installed, then Python modules, which
support both Python 2 and Python 3, are automatically installed for both
Python 2 and Python 3.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] [RFC] Improve policy of stabilizations

2009-11-01 Thread Arfrever Frehtes Taifersar Arahesis
Some packages have new releases more than once a month and sometimes it's 
reasonable
to not skip stabilization of any version. Given version of a package is usually 
no
longer tested by users after release of a newer version, so I suggest the 
following
change to the policy of stabilizations:
Stabilization of given version of a package can be requested if this version 
has been
in the tree for at least 10 days and a newer version of this package has been 
added
to the tree.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Versioning of Python scripts

2009-12-19 Thread Arfrever Frehtes Taifersar Arahesis
Distutils/Setuptools/Distribute modify shebangs of installed Python scripts, so 
that they
contain path of Python interpreter with version included (e.g. 
#!/usr/bin/python3.2).
This behavior has both advantage and disadvantages:
  - Scripts of packages supporting only e.g. Python 2 can be executed (without 
necessity
of using of e.g. python2 /usr/bin/${script}) after activating of e.g. 
Python 3.
  - Scripts of packages supporting multiple Python versions ignore active 
Python version.
  - Scripts of packages supporting multiple Python versions cannot be easily 
(without
necessity of using of e.g. python3.1 /usr/bin/${script}) executed with a 
Python
version different than active Python version.
The best solution, which removes these 2 disadvantages and preserves the 
advantage, seems
to be to rename Python scripts to include Python version [1] in filenames, and 
create wrapper
scripts, which call appropriate target scripts [2]. Some files sometimes try to 
execute
e.g. /usr/bin/python /usr/bin/${script}, so wrapper scripts must be 
implemented in Python.
Wrapper scripts try to execute ${wrapper_script}-${PYTHON_ABI} files (e.g. 
py.test will
execute py.test-3.1, when Python 3.1 is set as active Python version).

distutils.eclass will automatically rename some scripts [3] in ${D}usr/bin 
and call
the function, which generates wrapper scripts. In case somebody is interested 
in reading of
source code of python_generate_wrapper_scripts() function and potential 
suggesting of
improvements, I'm attaching this function and 2 example wrapper scripts. I'm 
planning to
commit addition of this function in next week.

[1] Actually Python ABI.
[2] Wrapper scripts can also be created for ELF target files (e.g. mpipython).
[3] Only scripts of packages supporting installation for multiple Python 
versions will be
renamed. Scripts, whose filenames end in [[:digit:]]+\.[[:digit:]]+, won't 
be renamed.

-- 
Arfrever Frehtes Taifersar Arahesis
# @FUNCTION: python_generate_wrapper_scripts
# @USAGE: [-E|--respect-EPYTHON] [-f|--force] [-q|--quiet] [--] file [files]
# @DESCRIPTION:
# Generate wrapper scripts. Existing files are overwritten only with --force 
option.
# If --respect-EPYTHON option is specified, then generated wrapper scripts will
# respect EPYTHON variable at run time.
python_generate_wrapper_scripts() {
local eselect_python_option file force=0 quiet=0 PYTHON_ABI 
python2_enabled=0 python2_supported_versions python3_enabled=0 
python3_supported_versions respect_EPYTHON=0
python2_supported_versions=2.4 2.5 2.6 2.7
python3_supported_versions=3.0 3.1 3.2

while (($#)); do
case $1 in
-E|--respect-EPYTHON)
respect_EPYTHON=1
;;
-f|--force)
force=1
;;
-q|--quiet)
quiet=1
;;
--)
break
;;
-*)
die ${FUNCNAME}(): Unrecognized option '$1'
;;
*)
break
;;
esac
shift
done

validate_PYTHON_ABIS
for PYTHON_ABI in ${python2_supported_versions}; do
if has ${PYTHON_ABI} ${PYTHON_ABIS}; then
python2_enabled=1
fi
done
for PYTHON_ABI in ${python3_supported_versions}; do
if has ${PYTHON_ABI} ${PYTHON_ABIS}; then
python3_enabled=1
fi
done

if [[ ${python2_enabled} == 1  ${python3_enabled} == 1 ]]; 
then
eselect_python_option=
elif [[ ${python2_enabled} == 1  ${python3_enabled} == 0 ]]; 
then
eselect_python_option=--python2
elif [[ ${python2_enabled} == 0  ${python3_enabled} == 1 ]]; 
then
eselect_python_option=--python3
else
die ${FUNCNAME}(): Unsupported environment
fi

for file in $@; do
if [[ -f ${file}  ${force} == 0 ]]; then
die ${FUNCNAME}(): '$1' already exists
fi

if [[ ${quiet} == 0 ]]; then
einfo Generating '${file#${D%/}}' wrapper script
fi

cat  EOF  ${file}
#!/usr/bin/env python
# Gentoo '${file##*/}' wrapper script

import os
import re
import subprocess
import sys

EPYTHON_re = re.compile(r^python(\d+\.\d+)$)

EOF
if [[ $? != 0 ]]; then
die ${FUNCNAME}(): Generation of '$1' failed
fi
if [[ ${respect_EPYTHON} == 1

Re: [gentoo-dev] Versioning of Python scripts

2009-12-22 Thread Arfrever Frehtes Taifersar Arahesis
2009-12-21 11:50:14 Brian Harring napisał(a):
 On Sat, Dec 19, 2009 at 04:24:49PM +0100, Arfrever Frehtes Taifersar Arahesis 
 wrote:
  Distutils/Setuptools/Distribute modify shebangs of installed Python 
  scripts, so that they
  contain path of Python interpreter with version included (e.g. 
  #!/usr/bin/python3.2).
  This behavior has both advantage and disadvantages:
- Scripts of packages supporting only e.g. Python 2 can be executed 
  (without necessity
  of using of e.g. python2 /usr/bin/${script}) after activating of e.g. 
  Python 3.
- Scripts of packages supporting multiple Python versions ignore active 
  Python version.
- Scripts of packages supporting multiple Python versions cannot be 
  easily (without
  necessity of using of e.g. python3.1 /usr/bin/${script}) executed 
  with a Python
  version different than active Python version.
  The best solution, which removes these 2 disadvantages and preserves the 
  advantage, seems
  to be to rename Python scripts to include Python version [1] in filenames, 
  and create wrapper
  scripts, which call appropriate target scripts [2]. Some files sometimes 
  try to execute
  e.g. /usr/bin/python /usr/bin/${script}, so wrapper scripts must be 
  implemented in Python.
  Wrapper scripts try to execute ${wrapper_script}-${PYTHON_ABI} files 
  (e.g. py.test will
  execute py.test-3.1, when Python 3.1 is set as active Python version).
  
  distutils.eclass will automatically rename some scripts [3] in 
  ${D}usr/bin and call
  the function, which generates wrapper scripts. In case somebody is 
  interested in reading of
  source code of python_generate_wrapper_scripts() function and potential 
  suggesting of
  improvements, I'm attaching this function and 2 example wrapper scripts. 
  I'm planning to
  commit addition of this function in next week.
 
 Not really a huge fan of the EPYTHON var... can you clarify it's real 
 world usage?

It simplifies development of ebuilds of packages having non-Distutils-based 
build systems.
E.g. ebuilds of packages, which support only Python2, install some executables 
or libraries
(e.g. /usr/lib/kvirc/4.0/modules/libkvipythoncore.so of net-irc/kvirc) linked 
against
libpythonX.Y.so and don't install any Python modules, will be able to simply 
call
'python_set_active_version 2', which will export EPYTHON variable with 
appropriate value.
Ebuilds should never manually set EPYTHON variable.

 I can see that causing all sorts of mayhem as it passes 
 it's way down through python scripts invoking other scripts- 
 specifically thinking of a py3k only script being forced to 3.1, then 
 invoking a py2k script.

EPYTHON variable should be respected only by scripts, which are used during 
building, testing
or installation of other packages and need to be called with appropriate Python 
version.
Examples: py.test, trial
distutils_src_install() will call python_generate_wrapper_scripts() (at least 
by default)
without -E option.

 Beyond that, please provide a way to *disable* this for a pkg.

OK.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-10 Thread Arfrever Frehtes Taifersar Arahesis
I would like to suggest introduction of support for PYTHON_DEPEND variable, 
which
would be a better replacement for NEED_PYTHON variable. NEED_PYTHON variable
does not allow to specify that e.g. only versions of Python 2 are accepted.
(Eventually PYTHON_DEPEND variable will have to be set only in ebuilds of 
packages
not supporting installation for multiple versions of Python.)

Suggested syntax:
  PYTHON_DEPEND=[USE_flag?] X[:[Y][:[Z]]] [X[:[Y][:[Z
required_component, [optional_component]
X - Major version of Python ('2' or '3') or '*'.
Y - Minimal version of Python in the form of 
${major_version}.${minor_version}.
Z - Maximal version of Python in the form of 
${major_version}.${minor_version}.
It will be probably very rarely used.

Examples:
  PYTHON_DEPEND=2
Dependency on any version of Python 2.

  PYTHON_DEPEND=2:2.5
Dependency on Python 2.7, 2.6 or 2.5.

  PYTHON_DEPEND=*:2.6
Dependency on Python 3.2, 3.1, 3.0, 2.7 or 2.6.

  PYTHON_DEPEND=2:2.7 3:3.1
Dependency on Python 3.2, 3.1 or 2.7.

  PYTHON_DEPEND=2:2.5:2.6
Dependency on Python 2.6 or 2.5.

  PYTHON_DEPEND=2::2.6
Dependency on Python 2.6, 2.5 or 2.4.

  PYTHON_DEPEND=python? 2
Dependency on any version of Python 2 when python USE flag is enabled.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-10 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-10 19:41:55 Sebastian Pipping napisał(a):
 On 01/10/10 09:29, Arfrever Frehtes Taifersar Arahesis wrote:
  I would like to suggest introduction of support for PYTHON_DEPEND variable, 
  which
  would be a better replacement for NEED_PYTHON variable. NEED_PYTHON variable
  does not allow to specify that e.g. only versions of Python 2 are accepted.
  (Eventually PYTHON_DEPEND variable will have to be set only in ebuilds of 
  packages
  not supporting installation for multiple versions of Python.)
  
  Suggested syntax:
PYTHON_DEPEND=[USE_flag?] X[:[Y][:[Z]]] [X[:[Y][:[Z
  required_component, [optional_component]
  X - Major version of Python ('2' or '3') or '*'.
  Y - Minimal version of Python in the form of 
  ${major_version}.${minor_version}.
  Z - Maximal version of Python in the form of 
  ${major_version}.${minor_version}.
  It will be probably very rarely used.
  
  Examples:
PYTHON_DEPEND=2
  Dependency on any version of Python 2.
  
PYTHON_DEPEND=2:2.5
  Dependency on Python 2.7, 2.6 or 2.5.
  
PYTHON_DEPEND=*:2.6
  Dependency on Python 3.2, 3.1, 3.0, 2.7 or 2.6.
  
PYTHON_DEPEND=2:2.7 3:3.1
  Dependency on Python 3.2, 3.1 or 2.7.
  
PYTHON_DEPEND=2:2.5:2.6
  Dependency on Python 2.6 or 2.5.
  
PYTHON_DEPEND=2::2.6
  Dependency on Python 2.6, 2.5 or 2.4.
  
PYTHON_DEPEND=python? 2
  Dependency on any version of Python 2 when python USE flag is enabled.
  
 
 While I don't object improvements or changes on that front at all:
 
  - How are SUPPORT_PYTHON_ABIS and RESTRICT_PYTHON_ABIS affected
by NEED_PYTHON now and by PYTHON_DEPEND in the future?

They aren't and won't be. PYTHON_DEPEND is designed mainly for packages
not supporting installation for multiple Python versions.

  - The proposed approach doesn't look intuitive to me from a quick
view, sorry:  Neither the examples nor the grammar.  I didn't give
it that much time to be fair, though.

IMHO it's sufficiently intuitive :) .

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-10 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-10 21:56:01 Fabian Groffen napisał(a):
 On 10-01-2010 09:29:28 +0100, Arfrever Frehtes Taifersar Arahesis wrote:
  I would like to suggest introduction of support for PYTHON_DEPEND variable, 
  which
  would be a better replacement for NEED_PYTHON variable. NEED_PYTHON variable
  does not allow to specify that e.g. only versions of Python 2 are accepted.
  (Eventually PYTHON_DEPEND variable will have to be set only in ebuilds of 
  packages
  not supporting installation for multiple versions of Python.)
 
 Can you explain the intended use of this variable, and why normal DEPEND
 is not sufficient?

PYTHON_DEPEND is intented to simplify specification of dependency on Python.

PYTHON_DEPEND=2:2.5 is shorter than:
DEPEND=|| ( =dev-lang/python-2.7* =dev-lang/python-2.6* =dev-lang/python-2.5* 
)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-11 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-11 04:55:02 Sebastian Pipping napisał(a):
PYTHON_DEPEND=2:2.5:2.6
  Dependency on Python 2.6 or 2.5.
 
 The colon (':') has two different semantics here.

The colon is only separator of components, so it has the same semantic.
Each component has strictly defined meaning.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-11 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-11 08:50:30 Fabian Groffen napisał(a):
 On 11-01-2010 01:25:45 +0100, Arfrever Frehtes Taifersar Arahesis wrote:
   Can you explain the intended use of this variable, and why normal DEPEND
   is not sufficient?
  
  PYTHON_DEPEND is intented to simplify specification of dependency on Python.
  
  PYTHON_DEPEND=2:2.5 is shorter than:
  DEPEND=|| ( =dev-lang/python-2.7* =dev-lang/python-2.6* 
  =dev-lang/python-2.5* )
 
 So if there is enough space to express the dependency with the current
 syntax, is it worth introducing a new shorthand for it then?

Some eclasses already support some shorthands for specification of some
dependencies (e.g. need_apache2() in depend.apache.eclass).
As maintainer of some packages depending on Python, I express interest in
possibility of brief specification of dependency on Python. I won't be
enforcing using of this variable for developers, who want to directly
specify dependencies in {,R}DEPEND.

 Also for this example, why does 2:2.5 expand to 2.7, 2.6 and 2.5?  I
 would have expected 2.0 ... 2.5.

The first component ('2') specifies the group of accepted versions.
The second component ('2.5') specifies the minimal accepted version inside
this group. ('2:2.5' is identical to '2:2.5:'.)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-12 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-11 12:04:05 Gilles Dartiguelongue napisał(a):
 It looks like what you really want is a ranged dependencies.

Dependencies specified in PYTHON_DEPEND can be expanded into ranged
dependencies in EAPIs, which support ranged dependencies.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-12 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-11 11:14:11 Maciej Mrozowski napisał(a):
 On Monday 11 of January 2010 01:25:45 Arfrever Frehtes Taifersar Arahesis 
 wrote:
  2010-01-10 21:56:01 Fabian Groffen napisał(a):
   On 10-01-2010 09:29:28 +0100, Arfrever Frehtes Taifersar Arahesis wrote:
I would like to suggest introduction of support for PYTHON_DEPEND
variable, which would be a better replacement for NEED_PYTHON
variable. NEED_PYTHON variable does not allow to specify that e.g.
only versions of Python 2 are accepted. (Eventually PYTHON_DEPEND
variable will have to be set only in ebuilds of packages not
supporting installation for multiple versions of Python.)
   
   Can you explain the intended use of this variable, and why normal DEPEND
   is not sufficient?
  
  PYTHON_DEPEND is intented to simplify specification of dependency on
  Python.
  
  PYTHON_DEPEND=2:2.5 is shorter than:
  DEPEND=|| ( =dev-lang/python-2.7* =dev-lang/python-2.6*
  =dev-lang/python-2.5* )
 
 Doesn't that accidentally mean that dev-lang/python is improperly slotted and 
 all 2.x releases should be slotted with :2?

dev-lang/python is properly slotted.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: PYTHON_DEPEND - Suggested replacement for NEED_PYTHON

2010-01-12 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-11 11:14:40 Fabian Groffen napisał(a):
 On 11-01-2010 08:29:32 +, Duncan wrote:
  Fabian Groffen posted on Mon, 11 Jan 2010 08:50:30 +0100 as excerpted:
  
   On 11-01-2010 01:25:45 +0100, Arfrever Frehtes Taifersar Arahesis wrote:
Can you explain the intended use of this variable, and why normal
DEPEND is not sufficient?
   
   PYTHON_DEPEND is intented to simplify specification of dependency on
   Python.
   
   PYTHON_DEPEND=2:2.5 is shorter than: DEPEND=|| (
   =dev-lang/python-2.7* =dev-lang/python-2.6* =dev-lang/python-2.5* )
   
   So if there is enough space to express the dependency with the current
   syntax, is it worth introducing a new shorthand for it then?
   
   Also for this example, why does 2:2.5 expand to 2.7, 2.6 and 2.5?  I
   would have expected 2.0 ... 2.5.  Maybe the language isn't as intuitive
   then as Sebastian pointed out.
  
  Initially intuitive, perhaps not, but reasonably easy after reading the 
  explanation:
  
  The first position is major python version, the second if present, 
  minimal version (within that major), so it can be read as =version, the 
  third if present, maximum version (within that major), so it can be read 
  as =.
  
  Thus, the above 2:2.5 means major version 2, minimal version 2.5 (no 
  maximum version within that major), so 2.5+.
 
 what's wrong with =2.5  3.0 then?

It's too long and harder to parse.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] emerge -C eselect-python disaster

2010-01-25 Thread Arfrever Frehtes Taifersar Arahesis
2010-01-24 22:15:17 Mike Frysinger napisał(a):
 On Sunday 24 January 2010 00:12:39 Benny Pedersen wrote:
  it removes python-wrapper and this remove python link from
  /usr/bin/python linked to /usr/bin/python-wrapper so all portage does
  not work after this, but i solved it with a quickpkg from another host
 
 sounds a bug that should be filed so it can be fixed

There's already bug #268724.
Anyway, app-admin/eselect-python probably will have to be added to system
set for a suggested feature for EAPI=5.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Python-3.2-related changes

2010-02-05 Thread Arfrever Frehtes Taifersar Arahesis
It is planned that ebuilds of Python 3.2 will automatically set Python 3.2 as 
main active
version of Python. (Currently ebuilds of Python 3.1 do not automatically set 
Python 3.1
as main active version of Python.) Final release of Python 3.2 is currently 
scheduled on
2010-12-11, so you have over 10 months for adjusting of your ebuilds.

The following changes should be made in ebuilds of packages supporting only 
Python 2:
- Dependency on Python 2 should be set correctly. You can specify it directly in
  {,R}DEPEND or use PYTHON_DEPEND.

Example:
  PYTHON_DEPEND=2

  inherit python

- Miscellaneous actions should be executed with correct version of Python.

  - In ebuilds of packages supporting installation for multiple versions of 
Python,
please remember to disable installation for all versions of Python 3.
(Please do not use python_set_active_version() in ebuilds of these 
packages.)

Example:
  RESTRICT_PYTHON_ABIS=3.*

  - In ebuilds of packages not supporting installation for multiple versions of 
Python,
set active version of Python using python_set_active_version().
(Please avoid passing precisely specified Python ABI to 
python_set_active_version().)

Example:
  pkg_setup() {
  python_set_active_version 2
  }

(If given package currently cannot be installed for multiple versions of 
Python,
but it is theoretically possible (e.g. this package installs .py files into
/usr/lib/pythonX.Y/site-packages and does not install any non-versioned 
libraries
into /usr/lib), then please try to adjust ebuilds of this package to allow
installation for multiple versions of Python.)

It is recommended to have set a version of Python 3 as main active version of 
Python
during testing of these changes to ensure that no required change has been 
missed.

I consider filing bugs for not adjusted packages after some months (e.g in 
summer).
(Please note that these changes are not required before stabilization of Python 
3.1,
so stabilization of Python 3.1 will not be delayed.)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-02-06 Thread Arfrever Frehtes Taifersar Arahesis
2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
 I consider filing bugs for not adjusted packages after some months (e.g in 
 summer).

1123 packages (440 in dev-python category) from 108 categories specify 
dev-lang/python
or virtual/python in DEPEND or RDEPEND, so actually it might be better to start 
filing
bugs in this month. If there are no objections, then I would like to file 1 bug 
per
category (except dev-python category).

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-02-06 Thread Arfrever Frehtes Taifersar Arahesis
2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
 - Dependency on Python 2 should be set correctly. You can specify it directly 
 in
   {,R}DEPEND or use PYTHON_DEPEND.
 
 Example:
   PYTHON_DEPEND=2
 
   inherit python

It might be useful to provide another example:
If given package requires e.g. Python =2.6, but does not support Python 3, 
then you can
set PYTHON_DEPEND=2:2.6.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-02-08 Thread Arfrever Frehtes Taifersar Arahesis
2010-02-08 01:20:22 Brian Harring napisał(a):
 On Sun, Feb 07, 2010 at 12:17:17PM -0800, Zac Medico wrote:
  I noticed that this generates a depedency like || (
  =dev-lang/python-2.7* =dev-lang/python-2.6* ) which is very similar
  to the way that QT3VERSIONS works in qt3.eclass. One thing that is
  sub-optimal about these types of dependencies is that you end up
  with lots of installed packages that have out-dated dependencies
  when the next minor version of python is released (python-2.8 in
  this case). In the case of the python dependencies, it might be more
  optimal to use a version range like =dev-lang/python-2.6
  dev-lang/python-3.
 
 Thing is, the first deps are valid- the deps you posted however 
 aren't and cannot be used as you're proposing.
 
 Under || ( dev-lang/python:2.7 dev-lang/python:2.6 )
 Having python:2.6 or python:2.7 merged satisfies it.
 
 Under =dev-lang/python:2.6 dev-lang/python:3.0
 having || ( python:2.6 python:2.7 ) satisfies it, as does 
 || ( python:2.4 python:2.5 ) || ( python:3.0 python:3.1 python:3.2 )
 
 Literally, python:2.5 and python:3.1 merged would satisfy it, which is 
 completely contrary to the intent and an unlikely scenario (several of 
 my machines have such a deployment).

I will improve handling of cases when minimal and maximal versions aren't
specified. E.g. PYTHON_DEPEND=2 will be translated into dependency on
=dev-lang/python-2*.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-02-08 Thread Arfrever Frehtes Taifersar Arahesis
2010-02-07 19:43:24 Markos Chandras napisał(a):
 On Saturday 06 February 2010 13:03:11 Arfrever Frehtes Taifersar Arahesis 
 wrote:
  2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
   - Dependency on Python 2 should be set correctly. You can specify it
   directly in {,R}DEPEND or use PYTHON_DEPEND.
  
   Example:
 PYTHON_DEPEND=2
  
 inherit python
  
  It might be useful to provide another example:
  If given package requires e.g. Python =2.6, but does not support Python 3,
   then you can set PYTHON_DEPEND=2:2.6.
  
 Could you please update the python documentation [1] or any other online 
 documentation you may find useful cause I am pretty sure your recommendations 
 in this e-mail will be lost over time.

Yes.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-02-08 Thread Arfrever Frehtes Taifersar Arahesis
2010-02-06 17:54:10 Mark Loeser napisał(a):
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org said:
  2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
   I consider filing bugs for not adjusted packages after some months (e.g 
   in summer).
  
  1123 packages (440 in dev-python category) from 108 categories specify 
  dev-lang/python
  or virtual/python in DEPEND or RDEPEND, so actually it might be better to 
  start filing
  bugs in this month. If there are no objections, then I would like to file 1 
  bug per
  category (except dev-python category).
 
 Make trackers and make one bug per package.  Its way too hard to follow
 a huge metabug with a bunch of packages listed in it.

Average number of non-dev-python packages handled in 1 bug would be only 6.4, 
but I can
create create 1 bug per package, if you still want it.

 Also, I think the concerns and suggestions that were brought up about the 
 syntax
 of this new variable should be addressed first and not ignored.

I will include examples in documentation of PYTHON_DEPEND to avoid 
misunderstanding of
syntax of this variable.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-02-08 Thread Arfrever Frehtes Taifersar Arahesis
2010-02-06 13:14:41 Brian Harring napisał(a):
 On Sat, Feb 06, 2010 at 12:03:11PM +0100, Arfrever Frehtes Taifersar Arahesis 
 wrote:
  2010-02-05 17:40:00 Arfrever Frehtes Taifersar Arahesis napisał(a):
   - Dependency on Python 2 should be set correctly. You can specify it 
   directly in
 {,R}DEPEND or use PYTHON_DEPEND.
   
   Example:
 PYTHON_DEPEND=2
   
 inherit python
  
  It might be useful to provide another example:
  If given package requires e.g. Python =2.6, but does not support Python 3, 
  then you can
  set PYTHON_DEPEND=2:2.6.
 
 We really need better syntax than that.  Particular reason you're 
 jamming py2k and py3k all into one?  Breaking it down into 
 PYTHON2K_DEPEND and PYTHON3K_DEPEND

There's no need for 2 variables when 1 variable is sufficient.

 would involve lest magic in parsing

At least I was able to exercise my bash skills and find a bug in bash :) .

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python-3.2-related changes

2010-03-01 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-01 06:13:19 Max Arnold napisał(a):
 On Mon, Mar 01, 2010 at 04:13:10AM +0100, Arfrever Frehtes Taifersar Arahesis 
 wrote:
(Please note that wrapper scripts generated by 
  python_generate_wrapper_scripts() work
with all versions of Python from 2.4 to 3.2, so shebangs in these scripts 
  do not need
any changes.)
 
 What is the recommended policy about using or not using wrapper scripts?

They are to solve collisions between scripts installed with different Python 
versions,
not to support Python 3.

 Maybe it also should be documented?

I will document it.

  [1] http://www.gentoo.org/proj/en/Python/developersguide.xml
 
 What about merging (or at least linking) this documentation with Gentoo 
 Development Guide? The
 latter one already contains distutils related chapter and probably it is a 
 good idea to decribe
 python.eclass usage in another chapter or eclass reference.

It's better to maintain our documentation separately. Gentoo Development Guide 
can
contain URL to http://www.gentoo.org/proj/en/Python/developersguide.xml.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Deprecation of python_version(), python_mod_exists(), python_tkinter_exists(), distutils_python_version() and distutils_python_tkinter() in EAPI =2

2010-03-02 Thread Arfrever Frehtes Taifersar Arahesis
Members of Gentoo Python Project have agreed to deprecate the following 
functions
in EAPI =2:
  - python_version()
  - python_mod_exists()
  - python_tkinter_exists()
  - distutils_python_version()
  - distutils_python_tkinter()

These functions are already banned in EAPI =3.

1. In this week, these functions will start printing deprecation warnings in 
older EAPIs.
2. On 2010-07-01, these functions will start calling die().
   (If any ebuilds in gentoo-x86 still call any of these functions on 
2010-07-01,
then addition of calls to die() will be delayed.)
3. On 2011-01-01, these functions will be removed.

I will also send the announcement to gentoo-dev-announce mailing list to ensure
that developers not subscribed to gentoo-dev mailing list will notice the 
deprecation.
The attached patch shows text of deprecation warnings.

-- 
Arfrever Frehtes Taifersar Arahesis
--- python.eclass
+++ python.eclass
@@ -1980,6 +1980,15 @@
 		die ${FUNCNAME}() cannot be used in this EAPI
 	fi
 
+	_python_set_color_variables
+
+	if [[ ${FUNCNAME[1]} != distutils_python_version ]]; then
+		ewarn
+		ewarn ${_RED}Deprecation Warning: ${FUNCNAME}() is deprecated and will be banned on 2010-07-01.${_NORMAL}
+		ewarn ${_RED}Use PYTHON() instead of python variable. Use python_get_*() instead of PYVER* variables.${_NORMAL}
+		ewarn
+	fi
+
 	[[ -n ${PYVER} ]]  return 0
 	local tmpstr
 	python=${python:-${EPREFIX}/usr/bin/python}
@@ -2011,6 +2020,13 @@
 		die ${FUNCNAME}() cannot be used in this EAPI
 	fi
 
+	_python_set_color_variables
+
+	ewarn
+	ewarn ${_RED}Deprecation Warning: ${FUNCNAME}() is deprecated and will be banned on 2010-07-01.${_NORMAL}
+	ewarn ${_RED}Use USE dependencies and/or has_version() instead of ${FUNCNAME}().${_NORMAL}
+	ewarn
+
 	if [[ $# -ne 1 ]]; then
 		die ${FUNCNAME}() requires 1 argument
 	fi
@@ -2027,6 +2043,15 @@
 		die ${FUNCNAME}() cannot be used in this EAPI
 	fi
 
+	_python_set_color_variables
+
+	if [[ ${FUNCNAME[1]} != distutils_python_tkinter ]]; then
+		ewarn
+		ewarn ${_RED}Deprecation Warning: ${FUNCNAME}() is deprecated and will be banned on 2010-07-01.${_NORMAL}
+		ewarn ${_RED}Use PYTHON_USE_WITH=\xml\ and python_pkg_setup() instead of ${FUNCNAME}().${_NORMAL}
+		ewarn
+	fi
+
 	if ! $(PYTHON ${PYTHON_ABI}) -c from sys import version_info
 if version_info[0] == 3:
 	import tkinter
--- distutils.eclass
+++ distutils.eclass
@@ -382,6 +382,13 @@
 		die ${FUNCNAME}() cannot be used in this EAPI
 	fi
 
+	_python_set_color_variables
+
+	ewarn
+	ewarn ${_RED}Deprecation Warning: ${FUNCNAME}() is deprecated and will be banned on 2010-07-01.${_NORMAL}
+	ewarn ${_RED}Use PYTHON() instead of python variable. Use python_get_*() instead of PYVER* variables.${_NORMAL}
+	ewarn
+
 	python_version
 }
 
@@ -394,5 +401,12 @@
 		die ${FUNCNAME}() cannot be used in this EAPI
 	fi
 
+	_python_set_color_variables
+
+	ewarn
+	ewarn ${_RED}Deprecation Warning: ${FUNCNAME}() is deprecated and will be banned on 2010-07-01.${_NORMAL}
+	ewarn ${_RED}Use PYTHON_USE_WITH=\xml\ and python_pkg_setup() instead of ${FUNCNAME}().${_NORMAL}
+	ewarn
+
 	python_tkinter_exists
 }


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Python 3.1: Stabilization and news item

2010-03-04 Thread Arfrever Frehtes Taifersar Arahesis
All problems, which were blocking stabilization of Python 3, have been fixed.
Stabilization of Python 3.1.2 is currently scheduled on 2010-04-19.
I'm attaching the news item for Python 3.1.

-- 
Arfrever Frehtes Taifersar Arahesis
Title: Python 3.1
Author: Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org
Content-Type: text/plain
Posted: 2010-03-04
Revision: 1
News-Item-Format: 1.0
Display-If-Installed: =dev-lang/python-3.1*

Python 3 is a new major version of Python and is intentionally incompatible
with Python 2. Many external modules have not been ported yet to Python 3, so
currently Python 3.1 should not be set as main active version of Python.
Setting Python 3.1 as main active version of Python is currently unsupported.
When it will change, a separate news item will be created to notify users.

'eselect python COMMAND --python3 [ARGUMENTS]' can be used to manage
configuration of active version of Python 3.

Although Python 3.1 should not be set as main active version of Python, users
should run python-updater after installation of Python 3.1. By default,
modules, which support both Python 2 and Python 3, are installed for both
active version of Python 2 and active version of Python 3, when both Python 2
and Python 3 are installed.

It is recommended to use a UTF-8 locale to avoid potential problems. Especially
C and POSIX locales are discouraged. If locale has not been explicitly set,
then POSIX locale is used, so users should explicitly set locale. Problems
occuring only with non-UTF-8 locales should be reported directly to upstream
developers of given packages.


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Python 3.1: Stabilization and news item

2010-03-10 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-08 22:28:16 William Hubbs napisał(a):
 On Fri, Mar 05, 2010 at 04:19:36PM -0800, Zac Medico wrote:
  No, it won't. To prove it, I've just tested with a stable stage3
  containing portage-2.1.7.x. Here are the steps:
  
  1) extract stable stage3 and chroot into it
  2) mkdir /etc/portage  echo dev-lang/python ~* 
  /etc/portage/package.keywords
  3) Run `emerge -pu --deep=1 portage`:
 These are the packages that would be merged, in order:
  
 Calculating dependencies... done!
 [ebuild UD] sys-apps/sandbox-1.6-r2 [2.2]
 [ebuild UD] app-shells/bash-4.0_p35 [4.0_p37]
 [ebuild U ] dev-lang/python-2.6.4-r1 [2.6.4]
  
  If you try `emerge -puD world` then you will see
  dev-lang/python-3.1.1-r1 pulled in by the unspecific dev-lang/python
  atoms in the cracklib and libxml2 dependencies. However, in
  portage-2.1.7.x (current stable), there is support for
  pseudo-version-ranges in dependencies. This allows you use a
  dependency like dev-lang/python-3 in a package that doesn't support
  python3, and that will prevent it from getting pulled into the
 
 According to this, we can fix all of the dependencies in the tree then
 stabilize python3 without having any issues, so I would vote for this
 route, because it still oinsures that the stable tree will work
 together.

Almost everybody has at least 1 package installed which supports both Python 2
and Python 3 and depends on dev-lang/python without version specification,
so Python 3 would be pulled into dependency graph, so fixing of dependencies
doesn't need to block stabilization of Python 3.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-18 20:20:02 Thomas Sachau napisał(a):
 Currently, some packages just depend on dev-lang/python. Arfrever claims it 
 to be right

It's correct only for packages (e.g. dev-python/setuptools), which support all
versions of Python (including Python 3).

 Arfrever claims current portage behaviour is wrong

I claim that Portage behavior is correct.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-18 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-18 20:47:35 Thomas Sachau napisał(a):
 On 03/18/2010 08:33 PM, Arfrever Frehtes Taifersar Arahesis wrote:
  2010-03-18 20:20:02 Thomas Sachau napisał(a):
  Currently, some packages just depend on dev-lang/python. Arfrever claims 
  it to be right
  
  It's correct only for packages (e.g. dev-python/setuptools), which support 
  all
  versions of Python (including Python 3).
 
 Can you tell us any benefit for the normal user, when you require him to 
 install python-3*

I don't require it. It's only a side effect of correct dependencies.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-19 10:23:31 Dale napisał(a):
 Ciaran McCreesh wrote:
  On Fri, 19 Mar 2010 03:54:28 -0500
  Dalerdalek1...@gmail.com  wrote:
 
  Ciaran McCreesh wrote:
   
  On Thu, 18 Mar 2010 23:17:17 +0100
  Ben de Grootyng...@gentoo.org   wrote:
 
 
  Because it is extremely useless to the great majority of users.
 
   
  Most packages in the tree are useless to the great majority of
  users.
 
  Which is why most users don't install everything.  I have about 1000
  packages installed here.  The packages installed are either something
  I use or a dependency of something I use.  What exactly is this being
  installed for again?  If nothing depends on it, there is no need to
  have it.
   
  It's being installed because it's a dependency of something you use.
 
  Replace Python with any other library and we wouldn't be having this
  discussion.
 
 
 
 OK.  Right now, as you type this, what package depends on python-3 and 
 won't work with python-2?  Anything at all?  If it is nothing, then why 
 install it?
 
 Since python-3 is not what the system is using, it's not getting used 
 even if it is installed.  So as I mentioned in another reply, portage is 
 installing something and it is just sitting there doing nothing.  What 
 is the point in that?

I can add python2 USE flag (enabled by default) to some versions of
dev-lang/python. With USE=-python2, Python 2 will not be required and
Python 3 will be set as main active version of Python.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-19 10:39:07 Petteri Räty napisał(a):
 On 19.3.2010 11.35, Arfrever Frehtes Taifersar Arahesis wrote:
 
  
  I can add python2 USE flag (enabled by default) to some versions of
  dev-lang/python. With USE=-python2, Python 2 will not be required and
  Python 3 will be set as main active version of Python.
  
 
 You should move to the same scheme that ruby uses. Then users can just
 disable the python_version_3 or whatever USE_EXPAND scheme is used.

We are waiting on ABI dependencies (and extended support for multiple ABIs in
package manager), which will provide some needed functionality.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Packages pulling in python-3*, also they dont require it

2010-03-19 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-19 11:13:48 Dale napisał(a):
 Ciaran McCreesh wrote:
  On Fri, 19 Mar 2010 04:23:31 -0500
  Dalerdalek1...@gmail.com  wrote:
 
  It's being installed because it's a dependency of something you use.
 
  Replace Python with any other library and we wouldn't be having this
  discussion.
 
  OK.  Right now, as you type this, what package depends on python-3
  and won't work with python-2?  Anything at all?  If it is nothing,
  then why install it?
   
  And that's where you're making the mistake: you're treating Python as
  being different from every other package.
 
  In every other case, you want things to be using the newest version of a
  slotted package where possible. Why aren't you complaining that you were
  forced to install gcc 4.3 and 4.1 when 3.4 worked just fine?
 
 
 Because, when I installed gcc 4.3, I could then unmerge the old gcc.  
 That's why I didn't complain about that.  With python, we still have to 
 have the current version plus the new version which is not being used at 
 all.
 
 Am I not correct in that?  If the new python is installed, what exactly 
 is going to use it?  I used the new gcc.  It worked fine.  I unmerged 
 the old one with no wasted space and one less package installed.  This 
 doesn't appear to be the case with python-3 tho.  It's going to be 
 installed and just sit there like a rock.

Python 3 is used during installation of packages, which support Python 2 and
Python 3 and support installation for multiple Python ABIs. You can directly
execute scripts with -3.1 suffix (e.g. bpython-3.1 or coverage-3.1)
to use Python 3.1 even when Python 2.* is set as main active version of Python.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it

2010-03-20 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-20 13:51:37 Peter Hjalmarsson napisał(a):
 I have a question related to this:
 
 If I have package X which supports python2 and python 3, and I install
 it without python3 installed it will only install python2-files
 (i.e. /usr/lib/python2.x/*), right?
 What happens if I later install packages Y that is only python3, and
 relies on the python3 parts of package X? Can this happen and how will
 the PM handle that (reemerge package X installing the python3 parts or
 fail to compile package Y due to missing python module)?

As the news item says, you should run python-updater after installation
of Python 3.1.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it

2010-03-20 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-20 01:51:44 Duncan napisał(a):
 So let's just recognize that it's not a perfect situation, create a news 
 item saying that python-3 will soon (give a date) be unmasked, and suggest 
 that users not needing it may wish to package.mask it themselves, with a 
 link to documentation with specific instructions and a bit more detail on 
 why they might wish to mask it and under what circumstances they might not.
 
 I'd suggest an unmasking date 30 days after the release of the news item.

Python 3 is not masked. The discussion is about stabilization.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Packages pulling in python-3*, also they dont require it

2010-03-23 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-22 22:12:54 Jacob Godserv napisał(a):
 On Sat, Mar 20, 2010 at 10:11, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  2010-03-20 01:51:44 Duncan napisał(a):
  So let's just recognize that it's not a perfect situation, create a news
  item saying that python-3 will soon (give a date) be unmasked, and suggest
  that users not needing it may wish to package.mask it themselves, with a
  link to documentation with specific instructions and a bit more detail on
  why they might wish to mask it and under what circumstances they might not.
 
  I'd suggest an unmasking date 30 days after the release of the news item.
 
  Python 3 is not masked. The discussion is about stabilization.
 
 Duncan's comments still apply, though, right? What's against writing a
 news item about stabilizing Python?

There is already a thread about news item:
http://archives.gentoo.org/gentoo-dev/msg_814e67764c17f88bde94f22e9a392e4f.xml

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-23 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-04 19:38:12 Paweł Hajdan, Jr. napisał(a):
 On 3/4/10 7:22 PM, Arfrever Frehtes Taifersar Arahesis wrote:
  'eselect python COMMAND --python3 [ARGUMENTS]' can be used to manage
  configuration of active version of Python 3.
 
 I'm confused by the above paragraph. I had to spend a longer while to
 see that it really means if you want to use eselect-python to manage
 your python3 configuration, pass the --python3 switch. Before that I
 wondered what is the meaning of COMMAND and ARGUMENTS. Would be nice to
 make it more clear.

This paragraph is probably not needed for average users, so I will remove it.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-23 Thread Arfrever Frehtes Taifersar Arahesis
I'm attaching updated news item, which will be committed soon.

Stabilization has been delayed to 2010-04-21, but members of architecture
projects can start testing now, to ensure that all potential problems have
been found and fixed.

-- 
Arfrever Frehtes Taifersar Arahesis
Title: Python 3.1
Author: Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org
Content-Type: text/plain
Posted: 2010-03-23
Revision: 1
News-Item-Format: 1.0
Display-If-Installed: =dev-lang/python-3.1*

Python 3 is a new major version of Python and is intentionally incompatible
with Python 2. Many external modules have not been ported yet to Python 3,
so Python 2 still needs to be installed. You can benefit from having Python 3
installed without setting Python 3.1 as main active version of Python.
Currently you should not set Python 3.1 as main active version of Python.
When setting it becomes recommended, a separate news item will be created
to notify users.

Although Python 3.1 should not be set as main active version of Python,
you should run python-updater after installation of Python 3.1. By default,
modules, which support both Python 2 and Python 3, are installed for both
active version of Python 2 and active version of Python 3, when both Python 2
and Python 3 are installed.

It is recommended to use a UTF-8 locale to avoid potential problems. Especially
C and POSIX locales are discouraged. If locale has not been explicitly set,
then POSIX locale is used, so you should ensure that locale has been set.
Problems occurring only with non-UTF-8 locales should be reported directly
to upstream developers of given packages.
See http://www.gentoo.org/doc/en/utf-8.xml for more information about UTF-8.


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-24 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-23 20:28:38 Ben de Groot napisał(a):
 On 23 March 2010 20:13, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  I'm attaching updated news item, which will be committed soon.
 
 As mentioned in the other thread, this news item should mention
 that users who do not need python-3 should mask it locally to
 prevent it from being pulled into the dependency graph.

Python maintainers do not recommend to mask Python 3.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-24 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-24 17:57:35 Joshua Saddler napisał(a):
 On Wed, 24 Mar 2010 17:43:56 +0100
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
 
  2010-03-23 20:28:38 Ben de Groot napisał(a):
   As mentioned in the other thread, this news item should mention
   that users who do not need python-3 should mask it locally to
   prevent it from being pulled into the dependency graph.
  
  Python maintainers do not recommend to mask Python 3.
 
 But everyone else in Gentoo does, so . . .

Some Gentoo developers/users, who aren't Python maintainers, said that
they didn't object to have Python 3 installed.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-24 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-24 17:56:48 Ben de Groot napisał(a):
 On 24 March 2010 17:43, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  2010-03-23 20:28:38 Ben de Groot napisał(a):
  On 23 March 2010 20:13, Arfrever Frehtes Taifersar Arahesis
  arfre...@gentoo.org wrote:
   I'm attaching updated news item, which will be committed soon.
 
  As mentioned in the other thread, this news item should mention
  that users who do not need python-3 should mask it locally to
  prevent it from being pulled into the dependency graph.
 
  Python maintainers do not recommend to mask Python 3.
 
 Are you saying that you are just going to brush aside all
 concerns that have been voiced about this issue? You will
 upset a lot of people if you do that.

All valid concerns about text already included in the news item have been
addressed. We don't need to include any unofficial recommendations.
Proposed news item is better than no news item.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-24 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-24 18:32:37 Joshua Saddler napisał(a):
 On Wed, 24 Mar 2010 18:14:44 +0100
 Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
 
  2010-03-24 17:57:35 Joshua Saddler napisał(a):
   On Wed, 24 Mar 2010 17:43:56 +0100
   Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org wrote:
Python maintainers do not recommend to mask Python 3.
   
   But everyone else in Gentoo does, so . . .
  
  Some Gentoo developers/users, who aren't Python maintainers, said that
  they didn't object to have Python 3 installed.
 
 They're in the minority, judging by the replies in this thread.

People, who don't object to given suggestions, less often reply to them.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: Python 3.1: Stabilization and news item

2010-03-24 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-23 20:57:33 Jonathan Callen napisał(a):
 On 03/23/2010 03:13 PM, Arfrever Frehtes Taifersar Arahesis wrote:
  I'm attaching updated news item, which will be committed soon.
 
 
 A couple grammar issues:
 
 -modules, which support both Python 2 and Python 3, are installed for both
 -active version of Python 2 and active version of Python 3, when both Python 2
 -and Python 3 are installed.
 +modules that support both Python 2 and Python 3 are installed for both the
 +active version of Python 2 and the active version of Python 3 when both
 +Python 2 and Python 3 are installed.

I have locally applied these changes some hours ago, but I'm attaching updated
news item so that it can be reviewed easier. If there are no additional, new
suggestions, then the news item will be committed tomorrow.

-- 
Arfrever Frehtes Taifersar Arahesis
Title: Python 3.1
Author: Arfrever Frehtes Taifersar Arahesis arfre...@gentoo.org
Content-Type: text/plain
Posted: 2010-03-24
Revision: 1
News-Item-Format: 1.0
Display-If-Installed: =dev-lang/python-3.1*

Python 3 is a new major version of Python and is intentionally incompatible
with Python 2. Many external modules have not been ported yet to Python 3,
so Python 2 still needs to be installed. You can benefit from having Python 3
installed without setting Python 3.1 as main active version of Python.
Currently you should not set Python 3.1 as main active version of Python.
When setting it becomes recommended, a separate news item will be created
to notify users.

Although Python 3.1 should not be set as main active version of Python,
you should run python-updater after installation of Python 3.1. By default,
modules that support both Python 2 and Python 3 are installed for both
the active version of Python 2 and the active version of Python 3 when both
Python 2 and Python 3 are installed.

It is recommended to use a UTF-8 locale to avoid potential problems. Especially
C and POSIX locales are discouraged. If locale has not been explicitly set,
then POSIX locale is used, so you should ensure that locale has been set.
Problems occurring only with non-UTF-8 locales should be reported directly
to upstream developers of given packages.
See http://www.gentoo.org/doc/en/utf-8.xml for more information about UTF-8.


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-24 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-24 18:51:48 Paweł Hajdan, Jr. napisał(a):
 On 3/24/10 6:35 PM, Ben de Groot wrote:
  All valid concerns about text already included in the news item have been
  addressed. We don't need to include any unofficial recommendations.
  
  I'll take that as a yes then, you are indeed disregarding the concerns
  and recommendations of your fellow Gentoo developers.
  
  CC'ing devrel because this is getting out of hand.
 
 I think it's a purely technical issue. The arguments against Python 3
 are mostly in the form I don't feel it's ready. If it can't be
 resolved on the list (some people want Python 3, some don't), shouldn't
 the council decide?

People, don't want Python 3, probably have already masked it. There is
no reason to waste Council's time for decision on what sentence should
be included in the news item.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-25 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-25 19:34:24 Roy Bamford napisał(a):
 On 2010.03.24 21:12, William Hubbs wrote:
  On Wed, Mar 24, 2010 at 09:36:52PM +0100, Ben de Groot wrote:
   On 24 March 2010 21:25, William Hubbs willi...@gentoo.org wrote:
If we make it clear in the news item that python-3 cannot be used
  as the
default python, so if users do not want it they should mask it, 
  we
  have
done our job imho.  In other words, this is just a matter of
  informing
users.
   
   We agree that this is the minimum that should be done. But our
   Python lead stubbornly refuses to honor this reasonable request.
   
   On the other hand, I can see his point as well.  The news item makes
  it
   very clear that python-3 cannot be the default python and that
  python-2
   needs to be installed.
  
  It could be argued that he is just assuming that users are 
  intelligent
  enough to figure out  that they need to mask python-3 if they
  do not want it on their systems.
  
  Basically this is a case of how much hand-holding do we want to do?
  
  William
  
  
 
 The case where Python-3 cannot be used as the default Python is 
 transitory (it may be a long time).

Gentoo Python Project will soon start supporting setting Python 3 as main
active version of Python. Currently about 57% of our packages from dev-python
category are prepared.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-26 Thread Arfrever Frehtes Taifersar Arahesis
Arfrever Frehtes Taifersar Arahesis 2010-03-25 20:05:17 napisał(a):
 2010-03-25 19:34:24 Roy Bamford napisał(a):
  The case where Python-3 cannot be used as the default Python is 
  transitory (it may be a long time).
 
 Gentoo Python Project will soon start supporting setting Python 3 as main
 active version of Python. Currently about 57% of our packages from dev-python
 category are prepared.

My script was wrong. More correct data:
About 55% of packages in dev-python category belonging to python herd are 
prepared.
100% of packages in net-zope category belonging to python herd are prepared.
About 60% of packages belonging to python herd are prepared.
About 47% of packages in dev-python category not belonging to python herd are 
prepared.
About 13% of packages not belonging to python herd are prepared.
About 34% of all packages depending on Python are prepared.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-26 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-26 16:40:37 Brian Harring napisał(a):
 There really isn't a precedent since upgrades of this sort typically 
 either have extremely locked down deps, or just plain don't happen 
 till the vast majority of depndencies are updated.  If in doubt, look 
 at the past python upgrades- they've been delayed till all of the 
 major consumers played nice w/ the targeted python version.

Main active version of Python was automatically updated during previous Python
upgrades, but it's not updated during installation of Python 3.1.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-26 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-26 16:43:57 Brian Harring napisał(a):
 On Fri, Mar 26, 2010 at 03:22:52PM +0100, Arfrever Frehtes Taifersar Arahesis 
 wrote:
  Arfrever Frehtes Taifersar Arahesis 2010-03-25 20:05:17 napisał(a):
   2010-03-25 19:34:24 Roy Bamford napisał(a):
The case where Python-3 cannot be used as the default Python is 
transitory (it may be a long time).
   
   Gentoo Python Project will soon start supporting setting Python 3 as main
   active version of Python. Currently about 57% of our packages from 
   dev-python
   category are prepared.
 
  My script was wrong. More correct data:
  About 55% of packages in dev-python category belonging to python herd are 
  prepared.
  100% of packages in net-zope category belonging to python herd are prepared.
  About 60% of packages belonging to python herd are prepared.
  About 47% of packages in dev-python category not belonging to python herd 
  are prepared.
  About 13% of packages not belonging to python herd are prepared.
  About 34% of all packages depending on Python are prepared.
 
 I get the feeling your phrasing here is a bit misleading- 'support 
 setting py3k as main active python' implies that the stats above are 
 the # of pkgs in the tree supporting *using* a py3k interpretter.
 
 I'm betting you mean support multi-abi, meaning if you've got py2.6 
 and py3.1, it'll install into py2.6, while avoiding py3k.  Fair bit of 
 a difference.

These numbers include packages which support installation for multiple Python 
ABIs
and packages which call python_set_active_version().

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Python 3.1: Stabilization and news item

2010-03-26 Thread Arfrever Frehtes Taifersar Arahesis
2010-03-26 17:15:42 Brian Harring napisał(a):
 On Fri, Mar 26, 2010 at 05:04:28PM +0100, Arfrever Frehtes Taifersar Arahesis 
 wrote:
  2010-03-26 16:43:57 Brian Harring napisał(a):
   On Fri, Mar 26, 2010 at 03:22:52PM +0100, Arfrever Frehtes Taifersar 
   Arahesis wrote:
Arfrever Frehtes Taifersar Arahesis 2010-03-25 20:05:17 napisał(a):
 2010-03-25 19:34:24 Roy Bamford napisał(a):
  The case where Python-3 cannot be used as the default Python is 
  transitory (it may be a long time).
 
 Gentoo Python Project will soon start supporting setting Python 3 as 
 main
 active version of Python. Currently about 57% of our packages from 
 dev-python
 category are prepared.
   
My script was wrong. More correct data:
About 55% of packages in dev-python category belonging to python herd 
are prepared.
100% of packages in net-zope category belonging to python herd are 
prepared.
About 60% of packages belonging to python herd are prepared.
About 47% of packages in dev-python category not belonging to python 
herd are prepared.
About 13% of packages not belonging to python herd are prepared.
About 34% of all packages depending on Python are prepared.
   
   I get the feeling your phrasing here is a bit misleading- 'support 
   setting py3k as main active python' implies that the stats above are 
   the # of pkgs in the tree supporting *using* a py3k interpretter.
   
   I'm betting you mean support multi-abi, meaning if you've got py2.6 
   and py3.1, it'll install into py2.6, while avoiding py3k.  Fair bit of 
   a difference.
  
  These numbers include packages which support installation for multiple 
  Python ABIs
  and packages which call python_set_active_version().
 
 Bleh.  So in other words a third of the pkgs that dep on python have 
 the minimal basics for dealing w/ py3k landing.  I'd question what 
 percentile have proper locked deps also (stating they're py2k only), 
 but that's a seperate discussion.
 
 That *still* doesn't answer the question of how many can be *ran* by 
 py3k also.
 
 Note in the past when breakages of this sort have been unleashed, the 
 percentile of prepared pkgs has been generally a helluva lot higher- 
 having 90% prepared is one thing, but y'all aren't at that point and 
 you've got 3 weeks (after what, 3 months?) to bring the percentile 
 higher then a third?
 
 What's the minimal percentile you're aiming for prior to the 
 unmasking?

Python ebuilds will start automatically setting Python 3 as main active
version of Python when all bugs blocking bug #308257 are fixed.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Re: [gentoo-dev-announce] Changes in python_mod_optimize(), python_mod_cleanup() and python_mod_compile()

2010-05-25 Thread Arfrever Frehtes Taifersar Arahesis
2010-05-25 21:11:44 Petteri Räty napisał(a):
 On 05/25/2010 09:35 PM, Arfrever Frehtes Taifersar Arahesis wrote:
  - Not passing of paths to python_mod_optimize() and python_mod_cleanup() 
  has been
deprecated and will be disallowed on 2010-09-01. You should pass paths to 
  Python
modules to these functions.
  
  - python_mod_compile() has been deprecated and will be banned on 2010-09-01.
You should use python_mod_optimize() instead of python_mod_compile().
  
 
 1. Messages to gentoo-dev-announce should also be posted to an on topic
 mailing lists

I don't like crossposting.

 2. What does disallowed and banned mean in this case? Plenty of ebuilds
 currently pass paths to python_mod_optimize.

Ebuilds, which pass paths to python_mod_optimize() / python_mod_cleanup(),
don't need any changes. Ebuilds, which don't pass paths to python_mod_optimize()
or python_mod_cleanup(), should now pass paths to these functions.
Only small minority of ebuilds don't pass paths to these functions.

python_mod_optimize() without paths hasn't been doing anything for almost 2 
years.
python_mod_cleanup() without paths allows for silently incorrect behavior.
Not passing of paths to python_mod_cleanup() is incorrect in many ebuilds.

 If you break the stable tree, you should have the wrath of more people than 
 me.
 It can be done at the dates you say if the tree is in order by then.

I'm not breaking anything. Deprecation warnings won't be changed into calls to
die() until all ebuilds in gentoo-x86 are fixed.

It's possible to deprecate and ban functions or their parts as it was discussed
in Deprecation of python_version(), python_mod_exists(), 
python_tkinter_exists(),
distutils_python_version() and distutils_python_tkinter() in EAPI =2 thread 
[1].

[1] 
http://archives.gentoo.org/gentoo-dev/msg_7ad37800b8fa3041662068f70083cb56.xml

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Actions of python team, especially Arfrever wrt python eclass and python-3*

2010-06-05 Thread Arfrever Frehtes Taifersar Arahesis
2010-05-27 16:33:39 Thomas Sachau napisał(a):
 Hi together,
 
 since i am not able to get any real argument or even discussion on IRC nor on 
 this mailing list from
 Arfrever (main person behind those changes), i would like to raise the 
 following points now on this
 mailing list as told on IRC, so he gets the chance to answer those points and 
 to clear the issues:
 
 -major changes to python eclasses have been done without peer review on this 
 mailing list.

There weren't any major changes in python.eclass in last months. In 
r1.96:r1.100 I committed a set of minor changes.
Some code was moved, which might cause false impression that there were some 
major changes:
- MISCELLANEOUS FUNCTIONS section (with 8 functions) was moved to before 
FUNCTIONS FOR PACKAGES SUPPORTING
   INSTALLATION FOR MULTIPLE PYTHON ABIS section.
- python_pkg_setup() function was moved to MISCELLANEOUS FUNCTIONS section.
- A part of python_mod_cleanup() function was split to 
_python_clean_compiled_modules() function.
  python_mod_cleanup() now calls _python_clean_compiled_modules().
- 2 loops in python_mod_optimize() were divided and some code was reindented.

 This includes pulling in python-3* versions

It's untruth. python.eclass or distutils.eclass don't enforce any particular 
version of Python.

 -A news item, which is only shown, once python-3* is installed.
 
 It is only shown _after_ installation of python-3.

You might file an enhancement request for Portage to show news items before 
installation.

 -Arfrever also said, he would add a seperate news item, when python-3 gets 
 stabilized.

I never said it. The plan was to have 1 news item for all users, who have 
installed Python 3.1.

 Beside those points, one additional main issue is, that i and others dont 
 seem to be able to have a
 discussion with Arfrever about this topics.

I'm answering to new (unanswered), rational arguments about these topics.

 He says, he has no time for it or says, that he already had shown arguments, 
 but cannot show
 any evidence or just stops responding without any note.

There had been multiple threads about Python 3. Read e-mails written by me or 
Dirkjan Ochtman in the following threads:
http://archives.gentoo.org/gentoo-dev/msg_115ce6fa1a09de286bf58db12df463c6.xml
http://archives.gentoo.org/gentoo-dev/msg_814e67764c17f88bde94f22e9a392e4f.xml
http://archives.gentoo.org/gentoo-dev/msg_2591c1b9a7e7b72383d3841bc05dc417.xml

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Actions of python team, especially Arfrever wrt python eclass and python-3*

2010-06-06 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-06 12:40:28 Thomas Sachau napisał(a):
 Additionally, it should define the supported slots, something like this:
 
 SUPPORTED_RUBY_SLOTS=1.8 1.9 or
 SUPPORTED_PYTHON_SLOTS=2.5 2.6 3.0 3.1
 
 Now the package manager should take those vars and convert them to some 
 expanded USE vars like:
 
 RUBY_SLOTS=1.8 1.9 or
 PYTHON_SLOTS=2.5 2.6 3.0 3.1

We are already working on automatic generation of USE flags in python.eclass 
(in newer EAPIs).

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Extending EAPI=4

2010-06-06 Thread Arfrever Frehtes Taifersar Arahesis
I would like to suggest that EAPI=4 be reopened for ability of using dots in
USE flag names, which was suggested in bug #311795.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Actions of python team, especially Arfrever wrt python eclass and python-3*

2010-06-06 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-06 15:54:23 Thomas Sachau napisał(a):
 Am 06.06.2010 15:44, schrieb Arfrever Frehtes Taifersar Arahesis:
  2010-06-06 12:40:28 Thomas Sachau napisał(a):
  Additionally, it should define the supported slots, something like this:
 
  SUPPORTED_RUBY_SLOTS=1.8 1.9 or
  SUPPORTED_PYTHON_SLOTS=2.5 2.6 3.0 3.1
 
  Now the package manager should take those vars and convert them to some 
  expanded USE vars like:
 
  RUBY_SLOTS=1.8 1.9 or
  PYTHON_SLOTS=2.5 2.6 3.0 3.1
  
  We are already working on automatic generation of USE flags in 
  python.eclass (in newer EAPIs).
  
 
 And why do you want to implement such code in every eclass?
 
 Whats wrong with implementing it on the package manager side once and reusing 
 it for every
 eclass/ebuild, which needs such code?

We can accept such an implementation if it meets all our requirements.
E.g. Python ebuilds must specify list of NOT supported Python ABIs (e.g. using 
whitespace-separated
list of fnmatch patterns). When a new slot of Python is available, then 
updating one place
(an eclass or a file in profiles) must be sufficient to add a USE flag to all 
ebuilds (which
don't specify a range of not supported Python ABIs which would match the new 
Python ABI).

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in dev-python/traits: traits-3.4.0.ebuild

2010-06-10 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-10 22:20:44 Nirbheek Chauhan napisał(a):
 On Fri, Jun 11, 2010 at 1:30 AM, Arfrever Frehtes Taifersar Arahesis
 arfre...@gentoo.org wrote:
  2010-06-10 21:27:40 Jeremy Olexa napisał(a):
  I see no reason to *not* add a ChangeLog entry here.
 
  ChangeLog entries are not required for trivial changes.
 
 
 A trivial change is fixing a typo, or a manifest problem, a missing
 quotation mark, etc. Anything else is not trivial.
 
 Anything that changes how an ebuild functions, what it does, or the
 installed files (and/or their contents) is NOT a trivial change.

This commit only removed some compiler warnings.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in dev-python/traits: traits-3.4.0.ebuild

2010-06-10 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-10 22:16:23 Fabian Groffen napisał(a):
 On 10-06-2010 22:00:19 +0200, Arfrever Frehtes Taifersar Arahesis wrote:
  2010-06-10 21:27:40 Jeremy Olexa napisał(a):
   I see no reason to *not* add a ChangeLog entry here.
  
  ChangeLog entries are not required for trivial changes.
 
 Apart from whether or not this is true, do I understand well that you
 consider masqueraded EAPI bumps as homepage updates as trivial changes
 too? (traitsbackendwx)

If a change in EAPI doesn't require any other changes in ebuild, then it's a 
trivial change.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Testing of Python 2.7

2010-06-13 Thread Arfrever Frehtes Taifersar Arahesis
Final release of Python 2.7 is currently scheduled on 2010-07-03. Snapshots
of Python 2.7 are available in python overlay. Python 2.7 will be initially
masked in gentoo-x86 after release.

I would like to encourage Gentoo developers and users to install a snapshot
of Python 2.7 and test miscellaneous packages with Python 2.7.

Please file bugs in Gentoo bugzilla, after ensuring that they don't occur
with Python 2.6. There are already 22 bugs filed, so don't file duplicates.

(I currently discourage using Python 3.2.)

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in dev-python/traits: traits-3.4.0.ebuild

2010-06-20 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-19 22:53:37 Mike Frysinger napisał(a):
 On Thursday, June 10, 2010 16:45:29 Arfrever Frehtes Taifersar Arahesis wrote:
  2010-06-10 22:20:44 Nirbheek Chauhan napisał(a):
   On Fri, Jun 11, 2010 at 1:30 AM, Arfrever Frehtes Taifersar wrote:
2010-06-10 21:27:40 Jeremy Olexa napisał(a):
I see no reason to *not* add a ChangeLog entry here.

ChangeLog entries are not required for trivial changes.
   
   A trivial change is fixing a typo, or a manifest problem, a missing
   quotation mark, etc. Anything else is not trivial.
   
   Anything that changes how an ebuild functions, what it does, or the
   installed files (and/or their contents) is NOT a trivial change.
  
  This commit only removed some compiler warnings.
 
 mucking with CFLAGS without documentation is wrong.  compiler warnings come 
 and go, so a flag that was relevant one day could be completely extraneous 
 the 
 next.
 
 however, especially with strict aliasing, you arent just fixing warnings, 
 you're changing optimization behavior of gcc to workaround broken C code.  
 this obviously does not fall anywhere near the trivial mark.
 
 i see you still havent fixed this, so get on it already.  a bug needs to be 
 opened somewhere to get the package properly *fixed*

This problem is probably caused by bugs in Python 2, which have been fixed in 
Python 3.

$ echo 'a = True'  test.pyx
$ cython test.pyx
$ gcc -O2 -Wall -I/usr/include/python3.1 -c test.c
$ gcc -O2 -Wall -I/usr/include/python2.6 -c test.c
test.c: In function ‘inittest’:
test.c:479: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
test.c:479: warning: dereferencing type-punned pointer will break 
strict-aliasing rules
test.c:479: warning: dereferencing pointer ‘_Py_TrueStruct.42’ does break 
strict-aliasing rules
test.c:479: warning: dereferencing pointer ‘_Py_TrueStruct.42’ does break 
strict-aliasing rules
test.c:479: note: initialized from here
test.c:482: warning: dereferencing pointer ‘__pyx_t_1’ does break 
strict-aliasing rules
test.c:482: warning: dereferencing pointer ‘__pyx_t_1’ does break 
strict-aliasing rules
test.c:482: warning: dereferencing pointer ‘__pyx_t_1’ does break 
strict-aliasing rules
test.c:482: warning: dereferencing pointer ‘__pyx_t_1’ does break 
strict-aliasing rules
test.c:479: note: initialized from here

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in dev-python/traits: traits-3.4.0.ebuild

2010-06-21 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-21 00:27:00 Mike Frysinger napisał(a):
 On Sunday, June 20, 2010 09:55:39 Arfrever Frehtes Taifersar Arahesis wrote:
  2010-06-19 22:53:37 Mike Frysinger napisał(a):
   On Thursday, June 10, 2010 16:45:29 Arfrever Frehtes Taifersar wrote:
2010-06-10 22:20:44 Nirbheek Chauhan napisał(a):
 On Fri, Jun 11, 2010 at 1:30 AM, Arfrever Frehtes Taifersar wrote:
  2010-06-10 21:27:40 Jeremy Olexa napisał(a):
  I see no reason to *not* add a ChangeLog entry here.
  
  ChangeLog entries are not required for trivial changes.
 
 A trivial change is fixing a typo, or a manifest problem, a missing
 quotation mark, etc. Anything else is not trivial.
 
 Anything that changes how an ebuild functions, what it does, or the
 installed files (and/or their contents) is NOT a trivial change.

This commit only removed some compiler warnings.
   
   mucking with CFLAGS without documentation is wrong.  compiler warnings
   come and go, so a flag that was relevant one day could be completely
   extraneous the next.
   
   however, especially with strict aliasing, you arent just fixing
   warnings, you're changing optimization behavior of gcc to workaround
   broken C code. this obviously does not fall anywhere near the trivial
   mark.
   
   i see you still havent fixed this, so get on it already.  a bug needs to
   be opened somewhere to get the package properly *fixed*
  
  This problem is probably caused by bugs in Python 2, which have been fixed
  in Python 3.
 
 the new information you've provided here only reinforces the fact the current 
 code is wrong.  properly document the append-flags and properly restrict it 
 to 
 when python-2 is being used.

I have added the comment to the ebuild. dev-python/traits supports only Python 
2.

 considering python-2 is going to be in our lives for a while, how hard is it 
 to backport the changes in question to the headers ?  presumably it's 
 struct/union/cast shuffling in the headers.

I don't know what exactly would need to be backported. I suspect that Python 
developers
would have backported the fix if it wasn't breaking backward compatibility.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Policy for late/slow stabilizations

2010-06-27 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-27 17:04:45 Markos Chandras napisał(a):
 Hi
 
 As many of you have already noticed, there are some arches that are quite
 slow on stabilizations. This leads to deprecated stabilizations e.g a
 package is stabilized after 60 days which makes that version of
 the specific package obsolete and not worth to stabilize anymore.
 
 I would suggest to introduce a new rule where a stabilization bug may close
 after 30 days. Arches that fail to stabilize it within this timeframe
 they will simply don't have this package stable for them.
 
 Moreover, slow arches introduce another problem as well. If a package is
 marked stabled for their arch, but this package is quite old, and they fail to
 stabilize a new version, we ( as maintainers ) can't drop the very old
 ( and obsolete ) version of this package because we somehow will break
 the stable tree for these arches. How should we act in this case?
 Keep the old version around forever just to say that hey, they do have
 a stable version for our exotic arch.
 
 Whilst I do understand that these arches are understaffed and they can't keep
 up with the increased stabilization load like x86/amd64 do, I still
 think that slow stabilization leads to an obsolete stable tree which I
 doesn't make sense to me after all.
 
 Thoughts?

+1.
The period of waiting might be extended to 60 days.

This period should be counted from the first ignored stabilization request.
Stabilizations of some packages are filed e.g. once per month and some
architectures don't manage to stabilize older versions before stabilization
requests of new versions.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] Re: [gentoo-commits] gentoo-x86 commit in dev-python/python-openid: python-openid-2.2.4.ebuild

2010-06-28 Thread Arfrever Frehtes Taifersar Arahesis
2010-06-29 04:05:54 Jeremy Olexa napisał(a):
 On Mon, 28 Jun 2010 19:42:27 + (UTC), Arfrever Frehtes Taifersar
 Arahesis (arfrever) arfre...@gentoo.org wrote:
  arfrever10/06/28 19:42:27
  
Modified: python-openid-2.2.4.ebuild
Log:
Fix dependencies.
(Portage version: HEAD/cvs/Linux x86_64)
 
 Is there any reason you are so non-verbose here? 'cvs log' or '$EDITOR
 ChangeLog' equally give us no information about your commit. You are
 making it hard on other devs in my opinion, I don't think intentionally,
 but can't you just use the ChangeLog more??

It was intermediate commit during my work on python-openid-2.2.5.ebuild.
python-openid-2.2.4.ebuild has been mentioned in ChangeLog in final commit.

-- 
Arfrever Frehtes Taifersar Arahesis


signature.asc
Description: This is a digitally signed message part.


[gentoo-dev] Minor changes in python.eclass and distutils.eclass

2010-07-05 Thread Arfrever Frehtes Taifersar Arahesis
These minor changes in python.eclass and distutils.eclass have been already
reviewed on alias of Gentoo Python Project. It's recommended to be familiar
with internals of current code before trying to understand these minor changes.
Suggestions about indentation and quoting will be rejected.

-- 
Arfrever Frehtes Taifersar Arahesis
--- python.eclass
+++ python.eclass
@@ -161,9 +161,26 @@
 	_parse_PYTHON_DEPEND
 elif [[ -n ${NEED_PYTHON} ]]; then
 	if ! has ${EAPI:-0} 0 1 2; then
-		eerror Use PYTHON_DEPEND instead of NEED_PYTHON.
-		die NEED_PYTHON cannot be used in this EAPI
+		eerror Use PYTHON_DEPEND variable instead of NEED_PYTHON variable.
+		die NEED_PYTHON variable cannot be used in this EAPI
 	fi
+
+	if [[ ${NOCOLOR:-false} =~ ^(false|no)$ ]]; then
+		_RED=$'\e[1;31m'
+		_NORMAL=$'\e[0m'
+	else
+		_RED=
+		_NORMAL=
+	fi
+
+	echo
+	echo  ${_RED}*${_NORMAL} ${_RED}Deprecation Warning: NEED_PYTHON variable is deprecated and will be banned on 2010-10-01.${_NORMAL}
+	echo  ${_RED}*${_NORMAL} ${_RED}Use PYTHON_DEPEND variable instead of NEED_PYTHON variable.${_NORMAL}
+	echo  ${_RED}*${_NORMAL} ${_RED}The ebuild needs to be fixed. Please report a bug, if it has not been already reported.${_NORMAL}
+	echo
+
+	unset _BOLD _NORMAL
+
 	_PYTHON_ATOMS=(=dev-lang/python-${NEED_PYTHON})
 	DEPEND+=${DEPEND:+ }${_python_ato...@]}
 	RDEPEND+=${RDEPEND:+ }${_python_ato...@]}
@@ -243,6 +260,10 @@
 	fi
 }
 
+_python_abi-specific_local_scope() {
+	[[  ${funcna...@]:2}  =~  (_python_final_sanity_checks|python_execute_function|python_mod_optimize|python_mod_cleanup)  ]]
+}
+
 _python_initialize_prefix_variables() {
 	if has ${EAPI:-0} 0 1 2; then
 		if [[ -n ${ROOT}  -z ${EROOT} ]]; then
@@ -254,10 +275,10 @@
 	fi
 }
 
-unset PYTHON_SANITY_CHECKS
+unset PYTHON_SANITY_CHECKS_EXECUTED PYTHON_SKIP_SANITY_CHECKS
 
 _python_initial_sanity_checks() {
-	if [[ $(declare -p PYTHON_SANITY_CHECKS 2 /dev/null) != declare -- PYTHON_SANITY_CHECKS=* ]]; then
+	if [[ $(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2 /dev/null) != declare -- PYTHON_SANITY_CHECKS_EXECUTED=* ||  ${funcna...@]:1}  =~  (python_set_active_version|python_pkg_setup)   -z ${PYTHON_SKIP_SANITY_CHECKS} ]]; then
 		# Ensure that /usr/bin/python and /usr/bin/python-config are valid.
 		if [[ $(readlink ${EPREFIX}/usr/bin/python) != python-wrapper ]]; then
 			eerror '${EPREFIX}/usr/bin/python' is not valid symlink.
@@ -273,7 +294,7 @@
 }
 
 _python_final_sanity_checks() {
-	if ! _python_implementation  [[ $(declare -p PYTHON_SANITY_CHECKS 2 /dev/null) != declare -- PYTHON_SANITY_CHECKS=* ]]; then
+	if ! _python_implementation  [[ $(declare -p PYTHON_SANITY_CHECKS_EXECUTED 2 /dev/null) != declare -- PYTHON_SANITY_CHECKS_EXECUTED=* ||  ${funcna...@]:1}  =~  (python_set_active_version|python_pkg_setup)   -z ${PYTHON_SKIP_SANITY_CHECKS} ]]; then
 		local PYTHON_ABI=${PYTHON_ABI}
 		for PYTHON_ABI in ${PYTHON_ABIS-${PYTHON_ABI}}; do
 			# Ensure that appropriate version of Python is installed.
@@ -293,7 +314,7 @@
 			fi
 		done
 	fi
-	PYTHON_SANITY_CHECKS=1
+	PYTHON_SANITY_CHECKS_EXECUTED=1
 }
 
 _python_set_color_variables() {
@@ -316,6 +337,14 @@
 
 unset PYTHON_PKG_SETUP_EXECUTED
 
+_python_check_python_pkg_setup_execution() {
+	[[  ${funcna...@]:1}  =~  (python_set_active_version|python_pkg_setup)  ]]  return
+
+	if ! has ${EAPI:-0} 0 1 2 3  [[ -z ${PYTHON_PKG_SETUP_EXECUTED} ]]; then
+		die python_pkg_setup() not called
+	fi
+}
+
 # @FUNCTION: python_pkg_setup
 # @DESCRIPTION:
 # Perform sanity checks and initialize environment.
@@ -328,6 +357,10 @@
 	# Check if phase is pkg_setup().
 	[[ ${EBUILD_PHASE} != setup ]]  die ${FUNCNAME}() can be used only in pkg_setup() phase
 
+	if [[ $# -ne 0 ]]; then
+		die ${FUNCNAME}() does not accept arguments
+	fi
+
 	if _python_package_supporting_installation_for_multiple_python_abis; then
 		_python_calculate_PYTHON_ABIS
 		export EPYTHON=$(PYTHON -f)
@@ -368,7 +401,7 @@
 		}
 
 		if _python_package_supporting_installation_for_multiple_python_abis; then
-			python_execute_function -q python_pkg_setup_check_USE_flags
+			PYTHON_SKIP_SANITY_CHECKS=1 python_execute_function -q python_pkg_setup_check_USE_flags
 		else
 			python_pkg_setup_check_USE_flags
 		fi
@@ -388,6 +421,8 @@
 # @DESCRIPTION:
 # Convert shebangs in specified files. Directories can be specified only with --recursive option.
 python_convert_shebangs() {
+	_python_check_python_pkg_setup_execution
+
 	local argument file files=() only_executables=0 python_version quiet=0 recursive=0
 
 	while (($#)); do
@@ -466,6 +501,7 @@
 # @DESCRIPTION:
 # Delete needless files in installation image.
 python_clean_installation_image() {
+	_python_check_python_pkg_setup_execution
 	_python_initialize_prefix_variables
 
 	local file files=() quiet=0
@@ -538,15 +574,23 @@
 # src_prepare, src_configure, src_compile, src_test, src_install.
 if ! has ${EAPI:-0} 0 1; then
 	python_src_prepare() {
+		_python_check_python_pkg_setup_execution

  1   2   3   >