areguera / rpms / cockpit

Forked from rpms/cockpit 5 years ago
Clone
Blob Blame History Raw
# Globals that may be defined elsewhere
#  * Version 122
#  * wip 1
#

%define branding auto
%define rev 1

# earliest base that the subpackages work on; the instances of this get computed/updated
# by tools/gen-spec-dependencies during "make dist", but keep a hardcoded fallback
%define required_base 122

#%if 0%{?centos}
#%define rhel 0
#%endif

%define _hardened_build 1

# define to build the dashboard
%define build_dashboard 1

%define libssh_version 0.7.1
%if 0%{?fedora} > 0 && 0%{?fedora} < 22
%define libssh_version 0.6.0
%endif

Name:           cockpit
Summary:        A user interface for Linux servers

License:        LGPLv2+
URL:            http://cockpit-project.org/

Version:        141
%if %{defined wip}
Release:        1.%{wip}%{?dist}
Source0:        cockpit-%{version}.tar.gz
%else
Release:        %{rev}%{?dist}
Source0:        https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz
%endif

BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(json-glib-1.0)
BuildRequires: pkgconfig(polkit-agent-1) >= 0.105
BuildRequires: pam-devel

BuildRequires: autoconf automake
BuildRequires: /usr/bin/python
BuildRequires: intltool
%if %{defined build_dashboard}
BuildRequires: libssh-devel >= %{libssh_version}
%endif
BuildRequires: openssl-devel
BuildRequires: zlib-devel
BuildRequires: krb5-devel
BuildRequires: libxslt-devel
BuildRequires: docbook-style-xsl
BuildRequires: glib-networking
BuildRequires: sed
BuildRequires: git

BuildRequires: glib2-devel >= 2.37.4
BuildRequires: systemd-devel
BuildRequires: pcp-libs-devel
BuildRequires: krb5-server
BuildRequires: gdb

# For documentation
BuildRequires: xmlto

# This is the "cockpit" metapackage. It should only
# Require, Suggest or Recommend other cockpit-xxx subpackages

Requires: %{name}-bridge = %{version}-%{release}
Requires: %{name}-ws = %{version}-%{release}
Requires: %{name}-system = %{version}-%{release}

# Optional components (for f24 we use soft deps)
%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8
Recommends: %{name}-networkmanager = %{version}-%{release}
Recommends: %{name}-storaged = %{version}-%{release}
%ifarch x86_64 %{arm} aarch64 ppc64le i686
Recommends: %{name}-docker = %{version}-%{release}
%endif
Suggests: %{name}-pcp = %{version}-%{release}
Suggests: %{name}-kubernetes = %{version}-%{release}
Suggests: %{name}-selinux = %{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}/appdata/cockpit.appdata.xml
%{_datadir}/applications/cockpit.desktop
%{_datadir}/pixmaps/cockpit.png
%doc %{_mandir}/man1/cockpit.1.gz

%prep
%setup -q

# Apply patches using git in order to support binary patches. Note that
# we also reset mtimes since patches should be "complete" and include both
# generated and source file changes
# Keep this in sync with tools/debian/rules.
if [ -n "%{patches}" ]; then
	git init
	git config user.email "unused@example.com" && git config user.name "Unused"
	git config core.autocrlf false && git config core.safecrlf false && git config gc.auto 0
	git add -f . && git commit -a -q -m "Base" && git tag -a initial --message="initial"
	git am --whitespace=nowarn %{patches}
	touch -r $(git diff --name-only initial..HEAD) .git
	rm -rf .git
fi

%build
exec 2>&1
%configure --disable-silent-rules --with-cockpit-user=cockpit-ws --with-branding=auto --with-selinux-config-type=etc_t %{?rhel:--without-storaged-iscsi-sessions} %{!?build_dashboard:--disable-ssh}
make -j4 %{?extra_flags} all

%check
exec 2>&1
make -j4 check

%install
make install DESTDIR=%{buildroot}
make install-tests DESTDIR=%{buildroot}
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
install -p -m 644 tools/cockpit.pam $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/cockpit
rm -f %{buildroot}/%{_libdir}/cockpit/*.so
install -p -m 644 AUTHORS COPYING README.md %{buildroot}%{_docdir}/%{name}/

# On RHEL we don't yet show options for changing language
%if 0%{?rhel}
echo '{ "linguas": null }' > %{buildroot}%{_datadir}/%{name}/shell/override.json
%endif

# Build the package lists for resource packages
echo '%dir %{_datadir}/%{name}/base1' > base.list
find %{buildroot}%{_datadir}/%{name}/base1 -type f >> base.list
echo '%{_sysconfdir}/cockpit/machines.d' >> base.list

%if %{defined build_dashboard}
echo '%dir %{_datadir}/%{name}/dashboard' >> dashboard.list
find %{buildroot}%{_datadir}/%{name}/dashboard -type f >> dashboard.list
find %{buildroot}%{_datadir}/%{name}/ssh -type f >> dashboard.list
%else
rm -rf %{buildroot}/%{_datadir}/%{name}/dashboard
rm -rf %{buildroot}/%{_datadir}/%{name}/ssh
touch dashboard.list
%endif

echo '%dir %{_datadir}/%{name}/pcp' >> pcp.list
find %{buildroot}%{_datadir}/%{name}/pcp -type f >> pcp.list

echo '%dir %{_datadir}/%{name}/realmd' >> system.list
find %{buildroot}%{_datadir}/%{name}/realmd -type f >> system.list

echo '%dir %{_datadir}/%{name}/tuned' >> system.list
find %{buildroot}%{_datadir}/%{name}/tuned -type f >> system.list

echo '%dir %{_datadir}/%{name}/shell' >> system.list
find %{buildroot}%{_datadir}/%{name}/shell -type f >> system.list

echo '%dir %{_datadir}/%{name}/systemd' >> system.list
find %{buildroot}%{_datadir}/%{name}/systemd -type f >> system.list

echo '%dir %{_datadir}/%{name}/users' >> system.list
find %{buildroot}%{_datadir}/%{name}/users -type f >> system.list

echo '%dir %{_datadir}/%{name}/kdump' >> kdump.list
find %{buildroot}%{_datadir}/%{name}/kdump -type f >> kdump.list

echo '%dir %{_datadir}/%{name}/sosreport' > sosreport.list
find %{buildroot}%{_datadir}/%{name}/sosreport -type f >> sosreport.list

echo '%dir %{_datadir}/%{name}/subscriptions' > subscriptions.list
find %{buildroot}%{_datadir}/%{name}/subscriptions -type f >> subscriptions.list

echo '%dir %{_datadir}/%{name}/storaged' > storaged.list
find %{buildroot}%{_datadir}/%{name}/storaged -type f >> storaged.list

echo '%dir %{_datadir}/%{name}/networkmanager' > networkmanager.list
find %{buildroot}%{_datadir}/%{name}/networkmanager -type f >> networkmanager.list

echo '%dir %{_datadir}/%{name}/ostree' > ostree.list
find %{buildroot}%{_datadir}/%{name}/ostree -type f >> ostree.list

echo '%dir %{_datadir}/%{name}/machines' > machines.list
find %{buildroot}%{_datadir}/%{name}/machines -type f >> machines.list

# on CentOS systems we don't have the required setroubleshoot-server packages
#%if 0%{?centos}
#rm -rf %{buildroot}%{_datadir}/%{name}/selinux
#%else
echo '%dir %{_datadir}/%{name}/selinux' > selinux.list
find %{buildroot}%{_datadir}/%{name}/selinux -type f >> selinux.list
#%endif

%ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x
echo '%dir %{_datadir}/%{name}/docker' > docker.list
find %{buildroot}%{_datadir}/%{name}/docker -type f >> docker.list
%else
rm -rf %{buildroot}/%{_datadir}/%{name}/docker
touch docker.list
%endif

%ifarch aarch64 x86_64 ppc64le s390x
%if %{defined wip}
%else
rm %{buildroot}/%{_datadir}/%{name}/kubernetes/override.json
%endif
echo '%dir %{_datadir}/%{name}/kubernetes' > kubernetes.list
find %{buildroot}%{_datadir}/%{name}/kubernetes -type f >> kubernetes.list
%else
rm -rf %{buildroot}/%{_datadir}/%{name}/kubernetes
rm -f %{buildroot}/%{_libexecdir}/cockpit-kube-auth
rm -f %{buildroot}/%{_libexecdir}/cockpit-kube-launch
rm %{buildroot}/%{_libexecdir}/cockpit-stub
touch kubernetes.list
%endif

sed -i "s|%{buildroot}||" *.list

# Build the package lists for debug package, and move debug files to installed locations
find %{buildroot}/usr/src/debug%{_datadir}/%{name} -type f -o -type l > debug.partial
sed -i "s|%{buildroot}/usr/src/debug||" debug.partial
sed -n 's/\.map\(\.gz\)\?$/\0/p' *.list >> debug.partial
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 kdump, subscriptions, networkmanager, selinux, and sosreport are part of the system package
%if 0%{?rhel}
cat kdump.list subscriptions.list sosreport.list networkmanager.list selinux.list >> system.list
%endif

%find_lang %{name}

# dwz has trouble with the go binaries
# https://fedoraproject.org/wiki/PackagingDrafts/Go
%global _dwz_low_mem_die_limit 0

%define find_debug_info %{_rpmconfigdir}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_include_minidebuginfo:-m} %{?_find_debuginfo_dwz_opts} %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"

# Redefine how debug info is built to slip in our extra debug files
%define __debug_install_post   \
   %{find_debug_info} \
   cat debug.partial >> %{_builddir}/%{?buildsubdir}/debugfiles.list \
%{nil}

# -------------------------------------------------------------------------------
# Sub-packages

%package bridge
Summary: Cockpit bridge server-side component
Requires: glib-networking

%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
%doc %{_mandir}/man1/cockpit-bridge.1.gz
%{_bindir}/cockpit-bridge
%{_libexecdir}/cockpit-askpass

%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 >= %{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 SSH remoting and dashboard
Requires: libssh >= %{libssh_version}
Provides: %{name}-ssh
# 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 remoting to other servers, bastion hosts, and a basic dashboard

%files dashboard -f dashboard.list
%{_libexecdir}/cockpit-ssh

%post dashboard
# HACK: Until policy changes make it downstream
# https://bugzilla.redhat.com/show_bug.cgi?id=1381331
chcon -t cockpit_ws_exec_t %{_libexecdir}/cockpit-ssh || true
%endif

%package storaged
Summary: Cockpit user interface for storage, using Storaged
Requires: %{name}-shell >= %{required_base}
Requires: storaged >= 2.1.1
%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8
Recommends: storaged-lvm2 >= 2.1.1
Recommends: storaged-iscsi >= 2.1.1
Recommends: device-mapper-multipath
%else
Requires: storaged-lvm2 >= 2.1.1
Requires: storaged-iscsi >= 2.1.1
Requires: device-mapper-multipath
%endif
BuildArch: noarch

%description storaged
The Cockpit component for managing storage.  This package uses Storaged.

%files storaged -f storaged.list

%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}-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
Provides: %{name}-kdump = %{version}-%{release}
Requires: kexec-tools
# Optional components (only when soft deps are supported)
%if 0%{?rhel} >= 8
Recommends: NetworkManager-team
Recommends: setroubleshoot-server >= 3.3.3
%endif
Provides: %{name}-selinux = %{version}-%{release}
Provides: %{name}-sosreport = %{version}-%{release}
Provides: %{name}-subscriptions = %{version}-%{release}
Requires: subscription-manager >= 1.13
%endif

%description system
This package contains the Cockpit shell and system configuration interfaces.

%files system -f system.list

%package tests
Summary: Tests for Cockpit
Requires: %{name}-bridge >= %{version}-%{release}
Requires: %{name}-system >= %{version}-%{release}
Requires: openssh-clients
Provides: %{name}-test-assets
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
%{_unitdir}/cockpit.service.d
%{_datadir}/%{name}/playground
%{_prefix}/lib/cockpit-test-assets

%package ws
Summary: Cockpit Web Service
Requires: glib-networking
Requires: openssl
Requires: glib2 >= 2.37.4
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd

%description ws
The Cockpit Web Service listens on the network, and authenticates users.

%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}/ws-certs.d
%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
%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

%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

%package kdump
Summary: Cockpit user interface for kernel crash dumping
Requires: %{name}-bridge >= %{required_base}
Requires: %{name}-shell >= %{required_base}
Requires: kexec-tools
BuildArch: noarch

%description kdump
The Cockpit component for configuring kernel crash dumping.

%files kdump -f kdump.list

%package sosreport
Summary: Cockpit user interface for diagnostic reports
Requires: %{name}-bridge >= %{required_base}
Requires: %{name}-shell >= %{required_base}
Requires: sos
BuildArch: noarch

%description sosreport
The Cockpit component for creating diagnostic reports with the
sosreport tool.

%files sosreport -f sosreport.list

%package subscriptions
Summary: Cockpit subscription user interface package
Requires: %{name}-bridge >= %{required_base}
Requires: %{name}-shell >= %{required_base}
Requires: subscription-manager >= 1.13
BuildArch: noarch

%description subscriptions
This package contains the Cockpit user interface integration with local
subscription management.

%files subscriptions -f subscriptions.list

%package networkmanager
Summary: Cockpit user interface for networking, using NetworkManager
Requires: %{name}-bridge >= %{required_base}
Requires: %{name}-shell >= %{required_base}
Requires: NetworkManager
# Optional components (only when soft deps are supported)
%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8
Recommends: NetworkManager-team
%endif
BuildArch: noarch

%description networkmanager
The Cockpit component for managing networking.  This package uses NetworkManager.

%files networkmanager -f networkmanager.list

%endif

#%if 0%{?rhel}%{?centos} == 0

%package selinux
Summary: Cockpit SELinux package
Requires: %{name}-bridge >= %{required_base}
Requires: %{name}-shell >= %{required_base}
%if 0%{?fedora} >= 24 || 0%{?rhel} >= 8
Recommends: setroubleshoot-server >= 3.3.3
%endif
BuildArch: noarch

%description selinux
This package contains the Cockpit user interface integration with the
utility setroubleshoot to diagnose and resolve SELinux issues.

%files selinux -f selinux.list

#%endif

%ifarch x86_64 %{arm} aarch64 ppc64le s390x

%package docker
Summary: Cockpit user interface for Docker containers
Requires: %{name}-bridge >= %{required_base}
Requires: %{name}-shell >= %{required_base}
Requires: /usr/bin/docker
Requires: python

%description docker
The Cockpit components for interacting with Docker and user interface.
This package is not yet complete.

%files docker -f docker.list

%endif

%ifarch aarch64 x86_64 ppc64le i686 s390x

%package kubernetes
Summary: Cockpit user interface for Kubernetes cluster
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
Provides: cockpit-stub = %{version}-%{release}

%description kubernetes
The Cockpit components for visualizing and configuring a Kubernetes
cluster. Installed on the Kubernetes master. This package is not yet complete.

%files kubernetes -f kubernetes.list
%{_libexecdir}/cockpit-kube-auth
%{_libexecdir}/cockpit-kube-launch
%{_libexecdir}/cockpit-stub
%endif

%changelog
* Mon Jul 03 2017 Johnny Hughes <johnny@centos.org> 141-1
- CentOS Mods

* Mon Jun 05 2017 Dominik Perpeet <dperpeet@redhat.com> 141-1
- Update to 141 release
- Allow users to change Docker container environment variables
- Allow auth commands to store credentials for future challenges
- Attempt to tear down used partitions when formatting disks
- Show the correct known_hosts path on missing/mismatching host keys
- Set HTML content type when serving login page, for better reverse proxy operation

* Wed May 24 2017 Dominik Perpeet <dperpeet@redhat.com> 138-8
- Rebuild for new dependencies

* Wed May 17 2017 Dominik Perpeet <dperpeet@redhat.com> 138-7
- Build cockpit-docker for s390x

* Wed May 17 2017 Dominik Perpeet <dperpeet@redhat.com> 138-6
- Fix ssh dependency

* Fri May 12 2017 Dominik Perpeet <dperpeet@redhat.com> 138-5
- Fix forwarding binary data in the shell
- Fix dashboard dependency

* Fri May 05 2017 Dominik Perpeet <dperpeet@redhat.com> 138-4
- Bump and rebuild on more architectures

* Wed May 03 2017 Dominik Perpeet <dperpeet@redhat.com> 138-3
- Fix issues with connections between multiple hosts
- Fix format string type mismatch on some architectures

* Tue May 02 2017 Dominik Perpeet <dperpeet@redhat.com> 138-2
- Bump and rebuild with dashboard

* Mon Apr 10 2017 Dominik Perpeet <dperpeet@redhat.com> 138-1
- Update to 138 release
- Simplify protocol that cockpit talks to session authentication processes

* Fri Mar 31 2017 Dominik Perpeet <dperpeet@redhat.com> 137-1
- Update to 137 release
- Cockpit's web server understands and properly responds to HTTP HEAD requests

* Mon Mar 27 2017 Dominik Perpeet <dperpeet@redhat.com> 136-1
- Update to 136 release
- Reorder menu items in a more logical way

* Thu Mar 23 2017 Dominik Perpeet <dperpeet@redhat.com> 135-4
- The cockpit package doesn't require the dashboard anymore
- The dashboard package conflicts with older bridge and ws versions

* Tue Mar 21 2017 Dominik Perpeet <dperpeet@redhat.com> 135-3
- Update to 135 release
- Redesigned page menu and machine switcher
- Show /etc/motd in the "System" page
- Allow changing the MAC address for ethernet adapters and see them for bonds
- NetworkManager now activates slave interfaces by itself
- Show "Locked/Unlocked" indicator for privilege escalation in the top bar
- Privilege escalation works with sudo reauthorization
- Use official /etc/ssh/ssh_known_hosts when connecting to remote hosts

* Tue Feb 14 2017 Dominik Perpeet <dperpeet@redhat.com> 131-3
- Fix size of list heading rhbz#1422184
- Fix button tooltips rhbz#1365372 rhbz#1412036
- Make basic selinux functionality available without rhbz#1422181

* Tue Feb 07 2017 Stef Walter <stefw@redhat.com> 131-2
- Actually build cockpit-dashboard sub-package

* Tue Feb 07 2017 Stef Walter <stefw@redhat.com> 131-1
- Update to 131 release
- Support for configuring kdump kernel crash dumping
- Support for rebasing OSTrees and configuring OSTree remotes
- Cockpit now respects /etc/shells and prevents login when user has an invalid shell
- Add a 'LoginTo' option in cockpit.conf to toggle ability to login to other servers
- Validate textual input on the Networking page properly

* Thu Dec 15 2016 Dominik Perpeet <dperpeet@redhat.com> 126-1
- Update to 126 release
- Show security scan information about containers
- During login users can choose whether password is cached and reused
- Allow renaming of active devices in networking interface
- More clearly indicate when checking network connectivity
- Allow more time for rollback when making network changes rhbz#1395108
- The remotectl command can now combine certificate and key files
- Domain join operations can now be properly cancelled
- Make Kerberos authentication work even if gss-proxy is in use
- When proxied, support X-Forwarded-Proto
- Ignore block devices with a zero size in the storage interface

* Tue Dec 13 2016 Dominik Perpeet <dperpeet@redhat.com> 125-1
- Update to 125 release
- Display OSTree signatures on Atomic Host
- Expand logical volumes and partitions inline on their devices
- No longer offer to format read-only block devices
- Use stored passphrases for LUKS devices properly
- System shutdown can be scheduled by date
- Properly terminate user sessions on the Accounts page
- Fix regression on login screen in older Internet Explorer browsers

* Mon Nov 14 2016 Dominik Perpeet <dperpeet@redhat.com> 122-3
- Fix regression when activating virtual network interfaces rhbz#1394667
- Support network connections that don't have an interface name rhbz#1394668
- Fix registry console Windows IE and Edge login rhbz#1378810 rhbz#1393740
- Fix reloading of projects and users in kubernetes rhbz#1393785
- Only set websocket protocols if they are available rhbz#1394675

* Tue Nov 08 2016 Dominik Perpeet <dperpeet@redhat.com> 122-2
- Fix default flags for new VLAN devices rhbz#1390605

* Tue Nov 01 2016 Dominik Perpeet <dperpeet@redhat.com> 122-1
- Update to 122 release
- Cockpit can rollback network configuration that would otherwise disconnect an admin from the system
- Unmanaged network devices are now shown
- The list of Docker containers can be filtered and expanded inline
- Cockpit can be a "bastion host" by using the login page to connect to an alternate system via SSH
- Only connect to an alternate system if it has a known SSH host key
- When connecting to other systems, each SSH connection is run in a separate process
- Fixes bugs that prevent the "Logs" page from working in Firefox 49
- A network proxy can be used when registering with RHEL subscriptions rhbz#1338681

* Tue Sep 20 2016 Dominik Perpeet <dperpeet@redhat.com> 118-2
- Turn off Cockpit debug session

* Wed Sep 07 2016 Dominik Perpeet <dperpeet@redhat.com> 118-1
- Update to 118 release
- SELinux audit failures can be diagnosed and solutions applied to the system
- Configure storage for Docker containers and images
- Volumes and environment variables can be configured for Docker containers
- Support PAM conversations on the Login screen, enabling two factor authentication
- Cockpit URLs can be proxied with a configured HTTP path prefix
- Timer jobs in systemd can be created and configured
- Display all managed NetworkManager devices
- Add support for network teams
- Prevent removal of last volume from volume group rhbz#1354421

* Fri Jul 15 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.114-2
- The API of cockpit-bridge and cockpit-shell is now stable, other components
  only depend on a version >= 0.114 now, not an exact match to their own version

* Tue Jul 12 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.114-1
- Update to 0.114 release
- Red Hat Subscriptions can now specify activation keys and orgs rhbz#1338680
- Network configuration of the Ethernet MTU rhbz#1339552
- SSH Host keys are show on system page rhbz#1318414
- Properly show SSH keys on authentication page rhbz#1336686
- Use 'active-backup' as the default for new network bonds rhbz#1348066
- Don't show network interfaces where NM_CONTROLLED=no is set rhbz#1330552
- Disable tuned correctly when clearing a performance profile rhbz#1330473
- Use CockpitLang cookie and Accept-Language for localization
- Cockpit terminal now supports shells like fish
- Disable the network on/off switch for unknown or unmanaged interfaces
  rhbz#1329954 rhbz#1329956
- Show intelligent password score error messages rhbz#1330838
- Show full string for system hardware info and operating system name rhbz#1331243
- Ensure popup-info when creating an account remains on screen rhbz#1340749
- Remove erroneous docker dependency rhbz#1349375

* Tue May 31 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.108-1
- Update to 0.108 release
- Strict browser security policy for Cockpit is now enforced. This defines which code can be run in a Cockpit session and mitigates a number of browser based attacks.

* Tue Apr 19 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.103-1
- Update to 0.103 release
- When Cockpit fails to connect to a host, relevant SSH command or host details are displayed to help resolve the issue
- Docker restart policy can be configured when starting a new container
- Display a single combined dialog for creating logical volumes
- Don't offer a 'Computer OU' option when joining IPA domains
- Display binary journal data correctly
- Display IEC names (eg: MiB) for disk or file system sizes
- Refuse to shrink logical volumes and prevent negative sizes in file system partition dialogs
- Apply strict Content-Security-Policy on most of Cockpit to prevent a number of browser based attacks
- Numerous other bug fixes and admin interface improvements

* Thu Mar 10 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.96-2
- Fix selenium tests
- Fix issue with dwz / go binaries in packages

* Thu Mar 3 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.96-1
- Update to 0.96 release
- Fix memory leaks, mostly related to DBus code
- Compatible with docker 1.10
- Limit concurrent authentication similar to sshd using 'MaxStartups' setting
- Fixed up server disconnection UI
- Navigation fixes

* Wed Feb 10 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.93-3
- Fix session path rhbz#1306145

* Mon Feb 8 2016 Stef Walter <stefw@redhat.com> - 0.93-2
- Fix startup /dev/urandom read issue rhbz#1303582

* Mon Jan 25 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.93-1
- Add tuned support
- Exit on idle in cockpit-ws

* Thu Jan 21 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.92-1
- Add OAuth login support
- Make SOS report work on Atomic

* Mon Jan 18 2016 Stef Walter <stefw@redhat.com> - 0.91-2
- Depend on correct rpm-ostree RPM on RHEL

* Fri Jan 15 2016 Dominik Perpeet <dperpeet@redhat.com> - 0.91-1
- Update to 0.91 release
- Fix Cockpit session issues with a second machine rhbz#1277938
- Split out docker rhbz#1297797
- Distribute licenses of included components in the source rpm
- Reworked TLS certificates for Cockpit
- Remove custom SELinux policy
- SOS report UI page
- User interface for OSTree upgrades and rollbacks
- Offer to activate multipathd for multipath disks

* Thu Oct 08 2015 Peter <petervo@redhat.com> - 0.77-3
- Update cockpit.pam to include pam_reauthorize and pam_ssh_add rhbz#1269623

* Wed Sep 30 2015 Stef Walter <stefw@redhat.com> - 0.77-2
- Fix extreme CPU usage bug rhbz#1266503
- Fix regressions in 0.77 rhbz#1266566

* Tue Sep 22 2015 Stef Walter <stefw@redhat.com> - 0.77-1
- Work better with multipath storage
- Deletion of kubernetes objects
- Cleaner URLs in the bookmark bar
- Show a warning when adding too many machines
- Make authentication work when embedding Cockpit
- Complete componentizing Cockpit

* Thu Aug 13 2015 Stef Walter <stefw@redhat.com> - 0.70-2
- kubernetes-client is not available on kubernetes yet

* Wed Aug 12 2015 Stef Walter <stefw@redhat.com> - 0.70-1
- Update to 0.70 release
- Depend on kubernetes-client instead of kubernetes

* Thu Aug 06 2015 Stef Walter <stefw@redhat.com> - 0.69-1
- Update to 0.69 release.

* Wed Jul 29 2015 Peter <petervo@redhat.com> - 0.68-1
- Update to 0.68 release.

* Thu Jul 23 2015 Peter <petervo@redhat.com> - 0.66-1
- Update to 0.66 release

* Fri Jul 17 2015 Peter <petervo@redhat.com> - 0.65-2
- Require libssh 0.7.1 on fedora >= 22 systems

* Wed Jul 15 2015 Peter <petervo@redhat.com> - 0.65-1
- Update to 0.65 release

* Wed Jul 08 2015 Peter <petervo@redhat.com> - 0.64-1
- Update to 0.64 release

* Wed Jul 01 2015 Peter <petervo@redhat.com> - 0.63-1
- Update to 0.63 release
- Remove cockpit-docker for armv7hl while docker
  packages are being fixed

* Thu Jun 25 2015 Peter <petervo@redhat.com> - 0.62-1
- Update to 0.62 release

* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.61-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild

* Wed Jun 10 2015 Peter <petervo@redhat.com> - 0.61-1
- Update to 0.61 release

* Mon Jun 01 2015 Stef Walter <stefw@redhat.com> - 0.60-1
- Update to 0.60 release

* Wed May 27 2015 Peter <petervo@redhat.com> - 0.59-1
- Update to 0.59 release

* Fri May 22 2015 Peter <petervo@redhat.com> - 0.58-1
- Update to 0.58 release

* Wed May 20 2015 Peter <petervo@redhat.com> - 0.57-1
- Update to 0.57 release

* Wed May 13 2015 Peter <petervo@redhat.com> - 0.56-1
- Update to 0.56 release

* Wed May 06 2015 Stef Walter <stefw@redhat.com> - 0.55-1
- Update to 0.55 release

* Fri Apr 24 2015 Peter <petervo@redhat.com> - 0.54-1
- Update to 0.54 release

* Tue Apr 21 2015 Peter <petervo@redhat.com> - 0.53-1
- Update to 0.53 release

* Thu Apr 16 2015 Stef Walter <stefw@redhat.com> - 0.52-1
- Update to 0.52 release

* Tue Apr 14 2015 Peter <petervo@redhat.com> - 0.51-1
- Update to 0.51 release

* Tue Apr 07 2015 Stef Walter <stefw@redhat.com> - 0.50-1
- Update to 0.50 release

* Wed Apr 01 2015 Stephen Gallagher <sgallagh@redhat.com> 0.49-2
- Fix incorrect Obsoletes: of cockpit-daemon

* Wed Apr 01 2015 Peter <petervo@redhat.com> - 0.49-1
- Update to 0.49 release.
- cockpitd was renamed to cockpit-wrapper the cockpit-daemon
  package was removed and is now installed with the
  cockpit-bridge package.

* Mon Mar 30 2015 Peter <petervo@redhat.com> - 0.48-1
- Update to 0.48 release

* Mon Mar 30 2015 Stephen Gallagher <sgallagh@redhat.com> 0.47-2
- Don't attempt to build cockpit-kubernetes on armv7hl

* Fri Mar 27 2015 Peter <petervo@redhat.com> - 0.47-1
- Update to 0.47 release, build docker on armvrhl

* Thu Mar 26 2015 Stef Walter <stefw@redhat.com> - 0.46-1
- Update to 0.46 release

* Mon Mar 23 2015 Stef Walter <stefw@redhat.com> - 0.45-1
- Update to 0.45 release

* Sat Mar 21 2015 Stef Walter <stefw@redhat.com> - 0.44-3
- Add back debuginfo files to the right place

* Fri Mar 20 2015 Stef Walter <stefw@redhat.com> - 0.44-2
- Disable separate debuginfo for now: build failure

* Fri Mar 20 2015 Stef Walter <stefw@redhat.com> - 0.44-1
- Update to 0.44 release

* Thu Mar 19 2015 Stef Walter <stefw@redhat.com> - 0.43-2
- Don't break EPEL or CentOS builds due to missing branding

* Wed Mar 18 2015 Stef Walter <stefw@redhat.com> - 0.43-1
- Update to 0.43 release

* Tue Mar 17 2015 Stef Walter <stefw@redhat.com> - 0.42-2
- Fix obseleting cockpit-assets

* Sat Mar 14 2015 Stef Walter <stefw@redhat.com> - 0.42-1
- Update to 0.42 release

* Wed Mar 04 2015 Stef Walter <stefw@redhat.com> - 0.41-1
- Update to 0.41 release

* Thu Feb 26 2015 Stef Walter <stefw@redhat.com> - 0.40-1
- Update to 0.40 release

* Thu Feb 19 2015 Stef Walter <stefw@redhat.com> - 0.39-1
- Update to 0.39 release

* Wed Jan 28 2015 Stef Walter <stefw@redhat.com> - 0.38-1
- Update to 0.38 release

* Thu Jan 22 2015 Stef Walter <stefw@redhat.com> - 0.37-1
- Update to 0.37 release

* Mon Jan 12 2015 Stef Walter <stefw@redhat.com> - 0.36-1
- Update to 0.36 release

* Mon Dec 15 2014 Stef Walter <stefw@redhat.com> - 0.35-1
- Update to 0.35 release

* Thu Dec 11 2014 Stef Walter <stefw@redhat.com> - 0.34-1
- Update to 0.34 release

* Fri Dec 05 2014 Stef Walter <stefw@redhat.com> - 0.33-3
- Only depend on docker stuff on x86_64

* Fri Dec 05 2014 Stef Walter <stefw@redhat.com> - 0.33-2
- Only build docker stuff on x86_64

* Wed Dec 03 2014 Stef Walter <stefw@redhat.com> - 0.33-1
- Update to 0.33 release

* Mon Nov 24 2014 Stef Walter <stefw@redhat.com> - 0.32-1
- Update to 0.32 release

* Fri Nov 14 2014 Stef Walter <stefw@redhat.com> - 0.31-1
- Update to 0.31 release

* Wed Nov 12 2014 Stef Walter <stefw@redhat.com> - 0.30-1
- Update to 0.30 release
- Split Cockpit into various sub packages

* Wed Nov 05 2014 Stef Walter <stefw@redhat.com> - 0.29-3
- Don't require test-assets from selinux-policy
- Other minor tweaks and fixes

* Wed Nov 05 2014 Stef Walter <stefw@redhat.com> - 0.29-2
- Include selinux policy as a dep where required

* Wed Nov 05 2014 Stef Walter <stefw@redhat.com> - 0.29-1
- Update to 0.29 release

* Thu Oct 16 2014 Stef Walter <stefw@redhat.com> - 0.28-1
- Update to 0.28 release
- cockpit-agent was renamed to cockpit-bridge

* Fri Oct 10 2014 Stef Walter <stefw@redhat.com> - 0.27-1
- Update to 0.27 release
- Don't create cockpit-*-admin groups rhbz#1145135
- Fix user management for non-root users rhbz#1140562
- Fix 'out of memory' error during ssh auth rhbz#1142282

* Wed Oct 08 2014 Stef Walter <stefw@redhat.com> - 0.26-1
- Update to 0.26 release
- Can see disk usage on storage page rhbz#1142459
- Better order for lists of block devices rhbz#1142443
- Setting container memory limit fixed rhbz#1142362
- Can create storage volume of maximum capacity rhbz#1142259
- Fix RAID device Bitmap enable/disable error rhbz#1142248
- Docker page connects to right machine rhbz#1142229
- Clear the format dialog label correctly rhbz#1142228
- No 'Drop Privileges' item in menu for root rhbz#1142197
- Don't flash 'Server has closed Connection on logout rhbz#1142175
- Non-root users can manipulate user accounts rhbz#1142154
- Fix strange error message when editing user accounts rhbz#1142154

* Wed Sep 24 2014 Stef Walter <stefw@redhat.com> - 0.25-1
- Update to 0.25 release

* Wed Sep 17 2014 Stef Walter <stefw@redhat.com> - 0.24-1
- Update to 0.24 release

* Wed Sep 10 2014 Stef Walter <stefw@redhat.com> - 0.23-1
- Update to 0.23 release

* Wed Sep 03 2014 Stef Walter <stefw@redhat.com> - 0.22-1
- Update to 0.22 release

* Tue Aug 26 2014 Patrick Uiterwijk <puiterwijk@redhat.com> - 0.21-1
- Update to 0.21 release

* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.20-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

* Thu Aug 14 2014 Stef Walter <stefw@redhat.com> 0.20-1
- Update to 0.20 release

* Thu Aug 07 2014 Stef Walter <stefw@redhat.com> 0.19-1
- Update to 0.19 release

* Wed Jul 30 2014 Stef Walter <stefw@redhat.com> 0.18-1
- Update to 0.18 release
- Add glib-networking build requirement
- Let selinux-policy-targetted distribute selinux policy

* Mon Jul 28 2014 Colin Walters <walters@verbum.org> 0.17-2
- Drop Requires and references to dead test-assets subpackage

* Thu Jul 24 2014 Stef Walter <stefw@redhat.com> 0.17-1
- Update to 0.17 release

* Wed Jul 23 2014 Stef Walter <stefw@redhat.com> 0.16-3
- Distribute our own selinux policy rhbz#1110758

* Tue Jul 22 2014 Stef Walter <stefw@redhat.com> 0.16-2
- Refer to cockpit.socket in scriptlets rhbz#1110764

* Thu Jul 17 2014 Stef Walter <stefw@redhat.com> 0.16-1
- Update to 0.16 release

* Thu Jul 10 2014 Stef Walter <stefw@redhat.com> 0.15-1
- Update to 0.15 release
- Put pam_reauthorize.so in the cockpit PAM stack

* Thu Jul 03 2014 Stef Walter <stefw@redhat.com> 0.14-1
- Update to 0.14 release

* Mon Jun 30 2014 Stef Walter <stefw@redhat.com> 0.13-1
- Update to 0.13 release

* Tue Jun 24 2014 Stef Walter <stefw@redhat.com> 0.12-1
- Update to upstream 0.12 release

* Fri Jun 20 2014 Stef Walter <stefw@redhat.com> 0.11-1
- Update to upstream 0.11 release

* Thu Jun 12 2014 Stef Walter <stefw@redhat.com> 0.10-1
- Update to upstream 0.10 release

* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.9-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

* Fri May 23 2014 Stef Walter <stefw@redhat.com> 0.9-1
- Update to upstream 0.9 release
- Fix file attribute for cockpit-polkit

* Wed May 21 2014 Stef Walter <stefw@redhat.com> 0.8-1
- Update to upstream 0.8 release
- cockpitd now runs as a user session DBus service

* Mon May 19 2014 Stef Walter <stefw@redhat.com> 0.7-1
- Update to upstream 0.7 release

* Wed May 14 2014 Stef Walter <stefw@redhat.com> 0.6-1
- Update to upstream 0.6 release

* Tue Apr 15 2014 Stef Walter <stefw@redhat.com> 0.5-1
- Update to upstream 0.5 release

* Thu Apr 03 2014 Stef Walter <stefw@redhat.com> 0.4-1
- Update to upstream 0.4 release
- Lots of packaging cleanup and polish

* Fri Mar 28 2014 Stef Walter <stefw@redhat.com> 0.3-1
- Update to upstream 0.3 release

* Wed Feb 05 2014 Patrick Uiterwijk (LOCAL) <puiterwijk@redhat.com> - 0.2-0.4.20140204git5e1faad
- Redid the release tag

* Tue Feb 04 2014 Patrick Uiterwijk (LOCAL) <puiterwijk@redhat.com> - 0.2-0.3.5e1faadgit
- Fixed license tag
- Updated to new FSF address upstream
- Removing libgsystem before build
- Now claiming specific manpages
- Made the config files noreplace
- Removed the test assets
- Put the web assets in a subpackage

* Tue Feb 04 2014 Patrick Uiterwijk (LOCAL) <puiterwijk@redhat.com> - 0.2-0.2.5e1faadgit
- Patch libgsystem out