+++ /dev/null
-From: Yangfl <mmyangfl@gmail.com>
-Date: Tue, 12 Dec 2017 16:47:45 +0800
-Subject: multiarch: fix support for kfreebsd and hurd
-
-Currently DFileSystemWatcher does not actually support non-Linux
-platforms but provides a dummy file for win* and mac*, while
-unconsidered condition prevents the entire library from building on
-kFreebsd and Hurd, which are parts of platforms supported by Debian
-project.
-
-Resolves: https://bugs.debian.org/874137
-
-Change-Id: I5ff455e8b1497492132599309ee9d5760b63694b
----
- src/filesystem/dfilesystemwatcher_dummy.cpp | 248 +++++++++++++++++++++
- src/filesystem/filesystem.pri | 4 +-
- .../private/dfilesystemwatcher_dummy_p.h | 45 ++++
- 3 files changed, 295 insertions(+), 2 deletions(-)
- create mode 100644 src/filesystem/dfilesystemwatcher_dummy.cpp
- create mode 100644 src/filesystem/private/dfilesystemwatcher_dummy_p.h
-
-diff --git a/src/filesystem/dfilesystemwatcher_dummy.cpp b/src/filesystem/dfilesystemwatcher_dummy.cpp
-new file mode 100644
-index 0000000..022c42e
---- /dev/null
-+++ b/src/filesystem/dfilesystemwatcher_dummy.cpp
-@@ -0,0 +1,248 @@
-+/*
-+ * Copyright (C) 2017 ~ 2017 Deepin Technology Co., Ltd.
-+ *
-+ * This program is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation, either version 3 of the License, or
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#include "dfilesystemwatcher.h"
-+#include "private/dfilesystemwatcher_dummy_p.h"
-+
-+DCORE_BEGIN_NAMESPACE
-+
-+DFileSystemWatcherPrivate::DFileSystemWatcherPrivate(int fd, DFileSystemWatcher *qq)
-+ : DObjectPrivate(qq)
-+{
-+
-+}
-+
-+DFileSystemWatcherPrivate::~DFileSystemWatcherPrivate()
-+{
-+
-+}
-+
-+/*!
-+ \class DFileSystemWatcher
-+ \inmodule QtCore
-+ \brief The DFileSystemWatcher class provides an interface for monitoring files and directories for modifications.
-+ \ingroup io
-+ \since 4.2
-+ \reentrant
-+
-+ DFileSystemWatcher monitors the file system for changes to files
-+ and directories by watching a list of specified paths.
-+
-+ Call addPath() to watch a particular file or directory. Multiple
-+ paths can be added using the addPaths() function. Existing paths can
-+ be removed by using the removePath() and removePaths() functions.
-+
-+ DFileSystemWatcher examines each path added to it. Files that have
-+ been added to the DFileSystemWatcher can be accessed using the
-+ files() function, and directories using the directories() function.
-+
-+ The fileChanged() signal is emitted when a file has been modified,
-+ renamed or removed from disk. Similarly, the directoryChanged()
-+ signal is emitted when a directory or its contents is modified or
-+ removed. Note that DFileSystemWatcher stops monitoring files once
-+ they have been renamed or removed from disk, and directories once
-+ they have been removed from disk.
-+
-+ \note On systems running a Linux kernel without inotify support,
-+ file systems that contain watched paths cannot be unmounted.
-+
-+ \note Windows CE does not support directory monitoring by
-+ default as this depends on the file system driver installed.
-+
-+ \note The act of monitoring files and directories for
-+ modifications consumes system resources. This implies there is a
-+ limit to the number of files and directories your process can
-+ monitor simultaneously. On all BSD variants, for
-+ example, an open file descriptor is required for each monitored
-+ file. Some system limits the number of open file descriptors to 256
-+ by default. This means that addPath() and addPaths() will fail if
-+ your process tries to add more than 256 files or directories to
-+ the file system monitor. Also note that your process may have
-+ other file descriptors open in addition to the ones for files
-+ being monitored, and these other open descriptors also count in
-+ the total. OS X uses a different backend and does not
-+ suffer from this issue.
-+
-+
-+ \sa QFile, QDir
-+*/
-+
-+
-+/*!
-+ Constructs a new file system watcher object with the given \a parent.
-+*/
-+DFileSystemWatcher::DFileSystemWatcher(QObject *parent)
-+ : QObject(parent)
-+ , DObject()
-+{
-+
-+}
-+
-+/*!
-+ Constructs a new file system watcher object with the given \a parent
-+ which monitors the specified \a paths list.
-+*/
-+DFileSystemWatcher::DFileSystemWatcher(const QStringList &paths, QObject *parent)
-+ : DFileSystemWatcher(parent)
-+{
-+ addPaths(paths);
-+}
-+
-+/*!
-+ Destroys the file system watcher.
-+*/
-+DFileSystemWatcher::~DFileSystemWatcher()
-+{ }
-+
-+/*!
-+ Adds \a path to the file system watcher if \a path exists. The
-+ path is not added if it does not exist, or if it is already being
-+ monitored by the file system watcher.
-+
-+ If \a path specifies a directory, the directoryChanged() signal
-+ will be emitted when \a path is modified or removed from disk;
-+ otherwise the fileChanged() signal is emitted when \a path is
-+ modified, renamed or removed.
-+
-+ If the watch was successful, true is returned.
-+
-+ Reasons for a watch failure are generally system-dependent, but
-+ may include the resource not existing, access failures, or the
-+ total watch count limit, if the platform has one.
-+
-+ \note There may be a system dependent limit to the number of
-+ files and directories that can be monitored simultaneously.
-+ If this limit is been reached, \a path will not be monitored,
-+ and false is returned.
-+
-+ \sa addPaths(), removePath()
-+*/
-+bool DFileSystemWatcher::addPath(const QString &path)
-+{
-+ return false;
-+}
-+
-+/*!
-+ Adds each path in \a paths to the file system watcher. Paths are
-+ not added if they not exist, or if they are already being
-+ monitored by the file system watcher.
-+
-+ If a path specifies a directory, the directoryChanged() signal
-+ will be emitted when the path is modified or removed from disk;
-+ otherwise the fileChanged() signal is emitted when the path is
-+ modified, renamed, or removed.
-+
-+ The return value is a list of paths that could not be watched.
-+
-+ Reasons for a watch failure are generally system-dependent, but
-+ may include the resource not existing, access failures, or the
-+ total watch count limit, if the platform has one.
-+
-+ \note There may be a system dependent limit to the number of
-+ files and directories that can be monitored simultaneously.
-+ If this limit has been reached, the excess \a paths will not
-+ be monitored, and they will be added to the returned QStringList.
-+
-+ \sa addPath(), removePaths()
-+*/
-+QStringList DFileSystemWatcher::addPaths(const QStringList &paths)
-+{
-+ return QStringList();
-+}
-+
-+/*!
-+ Removes the specified \a path from the file system watcher.
-+
-+ If the watch is successfully removed, true is returned.
-+
-+ Reasons for watch removal failing are generally system-dependent,
-+ but may be due to the path having already been deleted, for example.
-+
-+ \sa removePaths(), addPath()
-+*/
-+bool DFileSystemWatcher::removePath(const QString &path)
-+{
-+ return false;
-+}
-+
-+/*!
-+ Removes the specified \a paths from the file system watcher.
-+
-+ The return value is a list of paths which were not able to be
-+ unwatched successfully.
-+
-+ Reasons for watch removal failing are generally system-dependent,
-+ but may be due to the path having already been deleted, for example.
-+
-+ \sa removePath(), addPaths()
-+*/
-+QStringList DFileSystemWatcher::removePaths(const QStringList &paths)
-+{
-+ return QStringList();
-+}
-+
-+/*!
-+ \fn void DFileSystemWatcher::fileChanged(const QString &path)
-+
-+ This signal is emitted when the file at the specified \a path is
-+ modified, renamed or removed from disk.
-+
-+ \sa directoryChanged()
-+*/
-+
-+/*!
-+ \fn void DFileSystemWatcher::directoryChanged(const QString &path)
-+
-+ This signal is emitted when the directory at a specified \a path
-+ is modified (e.g., when a file is added or deleted) or removed
-+ from disk. Note that if there are several changes during a short
-+ period of time, some of the changes might not Q_EMIT this signal.
-+ However, the last change in the sequence of changes will always
-+ generate this signal.
-+
-+ \sa fileChanged()
-+*/
-+
-+/*!
-+ \fn QStringList DFileSystemWatcher::directories() const
-+
-+ Returns a list of paths to directories that are being watched.
-+
-+ \sa files()
-+*/
-+
-+/*!
-+ \fn QStringList DFileSystemWatcher::files() const
-+
-+ Returns a list of paths to files that are being watched.
-+
-+ \sa directories()
-+*/
-+
-+QStringList DFileSystemWatcher::directories() const
-+{
-+ return QStringList();
-+}
-+
-+QStringList DFileSystemWatcher::files() const
-+{
-+ return QStringList();
-+}
-+
-+DCORE_END_NAMESPACE
-+
-+#include "moc_dfilesystemwatcher.cpp"
-diff --git a/src/filesystem/filesystem.pri b/src/filesystem/filesystem.pri
-index 86d929b..d0e67f6 100644
---- a/src/filesystem/filesystem.pri
-+++ b/src/filesystem/filesystem.pri
-@@ -23,9 +23,9 @@ linux {
- } else:win* {
- SOURCES += \
- $$PWD/dfilesystemwatcher_win.cpp
--} else:mac* {
-+} else {
- SOURCES += \
-- $$PWD/dfilesystemwatcher_win.cpp
-+ $$PWD/dfilesystemwatcher_dummy.cpp
- }
-
- includes.files += $$PWD/*.h
-diff --git a/src/filesystem/private/dfilesystemwatcher_dummy_p.h b/src/filesystem/private/dfilesystemwatcher_dummy_p.h
-new file mode 100644
-index 0000000..67311b6
---- /dev/null
-+++ b/src/filesystem/private/dfilesystemwatcher_dummy_p.h
-@@ -0,0 +1,45 @@
-+/*
-+ * Copyright (C) 2017 ~ 2017 Deepin Technology Co., Ltd.
-+ *
-+ * This program is free software: you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation, either version 3 of the License, or
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * You should have received a copy of the GNU General Public License
-+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
-+ */
-+
-+#ifndef DFILESYSTEMWATCHER_WIN_P_H
-+#define DFILESYSTEMWATCHER_WIN_P_H
-+
-+#include "base/private/dobject_p.h"
-+
-+DCORE_BEGIN_NAMESPACE
-+
-+class DFileSystemWatcher;
-+class DFileSystemWatcherPrivate : public DObjectPrivate
-+{
-+ Q_DECLARE_PUBLIC(DFileSystemWatcher)
-+
-+public:
-+ DFileSystemWatcherPrivate(int fd, DFileSystemWatcher *qq);
-+ ~DFileSystemWatcherPrivate();
-+
-+ // private slots
-+ void _q_readFromInotify();
-+};
-+
-+void DFileSystemWatcherPrivate::_q_readFromInotify()
-+{
-+
-+}
-+
-+DCORE_END_NAMESPACE
-+
-+#endif // DFILESYSTEMWATCHER_WIN_P_H