Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-09-13 Thread Michał Górny
Dnia 2013-08-20, o godz. 13:01:34
Michał Górny mgo...@gentoo.org napisał(a):

 Due to the widespread breakage in the tree noted in bug #480892 [1],
 and mis-design of multilib-minimal.eclass, we'd like to put some more
 work into getting einstalldocs() ready for EAPI 6.
 
 When it's mostly defined, we'd like to backport it to eutils.eclass so
 that we could use it to fix the existing breakages. But for that, we'd
 really prefer if we had a final spec for it so that the EAPI switch
 could be as simple as disabling the function in eutils.
[snip]

Since the Council has approved the final implementation written in this
thread, I have committed it into eutils.eclass now. Please test it,
and feel free to convert your eclasses to use it as soon as you confirm
that it works well for you.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-22 Thread Michał Górny
Dnia 2013-08-21, o godz. 12:33:14
Ulrich Mueller u...@gentoo.org napisał(a):

  On Wed, 21 Aug 2013, Michał Górny wrote:
 
  Proposed implementation follows:
 
  einstalldocs() {
  if ! declare -p DOCS /dev/null ; then
  local d
  for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
  THANKS BUGS FAQ CREDITS CHANGELOG ; do
  [[ -s ${d} ]]  dodoc ${d}
 
 The first pair of quotes is not needed.
 
  done
  elif [[ $(declare -p DOCS) == declare -a * ]] ; then
  [[ ${DOCS[@]} ]]  dodoc -r ${DOCS[@]}
 
 I'd test for [[ ${#DOCS[@]} -gt 0 ]] here, but presumably that's a
 matter of taste.
 
  else
  [[ ${DOCS} ]]  dodoc -r ${DOCS}
  fi
 
  if [[ $(declare -p HTML_DOCS) == declare -a * ]] ; then
 
 This will emit an error message if HTML_DOCS is unset. So:
 
   if [[ $(declare -p HTML_DOCS 2/dev/null) == declare -a * ]] ; then
 
  dohtml -r ${HTML_DOCS[@]}
 
 No test for empty array here?

I don't think it's anywhere near necessary. Since HTML_DOCS has no
default, why would people set it to empty array? Well, unless someone
plays with appending...

Then I'll better add it.

  elif [[ ${HTML_DOCS} ]]; then
  dohtml -r ${HTML_DOCS}
 
 Make this the same as the DOCS logic, i.e.:
 
   else
   [[ ${HTML_DOCS} ]]  dohtml -r ${HTML_DOCS}
 
  fi
 
 Maybe add a return 0 here?

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-22 Thread Michał Górny
Dnia 2013-08-21, o godz. 14:49:45
Pacho Ramos pa...@gentoo.org napisał(a):

 El mié, 21-08-2013 a las 14:35 +0200, Ulrich Mueller escribió:
   On Wed, 21 Aug 2013, Pacho Ramos wrote:
  
   Could appending to DOCS be allowed? I have seen a lot of time of me
   needing to install all docs manually only to add a doc file over
   default DOCS. Would be interesting to simply do: DOCS+=( otherfile )
  
   instead of needing to specify all files handled by the install
   function
  
  We discussed this in bug 449806 already. Problems that need to be
  solved:
  - If we want to keep support for both array and whitespace-separated
list then we can't preset a global variable.
  - How do we distinguish between DOCS being unset (i.e. install default
docs) and DOCS being empty (i.e. don't install anything)?
  - We could introduce some special syntax like a __default__ marker,
but do we want such in-band signalling?
 
 Well, the last comment by mgorny in bug report after some suggestions
 rised there made me think I should wait for the einstalldocs thing :/

Yes, for something like:

src_install() {
  ...
  einstalldocs
  dodoc FOO
}

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-22 Thread Michał Górny
Second version:

einstalldocs() {
if ! declare -p DOCS /dev/null ; then
local d
for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
THANKS BUGS FAQ CREDITS CHANGELOG ; do
[[ -s ${d} ]]  dodoc ${d}
done
elif [[ $(declare -p DOCS) == 'declare -a'* ]] ; then
[[ ${DOCS[@]} ]]  dodoc -r ${DOCS[@]}
else
[[ ${DOCS} ]]  dodoc -r ${DOCS}
fi

if [[ $(declare -p HTML_DOCS 2/dev/null) == 'declare -a'* ]] ; then
[[ ${HTML_DOCS[@]} ]]  dohtml -r ${HTML_DOCS[@]}
else
[[ ${HTML_DOCS} ]]  dohtml -r ${HTML_DOCS}
fi

return 0
}

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-22 Thread Ulrich Mueller
 On Thu, 22 Aug 2013, Michał Górny wrote:

 Second version:

Looks good to me.

One minor non-technical point: Could you use double quotes instead of
single quotes around declare -a, for better readability? Last time
we had single quotes they ended up as backquotes in the devmanual and
from there in some eclasses (see bug 444832).

Ulrich



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Michał Górny
Dnia 2013-08-20, o godz. 13:01:34
Michał Górny mgo...@gentoo.org napisał(a):

 Hello,
 
 Due to the widespread breakage in the tree noted in bug #480892 [1],
 and mis-design of multilib-minimal.eclass, we'd like to put some more
 work into getting einstalldocs() ready for EAPI 6.
 
 When it's mostly defined, we'd like to backport it to eutils.eclass so
 that we could use it to fix the existing breakages. But for that, we'd
 really prefer if we had a final spec for it so that the EAPI switch
 could be as simple as disabling the function in eutils.
 
 Therefore, I'd like to open a final discussion for the features set
 that is intended to be included in it, and it's name.
 
 [1]:https://bugs.gentoo.org/show_bug.cgi?id=480892

Proposed implementation follows:

einstalldocs() {
if ! declare -p DOCS /dev/null ; then
local d
for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
THANKS BUGS FAQ CREDITS CHANGELOG ; do
[[ -s ${d} ]]  dodoc ${d}
done
elif [[ $(declare -p DOCS) == declare -a * ]] ; then
[[ ${DOCS[@]} ]]  dodoc -r ${DOCS[@]}
else
[[ ${DOCS} ]]  dodoc -r ${DOCS}
fi
   
if [[ $(declare -p HTML_DOCS) == declare -a * ]] ; then
dohtml -r ${HTML_DOCS[@]}   
elif [[ ${HTML_DOCS} ]]; then   
dohtml -r ${HTML_DOCS}
fi 
}

It's based on EAPI 4 src_install(). I've added support for DOCS=()
and DOCS='', HTML_DOCS, and made dodoc recursive per Pinkbyte's
request. In this form, it's suitable replacement for what's
in autotools-utils  distutils-r1.

It should be noted that if we're to backport it to all old EAPIs,
'dodoc -r' needs te be conditional to EAPI 4+.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Ulrich Mueller
 On Wed, 21 Aug 2013, Michał Górny wrote:

 Proposed implementation follows:

 einstalldocs() {
 if ! declare -p DOCS /dev/null ; then
 local d
 for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
 THANKS BUGS FAQ CREDITS CHANGELOG ; do
 [[ -s ${d} ]]  dodoc ${d}

The first pair of quotes is not needed.

 done
 elif [[ $(declare -p DOCS) == declare -a * ]] ; then
 [[ ${DOCS[@]} ]]  dodoc -r ${DOCS[@]}

I'd test for [[ ${#DOCS[@]} -gt 0 ]] here, but presumably that's a
matter of taste.

 else
 [[ ${DOCS} ]]  dodoc -r ${DOCS}
 fi

 if [[ $(declare -p HTML_DOCS) == declare -a * ]] ; then

This will emit an error message if HTML_DOCS is unset. So:

  if [[ $(declare -p HTML_DOCS 2/dev/null) == declare -a * ]] ; then

 dohtml -r ${HTML_DOCS[@]}

No test for empty array here?

 elif [[ ${HTML_DOCS} ]]; then
 dohtml -r ${HTML_DOCS}

Make this the same as the DOCS logic, i.e.:

  else
  [[ ${HTML_DOCS} ]]  dohtml -r ${HTML_DOCS}

 fi

Maybe add a return 0 here?

 }

Ulrich



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread hasufell
On 08/20/2013 01:01 PM, Michał Górny wrote:
 Hello,
 
 Due to the widespread breakage in the tree noted in bug #480892 [1],
 and mis-design of multilib-minimal.eclass, we'd like to put some more
 work into getting einstalldocs() ready for EAPI 6.

What mis-design?



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Ulrich Mueller
 On Wed, 21 Aug 2013, Ulrich Mueller wrote:

 On Wed, 21 Aug 2013, Michał Górny wrote:
 Proposed implementation follows:

 elif [[ $(declare -p DOCS) == declare -a * ]] ; then

I forgot about another issue pointed out by Arfrever some time ago.
We may want to change the above to declare -a* (note the removed
space) because of https://bugs.gentoo.org/show_bug.cgi?id=444740#c4.

Ulrich



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Pacho Ramos
El mié, 21-08-2013 a las 11:52 +0200, Michał Górny escribió:
 Dnia 2013-08-20, o godz. 13:01:34
 Michał Górny mgo...@gentoo.org napisał(a):
 
  Hello,
  
  Due to the widespread breakage in the tree noted in bug #480892 [1],
  and mis-design of multilib-minimal.eclass, we'd like to put some more
  work into getting einstalldocs() ready for EAPI 6.
  
  When it's mostly defined, we'd like to backport it to eutils.eclass so
  that we could use it to fix the existing breakages. But for that, we'd
  really prefer if we had a final spec for it so that the EAPI switch
  could be as simple as disabling the function in eutils.
  
  Therefore, I'd like to open a final discussion for the features set
  that is intended to be included in it, and it's name.
  
  [1]:https://bugs.gentoo.org/show_bug.cgi?id=480892
 
 Proposed implementation follows:
 
 einstalldocs() {
 if ! declare -p DOCS /dev/null ; then
 local d
 for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
 THANKS BUGS FAQ CREDITS CHANGELOG ; do
 [[ -s ${d} ]]  dodoc ${d}
 done
 elif [[ $(declare -p DOCS) == declare -a * ]] ; then
 [[ ${DOCS[@]} ]]  dodoc -r ${DOCS[@]}
 else
 [[ ${DOCS} ]]  dodoc -r ${DOCS}
 fi

 if [[ $(declare -p HTML_DOCS) == declare -a * ]] ; then
 dohtml -r ${HTML_DOCS[@]}   
 elif [[ ${HTML_DOCS} ]]; then   
 dohtml -r ${HTML_DOCS}
 fi 
 }
 
 It's based on EAPI 4 src_install(). I've added support for DOCS=()
 and DOCS='', HTML_DOCS, and made dodoc recursive per Pinkbyte's
 request. In this form, it's suitable replacement for what's
 in autotools-utils  distutils-r1.
 
 It should be noted that if we're to backport it to all old EAPIs,
 'dodoc -r' needs te be conditional to EAPI 4+.
 

Could appending to DOCS be allowed? I have seen a lot of time of me
needing to install all docs manually only to add a doc file over
default DOCS. Would be interesting to simply do:
DOCS+=( otherfile )

instead of needing to specify all files handled by the install function

Thanks a lot




Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread hasufell
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

On 08/20/2013 01:01 PM, Michał Górny wrote:
 Hello,
 
 Due to the widespread breakage in the tree noted in bug #480892
 [1], and mis-design of multilib-minimal.eclass, we'd like to put
 some more work into getting einstalldocs() ready for EAPI 6.

Ok, I'm too lazy to wait for a reply, so here you go


Let's check what misdesign is:

* creating eclasses with too many phases and those wrapped a thousand
times, so no one really knows how it works anymore and ebuild writers
are confused and often miss things; other devs have already complained
about that obscurity
* creating python eclasses that rely so heavily on useflags that it
causes a lot of pain for users because of blockers (just read #gentoo)
and adding/removing python version and then adding another bunch of
python_single_foo* which cause even more useless rebuilds for users
* creating a distutils eclass that fails for some packages, because it
doesn't let you control how setup.py is called properly
* updating vcs-snapshot eclass to drop support for an archive type,
because the author is unable to make his code improvement work with it
* creating multilib eclasses that are widely untested and dumping all
the slow migration pain including multilib-specific bugs, countless
blockers users have to deal with and all the emul-linux-x86-* updating
stuff on everyone


not really misdesign, but rather misbehavior:

* refusing to slow down when told that your solutions may cause
problems for other developers
* refusing to work with other devs who demand an alternative
implementation
* trying to force other people to use a solution that they feel is not
fit, because they want minimum reliance on eclasses which
autotools-utils is NOT (and for the record, you do not follow PMS
standard there)
* requesting features for other peoples eclasses and then blaming them
for misdesign, although YOU have even REVIEWED the changes


If you keep on with this behavior, then I hope you know where that
leads. I don't mind strong discussions and most points in the first
chapter will not make me say it was the wrong choice (everyone knows
that I am all pro migrating), but you are becoming someone people do
not want to work with.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJSFKhuAAoJEFpvPKfnPDWzNX4H/AlQ+neoEUfnE4MCuyQKVifZ
1iMva9NjoO3xCQcSjyYmq0tOBeKbRbErdy0G2vca4JkX1fZnDiEQe+NCzMRIJBKl
rTHYiDAaVg/ZTP+f1E0FXoPgS1t6NCjF/hKelniUGoYcxSKMJ5nA+z0/JuKQfzGF
bsEkT44XXpliZAFOjuxSFMBl7NdCkt9XMBrX5tIdQj38XaVtnelvJII6TJ+hUsnj
8MVyui3d030X96Ezxe2k2kiqZRbqYCYQkU44zPeh/3Ns0O7mJ0/c0EidW1PcCvcZ
ZS31GsPJV7zsl3HVlHuNmJDf3+WcNc8p06fRfG7iCS3nLGmsAEZBOc1y0oWvIVo=
=PfTn
-END PGP SIGNATURE-



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Pacho Ramos
El mié, 21-08-2013 a las 13:45 +0200, hasufell escribió:
 On 08/20/2013 01:01 PM, Michał Górny wrote:
  Hello,
  
  Due to the widespread breakage in the tree noted in bug #480892
  [1], and mis-design of multilib-minimal.eclass, we'd like to put
  some more work into getting einstalldocs() ready for EAPI 6.
 
 Ok, I'm too lazy to wait for a reply, so here you go
 
 
 Let's check what misdesign is:
[...]

I would really encourage people to keep talking about concrete technical
issue. There is no need to blame on anybody and continuing this
discussion in that terms won't help at all and won't resolve that
conflict. To resolve that conflict (if possible), I would simply try
to let things calm down again before replying too soon while involved
parties are furious, as it will only cause more and more damage

Thanks a lot :)




Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Ulrich Mueller
 On Wed, 21 Aug 2013, Pacho Ramos wrote:

 Could appending to DOCS be allowed? I have seen a lot of time of me
 needing to install all docs manually only to add a doc file over
 default DOCS. Would be interesting to simply do: DOCS+=( otherfile )

 instead of needing to specify all files handled by the install
 function

We discussed this in bug 449806 already. Problems that need to be
solved:
- If we want to keep support for both array and whitespace-separated
  list then we can't preset a global variable.
- How do we distinguish between DOCS being unset (i.e. install default
  docs) and DOCS being empty (i.e. don't install anything)?
- We could introduce some special syntax like a __default__ marker,
  but do we want such in-band signalling?

Ulrich



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Pacho Ramos
El mié, 21-08-2013 a las 14:35 +0200, Ulrich Mueller escribió:
  On Wed, 21 Aug 2013, Pacho Ramos wrote:
 
  Could appending to DOCS be allowed? I have seen a lot of time of me
  needing to install all docs manually only to add a doc file over
  default DOCS. Would be interesting to simply do: DOCS+=( otherfile )
 
  instead of needing to specify all files handled by the install
  function
 
 We discussed this in bug 449806 already. Problems that need to be
 solved:
 - If we want to keep support for both array and whitespace-separated
   list then we can't preset a global variable.
 - How do we distinguish between DOCS being unset (i.e. install default
   docs) and DOCS being empty (i.e. don't install anything)?
 - We could introduce some special syntax like a __default__ marker,
   but do we want such in-band signalling?
 
 Ulrich
 
 

Well, the last comment by mgorny in bug report after some suggestions
rised there made me think I should wait for the einstalldocs thing :/




Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Ulrich Mueller
 On Wed, 21 Aug 2013, Michał Górny wrote:

 elif [[ $(declare -p DOCS) == declare -a * ]] ; then

Thinking about it again, the pattern matching (already present in
default_src_install of EAPI 4) is brittle and relies on the output
of declare -p whose exact format is undocumented.

Maybe we could change the test for an array to the following?

  elif ! declare +a DOCS /dev/null; then

This seems to work fine in bash versions 3.2 and 4.2. And behaviour is
well documented in the bash reference manual [1]:

| Using `+' instead of `-' turns off the attribute instead, with the
| exceptions that `+a' may not be used to destroy an array variable
| [...]
|
| The return status is zero unless [...] an attempt is made to turn
| off array status for an array variable, [...]

Ulrich

[1] http://www.gnu.org/software/bash/manual/bashref.html#Bash-Builtins



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 21/08/13 07:45 AM, hasufell wrote:
 On 08/20/2013 01:01 PM, Michał Górny wrote:
 Hello,
 
 Due to the widespread breakage in the tree noted in bug #480892 
 [1], and mis-design of multilib-minimal.eclass, we'd like to put 
 some more work into getting einstalldocs() ready for EAPI 6.
 what misdesign?

The mis-design is that for some reason the default_src_install (and
therefore the default EAPI4+ DOCS= handler) is being triggered
regardless of whether multilib_src_install, or
multilib_src_install_all are being overridden/customized.  Possibly
this is true for an override of src_install() too (or at least, the
src_install that would still call the appropriate phase funcs from
multilib-minimal), but I don't think I checked that so this would need
to be confirmed.

Probably what needs to be done is that the original
default_src_install behaviour only occurs in
multilib_src_install_all() and also only occurs when that phase func
is not re-defined in an ebuild.  But this is just a guess.
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)

iF4EAREIAAYFAlIUyAEACgkQ2ugaI38ACPD/owD/ea8xL8zZKLtsWCZbjnym5TWf
yZr3EXEtK6r0JdCvdUwBAIn2zXqAOp9jsoaVtD7IvKsXxHVs+24BTfFLet/HcRfk
=hEKl
-END PGP SIGNATURE-



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Sergey Popov
20.08.2013 17:22, Sergey Popov пишет:
 20.08.2013 17:02, Michał Górny пишет:
 Is there a future-eapi bug open for it? If not, please open one.
 
 I will, thanks

Here it is: https://bugs.gentoo.org/show_bug.cgi?id=481980


-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop-effects project lead
Gentoo Qt project lead
Gentoo Proxy maintainers project lead



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-21 Thread Ulrich Mueller
 On Wed, 21 Aug 2013, I wrote:

 Maybe we could change the test for an array to the following?

   elif ! declare +a DOCS /dev/null; then

I retract this suggestion. It doesn't work because of issues with
local and global scope.

Sorry for the noise.

Ulrich



[gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Michał Górny
Hello,

Due to the widespread breakage in the tree noted in bug #480892 [1],
and mis-design of multilib-minimal.eclass, we'd like to put some more
work into getting einstalldocs() ready for EAPI 6.

When it's mostly defined, we'd like to backport it to eutils.eclass so
that we could use it to fix the existing breakages. But for that, we'd
really prefer if we had a final spec for it so that the EAPI switch
could be as simple as disabling the function in eutils.

Therefore, I'd like to open a final discussion for the features set
that is intended to be included in it, and it's name.

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


Future EAPI bug: https://bugs.gentoo.org/show_bug.cgi?id=459692


1. Name

- einstalldocs

  -- probably the least confusing one, consistent with emake

- edocs

  -- but what does it do to the docs?

- dodocs

  -- do* prefix suggests it accepts list of files like doins,

  -- single-letter difference from 'dodoc' is confusing

- dodoc (without arguments)

  -- two different behaviors of a single function -- confusing

  -- wouldn't be feasible for backporting


2. Support for HTML_DOCS

   https://bugs.gentoo.org/show_bug.cgi?id=468310

It's used consistently in a few eclasses. if we put it into
the default, we can replace the eclass implementations with this one.


3. Support DOCS=() / DOCS='' to disable dodoc

   https://bugs.gentoo.org/show_bug.cgi?id=463736

Well, this one is mostly what the bug is about. I think we should just
do it. Implementation could be discussed a bit though.

For example, hasufell has suggested checking ${DOCS// /} to support
DOCS='   ' as well. IMO we shouldn't be supporting such a weird
mistakes.


4. Globbing support in DOCS array

   https://bugs.gentoo.org/show_bug.cgi?id=394211

radhermit suggested this to have equivalent set of features in DOCS
as scalar and DOCS as array. IMO it's PITA to implement and not worth
the effort.


5. Appending to DOCS

   https://bugs.gentoo.org/show_bug.cgi?id=449806

That is, ability to install default docs + listed files. I doubt that
it's worth the effort, especially for einstalldocs.


What are your thoughts?

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Ulrich Mueller
 On Tue, 20 Aug 2013, Michał Górny wrote:

 1. Name

 - einstalldocs

   -- probably the least confusing one, consistent with emake

Go for it.

 2. Support for HTML_DOCS

I've no strong opinion about this one.

But if you are going to add it, then please support both array and
whitespace separated list, so that it's consistent with DOCS.

 3. Support DOCS=() / DOCS='' to disable dodoc

Yes, please. The EAPI 4 default_src_install is broken that it doesn't
handle this case.

 For example, hasufell has suggested checking ${DOCS// /} to support
 DOCS='   ' as well.

Looks like over-engineering to me. Are there any use cases for it?

 4. Globbing support in DOCS array
 5. Appending to DOCS

Creeping featurism. Define an explicit src_install if you need any of
these, and I'm sure it will improve readability of your ebuild.

Ulrich



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread hasufell
On 08/20/2013 01:54 PM, Ulrich Mueller wrote:
 For example, hasufell has suggested checking ${DOCS// /} to support
 DOCS='   ' as well.
 
 Looks like over-engineering to me. Are there any use cases for it?
 

No, just caution, so we don't have to realize that our default
src_install is broken again.

 4. Globbing support in DOCS array
 5. Appending to DOCS
 
 Creeping featurism. Define an explicit src_install if you need any of
 these, and I'm sure it will improve readability of your ebuild.
 

I don't see how defining phases explicitly improves readability which
even increases chances of overwriting phases by accident and having
further complications especially in multilib eclasses.

DOCS=( foo* )

looks pretty readable to me



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Sergey Popov
20.08.2013 16:08, hasufell пишет:
 I don't see how defining phases explicitly improves readability which
 even increases chances of overwriting phases by accident and having
 further complications especially in multilib eclasses.
 
 DOCS=( foo* )
 
 looks pretty readable to me
 

I am not for nor against this feature, but it would be nice to add
support for directories in DOCS variable. Cause, overwriting install
phase just to install directory with docs(instead of files) seems a bit
odd for me.

-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop Effects project lead
Gentoo Qt project lead
Gentoo Proxy maintainers project lead



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Michał Górny
Dnia 2013-08-20, o godz. 16:26:10
Sergey Popov pinkb...@gentoo.org napisał(a):

 20.08.2013 16:08, hasufell пишет:
  I don't see how defining phases explicitly improves readability which
  even increases chances of overwriting phases by accident and having
  further complications especially in multilib eclasses.
  
  DOCS=( foo* )
  
  looks pretty readable to me
  
 
 I am not for nor against this feature, but it would be nice to add
 support for directories in DOCS variable. Cause, overwriting install
 phase just to install directory with docs(instead of files) seems a bit
 odd for me.

Is there a future-eapi bug open for it? If not, please open one.

I myself don't have anything against plain 'dodoc -r'. But I wonder if
this isn't going to end up with people considering 'what if my
directory has .svn/CVS in it?'

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Michał Górny
Dnia 2013-08-20, o godz. 14:08:51
hasufell hasuf...@gentoo.org napisał(a):

 On 08/20/2013 01:54 PM, Ulrich Mueller wrote:
  4. Globbing support in DOCS array
  5. Appending to DOCS
  
  Creeping featurism. Define an explicit src_install if you need any of
  these, and I'm sure it will improve readability of your ebuild.
  
 
 I don't see how defining phases explicitly improves readability which
 even increases chances of overwriting phases by accident and having
 further complications especially in multilib eclasses.
 
 DOCS=( foo* )
 
 looks pretty readable to me

It doesn't work as expected. 'foo*' gets expanded in global scope, that
is in pwd. So it would have to be:

  DOCS=( 'foo*' )

And then we'd have to do some ugly hackery to whitespace-safe expand
that in einstalldocs. Scary.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Sergey Popov
20.08.2013 17:02, Michał Górny пишет:
 Is there a future-eapi bug open for it? If not, please open one.

I will, thanks

 I myself don't have anything against plain 'dodoc -r'. But I wonder if
 this isn't going to end up with people considering 'what if my
 directory has .svn/CVS in it?'
 

{ecvs,esvn}_clean FTGJ :-)

-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop Effects project lead
Gentoo Qt project lead
Gentoo Proxy maintainers project lead



signature.asc
Description: OpenPGP digital signature


Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Ian Stakenvicius
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA256

On 20/08/13 08:08 AM, hasufell wrote:
 On 08/20/2013 01:54 PM, Ulrich Mueller wrote:
 4. Globbing support in DOCS array 5. Appending to DOCS
 
 Creeping featurism. Define an explicit src_install if you need
 any of these, and I'm sure it will improve readability of your
 ebuild.
 
 
 I don't see how defining phases explicitly improves readability
 which even increases chances of overwriting phases by accident and
 having further complications especially in multilib eclasses.
 
 DOCS=( foo* )
 
 looks pretty readable to me
 

It'd also help if we were to ever want to add things to DOCS by
eclass, via DOCS+=.


-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)

iF4EAREIAAYFAlITc4YACgkQ2ugaI38ACPCYFAD/bNg+vbuieyX2shFNzv5bDIUn
NgTVcZCbIHoHKV1bis0A/0Q87yBZg2XQISbvhX8yEr0LUeSn6CM9mT/brFZNxTXP
=IFau
-END PGP SIGNATURE-



Re: [gentoo-dev] Staging 'einstalldocs' for EAPI 6

2013-08-20 Thread Alexis Ballier
On Tue, 20 Aug 2013 13:01:34 +0200
Michał Górny mgo...@gentoo.org wrote:

 3. Support DOCS=() / DOCS='' to disable dodoc
 
https://bugs.gentoo.org/show_bug.cgi?id=463736
 
 Well, this one is mostly what the bug is about. I think we should just
 do it. Implementation could be discussed a bit though.
 
 For example, hasufell has suggested checking ${DOCS// /} to support
 DOCS='   ' as well. IMO we shouldn't be supporting such a weird
 mistakes.
 

See https://bugs.gentoo.org/show_bug.cgi?id=481664

This is already allowed if one reads PMS the way that makes it work.