diff --git a/src/assistant/help/doc/src/qthelp-index.qdoc b/src/assistant/help/doc/src/qthelp-index.qdoc
index 793d48bd7f5aa97a5bba320e8291c3534e92db12..abe20b81f88993042755de163bfe7cb76bd1afed 100644
--- a/src/assistant/help/doc/src/qthelp-index.qdoc
+++ b/src/assistant/help/doc/src/qthelp-index.qdoc
@@ -58,8 +58,9 @@
 
     \section1 License Information
 
-    Qt Core is available under commercial licenses from \l{The Qt Company}.
-    In addition, it is available under the
+    Qt Help is available under commercial licenses from \l{The Qt Company}.
+    In addition, it is available under free software licenses. Since Qt 5.4,
+    these free software licenses are
     \l{GNU Lesser General Public License, version 3}, or
     the \l{GNU General Public License, version 2}.
     See \l{Qt Licensing} for further details.
diff --git a/src/macdeployqt/macdeployqt/main.cpp b/src/macdeployqt/macdeployqt/main.cpp
index 5488a5f6193e20dc19408e891ed125ad4d9d985f..90a5412b227a02c7a51f392533f421a9a3ec99f7 100644
--- a/src/macdeployqt/macdeployqt/main.cpp
+++ b/src/macdeployqt/macdeployqt/main.cpp
@@ -53,6 +53,7 @@ int main(int argc, char **argv)
         qDebug() << "   -codesign=<ident>  : Run codesign with the given identity on all executables";
         qDebug() << "   -appstore-compliant: Skip deployment of components that use private API";
         qDebug() << "   -libpath=<path>    : Add the given path to the library search path";
+        qDebug() << "   -fs=<filesystem>   : Set the filesystem used for the .dmg disk image (defaults to HFS+)";
         qDebug() << "";
         qDebug() << "macdeployqt takes an application bundle as input and makes it";
         qDebug() << "self-contained by copying in the Qt frameworks and plugins that";
@@ -83,6 +84,7 @@ int main(int argc, char **argv)
 
     bool plugins = true;
     bool dmg = false;
+    QByteArray filesystem("HFS+");
     bool useDebugLibs = false;
     extern bool runStripEnabled;
     extern bool alwaysOwerwriteEnabled;
@@ -162,6 +164,13 @@ int main(int argc, char **argv)
             LogDebug() << "Argument found:" << argument;
             deployFramework = true;
 
+        } else if (argument.startsWith(QByteArray("-fs"))) {
+            LogDebug() << "Argument found:" << argument;
+            int index = argument.indexOf('=');
+            if (index == -1)
+                LogError() << "Missing filesystem type";
+            else
+                filesystem = argument.mid(index+1);
         } else if (argument.startsWith("-")) {
             LogError() << "Unknown argument" << argument << "\n";
             return 1;
@@ -207,7 +216,7 @@ int main(int argc, char **argv)
 
     if (dmg) {
         LogNormal();
-        createDiskImage(appBundlePath);
+        createDiskImage(appBundlePath, filesystem);
     }
 
     return 0;
diff --git a/src/macdeployqt/shared/shared.cpp b/src/macdeployqt/shared/shared.cpp
index a2284a192297769519bf4ce12b963ff00bdea7a7..9ce06e597c481273cc1fc378b843b3cd15f6c574 100644
--- a/src/macdeployqt/shared/shared.cpp
+++ b/src/macdeployqt/shared/shared.cpp
@@ -1495,7 +1495,7 @@ void codesign(const QString &identity, const QString &appBundlePath) {
     codesignBundle(identity, appBundlePath, QList<QString>());
 }
 
-void createDiskImage(const QString &appBundlePath)
+void createDiskImage(const QString &appBundlePath, const QString &filesystemType)
 {
     QString appBaseName = appBundlePath;
     appBaseName.chop(4); // remove ".app" from end
@@ -1513,16 +1513,22 @@ void createDiskImage(const QString &appBundlePath)
         LogNormal() << "Creating disk image (.dmg) for" << appBundlePath;
     }
 
+    LogNormal() << "Image will use" << filesystemType;
+
     // More dmg options can be found in the hdiutil man page.
     QStringList options = QStringList()
             << "create" << dmgName
             << "-srcfolder" << appBundlePath
             << "-format" << "UDZO"
+            << "-fs" << filesystemType
             << "-volname" << appBaseName;
 
     QProcess hdutil;
     hdutil.start("hdiutil", options);
     hdutil.waitForFinished(-1);
+    if (hdutil.exitCode() != 0) {
+        LogError() << "Bundle creation error:" << hdutil.readAllStandardError();
+    }
 }
 
 void fixupFramework(const QString &frameworkName)
diff --git a/src/macdeployqt/shared/shared.h b/src/macdeployqt/shared/shared.h
index c173846c86e09ce3d3d859a8d892583f55d39f85..c4d60ea0a3913c1dcd710728c0a6b997ffda7edb 100644
--- a/src/macdeployqt/shared/shared.h
+++ b/src/macdeployqt/shared/shared.h
@@ -129,7 +129,7 @@ QSet<QString> codesignBundle(const QString &identity,
                              const QString &appBundlePath,
                              QList<QString> additionalBinariesContainingRpaths);
 void codesign(const QString &identity, const QString &appBundlePath);
-void createDiskImage(const QString &appBundlePath);
+void createDiskImage(const QString &appBundlePath, const QString &filesystemType);
 void fixupFramework(const QString &appBundlePath);
 
 
diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp
index bef9120135409bd01bb207e62b2c5ce568e10244..8e6a3a73e5c94292b5329ee32741cebda12ea8d0 100644
--- a/src/qdoc/generator.cpp
+++ b/src/qdoc/generator.cpp
@@ -2291,6 +2291,10 @@ QString Generator::typeString(const Node *node)
         return "QML signal handler";
     case Node::QmlMethod:
         return "QML method";
+    case Node::Module:
+        return "module";
+    case Node::QmlModule:
+        return "QML module";
     default:
         return "documentation";
     }
diff --git a/src/qtattributionsscanner/main.cpp b/src/qtattributionsscanner/main.cpp
index ddb942a9d7dcdc934412863a08d7a7ac75bde81b..59b0e67946f6ad78238aec619f392d42b28a5e2c 100644
--- a/src/qtattributionsscanner/main.cpp
+++ b/src/qtattributionsscanner/main.cpp
@@ -138,6 +138,7 @@ int main(int argc, char *argv[])
     }
 
     QString generator = parser.value(generatorOption);
+    out.setCodec("UTF-8");
     if (generator == QLatin1String("qdoc")) {
         QString baseDirectory = parser.value(baseDirOption);
         if (baseDirectory.isEmpty()) {