Cherry-picking new upstream version 0.11.0
* Bumped compat to 10 * Bumped minimum version debhelper (>= 10) * Bumped minimum version liblxqt0-dev (>= 0.11.0) * Bumped minimum version libqt5xdg-dev (>= 2.0.0) * Bumped minimum version libqt5xdgiconloader-dev (>= 2.0.0) * Added build dependency libqt5svg5-dev * Really close the liboobs bug (Closes: #821864) * Removed --parallel from rules, standard in compat 10
This commit is contained in:
parent
f76ff3edf3
commit
bab24c3770
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
build
|
||||
lxqt-admin.kdev4
|
||||
*/translations/lxqt-admin
|
99
CHANGELOG
Normal file
99
CHANGELOG
Normal file
@ -0,0 +1,99 @@
|
||||
|
||||
lxqt-admin-0.11.0 / 2016-09-24
|
||||
==============================
|
||||
|
||||
* user: Add failure message box
|
||||
* user: Provide icon name in polkit policy
|
||||
* Update README.md
|
||||
* Add Catalan translations
|
||||
* Add copyright headers
|
||||
* Add Arabic Translations for Desktop Files
|
||||
* lxqt-admin-user: Fix a change password crash
|
||||
* lxqt-admin-user: Makes the Refresh toolbar button visible
|
||||
* lxqt-admin-time: Adjust dialog size on startup
|
||||
* Update openSUSE section in README
|
||||
* Update README.md
|
||||
* Support NTP and Local RTC settings with timedated provided by systemd. Code cleanup.
|
||||
* Replace calling timedatectl command with calling its dbus interface instead and provide proper error messages.
|
||||
* Use dbus interface of timedate systemd daemon instead of timedatectl command.
|
||||
* Add the ability to update group members.
|
||||
* Support changing of user password.
|
||||
* Show group members.
|
||||
* Try to use a helper script and polkit policy configurations to do user admin.
|
||||
* Remove liboobs dependency from lxqt-admin-time and use timedatectl to handle all time configurations.
|
||||
* Try to handle timezones with timedatectl provided by systemd instead of liboobs.
|
||||
* Add groupmod
|
||||
* Try to remove liboobs dependency.
|
||||
* Add README.md
|
||||
* build: Use external translations
|
||||
* ts-files removal (#32)
|
||||
* Bump years to 2016
|
||||
* Don't track IDE settings
|
||||
* Italian translation update
|
||||
* Russian translations update Remove duplicated ru_RU translations
|
||||
* updated: *_hu.ts
|
||||
|
||||
0.10.0 / 2015-10-31
|
||||
===================
|
||||
|
||||
* Fix license file
|
||||
* Add Greek (el) translation
|
||||
* Rename LxQt to LXQt everywhere
|
||||
* Removed invisible dialog titles. Updated template. Added german translation.
|
||||
* Handles CMake policy CMP0063
|
||||
* Initialize in the same order of declaration in the class definition
|
||||
* Use the LXQtCompilerSettings CMake module
|
||||
* Updates the build system to use the Targets infrastructure
|
||||
* Remove trailing whitespaces
|
||||
* Create lxqt-admin-time_hr.ts
|
||||
* Create lxqt-admin-user_hr.ts
|
||||
* Hungarian translations added
|
||||
* Create lxqt-admin-time_it.desktop
|
||||
* Create lxqt-admin-user_it.desktop
|
||||
* Initial Polish translation
|
||||
* Create lxqt-admin-user_it.desktop
|
||||
* lxqt-admin-user: set minimum default GID value for new group to 1000
|
||||
* Initial Polish translation
|
||||
|
||||
0.9.0 / 2015-01-25
|
||||
==================
|
||||
|
||||
* Create lxqt-admin-user_it.desktop
|
||||
* Create lxqt-admin-user_it.ts
|
||||
* Create lxqt-admin-time_it.ts
|
||||
* Add Portuguese language
|
||||
* Added Japanese translation
|
||||
* Unify naming for a unique lxqt. No more suffixes
|
||||
* Update Russian translation
|
||||
* Updates translations sources
|
||||
* Whole GUI of time/date setup has been rewritten from scratch the app has now style of LXQT config dialogs based on LxQt::ConfigDialog the time and date setting is divided into one configuration widget and timezone selection is divided into second config widget
|
||||
* Add icon to config window
|
||||
* Add .gitignore
|
||||
* Make use of QApplication::exec()
|
||||
* Use the new LxQt::SingleApplication
|
||||
* CMakeLists.txt maintenance.
|
||||
* Update translation a little more
|
||||
* Add Russian translation
|
||||
* updates Translations
|
||||
* Updates the translations infrastructure
|
||||
* Drop Qt4 support in CMakeLists.txt in subfolders
|
||||
* Drop Qt4 support in code
|
||||
* Clean up CMakeLists.txt and drop Qt 4
|
||||
|
||||
0.8.0 / 2014-06-21
|
||||
==================
|
||||
|
||||
* simplify Qt version switching
|
||||
* Support build with Qt5.
|
||||
* Use new LXQt header files.
|
||||
* Update copyright notice.
|
||||
* Support changing group members.
|
||||
* Support adding/removing/editing users and groups.
|
||||
* Redesign the UI.
|
||||
* Add a group configuration dialog.
|
||||
* Improve user dialog.
|
||||
* Add a user config dialog.
|
||||
* Update time every seconds unless it's changed manually by the user.
|
||||
* Add basic skeleton for lxqt-admin-user tool.
|
||||
* Add a very basic time config tool, lxqt-admin-time.
|
||||
* Initial commit.
|
36
README.md
36
README.md
@ -4,42 +4,37 @@
|
||||
|
||||
This repository is providing two GUI tools to adjust settings of the operating system LXQt is running on.
|
||||
|
||||
"Time and date configuration", binary `lxqt-admin-time`, can adjust system time and timezone.
|
||||
Both are using [polkit](https://www.freedesktop.org/wiki/Software/polkit/) to handle permissions.
|
||||
In contrast to the specific backends described below earlier versions of lxqt-admin were relying on [system-tools-backends](http://system-tools-backends.freedesktop.org) and their wrapper [liboobs](https://github.com/GNOME/liboobs). These were replaced as both go unmaintained for years and were hence dropped from many distributions heavily restricting the usage of lxqt-admin. As long as they can be built it should still be possible to compile lxqt-admin release ≤ 0.10 against them in order to make use of it on platforms lacking systemd like BSD.
|
||||
|
||||
### Time and date configuration
|
||||
|
||||
Adjusts time and date. Binary is `lxqt-admin-time`.
|
||||
|
||||

|
||||
|
||||
It is using `systemd-timedated` as backend which is accessed by its D-Bus interface. Among other this means the option
|
||||
to sync the system time by NTP is relying on `systemd-timesyncd` as backend.
|
||||
|
||||
In "User and Group Settings", binary `lxqt-admin-user`, users and groups of the operating system can be modified.
|
||||
### User and Group Settings
|
||||
|
||||
Management of users and groups. Binary is `lxqt-admin-user`.
|
||||
|
||||

|
||||
|
||||
The backend is a script `lxqt-admin-user-helper`. By default it is in turn using the shadow tools to do the actual work.
|
||||
The script can be modified to use different tools, though.
|
||||
|
||||
Both are using [polkit](https://www.freedesktop.org/wiki/Software/polkit/) to handle permissions. So polkit and a corresponding
|
||||
authentication agent are needed at runtime. As for LXQt sessions [lxqt-policykit](https://github.com/lxde/lxqt-policykit/)
|
||||
is the first choice.
|
||||
|
||||
Earlier versions of lxqt-admin were relying on [system-tools-backends](http://system-tools-backends.freedesktop.org)
|
||||
and their wrapper [liboobs](https://github.com/GNOME/liboobs). These were replaced as both go unmaintained for years and
|
||||
were hence dropped from many distributions heavily restricting the usage of lxqt-admin.
|
||||
As long as they can be built it should still be possible to compile lxqt-admin release ≤ 0.10 against them in order
|
||||
to make use of it on platforms lacking systemd like BSD.
|
||||
|
||||
## Installing
|
||||
|
||||
### Compiling sources
|
||||
|
||||
Build dependencies are Git, CMake, qttools to handle localization as well as library [liblxqt](https://github.com/lxde/liblxqt)
|
||||
and its dependency [libqtxdg](https://github.com/lxde/libqtxdg).
|
||||
By default lxqt-admin is pulling translations from repository [translations](https://github.com/lxde/translations/) at
|
||||
compile time, see file README.md of the latter.
|
||||
Runtime dependencies are polkit and [liblxqt](https://github.com/lxde/liblxqt). A polkit agent should be available with [lxqt-policykit](https://github.com/lxde/lxqt-policykit/) representing the first choice in LXQt.
|
||||
Additional build dependencies are CMake and optionally Git to pull latest VCS checkouts. The localization files were outsourced to repository [lxqt-l10n](https://github.com/lxde/lxqt-l10n) so the corresponding dependencies are needed, too. Please refer to this repository's `README.md` for further information.
|
||||
|
||||
To compile, run `cmake`, `make` and `make install`.
|
||||
`cmake` can be invoked in an out of source build directory and will normally need variable `-DCMAKE_INSTALL_PREFIX=/usr`.
|
||||
`make install` can be invoked with `DESTDIR=<some path>`.
|
||||
Code configuration is handled by CMake. CMake variable `CMAKE_INSTALL_PREFIX` will normally have to be set to `/usr`.
|
||||
|
||||
To build run `make`, to install `make install` which accepts variable `DESTDIR` as usual.
|
||||
|
||||
### Binary packages
|
||||
|
||||
@ -66,8 +61,7 @@ However it is still possible to install it on openSUSE. The package and its depe
|
||||
|
||||
## Usage
|
||||
|
||||
Both GUIs can be launched from GUI "Configuration Center" of [lxqt-config](https://github.com/lxde/lxqt-config) and are available
|
||||
in LXQt panel's main menu at Preferences - LXQt settings as well.
|
||||
Much like similar tools provided by [lxqt-config](https://github.com/lxde/lxqt-config) the tools of lxqt-admin can be launched from the [Configuration Center](https://github.com/lxde/lxqt-config#configuration-center) as well as from the panel's main menu - Preferences - LXQt settings.
|
||||
|
||||
The actual usage should be self-explanatory. To apply settings the GUI of the polkit authentication agent that's in use is
|
||||
launched to acquire the root password.
|
||||
|
1
debian/.gitignore
vendored
1
debian/.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
/*.debhelper
|
||||
/*.log
|
||||
/*.substvars
|
||||
/debhelper-build-stamp
|
||||
/files
|
||||
|
||||
/lxqt-admin/
|
||||
|
14
debian/changelog
vendored
14
debian/changelog
vendored
@ -1,3 +1,17 @@
|
||||
lxqt-admin (0.11.0-1) experimental; urgency=medium
|
||||
|
||||
* Cherry-picking new upstream version 0.11.0
|
||||
* Bumped compat to 10
|
||||
* Bumped minimum version debhelper (>= 10)
|
||||
* Bumped minimum version liblxqt0-dev (>= 0.11.0)
|
||||
* Bumped minimum version libqt5xdg-dev (>= 2.0.0)
|
||||
* Bumped minimum version libqt5xdgiconloader-dev (>= 2.0.0)
|
||||
* Added build dependency libqt5svg5-dev
|
||||
* Really close the liboobs bug (Closes: #821864)
|
||||
* Removed --parallel from rules, standard in compat 10
|
||||
|
||||
-- Alf Gaida <agaida@siduction.org> Sun, 25 Sep 2016 11:23:41 +0200
|
||||
|
||||
lxqt-admin (0.10.96~24-gd87b750-3) experimental; urgency=medium
|
||||
|
||||
* Fixed two typos in changelog
|
||||
|
9
debian/control
vendored
9
debian/control
vendored
@ -8,16 +8,17 @@ Priority: optional
|
||||
Build-Depends: debhelper (>= 10),
|
||||
cmake (>= 3.0.2),
|
||||
libkf5windowsystem-dev,
|
||||
liblxqt0-dev (>= 0.10.96~),
|
||||
liblxqt0-dev (>= 0.11.0),
|
||||
libqt5svg5-dev,
|
||||
libqt5x11extras5-dev,
|
||||
libqt5xdg-dev (>= 1.3.1~),
|
||||
libqt5xdgiconloader-dev (>= 1.3.1~),
|
||||
libqt5xdg-dev (>= 2.0.0),
|
||||
libqt5xdgiconloader-dev (>= 2.0.0),
|
||||
libx11-dev,
|
||||
pkg-config,
|
||||
qttools5-dev,
|
||||
qttools5-dev-tools
|
||||
Standards-Version: 3.9.8
|
||||
Vcs-Browser: https://anonscm.debian.org/git/pkg-lxqt/lxqt-admin.git/?h=debian/experimental
|
||||
Vcs-Browser: https://anonscm.debian.org/cgit/pkg-lxqt/lxqt-admin.git/?h=debian/experimental
|
||||
Vcs-Git: https://anonscm.debian.org/git/pkg-lxqt/lxqt-admin.git -b debian/experimental
|
||||
Homepage: https://github.com/lxde/lxqt-admin
|
||||
|
||||
|
3
debian/rules
vendored
3
debian/rules
vendored
@ -6,8 +6,7 @@ export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
|
||||
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
|
||||
|
||||
%:
|
||||
dh ${@} --buildsystem cmake\
|
||||
--parallel
|
||||
dh ${@} --buildsystem cmake
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- \
|
||||
|
@ -1,3 +1,30 @@
|
||||
/* BEGIN_COMMON_COPYRIGHT_HEADER
|
||||
* (c)LGPL2+
|
||||
*
|
||||
* LXQt - a lightweight, Qt based, desktop toolset
|
||||
* http://lxqt.org
|
||||
*
|
||||
* Copyright: 2016 LXQt team
|
||||
* Authors:
|
||||
* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||
*
|
||||
* This program or library is free software; you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Lesser General
|
||||
* Public License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA
|
||||
*
|
||||
* END_COMMON_COPYRIGHT_HEADER */
|
||||
|
||||
#include "timedatectl.h"
|
||||
#include <QProcess>
|
||||
#include <QDebug>
|
||||
|
@ -1,3 +1,30 @@
|
||||
/* BEGIN_COMMON_COPYRIGHT_HEADER
|
||||
* (c)LGPL2+
|
||||
*
|
||||
* LXQt - a lightweight, Qt based, desktop toolset
|
||||
* http://lxqt.org
|
||||
*
|
||||
* Copyright: 2016 LXQt team
|
||||
* Authors:
|
||||
* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||
*
|
||||
* This program or library is free software; you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Lesser General
|
||||
* Public License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA
|
||||
*
|
||||
* END_COMMON_COPYRIGHT_HEADER */
|
||||
|
||||
#ifndef TIMEDATECTL_H
|
||||
#define TIMEDATECTL_H
|
||||
|
||||
|
4
lxqt-admin-time/translations/lxqt-admin-time_ar.desktop
Normal file
4
lxqt-admin-time/translations/lxqt-admin-time_ar.desktop
Normal file
@ -0,0 +1,4 @@
|
||||
#TRANSLATIONS
|
||||
Name[ar]=التّاريخ والوقت
|
||||
GenericName[ar]=إعدادات التّاريخ والوقت
|
||||
Comment[ar]=اضبط تاريخ النّظام ووقته
|
3
lxqt-admin-time/translations/lxqt-admin-time_ca.desktop
Normal file
3
lxqt-admin-time/translations/lxqt-admin-time_ca.desktop
Normal file
@ -0,0 +1,3 @@
|
||||
Name[ca]=Data i hora
|
||||
GenericName[ca]=Ajusts de la data i l'hora
|
||||
Comment[ca]=Configureu la data i l'hora del vostre sistema
|
@ -6,7 +6,7 @@
|
||||
|
||||
<action id="org.lxqt.lxqt-admin-user">
|
||||
<message>Authentication is required for user administration</message>
|
||||
<icon_name></icon_name>
|
||||
<icon_name>preferences-system</icon_name>
|
||||
<defaults>
|
||||
<allow_any>auth_admin</allow_any>
|
||||
<allow_inactive>auth_admin</allow_inactive>
|
||||
|
4
lxqt-admin-user/translations/lxqt-admin-user_ar.desktop
Normal file
4
lxqt-admin-user/translations/lxqt-admin-user_ar.desktop
Normal file
@ -0,0 +1,4 @@
|
||||
#TRANSLATIONS
|
||||
Name[ar]=المستخدمون والمجموعات
|
||||
GenericName[ar]=إعدادات المستخدمون والمجموعات
|
||||
Comment[ar]=اضبط مستخدمو النّظام ومجموعاته
|
3
lxqt-admin-user/translations/lxqt-admin-user_ca.desktop
Normal file
3
lxqt-admin-user/translations/lxqt-admin-user_ca.desktop
Normal file
@ -0,0 +1,3 @@
|
||||
Name[ca]=Usuaris i grups
|
||||
GenericName[ca]=Ajusts dels usuaris i dels grups
|
||||
Comment[ca]=Configureu els usuaris i els grups del vostre sistema
|
@ -1,3 +1,30 @@
|
||||
/* BEGIN_COMMON_COPYRIGHT_HEADER
|
||||
* (c)LGPL2+
|
||||
*
|
||||
* LXQt - a lightweight, Qt based, desktop toolset
|
||||
* http://lxqt.org
|
||||
*
|
||||
* Copyright: 2016 LXQt team
|
||||
* Authors:
|
||||
* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||
*
|
||||
* This program or library is free software; you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Lesser General
|
||||
* Public License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA
|
||||
*
|
||||
* END_COMMON_COPYRIGHT_HEADER */
|
||||
|
||||
#include "usermanager.h"
|
||||
#include <QDebug>
|
||||
#include <algorithm>
|
||||
@ -5,6 +32,7 @@
|
||||
#include <QTimer>
|
||||
#include <QProcess>
|
||||
#include <QFile>
|
||||
#include <QMessageBox>
|
||||
#include <unistd.h>
|
||||
|
||||
static const QString PASSWD_FILE = QStringLiteral("/etc/passwd");
|
||||
@ -166,6 +194,7 @@ void UserManager::onFileChanged(const QString &path) {
|
||||
}
|
||||
|
||||
bool UserManager::pkexec(const QStringList& command, const QByteArray& stdinData) {
|
||||
Q_ASSERT(!command.isEmpty());
|
||||
QProcess process;
|
||||
qDebug() << command;
|
||||
QStringList args;
|
||||
@ -180,8 +209,17 @@ bool UserManager::pkexec(const QStringList& command, const QByteArray& stdinData
|
||||
process.closeWriteChannel();
|
||||
}
|
||||
process.waitForFinished(-1);
|
||||
qDebug() << process.readAllStandardError();
|
||||
return process.exitCode() == 0;
|
||||
QByteArray pkexec_error = process.readAllStandardError();
|
||||
qDebug() << pkexec_error;
|
||||
const bool succeeded = process.exitCode() == 0;
|
||||
if (!succeeded)
|
||||
{
|
||||
QMessageBox * msg = new QMessageBox{QMessageBox::Critical, tr("lxqt-admin-user")
|
||||
, tr("<strong>Action (%1) failed:</strong><br/><pre>%2</pre>").arg(command[0]).arg(pkexec_error.constData())};
|
||||
msg->setAttribute(Qt::WA_DeleteOnClose, true);
|
||||
msg->show();
|
||||
}
|
||||
return succeeded;
|
||||
}
|
||||
|
||||
bool UserManager::addUser(UserInfo* user) {
|
||||
|
@ -1,3 +1,30 @@
|
||||
/* BEGIN_COMMON_COPYRIGHT_HEADER
|
||||
* (c)LGPL2+
|
||||
*
|
||||
* LXQt - a lightweight, Qt based, desktop toolset
|
||||
* http://lxqt.org
|
||||
*
|
||||
* Copyright: 2016 LXQt team
|
||||
* Authors:
|
||||
* Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||
*
|
||||
* This program or library is free software; you can redistribute it
|
||||
* and/or modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
|
||||
* You should have received a copy of the GNU Lesser General
|
||||
* Public License along with this library; if not, write to the
|
||||
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA
|
||||
*
|
||||
* END_COMMON_COPYRIGHT_HEADER */
|
||||
|
||||
#ifndef USERMANAGER_H
|
||||
#define USERMANAGER_H
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user