summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO45
-rw-r--r--10-unity.defaults31
-rw-r--r--50-unity-greeter.rules98
-rw-r--r--PKGBUILD112
-rw-r--r--logo.pngbin0 -> 12950 bytes
-rw-r--r--spawn_indicators.patch13
-rwxr-xr-xunity-greeter-indicators-start11
-rw-r--r--unity-greeter.install11
8 files changed, 321 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..3cf647284f8f
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,45 @@
+# Generated by makepkg 4.2.1
+# Sat May 30 00:57:48 UTC 2015
+pkgbase = lightdm-unity-greeter
+ pkgdesc = The greeter (login screen) application for Unity. It is implemented as a LightDM greeter.
+ pkgver = 15.10.0
+ pkgrel = 1
+ url = https://launchpad.net/unity-greeter
+ install = unity-greeter.install
+ arch = i686
+ arch = x86_64
+ groups = unity
+ license = GPL3
+ license = LGPL3
+ makedepends = gnome-common
+ makedepends = gnome-doc-utils
+ makedepends = unity-settings-daemon
+ makedepends = imagemagick
+ makedepends = intltool
+ makedepends = librsvg
+ makedepends = vala
+ depends = cantarell-fonts
+ depends = gnome-doc-utils
+ depends = ido
+ depends = libindicator3
+ depends = lightdm-ubuntu
+ depends = libcanberra
+ depends = libxext
+ optdepends = ubuntu-themes: Ubuntu's Ambiance and Radiance themes
+ optdepends = ubuntu-wallpapers: Ubuntu's default wallpapers
+ optdepends = ttf-ubuntu-font-family: Ubuntu's default font
+ source = https://launchpad.net/ubuntu/+archive/primary/+files/unity-greeter_15.10.0-0ubuntu1.tar.xz
+ source = spawn_indicators.patch
+ source = unity-greeter-indicators-start
+ source = 10-unity.defaults
+ source = 50-unity-greeter.rules
+ source = logo.png
+ sha512sums = a81e5569c1fc1210cfe6ef3cf925b3ed22db9137884616068434d06c1ac381f81b9948dff93c24e5016f3852d0d77bf8309ed14ccc4db920a591521076cc6175
+ sha512sums = a6b69114204d696edf8a420bce701471dfa3ed269f63eb4d26cc8361f1ef55e6967a0ea0bad4a7826d1037368ce1e3b3ee1bf5cd5989c39152c2d796326e0e04
+ sha512sums = e43c177d0255af961bbf9198868e32a1a762bb70e117f80c3c2ce4b54d23f4955cc1c4c32b68751b021116f8e6d26133b24845c03ae459c2209e8313e28a0bc6
+ sha512sums = ee5d1f17dddd99ba55bbaca8aff5e8487c9b9f7e1eef570d2adb3d2519e19ef437b160414468ef85a8c1b14af1eee23c714e2086291701edfbab2f43064e2cd7
+ sha512sums = 5d0f1b8221dfe02670df3ba88011dc0ce744bfd4205a9900dd8096de222358a740a384a47f13ed4e5b94e24d4a8ff5639117464c61a689dd7bd9025a0900f529
+ sha512sums = 4cc7e3600a8f5afc7edf574ccdb21dbbff9c7492a46b50c696fb7b38446829f2cc99ae029688e289da2100a9cac6ae0471cc8bac03f8db3799f9929a1e2f2679
+
+pkgname = lightdm-unity-greeter
+
diff --git a/10-unity.defaults b/10-unity.defaults
new file mode 100644
index 000000000000..7732f396ca33
--- /dev/null
+++ b/10-unity.defaults
@@ -0,0 +1,31 @@
+[org.gnome.desktop.background]
+show-desktop-icons=true
+picture-uri='file:///usr/share/backgrounds/warty-final-ubuntu.png'
+
+[org.gnome.desktop.interface]
+gtk-theme="Ambiance"
+icon-theme="ubuntu-mono-dark"
+#cursor-theme="DMZ-White"
+font-name="Ubuntu 11"
+monospace-font-name="Ubuntu Mono 13"
+
+[org.gnome.desktop.sound]
+theme-name = 'ubuntu'
+
+[org.gnome.desktop.session]
+session-name="ubuntu"
+
+[org.gnome.desktop.wm.preferences]
+button-layout='close,minimize,maximize:'
+mouse-button-modifier='<Alt>'
+theme="Ambiance"
+titlebar-font='Ubuntu Bold 11'
+
+[org.gnome.nautilus.desktop]
+home-icon-visible=false
+trash-icon-visible=false
+volumes-visible=false
+
+[org.gnome.settings-daemon.plugins.xsettings]
+antialiasing = 'rgba'
+hinting = 'slight'
diff --git a/50-unity-greeter.rules b/50-unity-greeter.rules
new file mode 100644
index 000000000000..1c1b5a344662
--- /dev/null
+++ b/50-unity-greeter.rules
@@ -0,0 +1,98 @@
+/* Original:
+ * [Disable Controlling of Network Devices]
+ * Identity=unix-user:lightdm
+ * Action=org.freedesktop.NetworkManager.enable-disable-network;org.freedesktop.NetworkManager.enable-disable-wifi;org.freedesktop.NetworkManager.enable-disable-wwan;org.freedesktop.NetworkManager.enable-disable-wimax;
+ * ResultActive=no
+ * ResultInactive=no
+ * ResultsAny=no
+ */
+
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm" && (
+ action.id == "org.freedesktop.NetworkManager.enable-disable-network" ||
+ action.id == "org.freedesktop.NetworkManager.enable-disable-wifi" ||
+ action.id == "org.freedesktop.NetworkManager.enable-disable-wwan" ||
+ action.id == "org.freedesktop.NetworkManager.enable-disable-wimax")) {
+ return polkit.Result.NO;
+ }
+});
+
+/* Original:
+ * [Disable Sleep and Wake]
+ * Identity=unix-user:lightdm
+ * Action=org.freedesktop.NetworkManager.sleep-wake
+ * ResultActive=no
+ * ResultInactive=no
+ * ResultsAny=no
+ */
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm" &&
+ action.id == "org.freedesktop.NetworkManager.sleep-wake") {
+ return polkit.Result.NO;
+ }
+});
+
+/* Original:
+ * [Disable WiFi Sharing]
+ * Identity=unix-user:lightdm
+ * Action=org.freedesktop.NetworkManager.wifi.share.protected;org.freedesktop.NetworkManager.wifi.share.open
+ * ResultActive=no
+ * ResultInactive=no
+ * ResultsAny=no
+ */
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm" && (
+ action.id == "org.freedesktop.NetworkManager.wifi.share.protected" ||
+ action.id == "org.freedesktop.NetworkManager.wifi.share.open")) {
+ return polkit.Result.NO;
+ }
+});
+
+/* Original:
+ * [Disable Settings Modifications]
+ * Identity=unix-user:lightdm
+ * Action=org.freedesktop.NetworkManager.settings.modify.own;org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.settings.modify.hostname
+ * ResultActive=no
+ * ResultInactive=no
+ * ResultsAny=no
+ */
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm" && (
+ action.id == "org.freedesktop.NetworkManager.settings.modify.own" ||
+ action.id == "org.freedesktop.NetworkManager.settings.modify.system" ||
+ action.id == "org.freedesktop.NetworkManager.settings.modify.hostname")) {
+ return polkit.Result.NO;
+ }
+});
+
+/* Original:
+ * [Disable User Connections]
+ * Identity=unix-user:lightdm
+ * Action=org.freedesktop.NetworkManager.use-user-connections
+ * ResultActive=no
+ * ResultInactive=no
+ * ResultsAny=no
+ */
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm" &&
+ action.id == "org.freedesktop.NetworkManager.use-user-connections") {
+ return polkit.Result.NO;
+ }
+});
+
+/* Original:
+ * [Enable Controlling of Network Connections]
+ * Identity=unix-user:lightdm
+ * Action=org.freedesktop.NetworkManager.network-control
+ * ResultActive=yes
+ * ResultInactive=no
+ * ResultsAny=no
+ */
+polkit.addRule(function(action, subject) {
+ if (subject.user == "lightdm" &&
+ subject.local &&
+ subject.active &&
+ action.id == "org.freedesktop.NetworkManager.network-control") {
+ return polkit.Result.YES;
+ }
+});
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..364366a70f26
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,112 @@
+# Maintainer: Xiao-Long Chen <chenxiaolong@cxl.epac.to>
+# Taken from M0Rf30 morf3089 at gmail dot com
+
+# vercheck-pkgbuild: auto
+# vercheck-ubuntu: name=${pkgname#*-}, repo=vivid
+# vercheck-launchpad: name=${pkgname#*-}
+
+pkgname=lightdm-unity-greeter
+_ubuntu_rel=0ubuntu1
+pkgver=15.10.0
+pkgrel=1
+pkgdesc="The greeter (login screen) application for Unity. It is implemented as a LightDM greeter."
+arch=(i686 x86_64)
+url="https://launchpad.net/unity-greeter"
+license=(GPL3 LGPL3)
+groups=(unity)
+depends=(cantarell-fonts gnome-doc-utils ido libindicator3 lightdm-ubuntu
+ libcanberra libxext)
+makedepends=(gnome-common gnome-doc-utils unity-settings-daemon imagemagick
+ intltool librsvg vala)
+optdepends=("ubuntu-themes: Ubuntu's Ambiance and Radiance themes"
+ "ubuntu-wallpapers: Ubuntu's default wallpapers"
+ "ttf-ubuntu-font-family: Ubuntu's default font")
+install=unity-greeter.install
+source=("https://launchpad.net/ubuntu/+archive/primary/+files/${pkgname#*-}_${pkgver}-${_ubuntu_rel}.tar.xz"
+ spawn_indicators.patch
+ unity-greeter-indicators-start
+ 10-unity.defaults
+ 50-unity-greeter.rules
+ logo.png)
+sha512sums=('a81e5569c1fc1210cfe6ef3cf925b3ed22db9137884616068434d06c1ac381f81b9948dff93c24e5016f3852d0d77bf8309ed14ccc4db920a591521076cc6175'
+ 'a6b69114204d696edf8a420bce701471dfa3ed269f63eb4d26cc8361f1ef55e6967a0ea0bad4a7826d1037368ce1e3b3ee1bf5cd5989c39152c2d796326e0e04'
+ 'e43c177d0255af961bbf9198868e32a1a762bb70e117f80c3c2ce4b54d23f4955cc1c4c32b68751b021116f8e6d26133b24845c03ae459c2209e8313e28a0bc6'
+ 'ee5d1f17dddd99ba55bbaca8aff5e8487c9b9f7e1eef570d2adb3d2519e19ef437b160414468ef85a8c1b14af1eee23c714e2086291701edfbab2f43064e2cd7'
+ '5d0f1b8221dfe02670df3ba88011dc0ce744bfd4205a9900dd8096de222358a740a384a47f13ed4e5b94e24d4a8ff5639117464c61a689dd7bd9025a0900f529'
+ '4cc7e3600a8f5afc7edf574ccdb21dbbff9c7492a46b50c696fb7b38446829f2cc99ae029688e289da2100a9cac6ae0471cc8bac03f8db3799f9929a1e2f2679')
+
+prepare() {
+ cd "${pkgname#*-}-${pkgver}"
+
+ # Apply Ubuntu patches
+ for i in $(grep -v '#' debian/patches/series); do
+ patch -p1 -i "debian/patches/${i}"
+ done
+
+ # Patch from unity-gentoo for spawning the indicator services since the
+ # DBus activation method is deprecated
+ patch -p1 -i ../spawn_indicators.patch
+
+ # Use Arch Linux logo (retain the same 245px height as the Ubuntu logo)
+ rm data/logo.png
+ # Stupid segfaulting imagemagick...
+ if ! convert -background none -resize 245 \
+ /usr/share/archlinux/logos/archlinux-mono-white.svg \
+ data/logo.png; then
+ cp ../logo.png data/logo.png
+ fi
+}
+
+build() {
+ cd "${pkgname#*-}-${pkgver}"
+
+ # Link against libm and libx11
+ export CFLAGS+=" -lm -lX11"
+
+ autoreconf -vfi
+ intltoolize -f
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --libexecdir=/usr/lib/lightdm
+
+ make || :
+ sed -i '1i#include <gtk/gtkx.h>' src/menubar.c
+ make
+}
+
+package() {
+ cd "unity-greeter-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # Install PolicyKit file for allowing the lightdm user to use NetworkManager
+ # Note: PolicyKit no longer reads pkla files after version 0.107, so Ubuntu's
+ # policy file won't work.
+ install -dm700 "${pkgdir}/usr/share/polkit-1/rules.d/"
+ install -m644 "${srcdir}/50-unity-greeter.rules" \
+ "${pkgdir}/usr/share/polkit-1/rules.d/"
+ #install -dm700 "${pkgdir}/var/lib/polkit-1/"
+ #install -dm755 "${pkgdir}/var/lib/polkit-1/localauthority/10-vendor.d/"
+ #install -m644 "${srcdir}/debian/unity-greeter.pkla" \
+ # "${pkgdir}/var/lib/polkit-1/localauthority/10-vendor.d/"
+
+ # Install default GSettings/dconf settings for the guest account (requires
+ # lightdm-ubuntu).
+ install -dm755 "${pkgdir}/etc/guest-session/gsettings/"
+ install -m644 "${srcdir}/10-unity.defaults" \
+ "${pkgdir}/etc/guest-session/gsettings/"
+
+ # Install LightDM configuration file to set the Unity greeter as the default
+ install -dm755 "${pkgdir}/usr/share/lightdm/lightdm.conf.d/"
+ install -m644 debian/50-unity-greeter.conf \
+ "${pkgdir}/usr/share/lightdm/lightdm.conf.d/"
+
+ # Install unity-gentoo's script for launcher the indicator services
+ install -m755 "${srcdir}/unity-greeter-indicators-start" "${pkgdir}/usr/bin/"
+
+ # Use language packs
+ rm -r "${pkgdir}/usr/share/locale/"
+}
diff --git a/logo.png b/logo.png
new file mode 100644
index 000000000000..e78ef0692b15
--- /dev/null
+++ b/logo.png
Binary files differ
diff --git a/spawn_indicators.patch b/spawn_indicators.patch
new file mode 100644
index 000000000000..0c0848f69383
--- /dev/null
+++ b/spawn_indicators.patch
@@ -0,0 +1,13 @@
+diff --git a/src/unity-greeter.vala b/src/unity-greeter.vala
+index 1f5b3d6..944751a 100644
+--- a/src/unity-greeter.vala
++++ b/src/unity-greeter.vala
+@@ -574,7 +574,7 @@ public class UnityGreeter
+ {
+ string[] argv;
+
+- Shell.parse_argv ("upstart --user --startup-event indicator-services-start", out argv);
++ Shell.parse_argv ("unity-greeter-indicators-start", out argv);
+ Process.spawn_async (null,
+ argv,
+ null,
diff --git a/unity-greeter-indicators-start b/unity-greeter-indicators-start
new file mode 100755
index 000000000000..f7233156195a
--- /dev/null
+++ b/unity-greeter-indicators-start
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+# Load each indicator in turn respecting unity-greeter's dconf setting #
+# This is necessary since starting indicators via dbus has been deprecated in favour of using 'upstart' init system services #
+for indicator in $(gsettings get com.canonical.unity-greeter indicators | \
+ sed "s/,/\\n/g; s/[]\[']//g" | grep com.canonical | \
+ sed "s/com.canonical.//g; s/\./-/g"); do
+ if [ -x /usr/lib/${indicator}/${indicator}-service ]; then
+ exec /usr/lib/${indicator}/${indicator}-service &
+ fi
+done
diff --git a/unity-greeter.install b/unity-greeter.install
new file mode 100644
index 000000000000..53857248038a
--- /dev/null
+++ b/unity-greeter.install
@@ -0,0 +1,11 @@
+post_install() {
+ glib-compile-schemas usr/share/glib-2.0/schemas/
+}
+
+post_upgrade() {
+ glib-compile-schemas usr/share/glib-2.0/schemas/
+}
+
+post_remove() {
+ glib-compile-schemas usr/share/glib-2.0/schemas/
+}