Репозиторий Sisyphus
Последнее обновление: 1 октября 2023 | Пакетов: 18631 | Посещений: 37038025
en ru br
Репозитории ALT
S:2.33.8-alt1
5.1: 1.7.3.4-alt0.M51.1
4.1: 1.5.5.5-alt1
4.0: 1.5.4.5-alt3
3.0:
+backports:1.4.4.4-alt0.M30.1
www.altlinux.org/Changes

Группа :: Разработка/Прочее
Пакет: git

 Главная   Изменения   Спек   Патчи   Sources   Загрузить   Gear   Bugs and FR  Repocop 

Name: git
Version: 1.5.4.5
Release: alt3

Summary: Git core and tools
License: GPL
Group: Development/Other
Url: http://kernel.org/pub/software/scm/git/
Packager: Dmitry V. Levin <ldv at altlinux.org>

# http://git.altlinux.org/people/ldv/packages/?p=git.git

Source: git-%version-%release.tar

%def_enable curl
%def_enable expat
%def_with arch
%def_with cvs
%def_with email
%def_with svn
%def_with tk
%def_with gui
%def_with doc
%def_with emacs
%def_with gitweb
%def_without python

Requires: %name-core = %version-%release, %name-server = %version-%release
%{!?_without_arch:Requires: %name-arch = %version-%release}
%{!?_without_cvs:Requires: %name-cvs = %version-%release}
%{!?_without_email:Requires: %name-email = %version-%release}
%{!?_without_svn:Requires: %name-svn = %version-%release}
%{!?_without_tk:Requires: gitk = %version-%release}
%{!?_without_gui:Requires: %name-gui = %version-%release}
%{!?_without_doc:Requires: %name-doc = %version-%release}
%{!?_without_emacs:Requires: emacs-%name = %version-%release}
%{!?_without_gitweb:Requires: gitweb = %version-%release}

BuildRequires: hardlink, libssl-devel, perl-devel, perl-Error, zlib-devel >= 0:1.2
%{!?_without_python:BuildRequires: python-modules-encodings >= 0:2.4}
%{!?_without_cvs:BuildRequires: perl-DBI}
%{!?_disable_curl:BuildRequires: libcurl-devel}
%{!?_disable_expat:BuildRequires: libexpat-devel}
%{!?_without_email:BuildRequires: perl-Term-ReadLine-Gnu}
%{!?_without_svn:BuildRequires: perl-URI, perl-libwww, subversion, subversion-perl, subversion-server-common}
%{!?_without_doc:BuildRequires: asciidoc > 0:6.0.3, xmlto}
%{?!_without_emacs:BuildRequires: emacs-devel, emacs-nox}
%{?!_without_gitweb:BuildRequires: perl-CGI perl-Encode}
%{?!_without_check:%{?!_disable_check:BuildRequires: unzip}}

%description
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

%package core
Summary: Git core tools
Group: Development/Other
Requires: diffstat, less, openssh-clients
# due to git commit --fast.
Provides: git-commit-fast

%description core
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains core set of Git tools with minimal dependencies.

%package server
Summary: Simple TCP git server for git repositories
Group: System/Servers
Requires: %name-core = %version-%release
PreReq: shadow-utils

%description server
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains git server that normally listens on TCP port 9418.
It waits for a connection, and will just execute "git-upload-pack"
when it gets one.  It is ideally suited for read-only updates, i.e.,
pulling from git repositories.

%package arch
Summary: Git tools for importing Arch repositories
Group: Development/Other
Requires: %name-core = %version-%release, tla

%description arch
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Git tools for importing Arch repositories.

%package cvs
Summary: Git tools for importing CVS repositories
Group: Development/Other
Requires: %name-core = %version-%release, cvs, cvsps

%description cvs
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Git tools for importing CVS repositories.

%package -n perl-Git
Summary: Perl interface to Git
Group: Development/Perl
Requires: %name-core = %version-%release

%description -n perl-Git
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Perl interface to Git.

%package email
Summary: Git tools for sending email
Group: Development/Other
Requires: perl-Git = %version-%release

%description email
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Git tools for sending email.

%package svn
Summary: Git tools for importing Subversion repositories
Group: Development/Other
Requires: %name-core = %version-%release, subversion

%description svn
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Git tools for importing Subversion repositories.

%package -n gitk
Summary: Git revision tree visualiser ('gitk')
Group: Development/Other
Requires: %name-core = %version-%release, tk >= 8.4

%description -n gitk
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Git revision tree visualiser ('gitk').

%package gui
Summary: Git GUI tool
Group: Development/Other
Requires: %name-core = %version-%release, tk >= 8.4

%description gui
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Git GUI tool.

%package -n gitweb
Summary: Git web interface
Group: Development/Other
Requires: %name-core = %version-%release

%description -n gitweb
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains simple web interface to track changes in Git
repositories.

%package -n libgit-devel
Summary: Git develpoment library and header files
Group: Development/C

%description -n libgit-devel
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains libgit.a develpoment library and accompanying
header files.

%package doc
Summary: Git documentation
Group: Development/Documentation
Provides: %name-docs = %version-%release
Obsoletes: %name-docs

%description doc
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains the Git documentation in text and HTML formats.

%define pkgdocdir %_docdir/%name-%version

%package -n emacs-%name
Summary: Emacs modes for Git
Group: Development/Other

%description -n emacs-%name
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.

This package contains Emacs modes for Git.

%prep
%setup -q -n git-%version-%release
%define path_settings ETC_GITCONFIG=/etc/gitconfig prefix=%_prefix libdir=%_libdir mandir=%_mandir htmldir=%pkgdocdir

%build
touch git-gui/credits
%make_build CFLAGS="%optflags" %path_settings \
%{?_disable_curl:NO_CURL=1} \
%{?_disable_expat:NO_EXPAT=1} \
%{?_without_python:NO_PYTHON=1 PYMODULES= SCRIPT_PYTHON=} \
all %{!?_without_doc:doc}
pushd perl
rm Makefile
ln -s perl.mak Makefile
%perl_vendor_build
popd
%{!?_without_emacs:%make_build -C contrib/emacs EMACS=%__emacs}
%{?!__buildreqs:%{?!_without_check:%{?!_disable_check:%__make -k CFLAGS="%optflags" prefix=%prefix test ||:}}}

%install
%make_install CFLAGS="%optflags" %path_settings \
DESTDIR=%buildroot \
%{?_disable_curl:NO_CURL=1} \
%{?_disable_expat:NO_EXPAT=1} \
%{?_without_python:NO_PYTHON=1 PYMODULES= SCRIPT_PYTHON=} \
install install-lib install-include %{!?_without_doc:install-doc}
chmod a-x %buildroot%_bindir/git-sh-setup

pushd perl
rm -v "%buildroot$(eval "`%__perl -V:archlib`"; echo "$archlib")"/*
rm -vr %buildroot%perl_vendor_archlib
%perl_vendor_install
rm -v %buildroot%_man3dir/*.3pm
popd

# git-server.

mkdir -p %buildroot%_sbindir
mv %buildroot%_bindir/git-daemon %buildroot%_sbindir/
install -pD -m640 git.xinetd \
%buildroot%_sysconfdir/xinetd.d/git

%if_with gitweb
install -pDm755 gitweb/gitweb.cgi %buildroot%_datadir/gitweb/gitweb.cgi
install -pm644 gitweb/*.{css,png} gitweb/README \
%buildroot%_datadir/gitweb/
%endif #gitweb

%if_with emacs
%make_install install -C contrib/emacs emacsdir=%buildroot%_emacslispdir
install -pm644 contrib/emacs/*.el %buildroot%_emacslispdir/
mkdir -p %buildroot%_emacs_sitestart_dir
cat >%buildroot%_emacs_sitestart_dir/git.el <<__EOF
; site-start script for Emacs, initializes git and vc-git
; Evgenii Terechkov, Octember 2006

(require 'git)
(add-to-list 'vc-handled-backends 'GIT)
__EOF
%endif #emacs

# Fix manpages.

find %buildroot%_mandir -type f -print0 |
xargs -r0 %__subst -p 's/^\(.\+\)\(\.sp\)$/\1\n\2/' --

# Install docs.

mkdir -p %buildroot%pkgdocdir/
cp -a Documentation/{*/,RelNotes*,SubmittingPatches} \
%{!?_without_doc:Documentation/*.html} \
%buildroot%pkgdocdir/

# Remove unpackaged files.

%{?_without_arch:rm %buildroot%_bindir/git-archimport}
%{?_without_email:rm %buildroot%_bindir/git-*email*}
%{?_without_svn:rm %buildroot%_bindir/git-svn*}

# Avoid compressing templates.

%set_compress_topdir %_mandir

# Hardlink identical files together.

%define __spec_install_custom_post  hardlink -vc %buildroot

%pre server
/usr/sbin/groupadd -r -f _gitd
/usr/sbin/useradd -r -g _gitd -d /dev/null -s /dev/null -c 'The git server' -n _gitd >/dev/null 2>&1 ||:

%files

%files core
%_bindir/*
%exclude %_bindir/git-cvs*
%exclude %_bindir/git-gui
%exclude %_bindir/git-citool
%exclude %_bindir/git-remote
%exclude %_bindir/gitk
%{!?_without_arch:%exclude %_bindir/git-archimport}
%{!?_without_email:%exclude %_bindir/git-*email*}
%{!?_without_svn:%exclude %_bindir/git-svn*}
%_datadir/git-core/
%if_with doc
%_mandir/man?/*
%exclude %_man1dir/git-daemon.*
%exclude %_man1dir/git-svn*.1*
%exclude %_man1dir/git-cvs*.1*
%exclude %_man1dir/git-archimport.1*
%exclude %_man1dir/git-*email*.1*
%exclude %_man1dir/gitk*.1*
%endif #doc

%files server
%_sbindir/git-daemon
%if_with doc
%_man1dir/git-daemon.*
%endif #doc
%attr(640,root,wheel) %config(noreplace) %_sysconfdir/xinetd.d/git

%if_with arch
%files arch
%_bindir/git-archimport
%if_with doc
%_man1dir/git-archimport.1*
%endif #doc
%endif #arch

%if_with cvs
%files cvs
%_bindir/git-cvs*
%if_with doc
%_man1dir/git-cvs*.1*
%endif #doc
%endif #cvs

%files -n perl-Git
%_bindir/git-remote
%perl_vendor_privlib/Git.pm

%if_with email
%files email
%_bindir/git-*email*
%if_with doc
%_man1dir/git-*email*.1*
%endif #doc
%endif #email

%if_with svn
%files svn
%_bindir/git-svn*
%if_with doc
%_man1dir/git-svn*.1*
%endif #doc
%endif #svn

%if_with tk
%files -n gitk
%_bindir/gitk
%_datadir/gitk/
%if_with doc
%_man1dir/gitk.1*
%endif #doc
%endif #tk

%if_with gui
%files gui
%_bindir/git-gui
%_bindir/git-citool
%_datadir/git-gui/
%if_with doc
# Not Yet...
# %_man1dir/git-gui.1*
# %_man1dir/git-citool.1*
%endif #doc
%endif #gui

%if_with gitweb
%files -n gitweb
%_datadir/gitweb/
%endif #gitweb

%files -n libgit-devel
%_libdir/lib*
%_includedir/*

%files doc
%pkgdocdir/

%if_with emacs
%files -n emacs-%name
%_emacs_sitestart_dir/*
%_emacslispdir/*
%endif #emacs

%changelog

Полный changelog можно просмотреть здесь

 
дизайн и разработка: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
текущий майнтейнер: Michael Shigorin