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