Subject: Re: [RFH] rpm packaging failure

From: David Aguilar <[email-masked]>
Date: Sun, 31 Jan 2010 15:14:32 -0800

On Sat, Jan 30, 2010 at 02:22:03PM -0800, Junio C Hamano wrote:
> Todd Zullinger <[email-masked]> writes:
> 
> > Not shipping them if they aren't yet used/needed for anything other
> > than folks working on remote helpers seems reasonable and the rm in
> > the spec file should do the trick nicely.
> 
> Thanks.
> 
> To allow us to go forward a bit easier, I am planning to use the attached,
> as we would need some parts of it when we do start generating a separate
> package, I think.
> 
> -- >8 --
> Subject: [PATCH] RPM packaging: don't include foreign-scm-helper bits yet
> 
> The files in /usr/lib/python* are only the support infrastructure for
> foreign scm interface yet to be written and/or shipped with git.  Don't
> include them in the binary package (this will also free us from Python
> dependency).
> 
> When we ship with foreign scm interface, we will need to package these
> files with it in a separate subpackage, but we are not there yet.
> 
> Signed-off-by: Junio C Hamano <[email-masked]>
> ---
>  git.spec.in |    5 +++++
>  1 files changed, 5 insertions(+), 0 deletions(-)

Apologies for the late response to this thread.

Would it be simpler to define NO_PYTHON when running make?
We can always resurrect %python_sitelib when it is needed.

Here's what that looks like relative to master.
I've tested this on fedora11.

On a slightly related note, I'm seeing this as well:

error: Installed (but unpackaged) file(s) found:
   /usr/lib/Git.pm

Maybe my setup is wanky?

-- >8 --
>From 7fb05607633bc424fc29b645e6f4ee7e48371f94 Mon Sep 17 00:00:00 2001
From: David Aguilar <[email-masked]>
Date: Sun, 31 Jan 2010 14:52:13 -0800
Subject: [PATCH] RPM packaging: Define NO_PYTHON to avoid Python dependency

We don't use the Python bits yet so we shouldn't require
python to build.  The %define used python to calculate
%python_sitelib and thus incurred a build-time python
dependency without specifying python in BuildRequires.

Signed-off-by: David Aguilar <[email-masked]>
---
 git.spec.in |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/git.spec.in b/git.spec.in
index 0a03108..ae7edc6 100644
--- a/git.spec.in
+++ b/git.spec.in
@@ -98,7 +98,6 @@ BuildRequires:  perl(Error)
 Perl interface to Git
 
 %define path_settings ETC_GITCONFIG=/etc/gitconfig prefix=%{_prefix} mandir=%{_mandir} htmldir=%{_docdir}/%{name}-%{version}
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
 
 %prep
 %setup -q
@@ -106,14 +105,15 @@ Perl interface to Git
 %build
 make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \
      %{path_settings} \
+     NO_PYTHON=NotYet \
      all %{!?_without_docs: doc}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \
      %{path_settings} \
+     NO_PYTHON=NotYet \
      INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
-test ! -d $RPM_BUILD_ROOT%{python_sitelib} || rm -fr $RPM_BUILD_ROOT%{python_sitelib}
 find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
 find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
 find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
@@ -192,6 +192,9 @@ rm -rf $RPM_BUILD_ROOT
 # No files for you!
 
 %changelog
+* Sun Jan 31 2010 David Aguilar <[email-masked]>
+- Define NO_PYTHON until we actually need the Python bits
+
 * Sat Jan 30 2010 Junio C Hamano <[email-masked]>
 - We don't ship Python bits until a real foreign scm interface comes.
 
-- 
1.6.2.5