%define libname %mklibname git Summary: Global Information Tracker Name: git Epoch: 1 Version: 1.6.2.5 %define subrel 2 Release: %mkrel 0 Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2 Source1: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2.sign Source2: gitweb.conf Patch0: git-1.6.2.5-daemon-extra-args.patch Patch1: git-1.6.2.5-CVE-2010-2542.diff License: GPLv2 Group: Development/Other Url: http://git-scm.com/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot BuildRequires: openssl-devel BuildRequires: zlib-devel BuildRequires: curl-devel BuildRequires: expat-devel BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: dos2unix BuildRequires: perl-CGI Requires: git-core = %{epoch}:%{version} Requires: gitk = %{epoch}:%{version} Requires: git-svn = %{epoch}:%{version} Suggests: git-cvs = %{epoch}:%{version} Requires: git-email = %{epoch}:%{version} Suggests: git-arch = %{epoch}:%{version} Suggests: git-core-oldies = %{epoch}:%{version} Obsoletes: linus-git < 1.5.4.3-2 Provides: linus-git %description This is a stupid (but extremely fast) directory content manager. It doesn't do a whole lot, but what it _does_ do is track directory contents efficiently. It is intended to be the base of an efficient, distributed source code management system. This package includes rudimentary tools that can be used as a SCM, but you should look elsewhere for tools for ordinary humans layered on top of this. This is a dummy package which brings in all subpackages. %package -n git-core Summary: Global Information Tracker Group: Development/Other Requires: diffutils Requires: rsync Requires: less Requires: openssh-clients Conflicts: git < 4.3.20-15 Obsoletes: gitcompletion Provides: gitcompletion %description -n git-core This is a stupid (but extremely fast) directory content manager. It doesn't do a whole lot, but what it _does_ do is track directory contents efficiently. It is intended to be the base of an efficient, distributed source code management system. This package includes rudimentary tools that can be used as a SCM, but you should look elsewhere for tools for ordinary humans layered on top of this. This are the core tools with minimal dependencies. You may want to install subversion, cpsps and/or tla to import repositories from other VCS. %package -n gitk Summary: Git revision tree visualiser Group: Development/Other Requires: git-core = %{epoch}:%{version} Requires: tk >= 8.4 Requires: tcl >= 8.4 %description -n gitk Git revision tree visualiser. %package -n gitview Summary: Git graphical revision tree visualiser Group: Development/Other Requires: git-core = %{epoch}:%{version} Requires: python-cairo Requires: pygtk2.0 Requires: python-gtksourceview %description -n gitview Git graphical revision tree visualiser. %package -n %libname-devel Summary: Git development files Group: Development/Other Provides: git-devel = %version-%release %description -n %libname-devel Development files for git. %package -n git-svn Summary: Git tools for importing Subversion repositories Group: Development/Other Requires: git-core = %{epoch}:%{version}-%{release}, subversion %description -n git-svn Git tools for importing Subversion repositories. %package -n git-cvs Summary: Git tools for importing CVS repositories Group: Development/Other Requires: git-core = %{epoch}:%{version}-%{release} Suggests: cvs, cvsps %description -n git-cvs Git tools for importing CVS repositories. %package -n git-arch Summary: Git tools for importing Arch repositories Group: Development/Other Requires: git-core = %{epoch}:%{version}-%{release} Suggests: tla %description -n git-arch Git tools for importing Arch repositories. %package -n git-email Summary: Git tools for sending email Group: Development/Other Requires: git-core = %{epoch}:%{version}-%{release} %description -n git-email Git tools for sending email. %package -n perl-Git Summary: Perl interface to Git Group: Development/Perl Requires: git-core = %{epoch}:%{version}-%{release} %description -n perl-Git Perl interface to Git %package -n git-core-oldies Summary: Git obsolete commands, bound to extinction Group: Development/Other Requires: git-core = %{epoch}:%{version}-%{release} %description -n git-core-oldies Git obsolete commands, bound to extinction %package -n gitweb Summary: cgi-bin script for browse a git repository with web browser Group: System/Servers Requires: git-core = %{epoch}:%{version}-%{release} %description -n gitweb cgi-bin script for browse a git repository with web browser. %prep %setup -q -n git-%{version} %patch0 -p1 -b .CVE-2009-2108 %patch1 -p0 -b .CVE-2010-2542 # remove borring file rm -f Documentation/.gitignore # prefix gitweb css/png files with /gitweb perl -pi -e 's!^(GITWEB_CSS|GITWEB_LOGO|GITWEB_FAVICON) = !$1 = /gitweb/!' Makefile %build # same flags and prefix must be passed for make test too %define git_make_params prefix=%{_prefix} gitexecdir=%{_libdir}/git-core CFLAGS="$RPM_OPT_FLAGS" GITWEB_CONFIG=%{_sysconfdir}/gitweb.conf DOCBOOK_XSL_172=1 MANPAGE_XSL=callouts.xsl %make %git_make_params all doc gitweb/gitweb.cgi # convert end of line to make rpmlint happy dos2unix Documentation/*.html # Produce RelNotes.txt.gz # protect from it ever coming into existence from upstream (should be preferred) cd Documentation find . -name RelNotes.\* | grep -q RelNotes\\. 2>/dev/null && exit 1 # sed trick changes "-x.y.z.txt" to "-x.y.z.0.txt" for ordering, then undoes it relnotesls="`find . -name 'RelNotes-*' | sed 's/\(-[0-9]\.[0-9]\.[0-9]\)\.txt/\1.0.txt/' | sort -nr | sed 's/\(-[0-9]\.[0-9]\.[0-9]\)\.0\.txt/\1.txt/'`" # use awk to print a newline before each RelNotes header awk 'FNR == 1 { print "" } { print }' $relnotesls | gzip -9c >RelNotes.txt.gz %install rm -rf $RPM_BUILD_ROOT mkdir -p $RPM_BUILD_ROOT%{_bindir} %makeinstall_std prefix=%{_prefix} gitexecdir=%{_libdir}/git-core CFLAGS="$RPM_OPT_FLAGS" make install-doc prefix=%{_prefix} gitexecdir=%{_libdir}/git-core DESTDIR=$RPM_BUILD_ROOT install -m 755 contrib/gitview/gitview %buildroot%{_bindir} mkdir -p %{buildroot}%{_includedir}/git cp *.h %{buildroot}%{_includedir}/git mkdir -p %{buildroot}%{_libdir} install -m 644 libgit.a %buildroot%{_libdir}/libgit.a mv %{buildroot}/%{_prefix}/lib/perl5/site_perl %{buildroot}/%{_prefix}/lib/perl5/vendor_perl rm -f %{buildroot}/%{perl_vendorlib}/Error.pm mkdir -p %{buildroot}%{_var}/www/cgi-bin/gitweb/ cp gitweb/gitweb.cgi %{buildroot}%{_var}/www/cgi-bin/ mkdir -p %{buildroot}%{_var}/www/gitweb/ cp gitweb/*.css gitweb/*.png %{buildroot}%{_var}/www/gitweb mkdir -p %{buildroot}%{_sysconfdir} install -m644 %{SOURCE2} %{buildroot}%{_sysconfdir}/gitweb.conf # apache configuration mkdir -p %{buildroot}%{_webappconfdir} cat > %{buildroot}%{_webappconfdir}/gitweb.conf <<EOF # gitweb configuration Alias /gitweb %{_var}/www/gitweb <Directory %{_var}/www/gitweb> Allow from all </Directory> EOF # fix .sp in man files find %{buildroot}/%{_mandir} -type f | xargs perl -e 's/\.sp$/\n\.sp/g' -pi # emacs VC backend: mkdir -p %{buildroot}{%_datadir/emacs/site-lisp,/etc/emacs/site-start.d} install -m 644 contrib/emacs/*.el %{buildroot}%_datadir/emacs/site-lisp cat >%{buildroot}/etc/emacs/site-start.d/vc_git.el <<EOF (add-to-list 'vc-handled-backends 'GIT) EOF # install bash-completion file mkdir -p %{buildroot}%_sysconfdir/bash_completion.d install -m644 contrib/completion/git-completion.bash %{buildroot}%_sysconfdir/bash_completion.d/ %check LC_ALL=C %make %git_make_params test %clean rm -rf $RPM_BUILD_ROOT %post -n gitweb %{_post_webapp} %postun -n gitweb %{_postun_webapp} %files # no file in the main package %files -n git-core %defattr(-,root,root,0755) /etc/emacs/site-start.d/* /etc/bash_completion.d/* %_datadir/emacs/site-lisp/* %{_bindir}/git %{_bindir}/git-* %{_libdir}/git-core %exclude %{_libdir}/git-core/*svn* %exclude %{_libdir}/git-core/*cvs* %exclude %{_libdir}/git-core/git-archimport %exclude %{_libdir}/git-core/*email* # %exclude %{_bindir}/git-merge-recursive-old %{_datadir}/git-core %{_datadir}/git-gui # %exclude %{_datadir}/git-core/python %{_mandir}/*/git-* %{_mandir}/*/git.* %{_mandir}/*/gitattributes* %{_mandir}/*/gitignore* %{_mandir}/*/gitmodules* %{_mandir}/*/gitcli* %{_mandir}/*/githooks* %{_mandir}/*/gitrepository* %{_mandir}/*/*tutorial* %{_mandir}/*/*glossary* %{_mandir}/*/gitdiffcore* %{_mandir}/*/gitworkflows* %exclude %{_mandir}/man1/*svn*.1* %exclude %{_mandir}/man1/*cvs*.1* %exclude %{_mandir}/man7/*cvs*.7* %exclude %{_mandir}/man1/*email*.1* %exclude %{_mandir}/man1/git-archimport.1* %doc README Documentation/*.html Documentation/howto Documentation/technical Documentation/RelNotes.txt.gz %files -n gitk %defattr(-,root,root,0755) %{_bindir}/gitk %{_mandir}/*/gitk* %{_datadir}/gitk %doc README %files -n gitview %defattr(-,root,root,0755) %doc contrib/gitview/gitview.txt %{_bindir}/gitview %files -n %{libname}-devel %defattr(-,root,root,0755) %{_includedir}/git %{_libdir}/libgit.a %files -n git-svn %defattr(-,root,root) %{_libdir}/git-core/*svn* %{_mandir}/man1/*svn*.1* # %doc Documentation/*svn*.txt # %doc Documentation/*svn*.html %files -n git-cvs %defattr(-,root,root) %{_libdir}/git-core/*cvs* %{_mandir}/man1/*cvs*.1* %{_mandir}/man7/*cvs*.7* # %doc Documentation/*git-cvs*.txt # %doc Documentation/*git-cvs*.html %files -n git-arch %defattr(-,root,root) %{_libdir}/git-core/git-archimport %{_mandir}/man1/git-archimport.1* # %doc Documentation/git-archimport.txt # %doc Documentation/git-archimport.html %files -n git-email %defattr(-,root,root) %{_libdir}/git-core/*email* %{_mandir}/man1/*email*.1* # %doc Documentation/*email*.txt # %doc Documentation/*email*.html %files -n perl-Git %defattr(-,root,root) %{perl_vendorlib}/* %{_mandir}/man3/* # /usr/lib/perl5/site_perl/5.8.8/Git.pm # /usr/local/share/man/man3/Git.3pm %files -n git-core-oldies %defattr(-,root,root,0755) # %{_bindir}/git-merge-recursive-old # %{_datadir}/git-core/python %files -n gitweb %defattr(-,root,root,0755) %doc gitweb/INSTALL gitweb/README %config(noreplace) %{_sysconfdir}/gitweb.conf %config(noreplace) %{_webappconfdir}/gitweb.conf %{_var}/www/cgi-bin/gitweb.cgi %{_var}/www/gitweb %changelog * Sun Oct 03 2010 Oden Eriksson <oeriksson@mandriva.com> 1:1.6.2.5-0.2mdv2009.1 - P1: security fix for CVE-2010-2542 * Fri Jul 17 2009 Oden Eriksson <oeriksson@mandriva.com> 1:1.6.2.5-0.1mdv2009.1 - 1.6.2.5 - P0: security fix for CVE-2009-2108 (fedora) * Thu Apr 23 2009 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.2.4-3mdv2009.1 + Revision: 368847 - Do not hard depend on git-cvs and git-arch - replace hard dependencies on tla / cvs / cvsps for git-arch/git-cvs, use suggests (they are in contrib) * Mon Apr 20 2009 Gustavo De Nardin <gustavodn@mandriva.com> 1:1.6.2.4-2mdv2009.1 + Revision: 368353 - produce a RelNotes.txt.gz with all RelNotes, and include it as doc * Mon Apr 20 2009 Gustavo De Nardin <gustavodn@mandriva.com> 1:1.6.2.4-1mdv2009.1 + Revision: 368245 - new version 1.6.2.4, maintenance branch * Mon Apr 13 2009 Gustavo De Nardin <gustavodn@mandriva.com> 1:1.6.2.3-1mdv2009.1 + Revision: 366818 - new version 1.6.2.3, maintenance branch * Sat Apr 04 2009 Gustavo De Nardin <gustavodn@mandriva.com> 1:1.6.2.2-1mdv2009.1 + Revision: 363961 - new version 1.6.2.2, maintenance branch - use same parameters for 'make all' and 'make test', otherwise git is all rebuilt for 'make test' * Mon Mar 16 2009 Frederik Himpe <fhimpe@mandriva.org> 1:1.6.2.1-1mdv2009.1 + Revision: 355717 - update to new version 1.6.2.1 * Wed Mar 04 2009 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 1:1.6.2-1mdv2009.1 + Revision: 348469 - Updated to version 1.6.2 - Reenable make test. * Mon Feb 09 2009 Andrey Borzenkov <arvidjaar@mandriva.org> 1:1.6.1.3-2mdv2009.1 + Revision: 338927 - fix manpage generation * define DOCBOOK_XSL_172 to avoid broken "unfix" for older docbook * force MANPAGE_XSL=callouts.xsl because manpage-1.72.xsl breaks manpages in different place * Sun Feb 08 2009 Frederik Himpe <fhimpe@mandriva.org> 1:1.6.1.3-1mdv2009.1 + Revision: 338501 - update to new version 1.6.1.3 * Fri Jan 30 2009 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.1.2-1mdv2009.1 + Revision: 335599 - Release 1.6.1.2 - Release 1.6.1.2 * Thu Jan 15 2009 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.1-1mdv2009.1 + Revision: 329922 - Add missing manpage - Release 1.6.1 - Update url - disable check, fails with svn 1.5.5 * Fri Dec 19 2008 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.0.5-1mdv2009.1 + Revision: 316134 - Release 1.6.0.5 * Thu Nov 13 2008 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.0.4-1mdv2009.1 + Revision: 302714 - Release 1.6.0.4 * Sat Sep 13 2008 Frederik Himpe <fhimpe@mandriva.org> 1:1.6.0.2-1mdv2009.0 + Revision: 284550 - Update to new bugfix release 1.6.0.2 * Thu Aug 28 2008 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.0.1-2mdv2009.0 + Revision: 276802 - Do no install vim completion file, it is now provided by vim-common >= 7.2 * Mon Aug 25 2008 Frederik Himpe <fhimpe@mandriva.org> 1:1.6.0.1-1mdv2009.0 + Revision: 276034 - Update to version 1.6.0.1 * Thu Aug 21 2008 Frederic Crozat <fcrozat@mandriva.com> 1:1.6.0-1mdv2009.0 + Revision: 274672 - Release 1.6.0 * Sun Aug 10 2008 Olivier Blin <oblin@mandriva.com> 1:1.5.6.5-2mdv2009.0 + Revision: 270238 - rebuild because some binary packages have been eaten by the BogeySystem * Fri Aug 08 2008 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 1:1.5.6.5-1mdv2009.0 + Revision: 269053 - Updated to version 1.5.6.5 * Tue Jul 22 2008 Frederic Crozat <fcrozat@mandriva.com> 1:1.5.6.4-1mdv2009.0 + Revision: 240125 - Release 1.5.6.4 - obsolete gitcompletion package * Mon Jun 23 2008 Frederic Crozat <fcrozat@mandriva.com> 1:1.5.6-1mdv2009.0 + Revision: 227982 - Release 1.5.6 - Clean requirement * Thu Jun 12 2008 Anssi Hannula <anssi@mandriva.org> 1:1.5.4.3-4mdv2009.0 + Revision: 218614 - fix versioned requires * Wed Jun 11 2008 Anssi Hannula <anssi@mandriva.org> 1:1.5.4.3-3mdv2009.0 + Revision: 218150 - fix obsoletes versioning - remove conflict with old version of itself, that is implicit + Paulo Andrade <pcpa@mandriva.com.br> - Rename linus-git to git, to match package name. - Besides renaming to git, also "provides" linus-git. - Rename spec file. - Rename linus-git package to just git, and based on changes made to original git package, allow both to be installed. + Emmanuel Andry <eandry@mandriva.org> - gitk requires tcl (#37661) * Mon Feb 25 2008 Frederik Himpe <fhimpe@mandriva.org> 1.5.4.3-1mdv2008.1 + Revision: 174935 - New upstream version * Mon Feb 18 2008 Frederik Himpe <fhimpe@mandriva.org> 1.5.4.2-1mdv2008.1 + Revision: 172006 - New upstream version - New license policy * Mon Feb 11 2008 Frederic Crozat <fcrozat@mandriva.com> 1.5.4.1-1mdv2008.1 + Revision: 165231 - Release 1.5.4.1 * Mon Jan 21 2008 Thierry Vignaud <tvignaud@mandriva.com> 1.5.3.5-7mdv2008.1 + Revision: 155646 - rebuild for new perl - kill re-definition of %%buildroot on Pixel's request + Pixel <pixel@mandriva.com> - rebuild for perl-5.10.0 + Olivier Blin <oblin@mandriva.com> - restore BuildRoot * Mon Nov 19 2007 Olivier Blin <oblin@mandriva.com> 1.5.3.5-4mdv2008.1 + Revision: 110190 - do not require gitview (and thus pygtk2) in main package * Mon Nov 12 2007 Thierry Vignaud <tvignaud@mandriva.com> 1.5.3.5-3mdv2008.1 + Revision: 108187 - really rebuild for lzma permissions issue (#35309) * Tue Nov 06 2007 Thierry Vignaud <tvignaud@mandriva.com> 1.5.3.5-2mdv2008.1 + Revision: 106501 - rebuild for lzma permissions issue (#35309) * Thu Nov 01 2007 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 1.5.3.5-1mdv2008.1 + Revision: 104693 - Updated to version 1.5.3.5. * Mon Sep 24 2007 Arnaud Patard <apatard@mandriva.com> 1.5.3.2-1mdv2008.0 + Revision: 92674 - Update to 1.5.3.2 - Add perl-CGI as buildreq. Needed for gitweb tests. + Frederic Crozat <fcrozat@mandriva.com> - Release 1.5.3.1 * Tue Aug 21 2007 Gaëtan Lehmann <glehmann@mandriva.org> 1.5.2.5-1mdv2008.0 + Revision: 68256 - 1.5.2.5 + Gustavo De Nardin <gustavodn@mandriva.com> - don't need rcs anymore * Mon Jul 30 2007 Gustavo De Nardin <gustavodn@mandriva.com> 1.5.2.4-2mdv2008.0 + Revision: 56649 - added Requires: curl for git-core, as at least git-ls-remote uses it * Tue Jul 24 2007 Gaëtan Lehmann <glehmann@mandriva.org> 1.5.2.4-1mdv2008.0 + Revision: 55071 - 1.5.2.4 (but still don't fix buil problem with last docbook) - 1.5.2.3 * Thu Jun 28 2007 Herton Ronaldo Krzesinski <herton@mandriva.com.br> 1.5.2.2-1mdv2008.0 + Revision: 45444 - Fixed some group categories that doesn't exist in our rpmlint. - Updated to version 1.5.2.2. * Sun Jun 10 2007 Gaëtan Lehmann <glehmann@mandriva.org> 1.5.2.1-1mdv2008.0 + Revision: 37919 - 1.5.2.1 * Fri Jun 01 2007 Olivier Blin <oblin@mandriva.com> 1.5.2-3mdv2008.0 + Revision: 33693 - install css/png files in /var/www/gitweb (they were unusable in cgi-bin directory) - pass prefix and CFLAGS to install/test rules (so that make does not rebuild all files) * Thu May 24 2007 Frederic Crozat <fcrozat@mandriva.com> 1.5.2-2mdv2008.0 + Revision: 30779 - Create a gitweb package and add a default config file for it too * Wed May 23 2007 Frederic Crozat <fcrozat@mandriva.com> 1.5.2-1mdv2008.0 + Revision: 30074 - Release 1.5.2 * Fri May 11 2007 Frederic Crozat <fcrozat@mandriva.com> 1.5.1.4-2mdv2008.0 + Revision: 26273 - install bash_completion and vim syntax files * Wed May 09 2007 Nicolas Lécureuil <neoclust@mandriva.org> 1.5.1.4-1mdv2008.0 + Revision: 25424 - New version 1.5.1.4 * Wed Apr 25 2007 Frederic Crozat <fcrozat@mandriva.com> 1.5.1.2-1mdv2008.0 + Revision: 18248 - Release 1.5.1.2 * Wed Apr 25 2007 Frederic Crozat <fcrozat@mandriva.com> 1.5.1-1mdv2008.0 + Revision: 18240 - Release 1.5.1 * Sat Nov 04 2006 Stefan van der Eijk <stefan@mandriva.org> 4.3.20-13mdv2007.0 + Revision: 76519 - rebuild for signature - rebuild - Import git * Wed Sep 20 2006 Nicolas Lécureuil <neoclust@mandriva.org> 4.3.20-14mdv2007.0 - Use mkrel - Rebuild * Sat Dec 31 2005 Mandriva Linux Team <http://www.mandrivaexpert.com/> 4.3.20-10mdk - Rebuild