%global _empty_manifest_terminate_build 0 Name: python-syft Version: 0.8.0.post2 Release: 1 Summary: Perform numpy-like analysis on data that remains in someone elses server License: Apache-2.0 URL: https://openmined.github.io/PySyft/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/bd/05/e9cf0be923f524ef94c35efdcc959fafb0892f0841d8e3fa868d349fe42c/syft-0.8.0.post2.tar.gz BuildArch: noarch Requires: python3-astunparse Requires: python3-bcrypt Requires: python3-flax Requires: python3-forbiddenfruit Requires: python3-gevent Requires: python3-gipc Requires: python3-jax Requires: python3-jaxlib Requires: python3-loguru Requires: python3-numpy Requires: python3-opendp Requires: python3-packaging Requires: python3-pandas Requires: python3-pyarrow Requires: python3-pycapnp Requires: python3-pydantic[email] Requires: python3-pymongo Requires: python3-pynacl Requires: python3-redis Requires: python3-requests Requires: python3-RestrictedPython Requires: python3-result Requires: python3-tqdm Requires: python3-typeguard Requires: python3-typing-extensions Requires: python3-sherlock[filelock,redis] Requires: python3-uvicorn[standard] Requires: python3-fastapi Requires: python3-hagrid Requires: python3-opentelemetry-api Requires: python3-opentelemetry-sdk Requires: python3-opentelemetry-exporter-jaeger Requires: python3-opentelemetry-instrumentation Requires: python3-opentelemetry-instrumentation-requests Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-pytest-xdist[psutil] Requires: python3-pytest-parallel Requires: python3-pytest-asyncio Requires: python3-pytest-randomly Requires: python3-pytest-sugar Requires: python3-pytest-mock-resources Requires: python3-on-whales Requires: python3-pytest-lazy-fixture Requires: python3-pytest-rerunfailures Requires: python3-coverage Requires: python3-joblib Requires: python3-faker Requires: python3-bandit Requires: python3-ruff Requires: python3-importlib-metadata Requires: python3-isort Requires: python3-mypy Requires: python3-pre-commit Requires: python3-safety Requires: python3-pyoblv Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-pytest-xdist[psutil] Requires: python3-pytest-parallel Requires: python3-pytest-asyncio Requires: python3-pytest-randomly Requires: python3-pytest-sugar Requires: python3-pytest-mock-resources Requires: python3-on-whales Requires: python3-pytest-lazy-fixture Requires: python3-pytest-rerunfailures Requires: python3-coverage Requires: python3-joblib Requires: python3-faker %description


Syft Logo Perform `numpy`-like analysis on `data` that remains in `someone else's` server
Syft Logo
# Quickstart ✅ `Linux` ✅ `macOS`\* ✅ `Windows`†‡ ## Install syft on Python 3.9 - 3.10 ```bash $ pip install -U syft -f https://whls.blob.core.windows.net/unstable/index.html ``` ## Launch a python dev Domain ```python # from Jupyter / Python import syft as sy sy.requires(">=0.8,<0.8.1") node = sy.orchestra.launch(name="my-domain", port=8080, dev_mode=True, reset=True) ``` ```bash # or from the command line $ syft launch --name=my-domain --port=8080 --reset=True Starting syft-node server on 0.0.0.0:8080 ``` ## Connect with our Python Client ```python import syft as sy sy.requires(">=0.8,<0.8.1") domain_client = sy.login(port=8080, email="info@openmined.org", password="changethis") ``` ## Deploy to a Container Engine or Cloud 1. Install our handy 🛵 cli tool which makes deploying a Domain or Gateway server a one-liner: `pip install -U hagrid` 2. Then run our interactive jupyter Install 🧙🏽‍♂️ WizardBETA: `hagrid quickstart` 3. In the tutorial you will learn how to install and deploy: `PySyft` = our `numpy`-like 🐍 Python library for computing on `private data` in someone else's `Domain` `PyGrid` = our 🐳 `docker` / 🐧 `vm` `Domain` & `Gateway` Servers where `private data` lives 4. During quickstart we will deploy `PyGrid` to localhost with 🐳 `docker`, however 🛵 HAGrid can deploy to `podman` or a 🐧 `ubuntu` VM on `azure` / `gcp` / `ANY_IP_ADDRESS` by using 🔨 `ansible`† ## Docs and Support - 📝 API Example Notebooks - 📚 Docs - `#support` on Slack # Install Notes - HAGrid 0.3 Requires: 🐍 `python` 🐙 `git` - Run: `pip install -U hagrid` - Interactive Install 🧙🏽‍♂️ WizardBETA Requires 🛵 `hagrid`: - Run: `hagrid quickstart` †`Windows` does not support `ansible`, preventing some remote deployment targets - PySyft 0.8 Requires: 🐍 `python 3.10` - Run: `pip install -U syft` \*`macOS` Apple Silicon users might need cmake: `brew install cmake` ‡`Windows` users must run this first: `pip install jaxlib==0.3.14 -f https://whls.blob.core.windows.net/unstable/index.html` - PyGrid Requires: 🐳 `docker` or 🐧 `ubuntu` VM - Run: `hagrid launch ...` # Versions `0.9.0` (Beta) - `dev` branch 👈🏽 API `0.8.0` (Stable) - API Deprecated: - `0.7.0` - Course 3 Updated - `0.6.0` - Course 3 - `0.5.1` - Course 2 + M1 Hotfix - `0.2.0` - `0.5.0` PySyft and PyGrid use the same `version` and its best to match them up where possible. We release weekly betas which can be used in each context: PySyft (Stable): `pip install -U syft` PyGrid (Stable) `hagrid launch ... tag=latest` PySyft (Beta): `pip install -U syft --pre` PyGrid (Beta): `hagrid launch ... tag=beta` HAGrid is a cli / deployment tool so the latest version of `hagrid` is usually the best. # What is Syft? Syft `Syft` is OpenMined's `open source` stack that provides `secure` and `private` Data Science in Python. Syft decouples `private data` from model training, using techniques like [Federated Learning](https://ai.googleblog.com/2017/04/federated-learning-collaborative.html), [Differential Privacy](https://en.wikipedia.org/wiki/Differential_privacy), and [Encrypted Computation](https://en.wikipedia.org/wiki/Homomorphic_encryption). This is done with a `numpy`-like interface and integration with `Deep Learning` frameworks, so that you as a `Data Scientist` can maintain your current workflow while using these new `privacy-enhancing techniques`. ### Why should I use Syft? `Syft` allows a `Data Scientist` to ask `questions` about a `dataset` and, within `privacy limits` set by the `data owner`, get `answers` to those `questions`, all without obtaining a `copy` of the data itself. We call this process `Remote Data Science`. It means in a wide variety of `domains` across society, the current `risks` of sharing information (`copying` data) with someone such as, privacy invasion, IP theft and blackmail will no longer prevent the vast `benefits` such as innovation, insights and scientific discovery which secure access will provide. No more cold calls to get `access` to a dataset. No more weeks of `wait times` to get a `result` on your `query`. It also means `1000x more data` in every domain. PySyft opens the doors to a streamlined Data Scientist `workflow`, all with the individual's `privacy` at its heart. # Tutorials

Data Owner

Data Scientist

Data Engineer

- Deploy a Domain Server - Upload Private Data - Create Accounts - Manage Privacy Budget - Join a Network - Learn how PETs streamline Data Policies - Install Syft - Connect to a Domain - Search for Datasets - Train Models - Retrieve Secure Results - Learn Differential Privacy - Setup Dev Mode - Deploy to Azure - Deploy to GCP - Deploy to Kubernetes - Customize Networking - Modify PyGrid UI
# Terminology

👨🏻‍💼 Data Owners

👩🏽‍🔬 Data Scientists

Provide `datasets` which they would like to make available for `study` by an `outside party` they may or may not `fully trust` has good intentions. Are end `users` who desire to perform `computations` or `answer` a specific `question` using one or more data owners' `datasets`.

🏰 Domain Server

🔗 Gateway Server

Manages the `remote study` of the data by a `Data Scientist` and allows the `Data Owner` to manage the `data` and control the `privacy guarantees` of the subjects under study. It also acts as a `gatekeeper` for the `Data Scientist's` access to the data to compute and experiment with the results. Provides services to a group of `Data Owners` and `Data Scientists`, such as dataset `search` and bulk `project approval` (legal / technical) to participate in a project. A gateway server acts as a bridge between it's members (`Domains`) and their subscribers (`Data Scientists`) and can provide access to a collection of `domains` at once.
# Community

🎥 PETs: Remote Data Science Unleashed - R gov 2021
🎥 Introduction to Remote Data Science - PyTorch 2021
🎥 The Future of AI Tools - PyTorch 2020
🎥 Privacy Preserving AI - MIT Deep Learning Series
🎥 Privacy-Preserving Data Science - TWiML Talk #241
🎥 Privacy Preserving AI - PyTorch Devcon 2019
📖 Towards general-purpose infrastructure for protect...
📖 Syft 0.5: A platform for universally deployable ...
📖 A generic framework for privacy preserving deep ...

# Courses
# Contributors OpenMined and Syft appreciates all contributors, if you would like to fix a bug or suggest a new feature, please see our [guidelines](https://openmined.github.io/PySyft/developer_guide/index.html).
Contributors # Supporters
# Open Collective `OpenMined` is a fiscally sponsored `501(c)(3)` in the USA. We are funded by our generous supporters on Open Collective.

Contributors # Disclaimer Syft is under active development and is not yet ready for pilots on private data without our assistance. As early access participants, please contact us via [Slack](https://slack.openmined.org/) or email if you would like to ask a question or have a use case that you would like to discuss. # License [Apache License 2.0](LICENSE)
Person icons created by Freepik - Flaticon %package -n python3-syft Summary: Perform numpy-like analysis on data that remains in someone elses server Provides: python-syft BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-syft


Syft Logo Perform `numpy`-like analysis on `data` that remains in `someone else's` server
Syft Logo
# Quickstart ✅ `Linux` ✅ `macOS`\* ✅ `Windows`†‡ ## Install syft on Python 3.9 - 3.10 ```bash $ pip install -U syft -f https://whls.blob.core.windows.net/unstable/index.html ``` ## Launch a python dev Domain ```python # from Jupyter / Python import syft as sy sy.requires(">=0.8,<0.8.1") node = sy.orchestra.launch(name="my-domain", port=8080, dev_mode=True, reset=True) ``` ```bash # or from the command line $ syft launch --name=my-domain --port=8080 --reset=True Starting syft-node server on 0.0.0.0:8080 ``` ## Connect with our Python Client ```python import syft as sy sy.requires(">=0.8,<0.8.1") domain_client = sy.login(port=8080, email="info@openmined.org", password="changethis") ``` ## Deploy to a Container Engine or Cloud 1. Install our handy 🛵 cli tool which makes deploying a Domain or Gateway server a one-liner: `pip install -U hagrid` 2. Then run our interactive jupyter Install 🧙🏽‍♂️ WizardBETA: `hagrid quickstart` 3. In the tutorial you will learn how to install and deploy: `PySyft` = our `numpy`-like 🐍 Python library for computing on `private data` in someone else's `Domain` `PyGrid` = our 🐳 `docker` / 🐧 `vm` `Domain` & `Gateway` Servers where `private data` lives 4. During quickstart we will deploy `PyGrid` to localhost with 🐳 `docker`, however 🛵 HAGrid can deploy to `podman` or a 🐧 `ubuntu` VM on `azure` / `gcp` / `ANY_IP_ADDRESS` by using 🔨 `ansible`† ## Docs and Support - 📝 API Example Notebooks - 📚 Docs - `#support` on Slack # Install Notes - HAGrid 0.3 Requires: 🐍 `python` 🐙 `git` - Run: `pip install -U hagrid` - Interactive Install 🧙🏽‍♂️ WizardBETA Requires 🛵 `hagrid`: - Run: `hagrid quickstart` †`Windows` does not support `ansible`, preventing some remote deployment targets - PySyft 0.8 Requires: 🐍 `python 3.10` - Run: `pip install -U syft` \*`macOS` Apple Silicon users might need cmake: `brew install cmake` ‡`Windows` users must run this first: `pip install jaxlib==0.3.14 -f https://whls.blob.core.windows.net/unstable/index.html` - PyGrid Requires: 🐳 `docker` or 🐧 `ubuntu` VM - Run: `hagrid launch ...` # Versions `0.9.0` (Beta) - `dev` branch 👈🏽 API `0.8.0` (Stable) - API Deprecated: - `0.7.0` - Course 3 Updated - `0.6.0` - Course 3 - `0.5.1` - Course 2 + M1 Hotfix - `0.2.0` - `0.5.0` PySyft and PyGrid use the same `version` and its best to match them up where possible. We release weekly betas which can be used in each context: PySyft (Stable): `pip install -U syft` PyGrid (Stable) `hagrid launch ... tag=latest` PySyft (Beta): `pip install -U syft --pre` PyGrid (Beta): `hagrid launch ... tag=beta` HAGrid is a cli / deployment tool so the latest version of `hagrid` is usually the best. # What is Syft? Syft `Syft` is OpenMined's `open source` stack that provides `secure` and `private` Data Science in Python. Syft decouples `private data` from model training, using techniques like [Federated Learning](https://ai.googleblog.com/2017/04/federated-learning-collaborative.html), [Differential Privacy](https://en.wikipedia.org/wiki/Differential_privacy), and [Encrypted Computation](https://en.wikipedia.org/wiki/Homomorphic_encryption). This is done with a `numpy`-like interface and integration with `Deep Learning` frameworks, so that you as a `Data Scientist` can maintain your current workflow while using these new `privacy-enhancing techniques`. ### Why should I use Syft? `Syft` allows a `Data Scientist` to ask `questions` about a `dataset` and, within `privacy limits` set by the `data owner`, get `answers` to those `questions`, all without obtaining a `copy` of the data itself. We call this process `Remote Data Science`. It means in a wide variety of `domains` across society, the current `risks` of sharing information (`copying` data) with someone such as, privacy invasion, IP theft and blackmail will no longer prevent the vast `benefits` such as innovation, insights and scientific discovery which secure access will provide. No more cold calls to get `access` to a dataset. No more weeks of `wait times` to get a `result` on your `query`. It also means `1000x more data` in every domain. PySyft opens the doors to a streamlined Data Scientist `workflow`, all with the individual's `privacy` at its heart. # Tutorials

Data Owner

Data Scientist

Data Engineer

- Deploy a Domain Server - Upload Private Data - Create Accounts - Manage Privacy Budget - Join a Network - Learn how PETs streamline Data Policies - Install Syft - Connect to a Domain - Search for Datasets - Train Models - Retrieve Secure Results - Learn Differential Privacy - Setup Dev Mode - Deploy to Azure - Deploy to GCP - Deploy to Kubernetes - Customize Networking - Modify PyGrid UI
# Terminology

👨🏻‍💼 Data Owners

👩🏽‍🔬 Data Scientists

Provide `datasets` which they would like to make available for `study` by an `outside party` they may or may not `fully trust` has good intentions. Are end `users` who desire to perform `computations` or `answer` a specific `question` using one or more data owners' `datasets`.

🏰 Domain Server

🔗 Gateway Server

Manages the `remote study` of the data by a `Data Scientist` and allows the `Data Owner` to manage the `data` and control the `privacy guarantees` of the subjects under study. It also acts as a `gatekeeper` for the `Data Scientist's` access to the data to compute and experiment with the results. Provides services to a group of `Data Owners` and `Data Scientists`, such as dataset `search` and bulk `project approval` (legal / technical) to participate in a project. A gateway server acts as a bridge between it's members (`Domains`) and their subscribers (`Data Scientists`) and can provide access to a collection of `domains` at once.
# Community

🎥 PETs: Remote Data Science Unleashed - R gov 2021
🎥 Introduction to Remote Data Science - PyTorch 2021
🎥 The Future of AI Tools - PyTorch 2020
🎥 Privacy Preserving AI - MIT Deep Learning Series
🎥 Privacy-Preserving Data Science - TWiML Talk #241
🎥 Privacy Preserving AI - PyTorch Devcon 2019
📖 Towards general-purpose infrastructure for protect...
📖 Syft 0.5: A platform for universally deployable ...
📖 A generic framework for privacy preserving deep ...

# Courses
# Contributors OpenMined and Syft appreciates all contributors, if you would like to fix a bug or suggest a new feature, please see our [guidelines](https://openmined.github.io/PySyft/developer_guide/index.html).
Contributors # Supporters
# Open Collective `OpenMined` is a fiscally sponsored `501(c)(3)` in the USA. We are funded by our generous supporters on Open Collective.

Contributors # Disclaimer Syft is under active development and is not yet ready for pilots on private data without our assistance. As early access participants, please contact us via [Slack](https://slack.openmined.org/) or email if you would like to ask a question or have a use case that you would like to discuss. # License [Apache License 2.0](LICENSE)
Person icons created by Freepik - Flaticon %package help Summary: Development documents and examples for syft Provides: python3-syft-doc %description help


Syft Logo Perform `numpy`-like analysis on `data` that remains in `someone else's` server
Syft Logo
# Quickstart ✅ `Linux` ✅ `macOS`\* ✅ `Windows`†‡ ## Install syft on Python 3.9 - 3.10 ```bash $ pip install -U syft -f https://whls.blob.core.windows.net/unstable/index.html ``` ## Launch a python dev Domain ```python # from Jupyter / Python import syft as sy sy.requires(">=0.8,<0.8.1") node = sy.orchestra.launch(name="my-domain", port=8080, dev_mode=True, reset=True) ``` ```bash # or from the command line $ syft launch --name=my-domain --port=8080 --reset=True Starting syft-node server on 0.0.0.0:8080 ``` ## Connect with our Python Client ```python import syft as sy sy.requires(">=0.8,<0.8.1") domain_client = sy.login(port=8080, email="info@openmined.org", password="changethis") ``` ## Deploy to a Container Engine or Cloud 1. Install our handy 🛵 cli tool which makes deploying a Domain or Gateway server a one-liner: `pip install -U hagrid` 2. Then run our interactive jupyter Install 🧙🏽‍♂️ WizardBETA: `hagrid quickstart` 3. In the tutorial you will learn how to install and deploy: `PySyft` = our `numpy`-like 🐍 Python library for computing on `private data` in someone else's `Domain` `PyGrid` = our 🐳 `docker` / 🐧 `vm` `Domain` & `Gateway` Servers where `private data` lives 4. During quickstart we will deploy `PyGrid` to localhost with 🐳 `docker`, however 🛵 HAGrid can deploy to `podman` or a 🐧 `ubuntu` VM on `azure` / `gcp` / `ANY_IP_ADDRESS` by using 🔨 `ansible`† ## Docs and Support - 📝 API Example Notebooks - 📚 Docs - `#support` on Slack # Install Notes - HAGrid 0.3 Requires: 🐍 `python` 🐙 `git` - Run: `pip install -U hagrid` - Interactive Install 🧙🏽‍♂️ WizardBETA Requires 🛵 `hagrid`: - Run: `hagrid quickstart` †`Windows` does not support `ansible`, preventing some remote deployment targets - PySyft 0.8 Requires: 🐍 `python 3.10` - Run: `pip install -U syft` \*`macOS` Apple Silicon users might need cmake: `brew install cmake` ‡`Windows` users must run this first: `pip install jaxlib==0.3.14 -f https://whls.blob.core.windows.net/unstable/index.html` - PyGrid Requires: 🐳 `docker` or 🐧 `ubuntu` VM - Run: `hagrid launch ...` # Versions `0.9.0` (Beta) - `dev` branch 👈🏽 API `0.8.0` (Stable) - API Deprecated: - `0.7.0` - Course 3 Updated - `0.6.0` - Course 3 - `0.5.1` - Course 2 + M1 Hotfix - `0.2.0` - `0.5.0` PySyft and PyGrid use the same `version` and its best to match them up where possible. We release weekly betas which can be used in each context: PySyft (Stable): `pip install -U syft` PyGrid (Stable) `hagrid launch ... tag=latest` PySyft (Beta): `pip install -U syft --pre` PyGrid (Beta): `hagrid launch ... tag=beta` HAGrid is a cli / deployment tool so the latest version of `hagrid` is usually the best. # What is Syft? Syft `Syft` is OpenMined's `open source` stack that provides `secure` and `private` Data Science in Python. Syft decouples `private data` from model training, using techniques like [Federated Learning](https://ai.googleblog.com/2017/04/federated-learning-collaborative.html), [Differential Privacy](https://en.wikipedia.org/wiki/Differential_privacy), and [Encrypted Computation](https://en.wikipedia.org/wiki/Homomorphic_encryption). This is done with a `numpy`-like interface and integration with `Deep Learning` frameworks, so that you as a `Data Scientist` can maintain your current workflow while using these new `privacy-enhancing techniques`. ### Why should I use Syft? `Syft` allows a `Data Scientist` to ask `questions` about a `dataset` and, within `privacy limits` set by the `data owner`, get `answers` to those `questions`, all without obtaining a `copy` of the data itself. We call this process `Remote Data Science`. It means in a wide variety of `domains` across society, the current `risks` of sharing information (`copying` data) with someone such as, privacy invasion, IP theft and blackmail will no longer prevent the vast `benefits` such as innovation, insights and scientific discovery which secure access will provide. No more cold calls to get `access` to a dataset. No more weeks of `wait times` to get a `result` on your `query`. It also means `1000x more data` in every domain. PySyft opens the doors to a streamlined Data Scientist `workflow`, all with the individual's `privacy` at its heart. # Tutorials

Data Owner

Data Scientist

Data Engineer

- Deploy a Domain Server - Upload Private Data - Create Accounts - Manage Privacy Budget - Join a Network - Learn how PETs streamline Data Policies - Install Syft - Connect to a Domain - Search for Datasets - Train Models - Retrieve Secure Results - Learn Differential Privacy - Setup Dev Mode - Deploy to Azure - Deploy to GCP - Deploy to Kubernetes - Customize Networking - Modify PyGrid UI
# Terminology

👨🏻‍💼 Data Owners

👩🏽‍🔬 Data Scientists

Provide `datasets` which they would like to make available for `study` by an `outside party` they may or may not `fully trust` has good intentions. Are end `users` who desire to perform `computations` or `answer` a specific `question` using one or more data owners' `datasets`.

🏰 Domain Server

🔗 Gateway Server

Manages the `remote study` of the data by a `Data Scientist` and allows the `Data Owner` to manage the `data` and control the `privacy guarantees` of the subjects under study. It also acts as a `gatekeeper` for the `Data Scientist's` access to the data to compute and experiment with the results. Provides services to a group of `Data Owners` and `Data Scientists`, such as dataset `search` and bulk `project approval` (legal / technical) to participate in a project. A gateway server acts as a bridge between it's members (`Domains`) and their subscribers (`Data Scientists`) and can provide access to a collection of `domains` at once.
# Community

🎥 PETs: Remote Data Science Unleashed - R gov 2021
🎥 Introduction to Remote Data Science - PyTorch 2021
🎥 The Future of AI Tools - PyTorch 2020
🎥 Privacy Preserving AI - MIT Deep Learning Series
🎥 Privacy-Preserving Data Science - TWiML Talk #241
🎥 Privacy Preserving AI - PyTorch Devcon 2019
📖 Towards general-purpose infrastructure for protect...
📖 Syft 0.5: A platform for universally deployable ...
📖 A generic framework for privacy preserving deep ...

# Courses
# Contributors OpenMined and Syft appreciates all contributors, if you would like to fix a bug or suggest a new feature, please see our [guidelines](https://openmined.github.io/PySyft/developer_guide/index.html).
Contributors # Supporters
# Open Collective `OpenMined` is a fiscally sponsored `501(c)(3)` in the USA. We are funded by our generous supporters on Open Collective.

Contributors # Disclaimer Syft is under active development and is not yet ready for pilots on private data without our assistance. As early access participants, please contact us via [Slack](https://slack.openmined.org/) or email if you would like to ask a question or have a use case that you would like to discuss. # License [Apache License 2.0](LICENSE)
Person icons created by Freepik - Flaticon %prep %autosetup -n syft-0.8.0.post2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-syft -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.8.0.post2-1 - Package Spec generated