Commit graph

2515 commits

Author SHA1 Message Date
Hans Christian Schmitz
0f0014bbc5
Ignore generated files required by clangd
Also add .dirstamp which seems to be generated by
autoconf/automake/make.

`compile_commands.json` is also used by standalone `clang-tidy`
2022-02-16 22:44:20 +01:00
Ray Strode
aa0d6aa9aa Merge branch 'reproducible-build-fix' into 'main'
configure: Generate version from date of last commit not current date

See merge request plymouth/plymouth!158
2022-02-15 20:16:04 +00:00
Ray Strode
4ca7abf03e configure: Generate version from date of last commit not current date
Using the date at build time prevents the build from being reproducible
later.

In order to facilitate reproducible builds, this commit changes the
logic to derive the version from the date of the last commit.
2022-02-15 20:11:54 +00:00
Ray Strode
24160a53a7 Merge branch 'romanian-translation' into 'main'
Add Romanian translation

See merge request plymouth/plymouth!155
2022-02-07 18:00:12 +00:00
Sergiu Bivol
c277749f68 Add Romanian translation 2022-02-06 22:30:37 +00:00
Ray Strode
716b5bd9e2 Merge branch 'fix-buffer' into 'main'
drm: do not reset the buffer twice

See merge request plymouth/plymouth!152
2022-01-15 05:02:37 +00:00
Oleg Solovyov
5d75819462 drm: Retry setting scanout buffer on failure
Plymouth currently assumes that setting the scanout buffer will succeed.
if it fails because of a driver bug or transient failure it should try
again next frame.

This commit adds that error handling code.
2022-01-15 04:58:38 +00:00
Ray Strode
27764b2a2c Merge branch 'version-naming-change' into 'main'
autogoo: Determine project version from date

See merge request plymouth/plymouth!153
2022-01-11 17:10:11 +00:00
Ray Strode
7b203e49b9 autogoo: Determine project version from date
Numbers are arbitrary, and we've never successfully made it to
version 1.0 after like 15 years or something.

Furthermore, plymouth has a very slow release schedule at present
and some distros hate building from git.

So, I'd like to start generating tarballs more regularly.

Adopting a version number derived from the date will help facilitate
that.

This commit changes AC_INIT to compute the version automatically.

https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/143
https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/158
2022-01-11 10:38:28 -05:00
Ray Strode
a3dcafa8b2 Merge branch 'wip/use-logo-file' into 'main'
spinfinity: use logo file passed to configure

See merge request plymouth/plymouth!110
2022-01-11 14:35:27 +00:00
Ray Strode
729869f5c0 spinfinity: use logo file passed to configure
At the moment we hardcode the header to a logo file that ships
in fedora.

This commit changes it to use the logo configured by the distro.

https://gitlab.freedesktop.org/plymouth/plymouth/-/issues/106
2022-01-11 14:28:45 +00:00
Ray Strode
3e75dda9e6 Merge branch 'weblate-plymouth-master' into 'main'
Translations update from Weblate

See merge request plymouth/plymouth!146
2022-01-11 14:26:24 +00:00
Yauhen Bugamol
d70a7e3d38 Translated using Weblate (Belarusian)
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Yauhen Bugamol <3abac@3a.by>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/be/
Translation: plymouth/master
2022-01-11 14:26:09 +00:00
Ray Strode
39d374d8ec Merge branch 'add_croatian_language' into 'main'
Add Croatian language

See merge request plymouth/plymouth!148
2022-01-11 14:25:37 +00:00
muzena
48cbafd4b1 Add Croatian language 2022-01-11 14:25:25 +00:00
Ray Strode
202646d2fb Merge branch 'fix-configure-help-string' into 'main'
configure: Fix help string for --with-background-end-color-stop

See merge request plymouth/plymouth!149
2022-01-11 14:24:31 +00:00
João Paulo Rechi Vita
df10062109 configure: Fix help string for --with-background-end-color-stop
Looks like it was copied from --with-background-start-color-stop and
never updated to reflect the option it is describing.
2022-01-11 14:24:14 +00:00
Ray Strode
1906f04428 Merge branch 'fix-twostep-comments' into 'main'
two-step: Fix typos and missing words in comments

See merge request plymouth/plymouth!150
2022-01-11 14:23:40 +00:00
João Paulo Rechi Vita
315dc61851 two-step: Fix typos and missing words in comments 2021-12-01 10:32:06 -05:00
Ray Strode
5b91b9ed84 Merge branch 'configurable-show-animation-fraction' into 'main'
two-step: Make SHOW_ANIMATION_FRACTION configurable

See merge request plymouth/plymouth!151
2021-11-16 17:31:55 +00:00
Jasper St. Pierre
4d3f553efc two-step: Make SHOW_ANIMATION_FRACTION configurable
Allow themes to configure at which percentage of the boot progress the
animation should transition to the end animation.

At Endless we use this to only show the end animation from the start of
the boot splash by setting it to 0.0.
2021-11-15 19:25:59 -05:00
Ray Strode
18363cd887 Merge branch 'honour-rotation' into 'main'
drm: Honour screen rotation when detecting HiDPI

See merge request plymouth/plymouth!147
2021-10-18 23:45:12 +00:00
Emil Velikov
a76fe9a069 drm: Honour screen rotation when detecting HiDPI
Currently if the screen is rotated by 90 degrees, the effective
width/height will be swapped. Thus we will incorrectly detect the panel
as HiDPI.

Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
2021-10-18 11:58:29 +01:00
Ray Strode
bad6d41504 Merge branch 'themepath-cfg' into 'master'
main: add ThemePath configuration option

See merge request plymouth/plymouth!142
2021-09-27 10:27:11 +00:00
Alfonso Sánchez-Beato
3003cabf96 scripts: support populating from configurable theme dir
Support populating initramfs with themes from the configurable theme
directory.
2021-09-27 10:03:53 +00:00
Alfonso Sánchez-Beato
3fa05404b0 main: add ThemeDir configuration option
Add a new option called ThemeDir to the configuration file, so a
configurable directory can be used to ship themes. The option applies
only to the theme specified in the same configuration file.
2021-09-27 10:03:53 +00:00
Alfonso Sánchez-Beato
a3607d7ad4 main: refactor code for searching the theme path
Refactor code that searched for the theme configuration so it can be
reused.
2021-09-27 10:03:53 +00:00
Alfonso Sánchez-Beato
a4a1afc83f ply-utils: add macro to count the number of elements in an array 2021-09-27 10:03:53 +00:00
Alfonso Sánchez-Beato
4bf060c5dd main: free path variables before exiting
Free path variables before exiting so the code is more asan/valgrind
friendly.
2021-09-27 10:03:53 +00:00
Ray Strode
dae14773bd Merge branch 'weblate-plymouth-master' into 'master'
Translations update from Weblate

See merge request plymouth/plymouth!145
2021-09-23 19:00:10 +00:00
Pavel Borecki
4ddeccb8cb Translated using Weblate (Czech)
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Pavel Borecki <pavel.borecki@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/cs/
Translation: plymouth/master
2021-09-23 11:05:04 +02:00
Ray Strode
1297d4c3ee Merge branch 'crash_on_hide_message' into 'master'
Fix crash when hiding message in details splash mode

See merge request plymouth/plymouth!140
2021-09-22 14:33:26 +00:00
i.Dark_Templar
6f480678a6 Fix crash when hiding message in details splash mode 2021-09-22 14:26:27 +00:00
Ray Strode
ea99a2e140 Merge branch 'ignore-serial-option' into 'master'
main: add ignore-serial-consoles option

See merge request plymouth/plymouth!143
2021-09-22 14:22:48 +00:00
Alfonso Sánchez-Beato
0c503db27e main: add ignore-serial-consoles option
Add --ignore-serial-consoles option so we can ignore serial consoles
also when starting plymouthd and not only from the kernel command
line.
2021-09-22 14:18:35 +00:00
Ray Strode
2a4fbd8978 Merge branch 'weblate-plymouth-master' into 'master'
Translations update from Weblate

See merge request plymouth/plymouth!139
2021-09-22 14:17:05 +00:00
Jan Kuparinen
12b4608b8a Translated using Weblate (Finnish)
Currently translated at 100.0% (7 of 7 strings)

Added translation using Weblate (Finnish)

Co-authored-by: Jan Kuparinen <copper_fin@hotmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/fi/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Hela Basa
5c1aa0aaf6 Translated using Weblate (Sinhala)
Currently translated at 14.2% (1 of 7 strings)

Co-authored-by: Hela Basa <r45xveza@pm.me>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/si/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Liu Tao
4075ea7521 Translated using Weblate (Chinese (Simplified) (zh_CN))
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Liu Tao <lyuutau@outlook.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/zh_CN/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Danial Behzadi
ece1074efe Translated using Weblate (Persian)
Currently translated at 100.0% (7 of 7 strings)

Added translation using Weblate (Persian)

Co-authored-by: Danial Behzadi <dani.behzi@ubuntu.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/fa/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Fabio Tomat
f9577dbc15 Translated using Weblate (Friulian)
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Fabio Tomat <f.t.public@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/fur/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Yauhen Bugamol
c5da4acab2 Translated using Weblate (Belarusian)
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Yauhen Bugamol <3abac@3a.by>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/be/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Emilio Herrera
e9cb6294d6 Translated using Weblate (Spanish)
Currently translated at 100.0% (7 of 7 strings)

Co-authored-by: Emilio Herrera <ehespinosa57@gmail.com>
Translate-URL: https://translate.fedoraproject.org/projects/plymouth/master/es/
Translation: plymouth/master
2021-09-21 19:10:02 +00:00
Ray Strode
8ff8a78a35 Merge branch 'master' into 'master'
main: Ensure that doubles in config files are parsed with '.'

Closes #153

See merge request plymouth/plymouth!144
2021-09-21 14:40:01 +00:00
Robin Ebert
07458698b1
main: Ensure that doubles in config files are parsed with '.' 2021-09-21 16:11:16 +02:00
Hans de Goede
e55447500f Merge branch 'rework-shutdown-handling' into 'master'
Rework shutdown handling

See merge request plymouth/plymouth!138
2021-04-06 11:53:40 +00:00
Ray Strode
2a7755febb systemd: Add plymouth-switch-root-initramfs.service to switch back to initramfs on shutdown
Add a plymouth-switch-root-initramfs.service, which will call
"plymouth update-root-fs --new-root-dir=/run/initramfs" to switch back
to the initramfs (when applicable).

Systemd will run this service before plymouthd receives the SIGTERM on
shutdown, so this will cause the plymouthd-fd-escrow helper to run
from the initramfs.

This avoids the plymouthd-fd-escrow helper keeping the rootfs busy.

Changes by Hans de Goede:
- Fix a couple of typos
- Add Conflicts=dracut-shutdown.service to plymouth-switch-root-initramfs.service
  dracut-shutdown.service restores the initramfs when it is _stopped_
  use Conflicts to make sure its ExecStop has run before we do
- Add a check for switching back to the initramfs to on_newroot () and dump
  the debug-buffer before the switch (while we still have access to /var/log).
- Also add plymouth-switch-root-initramfs.service to kexec.target.wants.
  kexec.target.wants uses --mode=shutdown, so the plymouthd-fd-escrow helper
  will run, so we need to switch to the initramfs.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-04-06 13:45:41 +02:00
Ray Strode
a0c743c76a main: Add a plymouthd-fd-escrow helper
When plymouth receives SIGTERM during shutdown or reboot, we must
exit cleanly to avoid keeping files open on the rootfs and to avoid
making drmModeSetCrtc () calls after the kms driver's shutdown method
has ran.

But at the same time we also want the boot-splash to stay up (in its
idle form) until the system actually reboots or powers off.
So we want to avoid the boot-splash getting replaced by e.g.
the text-console.

Add a plymouthd-fd-escrow helper which will get forked off when we
receive a SIGTERM in reboot/shutdown mode with pixel-displays active.

This helper will keep the fds for the pixel-displays open, so that
the boot-splash stays up until the end.

Changes by Hans de Goede:
- Start the escrow helper from main.c instead of from the drm plugin
- Rename the helper from plymouthd-drm-escrow to plymouthd-fd-escrow, since it
  will be used to escrow fbdev fd-s too now
- In the child of the fork, continue with quiting normally (letting the
  bootsplash become idle) instead of exiting directly
- Make plymouthd-fd-escrow a normal dynamic binary instead of a static binary,
  the initrd already contains dynamic binaries so it does not have to be static
- Split the changes adding plymouth-switch-root-initramfs.service into a
  separate patch
- Rewrite commit message

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-04-06 13:15:05 +02:00
Hans de Goede
a4bb4c146b main: Dump debug log to plymouth-shutdown-debug.log on shutdown/reboot
When working on plymouth I always have "plymouth.debug=stream:/dev/null"
on the kernel commandline. This enables tracing without logging anything
to the console and causes the entire trace to be logged to
/var/log/plymouth-debug.log when plymouth quits.

This is very useful for debugging (non crash) issues with plymouth at boot.
With the recent "main: Cleanly quit on SIGTERM" change plymouth will now
also write a trace log to /var/log/plymouth-debug.log on shutdown/reboot,
but this will be overwritten again on boot by the boot log.

This commit changes the default debug_buffer_path value from:
/var/log/plymouth-debug.log to /var/log/plymouth-shutdown-debug.log
when in shutdown or reboot mode so that it does not get overwritten
by the debug-log written at boot.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-04-06 13:15:05 +02:00
Hans de Goede
eb5227b474 main: Cleanly quit on SIGTERM
Now that we are no longer unconditionally opting out of getting terminated,
we get send a SIGTERM when transitioning from the rootfs back to the initrd
on poweroff/reboot.

Catch this SIGTERM and then exit cleanly by calling the on_quit handler,
besides exiting cleanly being the right thing to do, this will also allow the
boot-splash to go idle, so that it can cleanly finish the end-animation.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2021-04-06 13:15:05 +02:00