diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3d8c99d8c..5f77f5519 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -89,12 +89,12 @@ jobs: python-version: '3.9' - name: Verify requirements run: | - ./travis/compile_requirements.sh ubuntu_requirements ubuntu + ./travis/compile_requirements.sh ubuntu - name: Upload requirements to GitHub artifacts uses: actions/upload-artifact@v4 with: name: ubuntu-requirements - path: ubuntu_requirements/ + path: requirements/ retention-days: 3 - name: Set up run: | @@ -126,12 +126,12 @@ jobs: virtualenv "${HOME}/INSTALL" - name: Verify requirements run: | - ./travis/compile_requirements.sh osx_requirements osx + ./travis/compile_requirements.sh osx - name: Upload requirements to GitHub artifacts uses: actions/upload-artifact@v4 with: name: osx-requirements - path: osx_requirements/ + path: requirements/ retention-days: 3 - name: Build installers run: | @@ -156,12 +156,12 @@ jobs: - uses: actions/checkout@v4 - name: Verify requirements run: | - ./travis/compile_requirements.sh centos_requirements + ./travis/compile_requirements.sh centos - name: Upload requirements to GitHub artifacts uses: actions/upload-artifact@v4 with: name: centos-requirements - path: centos_requirements/ + path: requirements/ retention-days: 3 - name: Build installers run: | @@ -197,12 +197,12 @@ jobs: python-version: '3.9' - name: Verify requirements run: | - .\travis\compile_requirements.bat windows_requirements + .\travis\compile_requirements.bat - name: Upload requirements to GitHub artifacts uses: actions/upload-artifact@v4 with: name: windows-requirements - path: windows_requirements/ + path: requirements/ retention-days: 3 - name: Build installers shell: bash diff --git a/Dockerfile b/Dockerfile index 2dfed8790..4a3a78e77 100644 --- a/Dockerfile +++ b/Dockerfile @@ -80,25 +80,15 @@ WORKDIR ${GRR_SOURCE} RUN ${VIRTUAL_ENV}/bin/python -m pip install --require-hashes \ -r travis/requirements/ubuntu.txt -RUN ${VIRTUAL_ENV}/bin/python -m pip install --no-deps --no-index \ - -e grr/proto - -RUN ${VIRTUAL_ENV}/bin/python -m pip install --no-deps --no-index \ - -e grr/core - -RUN ${VIRTUAL_ENV}/bin/python -m pip install --no-deps --no-index \ - -e grr/client - -RUN ${VIRTUAL_ENV}/bin/python -m pip install --no-deps --no-index \ - -e grr/server - -RUN ${VIRTUAL_ENV}/bin/python -m pip install --no-deps --no-index \ - -e grr/client_builder RUN ${VIRTUAL_ENV}/bin/python -m pip install --no-deps --no-index \ + -e grr/proto \ + -e grr/core \ + -e grr/client \ + -e grr/server \ + -e grr/client_builder \ -e api_client/python - RUN ${VIRTUAL_ENV}/bin/python grr/proto/makefile.py && \ ${VIRTUAL_ENV}/bin/python grr/core/grr_response_core/artifacts/makefile.py diff --git a/api_client/python/requirements.in b/api_client/python/requirements.in index 0b79a5771..1e2366244 100644 --- a/api_client/python/requirements.in +++ b/api_client/python/requirements.in @@ -1,5 +1,5 @@ cryptography>=3.3.2 -ipython==7.15.0 -requests==2.32.3 -setuptools -Werkzeug==2.1.2 +requests>=2.25.1,<3 +Werkzeug>=2.1.2,<3 +# only required for shell +ipython==7.15.0 \ No newline at end of file diff --git a/api_client/python/setup.py b/api_client/python/setup.py index 007764019..38a3988ef 100644 --- a/api_client/python/setup.py +++ b/api_client/python/setup.py @@ -20,70 +20,70 @@ def get_config(): - """Get INI parser with version.ini data.""" - # TODO(hanuszczak): See comment in `setup.py` for `grr-response-proto`. - ini_path = os.path.join(THIS_DIRECTORY, "version.ini") + """Get INI parser with version.ini data.""" + # TODO(hanuszczak): See comment in `setup.py` for `grr-response-proto`. + ini_path = os.path.join(THIS_DIRECTORY, "version.ini") + if not os.path.exists(ini_path): + ini_path = os.path.join(THIS_DIRECTORY, "../../version.ini") if not os.path.exists(ini_path): - ini_path = os.path.join(THIS_DIRECTORY, "../../version.ini") - if not os.path.exists(ini_path): - raise RuntimeError("Couldn't find version.ini") + raise RuntimeError("Couldn't find version.ini") - config = configparser.ConfigParser() - config.read(ini_path) - return config + config = configparser.ConfigParser() + config.read(ini_path) + return config class Sdist(sdist): - """Build sdist.""" + """Build sdist.""" - def make_release_tree(self, base_dir, files): - sdist.make_release_tree(self, base_dir, files) + def make_release_tree(self, base_dir, files): + sdist.make_release_tree(self, base_dir, files) - sdist_version_ini = os.path.join(base_dir, "version.ini") - if os.path.exists(sdist_version_ini): - os.unlink(sdist_version_ini) - shutil.copy( - os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini - ) + sdist_version_ini = os.path.join(base_dir, "version.ini") + if os.path.exists(sdist_version_ini): + os.unlink(sdist_version_ini) + shutil.copy( + os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini + ) VERSION = get_config() def parse_requirements(filename: str) -> List[str]: - requirements = [] - with open(filename) as file: - for line in file: - requirement = line.strip() - if (comment := requirement.find("#")) >= 0: - requirement = requirement[:comment].strip() - requirements.append(requirement) + requirements = [] + with open(filename) as file: + for line in file: + requirement = line.strip() + if (comment := requirement.find("#")) >= 0: + requirement = requirement[:comment].strip() + requirements.append(requirement) - return requirements + return requirements setup_args = dict( - name="grr-api-client", - version=VERSION.get("Version", "packageversion"), - description="GRR API client library", - license="Apache License, Version 2.0", - url="https://github.com/google/grr/tree/master/api_client/python", - maintainer="GRR Development Team", - maintainer_email="grr-dev@googlegroups.com", - cmdclass={ - "sdist": Sdist, - }, - packages=find_packages(), - entry_points={ - "console_scripts": [ - "grr_api_shell = grr_api_client.api_shell:main", - ] - }, - install_requires=[ - "grr_response_proto==%s" % VERSION.get("Version", "packagedepends"), + name="grr-api-client", + version=VERSION.get("Version", "packageversion"), + description="GRR API client library", + license="Apache License, Version 2.0", + url="https://github.com/google/grr/tree/master/api_client/python", + maintainer="GRR Development Team", + maintainer_email="grr-dev@googlegroups.com", + cmdclass={ + "sdist": Sdist, + }, + packages=find_packages(), + entry_points={ + "console_scripts": [ + "grr_api_shell = grr_api_client.api_shell:main", ] - + parse_requirements("requirements.in"), - data=["version.ini", "requirements.in"], + }, + install_requires=[ + "grr_response_proto==%s" % VERSION.get("Version", "packagedepends"), + ] + + parse_requirements("requirements.in"), + data=["version.ini", "requirements.in"], ) setup(**setup_args) diff --git a/grr/client/build_requirements.in b/grr/client/build_requirements.in new file mode 100644 index 000000000..920f3c109 --- /dev/null +++ b/grr/client/build_requirements.in @@ -0,0 +1,3 @@ +grpcio-tools==1.43.0 +grpcio==1.46.3 +protobuf==3.20.3 diff --git a/grr/client/build_requirements.txt b/grr/client/build_requirements.txt new file mode 100644 index 000000000..2279ffb16 --- /dev/null +++ b/grr/client/build_requirements.txt @@ -0,0 +1,145 @@ +# +# This file is autogenerated by pip-compile with Python 3.9 +# by the following command: +# +# pip-compile --generate-hashes grr/client/build_requirements.in +# +grpcio==1.46.3 \ + --hash=sha256:01f3f7a6cdb111cf276ffff9c892fa32624e03999bac809d3f3d8321d98b6855 \ + --hash=sha256:0a5012ba00cf8b7ce9e6ac2312ace0b0e16fe9502c18340c8c3ecb734a759831 \ + --hash=sha256:0c89ae010c57333dd3c692e0892199a59df1ddfd467cdfea31f98331d0e8cf87 \ + --hash=sha256:158b90d4f1354f40e435f4c866057acc29a4364b214c31049c8b8c903646fbab \ + --hash=sha256:2334ceeab4084e80433693451452cba26afc1607a7974133af3b3635fc8aa935 \ + --hash=sha256:26136c19d96e2138f04412101f3730d66f5f1515dc912ac0d415587c8208d826 \ + --hash=sha256:2c96a6103caec84985bb2cffac2b261f8cac2641e7a70d4b43b7d08754a6cfe7 \ + --hash=sha256:307ff1d6237d5c383196660a12db021c20280227f9f4423d88d6b2ab20c8b1d0 \ + --hash=sha256:34b206cdf78dd1c14d93e10e7308750c36b4e6754d579895cba74341875e2fb5 \ + --hash=sha256:3585a6fa3d97fc8f030bbf0e88185b5eb345a340f6732e165d5c22df54de5bc6 \ + --hash=sha256:3af2cc4e41f87d3b57f624b1b14321c1d0f030b191da60f9eeeda5448d83240c \ + --hash=sha256:4b8fd8b1cd553635274b83cd984f0755e6779886eca53c1c71d48215962eb689 \ + --hash=sha256:4c05dbc164c2d3015109292ffeed68292807a6cb1225f9a36699bf2166634908 \ + --hash=sha256:4caf87a06de88e3611a4610c57ef55b78801843d1f5a9e5fd6b75e887dad3340 \ + --hash=sha256:4faaba7db078a0001a8c1a4370d56dc454c03b4613b6acec01f14b90c8dd03cf \ + --hash=sha256:4fd0aa30a938893060defd5f222604461db55f9a81a028b154479b91deac7074 \ + --hash=sha256:5210ec7a1638daa61da16487fbfafb3dbb7b8cd44382d9262316bbb58a5b1cf7 \ + --hash=sha256:53fff69fd4d315adddda226e7b71804d1f12adf3a4162126dc520725624a483a \ + --hash=sha256:56636ebf8db63ba50d272dfd73c92538950525120311676246f8f6a81b0aa144 \ + --hash=sha256:5969f63f3cf92538f83f26949d393d9fc59de670f47cf7c2a0e1e0d30b770294 \ + --hash=sha256:5f8134d4a7e76c8c6644bd3ce728b9894933575155d02c09922986d5d8d6e48c \ + --hash=sha256:5fb7779ae01c20c4fad5831e98003b3f036acfe6b77697d6a9baa0f9a7f14daf \ + --hash=sha256:6d51fa98bd40d4593f819a3fec8a078a192958d24f84c3daf15b5ad7705d4c48 \ + --hash=sha256:707b85fa0cf606a9ab02246bd3142c76e154f1c30f00f7346b2afa3d0b315d5a \ + --hash=sha256:71d46c2f3c0512bac3d658af3193e3d645c96123af56bd07a8416474c69df2cf \ + --hash=sha256:7a39d39da8855b03be2d7348387986bab6a322031fcc8b04fa5e72355e7b13a1 \ + --hash=sha256:7b59982e405159385d5796aa1e0817ec83affb3eb4c2a5b7ca39413d17d7e332 \ + --hash=sha256:7d4148f1f76516b01cccf2273b45bc706847f1560ccb55aa6e29df851e9ca8cc \ + --hash=sha256:8c63e7c61c0b06f838e8f45ffd3a7c68a520c4c026b2e0e8b1ad29c456d0f859 \ + --hash=sha256:8c9106ef35239767b3aa9dc1a79856ad499655f853fca9f92f9dd3182d646627 \ + --hash=sha256:9014aee70e29911008d2f388011cabf2c7fe4fe29918ce5f71513a660494069a \ + --hash=sha256:91aaccbe1c035ad2bcd1b8a25cebd11839070eb70fb6573e9d0197ddbca5d96b \ + --hash=sha256:97801afa96a819f911d030b490dbea95b246de02433bac69c5acf150081686e4 \ + --hash=sha256:9c97106134de70f8323b12738ac0adf0615688b69253002910d0c5d42d202a77 \ + --hash=sha256:a19b3ecdb8ddf60e4b034def27636065e49ac1ee3c85854a16353cf52c2afd83 \ + --hash=sha256:a6bb52df85a4bd6d3bad16b4e7cc43efe95469b74a856c87a2c5bef496c9147f \ + --hash=sha256:a898b0f13bda2dfe786952cc1ea705762fa6c3ae799b4bb0525d7821605ae968 \ + --hash=sha256:a8f40dafcdc3e0e378387953528eaf4e35758161f3b10d96199f12b11afbe2c2 \ + --hash=sha256:aac6e66acae82be5c99a0a40ab8f5733d7df76a04f242cf42ecc34cfb1e947bd \ + --hash=sha256:ab18e85082003d7883a4d069065436e61cb27c2c2150e7965ce93658f17bc8da \ + --hash=sha256:aff6d961d6bc5e34e12e148383671f8da5d17e47ed606ec15f483def3053b206 \ + --hash=sha256:be1679d814a292a701f45df324e25b060435dd13159e9b08a16e2a2396c4391c \ + --hash=sha256:c6a460b6aaf43428d48fececad864cc562458b944df80568e490d985d8576292 \ + --hash=sha256:c6fe85e5873d9784ab82cf261d9fc07ed67a4459ba69fbe1187ef8b8e3d9e30e \ + --hash=sha256:d41ea8efb87b1ae4e576b13d94f2b470297a1495ae6b2c9d1047952731bf168f \ + --hash=sha256:dc6d15cbcceaebaacf2994280ed1c01d42b5772059b30afd8a76152e9d23daa4 \ + --hash=sha256:df980c4901a92ca649e18036ff67c7c8cad239b2759c2472694f7ab0f0b4ffb9 \ + --hash=sha256:e0486485d59d5865149010966ef3df99c5df97ab8b01f10e26f8759d6e10fafc \ + --hash=sha256:e0ae8e8523308bf7ab0b7d6aa686011de59b19fb06abb253f302d0b5da2a5905 \ + --hash=sha256:e278fa30d2b5652f7e43970c86ad34c639146443553678b746909aae204924dc \ + --hash=sha256:e9bba429eb743471715e6dadf006a70a77cb6afb065aa4a6eaa9efd76b09e336 \ + --hash=sha256:f5c6393fa645183ae858ebfbf72ab94e7ebafb5cd849dcf4ae8c53a83cce4e24 \ + --hash=sha256:f7637b55662e56a64c07846bc0d2da6232a6e893b22c39790f2e41d03ac1a826 \ + --hash=sha256:ffbbb228e6fc6f85b34aac428eb76b4fc6591d771e487ce46eb16b4b7e18b91d + # via + # -r grr/client/build_requirements.in + # grpcio-tools +grpcio-tools==1.43.0 \ + --hash=sha256:010a4be6a2fccbd6741a4809c5da7f2e39a1e9e227745e6b495be567638bbeb9 \ + --hash=sha256:019f55929e963214471825c7a4cdab7a57069109d5621b24e4db7b428b5fe47d \ + --hash=sha256:04f100c1f6a7c72c537760c33582f6970070bd6fa6676b529bccfa31cc58bc79 \ + --hash=sha256:05550ba473cff7c09e905fcfb2263fd1f7600389660194ec022b5d5a3802534b \ + --hash=sha256:09464c6b17663088144b7e6ea10e9465efdcee03d4b2ffefab39a799bd8360f8 \ + --hash=sha256:178a881db5de0f89abf3aeeb260ecfd1116cc31f88fb600a45fb5b19c3323b33 \ + --hash=sha256:18870dcc8369ac4c37213e6796d8dc20494ea770670204f5e573f88e69eaaf0b \ + --hash=sha256:1adb0dbcc1c10b86dcda910b8f56e39210e401bcee923dba166ba923a5f4696a \ + --hash=sha256:1def9b68ac9e62674929bc6590a33d89635f1cf16016657d9e16a69f41aa5c36 \ + --hash=sha256:234c7a5af653357df5c616e013173eddda6193146c8ab38f3108c4784f66be26 \ + --hash=sha256:2458d6b0404f83d95aef00cec01f310d30e9719564a25be50e39b259f6a2da5d \ + --hash=sha256:2737f749a6ab965748629e619b35f3e1cbe5820fc79e34c88f73cb99efc71dde \ + --hash=sha256:2e9bb5da437364b7dcd2d3c6850747081ecbec0ba645c96c6d471f7e21fdcadb \ + --hash=sha256:3eb4aa5b0e578c3d9d9da8e37a2ef73654287a498b8081543acd0db7f0ec1a9c \ + --hash=sha256:426f16b6b14d533ce61249a18fbcd1a23a4fa0c71a6d7ab347b1c7f862847bb8 \ + --hash=sha256:4c5c80098fa69593b828d119973744de03c3f9a6935df8a02e4329a39b7072f5 \ + --hash=sha256:53f7dcaa4218df1b64b39d0fc7236a8270e8ab2db4ab8cd1d2fda0e6d4544946 \ + --hash=sha256:55c2e604536e06248e2f81e549737fb3a180c8117832e494a0a8a81fbde44837 \ + --hash=sha256:5be6d402b0cafef20ba3abb3baa37444961d9a9c4a6434d3d7c1f082f7697deb \ + --hash=sha256:5f2e584d7644ef924e9e042fa151a3bb9f7c28ef1ae260ee6c9cb327982b5e94 \ + --hash=sha256:61ef6cb6ccf9b9c27bb85fffc5338194bcf444df502196c2ad0ff8df4706d41e \ + --hash=sha256:63862a441a77f6326ea9fe4bb005882f0e363441a5968d9cf8621c34d3dadc2b \ + --hash=sha256:671e61bbc91d8d568f12c3654bb5a91fce9f3fdfd5ec2cfc60c2d3a840449aa6 \ + --hash=sha256:6dea0cb2e79b67593553ed8662f70e4310599fa8850fc0e056b19fcb63572b7f \ + --hash=sha256:6eaf97414237b8670ae9fa623879a26eabcc4c635b550c79a81e17eb600d6ae3 \ + --hash=sha256:766771ef5b60ebcba0a3bdb302dd92fda988552eb8508451ff6d97371eac38e5 \ + --hash=sha256:8953fdebef6905d7ff13a5a376b21b6fecd808d18bf4f0d3990ffe4a215d56eb \ + --hash=sha256:98dcb5b756855110fb661ccd6a93a716610b7efcd5720a3aec01358a1a892c30 \ + --hash=sha256:9dbb6d1f58f26d88ae689f1b49de84cfaf4786c81c01b9001d3ceea178116a07 \ + --hash=sha256:b68cc0c95a0f8c757e8d69b5fa46111d5c9d887ae62af28f827649b1d1b70fe1 \ + --hash=sha256:ba3da574eb08fcaed541b3fc97ce217360fd86d954fa9ad6a604803d57a2e049 \ + --hash=sha256:c39cbe7b902bb92f9afaa035091f5e2b8be35acbac501fec8cb6a0be7d7cdbbd \ + --hash=sha256:ce13a922db8f5f95c5041d3a4cbf04d942b353f0cba9b251a674f69a31a2d3a6 \ + --hash=sha256:d21928b680e6e29538688cffbf53f3d5a53cff0ec8f0c33139641700045bdf1a \ + --hash=sha256:d7173ed19854d1066bce9bdc09f735ca9c13e74a25d47a1cc5d1fe803b53bffb \ + --hash=sha256:d7e3662f62d410b3f81823b5fa0f79c6e0e250977a1058e4131867b85138a661 \ + --hash=sha256:e6c0e1d1b47554c580882d392b739df91a55b6a8ec696b2b2e1bbc127d63df2c \ + --hash=sha256:e956b5c3b586d7b27eae49fb06f544a26288596fe12e22ffec768109717276d1 \ + --hash=sha256:ebfb94ddb454a6dc3a505d9531dc81c948e6364e181b8795bfad3f3f479974dc \ + --hash=sha256:efd1eb5880001f5189cfa3a774675cc9bbc8cc51586a3e90fe796394ac8626b8 \ + --hash=sha256:f19d40690c97365c1c1bde81474e6f496d7ab76f87e6d2889c72ad01bac98f2d \ + --hash=sha256:f42f1d713096808b1b0472dd2a3749b712d13f0092dab9442d9c096446e860b2 \ + --hash=sha256:f974cb0bea88bac892c3ed16da92c6ac88cff0fea17f24bf0e1892eb4d27cd00 \ + --hash=sha256:f97f9ffa49348fb24692751d2d4455ef2968bd07fe536d65597caaec14222629 + # via -r grr/client/build_requirements.in +protobuf==3.20.3 \ + --hash=sha256:03038ac1cfbc41aa21f6afcbcd357281d7521b4157926f30ebecc8d4ea59dcb7 \ + --hash=sha256:28545383d61f55b57cf4df63eebd9827754fd2dc25f80c5253f9184235db242c \ + --hash=sha256:2e3427429c9cffebf259491be0af70189607f365c2f41c7c3764af6f337105f2 \ + --hash=sha256:398a9e0c3eaceb34ec1aee71894ca3299605fa8e761544934378bbc6c97de23b \ + --hash=sha256:44246bab5dd4b7fbd3c0c80b6f16686808fab0e4aca819ade6e8d294a29c7050 \ + --hash=sha256:447d43819997825d4e71bf5769d869b968ce96848b6479397e29fc24c4a5dfe9 \ + --hash=sha256:67a3598f0a2dcbc58d02dd1928544e7d88f764b47d4a286202913f0b2801c2e7 \ + --hash=sha256:74480f79a023f90dc6e18febbf7b8bac7508420f2006fabd512013c0c238f454 \ + --hash=sha256:819559cafa1a373b7096a482b504ae8a857c89593cf3a25af743ac9ecbd23480 \ + --hash=sha256:899dc660cd599d7352d6f10d83c95df430a38b410c1b66b407a6b29265d66469 \ + --hash=sha256:8c0c984a1b8fef4086329ff8dd19ac77576b384079247c770f29cc8ce3afa06c \ + --hash=sha256:9aae4406ea63d825636cc11ffb34ad3379335803216ee3a856787bcf5ccc751e \ + --hash=sha256:a7ca6d488aa8ff7f329d4c545b2dbad8ac31464f1d8b1c87ad1346717731e4db \ + --hash=sha256:b6cc7ba72a8850621bfec987cb72623e703b7fe2b9127a161ce61e61558ad905 \ + --hash=sha256:bf01b5720be110540be4286e791db73f84a2b721072a3711efff6c324cdf074b \ + --hash=sha256:c02ce36ec760252242a33967d51c289fd0e1c0e6e5cc9397e2279177716add86 \ + --hash=sha256:d9e4432ff660d67d775c66ac42a67cf2453c27cb4d738fc22cb53b5d84c135d4 \ + --hash=sha256:daa564862dd0d39c00f8086f88700fdbe8bc717e993a21e90711acfed02f2402 \ + --hash=sha256:de78575669dddf6099a8a0f46a27e82a1783c557ccc38ee620ed8cc96d3be7d7 \ + --hash=sha256:e64857f395505ebf3d2569935506ae0dfc4a15cb80dc25261176c784662cdcc4 \ + --hash=sha256:f4bd856d702e5b0d96a00ec6b307b0f51c1982c2bf9c0052cf9019e9a544ba99 \ + --hash=sha256:f4c42102bc82a51108e449cbb32b19b180022941c727bac0cfd50170341f16ee + # via + # -r grr/client/build_requirements.in + # grpcio-tools +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via grpcio + +# WARNING: The following packages were not pinned, but pip requires them to be +# pinned when the requirements file includes hashes and the requirement is not +# satisfied by a package already installed. Consider using the --allow-unsafe flag. +# setuptools diff --git a/grr/client/setup.py b/grr/client/setup.py index 523bff224..65a7844dd 100644 --- a/grr/client/setup.py +++ b/grr/client/setup.py @@ -29,137 +29,133 @@ # package dir. os.chdir(THIS_DIRECTORY) -GRPCIO = "grpcio==1.46.3" -GRPCIO_TOOLS = "grpcio-tools==1.43.0" -PROTOBUF = "protobuf==3.20.3" - def get_config(): - """Get INI parser with version.ini data.""" - ini_path = os.path.join(THIS_DIRECTORY, "version.ini") + """Get INI parser with version.ini data.""" + ini_path = os.path.join(THIS_DIRECTORY, "version.ini") + if not os.path.exists(ini_path): + ini_path = os.path.join(THIS_DIRECTORY, "../../version.ini") if not os.path.exists(ini_path): - ini_path = os.path.join(THIS_DIRECTORY, "../../version.ini") - if not os.path.exists(ini_path): - raise RuntimeError("Couldn't find version.ini") + raise RuntimeError("Couldn't find version.ini") - config = configparser.ConfigParser() - config.read(ini_path) - return config + config = configparser.ConfigParser() + config.read(ini_path) + return config def compile_protos(): - """Builds necessary assets from sources.""" - # Using Popen to effectively suppress the output of the command below - no - # need to fill in the logs with protoc's help. - p = subprocess.Popen( - [sys.executable, "-m", "grpc_tools.protoc", "--help"], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - ) - p.communicate() - # If protoc is not installed, install it. This seems to be the only reliable - # way to make sure that grpcio-tools gets intalled, no matter which Python - # setup mechanism is used: pip install, pip install -e, - # python setup.py install, etc. - if p.returncode != 0: - # Specifying protobuf dependency right away pins it to the correct - # version. Otherwise latest protobuf library will be installed with - # grpcio-tools and then uninstalled when grr-response-proto's setup.py runs - # and reinstalled to the version required by grr-response-proto. - subprocess.check_call( - [sys.executable, "-m", "pip", "install", GRPCIO, GRPCIO_TOOLS, PROTOBUF] - ) - - # If there's no makefile, we're likely installing from an sdist, - # so there's no need to compile the protos (they should be already - # compiled). - if not os.path.exists(os.path.join(THIS_DIRECTORY, "makefile.py")): - return - - # Only compile protobufs if we're inside GRR source tree. + """Builds necessary assets from sources.""" + # Using Popen to effectively suppress the output of the command below - no + # need to fill in the logs with protoc's help. + p = subprocess.Popen( + [sys.executable, "-m", "grpc_tools.protoc", "--help"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + p.communicate() + # If protoc is not installed, install it. This seems to be the only reliable + # way to make sure that grpcio-tools gets intalled, no matter which Python + # setup mechanism is used: pip install, pip install -e, + # python setup.py install, etc. + if p.returncode != 0: + # Specifying protobuf dependency right away pins it to the correct + # version. Otherwise latest protobuf library will be installed with + # grpcio-tools and then uninstalled when grr-response-proto's setup.py runs + # and reinstalled to the version required by grr-response-proto. subprocess.check_call( - [sys.executable, "makefile.py", "--clean"], cwd=THIS_DIRECTORY + [sys.executable, "-m", "pip", "install", "--require-hashes", "build_requirements.txt"] ) + # If there's no makefile, we're likely installing from an sdist, + # so there's no need to compile the protos (they should be already + # compiled). + if not os.path.exists(os.path.join(THIS_DIRECTORY, "makefile.py")): + return + + # Only compile protobufs if we're inside GRR source tree. + subprocess.check_call( + [sys.executable, "makefile.py", "--clean"], cwd=THIS_DIRECTORY + ) + VERSION = get_config() def parse_requirements(filename: str) -> List[str]: - requirements = [] - with open(filename) as file: - for line in file: - requirement = line.strip() - if (comment := requirement.find("#")) >= 0: - requirement = requirement[:comment].strip() - requirements.append(requirement) + requirements = [] + with open(filename) as file: + for line in file: + requirement = line.strip() + if (comment := requirement.find("#")) >= 0: + requirement = requirement[:comment].strip() + requirements.append(requirement) - return requirements + return requirements class Sdist(sdist): - """Build sdist.""" - - def make_release_tree(self, base_dir, files): - sdist.make_release_tree(self, base_dir, files) - sdist_version_ini = os.path.join(base_dir, "version.ini") - if os.path.exists(sdist_version_ini): - os.unlink(sdist_version_ini) - shutil.copy( - os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini - ) + """Build sdist.""" + + def make_release_tree(self, base_dir, files): + sdist.make_release_tree(self, base_dir, files) + sdist_version_ini = os.path.join(base_dir, "version.ini") + if os.path.exists(sdist_version_ini): + os.unlink(sdist_version_ini) + shutil.copy( + os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini + ) - def run(self): - compile_protos() - sdist.run(self) + def run(self): + compile_protos() + sdist.run(self) class Develop(develop): - def run(self): - compile_protos() - develop.run(self) + def run(self): + compile_protos() + develop.run(self) setup_args = dict( - name="grr-response-client", - version=VERSION.get("Version", "packageversion"), - description="The GRR Rapid Response client.", - license="Apache License, Version 2.0", - maintainer="GRR Development Team", - maintainer_email="grr-dev@googlegroups.com", - url="https://github.com/google/grr", - entry_points={ - "console_scripts": [ - ( - "grr_fleetspeak_client = " - "grr_response_client.distro_entry:FleetspeakClient" - ), - ( - "fleetspeak_client = " - "grr_response_client.distro_entry:FleetspeakClientWrapper" - ), - ] - }, - cmdclass={ - "sdist": Sdist, - "develop": Develop, - }, - packages=find_packages(), - include_package_data=True, - python_requires=">=3.9", - install_requires=[ - "grr-response-core==%s" % VERSION.get("Version", "packagedepends"), - ], - data_files=["requirements.in", "requirements_win.in", "requirements_osx.in", "requirements_ubuntu.in"], + name="grr-response-client", + version=VERSION.get("Version", "packageversion"), + description="The GRR Rapid Response client.", + license="Apache License, Version 2.0", + maintainer="GRR Development Team", + maintainer_email="grr-dev@googlegroups.com", + url="https://github.com/google/grr", + entry_points={ + "console_scripts": [ + ( + "grr_fleetspeak_client = " + "grr_response_client.distro_entry:FleetspeakClient" + ), + ( + "fleetspeak_client = " + "grr_response_client.distro_entry:FleetspeakClientWrapper" + ), + ] + }, + cmdclass={ + "sdist": Sdist, + "develop": Develop, + }, + packages=find_packages(), + include_package_data=True, + python_requires=">=3.9", + install_requires=[ + "grr-response-core==%s" % VERSION.get("Version", "packagedepends"), + ], + data_files=["requirements.in", "requirements_win.in", "requirements_osx.in", "requirements_ubuntu.in"], ) setup_args["install_requires"].extend(parse_requirements("requirements.in")) if platform.system() == "Windows": - setup_args["install_requires"].extend(parse_requirements("requirements_win.in")) + setup_args["install_requires"].extend(parse_requirements("requirements_win.in")) if platform.system() == "Darwin": - setup_args["install_requires"].extend(parse_requirements("requirements_osx.in")) + setup_args["install_requires"].extend(parse_requirements("requirements_osx.in")) if platform.system() == "Linux": - setup_args["install_requires"].extend(parse_requirements("requirements_ubuntu.in")) + setup_args["install_requires"].extend(parse_requirements("requirements_ubuntu.in")) setup(**setup_args) diff --git a/grr/client_builder/requirements/centos.txt b/grr/client_builder/requirements/centos.txt deleted file mode 100644 index a60ac2cf9..000000000 --- a/grr/client_builder/requirements/centos.txt +++ /dev/null @@ -1,51 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# pip-compile --generate-hashes --output-file=centos_requirements/client_builder_requirements.txt ./travis/../grr/client_builder/requirements.in -# -altgraph==0.17.4 \ - --hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \ - --hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff - # via pyinstaller -distro==1.7.0 \ - --hash=sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39 \ - --hash=sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b - # via -r ./travis/../grr/client_builder/requirements.in -fleetspeak-client-bin==0.1.13 \ - --hash=sha256:8cb051c429fb2eade39bef8c0587d61a2935c7875ca22d3db8f74a4a4ec3f8f4 \ - --hash=sha256:a5d1be73712278e1c4ad275ea714809fb474929262d245d143e0d0101c084ce9 \ - --hash=sha256:c1b32540c1d18d71813cfa14454ff39bde3f06ae4ee5ec777e952e16cc94b26b \ - --hash=sha256:ef28f40757726ffd13b931740be156016d7494f2652a18f2772cba664142ce2e - # via -r ./travis/../grr/client_builder/requirements.in -olefile==0.46 \ - --hash=sha256:133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964 - # via -r ./travis/../grr/client_builder/requirements.in -packaging==24.1 \ - --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ - --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 - # via pyinstaller-hooks-contrib -pyinstaller==5.13.2 \ - --hash=sha256:16cbd66b59a37f4ee59373a003608d15df180a0d9eb1a29ff3bfbfae64b23d0f \ - --hash=sha256:27cd64e7cc6b74c5b1066cbf47d75f940b71356166031deb9778a2579bb874c6 \ - --hash=sha256:2c2fe9c52cb4577a3ac39626b84cf16cf30c2792f785502661286184f162ae0d \ - --hash=sha256:421cd24f26144f19b66d3868b49ed673176765f92fa9f7914cd2158d25b6d17e \ - --hash=sha256:65133ed89467edb2862036b35d7c5ebd381670412e1e4361215e289c786dd4e6 \ - --hash=sha256:7d51734423685ab2a4324ab2981d9781b203dcae42839161a9ee98bfeaabdade \ - --hash=sha256:8f6dd0e797ae7efdd79226f78f35eb6a4981db16c13325e962a83395c0ec7420 \ - --hash=sha256:aadafb6f213549a5906829bb252e586e2cf72a7fbdb5731810695e6516f0ab30 \ - --hash=sha256:b2e1c7f5cceb5e9800927ddd51acf9cc78fbaa9e79e822c48b0ee52d9ce3c892 \ - --hash=sha256:c63ef6133eefe36c4b2f4daf4cfea3d6412ece2ca218f77aaf967e52a95ac9b8 \ - --hash=sha256:c8e5d3489c3a7cc5f8401c2d1f48a70e588f9967e391c3b06ddac1f685f8d5d2 \ - --hash=sha256:ddcc2b36052a70052479a9e5da1af067b4496f43686ca3cdda99f8367d0627e4 - # via -r ./travis/../grr/client_builder/requirements.in -pyinstaller-hooks-contrib==2024.7 \ - --hash=sha256:8bf0775771fbaf96bcd2f4dfd6f7ae6c1dd1b1efe254c7e50477b3c08e7841d8 \ - --hash=sha256:fd5f37dcf99bece184e40642af88be16a9b89613ecb958a8bd1136634fc9fac5 - # via pyinstaller - -# WARNING: The following packages were not pinned, but pip requires them to be -# pinned when the requirements file includes hashes and the requirement is not -# satisfied by a package already installed. Consider using the --allow-unsafe flag. -# setuptools - diff --git a/grr/client_builder/requirements/osx.txt b/grr/client_builder/requirements/osx.txt deleted file mode 100644 index f284a16fc..000000000 --- a/grr/client_builder/requirements/osx.txt +++ /dev/null @@ -1,64 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --generate-hashes --output-file=osx_requirements/client_builder_requirements.txt ./travis/../grr/client_builder/requirements.in -# -altgraph==0.17.4 \ - --hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \ - --hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff - # via - # macholib - # pyinstaller -distro==1.7.0 \ - --hash=sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39 \ - --hash=sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b - # via -r ./travis/../grr/client_builder/requirements.in -fleetspeak-client-bin==0.1.13 \ - --hash=sha256:8cb051c429fb2eade39bef8c0587d61a2935c7875ca22d3db8f74a4a4ec3f8f4 \ - --hash=sha256:a5d1be73712278e1c4ad275ea714809fb474929262d245d143e0d0101c084ce9 \ - --hash=sha256:c1b32540c1d18d71813cfa14454ff39bde3f06ae4ee5ec777e952e16cc94b26b \ - --hash=sha256:ef28f40757726ffd13b931740be156016d7494f2652a18f2772cba664142ce2e - # via -r ./travis/../grr/client_builder/requirements.in -importlib-metadata==7.2.0 \ - --hash=sha256:04e4aad329b8b948a5711d394fa8759cb80f009225441b4f2a02bd4d8e5f426c \ - --hash=sha256:3ff4519071ed42740522d494d04819b666541b9752c43012f85afb2cc220fcc6 - # via pyinstaller-hooks-contrib -macholib==1.16.3 \ - --hash=sha256:07ae9e15e8e4cd9a788013d81f5908b3609aa76f9b1421bae9c4d7606ec86a30 \ - --hash=sha256:0e315d7583d38b8c77e815b1ecbdbf504a8258d8b3e17b61165c6feb60d18f2c - # via pyinstaller -olefile==0.46 \ - --hash=sha256:133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964 - # via -r ./travis/../grr/client_builder/requirements.in -packaging==24.1 \ - --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ - --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 - # via pyinstaller-hooks-contrib -pyinstaller==5.13.2 \ - --hash=sha256:16cbd66b59a37f4ee59373a003608d15df180a0d9eb1a29ff3bfbfae64b23d0f \ - --hash=sha256:27cd64e7cc6b74c5b1066cbf47d75f940b71356166031deb9778a2579bb874c6 \ - --hash=sha256:2c2fe9c52cb4577a3ac39626b84cf16cf30c2792f785502661286184f162ae0d \ - --hash=sha256:421cd24f26144f19b66d3868b49ed673176765f92fa9f7914cd2158d25b6d17e \ - --hash=sha256:65133ed89467edb2862036b35d7c5ebd381670412e1e4361215e289c786dd4e6 \ - --hash=sha256:7d51734423685ab2a4324ab2981d9781b203dcae42839161a9ee98bfeaabdade \ - --hash=sha256:8f6dd0e797ae7efdd79226f78f35eb6a4981db16c13325e962a83395c0ec7420 \ - --hash=sha256:aadafb6f213549a5906829bb252e586e2cf72a7fbdb5731810695e6516f0ab30 \ - --hash=sha256:b2e1c7f5cceb5e9800927ddd51acf9cc78fbaa9e79e822c48b0ee52d9ce3c892 \ - --hash=sha256:c63ef6133eefe36c4b2f4daf4cfea3d6412ece2ca218f77aaf967e52a95ac9b8 \ - --hash=sha256:c8e5d3489c3a7cc5f8401c2d1f48a70e588f9967e391c3b06ddac1f685f8d5d2 \ - --hash=sha256:ddcc2b36052a70052479a9e5da1af067b4496f43686ca3cdda99f8367d0627e4 - # via -r ./travis/../grr/client_builder/requirements.in -pyinstaller-hooks-contrib==2024.7 \ - --hash=sha256:8bf0775771fbaf96bcd2f4dfd6f7ae6c1dd1b1efe254c7e50477b3c08e7841d8 \ - --hash=sha256:fd5f37dcf99bece184e40642af88be16a9b89613ecb958a8bd1136634fc9fac5 - # via pyinstaller -zipp==3.19.2 \ - --hash=sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19 \ - --hash=sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c - # via importlib-metadata - -# WARNING: The following packages were not pinned, but pip requires them to be -# pinned when the requirements file includes hashes and the requirement is not -# satisfied by a package already installed. Consider using the --allow-unsafe flag. -# setuptools diff --git a/grr/client_builder/requirements/ubuntu.txt b/grr/client_builder/requirements/ubuntu.txt deleted file mode 100644 index eae3b5f1b..000000000 --- a/grr/client_builder/requirements/ubuntu.txt +++ /dev/null @@ -1,58 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --generate-hashes --output-file=ubuntu_requirements/client_builder_requirements.txt ./travis/../grr/client_builder/requirements.in -# -altgraph==0.17.4 \ - --hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \ - --hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff - # via pyinstaller -distro==1.7.0 \ - --hash=sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39 \ - --hash=sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b - # via -r ./travis/../grr/client_builder/requirements.in -fleetspeak-client-bin==0.1.13 \ - --hash=sha256:8cb051c429fb2eade39bef8c0587d61a2935c7875ca22d3db8f74a4a4ec3f8f4 \ - --hash=sha256:a5d1be73712278e1c4ad275ea714809fb474929262d245d143e0d0101c084ce9 \ - --hash=sha256:c1b32540c1d18d71813cfa14454ff39bde3f06ae4ee5ec777e952e16cc94b26b \ - --hash=sha256:ef28f40757726ffd13b931740be156016d7494f2652a18f2772cba664142ce2e - # via -r ./travis/../grr/client_builder/requirements.in -importlib-metadata==7.1.0 \ - --hash=sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570 \ - --hash=sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 - # via pyinstaller-hooks-contrib -olefile==0.46 \ - --hash=sha256:133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964 - # via -r ./travis/../grr/client_builder/requirements.in -packaging==24.1 \ - --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ - --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 - # via pyinstaller-hooks-contrib -pyinstaller==5.13.2 \ - --hash=sha256:16cbd66b59a37f4ee59373a003608d15df180a0d9eb1a29ff3bfbfae64b23d0f \ - --hash=sha256:27cd64e7cc6b74c5b1066cbf47d75f940b71356166031deb9778a2579bb874c6 \ - --hash=sha256:2c2fe9c52cb4577a3ac39626b84cf16cf30c2792f785502661286184f162ae0d \ - --hash=sha256:421cd24f26144f19b66d3868b49ed673176765f92fa9f7914cd2158d25b6d17e \ - --hash=sha256:65133ed89467edb2862036b35d7c5ebd381670412e1e4361215e289c786dd4e6 \ - --hash=sha256:7d51734423685ab2a4324ab2981d9781b203dcae42839161a9ee98bfeaabdade \ - --hash=sha256:8f6dd0e797ae7efdd79226f78f35eb6a4981db16c13325e962a83395c0ec7420 \ - --hash=sha256:aadafb6f213549a5906829bb252e586e2cf72a7fbdb5731810695e6516f0ab30 \ - --hash=sha256:b2e1c7f5cceb5e9800927ddd51acf9cc78fbaa9e79e822c48b0ee52d9ce3c892 \ - --hash=sha256:c63ef6133eefe36c4b2f4daf4cfea3d6412ece2ca218f77aaf967e52a95ac9b8 \ - --hash=sha256:c8e5d3489c3a7cc5f8401c2d1f48a70e588f9967e391c3b06ddac1f685f8d5d2 \ - --hash=sha256:ddcc2b36052a70052479a9e5da1af067b4496f43686ca3cdda99f8367d0627e4 - # via -r ./travis/../grr/client_builder/requirements.in -pyinstaller-hooks-contrib==2024.7 \ - --hash=sha256:8bf0775771fbaf96bcd2f4dfd6f7ae6c1dd1b1efe254c7e50477b3c08e7841d8 \ - --hash=sha256:fd5f37dcf99bece184e40642af88be16a9b89613ecb958a8bd1136634fc9fac5 - # via pyinstaller -zipp==3.19.2 \ - --hash=sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19 \ - --hash=sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c - # via importlib-metadata - -# WARNING: The following packages were not pinned, but pip requires them to be -# pinned when the requirements file includes hashes and the requirement is not -# satisfied by a package already installed. Consider using the --allow-unsafe flag. -# setuptools diff --git a/grr/client_builder/requirements/windows.txt b/grr/client_builder/requirements/windows.txt deleted file mode 100644 index 0b834a226..000000000 --- a/grr/client_builder/requirements/windows.txt +++ /dev/null @@ -1,67 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --generate-hashes --output-file='windows_requirements\client_builder_requirements.txt' 'D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in' -# -altgraph==0.17.4 \ - --hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \ - --hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff - # via pyinstaller -distro==1.7.0 \ - --hash=sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39 \ - --hash=sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b - # via -r D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in -fleetspeak-client-bin==0.1.13 \ - --hash=sha256:8cb051c429fb2eade39bef8c0587d61a2935c7875ca22d3db8f74a4a4ec3f8f4 \ - --hash=sha256:a5d1be73712278e1c4ad275ea714809fb474929262d245d143e0d0101c084ce9 \ - --hash=sha256:c1b32540c1d18d71813cfa14454ff39bde3f06ae4ee5ec777e952e16cc94b26b \ - --hash=sha256:ef28f40757726ffd13b931740be156016d7494f2652a18f2772cba664142ce2e - # via -r D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in -importlib-metadata==7.1.0 \ - --hash=sha256:30962b96c0c223483ed6cc7280e7f0199feb01a0e40cfae4d4450fc6fab1f570 \ - --hash=sha256:b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 - # via pyinstaller-hooks-contrib -olefile==0.46 \ - --hash=sha256:133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964 - # via -r D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in -packaging==24.1 \ - --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ - --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 - # via pyinstaller-hooks-contrib -pefile==2023.2.7 \ - --hash=sha256:82e6114004b3d6911c77c3953e3838654b04511b8b66e8583db70c65998017dc \ - --hash=sha256:da185cd2af68c08a6cd4481f7325ed600a88f6a813bad9dea07ab3ef73d8d8d6 - # via pyinstaller -pyinstaller==5.13.2 \ - --hash=sha256:16cbd66b59a37f4ee59373a003608d15df180a0d9eb1a29ff3bfbfae64b23d0f \ - --hash=sha256:27cd64e7cc6b74c5b1066cbf47d75f940b71356166031deb9778a2579bb874c6 \ - --hash=sha256:2c2fe9c52cb4577a3ac39626b84cf16cf30c2792f785502661286184f162ae0d \ - --hash=sha256:421cd24f26144f19b66d3868b49ed673176765f92fa9f7914cd2158d25b6d17e \ - --hash=sha256:65133ed89467edb2862036b35d7c5ebd381670412e1e4361215e289c786dd4e6 \ - --hash=sha256:7d51734423685ab2a4324ab2981d9781b203dcae42839161a9ee98bfeaabdade \ - --hash=sha256:8f6dd0e797ae7efdd79226f78f35eb6a4981db16c13325e962a83395c0ec7420 \ - --hash=sha256:aadafb6f213549a5906829bb252e586e2cf72a7fbdb5731810695e6516f0ab30 \ - --hash=sha256:b2e1c7f5cceb5e9800927ddd51acf9cc78fbaa9e79e822c48b0ee52d9ce3c892 \ - --hash=sha256:c63ef6133eefe36c4b2f4daf4cfea3d6412ece2ca218f77aaf967e52a95ac9b8 \ - --hash=sha256:c8e5d3489c3a7cc5f8401c2d1f48a70e588f9967e391c3b06ddac1f685f8d5d2 \ - --hash=sha256:ddcc2b36052a70052479a9e5da1af067b4496f43686ca3cdda99f8367d0627e4 - # via -r D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in -pyinstaller-hooks-contrib==2024.7 \ - --hash=sha256:8bf0775771fbaf96bcd2f4dfd6f7ae6c1dd1b1efe254c7e50477b3c08e7841d8 \ - --hash=sha256:fd5f37dcf99bece184e40642af88be16a9b89613ecb958a8bd1136634fc9fac5 - # via pyinstaller -pywin32-ctypes==0.2.2 \ - --hash=sha256:3426e063bdd5fd4df74a14fa3cf80a0b42845a87e1d1e81f6549f9daec593a60 \ - --hash=sha256:bf490a1a709baf35d688fe0ecf980ed4de11d2b3e37b51e5442587a75d9957e7 - # via pyinstaller -zipp==3.19.2 \ - --hash=sha256:bf1dcf6450f873a13e952a29504887c89e6de7506209e5b1bcc3460135d4de19 \ - --hash=sha256:f091755f667055f2d02b32c53771a7a6c8b47e1fdbc4b72a8b9072b3eef8015c - # via importlib-metadata - -# WARNING: The following packages were not pinned, but pip requires them to be -# pinned when the requirements file includes hashes and the requirement is not -# satisfied by a package already installed. Consider using the --allow-unsafe flag. -# setuptools - diff --git a/grr/client_builder/setup.py b/grr/client_builder/setup.py index 44ed50296..56dfa30a0 100644 --- a/grr/client_builder/setup.py +++ b/grr/client_builder/setup.py @@ -16,75 +16,78 @@ def get_config(): - """Get relative path to version.ini file and the INI parser with its data.""" - rel_ini_path = "version.ini" + """Get relative path to version.ini file and the INI parser with its data.""" + rel_ini_path = "version.ini" + ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) + if not os.path.exists(ini_path): + rel_ini_path = os.path.join("..", "..", "version.ini") ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) if not os.path.exists(ini_path): - rel_ini_path = os.path.join("..", "..", "version.ini") - ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) - if not os.path.exists(ini_path): - raise RuntimeError("Couldn't find version.ini") + raise RuntimeError("Couldn't find version.ini") - config = configparser.ConfigParser() - config.read(ini_path) - return rel_ini_path, config + config = configparser.ConfigParser() + config.read(ini_path) + return rel_ini_path, config REL_INI_PATH, VERSION = get_config() def parse_requirements(filename: str) -> List[str]: - requirements = [] - with open(filename) as file: - for line in file: - requirement = line.strip() - if (comment := requirement.find("#")) >= 0: - requirement = requirement[:comment].strip() - requirements.append(requirement) + requirements = [] + with open(filename) as file: + for line in file: + requirement = line.strip() + if (comment := requirement.find("#")) >= 0: + requirement = requirement[:comment].strip() + requirements.append(requirement) - return requirements + return requirements class Sdist(sdist): - """Custom sdist class that bundles GRR's version.ini.""" + """Custom sdist class that bundles GRR's version.ini.""" - def make_release_tree(self, base_dir, files): - sdist.make_release_tree(self, base_dir, files) - sdist_version_ini = os.path.join(base_dir, "version.ini") - if os.path.exists(sdist_version_ini): - os.unlink(sdist_version_ini) - shutil.copy( - os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini - ) + def make_release_tree(self, base_dir, files): + sdist.make_release_tree(self, base_dir, files) + sdist_version_ini = os.path.join(base_dir, "version.ini") + if os.path.exists(sdist_version_ini): + os.unlink(sdist_version_ini) + shutil.copy( + os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini + ) -data_files = [REL_INI_PATH] + ["requirements.in"] +data_files = [ + REL_INI_PATH, + "requirements.in", +] setup_args = dict( - name="grr-response-client-builder", - version=VERSION.get("Version", "packageversion"), - description="GRR Rapid Response", - license="Apache License, Version 2.0", - maintainer="GRR Development Team", - maintainer_email="grr-dev@googlegroups.com", - url="https://github.com/google/grr", - entry_points={ - "console_scripts": [ - "grr_client_build = %s" - % "grr_response_client_builder.distro_entry:ClientBuild", - ] - }, - cmdclass={"sdist": Sdist}, - packages=find_packages(), - include_package_data=True, - python_requires=">=3.9", - install_requires=[ - "grr-response-client==%s" % VERSION.get("Version", "packagedepends"), - "grr-response-core==%s" % VERSION.get("Version", "packagedepends"), + name="grr-response-client-builder", + version=VERSION.get("Version", "packageversion"), + description="GRR Rapid Response", + license="Apache License, Version 2.0", + maintainer="GRR Development Team", + maintainer_email="grr-dev@googlegroups.com", + url="https://github.com/google/grr", + entry_points={ + "console_scripts": [ + "grr_client_build = %s" + % "grr_response_client_builder.distro_entry:ClientBuild", ] - + parse_requirements("requirements.in"), - # Data files used by GRR. Access these via the config_lib "resource" filter. - data_files=data_files, + }, + cmdclass={"sdist": Sdist}, + packages=find_packages(), + include_package_data=True, + python_requires=">=3.9", + install_requires=[ + "grr-response-client==%s" % VERSION.get("Version", "packagedepends"), + "grr-response-core==%s" % VERSION.get("Version", "packagedepends"), + ] + + parse_requirements("requirements.in"), + # Data files used by GRR. Access these via the config_lib "resource" filter. + data_files=data_files, ) setup(**setup_args) diff --git a/grr/core/requirements.in b/grr/core/requirements.in index e274f27fc..4b1f06381 100644 --- a/grr/core/requirements.in +++ b/grr/core/requirements.in @@ -10,4 +10,5 @@ python-dateutil==2.9.0.post0 pytz==2022.7.1 PyYAML==6.0.1 requests==2.32.3 -yara-python==4.2.3 \ No newline at end of file +urllib3==1.26.19 +yara-python==4.2.3 diff --git a/grr/core/setup.py b/grr/core/setup.py index 6ace77eef..dbbdba38c 100644 --- a/grr/core/setup.py +++ b/grr/core/setup.py @@ -22,136 +22,136 @@ def find_data_files(source, ignore_dirs=None): - ignore_dirs = ignore_dirs or [] - result = [] - for directory, dirnames, files in os.walk(source): - dirnames[:] = [d for d in dirnames if d not in ignore_dirs] + ignore_dirs = ignore_dirs or [] + result = [] + for directory, dirnames, files in os.walk(source): + dirnames[:] = [d for d in dirnames if d not in ignore_dirs] - files = [os.path.join(directory, x) for x in files] - result.append((directory, files)) + files = [os.path.join(directory, x) for x in files] + result.append((directory, files)) - return result + return result def sync_artifacts(): - """Sync the artifact repo with upstream for distribution.""" + """Sync the artifact repo with upstream for distribution.""" - subprocess.check_call( - [sys.executable, "makefile.py"], cwd="grr_response_core/artifacts" - ) + subprocess.check_call( + [sys.executable, "makefile.py"], cwd="grr_response_core/artifacts" + ) def get_config(): - """Get relative path to version.ini file and the INI parser with its data.""" - rel_ini_path = "version.ini" + """Get relative path to version.ini file and the INI parser with its data.""" + rel_ini_path = "version.ini" + ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) + if not os.path.exists(ini_path): + rel_ini_path = os.path.join("..", "..", "version.ini") ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) if not os.path.exists(ini_path): - rel_ini_path = os.path.join("..", "..", "version.ini") - ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) - if not os.path.exists(ini_path): - raise RuntimeError("Couldn't find version.ini") + raise RuntimeError("Couldn't find version.ini") - config = configparser.ConfigParser() - config.read(ini_path) - return rel_ini_path, config + config = configparser.ConfigParser() + config.read(ini_path) + return rel_ini_path, config REL_INI_PATH, VERSION = get_config() def parse_requirements(filename: str) -> List[str]: - requirements = [] - with open(filename) as file: - for line in file: - requirement = line.strip() - if (comment := requirement.find("#")) >= 0: - requirement = requirement[:comment].strip() - requirements.append(requirement) + requirements = [] + with open(filename) as file: + for line in file: + requirement = line.strip() + if (comment := requirement.find("#")) >= 0: + requirement = requirement[:comment].strip() + requirements.append(requirement) - return requirements + return requirements class Develop(develop): - def run(self): - sync_artifacts() + def run(self): + sync_artifacts() - develop.run(self) + develop.run(self) class Sdist(sdist): - """Build sdist.""" - - user_options = sdist.user_options + [ - ( - "no-sync-artifacts", - None, - "Don't sync the artifact repo. This is unnecessary for " - "clients and old client build OSes can't make the SSL connection.", - ), - ] - - def initialize_options(self): - self.no_sync_artifacts = None - - sdist.initialize_options(self) - - def run(self): - if not self.no_sync_artifacts: - sync_artifacts() - - sdist.run(self) - - def make_release_tree(self, base_dir, files): - sdist.make_release_tree(self, base_dir, files) - sdist_version_ini = os.path.join(base_dir, "version.ini") - if os.path.exists(sdist_version_ini): - os.unlink(sdist_version_ini) - shutil.copy( - os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini - ) + """Build sdist.""" + + user_options = sdist.user_options + [ + ( + "no-sync-artifacts", + None, + "Don't sync the artifact repo. This is unnecessary for " + "clients and old client build OSes can't make the SSL connection.", + ), + ] + + def initialize_options(self): + self.no_sync_artifacts = None + + sdist.initialize_options(self) + + def run(self): + if not self.no_sync_artifacts: + sync_artifacts() + + sdist.run(self) + + def make_release_tree(self, base_dir, files): + sdist.make_release_tree(self, base_dir, files) + sdist_version_ini = os.path.join(base_dir, "version.ini") + if os.path.exists(sdist_version_ini): + os.unlink(sdist_version_ini) + shutil.copy( + os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini + ) data_files = list( - itertools.chain( - find_data_files("executables"), - find_data_files("install_data"), - find_data_files("scripts"), - find_data_files("grr_response_core/artifacts"), - [REL_INI_PATH], - ["requirements.in"], - ) + itertools.chain( + find_data_files("executables"), + find_data_files("install_data"), + find_data_files("scripts"), + find_data_files("grr_response_core/artifacts"), + [REL_INI_PATH], + ["requirements.in"], + ) ) setup_args = dict( - name="grr-response-core", - version=VERSION.get("Version", "packageversion"), - description="GRR Rapid Response", - license="Apache License, Version 2.0", - url="https://github.com/google/grr", - maintainer="GRR Development Team", - maintainer_email="grr-dev@googlegroups.com", - python_requires=">=3.6", - packages=find_packages(), - zip_safe=False, - include_package_data=True, - ext_modules=[ - Extension( - name="grr_response_core._semantic", - sources=["accelerated/accelerated.c"], - ) - ], - cmdclass={ - "develop": Develop, - "install": install, - "sdist": Sdist, - }, - install_requires=[ - "grr-response-proto==%s" % VERSION.get("Version", "packagedepends"), - ] - + parse_requirements("requirements.in"), - # Data files used by GRR. Access these via the config_lib "resource" filter. - data_files=data_files, + name="grr-response-core", + version=VERSION.get("Version", "packageversion"), + description="GRR Rapid Response", + license="Apache License, Version 2.0", + url="https://github.com/google/grr", + maintainer="GRR Development Team", + maintainer_email="grr-dev@googlegroups.com", + python_requires=">=3.6", + packages=find_packages(), + zip_safe=False, + include_package_data=True, + ext_modules=[ + Extension( + name="grr_response_core._semantic", + sources=["accelerated/accelerated.c"], + ) + ], + cmdclass={ + "develop": Develop, + "install": install, + "sdist": Sdist, + }, + install_requires=[ + "grr-response-proto==%s" % VERSION.get("Version", "packagedepends"), + ] + + parse_requirements("requirements.in"), + # Data files used by GRR. Access these via the config_lib "resource" filter. + data_files=data_files, ) setup(**setup_args) diff --git a/grr/proto/requirements.txt b/grr/proto/requirements.txt deleted file mode 100644 index 1eae9170e..000000000 --- a/grr/proto/requirements.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.11 -# by the following command: -# -# pip-compile --generate-hashes ./travis/../grr/proto/requirements.in -# diff --git a/grr/proto/setup.py b/grr/proto/setup.py index 4a68dad31..624210ed7 100644 --- a/grr/proto/setup.py +++ b/grr/proto/setup.py @@ -20,120 +20,120 @@ def get_config(): - """Get INI parser with version.ini data.""" - ini_path = os.path.join(THIS_DIRECTORY, "version.ini") - # In a prebuilt sdist archive, version.ini is copied to the root folder - # of the archive. When installing in a development mode, version.ini - # has to be read from the root repository folder (two levels above). + """Get INI parser with version.ini data.""" + ini_path = os.path.join(THIS_DIRECTORY, "version.ini") + # In a prebuilt sdist archive, version.ini is copied to the root folder + # of the archive. When installing in a development mode, version.ini + # has to be read from the root repository folder (two levels above). + if not os.path.exists(ini_path): + ini_path = os.path.join(THIS_DIRECTORY, "../../version.ini") if not os.path.exists(ini_path): - ini_path = os.path.join(THIS_DIRECTORY, "../../version.ini") - if not os.path.exists(ini_path): - raise RuntimeError("Couldn't find version.ini") + raise RuntimeError("Couldn't find version.ini") - config = configparser.ConfigParser() - config.read(ini_path) - return config + config = configparser.ConfigParser() + config.read(ini_path) + return config def compile_protos(): - """Builds necessary assets from sources.""" - # Using Popen to effectively suppress the output of the command below - no - # need to fill in the logs with protoc's help. - p = subprocess.Popen( - [sys.executable, "-m", "grpc_tools.protoc", "--help"], - stdout=subprocess.PIPE, - stderr=subprocess.PIPE, - ) - p.communicate() - # If protoc is not installed, install it. This seems to be the only reliable - # way to make sure that grpcio-tools gets intalled, no matter which Python - # setup mechanism is used: pip install, pip install -e, - # python setup.py install, etc. - if p.returncode != 0: - # Specifying protobuf dependency right away pins it to the correct - # version. Otherwise latest protobuf library will be installed with - # grpcio-tools and then uninstalled when grr-response-proto's setup.py runs - # and reinstalled to the version required by grr-response-proto. - subprocess.check_call( - [sys.executable, "-m", "pip", "install", "--require-hashes", "-r", "build_requirements.txt"] - ) - - # If there's no makefile, we're likely installing from an sdist, - # so there's no need to compile the protos (they should be already - # compiled). - if not os.path.exists(os.path.join(THIS_DIRECTORY, "makefile.py")): - return - - # Only compile protobufs if we're inside GRR source tree. + """Builds necessary assets from sources.""" + # Using Popen to effectively suppress the output of the command below - no + # need to fill in the logs with protoc's help. + p = subprocess.Popen( + [sys.executable, "-m", "grpc_tools.protoc", "--help"], + stdout=subprocess.PIPE, + stderr=subprocess.PIPE, + ) + p.communicate() + # If protoc is not installed, install it. This seems to be the only reliable + # way to make sure that grpcio-tools gets intalled, no matter which Python + # setup mechanism is used: pip install, pip install -e, + # python setup.py install, etc. + if p.returncode != 0: + # Specifying protobuf dependency right away pins it to the correct + # version. Otherwise latest protobuf library will be installed with + # grpcio-tools and then uninstalled when grr-response-proto's setup.py runs + # and reinstalled to the version required by grr-response-proto. subprocess.check_call( - [sys.executable, "makefile.py", "--clean"], cwd=THIS_DIRECTORY + [sys.executable, "-m", "pip", "install", "--require-hashes", "-r", "build_requirements.txt"] ) + # If there's no makefile, we're likely installing from an sdist, + # so there's no need to compile the protos (they should be already + # compiled). + if not os.path.exists(os.path.join(THIS_DIRECTORY, "makefile.py")): + return + + # Only compile protobufs if we're inside GRR source tree. + subprocess.check_call( + [sys.executable, "makefile.py", "--clean"], cwd=THIS_DIRECTORY + ) + def parse_requirements(filename: str) -> List[str]: - requirements = [] - with open(filename) as file: - for line in file: - requirement = line.strip() - if (comment := requirement.find("#")) >= 0: - requirement = requirement[:comment].strip() - requirements.append(requirement) + requirements = [] + with open(filename) as file: + for line in file: + requirement = line.strip() + if (comment := requirement.find("#")) >= 0: + requirement = requirement[:comment].strip() + requirements.append(requirement) - return requirements + return requirements class Build(build_py): - def find_all_modules(self): - self.packages = find_packages() - return build_py.find_all_modules(self) + def find_all_modules(self): + self.packages = find_packages() + return build_py.find_all_modules(self) class Develop(develop): - def run(self): - compile_protos() - develop.run(self) + def run(self): + compile_protos() + develop.run(self) class Sdist(sdist): - """Build sdist.""" + """Build sdist.""" - def make_release_tree(self, base_dir, files): - sdist.make_release_tree(self, base_dir, files) + def make_release_tree(self, base_dir, files): + sdist.make_release_tree(self, base_dir, files) - sdist_version_ini = os.path.join(base_dir, "version.ini") - if os.path.exists(sdist_version_ini): - os.unlink(sdist_version_ini) - shutil.copy( - os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini - ) + sdist_version_ini = os.path.join(base_dir, "version.ini") + if os.path.exists(sdist_version_ini): + os.unlink(sdist_version_ini) + shutil.copy( + os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini + ) - def run(self): - compile_protos() - sdist.run(self) + def run(self): + compile_protos() + sdist.run(self) VERSION = get_config() PACKAGES = find_packages() setup_args = dict( - name="grr-response-proto", - version=VERSION.get("Version", "packageversion"), - description="GRR API client library", - license="Apache License, Version 2.0", - maintainer="GRR Development Team", - maintainer_email="grr-dev@googlegroups.com", - url="https://github.com/google/grr/tree/master/proto", - cmdclass={ - "build_py": Build, - "develop": Develop, - "sdist": Sdist, - }, - package_data={package: ["py.typed", "*.pyi"] for package in PACKAGES}, - packages=PACKAGES, - install_requires=parse_requirements("requirements.in"), - data_files=["version.ini", "requirements.in"], + name="grr-response-proto", + version=VERSION.get("Version", "packageversion"), + description="GRR API client library", + license="Apache License, Version 2.0", + maintainer="GRR Development Team", + maintainer_email="grr-dev@googlegroups.com", + url="https://github.com/google/grr/tree/master/proto", + cmdclass={ + "build_py": Build, + "develop": Develop, + "sdist": Sdist, + }, + package_data={package: ["py.typed", "*.pyi"] for package in PACKAGES}, + packages=PACKAGES, + install_requires=parse_requirements("requirements.in"), + data_files=["version.ini", "requirements.in"], ) setup(**setup_args) diff --git a/grr/server/requirements.in b/grr/server/requirements.in index c3e993b5a..88070893f 100644 --- a/grr/server/requirements.in +++ b/grr/server/requirements.in @@ -12,6 +12,5 @@ psutil==6.0.0 pyjwt==2.6.0 pyOpenSSL==21.0.0 python-crontab==2.5.1 -python-dateutil==2.9.0.post0 python-debian==0.1.49 -Werkzeug==2.1.2 \ No newline at end of file +Werkzeug==2.1.2 diff --git a/grr/server/setup.py b/grr/server/setup.py index 0c00b6ccc..71e0c8818 100644 --- a/grr/server/setup.py +++ b/grr/server/setup.py @@ -23,47 +23,47 @@ def find_data_files(source, ignore_dirs=None): - ignore_dirs = ignore_dirs or [] - result = [] - for directory, dirnames, files in os.walk(source): - dirnames[:] = [d for d in dirnames if d not in ignore_dirs] + ignore_dirs = ignore_dirs or [] + result = [] + for directory, dirnames, files in os.walk(source): + dirnames[:] = [d for d in dirnames if d not in ignore_dirs] - files = [os.path.join(directory, x) for x in files] - result.append((directory, files)) + files = [os.path.join(directory, x) for x in files] + result.append((directory, files)) - return result + return result def make_ui_files(): - """Builds necessary assets from sources.""" - - # Install node_modules, but keep package(-lock).json frozen. - # Using shell=True, otherwise npm is not found in a nodeenv-built - # virtualenv on Windows. - subprocess.check_call("npm ci", shell=True, cwd="grr_response_server/gui/static") - subprocess.check_call( - "npm run gulp compile", shell=True, cwd="grr_response_server/gui/static" - ) - # Compile UI v2. - subprocess.check_call("npm ci", shell=True, cwd="grr_response_server/gui/ui") - subprocess.check_call( - "npm run ng build --prod", shell=True, cwd="grr_response_server/gui/ui" - ) + """Builds necessary assets from sources.""" + + # Install node_modules, but keep package(-lock).json frozen. + # Using shell=True, otherwise npm is not found in a nodeenv-built + # virtualenv on Windows. + subprocess.check_call("npm ci", shell=True, cwd="grr_response_server/gui/static") + subprocess.check_call( + "npm run gulp compile", shell=True, cwd="grr_response_server/gui/static" + ) + # Compile UI v2. + subprocess.check_call("npm ci", shell=True, cwd="grr_response_server/gui/ui") + subprocess.check_call( + "npm run ng build --prod", shell=True, cwd="grr_response_server/gui/ui" + ) def get_config(): - """Get relative path to version.ini file and the INI parser with its data.""" - rel_ini_path = "version.ini" + """Get relative path to version.ini file and the INI parser with its data.""" + rel_ini_path = "version.ini" + ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) + if not os.path.exists(ini_path): + rel_ini_path = os.path.join("..", "..", "version.ini") ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) if not os.path.exists(ini_path): - rel_ini_path = os.path.join("..", "..", "version.ini") - ini_path = os.path.join(THIS_DIRECTORY, rel_ini_path) - if not os.path.exists(ini_path): - raise RuntimeError("Couldn't find version.ini") + raise RuntimeError("Couldn't find version.ini") - config = configparser.ConfigParser() - config.read(ini_path) - return rel_ini_path, config + config = configparser.ConfigParser() + config.read(ini_path) + return rel_ini_path, config IGNORE_GUI_DIRS = ["node_modules", "tmp"] @@ -79,132 +79,132 @@ def get_config(): def parse_requirements(filename: str) -> List[str]: - requirements = [] - with open(filename) as file: - for line in file: - requirement = line.strip() - if (comment := requirement.find("#")) >= 0: - requirement = requirement[:comment].strip() - requirements.append(requirement) + requirements = [] + with open(filename) as file: + for line in file: + requirement = line.strip() + if (comment := requirement.find("#")) >= 0: + requirement = requirement[:comment].strip() + requirements.append(requirement) - return requirements + return requirements class Develop(develop): - """Build developer version (pip install -e).""" + """Build developer version (pip install -e).""" - user_options = develop.user_options + [ - ("no-make-ui-files", None, "Don't build UI JS/CSS bundles."), - ] + user_options = develop.user_options + [ + ("no-make-ui-files", None, "Don't build UI JS/CSS bundles."), + ] - def initialize_options(self): - self.no_make_ui_files = None - develop.initialize_options(self) + def initialize_options(self): + self.no_make_ui_files = None + develop.initialize_options(self) - def run(self): - # pip install -e . --install-option="--no-make-ui-files" passes the - # --no-make-ui-files flag to all GRR dependencies, which doesn't make - # much sense. Checking an environment variable to have an easy way - # to set the flag for grr-response-server package only. - if not self.no_make_ui_files and not os.environ.get(GRR_NO_MAKE_UI_FILES_VAR): - make_ui_files() + def run(self): + # pip install -e . --install-option="--no-make-ui-files" passes the + # --no-make-ui-files flag to all GRR dependencies, which doesn't make + # much sense. Checking an environment variable to have an easy way + # to set the flag for grr-response-server package only. + if not self.no_make_ui_files and not os.environ.get(GRR_NO_MAKE_UI_FILES_VAR): + make_ui_files() - develop.run(self) + develop.run(self) class Sdist(sdist): - """Build sdist.""" - - user_options = sdist.user_options + [ - ("no-make-ui-files", None, "Don't build UI JS/CSS bundles."), - ] - - def initialize_options(self): - self.no_make_ui_files = None - sdist.initialize_options(self) - - def run(self): - # For consistency, respsecting GRR_NO_MAKE_UI_FILES variable just like - # Develop command does. - if not self.no_make_ui_files and not os.environ.get(GRR_NO_MAKE_UI_FILES_VAR): - make_ui_files() - - sdist.run(self) - - def make_release_tree(self, base_dir, files): - sdist.make_release_tree(self, base_dir, files) - sdist_version_ini = os.path.join(base_dir, "version.ini") - if os.path.exists(sdist_version_ini): - os.unlink(sdist_version_ini) - shutil.copy( - os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini - ) + """Build sdist.""" + + user_options = sdist.user_options + [ + ("no-make-ui-files", None, "Don't build UI JS/CSS bundles."), + ] + + def initialize_options(self): + self.no_make_ui_files = None + sdist.initialize_options(self) + + def run(self): + # For consistency, respsecting GRR_NO_MAKE_UI_FILES variable just like + # Develop command does. + if not self.no_make_ui_files and not os.environ.get(GRR_NO_MAKE_UI_FILES_VAR): + make_ui_files() + + sdist.run(self) + + def make_release_tree(self, base_dir, files): + sdist.make_release_tree(self, base_dir, files) + sdist_version_ini = os.path.join(base_dir, "version.ini") + if os.path.exists(sdist_version_ini): + os.unlink(sdist_version_ini) + shutil.copy( + os.path.join(THIS_DIRECTORY, "../../version.ini"), sdist_version_ini + ) data_files = list( - itertools.chain( - find_data_files("grr_response_server/checks"), - find_data_files("grr_response_server/databases/mysql_migrations"), - find_data_files("grr_response_server/gui/templates"), - find_data_files("grr_response_server/gui/static", ignore_dirs=IGNORE_GUI_DIRS), - find_data_files( - "grr_response_server/gui/local/static", ignore_dirs=IGNORE_GUI_DIRS - ), - [REL_INI_PATH], - ["requirements.in", "requirements_lib.in"], - ) + itertools.chain( + find_data_files("grr_response_server/checks"), + find_data_files("grr_response_server/databases/mysql_migrations"), + find_data_files("grr_response_server/gui/templates"), + find_data_files("grr_response_server/gui/static", ignore_dirs=IGNORE_GUI_DIRS), + find_data_files( + "grr_response_server/gui/local/static", ignore_dirs=IGNORE_GUI_DIRS + ), + [REL_INI_PATH], + ["requirements.in", "requirements_lib.in"], + ) ) setup_args = dict( - name="grr-response-server", - version=VERSION.get("Version", "packageversion"), - description="The GRR Rapid Response Server.", - license="Apache License, Version 2.0", - maintainer="GRR Development Team", - maintainer_email="grr-dev@googlegroups.com", - url="https://github.com/google/grr", - cmdclass={"sdist": Sdist, "develop": Develop}, - packages=find_packages(), - entry_points={ - "console_scripts": [ - "grr_console = grr_response_server.distro_entry:Console", - ( - "grr_api_shell_raw_access = " - "grr_response_server.distro_entry:ApiShellRawAccess" - ), - ("grr_config_updater = " "grr_response_server.distro_entry:ConfigUpdater"), - "grr_frontend = grr_response_server.distro_entry:GrrFrontend", - "grr_server = grr_response_server.distro_entry:GrrServer", - "grr_worker = grr_response_server.distro_entry:Worker", - "grr_admin_ui = grr_response_server.distro_entry:AdminUI", - ( - "fleetspeak_server = " - "grr_response_server.distro_entry:FleetspeakServer" - ), - ] - }, - install_requires=[ - "grr-api-client==%s" % VERSION.get("Version", "packagedepends"), - "grr-response-client-builder==%s" % VERSION.get("Version", "packagedepends"), - "grr-response-core==%s" % VERSION.get("Version", "packagedepends"), + name="grr-response-server", + version=VERSION.get("Version", "packageversion"), + description="The GRR Rapid Response Server.", + license="Apache License, Version 2.0", + maintainer="GRR Development Team", + maintainer_email="grr-dev@googlegroups.com", + url="https://github.com/google/grr", + cmdclass={"sdist": Sdist, "develop": Develop}, + packages=find_packages(), + entry_points={ + "console_scripts": [ + "grr_console = grr_response_server.distro_entry:Console", + ( + "grr_api_shell_raw_access = " + "grr_response_server.distro_entry:ApiShellRawAccess" + ), + ("grr_config_updater = " "grr_response_server.distro_entry:ConfigUpdater"), + "grr_frontend = grr_response_server.distro_entry:GrrFrontend", + "grr_server = grr_response_server.distro_entry:GrrServer", + "grr_worker = grr_response_server.distro_entry:Worker", + "grr_admin_ui = grr_response_server.distro_entry:AdminUI", + ( + "fleetspeak_server = " + "grr_response_server.distro_entry:FleetspeakServer" + ), ] - + parse_requirements("requirements.in"), - extras_require={ - # This is an optional component. Install to get MySQL data - # store support: pip install grr-response[mysqldatastore] - # When installing from .deb, the python-mysqldb package is used as - # dependency instead of this pip dependency. This is because we run into - # incompatibilities between the system mysqlclient/mariadbclient and the - # Python library otherwise. Thus, this version has to be equal to the - # python-mysqldb version of the system we support. This is currently - # Ubuntu Jammy, see - # https://packages.ubuntu.com/en/jammy/python3-mysqldb - "mysqldatastore": ["mysqlclient>=1.3.10,<=1.4.6"], - }, - data_files=data_files, + }, + install_requires=[ + "grr-api-client==%s" % VERSION.get("Version", "packagedepends"), + "grr-response-client-builder==%s" % VERSION.get("Version", "packagedepends"), + "grr-response-core==%s" % VERSION.get("Version", "packagedepends"), + ] + + parse_requirements("requirements.in"), + extras_require={ + # This is an optional component. Install to get MySQL data + # store support: pip install grr-response[mysqldatastore] + # When installing from .deb, the python-mysqldb package is used as + # dependency instead of this pip dependency. This is because we run into + # incompatibilities between the system mysqlclient/mariadbclient and the + # Python library otherwise. Thus, this version has to be equal to the + # python-mysqldb version of the system we support. This is currently + # Ubuntu Jammy, see + # https://packages.ubuntu.com/en/jammy/python3-mysqldb + "mysqldatastore": ["mysqlclient>=1.3.10,<=1.4.6"], + }, + data_files=data_files, ) if platform.system() == "Linux": - setup_args["install_requires"].extend(parse_requirements("requirements_ubuntu.in")) + setup_args["install_requires"].extend(parse_requirements("requirements_ubuntu.in")) setup(**setup_args) diff --git a/grr/test/requirements/centos.txt b/grr/test/requirements/centos.txt deleted file mode 100644 index a3750a48d..000000000 --- a/grr/test/requirements/centos.txt +++ /dev/null @@ -1,6 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.10 -# by the following command: -# -# pip-compile --generate-hashes --output-file=centos_requirements/test_requirements.txt ./travis/../grr/test/requirements.in -# diff --git a/grr/test/requirements/osx.txt b/grr/test/requirements/osx.txt deleted file mode 100644 index 7bc7039e5..000000000 --- a/grr/test/requirements/osx.txt +++ /dev/null @@ -1,7 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --generate-hashes --output-file=ubuntu_requirements/test_requirements.txt ./travis/../grr/test/requirements.in -# - diff --git a/grr/test/requirements/ubuntu.txt b/grr/test/requirements/ubuntu.txt deleted file mode 100644 index 7bc7039e5..000000000 --- a/grr/test/requirements/ubuntu.txt +++ /dev/null @@ -1,7 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --generate-hashes --output-file=ubuntu_requirements/test_requirements.txt ./travis/../grr/test/requirements.in -# - diff --git a/grr/test/requirements/windows.txt b/grr/test/requirements/windows.txt deleted file mode 100644 index f0afe4eab..000000000 --- a/grr/test/requirements/windows.txt +++ /dev/null @@ -1,7 +0,0 @@ -# -# This file is autogenerated by pip-compile with Python 3.9 -# by the following command: -# -# pip-compile --generate-hashes --output-file='windows_requirements\test_requirements.txt' 'D:\a\grr\grr\travis\\..\grr\test\requirements.in' -# - diff --git a/travis/compile_requirements.bat b/travis/compile_requirements.bat index ffb8a809f..f6068e4a9 100755 --- a/travis/compile_requirements.bat +++ b/travis/compile_requirements.bat @@ -1,7 +1,7 @@ set DIR=%~dp0 -set OUT_FOLDER=%1 +set OUT_FOLDER="requirements" mkdir "%OUT_FOLDER%" diff --git a/travis/compile_requirements.sh b/travis/compile_requirements.sh index 159e19968..99627cff7 100755 --- a/travis/compile_requirements.sh +++ b/travis/compile_requirements.sh @@ -3,18 +3,21 @@ set -ex +OS=$1 + DIR="$(dirname "$(which "$0")")" -OUT_FOLDER=$1 -OS=$2 +CURRENT_REQUIREMENTS="$DIR/requirements/$OS.txt" +OUT_FOLDER="requirements" mkdir "$OUT_FOLDER" +OUT_FILE="$OUT_FOLDER/$OS.txt" pip install --require-hashes -r "$DIR/base_tooling_requirements.txt" if [ $OS = "osx" ] then - pip-compile --generate-hashes -o "$OUT_FOLDER/$OS-requirements.txt" \ + pip-compile --generate-hashes -o "$OUT_FILE" \ "$DIR/../api_client/python/requirements.in" \ "$DIR/../grr/core/requirements.in" \ "$DIR/../grr/server/requirements.in" \ @@ -25,7 +28,7 @@ then "$DIR/../grr/test/requirements.in" elif [ $OS = "ubuntu" ] then - pip-compile --generate-hashes -o "$OUT_FOLDER/$OS-requirements.txt" \ + pip-compile --generate-hashes -o "$OUT_FILE" \ "$DIR/../api_client/python/requirements.in" \ "$DIR/../grr/core/requirements.in" \ "$DIR/../grr/server/requirements.in" \ @@ -36,7 +39,7 @@ then "$DIR/../grr/client_builder/requirements.in" \ "$DIR/../grr/test/requirements.in" else - pip-compile --generate-hashes -o "$OUT_FOLDER/$OS-requirements.txt" \ + pip-compile --generate-hashes -o "$OUT_FILE" \ "$DIR/../api_client/python/requirements.in" \ "$DIR/../grr/core/requirements.in" \ "$DIR/../grr/server/requirements.in" \ @@ -45,3 +48,9 @@ else "$DIR/../grr/client_builder/requirements.in" \ "$DIR/../grr/test/requirements.in" fi + +if cmp -s "$OUT_FILE" "$CURRENT_REQUIREMENTS"; then + echo "Requirements are up-to-date" +else + exit "Requirements changed please update $CURRENT_REQUIREMENTS" +fi \ No newline at end of file diff --git a/travis/requirements/centos.txt b/travis/requirements/centos.txt index e69de29bb..df427112d 100644 --- a/travis/requirements/centos.txt +++ b/travis/requirements/centos.txt @@ -0,0 +1,781 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --generate-hashes --output-file=requirements/centos.txt ./travis/../api_client/python/requirements.in ./travis/../grr/client/requirements.in ./travis/../grr/client_builder/requirements.in ./travis/../grr/core/requirements.in ./travis/../grr/proto/requirements.in ./travis/../grr/server/requirements.in ./travis/../grr/test/requirements.in +# +absl-py==1.4.0 \ + --hash=sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47 \ + --hash=sha256:d2c244d01048ba476e7c080bd2c6df5e141d211de80223460d5b3b8a2a58433d + # via + # -r ./travis/../grr/client/requirements.in + # fleetspeak +altgraph==0.17.4 \ + --hash=sha256:1b5afbb98f6c4dcadb2e2ae6ab9fa994bbb8c1d75f4fa96d340f9437ae454406 \ + --hash=sha256:642743b4750de17e655e6711601b077bc6598dbfa3ba5fa2b2a35ce12b508dff + # via pyinstaller +backcall==0.2.0 \ + --hash=sha256:5cbdbf27be5e7cfadb448baf0aa95508f91f2bbc6c6437cd9cd06e2a4c215e1e \ + --hash=sha256:fbbce6a29f263178a1f7915c1940bde0ec2b2a967566fe1c65c1dfb7422bd255 + # via ipython +cachetools==5.3.3 \ + --hash=sha256:0abad1021d3f8325b2fc1d2e9c8b9c9d57b04c3932657a72465447332c24d945 \ + --hash=sha256:ba29e2dfa0b8b556606f097407ed1aa62080ee108ab0dc5ec9d6a723a007d105 + # via google-auth +certifi==2024.6.2 \ + --hash=sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516 \ + --hash=sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56 + # via requests +cffi==1.16.0 \ + --hash=sha256:0c9ef6ff37e974b73c25eecc13952c55bceed9112be2d9d938ded8e856138bcc \ + --hash=sha256:131fd094d1065b19540c3d72594260f118b231090295d8c34e19a7bbcf2e860a \ + --hash=sha256:1b8ebc27c014c59692bb2664c7d13ce7a6e9a629be20e54e7271fa696ff2b417 \ + --hash=sha256:2c56b361916f390cd758a57f2e16233eb4f64bcbeee88a4881ea90fca14dc6ab \ + --hash=sha256:2d92b25dbf6cae33f65005baf472d2c245c050b1ce709cc4588cdcdd5495b520 \ + --hash=sha256:31d13b0f99e0836b7ff893d37af07366ebc90b678b6664c955b54561fc36ef36 \ + --hash=sha256:32c68ef735dbe5857c810328cb2481e24722a59a2003018885514d4c09af9743 \ + --hash=sha256:3686dffb02459559c74dd3d81748269ffb0eb027c39a6fc99502de37d501faa8 \ + --hash=sha256:582215a0e9adbe0e379761260553ba11c58943e4bbe9c36430c4ca6ac74b15ed \ + --hash=sha256:5b50bf3f55561dac5438f8e70bfcdfd74543fd60df5fa5f62d94e5867deca684 \ + --hash=sha256:5bf44d66cdf9e893637896c7faa22298baebcd18d1ddb6d2626a6e39793a1d56 \ + --hash=sha256:6602bc8dc6f3a9e02b6c22c4fc1e47aa50f8f8e6d3f78a5e16ac33ef5fefa324 \ + --hash=sha256:673739cb539f8cdaa07d92d02efa93c9ccf87e345b9a0b556e3ecc666718468d \ + --hash=sha256:68678abf380b42ce21a5f2abde8efee05c114c2fdb2e9eef2efdb0257fba1235 \ + --hash=sha256:68e7c44931cc171c54ccb702482e9fc723192e88d25a0e133edd7aff8fcd1f6e \ + --hash=sha256:6b3d6606d369fc1da4fd8c357d026317fbb9c9b75d36dc16e90e84c26854b088 \ + --hash=sha256:748dcd1e3d3d7cd5443ef03ce8685043294ad6bd7c02a38d1bd367cfd968e000 \ + --hash=sha256:7651c50c8c5ef7bdb41108b7b8c5a83013bfaa8a935590c5d74627c047a583c7 \ + --hash=sha256:7b78010e7b97fef4bee1e896df8a4bbb6712b7f05b7ef630f9d1da00f6444d2e \ + --hash=sha256:7e61e3e4fa664a8588aa25c883eab612a188c725755afff6289454d6362b9673 \ + --hash=sha256:80876338e19c951fdfed6198e70bc88f1c9758b94578d5a7c4c91a87af3cf31c \ + --hash=sha256:8895613bcc094d4a1b2dbe179d88d7fb4a15cee43c052e8885783fac397d91fe \ + --hash=sha256:88e2b3c14bdb32e440be531ade29d3c50a1a59cd4e51b1dd8b0865c54ea5d2e2 \ + --hash=sha256:8f8e709127c6c77446a8c0a8c8bf3c8ee706a06cd44b1e827c3e6a2ee6b8c098 \ + --hash=sha256:9cb4a35b3642fc5c005a6755a5d17c6c8b6bcb6981baf81cea8bfbc8903e8ba8 \ + --hash=sha256:9f90389693731ff1f659e55c7d1640e2ec43ff725cc61b04b2f9c6d8d017df6a \ + --hash=sha256:a09582f178759ee8128d9270cd1344154fd473bb77d94ce0aeb2a93ebf0feaf0 \ + --hash=sha256:a6a14b17d7e17fa0d207ac08642c8820f84f25ce17a442fd15e27ea18d67c59b \ + --hash=sha256:a72e8961a86d19bdb45851d8f1f08b041ea37d2bd8d4fd19903bc3083d80c896 \ + --hash=sha256:abd808f9c129ba2beda4cfc53bde801e5bcf9d6e0f22f095e45327c038bfe68e \ + --hash=sha256:ac0f5edd2360eea2f1daa9e26a41db02dd4b0451b48f7c318e217ee092a213e9 \ + --hash=sha256:b29ebffcf550f9da55bec9e02ad430c992a87e5f512cd63388abb76f1036d8d2 \ + --hash=sha256:b2ca4e77f9f47c55c194982e10f058db063937845bb2b7a86c84a6cfe0aefa8b \ + --hash=sha256:b7be2d771cdba2942e13215c4e340bfd76398e9227ad10402a8767ab1865d2e6 \ + --hash=sha256:b84834d0cf97e7d27dd5b7f3aca7b6e9263c56308ab9dc8aae9784abb774d404 \ + --hash=sha256:b86851a328eedc692acf81fb05444bdf1891747c25af7529e39ddafaf68a4f3f \ + --hash=sha256:bcb3ef43e58665bbda2fb198698fcae6776483e0c4a631aa5647806c25e02cc0 \ + --hash=sha256:c0f31130ebc2d37cdd8e44605fb5fa7ad59049298b3f745c74fa74c62fbfcfc4 \ + --hash=sha256:c6a164aa47843fb1b01e941d385aab7215563bb8816d80ff3a363a9f8448a8dc \ + --hash=sha256:d8a9d3ebe49f084ad71f9269834ceccbf398253c9fac910c4fd7053ff1386936 \ + --hash=sha256:db8e577c19c0fda0beb7e0d4e09e0ba74b1e4c092e0e40bfa12fe05b6f6d75ba \ + --hash=sha256:dc9b18bf40cc75f66f40a7379f6a9513244fe33c0e8aa72e2d56b0196a7ef872 \ + --hash=sha256:e09f3ff613345df5e8c3667da1d918f9149bd623cd9070c983c013792a9a62eb \ + --hash=sha256:e4108df7fe9b707191e55f33efbcb2d81928e10cea45527879a4749cbe472614 \ + --hash=sha256:e6024675e67af929088fda399b2094574609396b1decb609c55fa58b028a32a1 \ + --hash=sha256:e70f54f1796669ef691ca07d046cd81a29cb4deb1e5f942003f401c0c4a2695d \ + --hash=sha256:e715596e683d2ce000574bae5d07bd522c781a822866c20495e52520564f0969 \ + --hash=sha256:e760191dd42581e023a68b758769e2da259b5d52e3103c6060ddc02c9edb8d7b \ + --hash=sha256:ed86a35631f7bfbb28e108dd96773b9d5a6ce4811cf6ea468bb6a359b256b1e4 \ + --hash=sha256:ee07e47c12890ef248766a6e55bd38ebfb2bb8edd4142d56db91b21ea68b7627 \ + --hash=sha256:fa3a0128b152627161ce47201262d3140edb5a5c3da88d73a1b790a959126956 \ + --hash=sha256:fcc8eb6d5902bb1cf6dc4f187ee3ea80a1eba0a89aba40a5cb20a5087d961357 + # via cryptography +chardet==5.2.0 \ + --hash=sha256:1b3b6ff479a8c414bc3fa2c0852995695c4a026dcd6d0633b2dd092ca39c1cf7 \ + --hash=sha256:e1cf59446890a00105fe7b7912492ea04b6e6f06d4b742b2c788469e34c82970 + # via python-debian +charset-normalizer==3.3.2 \ + --hash=sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027 \ + --hash=sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087 \ + --hash=sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786 \ + --hash=sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8 \ + --hash=sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09 \ + --hash=sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185 \ + --hash=sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574 \ + --hash=sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e \ + --hash=sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519 \ + --hash=sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898 \ + --hash=sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269 \ + --hash=sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3 \ + --hash=sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f \ + --hash=sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6 \ + --hash=sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8 \ + --hash=sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a \ + --hash=sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73 \ + --hash=sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc \ + --hash=sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714 \ + --hash=sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2 \ + --hash=sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc \ + --hash=sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce \ + --hash=sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d \ + --hash=sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e \ + --hash=sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6 \ + --hash=sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269 \ + --hash=sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96 \ + --hash=sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d \ + --hash=sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a \ + --hash=sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4 \ + --hash=sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77 \ + --hash=sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d \ + --hash=sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0 \ + --hash=sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed \ + --hash=sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068 \ + --hash=sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac \ + --hash=sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25 \ + --hash=sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8 \ + --hash=sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab \ + --hash=sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26 \ + --hash=sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2 \ + --hash=sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db \ + --hash=sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f \ + --hash=sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5 \ + --hash=sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99 \ + --hash=sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c \ + --hash=sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d \ + --hash=sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811 \ + --hash=sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa \ + --hash=sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a \ + --hash=sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03 \ + --hash=sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b \ + --hash=sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04 \ + --hash=sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c \ + --hash=sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001 \ + --hash=sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458 \ + --hash=sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389 \ + --hash=sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99 \ + --hash=sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985 \ + --hash=sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537 \ + --hash=sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238 \ + --hash=sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f \ + --hash=sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d \ + --hash=sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796 \ + --hash=sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a \ + --hash=sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143 \ + --hash=sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8 \ + --hash=sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c \ + --hash=sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5 \ + --hash=sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5 \ + --hash=sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711 \ + --hash=sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4 \ + --hash=sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6 \ + --hash=sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c \ + --hash=sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7 \ + --hash=sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4 \ + --hash=sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b \ + --hash=sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae \ + --hash=sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12 \ + --hash=sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c \ + --hash=sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae \ + --hash=sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8 \ + --hash=sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887 \ + --hash=sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b \ + --hash=sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4 \ + --hash=sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f \ + --hash=sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5 \ + --hash=sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33 \ + --hash=sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519 \ + --hash=sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561 + # via requests +cryptography==3.4.8 \ + --hash=sha256:0a7dcbcd3f1913f664aca35d47c1331fce738d44ec34b7be8b9d332151b0b01e \ + --hash=sha256:1eb7bb0df6f6f583dd8e054689def236255161ebbcf62b226454ab9ec663746b \ + --hash=sha256:21ca464b3a4b8d8e86ba0ee5045e103a1fcfac3b39319727bc0fc58c09c6aff7 \ + --hash=sha256:34dae04a0dce5730d8eb7894eab617d8a70d0c97da76b905de9efb7128ad7085 \ + --hash=sha256:3520667fda779eb788ea00080124875be18f2d8f0848ec00733c0ec3bb8219fc \ + --hash=sha256:3c4129fc3fdc0fa8e40861b5ac0c673315b3c902bbdc05fc176764815b43dd1d \ + --hash=sha256:3fa3a7ccf96e826affdf1a0a9432be74dc73423125c8f96a909e3835a5ef194a \ + --hash=sha256:5b0fbfae7ff7febdb74b574055c7466da334a5371f253732d7e2e7525d570498 \ + --hash=sha256:695104a9223a7239d155d7627ad912953b540929ef97ae0c34c7b8bf30857e89 \ + --hash=sha256:8695456444f277af73a4877db9fc979849cd3ee74c198d04fc0776ebc3db52b9 \ + --hash=sha256:94cc5ed4ceaefcbe5bf38c8fba6a21fc1d365bb8fb826ea1688e3370b2e24a1c \ + --hash=sha256:94fff993ee9bc1b2440d3b7243d488c6a3d9724cc2b09cdb297f6a886d040ef7 \ + --hash=sha256:9965c46c674ba8cc572bc09a03f4c649292ee73e1b683adb1ce81e82e9a6a0fb \ + --hash=sha256:a00cf305f07b26c351d8d4e1af84ad7501eca8a342dedf24a7acb0e7b7406e14 \ + --hash=sha256:a305600e7a6b7b855cd798e00278161b681ad6e9b7eca94c721d5f588ab212af \ + --hash=sha256:cd65b60cfe004790c795cc35f272e41a3df4631e2fb6b35aa7ac6ef2859d554e \ + --hash=sha256:d2a6e5ef66503da51d2110edf6c403dc6b494cc0082f85db12f54e9c5d4c3ec5 \ + --hash=sha256:d9ec0e67a14f9d1d48dd87a2531009a9b251c02ea42851c060b25c782516ff06 \ + --hash=sha256:f44d141b8c4ea5eb4dbc9b3ad992d45580c1d22bf5e24363f2fbf50c2d7ae8a7 + # via + # -r ./travis/../api_client/python/requirements.in + # -r ./travis/../grr/core/requirements.in + # pyopenssl +decorator==5.1.1 \ + --hash=sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330 \ + --hash=sha256:b8c3f85900b9dc423225913c5aace94729fe1fa9763b38939a95226f02d37186 + # via ipython +distro==1.7.0 \ + --hash=sha256:151aeccf60c216402932b52e40ee477a939f8d58898927378a02abbe852c1c39 \ + --hash=sha256:d596311d707e692c2160c37807f83e3820c5d539d5a83e87cfb6babd8ba3a06b + # via + # -r ./travis/../grr/client_builder/requirements.in + # -r ./travis/../grr/core/requirements.in +fleetspeak==0.1.12 \ + --hash=sha256:08d89369f6199009958c72342aad4ae3abb452ac1371a01470f7a3d08cf4dd6f + # via -r ./travis/../grr/core/requirements.in +fleetspeak-client-bin==0.1.13 \ + --hash=sha256:8cb051c429fb2eade39bef8c0587d61a2935c7875ca22d3db8f74a4a4ec3f8f4 \ + --hash=sha256:a5d1be73712278e1c4ad275ea714809fb474929262d245d143e0d0101c084ce9 \ + --hash=sha256:c1b32540c1d18d71813cfa14454ff39bde3f06ae4ee5ec777e952e16cc94b26b \ + --hash=sha256:ef28f40757726ffd13b931740be156016d7494f2652a18f2772cba664142ce2e + # via + # -r ./travis/../grr/client/requirements.in + # -r ./travis/../grr/client_builder/requirements.in +google-api-core[grpc]==2.19.1 \ + --hash=sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125 \ + --hash=sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd + # via + # google-api-python-client + # google-cloud-core + # google-cloud-pubsub + # google-cloud-storage +google-api-python-client==1.12.11 \ + --hash=sha256:1b4bd42a46321e13c0542a9e4d96fa05d73626f07b39f83a73a947d70ca706a9 \ + --hash=sha256:7e0a1a265c8d3088ee1987778c72683fcb376e32bada8d7767162bd9c503fd9b + # via -r ./travis/../grr/server/requirements.in +google-auth==2.23.3 \ + --hash=sha256:6864247895eea5d13b9c57c9e03abb49cb94ce2dc7c58e91cba3248c7477c9e3 \ + --hash=sha256:a8f4608e65c244ead9e0538f181a96c6e11199ec114d41f1d7b1bffa96937bda + # via + # -r ./travis/../grr/server/requirements.in + # google-api-core + # google-api-python-client + # google-auth-httplib2 + # google-cloud-core + # google-cloud-storage +google-auth-httplib2==0.2.0 \ + --hash=sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05 \ + --hash=sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d + # via google-api-python-client +google-cloud-core==2.4.1 \ + --hash=sha256:9b7749272a812bde58fff28868d0c5e2f585b82f37e09a1f6ed2d4d10f134073 \ + --hash=sha256:a9e6a4422b9ac5c29f79a0ede9485473338e2ce78d91f2370c01e730eab22e61 + # via google-cloud-storage +google-cloud-pubsub==2.18.4 \ + --hash=sha256:32eb61fd4c1dc6c842f594d69d9afa80544e3b327aa640a164eb6fb0201eaf2d \ + --hash=sha256:f32144ad9ed32331a80a2f8379a3ca7526bbc01e7bd76de2e8ab52e492d21f50 + # via -r ./travis/../grr/server/requirements.in +google-cloud-storage==2.13.0 \ + --hash=sha256:ab0bf2e1780a1b74cf17fccb13788070b729f50c252f0c94ada2aae0ca95437d \ + --hash=sha256:f62dc4c7b6cd4360d072e3deb28035fbdad491ac3d9b0b1815a12daea10f37c7 + # via -r ./travis/../grr/server/requirements.in +google-crc32c==1.5.0 \ + --hash=sha256:024894d9d3cfbc5943f8f230e23950cd4906b2fe004c72e29b209420a1e6b05a \ + --hash=sha256:02c65b9817512edc6a4ae7c7e987fea799d2e0ee40c53ec573a692bee24de876 \ + --hash=sha256:02ebb8bf46c13e36998aeaad1de9b48f4caf545e91d14041270d9dca767b780c \ + --hash=sha256:07eb3c611ce363c51a933bf6bd7f8e3878a51d124acfc89452a75120bc436289 \ + --hash=sha256:1034d91442ead5a95b5aaef90dbfaca8633b0247d1e41621d1e9f9db88c36298 \ + --hash=sha256:116a7c3c616dd14a3de8c64a965828b197e5f2d121fedd2f8c5585c547e87b02 \ + --hash=sha256:19e0a019d2c4dcc5e598cd4a4bc7b008546b0358bd322537c74ad47a5386884f \ + --hash=sha256:1c7abdac90433b09bad6c43a43af253e688c9cfc1c86d332aed13f9a7c7f65e2 \ + --hash=sha256:1e986b206dae4476f41bcec1faa057851f3889503a70e1bdb2378d406223994a \ + --hash=sha256:272d3892a1e1a2dbc39cc5cde96834c236d5327e2122d3aaa19f6614531bb6eb \ + --hash=sha256:278d2ed7c16cfc075c91378c4f47924c0625f5fc84b2d50d921b18b7975bd210 \ + --hash=sha256:2ad40e31093a4af319dadf503b2467ccdc8f67c72e4bcba97f8c10cb078207b5 \ + --hash=sha256:2e920d506ec85eb4ba50cd4228c2bec05642894d4c73c59b3a2fe20346bd00ee \ + --hash=sha256:3359fc442a743e870f4588fcf5dcbc1bf929df1fad8fb9905cd94e5edb02e84c \ + --hash=sha256:37933ec6e693e51a5b07505bd05de57eee12f3e8c32b07da7e73669398e6630a \ + --hash=sha256:398af5e3ba9cf768787eef45c803ff9614cc3e22a5b2f7d7ae116df8b11e3314 \ + --hash=sha256:3b747a674c20a67343cb61d43fdd9207ce5da6a99f629c6e2541aa0e89215bcd \ + --hash=sha256:461665ff58895f508e2866824a47bdee72497b091c730071f2b7575d5762ab65 \ + --hash=sha256:4c6fdd4fccbec90cc8a01fc00773fcd5fa28db683c116ee3cb35cd5da9ef6c37 \ + --hash=sha256:5829b792bf5822fd0a6f6eb34c5f81dd074f01d570ed7f36aa101d6fc7a0a6e4 \ + --hash=sha256:596d1f98fc70232fcb6590c439f43b350cb762fb5d61ce7b0e9db4539654cc13 \ + --hash=sha256:5ae44e10a8e3407dbe138984f21e536583f2bba1be9491239f942c2464ac0894 \ + --hash=sha256:635f5d4dd18758a1fbd1049a8e8d2fee4ffed124462d837d1a02a0e009c3ab31 \ + --hash=sha256:64e52e2b3970bd891309c113b54cf0e4384762c934d5ae56e283f9a0afcd953e \ + --hash=sha256:66741ef4ee08ea0b2cc3c86916ab66b6aef03768525627fd6a1b34968b4e3709 \ + --hash=sha256:67b741654b851abafb7bc625b6d1cdd520a379074e64b6a128e3b688c3c04740 \ + --hash=sha256:6ac08d24c1f16bd2bf5eca8eaf8304812f44af5cfe5062006ec676e7e1d50afc \ + --hash=sha256:6f998db4e71b645350b9ac28a2167e6632c239963ca9da411523bb439c5c514d \ + --hash=sha256:72218785ce41b9cfd2fc1d6a017dc1ff7acfc4c17d01053265c41a2c0cc39b8c \ + --hash=sha256:74dea7751d98034887dbd821b7aae3e1d36eda111d6ca36c206c44478035709c \ + --hash=sha256:759ce4851a4bb15ecabae28f4d2e18983c244eddd767f560165563bf9aefbc8d \ + --hash=sha256:77e2fd3057c9d78e225fa0a2160f96b64a824de17840351b26825b0848022906 \ + --hash=sha256:7c074fece789b5034b9b1404a1f8208fc2d4c6ce9decdd16e8220c5a793e6f61 \ + --hash=sha256:7c42c70cd1d362284289c6273adda4c6af8039a8ae12dc451dcd61cdabb8ab57 \ + --hash=sha256:7f57f14606cd1dd0f0de396e1e53824c371e9544a822648cd76c034d209b559c \ + --hash=sha256:83c681c526a3439b5cf94f7420471705bbf96262f49a6fe546a6db5f687a3d4a \ + --hash=sha256:8485b340a6a9e76c62a7dce3c98e5f102c9219f4cfbf896a00cf48caf078d438 \ + --hash=sha256:84e6e8cd997930fc66d5bb4fde61e2b62ba19d62b7abd7a69920406f9ecca946 \ + --hash=sha256:89284716bc6a5a415d4eaa11b1726d2d60a0cd12aadf5439828353662ede9dd7 \ + --hash=sha256:8b87e1a59c38f275c0e3676fc2ab6d59eccecfd460be267ac360cc31f7bcde96 \ + --hash=sha256:8f24ed114432de109aa9fd317278518a5af2d31ac2ea6b952b2f7782b43da091 \ + --hash=sha256:98cb4d057f285bd80d8778ebc4fde6b4d509ac3f331758fb1528b733215443ae \ + --hash=sha256:998679bf62b7fb599d2878aa3ed06b9ce688b8974893e7223c60db155f26bd8d \ + --hash=sha256:9ba053c5f50430a3fcfd36f75aff9caeba0440b2d076afdb79a318d6ca245f88 \ + --hash=sha256:9c99616c853bb585301df6de07ca2cadad344fd1ada6d62bb30aec05219c45d2 \ + --hash=sha256:a1fd716e7a01f8e717490fbe2e431d2905ab8aa598b9b12f8d10abebb36b04dd \ + --hash=sha256:a2355cba1f4ad8b6988a4ca3feed5bff33f6af2d7f134852cf279c2aebfde541 \ + --hash=sha256:b1f8133c9a275df5613a451e73f36c2aea4fe13c5c8997e22cf355ebd7bd0728 \ + --hash=sha256:b8667b48e7a7ef66afba2c81e1094ef526388d35b873966d8a9a447974ed9178 \ + --hash=sha256:ba1eb1843304b1e5537e1fca632fa894d6f6deca8d6389636ee5b4797affb968 \ + --hash=sha256:be82c3c8cfb15b30f36768797a640e800513793d6ae1724aaaafe5bf86f8f346 \ + --hash=sha256:c02ec1c5856179f171e032a31d6f8bf84e5a75c45c33b2e20a3de353b266ebd8 \ + --hash=sha256:c672d99a345849301784604bfeaeba4db0c7aae50b95be04dd651fd2a7310b93 \ + --hash=sha256:c6c777a480337ac14f38564ac88ae82d4cd238bf293f0a22295b66eb89ffced7 \ + --hash=sha256:cae0274952c079886567f3f4f685bcaf5708f0a23a5f5216fdab71f81a6c0273 \ + --hash=sha256:cd67cf24a553339d5062eff51013780a00d6f97a39ca062781d06b3a73b15462 \ + --hash=sha256:d3515f198eaa2f0ed49f8819d5732d70698c3fa37384146079b3799b97667a94 \ + --hash=sha256:d5280312b9af0976231f9e317c20e4a61cd2f9629b7bfea6a693d1878a264ebd \ + --hash=sha256:de06adc872bcd8c2a4e0dc51250e9e65ef2ca91be023b9d13ebd67c2ba552e1e \ + --hash=sha256:e1674e4307fa3024fc897ca774e9c7562c957af85df55efe2988ed9056dc4e57 \ + --hash=sha256:e2096eddb4e7c7bdae4bd69ad364e55e07b8316653234a56552d9c988bd2d61b \ + --hash=sha256:e560628513ed34759456a416bf86b54b2476c59144a9138165c9a1575801d0d9 \ + --hash=sha256:edfedb64740750e1a3b16152620220f51d58ff1b4abceb339ca92e934775c27a \ + --hash=sha256:f13cae8cc389a440def0c8c52057f37359014ccbc9dc1f0827936bcd367c6100 \ + --hash=sha256:f314013e7dcd5cf45ab1945d92e713eec788166262ae8deb2cfacd53def27325 \ + --hash=sha256:f583edb943cf2e09c60441b910d6a20b4d9d626c75a36c8fcac01a6c96c01183 \ + --hash=sha256:fd8536e902db7e365f49e7d9029283403974ccf29b13fc7028b97e2295b33556 \ + --hash=sha256:fe70e325aa68fa4b5edf7d1a4b6f691eb04bbccac0ace68e34820d283b5f80d4 + # via + # google-cloud-storage + # google-resumable-media +google-resumable-media==2.7.1 \ + --hash=sha256:103ebc4ba331ab1bfdac0250f8033627a2cd7cde09e7ccff9181e31ba4315b2c \ + --hash=sha256:eae451a7b2e2cdbaaa0fd2eb00cc8a1ee5e95e16b55597359cbc3d27d7d90e33 + # via google-cloud-storage +googleapis-common-protos[grpc]==1.63.2 \ + --hash=sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945 \ + --hash=sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87 + # via + # google-api-core + # grpc-google-iam-v1 + # grpcio-status +grpc-google-iam-v1==0.13.1 \ + --hash=sha256:3ff4b2fd9d990965e410965253c0da6f66205d5a8291c4c31c6ebecca18a9001 \ + --hash=sha256:c3e86151a981811f30d5e7330f271cee53e73bb87755e88cc3b6f0c7b5fe374e + # via google-cloud-pubsub +grpcio==1.64.1 \ + --hash=sha256:03b43d0ccf99c557ec671c7dede64f023c7da9bb632ac65dbc57f166e4970040 \ + --hash=sha256:0a12ddb1678ebc6a84ec6b0487feac020ee2b1659cbe69b80f06dbffdb249122 \ + --hash=sha256:0a2813093ddb27418a4c99f9b1c223fab0b053157176a64cc9db0f4557b69bd9 \ + --hash=sha256:0cc79c982ccb2feec8aad0e8fb0d168bcbca85bc77b080d0d3c5f2f15c24ea8f \ + --hash=sha256:1257b76748612aca0f89beec7fa0615727fd6f2a1ad580a9638816a4b2eb18fd \ + --hash=sha256:1262402af5a511c245c3ae918167eca57342c72320dffae5d9b51840c4b2f86d \ + --hash=sha256:19264fc964576ddb065368cae953f8d0514ecc6cb3da8903766d9fb9d4554c33 \ + --hash=sha256:198908f9b22e2672a998870355e226a725aeab327ac4e6ff3a1399792ece4762 \ + --hash=sha256:1de403fc1305fd96cfa75e83be3dee8538f2413a6b1685b8452301c7ba33c294 \ + --hash=sha256:20405cb8b13fd779135df23fabadc53b86522d0f1cba8cca0e87968587f50650 \ + --hash=sha256:2981c7365a9353f9b5c864595c510c983251b1ab403e05b1ccc70a3d9541a73b \ + --hash=sha256:2c3c1b90ab93fed424e454e93c0ed0b9d552bdf1b0929712b094f5ecfe7a23ad \ + --hash=sha256:39b9d0acaa8d835a6566c640f48b50054f422d03e77e49716d4c4e8e279665a1 \ + --hash=sha256:3b64ae304c175671efdaa7ec9ae2cc36996b681eb63ca39c464958396697daff \ + --hash=sha256:4657d24c8063e6095f850b68f2d1ba3b39f2b287a38242dcabc166453e950c59 \ + --hash=sha256:4d6dab6124225496010bd22690f2d9bd35c7cbb267b3f14e7a3eb05c911325d4 \ + --hash=sha256:55260032b95c49bee69a423c2f5365baa9369d2f7d233e933564d8a47b893027 \ + --hash=sha256:55697ecec192bc3f2f3cc13a295ab670f51de29884ca9ae6cd6247df55df2502 \ + --hash=sha256:5841dd1f284bd1b3d8a6eca3a7f062b06f1eec09b184397e1d1d43447e89a7ae \ + --hash=sha256:58b1041e7c870bb30ee41d3090cbd6f0851f30ae4eb68228955d973d3efa2e61 \ + --hash=sha256:5e42634a989c3aa6049f132266faf6b949ec2a6f7d302dbb5c15395b77d757eb \ + --hash=sha256:5e56462b05a6f860b72f0fa50dca06d5b26543a4e88d0396259a07dc30f4e5aa \ + --hash=sha256:5f8b75f64d5d324c565b263c67dbe4f0af595635bbdd93bb1a88189fc62ed2e5 \ + --hash=sha256:62b4e6eb7bf901719fce0ca83e3ed474ae5022bb3827b0a501e056458c51c0a1 \ + --hash=sha256:6503b64c8b2dfad299749cad1b595c650c91e5b2c8a1b775380fcf8d2cbba1e9 \ + --hash=sha256:6c024ffc22d6dc59000faf8ad781696d81e8e38f4078cb0f2630b4a3cf231a90 \ + --hash=sha256:73819689c169417a4f978e562d24f2def2be75739c4bed1992435d007819da1b \ + --hash=sha256:75dbbf415026d2862192fe1b28d71f209e2fd87079d98470db90bebe57b33179 \ + --hash=sha256:8caee47e970b92b3dd948371230fcceb80d3f2277b3bf7fbd7c0564e7d39068e \ + --hash=sha256:8d51dd1c59d5fa0f34266b80a3805ec29a1f26425c2a54736133f6d87fc4968a \ + --hash=sha256:940e3ec884520155f68a3b712d045e077d61c520a195d1a5932c531f11883489 \ + --hash=sha256:a011ac6c03cfe162ff2b727bcb530567826cec85eb8d4ad2bfb4bd023287a52d \ + --hash=sha256:a3a035c37ce7565b8f4f35ff683a4db34d24e53dc487e47438e434eb3f701b2a \ + --hash=sha256:a5e771d0252e871ce194d0fdcafd13971f1aae0ddacc5f25615030d5df55c3a2 \ + --hash=sha256:ac15b6c2c80a4d1338b04d42a02d376a53395ddf0ec9ab157cbaf44191f3ffdd \ + --hash=sha256:b1a82e0b9b3022799c336e1fc0f6210adc019ae84efb7321d668129d28ee1efb \ + --hash=sha256:bac71b4b28bc9af61efcdc7630b166440bbfbaa80940c9a697271b5e1dabbc61 \ + --hash=sha256:bbc5b1d78a7822b0a84c6f8917faa986c1a744e65d762ef6d8be9d75677af2ca \ + --hash=sha256:c1a786ac592b47573a5bb7e35665c08064a5d77ab88a076eec11f8ae86b3e3f6 \ + --hash=sha256:c84ad903d0d94311a2b7eea608da163dace97c5fe9412ea311e72c3684925602 \ + --hash=sha256:d4d29cc612e1332237877dfa7fe687157973aab1d63bd0f84cf06692f04c0367 \ + --hash=sha256:e3d9f8d1221baa0ced7ec7322a981e28deb23749c76eeeb3d33e18b72935ab62 \ + --hash=sha256:e7cd5c1325f6808b8ae31657d281aadb2a51ac11ab081ae335f4f7fc44c1721d \ + --hash=sha256:ed6091fa0adcc7e4ff944090cf203a52da35c37a130efa564ded02b7aff63bcd \ + --hash=sha256:ee73a2f5ca4ba44fa33b4d7d2c71e2c8a9e9f78d53f6507ad68e7d2ad5f64a22 \ + --hash=sha256:f10193c69fc9d3d726e83bbf0f3d316f1847c3071c8c93d8090cf5f326b14309 + # via + # fleetspeak + # google-api-core + # google-cloud-pubsub + # googleapis-common-protos + # grpc-google-iam-v1 + # grpcio-status +grpcio-status==1.62.2 \ + --hash=sha256:206ddf0eb36bc99b033f03b2c8e95d319f0044defae9b41ae21408e7e0cda48f \ + --hash=sha256:62e1bfcb02025a1cd73732a2d33672d3e9d0df4d21c12c51e0bbcaf09bab742a + # via + # google-api-core + # google-cloud-pubsub +httplib2==0.22.0 \ + --hash=sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc \ + --hash=sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81 + # via + # google-api-python-client + # google-auth-httplib2 +idna==3.7 \ + --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ + --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 + # via requests +ipaddr==2.2.0 \ + --hash=sha256:4092dfe667588d16aa12b59acb7c8a4024e5dcb23a681cd0b0b602373eca88d6 + # via -r ./travis/../grr/core/requirements.in +ipython==7.15.0 \ + --hash=sha256:0ef1433879816a960cd3ae1ae1dc82c64732ca75cec8dab5a4e29783fb571d0e \ + --hash=sha256:1b85d65632211bf5d3e6f1406f3393c8c429a47d7b947b9a87812aa5bce6595c + # via + # -r ./travis/../api_client/python/requirements.in + # -r ./travis/../grr/server/requirements.in +jedi==0.19.1 \ + --hash=sha256:cf0496f3651bc65d7174ac1b7d043eff454892c708a87d1b683e57b569927ffd \ + --hash=sha256:e983c654fe5c02867aef4cdfce5a2fbb4a50adc0af145f70504238f18ef5e7e0 + # via ipython +jinja2==3.1.2 \ + --hash=sha256:31351a702a408a9e7595a8fc6150fc3f43bb6bf7e319770cbc0db9df9437e852 \ + --hash=sha256:6088930bfe239f0e6710546ab9c19c9ef35e29792895fed6e6e31a023a182a61 + # via -r ./travis/../grr/server/requirements.in +libfsntfs-python==20230606 \ + --hash=sha256:373f0065888ef9db047d12ecc016b20bf077d0a0bfa9cd6306b564b5071ac370 \ + --hash=sha256:38dc1e5beb31146ca8fc70003bfc9cc15d98c5405a5d5339767bab8a18049e08 \ + --hash=sha256:5037a66e562ed03ff57b36dcd8666b555dda4dca1e2045d7f5654764182477a0 \ + --hash=sha256:6998aa3f09ebdfb6434c035987531edccfb9e3ca35c367b488ccd4e96331fd2e \ + --hash=sha256:c70df92a678553c52ad98c140fb3f6f6aa335a5103489fbc1dccef577475f7d7 \ + --hash=sha256:cc4a946073920e7d26d8f299d1b4a7b7ea0ab635bccad3ef5269f2976968c185 \ + --hash=sha256:d16fb849d3f92840b78b13328484096cccb6a587681353b81b1f2b1c79f452a3 \ + --hash=sha256:f0df820bd6d91103a36664f228fcc8564715bd9c4f446149d90a1e751bfabdff + # via -r ./travis/../grr/client/requirements.in +markupsafe==2.1.5 \ + --hash=sha256:00e046b6dd71aa03a41079792f8473dc494d564611a8f89bbbd7cb93295ebdcf \ + --hash=sha256:075202fa5b72c86ad32dc7d0b56024ebdbcf2048c0ba09f1cde31bfdd57bcfff \ + --hash=sha256:0e397ac966fdf721b2c528cf028494e86172b4feba51d65f81ffd65c63798f3f \ + --hash=sha256:17b950fccb810b3293638215058e432159d2b71005c74371d784862b7e4683f3 \ + --hash=sha256:1f3fbcb7ef1f16e48246f704ab79d79da8a46891e2da03f8783a5b6fa41a9532 \ + --hash=sha256:2174c595a0d73a3080ca3257b40096db99799265e1c27cc5a610743acd86d62f \ + --hash=sha256:2b7c57a4dfc4f16f7142221afe5ba4e093e09e728ca65c51f5620c9aaeb9a617 \ + --hash=sha256:2d2d793e36e230fd32babe143b04cec8a8b3eb8a3122d2aceb4a371e6b09b8df \ + --hash=sha256:30b600cf0a7ac9234b2638fbc0fb6158ba5bdcdf46aeb631ead21248b9affbc4 \ + --hash=sha256:397081c1a0bfb5124355710fe79478cdbeb39626492b15d399526ae53422b906 \ + --hash=sha256:3a57fdd7ce31c7ff06cdfbf31dafa96cc533c21e443d57f5b1ecc6cdc668ec7f \ + --hash=sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4 \ + --hash=sha256:3e53af139f8579a6d5f7b76549125f0d94d7e630761a2111bc431fd820e163b8 \ + --hash=sha256:4096e9de5c6fdf43fb4f04c26fb114f61ef0bf2e5604b6ee3019d51b69e8c371 \ + --hash=sha256:4275d846e41ecefa46e2015117a9f491e57a71ddd59bbead77e904dc02b1bed2 \ + --hash=sha256:4c31f53cdae6ecfa91a77820e8b151dba54ab528ba65dfd235c80b086d68a465 \ + --hash=sha256:4f11aa001c540f62c6166c7726f71f7573b52c68c31f014c25cc7901deea0b52 \ + --hash=sha256:5049256f536511ee3f7e1b3f87d1d1209d327e818e6ae1365e8653d7e3abb6a6 \ + --hash=sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169 \ + --hash=sha256:598e3276b64aff0e7b3451b72e94fa3c238d452e7ddcd893c3ab324717456bad \ + --hash=sha256:5b7b716f97b52c5a14bffdf688f971b2d5ef4029127f1ad7a513973cfd818df2 \ + --hash=sha256:5dedb4db619ba5a2787a94d877bc8ffc0566f92a01c0ef214865e54ecc9ee5e0 \ + --hash=sha256:619bc166c4f2de5caa5a633b8b7326fbe98e0ccbfacabd87268a2b15ff73a029 \ + --hash=sha256:629ddd2ca402ae6dbedfceeba9c46d5f7b2a61d9749597d4307f943ef198fc1f \ + --hash=sha256:656f7526c69fac7f600bd1f400991cc282b417d17539a1b228617081106feb4a \ + --hash=sha256:6ec585f69cec0aa07d945b20805be741395e28ac1627333b1c5b0105962ffced \ + --hash=sha256:72b6be590cc35924b02c78ef34b467da4ba07e4e0f0454a2c5907f473fc50ce5 \ + --hash=sha256:7502934a33b54030eaf1194c21c692a534196063db72176b0c4028e140f8f32c \ + --hash=sha256:7a68b554d356a91cce1236aa7682dc01df0edba8d043fd1ce607c49dd3c1edcf \ + --hash=sha256:7b2e5a267c855eea6b4283940daa6e88a285f5f2a67f2220203786dfa59b37e9 \ + --hash=sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb \ + --hash=sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad \ + --hash=sha256:8dd717634f5a044f860435c1d8c16a270ddf0ef8588d4887037c5028b859b0c3 \ + --hash=sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1 \ + --hash=sha256:97cafb1f3cbcd3fd2b6fbfb99ae11cdb14deea0736fc2b0952ee177f2b813a46 \ + --hash=sha256:a17a92de5231666cfbe003f0e4b9b3a7ae3afb1ec2845aadc2bacc93ff85febc \ + --hash=sha256:a549b9c31bec33820e885335b451286e2969a2d9e24879f83fe904a5ce59d70a \ + --hash=sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee \ + --hash=sha256:ae2ad8ae6ebee9d2d94b17fb62763125f3f374c25618198f40cbb8b525411900 \ + --hash=sha256:b91c037585eba9095565a3556f611e3cbfaa42ca1e865f7b8015fe5c7336d5a5 \ + --hash=sha256:bc1667f8b83f48511b94671e0e441401371dfd0f0a795c7daa4a3cd1dde55bea \ + --hash=sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f \ + --hash=sha256:bf50cd79a75d181c9181df03572cdce0fbb75cc353bc350712073108cba98de5 \ + --hash=sha256:bff1b4290a66b490a2f4719358c0cdcd9bafb6b8f061e45c7a2460866bf50c2e \ + --hash=sha256:c061bb86a71b42465156a3ee7bd58c8c2ceacdbeb95d05a99893e08b8467359a \ + --hash=sha256:c8b29db45f8fe46ad280a7294f5c3ec36dbac9491f2d1c17345be8e69cc5928f \ + --hash=sha256:ce409136744f6521e39fd8e2a24c53fa18ad67aa5bc7c2cf83645cce5b5c4e50 \ + --hash=sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a \ + --hash=sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b \ + --hash=sha256:d9fad5155d72433c921b782e58892377c44bd6252b5af2f67f16b194987338a4 \ + --hash=sha256:daa4ee5a243f0f20d528d939d06670a298dd39b1ad5f8a72a4275124a7819eff \ + --hash=sha256:db0b55e0f3cc0be60c1f19efdde9a637c32740486004f20d1cff53c3c0ece4d2 \ + --hash=sha256:e61659ba32cf2cf1481e575d0462554625196a1f2fc06a1c777d3f48e8865d46 \ + --hash=sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b \ + --hash=sha256:ec6a563cff360b50eed26f13adc43e61bc0c04d94b8be985e6fb24b81f6dcfdf \ + --hash=sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5 \ + --hash=sha256:fa173ec60341d6bb97a89f5ea19c85c5643c1e7dedebc22f5181eb73573142c5 \ + --hash=sha256:fa9db3f79de01457b03d4f01b34cf91bc0048eb2c3846ff26f66687c2f6d16ab \ + --hash=sha256:fce659a462a1be54d2ffcacea5e3ba2d74daa74f30f5f143fe0c58636e355fdd \ + --hash=sha256:ffee1f21e5ef0d712f9033568f8344d5da8cc2869dbd08d87c84656e6a2d2f68 + # via jinja2 +olefile==0.46 \ + --hash=sha256:133b031eaf8fd2c9399b78b8bc5b8fcbe4c31e85295749bb17a87cba8f3c3964 + # via -r ./travis/../grr/client_builder/requirements.in +packaging==24.1 \ + --hash=sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002 \ + --hash=sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 + # via pyinstaller-hooks-contrib +parso==0.8.4 \ + --hash=sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18 \ + --hash=sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d + # via jedi +pexpect==4.9.0 \ + --hash=sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523 \ + --hash=sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f + # via + # -r ./travis/../grr/core/requirements.in + # -r ./travis/../grr/server/requirements.in + # ipython +pickleshare==0.7.5 \ + --hash=sha256:87683d47965c1da65cdacaf31c8441d12b8044cdec9aca500cd78fc2c683afca \ + --hash=sha256:9649af414d74d4df115d5d718f82acb59c9d418196b7b4290ed47a12ce62df56 + # via ipython +portpicker==1.6.0b1 \ + --hash=sha256:6b8d5b1964681631860893841dd9aae939540ad1308eaa88090d5f425b46e0d7 \ + --hash=sha256:9b4176e4a1529200f9a9ba592b66730c1ef3b18054e198f6566b0f8c79aeb812 + # via -r ./travis/../grr/server/requirements.in +prometheus-client==0.16.0 \ + --hash=sha256:0836af6eb2c8f4fed712b2f279f6c0a8bbab29f9f4aa15276b91c7cb0d1616ab \ + --hash=sha256:a03e35b359f14dd1630898543e2120addfdeacd1a6069c1367ae90fd93ad3f48 + # via -r ./travis/../grr/server/requirements.in +prompt-toolkit==3.0.47 \ + --hash=sha256:0d7bfa67001d5e39d02c224b663abc33687405033a8c422d0d675a5a13361d10 \ + --hash=sha256:1e1b29cb58080b1e69f207c893a1a7bf16d127a5c30c9d17a25a5d77792e5360 + # via ipython +proto-plus==1.24.0 \ + --hash=sha256:30b72a5ecafe4406b0d339db35b56c4059064e69227b8c3bda7462397f966445 \ + --hash=sha256:402576830425e5f6ce4c2a6702400ac79897dab0b4343821aa5188b0fab81a12 + # via + # google-api-core + # google-cloud-pubsub +protobuf==4.25.3 \ + --hash=sha256:19b270aeaa0099f16d3ca02628546b8baefe2955bbe23224aaf856134eccf1e4 \ + --hash=sha256:209ba4cc916bab46f64e56b85b090607a676f66b473e6b762e6f1d9d591eb2e8 \ + --hash=sha256:25b5d0b42fd000320bd7830b349e3b696435f3b329810427a6bcce6a5492cc5c \ + --hash=sha256:7c8daa26095f82482307bc717364e7c13f4f1c99659be82890dcfc215194554d \ + --hash=sha256:c053062984e61144385022e53678fbded7aea14ebb3e0305ae3592fb219ccfa4 \ + --hash=sha256:d4198877797a83cbfe9bffa3803602bbe1625dc30d8a097365dbc762e5790faa \ + --hash=sha256:e3c97a1555fd6388f857770ff8b9703083de6bf1f9274a002a332d65fbb56c8c \ + --hash=sha256:e7cb0ae90dd83727f0c0718634ed56837bfeeee29a5f82a7514c03ee1364c019 \ + --hash=sha256:f0700d54bcf45424477e46a9f0944155b46fb0639d69728739c0e47bab83f2b9 \ + --hash=sha256:f1279ab38ecbfae7e456a108c5c0681e4956d5b1090027c1de0f934dfdb4b35c \ + --hash=sha256:f4f118245c4a087776e0a8408be33cf09f6c547442c00395fbfb116fac2f8ac2 + # via + # -r ./travis/../grr/proto/requirements.in + # -r ./travis/../grr/server/requirements.in + # google-api-core + # google-cloud-pubsub + # googleapis-common-protos + # grpc-google-iam-v1 + # grpcio-status + # proto-plus +psutil==6.0.0 \ + --hash=sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35 \ + --hash=sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0 \ + --hash=sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c \ + --hash=sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1 \ + --hash=sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3 \ + --hash=sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c \ + --hash=sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd \ + --hash=sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3 \ + --hash=sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0 \ + --hash=sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2 \ + --hash=sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6 \ + --hash=sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d \ + --hash=sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c \ + --hash=sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0 \ + --hash=sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132 \ + --hash=sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14 \ + --hash=sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0 + # via + # -r ./travis/../grr/core/requirements.in + # -r ./travis/../grr/server/requirements.in + # portpicker +ptyprocess==0.7.0 \ + --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ + --hash=sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220 + # via pexpect +pyasn1==0.6.0 \ + --hash=sha256:3a35ab2c4b5ef98e17dfdec8ab074046fbda76e281c5a706ccd82328cfc8f64c \ + --hash=sha256:cca4bb0f2df5504f02f6f8a775b6e416ff9b0b3b16f7ee80b5a3153d9b804473 + # via + # pyasn1-modules + # rsa +pyasn1-modules==0.4.0 \ + --hash=sha256:831dbcea1b177b28c9baddf4c6d1013c24c3accd14a1873fffaa6a2e905f17b6 \ + --hash=sha256:be04f15b66c206eed667e0bb5ab27e2b1855ea54a842e5037738099e8ca4ae0b + # via google-auth +pycparser==2.22 \ + --hash=sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6 \ + --hash=sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc + # via cffi +pygments==2.18.0 \ + --hash=sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199 \ + --hash=sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a + # via ipython +pyinstaller==5.13.2 \ + --hash=sha256:16cbd66b59a37f4ee59373a003608d15df180a0d9eb1a29ff3bfbfae64b23d0f \ + --hash=sha256:27cd64e7cc6b74c5b1066cbf47d75f940b71356166031deb9778a2579bb874c6 \ + --hash=sha256:2c2fe9c52cb4577a3ac39626b84cf16cf30c2792f785502661286184f162ae0d \ + --hash=sha256:421cd24f26144f19b66d3868b49ed673176765f92fa9f7914cd2158d25b6d17e \ + --hash=sha256:65133ed89467edb2862036b35d7c5ebd381670412e1e4361215e289c786dd4e6 \ + --hash=sha256:7d51734423685ab2a4324ab2981d9781b203dcae42839161a9ee98bfeaabdade \ + --hash=sha256:8f6dd0e797ae7efdd79226f78f35eb6a4981db16c13325e962a83395c0ec7420 \ + --hash=sha256:aadafb6f213549a5906829bb252e586e2cf72a7fbdb5731810695e6516f0ab30 \ + --hash=sha256:b2e1c7f5cceb5e9800927ddd51acf9cc78fbaa9e79e822c48b0ee52d9ce3c892 \ + --hash=sha256:c63ef6133eefe36c4b2f4daf4cfea3d6412ece2ca218f77aaf967e52a95ac9b8 \ + --hash=sha256:c8e5d3489c3a7cc5f8401c2d1f48a70e588f9967e391c3b06ddac1f685f8d5d2 \ + --hash=sha256:ddcc2b36052a70052479a9e5da1af067b4496f43686ca3cdda99f8367d0627e4 + # via -r ./travis/../grr/client_builder/requirements.in +pyinstaller-hooks-contrib==2024.7 \ + --hash=sha256:8bf0775771fbaf96bcd2f4dfd6f7ae6c1dd1b1efe254c7e50477b3c08e7841d8 \ + --hash=sha256:fd5f37dcf99bece184e40642af88be16a9b89613ecb958a8bd1136634fc9fac5 + # via pyinstaller +pyjwt==2.6.0 \ + --hash=sha256:69285c7e31fc44f68a1feb309e948e0df53259d579295e6cfe2b1792329f05fd \ + --hash=sha256:d83c3d892a77bbb74d3e1a2cfa90afaadb60945205d1095d9221f04466f64c14 + # via -r ./travis/../grr/server/requirements.in +pyopenssl==21.0.0 \ + --hash=sha256:5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3 \ + --hash=sha256:8935bd4920ab9abfebb07c41a4f58296407ed77f04bd1a92914044b848ba1ed6 + # via -r ./travis/../grr/server/requirements.in +pyparsing==3.1.2 \ + --hash=sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad \ + --hash=sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742 + # via httplib2 +python-crontab==2.5.1 \ + --hash=sha256:4bbe7e720753a132ca4ca9d4094915f40e9d9dc8a807a4564007651018ce8c31 + # via + # -r ./travis/../grr/core/requirements.in + # -r ./travis/../grr/server/requirements.in +python-dateutil==2.9.0.post0 \ + --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ + --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 + # via + # -r ./travis/../grr/core/requirements.in + # python-crontab +python-debian==0.1.49 \ + --hash=sha256:880f3bc52e31599f2a9b432bd7691844286825087fccdcf2f6ffd5cd79a26f9f \ + --hash=sha256:8cf677a30dbcb4be7a99536c17e11308a827a4d22028dc59a67f6c6dd3f0f58c + # via -r ./travis/../grr/server/requirements.in +pytsk3==20230125 \ + --hash=sha256:4406a88490afcc649cd44aa3e8bd5e8b0767822c17c50cf6c6898fbb9605ac42 + # via -r ./travis/../grr/client/requirements.in +pytz==2022.7.1 \ + --hash=sha256:01a0681c4b9684a28304615eba55d1ab31ae00bf68ec157ec3708a8182dbbcd0 \ + --hash=sha256:78f4f37d8198e0627c5f1143240bb0206b8691d8d7ac6d78fee88b78733f8c4a + # via -r ./travis/../grr/core/requirements.in +pyyaml==6.0.1 \ + --hash=sha256:04ac92ad1925b2cff1db0cfebffb6ffc43457495c9b3c39d3fcae417d7125dc5 \ + --hash=sha256:062582fca9fabdd2c8b54a3ef1c978d786e0f6b3a1510e0ac93ef59e0ddae2bc \ + --hash=sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df \ + --hash=sha256:1635fd110e8d85d55237ab316b5b011de701ea0f29d07611174a1b42f1444741 \ + --hash=sha256:184c5108a2aca3c5b3d3bf9395d50893a7ab82a38004c8f61c258d4428e80206 \ + --hash=sha256:18aeb1bf9a78867dc38b259769503436b7c72f7a1f1f4c93ff9a17de54319b27 \ + --hash=sha256:1d4c7e777c441b20e32f52bd377e0c409713e8bb1386e1099c2415f26e479595 \ + --hash=sha256:1e2722cc9fbb45d9b87631ac70924c11d3a401b2d7f410cc0e3bbf249f2dca62 \ + --hash=sha256:1fe35611261b29bd1de0070f0b2f47cb6ff71fa6595c077e42bd0c419fa27b98 \ + --hash=sha256:28c119d996beec18c05208a8bd78cbe4007878c6dd15091efb73a30e90539696 \ + --hash=sha256:326c013efe8048858a6d312ddd31d56e468118ad4cdeda36c719bf5bb6192290 \ + --hash=sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9 \ + --hash=sha256:42f8152b8dbc4fe7d96729ec2b99c7097d656dc1213a3229ca5383f973a5ed6d \ + --hash=sha256:49a183be227561de579b4a36efbb21b3eab9651dd81b1858589f796549873dd6 \ + --hash=sha256:4fb147e7a67ef577a588a0e2c17b6db51dda102c71de36f8549b6816a96e1867 \ + --hash=sha256:50550eb667afee136e9a77d6dc71ae76a44df8b3e51e41b77f6de2932bfe0f47 \ + --hash=sha256:510c9deebc5c0225e8c96813043e62b680ba2f9c50a08d3724c7f28a747d1486 \ + --hash=sha256:5773183b6446b2c99bb77e77595dd486303b4faab2b086e7b17bc6bef28865f6 \ + --hash=sha256:596106435fa6ad000c2991a98fa58eeb8656ef2325d7e158344fb33864ed87e3 \ + --hash=sha256:6965a7bc3cf88e5a1c3bd2e0b5c22f8d677dc88a455344035f03399034eb3007 \ + --hash=sha256:69b023b2b4daa7548bcfbd4aa3da05b3a74b772db9e23b982788168117739938 \ + --hash=sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0 \ + --hash=sha256:704219a11b772aea0d8ecd7058d0082713c3562b4e271b849ad7dc4a5c90c13c \ + --hash=sha256:7e07cbde391ba96ab58e532ff4803f79c4129397514e1413a7dc761ccd755735 \ + --hash=sha256:81e0b275a9ecc9c0c0c07b4b90ba548307583c125f54d5b6946cfee6360c733d \ + --hash=sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28 \ + --hash=sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4 \ + --hash=sha256:9046c58c4395dff28dd494285c82ba00b546adfc7ef001486fbf0324bc174fba \ + --hash=sha256:9eb6caa9a297fc2c2fb8862bc5370d0303ddba53ba97e71f08023b6cd73d16a8 \ + --hash=sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef \ + --hash=sha256:a0cd17c15d3bb3fa06978b4e8958dcdc6e0174ccea823003a106c7d4d7899ac5 \ + --hash=sha256:afd7e57eddb1a54f0f1a974bc4391af8bcce0b444685d936840f125cf046d5bd \ + --hash=sha256:b1275ad35a5d18c62a7220633c913e1b42d44b46ee12554e5fd39c70a243d6a3 \ + --hash=sha256:b786eecbdf8499b9ca1d697215862083bd6d2a99965554781d0d8d1ad31e13a0 \ + --hash=sha256:ba336e390cd8e4d1739f42dfe9bb83a3cc2e80f567d8805e11b46f4a943f5515 \ + --hash=sha256:baa90d3f661d43131ca170712d903e6295d1f7a0f595074f151c0aed377c9b9c \ + --hash=sha256:bc1bf2925a1ecd43da378f4db9e4f799775d6367bdb94671027b73b393a7c42c \ + --hash=sha256:bd4af7373a854424dabd882decdc5579653d7868b8fb26dc7d0e99f823aa5924 \ + --hash=sha256:bf07ee2fef7014951eeb99f56f39c9bb4af143d8aa3c21b1677805985307da34 \ + --hash=sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43 \ + --hash=sha256:c8098ddcc2a85b61647b2590f825f3db38891662cfc2fc776415143f599bb859 \ + --hash=sha256:d2b04aac4d386b172d5b9692e2d2da8de7bfb6c387fa4f801fbf6fb2e6ba4673 \ + --hash=sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54 \ + --hash=sha256:d858aa552c999bc8a8d57426ed01e40bef403cd8ccdd0fc5f6f04a00414cac2a \ + --hash=sha256:e7d73685e87afe9f3b36c799222440d6cf362062f78be1013661b00c5c6f678b \ + --hash=sha256:f003ed9ad21d6a4713f0a9b5a7a0a79e08dd0f221aff4525a2be4c346ee60aab \ + --hash=sha256:f22ac1c3cac4dbc50079e965eba2c1058622631e526bd9afd45fedd49ba781fa \ + --hash=sha256:faca3bdcf85b2fc05d06ff3fbc1f83e1391b3e724afa3feba7d13eeab355484c \ + --hash=sha256:fca0e3a251908a499833aa292323f32437106001d436eca0e6e7833256674585 \ + --hash=sha256:fd1592b3fdf65fff2ad0004b5e363300ef59ced41c2e6b3a99d4089fa8c5435d \ + --hash=sha256:fd66fc5d0da6d9815ba2cebeb4205f95818ff4b79c3ebe268e75d961704af52f + # via -r ./travis/../grr/core/requirements.in +requests==2.32.3 \ + --hash=sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760 \ + --hash=sha256:70761cfe03c773ceb22aa2f671b4757976145175cdfca038c02654d061d6dcc6 + # via + # -r ./travis/../api_client/python/requirements.in + # -r ./travis/../grr/core/requirements.in + # google-api-core + # google-cloud-storage +rsa==4.9 \ + --hash=sha256:90260d9058e514786967344d0ef75fa8727eed8a7d2e43ce9f4bcf1b536174f7 \ + --hash=sha256:e38464a49c6c85d7f1351b0126661487a7e0a14a50f1675ec50eb34d4f20ef21 + # via google-auth +six==1.16.0 \ + --hash=sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926 \ + --hash=sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254 + # via + # google-api-python-client + # pyopenssl + # python-dateutil +traitlets==5.14.3 \ + --hash=sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7 \ + --hash=sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f + # via ipython +uritemplate==3.0.1 \ + --hash=sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f \ + --hash=sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae + # via google-api-python-client +urllib3==1.26.19 \ + --hash=sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3 \ + --hash=sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429 + # via + # -r ./travis/../grr/core/requirements.in + # requests +wcwidth==0.2.13 \ + --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ + --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 + # via prompt-toolkit +werkzeug==2.1.2 \ + --hash=sha256:1ce08e8093ed67d638d63879fd1ba3735817f7a80de3674d293f5984f25fb6e6 \ + --hash=sha256:72a4b735692dd3135217911cbeaa1be5fa3f62bffb8745c5215420a03dc55255 + # via + # -r ./travis/../api_client/python/requirements.in + # -r ./travis/../grr/server/requirements.in +yara-python==4.2.3 \ + --hash=sha256:113f430c5189519e13fc07d8493e3f29a1464a9be06eb7ba1b76451da620a391 \ + --hash=sha256:26ec1042017b3c4e12d2999ed6a33d7807013ae16c487048464b98dabfe3a7b0 \ + --hash=sha256:31f6f6f2fdca4c5ddfeed7cc6d29afad6af7dc259dde284df2d7ea5ae15ee69a \ + --hash=sha256:47a7de4d7dae04e5e146b79f26b7f0b7e9430cb92459b85db7f4341843974aac \ + --hash=sha256:87125ede7fbc18ae65aab550f1a36f4ebf73bb828c5d7a3dd2bb99176f0faa15 \ + --hash=sha256:90db22a471b512d1adb49cec97a1356a1cf7791beeb0acab74c3187f6e8679a6 \ + --hash=sha256:98040aa88d242632c75be87ac3a9958eb407ca30e85b513b9e22807af82ab1c8 \ + --hash=sha256:9f17e0572c49906d0b2a8f6ac20fcb46f17820a7408a5511744a844df4b2ec61 \ + --hash=sha256:aaad4cd4495b7605cb4e039473710ee87a151082171c4bb720086adbe548fb36 \ + --hash=sha256:bef2f079acd459b852c0634f72cd41058766110d8900573b2d55be12d35d55db \ + --hash=sha256:d6c2de71b368da053599d734c031389815a70df4b667d6dc386d1335689717d6 \ + --hash=sha256:d7543ff7eb7e21a815d7bc1bf2fcca24cab3548184d3257c58916628f3c89b37 \ + --hash=sha256:feac02291a584b846615aa9265f01fa458ec7e7087317ffa679bbb1a2baec85b + # via -r ./travis/../grr/core/requirements.in + +# WARNING: The following packages were not pinned, but pip requires them to be +# pinned when the requirements file includes hashes and the requirement is not +# satisfied by a package already installed. Consider using the --allow-unsafe flag. +# pip +# setuptools diff --git a/travis/requirements/osx.txt b/travis/requirements/osx.txt index 4c805b9cf..b8996757f 100644 --- a/travis/requirements/osx.txt +++ b/travis/requirements/osx.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --generate-hashes --output-file=osx_requirements/osx-requirements.txt ./travis/../api_client/python/requirements.in ./travis/../grr/client/requirements.in ./travis/../grr/client/requirements_osx.in ./travis/../grr/client_builder/requirements.in ./travis/../grr/core/requirements.in ./travis/../grr/proto/requirements.in ./travis/../grr/server/requirements.in ./travis/../grr/test/requirements.in +# pip-compile --generate-hashes --output-file=requirements/osx.txt ./travis/../api_client/python/requirements.in ./travis/../grr/client/requirements.in ./travis/../grr/client/requirements_osx.in ./travis/../grr/client_builder/requirements.in ./travis/../grr/core/requirements.in ./travis/../grr/proto/requirements.in ./travis/../grr/server/requirements.in ./travis/../grr/test/requirements.in # absl-py==1.4.0 \ --hash=sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47 \ @@ -229,9 +229,9 @@ fleetspeak-client-bin==0.1.13 \ # via # -r ./travis/../grr/client/requirements.in # -r ./travis/../grr/client_builder/requirements.in -google-api-core[grpc]==2.19.0 \ - --hash=sha256:8661eec4078c35428fd3f69a2c7ee29e342896b70f01d1a1cbcb334372dd6251 \ - --hash=sha256:cf1b7c2694047886d2af1128a03ae99e391108a08804f87cfd35970e49c9cd10 +google-api-core[grpc]==2.19.1 \ + --hash=sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125 \ + --hash=sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd # via # google-api-python-client # google-cloud-core @@ -343,16 +343,16 @@ google-resumable-media==2.7.1 \ --hash=sha256:103ebc4ba331ab1bfdac0250f8033627a2cd7cde09e7ccff9181e31ba4315b2c \ --hash=sha256:eae451a7b2e2cdbaaa0fd2eb00cc8a1ee5e95e16b55597359cbc3d27d7d90e33 # via google-cloud-storage -googleapis-common-protos[grpc]==1.63.1 \ - --hash=sha256:0e1c2cdfcbc354b76e4a211a35ea35d6926a835cba1377073c4861db904a1877 \ - --hash=sha256:c6442f7a0a6b2a80369457d79e6672bb7dcbaab88e0848302497e3ec80780a6a +googleapis-common-protos[grpc]==1.63.2 \ + --hash=sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945 \ + --hash=sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87 # via # google-api-core # grpc-google-iam-v1 # grpcio-status -grpc-google-iam-v1==0.13.0 \ - --hash=sha256:53902e2af7de8df8c1bd91373d9be55b0743ec267a7428ea638db3775becae89 \ - --hash=sha256:fad318608b9e093258fbf12529180f400d1c44453698a33509cc6ecf005b294e +grpc-google-iam-v1==0.13.1 \ + --hash=sha256:3ff4b2fd9d990965e410965253c0da6f66205d5a8291c4c31c6ebecca18a9001 \ + --hash=sha256:c3e86151a981811f30d5e7330f271cee53e73bb87755e88cc3b6f0c7b5fe374e # via google-cloud-pubsub grpcio==1.64.1 \ --hash=sha256:03b43d0ccf99c557ec671c7dede64f023c7da9bb632ac65dbc57f166e4970040 \ @@ -424,9 +424,9 @@ idna==3.7 \ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 # via requests -importlib-metadata==7.2.0 \ - --hash=sha256:04e4aad329b8b948a5711d394fa8759cb80f009225441b4f2a02bd4d8e5f426c \ - --hash=sha256:3ff4519071ed42740522d494d04819b666541b9752c43012f85afb2cc220fcc6 +importlib-metadata==8.0.0 \ + --hash=sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f \ + --hash=sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812 # via pyinstaller-hooks-contrib ipaddr==2.2.0 \ --hash=sha256:4092dfe667588d16aa12b59acb7c8a4024e5dcb23a681cd0b0b602373eca88d6 @@ -602,6 +602,7 @@ psutil==6.0.0 \ --hash=sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0 # via # -r ./travis/../grr/core/requirements.in + # -r ./travis/../grr/server/requirements.in # portpicker ptyprocess==0.7.0 \ --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ @@ -665,7 +666,6 @@ python-dateutil==2.9.0.post0 \ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 # via # -r ./travis/../grr/core/requirements.in - # -r ./travis/../grr/server/requirements.in # python-crontab python-debian==0.1.49 \ --hash=sha256:880f3bc52e31599f2a9b432bd7691844286825087fccdcf2f6ffd5cd79a26f9f \ @@ -758,10 +758,12 @@ uritemplate==3.0.1 \ --hash=sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f \ --hash=sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae # via google-api-python-client -urllib3==2.2.2 \ - --hash=sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472 \ - --hash=sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168 - # via requests +urllib3==1.26.19 \ + --hash=sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3 \ + --hash=sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429 + # via + # -r ./travis/../grr/core/requirements.in + # requests wcwidth==0.2.13 \ --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 diff --git a/travis/requirements/ubuntu.txt b/travis/requirements/ubuntu.txt index 3580fd3b8..d1c05c12d 100644 --- a/travis/requirements/ubuntu.txt +++ b/travis/requirements/ubuntu.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --generate-hashes --output-file=ubuntu_requirements/ubuntu-requirements.txt ./travis/../api_client/python/requirements.in ./travis/../grr/client/requirements.in ./travis/../grr/client/requirements_ubuntu.in ./travis/../grr/client_builder/requirements.in ./travis/../grr/core/requirements.in ./travis/../grr/proto/requirements.in ./travis/../grr/server/requirements.in ./travis/../grr/server/requirements_ubuntu.in ./travis/../grr/test/requirements.in +# pip-compile --generate-hashes --output-file=requirements/ubuntu.txt ./travis/../api_client/python/requirements.in ./travis/../grr/client/requirements.in ./travis/../grr/client/requirements_ubuntu.in ./travis/../grr/client_builder/requirements.in ./travis/../grr/core/requirements.in ./travis/../grr/proto/requirements.in ./travis/../grr/server/requirements.in ./travis/../grr/server/requirements_ubuntu.in ./travis/../grr/test/requirements.in # absl-py==1.4.0 \ --hash=sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47 \ @@ -227,9 +227,9 @@ fleetspeak-server-bin==0.1.13 \ --hash=sha256:030f17660504316e4d5803453a64db35b66816594355be8f673c8ebfc996f768 \ --hash=sha256:0b81375c20e80639a1c70b94065ba0579dff23fc569cfc1d0eb0364665f6c211 # via -r ./travis/../grr/server/requirements_ubuntu.in -google-api-core[grpc]==2.19.0 \ - --hash=sha256:8661eec4078c35428fd3f69a2c7ee29e342896b70f01d1a1cbcb334372dd6251 \ - --hash=sha256:cf1b7c2694047886d2af1128a03ae99e391108a08804f87cfd35970e49c9cd10 +google-api-core[grpc]==2.19.1 \ + --hash=sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125 \ + --hash=sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd # via # google-api-python-client # google-cloud-core @@ -341,16 +341,16 @@ google-resumable-media==2.7.1 \ --hash=sha256:103ebc4ba331ab1bfdac0250f8033627a2cd7cde09e7ccff9181e31ba4315b2c \ --hash=sha256:eae451a7b2e2cdbaaa0fd2eb00cc8a1ee5e95e16b55597359cbc3d27d7d90e33 # via google-cloud-storage -googleapis-common-protos[grpc]==1.63.1 \ - --hash=sha256:0e1c2cdfcbc354b76e4a211a35ea35d6926a835cba1377073c4861db904a1877 \ - --hash=sha256:c6442f7a0a6b2a80369457d79e6672bb7dcbaab88e0848302497e3ec80780a6a +googleapis-common-protos[grpc]==1.63.2 \ + --hash=sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945 \ + --hash=sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87 # via # google-api-core # grpc-google-iam-v1 # grpcio-status -grpc-google-iam-v1==0.13.0 \ - --hash=sha256:53902e2af7de8df8c1bd91373d9be55b0743ec267a7428ea638db3775becae89 \ - --hash=sha256:fad318608b9e093258fbf12529180f400d1c44453698a33509cc6ecf005b294e +grpc-google-iam-v1==0.13.1 \ + --hash=sha256:3ff4b2fd9d990965e410965253c0da6f66205d5a8291c4c31c6ebecca18a9001 \ + --hash=sha256:c3e86151a981811f30d5e7330f271cee53e73bb87755e88cc3b6f0c7b5fe374e # via google-cloud-pubsub grpcio==1.64.1 \ --hash=sha256:03b43d0ccf99c557ec671c7dede64f023c7da9bb632ac65dbc57f166e4970040 \ @@ -422,9 +422,9 @@ idna==3.7 \ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 # via requests -importlib-metadata==7.2.0 \ - --hash=sha256:04e4aad329b8b948a5711d394fa8759cb80f009225441b4f2a02bd4d8e5f426c \ - --hash=sha256:3ff4519071ed42740522d494d04819b666541b9752c43012f85afb2cc220fcc6 +importlib-metadata==8.0.0 \ + --hash=sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f \ + --hash=sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812 # via pyinstaller-hooks-contrib ipaddr==2.2.0 \ --hash=sha256:4092dfe667588d16aa12b59acb7c8a4024e5dcb23a681cd0b0b602373eca88d6 @@ -596,6 +596,7 @@ psutil==6.0.0 \ --hash=sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0 # via # -r ./travis/../grr/core/requirements.in + # -r ./travis/../grr/server/requirements.in # portpicker ptyprocess==0.7.0 \ --hash=sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35 \ @@ -659,7 +660,6 @@ python-dateutil==2.9.0.post0 \ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 # via # -r ./travis/../grr/core/requirements.in - # -r ./travis/../grr/server/requirements.in # python-crontab python-debian==0.1.49 \ --hash=sha256:880f3bc52e31599f2a9b432bd7691844286825087fccdcf2f6ffd5cd79a26f9f \ @@ -752,10 +752,12 @@ uritemplate==3.0.1 \ --hash=sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f \ --hash=sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae # via google-api-python-client -urllib3==2.2.2 \ - --hash=sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472 \ - --hash=sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168 - # via requests +urllib3==1.26.19 \ + --hash=sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3 \ + --hash=sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429 + # via + # -r ./travis/../grr/core/requirements.in + # requests wcwidth==0.2.13 \ --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5 diff --git a/travis/requirements/windows.txt b/travis/requirements/windows.txt index c43fbbadd..d3a3b8fdd 100644 --- a/travis/requirements/windows.txt +++ b/travis/requirements/windows.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --generate-hashes --output-file='windows_requirements\windows-requirements.txt' 'D:\a\grr\grr\travis\\..\api_client\python\requirements.in' 'D:\a\grr\grr\travis\\..\grr\client\requirements.in' 'D:\a\grr\grr\travis\\..\grr\client\requirements_win.in' 'D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in' 'D:\a\grr\grr\travis\\..\grr\core\requirements.in' 'D:\a\grr\grr\travis\\..\grr\proto\requirements.in' 'D:\a\grr\grr\travis\\..\grr\server\requirements.in' 'D:\a\grr\grr\travis\\..\grr\test\requirements.in' +# pip-compile --generate-hashes --output-file='requirements\windows-requirements.txt' 'D:\a\grr\grr\travis\\..\api_client\python\requirements.in' 'D:\a\grr\grr\travis\\..\grr\client\requirements.in' 'D:\a\grr\grr\travis\\..\grr\client\requirements_win.in' 'D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in' 'D:\a\grr\grr\travis\\..\grr\core\requirements.in' 'D:\a\grr\grr\travis\\..\grr\proto\requirements.in' 'D:\a\grr\grr\travis\\..\grr\server\requirements.in' 'D:\a\grr\grr\travis\\..\grr\test\requirements.in' # absl-py==1.4.0 \ --hash=sha256:0d3fe606adfa4f7db64792dd4c7aee4ee0c38ab75dfd353b7a83ed3e957fcb47 \ @@ -225,9 +225,9 @@ fleetspeak-client-bin==0.1.13 \ # via # -r D:\a\grr\grr\travis\\..\grr\client\requirements.in # -r D:\a\grr\grr\travis\\..\grr\client_builder\requirements.in -google-api-core[grpc]==2.19.0 \ - --hash=sha256:8661eec4078c35428fd3f69a2c7ee29e342896b70f01d1a1cbcb334372dd6251 \ - --hash=sha256:cf1b7c2694047886d2af1128a03ae99e391108a08804f87cfd35970e49c9cd10 +google-api-core[grpc]==2.19.1 \ + --hash=sha256:f12a9b8309b5e21d92483bbd47ce2c445861ec7d269ef6784ecc0ea8c1fa6125 \ + --hash=sha256:f4695f1e3650b316a795108a76a1c416e6afb036199d1c1f1f110916df479ffd # via # google-api-python-client # google-cloud-core @@ -339,16 +339,16 @@ google-resumable-media==2.7.1 \ --hash=sha256:103ebc4ba331ab1bfdac0250f8033627a2cd7cde09e7ccff9181e31ba4315b2c \ --hash=sha256:eae451a7b2e2cdbaaa0fd2eb00cc8a1ee5e95e16b55597359cbc3d27d7d90e33 # via google-cloud-storage -googleapis-common-protos[grpc]==1.63.1 \ - --hash=sha256:0e1c2cdfcbc354b76e4a211a35ea35d6926a835cba1377073c4861db904a1877 \ - --hash=sha256:c6442f7a0a6b2a80369457d79e6672bb7dcbaab88e0848302497e3ec80780a6a +googleapis-common-protos[grpc]==1.63.2 \ + --hash=sha256:27a2499c7e8aff199665b22741997e485eccc8645aa9176c7c988e6fae507945 \ + --hash=sha256:27c5abdffc4911f28101e635de1533fb4cfd2c37fbaa9174587c799fac90aa87 # via # google-api-core # grpc-google-iam-v1 # grpcio-status -grpc-google-iam-v1==0.13.0 \ - --hash=sha256:53902e2af7de8df8c1bd91373d9be55b0743ec267a7428ea638db3775becae89 \ - --hash=sha256:fad318608b9e093258fbf12529180f400d1c44453698a33509cc6ecf005b294e +grpc-google-iam-v1==0.13.1 \ + --hash=sha256:3ff4b2fd9d990965e410965253c0da6f66205d5a8291c4c31c6ebecca18a9001 \ + --hash=sha256:c3e86151a981811f30d5e7330f271cee53e73bb87755e88cc3b6f0c7b5fe374e # via google-cloud-pubsub grpcio==1.64.1 \ --hash=sha256:03b43d0ccf99c557ec671c7dede64f023c7da9bb632ac65dbc57f166e4970040 \ @@ -420,9 +420,9 @@ idna==3.7 \ --hash=sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc \ --hash=sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0 # via requests -importlib-metadata==7.2.0 \ - --hash=sha256:04e4aad329b8b948a5711d394fa8759cb80f009225441b4f2a02bd4d8e5f426c \ - --hash=sha256:3ff4519071ed42740522d494d04819b666541b9752c43012f85afb2cc220fcc6 +importlib-metadata==8.0.0 \ + --hash=sha256:15584cf2b1bf449d98ff8a6ff1abef57bf20f3ac6454f431736cd3e660921b2f \ + --hash=sha256:188bd24e4c346d3f0a933f275c2fec67050326a856b9a359881d7c2a697e8812 # via pyinstaller-hooks-contrib ipaddr==2.2.0 \ --hash=sha256:4092dfe667588d16aa12b59acb7c8a4024e5dcb23a681cd0b0b602373eca88d6 @@ -661,7 +661,6 @@ python-dateutil==2.9.0.post0 \ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 # via # -r D:\a\grr\grr\travis\\..\grr\core\requirements.in - # -r D:\a\grr\grr\travis\\..\grr\server\requirements.in # python-crontab python-debian==0.1.49 \ --hash=sha256:880f3bc52e31599f2a9b432bd7691844286825087fccdcf2f6ffd5cd79a26f9f \ @@ -774,10 +773,12 @@ uritemplate==3.0.1 \ --hash=sha256:07620c3f3f8eed1f12600845892b0e036a2420acf513c53f7de0abd911a5894f \ --hash=sha256:5af8ad10cec94f215e3f48112de2022e1d5a37ed427fbd88652fa908f2ab7cae # via google-api-python-client -urllib3==2.2.2 \ - --hash=sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472 \ - --hash=sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168 - # via requests +urllib3==1.26.19 \ + --hash=sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3 \ + --hash=sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429 + # via + # -r D:\a\grr\grr\travis\\..\grr\core\requirements.in + # requests wcwidth==0.2.13 \ --hash=sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859 \ --hash=sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5