%global commit 7679678a47d5f6c1f6b70cc7a2e8caa08c74e44b %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global username rancid Name: rancid Version: 2.3.9 Release: 2%{?dist} Epoch: 1 Summary: Really Awesome New Cisco confIg Differ Group: Applications/Internet License: BSD with advertising URL: https://github.com/dotwaffle/rancid-git/ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) Source0: https://github.com/dotwaffle/rancid-git/archive/%{commit}/%{name}-git-%{commit}.tar.gz Source1: %{name}.cron Source2: %{name}.logrotate Source10: vrancid.in Source11: vlogin.in Patch0: %{name}-2.3.9-conf.patch # Remove show system/version as in Dell switches it contains uptime Patch1: %{name}-2.3.9-dell.patch # Add VyOS firewall support Patch2: %{name}-2.3.9-vyos.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: cvs BuildRequires: expect >= 5.40 BuildRequires: iputils BuildRequires: libtool BuildRequires: openssh-clients BuildRequires: perl BuildRequires: rsh BuildRequires: subversion BuildRequires: telnet Requires(pre): shadow-utils Requires: expect >= 5.40 Requires: findutils Requires: iputils Requires: logrotate Requires: perl %description RANCID monitors a router's (or more generally a device's) configuration, including software and hardware (cards, serial numbers, etc) and uses CVS (Concurrent Version System), Subversion or GIT to maintain history of changes. %prep %setup -qn %{name}-git-%{commit} %patch0 -p1 %patch1 -p1 %patch2 -p1 # VyOS device support cp %{SOURCE10} %{SOURCE11} bin/ %build autoreconf -v --install %configure \ --sysconfdir=%{_sysconfdir}/%{name} \ --bindir=%{_libexecdir}/%{name} \ --enable-conf-install \ --with-git make %{?_smp_mflags} %install rm -rf %{buildroot} make install DESTDIR=%{buildroot} INSTALL="install -p" install -d -m 0755 %{buildroot}%{_localstatedir}/%{name} install -d -m 0755 %{buildroot}%{_localstatedir}/log/%{name} install -d -m 0755 %{buildroot}%{_localstatedir}/log/%{name}/old install -d -m 0755 %{buildroot}%{_sysconfdir}/cron.d install -d -m 0755 %{buildroot}%{_bindir}/ # Symlink some bins from %%{_libexecdir}/%%{name} to %%{_bindir} for base in %{name} %{name}-cvs %{name}-fe %{name}-run; do ln -sf %{_libexecdir}/%{name}/$base %{buildroot}%{_bindir}/$base done # Cron file install -D -p -m 0755 %{SOURCE1} %{buildroot}%{_sysconfdir}/cron.d/%{name} sed -i 's|RANCIDBINDIR|%{_libexecdir}/%{name}|g' %{buildroot}%{_sysconfdir}/cron.d/%{name} # Logrotate file install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} %clean rm -rf %{buildroot} %pre getent group %username >/dev/null || groupadd -r %username &>/dev/null || : getent passwd %username >/dev/null || useradd -r -s /bin/bash \ -d %{_localstatedir}/%{name} -M -c 'RANCID' -g %username %username &>/dev/null || : exit 0 %files %defattr(-,root,root,-) %doc CHANGES cloginrc.sample COPYING FAQ README README.lg Todo %attr(750,%{name},%{name}) %dir %{_sysconfdir}/%{name} %attr(640,%{name},%{name}) %config(noreplace) %{_sysconfdir}/%{name}/* %attr(644,root,root) %config(noreplace) %{_sysconfdir}/cron.d/%{name} %attr(644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %{_libexecdir}/%{name} %{_bindir}/* %{_mandir}/*/* %{_datadir}/%{name} %attr(750,%{name},%{name}) %dir %{_localstatedir}/log/%{name} %attr(750,%{name},%{name}) %dir %{_localstatedir}/log/%{name}/old %attr(750,%{name},%{name}) %dir %{_localstatedir}/%{name}/ %changelog * Thu Feb 05 2015 Simone Caronni - 1:2.3.9-2 - Add VyOS to Rancid frontend. * Mon Feb 02 2015 Simone Caronni - 1:2.3.9-1 - Update to latest git. - Use packaging guidelines for Github URLs. - Remove show system/version from SMC for Dell switches, it contains uptime that triggers an update every time. - Add VyOS support. * Tue Oct 29 2013 Simone Caronni - 1:2.3.8-6 - Fix diff mail sending with git repositories. * Tue Oct 01 2013 Simone Caronni - 1:2.3.8-5 - Update to latest git. * Mon Jun 17 2013 Simone Caronni - 1:2.3.8-4 - Updated for git-remote support. * Tue Jun 04 2013 Simone Caronni - 1:2.3.8-3 - Format SPEC file. - Rework Rancid user creation according to packaging guidelines. - Bump Epoch to avoid upgrades with official Rancid from EPEL. - Switch to Github source URL format as per packaging guidelines. * Thu Feb 14 2013 Fedora Release Engineering - 2.3.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Sun Jul 22 2012 Sven Lankes - 2.3.8-1 - New upstream release * Sat Jul 21 2012 Fedora Release Engineering - 2.3.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Sat Jan 14 2012 Fedora Release Engineering - 2.3.6-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Wed Feb 09 2011 Fedora Release Engineering - 2.3.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Sun Jan 23 2011 Peter Robinson 2.3.6-1 - New upstream 2.3.6 release * Tue Sep 28 2010 Peter Robinson 2.3.4-1 - New upstream 2.3.4 release * Wed Jul 22 2009 Gary T. Giesen 2.3.2-3 - Changed GECOS name for rancid user * Wed Jul 22 2009 Gary T. Giesen 2.3.2-2 - Added logrotate (and updated crontab to let logrotate handle log file cleanup - Removed Requires: for rsh, telnet, and openssh-clients - Removed Requires: for cvs - Cleaned up file permissions - Added shell for rancid user for CVS tree creation and troubleshooting - Patch cron file for installation path - Removed installation of CVS root to permit SVN use - Moved from libdir to libexecdir * Thu Jul 16 2009 Gary T. Giesen 2.3.2-1 - Updated to 2.3.2 stable - Removed versioned expect requirement so all supported Fedora/EPEL releases now meet the minimum - Spec file cleanup/style changes * Wed Oct 08 2008 Aage Olai Johnsen 2.3.2-0.6a8 - Some fixes (#451189) * Tue Sep 30 2008 Aage Olai Johnsen 2.3.2-0.5a8 - Some fixes (#451189) * Tue Sep 30 2008 Aage Olai Johnsen 2.3.2-0.4a8 - More fixes (#451189) - Patched Makefiles - Supplied by Mamoru Tasaka (mtasaka@ioa.s.u-tokyo.ac.jp) * Tue Sep 23 2008 Aage Olai Johnsen 2.3.2-0.3a8 - More fixes (#451189) * Wed Jul 09 2008 Aage Olai Johnsen 2.3.2a8-0.2a8 - Plenty of fixes (#451189) - Patched rancid.conf-file - Added cronjob * Sat May 31 2008 Aage Olai Johnsen 2.3.2a8-0.1 - Initial RPM release