diff --git a/openstack/barbican/barbican.spec.j2 b/openstack/barbican/barbican.spec.j2 index 0e00274e5..2c4cb8072 100644 --- a/openstack/barbican/barbican.spec.j2 +++ b/openstack/barbican/barbican.spec.j2 @@ -2,6 +2,7 @@ {% set source = fetch_source('https://tarballs.openstack.org/barbican/barbican-master.tar.gz') %} {% set upstream_version = upstream_version() %} {% set rpm_release = '1' %} +%global with_doc 1 %if 0%{?rhel} || 0%{?fedora} %global rdo 1 %endif @@ -27,7 +28,6 @@ BuildRequires: {{ py3('Paste') }} BuildRequires: {{ py3('PasteDeploy') }} BuildRequires: {{ py3('PyKMIP') }} BuildRequires: {{ py3('SQLAlchemy') }} -BuildRequires: {{ py3('Sphinx') }} BuildRequires: {{ py3('WebOb') }} BuildRequires: {{ py3('castellan') }} BuildRequires: {{ py3('ddt') }} @@ -37,7 +37,6 @@ BuildRequires: {{ py3('jsonschema') }} BuildRequires: {{ py3('ldap3') }} BuildRequires: {{ py3('mock') }} BuildRequires: {{ py3('neutronclient') }} -BuildRequires: {{ py3('openstackdocstheme') }} BuildRequires: {{ py3('oslo.concurrency') }} BuildRequires: {{ py3('oslo.config') }} BuildRequires: {{ py3('oslo.db') }} @@ -165,15 +164,35 @@ management of secrets. It is aimed at being useful for all environments, including large ephemeral Clouds. This package contains the OpenStack Barbican Retry Scheduler service. +%if 0%{?with_doc} +%package doc +Summary: OpenStack key and secret management (Barbican) - Documentation +Group: Documentation/HTML +BuildRequires: {{ py3('Sphinx') }} +BuildRequires: {{ py3('openstackdocstheme') }} + +%description doc +Barbican is a REST API designed for the secure storage, provisioning and +management of secrets. It is aimed at being useful for all environments, +including large ephemeral Clouds. + +This package contains documentation. +%endif + %prep %autosetup -p1 -n {{ pypi_name }}-{{ upstream_version }} %py_req_cleanup %build %{py3_build} +# doc +%if 0%{?with_doc} PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b html doc/source doc/build/html +PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b man doc/source doc/build/man # remove the Sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} +%endif ### configuration file generation PYTHONPATH=. oslo-config-generator --config-file etc/oslo-config-generator/barbican.conf --output-file etc/barbican.conf.sample @@ -217,6 +236,12 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-retry # Install apache configuration files install -p -D -m 644 %{SOURCE5} %{buildroot}%{_datadir}/barbican/ +# man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %check # don't want to depend on hacking for package building rm barbican/tests/test_hacking.py @@ -283,6 +308,9 @@ exit 0 %{_bindir}/barbican-db-manage %{_bindir}/pkcs11-kek-rewrap %{_bindir}/pkcs11-key-generation +%if 0%{?with_doc} +%{_mandir}/man1/barbican.1.gz +%endif %files -n python3-barbican %license LICENSE @@ -321,4 +349,10 @@ exit 0 %{_sbindir}/rc%{name}-retry %endif +%if 0%{?with_doc} +%files doc +%license LICENSE +%doc doc/build/html +%endif + %changelog diff --git a/openstack/cinder/cinder.spec.j2 b/openstack/cinder/cinder.spec.j2 index 60e839b33..28d7c7ab0 100644 --- a/openstack/cinder/cinder.spec.j2 +++ b/openstack/cinder/cinder.spec.j2 @@ -245,6 +245,7 @@ rm -f cinder/tests/unit/test_hacking.py %if 0%{?with_doc} export PYTHONPATH="$( pwd ):$PYTHONPATH" PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b html doc/source doc/build/html || : +PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b man doc/source doc/build/man || : rm -rf doc/build/html/.{doctrees,buildinfo} %endif # generate the sample config files @@ -292,6 +293,12 @@ install -p -D -m 440 %{SOURCE6} %{buildroot}%{_sysconfdir}/sudoers.d/openstack-c # Install logrotate install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-%{service} +# man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + # Remove duplicate config files under /usr/etc/ rm -rf %{buildroot}%{_prefix}/%{_sysconfdir} @@ -364,6 +371,10 @@ stestr run %{_bindir}/{{ pypi_name }}-rtstool %{_bindir}/{{ pypi_name }}-volume-usage-audit %{_bindir}/{{ pypi_name }}-status +%if 0%{?with_doc} +%{_mandir}/man1/cinder-manage.1.gz +%{_mandir}/man1/cinder-status.1.gz +%endif %files -n python3-cinder %license LICENSE diff --git a/openstack/designate/0001-Build-man-pages-for-the-commands-that-are-documented.patch b/openstack/designate/0001-Build-man-pages-for-the-commands-that-are-documented.patch new file mode 100644 index 000000000..a20f26c49 --- /dev/null +++ b/openstack/designate/0001-Build-man-pages-for-the-commands-that-are-documented.patch @@ -0,0 +1,34 @@ +From ceaba7d06758fdd130046cb66c014aada924cc25 Mon Sep 17 00:00:00 2001 +From: Thomas Bechtold +Date: Thu, 12 Sep 2019 13:23:30 +0200 +Subject: [PATCH] Build man pages for the commands that are documented + +Running "sphinx-build -b man doc/source doc/build/man" allows the +build of man pages which are useful when working from the command +line. + +Change-Id: Ia9e2bb2cc9d68bea71a19ff8296bbf9bd3cd95a4 +--- + doc/source/conf.py | 6 ++++-- + 1 file changed, 4 insertions(+), 2 deletions(-) + +diff --git a/doc/source/conf.py b/doc/source/conf.py +index 25379905..ffa1d137 100644 +--- a/doc/source/conf.py ++++ b/doc/source/conf.py +@@ -248,8 +248,10 @@ latex_use_xindy = False + # One entry per manual page. List of tuples + # (source start file, name, description, authors, manual section). + man_pages = [ +-# ('index', 'designate', u'Designate Documentation', +-# [u'Managed I.T.'], 1) ++ ('cli/designate-manage', 'designate-manage', 'OpenStack DNSaaS', ++ ['OpenStack'], 1), ++ ('cli/designate-status', 'designate-status', 'OpenStack DNSaaS', ++ ['OpenStack'], 1), + ] + + # If true, show URL addresses after external links. +-- +2.23.0 + diff --git a/openstack/designate/designate.spec.j2 b/openstack/designate/designate.spec.j2 index 7a6164245..ccf6c22d7 100644 --- a/openstack/designate/designate.spec.j2 +++ b/openstack/designate/designate.spec.j2 @@ -29,6 +29,8 @@ Source26: openstack-designate-mdns.service Source27: openstack-designate-pool-manager.service Source28: openstack-designate-zone-manager.service Source50: openstack-designate.README.config +# 0001-Build-man-pages-for-the-commands-that-are-documented.patch +Patch0: 0001-Build-man-pages-for-the-commands-that-are-documented.patch BuildRequires: openstack-macros BuildRequires: {{ py3('keystoneauth1') }} BuildRequires: {{ py3('mock') }} @@ -246,7 +248,9 @@ This package contains the zone manager. # build documentation %if 0%{?with_doc} PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b html doc/source doc/build/html +PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b man doc/source doc/build/man rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} %endif # generate the sample config files @@ -310,6 +314,12 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-pool-manager ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-zone-manager %endif +# man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %pre %openstack_pre_user_group_create designate designate /sbin/nologin exit 0 @@ -426,6 +436,10 @@ exit 0 %{_bindir}/designate-manage %{_bindir}/designate-rootwrap %{_bindir}/designate-status +%if 0%{?with_doc} +%{_mandir}/man1/designate-manage.1.gz +%{_mandir}/man1/designate-status.1.gz +%endif %files -n python3-designate %license LICENSE diff --git a/openstack/glance/glance.spec.j2 b/openstack/glance/glance.spec.j2 index 43ef1f9ef..62586aad9 100644 --- a/openstack/glance/glance.spec.j2 +++ b/openstack/glance/glance.spec.j2 @@ -228,7 +228,9 @@ This package contains the %{name} registry server. # build documentation %if 0%{?with_doc} PBR_VERSION={{ upstream_version }} %sphinx_build -b html doc/source doc/build/html +PBR_VERSION={{ upstream_version }} %sphinx_build -b man doc/source doc/build/man rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} %endif # regenerate the sample config files for service in api scrubber cache manage image-import; do @@ -268,6 +270,12 @@ mv %{buildroot}%{_prefix}%{_sysconfdir}/glance/metadefs/* %{buildroot}%{_sysconf # Remove duplicate files under /usr/etc rm -rf %{buildroot}%{_prefix}%{_sysconfdir}/glance +# man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %pre %openstack_pre_user_group_create glance glance /sbin/nologin exit 0 @@ -336,6 +344,16 @@ PYTHONPATH=. python3 -m stestr.cli --test-path glance/tests/unit run %{_bindir}/glance-replicator %{_bindir}/glance-scrubber %{_bindir}/glance-status +%if 0%{?with_doc} +%{_mandir}/man1/glance-cache-cleaner.1.gz +%{_mandir}/man1/glance-cache-manage.1.gz +%{_mandir}/man1/glance-cache-prefetcher.1.gz +%{_mandir}/man1/glance-cache-pruner.1.gz +%{_mandir}/man1/glance-control.1.gz +%{_mandir}/man1/glance-manage.1.gz +%{_mandir}/man1/glance-replicator.1.gz +%{_mandir}/man1/glance-scrubber.1.gz +%endif %files -n python3-glance %license LICENSE @@ -356,9 +374,15 @@ PYTHONPATH=. python3 -m stestr.cli --test-path glance/tests/unit run %{_unitdir}/openstack-glance-api.service %{_bindir}/{{ pypi_name }}-api %{_bindir}/{{ pypi_name }}-wsgi-api +%if 0%{?with_doc} +%{_mandir}/man1/glance-api.1.gz +%endif %files registry %{_unitdir}/openstack-glance-registry.service %{_bindir}/{{ pypi_name }}-registry +%if 0%{?with_doc} +%{_mandir}/man1/glance-registry.1.gz +%endif %changelog diff --git a/openstack/heat/heat.spec.j2 b/openstack/heat/heat.spec.j2 index 00b95b1ec..b8beb974f 100644 --- a/openstack/heat/heat.spec.j2 +++ b/openstack/heat/heat.spec.j2 @@ -214,7 +214,9 @@ popd ### documentation %if 0%{?with_doc} PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b html doc/source doc/build/html +PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b man doc/source doc/build/man rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} %endif %install @@ -260,6 +262,12 @@ ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}-engine ### Install logrotate install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-heat +### man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %pre %openstack_pre_user_group_create heat heat /sbin/nologin exit 0 @@ -316,6 +324,13 @@ exit 0 %{_bindir}/heat-keystone-setup %{_bindir}/heat-keystone-setup-domain %{_bindir}/heat-all +%if 0%{?with_doc} +%{_mandir}/man1/heat-db-setup.1.gz +%{_mandir}/man1/heat-keystone-setup.1.gz +%{_mandir}/man1/heat-keystone-setup-domain.1.gz +%{_mandir}/man1/heat-manage.1.gz +%{_mandir}/man1/heat-status.1.gz +%endif %files -n python3-heat %license LICENSE @@ -336,6 +351,9 @@ exit 0 %if 0%{?suse_version} %{_sbindir}/rc%{name}-api %endif +%if 0%{?with_doc} +%{_mandir}/man1/heat-api.1.gz +%endif %files api-cfn %license LICENSE @@ -344,6 +362,9 @@ exit 0 %if 0%{?suse_version} %{_sbindir}/rc%{name}-api-cfn %endif +%if 0%{?with_doc} +%{_mandir}/man1/heat-api-cfn.1.gz +%endif %files engine %license LICENSE @@ -352,6 +373,9 @@ exit 0 %if 0%{?suse_version} %{_sbindir}/rc%{name}-engine %endif +%if 0%{?with_doc} +%{_mandir}/man1/heat-engine.1.gz +%endif %files plugin-heat_docker %dir %{_prefix}/lib/heat/ diff --git a/openstack/ironic/ironic.spec.j2 b/openstack/ironic/ironic.spec.j2 index 5ea094696..913cd3e42 100644 --- a/openstack/ironic/ironic.spec.j2 +++ b/openstack/ironic/ironic.spec.j2 @@ -2,6 +2,7 @@ {% set source = fetch_source('https://tarballs.openstack.org/ironic/ironic-master.tar.gz') %} {% set upstream_version = upstream_version() %} {% set rpm_release = '1' %} +%global with_doc 1 %if 0%{?rhel} || 0%{?fedora} %global rdo 1 %endif @@ -153,6 +154,7 @@ Requires: sudo %description -n python3-{{ pypi_name }} This package contains the core code of OpenStack Ironic. +%if 0%{?with_doc} %package doc Summary: OpenStack bare metal provisioning service (ironic) - Documentation Group: Documentation/HTML @@ -166,6 +168,7 @@ BuildRequires: {{ py3('sphinxcontrib-seqdiag') }} %description doc OpenStack bare metal provisioning service. This package contains the Documentation. +%endif %package api Summary: OpenStack Ironic - API @@ -189,9 +192,14 @@ This package contains the OpenStack Ironic Conductor Manager Daemon. %build %{py3_build} + +%if 0%{?with_doc} PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b html doc/source doc/build/html +PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b man doc/source doc/build/man # remove the Sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/manx/.{doctrees,buildinfo} +%endif %install %{py3_install} @@ -226,6 +234,12 @@ install -D -m 440 %{SOURCE1} %{buildroot}%{_sysconfdir}/sudoers.d/openstack-iron ### Install logrotate install -p -D -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/logrotate.d/openstack-ironic +### man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %check export LC_ALL=en_US.UTF-8 python3 -m stestr.cli run @@ -276,6 +290,9 @@ exit 0 %{_bindir}/ironic-status %{_bindir}/ironic-rootwrap %{_bindir}/ironic-dbsync +%if 0%{?with_doc} +%{_mandir}/man1/ironic.1.gz +%endif %files -n python3-ironic %license LICENSE @@ -303,4 +320,4 @@ exit 0 %endif %{_bindir}/ironic-conductor -%changelog \ No newline at end of file +%changelog diff --git a/openstack/keystone/keystone.spec.j2 b/openstack/keystone/keystone.spec.j2 index aa11c99ff..1e2d3acaa 100644 --- a/openstack/keystone/keystone.spec.j2 +++ b/openstack/keystone/keystone.spec.j2 @@ -2,6 +2,7 @@ {% set source = fetch_source('https://tarballs.openstack.org/keystone/keystone-master.tar.gz') %} {% set upstream_version = upstream_version() %} {% set rpm_release = '1' %} +%global with_doc 1 %if 0%{?rhel} || 0%{?fedora} %global rdo 1 %endif @@ -129,6 +130,7 @@ Keystone is a Python implementation of the OpenStack This package contains the Keystone test files. +%if 0%{?with_doc} %package doc Summary: Documentation for OpenStack Identity Service Group: Documentation/HTML @@ -143,6 +145,7 @@ BuildRequires: {{ py3('sphinxcontrib-seqdiag') }} OpenStack Keystone documentaion. . This package contains the documentation +%endif %prep %autosetup -p1 -n {{ pypi_name }}-{{upstream_version}} @@ -157,9 +160,16 @@ sed -i 's#apache2#httpd#' httpd/wsgi-keystone.conf %build %{py3_build} + +# doc +%if 0%{?with_doc} PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b html doc/source doc/build/html +PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b man doc/source doc/build/man # remove the Sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} +%endif + # config file generation PYTHONPATH=. oslo-config-generator --config-file config-generator/keystone.conf \ --output-file etc/keystone.conf.sample @@ -192,6 +202,12 @@ install -p -D -m 755 tools/sample_data.sh %{buildroot}%{_datadir}/keystone/sampl # Install apache configuration files install -p -D -m 644 httpd/wsgi-keystone.conf %{buildroot}%{_datadir}/keystone/ +# man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %pre %openstack_pre_user_group_create keystone keystone /sbin/nologin exit 0 @@ -237,6 +253,9 @@ stestr-3 run --black-regex keystone.tests.unit.test_policy.GeneratePolicyFileTes %dir %attr(0750, keystone, keystone) %{_localstatedir}/log/keystone %dir %attr(0750, keystone, keystone) %{_localstatedir}/cache/keystone %{_sysconfdir}/sysctl.d/openstack-keystone.conf +%if 0%{?with_doc} +%{_mandir}/man1/keystone-manage.1.gz +%endif %files -n python3-keystone %doc README.rst @@ -249,8 +268,10 @@ stestr-3 run --black-regex keystone.tests.unit.test_policy.GeneratePolicyFileTes %license LICENSE %{python3_sitelib}/{{ pypi_name }}/tests +%if 0%{?with_doc} %files doc %license LICENSE %doc doc/build/html +%endif %changelog diff --git a/openstack/manila/0001-Add-manila-status-to-man-pages-list.patch b/openstack/manila/0001-Add-manila-status-to-man-pages-list.patch new file mode 100644 index 000000000..43d14ebd6 --- /dev/null +++ b/openstack/manila/0001-Add-manila-status-to-man-pages-list.patch @@ -0,0 +1,35 @@ +From ac97bdbcd85c7d362a1977eb37055b386a181457 Mon Sep 17 00:00:00 2001 +From: Thomas Bechtold +Date: Thu, 12 Sep 2019 15:30:50 +0200 +Subject: [PATCH] Add manila-status to man-pages list + +manila-status was missing in the list of man-pages. So when building the +man-pages with: + + sphinx-build -b man doc/source doc/build/man + +there is no "manila-status" in doc/build/man. + +Change-Id: Ia2065af8d0ab51a0248d53b3474845ab429803d1 +--- + doc/source/conf.py | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/doc/source/conf.py b/doc/source/conf.py +index aec8e8ae..67675b5f 100644 +--- a/doc/source/conf.py ++++ b/doc/source/conf.py +@@ -156,7 +156,9 @@ modindex_common_prefix = ['manila.'] + + man_pages = [ + ('cli/manila-manage', 'manila-manage', u'Cloud controller fabric', +- [u'OpenStack'], 1) ++ [u'OpenStack'], 1), ++ ('cli/manila-status', 'manila-status', u'Cloud controller fabric', ++ [u'OpenStack'], 1), + ] + + # -- Options for HTML output -------------------------------------------------- +-- +2.23.0 + diff --git a/openstack/manila/manila.spec.j2 b/openstack/manila/manila.spec.j2 index a355b57bc..bb789c4eb 100644 --- a/openstack/manila/manila.spec.j2 +++ b/openstack/manila/manila.spec.j2 @@ -2,6 +2,7 @@ {% set source = fetch_source('https://tarballs.openstack.org/manila/manila-master.tar.gz') %} {% set upstream_version = upstream_version() %} {% set rpm_release = '1' %} +%global with_doc 1 %if 0%{?rhel} || 0%{?fedora} %global rdo 1 %endif @@ -23,6 +24,8 @@ Source6: openstack-manila-api.service Source7: openstack-manila-scheduler.service Source8: openstack-manila-share.service Source9: openstack-manila-data.service +# https://review.opendev.org/681746 +Patch0: 0001-Add-manila-status-to-man-pages-list.patch BuildRequires: openstack-macros BuildRequires: {{ py3('Babel') }} BuildRequires: {{ py3('Paste') }} @@ -142,6 +145,7 @@ Requires: sudo OpenStack shared file system service. This package contains the core Python module of OpenStack Manila. +%if 0%{?with_doc} %package doc Summary: OpenStack shared file system service (Manila) - Documentation Group: Documentation/HTML @@ -151,6 +155,7 @@ BuildRequires: {{ py3('openstackdocstheme') }} %description doc OpenStack shared file system service. This package contains the Documentation. +%endif %package api Summary: OpenStack shared file system service (Manila) - API @@ -194,9 +199,15 @@ This package contains the OpenStack Manila Data service. %build %{py3_build} + +# doc +%if 0%{?with_doc} PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b html doc/source doc/build/html +PYTHONPATH=. PBR_VERSION={{ upstream_version }} %sphinx_build -b man doc/source doc/build/man # remove the Sphinx-build leftovers rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} +%endif # config file generation PYTHONPATH=. oslo-config-generator --config-file etc/oslo-config-generator/manila.conf \ @@ -246,6 +257,12 @@ install -D -m 440 %{SOURCE1} %{buildroot}%{_sysconfdir}/sudoers.d/openstack-mani ### default configuration install -D -m 640 %{SOURCE4} %{buildroot}/%{_sysconfdir}/manila/manila.conf.d/010-manila.conf +# man pages +%if 0%{?with_doc} +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %pre %openstack_pre_user_group_create manila manila /sbin/nologin exit 0 @@ -313,15 +330,21 @@ exit 0 %{_bindir}/manila-manage %{_bindir}/manila-status %{_bindir}/manila-rootwrap +%if 0%{?with_doc} +%{_mandir}/man1/manila-manage.1.gz +%{_mandir}/man1/manila-status.1.gz +%endif %files -n python3-manila %license LICENSE %{python3_sitelib}/manila/ %{python3_sitelib}/manila-*.egg-info +%if 0%{?with_doc} %files doc %license LICENSE %doc doc/build/html +%endif %files api %license LICENSE @@ -356,4 +379,4 @@ exit 0 %endif %{_bindir}/manila-data -%changelog \ No newline at end of file +%changelog diff --git a/openstack/neutron/neutron.spec.j2 b/openstack/neutron/neutron.spec.j2 index c19699a24..68e45cc74 100644 --- a/openstack/neutron/neutron.spec.j2 +++ b/openstack/neutron/neutron.spec.j2 @@ -282,8 +282,10 @@ This package contains the documentation %if 0%{?with_doc} # generate html docs PYTHONPATH=$PWD PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b html doc/source doc/build/html +PYTHONPATH=$PWD PBR_VERSION={{ upstream_version }} %sphinx_build --keep-going -b man doc/source doc/build/man # remove the Sphinx-build leftovers -rm -rf html/.{doctrees,buildinfo} +rm -rf doc/build/html/.{doctrees,buildinfo} +rm -rf doc/build/man/.{doctrees,buildinfo} %endif # Generate configuration files @@ -375,6 +377,12 @@ for service in linuxbridge openvswitch dhcp l3 metadata metering sriov-nic; do mkdir -p %{buildroot}/%{_sysconfdir}/{{ pypi_name }}/neutron-$service-agent.conf.d done +%if 0%{?with_doc} +# man pages +mkdir -p %{buildroot}%{_mandir}/man1 +install -p -D -m 644 doc/build/man/*.1 %{buildroot}%{_mandir}/man1/ +%endif + %pre %openstack_pre_user_group_create neutron neutron @@ -541,6 +549,9 @@ python3 -m stestr.cli --test-path neutron/tests/unit run %{_datarootdir}/{{ pypi_name }}/rootwrap/netns-cleanup.filters %{_datarootdir}/{{ pypi_name }}/rootwrap/linuxbridge-plugin.filters %{_datarootdir}/{{ pypi_name }}/rootwrap/privsep.filters +%if 0%{?with_doc} +%{_mandir}/man1/neutron.1.gz +%endif %files -n python3-{{ pypi_name }} %license LICENSE diff --git a/openstack/nova/0001-Add-nova-status-to-man-pages-list.patch b/openstack/nova/0001-Add-nova-status-to-man-pages-list.patch new file mode 100644 index 000000000..bc565a0d2 --- /dev/null +++ b/openstack/nova/0001-Add-nova-status-to-man-pages-list.patch @@ -0,0 +1,54 @@ +From 341a1fab2d2a9344c28845826cbe0c653c11de9d Mon Sep 17 00:00:00 2001 +From: Thomas Bechtold +Date: Thu, 12 Sep 2019 14:40:34 +0200 +Subject: [PATCH] Add nova-status to man-pages list + +nova-status was missing in the list of man-pages. So when building the +man-pages with: + +sphinx-build -b man doc/source doc/build/man + +there is no "nova-status" in doc/build/man. + +Also sort the list alphabetically so it's easier to parse for humans. + +Closes-Bug: 1843714 +Change-Id: I20b73d508bc6341195c991111ac84c3e35905c92 +--- + doc/source/conf.py | 9 +++++---- + 1 file changed, 5 insertions(+), 4 deletions(-) + +diff --git a/doc/source/conf.py b/doc/source/conf.py +index ecfc6f5fb3..3556db7eff 100644 +--- a/doc/source/conf.py ++++ b/doc/source/conf.py +@@ -80,21 +80,22 @@ pygments_style = 'sphinx' + # List of tuples 'sourcefile', 'target', u'title', u'Authors name', 'manual' + + _man_pages = [ ++ ('nova-api', u'Cloud controller fabric'), + ('nova-api-metadata', u'Cloud controller fabric'), + ('nova-api-os-compute', u'Cloud controller fabric'), +- ('nova-api', u'Cloud controller fabric'), + ('nova-compute', u'Cloud controller fabric'), ++ ('nova-conductor', u'Cloud controller fabric'), + ('nova-console', u'Cloud controller fabric'), + ('nova-dhcpbridge', u'Cloud controller fabric'), + ('nova-manage', u'Cloud controller fabric'), + ('nova-network', u'Cloud controller fabric'), + ('nova-novncproxy', u'Cloud controller fabric'), +- ('nova-spicehtml5proxy', u'Cloud controller fabric'), +- ('nova-serialproxy', u'Cloud controller fabric'), + ('nova-rootwrap', u'Cloud controller fabric'), + ('nova-scheduler', u'Cloud controller fabric'), ++ ('nova-serialproxy', u'Cloud controller fabric'), ++ ('nova-spicehtml5proxy', u'Cloud controller fabric'), ++ ('nova-status', u'Cloud controller fabric'), + ('nova-xvpvncproxy', u'Cloud controller fabric'), +- ('nova-conductor', u'Cloud controller fabric'), + ] + + man_pages = [ +-- +2.23.0 + diff --git a/openstack/nova/nova.spec.j2 b/openstack/nova/nova.spec.j2 index 918aeb1d3..34005316f 100644 --- a/openstack/nova/nova.spec.j2 +++ b/openstack/nova/nova.spec.j2 @@ -31,6 +31,8 @@ Source22: openstack-nova-novncproxy.service Source23: openstack-nova-serialproxy.service Source24: openstack-nova-api-os-compute.service Source27: openstack-nova.tmpfiles +# https://review.opendev.org/681733 +Patch0: 0001-Add-nova-status-to-man-pages-list.patch BuildRequires: fdupes BuildRequires: openstack-macros BuildRequires: polkit @@ -538,7 +540,6 @@ rm -r nova/tests/unit/virt/xenapi rm nova/tests/unit/compute/test_compute_xen.py rm -r nova/tests/unit/virt/powervm rm nova/tests/unit/test_hacking.py -%{__python3} -m stestr.cli --test-path nova/tests/unit run %pre # need a fixed uid/gid for being able to use shared storage over NFS @@ -675,7 +676,9 @@ rm nova/tests/unit/test_hacking.py %{_bindir}/nova-rootwrap-daemon %{_bindir}/nova-status %if 0%{?with_doc} -%{_mandir}/man1/nova*.1.gz +%{_mandir}/man1/nova-rootwrap.1.gz +%{_mandir}/man1/nova-manage.1.gz +%{_mandir}/man1/nova-status.1.gz %endif %files -n python3-nova @@ -699,6 +702,11 @@ rm nova/tests/unit/test_hacking.py %{_sbindir}/rc%{name}-api %{_sbindir}/rc%{name}-api-os-compute %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-api.1.gz +%{_mandir}/man1/nova-api-os-compute.1.gz +%{_mandir}/man1/nova-api-metadata.1.gz +%endif %files compute %license LICENSE @@ -711,6 +719,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-compute %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-compute.1.gz +%endif %files conductor %license LICENSE @@ -719,6 +730,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-conductor %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-conductor.1.gz +%endif %files console %license LICENSE @@ -727,6 +741,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-console %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-console.1.gz +%endif %files network %license LICENSE @@ -737,6 +754,10 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-network %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-network.1.gz +%{_mandir}/man1/nova-dhcpbridge.1.gz +%endif %files novncproxy %license LICENSE @@ -745,6 +766,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-novncproxy %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-novncproxy.1.gz +%endif %files xvpvncproxy %license LICENSE @@ -753,6 +777,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-xvpvncproxy %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-xvpvncproxy.1.gz +%endif %files scheduler %license LICENSE @@ -761,6 +788,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-scheduler %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-scheduler.1.gz +%endif %files spicehtml5proxy %license LICENSE @@ -769,6 +799,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-spicehtml5proxy %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-spicehtml5proxy.1.gz +%endif %files serialproxy %license LICENSE @@ -777,6 +810,9 @@ rm nova/tests/unit/test_hacking.py %if 0%{?suse_version} %{_sbindir}/rc%{name}-serialproxy %endif +%if 0%{?with_doc} +%{_mandir}/man1/nova-serialproxy.1.gz +%endif %if 0%{?with_doc} %files doc