From c893f35d77ea7029f1e090d1b94639bb4433f31e Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jun 26 2018 18:19:18 +0000 Subject: import cockpit-169-1.el7 --- diff --git a/.cockpit.metadata b/.cockpit.metadata index 9e5b49f..e79a3c0 100644 --- a/.cockpit.metadata +++ b/.cockpit.metadata @@ -1 +1 @@ -dca96395c50ceb53ea1b9ccebdd48545977b9e91 SOURCES/cockpit-165.tar.xz +09fbed228c0d65cf2a54fb127a7652fc1c659a6d SOURCES/cockpit-169.tar.xz diff --git a/.gitignore b/.gitignore index afd96c1..2db1bb1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/cockpit-165.tar.xz +SOURCES/cockpit-169.tar.xz diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec index daff981..6511e4c 100644 --- a/SPECS/cockpit.spec +++ b/SPECS/cockpit.spec @@ -22,6 +22,13 @@ # define to build the dashboard %define build_dashboard 1 +# build basic packages like cockpit-bridge +%define build_basic 1 +# build optional extensions like cockpit-docker +%define build_optional 1 + +%define __lib lib + # on RHEL 7.x we build subscriptions; superseded in RHEL 8 (and Fedora) by # external subscription-manager-cockpit %if 0%{?rhel} >= 7 && 0%{?rhel} < 8 @@ -34,18 +41,24 @@ %define libssh_version 0.6.0 %endif +%if 0%{?rhel} >= 8 +%global go_scl_prefix go-toolset-7- +%else +%global go_scl_prefix %{nil} +%endif + Name: cockpit Summary: A user interface for Linux servers License: LGPLv2+ -URL: http://cockpit-project.org/ +URL: https://cockpit-project.org/ -Version: 165 +Version: 169 %if %{defined wip} Release: 1.%{wip}%{?dist} Source0: cockpit-%{version}.tar.gz %else -Release: 3%{?dist} +Release: 1%{?dist} Source0: https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz %endif @@ -88,36 +101,21 @@ Requires: %{name}-system = %{version}-%{release} # Optional components (for f24 we use soft deps) %if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 Recommends: %{name}-dashboard = %{version}-%{release} -Recommends: %{name}-networkmanager = %{version}-%{release} -Recommends: %{name}-storaged = %{version}-%{release} -Recommends: sscg >= 2.3 +Recommends: (%{name}-networkmanager = %{version}-%{release} if NetworkManager) +Recommends: (%{name}-storaged = %{version}-%{release} if udisks2) +Recommends: (%{name}-packagekit = %{version}-%{release} if PackageKit) %if 0%{?rhel} >= 8 Recommends: subscription-manager-cockpit %endif %ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x -Recommends: %{name}-docker = %{version}-%{release} +Recommends: (%{name}-docker = %{version}-%{release} if /usr/bin/docker) %endif Suggests: %{name}-pcp = %{version}-%{release} Suggests: %{name}-kubernetes = %{version}-%{release} Suggests: %{name}-selinux = %{version}-%{release} Suggests: %{name}-packagekit = %{version}-%{release} - %endif -%description -Cockpit runs in a browser and can manage your network of GNU/Linux -machines. - -%files -%{_docdir}/%{name}/AUTHORS -%{_docdir}/%{name}/COPYING -%{_docdir}/%{name}/README.md -%dir %{_datadir}/%{name} -%{_datadir}/metainfo/cockpit.appdata.xml -%{_datadir}/applications/cockpit.desktop -%{_datadir}/pixmaps/cockpit.png -%doc %{_mandir}/man1/cockpit.1.gz - %prep %setup -q @@ -143,6 +141,7 @@ exec 2>&1 --with-selinux-config-type=etc_t \ %{?rhel:--without-storaged-iscsi-sessions} \ --with-appstream-data-packages='[ "appstream-data" ]' \ + --with-nfs-client-package='"nfs-utils"' \ %{!?build_dashboard:--disable-ssh} make -j4 %{?extra_flags} all @@ -258,6 +257,39 @@ rm %{buildroot}/%{_libexecdir}/cockpit-stub touch kubernetes.list %endif +# when not building basic packages, remove their files +%if 0%{?build_basic} == 0 +for pkg in base1 branding issue kdump networkmanager realmd selinux shell sosreport static storaged systemd tuned users; do + rm -r %{buildroot}/%{_datadir}/%{name}/$pkg +done +for data in applications doc locale man metainfo pixmaps; do + rm -r %{buildroot}/%{_datadir}/$data +done +for lib in systemd tmpfiles.d firewalld; do + rm -r %{buildroot}/%{_prefix}/%{__lib}/$lib +done +for libexec in cockpit-askpass cockpit-session cockpit-ws; do + rm %{buildroot}/%{_libexecdir}/$libexec +done +rm -r %{buildroot}/%{_libdir}/security %{buildroot}/%{_sysconfdir}/pam.d +rm %{buildroot}/usr/bin/cockpit-bridge %{buildroot}/usr/sbin/remotectl +%endif + +# when not building optional packages, remove their files +%if 0%{?build_optional} == 0 +for pkg in apps dashboard docker kubernetes machines ostree ovirt packagekit pcp playground ssh; do + rm -r %{buildroot}/%{_datadir}/%{name}/$pkg +done +# files from -tests +rm -r %{buildroot}/%{_prefix}/%{__lib}/cockpit-test-assets %{buildroot}/%{_sysconfdir}/cockpit/cockpit.conf +# files from -pcp +rm -r %{buildroot}/%{_libexecdir}/cockpit-pcp %{buildroot}/%{_localstatedir}/lib/pcp/ +# files from -kubernetes +rm %{buildroot}/%{_libexecdir}/cockpit-kube-auth %{buildroot}/%{_libexecdir}/cockpit-kube-launch %{buildroot}/%{_libexecdir}/cockpit-stub +# files from -dashboard +rm %{buildroot}%{_libexecdir}/cockpit-ssh +%endif + # On RHEL, apps is not currently built %if 0%{?rhel} rm -rf %{buildroot}/%{_datadir}/%{name}/apps @@ -280,7 +312,9 @@ rm %{buildroot}/usr/share/metainfo/org.cockpit-project.cockpit-sosreport.metainf rm %{buildroot}/usr/share/pixmaps/cockpit-sosreport.png %endif +%if 0%{?build_basic} %find_lang %{name} +%endif # dwz has trouble with the go binaries # https://fedoraproject.org/wiki/PackagingDrafts/Go @@ -299,9 +333,28 @@ rm %{buildroot}/usr/share/pixmaps/cockpit-sosreport.png %{nil} # ------------------------------------------------------------------------------- -# Sub-packages +# Basic Sub-packages + +%if 0%{?build_basic} + +%description +Cockpit runs in a browser and can manage your network of GNU/Linux +machines. + +%if 0%{?rhel} >= 8 +%enable_gotoolset7 +%endif + +%files +%{_docdir}/%{name}/AUTHORS +%{_docdir}/%{name}/COPYING +%{_docdir}/%{name}/README.md +%dir %{_datadir}/%{name} +%{_datadir}/metainfo/cockpit.appdata.xml +%{_datadir}/applications/cockpit.desktop +%{_datadir}/pixmaps/cockpit.png +%doc %{_mandir}/man1/cockpit.1.gz -%define __lib lib %package bridge Summary: Cockpit bridge server-side component @@ -331,106 +384,10 @@ embed or extend Cockpit. %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 -# Optional components (for f24 we use soft deps) -%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 -Recommends: virt-install -%endif - -%description machines -The Cockpit components for managing virtual machines. - -If "virt-install" is installed, you can also create new virtual machines. - -%files machines -f machines.list - -%package machines-ovirt -BuildArch: noarch -Summary: Cockpit user interface for oVirt virtual machines -Requires: %{name}-bridge >= %{required_base} -Requires: %{name}-system >= %{required_base} -Requires: libvirt -Requires: libvirt-client -# package of old name "cockpit-ovirt" was shipped on fedora only -%if 0%{?fedora} >= 25 -Obsoletes: %{name}-ovirt < 161 -%endif - -%description machines-ovirt -The Cockpit components for managing oVirt virtual machines. - -%files machines-ovirt -f ovirt.list - -%package ostree -Summary: Cockpit user interface for rpm-ostree -# Requires: Uses new translations functionality -Requires: %{name}-bridge >= %{required_base} -Requires: %{name}-system >= %{required_base} -%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 >= %{required_base} -Requires: pcp - -%description pcp -Cockpit support for reading PCP metrics and loading PCP archives. - -%files pcp -f pcp.list -%{_libexecdir}/cockpit-pcp -%{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit - -%post pcp -# HACK - https://bugzilla.redhat.com/show_bug.cgi?id=1185764 -# We can't use "systemctl reload-or-try-restart" since systemctl might -# be out of sync with reality. -/usr/share/pcp/lib/pmlogger condrestart - -%if %{defined build_dashboard} -%package dashboard -Summary: Cockpit remote servers and dashboard -Requires: libssh >= %{libssh_version} -Provides: %{name}-ssh = %{version}-%{release} -# nothing depends on the dashboard, but we can't use it with older versions of the bridge -Conflicts: %{name}-bridge < 135 -Conflicts: %{name}-ws < 135 - -%description dashboard -Cockpit support for connecting to remote servers (through ssh), -bastion hosts, and a basic dashboard. - -%files dashboard -f dashboard.list -%{_libexecdir}/cockpit-ssh - -%post dashboard -# HACK: Until policy changes make it downstream -echo "Applying workaround for broken SELinux policy: https://bugzilla.redhat.com/show_bug.cgi?id=1381331" >&2 -if type semanage >/dev/null 2>&1; then - semanage fcontext -a %{_libexecdir}/cockpit-ssh -t cockpit_ws_exec_t || true - restorecon %{_libexecdir}/cockpit-ssh || true -else - chcon -t cockpit_ws_exec_t %{_libexecdir}/cockpit-ssh || true -fi -%endif - -# storaged on RHEL 7.4 and Fedora < 27, udisks on newer ones +# storaged on Fedora < 27, udisks on newer ones # Recommends: not supported in RHEL < 8 %package storaged -Summary: Cockpit user interface for storage, using Storaged +Summary: Cockpit user interface for storage, using udisks Requires: %{name}-shell >= %{required_base} Requires: udisks2 >= 2.6 Requires: udisks2-lvm2 >= 2.6 @@ -446,7 +403,7 @@ Requires: python-dbus BuildArch: noarch %description storaged -The Cockpit component for managing storage. This package uses Storaged. +The Cockpit component for managing storage. This package uses udisks. %files storaged -f storaged.list @@ -466,6 +423,7 @@ Provides: %{name}-tuned = %{version}-%{release} Provides: %{name}-users = %{version}-%{release} %if 0%{?rhel} Provides: %{name}-networkmanager = %{version}-%{release} +Obsoletes: %{name}-networkmanager < 135 Requires: NetworkManager Provides: %{name}-kdump = %{version}-%{release} Requires: kexec-tools @@ -490,28 +448,14 @@ This package contains the Cockpit shell and system configuration interfaces. %files system -f system.list -%package tests -Summary: Tests for Cockpit -Requires: %{name}-bridge >= 138 -Requires: %{name}-system >= 138 -Requires: openssh-clients -Provides: %{name}-test-assets = %{version}-%{release} -Obsoletes: %{name}-test-assets < 132 - -%description tests -This package contains tests and files used while testing Cockpit. -These files are not required for running Cockpit. - -%files tests -%config(noreplace) %{_sysconfdir}/cockpit/cockpit.conf -%{_datadir}/%{name}/playground -%{_prefix}/%{__lib}/cockpit-test-assets - %package ws Summary: Cockpit Web Service Requires: glib-networking Requires: openssl Requires: glib2 >= 2.37.4 +%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +Recommends: sscg >= 2.3 +%endif Requires(post): systemd Requires(preun): systemd Requires(postun): systemd @@ -526,9 +470,11 @@ The Cockpit Web Service listens on the network, and authenticates users. %doc %{_mandir}/man8/pam_ssh_add.8.gz %config(noreplace) %{_sysconfdir}/%{name}/ws-certs.d %config(noreplace) %{_sysconfdir}/pam.d/cockpit -%{_datadir}/%{name}/issue/active.issue -%{_datadir}/%{name}/issue/inactive.issue +%config %{_sysconfdir}/motd.d/cockpit +%{_datadir}/%{name}/motd/update-motd +%{_datadir}/%{name}/motd/inactive.motd %{_unitdir}/cockpit.service +%{_unitdir}/cockpit-motd.service %{_unitdir}/cockpit.socket %{_prefix}/%{__lib}/firewalld/services/cockpit.xml %{_prefix}/%{__lib}/tmpfiles.d/cockpit-tempfiles.conf @@ -557,7 +503,7 @@ test -f %{_bindir}/firewall-cmd && firewall-cmd --reload --quiet || true %systemd_postun_with_restart cockpit.service # ------------------------------------------------------------------------------- -# Conditional Sub-packages +# Sub-packages that are part of cockpit-system in RHEL, but separate in Fedora %if 0%{?rhel} == 0 @@ -625,6 +571,123 @@ utility setroubleshoot to diagnose and resolve SELinux issues. %endif +%else # build basic packages + +# RPM requires this +%description +Dummy package from building optional packages only; never install or publish me. + +%endif # build basic packages + +# ------------------------------------------------------------------------------- +# Sub-packages that are optional extensions + +%if 0%{?build_optional} + +%package tests +Summary: Tests for Cockpit +Requires: %{name}-bridge >= 138 +Requires: %{name}-system >= 138 +Requires: openssh-clients +Provides: %{name}-test-assets = %{version}-%{release} +Obsoletes: %{name}-test-assets < 132 + +%description tests +This package contains tests and files used while testing Cockpit. +These files are not required for running Cockpit. + +%files tests +%config(noreplace) %{_sysconfdir}/cockpit/cockpit.conf +%{_datadir}/%{name}/playground +%{_prefix}/%{__lib}/cockpit-test-assets + +%package machines +Summary: Cockpit user interface for virtual machines +Requires: %{name}-bridge >= %{required_base} +Requires: %{name}-system >= %{required_base} +Requires: libvirt +Requires: libvirt-client +# Optional components (for f24 we use soft deps) +%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8 +Recommends: virt-install +%endif + +%description machines +The Cockpit components for managing virtual machines. + +If "virt-install" is installed, you can also create new virtual machines. + +%files machines -f machines.list + +%package machines-ovirt +BuildArch: noarch +Summary: Cockpit user interface for oVirt virtual machines +Requires: %{name}-bridge >= %{required_base} +Requires: %{name}-system >= %{required_base} +Requires: libvirt +Requires: libvirt-client +# package of old name "cockpit-ovirt" was shipped on fedora only +%if 0%{?fedora} >= 25 +Obsoletes: %{name}-ovirt < 161 +%endif + +%description machines-ovirt +The Cockpit components for managing oVirt virtual machines. + +%files machines-ovirt -f ovirt.list + +%package ostree +Summary: Cockpit user interface for rpm-ostree +# Requires: Uses new translations functionality +Requires: %{name}-bridge >= %{required_base} +Requires: %{name}-system >= %{required_base} +%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 >= %{required_base} +Requires: pcp + +%description pcp +Cockpit support for reading PCP metrics and loading PCP archives. + +%files pcp -f pcp.list +%{_libexecdir}/cockpit-pcp +%{_localstatedir}/lib/pcp/config/pmlogconf/tools/cockpit + +%post pcp +# HACK - https://bugzilla.redhat.com/show_bug.cgi?id=1185764 +# We can't use "systemctl reload-or-try-restart" since systemctl might +# be out of sync with reality. +/usr/share/pcp/lib/pmlogger condrestart + +%if %{defined build_dashboard} +%package dashboard +Summary: Cockpit remote servers and dashboard +Requires: libssh >= %{libssh_version} +Provides: %{name}-ssh = %{version}-%{release} +# nothing depends on the dashboard, but we can't use it with older versions of the bridge +Conflicts: %{name}-bridge < 135 +Conflicts: %{name}-ws < 135 + +%description dashboard +Cockpit support for connecting to remote servers (through ssh), +bastion hosts, and a basic dashboard. + +%files dashboard -f dashboard.list +%{_libexecdir}/cockpit-ssh + +%endif + %ifarch x86_64 %{arm} aarch64 ppc64le s390x %package docker @@ -655,8 +718,8 @@ Requires: /usr/bin/kubectl # Requires: Needs newer localization support Requires: %{name}-bridge >= %{required_base} Requires: %{name}-shell >= %{required_base} -BuildRequires: golang-bin -BuildRequires: golang-src +BuildRequires: %{go_scl_prefix}golang-bin +BuildRequires: %{go_scl_prefix}golang-src Provides: cockpit-stub = %{version}-%{release} %description kubernetes @@ -679,7 +742,17 @@ The Cockpit component for installing package updates, via PackageKit. %files packagekit -f packagekit.list +%endif # build optional extension packages + %changelog +* Wed May 30 2018 Martin Pitt 169-1 +- Update to 169 release +- Storage: Offer installation of NFS client support on demand +- Containers: Don't try to manage "overlay2" storage without a volume group +- Machines: Fix "Start VM" checkbox layout +- Software Updates: Fix security update icon rhbz#1582570 +- Drop obsolete cockpit-bashboard SELinux %post hack rhbz#1570833 + * Tue Apr 17 2018 Martin Pitt 165-3 - Revert "noarch" change for cockpit-doc as well