[arch-commits] Commit in cinnamon/trunk (7 files)
Balló György
bgyorgy at archlinux.org
Fri Aug 1 00:56:35 UTC 2014
Date: Friday, August 1, 2014 @ 02:56:34
Author: bgyorgy
Revision: 116659
upgpkg: cinnamon 2.2.14-2
Apply upstream fixes (FS#41250), remove power applet patch (upower support is fixed in cinnamon-settings-daemon)
Added:
cinnamon/trunk/calendar-applet-upower-support.patch
cinnamon/trunk/fix_background.patch
cinnamon/trunk/no-print-password.patch
Modified:
cinnamon/trunk/PKGBUILD
cinnamon/trunk/set_wheel.patch
Deleted:
cinnamon/trunk/upower_calender_fix.patch
cinnamon/trunk/upower_power_applet_fix.patch
--------------------------------------+
PKGBUILD | 27 +-
calendar-applet-upower-support.patch | 17 +
fix_background.patch | 14 +
no-print-password.patch | 14 +
set_wheel.patch | 47 ++++-
upower_calender_fix.patch | 21 --
upower_power_applet_fix.patch | 300 ---------------------------------
7 files changed, 104 insertions(+), 336 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2014-08-01 00:55:24 UTC (rev 116658)
+++ PKGBUILD 2014-08-01 00:56:34 UTC (rev 116659)
@@ -6,7 +6,7 @@
pkgname=cinnamon
pkgver=2.2.14
-pkgrel=1
+pkgrel=2
pkgdesc="Linux desktop which provides advanced innovative features and a traditional user experience"
arch=('i686' 'x86_64')
url="http://cinnamon.linuxmint.com/"
@@ -22,13 +22,15 @@
options=('!emptydirs')
install=${pkgname}.install
source=("$pkgname-$pkgver.tar.gz::https://github.com/linuxmint/Cinnamon/archive/$pkgver.tar.gz"
- "upower_calender_fix.patch"
- "set_wheel.patch"
- "upower_power_applet_fix.patch")
+ "calendar-applet-upower-support.patch"
+ "fix_background.patch"
+ "no-print-password.patch"
+ "set_wheel.patch")
sha256sums=('ffccc44c8b4675ba76510172d8252c3c07a131a9ad7b5ba062740b686a3cb0f9'
- '2edb96f42fb4da07eee635b1159e3ae869c64d7ac80f600bc509190648abcf3e'
- 'dafb2b7b275053aa77d15f2ffab62ad1567aa9d93ed7a82077feeef86b81c7f7'
- 'da6594cd05f5f9c242cdc179e5af1bd5afb79506e77ac457d2a7e8930692c45c')
+ '9ba15442531537759a78a4ab6d0be55dc2fa84a5157bb3fd912c259bfe24dcd8'
+ '1117ac6f76ae65637778a43bc18385a032d1244b578bb28aca6557c4007f9d0a'
+ '14f55e00ac399b19c41c8ab7de8b4cd530e30701c9f1f3f1ca73434ff00d8273'
+ '3c4c7bb65d9e3b7d5569a14a45ebf08d2326250869645511dfa18d87b8eaf444')
prepare() {
cd ${srcdir}/Cinnamon*
@@ -37,12 +39,15 @@
sed -i 's:/usr/bin/python :/usr/bin/python2 :' files/usr/bin/cinnamon-menu-editor
find -type f | xargs sed -i 's@^#!.*python$@#!/usr/bin/python2@'
- # Fix power applet to work with upower 0.99
- patch -Np1 -i ../upower_power_applet_fix.patch
-
# Fix calendar applet with upower 0.99
- patch -Np1 -i ../upower_calender_fix.patch
+ patch -Np1 -i ../calendar-applet-upower-support.patch
+ # Fix Background Module for python2-pillow 2.5.0
+ patch -Np1 -i ../fix_background.patch
+
+ # Don't print passwords to stdout
+ patch -Np1 -i ../no-print-password.patch
+
# Use wheel group instread of sudo
patch -Np1 -i ../set_wheel.patch
Added: calendar-applet-upower-support.patch
===================================================================
--- calendar-applet-upower-support.patch (rev 0)
+++ calendar-applet-upower-support.patch 2014-08-01 00:56:34 UTC (rev 116659)
@@ -0,0 +1,17 @@
+Index: cinnamon/files/usr/share/cinnamon/applets/calendar at cinnamon.org/applet.js
+===================================================================
+--- cinnamon.orig/files/usr/share/cinnamon/applets/calendar at cinnamon.org/applet.js 2014-04-27 11:56:10.582581808 +0200
++++ cinnamon/files/usr/share/cinnamon/applets/calendar at cinnamon.org/applet.js 2014-07-14 00:44:37.882215797 +0200
+@@ -94,7 +94,11 @@
+
+ // https://bugzilla.gnome.org/show_bug.cgi?id=655129
+ this._upClient = new UPowerGlib.Client();
+- this._upClient.connect('notify-resume', this._updateClockAndDate);
++ try {
++ this._upClient.connect('notify-resume', this._updateClockAndDate);
++ } catch (e) {
++ this._upClient.connect('notify::resume', this._updateClockAndDate);
++ }
+
+ // Start the clock
+ this.on_settings_changed();
Added: fix_background.patch
===================================================================
--- fix_background.patch (rev 0)
+++ fix_background.patch 2014-08-01 00:56:34 UTC (rev 116659)
@@ -0,0 +1,14 @@
+Description: Fix Background Module for python2-pillow 2.5.0-1.
+Author: Claire Farron <diesal3 at googlemail.com>
+Origin: upstream
+--- a/files/usr/lib/cinnamon-settings/bin/imtools.py
++++ b/files/usr/lib/cinnamon-settings/bin/imtools.py
+@@ -859,7 +859,7 @@
+ :type force: bool
+ """
+ # Paste on top
+- if source == mask:
++ if mask and source == mask:
+ if has_alpha(source):
+ # invert_alpha = the transparant pixels of the destination
+ if has_alpha(destination) and (destination.size == source.size
Added: no-print-password.patch
===================================================================
--- no-print-password.patch (rev 0)
+++ no-print-password.patch 2014-08-01 00:56:34 UTC (rev 116659)
@@ -0,0 +1,14 @@
+Description: Cinnamon Settings User: Don't print passwords to stdout
+when changing password and cinnamon-settings is run from terminal.
+Author: Clement Lefebvre
+Origin: upstream
+--- a/files/usr/lib/cinnamon-settings/modules/cs_user.py
++++ b/files/usr/lib/cinnamon-settings/modules/cs_user.py
+@@ -398,7 +398,6 @@
+ def change_password(self):
+ oldpass = self.current_password.get_text()
+ newpass = self.new_password.get_text()
+- print "Changing %s to %s" % (oldpass, newpass)
+ passwd = pexpect.spawn("/usr/bin/passwd")
+ time.sleep(0.5)
+ passwd.sendline(oldpass)
Modified: set_wheel.patch
===================================================================
--- set_wheel.patch 2014-08-01 00:55:24 UTC (rev 116658)
+++ set_wheel.patch 2014-08-01 00:56:34 UTC (rev 116659)
@@ -1,6 +1,42 @@
--- a/files/usr/lib/cinnamon-settings-users/cinnamon-settings-users.py
+++ b/files/usr/lib/cinnamon-settings-users/cinnamon-settings-users.py
-@@ -747,7 +747,7 @@ class Module:
+@@ -144,12 +144,11 @@ class EditableEntry (Gtk.Notebook):
+
+ class PasswordDialog(Gtk.Dialog):
+
+- def __init__ (self, user, password_mask, group_mask):
++ def __init__ (self, user, password_mask):
+ super(PasswordDialog, self).__init__()
+
+ self.user = user
+ self.password_mask = password_mask
+- self.group_mask = group_mask
+
+ self.set_modal(True)
+ self.set_skip_taskbar_hint(True)
+@@ -215,12 +214,6 @@ class PasswordDialog(Gtk.Dialog):
+ def change_password(self):
+ newpass = self.new_password.get_text()
+ self.user.set_password(newpass, "")
+- os.system("gpasswd -d '%s' nopasswdlogin" % self.user.get_user_name())
+- mask = self.group_mask.get_text()
+- mask = mask.split(", ")
+- mask.remove("nopasswdlogin")
+- mask = ", ".join(mask)
+- self.group_mask.set_text(mask)
+ self.password_mask.set_text(u'\u2022\u2022\u2022\u2022\u2022\u2022')
+ self.destroy()
+
+@@ -515,7 +508,7 @@ class Module:
+ model, treeiter = self.users_treeview.get_selection().get_selected()
+ if treeiter != None:
+ user = model[treeiter][INDEX_USER_OBJECT]
+- dialog = PasswordDialog(user, self.password_mask, self.groups_label)
++ dialog = PasswordDialog(user, self.password_mask)
+ response = dialog.run()
+
+ def _on_groups_button_clicked(self, widget):
+@@ -745,11 +738,11 @@ class Module:
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_size("/usr/share/cinnamon/faces/user-generic.png", 48, 48)
description = "<b>%s</b>\n%s" % (fullname, username)
piter = self.users.append(None, [new_user, pixbuf, description])
@@ -8,7 +44,10 @@
+ # Add the user to his/her own group and wheel if Administrator was selected
if dialog.account_type_combo.get_active() == 1:
- os.system("usermod %s -G %s,sudo,nopasswdlogin" % (username, username))
-+ os.system("usermod %s -G %s,sudo,wheel,nopasswdlogin" % (username, username))
++ os.system("usermod %s -G %s,wheel" % (username, username))
else:
- os.system("usermod %s -G %s" % (username, username))
- self.load_groups()
+- os.system("usermod %s -G %s,nopasswdlogin" % (username, username))
++ os.system("usermod %s -G %s" % (username, username))
+ self.load_groups()
+ dialog.destroy()
+
Deleted: upower_calender_fix.patch
===================================================================
--- upower_calender_fix.patch 2014-08-01 00:55:24 UTC (rev 116658)
+++ upower_calender_fix.patch 2014-08-01 00:56:34 UTC (rev 116659)
@@ -1,21 +0,0 @@
---- Cinnamon-2.2.13.orig/files/usr/share/cinnamon/applets/calendar at cinnamon.org/applet.js 2014-05-25 15:10:49.000000000 -0500
-+++ Cinnamon-2.2.13/files/usr/share/cinnamon/applets/calendar at cinnamon.org/applet.js 2014-05-30 17:05:16.099584860 -0500
-@@ -6,7 +6,6 @@
- const St = imports.gi.St;
- const Util = imports.misc.util;
- const PopupMenu = imports.ui.popupMenu;
--const UPowerGlib = imports.gi.UPowerGlib;
- const Settings = imports.ui.settings;
- const AppletDir = imports.ui.appletManager.applets['calendar at cinnamon.org'];
- const Calendar = AppletDir.calendar;
-@@ -92,10 +91,6 @@
- this.settings.bindProperty(Settings.BindingDirection.IN, "use-custom-format", "use_custom_format", this.on_settings_changed, null);
- this.settings.bindProperty(Settings.BindingDirection.IN, "custom-format", "custom_format", this.on_settings_changed, null);
-
-- // https://bugzilla.gnome.org/show_bug.cgi?id=655129
-- this._upClient = new UPowerGlib.Client();
-- this._upClient.connect('notify-resume', this._updateClockAndDate);
--
- // Start the clock
- this.on_settings_changed();
- this._updateClockAndDatePeriodic();
Deleted: upower_power_applet_fix.patch
===================================================================
--- upower_power_applet_fix.patch 2014-08-01 00:55:24 UTC (rev 116658)
+++ upower_power_applet_fix.patch 2014-08-01 00:56:34 UTC (rev 116659)
@@ -1,300 +0,0 @@
-diff -Naur Cinnamon-2.2.13.orig/files/usr/share/cinnamon/applets/power at cinnamon.org/applet.js Cinnamon-2.2.13/files/usr/share/cinnamon/applets/power at cinnamon.org/applet.js
---- Cinnamon-2.2.13.orig/files/usr/share/cinnamon/applets/power at cinnamon.org/applet.js 2014-05-25 15:10:49.000000000 -0500
-+++ Cinnamon-2.2.13/files/usr/share/cinnamon/applets/power at cinnamon.org/applet.js 2014-05-01 14:58:17.000000000 -0500
-@@ -36,21 +36,6 @@
- PENDING_DISCHARGE: 6
- };
-
--const PowerManagerInterface = {
-- name: 'org.cinnamon.SettingsDaemon.Power',
-- methods: [
-- { name: 'GetDevices', inSignature: '', outSignature: 'a(susdut)' },
-- { name: 'GetPrimaryDevice', inSignature: '', outSignature: '(susdut)' },
-- ],
-- signals: [
-- { name: 'PropertiesChanged', inSignature: 's,a{sv},a[s]' },
-- ],
-- properties: [
-- { name: 'Icon', signature: 's', access: 'read' },
-- ]
--};
--let PowerManagerProxy = DBus.makeProxyClass(PowerManagerInterface);
--
- const SettingsManagerInterface = {
- name: 'org.freedesktop.DBus.Properties',
- methods: [
-@@ -63,6 +48,17 @@
-
- let SettingsManagerProxy = DBus.makeProxyClass(SettingsManagerInterface);
-
-+const DisplayDeviceInterface = <interface name="org.freedesktop.UPower.Device">
-+ <property name="Type" type="u" access="read"/>
-+ <property name="State" type="u" access="read"/>
-+ <property name="Percentage" type="d" access="read"/>
-+ <property name="TimeToEmpty" type="x" access="read"/>
-+ <property name="TimeToFull" type="x" access="read"/>
-+ <property name="IsPresent" type="b" access="read"/>
-+ <property name="IconName" type="s" access="read"/>
-+ </interface>;
-+let DisplayDeviceProxy = Gio.DBusProxy.makeProxyWrapper(DisplayDeviceInterface);
-+
- function DeviceItem() {
- this._init.apply(this, arguments);
- }
-@@ -145,7 +141,13 @@
- this.menuManager.addMenu(this.menu);
-
- //this.set_applet_icon_symbolic_name('battery-missing');
-- this._proxy = new PowerManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
-+ this._proxy = new DisplayDeviceProxy(Gio.DBus.system,
-+ 'org.freedesktop.UPower',
-+ '/org/freedesktop/UPower/devices/DisplayDevice',
-+ Lang.bind(this, function (proxy, error) {
-+ this._proxy.connect('g-properties-changed', Lang.bind(this, this._sync));
-+ this._sync();
-+ }));
- this._smProxy = new SettingsManagerProxy(DBus.session, BUS_NAME, OBJECT_PATH);
-
- let icon = this.actor.get_children()[0];
-@@ -175,153 +177,121 @@
- this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
- this.menu.addSettingsAction(_("Power Settings"), 'power');
-
-- this._smProxy.connect('PropertiesChanged', Lang.bind(this, this._devicesChanged));
-- this._devicesChanged();
-+ this._smProxy.connect('PropertiesChanged', Lang.bind(this, this._devicesChanged));
- }
- catch (e) {
- global.logError(e);
- }
- },
-
-+ _getDevice: function () {
-+ // FIXME: don't know how to access device_id now, it works like a charm with this magic number
-+ return [1, this._proxy.Type, this._proxy.IconName, this._proxy.Percentage, this._proxy.State, this._getSeconds()]
-+ },
-+
-+ _getSeconds: function () {
-+ var sec = 0;
-+ if (this._proxy.State == UPDeviceState.DISCHARGING) {
-+ return this._proxy.TimeToEmpty;
-+ } else if (this._proxy.State == UPDeviceState.CHARGING) {
-+ return this._proxy.TimeToFull;
-+ }
-+
-+ return sec;
-+ },
-+
-+ _sync: function () {
-+ this._devicesChanged();
-+ },
-+
- on_applet_clicked: function(event) {
- this.menu.toggle();
- },
-
- _readPrimaryDevice: function() {
-- this._proxy.GetPrimaryDeviceRemote(Lang.bind(this, function(device, error) {
-- if (error) {
-- this._hasPrimary = false;
-- this._primaryDeviceId = null;
-- this._batteryItem.actor.hide();
-- return;
-+ var device = this._getDevice();
-+ global.logError(device);
-+
-+ let [device_id, device_type, icon, percentage, state, seconds] = device;
-+ if (device_type == UPDeviceType.BATTERY) {
-+ this._hasPrimary = true;
-+ let time = Math.round(seconds / 60);
-+ if (time == 0) {
-+ // 0 is reported when UPower does not have enough data
-+ // to estimate battery life
-+ this._batteryItem.label.text = _("Estimating...");
-+ } else {
-+ let minutes = time % 60;
-+ let hours = Math.floor(time / 60);
-+ let timestring;
-+ if (time > 60) {
-+ if (minutes == 0) {
-+ timestring = ngettext("%d hour remaining", "%d hours remaining", hours).format(hours);
-+ } else {
-+ let template = _("%d %s %d %s remaining");
-+ timestring = template.format (hours, ngettext("hour", "hours", hours), minutes, ngettext("minute", "minutes", minutes));
-+ }
-+ } else timestring = ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
-+ this._batteryItem.label.text = timestring;
-+ this.set_applet_tooltip(timestring);
- }
-- let [device_id, device_type, icon, percentage, state, seconds] = device;
-- if (device_type == UPDeviceType.BATTERY) {
-- this._hasPrimary = true;
-- let time = Math.round(seconds / 60);
-- if (time == 0) {
-- // 0 is reported when UPower does not have enough data
-- // to estimate battery life
-- this._batteryItem.label.text = _("Estimating...");
-- } else {
-- let minutes = time % 60;
-- let hours = Math.floor(time / 60);
-- let timestring;
-- if (time > 60) {
-- if (minutes == 0) {
-- timestring = ngettext("%d hour remaining", "%d hours remaining", hours).format(hours);
-- } else {
-- /* TRANSLATORS: this is a time string, as in "%d hours %d minutes remaining" */
-- let template = _("%d %s %d %s remaining");
--
-- timestring = template.format (hours, ngettext("hour", "hours", hours), minutes, ngettext("minute", "minutes", minutes));
-- }
-- } else
-- timestring = ngettext("%d minute remaining", "%d minutes remaining", minutes).format(minutes);
-- this._batteryItem.label.text = timestring;
-- this.set_applet_tooltip(timestring);
-- }
- this._primaryPercentage.text = C_("percent of battery remaining", "%d%%").format(Math.round(percentage));
- this._batteryItem.actor.show();
-- } else {
-- this._hasPrimary = false;
-- this._batteryItem.actor.hide();
-- }
--
-- this._primaryDeviceId = device_id;
-- }));
-- },
--
-- _readOtherDevices: function() {
-- this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
-- this._deviceItems.forEach(function(i) { i.destroy(); });
-- this._deviceItems = [];
--
-- if (error) {
-- return;
-- }
--
-- let position = 0;
-- for (let i = 0; i < devices.length; i++) {
-- let [device_id, device_type] = devices[i];
--
-- if (this._hasPrimary == false) {
-- if (device_type == UPDeviceType.AC_POWER) {
-- this.set_applet_tooltip(_("AC adapter"));
-- }
-- else if (device_type == UPDeviceType.BATTERY) {
-- this.set_applet_tooltip(_("Laptop battery"));
-- }
-- }
--
-- if (device_type == UPDeviceType.AC_POWER || (this._hasPrimary && device_id == this._primaryDeviceId))
-- continue;
--
-- let item = new DeviceItem (devices[i]);
-- this._deviceItems.push(item);
-- this.menu.addMenuItem(item, this._otherDevicePosition + position);
-- position++;
-- }
-- }));
-+ } else {
-+ this._hasPrimary = false;
-+ this._batteryItem.actor.hide();
-+ }
-+ this._primaryDeviceId = device_id;
- },
-
- on_panel_height_changed: function() {
- this._devicesChanged();
- },
-
-- _devicesChanged: function() {
-- this._proxy.GetRemote('Icon', Lang.bind(this, function(icon, error) {
-- if (icon) {
-- this.set_applet_icon_symbolic_name('battery-missing');
-- let gicon = Gio.icon_new_for_string(icon);
-- this._applet_icon.gicon = gicon;
-- this.actor.show();
-- } else {
-- this.menu.close();
-- this.actor.hide();
-- }
-- }));
-+ _devicesChanged: function() {
-+ let icon = this._proxy.IconName;
-+ if (icon) {
-+ this.set_applet_icon_symbolic_name('battery-missing');
-+ let gicon = Gio.icon_new_for_string(icon);
-+ this._applet_icon.gicon = gicon;
-+ this.actor.show();
-+ } else {
-+ this.menu.close();
-+ this.actor.hide();
-+ }
-+
- this._readPrimaryDevice();
-- this._readOtherDevices();
- this._updateLabel();
- },
-
- _updateLabel: function() {
-- this._proxy.GetDevicesRemote(Lang.bind(this, function(devices, error) {
-- if (error) {
-- this._mainLabel.set_text("");
-- return;
-+ var device = this._getDevice();
-+ if (this.labelinfo != "nothing") {
-+ let [device_id, device_type, icon, percentage, state, time] = device;
-+ let labelText = "";
-+
-+ if (this.labelinfo == "percentage" || time == 0) {
-+ labelText = C_("percent of battery remaining", "%d%%").format(Math.round(percentage));
-+ }
-+ else if (this.labelinfo == "time") {
-+ let seconds = Math.round(time / 60);
-+ let minutes = Math.floor(seconds % 60);
-+ let hours = Math.floor(seconds / 60);
-+ labelText = C_("time of battery remaining", "%d:%02d").format(hours,minutes);
- }
-- if (this.labelinfo != "nothing") {
-- for (let i = 0; i < devices.length; i++) {
-- let [device_id, device_type, icon, percentage, state, time] = devices[i];
-- if (device_type == UPDeviceType.BATTERY || device_id == this._primaryDeviceId) {
-- let labelText = "";
--
-- if (this.labelinfo == "percentage" || time == 0) {
-- labelText = C_("percent of battery remaining", "%d%%").format(Math.round(percentage));
-- }
-- else if (this.labelinfo == "time") {
-- let seconds = Math.round(time / 60);
-- let minutes = Math.floor(seconds % 60);
-- let hours = Math.floor(seconds / 60);
-- labelText = C_("time of battery remaining", "%d:%02d").format(hours,minutes);
-- }
-- else if (this.labelinfo == "percentage_time") {
-- let seconds = Math.round(time / 60);
-- let minutes = Math.floor(seconds % 60);
-- let hours = Math.floor(seconds / 60);
-- labelText = C_("percent of battery remaining", "%d%%").format(Math.round(percentage)) + " (" +
-- C_("time of battery remaining", "%d:%02d").format(hours,minutes) + ")";
-- }
-- this._mainLabel.set_text(labelText);
-- if (device_id == this._primaryDeviceId) {
-- return;
-- }
-- }
-- }
-+ else if (this.labelinfo == "percentage_time") {
-+ let seconds = Math.round(time / 60);
-+ let minutes = Math.floor(seconds % 60);
-+ let hours = Math.floor(seconds / 60);
-+ labelText = C_("percent of battery remaining", "%d%%").format(Math.round(percentage)) + " (" +
-+ C_("time of battery remaining", "%d:%02d").format(hours,minutes) + ")";
- }
-- }));
-+
-+ this._mainLabel.set_text(labelText);
-+ return;
-+ }
-+ // Display disabled or no battery found... hot-unplugged?
-+ this._mainLabel.set_text("");
- },
-
- on_applet_removed_from_panel: function() {
More information about the arch-commits
mailing list