Name: kgb-bot Summary: IRC Collaboration Bot Version: 1.26 Release: 20130512svn880%{dist} License: GPLv2+ Group: Applications/Internet URL: http://kgb.alioth.debian.org Buildarch: noarch # Produce via 'svn export -r880 svn://anonscm.debian.org/kgb/ App-KGB-1.26' # tar -czvf kgb-bot-1.26-20130512svn880.tar.gz App-KGB-1.26 Source: %{name}-%{version}-20130512svn880.tar.gz Source1: %{name}.service Source2: %{name}.init Patch0: JSON-RPC-to-JSON-Legacy-Client.patch AutoReq: 0 BuildRequires: perl BuildRequires: perl(Module::Build) BuildRequires: perl(Class::Accessor) BuildRequires: perl(File::Touch) BuildRequires: perl(IPC::Run) BuildRequires: perl(IPC::System::Simple) BuildRequires: perl(JSON) BuildRequires: perl(JSON::RPC::Legacy::Client) BuildRequires: perl(POE) BuildRequires: perl(POE::Component::IRC) BuildRequires: perl(POE::Component::Server::SOAP) BuildRequires: perl(Proc::PID::File) BuildRequires: perl(SOAP::Lite) BuildRequires: perl(Schedule::RateLimiter) BuildRequires: perl(Time::Piece) BuildRequires: perl(WWW::Shorten) BuildRequires: perl(YAML) BuildRequires: subversion-perl BuildRequires: git-core BuildRequires: perl(Digest::SHA) BuildRequires: perl(Test::Compile) BuildRequires: perl(Test::Perl::Critic) BuildRequires: perl(Test::Pod) BuildRequires: perl(Test::Pod::Coverage) BuildRequires: %{_sbindir}/useradd BuildRequires: %{_sbindir}/groupadd Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: %{name}-client = %{version}-%{release} %if 0%{?fedora} >= 15 BuildRequires: systemd-units Requires(post): systemd-units Requires(preun): systemd-units Requires(postun): systemd-units %else Requires(post): chkconfig Requires(preun): chkconfig Requires(preun): initscripts %endif %description KGB is an IRC bot, helping people work together by notifying an IRC channel when a commit occurs. It supports multiple repositories/IRC channels and is fully configurable. %package client Summary: The kgb-bot's client Group: Applications/Internet AutoReq: 0 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: perl(Class::Accessor) Requires: perl(SOAP::Lite) Requires: subversion-perl Requires: perl(YAML) %description client This package contains the client-side program, kgb-client, which is supposed to be used as an hook in your version control system and sends the notifications to the KGB daemon. Currently supported version control systems are: Subversion, Git (via kgb-client-git package), CVS. %package client-git Summary: The kgb-bot's client Group: Applications/Internet AutoReq: 0 Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version)) Requires: git-core Requires: %{name}-client = %{version}-%{release} Requires: perl(IPC::Run) %description client-git This package adds support of Git version control system to kgb-client. %prep %setup -q -n App-KGB-%{version} %patch0 -p1 %pre getent group Fedora-kgb >/dev/null || groupadd -r Fedora-kgb getent passwd Fedora-kgb >/dev/null || useradd -r -g Fedora-kgb -M -s /sbin/nologin Fedora-kgb exit 0 %preun %if 0%{?fedora} >= 15 if [ $1 -eq 0 ] ; then # Package removal, not upgrade /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || : /bin/systemctl stop %{name}.service > /dev/null 2>&1 || : fi %else if [ $1 -eq 0 ] ; then /sbin/service %{name} stop > /dev/null 2>&1 ||: /sbin/chkconfig --del %{name} fi %endif %post %if 0%{?fedora} >= 15 if [ $1 -eq 1 ] ; then /bin/systemctl daemon-reload >/dev/null 2>&1 || : fi %else /sbin/chkconfig --add %{name} %endif %postun %if 0%{?fedora} >= 15 /bin/systemctl daemon-reload >/dev/null 2>&1 || : if [ $1 -ge 1 ] ; then # Package upgrade, not uninstall /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || : fi %else if [ $1 -ge 1 ] ; then /sbin/service %{name} condrestart >/dev/null 2>&1 ||: fi %endif %build perl Build.PL --destdir . ./Build --installdirs vendor make %{?_smp_mflags} %install ./Build install --installdirs vendor --destdir $RPM_BUILD_ROOT %if 0%{?fedora} >= 15 %{__install} -Dp -m0644 %{SOURCE1} $RPM_BUILD_ROOT/%{_unitdir}/%{name}.service %else mkdir -p $RPM_BUILD_ROOT/%{_initrddir}/ %{__install} -Dp -m0644 %{SOURCE2} $RPM_BUILD_ROOT/%{_sysconfdir}/init.d/%{name} %endif find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \; %{_fixperms} $RPM_BUILD_ROOT/* %check # Export an UTF8 locale since the tests demand them. LANG=en_US.utf8 LC_ALL=en_US.utf8 ./Build test %files %doc Changes LICENSE %config(noreplace) %{_sysconfdir}/%{name}/kgb.conf %attr(640, Fedora-kgb, Fedora-kgb) %{_sysconfdir}/%{name}/kgb.conf %{_sbindir}/kgb-split-config %{_sbindir}/%{name} %{_sbindir}/kgb-add-project %{_mandir}/man1/%{name}.* %{_mandir}/man1/kgb-split-config.* %{_mandir}/man1/kgb-add-project.* %{_mandir}/man5/kgb.conf.* %{_mandir}/man7/kgb-protocol.7* %if 0%{?fedora} >= 15 %{_unitdir}/%{name}.service %else %{_initrddir}/%{name} %endif %files client %doc Changes eg/kgb-client.conf.sample eg/post-commit LICENSE %{_bindir}/kgb-client %{_mandir}/man1/kgb-client.* %{_mandir}/man3/App::KGB* %{_mandir}/man3/WWW::Shorten* %{_mandir}/man5/kgb-client.conf.* %{perl_vendorlib}/* %files client-git %doc Changes LICENSE %{_mandir}/man3/App::KGB::Client::Git.3pm* %{perl_vendorlib}/App/KGB/Client/Git.pm %changelog * Sat May 11 2013 Andrea Veri - 1.26-20130512svn880 - First package release.