• Existing package splits into dependent subpackages -- best packaging pr

    From Dirk Eddelbuettel@21:1/5 to All on Tue Feb 18 21:00:02 2025
    Hi all,

    I have long maintained rpy2 (and rpy before) which provides a bridge from Python to R (which I tend to care more for), and am on friendly terms with
    its author. You can see my repo at salsa [1], it is pretty vanilla.

    The upcoming upstream release will split into three packages, all in the same source repo [2]. I am a casual Python user, and not all into packaging there (source or for Debian). But I can wondering that this arrangement must exist elsewhere. Is there a good pattern I can borrow to build (and then install ?) rpy2-interfaces to then build (and install ?) rpy2-objects to then build
    rpy2?

    Python users see these as independent as they are in three different PyPI packages.

    Is there a best or recommended way to approach this? CCs welcome, I am not subscribed to debian-python.

    Cheers, Dirk


    [1] https://salsa.debian.org/edd/rpy2
    [2] https://github.com/rpy2/rpy2
    --
    dirk.eddelbuettel.com | @eddelbuettel | [email protected]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Emmanuel Arias@21:1/5 to Dirk Eddelbuettel on Tue Feb 18 22:20:02 2025
    Hi!
    On Tue, Feb 18, 2025 at 01:54:19PM -0600, Dirk Eddelbuettel wrote:

    Hi all,

    I have long maintained rpy2 (and rpy before) which provides a bridge from Python to R (which I tend to care more for), and am on friendly terms with its author. You can see my repo at salsa [1], it is pretty vanilla.

    The upcoming upstream release will split into three packages, all in the same source repo [2]. I am a casual Python user, and not all into packaging there (source or for Debian). But I can wondering that this arrangement must exist elsewhere. Is there a good pattern I can borrow to build (and then install ?) rpy2-interfaces to then build (and install ?) rpy2-objects to then build rpy2?

    Seems very similar to basemap[0]

    [0] https://sources.debian.org/src/basemap/1.4.1-1/
    Python users see these as independent as they are in three different PyPI packages.

    Is there a best or recommended way to approach this? CCs welcome, I am not subscribed to debian-python.

    Cheers, Dirk


    [1] https://salsa.debian.org/edd/rpy2
    [2] https://github.com/rpy2/rpy2
    --
    dirk.eddelbuettel.com | @eddelbuettel | [email protected]

    --
    cheers,
    Emmanuel Arias

    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ [email protected]
    ⢿⡄⠘⠷⠚⠋⠀ OpenPGP: 13796755BBC72BB8ABE2AEB5 FA9DEC5DE11C63F1
    ⠈⠳⣄

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

    iQIzBAABCgAdFiEEE3lnVbvHK7ir4q61+p3sXeEcY/EFAme0+QkACgkQ+p3sXeEc Y/HT6xAAm7pOgSwg3TQyENtWaplZ1NpKilkWGNj8TwSsRX5tHZzfyjdy6GwhKRhh mkWJIM+9x6BBh14v3S9iVyFRjnPBRVB25TCcLgVNWNSq6iGhO8LXCRriz+lCWzjX HWpB2uNt4E146syaypy9O6s6LDOqI9tOTtDjhSl73Pi12VtyuomSmlGVwfvdnllj u4MIAwRaqQcvpsKPuGYclpTihnnsT/NAJaWoc/mk+xKsgP541SQIHjD56/BGnp4A xa0mzdf/PCtCHdG1Img7qPfUZL071l/FT+0enjp5BzanDfpxD+AZ86id6wASFg5F syjYff325TQljlENUSXRJZW9KLMNtwMJLVMJgIwV/d1KjDjN6EaDb1lWzjrOeFE1 zJaQo8KmDjQH89ObDJl9d9xuLPn6DLOKnzkgvmV79qsYWSJ0oZqCaYDcdqCKKvMI rBQ/Iy8j6WySX+wpLjzkkRY0+GWPBpNlFm36dEY/XjmgtODiAGLpLlPmJ6P4ccC8 j1lTE40zh90A0z5RoPZbDes5YeTxrqJrm5dDbySuvPIw6Wpn4jnZgAi/mnEEiVat nXzOMPpM7wN0ax1B9TrA7ET5zkLGjno1XsZ0gF0EIPMDBUEmt11+jd7HWkZ64uTG HLk001XvF7oH4d+FIee3qTJnZ5mN17NYT+XAja06jX7alBN
  • From Dirk Eddelbuettel@21:1/5 to Emmanuel Arias on Tue Feb 18 22:40:01 2025
    Hi Emanuel,

    Thanks for the prompt reply!

    On 18 February 2025 at 18:18, Emmanuel Arias wrote:
    | Hi!
    | On Tue, Feb 18, 2025 at 01:54:19PM -0600, Dirk Eddelbuettel wrote:
    | >
    | > Hi all,
    | >
    | > I have long maintained rpy2 (and rpy before) which provides a bridge from
    | > Python to R (which I tend to care more for), and am on friendly terms with | > its author. You can see my repo at salsa [1], it is pretty vanilla.
    | >
    | > The upcoming upstream release will split into three packages, all in the same
    | > source repo [2]. I am a casual Python user, and not all into packaging there
    | > (source or for Debian). But I can wondering that this arrangement must exist
    | > elsewhere. Is there a good pattern I can borrow to build (and then install ?)
    | > rpy2-interfaces to then build (and install ?) rpy2-objects to then build
    | > rpy2?
    | >
    | Seems very similar to basemap[0]
    |
    | [0] https://sources.debian.org/src/basemap/1.4.1-1/

    I may have been unclear in what I was looking for. If I read this correctly, then it "bends" the upstreeam layout to effectively undo the package split?

    I was thinking more along the lines of 'how do I create three binary Python packages that are interdependent from one source repo'. Is that doable?

    Dirk

    | > Python users see these as independent as they are in three different PyPI
    | > packages.
    | >
    | > Is there a best or recommended way to approach this? CCs welcome, I am not | > subscribed to debian-python.
    | >
    | > Cheers, Dirk
    | >
    | >
    | > [1] https://salsa.debian.org/edd/rpy2
    | > [2] https://github.com/rpy2/rpy2
    | > --
    | > dirk.eddelbuettel.com | @eddelbuettel | [email protected]
    |
    | --
    | cheers,
    | Emmanuel Arias
    |
    | ⢀⣴⠾⠻⢶⣦⠀
    | ⣾⠁⢠⠒⠀⣿⡁ [email protected]
    | ⢿⡄⠘⠷⠚⠋⠀ OpenPGP: 13796755BBC72BB8ABE2AEB5 FA9DEC5DE11C63F1
    | ⠈⠳⣄
    | x[DELETED ATTACHMENT signature.asc, application/pgp-signature]

    --
    dirk.eddelbuettel.com | @eddelbuettel | [email protected]

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Julian Gilbey@21:1/5 to Dirk Eddelbuettel on Sun Feb 23 23:40:01 2025
    Hi Dirk,

    On Tue, Feb 18, 2025 at 03:37:37PM -0600, Dirk Eddelbuettel wrote:

    Hi Emanuel,

    Thanks for the prompt reply!
    [...]
    | Seems very similar to basemap[0]
    |
    | [0] https://sources.debian.org/src/basemap/1.4.1-1/

    I may have been unclear in what I was looking for. If I read this correctly, then it "bends" the upstreeam layout to effectively undo the package split?

    I was thinking more along the lines of 'how do I create three binary Python packages that are interdependent from one source repo'. Is that doable?

    Plausibly, you could do similarly to basemap, but instead of
    installing everything into a single package, install it into three
    separate packages. But I haven't worked out the details, and don't
    know offhand of any examples. So feel free to ignore this suggestion!

    Best wishes,

    Julian

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Emmanuel Arias@21:1/5 to Dirk Eddelbuettel on Tue Feb 25 18:00:01 2025
    Hi!
    On Tue, Feb 18, 2025 at 03:37:37PM -0600, Dirk Eddelbuettel wrote:

    Hi Emanuel,

    Thanks for the prompt reply!

    On 18 February 2025 at 18:18, Emmanuel Arias wrote:
    | Hi!
    | On Tue, Feb 18, 2025 at 01:54:19PM -0600, Dirk Eddelbuettel wrote:
    | >
    | > Hi all,
    | >
    | > I have long maintained rpy2 (and rpy before) which provides a bridge from | > Python to R (which I tend to care more for), and am on friendly terms with
    | > its author. You can see my repo at salsa [1], it is pretty vanilla.
    | >
    | > The upcoming upstream release will split into three packages, all in the same
    | > source repo [2]. I am a casual Python user, and not all into packaging there
    | > (source or for Debian). But I can wondering that this arrangement must exist
    | > elsewhere. Is there a good pattern I can borrow to build (and then install ?)
    | > rpy2-interfaces to then build (and install ?) rpy2-objects to then build | > rpy2?
    | >
    | Seems very similar to basemap[0]
    |
    | [0] https://sources.debian.org/src/basemap/1.4.1-1/

    I may have been unclear in what I was looking for. If I read this correctly, then it "bends" the upstreeam layout to effectively undo the package split?

    I was thinking more along the lines of 'how do I create three binary Python packages that are interdependent from one source repo'. Is that doable?

    I've forgotten the python-deadlib case. It is one upsream source
    repository and 12 binary packages from different folders from upsream.
    Maybe that you was looking?

    cheers!
    Dirk

    | > Python users see these as independent as they are in three different PyPI | > packages.
    | >
    | > Is there a best or recommended way to approach this? CCs welcome, I am not
    | > subscribed to debian-python.
    | >
    | > Cheers, Dirk
    | >
    | >
    | > [1] https://salsa.debian.org/edd/rpy2
    | > [2] https://github.com/rpy2/rpy2
    | > --
    | > dirk.eddelbuettel.com | @eddelbuettel | [email protected]
    |
    | --
    | cheers,
    | Emmanuel Arias
    |
    | ⢀⣴⠾⠻⢶⣦⠀
    | ⣾⠁⢠⠒⠀⣿⡁ [email protected]
    | ⢿⡄⠘⠷⠚⠋⠀ OpenPGP: 13796755BBC72BB8ABE2AEB5 FA9DEC5DE11C63F1
    | ⠈⠳⣄
    | x[DELETED ATTACHMENT signature.asc, application/pgp-signature]

    --
    dirk.eddelbuettel.com | @eddelbuettel | [email protected]

    --
    cheers,
    Emmanuel Arias

    ⢀⣴⠾⠻⢶⣦⠀
    ⣾⠁⢠⠒⠀⣿⡁ [email protected]
    ⢿⡄⠘⠷⠚⠋⠀ OpenPGP: 13796755BBC72BB8ABE2AEB5 FA9DEC5DE11C63F1
    ⠈⠳⣄

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

    iQIzBAABCgAdFiEEE3lnVbvHK7ir4q61+p3sXeEcY/EFAme99g8ACgkQ+p3sXeEc Y/F6bA//SnVu+3wSCxi2y1l6aWmtDkBd2wwSJ1AzXWIcSzX/UkAFqzEyNeTIIfSY skEb1GIIBmQ5DfuLvybdD0JM6VNOb4RpFPLstAoiNVhMNSJPoCZA/PJqu1xmH5Ct hw/N1zLDwYxfVJkX2qEuQBI8eazsSpbDfZYtT0T5u1fQLWRRYeMxxR2broONv/On pGJ78Dsx4frJS1CaWcXtwVx+VNUs5g//Wq//J9EkDirWv14VnZDwRClHdZtXXupK XI/tNUBhIJX4tMyAwcn/bWJFaCSiiTUGd2c3fMzEFl9uQDljQIw0lKzTVsd5+647 QWsFz4Atnbm/EXffW8VRmOgfaeRzl9+eKuPsQmkeUyE0wBCUUTFYeybDxIZ9zf4Z a/ydUDaVt7UYlHtM3EPqmhecFSECKDfyK3vftTre4gDGbKrkeuMzABd1M5LvxjqW DCcFeoAOS0LLsTGipl9JIFs2fZkU5vWcN0Px6rZTnn08/AkKM90ea8ywPRc2nQD/ 3ZOchC3aesASVTqmjmvaks5AbY/dBkXtOyq4KXtSOcQUkxjXrAEqtJ7v2KroPl2A gNW0ZW9+INaduZImwyFJLtxTPCne/pxUf5zBNPK6rbMESnKq9V59wcKbL/oSTzPJ qs6uLtEeQOAhCeJGtH5Dlg203MQM03LVqHUuNc7trthl1Kh
  • From Dirk Eddelbuettel@21:1/5 to Emmanuel Arias on Tue Feb 25 18:30:01 2025
    Hi Emmanuel, (and also Hi! to Julian whom I owe a follow-up too),

    On 25 February 2025 at 13:55, Emmanuel Arias wrote:
    | On Tue, Feb 18, 2025 at 03:37:37PM -0600, Dirk Eddelbuettel wrote:
    | > I may have been unclear in what I was looking for. If I read this correctly,
    | > then it "bends" the upstreeam layout to effectively undo the package split? | >
    | > I was thinking more along the lines of 'how do I create three binary Python | > packages that are interdependent from one source repo'. Is that doable?
    | >
    | I've forgotten the python-deadlib case. It is one upsream source
    | repository and 12 binary packages from different folders from upsream.
    | Maybe that you was looking?

    Oh that looks very good. From a glance at debian/control some of these have interdependencies too. Ie python3-standard-aifc depends on python3-standard-chunk which is the para in front of it. And debian/rules is admirably simple. That may work. Then again the directory layout is a
    little different because they are all 'sibblings'.

    But as I have only three package, with the (old) "outer" package and two it needs as top-level directories in the main repo, maybe I can just line up the commands as per deadlib's loop.

    I am still mighty confused about how to (normal) install step will pick up
    the directories ... but the penny just dropped: as per the *.install files
    as you have it here. That could actually work. Yay.

    Dirk

    --
    dirk.eddelbuettel.com | @eddelbuettel | [email protected]

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