Subject: Re: [RFH] rpm packaging failure

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

On Sun, Jan 31, 2010 at 03:14:32PM -0800, David Aguilar wrote:
> 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 see you just pushed out a new master with the %define changes.
Here's a rebased patch just in case.

-- >8 --
>From ac09b94c332564cc7dde3c2f8961990098b5d4a0 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 ee74a5e..320829a 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: %global 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.
+
 * Sun Jan 31 2010 Junio C Hamano <[email-masked]>
 - Do not use %define inside %{!?...} construct.
 
-- 
1.7.0.rc1.7.gc0da5