-# TODO:
-# - gitweb subpackage
#
# Conditional build:
%bcond_without tests # don't perform make test
Summary(pl.UTF-8): Prymitywne narzędzie do śledzenia treści
Name: git-core
Version: 1.5.2.2
-Release: 2
+Release: 3
License: GPL v2
Group: Development/Tools
Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.bz2
# Source0-md5: 846940654b703ec5c8de4ee388cb4d08
+Source1: %{name}-gitweb.conf
+Source2: %{name}-gitweb-httpd.conf
URL: http://git.or.cz/
BuildRequires: asciidoc
BuildRequires: autoconf
BuildRequires: perl-base
BuildRequires: python
BuildRequires: rpm-perlprov >= 4.1-13
+BuildRequires: rpmbuild(macros) >= 1.264
BuildRequires: xmlto
BuildRequires: zlib-devel
Requires: coreutils
Requires: sed
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define webapp gitweb
+%define webappdir %{_sysconfdir}/webapps/%{webapp}
+%define appdir %{_datadir}/%{webapp}
+%define cgibindir %{_prefix}/lib/cgi-bin
+
%description
"git" can mean anything, depending on your mood.
%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.
+- 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.
into the main git repository.
%description gitk -l pl.UTF-8
-Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów. Oznacza
-to wizualizację grafu commitów, wyświetlanie informacji związanych z
-każdym z commitów oraz listę plików dla każdej rewizji.
+Wyświetla zmiany w repozytorium lub wybranym zbiorze commitów.
+Oznacza to wizualizację grafu commitów, wyświetlanie informacji
+związanych z każdym z commitów oraz listę plików dla każdej
+rewizji.
Z punktu widzenia historii, gitk był pierwszą przeglądarką
-repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany w
-osobnym repozytorium, ale z czasem został włączony do głównego
+repozytorium git. Napisany jest w Tcl/Tk i początkowo był rozwijany
+w osobnym repozytorium, ale z czasem został włączony do głównego
repozytorium git.
+%package gitweb
+Summary: Web frontend to git
+Summary(pl.UTF-8): Webowy frontend do git
+Group: Development/Tools
+Requires: %{name} = %{version}-%{release}
+Requires: webapps
+
+%description gitweb
+This package provides a web interface for browsing git repositories.
+
+%description gitweb -l pl.UTF-8
+Pakiet ten dostarcza interfejs WWW do przegl?dania repozytoriów git.
+
%package -n perl-Git
Summary: Perl interface to the Git version control system
Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git
%description -n perl-Git -l pl.UTF-8
Ten moduł umożliwia skryptom Perla współpracę z systemem kontroli
-wersji Git. W łatwy i dobrze przetestowany sposób pozwala wywoływać
-dowolne polecenia Gita; w przyszłości interfejs udostępni także
-specjalne metody do łatwego wykonywania operacji nietrywialnych do
-wykonania przy użyciu ogólnego interfejsu poleceń.
+wersji Git. W łatwy i dobrze przetestowany sposób pozwala
+wywoływać dowolne polecenia Gita; w przyszłości interfejs
+udostępni także specjalne metody do łatwego wykonywania operacji
+nietrywialnych do wykonania przy użyciu ogólnego interfejsu
+poleceń.
%prep
%setup -q -n git-%{version}
--with-openssl
%{__make} \
- INSTALLDIRS=vendor
+ INSTALLDIRS=vendor \
+ GITWEB_CONFIG="%{webappdir}/gitweb.conf" \
+ GITWEB_PROJECTROOT="/var/lib/git" \
+ GITWEB_CSS="/gitweb/gitweb.css" \
+ GITWEB_LOGO="/gitweb/git-logo.png" \
+ GITWEB_FAVICON="/gitweb/git-favicon.png"
%{__make} -C Documentation
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
+install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_sharedstatedir}/git}
+install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}}
%{__make} install \
INSTALLDIRS=vendor \
install *.h $RPM_BUILD_ROOT%{_includedir}/%{name}
install xdiff/*.h $RPM_BUILD_ROOT%{_includedir}/%{name}/xdiff
+# gitweb
+install gitweb/*.css gitweb/*.png $RPM_BUILD_ROOT%{appdir}
+install gitweb/gitweb.cgi $RPM_BUILD_ROOT%{cgibindir}
+install %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf
+install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf
+install %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf
+
+# remove unneeded files
rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
rm -f $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist
%clean
rm -rf $RPM_BUILD_ROOT
+%triggerin gitweb -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{webapp}
+
+%triggerun gitweb -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{webapp}
+
+%triggerin gitweb -- apache < 2.2.0, apache-base
+%webapp_register httpd %{webapp}
+
+%triggerun gitweb -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{webapp}
+
%files
%defattr(644,root,root,755)
%doc README Documentation/{[!g]*,g[!i]*,git,git[!k]*}.html Documentation/howto Documentation/technical
%{_mandir}/man*/*
%{_datadir}/%{name}
%{_datadir}/git-gui
+%{_sharedstatedir}/git
%exclude %{_bindir}/gitk
%exclude %{_mandir}/man1/gitk.1*
+%exclude %{_mandir}/man3/*
%files devel
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/gitk
%{_mandir}/man1/gitk.1*
+%files gitweb
+%defattr(644,root,root,755)
+%doc gitweb/{README,INSTALL}
+%dir %{webappdir}
+%config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitweb.conf
+%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/apache.conf
+%config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{webappdir}/httpd.conf
+%attr(755,root,root) %{cgibindir}/gitweb.cgi
+%{appdir}
+
%files -n perl-Git
%defattr(644,root,root,755)
%{perl_vendorlib}/Git.pm