diff options
author | Guido Günther <agx@sigxcpu.org> | 2015-06-24 08:58:41 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2015-06-26 16:19:01 +0200 |
commit | a331b7f127c11fa0ecc6931660a906e2d906658b (patch) | |
tree | ba3aaa021b331c96d506f974c3cf49022bf9c827 /packaging | |
parent | 5f9e72a6205467be0d26680722055353919dcfe7 (diff) |
Add spec file taken from git-buildpackage-rpm
Minimal changes only to get it to build (like removing the bb package
and yet missing manpages of the *-rpm tools).
Due to changes in Debian's dist- vs. site-packages you need to do a:
cat <<EOF >> ~/.rpmmacros
%python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib().replace('dist-', 'site-'))")
%python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib(1).replace('dist-', 'site-'))")
EOF
to build the RPMs on Debian.
Diffstat (limited to 'packaging')
-rw-r--r-- | packaging/git-buildpackage.spec | 257 |
1 files changed, 257 insertions, 0 deletions
diff --git a/packaging/git-buildpackage.spec b/packaging/git-buildpackage.spec new file mode 100644 index 00000000..2fe27cb6 --- /dev/null +++ b/packaging/git-buildpackage.spec @@ -0,0 +1,257 @@ +# Add --without docs rpmbuild option, i.e. docs are enabled by default +%bcond_without docs + +Name: git-buildpackage +Summary: Build packages from git +Version: 0.6.31 +Release: 0 +Group: Development/Tools/Building +License: GPLv2 +BuildArch: noarch +URL: https://honk.sigxcpu.org/piki/projects/git-buildpackage/ +Source0: %{name}_%{version}.tar.gz + +# Conditional package names for requirements +%if 0%{?fedora} || 0%{?centos_ver} > 7 +%define dpkg_pkg_name dpkg-dev +%else +%if 0%{?centos_version} +%define dpkg_pkg_name dpkg-devel +%else +%define dpkg_pkg_name dpkg +%endif +%endif + +%if 0%{?suse_version} && 0%{?suse_version} < 1230 +%define devscripts_pkg_name devscripts-fixes +%else +%define devscripts_pkg_name devscripts +%endif + +%if 0%{?fedora} +%define man_pkg_name man-db +%else +%define man_pkg_name man +%endif + +%if 0%{?fedora} || 0%{?centos_version} || 0%{?centos_ver} || 0%{?tizen_version:1} +%define python_pkg_name python +%else +%define python_pkg_name python-base +%endif + +%if 0%{?tizen_version:1} +%define rpm_python_pkg_name python-rpm +%else +%define rpm_python_pkg_name rpm-python +%endif + +Requires: %{name}-common = %{version}-%{release} +Requires: %{dpkg_pkg_name} +Requires: %{devscripts_pkg_name} +BuildRequires: python +BuildRequires: python-setuptools + +%if %{with docs} +BuildRequires: docbook-utils +BuildRequires: gtk-doc +BuildRequires: epydoc +%if 0%{?fedora} +BuildRequires: perl-podlators +%endif +%endif + +%if 0%{?do_unittests} +BuildRequires: python-coverage +BuildRequires: python-nose +BuildRequires: git-core +BuildRequires: %{man_pkg_name} +BuildRequires: %{dpkg_pkg_name} +BuildRequires: rpm-build +BuildRequires: %{rpm_python_pkg_name} +BuildRequires: pristine-tar +BuildRequires: unzip +BuildRequires: libzip +BuildRequires: gnupg +# Missing dep of dpkg in openSUSE +%if 0%{?suse_version} +BuildRequires: perl-TimeDate +%endif +%endif + +%description +Set of tools from Debian that integrate the package build system with Git. +This package contains the original Debian tools. + + +%package common +Summary: Common files for git-buildpackage debian and rpm tools +Group: Development/Tools/Building +Requires: git-core +Requires: python-six +Requires: %{man_pkg_name} +Requires: %{python_pkg_name} +%if 0%{?suse_version} || 0%{?tizen_version:1} +Recommends: pristine-tar +Recommends: unzip +Recommends: libzip +%else +Requires: pristine-tar +Requires: unzip +Requires: libzip +%endif + +%description common +Common files and documentation, used by both git-buildpackage debian and rpm tools + + +%package rpm +Summary: Build RPM packages from git +Group: Development/Tools/Building +Requires: %{name}-common = %{version}-%{release} +Requires: rpm +Requires: %{rpm_python_pkg_name} +%if 0%{?suse_version} || 0%{?tizen_version:1} +Recommends: rpm-build +%else +Requires: rpm-build +%endif +Provides: tizen-gbp-rpm = 20150223 + +%description rpm +Set of tools from Debian that integrate the package build system with Git. +This package contains the tools for building RPM packages. + +%if %{with docs} +%package doc +Summary: Documentation for the git-buildpackage suite +Group: Development/Tools/Building + +%description doc +This package contains documentation for the git-buildpackage suite - both the +Debian and the RPM tool set. +%endif + + +%prep +%setup -q -n %{name}-%{version} + + + +%build +WITHOUT_NOSETESTS=1 %{__python} ./setup.py build + +%if %{with docs} +# Prepare apidocs +epydoc -n git-buildpackage --no-sourcecode -o docs/apidocs/ \ + gbp*.py git*.py gbp/ + +# HTML docs +HAVE_SGML2X=0 make -C docs/ +%endif + + +%if 0%{?do_unittests} +%check +GIT_CEILING_DIRECTORIES=%{_builddir} \ + GIT_AUTHOR_EMAIL=rpmbuild@example.com GIT_AUTHOR_NAME=rpmbuild \ + GIT_COMMITTER_NAME=$GIT_AUTHOR_NAME GIT_COMMITTER_EMAIL=$GIT_AUTHOR_EMAIL \ + %{__python} setup.py nosetests +%endif + + +%install +rm -rf %{buildroot} +WITHOUT_NOSETESTS=1 %{__python} ./setup.py install --root=%{buildroot} --prefix=/usr + +%if %{with docs} +# Install man pages +install -d %{buildroot}%{_mandir}/man1 %{buildroot}%{_mandir}/man5 +install docs/*.1 %{buildroot}%{_mandir}/man1/ +install docs/*.5 %{buildroot}%{_mandir}/man5/ + +# Install html documentation +mkdir -p %{buildroot}%{_docdir}/%{name} +cp -r docs/manual-html %{buildroot}%{_docdir}/%{name} +cp -r docs/apidocs %{buildroot}%{_docdir}/%{name} +%endif + +cat > files.list << EOF +%{_bindir}/git-pbuilder +%{python_sitelib}/gbp/deb +%{python_sitelib}/gbp/scripts/pq.py* +%{python_sitelib}/gbp/scripts/buildpackage.py* +%{python_sitelib}/gbp/scripts/dch.py* +%{python_sitelib}/gbp/scripts/import_dsc.py* +%{python_sitelib}/gbp/scripts/import_dscs.py* +%{python_sitelib}/gbp/scripts/import_orig.py* +%{python_sitelib}/gbp/scripts/create_remote_repo.py* +EOF + +%if %{with docs} +cat >> files.list << EOF +%{_mandir}/man1/gbp-buildpackage.1* +%{_mandir}/man1/gbp-create-remote-repo.1* +%{_mandir}/man1/gbp-dch.1* +%{_mandir}/man1/gbp-import-dsc.1* +%{_mandir}/man1/gbp-import-dscs.1* +%{_mandir}/man1/gbp-import-orig.1* +%{_mandir}/man1/gbp-pq.1* +%{_mandir}/man1/git-pbuilder.1* +EOF +%endif + +# Disable the Debian tools for old CentOS +%if 0%{?centos_version} && 0%{?centos_ver} < 7 +for f in `cat files.list`; do + rm -rfv %{buildroot}/$f +done + +%else + +%files -f files.list +%defattr(-,root,root,-) +%endif + +%files common +%defattr(-,root,root,-) +%{_bindir}/gbp +%dir %{python_sitelib}/gbp +%dir %{python_sitelib}/gbp/git +%dir %{python_sitelib}/gbp/pkg +%dir %{python_sitelib}/gbp/scripts +%dir %{python_sitelib}/gbp/scripts/common +%{python_sitelib}/gbp-* +%{python_sitelib}/gbp/*.py* +%{python_sitelib}/gbp/scripts/__init__.py* +%{python_sitelib}/gbp/scripts/clone.py* +%{python_sitelib}/gbp/scripts/config.py* +%{python_sitelib}/gbp/scripts/pull.py* +%{python_sitelib}/gbp/scripts/supercommand.py* +%{python_sitelib}/gbp/scripts/common/*.py* +%{python_sitelib}/gbp/git/*.py* +%{python_sitelib}/gbp/pkg/*.py* +%config %{_sysconfdir}/git-buildpackage +%if %{with docs} +%{_mandir}/man1/gbp.1* +%{_mandir}/man1/gbp-clone.1* +%{_mandir}/man1/gbp-config.1* +%{_mandir}/man1/gbp-pull.1* +%{_mandir}/man5/*.5* +%endif + + +%files rpm +%defattr(-,root,root,-) +%dir %{python_sitelib}/gbp/rpm +%{python_sitelib}/gbp/scripts/*rpm*.py* +%{python_sitelib}/gbp/rpm/*py* +%if %{with docs} +%endif + + +%if %{with docs} +%files doc +%defattr(-,root,root,-) +%{_docdir}/%{name}/ +%endif |