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


Groups > linux.debian.bugs.dist > #1264007 > unrolled thread

Bug#1116866: python-odmantic: FTBFS with the nocheck build profile

Started bySantiago Vila <sanvila@debian.org>
First post2025-09-30 17:00 +0200
Last post2025-10-13 17:20 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#1116866: python-odmantic: FTBFS with the nocheck build profile Santiago Vila <sanvila@debian.org> - 2025-09-30 17:00 +0200
    Bug#1116866: python-odmantic: FTBFS with the nocheck build profile Santiago Vila <sanvila@debian.org> - 2025-10-13 13:00 +0200
      Bug#1116866: python-odmantic: FTBFS with the nocheck build profile Colin Watson <cjwatson@debian.org> - 2025-10-13 14:40 +0200
    Bug#1116866: python-odmantic: FTBFS with the nocheck build profile Colin Watson <cjwatson@debian.org> - 2025-10-13 17:10 +0200
      Bug#1116866: python-odmantic: FTBFS with the nocheck build profile Santiago Vila <sanvila@debian.org> - 2025-10-13 17:20 +0200

#1264007 — Bug#1116866: python-odmantic: FTBFS with the nocheck build profile

FromSantiago Vila <sanvila@debian.org>
Date2025-09-30 17:00 +0200
SubjectBug#1116866: python-odmantic: FTBFS with the nocheck build profile
Message-ID<LAJZF-1Jrz-61@gated-at.bofh.it>
Package: src:python-odmantic
Version: 1.0.2-5
Severity: important
Tags: forky sid ftbfs
User: debian-qa@lists.debian.org
Usertags: ftbfs-nocheck-profile

Dear maintainer:

During a rebuild of all packages in unstable using the nocheck build profile,
your package failed to build.

Below you will find how the build ends (probably the most relevant part,
but not necessarily). If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202509/

A wiki page discussing how to reproduce bugs in this category and
possible solutions is available here:

https://wiki.debian.org/qa.debian.org/FTBFS/Nocheck

(It's a wiki, so you are welcome to contribute)

[ Note: This is RC, but I will wait at least two weeks before raising
the severities, there are a lot of gcc-15 and CMake 4 bugs open now ].

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:python-odmantic, so that this is still
visible in the BTS web page for this package.

Thanks.

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean --buildsystem=pybuild
   dh_auto_clean -O--buildsystem=pybuild
   dh_autoreconf_clean -O--buildsystem=pybuild
   debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
rm -rf .mypy_cache .pytest_cache
dh_clean
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
 debian/rules binary
dh binary --buildsystem=pybuild
   dh_update_autotools_config -O--buildsystem=pybuild
   dh_autoreconf -O--buildsystem=pybuild
   dh_auto_configure -O--buildsystem=pybuild
   debian/rules override_dh_auto_build
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_auto_build
I: pybuild plugin_pyproject:129: Building wheel for python3.13 with "build" module
I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_odmantic  
* Building wheel...
Successfully built odmantic-1.0.2-py3-none-any.whl
I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module
PYTHONPATH=`dirname $(find .pybuild/ -type d -name "*odmantic*dist-info" | head -n1)` \
    python3 -m mkdocs build -v -d html
DEBUG   -  Loading configuration file: /<<PKGBUILDDIR>>/mkdocs.yml
DEBUG   -  Loaded theme configuration for 'material' from '/usr/lib/python3/dist-packages/material/templates/mkdocs_theme.yml': {'language': 'en', 'direction': None, 'features': [], 'font': {'text': 'Roboto', 'code': 'Roboto Mono'}, 'icon': None, 'favicon': 'assets/images/favicon.png', 'static_templates': ['404.html']}
DEBUG   -  Config value 'config_file_path' = '/<<PKGBUILDDIR>>/mkdocs.yml'
DEBUG   -  Config value 'site_name' = 'ODMantic'
DEBUG   -  Config value 'nav' = [{'Getting Started': 'index.md'}, 'fields.md', 'modeling.md', 'engine.md', 'querying.md', 'raw_query_usage.md', 'usage_fastapi.md', 'usage_pydantic.md', {'API Reference': [{'odmantic.model': './api_reference/model.md'}, {'odmantic.engine': './api_reference/engine.md'}, {'odmantic.session': './api_reference/session.md'}, {'odmantic.query': './api_reference/query.md'}, {'odmantic.field': './api_reference/field.md'}, {'odmantic.reference': './api_reference/reference.md'}, {'odmantic.index': './api_reference/index.md'}, {'odmantic.bson': './api_reference/bson.md'}, {'odmantic.exceptions': './api_reference/exceptions.md'}, {'odmantic.config': './api_reference/config.md'}]}, 'contributing.md', 'changelog.md', 'migration_guide.md']
DEBUG   -  Config value 'pages' = None
DEBUG   -  Config value 'exclude_docs' = None
DEBUG   -  Config value 'draft_docs' = None
DEBUG   -  Config value 'not_in_nav' = None
DEBUG   -  Config value 'site_url' = 'https://art049.github.io/odmantic/'
DEBUG   -  Config value 'site_description' = 'AsyncIO MongoDB ODM (Object Document Mapper) using python type hinting'
DEBUG   -  Config value 'site_author' = None
DEBUG   -  Config value 'theme' = Theme(name='material', dirs=['/usr/lib/python3/dist-packages/material/templates', '/usr/lib/python3/dist-packages/mkdocs/templates'], static_templates={'404.html', 'sitemap.xml'}, name='material', locale=Locale('en'), language='en', direction=None, features=['instant', 'content.tabs.link'], font={'text': 'Roboto', 'code': 'Roboto Mono'}, icon={'logo': 'material/spa', 'repo': 'fontawesome/brands/github'}, favicon='assets/images/favicon.png', palette=[{'media': '(prefers-color-scheme: light)', 'scheme': 'default', 'primary': 'green', 'accent': 'green', 'toggle': {'icon': 'material/weather-night', 'name': 'Switch to dark mode'}}, {'media': '(prefers-color-scheme: dark)', 'scheme': 'slate', 'primary': 'green', 'accent': 'green', 'toggle': {'icon': 'material/weather-sunny', 'name': 'Switch to light mode'}}])
DEBUG   -  Config value 'docs_dir' = '/<<PKGBUILDDIR>>/docs'
DEBUG   -  Config value 'site_dir' = '/<<PKGBUILDDIR>>/html'
DEBUG   -  Config value 'copyright' = None
DEBUG   -  Config value 'google_analytics' = None
DEBUG   -  Config value 'dev_addr' = _IpAddressValue(host='127.0.0.1', port=8000)
DEBUG   -  Config value 'use_directory_urls' = False
DEBUG   -  Config value 'repo_url' = 'https://github.com/art049/odmantic'
DEBUG   -  Config value 'repo_name' = 'art049/odmantic'
DEBUG   -  Config value 'edit_uri_template' = None
DEBUG   -  Config value 'edit_uri' = 'edit/master/docs/'
DEBUG   -  Config value 'extra_css' = ['css/extra.css']
DEBUG   -  Config value 'extra_javascript' = ['js/gitter.js', 'https://sidecar.gitter.im/dist/sidecar.v1.js']
DEBUG   -  Config value 'extra_templates' = ['sitemap.xml']
DEBUG   -  Config value 'markdown_extensions' = ['toc', 'tables', 'fenced_code', 'admonition', 'attr_list', 'def_list', 'codehilite', 'pymdownx.snippets', 'pymdownx.tabbed', 'pymdownx.superfences', 'pymdownx.details', 'pymdownx.inlinehilite', 'pymdownx.magiclink', 'pymdownx.emoji']
DEBUG   -  Config value 'mdx_configs' = {'toc': {'permalink': True, 'toc_depth': 4}, 'codehilite': {'linenums': True, 'guess_lang': False}, 'pymdownx.snippets': {'base_path': 'docs/examples_src', 'check_paths': True}, 'pymdownx.tabbed': {'alternate_style': True}, 'pymdownx.magiclink': {'user': 'art049', 'repo': 'odmantic', 'repo_url_shorthand': True}, 'pymdownx.emoji': {'emoji_index': <function twemoji at 0x7fcdc78f7e20>}}
DEBUG   -  Config value 'strict' = False
DEBUG   -  Config value 'remote_branch' = 'gh-pages'
DEBUG   -  Config value 'remote_name' = 'origin'
DEBUG   -  Config value 'extra' = {'social': [{'icon': 'fontawesome/brands/github', 'link': 'https://github.com/art049'}, {'icon': 'fontawesome/brands/twitter', 'link': 'https://twitter.com/art049'}, {'icon': 'fontawesome/brands/linkedin', 'link': 'https://www.linkedin.com/in/arthur-pastel-a08579112'}], 'analytics': {'provider': 'google', 'property': 'UA-180814888-1'}}
DEBUG   -  Config value 'plugins' = {'material/search': <material.plugins.search.plugin.SearchPlugin object at 0x7fcdc67ff230>, 'macros': <mkdocs_macros.plugin.MacrosPlugin object at 0x7fcdc6847230>, 'mkdocstrings': <mkdocstrings._internal.plugin.MkdocstringsPlugin object at 0x7fcdc6847380>}
DEBUG   -  Config value 'hooks' = {}
DEBUG   -  Config value 'watch' = ['/<<PKGBUILDDIR>>/odmantic', '/<<PKGBUILDDIR>>/docs']
DEBUG   -  Config value 'validation' = {'nav': {'omitted_files': 20, 'not_found': 30, 'absolute_links': 20}, 'links': {'not_found': 30, 'absolute_links': 20, 'unrecognized_links': 20, 'anchors': 20}}
DEBUG   -  Running `startup` event from plugin 'material/search'
DEBUG   -  Running `config` event from plugin 'material/search'
DEBUG   -  Looking for translations for locale 'en'
DEBUG   -  No translations found here: '/usr/lib/python3/dist-packages/mkdocs/templates/locales'
DEBUG   -  No translations found here: '/usr/lib/python3/dist-packages/material/templates/locales'
DEBUG   -  Looking for translations for locale 'en'
DEBUG   -  No translations found here: '/usr/lib/python3/dist-packages/mkdocs/templates/locales'
DEBUG   -  No translations found here: '/usr/lib/python3/dist-packages/material/templates/locales'
DEBUG   -  Looking for translations for locale 'en'
DEBUG   -  No translations found here: '/usr/lib/python3/dist-packages/mkdocs/templates/locales'
DEBUG   -  No translations found here: '/usr/lib/python3/dist-packages/material/templates/locales'
DEBUG   -  Running `config` event from plugin 'macros'
DEBUG   -  [macros] - Configuring the macros environment...
DEBUG   -  [macros] - Macros arguments
 {'module_name': 'docs/main', 'modules': [], 'render_by_default': True, 'force_render_paths': '', 'include_dir': '', 'include_yaml': [], 'j2_block_start_string': '', 'j2_block_end_string': '', 'j2_variable_start_string': '', 'j2_variable_end_string': '', 'j2_comment_start_string': '', 'j2_comment_end_string': '', 'on_undefined': 'keep', 'on_error_fail': False, 'verbose': False}
DEBUG   -  [macros] - Project dir '/<<PKGBUILDDIR>>'
INFO    -  [macros] - Found local Python module 'docs/main' in: /<<PKGBUILDDIR>>
INFO    -  [macros] - Found external Python module 'docs/main' in: /<<PKGBUILDDIR>>
INFO    -  [macros] - Functions found: define_env,on_pre_page_macros,on_post_page_macros,on_post_build
DEBUG   -  [macros] - Docs directory: /<<PKGBUILDDIR>>/docs
DEBUG   -  [macros] - Includes directory: /<<PKGBUILDDIR>>/docs
DEBUG   -  [macros] - Undefined behavior: <class 'jinja2.runtime.DebugUndefined'>
DEBUG   -  [macros] - End of environment config
DEBUG   -  Running `config` event from plugin 'mkdocstrings'
DEBUG   -  mkdocstrings: Adding extension to the list
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/usr/lib/python3/dist-packages/mkdocs/__main__.py", line 370, in <module>
    cli()
    ~~~^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1161, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1082, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1697, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 1443, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/click/core.py", line 788, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/mkdocs/__main__.py", line 288, in build_command
    build.build(cfg, dirty=not clean)
    ~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mkdocs/commands/build.py", line 265, in build
    config = config.plugins.on_config(config)
  File "/usr/lib/python3/dist-packages/mkdocs/plugins.py", line 587, in on_config
    return self.run_event('config', config)
           ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mkdocs/plugins.py", line 566, in run_event
    result = method(item, **kwargs)
  File "/usr/lib/python3/dist-packages/mkdocstrings/_internal/plugin.py", line 154, in on_config
    handlers._download_inventories()
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib/python3/dist-packages/mkdocstrings/_internal/handlers/base.py", line 738, in _download_inventories
    handler = self.get_handler(handler_name)
  File "/usr/lib/python3/dist-packages/mkdocstrings/_internal/handlers/base.py", line 716, in get_handler
    self._handlers[name] = module.get_handler(**kwargs)
                           ~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mkdocstrings_handlers/python/_internal/handler.py", line 422, in get_handler
    config=PythonConfig.from_data(**handler_config),
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/mkdocstrings_handlers/python/_internal/config.py", line 1169, in from_data
    return cls(**cls.coerce(**data))
TypeError: PythonConfig.__init__() got an unexpected keyword argument 'rendering'
make[1]: *** [debian/rules:40: override_dh_auto_build] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:32: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

[toc] | [next] | [standalone]


#1265898

FromSantiago Vila <sanvila@debian.org>
Date2025-10-13 13:00 +0200
Message-ID<LForv-4ROG-5@gated-at.bofh.it>
In reply to#1264007

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

tags 1116866 patch
thanks

Hello. The attached patch would solve this issue.

I would fix it myself via team upload, but I can't even clone the
repository (see below).

I think the underlying problem is that docs/img/usage_fastapi_swagger.png
is not a real file but an external reference using GIT-LFS which still
points to github, probably because the salsa repo was created as a
filesystem snapshot of a lfs-enabled checkout.

I'm not sure this is even DFSG-compliant. Our source code is supposed
to be self-contained. I guess the right fix would involve dowloading
the released tar.gz from github:

https://github.com/art049/odmantic/archive/refs/tags/v1.0.2.tar.gz

where "usage_fastapi_swagger.png" is the real file, and then use
some +ds suffix for the new orig.tar.gz.

Thanks.

-------------------------------------------------------------------------------
$ debcheckout -a python-odmantic 
declared git repository at git@salsa.debian.org:python-team/packages/python-odmantic.git
git clone https://salsa.debian.org/python-team/packages/python-odmantic.git python-odmantic ...
Cloning into 'python-odmantic'...
remote: Enumerating objects: 331, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (273/273), done.
remote: Total 331 (delta 61), reused 285 (delta 35), pack-reused 0 (from 0)
Receiving objects: 100% (331/331), 185.99 KiB | 300.00 KiB/s, done.
Resolving deltas: 100% (61/61), done.
Downloading docs/img/usage_fastapi_swagger.png (75 KB)
Error downloading object: docs/img/usage_fastapi_swagger.png (8b4ce24): Smudge error: Error downloading docs/img/usage_fastapi_swagger.png (8b4ce248fa26e05f17accc3bbadf995f5afb973fd0e6b50c2140fbcd49fec1d6): [8b4ce248fa26e05f17accc3bbadf995f5afb973fd0e6b50c2140fbcd49fec1d6] Object does not exist on the server or you don't have permissions to access it: [404] Object does not exist on the server or you don't have permissions to access it

Errors logged to '/tmp/tmp/python-odmantic/.git/lfs/logs/20251013T124014.427877425.log'.
Use `git lfs logs last` to view the log.
error: external filter 'git-lfs filter-process' failed
fatal: docs/img/usage_fastapi_swagger.png: smudge filter lfs failed
warning: Clone succeeded, but checkout failed.
You can inspect what was checked out with 'git status'
and retry with 'git restore --source=HEAD :/'

checkout failed (the command above returned a non-zero exit code)
-------------------------------------------------------------------------------

[toc] | [prev] | [next] | [standalone]


#1265905

FromColin Watson <cjwatson@debian.org>
Date2025-10-13 14:40 +0200
Message-ID<LFq0h-4SWU-3@gated-at.bofh.it>
In reply to#1265898
On Mon, Oct 13, 2025 at 12:54:00PM +0200, Santiago Vila wrote:
>Hello. The attached patch would solve this issue.

Applied and uploaded, thanks.

>I would fix it myself via team upload, but I can't even clone the
>repository (see below).
>
>I think the underlying problem is that docs/img/usage_fastapi_swagger.png
>is not a real file but an external reference using GIT-LFS which still
>points to github, probably because the salsa repo was created as a
>filesystem snapshot of a lfs-enabled checkout.
>
>I'm not sure this is even DFSG-compliant. Our source code is supposed
>to be self-contained. I guess the right fix would involve dowloading
>the released tar.gz from github:
>
>https://github.com/art049/odmantic/archive/refs/tags/v1.0.2.tar.gz
>
>where "usage_fastapi_swagger.png" is the real file, and then use
>some +ds suffix for the new orig.tar.gz.

Yes, I ran into this with my previous upload and worked around it in 
some horrible way involving adding an upstream remote, but it's clearly 
unacceptable.  I did as you suggest.

A fresh clone now _almost_ works, but you may have to argue with 
.gitattributes; I couldn't think of anything I could do about that.  I 
found that the following procedure worked, though:

   $ git clone https://salsa.debian.org/python-team/packages/python-odmantic.git
   Cloning into 'python-odmantic'...
   remote: Enumerating objects: 360, done.
   remote: Counting objects: 100% (360/360), done.
   remote: Compressing objects: 100% (292/292), done.
   remote: Total 360 (delta 76), reused 306 (delta 44), pack-reused 0 (from 0)
   Receiving objects: 100% (360/360), 259.07 KiB | 470.00 KiB/s, done.
   Resolving deltas: 100% (76/76), done.
   Encountered 1 file that should have been a pointer, but wasn't:
           docs/img/usage_fastapi_swagger.png
   $ cd python-odmantic/
   $ dgit setup-gitattributes
   $ git restore .

-- 
Colin Watson (he/him)                              [cjwatson@debian.org]

[toc] | [prev] | [next] | [standalone]


#1265928

FromColin Watson <cjwatson@debian.org>
Date2025-10-13 17:10 +0200
Message-ID<LFslr-4UGR-1@gated-at.bofh.it>
In reply to#1264007
On Mon, Oct 13, 2025 at 04:26:15PM +0200, Carsten Schoenert wrote:
>Am 13.10.25 um 14:10 schrieb Colin Watson:
>>A fresh clone now _almost_ works, but you may have to argue with
>>.gitattributes; I couldn't think of anything I could do about that.  I
>>found that the following procedure worked, though:
>>
>>    $ git clone https://salsa.debian.org/python-team/packages/python-odmantic.git
>>    Cloning into 'python-odmantic'...
>>    remote: Enumerating objects: 360, done.
>>    remote: Counting objects: 100% (360/360), done.
>>    remote: Compressing objects: 100% (292/292), done.
>>    remote: Total 360 (delta 76), reused 306 (delta 44), pack-reused 0 (from 0)
>>    Receiving objects: 100% (360/360), 259.07 KiB | 470.00 KiB/s, done.
>>    Resolving deltas: 100% (76/76), done.
>>    Encountered 1 file that should have been a pointer, but wasn't:
>>            docs/img/usage_fastapi_swagger.png
>>    $ cd python-odmantic/
>>    $ dgit setup-gitattributes
>>    $ git restore .
>
>The repository has a file debian/README.source that explains how the 
>whole thing is handled. Kathara and I followed the suggested way to 
>work with gbp within the DPT and it works always flawless.

I'm familiar with how to work with gbp within the DPT, but neither the 
team policy nor this document touches on the problem at hand.

(I just checked; if you don't have git-lfs installed, a simple clone 
works, so it's possible that that would have worked around the problem.  
But I don't expect to have to uninstall git plugins just in order to 
work on a package.)

>Kathara and I always did start with archives from GitHub based on the 
>tags, so no, it's not was made by some git checkout. Never.

You were using uscan mode=git, which does a git clone and archives the 
result locally.  For a tree involving git-lfs objects, the result will 
probably depend on whether you had git-lfs installed or something like 
that.

I changed this to use the archives provided by GitHub itself, which 
don't have that problem: they resolve the git-lfs references into actual 
files.

>I haven't any special setup to handle a file .gitattributes and I also 
>don't encounter the problems you try to solve.
>Here is and always was that file a "normal" file.

When I ran into the same problem myself I worked around it, but when 
Santiago ran into it too on an independent system it was clear that 
there was something at least a bit specialized going on, even if it was 
by accident.

It wasn't just a git problem.  You can tell that the file was _not_ a 
"normal" file as follows:

   $ tar xOf python-odmantic_1.0.2.orig.tar.gz python-odmantic-1.0.2/docs/img/usage_fastapi_swagger.png
   version https://git-lfs.github.com/spec/v1
   oid sha256:8b4ce248fa26e05f17accc3bbadf995f5afb973fd0e6b50c2140fbcd49fec1d6
   size 75423

That's clearly a bug.  We shouldn't have objects like that in source 
packages.

>It seems also to me you mixing up two potential issues, one is the bug 
>report was about and another is the problems you see around git usage.

Not at all; I fixed separate things in separate commits, which is 
normal.  And the resulting git tree is identical except for the affected 
file (I checked very carefully), so it really shouldn't cause a problem 
for you.

The difference between the unpacked old and new tarballs is precisely 
the following:

   $ diff -ruN 1.0.2 1.0.2+ds1
   Binary files 1.0.2/docs/img/usage_fastapi_swagger.png and 1.0.2+ds1/docs/img/usage_fastapi_swagger.png differ
   $ ls -l 1.0.2/docs/img/usage_fastapi_swagger.png
   -rw-r--r-- 1 cjwatson cjwatson 130 Apr 27  2024 1.0.2/docs/img/usage_fastapi_swagger.png
   $ ls -l 1.0.2+ds1/docs/img/usage_fastapi_swagger.png
   -rw-r--r-- 1 cjwatson cjwatson 75423 Apr 27  2024 1.0.2+ds1/docs/img/usage_fastapi_swagger.png
   $ file 1.0.2/docs/img/usage_fastapi_swagger.png 1.0.2+ds1/docs/img/usage_fastapi_swagger.png
   1.0.2/docs/img/usage_fastapi_swagger.png:     ASCII text
   1.0.2+ds1/docs/img/usage_fastapi_swagger.png: PNG image data, 1565 x 1244, 8-bit/color RGBA, non-interlaced

This is surely uncontroversially better.  And for the next release, the 
+ds1 wart can go away.

>I also don't understand really why now a hectically work on this 
>package is needed. Rom wasn't build in a day!

The last time I had to work on python-odmantic, it was because of 
difficult interactions with pydantic, which I had to do in a rush 
because of a slightly underplanned transition not started by me.

In this case, it wasn't exactly hectic, just that nobody else had dealt 
with an important bug filed on 30 September so I didn't see a problem 
with going ahead and applying a fix for it while it was at the end of my 
inbox.  And if I could make things easier both for myself and for other 
people working on the same package while I was at it, then why not?

-- 
Colin Watson (he/him)                              [cjwatson@debian.org]

[toc] | [prev] | [next] | [standalone]


#1265930

FromSantiago Vila <sanvila@debian.org>
Date2025-10-13 17:20 +0200
Message-ID<LFsv7-4UKH-9@gated-at.bofh.it>
In reply to#1265928
On Mon, Oct 13, 2025 at 04:07:12PM +0100, Colin Watson wrote:

> It wasn't just a git problem.  You can tell that the file was _not_ a
> "normal" file as follows:
> 
>   $ tar xOf python-odmantic_1.0.2.orig.tar.gz python-odmantic-1.0.2/docs/img/usage_fastapi_swagger.png
>   version https://git-lfs.github.com/spec/v1
>   oid sha256:8b4ce248fa26e05f17accc3bbadf995f5afb973fd0e6b50c2140fbcd49fec1d6
>   size 75423
> 
> That's clearly a bug.  We shouldn't have objects like that in source
> packages.

More to the point: The autobuilders were using a broken orig.tar.gz
to build broken binaries, and this may be checked easily in a trixie
chroot by doing this:

apt-get download python-odmantic-doc
dpkg -c python-odmantic-doc_1.0.2-4_all.deb | grep usage_fastapi_swagger.png

-rw-r--r-- root/root       130 2025-07-22 06:12 ./usr/share/doc/python-odmantic-doc/html/img/usage_fastapi_swagger.png

That was not the intended PNG file to be distributed inside python-odmantic-doc.deb.

Thanks.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web