1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
This package is maintained with git-buildpackage(1). It follows DEP-14 for
branch naming (e.g. using debian/master for the current version in Debian
unstable due Debian Python team policy).
It uses pristine-tar(1) to store enough information in git to generate bit
identical tarballs when building the package without having downloaded an
upstream tarball first.
When working with patches it is recommended to use "gbp pq import" to import
the patches, modify the source and then use "gbp pq export --commit" to commit
the modifications.
The changelog is generated using "gbp dch" so if you submit any changes don't
bother to add changelog entries but rather provide a nice git commit message
that can then end up in the changelog.
It is recommended to build the package with pbuilder using:
gbp buildpackage --git-pbuilder
For information on how to set up a pbuilder environment see the git-pbuilder(1)
manpage. In short:
DIST=sid git-pbuilder create
gbp clone https://salsa.debian.org/python-team/packages/strawberry-graphql.git
cd strawberry-graphql
gbp buildpackage --git-pbuilder
Current packaging status
------------------------
The packaging is while writing in early state. Not all features of the
upstream project will be usable as some packages missing in the archive of
Debian.
Based on https://github.com/strawberry-graphql/strawberry/blob/main/pyproject.toml [tool.poetry.group.dev.dependencies]
Dependencies/Suggestions for bin package strawberry-graphql
(Debian) Upstream Version
✅ (python3-asgiref) ............ asgiref (>=3.2,<4.0)
✅ (python3-email-validator) .... email-validator (>=1.1.3,<3.0.0)
✅ (python3-freezegun) .......... freezegun (>=1.2.1,<2.0.0)
✅ (python3-libcst) ............. libcst (>=1.8.2,<2.0.0)
✅ (python3-markupsafe) ......... MarkupSafe (>=2.1.3)
✅ (python3-nox) ................ nox (>=2024.4.15,<2025.0.0)
✅ (python3-opentelemetry-api) .. opentelemetry-api (<2)
✅ (python3-opentelemetry-sdk) .. opentelemetry-sdk (<2)
✅ (python3-pygments) ........... pygments (>=2.3,<3.0)
✅ (python3-python-multipart) ... python-multipart (>=0.0.7)
✅ (python3-rich) ............... rich (>=12.5.1)
✅ (typer) ...................... typer (>=0.12.4)
Dependencies for test suite
✅ (python3-opentelemetry-api) .. opentelemetry-api (<2)
✅ (python3-pyinstrument) ....... pyinstrument (>4.0.0)
✅ (python3-poetry-plugin-export) poetry-plugin-export (>=1.6.0,<2.0.0)
✅ (python3-urllib3) ............ urllib3 (<2)
✅ (python3-inline-snapshot) .... inline-snapshot (>=0.10.1,<0.11.0)
Replacing linkage to external referenced CSS and JS files
---------------------------------------------------------
Upstream is using three files for static data which are containing the
inclusion of external references to CSS and JS files.
---%<---
$ tree strawberry/static/ -f
strawberry/static
├── strawberry/static/apollo-sandbox.html
├── strawberry/static/graphiql.html
└── strawberry/static/pathfinder.html
1 directory, 3 files
...
$ grep "=\"https://" strawberry/static/*.html
strawberry/static/apollo-sandbox.html: <script src="https://embeddable-sandbox.cdn.apollographql.com/_latest/embeddable-sandbox.umd.production.min.js"></script>
strawberry/static/graphiql.html: src="https://unpkg.com/react@18.2.0/umd/react.production.min.js"
strawberry/static/graphiql.html: src="https://unpkg.com/react-dom@18.2.0/umd/react-dom.production.min.js"
strawberry/static/graphiql.html: src="https://unpkg.com/js-cookie@3.0.5/dist/js.cookie.min.js"
strawberry/static/graphiql.html: href="https://unpkg.com/graphiql@3.8.3/graphiql.min.css"
strawberry/static/graphiql.html: href="https://unpkg.com/@graphiql/plugin-explorer@1.0.2/dist/style.css"
strawberry/static/graphiql.html: src="https://unpkg.com/graphiql@3.8.3/graphiql.min.js"
strawberry/static/graphiql.html: src="https://unpkg.com/@graphiql/plugin-explorer@1.0.2/dist/index.umd.js"
strawberry/static/pathfinder.html: href="https://esm.sh/@pathfinder-ide/react@0.2.6/dist/style.css"
--->%---
To exclude these links within the Debian package we use at package
preparation times the helper script debian/get-minimized-files.py that does
basically:
* Looking for linking within these files to external resources.
* Download the references into debian/static.
* Do an unminimizing of the files and store the data in
debian/missing-sources.
At build time the variable PYBUILD_BEFORE_INSTALL is used in debian/rules to
modify the installed HTML data to use the local shipped static data.
Please note!
Removing the external linking and usage of CSS/JS data isn't complete and
will need further work. Even the JS files will contain other external
references which haven't investigated yet in deep! If you can help to
improve the situation please open a bug report or get in contact with the
package maintainers.
And also it's currently needed to run the script manually after a new
upstream version was imported, atm there is no further checking if this step
is needed and no automatic import of CSS/JS is happen!
-- Carsten Schoenert <c.schoenert@t-online.de> Sun, 23 Nov 2025 07:43:00 +0200
|