- 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>
Options +ExecCGI
AddHandler cgi-script .cgi
DirectoryIndex gitweb.cgi
</Directory>

View File

@ -1,12 +1,12 @@
# Pass --without docs to rpmbuild if you don't want the documentation
Name: git
Version: 1.6.0.6
Version: 1.6.1
Release: 1%{?dist}
Summary: Core git tools
License: GPLv2
Group: Development/Tools
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
Source2: git.xinetd
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)
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}
Obsoletes: git-core <= 1.5.4.3
@ -131,20 +131,24 @@ Requires: git = %{version}-%{release}, emacs-common
%setup -q
%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
make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" \
ETC_GITCONFIG=/etc/gitconfig \
gitexecdir=%{_bindir} \
prefix=%{_prefix} all %{!?_without_docs: doc}
%{make_git} all %{!?_without_docs: doc}
make -C contrib/emacs
%install
rm -rf $RPM_BUILD_ROOT
make %{_smp_mflags} CFLAGS="$RPM_OPT_FLAGS" DESTDIR=$RPM_BUILD_ROOT \
prefix=%{_prefix} mandir=%{_mandir} \
ETC_GITCONFIG=/etc/gitconfig \
gitexecdir=%{_bindir} \
INSTALLDIRS=vendor install %{!?_without_docs: install-doc}
%{make_git} install %{!?_without_docs: install-doc}
make -C contrib/emacs install \
emacsdir=$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
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
install -Dpm 644 %{SOURCE1} \
$RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d/git-init.el
mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d
install -m 644 %SOURCE2 $RPM_BUILD_ROOT/%{_sysconfdir}/xinetd.d/git
mkdir -p $RPM_BUILD_ROOT/var/www/git
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%{_var}/www/git
install -pm 644 -t $RPM_BUILD_ROOT%{_var}/www/git gitweb/*.png gitweb/*.css
install -pm 755 -t $RPM_BUILD_ROOT%{_var}/www/git gitweb/gitweb.cgi
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 '*.bs' -empty -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
%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
rm -rf $RPM_BUILD_ROOT%{_mandir}
%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
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
@ -185,6 +195,7 @@ rm -rf $RPM_BUILD_ROOT
%files -f bin-man-doc-files
%defattr(-,root,root)
%{_datadir}/git-core/
%dir %{_libexecdir}/git-core/
%doc README COPYING Documentation/*.txt contrib/hooks
%{!?_without_docs: %doc Documentation/*.html Documentation/docbook-xsl.css}
%{!?_without_docs: %doc Documentation/howto Documentation/technical}
@ -193,7 +204,7 @@ rm -rf $RPM_BUILD_ROOT
%files svn
%defattr(-,root,root)
%{_bindir}/*svn*
%{_libexecdir}/git-core/*svn*
%doc Documentation/*svn*.txt
%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
%{!?_without_docs: %doc Documentation/*svn*.html }
@ -201,28 +212,29 @@ rm -rf $RPM_BUILD_ROOT
%files cvs
%defattr(-,root,root)
%doc Documentation/*git-cvs*.txt
%{_bindir}/*cvs*
%{_bindir}/git-cvsserver
%{_libexecdir}/git-core/*cvs*
%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
%{!?_without_docs: %doc Documentation/*git-cvs*.html }
%files arch
%defattr(-,root,root)
%doc Documentation/git-archimport.txt
%{_bindir}/git-archimport
%{_libexecdir}/git-core/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
%{_bindir}/*email*
%{_libexecdir}/git-core/*email*
%{!?_without_docs: %{_mandir}/man1/*email*.1*}
%{!?_without_docs: %doc Documentation/*email*.html }
%files gui
%defattr(-,root,root)
%{_bindir}/git-gui
%{_bindir}/git-citool
%{_libexecdir}/git-core/git-gui*
%{_libexecdir}/git-core/git-citool
%{_datadir}/git-gui/
%{!?_without_docs: %{_mandir}/man1/git-gui.1*}
%{!?_without_docs: %doc Documentation/git-gui.html}
@ -247,13 +259,13 @@ rm -rf $RPM_BUILD_ROOT
%files daemon
%defattr(-,root,root)
%{_bindir}/git-daemon
%{_libexecdir}/git-core/git-daemon
%config(noreplace)%{_sysconfdir}/xinetd.d/git
/var/lib/git-daemon
%{_var}/lib/git
%files -n gitweb
%defattr(-,root,root)
/var/www/git/
%{_var}/www/git/
%config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf
@ -261,6 +273,17 @@ rm -rf $RPM_BUILD_ROOT
# No files for you!
%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
- git-1.6.0.6
- 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
- use dist tag to differentiate between branches
- use rpm optflags by default (patch0)
- own %{_datadir}/git-core/
- own %%{_datadir}/git-core/
* Mon Aug 15 2005 Chris Wright <chrisw@osdl.org>
- update spec file to fix Buildroot, Requires, and drop Vendor

View File

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

View File

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