<feed xmlns='http://www.w3.org/2005/Atom'>
<title>drakx/perl-install/any.pm, branch 18.71</title>
<subtitle>Mageia Installer and base platform for many utilities</subtitle>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/'/>
<entry>
<title>Set default session for SDDM on first boot (mga#34836)</title>
<updated>2025-12-27T11:44:11+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-27T11:15:35+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=bd85a399217151bfedd93a279bfc02fbf3959ec8'/>
<id>bd85a399217151bfedd93a279bfc02fbf3959ec8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Make IceWM the last choice when picking the default session for first boot (mga#34836)</title>
<updated>2025-12-27T11:41:36+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-27T11:12:39+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=1542be849770dcd1644804f2b2a682fe3e0530b7'/>
<id>1542be849770dcd1644804f2b2a682fe3e0530b7</id>
<content type='text'>
IceWM is automatically installed as a fallback DE. So we want to default
to one of the DEs the user actually chose.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
IceWM is automatically installed as a fallback DE. So we want to default
to one of the DEs the user actually chose.
</pre>
</div>
</content>
</entry>
<entry>
<title>Simplify set_autologin().</title>
<updated>2025-12-27T10:49:27+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-27T10:19:33+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=f7332a41ccbc247fc43bb6d0d9833fea25b9dbc5'/>
<id>f7332a41ccbc247fc43bb6d0d9833fea25b9dbc5</id>
<content type='text'>
Using the new session_files() subroutine allows us to eliminate
get_session_file() and get_session_file_with_extension().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Using the new session_files() subroutine allows us to eliminate
get_session_file() and get_session_file_with_extension().
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove redundant use of sessions_with_order().</title>
<updated>2025-12-27T10:49:19+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-27T10:12:05+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=6147dedfc0db16f187172136c7fce9aee81c7466'/>
<id>6147dedfc0db16f187172136c7fce9aee81c7466</id>
<content type='text'>
'chksession -L' no longer returns any numbers, so prepending $wm_number
to the session name written to ~/.dmrc has no effect.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
'chksession -L' no longer returns any numbers, so prepending $wm_number
to the session name written to ~/.dmrc has no effect.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix inconsistent use of any::sessions()</title>
<updated>2025-12-27T10:49:14+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-27T10:08:31+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=94f2881456fa0dcbacec31d7973cc5d9eb9514ce'/>
<id>94f2881456fa0dcbacec31d7973cc5d9eb9514ce</id>
<content type='text'>
Some callers of any::sessions() expected it to return a list of session
names, other callers expected it to return a list of base file names,
leading to various bugs in the autologin handling. So provide two new
subroutines, session_files(), to provide a map of names to files, and
session_names() to return a sorted list of names. Remove sessions() to
avoid confusion in future. Fix up the users accordingly.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some callers of any::sessions() expected it to return a list of session
names, other callers expected it to return a list of base file names,
leading to various bugs in the autologin handling. So provide two new
subroutines, session_files(), to provide a map of names to files, and
session_names() to return a sorted list of names. Remove sessions() to
avoid confusion in future. Fix up the users accordingly.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix autologin session selection for GDM.</title>
<updated>2025-12-26T19:56:44+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-26T19:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=07290675d392c2dc34de4cf1aa795501278b4c12'/>
<id>07290675d392c2dc34de4cf1aa795501278b4c12</id>
<content type='text'>
GDM now reads the session setting from /var/lib/AcoountsService/users/&lt;name&gt;,
so we need to create/update that file.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
GDM now reads the session setting from /var/lib/AcoountsService/users/&lt;name&gt;,
so we need to create/update that file.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix desktop_to_dm in any::get_autologin() to handle new session names.</title>
<updated>2025-12-26T15:36:41+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-12-26T15:36:41+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=01746578e0a60047bf7c92d91636e2de65a7161a'/>
<id>01746578e0a60047bf7c92d91636e2de65a7161a</id>
<content type='text'>
There are now multiple session files in /usr/share/xsessions and in
/usr/share/wayland-sessions for each DE, so the old hash table was
both broken and inadequate. Replace with a subroutine that uses
case-insensitive regex matching, which should be more future-proof.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
There are now multiple session files in /usr/share/xsessions and in
/usr/share/wayland-sessions for each DE, so the old hash table was
both broken and inadequate. Replace with a subroutine that uses
case-insensitive regex matching, which should be more future-proof.
</pre>
</div>
</content>
</entry>
<entry>
<title>Use POSIX::setlocale() instead of c::setlocale().</title>
<updated>2025-11-02T18:20:25+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-11-02T12:50:05+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=b518f9f16b0fc09802d238eef91de41ed54de282'/>
<id>b518f9f16b0fc09802d238eef91de41ed54de282</id>
<content type='text'>
Since Perl 5.28, Perl has used the thread-safe uselocale() functions
from the C standard library when setting the locale. Once a thread-safe
locale setting has been made, the Locale::gettext functions will use
those settings, not the global locale settings. So calling the drakx
c::setlocale() and c::init_setlocale() functions, which still use the
underlying setlocale() function from the C standard library normally
has no effect. However, prior to Perl 5.38, there was a bug in Perl
that could cause the main thread to revert to using the global locale
settings, and it it would seem this bug was being triggered by the
stage2 installer, meaning it still properly translated the UI after
the language selection step. Now we have a newer version of Perl, this
is no longer so, and the UI contiues to be in English after the user
has selected a different language (mga#34656).

The POSIX::setlocale() function affects the thread-safe locale, so can
be used to fix this bug.

This patch removes the c::setlocale() function to prevent reintroduction
of this bug, and moves the c::init_locale() function to the common module.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Since Perl 5.28, Perl has used the thread-safe uselocale() functions
from the C standard library when setting the locale. Once a thread-safe
locale setting has been made, the Locale::gettext functions will use
those settings, not the global locale settings. So calling the drakx
c::setlocale() and c::init_setlocale() functions, which still use the
underlying setlocale() function from the C standard library normally
has no effect. However, prior to Perl 5.38, there was a bug in Perl
that could cause the main thread to revert to using the global locale
settings, and it it would seem this bug was being triggered by the
stage2 installer, meaning it still properly translated the UI after
the language selection step. Now we have a newer version of Perl, this
is no longer so, and the UI contiues to be in English after the user
has selected a different language (mga#34656).

The POSIX::setlocale() function affects the thread-safe locale, so can
be used to fix this bug.

This patch removes the c::setlocale() function to prevent reintroduction
of this bug, and moves the c::init_locale() function to the common module.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix any::sessions() to really preserve cwd (mga#33738)</title>
<updated>2025-06-08T09:59:10+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-06-08T09:42:21+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=6da07ebf5c7cfb5af40232f87c357cdb83f6b4ae'/>
<id>6da07ebf5c7cfb5af40232f87c357cdb83f6b4ae</id>
<content type='text'>
Both the old and new implementations of sessions() used chdir() to change
to the directory being searched and then tried to restore the current
working directory using the return value of chdir(). But chdir() returns
a boolean indicating success or failure, so that could never work.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Both the old and new implementations of sessions() used chdir() to change
to the directory being searched and then tried to restore the current
working directory using the return value of chdir(). But chdir() returns
a boolean indicating success or failure, so that could never work.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix new implementation of any::sessions() (mga#33738)</title>
<updated>2025-06-08T09:34:57+00:00</updated>
<author>
<name>Martin Whitaker</name>
<email>mageia@martin-whitaker.me.uk</email>
</author>
<published>2025-06-08T09:34:57+00:00</published>
<link rel='alternate' type='text/html' href='https://gitweb.mageia.org/software/drakx/commit/?id=e4915551e4e85130c6d5aabc7bf5e64a954d16db'/>
<id>e4915551e4e85130c6d5aabc7bf5e64a954d16db</id>
<content type='text'>
Commit 98978485f changed sessions() to search two directories, but
didn't merge the results into a single list. Actually the code was
not valid Perl, so sessions() always returned an empty list.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Commit 98978485f changed sessions() to search two directories, but
didn't merge the results into a single list. Actually the code was
not valid Perl, so sessions() always returned an empty list.
</pre>
</div>
</content>
</entry>
</feed>
