From e41838ce0e500188786a71371f5e2ccb02888041 Mon Sep 17 00:00:00 2001 From: ayhanyalcinsoy Date: Tue, 26 Jan 2016 13:44:44 +0200 Subject: [PATCH] plymouth:moved into main for pisi 2.0 --- system/boot/plymouth/actions.py | 58 +++ .../plymouth/files/fedora/charge.plymouth | 13 + .../plymouth/files/fedora/fix-crash.patch | 137 +++++++ .../mageia/plymouth-restore-suspend.patch | 49 +++ .../files/pisilinux/actions.py.uclibc | 116 ++++++ .../files/pisilinux/adapt-theme-script.patch | 11 + .../files/pisilinux/add-pisilinux-theme.patch | 31 ++ .../plymouth/files/pisilinux/boot-duration | 25 ++ .../disable-source-code-tracing.patch | 15 + .../files/pisilinux/generate-flist.py | 74 ++++ .../files/pisilinux/images/shiny-head.png | Bin 0 -> 16818 bytes .../files/pisilinux/images/white-head.png | Bin 0 -> 14609 bytes .../plymouth/files/pisilinux/initramfs.files | 35 ++ system/boot/plymouth/files/tmpfiles.conf | 1 + system/boot/plymouth/pspec.xml | 386 ++++++++++++++++++ system/boot/plymouth/translations.xml | 44 ++ 16 files changed, 995 insertions(+) create mode 100644 system/boot/plymouth/actions.py create mode 100644 system/boot/plymouth/files/fedora/charge.plymouth create mode 100644 system/boot/plymouth/files/fedora/fix-crash.patch create mode 100644 system/boot/plymouth/files/mageia/plymouth-restore-suspend.patch create mode 100644 system/boot/plymouth/files/pisilinux/actions.py.uclibc create mode 100644 system/boot/plymouth/files/pisilinux/adapt-theme-script.patch create mode 100644 system/boot/plymouth/files/pisilinux/add-pisilinux-theme.patch create mode 100644 system/boot/plymouth/files/pisilinux/boot-duration create mode 100644 system/boot/plymouth/files/pisilinux/disable-source-code-tracing.patch create mode 100644 system/boot/plymouth/files/pisilinux/generate-flist.py create mode 100644 system/boot/plymouth/files/pisilinux/images/shiny-head.png create mode 100644 system/boot/plymouth/files/pisilinux/images/white-head.png create mode 100644 system/boot/plymouth/files/pisilinux/initramfs.files create mode 100644 system/boot/plymouth/files/tmpfiles.conf create mode 100644 system/boot/plymouth/pspec.xml create mode 100644 system/boot/plymouth/translations.xml diff --git a/system/boot/plymouth/actions.py b/system/boot/plymouth/actions.py new file mode 100644 index 0000000000..57a094fbcc --- /dev/null +++ b/system/boot/plymouth/actions.py @@ -0,0 +1,58 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/licenses/gpl.txt + +from pisi.actionsapi import get +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools + +LOGO_FILE = "/usr/share/pixmaps/plymouth-pisilinux.png" +THEMEPATH = "/usr/share/plymouth/themes" + +def setup(): + # /var/run => /run + pisitools.dosed("configure.ac", "^(\s+plymouthruntimedir=)\$localstatedir(\/run\/plymouth)", r"\1\2") + pisitools.dosed("src/Makefile.am", "^(plymouthdrundir\s=\s)\$\(localstatedir\)(\/run\/plymouth)", r"\1\2") + + autotools.autoreconf("-fis") + + # The end-start colors seems to be used by the two-step plugin + # Disable nouveau drm renderer as it causes hangs when starting X server + autotools.configure("--enable-tracing \ + --with-logo=%s \ + --with-release-file=/etc/pisilinux-release \ + --with-background-color=0x000000 \ + --with-background-end-color-stop=0x000000 \ + --with-background-start-color-stop=0x000000 \ + --with-system-root-install \ + --with-boot-tty=/dev/tty7 \ + --with-shutdown-tty=/dev/tty1 \ + --with-log-viewer \ + --disable-libdrm_nouveau \ + --disable-tests \ + --disable-static \ + --enable-gdm-transition \ + --without-rhgb-compat-link \ + --without-gdm-autostart-file" % LOGO_FILE) + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR='%s'" % get.installDIR()) + + # Copy necessary files for Charge theme + pisitools.dodir("%s/charge" % THEMEPATH) + for f in ("box", "bullet", "entry", "lock"): + shelltools.copy("%s%s/glow/%s.png" % (get.installDIR(), THEMEPATH, f), "%s%s/charge/" % (get.installDIR(), THEMEPATH)) + + # Remove glow theme as it's premature + pisitools.removeDir("/usr/share/plymouth/themes/glow") + + # Generate initramfs filelist + #shelltools.system("./generate-flist %s" % get.installDIR()) + + pisitools.dodoc("TODO", "COPYING", "README", "ChangeLog") diff --git a/system/boot/plymouth/files/fedora/charge.plymouth b/system/boot/plymouth/files/fedora/charge.plymouth new file mode 100644 index 0000000000..139594eda3 --- /dev/null +++ b/system/boot/plymouth/files/fedora/charge.plymouth @@ -0,0 +1,13 @@ +[Plymouth Theme] +Name=Charge +Description=A theme that features the shadowy hull of a Fedora logo charge up and and finally burst into into full form. +ModuleName=two-step + +[two-step] +ImageDir=/usr/share/plymouth/themes/charge +HorizontalAlignment=.5 +VerticalAlignment=.5 +Transition=none +TransitionDuration=0.0 +BackgroundStartColor=0x416fa7 +BackgroundEndColor=0x4b83c1 diff --git a/system/boot/plymouth/files/fedora/fix-crash.patch b/system/boot/plymouth/files/fedora/fix-crash.patch new file mode 100644 index 0000000000..66fbaad628 --- /dev/null +++ b/system/boot/plymouth/files/fedora/fix-crash.patch @@ -0,0 +1,137 @@ +From 6ccedf7b6ecdc8314ed97355cfe5499fffb13a1e Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 1 Nov 2012 17:04:33 -0400 +Subject: [PATCH 1/3] main: if deactivate when already deactivated return + immediately + +We were trying to ignore second deactivate requests, but +were instead crashing because we're trying to use a nullified +trigger. + +This commit makes sure things don't go crashy when a user +does "plymouth deactivate" on an already deactivated plymouthd. +--- + src/main.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/src/main.c b/src/main.c +index 88e5002..60ca28f 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -1135,7 +1135,13 @@ static void + on_deactivate (state_t *state, + ply_trigger_t *deactivate_trigger) + { +- if ((state->deactivate_trigger != NULL) || state->is_inactive) ++ if (state->is_inactive) ++ { ++ ply_trigger_pull (deactivate_trigger, NULL); ++ return; ++ } ++ ++ if (state->deactivate_trigger != NULL) + { + ply_trigger_add_handler (state->deactivate_trigger, + (ply_trigger_handler_t) +-- +1.7.12.1 + + +From b3548ebaf76d222f56d6a7b34c5940b930d47609 Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Thu, 1 Nov 2012 17:16:07 -0400 +Subject: [PATCH 2/3] two-step: don't update progress when idle + +We've already reach a state where we aren't drawing anymore, etc, +so don't update progress and potentially fire off animations +that won't be seen. +--- + src/plugins/splash/two-step/plugin.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/plugins/splash/two-step/plugin.c b/src/plugins/splash/two-step/plugin.c +index 2998beb..541a108 100644 +--- a/src/plugins/splash/two-step/plugin.c ++++ b/src/plugins/splash/two-step/plugin.c +@@ -1067,6 +1067,9 @@ on_boot_progress (ply_boot_splash_plugin_t *plugin, + if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL) + return; + ++ if (plugin->is_idle) ++ return; ++ + if (percent_done >= SHOW_ANIMATION_PERCENT) + { + if (plugin->stop_trigger == NULL) +-- +1.7.12.1 + + +From a6129abfc527ac247685d80fc5c20144be1badca Mon Sep 17 00:00:00 2001 +From: Ray Strode +Date: Fri, 2 Nov 2012 17:26:41 -0400 +Subject: [PATCH 3/3] main: make plymouth show-splash idempotent + +plymouth show-splash causes hairy things, that should only happen once, +like activating renderers to happen. + +This commit makes subsequent show-splash calls be no-ops. +--- + src/main.c | 13 +++++++++++++ + 1 file changed, 13 insertions(+) + +diff --git a/src/main.c b/src/main.c +index 60ca28f..ff06163 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -113,6 +113,7 @@ typedef struct + uint32_t should_be_attached : 1; + uint32_t should_retain_splash : 1; + uint32_t is_inactive : 1; ++ uint32_t is_shown : 1; + uint32_t should_force_details : 1; + + char *kernel_console_tty; +@@ -871,6 +872,12 @@ on_show_splash (state_t *state) + { + bool has_display; + ++ if (state->is_shown) ++ { ++ ply_trace ("show splash called while already shown"); ++ return; ++ } ++ + if (state->is_inactive) + { + ply_trace ("show splash called while inactive"); +@@ -884,6 +891,8 @@ on_show_splash (state_t *state) + return; + } + ++ state->is_shown = true; ++ + check_for_consoles (state, state->default_tty, true); + + has_display = ply_list_get_length (state->pixel_displays) > 0 || +@@ -1012,6 +1021,8 @@ dump_details_and_quit_splash (state_t *state) + if (state->boot_splash != NULL) + ply_boot_splash_hide (state->boot_splash); + ++ state->is_shown = false; ++ + quit_splash (state); + } + +@@ -1116,6 +1127,8 @@ on_boot_splash_idle (state_t *state) + ply_renderer_deactivate (state->renderer); + if (state->boot_splash != NULL) + ply_boot_splash_hide (state->boot_splash); ++ ++ state->is_shown = false; + } + + ply_trace ("quitting splash"); +-- +1.7.12.1 + diff --git a/system/boot/plymouth/files/mageia/plymouth-restore-suspend.patch b/system/boot/plymouth/files/mageia/plymouth-restore-suspend.patch new file mode 100644 index 0000000000..166ffceb3b --- /dev/null +++ b/system/boot/plymouth/files/mageia/plymouth-restore-suspend.patch @@ -0,0 +1,49 @@ +From 152304f3fd2ebd04ca6d49c62dce4ddd2269326a Mon Sep 17 00:00:00 2001 +From: Frederic Crozat +Date: Fri, 20 Jul 2012 11:07:29 +0200 +Subject: [PATCH] Revert "libply: remove the unused SPLASH_MODE_SUSPEND and + SPLASH_MODE_RESUME" + +This reverts commit 02c596757753589f7e49d26eab2759d552f24671. + +Conflicts: + src/libply-splash-core/ply-boot-splash-plugin.h + src/plugins/splash/script/script-lib-plymouth.c +--- + src/libply-splash-core/ply-boot-splash-plugin.h | 2 ++ + src/plugins/splash/script/script-lib-plymouth.c | 6 ++++++ + 2 files changed, 8 insertions(+) + +diff --git a/src/libply-splash-core/ply-boot-splash-plugin.h b/src/libply-splash-core/ply-boot-splash-plugin.h +index 2d73d66..1a67526 100644 +--- a/src/libply-splash-core/ply-boot-splash-plugin.h ++++ b/src/libply-splash-core/ply-boot-splash-plugin.h +@@ -38,6 +38,8 @@ typedef enum + { + PLY_BOOT_SPLASH_MODE_BOOT_UP, + PLY_BOOT_SPLASH_MODE_SHUTDOWN, ++ PLY_BOOT_SPLASH_MODE_SUSPEND, ++ PLY_BOOT_SPLASH_MODE_RESUME, + PLY_BOOT_SPLASH_MODE_UPDATES, + PLY_BOOT_SPLASH_MODE_INVALID + } ply_boot_splash_mode_t; +diff --git a/src/plugins/splash/script/script-lib-plymouth.c b/src/plugins/splash/script/script-lib-plymouth.c +index 5c648a6..eb7791e 100644 +--- a/src/plugins/splash/script/script-lib-plymouth.c ++++ b/src/plugins/splash/script/script-lib-plymouth.c +@@ -61,6 +61,12 @@ static script_return_t plymouth_get_mode (script_state_t *state, + case PLY_BOOT_SPLASH_MODE_SHUTDOWN: + obj = script_obj_new_string ("shutdown"); + break; ++ case PLY_BOOT_SPLASH_MODE_SUSPEND: ++ obj = script_obj_new_string ("suspend"); ++ break; ++ case PLY_BOOT_SPLASH_MODE_RESUME: ++ obj = script_obj_new_string ("resume"); ++ break; + case PLY_BOOT_SPLASH_MODE_UPDATES: + obj = script_obj_new_string ("updates"); + break; +-- +1.7.10.4 + diff --git a/system/boot/plymouth/files/pisilinux/actions.py.uclibc b/system/boot/plymouth/files/pisilinux/actions.py.uclibc new file mode 100644 index 0000000000..5d9e6b61be --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/actions.py.uclibc @@ -0,0 +1,116 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Copyright 2009-2010 TUBITAK/UEKAE +# Licensed under the GNU General Public License, version 2. +# See the file http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt + +from pisi.actionsapi import shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +UCLIBC_ROOT = "/usr/lib/uClibc/" +BUILD_FOR = ["system"] + +LOGO_FILE = "/usr/share/pixmaps/plymouth-pisilinux.png" +THEMEPATH = "/usr/share/plymouth/themes" + +# The end-start colors seems to be used by the two-step plugin +BASE_CONFIGURE_PARAMS = "--enable-tracing \ + --with-logo=%s \ + --with-release-file=/etc/pisilinux-release \ + --with-background-color=0x000000 \ + --with-background-end-color-stop=0x000000 \ + --with-background-start-color-stop=0x000000 \ + --with-system-root-install \ + --with-boot-tty=/dev/tty7 \ + --with-shutdown-tty=/dev/tty1 \ + --disable-tests \ + --disable-static \ + --disable-gdm-transition \ + --without-rhgb-compat-link \ + --without-gdm-autostart-file \ + --localstatedir=/var" % LOGO_FILE + + +def setup(): + autotools.autoreconf("-fis") + + for directory in BUILD_FOR: + shelltools.makedirs(directory) + shelltools.sym("../configure", "%s/configure" % directory) + +def build_with_glibc(): + shelltools.cd("system") + + autotools.configure(BASE_CONFIGURE_PARAMS) + + autotools.make() + shelltools.cd("..") + +def build_with_uclibc(): + shelltools.export("CC", "%s-uclibc-gcc" % get.ARCH()) + shelltools.export("LD", "%s-uclibc-ld" % get.ARCH()) + + shelltools.cd("uclibc") + + # Symlink zlib.h, zconf.h, xf86drm.h and xf86drmMode.h + shelltools.makedirs("include") + for header in ("zlib.h", "zconf.h", "xf86drm.h", "xf86drmMode.h"): + shelltools.sym("/usr/include/%s" % header, "include/%s" % header) + + shelltools.export("UCLIBC_GCC_INC", "-I%s/include" % get.curDIR()) + + autotools.configure("%s \ + --build=%s-pc-linux-uclibc \ + --libdir=%s/usr/lib \ + --prefix=%s/usr" % (BASE_CONFIGURE_PARAMS, + get.ARCH(), + UCLIBC_ROOT, + UCLIBC_ROOT)) + + # Don't build these as they'll bring a lot of dependencies + pisitools.dosed("src/Makefile", "viewer", "") + pisitools.dosed("src/plugins/controls/Makefile", "label", "") + + # Filter out generic targets + pisitools.dosed("Makefile", "^SUBDIRS.*$", "SUBDIRS = src") + + # Don't create /var/*/plymouth + pisitools.dosed("src/Makefile", "^.*\$\(MAKE\).*install-data-hook", "") + + # No need to x11 renderer in initramfs + pisitools.dosed("src/plugins/renderers/Makefile", "^(SUBDIRS = .*) x11", "\\1") + + autotools.make() + shelltools.cd("..") + +def build(): + build_with_glibc() + + if "uclibc" in BUILD_FOR: + build_with_uclibc() + +def install(): + shelltools.touch("Makefile") + if "uclibc" in BUILD_FOR: + autotools.rawInstall("-C uclibc DESTDIR='%s'" % get.installDIR()) + + autotools.rawInstall("-C system DESTDIR='%s'" % get.installDIR()) + + # Copy necessary files for Charge theme + pisitools.dodir("%s/charge" % THEMEPATH) + for f in ("box", "bullet", "entry", "lock"): + shelltools.copy("%s%s/glow/%s.png" % (get.installDIR(), THEMEPATH, f), "%s%s/charge/" % (get.installDIR(), THEMEPATH)) + + # Remove glow theme as it's premature + pisitools.removeDir("/usr/share/plymouth/themes/glow") + + # Remove fedora scripts + pisitools.remove("/usr/libexec/plymouth/*") + + # Generate initramfs filelist + #shelltools.system("./generate-flist %s" % get.installDIR()) + + pisitools.dodoc("TODO", "COPYING", "README", "ChangeLog") diff --git a/system/boot/plymouth/files/pisilinux/adapt-theme-script.patch b/system/boot/plymouth/files/pisilinux/adapt-theme-script.patch new file mode 100644 index 0000000000..f155dfda0c --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/adapt-theme-script.patch @@ -0,0 +1,11 @@ +Index: plymouth-0.8.3_20101018/scripts/plymouth-set-default-theme.in +=================================================================== +--- plymouth-0.8.3_20101018.orig/scripts/plymouth-set-default-theme.in ++++ plymouth-0.8.3_20101018/scripts/plymouth-set-default-theme.in +@@ -192,5 +192,5 @@ grep -q '^[[]Daemon[]]' ${PLYMOUTH_CONFD + sed -i -e '/^Theme[[:blank:]]*=.*/d' ${PLYMOUTH_CONFDIR}/plymouthd.conf + sed -i -e "s/^\([[]Daemon[]]\)\n*/\1\nTheme=${THEME_NAME}/" ${PLYMOUTH_CONFDIR}/plymouthd.conf + +-[ $DO_INITRD_REBUILD -ne 0 ] && (${PLYMOUTH_LIBEXECDIR}/plymouth/plymouth-update-initrd) ++[ $DO_INITRD_REBUILD -ne 0 ] && /sbin/mkinitramfs + exit 0 diff --git a/system/boot/plymouth/files/pisilinux/add-pisilinux-theme.patch b/system/boot/plymouth/files/pisilinux/add-pisilinux-theme.patch new file mode 100644 index 0000000000..fa38debbe9 --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/add-pisilinux-theme.patch @@ -0,0 +1,31 @@ +--- plymouth-0.8.8/themes/Makefile.am 2012-10-26 18:01:45.000000000 +0300 ++++ plymouth-0.8.8-esk/themes/Makefile.am 2013-01-15 05:00:46.920416669 +0200 +@@ -1,2 +1,2 @@ +-SUBDIRS = spinfinity fade-in text details solar glow script spinner ++SUBDIRS = spinfinity fade-in text details solar glow script spinner pisilinux + MAINTAINERCLEANFILES = Makefile.in +--- plymouth-0.8.8/src/plymouthd.conf 2012-10-26 18:01:45.000000000 +0300 ++++ plymouth-0.8.8-esk/src/plymouthd.conf 2013-01-15 05:04:34.391408794 +0200 +@@ -1,3 +1,3 @@ + # Administrator customizations go in this file + #[Daemon] +-#Theme=fade-in ++#Theme=pisilinux +--- plymouth-0.8.8/src/plymouthd.defaults 2012-10-26 18:01:45.000000000 +0300 ++++ plymouth-0.8.8-esk/src/plymouthd.defaults 2013-01-15 05:06:37.681404525 +0200 +@@ -1,4 +1,4 @@ + # Distribution defaults. Changes to this file will get overwritten during + # upgrades. + [Daemon] +-Theme=spinner ++Theme=pisilinux +--- plymouth-0.8.8/configure.ac 2012-10-26 18:01:45.000000000 +0300 ++++ plymouth-0.8.8-esk/configure.ac 2013-01-15 05:08:54.923399773 +0200 +@@ -451,6 +451,7 @@ + themes/glow/Makefile + themes/spinner/Makefile + themes/script/Makefile ++ themes/pisilinux/Makefile + images/Makefile + scripts/plymouth-generate-initrd + scripts/plymouth-populate-initrd diff --git a/system/boot/plymouth/files/pisilinux/boot-duration b/system/boot/plymouth/files/pisilinux/boot-duration new file mode 100644 index 0000000000..8724f24474 --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/boot-duration @@ -0,0 +1,25 @@ +0.447:start_udev +0.475:check_root_filesystem +0.487:mount_root_filesystem +0.502:autoload_modules +0.503:check_filesystems +0.505:mount_local_filesystems +0.509:enable_swap +0.686:set_clock +0.688:wait_for_udev_events +0.710:boot_runlevel +0.718:cleanup_tmp +0.752:start_dbus +0.784:default_runlevel +0.795:rsyslog +0.862:xdm +0.867:audit +0.874:gpm +0.881:hal +0.891:openssh +0.902:pcsc_lite +0.918:vixie_cron +0.934:bluez +0.952:ntpdate +0.972:NetworkManager +0.989:cups diff --git a/system/boot/plymouth/files/pisilinux/disable-source-code-tracing.patch b/system/boot/plymouth/files/pisilinux/disable-source-code-tracing.patch new file mode 100644 index 0000000000..edeb238523 --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/disable-source-code-tracing.patch @@ -0,0 +1,15 @@ +Index: plymouth-0.8.3_20100929/src/libply/ply-logger.h +=================================================================== +--- plymouth-0.8.3_20100929.orig/src/libply/ply-logger.h ++++ plymouth-0.8.3_20100929/src/libply/ply-logger.h +@@ -91,8 +91,8 @@ do + ply_logger_flush (logger); \ + errno = _old_errno; \ + ply_logger_inject (logger, \ +- "[%s] %45.45s:" format "\r\n", \ +- __FILE__, __func__, ##args); \ ++ "" format "\n", \ ++ ##args); \ + ply_logger_flush (logger); \ + errno = _old_errno; \ + } \ diff --git a/system/boot/plymouth/files/pisilinux/generate-flist.py b/system/boot/plymouth/files/pisilinux/generate-flist.py new file mode 100644 index 0000000000..4b724550d0 --- /dev/null +++ b/system/boot/plymouth/files/pisilinux/generate-flist.py @@ -0,0 +1,74 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import os +import sys + +# Generate the list of files needed in initramfs for plymouth + +exclude_list = ( + "/usr/bin/plymouth-log-viewer", + "/usr/sbin/plymouth-set-default-theme", + "/usr/lib/plymouth/renderers/x11.so", + "/usr/lib/plymouth/label.so", + ) + +paths = ( + "/usr/share/plymouth", + "/usr/share/pixmaps", + "/etc/plymouth", + ) + +FILE_LIST = "lib/initramfs/plymouth.list" + +def usage(): + print "%s " % sys.argv[0] + return 1 + +def generate_needed_binary_list(): + binaries = set() + executables = os.popen("find -type f -executable | cut -c2-").read().strip().split() + executables = set(executables).difference(exclude_list) + + for exe in executables: + if exe.endswith(".la"): + continue + if ".so." in exe: + # Add the libfoo.so.X symlink instead of libfoo.so.X.y.z + symlink = exe.rsplit(".", 2)[0] + if os.path.exists(symlink[1:]): + binaries.add(symlink) + continue + + binaries.add(exe) + + for exe in executables: + for line in os.popen("ldd %s" % exe[1:]): + if "=> /" in line: + binaries.add(line.split()[2]) + elif line.strip().startswith("/"): + binaries.add(line.strip().split()[0]) + + return binaries + +def get_other_file_list(): + files = ["usr/share/pixmaps/plymouth-pisilinux.png", "usr/share/themes/charge/charge.plymouth"] + for path in paths: + files.extend(os.popen("find %s -type f" % path[1:]).read().strip().split()) + + return ["/%s" % f for f in files] + +if __name__ == "__main__": + + try: + directory = sys.argv[1] + except: + sys.exit(usage()) + + os.chdir(directory) + files = generate_needed_binary_list() + files = files.union(get_other_file_list()) + + if not os.path.exists(os.path.dirname(FILE_LIST)): + os.makedirs(os.path.dirname(FILE_LIST)) + open(FILE_LIST, "w").write("\n".join(sorted(files))) diff --git a/system/boot/plymouth/files/pisilinux/images/shiny-head.png b/system/boot/plymouth/files/pisilinux/images/shiny-head.png new file mode 100644 index 0000000000000000000000000000000000000000..8befd083521761b0a1995bd23f2036bc157a5e25 GIT binary patch literal 16818 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 c^eA10EEK6a$`%2=l4*&oF literal 0 HcmV?d00001 diff --git a/system/boot/plymouth/files/pisilinux/images/white-head.png b/system/boot/plymouth/files/pisilinux/images/white-head.png new file mode 100644 index 0000000000000000000000000000000000000000..42a07abfa7ea29b7675141f702585638343ae1d1 GIT binary patch literal 14609 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 + + + + plymouth + http://cgit.freedesktop.org/plymouth + + PisiLinux Community + admins@pisilinux.org + + GPLv2+ + app:console + library + Graphical Boot Animation and Logger + plymouth provides an attractive graphical boot animation in place of the text messages that normally get shown. Text messages are instead redirected to a log file for viewing after boot. + http://source.pisilinux.org/1.0/plymouth-0.8.8.tar.gz + http://source.pisilinux.org/1.0/plymouth-theme-pisilinux-0.2.tar.xz + + pisilinux/generate-flist.py + + + kernel-headers + libdrm-devel + libpng-devel + cairo-devel + pango-devel + gtk2-devel + + + + + pisilinux/disable-source-code-tracing.patch + pisilinux/adapt-theme-script.patch + pisilinux/add-pisilinux-theme.patch + + + mageia/plymouth-restore-suspend.patch + fedora/fix-crash.patch + + + + + plymouth + + libdrm + plymouth-core-libs + mkinitramfs + + + /bin + /sbin + /usr/sbin + /bin/plymouth + /usr/libexec/plymouth + /etc/plymouth + /usr/lib + /lib + /usr/lib/plymouth/text.so + /usr/lib/plymouth/details.so + /usr/lib/plymouth/renderers + /usr/share/pixmaps + /usr/share/plymouth + /usr/share/plymouth/themes + /usr/share/plymouth/themes/details + /usr/share/plymouth/themes/text + /usr/share/doc + /usr/share/man + /var/lib/plymouth + /run/plymouth + /var/spool/plymouth + /usr/lib/tmpfiles.d/plymouth.conf + + + tmpfiles.conf + pisilinux/boot-duration + pisilinux/initramfs.files + pisilinux/images/white-head.png + fedora/charge.plymouth + + + + + plymouth-core-libs + Plymouth core libraries + plymouth-core-libs contains the libply and libply-splash-core libraries used by Plymouth. + + /lib/libply-splash-core.so* + /lib/libply.so* + + + + + plymouth-graphics-libs + Plymouth graphics libraries + plymouth-graphics-libs contains the libply-splash-graphics library used by graphics Plymouth splashes. + + plymouth-core-libs + libpng + + + /usr/lib/libply-splash-graphics.so* + + + + + plymouth-devel + Development headers and files for plymouth + + plymouth + + + /usr/include + /usr/lib/pkgconfig + + + + + plymouth-renderer-x11 + An X11 renderer for debugging purposes + + plymouth-core-libs + freetype + gtk2 + atk + gdk-pixbuf + fontconfig + + + /usr/lib/plymouth/renderers/x11* + + + + + plymouth-utils + Plymouth related utilities + plymouth-utils contains utilities that integrate with Plymouth including a boot log viewing application. + + pango + gtk2 + + + /usr/bin/plymouth-log-viewer + + + + + plymouth-plugin-label + Plymouth label plugin + plymouth-plugin-label contains the label control plugin for Plymouth. It provides the ability to render text on graphical boot splashes using pango and cairo. + + cairo + glib2 + pango + plymouth-core-libs + plymouth-graphics-libs + + + /usr/lib/plymouth/label.so + + + + + plymouth-plugin-fade-throbber + Plymouth Fade-Throbber plugin + plymouth-plugin-fade-throbber contains the "Fade-In" boot splash plugin for Plymouth. It features a centered image that fades in and out while other images pulsate around during system boot up. + + plymouth-graphics-libs + plymouth-core-libs + + + /usr/lib/plymouth/fade-throbber.so + + + + + plymouth-theme-spinner + Spinner theme for Plymouth + plymouth-theme-spinner contains the "Spinner" boot splash theme for Plymouth. It features a simple theme with a small spinner on a dark background. + + plymouth-plugin-two-step + + + /usr/share/plymouth/themes/spinner + + + + + plymouth-theme-fade-in + Fade-in theme for Plymouth + plymouth-theme-fade-in contains the "Fade-In" boot splash theme for Plymouth. It features a centered logo that fades in and out while stars twinkle around the logo during system boot up. + + plymouth-plugin-fade-throbber + + + /usr/share/plymouth/themes/fade-in + + + + + plymouth-plugin-throbgress + Plymouth Throbgress plugin + plymouth-plugin-throbgress contains the "throbgress" boot splash plugin for Plymouth. It features a centered logo and animated spinner that spins repeatedly while a progress bar advances at the bottom of the screen. + + plymouth-plugin-label + plymouth-graphics-libs + plymouth-core-libs + + + /usr/lib/plymouth/throbgress.so + + + + + plymouth-theme-spinfinity + Plymouth Spinfinity theme + plymouth-theme-spinfinity contains the "Spinfinity" boot splash theme for Plymouth. It features a centered logo and animated spinner that spins in the shape of an infinity sign. + + plymouth-plugin-throbgress + + + /usr/share/plymouth/themes/spinfinity + + + + + plymouth-plugin-space-flares + Plymouth space-flares plugin + plymouth-plugin-space-flares contains the "space-flares" boot splash plugin for Plymouth. It features a corner image with animated flares. + + plymouth-plugin-label + plymouth-graphics-libs + plymouth-core-libs + + + /usr/lib/plymouth/space-flares.so + + + + + plymouth-theme-solar + Plymouth Solar theme + plymouth-theme-solar contains the "Solar" boot splash theme for Plymouth. It features a blue flamed sun with animated solar flares. + + plymouth-plugin-space-flares + + + /usr/share/plymouth/themes/solar + + + + + plymouth-plugin-two-step + Plymouth Two-Step plugin + plymouth-plugin-two-step contains the "two-step" boot splash plugin for Plymouth. It features a two phased boot process that starts with a progressing animation synced to boot time and finishes with a short, fast one-shot animation. + + plymouth-plugin-label + plymouth-graphics-libs + plymouth-core-libs + + + /usr/lib/plymouth/two-step.so + + + + + plymouth-theme-charge + Plymouth Charge plugin + plymouth-theme-charge This package contains the "charge" boot splash theme for Plymouth. It features the shadowy hull of a Fedora logo charge up and and finally burst into full form. + + plymouth-plugin-two-step + + + /usr/share/plymouth/themes/charge + + + + + plymouth-plugin-script + Plymouth script plugin + plymouth-plugin-script contains "script" boot splash plugin for Plymouth. It features an extensible, scriptable boot splash language that simplifies the process of designing custom boot splash themes. + + plymouth-graphics-libs + plymouth-core-libs + + + /usr/lib/plymouth/script.so + + + + + plymouth-theme-script + Plymouth Script theme + plymouth-theme-script contains the "script" boot splash theme for Plymouth. It it is a simple example theme the uses the "script" plugin. + + plymouth-plugin-script + + + /usr/share/plymouth/themes/script + + + + + plymouth-theme-pisilinux + Plymouth Pisi Linux theme + plymouth-theme-pisilinux contains a simple but elegant boot theme for Pisi Linux. + + plymouth-plugin-script + + + /usr/share/plymouth/themes/pisilinux + + + + + + 2014-08-04 + 0.8.8 + Enable gdm support. + marcin bojara + marcin@pisilinux.org + + + 2014-07-20 + 0.8.8 + New artwork. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-26 + 0.8.8 + Fix theme images for libpng warnings. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-04-13 + 0.8.8 + Release bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-01-10 + 0.8.8 + Add tmpfiles.conf + PisiLinux Community + admins@pisilinux.org + + + 2013-09-08 + 0.8.8 + /var/run => /run + marcin bojara + marcin@pisilinux.org + + + 2013-07-31 + 0.8.8 + Rebuild. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-04-08 + 0.8.8 + Fixes. + Serdar Soytetir + kaptan@pisilinux.org + + + 2013-02-06 + 0.8.8 + First release + marcin bojara + marcin@pisilinux.org + + + 2013-01-16 + 0.8.8 + First release + Erdinç Gültekin + admins@pisilinux.org + + + \ No newline at end of file diff --git a/system/boot/plymouth/translations.xml b/system/boot/plymouth/translations.xml new file mode 100644 index 0000000000..a767e6378e --- /dev/null +++ b/system/boot/plymouth/translations.xml @@ -0,0 +1,44 @@ + + + + plymouth + Açılış animasyonu ve oturum açma altyapısı + plymouth, sistemin açılışı esnasında estetik ve ilgi çekici bir grafiksel animasyon altyapısı sunan bir uygulamadır. + + + + plymouth-theme-charge + plymouth için Charge teması + + + + plymouth-theme-spinner + plymouth için Spinner teması + + + + plymouth-theme-solar + plymouth için Solar teması + + + + plymouth-theme-spinfinity + plymouth için Spinfinity teması + + + + plymouth-theme-glow + plymouth için Glow teması + + + + plymouth-theme-pisilinux + plymouth için Pisi Linux teması + + + + plymouth-theme-fadein + plymouth için Fade-in teması + + +