Compare commits
30 Commits
| Author | SHA256 | Date | |
|---|---|---|---|
| d4800e90ef | |||
| a89b09eab4 | |||
| 76cd0c9f04 | |||
| f10bbfff84 | |||
| 1226f6524e | |||
| 0cd93c2282 | |||
| bbf1de33fa | |||
| 916dfa917c | |||
| 1623b2e48f | |||
| c4873cc2bf | |||
| a1f50628bb | |||
| 2e76d383cd | |||
| d5f93d529f | |||
| 49dbd6f67b | |||
| 6958306b9d | |||
| 8a420fdbca | |||
| 231fb084f5 | |||
| ee2cb305d1 | |||
| a5a64c6694 | |||
| cab2f2a8ec | |||
| bc16b82510 | |||
| 6b143a3039 | |||
| 1f8a4c8048 | |||
| 0061fee891 | |||
| efa8583fbc | |||
| 8d2d7b9a5b | |||
| 7bc71f840c | |||
| d039b7adde | |||
| e54b4753ec | |||
| b5b1190e71 |
8
_service
8
_service
@@ -1,9 +1,11 @@
|
|||||||
<services>
|
<services>
|
||||||
<service mode="disabled" name="obs_scm">
|
<service mode="disabled" name="obs_scm">
|
||||||
<param name="url">git://github.com/openSUSE/cscreen.git</param>
|
<param name="url">https://github.com/openSUSE/cscreen.git</param>
|
||||||
<param name="scm">git</param>
|
<param name="scm">git</param>
|
||||||
<param name="revision">master</param>
|
<param name="revision">161c01c01ee4103fd5be1b31c211307e2a016092</param>
|
||||||
<param name="versionformat">0.7</param>
|
<param name="versionformat">@PARENT_TAG@</param>
|
||||||
|
<param name="versionrewrite-pattern">[v]?([^\+]+)(.*)</param>
|
||||||
|
<param name="versionrewrite-replacement">\1</param>
|
||||||
<param name="extract">cscreen.spec</param>
|
<param name="extract">cscreen.spec</param>
|
||||||
<param name="extract">cscreen-rpmlintrc</param>
|
<param name="extract">cscreen-rpmlintrc</param>
|
||||||
</service>
|
</service>
|
||||||
|
|||||||
@@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:3bbbf10a0d382b2d615d1a5f3df23b731a4014d42c3ebda57cfd76be50617ab6
|
|
||||||
size 18120
|
|
||||||
3
cscreen-1.8.tar.xz
Normal file
3
cscreen-1.8.tar.xz
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:e3db67afcb718cd6aa2b3360f99a9de3c0a43944199597ba14db0902ea1339fb
|
||||||
|
size 7900
|
||||||
3
cscreen-rpmlintrc
Normal file
3
cscreen-rpmlintrc
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
addFilter('suse-logrotate-user-writable-log-dir')
|
||||||
|
addFilter('non-conffile-in-etc')
|
||||||
|
addFilter('hidden-file-or-dir')
|
||||||
115
cscreen.changes
115
cscreen.changes
@@ -1,3 +1,118 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Mar 18 18:18:18 UTC 2024 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.8
|
||||||
|
- disable screen and colon command in example cscreenrc
|
||||||
|
- reduce the default nice level to 3 for entire screen session
|
||||||
|
- provide sol-via-impi.sh and sol-via-ssh.sh
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 14 14:14:14 UTC 2024 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.7
|
||||||
|
- screen uses select(2), which is limited to FD_SETSIZE open file descriptors
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 8 16:00:49 UTC 2024 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.6
|
||||||
|
- Fix sysusers.d usage to make system-user-cscreen installable
|
||||||
|
- Remove pre-systemd support
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Feb 5 05:05:05 UTC 2024 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.5
|
||||||
|
- Create system-user-cscreen
|
||||||
|
- add example for virsh console (bsc#1213936)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 9 14:14:14 UTC 2022 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.4
|
||||||
|
- remove braces from rpm macros
|
||||||
|
- expand %name in rpm specfile for some files
|
||||||
|
- Include new tmpfile in files section
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 9 13:13:13 UTC 2022 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.3
|
||||||
|
- restrict usage of cscreen to a trusted set of users (bsc#1196451, CVE-2022-21946)
|
||||||
|
- remove usage of fixed path /tmp/cscreen.debug (bsc#1196446, CVE-2022-21945)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Sep 27 13:48:15 UTC 2021 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.2
|
||||||
|
- fix default logtstamp string
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 21 12:13:14 UTC 2021 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.1
|
||||||
|
- set hard status in cscreenrc example
|
||||||
|
- use wrapper script for shell/SHELL
|
||||||
|
- fix screen execution
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 20 10:20:30 UTC 2021 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 1.0
|
||||||
|
- start cscreen earlier by ordering it right after local-fs.target
|
||||||
|
- add zombie_timeout to default cscreenrc
|
||||||
|
- adjust Requires for scriptlets
|
||||||
|
- package cscreen-rpmlintrc
|
||||||
|
- Set LimitNOFILE= to compensate for lack of SCREEN_FILE_LIMIT
|
||||||
|
- use fillup and sysconfig only with sysv
|
||||||
|
- fillup file should be owned by root
|
||||||
|
- use DISABLE_RESTART_ON_UPDATE also with sysv
|
||||||
|
- %license macro does not work reliably in 13.2
|
||||||
|
- check if rpm macro has_systemd exists
|
||||||
|
- own suders.d if needed
|
||||||
|
- use name macro consistently
|
||||||
|
- remove Requires for apparently unused mailx
|
||||||
|
- use screen variable in cscreen script
|
||||||
|
- use SCREEN_OWNER in cscreen script
|
||||||
|
- use SCREENRC variable consistently
|
||||||
|
- use SCREEN_NAME variable consistently
|
||||||
|
- remove leading slash from sysv SCREEN_NAME
|
||||||
|
- move defscrollback to SCREEN_HISTORY
|
||||||
|
- Pass more characters to the remote system (bsc#1162835).
|
||||||
|
- Get rid of /etc/sudoers.d directory to avoid file conflicts at install time
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Sep 11 18:25:10 UTC 2020 - Franck Bui <fbui@suse.com>
|
||||||
|
|
||||||
|
- Make use of %service_del_postun_without_restart
|
||||||
|
|
||||||
|
And stop using DISABLE_RESTART_ON_UPDATE as this interface is
|
||||||
|
obsolete.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 25 10:10:10 UTC 2020 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- version 0.8
|
||||||
|
- Fix shell syntax in FORCE_UPDATE test
|
||||||
|
- add defattr
|
||||||
|
- Wrap %license
|
||||||
|
- add BuildRoot
|
||||||
|
- Move lock file from /etc/cscreenrc_allow_update to /dev/shm/.cscreenrc_allow_update
|
||||||
|
- Set DISABLE_RESTART_ON_UPDATE=yes
|
||||||
|
- carry permissions of sudoers.d content
|
||||||
|
- Remove BuildRequires screen and sudo
|
||||||
|
- Add hint how to use SCREEN_OWNER with systemd
|
||||||
|
- Adjust default username in sysv rccscreen
|
||||||
|
- Adjust comment in cscreen to refer to default username
|
||||||
|
- mark sudoers as config to preserve local modifications
|
||||||
|
- Use correct user _cscreen for logrotate.conf
|
||||||
|
- Add execute permissions to /var/log/screen
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon Aug 24 15:15:15 UTC 2020 - olaf@aepfle.de
|
||||||
|
|
||||||
|
- Adjust permissions for ~_cscreen
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jun 10 09:45:43 UTC 2020 - Thomas Renninger <trenn@suse.de>
|
Wed Jun 10 09:45:43 UTC 2020 - Thomas Renninger <trenn@suse.de>
|
||||||
|
|
||||||
|
|||||||
184
cscreen.spec
184
cscreen.spec
@@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file for package cscreen
|
# spec file for package cscreen
|
||||||
#
|
#
|
||||||
# Copyright (c) 2020 SUSE LLC
|
# Copyright (c) 2024 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@@ -16,142 +16,134 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
%define GROUPNAME _cscreen
|
|
||||||
%define USERNAME _cscreen
|
%define USERNAME _cscreen
|
||||||
%define HOMEDIR %{_localstatedir}/lib/cscreen
|
%define HOMEDIR %_localstatedir/lib/cscreen
|
||||||
%if ! %{defined _fillupdir}
|
|
||||||
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
|
||||||
%endif
|
|
||||||
%if 0%{?suse_version} > 1210
|
|
||||||
%define has_systemd 1
|
|
||||||
BuildRequires: pkgconfig(systemd)
|
|
||||||
%{?systemd_ordering}
|
|
||||||
%else
|
|
||||||
%define has_systemd 0
|
|
||||||
Requires(pre): %insserv_prereq
|
|
||||||
%endif
|
|
||||||
Name: cscreen
|
Name: cscreen
|
||||||
Version: 0.7
|
Version: 1.8
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Console screen
|
Summary: Console screen
|
||||||
License: BSD-4-Clause
|
License: BSD-4-Clause
|
||||||
Group: System/Management
|
Group: System/Management
|
||||||
URL: https://github.com/openSUSE/cscreen
|
URL: https://github.com/openSUSE/cscreen
|
||||||
Source: %{name}-%{version}.tar.xz
|
Source: %name-%version.tar.xz
|
||||||
BuildRequires: screen
|
Source1: %name-rpmlintrc
|
||||||
BuildRequires: sudo
|
BuildRequires: sudo
|
||||||
Recommends: logrotate
|
Recommends: logrotate
|
||||||
Requires: mailx
|
|
||||||
Requires: screen
|
Requires: screen
|
||||||
Requires: sudo
|
Requires: sudo
|
||||||
Requires(postun): /usr/bin/rm
|
Requires(postun): coreutils
|
||||||
# FIXME: use proper Requires(pre/post/preun/...)
|
BuildRequires: pkgconfig(systemd)
|
||||||
PreReq: %fillup_prereq
|
BuildRequires: sysuser-tools
|
||||||
PreReq: shadow
|
Requires(pre): system-user-%name = %version-%release
|
||||||
|
%{?systemd_ordering}
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
This package allows to run multiple consoles in one 'screen' and
|
This package allows to run multiple consoles in one 'screen' and
|
||||||
to start the screen automatically during boot.
|
to start the screen automatically during boot.
|
||||||
|
|
||||||
|
%package -n system-user-%name
|
||||||
|
Summary: System user %USERNAME
|
||||||
|
%if 0%{?suse_version} > 1320
|
||||||
|
Requires(pre): group(dialout)
|
||||||
|
Requires(pre): group(tty)
|
||||||
|
%endif
|
||||||
|
%?sysusers_requires
|
||||||
|
|
||||||
|
%description -n system-user-%name
|
||||||
|
System user %USERNAME
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup
|
%autosetup -p1
|
||||||
#
|
#
|
||||||
%build
|
%build
|
||||||
#
|
#
|
||||||
%install
|
%install
|
||||||
mkdir -p %{buildroot}/%{_sbindir}
|
> %name.files
|
||||||
|
if ! test -d %_sysconfdir/sudoers.d
|
||||||
|
then
|
||||||
|
echo '%%dir %_sysconfdir/sudoers.d' >> %name.files
|
||||||
|
fi
|
||||||
|
mkdir -p %buildroot/%_sbindir
|
||||||
|
|
||||||
%if %{?has_systemd}
|
install -Dm644 cscreen.service %buildroot/%_unitdir/cscreend.service
|
||||||
install -Dm644 systemd/cscreen.service %{buildroot}/%{_unitdir}/%{name}d.service
|
pushd %buildroot/%_sbindir
|
||||||
pushd %{buildroot}/%{_sbindir}
|
ln -sf service %buildroot%_sbindir/rccscreend
|
||||||
ln -sf service %{buildroot}%{_sbindir}/rc%{name}d
|
|
||||||
popd
|
popd
|
||||||
%else
|
mkdir -vp %buildroot%_tmpfilesdir
|
||||||
install -Dm755 systemd/cscreen.init %{buildroot}/%{_sysconfdir}/init.d/cscreend
|
tee %buildroot%_tmpfilesdir/%name.conf <<'_EOF_'
|
||||||
pushd %{buildroot}/%{_sbindir}
|
d %_rundir/%name 0750 %USERNAME %USERNAME -
|
||||||
ln -s %{_sysconfdir}/init.d/%{name}d rc%{name}d
|
_EOF_
|
||||||
popd
|
suc='system-user-%name.conf'
|
||||||
%endif
|
tee "${suc}" <<'_EOC_'
|
||||||
|
u %USERNAME - "cscreen daemon user" %HOMEDIR /bin/bash
|
||||||
|
m %USERNAME dialout
|
||||||
|
m %USERNAME tty
|
||||||
|
_EOC_
|
||||||
|
mkdir -p '%buildroot%_sysusersdir'
|
||||||
|
cp -avLt "$_" "${suc}"
|
||||||
|
%sysusers_generate_pre "${suc}" system-user-%name
|
||||||
|
|
||||||
install -Dm640 configs/%{name}.config %{buildroot}/%{_sysconfdir}/%{name}rc
|
install -Dm640 configs/cscreen.config %buildroot/%_sysconfdir/cscreenrc
|
||||||
install -Dm644 configs/%{name}.logrotate %{buildroot}/%{_sysconfdir}/logrotate.d/%{name}
|
install -Dm644 configs/cscreen.logrotate %buildroot/%_sysconfdir/logrotate.d/%name
|
||||||
install -Dm644 configs/%{name}.sudoers %{buildroot}%{_sysconfdir}/sudoers.d/cscreen
|
install -Dm644 configs/cscreen.sudoers %buildroot%_sysconfdir/sudoers.d/%name
|
||||||
install -Dm644 configs/%{name}.sysconfig %{buildroot}/%{_fillupdir}/sysconfig.%{name}
|
install -Dm755 src/cscreen-shell %buildroot/%_datadir/%name/cscreen-shell
|
||||||
install -Dm755 src/%{name} %{buildroot}/%{_bindir}/%{name}
|
install -Dm555 src/sol-via-ipmi.sh %buildroot/%_datadir/%name/sol-via-ipmi.sh
|
||||||
install -Dm755 src/%{name}_update_config.sh %{buildroot}/%{_bindir}/cscreen_update_config.sh
|
install -Dm555 src/sol-via-ssh.sh %buildroot/%_datadir/%name/sol-via-ssh.sh
|
||||||
|
install -Dm755 src/cscreen %buildroot/%_bindir/%name
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/log/screen/old
|
install -Dm755 src/cscreen_update_config.sh %buildroot/%_bindir/cscreen_update_config.sh
|
||||||
mkdir -pm770 %{buildroot}/%{HOMEDIR}
|
|
||||||
mkdir -pm700 %{buildroot}/%{HOMEDIR}/.ssh
|
|
||||||
|
|
||||||
|
mkdir -p %buildroot%_localstatedir/log/screen/old
|
||||||
|
mkdir -pm700 %buildroot/%HOMEDIR
|
||||||
|
mkdir -pm700 %buildroot/%HOMEDIR/.ssh
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
%if %{?has_systemd}
|
%service_add_pre cscreend.service
|
||||||
%service_add_pre %{name}d.service
|
|
||||||
%endif
|
|
||||||
getent group %{GROUPNAME} >/dev/null || groupadd -r %{GROUPNAME}
|
|
||||||
if getent group tty >/dev/null;then
|
|
||||||
TTY_GROUP="-G tty"
|
|
||||||
if getent group dialout >/dev/null;then
|
|
||||||
TTY_GROUP="$TTY_GROUP,dialout"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
TTY_GROUP=""
|
|
||||||
echo "WARNING: Could not find tty group"
|
|
||||||
fi
|
|
||||||
getent passwd %{USERNAME} >/dev/null || \
|
|
||||||
useradd -r -g %{GROUPNAME} -d %{HOMEDIR} -s /bin/bash \
|
|
||||||
-c "cscreen daemon user" %{USERNAME} $TTY_GROUP
|
|
||||||
|
|
||||||
%post
|
%post
|
||||||
%if %{?has_systemd}
|
%service_add_post cscreend.service
|
||||||
%service_add_post %{name}d.service
|
%tmpfiles_create %_tmpfilesdir/%name.conf
|
||||||
%else
|
|
||||||
%{fillup_and_insserv %{name}d }
|
|
||||||
%endif
|
|
||||||
%fillup_only %{name}
|
|
||||||
|
|
||||||
%preun
|
%preun
|
||||||
%if %{?has_systemd}
|
%service_del_preun cscreend.service
|
||||||
%service_del_preun %{name}d.service
|
|
||||||
%else
|
|
||||||
%stop_on_removal %{name}d
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun
|
%postun
|
||||||
%if %{?has_systemd}
|
%if %{defined service_del_postun_without_restart}
|
||||||
%service_del_postun %{name}d.service
|
%service_del_postun_without_restart cscreend.service
|
||||||
%else
|
%else
|
||||||
%restart_on_update %{name}d
|
DISABLE_RESTART_ON_UPDATE=yes
|
||||||
%insserv_cleanup
|
%service_del_postun cscreend.service
|
||||||
%endif
|
%endif
|
||||||
if [ -d /run/uscreens/S-cscreen ];then
|
if [ -d %_rundir/uscreens/S-cscreen ];then
|
||||||
if [ "$1" = "0" ];then
|
if [ "$1" = "0" ];then
|
||||||
# Only delete on uninstall
|
# Only delete on uninstall
|
||||||
rm -rf /run/uscreens/S-cscreen
|
rm -rf %_rundir/uscreens/S-cscreen
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
%files
|
%pre -n system-user-%name -f system-user-%name.pre
|
||||||
%doc docs/motd_example
|
%files -n system-user-%name
|
||||||
%license License
|
%_sysusersdir/*.conf
|
||||||
%{_bindir}/%{name}
|
|
||||||
%{_bindir}/cscreen_update_config.sh
|
|
||||||
%if %{?has_systemd}
|
|
||||||
%{_unitdir}/cscreend.service
|
|
||||||
%else
|
|
||||||
%{_sysconfdir}/init.d/cscreend
|
|
||||||
%endif
|
|
||||||
%{_sbindir}/rc%{name}d
|
|
||||||
|
|
||||||
%{_sysconfdir}/sudoers.d/cscreen
|
%files -f %name.files
|
||||||
%attr(644,%{USERNAME}, %{GROUPNAME}) %dir %{_localstatedir}/log/screen
|
%doc README.md
|
||||||
%attr(644,%{USERNAME}, %{GROUPNAME}) %dir %{_localstatedir}/log/screen/old
|
%doc docs/motd_example
|
||||||
%attr(644,%{USERNAME}, %{GROUPNAME}) %{_fillupdir}/sysconfig.%{name}
|
%if 0%{?suse_version} > 1320
|
||||||
%attr(770,%{USERNAME}, %{GROUPNAME}) %dir %{HOMEDIR}
|
%license License
|
||||||
%attr(700,%{USERNAME}, %{GROUPNAME}) %dir %{HOMEDIR}/.ssh
|
%endif
|
||||||
%attr(644,%{USERNAME}, %{GROUPNAME}) %config(noreplace) %{_sysconfdir}/%{name}rc
|
%_bindir/%name
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
|
%_bindir/cscreen_update_config.sh
|
||||||
|
%_datadir/%name
|
||||||
|
%_tmpfilesdir/%name.conf
|
||||||
|
%_unitdir/cscreend.service
|
||||||
|
%_sbindir/rccscreend
|
||||||
|
|
||||||
|
%attr(0640,root,root) %config %_sysconfdir/sudoers.d/%name
|
||||||
|
%attr(755,%{USERNAME}, %{USERNAME}) %dir %_localstatedir/log/screen
|
||||||
|
%attr(755,%{USERNAME}, %{USERNAME}) %dir %_localstatedir/log/screen/old
|
||||||
|
%attr(700,%{USERNAME}, %{USERNAME}) %dir %HOMEDIR
|
||||||
|
%attr(700,%{USERNAME}, %{USERNAME}) %dir %HOMEDIR/.ssh
|
||||||
|
%attr(644,%{USERNAME}, %{USERNAME}) %config(noreplace) %_sysconfdir/cscreenrc
|
||||||
|
%config(noreplace) %_sysconfdir/logrotate.d/%name
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
Reference in New Issue
Block a user