diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 302dc3663..53780263a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,7 +12,10 @@ exclude: | misc/image/| po/| tools/quicktype/| - tools/openapi-c-libcurl-client/ + tools/openapi-c-libcurl-client/| + .obs/| + misc/share/linglong/builder/templates/| + apps/ll-builder-utils/patch/ ) ci: diff --git a/.tx/config b/.tx/config index df1682a36..393722ba8 100755 --- a/.tx/config +++ b/.tx/config @@ -6,4 +6,3 @@ file_filter = po/.po source_file = po/en_US.po source_lang = en_US type = PO - diff --git a/apps/ll-driver-detect/README.md b/apps/ll-driver-detect/README.md index ff833b3bc..f08ed1875 100644 --- a/apps/ll-driver-detect/README.md +++ b/apps/ll-driver-detect/README.md @@ -117,4 +117,4 @@ make ll-driver-detect ## 许可证 -本项目遵循 LGPL-3.0-or-later 许可证。 \ No newline at end of file +本项目遵循 LGPL-3.0-or-later 许可证。 diff --git a/apps/ll-driver-detect/src/application_singleton.cpp b/apps/ll-driver-detect/src/application_singleton.cpp index 4875bf360..508def421 100644 --- a/apps/ll-driver-detect/src/application_singleton.cpp +++ b/apps/ll-driver-detect/src/application_singleton.cpp @@ -7,6 +7,7 @@ #include "linglong/utils/log/log.h" #include + namespace linglong::driver::detect { ApplicationSingleton::ApplicationSingleton(const std::string &lockFilePath) diff --git a/apps/ll-driver-detect/src/dbus_notifier.cpp b/apps/ll-driver-detect/src/dbus_notifier.cpp index 1f7001f4b..fada0cb7b 100644 --- a/apps/ll-driver-detect/src/dbus_notifier.cpp +++ b/apps/ll-driver-detect/src/dbus_notifier.cpp @@ -58,7 +58,8 @@ DBusNotifier::sendInteractiveNotification(const NotificationRequest &request) bool userInteracted = false; QEventLoop loop; - struct SignalGuard { + struct SignalGuard + { QMetaObject::Connection closeConn; QMetaObject::Connection actionConn; @@ -67,27 +68,29 @@ DBusNotifier::sendInteractiveNotification(const NotificationRequest &request) QObject::disconnect(closeConn); QObject::disconnect(actionConn); } - } signalGuard{{}, {}}; + } signalGuard{ {}, {} }; // 连接信号处理函数 - signalGuard.closeConn = QObject::connect(this, - &DBusNotifier::notificationClosed, - [&](quint32 id, quint32 closeReason) { - if (notificationID != 0 && id == notificationID) { - LogD("Notification {} closed with reason: {}", id, closeReason); - loop.quit(); - } - }); - - signalGuard.actionConn = QObject::connect(this, - &DBusNotifier::actionInvoked, - [&](quint32 id, const QString &actionKey) { - if (notificationID != 0 && id == notificationID) { - LogD("Notification {} action invoked: {}", id, actionKey.toStdString()); - choice = actionKey; - userInteracted = true; - } - }); + signalGuard.closeConn = + QObject::connect(this, + &DBusNotifier::notificationClosed, + [&](quint32 id, quint32 closeReason) { + if (notificationID != 0 && id == notificationID) { + LogD("Notification {} closed with reason: {}", id, closeReason); + loop.quit(); + } + }); + + signalGuard.actionConn = QObject::connect( + this, + &DBusNotifier::actionInvoked, + [&](quint32 id, const QString &actionKey) { + if (notificationID != 0 && id == notificationID) { + LogD("Notification {} action invoked: {}", id, actionKey.toStdString()); + choice = actionKey; + userInteracted = true; + } + }); // 检查信号连接是否成功 if (!signalGuard.closeConn || !signalGuard.actionConn) { diff --git a/apps/ll-driver-detect/src/driver_detection_manager.h b/apps/ll-driver-detect/src/driver_detection_manager.h index 467a2a929..a0374f0fd 100644 --- a/apps/ll-driver-detect/src/driver_detection_manager.h +++ b/apps/ll-driver-detect/src/driver_detection_manager.h @@ -18,11 +18,9 @@ struct DriverDetectionResult bool hasAvailableDrivers() const { - return std::any_of(detectedDrivers.begin(), - detectedDrivers.end(), - [](const auto &driver) { - return !driver.isInstalled; - }); + return std::any_of(detectedDrivers.begin(), detectedDrivers.end(), [](const auto &driver) { + return !driver.isInstalled; + }); } }; diff --git a/apps/ll-driver-detect/src/nvidia_driver_detector.cpp b/apps/ll-driver-detect/src/nvidia_driver_detector.cpp index 6524366ff..a970661d3 100644 --- a/apps/ll-driver-detect/src/nvidia_driver_detector.cpp +++ b/apps/ll-driver-detect/src/nvidia_driver_detector.cpp @@ -76,8 +76,9 @@ NVIDIADriverDetector::checkPackageInstalled(const std::string &packageName) linglong::utils::command::Cmd("ll-cli").exec({ "info", packageName.c_str() }); if (!listResult) { - LogD("Can not get package info with `ll-cli info`, maybe the package is not installed: {}", - listResult.error().message()); + LogD( + "Can not get package info with `ll-cli info`, maybe the package is not installed: {}", + listResult.error().message()); return false; } diff --git a/libs/linglong/tests/ll-tests/data/demo/app.yml b/libs/linglong/tests/ll-tests/data/demo/app.yml index 57fff705a..e95b1dc41 100644 --- a/libs/linglong/tests/ll-tests/data/demo/app.yml +++ b/libs/linglong/tests/ll-tests/data/demo/app.yml @@ -38,4 +38,4 @@ permissions: namespaces: - type: pid - - type: uts \ No newline at end of file + - type: uts diff --git a/libs/linglong/tests/ll-tests/data/demo/config-mini.json b/libs/linglong/tests/ll-tests/data/demo/config-mini.json index 7a203824b..654c04423 100644 --- a/libs/linglong/tests/ll-tests/data/demo/config-mini.json +++ b/libs/linglong/tests/ll-tests/data/demo/config-mini.json @@ -1,180 +1,136 @@ { - "ociVersion": "1.0.1", - "hostname": "linglong", - "process": { - "args": [ - "/bin/bash" - ], - "env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "TERM=xterm" - ], - "cwd": "/" - }, - "linux": { - "uidMappings": [ - { - "hostID": 65534, - "containerID": 0, - "size": 1 - }, - { - "hostID": 1000, - "containerID": 1000, - "size": 1 - } - ], - "gidMappings": [ - { - "hostID": 65534, - "containerID": 0, - "size": 1 - }, - { - "hostID": 1000, - "containerID": 1000, - "size": 1 - } - ], - "namespaces": [ - { - "type": "pid" - }, - { - "type": "mount" - }, - { - "type": "uts" - }, - { - "type": "network" - } - ] - }, - "mounts": [ - { - "destination": "/proc", - "type": "proc", - "source": "proc" - }, - { - "destination": "/dev", - "type": "tmpfs", - "source": "tmpfs", - "options": [ - "nosuid", - "strictatime", - "mode=755", - "size=65536k" - ] - }, - { - "destination": "/dev/pts", - "type": "devpts", - "source": "devpts", - "options": [ - "nosuid", - "noexec", - "newinstance", - "ptmxmode=0666", - "mode=0620", - "gid=5" - ] - }, - { - "destination": "/dev/shm", - "type": "tmpfs", - "source": "shm", - "options": [ - "nosuid", - "noexec", - "nodev", - "mode=1777", - "size=65536k" - ] + "ociVersion": "1.0.1", + "hostname": "linglong", + "process": { + "args": ["/bin/bash"], + "env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "TERM=xterm" + ], + "cwd": "/" }, - { - "destination": "/dev/mqueue", - "type": "mqueue", - "source": "mqueue", - "options": [ - "nosuid", - "noexec", - "nodev" - ] + "linux": { + "uidMappings": [ + { + "hostID": 65534, + "containerID": 0, + "size": 1 + }, + { + "hostID": 1000, + "containerID": 1000, + "size": 1 + } + ], + "gidMappings": [ + { + "hostID": 65534, + "containerID": 0, + "size": 1 + }, + { + "hostID": 1000, + "containerID": 1000, + "size": 1 + } + ], + "namespaces": [ + { + "type": "pid" + }, + { + "type": "mount" + }, + { + "type": "uts" + }, + { + "type": "network" + } + ] }, - { - "destination": "/sys", - "type": "sysfs", - "source": "sysfs", - "options": [ - "nosuid", - "noexec", - "nodev" - ] - }, - { - "destination": "/sys/fs/cgroup", - "type": "cgroup", - "source": "cgroup", - "options": [ - "nosuid", - "noexec", - "nodev", - "relatime", - "ro" - ] - }, - { - "destination": "/dev/dri", - "type": "bind", - "source": "/dev/dri", - "options": [ - "rbind" - ] - }, - { - "destination": "/etc", - "type": "bind", - "source": "/etc", - "options": [ - "rbind" - ] - - }, - { - "destination": "/usr", - "type": "bind", - "source": "/usr", - "options": [ - "rbind" - ] - - }, - { - "destination": "/etc", - "type": "bind", - "source": "/etc", - "options": [ - "rbind" - ] - - }, - { - "destination": "/tmp", - "type": "tmpfs", - "source": "tmpfs", - "options": [ - "nosuid", - "strictatime", - "mode=777", - "size=65536k" - ] + "mounts": [ + { + "destination": "/proc", + "type": "proc", + "source": "proc" + }, + { + "destination": "/dev", + "type": "tmpfs", + "source": "tmpfs", + "options": ["nosuid", "strictatime", "mode=755", "size=65536k"] + }, + { + "destination": "/dev/pts", + "type": "devpts", + "source": "devpts", + "options": [ + "nosuid", + "noexec", + "newinstance", + "ptmxmode=0666", + "mode=0620", + "gid=5" + ] + }, + { + "destination": "/dev/shm", + "type": "tmpfs", + "source": "shm", + "options": ["nosuid", "noexec", "nodev", "mode=1777", "size=65536k"] + }, + { + "destination": "/dev/mqueue", + "type": "mqueue", + "source": "mqueue", + "options": ["nosuid", "noexec", "nodev"] + }, + { + "destination": "/sys", + "type": "sysfs", + "source": "sysfs", + "options": ["nosuid", "noexec", "nodev"] + }, + { + "destination": "/sys/fs/cgroup", + "type": "cgroup", + "source": "cgroup", + "options": ["nosuid", "noexec", "nodev", "relatime", "ro"] + }, + { + "destination": "/dev/dri", + "type": "bind", + "source": "/dev/dri", + "options": ["rbind"] + }, + { + "destination": "/etc", + "type": "bind", + "source": "/etc", + "options": ["rbind"] + }, + { + "destination": "/usr", + "type": "bind", + "source": "/usr", + "options": ["rbind"] + }, + { + "destination": "/etc", + "type": "bind", + "source": "/etc", + "options": ["rbind"] + }, + { + "destination": "/tmp", + "type": "tmpfs", + "source": "tmpfs", + "options": ["nosuid", "strictatime", "mode=777", "size=65536k"] + } + ], + "root": { + "path": "/run/user/1000/linglong/ab24ae64edff4ddfa8e6922eb29e2baf", + "readonly": false } - ], - "root": { - "path": "/run/user/1000/linglong/ab24ae64edff4ddfa8e6922eb29e2baf", - "readonly": false - } } - diff --git a/libs/linglong/tests/ll-tests/data/demo/config.json b/libs/linglong/tests/ll-tests/data/demo/config.json index af604ea6f..fcb88a12c 100644 --- a/libs/linglong/tests/ll-tests/data/demo/config.json +++ b/libs/linglong/tests/ll-tests/data/demo/config.json @@ -1,383 +1,322 @@ { - "ociVersion": "1.0.1", - "process": { - "terminal": true, - "user": { - "uid": 1000, - "gid": 1000, - "additionalGids": [] - }, - "args": [ - "sh" - ], - "env": [ - "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", - "TERM=xterm" - ], - "cwd": "/", - "rlimits": [ - { - "type": "RLIMIT_CORE", - "hard": 1024, - "soft": 1024 - }, - { - "type": "RLIMIT_NOFILE", - "hard": 1024, - "soft": 1024 - } - ], - "capabilities": { - "bounding": [ - "CAP_AUDIT_WRITE", - "CAP_KILL", - "CAP_NET_BIND_SERVICE" - ], - "permitted": [ - "CAP_AUDIT_WRITE", - "CAP_KILL", - "CAP_NET_BIND_SERVICE" - ], - "inheritable": [ - "CAP_AUDIT_WRITE", - "CAP_KILL", - "CAP_NET_BIND_SERVICE" - ], - "effective": [ - "CAP_AUDIT_WRITE", - "CAP_KILL" - ], - "ambient": [ - "CAP_NET_BIND_SERVICE" - ] - }, - "apparmorProfile": "acme_secure_profile", - "oomScoreAdj": 100, - "selinuxLabel": "system_u:system_r:svirt_lxc_net_t:s0:c124,c675", - "noNewPrivileges": true - }, - "root": { - "path": "rootfs", - "readonly": true - }, - "hostname": "com.deepin.demo", - "mounts": [ - { - "destination": "/proc", - "type": "proc", - "source": "proc" - }, - { - "destination": "/dev", - "type": "tmpfs", - "source": "tmpfs", - "options": [ - "nosuid", - "strictatime", - "mode=755", - "size=65536k" - ] - }, - { - "destination": "/dev/pts", - "type": "devpts", - "source": "devpts", - "options": [ - "nosuid", - "noexec", - "newinstance", - "ptmxmode=0666", - "mode=0620", - "gid=5" - ] - }, - { - "destination": "/dev/shm", - "type": "tmpfs", - "source": "shm", - "options": [ - "nosuid", - "noexec", - "nodev", - "mode=1777", - "size=65536k" - ] - }, - { - "destination": "/dev/mqueue", - "type": "mqueue", - "source": "mqueue", - "options": [ - "nosuid", - "noexec", - "nodev" - ] - }, - { - "destination": "/sys", - "type": "sysfs", - "source": "sysfs", - "options": [ - "nosuid", - "noexec", - "nodev" - ] - }, - { - "destination": "/sys/fs/cgroup", - "type": "cgroup", - "source": "cgroup", - "options": [ - "nosuid", - "noexec", - "nodev", - "relatime", - "ro" - ] - }, - { - "destination": "/usr", - "type": "bind", - "source": "/usr", - "options": [ - "rbind" - ] - }, - { - "destination": "/bin", - "type": "bind", - "source": "/bin", - "options": [ - "rbind" - ] - }, - { - "destination": "/opt/apps", - "type": "bind", - "source": "/opt/apps", - "options": [ - "rbind" - ] - }, - { - "destination": "/run/user/1000", - "type": "bind", - "source": "/run/user/1000", - "options": [ - "rbind" - ] - }, - { - "destination": "/home", - "type": "bind", - "source": "/home", - "options": [ - "rbind" - ] - }, - { - "destination": "/dev/dri", - "type": "bind", - "source": "/dev/dri", - "options": [ - "rbind" - ] + "ociVersion": "1.0.1", + "process": { + "terminal": true, + "user": { + "uid": 1000, + "gid": 1000, + "additionalGids": [] + }, + "args": ["sh"], + "env": [ + "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", + "TERM=xterm" + ], + "cwd": "/", + "rlimits": [ + { + "type": "RLIMIT_CORE", + "hard": 1024, + "soft": 1024 + }, + { + "type": "RLIMIT_NOFILE", + "hard": 1024, + "soft": 1024 + } + ], + "capabilities": { + "bounding": ["CAP_AUDIT_WRITE", "CAP_KILL", "CAP_NET_BIND_SERVICE"], + "permitted": [ + "CAP_AUDIT_WRITE", + "CAP_KILL", + "CAP_NET_BIND_SERVICE" + ], + "inheritable": [ + "CAP_AUDIT_WRITE", + "CAP_KILL", + "CAP_NET_BIND_SERVICE" + ], + "effective": ["CAP_AUDIT_WRITE", "CAP_KILL"], + "ambient": ["CAP_NET_BIND_SERVICE"] + }, + "apparmorProfile": "acme_secure_profile", + "oomScoreAdj": 100, + "selinuxLabel": "system_u:system_r:svirt_lxc_net_t:s0:c124,c675", + "noNewPrivileges": true }, - { - "destination": "/tmp", - "type": "bind", - "source": "/tmp", - "options": [ - "rbind" - ] - } - ], - "linux": { - "devices": [ - { - "path": "/dev/fuse", - "type": "c", - "major": 10, - "minor": 229, - "fileMode": 438, - "uid": 0, - "gid": 0 - }, - { - "path": "/dev/sda", - "type": "b", - "major": 8, - "minor": 0, - "fileMode": 432, - "uid": 0, - "gid": 0 - } - ], - "uidMappings": [ - { - "hostID": 0, - "containerID": 0, - "size": 32000 - } - ], - "gidMappings": [ - { - "hostID": 0, - "containerID": 0, - "size": 32000 - } - ], - "sysctl": { - "net.ipv4.ip_forward": "1", - "net.core.somaxconn": "256" + "root": { + "path": "rootfs", + "readonly": true }, - "cgroupsPath": "/myRuntime/myContainer", - "resources": { - "network": { - "classID": 1048577, - "priorities": [ - { - "name": "eth0", - "priority": 500 - }, - { - "name": "eth1", - "priority": 1000 - } - ] - }, - "pids": { - "limit": 32771 - }, - "hugepageLimits": [ + "hostname": "com.deepin.demo", + "mounts": [ { - "pageSize": "2MB", - "limit": 9223372036854772000 - } - ], - "memory": { - "limit": 536870912, - "reservation": 536870912, - "swap": 536870912, - "kernel": -1, - "kernelTCP": -1, - "swappiness": 0, - "disableOOMKiller": false - }, - "cpu": { - "shares": 1024, - "quota": 1000000, - "period": 500000, - "realtimeRuntime": 950000, - "realtimePeriod": 1000000, - "cpus": "2-3", - "mems": "0-7" - }, - "devices": [ + "destination": "/proc", + "type": "proc", + "source": "proc" + }, { - "allow": false, - "access": "rwm" + "destination": "/dev", + "type": "tmpfs", + "source": "tmpfs", + "options": ["nosuid", "strictatime", "mode=755", "size=65536k"] }, { - "allow": true, - "type": "c", - "major": 10, - "minor": 229, - "access": "rw" + "destination": "/dev/pts", + "type": "devpts", + "source": "devpts", + "options": [ + "nosuid", + "noexec", + "newinstance", + "ptmxmode=0666", + "mode=0620", + "gid=5" + ] }, { - "allow": true, - "type": "b", - "major": 8, - "minor": 0, - "access": "r" - } - ], - "blockIO": { - "weight": 10, - "leafWeight": 10, - "weightDevice": [ - { - "major": 8, - "minor": 0, - "weight": 500, - "leafWeight": 300 - }, - { - "major": 8, - "minor": 16, - "weight": 500 - } - ], - "throttleReadBpsDevice": [ - { - "major": 8, - "minor": 0, - "rate": 600 - } - ], - "throttleWriteIOPSDevice": [ - { - "major": 8, - "minor": 16, - "rate": 300 - } - ] - } - }, - "rootfsPropagation": "slave", - "seccomp": { - "defaultAction": "SCMP_ACT_ALLOW", - "architectures": [ - "SCMP_ARCH_X86", - "SCMP_ARCH_X32" - ], - "syscalls": [ + "destination": "/dev/shm", + "type": "tmpfs", + "source": "shm", + "options": ["nosuid", "noexec", "nodev", "mode=1777", "size=65536k"] + }, { - "names": [ - "getcwd", - "chmod" - ], - "action": "SCMP_ACT_ERRNO" + "destination": "/dev/mqueue", + "type": "mqueue", + "source": "mqueue", + "options": ["nosuid", "noexec", "nodev"] + }, + { + "destination": "/sys", + "type": "sysfs", + "source": "sysfs", + "options": ["nosuid", "noexec", "nodev"] + }, + { + "destination": "/sys/fs/cgroup", + "type": "cgroup", + "source": "cgroup", + "options": ["nosuid", "noexec", "nodev", "relatime", "ro"] + }, + { + "destination": "/usr", + "type": "bind", + "source": "/usr", + "options": ["rbind"] + }, + { + "destination": "/bin", + "type": "bind", + "source": "/bin", + "options": ["rbind"] + }, + { + "destination": "/opt/apps", + "type": "bind", + "source": "/opt/apps", + "options": ["rbind"] + }, + { + "destination": "/run/user/1000", + "type": "bind", + "source": "/run/user/1000", + "options": ["rbind"] + }, + { + "destination": "/home", + "type": "bind", + "source": "/home", + "options": ["rbind"] + }, + { + "destination": "/dev/dri", + "type": "bind", + "source": "/dev/dri", + "options": ["rbind"] + }, + { + "destination": "/tmp", + "type": "bind", + "source": "/tmp", + "options": ["rbind"] } - ] - }, - "namespaces": [ - { - "type": "pid" - }, - { - "type": "ipc" - }, - { - "type": "uts" - }, - { - "type": "mount" - }, - { - "type": "cgroup" - } - ], - "maskedPaths": [ - "/proc/kcore", - "/proc/latency_stats", - "/proc/timer_stats", - "/proc/sched_debug" ], - "readonlyPaths": [ - "/proc/asound", - "/proc/bus", - "/proc/fs", - "/proc/irq", - "/proc/sys", - "/proc/sysrq-trigger" - ], - "mountLabel": "system_u:object_r:svirt_sandbox_file_t:s0:c715,c811" - }, - "root": { - "path": "/run/user/1000/linglong/ab24ae64edff4ddfa8e6922eb29e2baf", - "readonly": false - } + "linux": { + "devices": [ + { + "path": "/dev/fuse", + "type": "c", + "major": 10, + "minor": 229, + "fileMode": 438, + "uid": 0, + "gid": 0 + }, + { + "path": "/dev/sda", + "type": "b", + "major": 8, + "minor": 0, + "fileMode": 432, + "uid": 0, + "gid": 0 + } + ], + "uidMappings": [ + { + "hostID": 0, + "containerID": 0, + "size": 32000 + } + ], + "gidMappings": [ + { + "hostID": 0, + "containerID": 0, + "size": 32000 + } + ], + "sysctl": { + "net.ipv4.ip_forward": "1", + "net.core.somaxconn": "256" + }, + "cgroupsPath": "/myRuntime/myContainer", + "resources": { + "network": { + "classID": 1048577, + "priorities": [ + { + "name": "eth0", + "priority": 500 + }, + { + "name": "eth1", + "priority": 1000 + } + ] + }, + "pids": { + "limit": 32771 + }, + "hugepageLimits": [ + { + "pageSize": "2MB", + "limit": 9223372036854772000 + } + ], + "memory": { + "limit": 536870912, + "reservation": 536870912, + "swap": 536870912, + "kernel": -1, + "kernelTCP": -1, + "swappiness": 0, + "disableOOMKiller": false + }, + "cpu": { + "shares": 1024, + "quota": 1000000, + "period": 500000, + "realtimeRuntime": 950000, + "realtimePeriod": 1000000, + "cpus": "2-3", + "mems": "0-7" + }, + "devices": [ + { + "allow": false, + "access": "rwm" + }, + { + "allow": true, + "type": "c", + "major": 10, + "minor": 229, + "access": "rw" + }, + { + "allow": true, + "type": "b", + "major": 8, + "minor": 0, + "access": "r" + } + ], + "blockIO": { + "weight": 10, + "leafWeight": 10, + "weightDevice": [ + { + "major": 8, + "minor": 0, + "weight": 500, + "leafWeight": 300 + }, + { + "major": 8, + "minor": 16, + "weight": 500 + } + ], + "throttleReadBpsDevice": [ + { + "major": 8, + "minor": 0, + "rate": 600 + } + ], + "throttleWriteIOPSDevice": [ + { + "major": 8, + "minor": 16, + "rate": 300 + } + ] + } + }, + "rootfsPropagation": "slave", + "seccomp": { + "defaultAction": "SCMP_ACT_ALLOW", + "architectures": ["SCMP_ARCH_X86", "SCMP_ARCH_X32"], + "syscalls": [ + { + "names": ["getcwd", "chmod"], + "action": "SCMP_ACT_ERRNO" + } + ] + }, + "namespaces": [ + { + "type": "pid" + }, + { + "type": "ipc" + }, + { + "type": "uts" + }, + { + "type": "mount" + }, + { + "type": "cgroup" + } + ], + "maskedPaths": [ + "/proc/kcore", + "/proc/latency_stats", + "/proc/timer_stats", + "/proc/sched_debug" + ], + "readonlyPaths": [ + "/proc/asound", + "/proc/bus", + "/proc/fs", + "/proc/irq", + "/proc/sys", + "/proc/sysrq-trigger" + ], + "mountLabel": "system_u:object_r:svirt_sandbox_file_t:s0:c715,c811" + } } - diff --git a/libs/linglong/tests/ll-tests/data/demo/info.json b/libs/linglong/tests/ll-tests/data/demo/info.json index e8d3cfb19..eee18a7e4 100644 --- a/libs/linglong/tests/ll-tests/data/demo/info.json +++ b/libs/linglong/tests/ll-tests/data/demo/info.json @@ -1,29 +1,25 @@ { - "appid": "cn.wps.wps-office", - "name": "wps-office", - "version": "11.1.0.10161", - "arch": [ - "amd64" - ], - "permissions": { - "autostart": true, - "notification": true, - "trayicon": true, - "clipboard": true, - "account": true, - "bluetooth": true, - "camera": true, - "audio_record": true, - "installed_apps": true, - "filesystem": { - "user": { - "desktop":"rw", - "documents":"r" - } - } - }, - "plugins": [ - "plugin/webbrowser" - ], - "runtime": "" -} \ No newline at end of file + "appid": "cn.wps.wps-office", + "name": "wps-office", + "version": "11.1.0.10161", + "arch": ["amd64"], + "permissions": { + "autostart": true, + "notification": true, + "trayicon": true, + "clipboard": true, + "account": true, + "bluetooth": true, + "camera": true, + "audio_record": true, + "installed_apps": true, + "filesystem": { + "user": { + "desktop": "rw", + "documents": "r" + } + } + }, + "plugins": ["plugin/webbrowser"], + "runtime": "" +} diff --git a/libs/linglong/tests/ll-tests/data/demo/pkg-demo/pkg01/uap.json b/libs/linglong/tests/ll-tests/data/demo/pkg-demo/pkg01/uap.json index ded6b4085..740668057 100644 --- a/libs/linglong/tests/ll-tests/data/demo/pkg-demo/pkg01/uap.json +++ b/libs/linglong/tests/ll-tests/data/demo/pkg-demo/pkg01/uap.json @@ -1,43 +1,43 @@ { - "datasign": { - "sign": "" - }, - "metasign": { - "sign": "" - }, - "owner": { - "keyinfo": "null", - "name": "UnionTech", - "website": "http://www.uniontech.com" - }, - "pkgext": { - "hashtype": 2, - "maintainer": "deepin uos ", - "url": "http://www.uniontech.com", - "type": 1, - "tag": "application;tools", - "license": "GPLv3", - "uuid": "2013e1ea-f8ce-11eb-a615-633d5b0cf905", - "sdk":"", - "settings": {} - }, - "appid": "org.app.authpass", - "arch": ["x86_64"], - "description": "AuthPass, Free and Open Source password manager for Android, iOS, MacOS, Linux and Windows. Compatible with KeePass.", - "name": "authpass", - "runtime": "aaa2668a-f67e-11eb-913a-23d17b06112b", - "version": "1.9.4", - "support_plugins": [], - "plugins": [], - "permission": { - "autostart": false, - "notification": false, - "trayicon": false, - "clipboard": false, - "account": false, - "bluetooth": false, - "camera": false, - "audio_record": false, - "installed_apps": false - } -} \ No newline at end of file + "datasign": { + "sign": "" + }, + "metasign": { + "sign": "" + }, + "owner": { + "keyinfo": "null", + "name": "UnionTech", + "website": "http://www.uniontech.com" + }, + "pkgext": { + "hashtype": 2, + "maintainer": "deepin uos ", + "url": "http://www.uniontech.com", + "type": 1, + "tag": "application;tools", + "license": "GPLv3", + "uuid": "2013e1ea-f8ce-11eb-a615-633d5b0cf905", + "sdk": "", + "settings": {} + }, + "appid": "org.app.authpass", + "arch": ["x86_64"], + "description": "AuthPass, Free and Open Source password manager for Android, iOS, MacOS, Linux and Windows. Compatible with KeePass.", + "name": "authpass", + "runtime": "aaa2668a-f67e-11eb-913a-23d17b06112b", + "version": "1.9.4", + "support_plugins": [], + "plugins": [], + "permission": { + "autostart": false, + "notification": false, + "trayicon": false, + "clipboard": false, + "account": false, + "bluetooth": false, + "camera": false, + "audio_record": false, + "installed_apps": false + } +} diff --git a/libs/linglong/tests/ll-tests/data/demo/uab.json b/libs/linglong/tests/ll-tests/data/demo/uab.json index 108c6bbd0..fd23a077b 100644 --- a/libs/linglong/tests/ll-tests/data/demo/uab.json +++ b/libs/linglong/tests/ll-tests/data/demo/uab.json @@ -1,30 +1,30 @@ { - "datasign": { - "sign": "" - }, - "metasign": { - "sign": "" - }, - "owner": { - "keyinfo": "null", - "license": "GPLv3", - "name": "UnionTech", - "website": "http://www.uniontech.com" - }, - "pkgext": { - "hashtype": 2, - "maintainer": "deepin uos ", - "tag": "test;network;tools", - "type": 1, - "url": "http://www.uniontech.com" - }, - "pkginfo": { - "appname": "org.deepin.browser", - "arch": "x86_64", - "description": "UOS Browser", - "name": "org.deepin.browser", - "runtime": "aaa2668a-f67e-11eb-913a-23d17b06112b", - "uuid": "2013e1ea-f8ce-11eb-a615-633d5b0cf905", - "version": "5.11" - } -} \ No newline at end of file + "datasign": { + "sign": "" + }, + "metasign": { + "sign": "" + }, + "owner": { + "keyinfo": "null", + "license": "GPLv3", + "name": "UnionTech", + "website": "http://www.uniontech.com" + }, + "pkgext": { + "hashtype": 2, + "maintainer": "deepin uos ", + "tag": "test;network;tools", + "type": 1, + "url": "http://www.uniontech.com" + }, + "pkginfo": { + "appname": "org.deepin.browser", + "arch": "x86_64", + "description": "UOS Browser", + "name": "org.deepin.browser", + "runtime": "aaa2668a-f67e-11eb-913a-23d17b06112b", + "uuid": "2013e1ea-f8ce-11eb-a615-633d5b0cf905", + "version": "5.11" + } +} diff --git a/libs/linglong/tests/ll-tests/src/linglong/mocks/layer_packager_mock.h b/libs/linglong/tests/ll-tests/src/linglong/mocks/layer_packager_mock.h index 2237616ca..32afe581a 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/mocks/layer_packager_mock.h +++ b/libs/linglong/tests/ll-tests/src/linglong/mocks/layer_packager_mock.h @@ -42,4 +42,4 @@ class MockLayerPackager : public package::LayerPackager } }; -} // namespace linglong::package \ No newline at end of file +} // namespace linglong::package diff --git a/libs/linglong/tests/ll-tests/src/linglong/mocks/linglong_builder_mock.h b/libs/linglong/tests/ll-tests/src/linglong/mocks/linglong_builder_mock.h index 21cbf9c4e..c2848d600 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/mocks/linglong_builder_mock.h +++ b/libs/linglong/tests/ll-tests/src/linglong/mocks/linglong_builder_mock.h @@ -40,4 +40,4 @@ class BuilderMock : public Builder return cfg; } }; -} // namespace linglong::builder \ No newline at end of file +} // namespace linglong::builder diff --git a/libs/linglong/tests/ll-tests/src/linglong/mocks/ostree_repo_mock.h b/libs/linglong/tests/ll-tests/src/linglong/mocks/ostree_repo_mock.h index 717114743..fdc4f7d2c 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/mocks/ostree_repo_mock.h +++ b/libs/linglong/tests/ll-tests/src/linglong/mocks/ostree_repo_mock.h @@ -42,4 +42,4 @@ class MockOstreeRepo : public repo::OSTreeRepo } return OSTreeRepo::getOverlayShareDir(); } -}; \ No newline at end of file +}; diff --git a/libs/linglong/tests/ll-tests/src/linglong/repo/client_factory_test.cpp b/libs/linglong/tests/ll-tests/src/linglong/repo/client_factory_test.cpp index 2db8c14f4..de723f26b 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/repo/client_factory_test.cpp +++ b/libs/linglong/tests/ll-tests/src/linglong/repo/client_factory_test.cpp @@ -25,4 +25,4 @@ TEST_F(ClientFactoryTest, CreateWithStdString) ClientFactory factory(std::string("http://localhost:8081")); auto client = factory.createClientV2(); EXPECT_NE(client, nullptr); -} \ No newline at end of file +} diff --git a/libs/linglong/tests/ll-tests/src/linglong/utils/gkeyfile_wrapper_test.cpp b/libs/linglong/tests/ll-tests/src/linglong/utils/gkeyfile_wrapper_test.cpp index 5e3b668cf..3f57be66f 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/utils/gkeyfile_wrapper_test.cpp +++ b/libs/linglong/tests/ll-tests/src/linglong/utils/gkeyfile_wrapper_test.cpp @@ -370,4 +370,4 @@ Name=Original Name auto keys = wrapper.getkeys(linglong::utils::GKeyFileWrapper::DesktopEntry); EXPECT_TRUE(keys.has_value()); EXPECT_EQ(keys->size(), 3); -} \ No newline at end of file +} diff --git a/libs/linglong/tests/ll-tests/src/linglong/utils/log.cpp b/libs/linglong/tests/ll-tests/src/linglong/utils/log.cpp index a47531788..ef924270c 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/utils/log.cpp +++ b/libs/linglong/tests/ll-tests/src/linglong/utils/log.cpp @@ -240,4 +240,4 @@ TEST_F(LoggerTest, LogFormat) } EXPECT_EQ("Debug: message is {}\n", captured_output); -} \ No newline at end of file +} diff --git a/libs/linglong/tests/ll-tests/src/linglong/utils/namespce.cpp b/libs/linglong/tests/ll-tests/src/linglong/utils/namespce.cpp index 300977de2..31ba4aaae 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/utils/namespce.cpp +++ b/libs/linglong/tests/ll-tests/src/linglong/utils/namespce.cpp @@ -62,4 +62,4 @@ TEST(NamespaceTest, ParseSubuidRanges) EXPECT_EQ((*ranges6)[0].count, "65536"); EXPECT_EQ((*ranges6)[1].subuid, "200000"); EXPECT_EQ((*ranges6)[1].count, "65536"); -} \ No newline at end of file +} diff --git a/libs/linglong/tests/ll-tests/src/linglong/utils/xdg/directory_test.cpp b/libs/linglong/tests/ll-tests/src/linglong/utils/xdg/directory_test.cpp index eb4c30d4d..352e30d55 100644 --- a/libs/linglong/tests/ll-tests/src/linglong/utils/xdg/directory_test.cpp +++ b/libs/linglong/tests/ll-tests/src/linglong/utils/xdg/directory_test.cpp @@ -106,4 +106,4 @@ TEST(XDGDirectory, appDataDirWithComplexAppID) } else { unsetenv("HOME"); } -} \ No newline at end of file +} diff --git a/misc/lib/systemd/system-environment-generators/61-linglong b/misc/lib/systemd/system-environment-generators/61-linglong index 474e0c7e3..5efc065ee 100755 --- a/misc/lib/systemd/system-environment-generators/61-linglong +++ b/misc/lib/systemd/system-environment-generators/61-linglong @@ -13,7 +13,7 @@ source_script="@CMAKE_INSTALL_PREFIX@/lib/linglong/generate-xdg-data-dirs.sh" # Source the script and export XDG_DATA_DIRS if successful -[ -r "${source_script}" ] && . "${source_script}" +[ -r "${source_script}" ] && . "${source_script}" if [ -n "${XDG_DATA_DIRS}" ]; then # !!!systemd requires environment variables to be printed to standard output!!! diff --git a/misc/libexec/linglong/fetch-archive-source b/misc/libexec/linglong/fetch-archive-source index 709a04320..9d604d179 100755 --- a/misc/libexec/linglong/fetch-archive-source +++ b/misc/libexec/linglong/fetch-archive-source @@ -10,7 +10,7 @@ url=$2 digest=$3 cachedir=$4 -# Check command tools +# Check command tools if ! command -v wget then echo "wget not found, please install wget first" diff --git a/misc/libexec/linglong/fetch-dsc-source b/misc/libexec/linglong/fetch-dsc-source index be0179094..a63eb2b4d 100755 --- a/misc/libexec/linglong/fetch-dsc-source +++ b/misc/libexec/linglong/fetch-dsc-source @@ -10,7 +10,7 @@ url=$2 digest=$3 cachedir=$4 -# Check command tools +# Check command tools if ! command -v dget then echo "dget not found, please install devscripts first" diff --git a/misc/libexec/linglong/fetch-file-source b/misc/libexec/linglong/fetch-file-source index e632b3954..883b957a8 100755 --- a/misc/libexec/linglong/fetch-file-source +++ b/misc/libexec/linglong/fetch-file-source @@ -10,7 +10,7 @@ url=$2 digest=$3 cachedir=$4 -# Check command tools +# Check command tools if ! command -v wget then echo "wget not found, please install wget first" diff --git a/misc/libexec/linglong/fetch-git-source b/misc/libexec/linglong/fetch-git-source index 3b821f209..8836d5d5a 100755 --- a/misc/libexec/linglong/fetch-git-source +++ b/misc/libexec/linglong/fetch-git-source @@ -11,7 +11,7 @@ url=$2 commit=$3 # cachedir=$4 -# Check command tools +# Check command tools if ! command -v git then echo "git not found, please install git first" diff --git a/misc/share/icons/linyaps.svg b/misc/share/icons/linyaps.svg index 8a1f3849c..e9d023cd7 100644 --- a/misc/share/icons/linyaps.svg +++ b/misc/share/icons/linyaps.svg @@ -16,4 +16,4 @@ - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ar.ts b/misc/share/polkit-1/translations/policy_ar.ts index 2cf618eeb..7fd3e8234 100644 --- a/misc/share/polkit-1/translations/policy_ar.ts +++ b/misc/share/polkit-1/translations/policy_ar.ts @@ -12,4 +12,4 @@ التحقق من المصادقة - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ast.ts b/misc/share/polkit-1/translations/policy_ast.ts index 250dd2456..b200049bc 100644 --- a/misc/share/polkit-1/translations/policy_ast.ts +++ b/misc/share/polkit-1/translations/policy_ast.ts @@ -12,4 +12,4 @@ Comprobar l'autenticación - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_az.ts b/misc/share/polkit-1/translations/policy_az.ts index 044a928eb..b3b324ad6 100644 --- a/misc/share/polkit-1/translations/policy_az.ts +++ b/misc/share/polkit-1/translations/policy_az.ts @@ -12,4 +12,4 @@ Doğrulamaya nəzarət et - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_bg.ts b/misc/share/polkit-1/translations/policy_bg.ts index d573270a1..4049f1544 100644 --- a/misc/share/polkit-1/translations/policy_bg.ts +++ b/misc/share/polkit-1/translations/policy_bg.ts @@ -12,4 +12,4 @@ Проверете удостоверяването - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_bn.ts b/misc/share/polkit-1/translations/policy_bn.ts index 9b8b5110c..7cfa3dfd6 100644 --- a/misc/share/polkit-1/translations/policy_bn.ts +++ b/misc/share/polkit-1/translations/policy_bn.ts @@ -12,4 +12,4 @@ প্রমাণীকরণ পরীক্ষা করুন - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_bo.ts b/misc/share/polkit-1/translations/policy_bo.ts index 917eedf56..465812b39 100644 --- a/misc/share/polkit-1/translations/policy_bo.ts +++ b/misc/share/polkit-1/translations/policy_bo.ts @@ -12,4 +12,4 @@ ར་ສྤྲོད་བསྐྱར་ཞິບབྱེད་པ། - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ca.ts b/misc/share/polkit-1/translations/policy_ca.ts index ca542dc1a..9514936de 100644 --- a/misc/share/polkit-1/translations/policy_ca.ts +++ b/misc/share/polkit-1/translations/policy_ca.ts @@ -12,4 +12,4 @@ Comprova l'autenticació - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_cs.ts b/misc/share/polkit-1/translations/policy_cs.ts index c2a18b779..c52f0fde7 100644 --- a/misc/share/polkit-1/translations/policy_cs.ts +++ b/misc/share/polkit-1/translations/policy_cs.ts @@ -12,4 +12,4 @@ Ověřit autentizaci - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_da.ts b/misc/share/polkit-1/translations/policy_da.ts index f0775df55..5c728ab26 100644 --- a/misc/share/polkit-1/translations/policy_da.ts +++ b/misc/share/polkit-1/translations/policy_da.ts @@ -12,4 +12,4 @@ Kontroller godkendelse - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_de.ts b/misc/share/polkit-1/translations/policy_de.ts index 62131b246..05d78db11 100644 --- a/misc/share/polkit-1/translations/policy_de.ts +++ b/misc/share/polkit-1/translations/policy_de.ts @@ -12,4 +12,4 @@ Authentifizierung prüfen - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_el.ts b/misc/share/polkit-1/translations/policy_el.ts index 72783b5c0..23bda4621 100644 --- a/misc/share/polkit-1/translations/policy_el.ts +++ b/misc/share/polkit-1/translations/policy_el.ts @@ -12,4 +12,4 @@ Έλεγχος ταυτότητας - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_en_AU.ts b/misc/share/polkit-1/translations/policy_en_AU.ts index b82a2e217..dbdb14f70 100644 --- a/misc/share/polkit-1/translations/policy_en_AU.ts +++ b/misc/share/polkit-1/translations/policy_en_AU.ts @@ -12,4 +12,4 @@ Check Authentication - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_en_GB.ts b/misc/share/polkit-1/translations/policy_en_GB.ts index 264b24aa4..f8ea6819e 100644 --- a/misc/share/polkit-1/translations/policy_en_GB.ts +++ b/misc/share/polkit-1/translations/policy_en_GB.ts @@ -12,4 +12,4 @@ Check Authentication - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_eo.ts b/misc/share/polkit-1/translations/policy_eo.ts index 73b94e476..da312a4dc 100644 --- a/misc/share/polkit-1/translations/policy_eo.ts +++ b/misc/share/polkit-1/translations/policy_eo.ts @@ -12,4 +12,4 @@ Kontroli Aŭtentigon - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_es.ts b/misc/share/polkit-1/translations/policy_es.ts index 6bc7344cb..3742727c0 100644 --- a/misc/share/polkit-1/translations/policy_es.ts +++ b/misc/share/polkit-1/translations/policy_es.ts @@ -12,4 +12,4 @@ Comprobar autenticación - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_fa.ts b/misc/share/polkit-1/translations/policy_fa.ts index fcf7a89e7..e8f004859 100644 --- a/misc/share/polkit-1/translations/policy_fa.ts +++ b/misc/share/polkit-1/translations/policy_fa.ts @@ -12,4 +12,4 @@ بررسی احراز هویت - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_fi.ts b/misc/share/polkit-1/translations/policy_fi.ts index 91534409a..6c035f8f6 100644 --- a/misc/share/polkit-1/translations/policy_fi.ts +++ b/misc/share/polkit-1/translations/policy_fi.ts @@ -12,4 +12,4 @@ Tarkista todennus - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_fr.ts b/misc/share/polkit-1/translations/policy_fr.ts index 9db897fa3..eac8f7086 100644 --- a/misc/share/polkit-1/translations/policy_fr.ts +++ b/misc/share/polkit-1/translations/policy_fr.ts @@ -12,4 +12,4 @@ Vérifier l'authentification - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_gl_ES.ts b/misc/share/polkit-1/translations/policy_gl_ES.ts index 8faa0521a..ff38b3340 100644 --- a/misc/share/polkit-1/translations/policy_gl_ES.ts +++ b/misc/share/polkit-1/translations/policy_gl_ES.ts @@ -12,4 +12,4 @@ Comprobar autenticación - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_hi_IN.ts b/misc/share/polkit-1/translations/policy_hi_IN.ts index 97dcede19..c62ef7cd8 100644 --- a/misc/share/polkit-1/translations/policy_hi_IN.ts +++ b/misc/share/polkit-1/translations/policy_hi_IN.ts @@ -12,4 +12,4 @@ प्रमाणीकरण की जाँच करें - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_hr.ts b/misc/share/polkit-1/translations/policy_hr.ts index 284c72e2d..6bc0e18a7 100644 --- a/misc/share/polkit-1/translations/policy_hr.ts +++ b/misc/share/polkit-1/translations/policy_hr.ts @@ -12,4 +12,4 @@ Provjera ovjere - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_hu.ts b/misc/share/polkit-1/translations/policy_hu.ts index efcb14f40..d42035765 100644 --- a/misc/share/polkit-1/translations/policy_hu.ts +++ b/misc/share/polkit-1/translations/policy_hu.ts @@ -12,4 +12,4 @@ Hitelesítés ellenőrzése - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_id.ts b/misc/share/polkit-1/translations/policy_id.ts index 966441188..0f5f33d45 100644 --- a/misc/share/polkit-1/translations/policy_id.ts +++ b/misc/share/polkit-1/translations/policy_id.ts @@ -12,4 +12,4 @@ Periksa Otentikasi - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_it.ts b/misc/share/polkit-1/translations/policy_it.ts index eab858f8e..dfbebfcd7 100644 --- a/misc/share/polkit-1/translations/policy_it.ts +++ b/misc/share/polkit-1/translations/policy_it.ts @@ -12,4 +12,4 @@ Verifica Autenticazione - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ja.ts b/misc/share/polkit-1/translations/policy_ja.ts index 8df466124..d7fb59827 100644 --- a/misc/share/polkit-1/translations/policy_ja.ts +++ b/misc/share/polkit-1/translations/policy_ja.ts @@ -12,4 +12,4 @@ 認証を確認 - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_kab.ts b/misc/share/polkit-1/translations/policy_kab.ts index 81e224d73..5f83a3215 100644 --- a/misc/share/polkit-1/translations/policy_kab.ts +++ b/misc/share/polkit-1/translations/policy_kab.ts @@ -12,4 +12,4 @@ Sesteb n usemdu - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ko.ts b/misc/share/polkit-1/translations/policy_ko.ts index 06175c081..01b7cc446 100644 --- a/misc/share/polkit-1/translations/policy_ko.ts +++ b/misc/share/polkit-1/translations/policy_ko.ts @@ -12,4 +12,4 @@ 인증 확인 - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_lo.ts b/misc/share/polkit-1/translations/policy_lo.ts index 7a5c5404c..09543b43c 100644 --- a/misc/share/polkit-1/translations/policy_lo.ts +++ b/misc/share/polkit-1/translations/policy_lo.ts @@ -12,4 +12,4 @@ ກວດສອບການກວດສອບຄວາມຖືກຕ້ອງ - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_lt.ts b/misc/share/polkit-1/translations/policy_lt.ts index 614fed796..023e528ab 100644 --- a/misc/share/polkit-1/translations/policy_lt.ts +++ b/misc/share/polkit-1/translations/policy_lt.ts @@ -12,4 +12,4 @@ Patikrinti tapatybės nustatymą - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_lv.ts b/misc/share/polkit-1/translations/policy_lv.ts index ba645b198..e4f1afcf9 100644 --- a/misc/share/polkit-1/translations/policy_lv.ts +++ b/misc/share/polkit-1/translations/policy_lv.ts @@ -12,4 +12,4 @@ Pārbaudīt autentifikāciju - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_mn.ts b/misc/share/polkit-1/translations/policy_mn.ts index 8a6130274..045eaf480 100644 --- a/misc/share/polkit-1/translations/policy_mn.ts +++ b/misc/share/polkit-1/translations/policy_mn.ts @@ -12,4 +12,4 @@ Баталгаажуулалт шалгах - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ms.ts b/misc/share/polkit-1/translations/policy_ms.ts index 435436912..27f869c10 100644 --- a/misc/share/polkit-1/translations/policy_ms.ts +++ b/misc/share/polkit-1/translations/policy_ms.ts @@ -12,4 +12,4 @@ Semak Pengesahihan - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ne.ts b/misc/share/polkit-1/translations/policy_ne.ts index a4c55841a..32c819946 100644 --- a/misc/share/polkit-1/translations/policy_ne.ts +++ b/misc/share/polkit-1/translations/policy_ne.ts @@ -12,4 +12,4 @@ प्रमाणीकरण जाँच गर्नुहोस् - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_nl.ts b/misc/share/polkit-1/translations/policy_nl.ts index 15c6d6e35..597d49fb9 100644 --- a/misc/share/polkit-1/translations/policy_nl.ts +++ b/misc/share/polkit-1/translations/policy_nl.ts @@ -12,4 +12,4 @@ Authenticatie controleren - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_pa.ts b/misc/share/polkit-1/translations/policy_pa.ts index d332f7be6..26b54741e 100644 --- a/misc/share/polkit-1/translations/policy_pa.ts +++ b/misc/share/polkit-1/translations/policy_pa.ts @@ -12,4 +12,4 @@ ਪ੍ਰਮਾਣਕਤਾ ਦੀ ਜਾਂਚ ਕਰੋ - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_pl.ts b/misc/share/polkit-1/translations/policy_pl.ts index f6a0e5b16..4115bcb00 100644 --- a/misc/share/polkit-1/translations/policy_pl.ts +++ b/misc/share/polkit-1/translations/policy_pl.ts @@ -12,4 +12,4 @@ Sprawdź uwierzytelnienie - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_pt.ts b/misc/share/polkit-1/translations/policy_pt.ts index 4840afc50..7395a87ad 100644 --- a/misc/share/polkit-1/translations/policy_pt.ts +++ b/misc/share/polkit-1/translations/policy_pt.ts @@ -12,4 +12,4 @@ Verificar autenticação - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_pt_BR.ts b/misc/share/polkit-1/translations/policy_pt_BR.ts index 3453e6943..170430522 100644 --- a/misc/share/polkit-1/translations/policy_pt_BR.ts +++ b/misc/share/polkit-1/translations/policy_pt_BR.ts @@ -12,4 +12,4 @@ Verificar autenticação - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ro.ts b/misc/share/polkit-1/translations/policy_ro.ts index 4439e598a..8a7c8e7d2 100644 --- a/misc/share/polkit-1/translations/policy_ro.ts +++ b/misc/share/polkit-1/translations/policy_ro.ts @@ -12,4 +12,4 @@ Verificare autentificare - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ru.ts b/misc/share/polkit-1/translations/policy_ru.ts index a22993549..391583efe 100644 --- a/misc/share/polkit-1/translations/policy_ru.ts +++ b/misc/share/polkit-1/translations/policy_ru.ts @@ -12,4 +12,4 @@ Проверить аутентификацию - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_si.ts b/misc/share/polkit-1/translations/policy_si.ts index 71e78aa28..6c3158dd7 100644 --- a/misc/share/polkit-1/translations/policy_si.ts +++ b/misc/share/polkit-1/translations/policy_si.ts @@ -12,4 +12,4 @@ සත්‍යාපනය පරීක්ෂා කරන්න - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_sk.ts b/misc/share/polkit-1/translations/policy_sk.ts index 06c06e4fe..66879c4d7 100644 --- a/misc/share/polkit-1/translations/policy_sk.ts +++ b/misc/share/polkit-1/translations/policy_sk.ts @@ -12,4 +12,4 @@ Skontrolovať overenie totožnosti - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_sl.ts b/misc/share/polkit-1/translations/policy_sl.ts index fe0f3ce44..47c180dfa 100644 --- a/misc/share/polkit-1/translations/policy_sl.ts +++ b/misc/share/polkit-1/translations/policy_sl.ts @@ -12,4 +12,4 @@ Preverite avtentikacijo - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_sq.ts b/misc/share/polkit-1/translations/policy_sq.ts index f387664b1..f0402e344 100644 --- a/misc/share/polkit-1/translations/policy_sq.ts +++ b/misc/share/polkit-1/translations/policy_sq.ts @@ -12,4 +12,4 @@ Kontrollo Mirëfilltësimin - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_sr.ts b/misc/share/polkit-1/translations/policy_sr.ts index 72b2df056..8cf692187 100644 --- a/misc/share/polkit-1/translations/policy_sr.ts +++ b/misc/share/polkit-1/translations/policy_sr.ts @@ -12,4 +12,4 @@ Провери идентификацију - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_sv.ts b/misc/share/polkit-1/translations/policy_sv.ts index a09f90dd0..9c3f16f92 100644 --- a/misc/share/polkit-1/translations/policy_sv.ts +++ b/misc/share/polkit-1/translations/policy_sv.ts @@ -12,4 +12,4 @@ Kontrollera autentisering - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_sw.ts b/misc/share/polkit-1/translations/policy_sw.ts index 0f0186b27..9713409a9 100644 --- a/misc/share/polkit-1/translations/policy_sw.ts +++ b/misc/share/polkit-1/translations/policy_sw.ts @@ -12,4 +12,4 @@ Angalia Uthibitishaji - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_tr.ts b/misc/share/polkit-1/translations/policy_tr.ts index 8604eebb0..10eaa2134 100644 --- a/misc/share/polkit-1/translations/policy_tr.ts +++ b/misc/share/polkit-1/translations/policy_tr.ts @@ -12,4 +12,4 @@ Kimlik Doğrulamayı Kontrol Et - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_ug.ts b/misc/share/polkit-1/translations/policy_ug.ts index 1d537eeb9..3a9e5f6d4 100644 --- a/misc/share/polkit-1/translations/policy_ug.ts +++ b/misc/share/polkit-1/translations/policy_ug.ts @@ -12,4 +12,4 @@ سالاھىيەتنى دەلىللەش - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_uk.ts b/misc/share/polkit-1/translations/policy_uk.ts index 1445debdd..97dda6750 100644 --- a/misc/share/polkit-1/translations/policy_uk.ts +++ b/misc/share/polkit-1/translations/policy_uk.ts @@ -12,4 +12,4 @@ Перевірити розпізнавання - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_vi.ts b/misc/share/polkit-1/translations/policy_vi.ts index 5675d2a05..63f81e2d4 100644 --- a/misc/share/polkit-1/translations/policy_vi.ts +++ b/misc/share/polkit-1/translations/policy_vi.ts @@ -12,4 +12,4 @@ Kiểm tra Xác thực - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_zh_CN.ts b/misc/share/polkit-1/translations/policy_zh_CN.ts index 3259d0908..565825bf3 100644 --- a/misc/share/polkit-1/translations/policy_zh_CN.ts +++ b/misc/share/polkit-1/translations/policy_zh_CN.ts @@ -12,4 +12,4 @@ 检查认证 - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_zh_HK.ts b/misc/share/polkit-1/translations/policy_zh_HK.ts index 6091cdf41..b3f9f49bc 100644 --- a/misc/share/polkit-1/translations/policy_zh_HK.ts +++ b/misc/share/polkit-1/translations/policy_zh_HK.ts @@ -12,4 +12,4 @@ 檢查認證 - \ No newline at end of file + diff --git a/misc/share/polkit-1/translations/policy_zh_TW.ts b/misc/share/polkit-1/translations/policy_zh_TW.ts index 48270a3c9..8eca41ab4 100644 --- a/misc/share/polkit-1/translations/policy_zh_TW.ts +++ b/misc/share/polkit-1/translations/policy_zh_TW.ts @@ -12,4 +12,4 @@ 檢查驗證 - \ No newline at end of file + diff --git a/tools/generate-coverage.sh b/tools/generate-coverage.sh index 89d363b29..fce82a392 100755 --- a/tools/generate-coverage.sh +++ b/tools/generate-coverage.sh @@ -44,4 +44,4 @@ if command -v xdg-open &>/dev/null; then echo "use xdg-open $builddir/report/index.html to view coverage report" else echo "Open $builddir/report/index.html in your web browser to view the coverage report." -fi \ No newline at end of file +fi