• Versioneer [was Re: a review of your bumblebee-status package]

    From Timo =?utf-8?Q?R=C3=B6hling?=@21:1/5 to All on Tue Jun 7 16:30:01 2022
    Hi everyone,

    * Ben Westover <kwestover.kw@gmail.com> [2022-06-06 22:42]:
    As far as I understand it, this file is used by the author of the
    program, not end users. I don't understand it well, though, because I >haven't put much time into researching what versioneer even does.
    Versioneer is meant to simplify version tracking for the developer;
    it supports a number of authoritative sources such as "git
    describe" to determine the current version number. There are two
    modes of operation:

    - in developer mode, versioneer detects the version number
    dynamically. This is what you'll see if you use the (Git)
    repository sources.
    - in install mode, the release version number is statically
    embedded. This is what you'll see if
    you download from PyPI.

    Internally, these modes are realized by two different _version.py
    files; the developer version is usually added to version control,
    and the setuptools "build" and "sdist" steps are
    intercepted to insert the static _version.py as needed.

    In my experience, it Just Works with pybuild, so I wouldn't bother
    with any special treatment; the versioneer.py source is public
    domain, so you're not going to run into any licensing issues.


    Cheers
    Timo


    --
    ⢀⣴⠾⠻⢶⣦⠀ ╭────────────────────────────────────────────────────╮
    ⣾⠁⢠⠒⠀⣿⡁ │ Timo Röhling │
    ⢿⡄⠘⠷⠚⠋⠀ │ 9B03 EBB9 8300 DF97 C2B1 23BF CC8C 6BDD 1403 F4CA │
    ⠈⠳⣄⠀⠀⠀⠀ ╰────────────────────────────────────────────────────╯

    -----BEGIN PGP SIGNATURE-----

    iQGzBAABCgAdFiEEJvtDgpxjkjCIVtam+C8H+466LVkFAmKfXNYACgkQ+C8H+466 LVngSQwAjR7vb7EZGMZBS4/xvVuPZWIiFjVJTvRnmSto3Go6gTTQ7ulNgg9TtTlB rzHFKGbThJMC2c5dY61eSMA8BOoM9Z5PJVGTcAA/DxlgQEZz9fUw91E8xU4mEw1E eTntUUNmfj8OrNMGxJsHUe1Ovhs8q8wVx4uKyd/Ky/xFNDAYRtVjWWmbcxgm4qBs TxSokeibHe37FkdktGv75JgaBKRXsy56Xe9ZIAOJ6fQGgeXTQ55gkD3kEJvIJJie 1pGcJWjG+TawRUfONMDyBZFIASKbiGeEUFt6KhpEoB+a3OHoIR9iTIA9X/P+zPeb OLAz8uyJ1fZPh1z9cgKinyZPRAOUkqtFmyufC5j19oj
  • From Paul Wise@21:1/5 to All on Wed Jun 8 03:30:01 2022
    On Tue, 2022-06-07 at 16:12 +0200, Timo Röhling wrote:

    Versioneer is meant to simplify version tracking for the developer;
    it supports a number of authoritative sources such as "git
    describe" to determine the current version number. There are two
    modes of operation:

    - in developer mode, versioneer detects the version number
       dynamically. This is what you'll see if you use the (Git)
       repository sources.
    - in install mode, the release version number is statically
       embedded. This is what you'll see if
       you download from PyPI.

    Internally, these modes are realized by two different _version.py
    files; the developer version is usually added to version control,
    and the setuptools "build" and "sdist" steps are
    intercepted to insert the static _version.py as needed.

    Personally I would not use the _version.py file from PyPI.

    Sounds like the more correct thing to do is clone the GitHub repo,
    check out the tag that Debian will use, run the build step, save the
    generated _version.py file, add a patch containing that _version.py to
    the Debian source package and generate an orig.tar from `git archive`.

    Alternatively, upstream could switch from versioneer to flit-scm or setuptools-scm, which both allow reporting the version number through
    an environment variable, which IIRC pybuild does automatically.

    Upstream should really drop the vendored versioneer either way though.

    --
    bye,
    pabs

    https://wiki.debian.org/PaulWise

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEEYQsotVz8/kXqG1Y7MRa6Xp/6aaMFAmKf+Y4ACgkQMRa6Xp/6 aaOAzRAAkOvFUOReczmxXzLhYK8npOfd6dQXp6uxnJb9MRkEfcL0wAChK9m3gSCD EJ1FRwrNC944QuCeiIFIQ79Pm4b6ivB0xPZfWbrGaBm+o5Mh37vEv71B/jGT6scu pcigwpEDCp73NEVlQYFZ+Vus+/vBCbvw+t9HPzfiuilDJYygnmnXPaC4LL5qiZCT R0FOzxKlgCDeZ35+2JA7yMtxURCDC8UyMrGG2dky+FhtZO+Y26TpBYhLjN6t2MUB MDb0r823R86z/ztGhg0J18RJQygGeGSPQmJhEzSvDx8BjCJvyEKo/ip2NGHV2Jsd 8L1g2tYPq+1IEdBNr/IS+4/DGLWYgG+9pF9jrc87rSzV5mtMg1JeoG6GyOquPseC O2A9Y8TjYSSNmZeiSh5snAY78eH4M3JbGPs3LeVpSMxlERIYFCOhOfiHoT5EOxuU e6PVpEfNbVqox2zXwJNwdb1HN9iaUhVKyXrlSeYKirBTsn2W7b5RUua6LtSXlqIC UMbDPL5hb7xzYOdXatpTzoQGVlnAfpbJvCZSmPPNdUTf9CBC7Xf9CmAzdc9aIb3J uRB3sgdvhjtt+VjijEEQ9k+vRK4jwBsI0U9oVi6hgBpSppjY+yuQfwnjV3dd8yRp /XXNbtv1mHiESt3LsY17iDUet+wYQa7Z84AeaBfe7L5eZSA3h14=
    =VGcP
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)