-
+#
# Conditional build:
%bcond_without tests # don't perform make test
%bcond_without doc # skip building/packaging docs/manuals (takes some time)
Summary: The stupid content tracker
Summary(pl.UTF-8): Prymitywne narzędzie do śledzenia treści
Name: git-core
-Version: 1.5.3.6
+Version: 1.5.5.2
Release: 1
License: GPL v2
Group: Development/Tools
Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
-# Source0-md5: 9b0a6cea7b084f3fc78f264cd2fb49bd
+# Source0-md5: 7379e652b7c51da209a677b806e1d276
Source1: %{name}-gitweb.conf
Source2: %{name}-gitweb-httpd.conf
+Source3: %{name}.sysconfig
+Source4: %{name}.inet
+Source5: %{name}.init
+Patch0: %{name}-bashizm.patch
URL: http://git.or.cz/
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: curl-devel
BuildRequires: expat-devel
+BuildRequires: gettext-devel
BuildRequires: openssl-devel
BuildRequires: perl-Error
BuildRequires: perl-base
%endif
%if %{with tests}
BuildRequires: cvs
+BuildRequires: cvsps
BuildRequires: pdksh >= 5.2.14-46
+# tests fail when using this client
+BuildConflicts: cvs-nserver-client
%endif
Requires: coreutils
Requires: cpio
Requires: curl
+Requires: cvsps >= 2.1-2
Requires: diffutils
Requires: findutils
Requires: grep
%description -l pl.UTF-8
"git" może oznaczać cokolwiek, w zależności od nastroju.
-- losową kombinację trzech liter, która jest wymawialna i
- właściwie nie używana przez żadne popularne polecenie uniksowe.
- Fakt, że jest to błędna pisownia słowa "get" może mieć lub nie
- mieć znaczenia.
-- głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
-- "global information tracker" (narzędzie do globalnego śledzenia
- informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
- Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
-- "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
- g*) - kiedy się zepsuje.
+ - losową kombinację trzech liter, która jest wymawialna i właściwie
+ nie używana przez żadne popularne polecenie uniksowe. Fakt, że jest to
+ błędna pisownia słowa "get" może mieć lub nie mieć znaczenia.
+ - głupi, pogardliwy, prosty. Można wybrać ze słownika slangu.
+ - "global information tracker" (narzędzie do globalnego śledzenia
+ informacji) - jeśli jesteśmy w dobrym nastroju i git akurat działa.
+ Anioły śpiewają, a światło niespodziewanie wypełnia pokój.
+ - "goddamn idiotic truckload of sh*t" (przeklęty idiotyczny ładunek
+ g*) - kiedy się zepsuje.
Jest to prymitywny (ale bardzo szybki) zarządca treści słownikowej.
Nie robi wiele, ale to, co "robi", to wydajne śledzenie zawartości
katalogu.
+%package daemon-inetd
+Summary: Files necessary to run git-daemon as an inetd service
+Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi inetd
+Group: Networking/Daemons
+Requires: %{name} = %{version}-%{release}
+Requires: setup >= 2.4.10-6
+Provides: git-core-daemon
+Obsoletes: git-core-daemon
+Obsoletes: git-core-daemon-standalone
+
+%description daemon-inetd
+Git-daemon is a really simple TCP git daemon that can serve git
+repositories. This package provides all necessarry files to run
+git-daemon as an inetd service.
+
+%description daemon-inetd -l pl.UTF-8
+Git-daemon to prosty demon git korzystający z protokołu TCP do
+udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
+do uruchomienia git-demona w trybie usługi inetd.
+
+%package daemon-standalone
+Summary: Files necessary to run git-daemon as a standalone service
+Summary(pl.UTF-8): Pliki niezbędne do uruchomienia git-daemona w trybie usługi samodzielnej
+Group: Networking/Daemons
+Requires: %{name} = %{version}-%{release}
+Provides: git-core-daemon
+Obsoletes: git-core-daemon
+Obsoletes: git-core-daemon-inetd
+
+%description daemon-standalone
+Git-daemon is a really simple TCP git daemon that can serve git
+repositories. This package provides all necessarry files to run
+git-daemon as an standalone service.
+
+%description daemon-standalone -l pl.UTF-8
+Git-daemon to prosty demon git korzystający z protokołu TCP do
+udostępniania repozytoriów git. Ten pakiet dostarcza pliki potrzebne
+do uruchomienia git-daemona w trybie usługi samodzielnej.
+
%package devel
Summary: Header files for git-core
Summary(pl.UTF-8): Pliki nagłówkowe dla git-core
Summary(pl.UTF-8): Oparta na GTK+ przeglądarka repozytorium gita
Group: Development/Tools
Requires: %{name} = %{version}-%{release}
-#Requires: pytongowe mambo dżambo
+Requires: python >= 1:2.4
+Requires: python-pycairo >= 1.0
+Requires: python-pygobject
+Requires: python-pygtk-gtk >= 2:2.8
+Suggests: python-gnome-desktop-gtksourceview
%description gitview
A GTK+ based repository browser for git.
%prep
%setup -q -n git-%{version}
+%patch0 -p1
%build
%{__aclocal}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_sharedstatedir}/git}
+install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git}
install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
install -d $RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
+install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d}
%{__make} install \
INSTALLDIRS=vendor \
# gitview
install contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
+# git-daemon related files
+install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
+install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
+install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
+
# remove unneeded files
rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
+rm -f $RPM_BUILD_ROOT%{perl_vendorlib}/Error.pm
+rm -f $RPM_BUILD_ROOT%{_mandir}/man3/private-Error.3*
%clean
rm -rf $RPM_BUILD_ROOT
+%post daemon-inetd
+%service -q rc-inetd reload
+
+%postun daemon-inetd
+if [ "$1" = "0" ]; then
+ %service -q rc-inetd reload
+fi
+
+%post daemon-standalone
+/sbin/chkconfig --add git-daemon
+%service git-daemon restart "git-daemon"
+
+%preun daemon-standalone
+if [ "$1" = "0" ]; then
+ %service git-daemon stop
+ /sbin/chkconfig --del git-daemon
+fi
+
%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
%webapp_register apache %{webapp}
%doc Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
%{_mandir}/man1/git-*.1*
%{_mandir}/man5/gitattributes.5*
+%{_mandir}/man5/gitcli.5*
%{_mandir}/man5/gitignore.5*
%{_mandir}/man5/gitmodules.5*
%{_mandir}/man7/git.7*
%attr(755,root,root) %{_bindir}/git-*
%{_datadir}/%{name}
%{_datadir}/git-gui
-%{_sharedstatedir}/git
+%{_localstatedir}/lib/git
+
+%files daemon-inetd
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rc-inetd/git-daemon
+
+%files daemon-standalone
+%defattr(644,root,root,755)
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/git-daemon
+%attr(754,root, root) /etc/rc.d/init.d/git-daemon
%files devel
%defattr(644,root,root,755)
-%{_includedir}/*
-%{_libdir}/*.a
+%{_includedir}/git-core
+%{_libdir}/libgit.a
%files gitk
%defattr(644,root,root,755)
%{_mandir}/man1/gitk.1*
%endif
%attr(755,root,root) %{_bindir}/gitk
+%dir %{_datadir}/gitk
+%dir %{_datadir}/gitk/lib
+%dir %{_datadir}/gitk/lib/msgs
+%lang(de) %{_datadir}/gitk/lib/msgs/de.msg
+%lang(it) %{_datadir}/gitk/lib/msgs/it.msg
%files gitweb
%defattr(644,root,root,755)