[gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Petteri Räty
I assume many of us have wrapper scripts to automatically generate
matching ChangeLog and CVS commit messages. When we eventually move to
git the plan is for the ChangeLog to be automatically generated from
git. To unify developer practices and to ease the transition to git it
has been proposed to make repoman automatically generate ChangeLog
entries. If you have any objections or thought please raise them. One
open question is what should repoman do if there is already a
modification to the ChangeLog file.

Regards,
Petteri

Bugzilla bug:
http://bugs.gentoo.org/show_bug.cgi?id=337853



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Krzysztof Pawlik
On 09/19/10 15:10, Petteri Räty wrote:
 I assume many of us have wrapper scripts to automatically generate
 matching ChangeLog and CVS commit messages. When we eventually move to
 git the plan is for the ChangeLog to be automatically generated from
 git. To unify developer practices and to ease the transition to git it
 has been proposed to make repoman automatically generate ChangeLog
 entries. If you have any objections or thought please raise them. One
 open question is what should repoman do if there is already a
 modification to the ChangeLog file.

IMHO: die with an error message similar to:

!!! ChangeLog has been modified, please revert the change or pass
!!! --no-update-changelog to avoid automatic update.

-- 
Krzysztof Pawlik  nelchael at gentoo.org  key id: 0xF6A80E46
desktop-misc, java, vim, kernel, python, apache...



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Dirkjan Ochtman
On Sun, Sep 19, 2010 at 15:20, Krzysztof Pawlik nelch...@gentoo.org wrote:
 On 09/19/10 15:10, Petteri Räty wrote:
 I assume many of us have wrapper scripts to automatically generate
 matching ChangeLog and CVS commit messages. When we eventually move to
 git the plan is for the ChangeLog to be automatically generated from
 git. To unify developer practices and to ease the transition to git it
 has been proposed to make repoman automatically generate ChangeLog
 entries. If you have any objections or thought please raise them. One
 open question is what should repoman do if there is already a
 modification to the ChangeLog file.

 IMHO: die with an error message similar to:

 !!! ChangeLog has been modified, please revert the change or pass
 !!! --no-update-changelog to avoid automatic update.

Sounds good to me (both the idea and dying explicitly on modified changelog).

Cheers,

Dirkjan



Re: [gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Fabian Groffen
On 19-09-2010 16:10:15 +0300, Petteri Räty wrote:
 I assume many of us have wrapper scripts to automatically generate
 matching ChangeLog and CVS commit messages. When we eventually move to
 git the plan is for the ChangeLog to be automatically generated from
 git. To unify developer practices and to ease the transition to git it
 has been proposed to make repoman automatically generate ChangeLog
 entries. If you have any objections or thought please raise them. One
 open question is what should repoman do if there is already a
 modification to the ChangeLog file.

I think this idea conflicts with the purpose of the ChangeLog, being
that it should contain relevant information for users only.  Technical
details belong to the commit message, as you agreed upon yourself in one
of the commit reviews we had earlier on this list.

That said, I see the benefit of repoman being able to add a ChangeLog
entry, but I think it should refrain if the ChangeLog has been modified.


-- 
Fabian Groffen
Gentoo on a different level



Re: [gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Mike Auty
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

It should be possible to still maintain this distinction, something like:

Version bump.  Added feature foo.
- --
Feature foo required a complete rewrite of src_install.

And then the ChangeLog generation can happen separately.  The problem
with this method is that if we later rely only on commit logs, users may
see things developers hadn't intended them to see.  So the question is,
will we always generate changelogs from the version control system, or
will we one day expect the user to directly read the commit logs?

Mike  5:)
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.16 (GNU/Linux)

iEYEARECAAYFAkyWKWsACgkQu7rWomwgFXoBoACcCAeaYpUzquKEyp09NHk7nrrK
w9AAoKf8HtoAY68UMYSEwwvyqemV54M+
=iVC7
-END PGP SIGNATURE-



Re: [gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Michał Górny
On Sun, 19 Sep 2010 16:10:15 +0300
Petteri Räty betelge...@gentoo.org wrote:

 One open question is what should repoman do if there is already a
 modification to the ChangeLog file.

I suggest reverting the ChangeLog modification. That's what my
sunrise-commit [1] does, and it works quite well.

On the other side, shouldn't the git migration remove VCS-side
ChangeLogs completely in favor of regenerating them on the rsync
mirror? I think I'll implement ChangeLog generation feature in
egencache in the near time.

[1] http://github.com/mgorny/sunrise-commit

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


[gentoo-dev] RFC: per package eclass GLEP

2010-09-19 Thread Matti Bickel
I'm a couple weeks late with this, but here goes:
from my failed attempts at reviving GLEP33 grow a discussion with
ferringb on IRC about how to get what I wanted anyway :)

We agreed that having eclasses specific to a package located someplace
near the actual ebuilds was beneficial and should be supported by PMs
somehow. Someplace and somehow are specified along some other details in
the attached proposed GLEP.

I'm posting this for review by the wider community, at the same time
asking the GLEP editors (antarus? pva?) for guidance on the formalities.
I gather the GLEP should get a number and be uploaded in CVS somewhere,
as well as appear on the GLEP project page.

So, yeah, what do you think? Is it worth it? Can the draft be improved?
I'm specifically interested in the amount of work involved in supporting
something like the thing laid out in the GLEP in our current PMs.
GLEP: 62
Title: Per package eclasses
Version: 
Last-Modified:
Author: Matti Bickel m...@gentoo.org
Status: Draft
Type: Standards Track
Content-Type: text/x-rst
Created:
Post-History:

Abstract


This document proposes a new kind of eclasses, which are specific to a certain
package (hence per-package eclasses). It explains the current need for
package specific eclasses, the proposed solution and a possible migration path.

What is proposed is, in short, creation of eclasses in package directories for
use by the ebuilds of the package in the same directory. Per-package eclasses
can be thought of (broadly speaking) as normal eclasses used only by one
package.

Motivation and Rationale


Gentoo currently provides 211 eclasses as of 14-08-2010, 36 of which are marked
@DEAD and are scheduled for removal. At least three non-dead eclasses are
specific to one package (mysql, php5_2-sapi and nvidia-drivers). The sheer
number of eclasses makes it hard for old and new developers to quickly find the
eclass they are looking for. Providing overlays and working on a single package
also is not as easy as it should be. Last but not least, eclasses provided in
the package directory could be part of the package's Manifest file, providing
part of the eclass signing the Gentoo tree still lacks.

Placing the package specific eclasses into the package directories themselves
solves all of the problems mentioned (at least partly). It will reduce the
clutter in the current eclass directory, provide a single directory to
understand an ebuild and provides security benefits by including the eclasses in
the Manifest file.

Specification
=

The per-package eclasses are specified to be placed directly under the package
directory (as described in [1]_). The eclass may have any name permissible
for other eclasses (specifically, must end with .eclass).

A per-package eclass is included in an ebuild by a new function ``pkg-inherit``
called in the global scope of the ebuild.

The ``pkg-inherit`` function must be given zero or more arguments. If no
argument is given, the function shall behave like it was called with the
argument ``default``. It is specified to search the package directory of the
calling ebuild (but no other directories) for eclasses with the names of the
arguments and the suffix .eclass. If such files exist, they must be sourced by
the function.

If not specified otherwise below, the package manager shall treat the
per-package eclass as a normal eclass in any other respect.

It is made a requirement that per-package eclasses can not modify the ``EAPI``
variable. It is assumed ``EAPI``, if it set, is set before calling pkg-inherit.

Backwards Compatibility
===

The current Package Manager Specification requires package managers to ignore
anything in the top-level package directory that does not have a filename ending
in .ebuild ([1]_). Thus package manager which do not implement the per-package
eclass feature can ignore them. They, however, will fail to execute ebuilds
making use of the new ``pkg-inherit`` function. It is therefore required this
feature be made part of a new EAPI.

Additionally, tools that regenerate the Manifest file should be aware of
per-package eclasses. However, this is only of concern to developers
regenerating Manifests in a specific package directory. It is assumed that
whoever changes functionality in a package also uses tools capable of supporting
features used in the package's ebuilds.

Copyright
=

This document has been placed in the public domain.

.. [1] http://distfiles.gentoo.org/distfiles/pms-3.pdf, Section 4.3




signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] RFC: per package eclass GLEP

2010-09-19 Thread Andreas K. Huettel

Wouldn't it also make sense to have per-category eclasses? This seems much 
more useful for me. 

Examples where this would already make sense today: kde-meta, latex-package, ...

Best, Andreas

On Sunday 19 September 2010 21:14:56 Matti Bickel wrote:
 I'm a couple weeks late with this, but here goes:
 from my failed attempts at reviving GLEP33 grow a discussion with
 ferringb on IRC about how to get what I wanted anyway :)
 
 We agreed that having eclasses specific to a package located someplace
 near the actual ebuilds was beneficial and should be supported by PMs
 somehow. Someplace and somehow are specified along some other details in
 the attached proposed GLEP.
 
 I'm posting this for review by the wider community, at the same time
 asking the GLEP editors (antarus? pva?) for guidance on the formalities.
 I gather the GLEP should get a number and be uploaded in CVS somewhere,
 as well as appear on the GLEP project page.
 
 So, yeah, what do you think? Is it worth it? Can the draft be improved?
 I'm specifically interested in the amount of work involved in supporting
 something like the thing laid out in the GLEP in our current PMs.
 

-- 
Andreas K. Huettel
Gentoo Linux developer - kde, sci, sunrise
dilfri...@gentoo.org
http://www.akhuettel.de/


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


Re: [gentoo-dev] RFC: per package eclass GLEP

2010-09-19 Thread Alec Warner
On Sun, Sep 19, 2010 at 12:14 PM, Matti Bickel m...@gentoo.org wrote:
 I'm a couple weeks late with this, but here goes:
 from my failed attempts at reviving GLEP33 grow a discussion with
 ferringb on IRC about how to get what I wanted anyway :)

I've placed my immediate feedback in CVS:

http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo/users/antarus/projects/gleps/glep-XX.txt?r1=1.1r2=1.2

I will split the remaining commentary up into two sections:

General Idea Feedback (call these non-editor related) and editorial
feedback (generally segments you should add to the GLEP for editorial
reasons.)


 We agreed that having eclasses specific to a package located someplace
 near the actual ebuilds was beneficial and should be supported by PMs
 somehow. Someplace and somehow are specified along some other details in
 the attached proposed GLEP.

Feedback:
I believe the biggest reason to have per-package eclasses is the following:

1) It limits how users can use an eclass.
  a) This makes mis-using eclasses harder to do; Interfaces that are
hard to use incorrectly are good.
  b) It means changing an eclass affects fewer packages.  It is
currently difficult to control eclass consumers in the current model.
(anyone can use any eclass.)
  c) It means eclass changes are easier to test.

I think the GLEP attempts to over-blow the actual impact that its
proposed changes may have.  For instance I do not think per-package
eclasses will drastically reduce the number of eclasses in the global
eclass directory.  It will not make overlays easier to use (possibly
harder..actually.)

Plus the number of eclasses that will move to per-package is likely
few (the GLEP itself only notes three.)


 I'm posting this for review by the wider community, at the same time
 asking the GLEP editors (antarus? pva?) for guidance on the formalities.
 I gather the GLEP should get a number and be uploaded in CVS somewhere,
 as well as appear on the GLEP project page.

Editorial:
The proposal is vaguely similar to GLEP 33.  There is also an existing
implementation of per-package eclasses called eblits (used in glibc,
possibly in other places.)  The GLEP should refer to these (link to
GLEP 33, if there is a page describing eblits; link to that as well.)
The GLEP should also discuss why GLEP 33 and eblits are not the best
implementation of this idea.

If the GLEP makes claims such as 'The implementation will improve X or
reduce Y by Z%' the GLEP should cite sources, data, or make some kind
of argument as to why that is the case.  For instance the GLEP refers
to 'distributing ebuilds in overlays will be easier' but fails to
discuss how it is easier in this new system.  When thinking about
these types of things; try to break them down into something
measurable.  For instance:  With the old system there were 5
individual steps, the new system only has 3.

The GLEP makes claims about how the per-package eclasses *could* be
made part of the Manifest format.  The GLEP should not focus on could.
 Either the per-package eclasses are part of the manifest code (per
this GLEP) or they are not.  If the GLEP dictates they are to be
included in manifests the GLEP should discuss how exactly that will
work (what types, checksums, etc..)  If the eclasses are not required
to be manifested then the GLEP should not tout that as an advantage
over the status quo.


 So, yeah, what do you think? Is it worth it? Can the draft be improved?
 I'm specifically interested in the amount of work involved in supporting
 something like the thing laid out in the GLEP in our current PMs.


Any dev can check stuff into other dev's individual CVS space.  Feel
free to edit the eclass in my devspace if you wish.  I think there is
some automation on the actual GLEP webspace now (that htmlifies GLEPS)
so I am avoiding that space cause I forgot how exactly the automation
works ;))



[gentoo-dev] Re: RFC: per package eclass GLEP

2010-09-19 Thread Duncan
Matti Bickel posted on Sun, 19 Sep 2010 21:14:56 +0200 as excerpted:

 It is made a requirement that per-package eclasses can not modify the
 ``EAPI`` variable. It is assumed ``EAPI``, if it set, is set before
 calling pkg-inherit.
 
 Backwards Compatibility
 ===
 
 The current Package Manager Specification requires package managers to
 ignore anything in the top-level package directory that does not have a
 filename ending in .ebuild ([1]_). Thus package manager which do not
 implement the per-package eclass feature can ignore them. They, however,
 will fail to execute ebuilds making use of the new ``pkg-inherit``
 function. It is therefore required this feature be made part of a new
 EAPI.

AFAIK these two paragraphs together contradict each other in regard to 
eapi.

Given that no set eapi is taken to be eapi=0, and this is proposed as part 
of a new eapi, eapi MUST be set before pkg-inherit, if pkg-inherit and 
thus per-pkg eclasses are to be used at all.  The last sentence of the top 
paragraph (of the two) should therefore be rewritten to reflect that 
requirement and avoid any confusion.

-- 
Duncan - List replies preferred.   No HTML msgs.
Every nonfree program has a lord, a master --
and if you use the program, he is your master.  Richard Stallman




[gentoo-dev] omitting redirecting man pages from compression

2010-09-19 Thread Mike Frysinger
many man pages exist merely as a redirect to another man page:
$ xzcat /usr/share/man/man1/zcat.1.xz
.so man1/gzip.1

compressing these tiny (always?) results in a larger file.  that means we
arent saving space, and we're adding overhead at runtime.

two options which we can do transparently:
- rewrite the .so man pages into symlinks
- omit them from compression

the latter is pretty easy (see below).  any preferences on which route to take
though as the former shouldnt be too hard either ...

--- a/bin/ebuild-helpers/ecompressdir
+++ b/bin/ebuild-helpers/ecompressdir
@@ -13,6 +13,7 @@ case $1 in
--ignore)
shift
for skip in $@ ; do
+   skip=${skip#${D}}
[[ -d ${D}${skip} || -f ${D}${skip} ]] \
 touch ${D}${skip}.ecompress.skip
done
--- a/bin/ebuild-helpers/prepman
+++ b/bin/ebuild-helpers/prepman
@@ -27,6 +27,10 @@ for subdir in ${mandir}/man* ${mandir}/*/man* ; do
[[ -d ${subdir} ]]  really_is_mandir=1  break
 done
 
-[[ ${really_is_mandir} == 1 ]]  exec ecompressdir --queue ${mandir#${D}}
+if [[ ${really_is_mandir} == 1 ]] ; then
+   ecompressdir --queue ${mandir#${D}} || exit 1
+   # compressing small files just adds overhead
+   find ${mandir} -type f '!' -size +100c -print0 | ${XARGS} -0 
ecompressdir --ignore
+fi
 
 exit 0
-mike


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


Re: [gentoo-dev] omitting redirecting man pages from compression

2010-09-19 Thread Zac Medico
On 09/19/2010 04:43 PM, Mike Frysinger wrote:
 many man pages exist merely as a redirect to another man page:
 $ xzcat /usr/share/man/man1/zcat.1.xz
 .so man1/gzip.1
 
 compressing these tiny (always?) results in a larger file.  that means we
 arent saving space, and we're adding overhead at runtime.
 
 two options which we can do transparently:
   - rewrite the .so man pages into symlinks
   - omit them from compression
 
 the latter is pretty easy (see below).  any preferences on which route to take
 though as the former shouldnt be too hard either ...

It feels like an insignificant optimization to me, but I don't feel
strongly either way.
-- 
Thanks,
Zac



Re: [gentoo-dev] omitting redirecting man pages from compression

2010-09-19 Thread Mike Frysinger
On Sunday, September 19, 2010 19:50:57 Zac Medico wrote:
 On 09/19/2010 04:43 PM, Mike Frysinger wrote:
  many man pages exist merely as a redirect to another man page:
  $ xzcat /usr/share/man/man1/zcat.1.xz
  .so man1/gzip.1
  
  compressing these tiny (always?) results in a larger file.  that means we
  arent saving space, and we're adding overhead at runtime.
  
  two options which we can do transparently:
  - rewrite the .so man pages into symlinks
  - omit them from compression
  
  the latter is pretty easy (see below).  any preferences on which route to
  take though as the former shouldnt be too hard either ...
 
 It feels like an insignificant optimization to me, but I don't feel
 strongly either way.

~19% of the man pages on my system appear to be forwarding files (glorified 
symlinks).  in my case, that's almost 3000 files.  considering things like 
`makewhatis` need to decompress  read all of these, i think the difference is 
worth addressing.
-mike


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


[gentoo-dev] Automated Package Removal and Addition Tracker, for the week ending 2010-09-19 23h59 UTC

2010-09-19 Thread Robin H. Johnson
The attached list notes all of the packages that were added or removed
from the tree, for the week ending 2010-09-19 23h59 UTC.

Removals:
media-gfx/kst   2010-09-13 16:37:23 ayoy
dev-libs/linux-fusion   2010-09-13 19:06:07 mr_bones_
dev-java/jmp2010-09-16 11:18:19 caster
app-crypt/wxchecksums   2010-09-17 04:52:50 dirtyepic
media-gfx/zphoto2010-09-17 04:55:28 dirtyepic

Additions:
sci-libs/getdata2010-09-13 16:25:29 ayoy
sci-visualization/kst   2010-09-13 16:33:57 ayoy
dev-ruby/rspec-core 2010-09-13 18:00:12 graaff
dev-ruby/rspec-expectations 2010-09-13 18:01:51 graaff
dev-ruby/rspec-mocks2010-09-13 18:03:15 graaff
dev-perl/Module-Manifest2010-09-14 16:41:40 tove
dev-ruby/rdiscount  2010-09-14 18:58:10 graaff
dev-ruby/mustache   2010-09-14 19:03:11 graaff
app-text/ronn   2010-09-14 19:04:53 graaff
net-analyzer/thc-ipv6   2010-09-15 01:49:58 xmw
net-libs/miniupnpc  2010-09-15 08:40:36 pva
app-misc/golly  2010-09-16 15:53:09 xmw
media-video/bombono-dvd 2010-09-16 22:04:32 dilfridge
net-zope/externalmethod 2010-09-17 21:54:12 arfrever
net-zope/mailhost   2010-09-17 21:57:18 arfrever
net-zope/mimetools  2010-09-17 22:00:30 arfrever
net-zope/ofsp   2010-09-17 22:03:07 arfrever
net-zope/pythonscripts  2010-09-17 22:05:27 arfrever
media-gfx/argyllcms 2010-09-17 22:06:06 dilfridge
net-zope/standardcachemanagers  2010-09-17 22:08:17 arfrever
net-zope/zctextindex2010-09-17 22:10:38 arfrever
sci-misc/gcam   2010-09-18 12:54:18 dilfridge
gnome-extra/panflute2010-09-18 21:17:32 eva
dev-ruby/tilt   2010-09-19 06:57:49 graaff
sys-fs/cachefilesd  2010-09-19 08:08:16 jlec
dev-python/martian  2010-09-19 23:37:53 arfrever
net-zope/grokcore-component 2010-09-19 23:41:28 arfrever
net-zope/grokcore-annotation2010-09-19 23:43:30 arfrever
net-zope/grokcore-security  2010-09-19 23:45:58 arfrever
net-zope/grokcore-site  2010-09-19 23:47:38 arfrever
net-zope/zope-login 2010-09-19 23:51:41 arfrever
net-zope/grokcore-view  2010-09-19 23:52:42 arfrever
net-zope/grokcore-viewlet   2010-09-19 23:54:37 arfrever
net-zope/grokcore-formlib   2010-09-19 23:56:56 arfrever

--
Robin Hugh Johnson
Gentoo Linux Developer
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85
Removed Packages:
media-gfx/kst,removed,ayoy,2010-09-13 16:37:23
dev-libs/linux-fusion,removed,mr_bones_,2010-09-13 19:06:07
dev-java/jmp,removed,caster,2010-09-16 11:18:19
app-crypt/wxchecksums,removed,dirtyepic,2010-09-17 04:52:50
media-gfx/zphoto,removed,dirtyepic,2010-09-17 04:55:28
Added Packages:
sci-libs/getdata,added,ayoy,2010-09-13 16:25:29
sci-visualization/kst,added,ayoy,2010-09-13 16:33:57
dev-ruby/rspec-core,added,graaff,2010-09-13 18:00:12
dev-ruby/rspec-expectations,added,graaff,2010-09-13 18:01:51
dev-ruby/rspec-mocks,added,graaff,2010-09-13 18:03:15
dev-perl/Module-Manifest,added,tove,2010-09-14 16:41:40
dev-ruby/rdiscount,added,graaff,2010-09-14 18:58:10
dev-ruby/mustache,added,graaff,2010-09-14 19:03:11
app-text/ronn,added,graaff,2010-09-14 19:04:53
net-analyzer/thc-ipv6,added,xmw,2010-09-15 01:49:58
net-libs/miniupnpc,added,pva,2010-09-15 08:40:36
app-misc/golly,added,xmw,2010-09-16 15:53:09
media-video/bombono-dvd,added,dilfridge,2010-09-16 22:04:32
net-zope/externalmethod,added,arfrever,2010-09-17 21:54:12
net-zope/mailhost,added,arfrever,2010-09-17 21:57:18
net-zope/mimetools,added,arfrever,2010-09-17 22:00:30
net-zope/ofsp,added,arfrever,2010-09-17 22:03:07
net-zope/pythonscripts,added,arfrever,2010-09-17 22:05:27
media-gfx/argyllcms,added,dilfridge,2010-09-17 22:06:06
net-zope/standardcachemanagers,added,arfrever,2010-09-17 22:08:17
net-zope/zctextindex,added,arfrever,2010-09-17 22:10:38
sci-misc/gcam,added,dilfridge,2010-09-18 12:54:18
gnome-extra/panflute,added,eva,2010-09-18 21:17:32
dev-ruby/tilt,added,graaff,2010-09-19 06:57:49
sys-fs/cachefilesd,added,jlec,2010-09-19 08:08:16
dev-python/martian,added,arfrever,2010-09-19 23:37:53
net-zope/grokcore-component,added,arfrever,2010-09-19 23:41:28
net-zope/grokcore-annotation,added,arfrever,2010-09-19 23:43:30
net-zope/grokcore-security,added,arfrever,2010-09-19 23:45:58
net-zope/grokcore-site,added,arfrever,2010-09-19 23:47:38
net-zope/zope-login,added,arfrever,2010-09-19 23:51:41
net-zope/grokcore-view,added,arfrever,2010-09-19 23:52:42
net-zope/grokcore-viewlet,added,arfrever,2010-09-19 23:54:37
net-zope/grokcore-formlib,added,arfrever,2010-09-19 23:56:56

Done.

Re: [gentoo-dev] openrc stabilization update

2010-09-19 Thread Nirbheek Chauhan
On Mon, Sep 20, 2010 at 5:57 AM, William Hubbs willi...@gentoo.org wrote:
 I suppose one question I need to ask is the oldnet vs newnet question.
 The git repository defaults to building and installing the newnet
 option, and we make oldnet the default in the ebuild.

 People migrating from stable will know the oldnet option, and this is
 the only way to configure the network scripts that is actually covered
 in our documentation.

 Do we want to switch the upstream repository to make oldnet the default?

 What about newnet.  Should we keep it at all?  If we do, should we put
 it behind a use flag which would be off by default?


Is there any advantage to using newnet over oldnet? If there aren't
any advantages, we should not attempt to support it (even as an
optional feature). Old-net by default, no use-flag for newnet; people
can use EXTRA_ECONF if they *really* want to use it.

-- 
~Nirbheek Chauhan

Gentoo GNOME+Mozilla Team



[gentoo-dev] Patch for python.eclass

2010-09-19 Thread Arfrever Frehtes Taifersar Arahesis
This patch for python.eclass has been divided into 3 subpatches to simplify 
review.

Subpatch #1 fixes preservation of whitespace.

Subpatch #2 renames 2 local arrays in python_mod_optimize() function:
  site_packages_absolute_dirs  - dirs
  site_packages_absolute_files - files

Subpatch #3 adds --allow-evaluated-non-sitedir-paths option to 
python_mod_optimize() and
python_mod_cleanup() functions.
In rare cases, packages supporting installation for multiple Python ABIs 
install .py files
outside of site-packages directories. python_mod_optimize() and 
python_mod_cleanup()
functions currently don't support such paths. It's better to not allow such 
paths by
default, so this subpatch adds new --allow-evaluated-non-sitedir-paths option 
to these
functions. This option is disallowed in packages not supporting installation 
for multiple
Python ABIs. Such paths are internally evaluated inside these functions. Such 
paths work
correctly only if they contain '${PYTHON_ABI}' or '$(python_get_version)' 
(probably with
'$(python_get_implementation)') or '$(custom_function)' (where 
custom_function() uses
${PYTHON_ABI} or $(python_get_version) and prints appropriate output), so 
there are
sanity checks, which ensure that such paths contain '$'.

Example usage:

pkg_postinst() {
python_mod_optimize --allow-evaluated-non-sitedir-paths 
'/usr/share/package_name/${PYTHON_ABI}'
}

pkg_postrm() {
python_mod_cleanup --allow-evaluated-non-sitedir-paths 
'/usr/share/package_name/${PYTHON_ABI}'
}

This functionality is needed by Zope 2.12 / 2.13.

-- 
Arfrever Frehtes Taifersar Arahesis
--- python.eclass
+++ python.eclass
@@ -925,7 +925,7 @@
 
 		if [[ ${quiet} == 0 ]]; then
 			if [[ -n ${action_message_template} ]]; then
-action_message=$(eval echo -n ${action_message_template})
+eval action_message=\${action_message_template}\
 			else
 action_message=${action} of ${CATEGORY}/${PF} with $(python_get_implementation) $(python_get_version)...
 			fi
@@ -959,7 +959,7 @@
 
 		if [[ ${return_code} -ne 0 ]]; then
 			if [[ -n ${failure_message_template} ]]; then
-failure_message=$(eval echo -n ${failure_message_template})
+eval failure_message=\${failure_message_template}\
 			else
 failure_message=${action} failed with $(python_get_implementation) $(python_get_version) in ${function}() function
 			fi
@@ -1925,7 +1925,7 @@
 	python_test_function() {
 		local evaluated_PYTHONPATH
 
-		evaluated_PYTHONPATH=$(eval echo -n ${PYTHONPATH_template})
+		eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\
 
 		_python_test_hook pre
 
@@ -1989,7 +1989,7 @@
 	python_test_function() {
 		local evaluated_PYTHONPATH
 
-		evaluated_PYTHONPATH=$(eval echo -n ${PYTHONPATH_template})
+		eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\
 
 		_python_test_hook pre
 
@@ -2053,7 +2053,7 @@
 	python_test_function() {
 		local evaluated_PYTHONPATH
 
-		evaluated_PYTHONPATH=$(eval echo -n ${PYTHONPATH_template})
+		eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\
 
 		_python_test_hook pre
 
@@ -2223,7 +2223,7 @@
 
 	if ! has ${EAPI:-0} 0 1 2 || _python_package_supporting_installation_for_multiple_python_abis; then
 		# PYTHON_ABI variable cannot be local in packages not supporting installation for multiple Python ABIs.
-		local dir file iterated_PYTHON_ABIS options=() other_dirs=() other_files=() previous_PYTHON_ABI=${PYTHON_ABI} return_code root site_packages_absolute_dirs=() site_packages_dirs=() site_packages_absolute_files=() site_packages_files=()
+		local allow_evaluated_non_sitedir_paths=0 dir dirs=() evaluated_dirs=() evaluated_files=() file files=() iterated_PYTHON_ABIS options=() other_dirs=() other_files=() previous_PYTHON_ABI=${PYTHON_ABI} return_code root site_packages_dirs=() site_packages_files=()
 
 		if _python_package_supporting_installation_for_multiple_python_abis; then
 			if has ${EAPI:-0} 0 1 2 3  [[ -z ${PYTHON_ABIS} ]]; then
@@ -2243,6 +2243,9 @@
 
 		while (($#)); do
 			case $1 in
+--allow-evaluated-non-sitedir-paths)
+	allow_evaluated_non_sitedir_paths=1
+	;;
 -l|-f|-q)
 	options+=($1)
 	;;
@@ -2264,6 +2267,10 @@
 			shift
 		done
 
+		if [[ ${allow_evaluated_non_sitedir_paths} == 1 ]]  ! _python_package_supporting_installation_for_multiple_python_abis; then
+			die ${FUNCNAME}(): '--allow-evaluated-non-sitedir-paths' option cannot be used in ebuilds of packages not supporting installation for multiple Python ABIs
+		fi
+
 		if [[ $# -eq 0 ]]; then
 			ewarn
 			ewarn Deprecation Warning: Not passing of paths to ${FUNCNAME}() is deprecated and will be
@@ -2279,16 +2286,27 @@
 die ${FUNCNAME}(): Paths of directories / files in site-packages directories must be relative to site-packages directories
 			elif [[ $1 =~ ^/ ]]; then
 if _python_package_supporting_installation_for_multiple_python_abis; then
-	die ${FUNCNAME}(): Absolute paths cannot be used in ebuilds of packages supporting installation for multiple Python ABIs
-fi
-if [[ -d ${root}$1 ]]; 

Re: [gentoo-dev] openrc stabilization update

2010-09-19 Thread William Hubbs
On Mon, Sep 20, 2010 at 06:05:46AM +0530, Nirbheek Chauhan wrote:
 On Mon, Sep 20, 2010 at 5:57 AM, William Hubbs willi...@gentoo.org wrote:
  I suppose one question I need to ask is the oldnet vs newnet question.
  The git repository defaults to building and installing the newnet
  option, and we make oldnet the default in the ebuild.
 
  People migrating from stable will know the oldnet option, and this is
  the only way to configure the network scripts that is actually covered
  in our documentation.
 
  Do we want to switch the upstream repository to make oldnet the default?
 
  What about newnet. ??Should we keep it at all? ??If we do, should we put
  it behind a use flag which would be off by default?
 
 
 Is there any advantage to using newnet over oldnet? If there aren't
 any advantages, we should not attempt to support it (even as an
 optional feature). Old-net by default, no use-flag for newnet; people
 can use EXTRA_ECONF if they *really* want to use it.

If I go this route, I'll probably just get rid of newnet in the next
release entirely.

newnet is a single script, network, which sets up all of the static
routes and static interfaces.

It is small and simple, but the disadvantage of it is that you can't
stop/start a single interface.

William



pgprtAh1uP6kS.pgp
Description: PGP signature


Re: [gentoo-dev] openrc stabilization update

2010-09-19 Thread Mike Frysinger
On Sunday, September 19, 2010 21:22:06 William Hubbs wrote:
 On Mon, Sep 20, 2010 at 06:05:46AM +0530, Nirbheek Chauhan wrote:
  On Mon, Sep 20, 2010 at 5:57 AM, William Hubbs wrote:
   I suppose one question I need to ask is the oldnet vs newnet question.
   The git repository defaults to building and installing the newnet
   option, and we make oldnet the default in the ebuild.
   
   People migrating from stable will know the oldnet option, and this is
   the only way to configure the network scripts that is actually covered
   in our documentation.
   
   Do we want to switch the upstream repository to make oldnet the
   default?
   
   What about newnet. ??Should we keep it at all? ??If we do, should we
   put it behind a use flag which would be off by default?
  
  Is there any advantage to using newnet over oldnet? If there aren't
  any advantages, we should not attempt to support it (even as an
  optional feature). Old-net by default, no use-flag for newnet; people
  can use EXTRA_ECONF if they *really* want to use it.
 
 If I go this route, I'll probably just get rid of newnet in the next
 release entirely.
 
 newnet is a single script, network, which sets up all of the static
 routes and static interfaces.
 
 It is small and simple, but the disadvantage of it is that you can't
 stop/start a single interface.

i suggested in a previous thread that we depreciate newnet if not kill it 
off entirely.  the oldnet stuff should become the default once again.
-mike


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


[gentoo-dev] Re: Patch for python.eclass

2010-09-19 Thread Mike Frysinger
On Sunday, September 19, 2010 21:18:51 Arfrever Frehtes Taifersar Arahesis 
wrote:
 -evaluated_PYTHONPATH=$(eval echo -n ${PYTHONPATH_template})
 +eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\

the quotes in the 2nd one are useless.  this should work the same:
eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\

while you're in the process of cleaning things up, i know we dont have a rule 
anywhere in terms of line length, but python.eclass has always struck me as a 
file with incredibly excessive line length.  comparing to other eclasses, it 
has multiple lines in it longer than any single line in any other eclass.

i normally develop in a terminal with 170 cols (which i think is larger than 
average), so i'm pretty lenient, but even python.eclass exceeds that multiple 
times if not running close to it.
-mike


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


Re: [gentoo-dev] Re: Patch for python.eclass

2010-09-19 Thread Arfrever Frehtes Taifersar Arahesis
2010-09-20 03:45:14 Mike Frysinger napisał(a):
 On Sunday, September 19, 2010 21:18:51 Arfrever Frehtes Taifersar Arahesis 
 wrote:
  -evaluated_PYTHONPATH=$(eval echo -n ${PYTHONPATH_template})
  +eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\
 
 the quotes in the 2nd one are useless.  this should work the same:
   eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\

The quotes are required:

$ PYTHONPATH_template=/usr/share/a   b
$ eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\
$ echo ${evaluated_PYTHONPATH}
/usr/share/a   b
$ eval evaluated_PYTHONPATH=\${PYTHONPATH_template}\
$ echo ${evaluated_PYTHONPATH}
/usr/share/a b

 while you're in the process of cleaning things up, i know we dont have a rule 
 anywhere in terms of line length, but python.eclass has always struck me as a 
 file with incredibly excessive line length.  comparing to other eclasses, it 
 has multiple lines in it longer than any single line in any other eclass.
 
 i normally develop in a terminal with 170 cols (which i think is larger than 
 average), so i'm pretty lenient, but even python.eclass exceeds that multiple 
 times if not running close to it.

python.eclass has many nested checks, loops etc.

-- 
Arfrever Frehtes Taifersar Arahesis


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


Re: [gentoo-dev] Re: Patch for python.eclass

2010-09-19 Thread Mike Frysinger
On Sunday, September 19, 2010 22:53:31 Arfrever Frehtes Taifersar Arahesis 
wrote:
 2010-09-20 03:45:14 Mike Frysinger napisał(a):
  while you're in the process of cleaning things up, i know we dont have a
  rule anywhere in terms of line length, but python.eclass has always
  struck me as a file with incredibly excessive line length.  comparing to
  other eclasses, it has multiple lines in it longer than any single line
  in any other eclass.
  
  i normally develop in a terminal with 170 cols (which i think is larger
  than average), so i'm pretty lenient, but even python.eclass exceeds
  that multiple times if not running close to it.
 
 python.eclass has many nested checks, loops etc.

so what ?  actually look at the long lines.  none of them need to be so long:

lines 33  802  2226 - a large number of local variables that could easily be 
line wrapped otherwise we get 344+ cols.  good luck figuring out what vars are 
at the tail end of that.

lines 274  290 - a lot of checks in a single if statement that too could 
easily be line wrapped

line 2354 - a really long ebegin message that is shown to users

line 489 - a single sed statement that can easily be line wrapped

lines 1158  1184 - a single inline python command that can easily be line 
wrapped
-mike


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


[gentoo-dev] Re: Last rites - media-fonts/cronyx-fonts

2010-09-19 Thread Ryan Hill
On Sat, 18 Sep 2010 23:49:29 -0600
Ryan Hill dirtye...@gentoo.org wrote:

 # Ryan Hill dirtye...@gentoo.org (19 Sep 2010)
 # Mask for removal 20101019 (bug #304621).
 # Use font-cronyx-cyrillic instead.
 media-fonts/cronyx-fonts
 

Turns out font-cronyx-cyrillic isn't a suitable replacement.  Reverted.

-- 
fonts, gcc-porting, we hold our breath, we spin around the world
toolchain, wxwidgetsyou and me cling to the outside of the earth
@ gentoo.orgEFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662


signature.asc
Description: PGP signature


Re: [gentoo-dev] RFC: Repoman to autogenerate ChangeLog entries

2010-09-19 Thread Peter Volkov
В Вск, 19/09/2010 в 16:17 +0100, Mike Auty пишет:
 It should be possible to still maintain this distinction, something like:
 
 Version bump.  Added feature foo.
 - --
 Feature foo required a complete rewrite of src_install.
 
 And then the ChangeLog generation can happen separately.  The problem
 with this method [...]

Another problem that there is no way to alter ChangeLog. Since
ChangeLogs are intended for users it's good idea to be able fix typos /
add credits there and thus it's impossible to generate them from git
commit messages.

-- 
Peter.