diff options
-rw-r--r-- | .gbp.conf | 17 | ||||
-rw-r--r-- | packaging/git-buildpackage.spec | 244 |
2 files changed, 261 insertions, 0 deletions
diff --git a/.gbp.conf b/.gbp.conf new file mode 100644 index 00000000..6f74162f --- /dev/null +++ b/.gbp.conf @@ -0,0 +1,17 @@ +[DEFAULT] +# Do not merge to packaging (after update) +merge=False +# Vendor/Distro name +vendor=MyDistro +# Package is from Debian +upstream-tag=debian/%(version)s +# Don't use pristine-tar +pristine-tar=False +# Branch naming +packaging-branch=experimental-rpm +upstream-branch=master +# Subdir for RPM packaging data +packaging-dir=packaging +# Auto-generate patches against upstream +patch-export = True +patch-numbers = True diff --git a/packaging/git-buildpackage.spec b/packaging/git-buildpackage.spec new file mode 100644 index 00000000..ec019bc4 --- /dev/null +++ b/packaging/git-buildpackage.spec @@ -0,0 +1,244 @@ +# 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.6 +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} +%define dpkg_pkg_name dpkg-devel +%else +%define dpkg_pkg_name dpkg +%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_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_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: %{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 + +%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 +rm -rf %{buildroot}%{python_sitelib}/*info + +%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 + + +%files +%defattr(-,root,root,-) +%{_bindir}/gbp-pq +%{_bindir}/git-buildpackage +%{_bindir}/git-dch +%{_bindir}/git-import-dsc +%{_bindir}/git-import-dscs +%{_bindir}/git-import-orig +%{_bindir}/git-pbuilder +%{_bindir}/gbp-create-remote-repo +%{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* +%if %{with docs} +%{_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* +%endif + +%files common +%defattr(-,root,root,-) +%{_bindir}/gbp +%{_bindir}/gbp-clone +%{_bindir}/gbp-pull +%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/*.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} +%files doc +%defattr(-,root,root,-) +%{_docdir}/%{name}/ +%endif |