public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] New Python application with multiple new dependencies
@ 2019-04-13 20:27 Ralph Seichter
  2019-04-13 21:03 ` Michał Górny
  0 siblings, 1 reply; 6+ messages in thread
From: Ralph Seichter @ 2019-04-13 20:27 UTC (permalink / raw
  To: gentoo-dev

Hi folks,

imagine a Python application "monty" with the following requirements
listed in setup.py:

  install_requires=[
    'ham>=1.0',
    'spam>=2.0',
    'eggs>=1.5'
  ]

If I want to add "monty" as a new Gentoo package, and if none of "ham",
"spam" and "eggs" are so far available as Gentoo packages, what is the
recommended way of handling this situation?

1. Create one pull request that contains separate commits for adding
each of the four Python packages?

2. Create four separate pull requests?

3. Find out there is an eclass I have missed so far which performs the
equivalent of "pip install monty" and create an ebuild based on it?

4. None of the above.

-Ralph


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] New Python application with multiple new dependencies
  2019-04-13 20:27 [gentoo-dev] New Python application with multiple new dependencies Ralph Seichter
@ 2019-04-13 21:03 ` Michał Górny
  2019-04-13 23:05   ` Brian Dolbec
  2019-04-14 12:44   ` Ralph Seichter
  0 siblings, 2 replies; 6+ messages in thread
From: Michał Górny @ 2019-04-13 21:03 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 840 bytes --]

On Sat, 2019-04-13 at 22:27 +0200, Ralph Seichter wrote:
> Hi folks,
> 
> imagine a Python application "monty" with the following requirements
> listed in setup.py:
> 
>   install_requires=[
>     'ham>=1.0',
>     'spam>=2.0',
>     'eggs>=1.5'
>   ]
> 
> If I want to add "monty" as a new Gentoo package, and if none of "ham",
> "spam" and "eggs" are so far available as Gentoo packages, what is the
> recommended way of handling this situation?

I presume you want to proxy-maintain all of those packages.

> 
> 1. Create one pull request that contains separate commits for adding
> each of the four Python packages?

This one.  We generally find it easier when we see the big picture
in one place.

By the way, there's gentoo-proxy-maint@ ml for this kind of questions.

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 963 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] New Python application with multiple new dependencies
  2019-04-13 21:03 ` Michał Górny
@ 2019-04-13 23:05   ` Brian Dolbec
  2019-04-14 12:44   ` Ralph Seichter
  1 sibling, 0 replies; 6+ messages in thread
From: Brian Dolbec @ 2019-04-13 23:05 UTC (permalink / raw
  To: gentoo-dev

On Sat, 13 Apr 2019 23:03:53 +0200
Michał Górny <mgorny@gentoo.org> wrote:

> On Sat, 2019-04-13 at 22:27 +0200, Ralph Seichter wrote:
> > Hi folks,
> > 
> > imagine a Python application "monty" with the following requirements
> > listed in setup.py:
> > 
> >   install_requires=[  
> >     'ham>=1.0',
> >     'spam>=2.0',
> >     'eggs>=1.5'  
> >   ]
> > 
> > If I want to add "monty" as a new Gentoo package, and if none of
> > "ham", "spam" and "eggs" are so far available as Gentoo packages,
> > what is the recommended way of handling this situation?  
> 
> I presume you want to proxy-maintain all of those packages.
> 
> > 
> > 1. Create one pull request that contains separate commits for adding
> > each of the four Python packages?  
> 
> This one.  We generally find it easier when we see the big picture
> in one place.
> 
> By the way, there's gentoo-proxy-maint@ ml for this kind of questions.
> 


Also, it is best to state that these new pkgs are a depencency of
"monty" in their commit messages.  It can be clearer as to why these
are in the tree if "monty" drops them as a dependency later and there
are no other reverse deps for them in the tree.

ie: app-foo/ham: New pkg, depencency of app-foo/monty-1.2.3


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] New Python application with multiple new dependencies
  2019-04-13 21:03 ` Michał Górny
  2019-04-13 23:05   ` Brian Dolbec
@ 2019-04-14 12:44   ` Ralph Seichter
  2019-04-14 20:58     ` Mike Gilbert
  1 sibling, 1 reply; 6+ messages in thread
From: Ralph Seichter @ 2019-04-14 12:44 UTC (permalink / raw
  To: gentoo-dev

* Michał Górny:

> I presume you want to proxy-maintain all of those packages.

I would want to maintain the "monty" application because it offers
functionality useful to me. I'm not particularly keen on maintaining
Python ebuilds required as dependencies by only one application.

Like everybody else, I have only a finite amount of time I can spend on
Gentoo packages. I usually start with a separate venv for Python apps so
I can "pip install ..." and make do without ebuilds.

-Ralph

P.S.: Thanks to you and Brian for your answers.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] New Python application with multiple new dependencies
  2019-04-14 12:44   ` Ralph Seichter
@ 2019-04-14 20:58     ` Mike Gilbert
  2019-04-14 22:05       ` Ralph Seichter
  0 siblings, 1 reply; 6+ messages in thread
From: Mike Gilbert @ 2019-04-14 20:58 UTC (permalink / raw
  To: Gentoo Dev

On Sun, Apr 14, 2019 at 8:44 AM Ralph Seichter <gentoo@seichter.de> wrote:
>
> * Michał Górny:
>
> > I presume you want to proxy-maintain all of those packages.
>
> I would want to maintain the "monty" application because it offers
> functionality useful to me. I'm not particularly keen on maintaining
> Python ebuilds required as dependencies by only one application.

Speaking on behalf of the python team, we are not particularly keen on
maintaining libraries that are only used by a single package. We have
too many packages to care for already.

> Like everybody else, I have only a finite amount of time I can spend on
> Gentoo packages. I usually start with a separate venv for Python apps so
> I can "pip install ..." and make do without ebuilds.

This is actually the approach I would suggest for most applications.
Not everything needs to be handled in an ebuild; often it just
increases the amount of busy work you end up doing.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [gentoo-dev] New Python application with multiple new dependencies
  2019-04-14 20:58     ` Mike Gilbert
@ 2019-04-14 22:05       ` Ralph Seichter
  0 siblings, 0 replies; 6+ messages in thread
From: Ralph Seichter @ 2019-04-14 22:05 UTC (permalink / raw
  To: gentoo-dev

* Mike Gilbert:

> Speaking on behalf of the python team, we are not particularly keen on
> maintaining libraries that are only used by a single package. We have
> too many packages to care for already.

I agree. I know about the various risks of dynamically installing
dependencies, but "pip install X" in virtual environments is very useful
nonetheless. Gentoo does not offer an equivalent (I'm not judging, just
saying), and it seems to me that is causing the Python team a large
amount of work, eating up resources that could be spent elsewhere.

> Not everything needs to be handled in an ebuild; often it just
> increases the amount of busy work you end up doing.

Ebuilds are great when an application needs config files, init scripts,
users/groups, and when app A connects to app B (for example, if there is
a milter there will also be an MTA calling it).

Two of the milters I am using happen to be written in Python. One
requires pymilter, so I created a PR introducing a pymilter ebuild. I'd
rather avoid that ebuild, because pymilter is an interface to libmilter
and of little use of its own, but other apps depend on it.

-Ralph


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2019-04-14 22:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-13 20:27 [gentoo-dev] New Python application with multiple new dependencies Ralph Seichter
2019-04-13 21:03 ` Michał Górny
2019-04-13 23:05   ` Brian Dolbec
2019-04-14 12:44   ` Ralph Seichter
2019-04-14 20:58     ` Mike Gilbert
2019-04-14 22:05       ` Ralph Seichter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox