Re: [gentoo-dev] Death to old-style virtuals!

2010-12-30 Thread Brian Harring
On Sun, Dec 26, 2010 at 05:33:06PM +0200, Petteri RRRty wrote:
  There's still that stupid !virtual/blah thing to deal with. Old style
  virtual providers are allowed to block their own virtual to mean there
  must not be any other provider of this installed (although it's not
  clear what that means if anything other than a simple !virtual/pkg is
  used). Anything doing that would now have to explicitly list its own
  blocks. Arguably, this is a good thing, since you'd have to say exactly
  what you do and don't work with.
  
 
 The cases where this is needed could declare the full list of providers
 in an eclass. Are there any problems with this approach besides the
 increased maintenance burden?

Overlay interaction, and the need to bundle a g37 metapkg, allowing it 
to get out of date.  Adding an exacly one of dep spec would be useful 
for maintainers also I suspect, and easier on the manager in terms of 
processing- it's not required, but advisable in my opinion.

I'm not a fan of old style virtuals, but it also has some benefits 
over metapkgs- ease of self blocking is one example, ease of extension 
also.  There is an additional benefit- it leaves blocking to the 
provider.  An example would be a provider that unlike all of the 
others, can't coexist with them- hasn't been rewritten to eselect or 
something equivalent.

It might be worth seeing if there is a new form of the decentralized 
virtuals we could add w/out the baggage inherited in old style, rather 
than just chucking it out in full.  Just a thought.

Meanwhile, current old style virtuals still specified in the profiles 
follow-

virtual/alsa
virtual/antivirus
virtual/aspell-dict
virtual/baselayout
virtual/blackbox
virtual/bootloader
virtual/cron
virtual/dev-manager
virtual/dhcpc
virtual/dhcpcd
virtual/fam
virtual/gzip
virtual/imap-c-client
virtual/imapUW
virtual/imapd
virtual/inetd
virtual/j2ee
virtual/jabber-server
virtual/krb5
virtual/libc
virtual/libiconv
virtual/libpcap
virtual/linux-sources
virtual/logger
virtual/lpr
virtual/m3
virtual/mailx
virtual/man
virtual/mda
virtual/modutils
virtual/mta
virtual/ooo
virtual/opengl
virtual/os-headers
virtual/pam
virtual/pbs
virtual/php
virtual/portage
virtual/python
virtual/quicktime
virtual/ruby
virtual/skkserv
virtual/squeak-image
virtual/ssh
virtual/tftp
virtual/utempter
virtual/w3m
virtual/wine

Of those, libiconv and opengl have a g37 metapkg.

~harring



[gentoo-dev] EAPI 4 specification approved

2010-12-30 Thread Petteri Räty
To finish the year with a bang the Gentoo council has approved the
specification for EAPI 4. You can get the text via app-doc/pms (as soon
as a new ebuild hits the mirrors) or from the git repository. The gitweb
for PMS can be found here:
http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git

As the text was just approved it will take a while before Package
Managers release new versions that declare support for EAPI 4. As such,
the new EAPI 4 can't yet be used in the main tree. You will be notified
as soon as you can start reaping the benefits.

On behalf of the Gentoo Council,
Petteri Räty



signature.asc
Description: OpenPGP digital signature


[gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Mike Frysinger
epatch was changed to auto-skip the first path element when it is absolute
(starts with a slash).  the reason was to avoid issues with patches touching
files outside of $PWD (which is bad if sandbox is disabled).

along those lines, we should start rejecting relative paths.  we cant auto-
skip the leading elements since relative paths could appear anywhere.

rather than making it fatal right away, this patch adds some ewarns.  after a
while, we can convert it to a die.
-mike

--- eutils.eclass   22 Nov 2010 00:31:03 -  1.352
+++ eutils.eclass   30 Dec 2010 23:52:41 -
@@ -360,6 +360,12 @@ epatch() {
count=1
printf NOTE: skipping -p0 due to absolute paths in 
patch:\n%s\n ${abs_paths}  ${STDERR_TARGET}
fi
+   # Similar reason, but with relative paths.
+   local rel_paths=$(egrep -n '^[-+]{3} [^\t]*[.][.]/' 
${PATCH_TARGET})
+   if [[ -n ${rel_paths} ]] ; then
+   ewarn Your patch has relative paths; in the future 
this will fail:
+   ewarn ${rel_paths}
+   fi
 
# Dynamically detect the correct -p# ... i'm lazy, so shoot me 
:/
while [[ ${count} -lt 5 ]] ; do


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


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Robin H. Johnson
On Thu, Dec 30, 2010 at 07:04:25PM -0500, Mike Frysinger wrote:
 epatch was changed to auto-skip the first path element when it is absolute
 (starts with a slash).  the reason was to avoid issues with patches touching
 files outside of $PWD (which is bad if sandbox is disabled).
+1 from me, but can we have a QA prefix on the ewarn output?

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee  Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85


pgp7M2ptV92wv.pgp
Description: PGP signature


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Enrico Weigelt
* Robin H. Johnson robb...@gentoo.org schrieb:
 On Thu, Dec 30, 2010 at 07:04:25PM -0500, Mike Frysinger wrote:
  epatch was changed to auto-skip the first path element when it is absolute
  (starts with a slash).  the reason was to avoid issues with patches touching
  files outside of $PWD (which is bad if sandbox is disabled).
 +1 from me, but can we have a QA prefix on the ewarn output?

IMHO, in longer terms, all patches should normalized, created w/
diff -ruN and applied w/ -p1. Thats how most people do it, so
a kind of semi-standard.


cu
-- 
--
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weig...@metux.de
 mobile: +49 151 27565287  icq:   210169427 skype: nekrad666
--
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
--



Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Mike Frysinger
On Thursday, December 30, 2010 20:05:01 Enrico Weigelt wrote:
 IMHO, in longer terms, all patches should normalized, created w/
 diff -ruN and applied w/ -p1. Thats how most people do it, so
 a kind of semi-standard.

not worth developer's time to force it since it poses no practical positive 
benefit to us
-mike


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


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Mike Frysinger
On Thursday, December 30, 2010 19:42:35 Robin H. Johnson wrote:
 On Thu, Dec 30, 2010 at 07:04:25PM -0500, Mike Frysinger wrote:
  epatch was changed to auto-skip the first path element when it is
  absolute (starts with a slash).  the reason was to avoid issues with
  patches touching files outside of $PWD (which is bad if sandbox is
  disabled).
 
 +1 from me, but can we have a QA prefix on the ewarn output?

--- eutils.eclass   22 Nov 2010 00:31:03 -  1.352
+++ eutils.eclass   31 Dec 2010 01:28:37 -
@@ -360,6 +360,13 @@ epatch() {
count=1
printf NOTE: skipping -p0 due to absolute paths in 
patch:\n%s\n ${abs_paths}  ${STDERR_TARGET}
fi
+   # Similar reason, but with relative paths.
+   local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' 
${PATCH_TARGET})
+   if [[ -n ${rel_paths} ]] ; then
+   eqawarn QA Notice: Your patch has relative paths.
+   eqawarn  In the future this will cause a failure.
+   eqawarn ${rel_paths}
+   fi
 
# Dynamically detect the correct -p# ... i'm lazy, so shoot me 
:/
while [[ ${count} -lt 5 ]] ; do
-mike


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


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Markos Chandras
On Thu, Dec 30, 2010 at 08:28:42PM -0500, Mike Frysinger wrote:
 On Thursday, December 30, 2010 19:42:35 Robin H. Johnson wrote:
  On Thu, Dec 30, 2010 at 07:04:25PM -0500, Mike Frysinger wrote:
   epatch was changed to auto-skip the first path element when it is
   absolute (starts with a slash).  the reason was to avoid issues with
   patches touching files outside of $PWD (which is bad if sandbox is
   disabled).
  
  +1 from me, but can we have a QA prefix on the ewarn output?
 
 --- eutils.eclass 22 Nov 2010 00:31:03 -  1.352
 +++ eutils.eclass 31 Dec 2010 01:28:37 -
 @@ -360,6 +360,13 @@ epatch() {
   count=1
   printf NOTE: skipping -p0 due to absolute paths in 
 patch:\n%s\n ${abs_paths}  ${STDERR_TARGET}
   fi
 + # Similar reason, but with relative paths.
 + local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' 
 ${PATCH_TARGET})
 + if [[ -n ${rel_paths} ]] ; then
 + eqawarn QA Notice: Your patch has relative paths.
 + eqawarn  In the future this will cause a failure.
 + eqawarn ${rel_paths}
 + fi
  
   # Dynamically detect the correct -p# ... i'm lazy, so shoot me 
 :/
   while [[ ${count} -lt 5 ]] ; do
 -mike

Mike,

Maybe we should open a tracker to identify which packages use relative paths
in their patches before making this control check fatal.

Regards,
-- 
Markos Chandras (hwoarang)
Gentoo Linux Developer
Web: http://hwoarang.silverarrow.org
Key ID: 441AC410
Key FP: AAD0 8591 E3CD 445D 6411 3477 F7F7 1E8E 441A C410


pgphxSM73NFN6.pgp
Description: PGP signature


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Jory A. Pratt
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 12/30/2010 07:28 PM, Mike Frysinger wrote:
 On Thursday, December 30, 2010 19:42:35 Robin H. Johnson wrote:
 On Thu, Dec 30, 2010 at 07:04:25PM -0500, Mike Frysinger wrote:
 epatch was changed to auto-skip the first path element when it is
 absolute (starts with a slash).  the reason was to avoid issues with
 patches touching files outside of $PWD (which is bad if sandbox is
 disabled).

 +1 from me, but can we have a QA prefix on the ewarn output?
 
 --- eutils.eclass 22 Nov 2010 00:31:03 -  1.352
 +++ eutils.eclass 31 Dec 2010 01:28:37 -
 @@ -360,6 +360,13 @@ epatch() {
   count=1
   printf NOTE: skipping -p0 due to absolute paths in 
 patch:\n%s\n ${abs_paths}  ${STDERR_TARGET}
   fi
 + # Similar reason, but with relative paths.
 + local rel_paths=$(egrep -n '^[-+]{3} [^ ]*[.][.]/' 
 ${PATCH_TARGET})
 + if [[ -n ${rel_paths} ]] ; then
 + eqawarn QA Notice: Your patch has relative paths.
 + eqawarn  In the future this will cause a failure.
 + eqawarn ${rel_paths}
 + fi
  
   # Dynamically detect the correct -p# ... i'm lazy, so shoot me 
 :/
   while [[ ${count} -lt 5 ]] ; do
 -mike
+1 from me!!!

- -- 
==
Jory A. Pratt  anarchy -at- gentoo.org
Gentoo Mozilla Lead
GPG: 2C1D 6AF9 F35D 5122 0E8F 9123 C270 3B43 5674 6127
==

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

iEYEARECAAYFAk0dOmEACgkQwnA7Q1Z0YSfEHwCgrI5PjbcIPBsCh2yzcTPa1gxf
+1AAn2w97jB4wYKo/k69jS6wj5wPfcPW
=tJ2w
-END PGP SIGNATURE-



Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Enrico Weigelt
* Mike Frysinger vap...@gentoo.org schrieb:
 On Thursday, December 30, 2010 20:05:01 Enrico Weigelt wrote:
  IMHO, in longer terms, all patches should normalized, created w/
  diff -ruN and applied w/ -p1. Thats how most people do it, so
  a kind of semi-standard.
 
 not worth developer's time to force it since it poses no practical positive 
 benefit to us

It makes it easier for everyone who'll want to work on these
patches (eg. people besides the actual ebuild maintainers).

BTW: I'm not proposing to rework all the patches right now,
just set a policy for new ones.

Even you might not like to hear this, Debian is much better at this
point - they a patchqueue per each package, which can be applied
fully automatically (w/o additional code in the invididual package
descriptors). This allows easy importing into other systems
(like I'm doing w/ my normalized git repositories within the 
oss-qm project).


cu
-- 
--
 Enrico Weigelt, metux IT service -- http://www.metux.de/

 phone:  +49 36207 519931  email: weig...@metux.de
 mobile: +49 151 27565287  icq:   210169427 skype: nekrad666
--
 Embedded-Linux / Portierung / Opensource-QM / Verteilte Systeme
--



Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Mike Frysinger
On Thursday, December 30, 2010 21:03:54 Enrico Weigelt wrote:
 * Mike Frysinger vap...@gentoo.org schrieb:
  On Thursday, December 30, 2010 20:05:01 Enrico Weigelt wrote:
   IMHO, in longer terms, all patches should normalized, created w/
   diff -ruN and applied w/ -p1. Thats how most people do it, so
   a kind of semi-standard.
  
  not worth developer's time to force it since it poses no practical
  positive benefit to us
 
 It makes it easier for everyone who'll want to work on these
 patches (eg. people besides the actual ebuild maintainers).
 
 BTW: I'm not proposing to rework all the patches right now,
 just set a policy for new ones.

suggestions are fine, but these arent a requirement we're going to force on 
developers.  i already put together a list of suggestions for people long ago:
http://dev.gentoo.org/~vapier/clean-patches

 Even you might not like to hear this, Debian is much better at this
 point

i could care less

 they a patchqueue per each package, which can be applied
 fully automatically (w/o additional code in the invididual package
 descriptors).

it'd be trivial to do the same thing in Gentoo, but it doesnt make sense.  
Debian doesnt maintain a unified package tree of multiple versions.
-mike


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


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Mike Frysinger
On Thursday, December 30, 2010 21:01:49 Markos Chandras wrote:
 On Thu, Dec 30, 2010 at 08:28:42PM -0500, Mike Frysinger wrote:
  +   eqawarn QA Notice: Your patch has relative paths.
  +   eqawarn  In the future this will cause a failure.
 
 Maybe we should open a tracker to identify which packages use relative
 paths in their patches before making this control check fatal.

sounds like overkill.  people will file bugs and they'll get fixed.  once it 
goes fatal, people will fix even faster.  i dont plan on making it fatal 
anytime soon.

a simple grep of in tree patches shows only a handful of hits.
-mike


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


Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Robin H. Johnson
On Fri, Dec 31, 2010 at 12:17:26AM -0500, Mike Frysinger wrote:
 On Thursday, December 30, 2010 21:03:54 Enrico Weigelt wrote:
  * Mike Frysinger vap...@gentoo.org schrieb:
   On Thursday, December 30, 2010 20:05:01 Enrico Weigelt wrote:
IMHO, in longer terms, all patches should normalized, created w/
diff -ruN and applied w/ -p1. Thats how most people do it, so
a kind of semi-standard.
   
   not worth developer's time to force it since it poses no practical
   positive benefit to us
  
  It makes it easier for everyone who'll want to work on these
  patches (eg. people besides the actual ebuild maintainers).
  
  BTW: I'm not proposing to rework all the patches right now,
  just set a policy for new ones.
 
 suggestions are fine, but these arent a requirement we're going to force on 
 developers.  i already put together a list of suggestions for people long ago:
   http://dev.gentoo.org/~vapier/clean-patches
Nice document. Just two contradictory points that I've noticed been
useful:
1. Sometimes I've been given patches without information as to which
version they apply to. The timestamp on the --- line was critical to
tracing that, because it matched the source timestamp in the SCM.
2. The .orig suffix on the --- line has been very useful in seeing that
somebody accidentally reversed the patch when generating it.

One additional request: Using RFC822-style headers for patch text data.
Nice example in many of our MySQL patches, like this one:

Gentoo-Bug: 238487
Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=238487
MySQL-Bug-URL: http://bugs.mysql.com/bug.php?id=39288
MySQL-Bug: 39288
MySQL-Lists-URL: http://lists.mysql.com/internals/35947
X-Patch-URL: http://bugs.gentoo.org/attachment.cgi?id=188019action=view
Signed-off-by: Jorge Manuel B. S. Vicetto jmbsvice...@gentoo.org
Signed-off-by: Robin H. Johnson robb...@gentoo.org
Signed-off-by: Kristian Nielsen kniel...@knielsen-hq.org

The above taken from:
http://git.overlays.gentoo.org/gitweb/?p=proj/mysql-extras.git;a=blob_plain;f=02040_all_embedded-library-shared-maria-5.1.50.patch;hb=499f0f3c94f6d4dc1c46adafc622e9583ee6a315

-- 
Robin Hugh Johnson
Gentoo Linux: Developer, Trustee  Infrastructure Lead
E-Mail : robb...@gentoo.org
GnuPG FP   : 11AC BA4F 4778 E3F6 E4ED  F38E B27B 944E 3488 4E85



Re: [gentoo-dev] epatch: reject patches with relative paths

2010-12-30 Thread Mike Frysinger
On Friday, December 31, 2010 02:02:40 Robin H. Johnson wrote:
 On Fri, Dec 31, 2010 at 12:17:26AM -0500, Mike Frysinger wrote:
  http://dev.gentoo.org/~vapier/clean-patches
 
 Nice document. Just two contradictory points that I've noticed been
 useful:
 1. Sometimes I've been given patches without information as to which
 version they apply to. The timestamp on the --- line was critical to
 tracing that, because it matched the source timestamp in the SCM.

i wouldnt say it's contradictory ... if my advice was followed, this sleuthing 
wouldnt have been necessary, and thus the timestamp is still useless.

 2. The .orig suffix on the --- line has been very useful in seeing that
 somebody accidentally reversed the patch when generating it.

meh.  i think this is minor/rare enough to ignore.

 One additional request: Using RFC822-style headers for patch text data.

i'll add these tips inline with the other stuff
-mike


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