Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.maint.python > #7544

Python/LibraryStyleGuide: Executables and library packages dokonana przez BarryWarsaw

Path csiph.com!eternal-september.org!feeder.eternal-september.org!aioe.org!bofh.it!news.nic.it!robomod
From Piotr Ożarowski <piotr@debian.org>
Newsgroups linux.debian.maint.python
Subject Python/LibraryStyleGuide: Executables and library packages dokonana przez BarryWarsaw
Date Wed, 07 Oct 2015 23:40:02 +0200
Message-ID <qh4Bk-eo-15@gated-at.bofh.it> (permalink)
References <qh4Bk-eo-17@gated-at.bofh.it>
X-Original-To debian-python@lists.debian.org
X-Mailbox-Line From debian-python-request@lists.debian.org Wed Oct 7 21:34:47 2015
Old-Return-Path <ozarow@gmail.com>
X-Amavis-Spam-Status No, score=-12.5 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FORGED_FROMDOMAIN=0.198, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, LDO_WHITELIST=-5, PGPSIGNATURE=-5, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no
X-Policyd-Weight using cached result; rate:hard: -7
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:date:from:to:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition:in-reply-to :user-agent; bh=YcoBprcXjHdoHC+qmtrp8qXibHz47KZzGPSh69Epe6M=; b=FrnPzY27sbd9bXqMA7Q2kRWWAeL8OU84hxTMKn8lOUGyk9aFEVZa/Hfv2jIVd1VWuT dNaxG8z3t+y5fi5VUtsowiAMfgWrvZ0fUovFuDjJgNp0sP3JSwku6rc3ZX7KavSqSHaA cI/SaP2ArsBho0fdrRI8qx31yV89V5vhIJ0pWpJJrlkf2B/f+ar4jrTf1jY4JQOWn7vV QBYVlOkFLo35UnPMDnpnOkOKd8Rv+8Ae2tARjVXQBx7a4Y2jgYoWelh9rTMWr2E+aAXh Nijinu4ucHyksAXPBVoujBTQ3YLv2voWkinZEL8Lk1WA0z9F0OTMv/nX39B5vKk5Sl+Q 2drQ==
X-Received by 10.112.158.38 with SMTP id wr6mr1815047lbb.25.1444253672292; Wed, 07 Oct 2015 14:34:32 -0700 (PDT)
Sender robomod@news.nic.it
Mail-Followup-To debian-python@lists.debian.org
MIME-Version 1.0
Content-Type multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="mSxgbZZZvrAyzONB"
Content-Disposition inline
X-Operating-System Debian GNU/Linux (4.2.0-trunk-amd64)
User-Agent Mutt/1.5.24 (2015-08-30)
X-Mailing-List <debian-python@lists.debian.org> archive/latest/12855
List-ID <debian-python.lists.debian.org>
List-URL <https://lists.debian.org/debian-python/>
List-Archive https://lists.debian.org/msgid-search/20151007213428.GD3938@p1otr.com
Approved robomod@news.nic.it
Lines 86
Organization linux.* mail to news gateway
X-Original-Date Wed, 7 Oct 2015 23:34:28 +0200
X-Original-Message-ID <20151007213428.GD3938@p1otr.com>
X-Original-References <20151007200458.10642.47153@wilder.debian.org>
X-Original-Sender Piotr Ożarowski <ozarow@gmail.com>
Xref csiph.com linux.debian.maint.python:7544

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

[Debian Wiki, 2015-10-07]
> https://wiki.debian.org/Python/LibraryStyleGuide?action=diff&rev1=64&rev2=65
> 
>   
>   == Gotchas ==
>   
> + === Executables and library packages ===
> + 
> + Let's say you have a Python package which results in Python 2 and 3 libraries, and a Python 3 executable.  What is the best practices for naming and organizing your binary packages?
> + 
> + Clearly you want to have:
> + 
> +  * python-foo -- the Python 2 library
> +  * python3-foo -- the Python 3 library

     * foo -- for the executable (and possible additional dependencies that library doesn't need)

maybe extent it to:

     * python-foo -- the Python 2 library (and Python 2.X scripts if they're Python 2.X specific)
     * python3-foo -- the Python 3 library (and Python 3.X scripts if they're Python 3.X specific)

> + 
> + but where should the `/usr/bin/foo` script go?  You could put it in `python3-foo` but you '''CANNOT''' put it in `python-foo` or for that matter any binary package that starts with the `python-` prefix.  `dh_python3` refuses to rewrite shebang lines for any executable in a binary package that starts with "python-" or "pypy-".  This means that something like `python-foo-cli` or `python-foo-bin` is unacceptable.

I'd remove this part - it's not dh_python3 specific (dh_python2 and
dh_pypy does similar things) and I don't think such corner case should
be in style guide

> + 
> + Here are some recommendations.  We do not have a standard (though maybe we should):
> + 
> +  * `foo` - this is nice if it parallels the /usr/bin/foo name but it might collide with existing packages, and some people don't like to make such a claim on an unadorned top level package
> +  * `python3-foo-cli` or `python3-foo-bin` - not as nicely discoverable, but `command-not-found` can help, and dh_python3 will work

if someone creates python3-foo-cli binary just to ship /usr/bin/foo it
might as well be foo (if there are no /usr/bin/foo name collisions,
binary package name should be safe as well) so I'd remove it
-- 
Piotr Ożarowski                         Debian GNU/Linux Developer
www.ozarowski.pl          www.griffith.cc           www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645

Back to linux.debian.maint.python | Previous | NextNext in thread | Find similar


Thread

Python/LibraryStyleGuide: Executables and library packages dokonana  przez BarryWarsaw Piotr Ożarowski <piotr@debian.org> - 2015-10-07 23:40 +0200
  Re: Python/LibraryStyleGuide: Executables and library packages  dokonana przez BarryWarsaw Barry Warsaw <barry@debian.org> - 2015-10-08 00:10 +0200

csiph-web