diff --git a/.conman.metadata b/.conman.metadata new file mode 100644 index 0000000..2244590 --- /dev/null +++ b/.conman.metadata @@ -0,0 +1 @@ +b8b8ba0c2b784e3260c64fc916c56aacaf14989d SOURCES/conman-0.2.7.tar.bz2 diff --git a/README.md b/README.md deleted file mode 100644 index 0e7897f..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -The master branch has no content - -Look at the c7 branch if you are working with CentOS-7, or the c4/c5/c6 branch for CentOS-4, 5 or 6 - -If you find this file in a distro specific branch, it means that no content has been checked in yet diff --git a/SOURCES/conman-0.2.5-openfiles.patch b/SOURCES/conman-0.2.5-openfiles.patch new file mode 100644 index 0000000..e479b48 --- /dev/null +++ b/SOURCES/conman-0.2.5-openfiles.patch @@ -0,0 +1,12 @@ +diff -urpN conman-0.2.5/etc/conman.sysconfig conman-0.2.5-openfiles/etc/conman.sysconfig +--- conman-0.2.5/etc/conman.sysconfig 2007-05-01 05:46:18.000000000 +0200 ++++ conman-0.2.5-openfiles/etc/conman.sysconfig 2011-12-14 10:34:57.362003774 +0100 +@@ -35,3 +35,8 @@ + # is not reloaded. + ## + # SIGHUP_RELOAD="1" ++ ++## ++# Specify the maximum number of open files ++## ++# NOFILE=10000 diff --git a/SOURCES/conman-0.2.5-strftime.patch b/SOURCES/conman-0.2.5-strftime.patch new file mode 100644 index 0000000..ccbc940 --- /dev/null +++ b/SOURCES/conman-0.2.5-strftime.patch @@ -0,0 +1,49 @@ +diff -urpN conman-0.2.5.orig/util-str.c conman-0.2.5/util-str.c +--- conman-0.2.5.orig/util-str.c 2009-02-13 07:11:56.000000000 +0100 ++++ conman-0.2.5/util-str.c 2013-02-20 13:19:12.666727781 +0100 +@@ -254,37 +254,31 @@ int substitute_string(char *dst, size_t + + char * create_long_time_string(time_t t) + { +- char *p; ++ char buf[160]; + struct tm tm; +- const int len = 25; /* YYYY-MM-DD HH:MM:SS ZONE + NUL */ + +- if (!(p = malloc(len))) { +- out_of_memory(); +- } + get_localtime(&t, &tm); + +- if (strftime(p, len, "%Y-%m-%d %H:%M:%S %Z", &tm) == 0) { ++ if (strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S %Z", &tm) == 0) { + log_err(0, "strftime() failed"); ++ buf[0] = '\0'; + } +- return(p); ++ return(create_string(buf)); + } + + + char * create_short_time_string(time_t t) + { +- char *p; ++ char buf[80]; + struct tm tm; +- const int len = 12; /* MM-DD HH:MM + NUL */ + +- if (!(p = malloc(len))) { +- out_of_memory(); +- } + get_localtime(&t, &tm); + +- if (strftime(p, len, "%m-%d %H:%M", &tm) == 0) { ++ if (strftime(buf, sizeof(buf), "%m-%d %H:%M", &tm) == 0) { + log_err(0, "strftime() failed"); ++ buf[0] = '\0'; + } +- return(p); ++ return(create_string(buf)); + } + + diff --git a/SOURCES/conman.logrotate b/SOURCES/conman.logrotate new file mode 100644 index 0000000..13a135a --- /dev/null +++ b/SOURCES/conman.logrotate @@ -0,0 +1,21 @@ +## +# ConMan Logrotate Configuration +## + +/var/log/conman/* { + compress + missingok + nocopytruncate + nocreate + nodelaycompress + nomail + notifempty + olddir /var/log/conman.old/ + rotate 4 + sharedscripts + size=5M + weekly + postrotate + /usr/bin/killall -HUP conmand + endscript +} diff --git a/SOURCES/conman.service b/SOURCES/conman.service new file mode 100644 index 0000000..2d9a34a --- /dev/null +++ b/SOURCES/conman.service @@ -0,0 +1,10 @@ +[Unit] +Description=ConMan Console Management Daemon +After=network.target + +[Service] +Type=forking +ExecStart=/usr/sbin/conmand -c /etc/conman.conf + +[Install] +WantedBy=multi-user.target diff --git a/SPECS/conman.spec b/SPECS/conman.spec new file mode 100644 index 0000000..073a295 --- /dev/null +++ b/SPECS/conman.spec @@ -0,0 +1,209 @@ +Name: conman +Version: 0.2.7 +Release: 5%{?dist} +Summary: ConMan - The Console Manager + +Group: Applications/System +License: GPLv2+ +URL: http://home.gna.org/conman/ +Source0: http://download.gna.org/%{name}/%{version}/%{name}-%{version}.tar.bz2 +Source1: %{name}.service +Source2: %{name}.logrotate +Patch1: conman-0.2.5-openfiles.patch +Patch2: conman-0.2.5-strftime.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +Requires: logrotate +Requires(post): systemd-units +Requires(preun): systemd-units +Requires(postun): systemd-units +BuildRequires: tcp_wrappers + +%description +ConMan is a serial console management program designed to support a large +number of console devices and simultaneous users. It currently supports +local serial devices and remote terminal servers (via the telnet protocol). +Its features include: + + - mapping symbolic names to console devices + - logging all output from a console device to file + - supporting monitor (R/O), interactive (R/W), and + broadcast (W/O) modes of console access + - allowing clients to join or steal console "write" privileges + - executing Expect scripts across multiple consoles in parallel + +%prep +%setup -q +%patch1 -b .openfiles -p1 +%patch2 -b .strftime -p1 + +%build +# not really lib material, more like share +mv lib share +chmod -x share/examples/*.exp +%{__perl} -pi.orig -e 's|cd lib|cd share|g' \ + Makefile.in +%{__perl} -pi -e 's|lib\/|share\/|g' \ + Makefile.in share/examples/*.exp +# don't strip the bins on install, let find-debug.sh do it +%{__perl} -pi -e 's|-m 755 -s conman|-m 755 conman|g' \ + Makefile.in + +%configure --with-tcp-wrappers +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT +# put in our own initscript and logrotate +install -D -m 0644 %{SOURCE1} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service +rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/init.d +install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/%{name} +# make log directories +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name} +mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}.old +# examples don't belong in datadir... +rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/examples +# these shouldn't be executable +chmod -x $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name} +# adjust perms on main config file +chmod 644 $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf + +%clean +rm -rf "$RPM_BUILD_ROOT" + +%post +if [ $1 -eq 1 ] ; then + # Initial installation + /bin/systemctl daemon-reload >/dev/null 2>&1 || : +fi + +%preun +if [ $1 -eq 0 ] ; then + # Package removal, not upgrade + /bin/systemctl --no-reload disable conman.service > /dev/null 2>&1 || : + /bin/systemctl stop conman.service > /dev/null 2>&1 || : +fi + +%postun +/bin/systemctl daemon-reload >/dev/null 2>&1 || : +if [ $1 -ge 1 ] ; then + # Package upgrade, not uninstall + /bin/systemctl try-restart conman.service >/dev/null 2>&1 || : +fi + +%triggerun -- conman < 0.2.7-1 +# Save the current service runlevel info +# User must manually run systemd-sysv-convert --apply conman +# to migrate them to systemd targets +/usr/bin/systemd-sysv-convert --save conman >/dev/null 2>&1 ||: + +# Run these because the SysV package being removed won't do them +/sbin/chkconfig --del conman >/dev/null 2>&1 || : +/bin/systemctl try-restart conman.service >/dev/null 2>&1 || : + +%files +%defattr(-,root,root,-) +%doc AUTHORS ChangeLog COPYING FAQ NEWS +%doc share/examples +%config(noreplace) %{_sysconfdir}/%{name}.conf +%config(noreplace) %{_sysconfdir}/sysconfig/%{name} +%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} +%{_unitdir}/%{name}.service +%{_localstatedir}/log/%{name} +%{_localstatedir}/log/%{name}.old +%{_bindir}/* +%{_sbindir}/* +%{_datadir}/%{name} +%{_mandir}/*/* + +%changelog +* Tue May 7 2013 Denys Vlasenko - 0.2.7-5 +- Again fixed "License:" in spec file (GPLv2+ -> GPLv3+). + +* Tue May 7 2013 Denys Vlasenko - 0.2.7-4 +- Forward-porting fixes from RHEL6. +- Enlarge buffer used for formatting date in a string format. +- Resolves: rhbz#891938. +- Allow configuration of the maximum number of open files. +- Resolves: rhbz#738967. + +* Wed Feb 13 2013 Fedora Release Engineering - 0.2.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 0.2.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Tue Apr 17 2012 Jon Ciesla - 0.2.7-1 +- Migrate to systemd, BZ 771474. + +* Sun Apr 15 2012 Steven M. Parrish - 0.2.7-0 +- New upstream release + +* Thu Jan 12 2012 Fedora Release Engineering - 0.2.5-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Wed Feb 09 2011 Fedora Release Engineering - 0.2.5-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Fri Jul 24 2009 Fedora Release Engineering - 0.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + +* Mon Jun 08 2009 Steven M. Parrish - 0.2.5-0 +- New upstream release + +* Mon Apr 20 2009 Steven M. Parrish - 0.2.4.1-1 +- New upstream release + +* Tue Feb 24 2009 Fedora Release Engineering - 0.2.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + +* Mon Oct 06 2008 Jarod Wilson 0.2.2-2 +- The console option in conman.conf is case-insensitive, so relax + defined consoles check in initscript (Mark McLoughlin, #465777) + +* Mon Sep 08 2008 Steven M. Parrish 0.2.2-1 +- New upstream release + +* Fri May 02 2008 Jarod Wilson 0.2.1-1 +- New upstream release + +* Wed Feb 13 2008 Jarod Wilson 0.1.9.2-8 +- Bump and rebuild for gcc 4.3 + +* Thu Apr 26 2007 Jarod Wilson 0.1.9.2-7 +- Update project urls +- Fix up initscript exit codes (#237936) + +* Tue Sep 05 2006 Jarod Wilson 0.1.9.2-6 +- Bump for new glibc + +* Fri Jul 28 2006 Jarod Wilson 0.1.9.2-5 +- Properly enable smp_mflags this time + +* Fri Jul 28 2006 Jarod Wilson 0.1.9.2-4 +- Add Reqs on chkconfig and service +- Turn on smp_mflags +- Initial build for RHEL5 + +* Wed Jul 05 2006 Jarod Wilson 0.1.9.2-3 +- Add missing condrestart fuction to initscript + +* Tue Jun 27 2006 Jarod Wilson 0.1.9.2-2 +- Don't strip bins on make install, leave for find-debug.sh + +* Tue Jun 27 2006 Jarod Wilson 0.1.9.2-1 +- Update to 0.1.9.2 + +* Tue Jun 20 2006 Jarod Wilson 0.1.9.1-3 +- Add Requires: logrotate +- Ugh, conmand exits cleanly if no CONSOLE(s) are defined in + /etc/conman.conf, add check to initscript to report failure + if none are defined + +* Wed Jun 14 2006 Jarod Wilson 0.1.9.1-2 +- Create log directories and install working logrotate config +- Use a much cleaner RH/FC-specific initscript + +* Tue Jun 13 2006 Jarod Wilson 0.1.9.1-1 +- Initial build for Fedora Extras