leycec / raiagent

Third-party Gentoo overlay. Ride the Lagrangian point between awesomeness and volatile compounds.
32 stars 14 forks source link

Add powerline release 1.0 #14

Closed ZyX-I closed 10 years ago

ZyX-I commented 10 years ago

There was no official renaming. PyPI name is not project name.

By the way, I see that “Revert app-{misc,vim}/powerline-status” touches imule files. That had to be not part of the reverted commit.

leycec commented 10 years ago

There was no official renaming. PyPI name is not project name.

I understand that. Nonetheless, the tarball prefix (powerline-status) is the default ebuild name. Ebuilds which share the same names as their tarball prefixes are simpler to maintain, requiring no changes to core variables (e.g., ${PN}, ${P}, ${S}).

But it's not just that: the old ebuild names were inherently confusing. app-vim/powerline installs the old non-Python Powerline, while app-misc/powerline installed the new Python Powerline. Hence, emerge powerline fails with an ambiguous error message. Even more confusingly, the descriptions for both ebuilds are the exact same!

The new ebuild names are significantly clearer. "powerline-status" always corresponds to the new Python Powerline, while "powerline" will always correspond to the old non-Python Powerline (after eliminating app-misc/powerline, anyway). And eliminating ambiguity is a good thing. It's a win-win.

So. app-misc/powerline and app-vim/powerline-python have been superseded by app-misc/powerline-status and app-vim/powerline-status and will be removed at some future date. I probably won't accept any new changes to either app-vim/powerline-python or app-misc/powerline (except critical bug-fixes, of course!). In other words, I'm afraid I'll probably close this request.

If you feel strongly about this (...and I suspect you do), you might want to consider launching your own overlay. I'm happy to relinquish both of these ebuilds into your control. Fortunately, registering new overlays is fairly simple. See this blog post for details.

Whatever your decision, thank-you for the frequent pull requests. You're awesome.

ZyX-I commented 10 years ago

I was thinking that you used powerline-python for emerge to not bother you with specifying app-misc: I have no app-vim/powerline. If you think that users having app-vim/powerline is a common situation then using powerline-status without official renaming actually makes things less clear: after your renaming user wanting powerline will do emerge powerline… and get the old vim-only version which they probably did not want (I hope so). In the current situation they will be forced by emerge to investigate the issue. Using app-misc/powerline with USE=vim is clearer regardless of what is there in app-vim (I would actually name this app-vim/powerline-plugin or something like this: with USE=vim it is not needed to bother user with knowing about app-vim/* and this variant slightly better resembles the contents).

And about variables:

  1. The only variable needed to override is S.
  2. I do not see any problems with any archive names in SRC_URI (including github name which was just 1.0.zip (except that I would obviously have a conflict with any other package whose maintainer shares the same thought)).
  3. Having ${PN}/${P} in both variables makes any sense only if you are expecting rebranding. Since ${P} is not used in

    1. ebuild name,
    2. variable names like POWERLINE_SRC_DIR,
    3. powerline-specific function names like powerline_set_config_var_to_value,
    4. directory and file names,
    5. messages in pkg_postinst

    such “rebranding preparations” will immediately show their uselessness on the next rebranding (if any). And if you will want to do real preparations… you will have to use P=powerline because powerline-status is referenced in exactly two places in powerline repository, and also in the archive name and inner archive directory.

leycec commented 10 years ago

I was thinking that you used powerline-python for emerge to not bother you with specifying app-misc: I have no app-vim/powerline.

While the raiagent overlay doesn't provide app-vim/powerline, the gentoo-zh overlay does. That's the trouble with decentralization: some wise guy from upper Mongolia always thinks he knows better. Unsurprisingly, zugaina's search results for "powerline" are almost comically impossible to parse at the moment.

That said, your next points are spot on:

After your renaming user wanting powerline will do emerge powerline… and get the old vim-only version which they probably did not want (I hope so).

That's true, and a definite argument in favor of app-misc/powerline.

I would actually name [app-vim/powerline-python to] app-vim/powerline-plugin or something like this...

That's also true.

O.K., O.K. You've convinced me, Nikolai. You're right. In light of that grim realization, here's what we're going to do:

leycec commented 10 years ago

It is done. Due to recent edits to app-misc/powerline-status and app-vim/powerline-status (e.g., readme.gentoo support), I (...of course) couldn't automatically merge your pull request. Instead, I've manually merged your most recent changes with mine. Again.

Users subscribing to both raiagent and gentoo-zh may want to mask the obsolete powerline ebuild provided by the latter by adding the following line to /etc/portage/package.mask:

app-misc/powerline::gentoo-zh

Thus concludes the sordid tale of Powerline 1.0.