Re: Old generated binary dependencies after renaming psycopg
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
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
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
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
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