]> git.pld-linux.org Git - packages/git-core.git/blobdiff - git-core.spec
- up to 2.0.3
[packages/git-core.git] / git-core.spec
index 000b32a578b8298332112496cf7df99adfa3fe7a..c328b3a9f46fbd7e574bfdc392811a7aa780e744 100644 (file)
@@ -4,18 +4,21 @@
 %bcond_with    tests_cvs       # perform tests which use CVS
 %bcond_without tests_svn       # perform tests which use subversion
 %bcond_without doc             # skip building/packaging docs/manuals (takes some time)
-%bcond_without pcre            # perl-compatible regexes support
+%bcond_without pcre            # perl-compatible regexes support
+%bcond_without gnome_keyring   # build without gnome keyring support
+
+# for AC: --without doc --without gnome_keyring --without tests
 
 %include       /usr/lib/rpm/macros.perl
 Summary:       Distributed version control system focused on speed, effectivity and usability
 Summary(pl.UTF-8):     Rozproszony system śledzenia treści skupiony na szybkości, wydajności i użyteczności
 Name:          git-core
-Version:       1.8.5.3
-Release:       3
+Version:       2.0.3
+Release:       1
 License:       GPL v2
 Group:         Development/Tools
-Source0:       http://git-core.googlecode.com/files/git-%{version}.tar.gz
-# Source0-md5: 57b966065882f83ef5879620a1e329ca
+Source0:       http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.gz
+# Source0-md5: c549f5df737c0a559df0e911c8e1b7e5
 Source1:       %{name}-gitweb.conf
 Source2:       %{name}-gitweb-httpd.conf
 Source3:       %{name}-gitweb-lighttpd.conf
@@ -34,6 +37,10 @@ BuildRequires:       automake
 BuildRequires: curl-devel
 BuildRequires: expat-devel
 BuildRequires: gettext-devel
+%if %{with gnome_keyring}
+BuildRequires: libgnome-keyring-devel
+BuildRequires: pkgconfig
+%endif
 BuildRequires: openssl-devel
 %{?with_pcre:BuildRequires:    pcre-devel}
 BuildRequires: perl-Error > 0.15
@@ -41,7 +48,7 @@ BuildRequires:        perl-base
 BuildRequires: python-devel
 BuildRequires: rpm-perlprov >= 4.1-13
 BuildRequires: rpm-pythonprov
-BuildRequires: rpmbuild(macros) >= 1.264
+BuildRequires: rpmbuild(macros) >= 1.673
 BuildRequires: tcl
 BuildRequires: zlib-devel
 %if %{with doc}
@@ -58,10 +65,10 @@ BuildRequires:      cvs-gnu-client >= 1.12
 %{?with_tests_svn:BuildRequires:  subversion}
 Conflicts:     pdksh < 5.2.14-46
 %endif
-Requires:      coreutils
-Requires:      diffutils
-Requires:      findutils
+# git-sh-setup: sane_grep
 Requires:      grep
+# git-pull: printf
+Requires:      coreutils
 Requires:      openssh-clients
 Requires:      perl-Error
 Requires:      perl-Git = %{version}-%{release}
@@ -83,7 +90,7 @@ BuildRoot:    %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                webappdir       %{_sysconfdir}/webapps/%{webapp}
 %define                appdir          %{_datadir}/%{webapp}
 %define                cgibindir       %{_prefix}/lib/cgi-bin
-%define                bash_compdir    %{_datadir}/bash-completion/completions
+%define                gitcoredir      %{_libdir}/%{name}
 
 %description
 "git" can mean anything, depending on your mood.
@@ -368,6 +375,9 @@ Summary(pl.UTF-8):  bashowe uzupełnianie nazw dla gita
 Group:         Applications/Shells
 Requires:      %{name} = %{version}-%{release}
 Requires:      bash-completion >= 2.0
+%if "%{_rpmversion}" >= "5"
+BuildArch:     noarch
+%endif
 
 %description -n bash-completion-git
 This package provides bash-completion for git.
@@ -395,19 +405,26 @@ 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ń.
 
-%package -n vim-syntax-gitcommit
-Summary:       Vim syntax: gitcommit
-Summary(pl.UTF-8):     Składnia dla Vima: gitcommit
-Group:         Applications/Editors/Vim
+%package -n gnome-keyring-git-core
+Summary:       GNOME Keyring authentication provider for Git
+Summary(pl.UTF-8):     Moduł uwierzytelniający GNOME Keyring dla Git
+Group:         X11/Applications
+URL:           http://git-scm.com/docs/gitcredentials.html
 Requires:      %{name} = %{version}-%{release}
-# for _vimdatadir existence
-Requires:      vim-rt >= 4:6.3.058-3
 
-%description -n vim-syntax-gitcommit
-This plugin provides syntax highlighting for git's commit messages.
+%description -n gnome-keyring-git-core
+Authentication provider module for Git which allows git client to
+authenticate using GNOME Keyring.
+
+You need to register it with:
+- git config --global credential.helper gnome-keyring
 
-%description -n vim-syntax-gitcommit -l pl.UTF-8
-Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
+%description -n gnome-keyring-git-core -l pl.UTF-8
+Moduł uwierzytelniający dla Subversion pozwalający klientom git
+uwierzytelniać się przy użyciu mechanizmu GNOME Keyring.
+
+Moduł trzeba zarejestrować poleceniem:
+- git config --global credential.helper gnome-keyring
 
 %prep
 %setup -q -n git-%{version}
@@ -417,6 +434,8 @@ Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita.
 %patch3 -p1
 %patch4 -p1
 
+%{__rm} {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
+
 %build
 %{__aclocal}
 %{__autoconf}
@@ -436,6 +455,12 @@ echo "BLK_SHA1=1" >> config.mak
        GITWEB_FAVICON="/gitweb/git-favicon.png" \
        V=1
 
+%{__make} -C contrib/subtree
+
+%if %{with gnome_keyring}
+%{__make} -C contrib/credential/gnome-keyring
+%endif
+
 %if %{with doc}
 %{__make} -C Documentation \
        MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \
@@ -483,28 +508,31 @@ cp -p libgit.a $RPM_BUILD_ROOT%{_libdir}
 cp -p xdiff/lib.a $RPM_BUILD_ROOT%{_libdir}/libgit_xdiff.a
 cp -p {Makefile,config.mak,config.mak.autogen,config.mak.uname} $RPM_BUILD_ROOT%{_includedir}/%{name}
 
+%{__make} -C contrib/subtree install \
+       libexecdir=%{gitcoredir} \
+       DESTDIR=$RPM_BUILD_ROOT
+
+%if %{with doc}
+%{__make} -C contrib/subtree install-doc \
+       DESTDIR=$RPM_BUILD_ROOT
+%endif
+
+%if %{with gnome_keyring}
+install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir}
+# Remove built binary files, otherwise they will be installed in doc
+%{__make} -C contrib/credential/gnome-keyring clean
+%endif
+
 # bash completion
 install -d $RPM_BUILD_ROOT%{bash_compdir}
 cp -p contrib/completion/git-completion.bash $RPM_BUILD_ROOT%{bash_compdir}/git
 
+# Install git-prompt.sh
+install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
+cp -p contrib/completion/git-prompt.sh $RPM_BUILD_ROOT%{_datadir}/%{name}/contrib/completion
+
 # Install bzr and hg remote helpers from contrib
-install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{_libdir}/%{name}
-
-# vim syntax
-install -d $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax
-cat > $RPM_BUILD_ROOT%{_datadir}/vim/vimfiles/syntax/gitcommit.vim << 'EOF'
-autocmd BufNewFile,BufRead *.git/COMMIT_EDITMSG    setf gitcommit
-autocmd BufNewFile,BufRead *.git/config,.gitconfig setf gitconfig
-autocmd BufNewFile,BufRead git-rebase-todo         setf gitrebase
-autocmd BufNewFile,BufRead .msg.[0-9]*
-       \ if getline(1) =~ '^From.*# This line is ignored.$' |
-       \   setf gitsendemail |
-       \ endif
-autocmd BufNewFile,BufRead *.git/**
-       \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
-       \   setf git |
-       \ endif
-EOF
+install -p contrib/remote-helpers/git-remote-{bzr,hg} $RPM_BUILD_ROOT%{gitcoredir}
 
 # gitweb
 mv $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi
@@ -519,8 +547,8 @@ cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf
 install -p contrib/gitview/gitview $RPM_BUILD_ROOT%{_bindir}
 
 # git-daemon related files
-cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
-cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
+cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/git-daemon
+cp -p %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon
 install -p %{SOURCE6} $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon
 
 # paths cleanup
@@ -530,8 +558,8 @@ sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-d
 # hardlink
 ln -f $RPM_BUILD_ROOT%{_bindir}/{git,git-receive-pack}
 ln -f $RPM_BUILD_ROOT%{_bindir}/{git,git-upload-archive}
-ln -f $RPM_BUILD_ROOT{%{_libdir}/%{name},%{_bindir}}/git-shell
-ln -f $RPM_BUILD_ROOT{%{_libdir}/%{name},%{_bindir}}/git-upload-pack
+ln -f $RPM_BUILD_ROOT{%{gitcoredir},%{_bindir}}/git-shell
+ln -f $RPM_BUILD_ROOT{%{gitcoredir},%{_bindir}}/git-upload-pack
 
 # remove unneeded files
 %{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
@@ -616,28 +644,31 @@ fi
 %{_mandir}/man7/gitworkflows.7*
 %endif
 
-%dir %{_libdir}/%{name}
-%attr(755,root,root) %{_libdir}/%{name}/*-*
-%attr(755,root,root) %{_libdir}/%{name}/git
-%dir %{_libdir}/%{name}/mergetools
-%{_libdir}/%{name}/mergetools/*
+%dir %{gitcoredir}
+%attr(755,root,root) %{gitcoredir}/*-*
+%attr(755,root,root) %{gitcoredir}/git
+%dir %{gitcoredir}/mergetools
+%{gitcoredir}/mergetools/*
 
 %{_datadir}/%{name}
 %{_localstatedir}/lib/git
 
 # subpackages
-%exclude %{_libdir}/%{name}/*email*
-%exclude %{_libdir}/%{name}/*p4*
-%exclude %{_libdir}/%{name}/git-archimport
-%exclude %{_libdir}/%{name}/git-cvs*
-%exclude %{_libdir}/%{name}/git-gui
-%exclude %{_libdir}/%{name}/git-imap-send
-%exclude %{_libdir}/%{name}/git-instaweb
-%exclude %{_libdir}/%{name}/git-remote-bzr
-%exclude %{_libdir}/%{name}/git-remote-hg
-%exclude %{_libdir}/%{name}/git-remote-testsvn
-%exclude %{_libdir}/%{name}/git-svn
-%exclude %{_libdir}/%{name}/mergetools/p4merge
+%exclude %{gitcoredir}/*email*
+%exclude %{gitcoredir}/*p4*
+%exclude %{gitcoredir}/git-archimport
+%exclude %{gitcoredir}/git-cvs*
+%exclude %{gitcoredir}/git-gui
+%exclude %{gitcoredir}/git-imap-send
+%exclude %{gitcoredir}/git-instaweb
+%exclude %{gitcoredir}/git-remote-bzr
+%exclude %{gitcoredir}/git-remote-hg
+%exclude %{gitcoredir}/git-remote-testsvn
+%exclude %{gitcoredir}/git-svn
+%exclude %{gitcoredir}/mergetools/p4merge
+%if %{with gnome_keyring}
+%exclude %{gitcoredir}/git-credential-gnome-keyring
+%endif
 
 %if %{with doc}
 %files doc
@@ -670,6 +701,7 @@ fi
 %dir %{_datadir}/gitk
 %dir %{_datadir}/gitk/lib
 %dir %{_datadir}/gitk/lib/msgs
+%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg
 %lang(de) %{_datadir}/gitk/lib/msgs/de.msg
 %lang(es) %{_datadir}/gitk/lib/msgs/es.msg
 %lang(fr) %{_datadir}/gitk/lib/msgs/fr.msg
@@ -691,7 +723,7 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{webappdir}/gitolite.pl
 %attr(755,root,root) %{cgibindir}/gitweb.cgi
 %{appdir}
-%attr(755,root,root) %{_libdir}/%{name}/git-instaweb
+%attr(755,root,root) %{gitcoredir}/git-instaweb
 %if %{with doc}
 %{_mandir}/man1/gitweb.1*
 %{_mandir}/man5/gitweb.conf.5*
@@ -704,7 +736,7 @@ fi
 
 %files gui
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-gui
+%attr(755,root,root) %{gitcoredir}/git-gui
 %dir %{_datadir}/git-gui
 %dir %{_datadir}/git-gui/lib
 %dir %{_datadir}/git-gui/lib/msgs
@@ -712,6 +744,7 @@ fi
 %{_datadir}/git-gui/lib/tclIndex
 %{_datadir}/git-gui/lib/*.js
 %{_datadir}/git-gui/lib/*.tcl
+%lang(bg) %{_datadir}/git-gui/lib/msgs/bg.msg
 %lang(de) %{_datadir}/git-gui/lib/msgs/de.msg
 %lang(el) %{_datadir}/git-gui/lib/msgs/el.msg
 %lang(fr) %{_datadir}/git-gui/lib/msgs/fr.msg
@@ -726,19 +759,19 @@ fi
 
 %files arch
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-archimport
+%attr(755,root,root) %{gitcoredir}/git-archimport
 %if %{with doc}
 %{_mandir}/man1/git-archimport.1*
 %endif
 
 %files bzr
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-remote-bzr
+%attr(755,root,root) %{gitcoredir}/git-remote-bzr
 
 %files cvs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_bindir}/git-cvsserver
-%attr(755,root,root) %{_libdir}/%{name}/git-cvs*
+%attr(755,root,root) %{gitcoredir}/git-cvs*
 %if %{with doc}
 %{_mandir}/man1/git-cvs*.1*
 %{_mandir}/man7/gitcvs-migration.7*
@@ -746,17 +779,17 @@ fi
 
 %files hg
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-remote-hg
+%attr(755,root,root) %{gitcoredir}/git-remote-hg
 
 %files p4
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-p4
-%attr(755,root,root) %{_libdir}/%{name}/mergetools/p4merge
+%attr(755,root,root) %{gitcoredir}/git-p4
+%attr(755,root,root) %{gitcoredir}/mergetools/p4merge
 
 %files svn
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-svn
-%attr(755,root,root) %{_libdir}/%{name}/git-remote-testsvn
+%attr(755,root,root) %{gitcoredir}/git-svn
+%attr(755,root,root) %{gitcoredir}/git-remote-testsvn
 %{perl_vendorlib}/Git/SVN
 %{perl_vendorlib}/Git/SVN.pm
 %if %{with doc}
@@ -765,8 +798,8 @@ fi
 
 %files email
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/%{name}/git-imap-send
-%attr(755,root,root) %{_libdir}/%{name}/*email*
+%attr(755,root,root) %{gitcoredir}/git-imap-send
+%attr(755,root,root) %{gitcoredir}/*email*
 %if %{with doc}
 %{_mandir}/man1/*email*.1*
 %{_mandir}/man1/*imap-send*.1*
@@ -784,7 +817,8 @@ fi
 %{perl_vendorlib}/Git/IndexInfo.pm
 %{_mandir}/man3/Git*.3pm*
 
-%files -n vim-syntax-gitcommit
+%if %{with gnome_keyring}
+%files -n gnome-keyring-git-core
 %defattr(644,root,root,755)
-%doc contrib/vim/README
-%{_datadir}/vim/vimfiles/syntax/gitcommit.vim
+%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring
+%endif
This page took 0.059885 seconds and 4 git commands to generate.