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