# # spec file for package git (Version 1.6.0.2) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: git BuildRequires: asciidoc curl-devel fdupes libopenssl-devel sgml-skel xmlto Version: 1.6.0.2 Release: 3 Summary: Fast, scalable, distributed revision control system License: GPL v2 or later Group: Development/Tools/Version Control Url: http://git.or.cz Source0: http://kernel.org/pub/software/scm/git/%name-%{version}.tar.bz2 Source1: apache2-gitweb.conf Source2: sysconfig.git-daemon Source3: git-daemon.init Source4: git.xinetd Patch: asciidoc.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build Requires: git-core = %{version} Recommends: git-svn git-cvs git-arch git-email gitk git-gui git-web Suggests: git-daemon %description Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. This package itself only provides the README of git but with the packages it requires, it brings you a complete Git environment including GTK and email interfaces and tools for importing source code repositories from other revision control systems such as subversion, CVS, and GNU arch. Authors: -------- Linus Torvalds %package core License: GPL v2 or later Summary: Core git tools Group: Development/Tools/Version Control Requires: rsync, less, openssh Requires: perl-base %description core Git is a fast, scalable, distributed revision control system with an unusually rich command set that provides both high-level operations and full access to internals. These are the core tools with minimal dependencies. Authors: -------- Linus Torvalds Junio C Hamano %package svn License: GPL v2 or later Summary: Git tools for importing Subversion repositories Group: Development/Tools/Version Control Requires: git-core = %{version}, subversion Requires: subversion-perl %description svn Tools for importing Subversion repositories to the Git version control system. Authors: -------- Linus Torvalds Junio C Hamano %package cvs License: GPL v2 or later Summary: Git tools for importing CVS repositories Group: Development/Tools/Version Control Requires: git-core = %{version}, cvs, cvsps, perl-DBD-SQLite %description cvs Tools for importing CVS repositories to the Git version control system. Authors: -------- Linus Torvalds Junio C Hamano %package arch License: GPL v2 or later Summary: git-arch - Git tools for importing Arch repositories Group: Development/Tools/Version Control Requires: git-core = %{version}, tla %description arch Tools for importing GNU Arch repositories to the GIT version control system. Authors: -------- Linus Torvalds Junio C Hamano %package email License: GPL v2 or later Summary: Git tools for sending email Group: Development/Tools/Version Control Requires: git-core = %{version} %description email Email interface for the GIT version control system. Authors: -------- Linus Torvalds Junio C Hamano %package daemon License: GPL v2 or later Summary: Simple Server for Git Repositories Group: Development/Tools/Version Control Requires: git-core = %{version} PreReq: /usr/sbin/useradd %fillup_prereq %insserv_prereq %description daemon A really simple TCP git daemon. In the default configuration it allows read only access to repositories in /srv/git/ that contain the 'git-daemon-export-ok' file. Authors: -------- Linus Torvalds %package -n gitk License: GPL v2 or later Summary: Git revision tree visualiser Group: Development/Tools/Version Control Requires: git-core = %{version}, tk >= 8.4 Supplements: packageand(git-core:tk) %description -n gitk Grapical tool for visualization of revision trees of projects maintained in the Git version control system. It name gitk indicates that it's written using the Tk Widget set. A simple Tk based graphical interface for common Git operations is found in the package git-gui. Authors: -------- Linus Torvalds Junio C Hamano %package gui License: GPL v2 or later Summary: Grapical tool for common git operations Group: Development/Tools/Version Control Requires: git-core = %{version}, tk >= 8.4 Supplements: packageand(git-core:tk) %description gui A Tcl/Tk based graphical user interface to Git. git-gui focuses on allowing users to make changes to their repository by making new commits, amending existing ones, creating branches, performing local merges, and fetching/pushing to remote repositories. Unlike gitk, git-gui focuses on commit generation and single file annotation, and does not show project history. It does however supply menu actions to start a gitk session from within git-gui. Authors: -------- Linus Torvalds %package web License: GPL v2 or later Summary: Git Web Interface Group: Development/Tools/Version Control Requires: git-core = %{version} Supplements: packageand(git-core:apache2) %description web CGI script that allows browsing git repositories via web interface. The apache2 configuration contained in this package installs a virtual directory /git/ that calls the cgi script. Authors: -------- Linus Torvalds %prep %setup -q %patch -p1 %build make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \ GITWEB_CONFIG="/etc/gitweb.conf" \ GITWEB_PROJECTROOT="/srv/git" \ WITH_OWN_SUBPROCESS_PY=YesPlease NO_EXPAT=1 \ V=1 \ prefix=%{_prefix} mandir=%{_mandir} \ gitexecdir=%{_libdir}/git \ all %{!?_without_docs: doc} %{?jobs:-j %jobs} %install make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT WITH_OWN_SUBPROCESS_PY=YesPlease NO_EXPAT=1 \ prefix=%{_prefix} mandir=%{_mandir} \ gitexecdir=%{_libdir}/git \ install %{!?_without_docs: install-doc} ### git-web cp gitweb/INSTALL INSTALL.gitweb cp gitweb/README README.gitweb install -d ${RPM_BUILD_ROOT}/usr/share/git-web install -d ${RPM_BUILD_ROOT}/etc/apache2/conf.d install -m 755 gitweb/gitweb.cgi $RPM_BUILD_ROOT/usr/share/git-web/gitweb.cgi install -m 644 %{SOURCE1} $RPM_BUILD_ROOT/etc/apache2/conf.d/gitweb.conf for i in git-favicon.png git-logo.png gitweb.css; do install -m 644 gitweb/$i $RPM_BUILD_ROOT/usr/share/git-web done ### git-daemon install -d -m 755 $RPM_BUILD_ROOT/etc/init.d install -m 755 %{SOURCE3} $RPM_BUILD_ROOT/etc/init.d/git-daemon install -d -m 755 $RPM_BUILD_ROOT%{_sbindir} ln -s ../../etc/init.d/git-daemon $RPM_BUILD_ROOT%{_sbindir}/rcgit-daemon install -d -m 755 $RPM_BUILD_ROOT/var/adm/fillup-templates install -m 644 %{SOURCE2} $RPM_BUILD_ROOT/var/adm/fillup-templates/sysconfig.git-daemon install -d -m 755 $RPM_BUILD_ROOT/srv/git install -d -m 755 $RPM_BUILD_ROOT/etc/xinetd.d install -m 644 %{S:4} $RPM_BUILD_ROOT/etc/xinetd.d/git ### (find $RPM_BUILD_ROOT%{_libdir}/git -type f | grep -vE "archimport|svn|cvs|email|gitk|daemon|gui" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files (find $RPM_BUILD_ROOT%{_mandir} $RPM_BUILD_ROOT/Documentation -type f | grep -vE "archimport|svn|git-cvs|email|gitk|daemon|gui" | sed -e s@^$RPM_BUILD_ROOT@@ -e 's/$/*/' ) >> bin-man-doc-files ( pushd perl perl Makefile.PL make -f perl.mak DESTDIR=${RPM_BUILD_ROOT} install_vendor ) rm -rf ${RPM_BUILD_ROOT}/usr/lib/perl5/site_perl %perl_process_packlist find $RPM_BUILD_ROOT/%_mandir -type f -print0 | xargs -0 chmod 644 install -m 644 -D contrib/completion/git-completion.bash $RPM_BUILD_ROOT/etc/bash_completion.d/git.sh # use symlinks instead of hardlinks in sub-commands %fdupes -s $RPM_BUILD_ROOT %clean rm -rf $RPM_BUILD_ROOT %pre daemon if ! /usr/bin/getent passwd git-daemon >/dev/null; then /usr/sbin/useradd -r -d /var/lib/empty -s /bin/false -c "git daemon" -g nogroup git-daemon || : fi %post daemon %{fillup_and_insserv -n git-daemon} %postun daemon %{insserv_cleanup} %preun daemon %stop_on_removal %files %defattr(-,root,root) %doc README %files svn %defattr(-,root,root) %{_libdir}/git/*svn* %doc Documentation/*svn*.txt %{!?_without_docs: %{_mandir}/man1/*svn*.1*} %{!?_without_docs: %doc Documentation/*svn*.html } %files cvs %defattr(-,root,root) %doc Documentation/*git-cvs*.txt %{_libdir}/git/*cvs* %{!?_without_docs: %{_mandir}/man1/*cvs*.1*} %{!?_without_docs: %doc Documentation/*git-cvs*.html } %files arch %defattr(-,root,root) %doc Documentation/git-archimport.txt %{_libdir}/git/git-archimport %{!?_without_docs: %{_mandir}/man1/git-archimport.1*} %{!?_without_docs: %doc Documentation/git-archimport.html } %files email %defattr(-,root,root) %doc Documentation/*email*.txt %{_libdir}/git/*email* %{!?_without_docs: %{_mandir}/man1/*email*.1*} %{!?_without_docs: %doc Documentation/*email*.html } %files daemon %defattr(-,root,root) %doc Documentation/*daemon*.txt %{_libdir}/git/*daemon* /etc/init.d/git-daemon %{_sbindir}/rcgit-daemon %dir /srv/git /var/adm/fillup-templates/sysconfig.git-daemon %{!?_without_docs: %{_mandir}/man1/*daemon*.1*} %{!?_without_docs: %doc Documentation/*daemon*.html } %config(noreplace) /etc/xinetd.d/git %files -n gitk %defattr(-,root,root) %doc Documentation/*gitk*.txt %{_bindir}/gitk /usr/share/gitk %{!?_without_docs: %{_mandir}/man1/*gitk*.1*} %{!?_without_docs: %doc Documentation/*gitk*.html } %files gui %defattr(-,root,root) %doc Documentation/*gui*.txt %{_libdir}/git/git-gui /usr/share/git-gui %{!?_without_docs: %{_mandir}/man1/*gui*.1*} %{!?_without_docs: %doc Documentation/*gui*.html } %files web %defattr(-,root,root) %doc README.gitweb INSTALL.gitweb %dir /etc/apache2 %dir /etc/apache2/conf.d %config(noreplace) /etc/apache2/conf.d/gitweb.conf /usr/share/git-web %files core -f bin-man-doc-files %defattr(-,root,root) %{_bindir}/git %{_bindir}/git-* %{_datadir}/git-core/ %dir %{_libdir}/git %doc README COPYING Documentation/*.txt %{!?_without_docs: %doc Documentation/*.html } /var/adm/perl-modules/%{name} %{perl_vendorlib}/Error.pm %{perl_vendorlib}/Git.pm %{perl_vendorarch}/auto/Git/ /etc/bash_completion.d/git.sh %changelog * Mon Oct 06 2008 tiwai@suse.de - fix git-daemon init script to start (bnc#432610) * Fri Sep 26 2008 schwab@suse.de - Fix manual pages. * Thu Sep 25 2008 tiwai@suse.de - updated to 1.6.0.2: Mostly small bug fixes, see details in http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.0.2.txt * Thu Sep 25 2008 tiwai@suse.de - fix file selections of git-core package - use symlinks for git sub-commands instead of hardlinks to make build system happy * Tue Sep 09 2008 tiwai@suse.de - updated to 1.6.0: * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.0.txt - updated to 1.6.0.1: * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.6.0.1.txt - install git subcommands now to libdir/git users have to set up properly if they want to keep the old style (refer git --execpath) * Tue Sep 09 2008 lnussel@suse.de - split off gui and web subpackages * Mon Aug 18 2008 schwab@suse.de - Fix name of completions file. * Tue Aug 12 2008 tiwai@suse.de - updated to 1.5.6.5: * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.5.txt * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.4.txt * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.3.txt * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.2.txt * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.1.txt * Wed Aug 06 2008 anosek@suse.cz - fixed Add git xinetd.d file for ability to use yast2 (bnc#398361) - created file git.xinetd to run git under xinetd daemon * Wed Jun 25 2008 dmueller@suse.de - update to 1.5.6: * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.6.txt * Mon Jun 16 2008 lnussel@suse.de - use separate package for git-daemon (bnc#382710) - add user and install init script for git-daemon * Tue May 20 2008 lnussel@suse.de - install gitweb icons, style sheet and README (bnc#359882) - build using V=1 so use of cflags can be verified by brp scripts - fix build using --without docs * Mon Apr 07 2008 dmueller@suse.de - update to 1.5.4.5: * http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.5.txt * Tue Mar 18 2008 dmueller@suse.de - update to 1.5.4.4: * git svnimport was removed in favor of git svn * git runstatus has been removed * changes are available under http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.txt http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.1.txt http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.2.txt http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.3.txt http://www.kernel.org/pub/software/scm/git/docs/RelNotes-1.5.4.4.txt * Mon Jan 28 2008 mmarek@suse.de - added libopenssl-devel to BuildRequires to fix build * Wed Jan 09 2008 schwab@suse.de - Update to version 1.5.3.8. * Some documentation used "email.com" as an example domain. * git-svn fix to handle funky branch and project names going over http/https correctly. * git-svn fix to tone down a needlessly alarming warning message. * git-clone did not correctly report errors while fetching over http. * git-send-email added redundant Message-Id: header to the outgoing e-mail when the patch text already had one. * a read-beyond-end-of-buffer bug in configuration file updater was fixed. * git-grep used to show the same hit repeatedly for unmerged paths. * After amending the patch title in "git-am -i", the command did not report the patch it applied with the updated title. * Tue Jan 08 2008 crrodriguez@suse.de - git-cvsserver was unusable, it produced a perl failed-compilation error due to missing dependency on perl-DBD-Sqlite. - update to version 1.5.3.7 * git-send-email added 8-bit contents to the payload without marking it as 8-bit in a CTE header. * "git-bundle create a.bndl HEAD" dereferenced the symref and did not record the ref as 'HEAD'; this prevented a bundle from being used as a normal source of git-clone. * The code to reject nonsense command line of the form "git-commit -a paths..." and "git-commit --interactive paths..." were broken. * Adding a signature that is not ASCII-only to an original commit that is ASCII-only would make the result non-ASCII. "git-format-patch -s" did not mark such a message correctly with MIME encoding header. * git-add sometimes did not mark the resulting index entry stat-clean. This affected only cases when adding the contents with the same length as the previously staged contents, and the previous staging made the index entry "racily clean". * git-commit did not honor GIT_INDEX_FILE the user had in the environment. * When checking out a revision, git-checkout did not report where the updated HEAD is if you happened to have a file called HEAD in the work tree. * "git-rev-list --objects" mishandled a tree that points at a submodule. * "git cvsimport" was not ready for packed refs that "git gc" can produce and gave incorrect results. * Many scripted Porcelains were confused when you happened to have a file called "HEAD" in your work tree. * Wed Nov 28 2007 dmueller@suse.de - update to 1.5.3.6: * various smaller bugfixes - remove requires on release (#305826) - install bash completion (#336848) * Tue Oct 09 2007 dmueller@suse.de - update to 1.5.3.4: * submodule support * many new features and bugfixes * Tue Aug 07 2007 dmueller@suse.de - update to 1.5.2.4: * "git checkout" failed to switch back and forth between branches, one of which has "frotz -> xyzzy" symlink and file "xyzzy/filfre", while the other one has a file "frotz/filfre". * "git prune" used to segfault upon seeing a commit that is referred to by a tree object (aka "subproject"). * "git diff --name-status --no-index" mishandled an added file. * "git apply --reverse --whitespace=warn" still complained about whitespaces that a forward application would have introduced. * Thu Jul 05 2007 dmueller@suse.de - Update to 1.5.2.3: * fix many segfaults with the SVN gateway * various bugfixes * Fri May 18 2007 dmueller@suse.de - Update to 1.5.1.4: * GIT <-> SVN gateway * New porcelain, much improved index handling * git-config * Bare repositories refuse commands that need a working tree * packed ref support * 3-way merges can be done without rcs * python dependency dropped * Sat Nov 18 2006 pbaudis@suse.cz - Fix build failure from previous change (trivial omission) * Fri Nov 17 2006 pbaudis@suse.cz - Fix git-arch package containing git-archive and git-upload-archive [#222074] * Fri Nov 17 2006 pbaudis@suse.cz - Upgrade to git-1.4.3.4 - only few bugfixes, most importantly git-apply wouldn't apply creation/deletion patches * Tue Nov 07 2006 ro@suse.de - fix permissions for manpages * Sun Oct 29 2006 meissner@suse.de - use RPM_OPT_FLAGS also in %%install make * Thu Oct 26 2006 pbaudis@suse.cz - Upgrade to git-1.4.3.3 - bugfixes release * Thu Oct 19 2006 pbaudis@suse.cz - Update to git-1.4.3 - UI improvements, speedups, random new features (e.g. git-daemon name-based virtual hosting support), basic Git.pm - Fixes build failures due to asciidoc incompatibilities * Tue Jul 25 2006 pbaudis@suse.cz - Update to git-1.4.1.1 - includes gitweb, many bugfixes, some commands are converted from shell to C, aliasing support, documentation improvements and so on. - Junio's patch got applied upstream. - Pre-create /srv/git for bare Git repositories hosting. - Install gitweb to /srv/www/cgi-bin pre-configured to look for packages at /srv/git. * Mon May 15 2006 pbaudis@suse.cz - Update to git-core-1.3.1 - git-cvsserver pserver interface, .git/refs/remotes branches support, blame/annotate tools, builtin diff, faster and better rename detection and number of other stuff. - Add Junio's patch for saner handling of symlink refs. This is an important bugfix since without this, it is impossible to bisect behind kernel linux-v2.6.15-g117a93d. - Olaf Hering's cutnpaste patch got applied upstream. * Mon Mar 13 2006 ro@suse.de - change requires from "openssh-clients" to "openssh" (former does not exist) * Fri Mar 10 2006 pbaudis@suse.cz - Add Olaf Hering's patch for easier cut'n'pasting. * Wed Mar 08 2006 pbaudis@suse.cz - Update to git-core 1.2.4. - This is a security fix: there was a buffer overflow when checking out a tree with an insanely long symlink. (No Bugzilla id.) * Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires * Tue Jan 17 2006 pbaudis@suse.cz - Fix the specfile build (no expat and asciidoc, xmlto problems) * Tue Jan 17 2006 pbaudis@suse.cz - Update to git-core 1.1.3. - Modify the specfile so that it looks more like the stock one. - Split bits to subpackages * Sun Dec 04 2005 schwab@suse.de - Fix embedded paths. * Thu Oct 06 2005 schwab@suse.de - Don't build documentation in parallel. * Mon Sep 19 2005 schwab@suse.de - Update to git-core 0.99.7. - Install manpages. * Fri Aug 05 2005 kasievers@suse.de - New version 0.99.3git20050905 rename git to git-core, to match the upstream package name * Sun Jul 03 2005 kasievers@suse.de - New version 0.7git20050703 * Fri Jul 01 2005 kasievers@suse.de - New version 20050630 * Fri Jun 24 2005 kasievers@suse.de - New version 20050624 * Sun Jun 12 2005 kay.sievers@suse.de - New version 20050612 * Thu Jun 02 2005 kay.sievers@suse.de - Split git/Cogito into separate packages - Update git to version 20050602 * Fri May 20 2005 schwab@suse.de - Use RPM_OPT_FLAGS. - Specfile cleanup. * Fri May 20 2005 mmj@suse.de - %%_libdir -> FHS libexec * Fri May 20 2005 skh@suse.de - initial package