diff --git a/60-lightdm-gtk-greeter.conf b/60-lightdm-gtk-greeter.conf new file mode 100644 index 0000000..6711faf --- /dev/null +++ b/60-lightdm-gtk-greeter.conf @@ -0,0 +1,2 @@ +[Seat:*] +greeter-session=lightdm-gtk-greeter diff --git a/fix_arm_compile.patch b/fix_arm_compile.patch new file mode 100644 index 0000000..c590849 --- /dev/null +++ b/fix_arm_compile.patch @@ -0,0 +1,20 @@ +--- a/src/greeterbackground.c ++++ b/src/greeterbackground.c +@@ -1603,6 +1603,8 @@ + return surface; + } + ++#pragma GCC diagnostic push ++#pragma GCC diagnostic ignored "-Wcast-align" + /* Sets the "ESETROOT_PMAP_ID" property to later be used to free the pixmap */ + static void + set_root_pixmap_id(GdkScreen* screen, +@@ -1669,6 +1671,7 @@ + XChangeProperty (display, xroot, atoms[1], XA_PIXMAP, 32, + PropModeReplace, (unsigned char *) &xpixmap, 1); + } ++#pragma GCC diagnostic pop + + /** + * set_surface_as_root: + diff --git a/lightdm-gtk-greeter-1.8.5-add-cinnamon-badges.patch b/lightdm-gtk-greeter-1.8.5-add-cinnamon-badges.patch new file mode 100644 index 0000000..ad8c6b7 --- /dev/null +++ b/lightdm-gtk-greeter-1.8.5-add-cinnamon-badges.patch @@ -0,0 +1,158 @@ +diff -uprN lightdm-gtk-greeter-1.8.5-orig/data/badges/cinnamon2d_badge-symbolic.svg lightdm-gtk-greeter-1.8.5/data/badges/cinnamon2d_badge-symbolic.svg +--- lightdm-gtk-greeter-1.8.5-orig/data/badges/cinnamon2d_badge-symbolic.svg 1970-01-01 01:00:00.000000000 +0100 ++++ lightdm-gtk-greeter-1.8.5/data/badges/cinnamon2d_badge-symbolic.svg 2015-02-01 17:53:38.897011000 +0100 +@@ -0,0 +1,75 @@ ++ ++ ++ ++ ++ ++ ++ ++ image/svg+xml ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -uprN lightdm-gtk-greeter-1.8.5-orig/data/badges/cinnamon_badge-symbolic.svg lightdm-gtk-greeter-1.8.5/data/badges/cinnamon_badge-symbolic.svg +--- lightdm-gtk-greeter-1.8.5-orig/data/badges/cinnamon_badge-symbolic.svg 1970-01-01 01:00:00.000000000 +0100 ++++ lightdm-gtk-greeter-1.8.5/data/badges/cinnamon_badge-symbolic.svg 2015-02-01 17:53:38.897011000 +0100 +@@ -0,0 +1,75 @@ ++ ++ ++ ++ ++ ++ ++ ++ image/svg+xml ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ diff --git a/lightdm-gtk-greeter-2.0.7.tar.gz b/lightdm-gtk-greeter-2.0.7.tar.gz new file mode 100644 index 0000000..6782f22 Binary files /dev/null and b/lightdm-gtk-greeter-2.0.7.tar.gz differ diff --git a/lightdm-gtk.spec b/lightdm-gtk.spec new file mode 100644 index 0000000..28b2809 --- /dev/null +++ b/lightdm-gtk.spec @@ -0,0 +1,103 @@ +Name: lightdm-gtk +Version: 2.0.7 +Summary: LightDM GTK Greeter +Release: 1 +License: GPLv3+ +URL: https://launchpad.net/lightdm-gtk-greeter +Source0: %url/2.0/%{version}/+download/lightdm-gtk-greeter-%{version}.tar.gz + +Source1: 60-lightdm-gtk-greeter.conf +Patch0: fix_arm_compile.patch +Patch1: lightdm-gtk_add-language-button-to-layout.patch + +# tweak default config + +## upstreamable patches +# https://bugzilla.redhat.com/show_bug.cgi?id=1178498 +# (lookaside cache) +Patch2: lightdm-gtk-greeter-1.8.5-add-cinnamon-badges.patch + +BuildRequires: gettext +BuildRequires: intltool +# exo-csource +BuildRequires: exo-devel +BuildRequires: pkgconfig(liblightdm-gobject-1) +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: gobject-introspection-devel + +Obsoletes: lightdm-gtk2 < 1.8.5-15 + +Obsoletes: lightdm-gtk-common < 2.0 +Obsoletes: lightdm-gtk-greeter < 1.1.5-4 +Provides: lightdm-gtk-greeter = %{version}-%{release} +Provides: lightdm-greeter = 1.2 + +Requires: lightdm%{?_isa} + +# owner of HighContrast gtk/icon themes +Requires: gnome-themes-standard + +# Fix issue with lightdm-autologin-greeter pulled in basic-desktop netinstall. +# See: https://bugzilla.redhat.com/show_bug.cgi?id=1481192 +Supplements: (lightdm%{?_isa} and lightdm-autologin-greeter) + +%description +A LightDM greeter that uses the GTK3 toolkit. + + +%prep +%autosetup -n lightdm-gtk-greeter-%{version} -p1 + +%if 0%{?background:1} +sed -i.background -e "s|#background=.*|background=%{background}|" \ + data/lightdm-gtk-greeter.conf +%endif + + +%build +%configure \ + --disable-silent-rules \ + --disable-static \ + --disable-libindicator \ + --enable-at-spi-command="%{_libexecdir}/at-spi-bus-launcher --launch-immediately" \ + --enable-kill-on-sigterm + +%make_build + + +%install +%make_install + +install -m644 -p -D %{SOURCE1} \ + %{buildroot}%{_datadir}/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf + +%find_lang lightdm-gtk-greeter + +# create/own GREETER_DATA_DIR +mkdir -p %{buildroot}%{_datadir}/lightdm-gtk-greeter/ + +## unpackaged files +rm -fv %{buildroot}%{_docdir}/lightdm-gtk-greeter/sample-lightdm-gtk-greeter.css + + +%pre +%{_sbindir}/update-alternatives \ + --remove lightdm-greeter \ + %{_datadir}/xgreeters/lightdm-gtk-greeter.desktop 2> /dev/null ||: + + +%files -f lightdm-gtk-greeter.lang +%license COPYING +%doc ChangeLog NEWS README +%doc data/sample-lightdm-gtk-greeter.css +%config(noreplace) %{_sysconfdir}/lightdm/lightdm-gtk-greeter.conf +%{_sbindir}/lightdm-gtk-greeter +%{_datadir}/xgreeters/lightdm-gtk-greeter.desktop +%dir %{_datadir}/lightdm-gtk-greeter/ +%{_datadir}/icons/hicolor/scalable/places/*badge-symbolic.svg +%{_datadir}/lightdm/lightdm.conf.d/60-lightdm-gtk-greeter.conf + + +%changelog +* Fri Sep 25 2020 Luke Yue - 2.0.7-1 +- Initial package diff --git a/lightdm-gtk.yaml b/lightdm-gtk.yaml new file mode 100644 index 0000000..879ecc5 --- /dev/null +++ b/lightdm-gtk.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: Xubuntu/lightdm-gtk-greeter +tag_prefix: ^lightdm-gtk-greeter- +seperator: . diff --git a/lightdm-gtk_add-language-button-to-layout.patch b/lightdm-gtk_add-language-button-to-layout.patch new file mode 100644 index 0000000..131980d --- /dev/null +++ b/lightdm-gtk_add-language-button-to-layout.patch @@ -0,0 +1,14 @@ +diff -uprN lightdm-gtk-greeter-2.0.5-orig/src/lightdm-gtk-greeter.c lightdm-gtk-greeter-2.0.5/src/lightdm-gtk-greeter.c +--- lightdm-gtk-greeter-2.0.5-orig/src/lightdm-gtk-greeter.c 2018-03-15 01:23:15.000000000 +0100 ++++ lightdm-gtk-greeter-2.0.5/src/lightdm-gtk-greeter.c 2018-03-26 18:46:48.859193117 +0200 +@@ -99,8 +99,8 @@ static GtkButton *power_ok_button, *p + static GtkLabel *power_title, *power_text; + static GtkImage *power_icon; + +-static const gchar *DEFAULT_LAYOUT[] = {"~spacer", "~spacer", "~host", "~spacer", +- "~session", "~a11y", "~clock", "~power", NULL}; ++static const gchar *DEFAULT_LAYOUT[] = {"~host", "~spacer", "~clock", "~spacer", ++ "~session", "~language", "~a11y", "~power", NULL}; + + static const gchar *POWER_WINDOW_DATA_LOOP = "power-window-loop"; /* */ + static const gchar *POWER_WINDOW_DATA_RESPONSE = "power-window-response"; /* */