X-Git-Url: http://git.pld-linux.org/?p=packages%2Fgit-core.git;a=blobdiff_plain;f=git-core.spec;h=a1ca69bc43daabf7ab6503f55ea77b55bfae3caa;hp=67e76c0b2f2fa4f49a1c827a044c39d4d2cfe2bf;hb=b77fb5c56e45870dfbd13fe06b9a66703a289922;hpb=720419b04035ddeecd8d61a2b2a1aa0854917e2b diff --git a/git-core.spec b/git-core.spec index 67e76c0..61354cc 100644 --- a/git-core.spec +++ b/git-core.spec @@ -1,21 +1,25 @@ # # Conditional build: -%bcond_without tests # don't perform make test -%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 tests # test suite +%bcond_with tests_cvs # tests which use CVS +%bcond_without tests_svn # tests which use subversion +%bcond_without doc # building/packaging docs/manuals (takes some time) +%bcond_without pcre # perl-compatible regexes support +%bcond_without gnome_keyring # gnome keyring credentials support +%bcond_without libsecret # libsecret credentials support +%bcond_without tk # Tcl/Tk interface + +# 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.5 +Version: 2.30.2 Release: 1 License: GPL v2 Group: Development/Tools -Source0: http://git-core.googlecode.com/files/git-%{version}.tar.gz -# Source0-md5: 55c3b57b9d168facbc681d9f7b9a0803 +Source0: http://www.kernel.org/pub/software/scm/git/git-%{version}.tar.xz +# Source0-md5: 53f3e1424598cd24eaf78588bcf90816 Source1: %{name}-gitweb.conf Source2: %{name}-gitweb-httpd.conf Source3: %{name}-gitweb-lighttpd.conf @@ -23,26 +27,46 @@ Source4: %{name}.sysconfig Source5: %{name}.inet Source6: %{name}.init Source7: gitolite.pl -Patch0: %{name}-tests.patch -Patch1: %{name}-key-bindings.patch -Patch2: %{name}-sysconfdir.patch -Patch3: cherry-picked-commitlog.patch -Patch4: %{name}-svn-exit-errors.patch +Patch0: %{name}-key-bindings.patch +Patch1: %{name}-sysconfdir.patch +Patch2: cherry-picked-commitlog.patch URL: http://git-scm.com/ BuildRequires: autoconf >= 2.59 BuildRequires: automake BuildRequires: curl-devel BuildRequires: expat-devel +%if "%{pld_release}" == "ac" BuildRequires: gettext-devel +%else +BuildRequires: gettext-tools +%endif +%if %{with gnome_keyring} || %{with libsecret} +BuildRequires: glib2-devel >= 2.0 +%endif +%if %{with gnome_keyring} +BuildRequires: libgnome-keyring-devel +%endif +%if %{with libsecret} +BuildRequires: libsecret-devel +%endif BuildRequires: openssl-devel -%{?with_pcre:BuildRequires: pcre-devel} +%{?with_pcre:BuildRequires: pcre2-8-devel} BuildRequires: perl-Error > 0.15 +BuildRequires: perl-MailTools BuildRequires: perl-base +%if %{with gnome_keyring} || %{with libsecret} +BuildRequires: pkgconfig +%endif BuildRequires: python-devel BuildRequires: rpm-perlprov >= 4.1-13 BuildRequires: rpm-pythonprov -BuildRequires: rpmbuild(macros) >= 1.264 -BuildRequires: tcl +BuildRequires: rpmbuild(macros) >= 1.752 +BuildRequires: tar >= 1:1.22 +%if %{with tk} +# wish +BuildRequires: tk +BuildRequires: xz +%endif BuildRequires: zlib-devel %if %{with doc} BuildRequires: asciidoc >= 7.1.2-3 @@ -50,21 +74,25 @@ BuildRequires: docbook-dtd45-xml BuildRequires: xmlto %endif %if %{with tests} +BuildRequires: perl-CGI +BuildRequires: perl-Digest-MD5 +BuildRequires: perl-Encode +BuildRequires: perl-Time-HiRes %if %{with tests_cvs} # tests failed sometimes when using nserver/cvsnt client so enforce pure cvs here BuildRequires: cvs-gnu-client < 1.13 BuildRequires: cvs-gnu-client >= 1.12 %endif -%{?with_tests_svn:BuildRequires: subversion} +%if %{with tests_svn} +BuildRequires: perl-subversion +BuildRequires: subversion +%endif Conflicts: pdksh < 5.2.14-46 %endif -Requires: coreutils -Requires: diffutils -Requires: findutils +# git-sh-setup: sane_grep Requires: grep -Requires: openssh-clients -Requires: perl-Error -Requires: perl-Git = %{version}-%{release} +# git-pull: printf +Requires: coreutils Requires: sed Suggests: git-core-bzr Suggests: git-core-cvs @@ -72,18 +100,26 @@ Suggests: git-core-hg Suggests: git-core-p4 Suggests: git-core-svn Suggests: less +Suggests: openssh-clients +Suggests: perl-Git = %{version}-%{release} Suggests: rsync +Obsoletes: git-core-gitview Obsoletes: python-Git +Conflicts: perl-Git < %{version} BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) # html docs have links to txt files %define _noautocompressdoc *.txt +# do not generate perl dependency, git add -p support is optional +# skip dependency generation from templates +%define _noautoreqfiles %{_libexecdir}/%{name}/git-add--interactive %{_datadir}/%{name}/templates + %define webapp gitweb %define webappdir %{_sysconfdir}/webapps/%{webapp} %define appdir %{_datadir}/%{webapp} %define cgibindir %{_prefix}/lib/cgi-bin -%define bash_compdir %{_datadir}/bash-completion/completions +%define gitcoredir %{_libexecdir}/%{name} %description "git" can mean anything, depending on your mood. @@ -122,6 +158,7 @@ katalogu. Summary: Documentation for git-core Summary(pl.UTF-8): Dokumentacja do git-core Group: Documentation +BuildArch: noarch %description doc Documentation for git-core. @@ -129,9 +166,6 @@ Documentation for git-core. %description doc -l pl.UTF-8 Dokumentacja do git-core. -%description doc -l fr.UTF-8 -Javadoc pour git-core. - %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 @@ -189,6 +223,7 @@ Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: tk +BuildArch: noarch %description gitk gitk displays changes in a repository or a selected set of commits. @@ -226,23 +261,6 @@ 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 gita. -%package gitview -Summary: A GTK+ based repository browser for git -Summary(pl.UTF-8): Oparta na GTK+ przeglądarka repozytorium gita -Group: Development/Tools -Requires: %{name} = %{version}-%{release} -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. - -%description gitview -l pl.UTF-8 -Oparta na GTK+ przeglądarka repozytorium gita. - %package gui Summary: Tcl/Tk interface to the Git version control system Summary(pl.UTF-8): Napisany w Tcl/Tk interfejs do systemu kontroli wersji Git @@ -355,6 +373,9 @@ Summary: Git tools for sending email Summary(pl.UTF-8): Narzędzia Gita do wysyłania poczty Group: Development/Tools Requires: %{name} = %{version}-%{release} +Requires: perl-Error +Requires: perl-MailTools +Suggests: perl-Net-SMTP-SSL %description email Git tools for sending email. @@ -368,6 +389,7 @@ Summary(pl.UTF-8): bashowe uzupełnianie nazw dla gita Group: Applications/Shells Requires: %{name} = %{version}-%{release} Requires: bash-completion >= 2.0 +BuildArch: noarch %description -n bash-completion-git This package provides bash-completion for git. @@ -380,6 +402,7 @@ Summary: Perl interface to the Git version control system Summary(pl.UTF-8): Perlowy interfejs do systemu kontroli wersji Git Group: Development/Languages/Perl Obsoletes: perl-git-core +BuildArch: noarch %description -n perl-Git This module provides Perl scripts easy way to interface the Git @@ -395,49 +418,99 @@ 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 Gita +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 gnome-keyring-git-core -l pl.UTF-8 +Moduł uwierzytelniający dla Gita pozwalający klientom git +uwierzytelniać się przy użyciu mechanizmu GNOME Keyring. + +Moduł trzeba zarejestrować poleceniem: +- git config --global credential.helper gnome-keyring + +%package credential-libsecret +Summary: GNOME authentication provider for Git using libsecret +Summary(pl.UTF-8): Moduł uwierzytelniający GNOME dla Gita wykorzystujący libsecret +Group: X11/Applications +URL: http://git-scm.com/docs/gitcredentials.html +Requires: %{name} = %{version}-%{release} + +%description credential-libsecret +Authentication provider module for Git which allows git client to +authenticate using GNOME libsecret. + +You need to register it with: +- git config --global credential.helper libsecret -%description -n vim-syntax-gitcommit -l pl.UTF-8 -Ta wtyczka dostarcza podświetlanie składni dla treści commitów gita. +%description credential-libsecret -l pl.UTF-8 +Moduł uwierzytelniający dla Gita pozwalający klientom git +uwierzytelniać się przy użyciu mechanizmu GNOME libsecret. + +Moduł trzeba zarejestrować poleceniem: +- git config --global credential.helper libsecret %prep %setup -q -n git-%{version} -%patch0 -p1 -%patch1 -p0 +%patch0 -p0 +%patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 + +%{__rm} {Documentation/technical,contrib/credential/gnome-keyring}/.gitignore + +# we build things in contrib but want to have it clean for doc purporses, too +cp -a contrib contrib-doc + +%{__sed} -i -e '1s|#!/usr/bin/env python$|#!%{__python}|' git-p4.py %build %{__aclocal} %{__autoconf} %configure \ --sysconfdir=%{_sysconfdir}/git-core \ - %{?with_pcre:--with-libpcre} \ + %{?with_pcre:--with-libpcre2} \ --with-openssl echo "BLK_SHA1=1" >> config.mak %{__make} \ - 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" \ + NO_PERL_CPAN_FALLBACKS=1 \ + perllibdir=%{perl_vendorlib} \ V=1 +%{__make} -C contrib/subtree + +%if %{with gnome_keyring} +%{__make} -C contrib/credential/gnome-keyring \ + CC="%{__cc}" \ + CFLAGS="%{rpmcflags} -Wall" \ + LDFLAGS="%{rpmldflags}" +%endif + +%if %{with libsecret} +%{__make} -C contrib/credential/libsecret \ + CC="%{__cc}" \ + CFLAGS="%{rpmcflags} -Wall" \ + LDFLAGS="%{rpmldflags}" +%endif + %if %{with doc} -%{__make} -C Documentation \ +%{__make} doc \ MAN_BASE_URL=file://%{_docdir}/%{name}-doc-%{version}/ \ V=1 %endif @@ -446,12 +519,17 @@ echo "BLK_SHA1=1" >> config.mak %if %{without tests_cvs} %{__rm} t/t*cvs*.sh || : %endif -%{!?with_tests_svn:GIT_SKIP_TESTS='t91??'} %{__make} test +%if %{without tests_svn} +GIT_SKIP_TESTS="$GIT_SKIP_TESTS t91??" +%endif +export GIT_SKIP_TESTS +%{__make} test \ + NO_PERL_CPAN_FALLBACKS=1 %endif %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_localstatedir}/lib/git} +install -d $RPM_BUILD_ROOT{%{_includedir}/%{name}/xdiff,%{_libdir},%{_localstatedir}/lib/git} install -d $RPM_BUILD_ROOT{%{appdir},%{cgibindir},%{webappdir}} install -d $RPM_BUILD_ROOT/etc/{sysconfig/rc-inetd,rc.d/init.d} install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name} @@ -461,11 +539,12 @@ cat << EOF > $RPM_BUILD_ROOT%{_sysconfdir}/git-core/gitconfig EOF %{__make} install \ - INSTALLDIRS=vendor \ - DESTDIR=$RPM_BUILD_ROOT + DESTDIR=$RPM_BUILD_ROOT \ + NO_PERL_CPAN_FALLBACKS=1 \ + perllibdir=%{perl_vendorlib} %if %{with doc} -%{__make} -C Documentation install \ +%{__make} install-doc \ DESTDIR=$RPM_BUILD_ROOT %endif @@ -483,31 +562,36 @@ 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-man \ + DESTDIR=$RPM_BUILD_ROOT +%endif + +%if %{with gnome_keyring} +install -p contrib/credential/gnome-keyring/git-credential-gnome-keyring $RPM_BUILD_ROOT%{gitcoredir} +%endif + +%if %{with libsecret} +install -p contrib/credential/libsecret/git-credential-libsecret $RPM_BUILD_ROOT%{gitcoredir} +%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 +%{__mv} $RPM_BUILD_ROOT{%{appdir},%{cgibindir}}/gitweb.cgi ln -s %{cgibindir}/gitweb.cgi $RPM_BUILD_ROOT%{appdir}/gitweb.cgi cp -p %{SOURCE1} $RPM_BUILD_ROOT%{webappdir}/gitweb.conf cp -p %{SOURCE7} $RPM_BUILD_ROOT%{webappdir}/gitolite.pl @@ -515,35 +599,61 @@ cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/apache.conf cp -p %{SOURCE2} $RPM_BUILD_ROOT%{webappdir}/httpd.conf cp -p %{SOURCE3} $RPM_BUILD_ROOT%{webappdir}/lighttpd.conf -# gitview -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 -sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon -sed -e 's,@libdir@,%{_libdir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon - -# 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 +sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/rc.d/init.d/git-daemon +sed -e 's,@libdir@/git-core,%{gitcoredir},g' -i $RPM_BUILD_ROOT/etc/sysconfig/rc-inetd/git-daemon + +# same file, link +ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-receive-pack +ln -sf git $RPM_BUILD_ROOT%{_bindir}/git-upload-archive +ln -sf ../..%{gitcoredir}/git-shell $RPM_BUILD_ROOT%{_bindir}/git-shell +ln -sf ../..%{gitcoredir}/git-upload-pack $RPM_BUILD_ROOT%{_bindir}/git-upload-pack +ln -sf ../..%{gitcoredir}/git $RPM_BUILD_ROOT%{_bindir}/git + +# convert all hardlinks to symlinks, as rpm fails to calculate it properly +# requiring excessive free space when it may not be available +# https://bugs.launchpad.net/pld-linux/+bug/1176337 +find $RPM_BUILD_ROOT%{gitcoredir} -samefile $RPM_BUILD_ROOT%{gitcoredir}/git > files +for f in $(cat files); do + f=${f#$RPM_BUILD_ROOT%{gitcoredir}/} + test $f = git && continue + ln -snf git $RPM_BUILD_ROOT%{gitcoredir}/$f +done + +# few others +ln -snf git-gui $RPM_BUILD_ROOT%{gitcoredir}/git-citool +ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-https +ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftp +ln -snf git-remote-http $RPM_BUILD_ROOT%{gitcoredir}/git-remote-ftps # remove unneeded files -%{__rm} $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod -%{__rm} $RPM_BUILD_ROOT%{perl_vendorarch}/auto/Git/.packlist %py_postclean -mv $RPM_BUILD_ROOT%{_localedir}/pt{_PT,} +%{__mv} $RPM_BUILD_ROOT%{_localedir}/pt{_PT,} %find_lang git %clean rm -rf $RPM_BUILD_ROOT +%post +if [ ! -f /etc/shells ]; then + echo "%{_bindir}/git-shell" >> /etc/shells +else + grep -q '^%{_bindir}/git-shell$' /etc/shells || echo "%{_bindir}/git-shell" >> /etc/shells +fi + +%preun +if [ "$1" = "0" ]; then + umask 022 + grep -v '^%{_bindir}/git-shell$' /etc/shells > /etc/shells.new + mv -f /etc/shells.new /etc/shells +fi + %post daemon-inetd %service -q rc-inetd reload @@ -582,7 +692,7 @@ fi %files -f git.lang %defattr(644,root,root,755) -%doc README contrib +%doc README.md contrib-doc %attr(755,root,root) %{_bindir}/git %attr(755,root,root) %{_bindir}/git-receive-pack %attr(755,root,root) %{_bindir}/git-shell @@ -595,10 +705,10 @@ fi %exclude %{_mandir}/man1/git-archimport.1* %exclude %{_mandir}/man1/git-svn.1* %exclude %{_mandir}/man1/git-cvs*.1* -%exclude %{_mandir}/man1/git-imap-send*.1* -%exclude %{_mandir}/man1/*email*.1* +%exclude %{_mandir}/man1/git-imap-send.1* +%exclude %{_mandir}/man1/git-p4.1* +%exclude %{_mandir}/man1/git-send-email.1* %{_mandir}/man1/git.1* -%{_mandir}/man1/gitremote-helpers.1* %{_mandir}/man5/gitattributes.5* %{_mandir}/man5/githooks.5* %{_mandir}/man5/gitignore.5* @@ -608,36 +718,46 @@ fi %{_mandir}/man7/gitcore-tutorial.7* %{_mandir}/man7/gitcredentials.7* %{_mandir}/man7/gitdiffcore.7* +%{_mandir}/man7/giteveryday.7* +%{_mandir}/man7/gitfaq.7* %{_mandir}/man7/gitglossary.7* %{_mandir}/man7/gitnamespaces.7* +%{_mandir}/man7/gitremote-helpers.7* %{_mandir}/man7/gitrevisions.7* +%{_mandir}/man7/gitsubmodules.7* %{_mandir}/man7/gittutorial-2.7* %{_mandir}/man7/gittutorial.7* %{_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-citool +%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-svn +%exclude %{gitcoredir}/mergetools/p4merge +%if %{with gnome_keyring} +%exclude %{gitcoredir}/git-credential-gnome-keyring +%endif +%if %{with libsecret} +%exclude %{gitcoredir}/git-credential-libsecret +%endif %if %{with doc} %files doc @@ -661,6 +781,7 @@ fi %{_libdir}/libgit.a %{_libdir}/libgit_xdiff.a +%if %{with tk} %files gitk %defattr(644,root,root,755) %if %{with doc} @@ -670,6 +791,8 @@ fi %dir %{_datadir}/gitk %dir %{_datadir}/gitk/lib %dir %{_datadir}/gitk/lib/msgs +%lang(bg) %{_datadir}/gitk/lib/msgs/bg.msg +%lang(ca) %{_datadir}/gitk/lib/msgs/ca.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 @@ -677,8 +800,12 @@ fi %lang(it) %{_datadir}/gitk/lib/msgs/it.msg %lang(ja) %{_datadir}/gitk/lib/msgs/ja.msg %lang(pt_BR) %{_datadir}/gitk/lib/msgs/pt_br.msg +%lang(pt_PT) %{_datadir}/gitk/lib/msgs/pt_pt.msg %lang(ru) %{_datadir}/gitk/lib/msgs/ru.msg %lang(sv) %{_datadir}/gitk/lib/msgs/sv.msg +%lang(vi) %{_datadir}/gitk/lib/msgs/vi.msg +%lang(zh_CN) %{_datadir}/gitk/lib/msgs/zh_cn.msg +%endif %files gitweb %defattr(644,root,root,755) @@ -691,20 +818,17 @@ 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* %endif -%files gitview -%defattr(644,root,root,755) -%doc contrib/gitview/gitview.txt -%attr(755,root,root) %{_bindir}/gitview - +%if %{with tk} %files gui %defattr(644,root,root,755) -%attr(755,root,root) %{_libdir}/%{name}/git-gui +%attr(755,root,root) %{gitcoredir}/git-citool +%attr(755,root,root) %{gitcoredir}/git-gui %dir %{_datadir}/git-gui %dir %{_datadir}/git-gui/lib %dir %{_datadir}/git-gui/lib/msgs @@ -712,6 +836,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 @@ -719,26 +844,29 @@ fi %lang(it) %{_datadir}/git-gui/lib/msgs/it.msg %lang(ja) %{_datadir}/git-gui/lib/msgs/ja.msg %lang(nb) %{_datadir}/git-gui/lib/msgs/nb.msg -%lang(pt_br) %{_datadir}/git-gui/lib/msgs/pt_br.msg +%lang(pt) %{_datadir}/git-gui/lib/msgs/pt_pt.msg +%lang(pt_BR) %{_datadir}/git-gui/lib/msgs/pt_br.msg %lang(ru) %{_datadir}/git-gui/lib/msgs/ru.msg %lang(sv) %{_datadir}/git-gui/lib/msgs/sv.msg +%lang(vi) %{_datadir}/git-gui/lib/msgs/vi.msg %lang(zh_CN) %{_datadir}/git-gui/lib/msgs/zh_cn.msg +%endif %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 +874,19 @@ 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 +%if %{with doc} +%{_mandir}/man1/git-p4.1* +%endif %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 %{perl_vendorlib}/Git/SVN %{perl_vendorlib}/Git/SVN.pm %if %{with doc} @@ -765,11 +895,11 @@ 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}/git-send-email %if %{with doc} -%{_mandir}/man1/*email*.1* -%{_mandir}/man1/*imap-send*.1* +%{_mandir}/man1/git-imap-send.1* +%{_mandir}/man1/git-send-email.1* %endif %files -n bash-completion-git @@ -782,9 +912,22 @@ fi %dir %{perl_vendorlib}/Git %{perl_vendorlib}/Git/I18N.pm %{perl_vendorlib}/Git/IndexInfo.pm -%{_mandir}/man3/Git*.3pm* +%{perl_vendorlib}/Git/LoadCPAN.pm +%{perl_vendorlib}/Git/Packet.pm +%dir %{perl_vendorlib}/Git/LoadCPAN +%{perl_vendorlib}/Git/LoadCPAN/Error.pm +%dir %{perl_vendorlib}/Git/LoadCPAN/Mail +%{perl_vendorlib}/Git/LoadCPAN/Mail/Address.pm +%{?with_doc:%{_mandir}/man3/Git.3pm*} + +%if %{with gnome_keyring} +%files -n gnome-keyring-git-core +%defattr(644,root,root,755) +%attr(755,root,root) %{gitcoredir}/git-credential-gnome-keyring +%endif -%files -n vim-syntax-gitcommit +%if %{with libsecret} +%files credential-libsecret %defattr(644,root,root,755) -%doc contrib/vim/README -%{_datadir}/vim/vimfiles/syntax/gitcommit.vim +%attr(755,root,root) %{gitcoredir}/git-credential-libsecret +%endif