diff --git a/.cockpit.metadata b/.cockpit.metadata
index d093bc6..e19db46 100644
--- a/.cockpit.metadata
+++ b/.cockpit.metadata
@@ -1 +1 @@
-2463a77ed6548bcc54e66b529be1e42ddfad6e11 SOURCES/cockpit-155.tar.xz
+350687e6d1a3d408042a5f831c43756970774f3c SOURCES/cockpit-157.tar.xz
diff --git a/.gitignore b/.gitignore
index 4d2f94a..3295085 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/cockpit-155.tar.xz
+SOURCES/cockpit-157.tar.xz
diff --git a/SPECS/cockpit.spec b/SPECS/cockpit.spec
index 1dc52de..bf65a49 100644
--- a/SPECS/cockpit.spec
+++ b/SPECS/cockpit.spec
@@ -3,8 +3,6 @@
 #  * wip 1
 #
 
-%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
@@ -13,6 +11,12 @@
 %define rhel 0
 %endif
 
+# for testing this already gets set in fedora.install, as we want the target
+# VERSION_ID, not the mock chroot's one
+%if "%{!?os_version_id:1}"
+%define os_version_id %(. /etc/os-release; echo $VERSION_ID)
+%endif
+
 %define _hardened_build 1
 
 # define to build the dashboard
@@ -29,12 +33,12 @@ Summary:        A user interface for Linux servers
 License:        LGPLv2+
 URL:            http://cockpit-project.org/
 
-Version:        155
+Version:        157
 %if %{defined wip}
 Release:        1.%{wip}%{?dist}
 Source0:        cockpit-%{version}.tar.gz
 %else
-Release:        %{rev}%{?dist}
+Release:        1%{?dist}
 Source0:        https://github.com/cockpit-project/cockpit/releases/download/%{version}/cockpit-%{version}.tar.xz
 %endif
 
@@ -44,7 +48,7 @@ BuildRequires: pkgconfig(polkit-agent-1) >= 0.105
 BuildRequires: pam-devel
 
 BuildRequires: autoconf automake
-BuildRequires: /usr/bin/python
+BuildRequires: /usr/bin/python2
 BuildRequires: intltool
 %if %{defined build_dashboard}
 BuildRequires: libssh-devel >= %{libssh_version}
@@ -76,8 +80,10 @@ 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.0.4
 %ifarch x86_64 %{arm} aarch64 ppc64le i686 s390x
 Recommends: %{name}-docker = %{version}-%{release}
 %endif
@@ -86,7 +92,6 @@ Suggests: %{name}-kubernetes = %{version}-%{release}
 Suggests: %{name}-selinux = %{version}-%{release}
 Suggests: %{name}-packagekit = %{version}-%{release}
 
-
 %endif
 
 %description
@@ -111,18 +116,18 @@ machines.
 # 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
+    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}
+%configure --disable-silent-rules --with-cockpit-user=cockpit-ws --with-selinux-config-type=etc_t %{?rhel:--without-storaged-iscsi-sessions} %{!?build_dashboard:--disable-ssh}
 make -j4 %{?extra_flags} all
 
 %check
@@ -267,6 +272,8 @@ cat kdump.list subscriptions.list sosreport.list networkmanager.list selinux.lis
 # -------------------------------------------------------------------------------
 # Sub-packages
 
+%define __lib lib
+
 %package bridge
 Summary: Cockpit bridge server-side component
 Requires: glib-networking
@@ -343,15 +350,16 @@ Cockpit support for reading PCP metrics and loading PCP archives.
 
 %if %{defined build_dashboard}
 %package dashboard
-Summary: Cockpit SSH remoting and dashboard
+Summary: Cockpit remote servers and dashboard
 Requires: libssh >= %{libssh_version}
-Provides: %{name}-ssh
+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 remoting to other servers, bastion hosts, and a basic dashboard
+Cockpit support for connecting to remote servers (through ssh),
+bastion hosts, and a basic dashboard.
 
 %files dashboard -f dashboard.list
 %{_libexecdir}/cockpit-ssh
@@ -365,16 +373,6 @@ if type semanage >/dev/null 2>&1; then
 else
     chcon -t cockpit_ws_exec_t %{_libexecdir}/cockpit-ssh || true
 fi
-%if 0%{?fedora} > 0 && 0%{?fedora} >= 26
-if type semodule >/dev/null 2>&1; then
-    tmp=$(mktemp -d)
-    echo 'module local 1.0; require { type cockpit_ws_exec_t; type cockpit_ws_t; class file execute_no_trans; } allow cockpit_ws_t cockpit_ws_exec_t:file execute_no_trans;' > "$tmp/local.te"
-    checkmodule -M -m -o "$tmp/local.mod" "$tmp/local.te"
-    semodule_package -o "$tmp/local.pp" -m "$tmp/local.mod"
-    semodule -i "$tmp/local.pp"
-    rm -rf "$tmp"
-fi
-%endif
 %endif
 
 %package storaged
@@ -444,7 +442,7 @@ Summary: Tests for Cockpit
 Requires: %{name}-bridge >= 138
 Requires: %{name}-system >= 138
 Requires: openssh-clients
-Provides: %{name}-test-assets
+Provides: %{name}-test-assets = %{version}-%{release}
 Obsoletes: %{name}-test-assets < 132
 
 %description tests
@@ -475,9 +473,12 @@ 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
 %{_unitdir}/cockpit.service
 %{_unitdir}/cockpit.socket
-%{_prefix}/lib/firewalld/services/cockpit.xml
+%{_prefix}/%{__lib}/firewalld/services/cockpit.xml
+%{_prefix}/%{__lib}/tmpfiles.d/cockpit-tempfiles.conf
 %{_sbindir}/remotectl
 %{_libdir}/security/pam_ssh_add.so
 %{_libexecdir}/cockpit-ws
@@ -633,6 +634,9 @@ The Cockpit component for installing package updates, via PackageKit.
 
 
 %changelog
+* Fri Dec 08 2017 Martin Pitt <mpitt@redhat.com> 157-1
+ - Correctly compute "used" space for NFS mounts
+
 * Tue Nov 07 2017 Martin Pitt <mpitt@redhat.com> 155-1
  - Add NFS client support to the Storage page
  - Add checkboxes for common Storage encryption and mount options