Commit graph

4887 commits

Author SHA1 Message Date
Jussi Kukkonen
2cc3df57a8
Merge pull request #1834 from theupdateframework/dependabot/pip/pycparser-2.21
build(deps): bump pycparser from 2.20 to 2.21
2022-02-08 13:11:45 +02:00
Jussi Kukkonen
b497180e6c
Merge pull request #1815 from ivanayov/metadata_docstrings_imprv
Improve docstrings language in Metadata API
2022-02-08 12:59:35 +02:00
Lukas Pühringer
f379e94817
Merge pull request #1837 from joshuagl/joshuagl/license
build: add license field to setup.cfg
2022-02-08 11:43:52 +01:00
Ivana Atanasova
9169fcb575 Update repetitive docstrings language in Metadata API
This change updates some obvious and unnecessary fields docs in the
Metadata API with more despriptive details

Signed-off-by: Ivana Atanasova <iyovcheva@vmware.com>
2022-02-08 12:43:11 +02:00
Ivana Atanasova
acf3df67ff Improve docstrings language in Metadata API - article
This change unifies as mush as the context allows and improves the
use of definite vs. indefinite vs. no article across docs in the
Metadata API. It sticks to no article in most cases for simplisity
and readability, but leaves definite article where it's strictly
necessary

Signed-off-by: Ivana Atanasova <iyovcheva@vmware.com>
2022-02-08 12:39:33 +02:00
Ivana Atanasova
40aef7ee23 Improve docstrings language in Metadata API - wording
This change unifies wording across docs in the Metadata API, like
Args vs. Arguments and same repetitive descriptions written
differently in different classes/methods

Signed-off-by: Ivana Atanasova <iyovcheva@vmware.com>
2022-02-08 12:37:23 +02:00
Ivana Atanasova
0feec0c5f5 Improve docstrings language in Metadata API - quotes
This change unifies quotes to double backtick across docs in the
Metadata API in order to provide better visualisation

Signed-off-by: Ivana Atanasova <iyovcheva@vmware.com>
2022-02-08 12:37:19 +02:00
Joshua Lock
d0846a9967 build: add license field to setup.cfg
List our licenses in the license field of setup.cfg

While the PyPA packaging documentation states that the license field is
optional[1] and that classifiers should be the main way to indicate
license, this field is used to populate the License printed by pip show.

1. https://packaging.python.org/en/latest/guides/distributing-packages-using-setuptools/#license

Fixes #1833

Signed-off-by: Joshua Lock <jlock@vmware.com>
2022-02-08 10:33:54 +00:00
Lukas Pühringer
9cda6e591f
Merge pull request #1796 from jku/accept-two-part-spec-version
Metadata API: Accept X.Y spec_version
2022-02-08 11:29:57 +01:00
Lukas Pühringer
0b2f98585c
Merge pull request #1820 from MVrachev/constructors-documentation
Add exceptions docs for __init__ and from_dict()
2022-02-08 10:21:18 +01:00
dependabot[bot]
95987254e8
build(deps): bump pycparser from 2.20 to 2.21
Bumps [pycparser](https://github.com/eliben/pycparser) from 2.20 to 2.21.
- [Release notes](https://github.com/eliben/pycparser/releases)
- [Changelog](https://github.com/eliben/pycparser/blob/master/CHANGES)
- [Commits](https://github.com/eliben/pycparser/compare/release_v2.20...release_v2.21)

---
updated-dependencies:
- dependency-name: pycparser
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-02-08 09:14:49 +00:00
Lukas Pühringer
0bc891fb2d
Merge pull request #1832 from jku/return-of-setup-py
Re-add setup.py to fix dependabot
2022-02-08 10:14:02 +01:00
Lukas Pühringer
c7da19911d
Merge pull request #1831 from MVrachev/small-tests
Add missing small tests
2022-02-08 09:42:32 +01:00
Lukas Pühringer
efc6877adf
Merge pull request #1829 from lukpueh/add-logo-rtd
doc: render tuf logo and favicon on rtd
2022-02-08 09:34:58 +01:00
Jussi Kukkonen
a622276fee build: Remove pylintrc from MANIFEST
pylint config lives in pyproject.toml nowadays.

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-08 09:34:28 +02:00
Jussi Kukkonen
891e1c76e8 build: Re-add setup.py
The Python build tools are fine without a setup.py but Dependabot
chokes: https://github.com/dependabot/dependabot-core/issues/4483

Add a setup.py to keep Dependabot happy.

Fixes #1828

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-08 09:12:28 +02:00
Jussi Kukkonen
a21036eaa1
Merge pull request #1830 from jku/pin-actions-hashes 2022-02-07 19:09:02 +02:00
Martin Vrachev
6db3f69b61 Add small missing tests
Add a test triggering the MetaFile version validation and a TargetFile
test accessing custom.

Signed-off-by: Martin Vrachev <mvrachev@vmware.com>
2022-02-07 17:07:48 +02:00
Jussi Kukkonen
ba911e07b2
Merge pull request #1825 from MVrachev/specification-version
Update supported specification version to 1.0.28
2022-02-07 16:44:26 +02:00
Jussi Kukkonen
92e49ad2a1 github: Pin actions hashes
This allows us to control when our workflows change.
Dependabot should now open PRs when the actions update.

This still leaves the actual OS image as a variable but Github does not
support pinning that: we'd have to start using our own containers (and
installing our own pythons, etc) to do that -- not worth the trouble.

Fixes #1826

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-07 15:32:23 +02:00
Martin Vrachev
5b2290cf42 Exceptions docs for __init__ and from_dict()
Document ValueError, KeyError and TypeError exceptions for __init__ and
from_dict() methods in Metadata API.

Signed-off-by: Martin Vrachev <mvrachev@vmware.com>
2022-02-07 15:19:03 +02:00
Lukas Puehringer
cf9af047a5 doc: render tuf logo and favicon on rtd
Configure docs to display
- tuf icon as favicon
- tuf horizontal logo (white) in navbar

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
2022-02-07 12:47:44 +01:00
Lukas Pühringer
70c7358040
Merge pull request #1800 from jku/document-serialization-hash-issue
Metadata API: Document serialization "repro" issue
2022-02-07 11:28:02 +01:00
Lukas Pühringer
8a0bb880be
Merge pull request #1827 from jku/do-dependabots-job-for-dependabot
Do dependabots job
2022-02-07 09:56:30 +01:00
Lukas Pühringer
1c46eebfdc
Merge pull request #1824 from jku/revert-pip-cache-disable
Revert "github: disable pip caching temporarily"
2022-02-07 09:38:21 +01:00
Jussi Kukkonen
3f3b921337 Metadata API: Document serialization "repro" issue
It's not obvious to casual reader that reading metadata and then
writing it might not always produce the same file. It's also not
immediately obvious why this matters.

Document both concepts.

Fixes #1392

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-06 18:06:11 +02:00
dependabot[bot]
cd95ff06dc build(deps): bump cryptography from 35.0.0 to 36.0.1
Bumps [cryptography](https://github.com/pyca/cryptography) from 35.0.0 to 36.0.1.
- [Release notes](https://github.com/pyca/cryptography/releases)
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/cryptography/compare/35.0.0...36.0.1)

---
updated-dependencies:
- dependency-name: cryptography
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-05 18:34:29 +02:00
dependabot[bot]
e2ce7e884b build(deps): bump charset-normalizer from 2.0.7 to 2.0.11
Bumps [charset-normalizer](https://github.com/ousret/charset_normalizer) from 2.0.7 to 2.0.11.
- [Release notes](https://github.com/ousret/charset_normalizer/releases)
- [Changelog](https://github.com/Ousret/charset_normalizer/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ousret/charset_normalizer/compare/2.0.7...2.0.11)

---
updated-dependencies:
- dependency-name: charset-normalizer
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-05 18:33:04 +02:00
dependabot[bot]
59064d5a72 build(deps): bump urllib3 from 1.26.7 to 1.26.8
Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.7 to 1.26.8.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst)
- [Commits](https://github.com/urllib3/urllib3/compare/1.26.7...1.26.8)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-05 18:32:08 +02:00
dependabot[bot]
a03381f193 build(deps): bump requests from 2.26.0 to 2.27.1
Bumps [requests](https://github.com/psf/requests) from 2.26.0 to 2.27.1.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](https://github.com/psf/requests/compare/v2.26.0...v2.27.1)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-05 18:31:25 +02:00
dependabot[bot]
7d4858817d build(deps): bump pynacl from 1.4.0 to 1.5.0
Bumps [pynacl](https://github.com/pyca/pynacl) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/pyca/pynacl/releases)
- [Changelog](https://github.com/pyca/pynacl/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pyca/pynacl/compare/1.4.0...1.5.0)

---
updated-dependencies:
- dependency-name: pynacl
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-05 18:31:11 +02:00
Jussi Kukkonen
1a59b292f4 Revert "github: disable pip caching temporarily"
This reverts commit 55d6cb47da.

According to changelog setup-python v2.3.2 should include a workaround
for the issue.

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-05 12:30:31 +02:00
Martin Vrachev
99a4d71b72 Update supported specification version to 1.0.28
I looked into all changes between our current version 1.0.19 and the
current version of the specification 1.0.28 and I agree with Jussi that
the only one not fully resolved is:
"8dafd00 (tag: v1.0.24) Clarify optional attributes" and more precisely
the changes from commit:
4dd279bc31

It doesn't make sense to have a target file without "paths" or
"path_hash_prefixes", so our `python-tuf requirement to have at least
one of them set makes sense.

Both with Jussi we agreed that we can easily loosen this requirement if
when solving https://github.com/theupdateframework/specification/issues/200
it's decided that both of them can be omitted,
but for now, we decided it's better to stick to our current requirement
to have one of them set.

Signed-off-by: Martin Vrachev <mvrachev@vmware.com>
2022-02-04 15:38:34 +02:00
lukpueh
31fd8d4f03
Merge pull request #1790 from lukpueh/rm-all
Rm all legacy
2022-02-04 14:01:53 +01:00
lukpueh
c25065fa74
Merge pull request #1823 from jku/fix-badge-link
README: Fix CI badge
2022-02-04 11:13:38 +01:00
Jussi Kukkonen
a8a7337504
Merge pull request #1810 from jku/fetcher-error-cleanup
ngclient: Make DownloadErrors more consistent
2022-02-04 11:30:21 +02:00
Jussi Kukkonen
537ce12c2b README: Fix CI badge
The URL was referring to an older workflow name which lead to a badge
that no longer updates based on CI results. This commit also changes to
using "actions/workflows/FILENAME/badge.svg" as current documentation
suggests.

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 11:09:10 +02:00
Jussi Kukkonen
e6f363273f ngclient: Small refactor, avoid isinstance
Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 11:03:12 +02:00
Jussi Kukkonen
6b079eefec ngclient: Add missing f to an f-string
Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 11:03:12 +02:00
Jussi Kukkonen
6718620d60 fetcher: docstring fix
Make the dosctring match the similar argument in download_bytes()

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 11:03:12 +02:00
Jussi Kukkonen
17f2ddff02 exceptions: rename FetcherHTTPError
I've not supported many renames but I'm suggesting this one:
FetcherHTTPError was created because we needed to signal 403/404
from the fetcher to updater. At that time the download error hierarchy
in general was not thought out.

Now we have a couple of different errors all derived from
DownloadError. I believe it does not make sense to point out "Fetcher"
in one of their names: DownloadHTTPError makes it clearer this is a
specific type of DownloadError.

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 11:03:12 +02:00
Jussi Kukkonen
4efd9496dc ngclient: Make DownloadErrors consistent
Fetcher interface should only raise DownloadErrors,
regardless of the implementation.
 * Make sure fetch() wraps non-DownloadError errors in a DownloadError
 * Make the abstract function private _fetch()
 * Try to be more consistent in doscstrings

This now makes the example client more sensible (when server does not
respond):
    $ ./client_example.py download qwerty
    ...
    Failed to download target qwerty: Failed to download url http://127.0.0.1:8000/metadata/2.root.json

(here the latter part of the error string comes from DownloadError
raised by FetcherInterface.fetch())

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 11:03:12 +02:00
lukpueh
67e2b24a6c
Merge pull request #1821 from jku/disable-pip-cache
github: disable pip caching temporarily
2022-02-04 09:51:16 +01:00
Jussi Kukkonen
55d6cb47da github: disable pip caching temporarily
setup-python fails on Windows currently
(https://github.com/actions/virtual-environments/issues/5009)
Disable caching to workaround the failure.

Signed-off-by: Jussi Kukkonen <jkukkonen@vmware.com>
2022-02-04 09:19:25 +02:00
lukpueh
215073e250
Merge pull request #1766 from jku/tests-sim-add-key-rotation
tests: Refactor key rotation in simulator
2022-02-03 13:29:23 +01:00
lukpueh
397af1a945
Merge pull request #1803 from jku/maintainer-permissions-reminder
CI: Add yearly reminder issue to review maintainers
2022-02-03 12:59:42 +01:00
lukpueh
735368a705
Merge pull request #1805 from jku/remove-ngclient-todos
ngclient: Remove obsolete TODOs
2022-02-03 11:02:24 +01:00
lukpueh
f0043eea61
Merge pull request #1794 from jku/remove-todos
Remove TODOs about too-many-arguments
2022-02-03 10:48:48 +01:00
Lukas Puehringer
9816c40d77 doc: update deprecation info in repo_example docs
Rephrase deprecation info in repo_example modules doc headers
to reflect that the deprecation has happened.

Signed-off-by: Lukas Puehringer <lukas.puehringer@nyu.edu>
2022-02-03 10:00:22 +01:00
Jussi Kukkonen
6c1dfce03f
Merge pull request #1814 from MVrachev/fix-black-linting 2022-02-01 13:10:51 +02:00