Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37496354
en ru br
ALT Linux repositórios
S:3.6.13-alt1

Group :: Sistema/Servidores
RPM: gitolite

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

# SPEC file for gilolite package

Name: gitolite
Version: 3.6.13
Release: alt1

Summary: Highly flexible server for git directory version tracker
License: %gpl2only
Group: System/Servers

Url: https://gitolite.com/gitolite/
#Url: http://github.com/sitaramc/gitolite
Source0: %name-%version.tar
Patch0:  %name-%version-%release.patch

# Patched qt version is able to function without X-server running

# https://github.com/wkhtmltopdf/qt
Source1: doc-%version.tar
Patch1:  doc-%version-%release.patch


Source2: README.ALT
Source3: gitolite.logrotate

# (fedora) Far from being upstreamable

Patch2: gitolite-3.0-rpm.patch

Packager: Michael Shigorin <mike at altlinux.org>

BuildArch: noarch

# Automatically added by buildreq on Fri Jul 16 2021 (-bi)

# optimized out: bash4 bashrc cmake-modules gem-bundler gem-method-source gem-power-assert gem-rake gem-setup git-core libsasl2-3 openssh-common perl perl-IO-Socket-Timeout perl-PerlIO-via-Timeout perl-Try-Tiny perl-parent python3 python3-base python3-module-paste rpm-build-python3 ruby ruby-coderay ruby-rdoc ruby-stdlibs setup-rb sh4
BuildRequires: perl-Encode perl-Text-Balanced perl-Redis

BuildRequires(pre): rpm-build-licenses
BuildRequires: perl-Text-Markdown

# Redis cache module tries to start Redis server - we obviously don't want this inside BTE

%add_findreq_skiplist */Gitolite/Cache.pm

%define gitolite_homedir %_localstatedir/%name

%description
Gitolite allows a server to host many git repositories and
provide access to many developers, without having to give them
real userids on the server.  The essential magic in doing this
is ssh's pubkey access and the authorized keys file, and the
inspiration was an older program called gitosis.

Gitolite can restrict who can read from (clone/fetch) or write
to (push) a repository. It can also restrict who can push to what
branch or tag, which is very important in a corporate environment.
Gitolite can be installed without requiring root permissions, and
with no additional software than git itself and perl. It also has
several other neat features described below and elsewhere in the
doc/ directory.

%package doc
Summary: documentation for the gitolite server
Group: Documentation

%description doc
Gitolite allows a server to host many git repositories and
provide access to many developers, without having to give them
real userids on the server.

This package contains Gitolite documentation.


%prep
%setup
%patch0 -p1

mkdir doc
pushd doc
tar -x -f %SOURCE1
patch -p1 < %PATCH1
popd


%patch2
cp %SOURCE2 .

mv -f -- COPYING COPYING.orig
ln -s -- $(relative %_licensedir/GPL-2 %_docdir/%name/COPYING) COPYING

%build
# Contributed test suite
rm -rf -- contrib/t

# Format documentation

find doc/docs/ -name '*.mkd' | while read F; do
   perl -MText::Markdown >${F/.mkd/.html} <$F \
       -e 'print Text::Markdown::markdown (join "", <>)'
done


%install
install -d %buildroot%gitolite_homedir/.ssh
install -d %buildroot%_bindir
install -d %buildroot%perl_vendor_privlib
install -d %buildroot%_datadir/%name
install -d %buildroot%_logdir/%name

install -p src/gitolite %buildroot%_bindir
install -p src/gitolite-shell %buildroot%_bindir
cp -a src/lib/* %buildroot%perl_vendor_privlib
cp -a src/{VREF,commands,syntactic-sugar,triggers} %buildroot%_datadir/%name
cp -a check-g2-compat convert-gitosis-conf %buildroot%_datadir/%name

touch %buildroot%gitolite_homedir/.ssh/authorized_keys

# VERSION file

echo "v%version-%release" > %buildroot%_datadir/%name/VERSION

install -d %buildroot%_logrotatedir
install -m 640 %SOURCE3 %buildroot%_logrotatedir/%name

## Documentation

mkdir -p docs/contrib
pushd doc/docs
cp    *.html ../../docs/
cp    contrib/*.html ../../docs/contrib
cp -a css/ ../../docs/
popd


%pre
# FIXME: _%name?
getent group %name >/dev/null || groupadd -r %name ||:
getent passwd %name >/dev/null || \
useradd -r -g %name -d %gitolite_homedir -s /bin/sh \
       -c "git repository hosting" %name ||:

%triggerpostun  -- gitolite < 3.0
echo "---------------- gitolite -------------------------"
echo "  WARNING: there are no automatic upgrade procedure"
echo "  from gitolite g2 (2.x) to the g3 (3.x)"
echo "  See instructions for manual migration in"
echo "  g2migr*.html files in doc directory."
echo "---------------------------------------------------"

%files
%doc README.markdown CHANGELOG CONTRIBUTING
%doc README.ALT
%doc --no-dereference COPYING
%doc contrib

%_bindir/*
%perl_vendor_privlib/*
%_datadir/%name

%attr(750,%name,%name) %dir %gitolite_homedir
%attr(750,%name,%name) %dir %gitolite_homedir/.ssh
%config(noreplace) %attr(640,%name,%name) %gitolite_homedir/.ssh/authorized_keys

%attr(0730,root,%name) %dir %_logdir/%name

%config %_logrotatedir/%name

%files doc
%doc docs/*


%changelog

Todas as alterações você pod ver aqui

 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009