- Install git-* commands in %{_libexecdir}/git-core, the upstream default

- Remove libcurl from Requires, rpm will pick this up automatically
- Consolidate build/install options in %make_git (Roland McGrath)
- Include DirectoryIndex in gitweb httpd-config (bug 471692)
- Define DOCBOOK_XSL_172 to fix minor manpage issues
- Rename %{_var}/lib/git-daemon to %{_var}/lib/git
- Preserve timestamps on installed files
- Quiet some rpmlint complaints
- Use macros more consistently
This commit is contained in:
Todd Zullinger 2009-01-03 16:36:21 +00:00
parent 413c55e528
commit f1f8cabac8
5 changed files with 100 additions and 76 deletions

View File

@ -1 +1 @@
git-1.6.0.6.tar.bz2 git-1.6.1.tar.bz2

View File

@ -3,4 +3,5 @@ Alias /git /var/www/git
<Directory /var/www/git> <Directory /var/www/git>
Options +ExecCGI Options +ExecCGI
AddHandler cgi-script .cgi AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory> </Directory>

View File

@ -1,12 +1,12 @@
# Pass --without docs to rpmbuild if you don't want the documentation # Pass --without docs to rpmbuild if you don't want the documentation
Name: git Name: git
Version: 1.6.0.6 Version: 1.6.1
Release: 1%{?dist} Release: 1%{?dist}
Summary: Core git tools Summary: Core git tools
License: GPLv2 License: GPLv2
Group: Development/Tools Group: Development/Tools
URL: http://kernel.org/pub/software/scm/git/ URL: http://kernel.org/pub/software/scm/git/
Source: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.bz2 Source0: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.bz2
Source1: git-init.el Source1: git-init.el
Source2: git.xinetd Source2: git.xinetd
Source3: git.conf.httpd Source3: git.conf.httpd
@ -15,7 +15,7 @@ BuildRequires: zlib-devel >= 1.2, openssl-devel, libcurl-devel, expat-devel, ema
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Requires: perl-Git = %{version}-%{release} Requires: perl-Git = %{version}-%{release}
Requires: zlib >= 1.2, rsync, libcurl, less, openssh-clients, expat, perl(Error) Requires: zlib >= 1.2, rsync, less, openssh-clients, expat, perl(Error)
Provides: git-core = %{version}-%{release} Provides: git-core = %{version}-%{release}
Obsoletes: git-core <= 1.5.4.3 Obsoletes: git-core <= 1.5.4.3
@ -131,20 +131,24 @@ Requires: git = %{version}-%{release}, emacs-common
%setup -q %setup -q
%patch0 -p1 %patch0 -p1
# Use these same options for every invocation of 'make'.
# Otherwise it will rebuild in %%install due to flags changes.
%define make_git \
make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \\\
ETC_GITCONFIG=%{_sysconfdir}/gitconfig \\\
DESTDIR=$RPM_BUILD_ROOT \\\
DOCBOOK_XSL_172=YesPlease \\\
INSTALL="install -p" \\\
INSTALLDIRS=vendor \\\
prefix=%{_prefix}
%build %build
make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \ %{make_git} all %{!?_without_docs: doc}
ETC_GITCONFIG=/etc/gitconfig \
gitexecdir=%{_bindir} \
prefix=%{_prefix} all %{!?_without_docs: doc}
make -C contrib/emacs make -C contrib/emacs
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT
make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \ %{make_git} install %{!?_without_docs: install-doc}
prefix=%{_prefix} mandir=%{_mandir} \
ETC_GITCONFIG=/etc/gitconfig \
gitexecdir=%{_bindir} \
INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
make -C contrib/emacs install \ make -C contrib/emacs install \
emacsdir=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp emacsdir=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
for elc in $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/*.elc ; do for elc in $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/*.elc ; do
@ -153,29 +157,35 @@ for elc in $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/*.elc ; do
done done
install -Dpm 644 %{SOURCE1} \ install -Dpm 644 %{SOURCE1} \
$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/git-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/git-init.el
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d mkdir -p $RPM_BUILD_ROOT%{_var}/www/git
install -m 644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d/git install -pm 644 -t $RPM_BUILD_ROOT%{_var}/www/git gitweb/*.png gitweb/*.css
mkdir -p $RPM_BUILD_ROOT/var/www/git install -pm 755 -t $RPM_BUILD_ROOT%{_var}/www/git gitweb/gitweb.cgi
install -m 644 -t $RPM_BUILD_ROOT/var/www/git gitweb/*.png gitweb/*.css
install -m 755 -t $RPM_BUILD_ROOT/var/www/git gitweb/gitweb.cgi
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d
install -m 0644 %SOURCE3 $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/git.conf install -pm 0644 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/httpd/conf.d/git.conf
find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name '*.bs' -empty -exec rm -f {} ';'
find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';' find $RPM_BUILD_ROOT -type f -name perllocal.pod -exec rm -f {} ';'
(find $RPM_BUILD_ROOT%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citooli|git-daemon" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files (find $RPM_BUILD_ROOT{%{_bindir},%{_libexecdir}} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citooli|git-daemon" | sed -e s@^$RPM_BUILD_ROOT@@) > bin-man-doc-files
(find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files (find $RPM_BUILD_ROOT%{perl_vendorlib} -type f | sed -e s@^$RPM_BUILD_ROOT@@) >> perl-files
%if %{!?_without_docs:1}0 %if %{!?_without_docs:1}0
(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 (find $RPM_BUILD_ROOT%{_mandir} -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
%else %else
rm -rf $RPM_BUILD_ROOT%{_mandir} rm -rf $RPM_BUILD_ROOT%{_mandir}
%endif %endif
mkdir -p $RPM_BUILD_ROOT/var/lib/git-daemon
mkdir -p $RPM_BUILD_ROOT%{_var}/lib/git
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d
install -pm 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/xinetd.d/git
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
install -m 644 -T contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/git install -pm 644 -T contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d/git
# quiet some rpmlint complaints
chmod g-w $RPM_BUILD_ROOT%{_libexecdir}/git-core/*
rm -f Documentation/technical/.gitignore
chmod a-x Documentation/technical/api-index.sh
%clean %clean
@ -185,6 +195,7 @@ rm -rf $RPM_BUILD_ROOT
%files -f bin-man-doc-files %files -f bin-man-doc-files
%defattr(-,root,root) %defattr(-,root,root)
%{_datadir}/git-core/ %{_datadir}/git-core/
%dir %{_libexecdir}/git-core/
%doc README COPYING Documentation/*.txt contrib/hooks %doc README COPYING Documentation/*.txt contrib/hooks
%{!?_without_docs: %doc Documentation/*.html Documentation/docbook-xsl.css} %{!?_without_docs: %doc Documentation/*.html Documentation/docbook-xsl.css}
%{!?_without_docs: %doc Documentation/howto Documentation/technical} %{!?_without_docs: %doc Documentation/howto Documentation/technical}
@ -193,7 +204,7 @@ rm -rf $RPM_BUILD_ROOT
%files svn %files svn
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/*svn* %{_libexecdir}/git-core/*svn*
%doc Documentation/*svn*.txt %doc Documentation/*svn*.txt
%{!?_without_docs: %{_mandir}/man1/*svn*.1*} %{!?_without_docs: %{_mandir}/man1/*svn*.1*}
%{!?_without_docs: %doc Documentation/*svn*.html } %{!?_without_docs: %doc Documentation/*svn*.html }
@ -201,28 +212,29 @@ rm -rf $RPM_BUILD_ROOT
%files cvs %files cvs
%defattr(-,root,root) %defattr(-,root,root)
%doc Documentation/*git-cvs*.txt %doc Documentation/*git-cvs*.txt
%{_bindir}/*cvs* %{_bindir}/git-cvsserver
%{_libexecdir}/git-core/*cvs*
%{!?_without_docs: %{_mandir}/man1/*cvs*.1*} %{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
%{!?_without_docs: %doc Documentation/*git-cvs*.html } %{!?_without_docs: %doc Documentation/*git-cvs*.html }
%files arch %files arch
%defattr(-,root,root) %defattr(-,root,root)
%doc Documentation/git-archimport.txt %doc Documentation/git-archimport.txt
%{_bindir}/git-archimport %{_libexecdir}/git-core/git-archimport
%{!?_without_docs: %{_mandir}/man1/git-archimport.1*} %{!?_without_docs: %{_mandir}/man1/git-archimport.1*}
%{!?_without_docs: %doc Documentation/git-archimport.html } %{!?_without_docs: %doc Documentation/git-archimport.html }
%files email %files email
%defattr(-,root,root) %defattr(-,root,root)
%doc Documentation/*email*.txt %doc Documentation/*email*.txt
%{_bindir}/*email* %{_libexecdir}/git-core/*email*
%{!?_without_docs: %{_mandir}/man1/*email*.1*} %{!?_without_docs: %{_mandir}/man1/*email*.1*}
%{!?_without_docs: %doc Documentation/*email*.html } %{!?_without_docs: %doc Documentation/*email*.html }
%files gui %files gui
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/git-gui %{_libexecdir}/git-core/git-gui*
%{_bindir}/git-citool %{_libexecdir}/git-core/git-citool
%{_datadir}/git-gui/ %{_datadir}/git-gui/
%{!?_without_docs: %{_mandir}/man1/git-gui.1*} %{!?_without_docs: %{_mandir}/man1/git-gui.1*}
%{!?_without_docs: %doc Documentation/git-gui.html} %{!?_without_docs: %doc Documentation/git-gui.html}
@ -247,13 +259,13 @@ rm -rf $RPM_BUILD_ROOT
%files daemon %files daemon
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/git-daemon %{_libexecdir}/git-core/git-daemon
%config(noreplace)%{_sysconfdir}/xinetd.d/git %config(noreplace)%{_sysconfdir}/xinetd.d/git
/var/lib/git-daemon %{_var}/lib/git
%files -n gitweb %files -n gitweb
%defattr(-,root,root) %defattr(-,root,root)
/var/www/git/ %{_var}/www/git/
%config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf %config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf
@ -261,6 +273,17 @@ rm -rf $RPM_BUILD_ROOT
# No files for you! # No files for you!
%changelog %changelog
* Sat Jan 03 2009 Todd Zullinger <tmz@pobox.com> 1.6.1-1
- Install git-* commands in %%{_libexecdir}/git-core, the upstream default
- Remove libcurl from Requires, rpm will pick this up automatically
- Consolidate build/install options in %%make_git (Roland McGrath)
- Include DirectoryIndex in gitweb httpd-config (bug 471692)
- Define DOCBOOK_XSL_172 to fix minor manpage issues
- Rename %%{_var}/lib/git-daemon to %%{_var}/lib/git
- Preserve timestamps on installed files
- Quiet some rpmlint complaints
- Use macros more consistently
* Sat Dec 20 2008 Todd Zullinger <tmz@pobox.com> 1.6.0.6-1 * Sat Dec 20 2008 Todd Zullinger <tmz@pobox.com> 1.6.0.6-1
- git-1.6.0.6 - git-1.6.0.6
- Fixes a local privilege escalation bug in gitweb - Fixes a local privilege escalation bug in gitweb
@ -551,7 +574,7 @@ rm -rf $RPM_BUILD_ROOT
* Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3 * Wed Aug 17 2005 Tom "spot" Callaway <tcallawa@redhat.com> 0.99.4-3
- use dist tag to differentiate between branches - use dist tag to differentiate between branches
- use rpm optflags by default (patch0) - use rpm optflags by default (patch0)
- own %{_datadir}/git-core/ - own %%{_datadir}/git-core/
* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org> * Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
- update spec file to fix Buildroot, Requires, and drop Vendor - update spec file to fix Buildroot, Requires, and drop Vendor

View File

@ -8,8 +8,8 @@ service git
socket_type = stream socket_type = stream
wait = no wait = no
user = nobody user = nobody
server = /usr/bin/git-daemon server = /usr/bin/git
server_args = --base-path=/srv/git --export-all --user-path=public_git --syslog --inetd --verbose server_args = daemon --base-path=/var/lib/git --export-all --user-path=public_git --syslog --inetd --verbose
log_on_failure += USERID log_on_failure += USERID
# xinetd doesn't do this by default. bug #195265 # xinetd doesn't do this by default. bug #195265
flags = IPv6 flags = IPv6

View File

@ -1 +1 @@
b5be9b34b441cb57f92086bfaf59f255 git-1.6.0.6.tar.bz2 66265d85593473b23290232b9dccef77 git-1.6.1.tar.bz2