git.spec.inon commit DESTDIR support for git/contrib/emacs (1e31fbe)
   1# Pass --without docs to rpmbuild if you don't want the documentation
   2Name:           git
   3Version:        @@VERSION@@
   4Release:        1%{?dist}
   5Summary:        Git core and tools
   6License:        GPL
   7Group:          Development/Tools
   8URL:            http://kernel.org/pub/software/scm/git/
   9Source:         http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz
  10BuildRequires:  zlib-devel >= 1.2, openssl-devel, curl-devel, expat-devel  %{!?_without_docs:, xmlto, asciidoc > 6.0.3}
  11BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
  12Requires:       git-core, git-svn, git-cvs, git-arch, git-email, gitk, git-gui, perl-Git
  13
  14%description
  15Git is a fast, scalable, distributed revision control system with an
  16unusually rich command set that provides both high-level operations
  17and full access to internals.
  18
  19This is a dummy package which brings in all subpackages.
  20
  21%package core
  22Summary:        Core git tools
  23Group:          Development/Tools
  24Requires:       zlib >= 1.2, rsync, curl, less, openssh-clients, expat
  25%description core
  26Git is a fast, scalable, distributed revision control system with an
  27unusually rich command set that provides both high-level operations
  28and full access to internals.
  29
  30These are the core tools with minimal dependencies.
  31
  32%package svn
  33Summary:        Git tools for importing Subversion repositories
  34Group:          Development/Tools
  35Requires:       git-core = %{version}-%{release}, subversion
  36%description svn
  37Git tools for importing Subversion repositories.
  38
  39%package cvs
  40Summary:        Git tools for importing CVS repositories
  41Group:          Development/Tools
  42Requires:       git-core = %{version}-%{release}, cvs, cvsps
  43%description cvs
  44Git tools for importing CVS repositories.
  45
  46%package arch
  47Summary:        Git tools for importing Arch repositories
  48Group:          Development/Tools
  49Requires:       git-core = %{version}-%{release}, tla
  50%description arch
  51Git tools for importing Arch repositories.
  52
  53%package email
  54Summary:        Git tools for sending email
  55Group:          Development/Tools
  56Requires:       git-core = %{version}-%{release} 
  57%description email
  58Git tools for sending email.
  59
  60%package gui
  61Summary:        Git GUI tool
  62Group:          Development/Tools
  63Requires:       git-core = %{version}-%{release}, tk >= 8.4
  64%description gui
  65Git GUI tool
  66
  67%package -n gitk
  68Summary:        Git revision tree visualiser ('gitk')
  69Group:          Development/Tools
  70Requires:       git-core = %{version}-%{release}, tk >= 8.4
  71%description -n gitk
  72Git revision tree visualiser ('gitk')
  73
  74%package -n perl-Git
  75Summary:        Perl interface to Git
  76Group:          Development/Libraries
  77Requires:       git-core = %{version}-%{release}
  78Requires:       perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
  79BuildRequires:  perl(Error)
  80
  81%description -n perl-Git
  82Perl interface to Git
  83
  84%prep
  85%setup -q
  86
  87%build
  88make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" WITH_OWN_SUBPROCESS_PY=YesPlease \
  89     prefix=%{_prefix} all %{!?_without_docs: doc}
  90
  91%install
  92rm -rf $RPM_BUILD_ROOT
  93make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \
  94     WITH_OWN_SUBPROCESS_PY=YesPlease \
  95     prefix=%{_prefix} mandir=%{_mandir} INSTALLDIRS=vendor \
  96     install %{!?_without_docs: install-doc}
  97find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
  98find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
  99find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
 100
 101(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@)               > bin-man-doc-files
 102(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files
 103%if %{!?_without_docs:1}0
 104(find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files
 105%else
 106rm -rf $RPM_BUILD_ROOT%{_mandir}
 107%endif
 108
 109%clean
 110rm -rf $RPM_BUILD_ROOT
 111
 112%files
 113# These are no files in the root package
 114
 115%files svn
 116%defattr(-,root,root)
 117%{_bindir}/*svn*
 118%doc Documentation/*svn*.txt
 119%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
 120%{!?_without_docs: %doc Documentation/*svn*.html }
 121
 122%files cvs
 123%defattr(-,root,root)
 124%doc Documentation/*git-cvs*.txt
 125%{_bindir}/*cvs*
 126%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
 127%{!?_without_docs: %doc Documentation/*git-cvs*.html }
 128
 129%files arch
 130%defattr(-,root,root)
 131%doc Documentation/git-archimport.txt
 132%{_bindir}/git-archimport
 133%{!?_without_docs: %{_mandir}/man1/git-archimport.1*}
 134%{!?_without_docs: %doc Documentation/git-archimport.html }
 135
 136%files email
 137%defattr(-,root,root)
 138%doc Documentation/*email*.txt
 139%{_bindir}/*email*
 140%{!?_without_docs: %{_mandir}/man1/*email*.1*}
 141%{!?_without_docs: %doc Documentation/*email*.html }
 142
 143%files gui
 144%defattr(-,root,root)
 145%{_bindir}/git-gui
 146%{_bindir}/git-citool
 147# Not Yet...
 148# %{!?_without_docs: %{_mandir}/man1/git-gui.1}
 149# %{!?_without_docs: %doc Documentation/git-gui.html}
 150# %{!?_without_docs: %{_mandir}/man1/git-citool.1}
 151# %{!?_without_docs: %doc Documentation/git-citool.html}
 152
 153%files -n gitk
 154%defattr(-,root,root)
 155%doc Documentation/*gitk*.txt
 156%{_bindir}/*gitk*
 157%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
 158%{!?_without_docs: %doc Documentation/*gitk*.html }
 159
 160%files -n perl-Git -f perl-files
 161%defattr(-,root,root)
 162
 163%files core -f bin-man-doc-files
 164%defattr(-,root,root)
 165%{_datadir}/git-core/
 166%doc README COPYING Documentation/*.txt
 167%{!?_without_docs: %doc Documentation/*.html }
 168
 169%changelog
 170* Mon Feb 13 2007 Nicolas Pitre <nico@cam.org>
 171- Update core package description (Git isn't as stupid as it used to be)
 172
 173* Mon Feb 12 2007 Junio C Hamano <junkio@cox.net>
 174- Add git-gui and git-citool.
 175
 176* Mon Nov 14 2005 H. Peter Anvin <hpa@zytor.com> 0.99.9j-1
 177- Change subpackage names to git-<name> instead of git-core-<name>
 178- Create empty root package which brings in all subpackages
 179- Rename git-tk -> gitk
 180
 181* Thu Nov 10 2005 Chris Wright <chrisw@osdl.org> 0.99.9g-1
 182- zlib dependency fix
 183- Minor cleanups from split
 184- Move arch import to separate package as well
 185
 186* Tue Sep 27 2005 Jim Radford <radford@blackbean.org>
 187- Move programs with non-standard dependencies (svn, cvs, email)
 188  into separate packages
 189
 190* Tue Sep 27 2005 H. Peter Anvin <hpa@zytor.com>
 191- parallelize build
 192- COPTS -> CFLAGS
 193
 194* Fri Sep 16 2005 Chris Wright <chrisw@osdl.org> 0.99.6-1
 195- update to 0.99.6
 196
 197* Fri Sep 16 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
 198- Linus noticed that less is required, added to the dependencies
 199
 200* Sun Sep 11 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
 201- Updated dependencies
 202- Don't assume manpages are gzipped
 203
 204* Thu Aug 18 2005 Chris Wright <chrisw@osdl.org> 0.99.4-4
 205- drop sh_utils, sh-utils, diffutils, mktemp, and openssl Requires
 206- use RPM_OPT_FLAGS in spec file, drop patch0
 207
 208* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3
 209- use dist tag to differentiate between branches
 210- use rpm optflags by default (patch0)
 211- own %{_datadir}/git-core/
 212
 213* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
 214- update spec file to fix Buildroot, Requires, and drop Vendor
 215
 216* Sun Aug 07 2005 Horst H. von Brand <vonbrand@inf.utfsm.cl>
 217- Redid the description
 218- Cut overlong make line, loosened changelog a bit
 219- I think Junio (or perhaps OSDL?) should be vendor...
 220
 221* Thu Jul 14 2005 Eric Biederman <ebiederm@xmission.com>
 222- Add the man pages, and the --without docs build option
 223
 224* Wed Jul 7 2005 Chris Wright <chris@osdl.org>
 225- initial git spec file