x11/lightdm: Remove port

Desktop-focused software not aligned with server objectives
This commit is contained in:
Bastard Operator from Hell 2025-06-01 22:42:44 +02:00
parent 1e8d80470d
commit 24e897893d
No known key found for this signature in database
GPG Key ID: BDB9B5A617C0BC91
26 changed files with 1 additions and 1175 deletions

View File

@ -10150,6 +10150,7 @@ x11/libmatekbd
x11/libsx x11/libsx
x11/libxfce4menu x11/libxfce4menu
x11/libxfce4windowing x11/libxfce4windowing
x11/lightdm
x11/lightdm-gtk-greeter x11/lightdm-gtk-greeter
x11/lightdm-gtk-greeter-settings x11/lightdm-gtk-greeter-settings
x11/lightdm-kde-greeter x11/lightdm-kde-greeter

View File

@ -96,7 +96,6 @@
SUBDIR += libxkbfile SUBDIR += libxkbfile
SUBDIR += libxklavier SUBDIR += libxklavier
SUBDIR += libxshmfence SUBDIR += libxshmfence
SUBDIR += lightdm
SUBDIR += lsw SUBDIR += lsw
SUBDIR += lxmenu-data SUBDIR += lxmenu-data
SUBDIR += ly SUBDIR += ly

View File

@ -1,94 +0,0 @@
PORTNAME= lightdm
PORTVERSION= 1.32.0
PORTREVISION= 6
CATEGORIES= x11
MASTER_SITES= https://github.com/canonical/${PORTNAME}/releases/download/${DISTVERSIONPREFIX}${DISTVERSION}/
MAINTAINER= desktop@FreeBSD.org
COMMENT= Lightweight Display Manager
WWW= https://github.com/canonical/lightdm
# library/bindings are LGPLv2 or LGPLv3, the rest GPLv3+
LICENSE= GPLv3 LGPL20 LGPL3
LICENSE_COMB= multi
LICENSE_FILE_GPLv3= ${WRKSRC}/COPYING.GPL3
LICENSE_FILE_LGPL20= ${WRKSRC}/COPYING.LGPL2
LICENSE_FILE_LGPL3= ${WRKSRC}/COPYING.LGPL3
BUILD_DEPENDS= itstool:textproc/itstool
LIB_DEPENDS= libgcrypt.so:security/libgcrypt \
libxklavier.so:x11/libxklavier
RUN_DEPENDS= accountsservice>=0:sysutils/accountsservice \
ck-launch-session:sysutils/consolekit2
USES= autoreconf compiler:c++11-lang cpe gettext-tools gmake gnome \
libtool localbase pathfix pkgconfig tar:xz xorg
CPE_VENDOR= ${PORTNAME}_project
USE_CXXSTD= c++11
USE_GNOME= glib20 intltool
USE_LDCONFIG= yes
USE_RC_SUBR= lightdm
USE_XORG= x11 xcb xdmcp
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
# tests causes PAM errors
CONFIGURE_ARGS= --disable-libaudit \
--disable-tests
INSTALL_TARGET= install-strip
LIBS= -lutil
CONFLICTS_INSTALL= sddm
PORTSCOUT= limitw:1,even
SUB_FILES= Xsession
USERS= lightdm
GROUPS= lightdm video
OPTIONS_DEFINE= DOCS NLS QT5 VAPI
OPTIONS_DEFAULT= VAPI
OPTIONS_SUB= yes
DOCS_BUILD_DEPENDS= ${LOCALBASE}/share/aclocal/yelp.m4:textproc/yelp-tools \
gtkdoc-check:textproc/gtk-doc
DOCS_CONFIGURE_ON= --enable-gtk-doc
NLS_USES= gettext-runtime
NLS_CONFIGURE_ENABLE= nls
QT5_USES= qt:5
QT5_USE= QT=buildtools,core,dbus,gui
QT5_CONFIGURE_ENABLE= liblightdm-qt5
VAPI_USES= vala:build
VAPI_USE= GNOME=introspection:build
VAPI_CONFIGURE_ENABLE= vala
post-patch:
@${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},' \
${WRKSRC}/data/lightdm.conf
post-patch-DOCS-off:
@${REINPLACE_CMD} -e '/^GTK_DOC_CHECK/d' \
-e '/^YELP_HELP_INIT/d' \
-e '/^doc\/Makefile/d' \
-e '/^help\/Makefile/d' \
${WRKSRC}/configure.ac
@${REINPLACE_CMD} -e '/^SUBDIRS/s/ doc help//' \
${WRKSRC}/Makefile.am
post-install:
${RM} -r ${STAGEDIR}${PREFIX}/etc/init
${INSTALL_SCRIPT} ${WRKDIR}/Xsession ${STAGEDIR}${ETCDIR}
${MV} ${STAGEDIR}${ETCDIR}/keys.conf ${STAGEDIR}${ETCDIR}/keys.conf.sample
${MV} ${STAGEDIR}${ETCDIR}/lightdm.conf ${STAGEDIR}${ETCDIR}/lightdm.conf.sample
${MV} ${STAGEDIR}${ETCDIR}/users.conf ${STAGEDIR}${ETCDIR}/users.conf.sample
${MV} ${STAGEDIR}${PREFIX}/etc/pam.d/lightdm ${STAGEDIR}${PREFIX}/etc/pam.d/lightdm.sample
${MV} ${STAGEDIR}${PREFIX}/etc/pam.d/lightdm-autologin ${STAGEDIR}${PREFIX}/etc/pam.d/lightdm-autologin.sample
${MV} ${STAGEDIR}${PREFIX}/etc/pam.d/lightdm-greeter ${STAGEDIR}${PREFIX}/etc/pam.d/lightdm-greeter.sample
${MKDIR} ${STAGEDIR}/var/cache/lightdm \
${STAGEDIR}/var/log/lightdm \
${STAGEDIR}/var/run/lightdm
${MKDIR} ${STAGEDIR}${PREFIX}/share/xgreeters
@(cd ${STAGEDIR}${PREFIX}/share/xgreeters && \
${LN} -sf lightdm-gtk-greeter.desktop default.desktop)
.include <bsd.port.mk>

View File

@ -1,3 +0,0 @@
TIMESTAMP = 1660386883
SHA256 (lightdm-1.32.0.tar.xz) = 12f5ab432748f0387c7cf8b94430495a558a035a4f8465e5181af6faff133e4b
SIZE (lightdm-1.32.0.tar.xz) = 518168

View File

@ -1,68 +0,0 @@
#!/bin/sh
# LightDM wrapper to run around X sessions.
echo "Running X session wrapper"
# Load profile
for file in "%%LOCALBASE%%/etc/profile" "$HOME/.profile" "%%LOCALBASE%%/etc/xprofile" "$HOME/.xprofile"; do
if [ -f "$file" ]; then
echo "Loading profile from $file";
. "$file"
fi
done
# Load resources
for file in "%%LOCALBASE%%/etc/X11/Xresources" "%%LOCALBASE%%/etc/X11/.Xresources" "%%LOCALBASE%%/etc/X11/xinit/Xresources" "%%LOCALBASE%%/etc/X11/xinit/.Xresources" "$HOME/.Xresources"; do
if [ -f "$file" ]; then
echo "Loading resource: $file"
xrdb -merge "$file"
fi
done
# Load keymaps
for file in "%%LOCALBASE%%/etc/X11/Xkbmap" "%%LOCALBASE%%/etc/X11/.Xkbmap" "%%LOCALBASE%%/etc/X11/xinit/Xkbmap" "%%LOCALBASE%%/etc/X11/xinit/.Xkbmap" "$HOME/.Xkbmap"; do
if [ -f "$file" ]; then
echo "Loading keymap: $file"
setxkbmap `cat "$file"`
XKB_IN_USE=yes
fi
done
# Load xmodmap if not using XKB
if [ -z "$XKB_IN_USE" ]; then
for file in "%%LOCALBASE%%/etc/X11/Xmodmap" "%%LOCALBASE%%/etc/X11/.Xmodmap" "%%LOCALBASE%%/etc/X11/xinit/Xmodmap" "%%LOCALBASE%%/etc/X11/xinit/.Xmodmap" "$HOME/.Xmodmap"; do
if [ -f "$file" ]; then
echo "Loading modmap: $file"
xmodmap "$file"
fi
done
fi
unset XKB_IN_USE
# Run all system xinitrc shell scripts
xinitdir="%%LOCALBASE%%/etc/X11/xinit/xinitrc.d"
if [ -d "$xinitdir" ]; then
for script in $xinitdir/*; do
echo "Loading xinit script $script"
if [ -x "$script" -a ! -d "$script" ]; then
. "$script"
fi
done
fi
# Load Xsession scripts
xsessiondir="%%LOCALBASE%%/share/xsessions"
if [ -d "$xsessiondir" ]; then
for file in `ls $xsessiondir`; do
script="$xsessiondir/$file"
echo "Loading X session script $script"
if [ -r "$script" -a -f "$script" ] && expr "$file" : '^[[:alnum:]_-]\+$' > /dev/null; then
. "$script"
fi
done
fi
echo "X session wrapper complete, running session $@"
exec $@

View File

@ -1,28 +0,0 @@
#!/bin/sh
# PROVIDE: lightdm
# REQUIRE: LOGIN cleanvar moused syscons dbus
# KEYWORD: shutdown
#
# Add the following lines to /etc/rc.conf to enable the LightDM:
#
# lightdm_enable="YES"
#
. /etc/rc.subr
export PATH=/bin:/sbin:/usr/bin:/usr/sbin:%%LOCALBASE%%/bin:%%LOCALBASE%%/sbin
name="lightdm"
rcvar=lightdm_enable
load_rc_config ${name}
: ${lightdm_enable:="NO"}
command="/usr/sbin/daemon"
procname="%%PREFIX%%/sbin/${name}"
pidfile="/var/run/${name}.pid"
command_args="-f ${procname} --pid-file=${pidfile}"
run_rc_command "$1"

View File

@ -1,10 +0,0 @@
--- common/configuration.c.orig 2021-02-15 22:00:52 UTC
+++ common/configuration.c
@@ -346,6 +346,7 @@ config_init (Configuration *config)
g_hash_table_insert (config->priv->lightdm_keys, "greeters-directory", GINT_TO_POINTER (KEY_SUPPORTED));
g_hash_table_insert (config->priv->lightdm_keys, "backup-logs", GINT_TO_POINTER (KEY_SUPPORTED));
g_hash_table_insert (config->priv->lightdm_keys, "dbus-service", GINT_TO_POINTER (KEY_SUPPORTED));
+ g_hash_table_insert (config->priv->lightdm_keys, "smart-xsession-errors", GINT_TO_POINTER (KEY_SUPPORTED));
g_hash_table_insert (config->priv->lightdm_keys, "logind-load-seats", GINT_TO_POINTER (KEY_DEPRECATED));
g_hash_table_insert (config->priv->seat_keys, "type", GINT_TO_POINTER (KEY_SUPPORTED));

View File

@ -1,11 +0,0 @@
--- configure.ac.orig 2022-07-18 03:42:33 UTC
+++ configure.ac
@@ -48,7 +48,7 @@ AC_CHECK_HEADERS(gcrypt.h, [], AC_MSG_ERROR(libgcrypt
AC_CHECK_HEADERS(gcrypt.h, [], AC_MSG_ERROR(libgcrypt not found))
-AC_CHECK_FUNCS(setresgid setresuid clearenv __getgroups_chk)
+AC_CHECK_FUNCS(setresgid setresuid setusercontext clearenv __getgroups_chk)
PKG_CHECK_MODULES(LIGHTDM, [
glib-2.0 >= 2.44

View File

@ -1,29 +0,0 @@
--- data/Makefile.am.orig 2022-05-01 23:00:26 UTC
+++ data/Makefile.am
@@ -15,18 +15,6 @@ dist_completions_DATA = bash-completion/dm-tool bash-c
completionsdir = $(datadir)/bash-completion/completions
dist_completions_DATA = bash-completion/dm-tool bash-completion/lightdm
-lightdm-guest-session: $(srcdir)/apparmor/lightdm-guest-session.in
- sed -e 's|@libexecdir[@]|$(libexecdir)|g' $< >$@
-
-apparmor_profiledir = $(sysconfdir)/apparmor.d
-apparmor_profile_DATA = \
- lightdm-guest-session
-
-apparmor_profile_abstractionsdir = $(apparmor_profiledir)/abstractions
-dist_apparmor_profile_abstractions_DATA = \
- apparmor/abstractions/lightdm \
- apparmor/abstractions/lightdm_chromium-browser
-
accountsservice_interface = org.freedesktop.DisplayManager.AccountsService.xml
dbusdir = $(datadir)/dbus-1/interfaces
@@ -46,5 +34,5 @@ dist_man1_MANS = dm-tool.1 \
dist_man1_MANS = dm-tool.1 \
lightdm.1
-EXTRA_DIST = apparmor/lightdm-guest-session.in $(polkit_in_files)
-CLEANFILES = lightdm-guest-session $(polkit_DATA)
+EXTRA_DIST = $(polkit_in_files)
+CLEANFILES = $(polkit_DATA)

View File

@ -1,147 +0,0 @@
--- data/Makefile.in.orig 2022-07-18 03:38:31 UTC
+++ data/Makefile.in
@@ -99,7 +99,6 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/gtk-doc.m4 \
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am \
- $(dist_apparmor_profile_abstractions_DATA) \
$(dist_completions_DATA) $(dist_conf_DATA) $(dist_dbus_DATA) \
$(dist_dbusconf_DATA) $(dist_init_DATA) $(dist_pam_DATA) \
$(am__DIST_COMMON)
@@ -155,16 +154,13 @@ am__uninstall_files_from_dir = { \
}
man1dir = $(mandir)/man1
am__installdirs = "$(DESTDIR)$(man1dir)" \
- "$(DESTDIR)$(apparmor_profiledir)" \
- "$(DESTDIR)$(apparmor_profile_abstractionsdir)" \
"$(DESTDIR)$(completionsdir)" "$(DESTDIR)$(confdir)" \
"$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbusconfdir)" \
"$(DESTDIR)$(initdir)" "$(DESTDIR)$(pamdir)" \
"$(DESTDIR)$(polkitdir)"
NROFF = nroff
MANS = $(dist_man1_MANS)
-DATA = $(apparmor_profile_DATA) \
- $(dist_apparmor_profile_abstractions_DATA) \
+DATA = \
$(dist_completions_DATA) $(dist_conf_DATA) $(dist_dbus_DATA) \
$(dist_dbusconf_DATA) $(dist_init_DATA) $(dist_pam_DATA) \
$(polkit_DATA)
@@ -375,15 +371,7 @@ dist_pam_DATA = pam/lightdm \
completionsdir = $(datadir)/bash-completion/completions
dist_completions_DATA = bash-completion/dm-tool bash-completion/lightdm
-apparmor_profiledir = $(sysconfdir)/apparmor.d
-apparmor_profile_DATA = \
- lightdm-guest-session
-apparmor_profile_abstractionsdir = $(apparmor_profiledir)/abstractions
-dist_apparmor_profile_abstractions_DATA = \
- apparmor/abstractions/lightdm \
- apparmor/abstractions/lightdm_chromium-browser
-
accountsservice_interface = org.freedesktop.DisplayManager.AccountsService.xml
dbusdir = $(datadir)/dbus-1/interfaces
dist_dbus_DATA = \
@@ -476,48 +464,6 @@ uninstall-man1:
} | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \
-e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir)
-install-apparmor_profileDATA: $(apparmor_profile_DATA)
- @$(NORMAL_INSTALL)
- @list='$(apparmor_profile_DATA)'; test -n "$(apparmor_profiledir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(apparmor_profiledir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(apparmor_profiledir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(apparmor_profiledir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(apparmor_profiledir)" || exit $$?; \
- done
-
-uninstall-apparmor_profileDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(apparmor_profile_DATA)'; test -n "$(apparmor_profiledir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(apparmor_profiledir)'; $(am__uninstall_files_from_dir)
-install-dist_apparmor_profile_abstractionsDATA: $(dist_apparmor_profile_abstractions_DATA)
- @$(NORMAL_INSTALL)
- @list='$(dist_apparmor_profile_abstractions_DATA)'; test -n "$(apparmor_profile_abstractionsdir)" || list=; \
- if test -n "$$list"; then \
- echo " $(MKDIR_P) '$(DESTDIR)$(apparmor_profile_abstractionsdir)'"; \
- $(MKDIR_P) "$(DESTDIR)$(apparmor_profile_abstractionsdir)" || exit 1; \
- fi; \
- for p in $$list; do \
- if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
- echo "$$d$$p"; \
- done | $(am__base_list) | \
- while read files; do \
- echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(apparmor_profile_abstractionsdir)'"; \
- $(INSTALL_DATA) $$files "$(DESTDIR)$(apparmor_profile_abstractionsdir)" || exit $$?; \
- done
-
-uninstall-dist_apparmor_profile_abstractionsDATA:
- @$(NORMAL_UNINSTALL)
- @list='$(dist_apparmor_profile_abstractions_DATA)'; test -n "$(apparmor_profile_abstractionsdir)" || list=; \
- files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
- dir='$(DESTDIR)$(apparmor_profile_abstractionsdir)'; $(am__uninstall_files_from_dir)
install-dist_completionsDATA: $(dist_completions_DATA)
@$(NORMAL_INSTALL)
@list='$(dist_completions_DATA)'; test -n "$(completionsdir)" || list=; \
@@ -708,7 +654,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(MANS) $(DATA)
installdirs:
- for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(apparmor_profiledir)" "$(DESTDIR)$(apparmor_profile_abstractionsdir)" "$(DESTDIR)$(completionsdir)" "$(DESTDIR)$(confdir)" "$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbusconfdir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(pamdir)" "$(DESTDIR)$(polkitdir)"; do \
+ for dir in "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(completionsdir)" "$(DESTDIR)$(confdir)" "$(DESTDIR)$(dbusdir)" "$(DESTDIR)$(dbusconfdir)" "$(DESTDIR)$(initdir)" "$(DESTDIR)$(pamdir)" "$(DESTDIR)$(polkitdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-am
@@ -762,9 +708,8 @@ info: info-am
info-am:
-install-data-am: install-apparmor_profileDATA \
- install-dist_apparmor_profile_abstractionsDATA \
- install-dist_completionsDATA install-dist_confDATA \
+install-data-am: install-dist_completionsDATA \
+ install-dist_confDATA \
install-dist_dbusDATA install-dist_dbusconfDATA \
install-dist_initDATA install-dist_pamDATA install-man \
install-polkitDATA
@@ -812,9 +757,8 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-apparmor_profileDATA \
- uninstall-dist_apparmor_profile_abstractionsDATA \
- uninstall-dist_completionsDATA uninstall-dist_confDATA \
+uninstall-am: uninstall-dist_completionsDATA \
+ uninstall-dist_confDATA \
uninstall-dist_dbusDATA uninstall-dist_dbusconfDATA \
uninstall-dist_initDATA uninstall-dist_pamDATA uninstall-man \
uninstall-polkitDATA
@@ -826,8 +770,8 @@ uninstall-man: uninstall-man1
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
cscopelist-am ctags-am distclean distclean-generic \
distclean-libtool distdir dvi dvi-am html html-am info info-am \
- install install-am install-apparmor_profileDATA install-data \
- install-data-am install-dist_apparmor_profile_abstractionsDATA \
+ install install-am install-data \
+ install-data-am \
install-dist_completionsDATA install-dist_confDATA \
install-dist_dbusDATA install-dist_dbusconfDATA \
install-dist_initDATA install-dist_pamDATA install-dvi \
@@ -838,8 +782,7 @@ uninstall-man: uninstall-man1
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
- uninstall-am uninstall-apparmor_profileDATA \
- uninstall-dist_apparmor_profile_abstractionsDATA \
+ uninstall-am \
uninstall-dist_completionsDATA uninstall-dist_confDATA \
uninstall-dist_dbusDATA uninstall-dist_dbusconfDATA \
uninstall-dist_initDATA uninstall-dist_pamDATA uninstall-man \

View File

@ -1,37 +0,0 @@
--- data/lightdm.conf.orig 2022-07-04 03:28:22 UTC
+++ data/lightdm.conf
@@ -17,13 +17,15 @@
# greeters-directory = Directory to find greeters
# backup-logs = True to move add a .old suffix to old log files when opening new ones
# dbus-service = True if LightDM provides a D-Bus service to control it
+# smart-xsession-errors = True to force .xsesion.errors file to be positioned according to XDG standards
+# Default False, put it in ~/.xsession-errors
#
[LightDM]
#start-default-seat=true
#greeter-user=lightdm
#minimum-display-number=0
-#minimum-vt=7
-#lock-memory=true
+minimum-vt=9
+lock-memory=false
#user-authority-in-system-dir=false
#guest-account-script=guest-account
#logind-check-graphical=true
@@ -35,6 +37,7 @@
#greeters-directory=$XDG_DATA_DIRS/lightdm/greeters:$XDG_DATA_DIRS/xgreeters
#backup-logs=true
#dbus-service=true
+#smart-xsession-errors=false
#
# Seat configuration
@@ -108,7 +111,7 @@
#allow-user-switching=true
#allow-guest=true
#guest-session=
-#session-wrapper=lightdm-session
+session-wrapper=%%PREFIX%%/etc/lightdm/Xsession
#greeter-wrapper=
#guest-wrapper=
#display-setup-script=

View File

@ -1,37 +0,0 @@
--- data/pam/lightdm.orig 2015-08-09 23:30:00 UTC
+++ data/pam/lightdm
@@ -1,20 +1,18 @@
-#%PAM-1.0
+#
+# PAM configuration for the "lightdm" service
+#
-# Block login if they are globally disabled
-auth required pam_nologin.so
+# auth
+auth sufficient pam_self.so no_warn
+auth include system
-# Load environment from /etc/environment and ~/.pam_environment
-auth required pam_env.so
+# account
+account requisite pam_securetty.so
+account required pam_nologin.so
+account include system
-# Use /etc/passwd and /etc/shadow for passwords
-auth required pam_unix.so
+# session
+session include system
-# Check account is active, change password if required
-account required pam_unix.so
-
-# Allow password to be changed
-password required pam_unix.so
-
-# Setup session
-session required pam_unix.so
-session optional pam_systemd.so
+# password
+password include system

View File

@ -1,29 +0,0 @@
--- data/pam/lightdm-autologin.orig 2022-07-04 03:28:22 UTC
+++ data/pam/lightdm-autologin
@@ -1,22 +1,18 @@
#%PAM-1.0
-# Block login if shell in nologin or false
-auth required pam_succeed_if.so shell notin /sbin/nologin:/usr/sbin/nologin:/bin/false:/usr/bin/false
-
# Block login if they are globally disabled
-auth required pam_nologin.so
+account required pam_nologin.so
# Load environment from /etc/environment and ~/.pam_environment
-auth required pam_env.so
+#auth required pam_env.so
# Allow access without authentication
auth required pam_permit.so
# Stop autologin if account requires action
-account required pam_unix.so
+account required pam_unix.so no_warn try_first_pass
# Can't change password
password required pam_deny.so
# Setup session
-session required pam_unix.so
-session optional pam_systemd.so
+session required pam_permit.so

View File

@ -1,18 +0,0 @@
--- data/pam/lightdm-greeter.orig 2015-08-09 23:30:00 UTC
+++ data/pam/lightdm-greeter
@@ -1,7 +1,7 @@
#%PAM-1.0
# Load environment from /etc/environment and ~/.pam_environment
-auth required pam_env.so
+#auth required pam_env.so
# Always let the greeter start without authentication
auth required pam_permit.so
@@ -13,5 +13,4 @@ account required pam_permit.so
password required pam_deny.so
# Setup session
-session required pam_unix.so
-session optional pam_systemd.so
+session required pam_permit.so

View File

@ -1,10 +0,0 @@
--- data/users.conf.orig 2019-08-04 22:29:55 UTC
+++ data/users.conf
@@ -9,6 +9,6 @@
# hidden-shells = Shells that indicate a user cannot login
#
[UserList]
-minimum-uid=500
+minimum-uid=1001
hidden-users=nobody nobody4 noaccess
hidden-shells=/bin/false /usr/sbin/nologin /sbin/nologin

View File

@ -1,82 +0,0 @@
https://bugs.launchpad.net/lightdm/+bug/790186
--- liblightdm-gobject/language.c.orig 2021-02-15 22:06:28 UTC
+++ liblightdm-gobject/language.c
@@ -55,6 +55,12 @@ static GList *languages = NULL;
static gboolean have_languages = FALSE;
static GList *languages = NULL;
+static gboolean
+is_utf8 (const gchar *code)
+{
+ return g_strrstr (code, ".utf8") || g_strrstr (code, ".UTF-8");
+}
+
static void
update_languages (void)
{
@@ -81,7 +87,7 @@ update_languages (void)
continue;
/* Ignore the non-interesting languages */
- if (strcmp (command, "locale -a") == 0 && !g_strrstr (code, ".utf8"))
+ if (strcmp (command, "locale -a") == 0 && !is_utf8 (code))
continue;
LightDMLanguage *language = g_object_new (LIGHTDM_TYPE_LANGUAGE, "code", code, NULL);
@@ -92,12 +98,6 @@ update_languages (void)
have_languages = TRUE;
}
-static gboolean
-is_utf8 (const gchar *code)
-{
- return g_strrstr (code, ".utf8") || g_strrstr (code, ".UTF-8");
-}
-
/* Get a valid locale name that can be passed to setlocale(), so we always can use nl_langinfo() to get language and country names. */
static gchar *
get_locale_name (const gchar *code)
@@ -129,7 +129,7 @@ get_locale_name (const gchar *code)
for (gint i = 0; avail_locales[i]; i++)
{
const gchar *loc = avail_locales[i];
- if (!g_strrstr (loc, ".utf8"))
+ if (!is_utf8 (loc))
continue;
if (g_str_has_prefix (loc, language))
return g_strdup (loc);
@@ -214,10 +214,16 @@ lightdm_language_get_name (LightDMLanguage *language)
if (locale)
{
const gchar *current = setlocale (LC_ALL, NULL);
+#ifdef LC_IDENTIFICATION
setlocale (LC_IDENTIFICATION, locale);
+#endif
setlocale (LC_MESSAGES, "");
+#ifdef _NL_IDENTIFICATION_LANGUAGE
const gchar *language_en = nl_langinfo (_NL_IDENTIFICATION_LANGUAGE);
+#else
+ const gchar *language_en = "Unknown";
+#endif
if (language_en && strlen (language_en) > 0)
priv->name = g_strdup (dgettext ("iso_639_3", language_en));
@@ -254,10 +260,16 @@ lightdm_language_get_territory (LightDMLanguage *langu
if (locale)
{
gchar *current = setlocale (LC_ALL, NULL);
+#ifdef LC_IDENTIFICATION
setlocale (LC_IDENTIFICATION, locale);
+#endif
setlocale (LC_MESSAGES, "");
+#ifdef _NL_IDENTIFICATION_TERRITORY
gchar *country_en = nl_langinfo (_NL_IDENTIFICATION_TERRITORY);
+#else
+ gchar *country_en = "Unknown";
+#endif
if (country_en && strlen (country_en) > 0 && g_strcmp0 (country_en, "ISO") != 0)
priv->territory = g_strdup (dgettext ("iso_3166", country_en));

View File

@ -1,20 +0,0 @@
--- src/lightdm.c.orig 2022-07-10 21:17:23 UTC
+++ src/lightdm.c
@@ -758,6 +758,8 @@ main (int argc, char **argv)
config_set_boolean (config_get_instance (), "LightDM", "backup-logs", TRUE);
if (!config_has_key (config_get_instance (), "LightDM", "dbus-service"))
config_set_boolean (config_get_instance (), "LightDM", "dbus-service", TRUE);
+ if (!config_has_key (config_get_instance (), "LightDM", "smart-xsession-errors"))
+ config_set_boolean (config_get_instance (), "LightDM", "smart-xsession-errors", FALSE);
if (!config_has_key (config_get_instance (), "Seat:*", "type"))
config_set_string (config_get_instance (), "Seat:*", "type", "local");
if (!config_has_key (config_get_instance (), "Seat:*", "pam-service"))
@@ -813,7 +815,7 @@ main (int argc, char **argv)
if (!config_has_key (config_get_instance (), "XDMCPServer", "hostname"))
config_set_string (config_get_instance (), "XDMCPServer", "hostname", g_get_host_name ());
if (!config_has_key (config_get_instance (), "LightDM", "logind-check-graphical"))
- config_set_boolean (config_get_instance (), "LightDM", "logind-check-graphical", TRUE);
+ config_set_boolean (config_get_instance (), "LightDM", "logind-check-graphical", FALSE);
/* Override defaults */
if (log_dir)

View File

@ -1,131 +0,0 @@
--- src/session-child.c.orig 2021-04-12 04:52:50 UTC
+++ src/session-child.c
@@ -13,9 +13,11 @@
#include <grp.h>
#include <glib.h>
#include <security/pam_appl.h>
-#include <utmp.h>
#include <utmpx.h>
#include <sys/mman.h>
+#if HAVE_SETUSERCONTEXT
+#include <login_cap.h>
+#endif
#if HAVE_LIBAUDIT
#include <libaudit.h>
@@ -193,28 +195,6 @@ read_xauth (void)
return x_authority_new (x_authority_family, x_authority_address, x_authority_address_length, x_authority_number, x_authority_name, x_authority_data, x_authority_data_length);
}
-/* GNU provides this but we can't rely on that so let's make our own version */
-static void
-updwtmpx (const gchar *wtmp_file, struct utmpx *ut)
-{
- struct utmp u;
- memset (&u, 0, sizeof (u));
- u.ut_type = ut->ut_type;
- u.ut_pid = ut->ut_pid;
- if (ut->ut_line)
- strncpy (u.ut_line, ut->ut_line, sizeof (u.ut_line));
- if (ut->ut_id)
- strncpy (u.ut_id, ut->ut_id, sizeof (u.ut_id));
- if (ut->ut_user)
- strncpy (u.ut_user, ut->ut_user, sizeof (u.ut_user));
- if (ut->ut_host)
- strncpy (u.ut_host, ut->ut_host, sizeof (u.ut_host));
- u.ut_tv.tv_sec = ut->ut_tv.tv_sec;
- u.ut_tv.tv_usec = ut->ut_tv.tv_usec;
-
- updwtmp (wtmp_file, &u);
-}
-
#if HAVE_LIBAUDIT
static void
audit_event (int type, const gchar *username, uid_t uid, const gchar *remote_host_name, const gchar *tty, gboolean success)
@@ -364,7 +344,6 @@ session_child_run (int argc, char **argv)
ut.ut_tv.tv_sec = tv.tv_sec;
ut.ut_tv.tv_usec = tv.tv_usec;
- updwtmpx ("/var/log/btmp", &ut);
#if HAVE_LIBAUDIT
audit_event (AUDIT_USER_LOGIN, username, -1, remote_host_name, tty, FALSE);
@@ -394,7 +373,7 @@ session_child_run (int argc, char **argv)
else
{
/* Set POSIX variables */
- pam_putenv (pam_handle, "PATH=/usr/local/bin:/usr/bin:/bin");
+ pam_putenv (pam_handle, "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin");
pam_putenv (pam_handle, g_strdup_printf ("USER=%s", username));
pam_putenv (pam_handle, g_strdup_printf ("LOGNAME=%s", username));
pam_putenv (pam_handle, g_strdup_printf ("HOME=%s", user_get_home_directory (user)));
@@ -636,7 +615,29 @@ session_child_run (int argc, char **argv)
/* Make this process its own session */
if (setsid () < 0)
_exit (errno);
-
+#if HAVE_SETUSERCONTEXT
+ /* Setup user context
+ * Reset the current environment to what is in the PAM context,
+ * then setusercontext will add to it as necessary as there is no
+ * option for setusercontext to add to a PAM context.
+ */
+ extern char **environ;
+ environ = pam_getenvlist (pam_handle);
+ struct passwd* pwd = getpwnam (username);
+ if (pwd) {
+ if (setusercontext (NULL, pwd, pwd->pw_uid, LOGIN_SETALL) < 0) {
+ int _errno = errno;
+ fprintf(stderr, "setusercontext for \"%s\" (%d) failed: %s\n",
+ username, user_get_uid (user), strerror (errno));
+ _exit (_errno);
+ }
+ endpwent();
+ } else {
+ fprintf (stderr, "getpwname for \"%s\" failed: %s\n",
+ username, strerror (errno));
+ _exit (ENOENT);
+ }
+#else
/* Change to this user */
if (getuid () == 0)
{
@@ -646,6 +647,7 @@ session_child_run (int argc, char **argv)
if (setuid (uid) != 0)
_exit (errno);
}
+#endif
/* Change working directory */
/* NOTE: This must be done after the permissions are changed because NFS filesystems can
@@ -668,7 +670,13 @@ session_child_run (int argc, char **argv)
signal (SIGPIPE, SIG_DFL);
/* Run the command */
- execve (command_argv[0], command_argv, pam_getenvlist (pam_handle));
+ execve (command_argv[0], command_argv,
+#if HAVE_SETUSERCONTEXT
+ environ
+#else
+ pam_getenvlist (pam_handle)
+#endif
+ );
_exit (EXIT_FAILURE);
}
@@ -709,7 +717,6 @@ session_child_run (int argc, char **argv)
if (!pututxline (&ut))
g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
endutxent ();
- updwtmpx ("/var/log/wtmp", &ut);
#if HAVE_LIBAUDIT
audit_event (AUDIT_USER_LOGIN, username, uid, remote_host_name, tty, TRUE);
@@ -750,7 +757,6 @@ session_child_run (int argc, char **argv)
if (!pututxline (&ut))
g_printerr ("Failed to write utmpx: %s\n", strerror (errno));
endutxent ();
- updwtmpx ("/var/log/wtmp", &ut);
#if HAVE_LIBAUDIT
audit_event (AUDIT_USER_LOGOUT, username, uid, remote_host_name, tty, TRUE);

View File

@ -1,21 +0,0 @@
--- src/session.c.orig 2021-04-12 04:52:50 UTC
+++ src/session.c
@@ -981,7 +981,17 @@ session_init (Session *session)
{
SessionPrivate *priv = session_get_instance_private (session);
- priv->log_filename = g_strdup (".xsession-errors");
+ if(config_get_boolean (config_get_instance (), "LightDM", "smart-xsession-errors")) {
+ if (g_getenv ("XDG_STATE_HOME")) {
+ priv->log_filename = g_build_filename (g_getenv ("XDG_STATE_HOME"), ".xsession-errors", NULL);
+ } else if (g_getenv ("XDG_CACHE_HOME")) {
+ priv->log_filename = g_build_filename (g_getenv ("XDG_CACHE_HOME"), ".xsession-errors", NULL);
+ } else {
+ priv->log_filename = g_build_filename (".cache", ".xsession-errors", NULL);
+ }
+ } else {
+ priv->log_filename = g_strdup (".xsession-errors");
+ }
priv->log_mode = LOG_MODE_BACKUP_AND_TRUNCATE;
priv->to_child_input = -1;
priv->from_child_output = -1;

View File

@ -1,99 +0,0 @@
--- src/vt.c.orig 2019-08-04 22:29:55 UTC
+++ src/vt.c
@@ -16,6 +16,9 @@
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/ioctl.h>
+#ifdef __FreeBSD__
+#include <sys/consio.h>
+#endif
#ifdef __linux__
#include <linux/vt.h>
#endif
@@ -23,31 +26,56 @@
#include "vt.h"
#include "configuration.h"
+#if defined(__FreeBSD__)
+#define CONSOLE "/dev/console"
+#else
+#define CONSOLE "/dev/tty0"
+#endif
+
static GList *used_vts = NULL;
static gint
open_tty (void)
{
- int fd = g_open ("/dev/tty0", O_RDONLY | O_NOCTTY, 0);
+ int fd = g_open (CONSOLE, O_RDONLY | O_NOCTTY, 0);
if (fd < 0)
- g_warning ("Error opening /dev/tty0: %s", strerror (errno));
+ g_warning ("Error opening " CONSOLE ": %s", strerror (errno));
return fd;
}
gboolean
vt_can_multi_seat (void)
{
+#if defined(__linux__)
/* Quick check to see if we can multi seat. This is intentionally the
same check logind does, just without actually reading from the files.
Existence will prove whether we have CONFIG_VT built into the kernel. */
return access ("/dev/tty0", F_OK) == 0 &&
access ("/sys/class/tty/tty0/active", F_OK) == 0;
+#else
+ return FALSE;
+#endif
}
gint
vt_get_active (void)
{
-#ifdef __linux__
+#if defined(__FreeBSD__)
+ int active, res;
+ int tty_fd = open_tty ();
+
+ if (tty_fd >= 0)
+ {
+ res = ioctl (tty_fd, VT_GETACTIVE, &active);
+ close (tty_fd);
+ if (res == 0)
+ return active;
+
+ g_warning ("Error using VT_GETACTIVE on " CONSOLE ": %s", strerror (errno));
+ }
+
+ return -1;
+#elif defined(__linux__)
/* Pretend always active */
if (getuid () != 0)
return 1;
@@ -73,7 +101,7 @@ vt_set_active (gint number)
void
vt_set_active (gint number)
{
-#ifdef __linux__
+#if defined(__FreeBSD__) || defined(__linux__)
g_debug ("Activating VT %d", number);
/* Pretend always active */
@@ -86,7 +114,7 @@ vt_set_active (gint number)
int n = number;
if (ioctl (tty_fd, VT_ACTIVATE, n) < 0)
{
- g_warning ("Error using VT_ACTIVATE %d on /dev/tty0: %s", n, strerror (errno));
+ g_warning ("Error using VT_ACTIVATE %d on " CONSOLE ": %s", n, strerror (errno));
close (tty_fd);
return;
}
@@ -101,7 +129,7 @@ vt_set_active (gint number)
{
if (errno == EINTR)
continue;
- g_warning ("Error using VT_WAITACTIVE %d on /dev/tty0: %s", n, strerror (errno));
+ g_warning ("Error using VT_WAITACTIVE %d on " CONSOLE ": %s", n, strerror (errno));
}
break;
}

View File

@ -1,24 +0,0 @@
--- src/x-server-local.c.orig 2018-08-30 00:35:31 UTC
+++ src/x-server-local.c
@@ -530,17 +530,13 @@ x_server_local_start (DisplayServer *display_server)
}
}
- /* Pass through library variables */
- if (g_getenv ("LD_PRELOAD"))
- process_set_env (priv->x_server_process, "LD_PRELOAD", g_getenv ("LD_PRELOAD"));
- if (g_getenv ("LD_LIBRARY_PATH"))
- process_set_env (priv->x_server_process, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH"));
- if (g_getenv ("PATH"))
- process_set_env (priv->x_server_process, "PATH", g_getenv ("PATH"));
-
/* Variable required for regression tests */
if (g_getenv ("LIGHTDM_TEST_ROOT"))
+ {
process_set_env (priv->x_server_process, "LIGHTDM_TEST_ROOT", g_getenv ("LIGHTDM_TEST_ROOT"));
+ process_set_env (priv->x_server_process, "LD_PRELOAD", g_getenv ("LD_PRELOAD"));
+ process_set_env (priv->x_server_process, "LD_LIBRARY_PATH", g_getenv ("LD_LIBRARY_PATH"));
+ }
gboolean result = process_start (priv->x_server_process, FALSE);
if (result)

View File

@ -1,63 +0,0 @@
--- src/x-server.c.orig 2019-08-04 22:29:55 UTC
+++ src/x-server.c
@@ -152,13 +152,60 @@ x_server_connect_session (DisplayServer *display_serve
g_autofree gchar *tty_text = NULL;
g_autofree gchar *vt_text = NULL;
+#ifdef __FreeBSD__
+ char vty_num32[6];
+ int num;
+ const int base = 32;
+ size_t offset = 0;
+
+ num = vt - 1;
+
+ if (num == 0) {
+ vty_num32[offset++] = '0';
+ vty_num32[offset] = '\0';
+ } else {
+ for (int remaning = num; remaning > 0; remaning /= base, offset++) {
+ if (offset + 1 >= 6) {
+ g_error ("tty number buffer too small");
+ goto error;
+ }
+
+ const int value = remaning % base;
+ if (value >= 10) {
+ vty_num32[offset] = 'a' + value - 10;
+ } else {
+ vty_num32[offset] = '0' + value;
+ }
+ }
+
+ for (size_t i = 0; i < offset / 2; i++) {
+ const size_t p1 = i;
+ const size_t p2 = offset - 1 - i;
+ const char tmp = vty_num32[p1];
+ vty_num32[p1] = vty_num32[p2];
+ vty_num32[p2] = tmp;
+ }
+
+ vty_num32[offset] = '\0';
+ }
+
+ tty_text = g_strdup_printf ("/dev/ttyv%s", vty_num32);
+#else
tty_text = g_strdup_printf ("/dev/tty%d", vt);
+#endif
session_set_tty (session, tty_text);
+#ifdef __FreeBSD__
+ vt_text = g_strdup_printf ("%d", num);
+#else
vt_text = g_strdup_printf ("%d", vt);
+#endif
session_set_env (session, "XDG_VTNR", vt_text);
}
else
+#ifdef __FreeBSD__
+error:
+#endif
l_debug (session, "Not setting XDG_VTNR");
session_set_env (session, "DISPLAY", x_server_get_address (X_SERVER (display_server)));

View File

@ -1,10 +0,0 @@
--- tests/src/libsystem.c.orig 2016-11-13 22:45:48 UTC
+++ tests/src/libsystem.c
@@ -20,7 +20,6 @@
#include <security/pam_appl.h>
#include <fcntl.h>
#include <dlfcn.h>
-#include <utmp.h>
#include <utmpx.h>
#ifdef __linux__
#include <linux/vt.h>

View File

@ -1,6 +0,0 @@
LightDM is a display manager that:
* Is cross-desktop - supports different desktops
* Supports different display technologies
* Is lightweight - low memory usage and fast performance
* Has a comprehensive test suite

View File

@ -1,16 +0,0 @@
[
{
message: <<EOD
For LightDM to function, it requires one of the available greeters to be
installed, for instance x11/lightdm-gtk-greeter or x11/slick-greeter .
If you enable the lock-memory option in lightdm.conf (e.g. due to security
concerns), you will also need to increase the maximum amount of memory FreeBSD
will allow a daemon to lock into main memory using mlock(2).
To increase this limit, run the following commands:
# sed -i '' -e 's/memorylocked=128M/memorylocked=256M/' /etc/login.conf
# cap_mkdb /etc/login.conf
EOD,
type: install
}
]

View File

@ -1,181 +0,0 @@
bin/dm-tool
%%ETCDIR%%/Xsession
@sample %%ETCDIR%%/keys.conf.sample
@sample %%ETCDIR%%/lightdm.conf.sample
@sample %%ETCDIR%%/users.conf.sample
@sample etc/pam.d/lightdm.sample
@sample etc/pam.d/lightdm-autologin.sample
@sample etc/pam.d/lightdm-greeter.sample
include/lightdm-gobject-1/lightdm.h
include/lightdm-gobject-1/lightdm/greeter.h
include/lightdm-gobject-1/lightdm/language.h
include/lightdm-gobject-1/lightdm/layout.h
include/lightdm-gobject-1/lightdm/power.h
include/lightdm-gobject-1/lightdm/session.h
include/lightdm-gobject-1/lightdm/system.h
include/lightdm-gobject-1/lightdm/user.h
%%QT5%%include/lightdm-qt5-3/QLightDM/Greeter
%%QT5%%include/lightdm-qt5-3/QLightDM/Power
%%QT5%%include/lightdm-qt5-3/QLightDM/SessionsModel
%%QT5%%include/lightdm-qt5-3/QLightDM/UsersModel
%%QT5%%include/lightdm-qt5-3/QLightDM/greeter.h
%%QT5%%include/lightdm-qt5-3/QLightDM/power.h
%%QT5%%include/lightdm-qt5-3/QLightDM/sessionsmodel.h
%%QT5%%include/lightdm-qt5-3/QLightDM/usersmodel.h
%%VAPI%%lib/girepository-1.0/LightDM-1.typelib
lib/liblightdm-gobject-1.a
lib/liblightdm-gobject-1.so
lib/liblightdm-gobject-1.so.0
lib/liblightdm-gobject-1.so.0.0.0
%%QT5%%lib/liblightdm-qt5-3.a
%%QT5%%lib/liblightdm-qt5-3.so
%%QT5%%lib/liblightdm-qt5-3.so.0
%%QT5%%lib/liblightdm-qt5-3.so.0.0.0
libdata/pkgconfig/liblightdm-gobject-1.pc
%%QT5%%libdata/pkgconfig/liblightdm-qt5-3.pc
libexec/lightdm-guest-session
share/man/man1/dm-tool.1.gz
share/man/man1/lightdm.1.gz
sbin/lightdm
share/accountsservice/interfaces/org.freedesktop.DisplayManager.AccountsService.xml
share/bash-completion/completions/dm-tool
share/bash-completion/completions/lightdm
share/dbus-1/interfaces/org.freedesktop.DisplayManager.AccountsService.xml
share/dbus-1/system.d/org.freedesktop.DisplayManager.conf
%%VAPI%%share/gir-1.0/LightDM-1.gir
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/LightDMGreeter.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/LightDMLanguage.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/LightDMLayout.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/LightDMSession.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/LightDMUser.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/LightDMUserList.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/annotation-glossary.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/api-index-full.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/ch01.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/deprecated-api-index.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/home.png
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/index.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/left-insensitive.png
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/left.png
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/lightdm-gobject-1-Power-Management.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/lightdm-gobject-1-System-Information.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/lightdm-gobject-1.devhelp2
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/object-tree.html
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/right-insensitive.png
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/right.png
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/style.css
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/up-insensitive.png
%%PORTDOCS%%share/gtk-doc/html/lightdm-gobject-1/up.png
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/autologin.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/config.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/default-greeter.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/default-session.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/diagnostics.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/guest.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/index.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/legal.xml
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/local-sessions.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/remote-sessions.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/seat.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/standard-authentication.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/user-list.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/user-switching.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/vnc.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/write-greeter.page
%%VAPI%%%%PORTDOCS%%share/help/C/lightdm/xdmcp.page
%%NLS%%share/locale/af/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/an/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ar/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ast/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/az/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/be/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/bg/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/bn/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/bo/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/br/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/bs/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ca/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ca@valencia/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ckb/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/cs/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/da/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/de/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/el/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/en_AU/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/en_CA/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/en_GB/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/eo/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/es/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/et/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/eu/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/fa/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/fi/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/fo/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/fr/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/fy/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/gd/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/gl/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/gu/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/he/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/hi/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/hr/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/hu/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ia/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/id/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/is/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/it/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ja/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/kk/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/km/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/kn/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ko/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ku/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/lb/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/lt/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/lv/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/mhr/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/mi/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ml/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/mr/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ms/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/my/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/nb/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/nl/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/nn/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/oc/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/pa/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/pl/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/pt/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/pt_BR/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ro/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ru/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sc/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sd/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/shn/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/si/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sk/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sl/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sq/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sr/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/sv/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ta/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/te/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/tg/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/th/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/tl/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/tr/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/ug/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/uk/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/uz/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/vi/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/wae/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/zh_CN/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/zh_HK/LC_MESSAGES/lightdm.mo
%%NLS%%share/locale/zh_TW/LC_MESSAGES/lightdm.mo
share/polkit-1/actions/org.freedesktop.DisplayManager.AccountsService.policy
%%VAPI%%share/vala/vapi/liblightdm-gobject-1.deps
%%VAPI%%share/vala/vapi/liblightdm-gobject-1.vapi
share/xgreeters/default.desktop
@dir /var/cache/lightdm
@dir /var/log/lightdm
@dir /var/run/lightdm