On 08/04/2017 02:50 AM, Michał Górny wrote:
> 
> Why is it fine for you to handicap everyone else for your personal
> laziness? As it's been told more than once, you write ebuild *once*,
> people read it *multiple times*.

Look, I'm sorry if I've been overly confrontational. I emailed angry and
I know better. There's obviously two opinions on this and I don't want
to make your life any harder, either.

The write-once read-many discussion comes down to what you think is
easier to read, which can either mean literally read, or to develop on
top of. When verifying the URL in a submitted ebuild, I agree that the
no-variable form is easier to read and has the advantage that you can
just click the link on github to see if it works.

But on the other hand, in some of my own ebuilds, I find e.g.

  HOMEPAGE="https://github.com/${GITHUB_USER}/${PN}";

easier to read than the long expanded string -- it's obviously correct.

And, if I have two otherwise-identical ebuilds for PECL packages (whose
homepage is set in an eclass), then I would rather not have the HOMEPAGE
show up in a diff of the two. Having the whole thing abstracted in an
eclass makes it easier to maintain these packages.

All this is to say that "easy to read" is in the eye of the beholder.
For ebuilds in the tree, the beholder is usually the maintainer, which
is why I think the choice should be left up to him. Our ebuilds are bash
programs, and in source code, "as little duplication as possible" is a
strong contributor to "easy to read."


> When reviewing pull requests, submitted ebuilds etc. I *have to* verify
> this stuff. I don't have time to copy everything to a local tree just to
> get some random tool process it correctly and give me the value I need.
> Just to figure out there's some trivial issue that blocks any further
> progress, and I will have to do this again, and again, and again.
> Because someone thinks it's cool to save 5 bytes in variable references

On 08/04/2017 02:51 AM, Ulrich Mueller wrote:
> All very well, but it requires the ebuild to a) be parseable by the
> package manager and b) already exist inside of an ebuild repository.
> Which is for example not the case for a user contributed ebuild
> attached to bugzilla.


The two use cases cited above apply only to ebuilds outside of the tree,
but the proposed rule applies only to ebuilds inside of the tree.

Ultimately, you do need to add the ebuild to your local tree. If the
package manager can't even source it, you have bigger problems than the
HOMEPAGE. And even if everyone kept variables out of HOMEPAGE, you would
still need to verify things like SRC_URI with the help of the package
manager.

Your workflow is whatever it is and I'm not going to tell you it's wrong
or go out of my way to make it harder, and all I want is the same
consideration. You're never going to read my ebuilds, but I have to work
with them every day. And if you wanted to instate a rule for user
submissions, I wouldn't have a problem with that.

Reply via email to