############################################################################### # IPFire.org - An Open Source Firewall Solution # # Copyright (C) - IPFire Development Team # ############################################################################### name = git version = 1.8.1 release = 3 groups = Development/Tools url = http://git-scm.com/ license = GPLv2 summary = Fast Version Control System. 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. end source_dl = http://git-core.googlecode.com/files/ build requires asciidoc expat-devel gettext libcurl-devel openssl-devel perl-ExtUtils-MakeMaker perl-devel zlib-devel xmlto end prepare_cmds echo "CFLAGS = %{CFLAGS}" > %{DIR_APP}/config.mak echo "BLK_SHA1 = 1" >> %{DIR_APP}/config.mak echo "NEEDS_CRYPTO_WITH_SSL = 1" >> %{DIR_APP}/config.mak echo "NO_PYTHON = 1" >> %{DIR_APP}/config.mak echo "NO_TCLTK = 1" >> %{DIR_APP}/config.mak echo "ETC_GITCONFIG = /etc/gitconfig" >> %{DIR_APP}/config.mak echo "DESTDIR = %{BUILDROOT}" >> %{DIR_APP}/config.mak echo "INSTALL = install -p" >> %{DIR_APP}/config.mak echo "GITWEB_PROJECTROOT = /var/lib/git" >> %{DIR_APP}/config.mak echo "htmldir = /usr/share/doc/%{thisapp}" >> %{DIR_APP}/config.mak echo "prefix = /usr" >> %{DIR_APP}/config.mak echo "gitwebdir = /var/www/git" >> %{DIR_APP}/config.mak echo "gitexecdir = lib/git-core" >> %{DIR_APP}/config.mak # Remove shebang from bash-completion script. sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash end build make %{PARALLELISMFLAGS} end make_install_targets += INSTALLDIRS=vendor install_cmds # Install man pages. make install-doc DESTDIR=%{BUILDROOT} # Install bash completion file. mkdir -pv %{BUILDROOT}%{sysconfdir}/bash_completion.d install -v -m 644 contrib/completion/git-completion.bash \ %{BUILDROOT}%{sysconfdir}/bash_completion.d/git # Create folder for git-daemon. mkdir -pv %{BUILDROOT}%{sharedstatedir}/git # Create folder for gitweb. mkdir -pv %{BUILDROOT}%{sysconfdir}/httpd/conf.d # Install config files for gitweb. install -pm 0664 %{DIR_SOURCE}/gitweb.conf \ %{BUILDROOT}%{sysconfdir}/gitweb.conf install -pm 0644 %{DIR_SOURCE}/git.conf.httpd \ %{BUILDROOT}%{sysconfdir}/httpd/conf.d/git.conf end end packages # Define %{gitcoredir} to have a more handy name. gitcoredir = %{prefix}/lib/git-core package %{name} requires less openssh-clients rsync /usr/bin/vi end end package %{name}-daemon summary = Git protocol daemon. description The git daemon for supporting git:// access to git repositories. end requires git=%{thisver} end files %{gitcoredir}/git-daemon %{mandir}/man1/git-daemon* %{sharedstatedir}/git end end package %{name}-gitweb arch = noarch summary = Simple web interface to git repositories. description Simple web interface to track changes in git repositories end requires git=%{thisver} end configfiles %{sysconfdir}/gitweb.conf %{sysconfdir}/httpd/conf.d/git.conf end files %{sysconfdir}/gitweb.conf %{sysconfdir}/httpd/conf.d/git.conf %{mandir}/man1/gitweb* %{mandir}/man5/gitweb* %{localstatedir}/www/git end end package %{name}-svn summary = Git tools for importing Subversion repositories. description = %{summary} requires git=%{thisver} subversion end files %{gitcoredir}/*svn* %{mandir}/man1/*svn* end end package %{name}-cvs summary = Git tools for importing CVS repositories. description = %{summary} requires git=%{thisver} end files %{bindir}/git-cvsserver %{gitcoredir}/*cvs* %{mandir}/man1/*cvs* %{mandir}/man7/*cvs* end end package %{name}-p4 arch = noarch summary = Git tools for working with Perforce depots. description = %{summary} requires git=%{thisver} end files %{gitcoredir}/*p4* %{gitcoredir}mergetools/p4merge %{mandir}/man1/*p4* end end package %{name}-email summary = Git tools for sending emails. description = %{summary} requires git=%{thisver} perl-Git=%{thisver} end files %{gitcoredir}/git-send-email %{mandir}/man1/git-send-email* end end package perl-Git arch = noarch summary = Perl interface to Git. description = %{summary} requires git=%{thisver} end files %{mandir}/man3/Git* %{perl_archlib} %{perl_vendorlib}/*.pm %{perl_vendorlib}/Git/*.pm end end package perl-Git-SVN arch = noarch summary = Perl interface to Git::SVN. description = %{summary} requires git=%{thisver} end files %{mandir}/man3/Git::SVN* %{perl_vendorlib}/Git/SVN*.pm %{perl_vendorlib}/Git/SVN/ end end package %{name}-debuginfo template DEBUGINFO end end