From a5366964364340da360a0da5f18d54cea3b51b8e Mon Sep 17 00:00:00 2001 From: Cockpit Project Date: Wed, 18 Jan 2017 15:17:43 +0000 Subject: [PATCH] Update to 129-1 - Diagnostic sosreport feature now works on RHEL Atomic again - The configure script has a --disable-ssh option to toggle libssh dep - The configure --disable-ws option has been replaced with above. - Unit tests have been fixed on recent GLib versions - Several Fedora and Debian packaging fixes --- .gitignore | 1 + cockpit.spec | 324 ++++++++++++++++++++++++++++----------------------- sources | 2 +- 3 files changed, 181 insertions(+), 146 deletions(-) diff --git a/.gitignore b/.gitignore index 142caad..ba88b93 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,4 @@ /cockpit-124.tar.xz /cockpit-125.tar.xz /cockpit-126.tar.xz +/cockpit-129.tar.xz diff --git a/cockpit.spec b/cockpit.spec index b8a3792..1ec1350 100644 --- a/cockpit.spec +++ b/cockpit.spec @@ -1,5 +1,5 @@ # This spec file has been automatically updated -Version: 126 +Version: 129 Release: 1%{?dist} # # This file is maintained at the following location: @@ -47,6 +47,7 @@ BuildRequires: pkgconfig(polkit-agent-1) >= 0.105 BuildRequires: pam-devel BuildRequires: autoconf automake +BuildRequires: /usr/bin/python BuildRequires: intltool BuildRequires: libssh-devel >= %{libssh_version} BuildRequires: openssl-devel @@ -74,7 +75,8 @@ BuildRequires: xmlto Requires: %{name}-bridge = %{version}-%{release} Requires: %{name}-ws = %{version}-%{release} -Requires: %{name}-shell = %{version}-%{release} +Requires: %{name}-dashboard = %{version}-%{release} +Requires: %{name}-system = %{version}-%{release} # Optional components (for f24 we use soft deps) %if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 @@ -97,49 +99,19 @@ Requires: %{name}-docker = %{version}-%{release} %endif - %description Cockpit runs in a browser and can manage your network of GNU/Linux machines. -%package bridge -Summary: Cockpit bridge server-side component -Obsoletes: %{name}-daemon < 0.48-2 -Requires: polkit - -%description bridge -The Cockpit bridge component installed server side and runs commands on the -system on behalf of the web based user interface. - -%package doc -Summary: Cockpit deployment and developer guide - -%description doc -The Cockpit Deployment and Developer Guide shows sysadmins how to -deploy Cockpit on their machines as well as helps developers who want to -embed or extend Cockpit. - -%package pcp -Summary: Cockpit PCP integration -Requires: %{name}-bridge = %{version}-%{release} -Requires: pcp - -%description pcp -Cockpit support for reading PCP metrics and loading PCP archives. - -%package ws -Summary: Cockpit Web Service -Requires: glib-networking -Requires: openssl -Requires: glib2 >= 2.37.4 -Requires: libssh >= %{libssh_version} -Obsoletes: cockpit-selinux-policy <= 0.83 -Requires(post): systemd -Requires(preun): systemd -Requires(postun): systemd - -%description ws -The Cockpit Web Service listens on the network, and authenticates users. +%files +%{_docdir}/%{name}/AUTHORS +%{_docdir}/%{name}/COPYING +%{_docdir}/%{name}/README.md +%dir %{_datadir}/%{name} +%{_datadir}/appdata/cockpit.appdata.xml +%{_datadir}/applications/cockpit.desktop +%{_datadir}/pixmaps/cockpit.png +%doc %{_mandir}/man1/cockpit.1.gz %prep %setup -q @@ -182,23 +154,23 @@ echo '{ "linguas": null, "machine-limit": 5 }' > %{buildroot}%{_datadir}/%{name} echo '%dir %{_datadir}/%{name}/base1' > base.list find %{buildroot}%{_datadir}/%{name}/base1 -type f >> base.list -echo '%dir %{_datadir}/%{name}/dashboard' >> shell.list -find %{buildroot}%{_datadir}/%{name}/dashboard -type f >> shell.list +echo '%dir %{_datadir}/%{name}/dashboard' >> dashboard.list +find %{buildroot}%{_datadir}/%{name}/dashboard -type f >> dashboard.list -echo '%dir %{_datadir}/%{name}/realmd' >> shell.list -find %{buildroot}%{_datadir}/%{name}/realmd -type f >> shell.list +echo '%dir %{_datadir}/%{name}/realmd' >> system.list +find %{buildroot}%{_datadir}/%{name}/realmd -type f >> system.list -echo '%dir %{_datadir}/%{name}/tuned' >> shell.list -find %{buildroot}%{_datadir}/%{name}/tuned -type f >> shell.list +echo '%dir %{_datadir}/%{name}/tuned' >> system.list +find %{buildroot}%{_datadir}/%{name}/tuned -type f >> system.list -echo '%dir %{_datadir}/%{name}/shell' >> shell.list -find %{buildroot}%{_datadir}/%{name}/shell -type f >> shell.list +echo '%dir %{_datadir}/%{name}/shell' >> system.list +find %{buildroot}%{_datadir}/%{name}/shell -type f >> system.list -echo '%dir %{_datadir}/%{name}/systemd' >> shell.list -find %{buildroot}%{_datadir}/%{name}/systemd -type f >> shell.list +echo '%dir %{_datadir}/%{name}/systemd' >> system.list +find %{buildroot}%{_datadir}/%{name}/systemd -type f >> system.list -echo '%dir %{_datadir}/%{name}/users' >> shell.list -find %{buildroot}%{_datadir}/%{name}/users -type f >> shell.list +echo '%dir %{_datadir}/%{name}/users' >> system.list +find %{buildroot}%{_datadir}/%{name}/users -type f >> system.list echo '%dir %{_datadir}/%{name}/sosreport' > sosreport.list find %{buildroot}%{_datadir}/%{name}/sosreport -type f >> sosreport.list @@ -256,9 +228,9 @@ sed -i '/\.map\(\.gz\)\?$/d' *.list tar -C %{buildroot}/usr/src/debug -cf - . | tar -C %{buildroot} -xf - rm -rf %{buildroot}/usr/src/debug -# On RHEL subscriptions, networkmanager, selinux, and sosreport are part of the shell package +# On RHEL subscriptions, networkmanager, selinux, and sosreport are part of the system package %if 0%{?rhel} -cat subscriptions.list sosreport.list networkmanager.list selinux.list >> shell.list +cat subscriptions.list sosreport.list networkmanager.list selinux.list >> system.list %endif %find_lang %{name} @@ -275,15 +247,18 @@ cat subscriptions.list sosreport.list networkmanager.list selinux.list >> shell. cat debug.partial >> %{_builddir}/%{?buildsubdir}/debugfiles.list \ %{nil} -%files -%{_docdir}/%{name}/AUTHORS -%{_docdir}/%{name}/COPYING -%{_docdir}/%{name}/README.md -%dir %{_datadir}/%{name} -%{_datadir}/appdata/cockpit.appdata.xml -%{_datadir}/applications/cockpit.desktop -%{_datadir}/pixmaps/cockpit.png -%doc %{_mandir}/man1/cockpit.1.gz +# ------------------------------------------------------------------------------- +# Sub-packages + +%package bridge +Summary: Cockpit bridge server-side component +Obsoletes: %{name}-daemon < 0.48-2 +Requires: glib-networking +Requires: polkit + +%description bridge +The Cockpit bridge component installed server side and runs commands on the +system on behalf of the web based user interface. %files bridge -f base.list %{_datadir}/%{name}/base1/bundle.min.js.gz @@ -292,12 +267,56 @@ cat subscriptions.list sosreport.list networkmanager.list selinux.list >> shell. %attr(4755, -, -) %{_libexecdir}/cockpit-polkit %{_libdir}/security/pam_reauthorize.so +%package doc +Summary: Cockpit deployment and developer guide + +%description doc +The Cockpit Deployment and Developer Guide shows sysadmins how to +deploy Cockpit on their machines as well as helps developers who want to +embed or extend Cockpit. + %files doc %exclude %{_docdir}/%{name}/AUTHORS %exclude %{_docdir}/%{name}/COPYING %exclude %{_docdir}/%{name}/README.md %{_docdir}/%{name} +%package machines +Summary: Cockpit user interface for virtual machines +Requires: %{name}-bridge >= %{required_base} +Requires: %{name}-system >= %{required_base} +Requires: libvirt +Requires: libvirt-client + +%description machines +The Cockpit components for managing virtual machines. + +%files machines -f machines.list + +%package ostree +Summary: Cockpit user interface for rpm-ostree +# Requires: Uses new translations functionality +Requires: %{name}-bridge > 124 +Requires: %{name}-system > 124 +%if 0%{?fedora} > 0 && 0%{?fedora} < 24 +Requires: rpm-ostree >= 2015.10-1 +%else +Requires: /usr/libexec/rpm-ostreed +%endif + +%description ostree +The Cockpit components for managing software updates for ostree based systems. + +%files ostree -f ostree.list + +%package pcp +Summary: Cockpit PCP integration +Requires: %{name}-bridge = %{version}-%{release} +Requires: pcp + +%description pcp +Cockpit support for reading PCP metrics and loading PCP archives. + %files pcp %{_libexecdir}/cockpit-pcp %{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit @@ -308,69 +327,22 @@ cat subscriptions.list sosreport.list networkmanager.list selinux.list >> shell. # be out of sync with reality. /usr/share/pcp/lib/pmlogger condrestart -%files ws -f %{name}.lang -%doc %{_mandir}/man5/cockpit.conf.5.gz -%doc %{_mandir}/man8/cockpit-ws.8.gz -%doc %{_mandir}/man8/remotectl.8.gz -%doc %{_mandir}/man8/pam_ssh_add.8.gz -%config(noreplace) %{_sysconfdir}/%{name} -%config(noreplace) %{_sysconfdir}/pam.d/cockpit -%{_unitdir}/cockpit.service -%{_unitdir}/cockpit.socket -%{_prefix}/lib/firewalld/services/cockpit.xml -%{_sbindir}/remotectl -%{_libdir}/security/pam_ssh_add.so -%{_libexecdir}/cockpit-ws -%{_libexecdir}/cockpit-stub +%package dashboard +Summary: Cockpit SSH remoting and dashboard +Requires: libssh >= %{libssh_version} +Requires: cockpit-ws = %{version}-%{release} +Provides: cockpit-ssh = %{version}-%{release} + +%description dashboard +Cockpit support for remoting to other servers, bastion hosts, and a basic dashboard + +%files dashboard -f dashboard.list %{_libexecdir}/cockpit-ssh -%attr(4750, root, cockpit-ws) %{_libexecdir}/cockpit-session -%attr(775, -, wheel) %{_localstatedir}/lib/%{name} -%{_datadir}/%{name}/static -%{_datadir}/%{name}/branding -%pre ws -getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws -getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d / -s /sbin/nologin -c "User for cockpit-ws" cockpit-ws - -%post ws -%systemd_post cockpit.socket -# firewalld only partially picks up changes to its services files without this -test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true +%post dashboard # HACK: Until policy changes make it downstream # https://bugzilla.redhat.com/show_bug.cgi?id=1381331 test -f %{_bindir}/chcon && chcon -t cockpit_ws_exec_t %{_libexecdir}/cockpit-ssh -%preun ws -%systemd_preun cockpit.socket - -%postun ws -%systemd_postun_with_restart cockpit.socket -%systemd_postun_with_restart cockpit.service - -%package shell -Summary: Cockpit Shell user interface package -Requires: %{name}-bridge = %{version}-%{release} -Requires: shadow-utils -Requires: grep -Requires: libpwquality -Requires: /usr/bin/date -%if 0%{?rhel} -Provides: %{name}-subscriptions = %{version}-%{release} -Requires: subscription-manager >= 1.13 -Provides: %{name}-networkmanager = %{version}-%{release} -Requires: NetworkManager -# Optional components (only when soft deps are supported) -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 -Recommends: NetworkManager-team -%endif -%endif -Provides: %{name}-assets -Obsoletes: %{name}-assets < 0.32 -BuildArch: noarch - -%description shell -This package contains the Cockpit shell UI assets. - -%files shell -f shell.list %package storaged Summary: Cockpit user interface for storage, using Storaged @@ -397,35 +369,90 @@ The Cockpit component for managing storage. This package uses Storaged. %files storaged -f storaged.list -%package ostree -Summary: Cockpit user interface for rpm-ostree -# Requires: Uses new translations functionality -Requires: %{name}-bridge > 124 -Requires: %{name}-shell > 124 -%if 0%{?fedora} > 0 && 0%{?fedora} < 24 -Requires: rpm-ostree >= 2015.10-1 -%else -Requires: /usr/libexec/rpm-ostreed +%package system +Summary: Cockpit admin interface package for configuring and troubleshooting a system +BuildArch: noarch +Requires: %{name}-bridge = %{version}-%{release} +Requires: shadow-utils +Requires: grep +Requires: libpwquality +Requires: /usr/bin/date +Provides: %{name}-assets +Obsoletes: %{name}-assets < 0.32 +Provides: %{name}-realmd = %{version}-%{release} +Provides: %{name}-shell = %{version}-%{release} +Obsoletes: %{name}-shell < 127 +Provides: %{name}-systemd = %{version}-%{release} +Provides: %{name}-tuned = %{version}-%{release} +Provides: %{name}-users = %{version}-%{release} +%if 0%{?rhel} +Provides: %{name}-networkmanager = %{version}-%{release} +Requires: NetworkManager +# Optional components (only when soft deps are supported) +%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +Recommends: NetworkManager-team +%endif +Provides: %{name}-selinux = %{version}-%{release} +Provides: %{name}-sosreport = %{version}-%{release} +Provides: %{name}-subscriptions = %{version}-%{release} +Requires: subscription-manager >= 1.13 %endif -%description ostree -The Cockpit components for managing software updates for ostree based systems. +%description system +This package contains the Cockpit shell and system configuration interfaces. -%files ostree -f ostree.list +%files system -f system.list -%package machines -Summary: Cockpit user interface for virtual machines -Requires: %{name}-bridge >= %{required_base} -Requires: %{name}-shell >= %{required_base} -Requires: libvirt -Requires: libvirt-client +%package ws +Summary: Cockpit Web Service +Requires: glib-networking +Requires: openssl +Requires: glib2 >= 2.37.4 +Obsoletes: cockpit-selinux-policy <= 0.83 +Requires(post): systemd +Requires(preun): systemd +Requires(postun): systemd -%description machines -The Cockpit components for managing virtual machines. +%description ws +The Cockpit Web Service listens on the network, and authenticates users. -%files machines -f machines.list +%files ws -f %{name}.lang +%doc %{_mandir}/man5/cockpit.conf.5.gz +%doc %{_mandir}/man8/cockpit-ws.8.gz +%doc %{_mandir}/man8/remotectl.8.gz +%doc %{_mandir}/man8/pam_ssh_add.8.gz +%config(noreplace) %{_sysconfdir}/%{name} +%config(noreplace) %{_sysconfdir}/pam.d/cockpit +%{_unitdir}/cockpit.service +%{_unitdir}/cockpit.socket +%{_prefix}/lib/firewalld/services/cockpit.xml +%{_sbindir}/remotectl +%{_libdir}/security/pam_ssh_add.so +%{_libexecdir}/cockpit-ws +%{_libexecdir}/cockpit-stub +%attr(4750, root, cockpit-ws) %{_libexecdir}/cockpit-session +%attr(775, -, wheel) %{_localstatedir}/lib/%{name} +%{_datadir}/%{name}/static +%{_datadir}/%{name}/branding -# Conditionally built packages below +%pre ws +getent group cockpit-ws >/dev/null || groupadd -r cockpit-ws +getent passwd cockpit-ws >/dev/null || useradd -r -g cockpit-ws -d / -s /sbin/nologin -c "User for cockpit-ws" cockpit-ws + +%post ws +%systemd_post cockpit.socket +# firewalld only partially picks up changes to its services files without this +test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true + +%preun ws +%systemd_preun cockpit.socket + +%postun ws +%systemd_postun_with_restart cockpit.socket +%systemd_postun_with_restart cockpit.service + +# ------------------------------------------------------------------------------- +# Conditional Sub-packages %if 0%{?rhel} == 0 @@ -543,12 +570,19 @@ pulls in some necessary packages via dependencies. %files test-assets %{_datadir}/%{name}/playground -%{_datadir}/cockpit-test-assets +%{_prefix}/lib/cockpit-test-assets %endif # The changelog is automatically generated and merged %changelog +* Wed Jan 18 2017 Stef Walter <> - 129-1 +- Diagnostic sosreport feature now works on RHEL Atomic again +- The configure script has a --disable-ssh option to toggle libssh dep +- The configure --disable-ws option has been replaced with above. +- Unit tests have been fixed on recent GLib versions +- Several Fedora and Debian packaging fixes + * Wed Dec 14 2016 Stef Walter <> - 126-1 - Show security scan information about containers - Choose whether password is cached and reused on login screen diff --git a/sources b/sources index 1ea0f0a..550ea5a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e22b6225126bff951204c984363e386a cockpit-126.tar.xz +SHA512 (cockpit-129.tar.xz) = b9fa59dc92e5fccb21e34801e91fb6901665d4888d57ed31f2d41d932c9b7a6640bf19664a186dfbeb611fb2cfbcb476896cc8899ae4f30475d6787a3ab30c25