Version in base suite: 2.13.0-1
Base version: debian-edu-artwork_2.13.0-1
Target version: debian-edu-artwork_2.13.6-1~deb13u1
Base file: /srv/ftp-master.debian.org/ftp/pool/main/d/debian-edu-artwork/debian-edu-artwork_2.13.0-1.dsc
Target file: /srv/ftp-master.debian.org/policy/pool/main/d/debian-edu-artwork/debian-edu-artwork_2.13.6-1~deb13u1.dsc
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-buster/plymouth/logo_circle.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-buster/plymouth/password_dot.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-buster/plymouth/password_dot16.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-buster/plymouth/password_field.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-buster/plymouth/password_field16.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-futureprototype/plymouth/logo_circle.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-futureprototype/plymouth/password_dot.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-futureprototype/plymouth/password_dot16.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-futureprototype/plymouth/password_field.png |binary
/srv/release.debian.org/tmp/HfXA4ak01p/debian-edu-artwork-2.13.6/art-futureprototype/plymouth/password_field16.png |binary
debian-edu-artwork-2.13.6/Makefile.am | 2
debian-edu-artwork-2.13.6/art-buster/Makefile.am | 4
debian-edu-artwork-2.13.6/art-buster/desktop-base/1024x768.svg | 381 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x1024.svg | 383 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x720.svg | 383 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x800.svg | 383 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/1600x1200.svg | 383 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/1920x1080.svg | 383 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/1920x1200.svg | 383 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/2560x1080.svg | 381 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/4096x2160.svg | 379 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/Makefile.am | 53
debian-edu-artwork-2.13.6/art-buster/desktop-base/background-nologo.svg | 331 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/background.svg | 331 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/gnome-background.xml | 16
debian-edu-artwork-2.13.6/art-buster/desktop-base/grub-16x9.svg | 331 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/grub-4x3.svg | 324 ---
debian-edu-artwork-2.13.6/art-buster/desktop-base/grub_background.sh | 3
debian-edu-artwork-2.13.6/art-buster/desktop-base/metadata.desktop | 7
debian-edu-artwork-2.13.6/art-buster/g-i/Makefile.am | 22
debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-installer-logo.info | 6
debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-installer-logo.svg | 314 --
debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-syslinux.svg | 326 ---
debian-edu-artwork-2.13.6/art-buster/gnome-shell/Makefile.am | 8
debian-edu-artwork-2.13.6/art-buster/gnome-shell/debian-edu-buster.xml | 20
debian-edu-artwork-2.13.6/art-buster/plymouth/Makefile.am | 29
debian-edu-artwork-2.13.6/art-buster/plymouth/README | 1
debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster-logo.svg | 173 -
debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster-plymouth.svg | 160 -
debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster.plymouth | 8
debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster.script | 1064 ----------
debian-edu-artwork-2.13.6/art-buster/plymouth/logo.svg | 141 -
debian-edu-artwork-2.13.6/art-ceratopsian/g-i/debian-edu-ceratopsian-syslinux.svg | 29
debian-edu-artwork-2.13.6/art-common/arctica-greeter/Makefile.am | 2
debian-edu-artwork-2.13.6/art-emerald/desktop-base/grub-16x9.svg | 27
debian-edu-artwork-2.13.6/art-emerald/desktop-base/grub-4x3.svg | 94
debian-edu-artwork-2.13.6/art-emerald/g-i/debian-edu-emerald-installer-logo.svg | 54
debian-edu-artwork-2.13.6/art-emerald/g-i/debian-edu-emerald-syslinux.svg | 31
debian-edu-artwork-2.13.6/art-emerald/plymouth/Emerald_plymouth.svg | 46
debian-edu-artwork-2.13.6/art-emerald/plymouth/logo+emerald.svg | 34
debian-edu-artwork-2.13.6/art-futureprototype/Makefile.am | 4
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1024x768.svg | 381 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1280x1024.svg | 383 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1280x720.svg | 383 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1280x800.svg | 383 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1600x1200.svg | 383 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1920x1080.svg | 383 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/1920x1200.svg | 383 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/2560x1080.svg | 381 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/4096x2160.svg | 379 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/Makefile.am | 53
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/background-nologo.svg | 139 +
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/background.svg | 339 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/gnome-background.xml | 16
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/grub-16x9.svg | 331 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/grub-4x3.svg | 324 +++
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/grub_background.sh | 3
debian-edu-artwork-2.13.6/art-futureprototype/desktop-base/metadata.desktop | 7
debian-edu-artwork-2.13.6/art-futureprototype/g-i/Makefile.am | 22
debian-edu-artwork-2.13.6/art-futureprototype/g-i/debian-edu-futureprototype-installer-logo.info | 6
debian-edu-artwork-2.13.6/art-futureprototype/g-i/debian-edu-futureprototype-installer-logo.svg | 314 ++
debian-edu-artwork-2.13.6/art-futureprototype/g-i/debian-edu-futureprototype-syslinux.svg | 333 +++
debian-edu-artwork-2.13.6/art-futureprototype/gnome-shell/Makefile.am | 8
debian-edu-artwork-2.13.6/art-futureprototype/gnome-shell/debian-edu-futureprototype.xml | 20
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/Makefile.am | 29
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/README | 1
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/debian-edu-futureprototype-logo.svg | 181 +
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/debian-edu-futureprototype-plymouth.svg | 160 +
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/debian-edu-futureprototype.plymouth | 8
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/debian-edu-futureprototype.script | 1064 ++++++++++
debian-edu-artwork-2.13.6/art-futureprototype/plymouth/logo.svg | 141 +
debian-edu-artwork-2.13.6/art-homeworld/desktop-base/background-nologo.svg | 339 ---
debian-edu-artwork-2.13.6/art-homeworld/desktop-base/grub-16x9.svg | 41
debian-edu-artwork-2.13.6/art-homeworld/desktop-base/grub-4x3.svg | 44
debian-edu-artwork-2.13.6/art-homeworld/g-i/debian-edu-homeworld-installer-logo.svg | 37
debian-edu-artwork-2.13.6/art-homeworld/g-i/debian-edu-homeworld-syslinux.svg | 54
debian-edu-artwork-2.13.6/art-homeworld/plymouth/debian-edu-homeworld.plymouth | 2
debian-edu-artwork-2.13.6/art-softwaves/desktop-base/background-nologo.svg | 164 -
debian-edu-artwork-2.13.6/art-softwaves/g-i/debian-edu-softwaves-syslinux.svg | 88
debian-edu-artwork-2.13.6/art-softwaves/plymouth/debian-edu-softwaves.plymouth | 2
debian-edu-artwork-2.13.6/art-softwaves/plymouth/debian-edu-softwaves.script | 105
debian-edu-artwork-2.13.6/art-testing/README | 19
debian-edu-artwork-2.13.6/art-testing/debian-edu-ceratopsian-installer-logo-without-version-number.svg | 486 ++++
debian-edu-artwork-2.13.6/art-testing/grub-4x3-without-version-number.svg | 585 +++++
debian-edu-artwork-2.13.6/configure.ac | 10
debian-edu-artwork-2.13.6/debian/changelog | 135 +
debian-edu-artwork-2.13.6/debian/control | 159 +
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.docs | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.install | 6
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.links | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.manpages | 1
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.postinst | 23
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.preinst | 14
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.prerm | 11
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-buster.triggers | 6
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-ceratopsian.install | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-ceratopsian.links | 1
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-ceratopsian.postinst | 10
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-emerald.install | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-emerald.links | 1
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-emerald.postinst | 10
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-emerald.triggers | 6
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.docs | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.install | 6
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.links | 3
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.manpages | 1
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.postinst | 13
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.preinst | 14
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-futureprototype.prerm | 11
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-homeworld.install | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-homeworld.links | 1
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-homeworld.postinst | 10
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-homeworld.triggers | 6
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-softwaves.install | 2
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-softwaves.links | 1
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-softwaves.postinst | 10
debian-edu-artwork-2.13.6/debian/debian-edu-artwork-softwaves.triggers | 6
debian-edu-artwork-2.13.6/debian/debian-edu-artwork.install | 3
debian-edu-artwork-2.13.6/debian/debian-edu-artwork.links | 8
debian-edu-artwork-2.13.6/debian/debian-edu-artwork.postrm | 16
debian-edu-artwork-2.13.6/debian/source/lintian-overrides | 2
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork | 169 +
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork-buster.8 | 38
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork-ceratopsian.8 | 2
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork-emerald.8 | 2
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork-futureprototype.8 | 38
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork-homeworld.8 | 2
debian-edu-artwork-2.13.6/debian/update-debian-edu-artwork-softwaves.8 | 2
138 files changed, 8998 insertions(+), 8111 deletions(-)
dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpi76wj5zl/debian-edu-artwork_2.13.0-1.dsc: no acceptable signature found
dpkg-source: warning: cannot verify inline signature for /srv/release.debian.org/tmp/tmpi76wj5zl/debian-edu-artwork_2.13.6-1~deb13u1.dsc: no acceptable signature found
diff -Nru debian-edu-artwork-2.13.0/Makefile.am debian-edu-artwork-2.13.6/Makefile.am
--- debian-edu-artwork-2.13.0/Makefile.am 2025-04-09 08:03:07.000000000 +0000
+++ debian-edu-artwork-2.13.6/Makefile.am 2026-09-18 07:19:51.000000000 +0000
@@ -1,7 +1,7 @@
NULL =
SUBDIRS = art-common \
- art-buster \
+ art-futureprototype \
art-softwaves \
art-homeworld \
art-emerald \
diff -Nru debian-edu-artwork-2.13.0/art-buster/Makefile.am debian-edu-artwork-2.13.6/art-buster/Makefile.am
--- debian-edu-artwork-2.13.0/art-buster/Makefile.am 2020-05-04 04:41:23.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/Makefile.am 1970-01-01 00:00:00.000000000 +0000
@@ -1,4 +0,0 @@
-SUBDIRS = desktop-base \
- g-i \
- gnome-shell \
- plymouth
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1024x768.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1024x768.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1024x768.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1024x768.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,381 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1280x1024.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x1024.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1280x1024.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x1024.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,383 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1280x720.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x720.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1280x720.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x720.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,383 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1280x800.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x800.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1280x800.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1280x800.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,383 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1600x1200.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1600x1200.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1600x1200.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1600x1200.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,383 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1920x1080.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1920x1080.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1920x1080.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1920x1080.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,383 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/1920x1200.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/1920x1200.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/1920x1200.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/1920x1200.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,383 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/2560x1080.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/2560x1080.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/2560x1080.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/2560x1080.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,381 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/4096x2160.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/4096x2160.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/4096x2160.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/4096x2160.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,379 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/Makefile.am debian-edu-artwork-2.13.6/art-buster/desktop-base/Makefile.am
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/Makefile.am 2021-05-26 13:17:54.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/Makefile.am 1970-01-01 00:00:00.000000000 +0000
@@ -1,53 +0,0 @@
-THEME = buster
-WALLPAPERIMG = \
- 1024x768.svg \
- 1280x720.svg \
- 1280x800.svg \
- 1280x1024.svg \
- 1600x1200.svg \
- 1920x1080.svg \
- 1920x1200.svg \
- 2560x1080.svg \
- 4096x2160.svg
-
-LOGINIMG = \
- background.svg \
- background-nologo.svg
-
-GRUBIMG = \
- grub-4x3.png \
- grub-16x9.png
-
-wallpaperdir = $(datadir)/desktop-base/debian-edu-$(THEME)-theme/wallpaper/
-wallpaper_DATA = gnome-background.xml metadata.desktop
-
-wallpaperimgdir = $(datadir)/desktop-base/debian-edu-$(THEME)-theme/wallpaper/contents/images/
-wallpaperimg_DATA = $(WALLPAPERIMG)
-
-loginimgdir = $(datadir)/desktop-base/debian-edu-$(THEME)-theme/login/
-loginimg_DATA = $(LOGINIMG)
-
-grubimgdir = $(datadir)/desktop-base/debian-edu-$(THEME)-theme/grub/
-grubimg_DATA = $(GRUBIMG) grub_background.sh
-
-# Build rules for PNG files using the SVG files as source.
-grub-4x3.png: grub-4x3.svg
- inkscape --export-filename=$@ $^
- optipng -o4 -i0 -fix $@
- advpng -z4 $@
-
-grub-16x9.png: grub-16x9.svg
- inkscape --export-filename=$@ $^
- optipng -o4 -i0 -fix $@
- advpng -z4 $@
-
-install-data-local:
-
- $(mkinstalldirs) $(DESTDIR)$(wallpaperdir)
- $(mkinstalldirs) $(DESTDIR)$(wallpaperimgdir)
- $(mkinstalldirs) $(DESTDIR)$(loginimgdir)
- $(mkinstalldirs) $(DESTDIR)$(grubimgdir)
-
-EXTRA_DIST = $(wallpaper_DATA) $(wallpaperimg_DATA) $(loginimg_DATA) $(grubimg_DATA)
-
-CLEANFILES = grub-4x3.png grub-16x9.png
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/background-nologo.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/background-nologo.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/background-nologo.svg 2021-05-26 13:17:54.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/background-nologo.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,331 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/background.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/background.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/background.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/background.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,331 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/gnome-background.xml debian-edu-artwork-2.13.6/art-buster/desktop-base/gnome-background.xml
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/gnome-background.xml 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/gnome-background.xml 1970-01-01 00:00:00.000000000 +0000
@@ -1,16 +0,0 @@
-
-
- 8640000.0
-
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1024x768.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1280x720.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1280x800.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1280x800.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1600x1024.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1920x1080.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/1920x1200.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/2560x1080.svg
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/contents/images/4096x2160.svg
-
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/grub-16x9.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/grub-16x9.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/grub-16x9.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/grub-16x9.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,331 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/grub-4x3.svg debian-edu-artwork-2.13.6/art-buster/desktop-base/grub-4x3.svg
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/grub-4x3.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/grub-4x3.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,324 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/grub_background.sh debian-edu-artwork-2.13.6/art-buster/desktop-base/grub_background.sh
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/grub_background.sh 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/grub_background.sh 1970-01-01 00:00:00.000000000 +0000
@@ -1,3 +0,0 @@
-WALLPAPER=/usr/share/images/desktop-base/desktop-grub.png
-COLOR_NORMAL=white/black
-COLOR_HIGHLIGHT=black/white
diff -Nru debian-edu-artwork-2.13.0/art-buster/desktop-base/metadata.desktop debian-edu-artwork-2.13.6/art-buster/desktop-base/metadata.desktop
--- debian-edu-artwork-2.13.0/art-buster/desktop-base/metadata.desktop 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/desktop-base/metadata.desktop 1970-01-01 00:00:00.000000000 +0000
@@ -1,7 +0,0 @@
-[Desktop Entry]
-Name=Debian-Edu-Buster
-
-X-KDE-PluginInfo-Name=Debian Edu Buster
-X-KDE-PluginInfo-Author=Wolfgang Schweer
-X-KDE-PluginInfo-Email=debian-edu@lists.debian.org
-X-KDE-PluginInfo-License=GPLv2+
diff -Nru debian-edu-artwork-2.13.0/art-buster/g-i/Makefile.am debian-edu-artwork-2.13.6/art-buster/g-i/Makefile.am
--- debian-edu-artwork-2.13.0/art-buster/g-i/Makefile.am 2020-05-04 04:41:23.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/g-i/Makefile.am 1970-01-01 00:00:00.000000000 +0000
@@ -1,22 +0,0 @@
-THEME = buster
-logodir = $(datadir)/pixmaps
-
-logo_DATA = debian-edu-$(THEME)-installer-logo.png debian-edu-$(THEME)-syslinux.png
-
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(logodir)
-
-# Build rule for the PNG using the SVG as the source
-debian-edu-$(THEME)-installer-logo.png: debian-edu-$(THEME)-installer-logo.svg
- inkscape --export-filename=$@ $^
- optipng -o4 -i0 -fix $@
- advpng -z4 $@
-
-debian-edu-$(THEME)-syslinux.png: debian-edu-$(THEME)-syslinux.svg
- inkscape --export-filename=$@ $^
- optipng -o4 -i0 -fix $@
- advpng -z4 $@
-
-EXTRA_DIST = README $(logo_DATA)
-
-CLEANFILES = debian-edu-$(THEME)-installer-logo.png debian-edu-$(THEME)-syslinux.png
diff -Nru debian-edu-artwork-2.13.0/art-buster/g-i/debian-edu-buster-installer-logo.info debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-installer-logo.info
--- debian-edu-artwork-2.13.0/art-buster/g-i/debian-edu-buster-installer-logo.info 2019-01-18 12:56:53.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-installer-logo.info 1970-01-01 00:00:00.000000000 +0000
@@ -1,6 +0,0 @@
-The debian-edu-buster-installer-logo.svg was created by
-Wolfgang Schweer based upon the Debian Buster
-futurePrototype theme by Alex Makas and the
-Debian Edu logo by Christoph Muetze .
-
-It has been released under version 2 of the GPL or any later version.
diff -Nru debian-edu-artwork-2.13.0/art-buster/g-i/debian-edu-buster-installer-logo.svg debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-installer-logo.svg
--- debian-edu-artwork-2.13.0/art-buster/g-i/debian-edu-buster-installer-logo.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-installer-logo.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,314 +0,0 @@
-
-
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/g-i/debian-edu-buster-syslinux.svg debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-syslinux.svg
--- debian-edu-artwork-2.13.0/art-buster/g-i/debian-edu-buster-syslinux.svg 2020-12-19 12:59:00.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/g-i/debian-edu-buster-syslinux.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,326 +0,0 @@
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/gnome-shell/Makefile.am debian-edu-artwork-2.13.6/art-buster/gnome-shell/Makefile.am
--- debian-edu-artwork-2.13.0/art-buster/gnome-shell/Makefile.am 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/gnome-shell/Makefile.am 1970-01-01 00:00:00.000000000 +0000
@@ -1,8 +0,0 @@
-THEME = buster
-gnomedir = $(datadir)/gnome-background-properties/
-gnome_DATA = debian-edu-$(THEME).xml
-
-#install-data-local:
-# $(mkinstalldirs) $(DESTDIR)$(gnomedir)
-
-EXTRA_DIST = $(gnome_DATA)
diff -Nru debian-edu-artwork-2.13.0/art-buster/gnome-shell/debian-edu-buster.xml debian-edu-artwork-2.13.6/art-buster/gnome-shell/debian-edu-buster.xml
--- debian-edu-artwork-2.13.0/art-buster/gnome-shell/debian-edu-buster.xml 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/gnome-shell/debian-edu-buster.xml 1970-01-01 00:00:00.000000000 +0000
@@ -1,20 +0,0 @@
-
-
-
-
-
- Debian Edu Buster
- /usr/share/desktop-base/debian-edu-buster-theme/wallpaper/gnome-background.xml
- zoom
- #ffffff
- #000000
-
-
-
- Debian Edu Buster Lock Screen
- /usr/share/desktop-base/debian-edu-buster-theme/lockscreen/gnome-background.xml
- zoom
- #ffffff
- #000000
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/plymouth/Makefile.am debian-edu-artwork-2.13.6/art-buster/plymouth/Makefile.am
--- debian-edu-artwork-2.13.0/art-buster/plymouth/Makefile.am 2020-05-04 04:41:23.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/plymouth/Makefile.am 1970-01-01 00:00:00.000000000 +0000
@@ -1,29 +0,0 @@
-THEME = buster
-plymouthdir = $(datadir)/plymouth/themes/debian-edu-$(THEME)
-plymouth_DATA = \
- background.png \
- debian-edu-logo.png \
- logo_circle.png \
- password_dot16.png \
- password_dot.png \
- password_field16.png \
- password_field.png \
- debian-edu-$(THEME).plymouth \
- debian-edu-$(THEME).script
-
-background.png: debian-edu-$(THEME)-plymouth.svg
- inkscape --export-filename=$@ $^
- optipng -o4 -i0 -fix $@
- advpng -z4 $@
-
-debian-edu-logo.png: debian-edu-$(THEME)-logo.svg
- inkscape --export-filename=$@ $^
- optipng -o4 -i0 -fix $@
- advpng -z4 $@
-
-install-data-local:
- $(mkinstalldirs) $(DESTDIR)$(plymouthdir)
-
-EXTRA_DIST = $(plymouth_DATA)
-
-CLEANFILES = background.png debian-edu-logo.png
diff -Nru debian-edu-artwork-2.13.0/art-buster/plymouth/README debian-edu-artwork-2.13.6/art-buster/plymouth/README
--- debian-edu-artwork-2.13.0/art-buster/plymouth/README 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/plymouth/README 1970-01-01 00:00:00.000000000 +0000
@@ -1 +0,0 @@
-The password* and logo_circle PNG files are taken from the stock Debian theme.
diff -Nru debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster-logo.svg debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster-logo.svg
--- debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster-logo.svg 2020-05-04 04:41:23.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster-logo.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,173 +0,0 @@
-
-
-
-
diff -Nru debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster-plymouth.svg debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster-plymouth.svg
--- debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster-plymouth.svg 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster-plymouth.svg 1970-01-01 00:00:00.000000000 +0000
@@ -1,160 +0,0 @@
-
-
-
-
\ No newline at end of file
diff -Nru debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster.plymouth debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster.plymouth
--- debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster.plymouth 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster.plymouth 1970-01-01 00:00:00.000000000 +0000
@@ -1,8 +0,0 @@
-[Plymouth Theme]
-Name=Default theme for Debian Edu 10 Buster
-Description=A theme that features 'futurePrototype' by Alex Makas and the Debian Edu logo on a blue background
-ModuleName=script
-
-[script]
-ImageDir=/usr/share/plymouth/themes/debian-edu-buster
-ScriptFile=/usr/share/plymouth/themes/debian-edu-buster/debian-edu-buster.script
diff -Nru debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster.script debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster.script
--- debian-edu-artwork-2.13.0/art-buster/plymouth/debian-edu-buster.script 2018-12-04 13:05:02.000000000 +0000
+++ debian-edu-artwork-2.13.6/art-buster/plymouth/debian-edu-buster.script 1970-01-01 00:00:00.000000000 +0000
@@ -1,1064 +0,0 @@
-# futureprototype.script - boot splash using script plugin
-#
-# Copyright (C) 2009 Canonical Ltd.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-#
-# Written by: Alberto Milone
-#
-# Based on the example provided with the "script plugin" written by:
-# Charlie Brej
-#
-# Soft Waves theme scripting by Juliette Taka BELIN and Aurélien COUDERC
-# futureprototype by Alex Makas based on Soft Waves, only graphics modification really
-
-
-#------------------------------- Constants -----------------------------------------
-NB_ROTATION_STEPS = 70;
-NB_REFRESHS_BETWEEN_ANIMS = 3;
-
-# Initial position of the center of the logo in % of background
-DEBIAN_POS_PCT.y = 0.65; # Debian image position in % of screen height
-DEBIAN_HEIGHT_PCT = 0.07; # Debian image height in % of smallest screen dimension
-LOGO_CENTER_PCT.x = 0.5; # Debian swirl image position in % of screen height & width
-LOGO_CENTER_PCT.y = 0.442;
-LOGO_SIZE_PCT = 0.18; # Debian swirl image size in % of smallest screen dimension
-
-#------------------------------- Globals -------------------------------------------
-# are we currently prompting for a password?
-prompt_active = 0;
-
-# Globals to share progress time / percent with intersted functions
-progress_time = 0;
-progress_pct = 0;
-
-# Variables for glow rotation animation
-anim_start_time = NULL;
-anim_status = "stopped";
-refresh_iter = 0;
-anim_iter = 0;
-
-#-----------------------------Text-image functions----------------------------
-
-# Set the text colour in (rgb / 256)
-text_colour.red = 1.0;
-text_colour.green = 1.0;
-text_colour.blue = 1.0;
-
-# Tinted text #988592
-tinted_text_colour.red = 1.0;
-tinted_text_colour.green = 1.0;
-tinted_text_colour.blue = 1.0;
-
-# Action Text - #ffffff - RGB 255 255 255
-action_text_colour.red = 1.0;
-action_text_colour.green = 1.0;
-action_text_colour.blue = 1.0;
-
-# Orange - #ff4012 - RGB 255 64 18
-debugsprite = Sprite();
-debugsprite_bottom = Sprite();
-debugsprite_bottom.SetPosition(0, (Window.GetHeight (0) - 20), 1);
-debugsprite_medium = Sprite();
-debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 100), 1);
-
-# General purpose function to create text
-fun WriteText (text, colour) {
- image = Image.Text (text, colour.red, colour.green, colour.blue);
- return image;
-}
-
-fun ImageFromText (text) {
- image = WriteText (text, text_colour);
- return image;
-}
-
-fun ImageFromTintedText (text) {
- image = WriteText (text, tinted_text_colour);
- return image;
-}
-
-fun ImageFromActionText (text) {
- image = WriteText (text, action_text_colour);
- return image;
-}
-
-fun Debug(text) {
- debugsprite.SetImage(ImageFromText (text));
-}
-
-fun DebugBottom(text) {
- debugsprite_bottom.SetImage(ImageFromText (text));
-}
-
-fun DebugMedium(text) {
- debugsprite_medium.SetImage(ImageFromText (text));
-}
-
-#Debug("Window.GetHeight(0) = " + Window.GetHeight(0));
-fun TextYOffset() {
- local.y;
- local.text_height;
- local.min_height;
-
- # Put the 1st line below the logo + some spacing
- y = debian_sprite.GetY() + debian.GetHeight();
- #Debug("y = " + y);
-
- text_height = first_line_height * 7.5;
- min_height = Window.GetHeight();
- #Debug("text_height=" + text_height + "; min_height=" + min_height);
-
- if (y + text_height > min_height)
- y = min_height - text_height;
-
- return y;
-}
-
-
-#----------------------------- Screen/window setup ---------------------------
-# Compute screen/image ratio and scale the background accordingly
-window_max.width = Window.GetX() * 2 + Window.GetWidth();
-window_max.height = Window.GetY() * 2 + Window.GetHeight();
-screen_ratio = window_max.width / window_max.height;
-small_dimension = Math.Min(window_max.width, window_max.height);
-#Debug("Window.GetX():" + Window.GetX() + ", Window.GetY():" + Window.GetY());
-#Debug("Window is [" + window_max.width + ";" + window_max.height + "], ratio=" + screen_ratio);
-
-debian_height = small_dimension * DEBIAN_HEIGHT_PCT;
-debian_pos.y = window_max.height * DEBIAN_POS_PCT.y - debian_height/2;
-logo_size = small_dimension * LOGO_SIZE_PCT;
-logo_center.x = window_max.width * LOGO_CENTER_PCT.x;
-logo_center.y = window_max.height * LOGO_CENTER_PCT.y;
-#Debug("Logo center at [" + logo_center.x + ";" + logo_center.y + "], size=" + logo_size + "px");
-
-logo_pos.x = logo_center.x - logo_size/2;
-logo_pos.y = logo_center.y - logo_size/2;
-
-#------------------------------- Background ----------------------------------------
-bg_image = Image("background.png");
-bg_image_ratio = bg_image.GetWidth() / bg_image.GetHeight();
-if (screen_ratio > bg_image_ratio)
- bg_scale_factor = window_max.width / bg_image.GetWidth();
-else
- bg_scale_factor = window_max.height / bg_image.GetHeight();
-scaled_bg_image = bg_image.Scale(bg_image.GetWidth() * bg_scale_factor,
- bg_image.GetHeight() * bg_scale_factor);
-
-# Display background
-bg_sprite = Sprite(scaled_bg_image);
-bg_sprite.SetPosition(Window.GetX() + Window.GetWidth() / 2 - scaled_bg_image.GetWidth() / 2,
- Window.GetY() + Window.GetHeight() / 2 - scaled_bg_image.GetHeight() / 2,
- -1000);
-
-#------------------------------- Debian ----------------------------------------------
-debian = Image("debian-edu-logo.png");
-# Target same height as logo
-debian_scale_factor = debian_height / debian.GetHeight();
-debian = debian.Scale(debian.GetWidth() * debian_scale_factor,
- debian.GetHeight() * debian_scale_factor);
-debian_sprite = Sprite(debian);
-debian_sprite.SetPosition(window_max.width / 2 - debian.GetWidth() / 2,
- debian_pos.y,
- -90);
-
-#------------------------------- Logo ----------------------------------------------
-logo = Image("logo.png");
-logo_scale_factor = logo_size / logo.GetWidth();
-logo = logo.Scale(logo.GetWidth() * logo_scale_factor,
- logo.GetHeight() * logo_scale_factor);
-logo_to_top_edge = Window.GetHeight() * 0.3;
-logo_sprite = Sprite(logo);
-logo_sprite.SetPosition(logo_pos.x, logo_pos.y, -50);
-
-
-logo_glow = Image("logo_circle.png");
-logo_glow_scale_factor = logo_size / logo_glow.GetWidth();
-logo_glow[0] = logo_glow.Scale(logo_glow.GetWidth() * logo_glow_scale_factor,
- logo_glow.GetHeight() * logo_glow_scale_factor);
-logo_glow_sprite = Sprite();
-logo_glow_sprite.SetPosition(logo_pos.x, logo_pos.y, -60);
-logo_glow_sprite.SetImage(logo_glow[0]);
-
-
-
-#------------------------------String functions-------------------------------
-
-# This is the equivalent for strstr()
-fun StringString(string, substring) {
- start = 0;
- while (String(string).CharAt (start)) {
- walk = 0;
- while (String(substring).CharAt (walk) == String(string).CharAt (start + walk) ) {
- walk++;
- if (!String(substring).CharAt (walk)) return start;
- }
- start++;
- }
-
- return NULL;
-}
-
-fun StringLength (string) {
- index = 0;
- while (String(string).CharAt(index)) index++;
- return index;
-}
-
-fun StringCopy (source, beginning, end) {
- local.destination = "";
- for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) {
- local.destination += String(source).CharAt(index);
- }
-
- return local.destination;
-}
-
-fun StringReplace (source, pattern, replacement) {
- local.found = StringString(source, pattern);
- if (local.found == NULL)
- return source;
-
- local.new_string = StringCopy (source, 0, local.found - 1) +
- replacement +
- StringCopy (source, local.found + StringLength(pattern), NULL);
-
- return local.new_string;
-}
-
-# it makes sense to use it only for
-# numbers up to 100
-fun StringToInteger (str) {
- int = -1;
- for (i=0; i<=100; i++) {
- if (i+"" == str) {
- int = i;
- break;
- }
- }
- return int;
-}
-
-#-----------------------------------------------------------------------------
-# Top background colour
-# #489291 --> 0.282, 0.572, 0.569
-# New background colour
-# #0a3649 --> 0.039, 0.212, 0.286
-#
-Window.SetBackgroundTopColor (0.282, 0.572, 0.569); # Nice colour on top of the screen fading to
-Window.SetBackgroundBottomColor (0.039, 0.212, 0.286); # an equally nice colour on the bottom
-
-bits_per_pixel = Window.GetBitsPerPixel ();
-# TODO need to handle 16 colors ?
-#if (bits_per_pixel == 4) {
-# logo_filename = "debian_logo16.png";
-# progress_dot_off_filename = "progress_dot_off16.png";
-# progress_dot_on_filename = "progress_dot_on16.png";
-# password_dot_filename = "password_dot.png";
-# password_field_filename = "password_field16.png";
-#} else {
-# logo_filename = "debian_logo.png";
-# progress_dot_off_filename = "progress_dot_off.png";
-# progress_dot_on_filename = "progress_dot_on.png";
- password_dot_filename = "password_dot.png";
- password_field_filename = "password_field.png";
-#}
-
-message_notification[0].image = ImageFromTintedText ("");
-message_notification[1].image = ImageFromTintedText ("");
-fsck_notification.image = ImageFromActionText ("");
-
-status = "normal";
-
-# use a fixed string with ascending and descending stems to calibrate the
-# bounding box for the first message, so the messages below don't move up
-# and down according to *their* height.
-first_line_height = ImageFromTintedText ("AfpqtM").GetHeight();
-
-# if the user has a 640x480 or 800x600 display, we can't quite fit everything
-# (including passphrase prompts) with the target spacing, so scoot the text up
-# a bit if needed.
-top_of_the_text = TextYOffset();
-
-
-#-------------------------------Progress Indicator-----------------------------
-# Implement in boot progress callback
-fun animate_progress_indicator (time, progress) {
- progress_time = time;
- progress_pct = progress;
-
- #Debug ("mode = " + Plymouth.GetMode() + ", progress_time = " + progress_time + ", progress_pct = " + progress_pct);
-
-}
-
-
-#-----------------------------------------Label utility functions---------------------
-
-# label should be either a string or NULL
-# Images for n lines will be created and returned as items of the
-# message_label array
-#
-fun get_message_label (label, is_fake, is_action_line) {
- #Debug("Get Label position");
- local.message_label;
-
- if (is_fake)
- # Create a fake label so as to get the y coordinate of
- # a standard-length label.
- local.message_image = ImageFromTintedText ("This is a fake message");
- else
- local.message_image = (is_action_line) && ImageFromActionText (label) || ImageFromTintedText (label);
-
- message_label.width = message_image.GetWidth ();
- message_label.height = message_image.GetHeight ();
-
- # Center the line horizontally
- message_label.x = Window.GetX () + Window.GetWidth () / 2 - message_label.width / 2;
-
- message_label.y = top_of_the_text;
-
- # Put the 2nd line below the fsck line
- if (is_action_line) {
- local.fsck_label.y = message_label.y + (first_line_height + first_line_height / 2);
- message_label.y = local.fsck_label.y + (first_line_height * 1.5);
- }
-
- #Debug("action label x = " + message_label.x + " y = " + message_label.y );
-
-# message_debug = "msg_x = " + message_label.x + " msg_y = " + message_label.y +
-# "msg_width = " + message_label.width + " msg_height = " +
-# message_label.height + " message = " + label;
-# Debug(message_debug);
-
- return message_label;
-
-}
-
-# Create an fsck label and/or get its position
-fun get_fsck_label (label, is_fake) {
- # Debug("Get Label position");
- local.fsck_label = global.progress_label;
-
- if (is_fake)
- fsck_label.image = ImageFromTintedText ("This is a fake message");
- else
- fsck_label.image = ImageFromTintedText (label);
-
- fsck_label.width = fsck_label.image.GetWidth ();
- fsck_label.height = fsck_label.image.GetHeight ();
-
- # Centre the label horizontally
- fsck_label.x = Window.GetX () + Window.GetWidth () / 2 - fsck_label.width / 2;
-
- local.first_label = get_message_label (label, 1, 0);
-
- # Place the label below the 1st message line
- fsck_label.y = local.first_label.y + local.first_label.height + (local.first_label.height / 2);
-
-# message_debug = "msg_x = " + fsck_label.x + " msg_y = " + fsck_label.y +
-# "msg_width = " + fsck_label.width + " msg_height = " +
-# fsck_label.height + " message = " + label;
-# Debug(message_debug);
-
- return fsck_label;
-}
-
-#-----------------------------------------Message stuff --------------------------------
-#
-
-# Set up a message label
-#
-# NOTE: this is called when doing something like 'plymouth message "hello world"'
-#
-fun setup_message (message_text, x, y, z, index) {
- #DebugMedium("Message setup: " + message_text);
- global.message_notification[index].image = (index) && ImageFromActionText (message_text) || ImageFromTintedText (message_text);
-
- # Set up the text message, if any
- message_notification[index].x = x;
- message_notification[index].y = y;
- message_notification[index].z = z;
-
- message_notification[index].sprite = Sprite ();
- message_notification[index].sprite.SetImage (message_notification[index].image);
- message_notification[index].sprite.SetX (message_notification[index].x);
- message_notification[index].sprite.SetY (message_notification[index].y);
- message_notification[index].sprite.SetZ (message_notification[index].z);
-
-}
-
-fun show_message (index) {
- if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(1);
-}
-
-fun hide_message (index) {
- if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(0);
-}
-
-
-
-
-# the callback function is called when new message should be displayed.
-# First arg is message to display.
-fun message_callback (message)
-{
- # Debug("Message callback");
- is_fake = 0;
- if (!message || (message == "")) is_fake = 1;
-
- local.substring = "keys:";
-
- # Look for the "keys:" prefix
- local.keys = StringString(message, local.substring);
-
- local.is_action_line = (keys != NULL);
- #Debug("keys " + local.keys + " substring length = " + StringLength(local.substring));
-
- # Get the message without the "keys:" prefix
- if (keys != NULL)
- message = StringCopy (message, keys + StringLength(local.substring), NULL);
-
- # Get the message without the "fsckd-cancel-msg" prefix as we don't support i18n
- substring = "fsckd-cancel-msg:";
- keys = StringString(message, substring);
- if (keys != NULL)
- message = StringCopy(message, keys + StringLength(substring), NULL);
-
- local.label.is_fake = is_fake;
- label = get_message_label(message, is_fake, is_action_line);
- label.z = 10000;
-
- setup_message (message, label.x, label.y, label.z, is_action_line);
- if (prompt_active && local.is_action_line)
- hide_message (is_action_line);
- else
- show_message (is_action_line);
-
-}
-
-
-#-----------------------------------------Display Password stuff -----------------------
-#
-
-fun password_dialogue_setup (message_label) {
- #Debug("Password dialog setup");
-
- local.entry;
- local.bullet_image;
-
- bullet_image = Image (password_dot_filename);
- entry.image = Image (password_field_filename);
-
- # Hide the normal labels
- prompt_active = 1;
- if (message_notification[1].sprite) hide_message (1);
-
- # Set the prompt label
- label = get_message_label(message_label, 0, 1);
- label.z = 10000;
-
- setup_message (message_label, label.x, label.y, label.z, 2);
- show_message (2);
-
- # Set up the text entry which contains the bullets
- entry.sprite = Sprite ();
- entry.sprite.SetImage (entry.image);
-
- # Centre the box horizontally
- entry.x = Window.GetX () + Window.GetWidth () / 2 - entry.image.GetWidth () / 2;
-
- # Put the entry below the second label.
- entry.y = message_notification[2].y + label.height * 1.5;
-
- #DebugMedium("entry x = " + entry.x + ", y = " + entry.y);
- entry.z = 10000;
- entry.sprite.SetX (entry.x);
- entry.sprite.SetY (entry.y);
- entry.sprite.SetZ (entry.z);
-
- global.password_dialogue = local;
-}
-
-fun password_dialogue_opacity (opacity) {
- #Debug("Setting password dialog opacity to " + opacity);
- global.password_dialogue.opacity = opacity;
- local = global.password_dialogue;
-
- # You can make the box translucent with a float
- # entry.sprite.SetOpacity (0.3);
- entry.sprite.SetOpacity (opacity);
- label.sprite.SetOpacity (opacity);
-
- if (bullets) {
- for (index = 0; bullets[index]; index++) {
- bullets[index].sprite.SetOpacity (opacity);
- }
- }
-}
-
-
-# The callback function is called when the display should display a password dialogue.
-# First arg is prompt string, the second is the number of bullets.
-fun display_password_callback (prompt, bullets) {
- #Debug("Password dialog setup");
-
- global.status = "password";
- if (!global.password_dialogue) password_dialogue_setup(prompt);
- password_dialogue_opacity (1);
- bullet_width = password_dialogue.bullet_image.GetWidth();
- bullet_y = password_dialogue.entry.y +
- password_dialogue.entry.image.GetHeight () / 2 -
- password_dialogue.bullet_image.GetHeight () / 2;
- margin = bullet_width;
- spaces = Math.Int( (password_dialogue.entry.image.GetWidth () - (margin * 2)) / (bullet_width / 2 ) );
- #DebugMedium ("spaces = " + spaces + ", bullets = " + bullets);
- bullets_area.width = margin + spaces * (bullet_width / 2);
- bullets_area.x = Window.GetX () + Window.GetWidth () / 2 - bullets_area.width / 2;
- #DebugBottom ("pwd_entry (x,y) = " + password_dialogue.entry.x + "," + password_dialogue.entry.y
- # + "), bullets_area.x = " + bullets_area.x + ", bullets_area.width = " + bullets_area.width);
- if (bullets > spaces)
- bullets = spaces;
- for (index = 0; password_dialogue.bullets[index] || index < bullets; index++){
- if (!password_dialogue.bullets[index]) {
- password_dialogue.bullets[index].sprite = Sprite ();
- password_dialogue.bullets[index].sprite.SetImage (password_dialogue.bullet_image);
- password_dialogue.bullets[index].x = bullets_area.x + # password_dialogue.entry.x + margin +
- index * bullet_width / 2;
- password_dialogue.bullets[index].sprite.SetX (password_dialogue.bullets[index].x);
- password_dialogue.bullets[index].y = bullet_y;
- password_dialogue.bullets[index].sprite.SetY (password_dialogue.bullets[index].y);
- password_dialogue.bullets[index].z = password_dialogue.entry.z + 1;
- password_dialogue.bullets[index].sprite.SetZ (password_dialogue.bullets[index].z);
- }
-
- password_dialogue.bullets[index].sprite.SetOpacity (0);
-
- if (index < bullets) {
- password_dialogue.bullets[index].sprite.SetOpacity (1);
- }
- }
-}
-
-Plymouth.SetDisplayPasswordFunction (display_password_callback);
-
-Plymouth.SetMessageFunction (message_callback);
-
-Plymouth.SetBootProgressFunction (animate_progress_indicator);
-
-# Plymouth.SetBootProgressFunction: the callback function is called with two numbers, the progress (between 0 and 1) and the time spent booting so far
-# Plymouth.SetRootMountedFunction: the callback function is called when a new root is mounted
-# Plymouth.SetKeyboardInputFunction: the callback function is called with a string containing a new character entered on the keyboard
-
-#----------------------------------------- FSCK Counter --------------------------------
-
-# Initialise the counter
-fun init_fsck_count () {
- # The number of fsck checks in this cycle
- global.counter.total = 0;
- # The number of fsck checks already performed + the current one
- global.counter.current = 1;
- # The previous fsck
- global.counter.last = 0;
-}
-
-# Increase the total counter
-fun increase_fsck_count () {
- global.counter.total++;
-}
-
-fun increase_current_fsck_count () {
- global.counter.last = global.counter.current++;
-}
-
-# Clear the counter
-fun clear_fsck_count () {
- global.counter = NULL;
- init_fsck_count ();
-}
-
-#----------------------------------------- Progress Label ------------------------------
-
-
-# Change the opacity level of a progress label
-#
-# opacity = 1 -> show
-# opacity = 0 -> hide
-# opacity = 0.3 (or any other float) -> translucent
-#
-fun set_progress_label_opacity (opacity) {
- # the label
- progress_label.sprite.SetOpacity (opacity);
-
- # Make the slot available again when hiding the bar
- # So that another bar can take its place
- if (opacity == 0) {
- progress_label.is_available = 1;
- progress_label.device = "";
- }
-}
-
-# Set up a new Progress Bar
-#
-# TODO: Make it possible to reuse (rather than recreate) a bar
-# if .is_available = 1. Ideally this would just reset the
-# label, the associated
-# device and the image size of the sprite.
-
-fun init_progress_label (device, status_string) {
- # Make the slot unavailable
- global.progress_label.is_available = 0;
- progress_label.progress = 0;
- progress_label.device = device;
- progress_label.status_string = status_string;
-}
-
-# See if the progress label is keeping track of the fsck
-# of "device"
-#
-fun device_has_progress_label (device) {
- #DebugBottom ("label device = " + progress_label.device + " checking device " + device);
- return (progress_label.device == device);
-}
-
-# Update the Progress bar which corresponds to index
-#
-fun update_progress_label (progress) {
- # If progress is NULL then we just refresh the label.
- # This happens when only counter.total has changed.
- if (progress != NULL) {
- progress_label.progress = progress;
-
- #Debug("device " + progress_label.device + " progress " + progress);
-
- # If progress >= 100% hide the label and make it available again
- if (progress >= 100) {
- set_progress_label_opacity (0);
-
- # See if we any other fsck check is complete
- # and, if so, hide the progress bars and the labels
- on_fsck_completed ();
-
- return 0;
- }
- }
- # Update progress label here
- #
- # FIXME: the queue logic from this theme should really be moved into mountall
- # instead of using string replacement to deal with localised strings.
- label = StringReplace (progress_label.status_string[0], "%1$d", global.counter.current);
- label = StringReplace (label, "%2$d", global.counter.total);
- label = StringReplace (label, "%3$d", progress_label.progress);
- label = StringReplace (label, "%%", "%");
-
- progress_label = get_fsck_label (label, 0);
- #progress_label.progress = progress;
-
- progress_label.sprite = Sprite (progress_label.image);
-
- # Set up the bar
- progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1);
-
- set_progress_label_opacity (1);
-
-}
-
-# Refresh the label so as to update counters
-fun refresh_progress_label () {
- update_progress_label (NULL);
-}
-
-#----------------------------------------- FSCK Queue ----------------------------------
-
-# Initialise the fsck queue
-fun init_queue () {
- global.fsck_queue[0].device;
- global.fsck_queue[0].progress;
- global.fsck_queue.counter = 0;
- global.fsck_queue.biggest_item = 0;
-}
-
-fun clear_queue () {
- global.fsck_queue = NULL;
- init_queue ();
-}
-
-# Return either the device index in the queue or -1
-fun queue_look_up_by_device (device) {
- for (i=0; i <= fsck_queue.biggest_item; i++) {
- if ((fsck_queue[i]) && (fsck_queue[i].device == device))
- return i;
- }
- return -1;
-}
-
-# Keep track of an fsck process in the queue
-fun add_fsck_to_queue (device, progress) {
- # Look for an empty slot in the queue
- for (i=0; global.fsck_queue[i].device; i++) {
- continue;
- }
- local.index = i;
-
- # Set device and progress
- global.fsck_queue[local.index].device = device;
- global.fsck_queue[local.index].progress = progress;
-
- # Increase the queue counter
- global.fsck_queue.counter++;
-
- # Update the max index of the array for iterations
- if (local.index > global.fsck_queue.biggest_item)
- global.fsck_queue.biggest_item = local.index;
-
- #DebugMedium ("Adding " + device + " at " + local.index);
-}
-
-fun is_queue_empty () {
- return (fsck_queue.counter == 0);
-}
-
-fun is_progress_label_available () {
- return (progress_label.is_available == 1);
-}
-
-
-# This should cover the case in which the fsck checks in
-# the queue are completed before the ones showed in the
-# progress label
-fun on_queued_fsck_completed () {
- if (!is_queue_empty ())
- return;
-
- # Hide the extra label, if any
- #if (progress_bar.extra_label.sprite)
- # progress_bar.extra_label.sprite.SetOpacity(0);
-}
-
-fun remove_fsck_from_queue (index) {
- # Free memory which was previously allocated for
- # device and progress
- global.fsck_queue[index].device = NULL;
- global.fsck_queue[index].progress = NULL;
-
- # Decrease the queue counter
- global.fsck_queue.counter--;
-
- # See if there are other processes in the queue
- # if not, clear the extra_label
- on_queued_fsck_completed ();
-}
-
-fun on_fsck_completed () {
- # We have moved on to tracking the next fsck
- increase_current_fsck_count ();
-
- if (!is_progress_label_available ())
- return;
-
- if (!is_queue_empty ())
- return;
-
- # Hide the progress label
- if (progress_label.sprite)
- progress_label.sprite.SetOpacity (0);
-
- # Clear the queue
- clear_queue ();
-
- # Clear the fsck counter
- clear_fsck_count ();
-}
-
-# Update an fsck process that we keep track of in the queue
-fun update_progress_in_queue (index, device, progress) {
- # If the fsck is complete, remove it from the queue
- if (progress >= 100) {
- remove_fsck_from_queue (index);
- on_queued_fsck_completed ();
- return;
- }
-
- global.fsck_queue[index].device = device;
- global.fsck_queue[index].progress = progress;
-
-}
-
-# TODO: Move it to some function
-# Create an empty queue
-#init_queue ();
-
-
-#----------------------------------------- FSCK Functions ------------------------------
-
-
-# Either add a new bar for fsck checks or update an existing bar
-#
-# NOTE: no more than "progress_bar.max_number" bars are allowed
-#
-fun fsck_check (device, progress, status_string) {
-
- # The 1st time this will take place
- if (!global.progress_label) {
- # Increase the fsck counter
- increase_fsck_count ();
-
- # Set up a new label for the check
- init_progress_label (device, status_string);
- update_progress_label (progress);
-
- return;
- }
-
-
- if (device_has_progress_label (device)) {
- # Update the progress of the existing label
- update_progress_label (progress);
- }
- else {
- # See if there's already a slot in the queue for the device
- local.queue_device_index = queue_look_up_by_device(device);
-
- # See if the progress_label is available
- if (progress_label.is_available) {
-
-# local.my_string = "available index " + local.available_index + " progress_bar counter is " + progress_bar.counter;
-# Debug(local.my_string);
-
-
- # If the fsck check for the device was in the queue, then
- # remove it from the queue
- if (local.queue_device_index >= 0) {
- remove_fsck_from_queue (index);
- }
- else {
- # Increase the fsck counter
- increase_fsck_count ();
- }
-
-# local.my_string += local.message;
- #Debug("setting new label for device " + device + " progress " + progress);
-
- # Set up a new label for the check
- init_progress_label (device, status_string);
- update_progress_label (progress);
-
- }
- # If the progress_label is not available
- else {
-
- # If the fsck check for the device is already in the queue
- # just update its progress in the queue
- if (local.queue_device_index >= 0) {
- #DebugMedium("Updating queue at " + local.queue_device_index + " for device " + device);
- update_progress_in_queue (local.queue_device_index, device, progress);
- }
- # Otherwise add the check to the queue
- else {
- #DebugMedium("Adding device " + device + " to queue at " + local.queue_device_index);
- add_fsck_to_queue (device, progress);
-
- # Increase the fsck counter
- increase_fsck_count ();
-
- refresh_progress_label ();
- }
-
- }
- }
-
-# if (!is_queue_empty ()) {
-# DebugBottom("Extra label for "+ device);
- #}
-# else {
-# DebugBottom("No extra label for " + device + ". 1st Device in the queue "+ fsck_queue[0].device + " counter = " + global.fsck_queue.counter);
-# }
-}
-
-
-#-----------------------------------------Update Status stuff --------------------------
-#
-# The update_status_callback is what we can use to pass plymouth whatever we want so
-# as to make use of features which are available only in this program (as opposed to
-# being available for any theme for the script plugin).
-#
-# Example:
-#
-# Thanks to the current implementation, some scripts can call "plymouth --update=fsck:sda1:40"
-# and this program will know that 1) we're performing and fsck check, 2) we're checking sda1,
-# 3) the program should set the label progress to 40%
-#
-# Other features can be easily added by parsing the string that we pass plymouth with "--update"
-#
-fun update_status_callback (status) {
-# Debug(status);
- if (!status) return;
-
- string_it = 0;
- update_strings[string_it] = "";
-
- for (i=0; (String(status).CharAt(i) != ""); i++) {
- local.temp_char = String(status).CharAt(i);
- if (temp_char != ":")
- update_strings[string_it] += temp_char;
- else
- update_strings[++string_it] = "";
- }
-
-# my_string = update_strings[0] + " " + update_strings[1] + " " + update_strings[2];
-# Debug(my_string);
- # Let's assume that we're dealing with these strings fsck:sda1:40
- if ((string_it >= 2) && (update_strings[0] == "fsck")) {
-
- device = update_strings[1];
- progress = update_strings[2];
- status_string[0] = update_strings[3]; # "Checking disk %1$d of %2$d (%3$d %% complete)"
- if (!status_string[0])
- status_string[0] = "Checking disk %1$d of %2$d (%3$d %% complete)";
-
- if ((device != "") && (progress != "")) {
- progress = StringToInteger (progress);
-
- # Make sure that the fsck_queue is initialised
- if (!global.fsck_queue)
- init_queue ();
-
- # Make sure that the fsck counter is initialised
- if (!global.counter)
- init_fsck_count ();
-
-# if (!global.progress_bar.extra_label.sprite)
-# create_extra_fsck_label ();
-
- # Keep track of the fsck check
- fsck_check (device, progress, status_string);
- }
-
- }
-
- # systemd-fsckd pass fsckd::