Skip to content

Commit 57bda2e

Browse files
committed
build(deps): unify pip-compile flags across all lockfiles ([#1138](#1138))
Add --strip-extras and --allow-unsafe to every pip-compile invocation and regenerate all lockfiles. setuptools is now hash-pinned instead of relying on a preinstalled build host; --strip-extras aligns with the upcoming pip-tools 8.0.0 default and the pre-commit lockfile.
1 parent 36af306 commit 57bda2e

11 files changed

Lines changed: 69 additions & 63 deletions

File tree

.github/pre-commit/requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=requirements.txt --strip-extras requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=requirements.txt --strip-extras requirements.in
66
#
77
cfgv==3.5.0 \
88
--hash=sha256:a8dc6b26ad22ff227d2634a65cb388215ce6cc96bbcc5cfde7641ae87e8dacc0 \

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
88

99
## [Unreleased]
1010

11-
tbd
11+
### Changed
12+
13+
Build, CI/CD:
14+
15+
* requirements: source-install lockfiles now pin every build dependency (including `setuptools`) with hashes, so `pip install --require-hashes` no longer relies on the build host having `setuptools` preinstalled ([#1138](https://github.com/Linuxfabrik/monitoring-plugins/issues/1138))
1216

1317

1418
## [v5.1.0] - 2026-05-30

lockfiles/py310/requirements.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.10
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py310/requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py310/requirements.txt --strip-extras requirements.in
66
#
77
--only-binary lxml
88

@@ -298,9 +298,7 @@ cryptography==48.0.0 \
298298
debtcollector==3.1.0 \
299299
--hash=sha256:278a45608cf16e79c0ae10851d869185c6b78f86610df8f27a451a18c1fec732 \
300300
--hash=sha256:c64e49a66c0b71289620fc2fdf89c03d740bddb20576ddd4f04ddc01da946668
301-
# via
302-
# oslo-utils
303-
# python-keystoneclient
301+
# via python-keystoneclient
304302
exceptiongroup==1.3.1 \
305303
--hash=sha256:8b412432c6055b0b7d14c310000ae93352ed6754f70fa8f7c34141f91c4e3219 \
306304
--hash=sha256:a7a39a3bd276781e98394987d3a5701d0c4edffb633bb7a5144577f82c773598
@@ -321,7 +319,7 @@ httpcore==1.0.9 \
321319
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
322320
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
323321
# via httpx
324-
httpx[http2]==0.28.1 \
322+
httpx==0.28.1 \
325323
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
326324
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
327325
# via linuxfabrik-lib
@@ -350,8 +348,8 @@ keystoneauth1==5.14.0 \
350348
# python-keystoneclient
351349
# python-novaclient
352350
linuxfabrik-lib==4.1.0 \
353-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
354-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
351+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
352+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
355353
# via -r requirements.in
356354
lxml==6.1.0 \
357355
--hash=sha256:00750d63ef0031a05331b9223463b1c7c02b9004cef2346a5b2877f0f9494dd2 \
@@ -946,7 +944,8 @@ xmltodict==1.0.4 \
946944
# linuxfabrik-lib
947945
# pywinrm
948946

949-
# WARNING: The following packages were not pinned, but pip requires them to be
950-
# pinned when the requirements file includes hashes and the requirement is not
951-
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
952-
# setuptools
947+
# The following packages are considered to be unsafe in a requirements file:
948+
setuptools==82.0.1 \
949+
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
950+
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
951+
# via pbr

lockfiles/py311/requirements.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.11
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py311/requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py311/requirements.txt --strip-extras requirements.in
66
#
77
--only-binary lxml
88

@@ -298,9 +298,7 @@ cryptography==48.0.0 \
298298
debtcollector==3.1.0 \
299299
--hash=sha256:278a45608cf16e79c0ae10851d869185c6b78f86610df8f27a451a18c1fec732 \
300300
--hash=sha256:c64e49a66c0b71289620fc2fdf89c03d740bddb20576ddd4f04ddc01da946668
301-
# via
302-
# oslo-utils
303-
# python-keystoneclient
301+
# via python-keystoneclient
304302
h11==0.16.0 \
305303
--hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \
306304
--hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
@@ -317,7 +315,7 @@ httpcore==1.0.9 \
317315
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
318316
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
319317
# via httpx
320-
httpx[http2]==0.28.1 \
318+
httpx==0.28.1 \
321319
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
322320
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
323321
# via linuxfabrik-lib
@@ -346,8 +344,8 @@ keystoneauth1==5.14.0 \
346344
# python-keystoneclient
347345
# python-novaclient
348346
linuxfabrik-lib==4.1.0 \
349-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
350-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
347+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
348+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
351349
# via -r requirements.in
352350
lxml==6.1.1 \
353351
--hash=sha256:05a82eb6e1530a64f26225b55cbd178113bd0b5af1c2b625f25e5296742c26d2 \
@@ -941,7 +939,8 @@ xmltodict==1.0.4 \
941939
# linuxfabrik-lib
942940
# pywinrm
943941

944-
# WARNING: The following packages were not pinned, but pip requires them to be
945-
# pinned when the requirements file includes hashes and the requirement is not
946-
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
947-
# setuptools
942+
# The following packages are considered to be unsafe in a requirements file:
943+
setuptools==82.0.1 \
944+
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
945+
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
946+
# via pbr

lockfiles/py312/requirements.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.12
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py312/requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py312/requirements.txt --strip-extras requirements.in
66
#
77
--only-binary lxml
88

@@ -298,9 +298,7 @@ cryptography==48.0.0 \
298298
debtcollector==3.1.0 \
299299
--hash=sha256:278a45608cf16e79c0ae10851d869185c6b78f86610df8f27a451a18c1fec732 \
300300
--hash=sha256:c64e49a66c0b71289620fc2fdf89c03d740bddb20576ddd4f04ddc01da946668
301-
# via
302-
# oslo-utils
303-
# python-keystoneclient
301+
# via python-keystoneclient
304302
h11==0.16.0 \
305303
--hash=sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1 \
306304
--hash=sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86
@@ -317,7 +315,7 @@ httpcore==1.0.9 \
317315
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
318316
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
319317
# via httpx
320-
httpx[http2]==0.28.1 \
318+
httpx==0.28.1 \
321319
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
322320
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
323321
# via linuxfabrik-lib
@@ -346,8 +344,8 @@ keystoneauth1==5.14.0 \
346344
# python-keystoneclient
347345
# python-novaclient
348346
linuxfabrik-lib==4.1.0 \
349-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
350-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
347+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
348+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
351349
# via -r requirements.in
352350
lxml==6.1.1 \
353351
--hash=sha256:05a82eb6e1530a64f26225b55cbd178113bd0b5af1c2b625f25e5296742c26d2 \
@@ -941,7 +939,8 @@ xmltodict==1.0.4 \
941939
# linuxfabrik-lib
942940
# pywinrm
943941

944-
# WARNING: The following packages were not pinned, but pip requires them to be
945-
# pinned when the requirements file includes hashes and the requirement is not
946-
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
947-
# setuptools
942+
# The following packages are considered to be unsafe in a requirements file:
943+
setuptools==82.0.1 \
944+
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
945+
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
946+
# via pbr

lockfiles/py313-windows/requirements.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py313-windows/requirements.txt requirements-py313-windows.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py313-windows/requirements.txt --strip-extras requirements-py313-windows.in
66
#
77
anyio==4.13.0 \
88
--hash=sha256:08b310f9e24a9594186fd75b4f73f4a4152069e3853f1ed8bfbf58369f4ad708 \
@@ -307,7 +307,7 @@ httpcore==1.0.9 \
307307
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
308308
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
309309
# via httpx
310-
httpx[http2]==0.28.1 \
310+
httpx==0.28.1 \
311311
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
312312
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
313313
# via linuxfabrik-lib
@@ -323,8 +323,8 @@ idna==3.17 \
323323
# httpx
324324
# requests
325325
linuxfabrik-lib==4.1.0 \
326-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
327-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
326+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
327+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
328328
# via -r requirements-py313-windows.in
329329
lxml==6.1.1 \
330330
--hash=sha256:05a82eb6e1530a64f26225b55cbd178113bd0b5af1c2b625f25e5296742c26d2 \

lockfiles/py313/requirements.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.13
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py313/requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py313/requirements.txt --strip-extras requirements.in
66
#
77
--only-binary lxml
88

@@ -317,7 +317,7 @@ httpcore==1.0.9 \
317317
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
318318
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
319319
# via httpx
320-
httpx[http2]==0.28.1 \
320+
httpx==0.28.1 \
321321
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
322322
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
323323
# via linuxfabrik-lib
@@ -346,8 +346,8 @@ keystoneauth1==5.14.0 \
346346
# python-keystoneclient
347347
# python-novaclient
348348
linuxfabrik-lib==4.1.0 \
349-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
350-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
349+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
350+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
351351
# via -r requirements.in
352352
lxml==6.1.1 \
353353
--hash=sha256:05a82eb6e1530a64f26225b55cbd178113bd0b5af1c2b625f25e5296742c26d2 \
@@ -940,7 +940,8 @@ xmltodict==1.0.4 \
940940
# linuxfabrik-lib
941941
# pywinrm
942942

943-
# WARNING: The following packages were not pinned, but pip requires them to be
944-
# pinned when the requirements file includes hashes and the requirement is not
945-
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
946-
# setuptools
943+
# The following packages are considered to be unsafe in a requirements file:
944+
setuptools==82.0.1 \
945+
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
946+
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
947+
# via pbr

lockfiles/py314/requirements.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.14
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py314/requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py314/requirements.txt --strip-extras requirements.in
66
#
77
--only-binary lxml
88

@@ -317,7 +317,7 @@ httpcore==1.0.9 \
317317
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
318318
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
319319
# via httpx
320-
httpx[http2]==0.28.1 \
320+
httpx==0.28.1 \
321321
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
322322
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
323323
# via linuxfabrik-lib
@@ -346,8 +346,8 @@ keystoneauth1==5.14.0 \
346346
# python-keystoneclient
347347
# python-novaclient
348348
linuxfabrik-lib==4.1.0 \
349-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
350-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
349+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
350+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
351351
# via -r requirements.in
352352
lxml==6.1.1 \
353353
--hash=sha256:05a82eb6e1530a64f26225b55cbd178113bd0b5af1c2b625f25e5296742c26d2 \
@@ -940,7 +940,8 @@ xmltodict==1.0.4 \
940940
# linuxfabrik-lib
941941
# pywinrm
942942

943-
# WARNING: The following packages were not pinned, but pip requires them to be
944-
# pinned when the requirements file includes hashes and the requirement is not
945-
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
946-
# setuptools
943+
# The following packages are considered to be unsafe in a requirements file:
944+
setuptools==82.0.1 \
945+
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
946+
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
947+
# via pbr

lockfiles/py39/requirements.txt

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# This file is autogenerated by pip-compile with Python 3.9
33
# by the following command:
44
#
5-
# pip-compile --generate-hashes --output-file=lockfiles/py39/requirements.txt requirements.in
5+
# pip-compile --allow-unsafe --generate-hashes --output-file=lockfiles/py39/requirements.txt --strip-extras requirements.in
66
#
77
--only-binary lxml
88

@@ -321,7 +321,7 @@ httpcore==1.0.9 \
321321
--hash=sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55 \
322322
--hash=sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8
323323
# via httpx
324-
httpx[http2]==0.28.1 \
324+
httpx==0.28.1 \
325325
--hash=sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc \
326326
--hash=sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad
327327
# via linuxfabrik-lib
@@ -350,8 +350,8 @@ keystoneauth1==5.11.1 \
350350
# python-keystoneclient
351351
# python-novaclient
352352
linuxfabrik-lib==4.1.0 \
353-
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb \
354-
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b
353+
--hash=sha256:245296937ef81dbaf447a6dc953eabfa74ad0fde9132ee5d973422d33556e29b \
354+
--hash=sha256:836198fcefc8204a96f72913407cf365158764f618e89caea80f3604a51756bb
355355
# via -r requirements.in
356356
lxml==6.1.0 \
357357
--hash=sha256:00750d63ef0031a05331b9223463b1c7c02b9004cef2346a5b2877f0f9494dd2 \
@@ -951,7 +951,8 @@ xmltodict==1.0.4 \
951951
# linuxfabrik-lib
952952
# pywinrm
953953

954-
# WARNING: The following packages were not pinned, but pip requires them to be
955-
# pinned when the requirements file includes hashes and the requirement is not
956-
# satisfied by a package already installed. Consider using the --allow-unsafe flag.
957-
# setuptools
954+
# The following packages are considered to be unsafe in a requirements file:
955+
setuptools==82.0.1 \
956+
--hash=sha256:7d872682c5d01cfde07da7bccc7b65469d3dca203318515ada1de5eda35efbf9 \
957+
--hash=sha256:a59e362652f08dcd477c78bb6e7bd9d80a7995bc73ce773050228a348ce2e5bb
958+
# via pbr

requirements-py313-windows.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
# python -m pip install 'pip<25.1' pip-tools
1111
# mkdir -p lockfiles/py313-windows
1212
# python -m piptools compile --generate-hashes \
13+
# --strip-extras --allow-unsafe \
1314
# --output-file=lockfiles/py313-windows/requirements.txt \
1415
# requirements-py313-windows.in
1516

0 commit comments

Comments
 (0)