%global _empty_manifest_terminate_build 0 Name: python-LbProdRun Version: 1.4.1 Release: 1 Summary: CLI for running LHCb applications from LHCbDIRAC License: GPL-3.0-only URL: https://gitlab.cern.ch/lhcb-core/lbprodrun Source0: https://mirrors.nju.edu.cn/pypi/web/packages/26/86/e85bd9b76ad3473a3392b0b76cf04bf6e870cfc402fad069761f8f56e342/LbProdRun-1.4.1.tar.gz BuildArch: noarch Requires: python3-click Requires: python3-lbenv Requires: python3-pydantic Requires: python3-typer[all] Requires: python3-packaging Requires: python3-pyyaml Requires: python3-black Requires: python3-flake8 Requires: python3-flake8-bugbear Requires: python3-pylint Requires: python3-pytest Requires: python3-pytest-cov Requires: python3-mypy Requires: python3-types-PyYAML %description # LbProdRun LbProdRun provides a stable interface that can be used by LHCbDIRAC for configuring and launching LHCb's various software applications. In order to generate simulated data and reproduce legacy reprocessing it is necessary for LHCbDIRAC to be able to configure applications dating back to 2011. Previously this was handled by the [`ProdConf`](https://gitlab.cern.ch/lhcb-datapkg/ProdConf/) data package however changes to the Run 3 software stack caused `ProdConf` is not longer generic enough. Instead `LbProdRun` provides a CLI application (`lb-prod-run`) which is passed a single JSON file as it's argument. This file contains all of the required information to run an LHCb application and hides the details of configuring the application away from LHCbDIRAC. ## Usage ```bash $ lb-prod-run prodspec_DaVinci_00145918_00000004_1.json # Check the configuration is valid and print the command that would be ran $ lb-prod-run prodspec_DaVinci_00145918_00000004_1.json --dry-run --verbose ``` ## Version 1 schema The most minimal configuration file that can be passed to version 1 of the schema is: ```json {"spec_version": 1, "application": {"name": "DaVinci", "version": "v45r8"}, "options": {"files": ["$APPCONFIGOPTS/my-options-file.py"]}, "output": {"prefix": "00145918_00000004_1", "types": ["d02hhll.strip.mdst"]}} ``` When parsing this is padded with the default values: ```json {"application": {"binary_tag": "best", "data_pkgs": [], "event_timeout": null, "name": "DaVinci", "number_of_processors": 1, "version": "v45r8"}, "db_tags": {"conddb_tag": null, "dddb_tag": null, "dq_tag": null}, "input": {"files": null, "first_event_number": null, "n_of_events": -1, "run_number": null, "tck": null, "xml_file_catalog": null, "xml_summary_file": null}, "options": {"files": ["$APPCONFIGOPTS/my-options-file.py"], "format": null, "gaudi_extra_options": null, "processing_pass": null}, "output": {"histogram_file": null, "prefix": "00145918_00000004_1", "types": ["d02hhll.strip.mdst"]}} ``` %package -n python3-LbProdRun Summary: CLI for running LHCb applications from LHCbDIRAC Provides: python-LbProdRun BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-LbProdRun # LbProdRun LbProdRun provides a stable interface that can be used by LHCbDIRAC for configuring and launching LHCb's various software applications. In order to generate simulated data and reproduce legacy reprocessing it is necessary for LHCbDIRAC to be able to configure applications dating back to 2011. Previously this was handled by the [`ProdConf`](https://gitlab.cern.ch/lhcb-datapkg/ProdConf/) data package however changes to the Run 3 software stack caused `ProdConf` is not longer generic enough. Instead `LbProdRun` provides a CLI application (`lb-prod-run`) which is passed a single JSON file as it's argument. This file contains all of the required information to run an LHCb application and hides the details of configuring the application away from LHCbDIRAC. ## Usage ```bash $ lb-prod-run prodspec_DaVinci_00145918_00000004_1.json # Check the configuration is valid and print the command that would be ran $ lb-prod-run prodspec_DaVinci_00145918_00000004_1.json --dry-run --verbose ``` ## Version 1 schema The most minimal configuration file that can be passed to version 1 of the schema is: ```json {"spec_version": 1, "application": {"name": "DaVinci", "version": "v45r8"}, "options": {"files": ["$APPCONFIGOPTS/my-options-file.py"]}, "output": {"prefix": "00145918_00000004_1", "types": ["d02hhll.strip.mdst"]}} ``` When parsing this is padded with the default values: ```json {"application": {"binary_tag": "best", "data_pkgs": [], "event_timeout": null, "name": "DaVinci", "number_of_processors": 1, "version": "v45r8"}, "db_tags": {"conddb_tag": null, "dddb_tag": null, "dq_tag": null}, "input": {"files": null, "first_event_number": null, "n_of_events": -1, "run_number": null, "tck": null, "xml_file_catalog": null, "xml_summary_file": null}, "options": {"files": ["$APPCONFIGOPTS/my-options-file.py"], "format": null, "gaudi_extra_options": null, "processing_pass": null}, "output": {"histogram_file": null, "prefix": "00145918_00000004_1", "types": ["d02hhll.strip.mdst"]}} ``` %package help Summary: Development documents and examples for LbProdRun Provides: python3-LbProdRun-doc %description help # LbProdRun LbProdRun provides a stable interface that can be used by LHCbDIRAC for configuring and launching LHCb's various software applications. In order to generate simulated data and reproduce legacy reprocessing it is necessary for LHCbDIRAC to be able to configure applications dating back to 2011. Previously this was handled by the [`ProdConf`](https://gitlab.cern.ch/lhcb-datapkg/ProdConf/) data package however changes to the Run 3 software stack caused `ProdConf` is not longer generic enough. Instead `LbProdRun` provides a CLI application (`lb-prod-run`) which is passed a single JSON file as it's argument. This file contains all of the required information to run an LHCb application and hides the details of configuring the application away from LHCbDIRAC. ## Usage ```bash $ lb-prod-run prodspec_DaVinci_00145918_00000004_1.json # Check the configuration is valid and print the command that would be ran $ lb-prod-run prodspec_DaVinci_00145918_00000004_1.json --dry-run --verbose ``` ## Version 1 schema The most minimal configuration file that can be passed to version 1 of the schema is: ```json {"spec_version": 1, "application": {"name": "DaVinci", "version": "v45r8"}, "options": {"files": ["$APPCONFIGOPTS/my-options-file.py"]}, "output": {"prefix": "00145918_00000004_1", "types": ["d02hhll.strip.mdst"]}} ``` When parsing this is padded with the default values: ```json {"application": {"binary_tag": "best", "data_pkgs": [], "event_timeout": null, "name": "DaVinci", "number_of_processors": 1, "version": "v45r8"}, "db_tags": {"conddb_tag": null, "dddb_tag": null, "dq_tag": null}, "input": {"files": null, "first_event_number": null, "n_of_events": -1, "run_number": null, "tck": null, "xml_file_catalog": null, "xml_summary_file": null}, "options": {"files": ["$APPCONFIGOPTS/my-options-file.py"], "format": null, "gaudi_extra_options": null, "processing_pass": null}, "output": {"histogram_file": null, "prefix": "00145918_00000004_1", "types": ["d02hhll.strip.mdst"]}} ``` %prep %autosetup -n LbProdRun-1.4.1 %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-LbProdRun -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Tue May 30 2023 Python_Bot - 1.4.1-1 - Package Spec generated