%global _empty_manifest_terminate_build 0 Name: python-f2r Version: 2.6.3 Release: 1 Summary: Produces RPMs for FLP packages out of aliBuild ouput License: GPLv3 URL: https://gitlab.cern.ch/AliceO2Group/flp-to-rpm Source0: https://mirrors.aliyun.com/pypi/web/packages/0e/ad/88e2fb1a3d6ebcc14fa3f6997667a20f4832d0df038e705112d84c3c6f85/f2r-2.6.3.tar.gz BuildArch: noarch Requires: python3-PyYAML Requires: python3-coloredlogs Requires: python3-s3cmd Requires: python3-alibuild %description # f2r Command line tool to create RPMs out of aliBuild output ## Prerequisites - [aliBuild](https://alisw.github.io/alibuild/) - [environment Modules](https://modules.readthedocs.io/en/latest/) 4.3 or higher, RPM is available from [this S3 location](http://s3.cern.ch/swift/v1/system-configuration/RPMS/environment-modules-4.6.1-1.el7.cern.x86_64.rpm) - Optional: To enable S3 support you need to create a config file under `~/.s3cfg`, see [CERN IT instructions](https://clouddocs.web.cern.ch/object_store/s3cmd.html) ## Installation `python3 -m pip install f2r` OR You can use following Ansible role from [system-configration](https://gitlab.cern.ch/AliceO2Group/system-configuration/-/tree/dev/ansible/roles/f2r) that handles also "Prerequisites". ## Quickstart Build packages using `aliBuild`, eg: ```bash aliBuild build O2Suite --defaults o2-dataflow --always-prefer-system ``` Then, run `alienv` as indicated by `aliBuild` in order to create modulefiles: ```bash alienv enter O2Suite/latest-o2-dataflow ``` And create RPMs providing same package and version as to `alienv`: ```bash f2r generate --package O2Suite --version latest-o2-dataflow ``` Validate created RPMs (this required `sudo`): ``` f2r validate ``` Create YUM repo: ```bash f2r repo ``` and sync it to S3: ```bash f2r sync ``` ## CLI options Global options: ``` -h, --help show this help message and exit --dry-run do a dry run, skipping fpm execution --target-rpm-dir TARGET_RPM_DIR path to store RPMs in (=/tmp/o2_rpms by default) --release-tag RELEASE_TAG Release tag, this is mostly to provide correct dir structure --architecture ARCHITECTURE OS architecture --log-level LOG_LEVEL Set log level (DEBUG, INFO, WARN, ERROR) ``` Generate options: ``` --package PACKAGE package name (as recipe name in aldiist) --version VERSION package version (as in modulefile: X.Y.Z-A) --ali-prefix ALI_PREFIX path to alibuild dir --skip-deps Generate single RPM without dependencies ``` Sync options: ``` --pull Pulls instead of pushing ``` %package -n python3-f2r Summary: Produces RPMs for FLP packages out of aliBuild ouput Provides: python-f2r BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-f2r # f2r Command line tool to create RPMs out of aliBuild output ## Prerequisites - [aliBuild](https://alisw.github.io/alibuild/) - [environment Modules](https://modules.readthedocs.io/en/latest/) 4.3 or higher, RPM is available from [this S3 location](http://s3.cern.ch/swift/v1/system-configuration/RPMS/environment-modules-4.6.1-1.el7.cern.x86_64.rpm) - Optional: To enable S3 support you need to create a config file under `~/.s3cfg`, see [CERN IT instructions](https://clouddocs.web.cern.ch/object_store/s3cmd.html) ## Installation `python3 -m pip install f2r` OR You can use following Ansible role from [system-configration](https://gitlab.cern.ch/AliceO2Group/system-configuration/-/tree/dev/ansible/roles/f2r) that handles also "Prerequisites". ## Quickstart Build packages using `aliBuild`, eg: ```bash aliBuild build O2Suite --defaults o2-dataflow --always-prefer-system ``` Then, run `alienv` as indicated by `aliBuild` in order to create modulefiles: ```bash alienv enter O2Suite/latest-o2-dataflow ``` And create RPMs providing same package and version as to `alienv`: ```bash f2r generate --package O2Suite --version latest-o2-dataflow ``` Validate created RPMs (this required `sudo`): ``` f2r validate ``` Create YUM repo: ```bash f2r repo ``` and sync it to S3: ```bash f2r sync ``` ## CLI options Global options: ``` -h, --help show this help message and exit --dry-run do a dry run, skipping fpm execution --target-rpm-dir TARGET_RPM_DIR path to store RPMs in (=/tmp/o2_rpms by default) --release-tag RELEASE_TAG Release tag, this is mostly to provide correct dir structure --architecture ARCHITECTURE OS architecture --log-level LOG_LEVEL Set log level (DEBUG, INFO, WARN, ERROR) ``` Generate options: ``` --package PACKAGE package name (as recipe name in aldiist) --version VERSION package version (as in modulefile: X.Y.Z-A) --ali-prefix ALI_PREFIX path to alibuild dir --skip-deps Generate single RPM without dependencies ``` Sync options: ``` --pull Pulls instead of pushing ``` %package help Summary: Development documents and examples for f2r Provides: python3-f2r-doc %description help # f2r Command line tool to create RPMs out of aliBuild output ## Prerequisites - [aliBuild](https://alisw.github.io/alibuild/) - [environment Modules](https://modules.readthedocs.io/en/latest/) 4.3 or higher, RPM is available from [this S3 location](http://s3.cern.ch/swift/v1/system-configuration/RPMS/environment-modules-4.6.1-1.el7.cern.x86_64.rpm) - Optional: To enable S3 support you need to create a config file under `~/.s3cfg`, see [CERN IT instructions](https://clouddocs.web.cern.ch/object_store/s3cmd.html) ## Installation `python3 -m pip install f2r` OR You can use following Ansible role from [system-configration](https://gitlab.cern.ch/AliceO2Group/system-configuration/-/tree/dev/ansible/roles/f2r) that handles also "Prerequisites". ## Quickstart Build packages using `aliBuild`, eg: ```bash aliBuild build O2Suite --defaults o2-dataflow --always-prefer-system ``` Then, run `alienv` as indicated by `aliBuild` in order to create modulefiles: ```bash alienv enter O2Suite/latest-o2-dataflow ``` And create RPMs providing same package and version as to `alienv`: ```bash f2r generate --package O2Suite --version latest-o2-dataflow ``` Validate created RPMs (this required `sudo`): ``` f2r validate ``` Create YUM repo: ```bash f2r repo ``` and sync it to S3: ```bash f2r sync ``` ## CLI options Global options: ``` -h, --help show this help message and exit --dry-run do a dry run, skipping fpm execution --target-rpm-dir TARGET_RPM_DIR path to store RPMs in (=/tmp/o2_rpms by default) --release-tag RELEASE_TAG Release tag, this is mostly to provide correct dir structure --architecture ARCHITECTURE OS architecture --log-level LOG_LEVEL Set log level (DEBUG, INFO, WARN, ERROR) ``` Generate options: ``` --package PACKAGE package name (as recipe name in aldiist) --version VERSION package version (as in modulefile: X.Y.Z-A) --ali-prefix ALI_PREFIX path to alibuild dir --skip-deps Generate single RPM without dependencies ``` Sync options: ``` --pull Pulls instead of pushing ``` %prep %autosetup -n f2r-2.6.3 %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-f2r -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Jun 09 2023 Python_Bot - 2.6.3-1 - Package Spec generated