x11/lightdm: Remove port
Desktop-focused software not aligned with server objectives
This commit is contained in:
parent
1e8d80470d
commit
24e897893d
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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>
|
|
||||||
@ -1,3 +0,0 @@
|
|||||||
TIMESTAMP = 1660386883
|
|
||||||
SHA256 (lightdm-1.32.0.tar.xz) = 12f5ab432748f0387c7cf8b94430495a558a035a4f8465e5181af6faff133e4b
|
|
||||||
SIZE (lightdm-1.32.0.tar.xz) = 518168
|
|
||||||
@ -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 $@
|
|
||||||
@ -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"
|
|
||||||
@ -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));
|
|
||||||
@ -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
|
|
||||||
@ -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)
|
|
||||||
@ -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 \
|
|
||||||
@ -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=
|
|
||||||
@ -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
|
|
||||||
@ -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
|
|
||||||
@ -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
|
|
||||||
@ -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
|
|
||||||
@ -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));
|
|
||||||
|
|
||||||
@ -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)
|
|
||||||
@ -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);
|
|
||||||
@ -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;
|
|
||||||
@ -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;
|
|
||||||
}
|
|
||||||
@ -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)
|
|
||||||
@ -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)));
|
|
||||||
@ -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>
|
|
||||||
@ -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
|
|
||||||
@ -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
|
|
||||||
}
|
|
||||||
]
|
|
||||||
@ -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
|
|
||||||
Loading…
x
Reference in New Issue
Block a user