Re: Old generated binary dependencies after renaming psycopg

2023-01-30 Thread Tomasz Rybak
On Tue, 2023-01-17 at 23:26 +, Scott Kitterman wrote:
> 
[ cut ]
> 
> You'll need to add a py3dist-overrides file in /debian.  The details are in 
> the dh-python or pybuild documentation.  I don't recall where.
> 

Thanks for tip. Summary, for others with similar problems:
Solution is described in dh-python documentation
(man dh_python3, section dependencies).

Mapping of name psyscopg to python3-psycopg3 is in file
/usr/share/dh-python/dist/cpython3_fallback, provided
by dh-python. It's quite long file, containing many
of such translations.

I created debian/python3-psycopg.pydist which got installed
to /usr/share/python3/dist/python3-psycopg, and provided proper
mapping. I guess when mapping in dh-python is fixed, I'll be
able to drop *.pydist files.

Best regards, and thanks for help!

-- 
Tomasz Rybak, Debian Developer 
GPG: A565 CE64 F866 A258 4DDC F9C7 ECB7 3E37 E887 AA8C


signature.asc
Description: This is a digitally signed message part


Re: Old generated binary dependencies after renaming psycopg

2023-01-17 Thread Scott Kitterman



On January 17, 2023 11:01:45 PM UTC, Tomasz Rybak  wrote:
>On Tue, 2023-01-17 at 09:20 +, Julian Gilbey wrote:
>> On Tue, Jan 17, 2023 at 09:08:01AM +0100, Tomasz Rybak wrote:
>> > Hello.
>> > After fixing #1016031 "psycopg3: binary package name should be python3-
>> > psycopg"
>> > (I renamed package names, full changes:
>> > * python3-psycopg3 -> python3-psycopg
>> > * python3-psycopg3-pool -> python3-psycopg-pool
>> > * python-psycopg3-doc -> python3-psycopg-doc)
>> > I tried to rebuild reverse dependencies,
>> > i.e. pgcli and python3-pgspecial.
>> > Rebuild went without problems, new packages are the same
>> > as old ones, but their binary packages still depend on python3-
>> > psycopg3,
>> > even though they build-depend on python3-psycopg.
>> 
>> Nope, pgcli does not build-depend on it, rather it explicitly
>> specifies Depends: python3-psycopg3.  Likewise, python-pgspecial
>> specifies the same Depends (though it also has a Build-Depends:
>> python3-psycopg3).  These packages will need their dependencies
>> updating.  (You might also consider making python3-psycopg Provides:
>> python3-psycopg3 and likewise for the other two binary packages for
>> bookworm.)
>> 
>
>No, this is not the problem.
>I checked (rebuilt packages with) different variants - with and
>without python3-psycopg[3] as explicit dependency. In all the cases
>dependency for python3-psycopg3 comes from ${python3:Depends}
>via  pgcli/debian/pgcli.substvars which contains
>python3:Depends=python3-cli-helpers, python3-click, python3-configobj,
>python3-pendulum, python3-pgspecial, python3-prompt-toolkit, python3-
>psycopg3, python3-pygments, python3-setproctitle, python3-sqlparse (>=
>0.3), python3:any.
>
>When python3-psycopg is in Depends in debian/control, it just gets
>added - so binary package's Depends contains it twice (once
>python3-psycopg3 from ${python3:Depends, once python3-psycopg
>mentioned explicitly; in case of pgcli the second one is versioned).
>
>Sample line from control file for pgcli, which contains both
>python3-psycopg and python3-psycopg3:
>Depends: python3-cli-helpers, python3-pendulum, python3-pgspecial (>=
>2), python3-pkg-resources, python3-prompt-toolkit (>= 3.0), python3-
>psycopg (>= 3.0.14), python3-sqlparse (>= 0.3), python3-tabulate,
>python3-terminaltables, python3-click, python3-configobj, python3-
>psycopg3, python3-pygments, python3-setproctitle, python3:any
>
>I tried to analyze dh_python3, but could not understand where exactly
>fills it in list of (additional) dependencies. They are generated
>somewhere between dh_python3, dhpython/pydist.py,
>and dhpython/depends.py (all files belong to package dh-python
>and are in /usr/share/dh-python).
>
>So - any tips how to fix it would be really helpful.

You'll need to add a py3dist-overrides file in /debian.  The details are in the 
dh-python or pybuild documentation.  I don't recall where.

Scott K



Re: Old generated binary dependencies after renaming psycopg

2023-01-17 Thread Tomasz Rybak
On Tue, 2023-01-17 at 09:20 +, Julian Gilbey wrote:
> On Tue, Jan 17, 2023 at 09:08:01AM +0100, Tomasz Rybak wrote:
> > Hello.
> > After fixing #1016031 "psycopg3: binary package name should be python3-
> > psycopg"
> > (I renamed package names, full changes:
> > * python3-psycopg3 -> python3-psycopg
> > * python3-psycopg3-pool -> python3-psycopg-pool
> > * python-psycopg3-doc -> python3-psycopg-doc)
> > I tried to rebuild reverse dependencies,
> > i.e. pgcli and python3-pgspecial.
> > Rebuild went without problems, new packages are the same
> > as old ones, but their binary packages still depend on python3-
> > psycopg3,
> > even though they build-depend on python3-psycopg.
> 
> Nope, pgcli does not build-depend on it, rather it explicitly
> specifies Depends: python3-psycopg3.  Likewise, python-pgspecial
> specifies the same Depends (though it also has a Build-Depends:
> python3-psycopg3).  These packages will need their dependencies
> updating.  (You might also consider making python3-psycopg Provides:
> python3-psycopg3 and likewise for the other two binary packages for
> bookworm.)
> 

No, this is not the problem.
I checked (rebuilt packages with) different variants - with and
without python3-psycopg[3] as explicit dependency. In all the cases
dependency for python3-psycopg3 comes from ${python3:Depends}
via  pgcli/debian/pgcli.substvars which contains
python3:Depends=python3-cli-helpers, python3-click, python3-configobj,
python3-pendulum, python3-pgspecial, python3-prompt-toolkit, python3-
psycopg3, python3-pygments, python3-setproctitle, python3-sqlparse (>=
0.3), python3:any.

When python3-psycopg is in Depends in debian/control, it just gets
added - so binary package's Depends contains it twice (once
python3-psycopg3 from ${python3:Depends, once python3-psycopg
mentioned explicitly; in case of pgcli the second one is versioned).

Sample line from control file for pgcli, which contains both
python3-psycopg and python3-psycopg3:
Depends: python3-cli-helpers, python3-pendulum, python3-pgspecial (>=
2), python3-pkg-resources, python3-prompt-toolkit (>= 3.0), python3-
psycopg (>= 3.0.14), python3-sqlparse (>= 0.3), python3-tabulate,
python3-terminaltables, python3-click, python3-configobj, python3-
psycopg3, python3-pygments, python3-setproctitle, python3:any

I tried to analyze dh_python3, but could not understand where exactly
fills it in list of (additional) dependencies. They are generated
somewhere between dh_python3, dhpython/pydist.py,
and dhpython/depends.py (all files belong to package dh-python
and are in /usr/share/dh-python).

So - any tips how to fix it would be really helpful.

Best regards.

-- 
Tomasz Rybak, Debian Developer 
GPG: A565 CE64 F866 A258 4DDC F9C7 ECB7 3E37 E887 AA8C


signature.asc
Description: This is a digitally signed message part


Re: Old generated binary dependencies after renaming psycopg

2023-01-17 Thread Julian Gilbey
On Tue, Jan 17, 2023 at 09:08:01AM +0100, Tomasz Rybak wrote:
> Hello.
> After fixing #1016031 "psycopg3: binary package name should be python3-
> psycopg"
> (I renamed package names, full changes:
> * python3-psycopg3 -> python3-psycopg
> * python3-psycopg3-pool -> python3-psycopg-pool
> * python-psycopg3-doc -> python3-psycopg-doc)
> I tried to rebuild reverse dependencies,
> i.e. pgcli and python3-pgspecial.
> Rebuild went without problems, new packages are the same
> as old ones, but their binary packages still depend on python3-
> psycopg3,
> even though they build-depend on python3-psycopg.

Nope, pgcli does not build-depend on it, rather it explicitly
specifies Depends: python3-psycopg3.  Likewise, python-pgspecial
specifies the same Depends (though it also has a Build-Depends:
python3-psycopg3).  These packages will need their dependencies
updating.  (You might also consider making python3-psycopg Provides:
python3-psycopg3 and likewise for the other two binary packages for
bookworm.)

Best wishes,

   Julian



Old generated binary dependencies after renaming psycopg

2023-01-17 Thread Tomasz Rybak
Hello.
After fixing #1016031 "psycopg3: binary package name should be python3-
psycopg"
(I renamed package names, full changes:
* python3-psycopg3 -> python3-psycopg
* python3-psycopg3-pool -> python3-psycopg-pool
* python-psycopg3-doc -> python3-psycopg-doc)
I tried to rebuild reverse dependencies,
i.e. pgcli and python3-pgspecial.
Rebuild went without problems, new packages are the same
as old ones, but their binary packages still depend on python3-
psycopg3,
even though they build-depend on python3-psycopg.

I analysed build process and this dependency comes from
*.substvars file (e.g. pgcli/debian/pgcli.substvars)
which is generated by dh-python.
Apt search shows both python3-psycopg3 (in old version)
and python3-psycopg, so I suspect the former gets taken
in as binary dependency to be used.

What can I do to fix it? Should I ask ftp-masters to remove old
packages, or will the problem fix itself in the next few days?

Best regards.

-- 
Tomasz Rybak, Debian Developer 
GPG: A565 CE64 F866 A258 4DDC F9C7 ECB7 3E37 E887 AA8C


signature.asc
Description: This is a digitally signed message part