3
3
but it might have accumulated changes from several uploads. Please
4
4
check the changelog to (hopefully) learn more on those changes.
6
--- plymouth-0.8.2.orig/config.h.in
7
+++ plymouth-0.8.2/config.h.in
9
/* Define to the one symbol short name of this package. */
10
#undef PACKAGE_TARNAME
12
+/* Define to the home page for this package. */
15
/* Define to the version of this package. */
16
#undef PACKAGE_VERSION
18
--- plymouth-0.8.2.orig/aclocal.m4
19
+++ plymouth-0.8.2/aclocal.m4
22
m4_ifndef([AC_AUTOCONF_VERSION],
23
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
24
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
25
-[m4_warning([this file was generated for autoconf 2.63.
26
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
27
+[m4_warning([this file was generated for autoconf 2.65.
28
You have another version of autoconf. It may work, but is not guaranteed to.
29
If you have problems, you may need to regenerate the build system entirely.
30
To do so, use the procedure documented by the package, typically `autoreconf'.])])
31
@@ -2460,7 +2460,7 @@ linux*oldld* | linux*aout* | linux*coff*
34
# This must be Linux ELF.
36
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
40
@@ -2485,13 +2485,10 @@ linux* | k*bsd*-gnu)
41
# before this can be enabled.
42
hardcode_into_libs=yes
44
- # Add ABI-specific directories to the system library path.
45
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
47
# Append ld.so.conf contents to the search path
48
if test -f /etc/ld.so.conf; then
49
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
50
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
51
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
54
# We used to test for /lib/ld.so.1 and disable shared libraries on
55
@@ -2503,6 +2500,18 @@ linux* | k*bsd*-gnu)
56
dynamic_linker='GNU/Linux ld.so'
63
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
64
+ soname_spec='${libname}${release}${shared_ext}$major'
65
+ shlibpath_var=LD_LIBRARY_PATH
66
+ shlibpath_overrides_runpath=no
67
+ hardcode_into_libs=yes
68
+ dynamic_linker='NetBSD ld.elf_so'
74
@@ -3090,11 +3099,11 @@ irix5* | irix6* | nonstopux*)
77
# This must be Linux ELF.
79
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
80
lt_cv_deplibs_check_method=pass_all
84
+netbsd* | netbsdelf*-gnu)
85
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
86
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
88
@@ -3711,7 +3720,7 @@ m4_if([$1], [CXX], [
92
- linux* | k*bsd*-gnu)
93
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
97
@@ -3775,7 +3784,7 @@ m4_if([$1], [CXX], [
102
+ netbsd* | netbsdelf*-gnu)
105
# QNX uses GNU C++, but need to define -shared option too, otherwise
106
@@ -3995,7 +4004,7 @@ m4_if([$1], [CXX], [
107
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
110
- linux* | k*bsd*-gnu)
111
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
113
# old Intel for x86_64 which still supported -KPIC.
115
@@ -4200,6 +4209,9 @@ m4_if([$1], [CXX], [
116
cygwin* | mingw* | cegcc*)
117
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
119
+ linux* | k*bsd*-gnu)
120
+ _LT_TAGVAR(link_all_deplibs, $1)=no
123
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
125
@@ -4264,6 +4276,9 @@ dnl Note also adjust exclude_expsyms for
129
+ linux* | k*bsd*-gnu)
130
+ _LT_TAGVAR(link_all_deplibs, $1)=no
134
_LT_TAGVAR(ld_shlibs, $1)=yes
135
@@ -4285,6 +4300,7 @@ dnl Note also adjust exclude_expsyms for
137
supports_anon_versioning=no
138
case `$LD -v 2>&1` in
139
+ *GNU\ gold*) supports_anon_versioning=yes ;;
140
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
141
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
142
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
143
@@ -4376,7 +4392,7 @@ _LT_EOF
144
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
147
- gnu* | linux* | tpf* | k*bsd*-gnu)
148
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
150
if test "$host_os" = linux-dietlibc; then
152
@@ -4446,7 +4462,7 @@ _LT_EOF
157
+ netbsd* | netbsdelf*-gnu)
158
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
159
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
161
@@ -4621,6 +4637,7 @@ _LT_EOF
162
if test "$aix_use_runtimelinking" = yes; then
163
shared_flag="$shared_flag "'${wl}-G'
165
+ _LT_TAGVAR(link_all_deplibs, $1)=no
168
if test "$host_cpu" = ia64; then
169
@@ -4859,7 +4876,7 @@ _LT_EOF
170
_LT_TAGVAR(link_all_deplibs, $1)=yes
174
+ netbsd* | netbsdelf*-gnu)
175
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
176
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
178
@@ -5855,7 +5872,7 @@ if test "$_lt_caught_CXX_error" != yes;
179
_LT_TAGVAR(inherit_rpath, $1)=yes
182
- linux* | k*bsd*-gnu)
183
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
186
# Kuck and Associates, Inc. (KAI) C++ Compiler
187
@@ -7862,15 +7879,15 @@ m4_define([lt_dict_filter],
189
# Generated from ltversion.in.
191
-# serial 3012 ltversion.m4
192
+# serial 3017 ltversion.m4
193
# This file is part of GNU Libtool
195
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
196
-m4_define([LT_PACKAGE_REVISION], [1.3012])
197
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
198
+m4_define([LT_PACKAGE_REVISION], [1.3017])
200
AC_DEFUN([LTVERSION_VERSION],
201
-[macro_version='2.2.6'
202
-macro_revision='1.3012'
203
+[macro_version='2.2.6b'
204
+macro_revision='1.3017'
205
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
206
_LT_DECL(, macro_revision, 0)
208
@@ -8036,14 +8053,16 @@ fi])
209
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
210
# ---------------------------------------------
211
m4_define([_PKG_CONFIG],
212
-[if test -n "$$1"; then
214
- elif test -n "$PKG_CONFIG"; then
215
- PKG_CHECK_EXISTS([$3],
216
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
220
+[if test -n "$PKG_CONFIG"; then
221
+ if test -n "$$1"; then
224
+ PKG_CHECK_EXISTS([$3],
225
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
233
@@ -8087,9 +8106,9 @@ See the pkg-config man page for more det
234
if test $pkg_failed = yes; then
235
_PKG_SHORT_ERRORS_SUPPORTED
236
if test $_pkg_short_errors_supported = yes; then
237
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
238
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
240
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
241
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
243
# Put the nasty error message in config.log where it belongs
244
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
245
--- plymouth-0.8.2.orig/Makefile.in
246
+++ plymouth-0.8.2/Makefile.in
247
@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
248
PACKAGE_NAME = @PACKAGE_NAME@
249
PACKAGE_STRING = @PACKAGE_STRING@
250
PACKAGE_TARNAME = @PACKAGE_TARNAME@
251
+PACKAGE_URL = @PACKAGE_URL@
252
PACKAGE_VERSION = @PACKAGE_VERSION@
253
PANGO_CFLAGS = @PANGO_CFLAGS@
254
PANGO_LIBS = @PANGO_LIBS@
255
--- plymouth-0.8.2.orig/configure.ac
256
+++ plymouth-0.8.2/configure.ac
257
@@ -160,6 +160,9 @@ AC_DEFINE_UNQUOTED(BOOT_TTY, "$BOOT_TTY"
258
AC_ARG_WITH(shutdown-tty, AS_HELP_STRING([--with-shutdown-tty=<tty>],[Default TTY to use in shutdown mode (by default tty63)]),SHUTDOWN_TTY=${withval},SHUTDOWN_TTY=/dev/tty63)
259
AC_DEFINE_UNQUOTED(SHUTDOWN_TTY, "$SHUTDOWN_TTY", [TTY to use in shutdown mode])
261
+AC_CHECK_HEADERS([sys/io.h])
262
+AM_CONDITIONAL([BUILD_VGA16FB], [test "x$ac_cv_header_sys_io_h" = xyes])
264
# Turn on the additional warnings last, so -Werror doesn't affect other tests.
266
AC_DEFUN([PLYMOUTH_CC_TRY_FLAG], [
267
@@ -264,9 +267,11 @@ AC_CONFIG_FILES([Makefile
268
src/plugins/renderers/frame-buffer/Makefile
269
src/plugins/renderers/drm/Makefile
270
src/plugins/renderers/x11/Makefile
271
+ src/plugins/renderers/vga16fb/Makefile
272
src/plugins/splash/Makefile
273
src/plugins/splash/throbgress/Makefile
274
src/plugins/splash/fade-throbber/Makefile
275
+ src/plugins/splash/ubuntu-text/Makefile
276
src/plugins/splash/text/Makefile
277
src/plugins/splash/details/Makefile
278
src/plugins/splash/space-flares/Makefile
279
@@ -289,6 +294,8 @@ AC_CONFIG_FILES([Makefile
280
themes/solar/Makefile
282
themes/script/Makefile
283
+ themes/ubuntu-logo/Makefile
284
+ themes/ubuntu-text/Makefile
286
scripts/plymouth-generate-initrd
287
scripts/plymouth-populate-initrd
288
--- plymouth-0.8.2.orig/INSTALL
289
+++ plymouth-0.8.2/INSTALL
291
-Plymouth isn't really designed to be built from source and get installed by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.
292
+Installation Instructions
293
+*************************
295
-Unfortunately, there isn't great documentation for distributors. In the mean time, this email exchange might be useful:
296
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
297
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
300
+ Copying and distribution of this file, with or without modification,
301
+are permitted in any medium without royalty provided the copyright
302
+notice and this notice are preserved. This file is offered as-is,
303
+without warranty of any kind.
308
+ Briefly, the shell commands `./configure; make; make install' should
309
+configure, build, and install this package. The following
310
+more-detailed instructions are generic; see the `README' file for
311
+instructions specific to this package. Some packages provide this
312
+`INSTALL' file but do not implement all of the features documented
313
+below. The lack of an optional feature in a given package is not
314
+necessarily a bug. More recommendations for GNU packages can be found
315
+in *note Makefile Conventions: (standards)Makefile Conventions.
317
+ The `configure' shell script attempts to guess correct values for
318
+various system-dependent variables used during compilation. It uses
319
+those values to create a `Makefile' in each directory of the package.
320
+It may also create one or more `.h' files containing system-dependent
321
+definitions. Finally, it creates a shell script `config.status' that
322
+you can run in the future to recreate the current configuration, and a
323
+file `config.log' containing compiler output (useful mainly for
324
+debugging `configure').
326
+ It can also use an optional file (typically called `config.cache'
327
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
328
+the results of its tests to speed up reconfiguring. Caching is
329
+disabled by default to prevent problems with accidental use of stale
332
+ If you need to do unusual things to compile the package, please try
333
+to figure out how `configure' could check whether to do them, and mail
334
+diffs or instructions to the address given in the `README' so they can
335
+be considered for the next release. If you are using the cache, and at
336
+some point `config.cache' contains results you don't want to keep, you
337
+may remove or edit it.
339
+ The file `configure.ac' (or `configure.in') is used to create
340
+`configure' by a program called `autoconf'. You need `configure.ac' if
341
+you want to change it or regenerate `configure' using a newer version
344
+ The simplest way to compile this package is:
346
+ 1. `cd' to the directory containing the package's source code and type
347
+ `./configure' to configure the package for your system.
349
+ Running `configure' might take a while. While running, it prints
350
+ some messages telling which features it is checking for.
352
+ 2. Type `make' to compile the package.
354
+ 3. Optionally, type `make check' to run any self-tests that come with
355
+ the package, generally using the just-built uninstalled binaries.
357
+ 4. Type `make install' to install the programs and any data files and
358
+ documentation. When installing into a prefix owned by root, it is
359
+ recommended that the package be configured and built as a regular
360
+ user, and only the `make install' phase executed with root
363
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
364
+ this time using the binaries in their final installed location.
365
+ This target does not install anything. Running this target as a
366
+ regular user, particularly if the prior `make install' required
367
+ root privileges, verifies that the installation completed
370
+ 6. You can remove the program binaries and object files from the
371
+ source code directory by typing `make clean'. To also remove the
372
+ files that `configure' created (so you can compile the package for
373
+ a different kind of computer), type `make distclean'. There is
374
+ also a `make maintainer-clean' target, but that is intended mainly
375
+ for the package's developers. If you use it, you may have to get
376
+ all sorts of other programs in order to regenerate files that came
377
+ with the distribution.
379
+ 7. Often, you can also type `make uninstall' to remove the installed
380
+ files again. In practice, not all packages have tested that
381
+ uninstallation works correctly, even though it is required by the
382
+ GNU Coding Standards.
384
+ 8. Some packages, particularly those that use Automake, provide `make
385
+ distcheck', which can by used by developers to test that all other
386
+ targets like `make install' and `make uninstall' work correctly.
387
+ This target is generally not run by end users.
389
+Compilers and Options
390
+=====================
392
+ Some systems require unusual options for compilation or linking that
393
+the `configure' script does not know about. Run `./configure --help'
394
+for details on some of the pertinent environment variables.
396
+ You can give `configure' initial values for configuration parameters
397
+by setting variables in the command line or in the environment. Here
400
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
402
+ *Note Defining Variables::, for more details.
404
+Compiling For Multiple Architectures
405
+====================================
407
+ You can compile the package for more than one kind of computer at the
408
+same time, by placing the object files for each architecture in their
409
+own directory. To do this, you can use GNU `make'. `cd' to the
410
+directory where you want the object files and executables to go and run
411
+the `configure' script. `configure' automatically checks for the
412
+source code in the directory that `configure' is in and in `..'. This
413
+is known as a "VPATH" build.
415
+ With a non-GNU `make', it is safer to compile the package for one
416
+architecture at a time in the source code directory. After you have
417
+installed the package for one architecture, use `make distclean' before
418
+reconfiguring for another architecture.
420
+ On MacOS X 10.5 and later systems, you can create libraries and
421
+executables that work on multiple system types--known as "fat" or
422
+"universal" binaries--by specifying multiple `-arch' options to the
423
+compiler but only a single `-arch' option to the preprocessor. Like
426
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
427
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
428
+ CPP="gcc -E" CXXCPP="g++ -E"
430
+ This is not guaranteed to produce working output in all cases, you
431
+may have to build one architecture at a time and combine the results
432
+using the `lipo' tool if you have problems.
437
+ By default, `make install' installs the package's commands under
438
+`/usr/local/bin', include files under `/usr/local/include', etc. You
439
+can specify an installation prefix other than `/usr/local' by giving
440
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
443
+ You can specify separate installation prefixes for
444
+architecture-specific files and architecture-independent files. If you
445
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
446
+PREFIX as the prefix for installing programs and libraries.
447
+Documentation and other data files still use the regular prefix.
449
+ In addition, if you use an unusual directory layout you can give
450
+options like `--bindir=DIR' to specify different values for particular
451
+kinds of files. Run `configure --help' for a list of the directories
452
+you can set and what kinds of files go in them. In general, the
453
+default for these options is expressed in terms of `${prefix}', so that
454
+specifying just `--prefix' will affect all of the other directory
455
+specifications that were not explicitly provided.
457
+ The most portable way to affect installation locations is to pass the
458
+correct locations to `configure'; however, many packages provide one or
459
+both of the following shortcuts of passing variable assignments to the
460
+`make install' command line to change installation locations without
461
+having to reconfigure or recompile.
463
+ The first method involves providing an override variable for each
464
+affected directory. For example, `make install
465
+prefix=/alternate/directory' will choose an alternate location for all
466
+directory configuration variables that were expressed in terms of
467
+`${prefix}'. Any directories that were specified during `configure',
468
+but not in terms of `${prefix}', must each be overridden at install
469
+time for the entire installation to be relocated. The approach of
470
+makefile variable overrides for each directory variable is required by
471
+the GNU Coding Standards, and ideally causes no recompilation.
472
+However, some platforms have known limitations with the semantics of
473
+shared libraries that end up requiring recompilation when using this
474
+method, particularly noticeable in packages that use GNU Libtool.
476
+ The second method involves providing the `DESTDIR' variable. For
477
+example, `make install DESTDIR=/alternate/directory' will prepend
478
+`/alternate/directory' before all installation names. The approach of
479
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
480
+does not work on platforms that have drive letters. On the other hand,
481
+it does better at avoiding recompilation issues, and works well even
482
+when some directory options were not specified in terms of `${prefix}'
483
+at `configure' time.
488
+ If the package supports it, you can cause programs to be installed
489
+with an extra prefix or suffix on their names by giving `configure' the
490
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
492
+ Some packages pay attention to `--enable-FEATURE' options to
493
+`configure', where FEATURE indicates an optional part of the package.
494
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
495
+is something like `gnu-as' or `x' (for the X Window System). The
496
+`README' should mention any `--enable-' and `--with-' options that the
499
+ For packages that use the X Window System, `configure' can usually
500
+find the X include and library files automatically, but if it doesn't,
501
+you can use the `configure' options `--x-includes=DIR' and
502
+`--x-libraries=DIR' to specify their locations.
504
+ Some packages offer the ability to configure how verbose the
505
+execution of `make' will be. For these packages, running `./configure
506
+--enable-silent-rules' sets the default to minimal output, which can be
507
+overridden with `make V=1'; while running `./configure
508
+--disable-silent-rules' sets the default to verbose, which can be
509
+overridden with `make V=0'.
514
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
515
+CC is not installed, it is recommended to use the following options in
516
+order to use an ANSI C compiler:
518
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
520
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
522
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
523
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
524
+a workaround. If GNU CC is not installed, it is therefore recommended
527
+ ./configure CC="cc"
529
+and if that doesn't work, try
531
+ ./configure CC="cc -nodtk"
533
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
534
+directory contains several dysfunctional programs; working variants of
535
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
536
+in your `PATH', put it _after_ `/usr/bin'.
538
+ On Haiku, software installed for all users goes in `/boot/common',
539
+not `/usr/local'. It is recommended to use the following options:
541
+ ./configure --prefix=/boot/common
543
+Specifying the System Type
544
+==========================
546
+ There may be some features `configure' cannot figure out
547
+automatically, but needs to determine by the type of machine the package
548
+will run on. Usually, assuming the package is built to be run on the
549
+_same_ architectures, `configure' can figure that out, but if it prints
550
+a message saying it cannot guess the machine type, give it the
551
+`--build=TYPE' option. TYPE can either be a short name for the system
552
+type, such as `sun4', or a canonical name which has the form:
556
+where SYSTEM can have one of these forms:
561
+ See the file `config.sub' for the possible values of each field. If
562
+`config.sub' isn't included in this package, then this package doesn't
563
+need to know the machine type.
565
+ If you are _building_ compiler tools for cross-compiling, you should
566
+use the option `--target=TYPE' to select the type of system they will
569
+ If you want to _use_ a cross compiler, that generates code for a
570
+platform different from the build platform, you should specify the
571
+"host" platform (i.e., that on which the generated programs will
572
+eventually be run) with `--host=TYPE'.
577
+ If you want to set default values for `configure' scripts to share,
578
+you can create a site shell script called `config.site' that gives
579
+default values for variables like `CC', `cache_file', and `prefix'.
580
+`configure' looks for `PREFIX/share/config.site' if it exists, then
581
+`PREFIX/etc/config.site' if it exists. Or, you can set the
582
+`CONFIG_SITE' environment variable to the location of the site script.
583
+A warning: not all `configure' scripts look for a site script.
588
+ Variables not defined in a site shell script can be set in the
589
+environment passed to `configure'. However, some packages may run
590
+configure again during the build, and the customized values of these
591
+variables may be lost. In order to avoid this problem, you should set
592
+them in the `configure' command line, using `VAR=value'. For example:
594
+ ./configure CC=/usr/local2/bin/gcc
596
+causes the specified `gcc' to be used as the C compiler (unless it is
597
+overridden in the site shell script).
599
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
600
+an Autoconf bug. Until the bug is fixed you can use this workaround:
602
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
604
+`configure' Invocation
605
+======================
607
+ `configure' recognizes the following options to control how it
612
+ Print a summary of all of the options to `configure', and exit.
616
+ Print a summary of the options unique to this package's
617
+ `configure', and exit. The `short' variant lists options used
618
+ only in the top level, while the `recursive' variant lists options
619
+ also present in any nested packages.
623
+ Print the version of Autoconf used to generate the `configure'
627
+ Enable the cache: use and save the results of the tests in FILE,
628
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
633
+ Alias for `--cache-file=config.cache'.
638
+ Do not print messages saying which checks are being made. To
639
+ suppress all normal output, redirect it to `/dev/null' (any error
640
+ messages will still be shown).
643
+ Look for the package's source code in directory DIR. Usually
644
+ `configure' can determine that directory automatically.
647
+ Use DIR as the installation prefix. *note Installation Names::
648
+ for more details, including other options available for fine-tuning
649
+ the installation locations.
653
+ Run the configure checks, but stop before creating any output
656
-> I recently found a video showing Fedora booting with plymouth and I
657
-> liked it. So I wanted to use plymouth with my favorite distri (gentoo).
658
-> I know I'm enduser and the info text on freedesktop.org says plymouth
659
-> is not meant to be installed by end users but I want to give it a try.
660
-> I have KMS running and am using my own initramfs anyway (encrypted root
661
-> disk) so how hard can it be? Can anybody please give me some straight
662
-> forward hints on how to use plymouth? (The INSTALL file is empty and
663
-> the README file is boring)
664
+`configure' also accepts some other, not widely useful, options. Run
665
+`configure --help' for more details.
667
-So the basic idea is you need to:
669
-1) build plymouth into the system. On fedora we use these conffigure flags:
671
-.%configure --enable-tracing --disable-tests --without-boot-entry \
672
- --without-default-plugin \
673
- --with-logo=%{_datadir}/pixmaps/system-logo-white.png \
674
- --with-background-start-color-stop=0x0073B3 \
675
- --with-background-end-color-stop=0x00457E \
676
- --with-background-color=0x3391cd \
677
- --enable-gdm-transition \
678
- --with-system-root-install \
679
- --with-rhgb-compat-link
681
-%configure is a macro that expands to:
683
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
685
-(and some other stuff)
687
-%{_datadir} is just /usr/share
689
-You probably won't need --with-rhgb-compat-link since that's only
690
-there for compatibility with Fedora's old infrastructure.
692
---with-system-root-install makes plymouthd and plymouth install
693
-themselves into / instead of /usr. This is important so that the
694
-plymouth client can work in cases where the root fs is mounted, but
697
-Somehow you need to hook into your distros mkinitrd mechanism. I
698
-mean you need to copy the plymouth binaries, plugins, and data files
699
-into the initrd everytime you rebuild your initrd. See
700
-plymouth-populate-initrd for how we do it on fedora (mkinitrd calls
701
-plymouth-populate-initrd). I would like to upstream hooks for other
702
-distros mkinitrd systems, so the out of the box experience is easier.
704
-Inside the initrd, you need to start plymouthd early. The earlier the
705
-better, but not before /sys, /proc/, and /dev/pts are mounted, and
706
-not before /dev/tty[01] and /dev/fb0 are created.
708
-At some point during the initrd you need to load the kms driver.
709
-After it's loaded the graphics mode should get set up and /dev/fb0
710
-will be functional. That's when you call plymouth --show-splash to
711
-show the splash screen.
713
-To decrypt your root, run
715
-lymouth ask-for-password --command="/sbin/cryptsetup luksOpen -T ..."
717
-where the --command is whatever makes sense for you.
719
-Right after you mount the root file system (but before you switch to it), run
721
-plymouth --newroot=/wherevertherootismounted
723
-This tells plymouth it can load some files off the real filesystem
724
-(like fonts, and stuff we don't want to stick in the initrd).
726
-while boot you need to run plymouth --update=some-milestone-id
728
-periodically to update the progress bar.
730
-When / is mounted read-write you need to run
734
-Finally, when plymouth is done, you need to run plymouth --quit
736
-I have to run to catch a bus but i think that's the basics.
738
-> I'm even willing to give something back and convert your hints
739
-> into an easy step by step howto.
6
743
--- plymouth-0.8.2.orig/configure
7
744
+++ plymouth-0.8.2/configure
10223
10960
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
10226
--- plymouth-0.8.2.orig/configure.ac
10227
+++ plymouth-0.8.2/configure.ac
10228
@@ -160,6 +160,9 @@ AC_DEFINE_UNQUOTED(BOOT_TTY, "$BOOT_TTY"
10229
AC_ARG_WITH(shutdown-tty, AS_HELP_STRING([--with-shutdown-tty=<tty>],[Default TTY to use in shutdown mode (by default tty63)]),SHUTDOWN_TTY=${withval},SHUTDOWN_TTY=/dev/tty63)
10230
AC_DEFINE_UNQUOTED(SHUTDOWN_TTY, "$SHUTDOWN_TTY", [TTY to use in shutdown mode])
10232
+AC_CHECK_HEADERS([sys/io.h])
10233
+AM_CONDITIONAL([BUILD_VGA16FB], [test "x$ac_cv_header_sys_io_h" = xyes])
10235
# Turn on the additional warnings last, so -Werror doesn't affect other tests.
10237
AC_DEFUN([PLYMOUTH_CC_TRY_FLAG], [
10238
@@ -264,9 +267,11 @@ AC_CONFIG_FILES([Makefile
10239
src/plugins/renderers/frame-buffer/Makefile
10240
src/plugins/renderers/drm/Makefile
10241
src/plugins/renderers/x11/Makefile
10242
+ src/plugins/renderers/vga16fb/Makefile
10243
src/plugins/splash/Makefile
10244
src/plugins/splash/throbgress/Makefile
10245
src/plugins/splash/fade-throbber/Makefile
10246
+ src/plugins/splash/ubuntu-text/Makefile
10247
src/plugins/splash/text/Makefile
10248
src/plugins/splash/details/Makefile
10249
src/plugins/splash/space-flares/Makefile
10250
@@ -289,6 +294,8 @@ AC_CONFIG_FILES([Makefile
10251
themes/solar/Makefile
10252
themes/glow/Makefile
10253
themes/script/Makefile
10254
+ themes/ubuntu-logo/Makefile
10255
+ themes/ubuntu-text/Makefile
10257
scripts/plymouth-generate-initrd
10258
scripts/plymouth-populate-initrd
10259
--- plymouth-0.8.2.orig/config.h.in
10260
+++ plymouth-0.8.2/config.h.in
10262
/* Define to the one symbol short name of this package. */
10263
#undef PACKAGE_TARNAME
10265
+/* Define to the home page for this package. */
10266
+#undef PACKAGE_URL
10268
/* Define to the version of this package. */
10269
#undef PACKAGE_VERSION
10271
--- plymouth-0.8.2.orig/INSTALL
10272
+++ plymouth-0.8.2/INSTALL
10274
-Plymouth isn't really designed to be built from source and get installed by end users. For it to work correctly, it needs integration with the distribution. Because it starts so early, it needs to be packed into the distribution's initial ram disk, and the distribution needs to poke plymouth to tell it how boot is progressing.
10275
+Installation Instructions
10276
+*************************
10278
-Unfortunately, there isn't great documentation for distributors. In the mean time, this email exchange might be useful:
10279
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
10280
+2006, 2007, 2008, 2009 Free Software Foundation, Inc.
10283
+ Copying and distribution of this file, with or without modification,
10284
+are permitted in any medium without royalty provided the copyright
10285
+notice and this notice are preserved. This file is offered as-is,
10286
+without warranty of any kind.
10288
+Basic Installation
10289
+==================
10291
+ Briefly, the shell commands `./configure; make; make install' should
10292
+configure, build, and install this package. The following
10293
+more-detailed instructions are generic; see the `README' file for
10294
+instructions specific to this package. Some packages provide this
10295
+`INSTALL' file but do not implement all of the features documented
10296
+below. The lack of an optional feature in a given package is not
10297
+necessarily a bug. More recommendations for GNU packages can be found
10298
+in *note Makefile Conventions: (standards)Makefile Conventions.
10300
+ The `configure' shell script attempts to guess correct values for
10301
+various system-dependent variables used during compilation. It uses
10302
+those values to create a `Makefile' in each directory of the package.
10303
+It may also create one or more `.h' files containing system-dependent
10304
+definitions. Finally, it creates a shell script `config.status' that
10305
+you can run in the future to recreate the current configuration, and a
10306
+file `config.log' containing compiler output (useful mainly for
10307
+debugging `configure').
10309
+ It can also use an optional file (typically called `config.cache'
10310
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
10311
+the results of its tests to speed up reconfiguring. Caching is
10312
+disabled by default to prevent problems with accidental use of stale
10315
+ If you need to do unusual things to compile the package, please try
10316
+to figure out how `configure' could check whether to do them, and mail
10317
+diffs or instructions to the address given in the `README' so they can
10318
+be considered for the next release. If you are using the cache, and at
10319
+some point `config.cache' contains results you don't want to keep, you
10320
+may remove or edit it.
10322
+ The file `configure.ac' (or `configure.in') is used to create
10323
+`configure' by a program called `autoconf'. You need `configure.ac' if
10324
+you want to change it or regenerate `configure' using a newer version
10327
+ The simplest way to compile this package is:
10329
+ 1. `cd' to the directory containing the package's source code and type
10330
+ `./configure' to configure the package for your system.
10332
+ Running `configure' might take a while. While running, it prints
10333
+ some messages telling which features it is checking for.
10335
+ 2. Type `make' to compile the package.
10337
+ 3. Optionally, type `make check' to run any self-tests that come with
10338
+ the package, generally using the just-built uninstalled binaries.
10340
+ 4. Type `make install' to install the programs and any data files and
10341
+ documentation. When installing into a prefix owned by root, it is
10342
+ recommended that the package be configured and built as a regular
10343
+ user, and only the `make install' phase executed with root
10346
+ 5. Optionally, type `make installcheck' to repeat any self-tests, but
10347
+ this time using the binaries in their final installed location.
10348
+ This target does not install anything. Running this target as a
10349
+ regular user, particularly if the prior `make install' required
10350
+ root privileges, verifies that the installation completed
10353
+ 6. You can remove the program binaries and object files from the
10354
+ source code directory by typing `make clean'. To also remove the
10355
+ files that `configure' created (so you can compile the package for
10356
+ a different kind of computer), type `make distclean'. There is
10357
+ also a `make maintainer-clean' target, but that is intended mainly
10358
+ for the package's developers. If you use it, you may have to get
10359
+ all sorts of other programs in order to regenerate files that came
10360
+ with the distribution.
10362
+ 7. Often, you can also type `make uninstall' to remove the installed
10363
+ files again. In practice, not all packages have tested that
10364
+ uninstallation works correctly, even though it is required by the
10365
+ GNU Coding Standards.
10367
+ 8. Some packages, particularly those that use Automake, provide `make
10368
+ distcheck', which can by used by developers to test that all other
10369
+ targets like `make install' and `make uninstall' work correctly.
10370
+ This target is generally not run by end users.
10372
+Compilers and Options
10373
+=====================
10375
+ Some systems require unusual options for compilation or linking that
10376
+the `configure' script does not know about. Run `./configure --help'
10377
+for details on some of the pertinent environment variables.
10379
+ You can give `configure' initial values for configuration parameters
10380
+by setting variables in the command line or in the environment. Here
10383
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
10385
+ *Note Defining Variables::, for more details.
10387
+Compiling For Multiple Architectures
10388
+====================================
10390
+ You can compile the package for more than one kind of computer at the
10391
+same time, by placing the object files for each architecture in their
10392
+own directory. To do this, you can use GNU `make'. `cd' to the
10393
+directory where you want the object files and executables to go and run
10394
+the `configure' script. `configure' automatically checks for the
10395
+source code in the directory that `configure' is in and in `..'. This
10396
+is known as a "VPATH" build.
10398
+ With a non-GNU `make', it is safer to compile the package for one
10399
+architecture at a time in the source code directory. After you have
10400
+installed the package for one architecture, use `make distclean' before
10401
+reconfiguring for another architecture.
10403
+ On MacOS X 10.5 and later systems, you can create libraries and
10404
+executables that work on multiple system types--known as "fat" or
10405
+"universal" binaries--by specifying multiple `-arch' options to the
10406
+compiler but only a single `-arch' option to the preprocessor. Like
10409
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
10410
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
10411
+ CPP="gcc -E" CXXCPP="g++ -E"
10413
+ This is not guaranteed to produce working output in all cases, you
10414
+may have to build one architecture at a time and combine the results
10415
+using the `lipo' tool if you have problems.
10417
+Installation Names
10418
+==================
10420
+ By default, `make install' installs the package's commands under
10421
+`/usr/local/bin', include files under `/usr/local/include', etc. You
10422
+can specify an installation prefix other than `/usr/local' by giving
10423
+`configure' the option `--prefix=PREFIX', where PREFIX must be an
10424
+absolute file name.
10426
+ You can specify separate installation prefixes for
10427
+architecture-specific files and architecture-independent files. If you
10428
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
10429
+PREFIX as the prefix for installing programs and libraries.
10430
+Documentation and other data files still use the regular prefix.
10432
+ In addition, if you use an unusual directory layout you can give
10433
+options like `--bindir=DIR' to specify different values for particular
10434
+kinds of files. Run `configure --help' for a list of the directories
10435
+you can set and what kinds of files go in them. In general, the
10436
+default for these options is expressed in terms of `${prefix}', so that
10437
+specifying just `--prefix' will affect all of the other directory
10438
+specifications that were not explicitly provided.
10440
+ The most portable way to affect installation locations is to pass the
10441
+correct locations to `configure'; however, many packages provide one or
10442
+both of the following shortcuts of passing variable assignments to the
10443
+`make install' command line to change installation locations without
10444
+having to reconfigure or recompile.
10446
+ The first method involves providing an override variable for each
10447
+affected directory. For example, `make install
10448
+prefix=/alternate/directory' will choose an alternate location for all
10449
+directory configuration variables that were expressed in terms of
10450
+`${prefix}'. Any directories that were specified during `configure',
10451
+but not in terms of `${prefix}', must each be overridden at install
10452
+time for the entire installation to be relocated. The approach of
10453
+makefile variable overrides for each directory variable is required by
10454
+the GNU Coding Standards, and ideally causes no recompilation.
10455
+However, some platforms have known limitations with the semantics of
10456
+shared libraries that end up requiring recompilation when using this
10457
+method, particularly noticeable in packages that use GNU Libtool.
10459
+ The second method involves providing the `DESTDIR' variable. For
10460
+example, `make install DESTDIR=/alternate/directory' will prepend
10461
+`/alternate/directory' before all installation names. The approach of
10462
+`DESTDIR' overrides is not required by the GNU Coding Standards, and
10463
+does not work on platforms that have drive letters. On the other hand,
10464
+it does better at avoiding recompilation issues, and works well even
10465
+when some directory options were not specified in terms of `${prefix}'
10466
+at `configure' time.
10471
+ If the package supports it, you can cause programs to be installed
10472
+with an extra prefix or suffix on their names by giving `configure' the
10473
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
10475
+ Some packages pay attention to `--enable-FEATURE' options to
10476
+`configure', where FEATURE indicates an optional part of the package.
10477
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
10478
+is something like `gnu-as' or `x' (for the X Window System). The
10479
+`README' should mention any `--enable-' and `--with-' options that the
10480
+package recognizes.
10482
+ For packages that use the X Window System, `configure' can usually
10483
+find the X include and library files automatically, but if it doesn't,
10484
+you can use the `configure' options `--x-includes=DIR' and
10485
+`--x-libraries=DIR' to specify their locations.
10487
+ Some packages offer the ability to configure how verbose the
10488
+execution of `make' will be. For these packages, running `./configure
10489
+--enable-silent-rules' sets the default to minimal output, which can be
10490
+overridden with `make V=1'; while running `./configure
10491
+--disable-silent-rules' sets the default to verbose, which can be
10492
+overridden with `make V=0'.
10494
+Particular systems
10495
+==================
10497
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
10498
+CC is not installed, it is recommended to use the following options in
10499
+order to use an ANSI C compiler:
10501
+ ./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
10503
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
10505
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
10506
+parse its `<wchar.h>' header file. The option `-nodtk' can be used as
10507
+a workaround. If GNU CC is not installed, it is therefore recommended
10510
+ ./configure CC="cc"
10512
+and if that doesn't work, try
10514
+ ./configure CC="cc -nodtk"
10516
+ On Solaris, don't put `/usr/ucb' early in your `PATH'. This
10517
+directory contains several dysfunctional programs; working variants of
10518
+these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
10519
+in your `PATH', put it _after_ `/usr/bin'.
10521
+ On Haiku, software installed for all users goes in `/boot/common',
10522
+not `/usr/local'. It is recommended to use the following options:
10524
+ ./configure --prefix=/boot/common
10526
+Specifying the System Type
10527
+==========================
10529
+ There may be some features `configure' cannot figure out
10530
+automatically, but needs to determine by the type of machine the package
10531
+will run on. Usually, assuming the package is built to be run on the
10532
+_same_ architectures, `configure' can figure that out, but if it prints
10533
+a message saying it cannot guess the machine type, give it the
10534
+`--build=TYPE' option. TYPE can either be a short name for the system
10535
+type, such as `sun4', or a canonical name which has the form:
10537
+ CPU-COMPANY-SYSTEM
10539
+where SYSTEM can have one of these forms:
10544
+ See the file `config.sub' for the possible values of each field. If
10545
+`config.sub' isn't included in this package, then this package doesn't
10546
+need to know the machine type.
10548
+ If you are _building_ compiler tools for cross-compiling, you should
10549
+use the option `--target=TYPE' to select the type of system they will
10552
+ If you want to _use_ a cross compiler, that generates code for a
10553
+platform different from the build platform, you should specify the
10554
+"host" platform (i.e., that on which the generated programs will
10555
+eventually be run) with `--host=TYPE'.
10560
+ If you want to set default values for `configure' scripts to share,
10561
+you can create a site shell script called `config.site' that gives
10562
+default values for variables like `CC', `cache_file', and `prefix'.
10563
+`configure' looks for `PREFIX/share/config.site' if it exists, then
10564
+`PREFIX/etc/config.site' if it exists. Or, you can set the
10565
+`CONFIG_SITE' environment variable to the location of the site script.
10566
+A warning: not all `configure' scripts look for a site script.
10568
+Defining Variables
10569
+==================
10571
+ Variables not defined in a site shell script can be set in the
10572
+environment passed to `configure'. However, some packages may run
10573
+configure again during the build, and the customized values of these
10574
+variables may be lost. In order to avoid this problem, you should set
10575
+them in the `configure' command line, using `VAR=value'. For example:
10577
+ ./configure CC=/usr/local2/bin/gcc
10579
+causes the specified `gcc' to be used as the C compiler (unless it is
10580
+overridden in the site shell script).
10582
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
10583
+an Autoconf bug. Until the bug is fixed you can use this workaround:
10585
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
10587
+`configure' Invocation
10588
+======================
10590
+ `configure' recognizes the following options to control how it
10595
+ Print a summary of all of the options to `configure', and exit.
10598
+`--help=recursive'
10599
+ Print a summary of the options unique to this package's
10600
+ `configure', and exit. The `short' variant lists options used
10601
+ only in the top level, while the `recursive' variant lists options
10602
+ also present in any nested packages.
10606
+ Print the version of Autoconf used to generate the `configure'
10607
+ script, and exit.
10609
+`--cache-file=FILE'
10610
+ Enable the cache: use and save the results of the tests in FILE,
10611
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
10616
+ Alias for `--cache-file=config.cache'.
10621
+ Do not print messages saying which checks are being made. To
10622
+ suppress all normal output, redirect it to `/dev/null' (any error
10623
+ messages will still be shown).
10626
+ Look for the package's source code in directory DIR. Usually
10627
+ `configure' can determine that directory automatically.
10630
+ Use DIR as the installation prefix. *note Installation Names::
10631
+ for more details, including other options available for fine-tuning
10632
+ the installation locations.
10636
+ Run the configure checks, but stop before creating any output
10639
-> I recently found a video showing Fedora booting with plymouth and I
10640
-> liked it. So I wanted to use plymouth with my favorite distri (gentoo).
10641
-> I know I'm enduser and the info text on freedesktop.org says plymouth
10642
-> is not meant to be installed by end users but I want to give it a try.
10643
-> I have KMS running and am using my own initramfs anyway (encrypted root
10644
-> disk) so how hard can it be? Can anybody please give me some straight
10645
-> forward hints on how to use plymouth? (The INSTALL file is empty and
10646
-> the README file is boring)
10647
+`configure' also accepts some other, not widely useful, options. Run
10648
+`configure --help' for more details.
10650
-So the basic idea is you need to:
10652
-1) build plymouth into the system. On fedora we use these conffigure flags:
10654
-.%configure --enable-tracing --disable-tests --without-boot-entry \
10655
- --without-default-plugin \
10656
- --with-logo=%{_datadir}/pixmaps/system-logo-white.png \
10657
- --with-background-start-color-stop=0x0073B3 \
10658
- --with-background-end-color-stop=0x00457E \
10659
- --with-background-color=0x3391cd \
10660
- --enable-gdm-transition \
10661
- --with-system-root-install \
10662
- --with-rhgb-compat-link
10664
-%configure is a macro that expands to:
10666
-./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
10668
-(and some other stuff)
10670
-%{_datadir} is just /usr/share
10672
-You probably won't need --with-rhgb-compat-link since that's only
10673
-there for compatibility with Fedora's old infrastructure.
10675
---with-system-root-install makes plymouthd and plymouth install
10676
-themselves into / instead of /usr. This is important so that the
10677
-plymouth client can work in cases where the root fs is mounted, but
10680
-Somehow you need to hook into your distros mkinitrd mechanism. I
10681
-mean you need to copy the plymouth binaries, plugins, and data files
10682
-into the initrd everytime you rebuild your initrd. See
10683
-plymouth-populate-initrd for how we do it on fedora (mkinitrd calls
10684
-plymouth-populate-initrd). I would like to upstream hooks for other
10685
-distros mkinitrd systems, so the out of the box experience is easier.
10687
-Inside the initrd, you need to start plymouthd early. The earlier the
10688
-better, but not before /sys, /proc/, and /dev/pts are mounted, and
10689
-not before /dev/tty[01] and /dev/fb0 are created.
10691
-At some point during the initrd you need to load the kms driver.
10692
-After it's loaded the graphics mode should get set up and /dev/fb0
10693
-will be functional. That's when you call plymouth --show-splash to
10694
-show the splash screen.
10696
-To decrypt your root, run
10698
-lymouth ask-for-password --command="/sbin/cryptsetup luksOpen -T ..."
10700
-where the --command is whatever makes sense for you.
10702
-Right after you mount the root file system (but before you switch to it), run
10704
-plymouth --newroot=/wherevertherootismounted
10706
-This tells plymouth it can load some files off the real filesystem
10707
-(like fonts, and stuff we don't want to stick in the initrd).
10709
-while boot you need to run plymouth --update=some-milestone-id
10711
-periodically to update the progress bar.
10713
-When / is mounted read-write you need to run
10715
-plymouth --sysinit
10717
-Finally, when plymouth is done, you need to run plymouth --quit
10719
-I have to run to catch a bus but i think that's the basics.
10721
-> I'm even willing to give something back and convert your hints
10722
-> into an easy step by step howto.
10726
--- plymouth-0.8.2.orig/Makefile.in
10727
+++ plymouth-0.8.2/Makefile.in
10728
@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
10729
PACKAGE_NAME = @PACKAGE_NAME@
10730
PACKAGE_STRING = @PACKAGE_STRING@
10731
PACKAGE_TARNAME = @PACKAGE_TARNAME@
10732
+PACKAGE_URL = @PACKAGE_URL@
10733
PACKAGE_VERSION = @PACKAGE_VERSION@
10734
PANGO_CFLAGS = @PANGO_CFLAGS@
10735
PANGO_LIBS = @PANGO_LIBS@
10736
--- plymouth-0.8.2.orig/aclocal.m4
10737
+++ plymouth-0.8.2/aclocal.m4
10740
m4_ifndef([AC_AUTOCONF_VERSION],
10741
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
10742
-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
10743
-[m4_warning([this file was generated for autoconf 2.63.
10744
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
10745
+[m4_warning([this file was generated for autoconf 2.65.
10746
You have another version of autoconf. It may work, but is not guaranteed to.
10747
If you have problems, you may need to regenerate the build system entirely.
10748
To do so, use the procedure documented by the package, typically `autoreconf'.])])
10749
@@ -2460,7 +2460,7 @@ linux*oldld* | linux*aout* | linux*coff*
10752
# This must be Linux ELF.
10753
-linux* | k*bsd*-gnu)
10754
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
10758
@@ -2485,13 +2485,10 @@ linux* | k*bsd*-gnu)
10759
# before this can be enabled.
10760
hardcode_into_libs=yes
10762
- # Add ABI-specific directories to the system library path.
10763
- sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
10765
# Append ld.so.conf contents to the search path
10766
if test -f /etc/ld.so.conf; then
10767
lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
10768
- sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
10769
+ sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
10772
# We used to test for /lib/ld.so.1 and disable shared libraries on
10773
@@ -2503,6 +2500,18 @@ linux* | k*bsd*-gnu)
10774
dynamic_linker='GNU/Linux ld.so'
10778
+ version_type=linux
10779
+ need_lib_prefix=no
10781
+ library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
10782
+ soname_spec='${libname}${release}${shared_ext}$major'
10783
+ shlibpath_var=LD_LIBRARY_PATH
10784
+ shlibpath_overrides_runpath=no
10785
+ hardcode_into_libs=yes
10786
+ dynamic_linker='NetBSD ld.elf_so'
10792
@@ -3090,11 +3099,11 @@ irix5* | irix6* | nonstopux*)
10795
# This must be Linux ELF.
10796
-linux* | k*bsd*-gnu)
10797
+linux* | k*bsd*-gnu | kopensolaris*-gnu)
10798
lt_cv_deplibs_check_method=pass_all
10802
+netbsd* | netbsdelf*-gnu)
10803
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
10804
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
10806
@@ -3711,7 +3720,7 @@ m4_if([$1], [CXX], [
10810
- linux* | k*bsd*-gnu)
10811
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
10812
case $cc_basename in
10815
@@ -3775,7 +3784,7 @@ m4_if([$1], [CXX], [
10820
+ netbsd* | netbsdelf*-gnu)
10823
# QNX uses GNU C++, but need to define -shared option too, otherwise
10824
@@ -3995,7 +4004,7 @@ m4_if([$1], [CXX], [
10825
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
10828
- linux* | k*bsd*-gnu)
10829
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
10830
case $cc_basename in
10831
# old Intel for x86_64 which still supported -KPIC.
10833
@@ -4200,6 +4209,9 @@ m4_if([$1], [CXX], [
10834
cygwin* | mingw* | cegcc*)
10835
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
10837
+ linux* | k*bsd*-gnu)
10838
+ _LT_TAGVAR(link_all_deplibs, $1)=no
10841
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
10843
@@ -4264,6 +4276,9 @@ dnl Note also adjust exclude_expsyms for
10847
+ linux* | k*bsd*-gnu)
10848
+ _LT_TAGVAR(link_all_deplibs, $1)=no
10852
_LT_TAGVAR(ld_shlibs, $1)=yes
10853
@@ -4285,6 +4300,7 @@ dnl Note also adjust exclude_expsyms for
10855
supports_anon_versioning=no
10856
case `$LD -v 2>&1` in
10857
+ *GNU\ gold*) supports_anon_versioning=yes ;;
10858
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
10859
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
10860
*\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
10861
@@ -4376,7 +4392,7 @@ _LT_EOF
10862
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
10865
- gnu* | linux* | tpf* | k*bsd*-gnu)
10866
+ gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
10868
if test "$host_os" = linux-dietlibc; then
10869
case $cc_basename in
10870
@@ -4446,7 +4462,7 @@ _LT_EOF
10875
+ netbsd* | netbsdelf*-gnu)
10876
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10877
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
10879
@@ -4621,6 +4637,7 @@ _LT_EOF
10880
if test "$aix_use_runtimelinking" = yes; then
10881
shared_flag="$shared_flag "'${wl}-G'
10883
+ _LT_TAGVAR(link_all_deplibs, $1)=no
10886
if test "$host_cpu" = ia64; then
10887
@@ -4859,7 +4876,7 @@ _LT_EOF
10888
_LT_TAGVAR(link_all_deplibs, $1)=yes
10892
+ netbsd* | netbsdelf*-gnu)
10893
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10894
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
10896
@@ -5855,7 +5872,7 @@ if test "$_lt_caught_CXX_error" != yes;
10897
_LT_TAGVAR(inherit_rpath, $1)=yes
10900
- linux* | k*bsd*-gnu)
10901
+ linux* | k*bsd*-gnu | kopensolaris*-gnu)
10902
case $cc_basename in
10904
# Kuck and Associates, Inc. (KAI) C++ Compiler
10905
@@ -7862,15 +7879,15 @@ m4_define([lt_dict_filter],
10907
# Generated from ltversion.in.
10909
-# serial 3012 ltversion.m4
10910
+# serial 3017 ltversion.m4
10911
# This file is part of GNU Libtool
10913
-m4_define([LT_PACKAGE_VERSION], [2.2.6])
10914
-m4_define([LT_PACKAGE_REVISION], [1.3012])
10915
+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
10916
+m4_define([LT_PACKAGE_REVISION], [1.3017])
10918
AC_DEFUN([LTVERSION_VERSION],
10919
-[macro_version='2.2.6'
10920
-macro_revision='1.3012'
10921
+[macro_version='2.2.6b'
10922
+macro_revision='1.3017'
10923
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
10924
_LT_DECL(, macro_revision, 0)
10926
@@ -8036,14 +8053,16 @@ fi])
10927
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
10928
# ---------------------------------------------
10929
m4_define([_PKG_CONFIG],
10930
-[if test -n "$$1"; then
10931
- pkg_cv_[]$1="$$1"
10932
- elif test -n "$PKG_CONFIG"; then
10933
- PKG_CHECK_EXISTS([$3],
10934
- [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
10935
- [pkg_failed=yes])
10937
- pkg_failed=untried
10938
+[if test -n "$PKG_CONFIG"; then
10939
+ if test -n "$$1"; then
10940
+ pkg_cv_[]$1="$$1"
10942
+ PKG_CHECK_EXISTS([$3],
10943
+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
10944
+ [pkg_failed=yes])
10947
+ pkg_failed=untried
10951
@@ -8087,9 +8106,9 @@ See the pkg-config man page for more det
10952
if test $pkg_failed = yes; then
10953
_PKG_SHORT_ERRORS_SUPPORTED
10954
if test $_pkg_short_errors_supported = yes; then
10955
- $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
10956
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
10958
- $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
10959
+ $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
10961
# Put the nasty error message in config.log where it belongs
10962
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
10963
--- plymouth-0.8.2.orig/docs/Makefile.in
10964
+++ plymouth-0.8.2/docs/Makefile.in
10965
@@ -140,6 +140,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
10966
PACKAGE_NAME = @PACKAGE_NAME@
10967
PACKAGE_STRING = @PACKAGE_STRING@
10968
PACKAGE_TARNAME = @PACKAGE_TARNAME@
10969
+PACKAGE_URL = @PACKAGE_URL@
10970
PACKAGE_VERSION = @PACKAGE_VERSION@
10971
PANGO_CFLAGS = @PANGO_CFLAGS@
10972
PANGO_LIBS = @PANGO_LIBS@
10973
--- plymouth-0.8.2.orig/themes/Makefile.am
10974
+++ plymouth-0.8.2/themes/Makefile.am
10976
-SUBDIRS = spinfinity fade-in text details solar glow script
10977
+SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
10978
MAINTAINERCLEANFILES = Makefile.in
10979
--- plymouth-0.8.2.orig/themes/Makefile.in
10980
+++ plymouth-0.8.2/themes/Makefile.in
10981
@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
10982
PACKAGE_NAME = @PACKAGE_NAME@
10983
PACKAGE_STRING = @PACKAGE_STRING@
10984
PACKAGE_TARNAME = @PACKAGE_TARNAME@
10985
+PACKAGE_URL = @PACKAGE_URL@
10986
PACKAGE_VERSION = @PACKAGE_VERSION@
10987
PANGO_CFLAGS = @PANGO_CFLAGS@
10988
PANGO_LIBS = @PANGO_LIBS@
10989
@@ -233,7 +234,7 @@ target_alias = @target_alias@
10990
top_build_prefix = @top_build_prefix@
10991
top_builddir = @top_builddir@
10992
top_srcdir = @top_srcdir@
10993
-SUBDIRS = spinfinity fade-in text details solar glow script
10994
+SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
10995
MAINTAINERCLEANFILES = Makefile.in
10998
--- plymouth-0.8.2.orig/themes/script/Makefile.in
10999
+++ plymouth-0.8.2/themes/script/Makefile.in
11000
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
11001
PACKAGE_NAME = @PACKAGE_NAME@
11002
PACKAGE_STRING = @PACKAGE_STRING@
11003
PACKAGE_TARNAME = @PACKAGE_TARNAME@
11004
+PACKAGE_URL = @PACKAGE_URL@
11005
PACKAGE_VERSION = @PACKAGE_VERSION@
11006
PANGO_CFLAGS = @PANGO_CFLAGS@
11007
PANGO_LIBS = @PANGO_LIBS@
11009
+++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.am
11011
+themedir = $(datadir)/plymouth/themes/ubuntu-logo
11012
+nodist_theme_DATA = ubuntu-logo.plymouth
11013
+dist_theme_DATA = ubuntu-logo.script \
11014
+ ubuntu_logo.png \
11015
+ ubuntu_logo16.png \
11016
+ password_field.png \
11017
+ password_field16.png \
11018
+ progress_dot_off.png \
11019
+ progress_dot_off16.png \
11020
+ progress_dot_on.png \
11021
+ progress_dot_on16.png
11025
+MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
11026
+CLEANFILES = ubuntu-logo.plymouth
11028
+ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
11029
+ sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
11030
+ $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
11032
+EXTRA_DIST = ubuntu-logo.plymouth.in
11034
+++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.plymouth.in
11038
+Description=A theme that features a blank background with a logo.
11042
+ImageDir=@PLYMOUTH_THEME_PATH@/ubuntu-logo
11043
+ScriptFile=@PLYMOUTH_THEME_PATH@/ubuntu-logo/ubuntu-logo.script
11045
+++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.script
11047
+# ubuntu-logo.script - boot splash plugin
11049
+# Copyright (C) 2009 Canonical Ltd.
11051
+# This program is free software; you can redistribute it and/or modify
11052
+# it under the terms of the GNU General Public License as published by
11053
+# the Free Software Foundation; either version 2, or (at your option)
11054
+# any later version.
11056
+# This program is distributed in the hope that it will be useful,
11057
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
11058
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11059
+# GNU General Public License for more details.
11061
+# You should have received a copy of the GNU General Public License
11062
+# along with this program; if not, write to the Free Software
11063
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
11064
+# 02111-1307, USA.
11066
+# Written by: Alberto Milone <alberto.milone@canonical.com>
11068
+# Based on the example provided with the "script plugin" written by:
11069
+# Charlie Brej <cbrej@cs.man.ac.uk>
11072
+# Set the text colour in (rgb / 256)
11073
+text_colour.red = 1.0;
11074
+text_colour.green = 1.0;
11075
+text_colour.blue = 1.0;
11077
+# Tinted text #988592
11078
+tinted_text_colour.red = 0.59;
11079
+tinted_text_colour.green = 0.52;
11080
+tinted_text_colour.blue = 0.57;
11082
+# Action Text - #ffffff - RGB 255 255 255
11083
+action_text_colour.red = 1.0;
11084
+action_text_colour.green = 1.0;
11085
+action_text_colour.blue = 1.0;
11087
+# Orange - #ff4012 - RGB 255 64 18
11088
+debugsprite = Sprite();
11089
+debugsprite_bottom = Sprite();
11090
+debugsprite_medium = Sprite();
11092
+# are we currently prompting for a password?
11093
+prompt_active = 0;
11095
+# General purpose function to create text
11096
+fun WriteText (text, colour) {
11097
+ image = Image.Text (text, colour.red, colour.green, colour.blue);
11101
+fun ImageToText (text) {
11102
+ image = WriteText (text, text_colour);
11106
+fun ImageToTintedText (text) {
11107
+ image = WriteText (text, tinted_text_colour);
11111
+fun ImageToActionText (text) {
11112
+ image = WriteText (text, action_text_colour);
11117
+ debugsprite.SetImage(ImageToText (text));
11120
+fun DebugBottom(text) {
11121
+ debugsprite_bottom.SetImage(ImageToText (text));
11122
+ debugsprite_bottom.SetPosition(0, (Window.GetHeight (0) - 20), 1);
11125
+fun DebugMedium(text) {
11126
+ debugsprite_medium.SetImage(ImageToText (text));
11127
+ debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 60), 1);
11130
+fun TextYOffset() {
11132
+ local.text_height;
11133
+ local.min_height;
11135
+ # Put the 1st line below the logo + some spacing
11136
+ y = logo.y + logo.height + (progress_indicator.bullet_height * 7 ); # + logo_spacing;
11138
+ text_height = first_line_height * 7.5;
11140
+ min_height = Window.GetHeight();
11141
+ if (y + text_height > min_height)
11142
+ y = min_height - text_height;
11144
+ if (y < progress_indicator.y + progress_indicator.height)
11145
+ return progress_indicator.y + progress_indicator.height;
11149
+#------------------------------String functions-------------------------------
11151
+# This is the equivalent for strstr()
11152
+fun StringString(string, substring) {
11154
+ while (String(string).CharAt (start)) {
11156
+ while (String(substring).CharAt (walk) == String(string).CharAt (start + walk) ) {
11158
+ if (!String(substring).CharAt (walk)) return start;
11166
+fun StringLength (string) {
11168
+ while (String(string).CharAt(index)) index++;
11172
+fun StringCopy (source, beginning, end) {
11173
+ local.destination = "";
11174
+ for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) {
11175
+ local.destination += String(source).CharAt(index);
11178
+ return local.destination;
11181
+fun StringReplace (source, pattern, replacement) {
11182
+ local.found = StringString(source, pattern);
11183
+ if (local.found == NULL)
11186
+ local.new_string = StringCopy (source, 0, local.found - 1) +
11188
+ StringCopy (source, local.found + StringLength(pattern), NULL);
11190
+ return local.new_string;
11193
+# it makes sense to use it only for
11194
+# numbers up to 100
11195
+fun StringToInteger (str) {
11197
+ for (i=0; i<=100; i++) {
11198
+ if (i+"" == str) {
11206
+#-----------------------------------------------------------------------------
11207
+# Previous background colour
11208
+# #300a24 --> 0.19, 0.04, 0.14
11209
+# New background colour
11210
+# #2c001e --> 0.16, 0.00, 0.12
11212
+Window.SetBackgroundTopColor (0.16, 0.00, 0.12); # Nice colour on top of the screen fading to
11213
+Window.SetBackgroundBottomColor (0.16, 0.00, 0.12); # an equally nice colour on the bottom
11215
+bits_per_pixel = Window.GetBitsPerPixel ();
11216
+if (bits_per_pixel == 4) {
11217
+ logo_filename = "ubuntu_logo16.png";
11218
+ progress_dot_off_filename = "progress_dot_off16.png";
11219
+ progress_dot_on_filename = "progress_dot_on16.png";
11220
+ password_field_filename = "password_field16.png";
11222
+ logo_filename = "ubuntu_logo.png";
11223
+ progress_dot_off_filename = "progress_dot_off.png";
11224
+ progress_dot_on_filename = "progress_dot_on.png";
11225
+ password_field_filename = "password_field.png";
11228
+logo.image = Image (logo_filename);
11229
+logo.sprite = Sprite ();
11230
+logo.sprite.SetImage (logo.image);
11231
+logo.width = logo.image.GetWidth ();
11232
+logo.height = logo.image.GetHeight ();
11233
+logo.x = Window.GetX () + Window.GetWidth () / 2 - logo.width / 2;
11234
+logo.y = Window.GetY () + Window.GetHeight () / 2 - logo.height;
11236
+logo.sprite.SetX (logo.x);
11237
+logo.sprite.SetY (logo.y);
11238
+logo.sprite.SetZ (logo.z);
11239
+logo.sprite.SetOpacity (1);
11241
+# Spacing below the logo - in pixels
11242
+logo_spacing = logo.height * 4;
11244
+message_notification[0].image = ImageToTintedText ("");
11245
+message_notification[1].image = ImageToTintedText ("");
11246
+fsck_notification.image = ImageToActionText ("");
11248
+status = "normal";
11250
+progress_indicator.bullet_off = Image (progress_dot_off_filename);
11251
+progress_indicator.bullet_on = Image (progress_dot_on_filename);
11252
+progress_indicator.bullet_width = progress_indicator.bullet_off.GetWidth ();
11253
+progress_indicator.bullet_height = progress_indicator.bullet_off.GetHeight ();
11254
+progress_indicator.bullet_hspacing = progress_indicator.bullet_width * 1.1;
11255
+progress_indicator.width = progress_indicator.bullet_width * 5;
11256
+progress_indicator.height = progress_indicator.bullet_height;
11257
+progress_indicator.y = logo.y + logo.height + (logo.height / 4);
11258
+progress_indicator.x = Window.GetX () + Window.GetWidth () / 2 - progress_indicator.width / 2; # logo.x + 26;
11260
+# use a fixed string with ascending and descending stems to calibrate the
11261
+# bounding box for the first message, so the messages below don't move up
11262
+# and down according to *their* height.
11263
+first_line_height = ImageToTintedText ("AfpqtM").GetHeight();
11265
+# if the user has a 640x480 or 800x600 display, we can't quite fit everything
11266
+# (including passphrase prompts) with the target spacing, so scoot the text up
11267
+# a bit if needed.
11268
+top_of_the_text = TextYOffset();
11270
+#-----------------------------------------Logo functions------------------------------
11272
+# Call this when updating the screen
11273
+fun draw_logo () {
11274
+ logo.sprite.SetX (logo.x);
11275
+ logo.sprite.SetY (logo.y);
11276
+ logo.sprite.SetZ (logo.z);
11277
+ logo.sprite.SetOpacity (1);
11281
+#-----------------------------------------Progress Indicator--------------------------
11282
+fun set_progress_indicator () {
11285
+ # Here we assume that we can store half bullets on each half of the screen
11286
+ # together with some spacing
11287
+ local.x = progress_indicator.x;
11289
+ for (index = 0; index <= 4; index++) {
11290
+ # Set the "off" bullets
11291
+ progress_indicator.bullets_off[index].sprite = Sprite (progress_indicator.bullet_off);
11292
+ progress_indicator.bullets_off[index].sprite.SetPosition (local.x, progress_indicator.y, 1000);
11293
+ progress_indicator.bullets_off[index].x = local.x;
11294
+ progress_indicator.bullets_off[index].y = progress_indicator.y;
11295
+ progress_indicator.bullets_off[index].sprite.SetOpacity (1);
11297
+ #local.debug_medium_string = "Progress indicator " + index + ": x = " + progress_indicator.bullets_off[index].x +
11298
+ # ", y = " + progress_indicator.bullets_off[index].y + ", logo width = " + logo.width +
11299
+ # ", logo height = " + logo.height + " " + screen_width + " " + screen_height;
11301
+ #(index % 2) && DebugMedium (local.debug_medium_string) || DebugBottom (local.debug_medium_string);
11303
+ # Set the "on" bullets on top of the "off" bullets and make them transparent
11304
+ progress_indicator.bullets_on[index].sprite = Sprite (progress_indicator.bullet_on);
11305
+ progress_indicator.bullets_on[index].x = progress_indicator.bullets_off[index].x;
11306
+ progress_indicator.bullets_on[index].y = progress_indicator.bullets_off[index].y;
11307
+ progress_indicator.bullets_on[index].sprite.SetPosition (progress_indicator.bullets_on[index].x, progress_indicator.bullets_on[index].y, 10000);
11309
+ progress_indicator.bullets_on[index].sprite.SetOpacity (0);
11311
+ local.x += progress_indicator.bullet_hspacing;
11313
+ #local.debug_string = "Progress indicator: x1 = " + progress_indicator.x + ", x2 = " + local.x + ", y = " + progress_indicator.y +
11314
+ # ", x logo = " + logo.x + ", y logo = " + logo.y + ", indicator width = " + progress_indicator.width;
11315
+ #Debug(progress_indicator.bullets_off[0].x);
11319
+# We have 2 bullets, one on top of the other:
11320
+# The white one is on top of the red one and the former should
11321
+# slowly fade so as to get a nice transition effect.
11322
+fun switch_on_bullet (bullets_off, bullets_on, bullet_number, opacity) {
11323
+ local.x = bullets_on[bullet_number].x;
11324
+ local.y = bullets_on[bullet_number].y;
11325
+ local.z = bullets_on[bullet_number].z;
11327
+ # Hide the bullets which are off
11328
+ bullets_off[bullet_number].sprite.SetOpacity (0);
11330
+ # Show the bullets which are on
11331
+ bullets_on[bullet_number].sprite.SetPosition (local.x, local.y, local.z);
11332
+ bullets_on[bullet_number].sprite.SetOpacity (opacity);
11334
+ # Bump the number of times we have switched on bullets
11335
+ global.times_bullets_switched++;
11338
+fun switch_off_bullets () {
11339
+ # Debug("Switching off progress indicator");
11341
+ set_progress_indicator ();
11342
+ global.times_bullets_switched = 0;
11343
+ global.on_off = 1;
11346
+# This is something that we can call when we exit
11347
+fun switch_on_bullets () {
11348
+ # Debug("Switching off progress indicator");
11349
+ if (!global.progress_indicator.bullets_on) set_progress_indicator ();
11350
+ local = global.progress_indicator;
11352
+ for (index = 0; bullets_on[index]; index++) {
11353
+ switch_on_bullet (bullets_off, bullets_on, index, 1.0);
11358
+# Implement in boot progress callback
11359
+fun animate_progress_indicator (progress, time) {
11360
+ if (global.progress_time == NULL) {
11361
+ global.progress_time = progress; #time;
11362
+ switch_off_bullets ();
11365
+# Debug ("progress = " + progress + ", time = " + time + " times switched = " + global.times_bullets_switched + " on_off " + global.on_off);
11367
+# if (global.times_bullets_switched == NULL)
11368
+# global.times_bullets_switched = 5;
11370
+# if (global.on_off == NULL)
11371
+# global.on_off = 0;
11373
+ if ((progress - global.progress_time) >= 1.0) {
11374
+ global.progress_time = progress;
11376
+ if (global.times_bullets_switched == 5) {
11377
+ # Change which bullets are switched on
11378
+ # and which ones are switched off
11379
+ global.on_off = !global.on_off;
11380
+ global.times_bullets_switched = 0;
11383
+ if (global.on_off) {
11384
+ switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
11385
+ global.times_bullets_switched, 1.0);
11388
+ switch_on_bullet (progress_indicator.bullets_on, progress_indicator.bullets_off,
11389
+ global.times_bullets_switched, 1.0);
11394
+ # Start setting bullets to "on" with translucency
11395
+# for (index = 0; index <= 5; index++) {
11397
+# while (opacity <= 1.0) {
11398
+# switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
11399
+# index, opacity);
11406
+#-----------------------------------------Label utility functions---------------------
11408
+# label should be either a string or NULL
11409
+# Images for n lines will be created and returned as items of the
11410
+# message_label array
11412
+fun get_message_label (label, is_fake, is_action_line) {
11413
+ # Debug("Get Label position");
11414
+ local.message_label;
11417
+ # Create a fake label so as to get the y coordinate of
11418
+ # a standard-length label.
11419
+ local.message_image = ImageToTintedText ("This is a fake message");
11421
+ local.message_image = (is_action_line) && ImageToActionText (label) || ImageToTintedText (label);
11423
+ message_label.width = message_image.GetWidth ();
11424
+ message_label.height = message_image.GetHeight ();
11426
+ # Center the line horizontally
11427
+ message_label.x = Window.GetX () + Window.GetWidth () / 2 - message_label.width / 2;
11429
+ message_label.y = top_of_the_text;
11431
+ # Put the 2nd line below the fsck line
11432
+ if (is_action_line) {
11433
+ local.fsck_label.y = message_label.y + (first_line_height + first_line_height / 2);
11434
+ message_label.y = local.fsck_label.y + (first_line_height * 2);
11437
+ # Debug("action label x = " + message_label.x + " y = " + message_label.y );
11439
+# message_debug = "msg_x = " + message_label.x + " msg_y = " + message_label.y +
11440
+# "msg_width = " + message_label.width + " msg_height = " +
11441
+# message_label.height + " message = " + label;
11442
+# Debug(message_debug);
11444
+ return message_label;
11448
+# Create an fsck label and/or get its position
11449
+fun get_fsck_label (label, is_fake) {
11450
+ # Debug("Get Label position");
11451
+ local.fsck_label = global.progress_label;
11454
+ fsck_label.image = ImageToTintedText ("This is a fake message");
11456
+ fsck_label.image = ImageToTintedText (label);
11458
+ fsck_label.width = fsck_label.image.GetWidth ();
11459
+ fsck_label.height = fsck_label.image.GetHeight ();
11461
+ # Centre the label horizontally
11462
+ fsck_label.x = Window.GetX () + Window.GetWidth () / 2 - fsck_label.width / 2;
11464
+ local.first_label = get_message_label (label, 1, 0);
11466
+ # Place the label below the 1st message line
11467
+ fsck_label.y = local.first_label.y + local.first_label.height + (local.first_label.height / 2);
11469
+# message_debug = "msg_x = " + fsck_label.x + " msg_y = " + fsck_label.y +
11470
+# "msg_width = " + fsck_label.width + " msg_height = " +
11471
+# fsck_label.height + " message = " + label;
11472
+# Debug(message_debug);
11474
+ return fsck_label;
11477
+#-----------------------------------------Message stuff --------------------------------
11480
+# Set up a message label
11482
+# NOTE: this is called when doing something like 'plymouth message "hello world"'
11484
+fun setup_message (message_text, x, y, z, index) {
11485
+ # Debug("Message setup");
11486
+ global.message_notification[index].image = (index) && ImageToActionText (message_text) || ImageToTintedText (message_text);
11488
+ # Set up the text message, if any
11489
+ message_notification[index].x = x;
11490
+ message_notification[index].y = y;
11491
+ message_notification[index].z = z;
11493
+ message_notification[index].sprite = Sprite ();
11494
+ message_notification[index].sprite.SetImage (message_notification[index].image);
11495
+ message_notification[index].sprite.SetX (message_notification[index].x);
11496
+ message_notification[index].sprite.SetY (message_notification[index].y);
11497
+ message_notification[index].sprite.SetZ (message_notification[index].z);
11501
+fun show_message (index) {
11502
+ if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(1);
11505
+fun hide_message (index) {
11506
+ if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(0);
11512
+# the callback function is called when new message should be displayed.
11513
+# First arg is message to display.
11514
+fun message_callback (message)
11516
+ # Debug("Message callback");
11518
+ if (!message || (message == "")) is_fake = 1;
11520
+ local.substring = "keys:";
11522
+ # Look for the "keys:" prefix
11523
+ local.keys = StringString(message, local.substring);
11525
+ local.is_action_line = (keys != NULL);
11526
+ #Debug("keys " + local.keys + " substring length = " + StringLength(local.substring));
11528
+ # Get the message without the "keys:" prefix
11529
+ if (keys != NULL)
11530
+ message = StringCopy (message, keys + StringLength(local.substring), NULL);
11532
+ local.label.is_fake = is_fake;
11533
+ label = get_message_label(message, is_fake, is_action_line);
11536
+ setup_message (message, label.x, label.y, label.z, is_action_line);
11537
+ if (prompt_active && local.is_action_line)
11538
+ hide_message (is_action_line);
11540
+ show_message (is_action_line);
11545
+#-----------------------------------------Display Password stuff -----------------------
11548
+fun password_dialogue_setup (message_label) {
11549
+ # Debug("Password dialog setup");
11552
+ local.bullet_image;
11554
+ bullet_image = Image (progress_dot_off_filename);
11555
+ entry.image = Image (password_field_filename);
11557
+ # Hide the normal labels
11558
+ prompt_active = 1;
11559
+ if (message_notification[1].sprite) hide_message (1);
11561
+ # Set the prompt label
11562
+ label = get_message_label(message_label, 0, 1);
11565
+ setup_message (message_label, label.x, label.y, label.z, 2);
11566
+ show_message (2);
11568
+ # Set up the text entry which contains the bullets
11569
+ entry.sprite = Sprite ();
11570
+ entry.sprite.SetImage (entry.image);
11572
+ # Centre the box horizontally
11573
+ entry.x = Window.GetX () + Window.GetWidth () / 2 - entry.image.GetWidth () / 2;
11575
+ # Put the entry below the second label.
11576
+ entry.y = message_notification[2].y + label.height;
11578
+ #Debug ("entry x = " + entry.x + ", y = " + entry.y);
11580
+ entry.sprite.SetX (entry.x);
11581
+ entry.sprite.SetY (entry.y);
11582
+ entry.sprite.SetZ (entry.z);
11584
+ global.password_dialogue = local;
11587
+fun password_dialogue_opacity (opacity) {
11588
+ # Debug("Password dialog opacity");
11589
+ global.password_dialogue.opacity = opacity;
11590
+ local = global.password_dialogue;
11592
+ # You can make the box translucent with a float
11593
+ # entry.sprite.SetOpacity (0.3);
11594
+ entry.sprite.SetOpacity (opacity);
11595
+ label.sprite.SetOpacity (opacity);
11598
+ for (index = 0; bullets[index]; index++) {
11599
+ bullets[index].sprite.SetOpacity (opacity);
11605
+# The callback function is called when the display should display a password dialogue.
11606
+# First arg is prompt string, the second is the number of bullets.
11607
+fun display_password_callback (prompt, bullets) {
11608
+ # Debug("Password dialog setup");
11610
+ global.status = "password";
11611
+ if (!global.password_dialogue) password_dialogue_setup(prompt);
11612
+ password_dialogue_opacity (1);
11613
+ bullet_width = password_dialogue.bullet_image.GetWidth();
11614
+ bullet_y = password_dialogue.entry.y +
11615
+ password_dialogue.entry.image.GetHeight () / 2 -
11616
+ password_dialogue.bullet_image.GetHeight () / 2;
11617
+ margin = bullet_width;
11618
+ spaces = Math.Int( (password_dialogue.entry.image.GetWidth () - (margin * 2)) / (bullet_width / 2 ) );
11619
+ #Debug ("spaces = " + spaces + ", bullets = " + bullets);
11620
+ bullets_area.width = margin + spaces * (bullet_width / 2);
11621
+ bullets_area.x = Window.GetX () + Window.GetWidth () / 2 - bullets_area.width / 2;
11622
+ #DebugBottom ("pwd_entry x = " + password_dialogue.entry.x + ", bullets_area.x = " + bullets_area.x + ", bullets_area.width = " + bullets_area.width);
11623
+ if (bullets > spaces)
11624
+ bullets = spaces;
11625
+ for (index = 0; password_dialogue.bullets[index] || index < bullets; index++){
11626
+ if (!password_dialogue.bullets[index]) {
11627
+ password_dialogue.bullets[index].sprite = Sprite ();
11628
+ password_dialogue.bullets[index].sprite.SetImage (password_dialogue.bullet_image);
11629
+ password_dialogue.bullets[index].x = bullets_area.x + # password_dialogue.entry.x + margin +
11630
+ index * bullet_width / 2;
11631
+ password_dialogue.bullets[index].sprite.SetX (password_dialogue.bullets[index].x);
11632
+ password_dialogue.bullets[index].y = bullet_y;
11633
+ password_dialogue.bullets[index].sprite.SetY (password_dialogue.bullets[index].y);
11634
+ password_dialogue.bullets[index].z = password_dialogue.entry.z + 1;
11635
+ password_dialogue.bullets[index].sprite.SetZ (password_dialogue.bullets[index].z);
11638
+ password_dialogue.bullets[index].sprite.SetOpacity (0);
11640
+ if (index < bullets) {
11641
+ password_dialogue.bullets[index].sprite.SetOpacity (1);
11646
+Plymouth.SetDisplayPasswordFunction (display_password_callback);
11648
+Plymouth.SetMessageFunction (message_callback);
11650
+Plymouth.SetBootProgressFunction (animate_progress_indicator);
11652
+# Plymouth.SetBootProgressFunction: the callback function is called with two numbers, the progress (between 0 and 1) and the time spent booting so far
11653
+# Plymouth.SetRootMountedFunction: the callback function is called when a new root is mounted
11654
+# Plymouth.SetKeyboardInputFunction: the callback function is called with a string containing a new character entered on the keyboard
11656
+#----------------------------------------- FSCK Counter --------------------------------
11658
+# Initialise the counter
11659
+fun init_fsck_count () {
11660
+ # The number of fsck checks in this cycle
11661
+ global.counter.total = 0;
11662
+ # The number of fsck checks already performed + the current one
11663
+ global.counter.current = 1;
11664
+ # The previous fsck
11665
+ global.counter.last = 0;
11668
+# Increase the total counter
11669
+fun increase_fsck_count () {
11670
+ global.counter.total++;
11673
+fun increase_current_fsck_count () {
11674
+ global.counter.last = global.counter.current++;
11677
+# Clear the counter
11678
+fun clear_fsck_count () {
11679
+ global.counter = NULL;
11680
+ init_fsck_count ();
11683
+#----------------------------------------- Progress Label ------------------------------
11686
+# Change the opacity level of a progress label
11688
+# opacity = 1 -> show
11689
+# opacity = 0 -> hide
11690
+# opacity = 0.3 (or any other float) -> translucent
11692
+fun set_progress_label_opacity (opacity) {
11694
+ progress_label.sprite.SetOpacity (opacity);
11696
+ # Make the slot available again when hiding the bar
11697
+ # So that another bar can take its place
11698
+ if (opacity == 0) {
11699
+ progress_label.is_available = 1;
11700
+ progress_label.device = "";
11704
+# Set up a new Progress Bar
11706
+# TODO: Make it possible to reuse (rather than recreate) a bar
11707
+# if .is_available = 1. Ideally this would just reset the
11708
+# label, the associated
11709
+# device and the image size of the sprite.
11711
+fun init_progress_label (device, status_string) {
11712
+ # Make the slot unavailable
11713
+ global.progress_label.is_available = 0;
11714
+ progress_label.progress = 0;
11715
+ progress_label.device = device;
11716
+ progress_label.status_string = status_string;
11719
+# See if the progress label is keeping track of the fsck
11722
+fun device_has_progress_label (device) {
11723
+ #DebugBottom ("label device = " + progress_label.device + " checking device " + device);
11724
+ return (progress_label.device == device);
11727
+# Update the Progress bar which corresponds to index
11729
+fun update_progress_label (progress) {
11730
+ # If progress is NULL then we just refresh the label.
11731
+ # This happens when only counter.total has changed.
11732
+ if (progress != NULL) {
11733
+ progress_label.progress = progress;
11735
+ #Debug("device " + progress_label.device + " progress " + progress);
11737
+ # If progress >= 100% hide the label and make it available again
11738
+ if (progress >= 100) {
11739
+ set_progress_label_opacity (0);
11741
+ # See if we any other fsck check is complete
11742
+ # and, if so, hide the progress bars and the labels
11743
+ on_fsck_completed ();
11748
+ # Update progress label here
11750
+ # FIXME: the queue logic from this theme should really be moved into mountall
11751
+ # instead of using string replacement to deal with localised strings.
11752
+ label = StringReplace (progress_label.status_string[0], "%1$d", global.counter.current);
11753
+ label = StringReplace (label, "%2$d", global.counter.total);
11754
+ label = StringReplace (label, "%3$d", progress_label.progress);
11755
+ label = StringReplace (label, "%%", "%");
11757
+ progress_label = get_fsck_label (label, 0);
11758
+ #progress_label.progress = progress;
11760
+ progress_label.sprite = Sprite (progress_label.image);
11763
+ progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1);
11765
+ set_progress_label_opacity (1);
11769
+# Refresh the label so as to update counters
11770
+fun refresh_progress_label () {
11771
+ update_progress_label (NULL);
11774
+#----------------------------------------- FSCK Queue ----------------------------------
11776
+# Initialise the fsck queue
11777
+fun init_queue () {
11778
+ global.fsck_queue[0].device;
11779
+ global.fsck_queue[0].progress;
11780
+ global.fsck_queue.counter = 0;
11781
+ global.fsck_queue.biggest_item = 0;
11784
+fun clear_queue () {
11785
+ global.fsck_queue = NULL;
11789
+# Return either the device index in the queue or -1
11790
+fun queue_look_up_by_device (device) {
11791
+ for (i=0; i <= fsck_queue.biggest_item; i++) {
11792
+ if ((fsck_queue[i]) && (fsck_queue[i].device == device))
11798
+# Keep track of an fsck process in the queue
11799
+fun add_fsck_to_queue (device, progress) {
11800
+ # Look for an empty slot in the queue
11801
+ for (i=0; global.fsck_queue[i].device; i++) {
11806
+ # Set device and progress
11807
+ global.fsck_queue[local.index].device = device;
11808
+ global.fsck_queue[local.index].progress = progress;
11810
+ # Increase the queue counter
11811
+ global.fsck_queue.counter++;
11813
+ # Update the max index of the array for iterations
11814
+ if (local.index > global.fsck_queue.biggest_item)
11815
+ global.fsck_queue.biggest_item = local.index;
11817
+ #DebugMedium ("Adding " + device + " at " + local.index);
11820
+fun is_queue_empty () {
11821
+ return (fsck_queue.counter == 0);
11824
+fun is_progress_label_available () {
11825
+ return (progress_label.is_available == 1);
11829
+# This should cover the case in which the fsck checks in
11830
+# the queue are completed before the ones showed in the
11832
+fun on_queued_fsck_completed () {
11833
+ if (!is_queue_empty ())
11836
+ # Hide the extra label, if any
11837
+ #if (progress_bar.extra_label.sprite)
11838
+ # progress_bar.extra_label.sprite.SetOpacity(0);
11841
+fun remove_fsck_from_queue (index) {
11842
+ # Free memory which was previously allocated for
11843
+ # device and progress
11844
+ global.fsck_queue[index].device = NULL;
11845
+ global.fsck_queue[index].progress = NULL;
11847
+ # Decrease the queue counter
11848
+ global.fsck_queue.counter--;
11850
+ # See if there are other processes in the queue
11851
+ # if not, clear the extra_label
11852
+ on_queued_fsck_completed ();
11855
+fun on_fsck_completed () {
11856
+ # We have moved on to tracking the next fsck
11857
+ increase_current_fsck_count ();
11859
+ if (!is_progress_label_available ())
11862
+ if (!is_queue_empty ())
11865
+ # Hide the progress label
11866
+ if (progress_label.sprite)
11867
+ progress_label.sprite.SetOpacity (0);
11869
+ # Clear the queue
11872
+ # Clear the fsck counter
11873
+ clear_fsck_count ();
11876
+# Update an fsck process that we keep track of in the queue
11877
+fun update_progress_in_queue (index, device, progress) {
11878
+ # If the fsck is complete, remove it from the queue
11879
+ if (progress >= 100) {
11880
+ remove_fsck_from_queue (index);
11881
+ on_queued_fsck_completed ();
11885
+ global.fsck_queue[index].device = device;
11886
+ global.fsck_queue[index].progress = progress;
11890
+# TODO: Move it to some function
11891
+# Create an empty queue
11895
+#----------------------------------------- FSCK Functions ------------------------------
11898
+# Either add a new bar for fsck checks or update an existing bar
11900
+# NOTE: no more than "progress_bar.max_number" bars are allowed
11902
+fun fsck_check (device, progress, status_string) {
11904
+ # The 1st time this will take place
11905
+ if (!global.progress_label) {
11906
+ # Increase the fsck counter
11907
+ increase_fsck_count ();
11909
+ # Set up a new label for the check
11910
+ init_progress_label (device, status_string);
11911
+ update_progress_label (progress);
11917
+ if (device_has_progress_label (device)) {
11918
+ # Update the progress of the existing label
11919
+ update_progress_label (progress);
11922
+ # See if there's already a slot in the queue for the device
11923
+ local.queue_device_index = queue_look_up_by_device(device);
11925
+ # See if the progress_label is available
11926
+ if (progress_label.is_available) {
11928
+# local.my_string = "available index " + local.available_index + " progress_bar counter is " + progress_bar.counter;
11929
+# Debug(local.my_string);
11932
+ # If the fsck check for the device was in the queue, then
11933
+ # remove it from the queue
11934
+ if (local.queue_device_index >= 0) {
11935
+ remove_fsck_from_queue (index);
11938
+ # Increase the fsck counter
11939
+ increase_fsck_count ();
11942
+# local.my_string += local.message;
11943
+ #Debug("setting new label for device " + device + " progress " + progress);
11945
+ # Set up a new label for the check
11946
+ init_progress_label (device, status_string);
11947
+ update_progress_label (progress);
11950
+ # If the progress_label is not available
11953
+ # If the fsck check for the device is already in the queue
11954
+ # just update its progress in the queue
11955
+ if (local.queue_device_index >= 0) {
11956
+ #DebugMedium("Updating queue at " + local.queue_device_index + " for device " + device);
11957
+ update_progress_in_queue (local.queue_device_index, device, progress);
11959
+ # Otherwise add the check to the queue
11961
+ #DebugMedium("Adding device " + device + " to queue at " + local.queue_device_index);
11962
+ add_fsck_to_queue (device, progress);
11964
+ # Increase the fsck counter
11965
+ increase_fsck_count ();
11967
+ refresh_progress_label ();
11973
+# if (!is_queue_empty ()) {
11974
+# DebugBottom("Extra label for "+ device);
11977
+# DebugBottom("No extra label for " + device + ". 1st Device in the queue "+ fsck_queue[0].device + " counter = " + global.fsck_queue.counter);
11982
+#-----------------------------------------Update Status stuff --------------------------
11984
+# The update_status_callback is what we can use to pass plymouth whatever we want so
11985
+# as to make use of features which are available only in this program (as opposed to
11986
+# being available for any theme for the script plugin).
11990
+# Thanks to the current implementation, some scripts can call "plymouth --update=fsck:sda1:40"
11991
+# and this program will know that 1) we're performing and fsck check, 2) we're checking sda1,
11992
+# 3) the program should set the label progress to 40%
11994
+# Other features can be easily added by parsing the string that we pass plymouth with "--update"
11996
+fun update_status_callback (status) {
11998
+ if (!status) return;
12001
+ update_strings[string_it] = "";
12003
+ for (i=0; (String(status).CharAt(i) != ""); i++) {
12004
+ local.temp_char = String(status).CharAt(i);
12005
+ if (temp_char != ":")
12006
+ update_strings[string_it] += temp_char;
12008
+ update_strings[++string_it] = "";
12011
+# my_string = update_strings[0] + " " + update_strings[1] + " " + update_strings[2];
12012
+# Debug(my_string);
12013
+ # Let's assume that we're dealing with these strings fsck:sda1:40
12014
+ if ((string_it >= 2) && (update_strings[0] == "fsck")) {
12016
+ device = update_strings[1];
12017
+ progress = update_strings[2];
12018
+ status_string[0] = update_strings[3]; # "Checking disk %1$d of %2$d (%3$d %% complete)"
12019
+ if (!status_string[0])
12020
+ status_string[0] = "Checking disk %1$d of %2$d (%3$d %% complete)";
12022
+ if ((device != "") && (progress != "")) {
12023
+ progress = StringToInteger (progress);
12025
+ # Make sure that the fsck_queue is initialised
12026
+ if (!global.fsck_queue)
12029
+ # Make sure that the fsck counter is initialised
12030
+ if (!global.counter)
12031
+ init_fsck_count ();
12033
+# if (!global.progress_bar.extra_label.sprite)
12034
+# create_extra_fsck_label ();
12036
+ # Keep track of the fsck check
12037
+ fsck_check (device, progress, status_string);
12043
+Plymouth.SetUpdateStatusFunction (update_status_callback);
12045
+#-----------------------------------------Display Question stuff -----------------------
12047
+# TODO: Implement this if needed
12049
+# The callback function is called when the display should display a question dialogue.
12050
+# First arg is prompt string, the second is the entry contents.
12051
+#fun display_question_callback (prompt_string, entry_contents)
12056
+#Plymouth.SetDisplayQuestionFunction (display_question_callback);
12058
+#-----------------------------------------Refresh stuff --------------------------------
12060
+# Calling Plymouth.SetRefreshFunction with a function will set that function to be
12061
+# called up to 50 times every second, e.g.
12063
+# NOTE: if a refresh function is not set, Plymouth doesn't seem to be able to update
12064
+# the screen correctly
12066
+fun refresh_callback ()
12070
+Plymouth.SetRefreshFunction (refresh_callback);
12073
+#-----------------------------------------Display Normal stuff -----------------------
12075
+# The callback function is called when the display should return to normal
12076
+fun display_normal_callback ()
12078
+ global.status = "normal";
12079
+ if (global.password_dialogue) {
12080
+ password_dialogue_opacity (0);
12081
+ global.password_dialogue = NULL;
12082
+ if (message_notification[2].sprite) hide_message(2);
12083
+ prompt_active = 0;
12086
+ if (message_notification[1].sprite) show_message (1);
12091
+Plymouth.SetDisplayNormalFunction (display_normal_callback);
12094
+#----------------------------------------- Quit --------------------------------
12096
+# TODO: Maybe we should also hide any other dialog
12097
+# Show the logo and make the progress indicator look full when on exit
12098
+fun quit_callback ()
12100
+ logo.sprite.SetOpacity (1);
12101
+ switch_on_bullets ();
12104
+Plymouth.SetQuitFunction(quit_callback);
12106
+++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.in
12108
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
12109
+# @configure_input@
12111
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
12112
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
12114
+# This Makefile.in is free software; the Free Software Foundation
12115
+# gives unlimited permission to copy and/or distribute it,
12116
+# with or without modifications, as long as this notice is preserved.
12118
+# This program is distributed in the hope that it will be useful,
12119
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12120
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12121
+# PARTICULAR PURPOSE.
12126
+pkgdatadir = $(datadir)/@PACKAGE@
12127
+pkgincludedir = $(includedir)/@PACKAGE@
12128
+pkglibdir = $(libdir)/@PACKAGE@
12129
+pkglibexecdir = $(libexecdir)/@PACKAGE@
12130
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
12131
+install_sh_DATA = $(install_sh) -c -m 644
12132
+install_sh_PROGRAM = $(install_sh) -c
12133
+install_sh_SCRIPT = $(install_sh) -c
12134
+INSTALL_HEADER = $(INSTALL_DATA)
12135
+transform = $(program_transform_name)
12136
+NORMAL_INSTALL = :
12139
+NORMAL_UNINSTALL = :
12141
+POST_UNINSTALL = :
12142
+build_triplet = @build@
12143
+host_triplet = @host@
12144
+subdir = themes/ubuntu-logo
12145
+DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
12146
+ $(srcdir)/Makefile.in
12147
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
12148
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
12149
+ $(top_srcdir)/configure.ac
12150
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
12152
+mkinstalldirs = $(install_sh) -d
12153
+CONFIG_HEADER = $(top_builddir)/config.h
12154
+CONFIG_CLEAN_FILES =
12155
+CONFIG_CLEAN_VPATH_FILES =
12156
+AM_V_GEN = $(am__v_GEN_$(V))
12157
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
12158
+am__v_GEN_0 = @echo " GEN " $@;
12159
+AM_V_at = $(am__v_at_$(V))
12160
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
12164
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
12165
+am__vpath_adj = case $$p in \
12166
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
12169
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
12170
+am__install_max = 40
12171
+am__nobase_strip_setup = \
12172
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
12173
+am__nobase_strip = \
12174
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
12175
+am__nobase_list = $(am__nobase_strip_setup); \
12176
+ for p in $$list; do echo "$$p $$p"; done | \
12177
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
12178
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
12179
+ if (++n[$$2] == $(am__install_max)) \
12180
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
12181
+ END { for (dir in files) print dir, files[dir] }'
12183
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
12184
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
12185
+am__installdirs = "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"
12186
+DATA = $(dist_theme_DATA) $(nodist_theme_DATA)
12187
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
12188
+ACLOCAL = @ACLOCAL@
12190
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
12192
+AUTOCONF = @AUTOCONF@
12193
+AUTOHEADER = @AUTOHEADER@
12194
+AUTOMAKE = @AUTOMAKE@
12197
+CCDEPMODE = @CCDEPMODE@
12200
+CPPFLAGS = @CPPFLAGS@
12201
+CYGPATH_W = @CYGPATH_W@
12204
+DRM_CFLAGS = @DRM_CFLAGS@
12205
+DRM_LIBS = @DRM_LIBS@
12206
+DSYMUTIL = @DSYMUTIL@
12207
+DUMPBIN = @DUMPBIN@
12215
+GTK_CFLAGS = @GTK_CFLAGS@
12216
+GTK_LIBS = @GTK_LIBS@
12217
+IMAGE_CFLAGS = @IMAGE_CFLAGS@
12218
+IMAGE_LIBS = @IMAGE_LIBS@
12219
+INSTALL = @INSTALL@
12220
+INSTALL_DATA = @INSTALL_DATA@
12221
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
12222
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
12223
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
12225
+LDFLAGS = @LDFLAGS@
12226
+LIBOBJS = @LIBOBJS@
12228
+LIBTOOL = @LIBTOOL@
12231
+LTLIBOBJS = @LTLIBOBJS@
12233
+LT_CURRENT = @LT_CURRENT@
12234
+LT_REVISION = @LT_REVISION@
12236
+MAKEINFO = @MAKEINFO@
12237
+MKDIR_P = @MKDIR_P@
12240
+OBJDUMP = @OBJDUMP@
12243
+OTOOL64 = @OTOOL64@
12244
+PACKAGE = @PACKAGE@
12245
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12246
+PACKAGE_NAME = @PACKAGE_NAME@
12247
+PACKAGE_STRING = @PACKAGE_STRING@
12248
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
12249
+PACKAGE_URL = @PACKAGE_URL@
12250
+PACKAGE_VERSION = @PACKAGE_VERSION@
12251
+PANGO_CFLAGS = @PANGO_CFLAGS@
12252
+PANGO_LIBS = @PANGO_LIBS@
12253
+PATH_SEPARATOR = @PATH_SEPARATOR@
12254
+PKG_CONFIG = @PKG_CONFIG@
12255
+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
12256
+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
12257
+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
12258
+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
12259
+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
12260
+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
12261
+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
12262
+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
12263
+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
12265
+RELEASE_FILE = @RELEASE_FILE@
12267
+SET_MAKE = @SET_MAKE@
12270
+VERSION = @VERSION@
12271
+abs_builddir = @abs_builddir@
12272
+abs_srcdir = @abs_srcdir@
12273
+abs_top_builddir = @abs_top_builddir@
12274
+abs_top_srcdir = @abs_top_srcdir@
12275
+ac_ct_CC = @ac_ct_CC@
12276
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
12277
+am__include = @am__include@
12278
+am__leading_dot = @am__leading_dot@
12279
+am__quote = @am__quote@
12280
+am__tar = @am__tar@
12281
+am__untar = @am__untar@
12282
+background_color = @background_color@
12283
+background_end_color = @background_end_color@
12284
+background_start_color = @background_start_color@
12287
+build_alias = @build_alias@
12288
+build_cpu = @build_cpu@
12289
+build_os = @build_os@
12290
+build_vendor = @build_vendor@
12291
+builddir = @builddir@
12292
+datadir = @datadir@
12293
+datarootdir = @datarootdir@
12296
+exec_prefix = @exec_prefix@
12298
+host_alias = @host_alias@
12299
+host_cpu = @host_cpu@
12300
+host_os = @host_os@
12301
+host_vendor = @host_vendor@
12302
+htmldir = @htmldir@
12303
+includedir = @includedir@
12304
+infodir = @infodir@
12305
+install_sh = @install_sh@
12307
+libexecdir = @libexecdir@
12308
+localedir = @localedir@
12309
+localstatedir = @localstatedir@
12310
+logofile = @logofile@
12311
+lt_ECHO = @lt_ECHO@
12313
+mkdir_p = @mkdir_p@
12314
+oldincludedir = @oldincludedir@
12316
+plymouthclientdir = @plymouthclientdir@
12317
+plymouthdaemondir = @plymouthdaemondir@
12319
+program_transform_name = @program_transform_name@
12321
+sbindir = @sbindir@
12322
+sharedstatedir = @sharedstatedir@
12324
+sysconfdir = @sysconfdir@
12325
+target_alias = @target_alias@
12326
+top_build_prefix = @top_build_prefix@
12327
+top_builddir = @top_builddir@
12328
+top_srcdir = @top_srcdir@
12329
+themedir = $(datadir)/plymouth/themes/ubuntu-logo
12330
+nodist_theme_DATA = ubuntu-logo.plymouth
12331
+dist_theme_DATA = ubuntu-logo.script \
12332
+ ubuntu_logo.png \
12333
+ ubuntu_logo16.png \
12334
+ password_field.png \
12335
+ password_field16.png \
12336
+ progress_dot_off.png \
12337
+ progress_dot_off16.png \
12338
+ progress_dot_on.png \
12339
+ progress_dot_on16.png
12341
+MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
12342
+CLEANFILES = ubuntu-logo.plymouth
12343
+EXTRA_DIST = ubuntu-logo.plymouth.in
12347
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
12348
+ @for dep in $?; do \
12349
+ case '$(am__configure_deps)' in \
12351
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
12352
+ && { if test -f $@; then exit 0; else break; fi; }; \
12356
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile'; \
12357
+ $(am__cd) $(top_srcdir) && \
12358
+ $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile
12359
+.PRECIOUS: Makefile
12360
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
12362
+ *config.status*) \
12363
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
12365
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
12366
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
12369
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
12370
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12372
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
12373
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12374
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
12375
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12376
+$(am__aclocal_m4_deps):
12378
+mostlyclean-libtool:
12382
+ -rm -rf .libs _libs
12383
+install-dist_themeDATA: $(dist_theme_DATA)
12384
+ @$(NORMAL_INSTALL)
12385
+ test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
12386
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
12387
+ for p in $$list; do \
12388
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
12390
+ done | $(am__base_list) | \
12391
+ while read files; do \
12392
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
12393
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
12396
+uninstall-dist_themeDATA:
12397
+ @$(NORMAL_UNINSTALL)
12398
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
12399
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
12400
+ test -n "$$files" || exit 0; \
12401
+ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
12402
+ cd "$(DESTDIR)$(themedir)" && rm -f $$files
12403
+install-nodist_themeDATA: $(nodist_theme_DATA)
12404
+ @$(NORMAL_INSTALL)
12405
+ test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
12406
+ @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
12407
+ for p in $$list; do \
12408
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
12410
+ done | $(am__base_list) | \
12411
+ while read files; do \
12412
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
12413
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
12416
+uninstall-nodist_themeDATA:
12417
+ @$(NORMAL_UNINSTALL)
12418
+ @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
12419
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
12420
+ test -n "$$files" || exit 0; \
12421
+ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
12422
+ cd "$(DESTDIR)$(themedir)" && rm -f $$files
12430
+distdir: $(DISTFILES)
12431
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
12432
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
12433
+ list='$(DISTFILES)'; \
12434
+ dist_files=`for file in $$list; do echo $$file; done | \
12435
+ sed -e "s|^$$srcdirstrip/||;t" \
12436
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
12437
+ case $$dist_files in \
12438
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
12439
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
12442
+ for file in $$dist_files; do \
12443
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
12444
+ if test -d $$d/$$file; then \
12445
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
12446
+ if test -d "$(distdir)/$$file"; then \
12447
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
12449
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
12450
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
12451
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
12453
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
12455
+ test -f "$(distdir)/$$file" \
12456
+ || cp -p $$d/$$file "$(distdir)/$$file" \
12462
+all-am: Makefile $(DATA)
12464
+ for dir in "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"; do \
12465
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
12467
+install: install-am
12468
+install-exec: install-exec-am
12469
+install-data: install-data-am
12470
+uninstall: uninstall-am
12472
+install-am: all-am
12473
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
12475
+installcheck: installcheck-am
12477
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
12478
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
12479
+ `test -z '$(STRIP)' || \
12480
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
12481
+mostlyclean-generic:
12484
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
12486
+distclean-generic:
12487
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
12488
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
12490
+maintainer-clean-generic:
12491
+ @echo "This command is intended for maintainers to use"
12492
+ @echo "it deletes files that may require special tools to rebuild."
12493
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
12496
+clean-am: clean-generic clean-libtool mostlyclean-am
12498
+distclean: distclean-am
12500
+distclean-am: clean-am distclean-generic
12514
+install-data-am: install-dist_themeDATA install-nodist_themeDATA
12516
+install-dvi: install-dvi-am
12522
+install-html: install-html-am
12526
+install-info: install-info-am
12532
+install-pdf: install-pdf-am
12536
+install-ps: install-ps-am
12542
+maintainer-clean: maintainer-clean-am
12544
+maintainer-clean-am: distclean-am maintainer-clean-generic
12546
+mostlyclean: mostlyclean-am
12548
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
12558
+uninstall-am: uninstall-dist_themeDATA uninstall-nodist_themeDATA
12560
+.MAKE: install-am install-strip
12562
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
12563
+ distclean distclean-generic distclean-libtool distdir dvi \
12564
+ dvi-am html html-am info info-am install install-am \
12565
+ install-data install-data-am install-dist_themeDATA \
12566
+ install-dvi install-dvi-am install-exec install-exec-am \
12567
+ install-html install-html-am install-info install-info-am \
12568
+ install-man install-nodist_themeDATA install-pdf \
12569
+ install-pdf-am install-ps install-ps-am install-strip \
12570
+ installcheck installcheck-am installdirs maintainer-clean \
12571
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
12572
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
12573
+ uninstall-dist_themeDATA uninstall-nodist_themeDATA
12576
+ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
12577
+ sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
12578
+ $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
12580
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
12581
+# Otherwise a system limit (for SysV at least) may be exceeded.
12583
--- plymouth-0.8.2.orig/themes/text/Makefile.in
12584
+++ plymouth-0.8.2/themes/text/Makefile.in
12585
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12586
PACKAGE_NAME = @PACKAGE_NAME@
12587
PACKAGE_STRING = @PACKAGE_STRING@
12588
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12589
+PACKAGE_URL = @PACKAGE_URL@
12590
PACKAGE_VERSION = @PACKAGE_VERSION@
12591
PANGO_CFLAGS = @PANGO_CFLAGS@
12592
PANGO_LIBS = @PANGO_LIBS@
12593
--- plymouth-0.8.2.orig/themes/fade-in/Makefile.in
12594
+++ plymouth-0.8.2/themes/fade-in/Makefile.in
12595
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12596
PACKAGE_NAME = @PACKAGE_NAME@
12597
PACKAGE_STRING = @PACKAGE_STRING@
12598
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12599
+PACKAGE_URL = @PACKAGE_URL@
12600
PACKAGE_VERSION = @PACKAGE_VERSION@
12601
PANGO_CFLAGS = @PANGO_CFLAGS@
12602
PANGO_LIBS = @PANGO_LIBS@
12604
+++ plymouth-0.8.2/themes/ubuntu-text/ubuntu-text.plymouth
12608
+Description=Text mode theme based on ubuntu-logo theme
12609
+ModuleName=ubuntu-text
12611
+++ plymouth-0.8.2/themes/ubuntu-text/Makefile.am
12613
+themedir = $(datadir)/plymouth/themes/ubuntu-text
12614
+dist_theme_DATA = ubuntu-text.plymouth
12616
+MAINTAINERCLEANFILES = Makefile.in
12618
+++ plymouth-0.8.2/themes/ubuntu-text/Makefile.in
12620
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
12621
+# @configure_input@
12623
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
12624
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
12626
+# This Makefile.in is free software; the Free Software Foundation
12627
+# gives unlimited permission to copy and/or distribute it,
12628
+# with or without modifications, as long as this notice is preserved.
12630
+# This program is distributed in the hope that it will be useful,
12631
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12632
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12633
+# PARTICULAR PURPOSE.
12638
+pkgdatadir = $(datadir)/@PACKAGE@
12639
+pkgincludedir = $(includedir)/@PACKAGE@
12640
+pkglibdir = $(libdir)/@PACKAGE@
12641
+pkglibexecdir = $(libexecdir)/@PACKAGE@
12642
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
12643
+install_sh_DATA = $(install_sh) -c -m 644
12644
+install_sh_PROGRAM = $(install_sh) -c
12645
+install_sh_SCRIPT = $(install_sh) -c
12646
+INSTALL_HEADER = $(INSTALL_DATA)
12647
+transform = $(program_transform_name)
12648
+NORMAL_INSTALL = :
12651
+NORMAL_UNINSTALL = :
12653
+POST_UNINSTALL = :
12654
+build_triplet = @build@
12655
+host_triplet = @host@
12656
+subdir = themes/ubuntu-text
12657
+DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
12658
+ $(srcdir)/Makefile.in
12659
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
12660
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
12661
+ $(top_srcdir)/configure.ac
12662
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
12664
+mkinstalldirs = $(install_sh) -d
12665
+CONFIG_HEADER = $(top_builddir)/config.h
12666
+CONFIG_CLEAN_FILES =
12667
+CONFIG_CLEAN_VPATH_FILES =
12668
+AM_V_GEN = $(am__v_GEN_$(V))
12669
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
12670
+am__v_GEN_0 = @echo " GEN " $@;
12671
+AM_V_at = $(am__v_at_$(V))
12672
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
12676
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
12677
+am__vpath_adj = case $$p in \
12678
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
12681
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
12682
+am__install_max = 40
12683
+am__nobase_strip_setup = \
12684
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
12685
+am__nobase_strip = \
12686
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
12687
+am__nobase_list = $(am__nobase_strip_setup); \
12688
+ for p in $$list; do echo "$$p $$p"; done | \
12689
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
12690
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
12691
+ if (++n[$$2] == $(am__install_max)) \
12692
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
12693
+ END { for (dir in files) print dir, files[dir] }'
12695
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
12696
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
12697
+am__installdirs = "$(DESTDIR)$(themedir)"
12698
+DATA = $(dist_theme_DATA)
12699
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
12700
+ACLOCAL = @ACLOCAL@
12702
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
12704
+AUTOCONF = @AUTOCONF@
12705
+AUTOHEADER = @AUTOHEADER@
12706
+AUTOMAKE = @AUTOMAKE@
12709
+CCDEPMODE = @CCDEPMODE@
12712
+CPPFLAGS = @CPPFLAGS@
12713
+CYGPATH_W = @CYGPATH_W@
12716
+DRM_CFLAGS = @DRM_CFLAGS@
12717
+DRM_LIBS = @DRM_LIBS@
12718
+DSYMUTIL = @DSYMUTIL@
12719
+DUMPBIN = @DUMPBIN@
12727
+GTK_CFLAGS = @GTK_CFLAGS@
12728
+GTK_LIBS = @GTK_LIBS@
12729
+IMAGE_CFLAGS = @IMAGE_CFLAGS@
12730
+IMAGE_LIBS = @IMAGE_LIBS@
12731
+INSTALL = @INSTALL@
12732
+INSTALL_DATA = @INSTALL_DATA@
12733
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
12734
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
12735
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
12737
+LDFLAGS = @LDFLAGS@
12738
+LIBOBJS = @LIBOBJS@
12740
+LIBTOOL = @LIBTOOL@
12743
+LTLIBOBJS = @LTLIBOBJS@
12745
+LT_CURRENT = @LT_CURRENT@
12746
+LT_REVISION = @LT_REVISION@
12748
+MAKEINFO = @MAKEINFO@
12749
+MKDIR_P = @MKDIR_P@
12752
+OBJDUMP = @OBJDUMP@
12755
+OTOOL64 = @OTOOL64@
12756
+PACKAGE = @PACKAGE@
12757
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12758
+PACKAGE_NAME = @PACKAGE_NAME@
12759
+PACKAGE_STRING = @PACKAGE_STRING@
12760
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
12761
+PACKAGE_URL = @PACKAGE_URL@
12762
+PACKAGE_VERSION = @PACKAGE_VERSION@
12763
+PANGO_CFLAGS = @PANGO_CFLAGS@
12764
+PANGO_LIBS = @PANGO_LIBS@
12765
+PATH_SEPARATOR = @PATH_SEPARATOR@
12766
+PKG_CONFIG = @PKG_CONFIG@
12767
+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
12768
+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
12769
+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
12770
+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
12771
+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
12772
+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
12773
+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
12774
+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
12775
+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
12777
+RELEASE_FILE = @RELEASE_FILE@
12779
+SET_MAKE = @SET_MAKE@
12782
+VERSION = @VERSION@
12783
+abs_builddir = @abs_builddir@
12784
+abs_srcdir = @abs_srcdir@
12785
+abs_top_builddir = @abs_top_builddir@
12786
+abs_top_srcdir = @abs_top_srcdir@
12787
+ac_ct_CC = @ac_ct_CC@
12788
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
12789
+am__include = @am__include@
12790
+am__leading_dot = @am__leading_dot@
12791
+am__quote = @am__quote@
12792
+am__tar = @am__tar@
12793
+am__untar = @am__untar@
12794
+background_color = @background_color@
12795
+background_end_color = @background_end_color@
12796
+background_start_color = @background_start_color@
12799
+build_alias = @build_alias@
12800
+build_cpu = @build_cpu@
12801
+build_os = @build_os@
12802
+build_vendor = @build_vendor@
12803
+builddir = @builddir@
12804
+datadir = @datadir@
12805
+datarootdir = @datarootdir@
12808
+exec_prefix = @exec_prefix@
12810
+host_alias = @host_alias@
12811
+host_cpu = @host_cpu@
12812
+host_os = @host_os@
12813
+host_vendor = @host_vendor@
12814
+htmldir = @htmldir@
12815
+includedir = @includedir@
12816
+infodir = @infodir@
12817
+install_sh = @install_sh@
12819
+libexecdir = @libexecdir@
12820
+localedir = @localedir@
12821
+localstatedir = @localstatedir@
12822
+logofile = @logofile@
12823
+lt_ECHO = @lt_ECHO@
12825
+mkdir_p = @mkdir_p@
12826
+oldincludedir = @oldincludedir@
12828
+plymouthclientdir = @plymouthclientdir@
12829
+plymouthdaemondir = @plymouthdaemondir@
12831
+program_transform_name = @program_transform_name@
12833
+sbindir = @sbindir@
12834
+sharedstatedir = @sharedstatedir@
12836
+sysconfdir = @sysconfdir@
12837
+target_alias = @target_alias@
12838
+top_build_prefix = @top_build_prefix@
12839
+top_builddir = @top_builddir@
12840
+top_srcdir = @top_srcdir@
12841
+themedir = $(datadir)/plymouth/themes/ubuntu-text
12842
+dist_theme_DATA = ubuntu-text.plymouth
12843
+MAINTAINERCLEANFILES = Makefile.in
12847
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
12848
+ @for dep in $?; do \
12849
+ case '$(am__configure_deps)' in \
12851
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
12852
+ && { if test -f $@; then exit 0; else break; fi; }; \
12856
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile'; \
12857
+ $(am__cd) $(top_srcdir) && \
12858
+ $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile
12859
+.PRECIOUS: Makefile
12860
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
12862
+ *config.status*) \
12863
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
12865
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
12866
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
12869
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
12870
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12872
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
12873
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12874
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
12875
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12876
+$(am__aclocal_m4_deps):
12878
+mostlyclean-libtool:
12882
+ -rm -rf .libs _libs
12883
+install-dist_themeDATA: $(dist_theme_DATA)
12884
+ @$(NORMAL_INSTALL)
12885
+ test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
12886
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
12887
+ for p in $$list; do \
12888
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
12890
+ done | $(am__base_list) | \
12891
+ while read files; do \
12892
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
12893
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
12896
+uninstall-dist_themeDATA:
12897
+ @$(NORMAL_UNINSTALL)
12898
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
12899
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
12900
+ test -n "$$files" || exit 0; \
12901
+ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
12902
+ cd "$(DESTDIR)$(themedir)" && rm -f $$files
12910
+distdir: $(DISTFILES)
12911
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
12912
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
12913
+ list='$(DISTFILES)'; \
12914
+ dist_files=`for file in $$list; do echo $$file; done | \
12915
+ sed -e "s|^$$srcdirstrip/||;t" \
12916
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
12917
+ case $$dist_files in \
12918
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
12919
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
12922
+ for file in $$dist_files; do \
12923
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
12924
+ if test -d $$d/$$file; then \
12925
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
12926
+ if test -d "$(distdir)/$$file"; then \
12927
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
12929
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
12930
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
12931
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
12933
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
12935
+ test -f "$(distdir)/$$file" \
12936
+ || cp -p $$d/$$file "$(distdir)/$$file" \
12942
+all-am: Makefile $(DATA)
12944
+ for dir in "$(DESTDIR)$(themedir)"; do \
12945
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
12947
+install: install-am
12948
+install-exec: install-exec-am
12949
+install-data: install-data-am
12950
+uninstall: uninstall-am
12952
+install-am: all-am
12953
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
12955
+installcheck: installcheck-am
12957
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
12958
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
12959
+ `test -z '$(STRIP)' || \
12960
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
12961
+mostlyclean-generic:
12965
+distclean-generic:
12966
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
12967
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
12969
+maintainer-clean-generic:
12970
+ @echo "This command is intended for maintainers to use"
12971
+ @echo "it deletes files that may require special tools to rebuild."
12972
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
12975
+clean-am: clean-generic clean-libtool mostlyclean-am
12977
+distclean: distclean-am
12979
+distclean-am: clean-am distclean-generic
12993
+install-data-am: install-dist_themeDATA
12995
+install-dvi: install-dvi-am
13001
+install-html: install-html-am
13005
+install-info: install-info-am
13011
+install-pdf: install-pdf-am
13015
+install-ps: install-ps-am
13021
+maintainer-clean: maintainer-clean-am
13023
+maintainer-clean-am: distclean-am maintainer-clean-generic
13025
+mostlyclean: mostlyclean-am
13027
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
13037
+uninstall-am: uninstall-dist_themeDATA
13039
+.MAKE: install-am install-strip
13041
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
13042
+ distclean distclean-generic distclean-libtool distdir dvi \
13043
+ dvi-am html html-am info info-am install install-am \
13044
+ install-data install-data-am install-dist_themeDATA \
13045
+ install-dvi install-dvi-am install-exec install-exec-am \
13046
+ install-html install-html-am install-info install-info-am \
13047
+ install-man install-pdf install-pdf-am install-ps \
13048
+ install-ps-am install-strip installcheck installcheck-am \
13049
+ installdirs maintainer-clean maintainer-clean-generic \
13050
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
13051
+ ps ps-am uninstall uninstall-am uninstall-dist_themeDATA
13054
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
13055
+# Otherwise a system limit (for SysV at least) may be exceeded.
13057
--- plymouth-0.8.2.orig/themes/details/Makefile.in
13058
+++ plymouth-0.8.2/themes/details/Makefile.in
13059
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
13060
PACKAGE_NAME = @PACKAGE_NAME@
13061
PACKAGE_STRING = @PACKAGE_STRING@
13062
PACKAGE_TARNAME = @PACKAGE_TARNAME@
13063
+PACKAGE_URL = @PACKAGE_URL@
13064
PACKAGE_VERSION = @PACKAGE_VERSION@
13065
PANGO_CFLAGS = @PANGO_CFLAGS@
13066
PANGO_LIBS = @PANGO_LIBS@
13067
--- plymouth-0.8.2.orig/themes/solar/Makefile.in
13068
+++ plymouth-0.8.2/themes/solar/Makefile.in
13069
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
13070
PACKAGE_NAME = @PACKAGE_NAME@
13071
PACKAGE_STRING = @PACKAGE_STRING@
13072
PACKAGE_TARNAME = @PACKAGE_TARNAME@
13073
+PACKAGE_URL = @PACKAGE_URL@
13074
PACKAGE_VERSION = @PACKAGE_VERSION@
13075
PANGO_CFLAGS = @PANGO_CFLAGS@
13076
PANGO_LIBS = @PANGO_LIBS@
13077
--- plymouth-0.8.2.orig/themes/spinfinity/Makefile.in
13078
+++ plymouth-0.8.2/themes/spinfinity/Makefile.in
13079
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
13080
PACKAGE_NAME = @PACKAGE_NAME@
13081
PACKAGE_STRING = @PACKAGE_STRING@
13082
PACKAGE_TARNAME = @PACKAGE_TARNAME@
13083
+PACKAGE_URL = @PACKAGE_URL@
13084
PACKAGE_VERSION = @PACKAGE_VERSION@
13085
PANGO_CFLAGS = @PANGO_CFLAGS@
13086
PANGO_LIBS = @PANGO_LIBS@
13087
--- plymouth-0.8.2.orig/themes/glow/Makefile.in
13088
+++ plymouth-0.8.2/themes/glow/Makefile.in
13089
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
13090
PACKAGE_NAME = @PACKAGE_NAME@
13091
PACKAGE_STRING = @PACKAGE_STRING@
13092
PACKAGE_TARNAME = @PACKAGE_TARNAME@
13093
+PACKAGE_URL = @PACKAGE_URL@
13094
PACKAGE_VERSION = @PACKAGE_VERSION@
13095
PANGO_CFLAGS = @PANGO_CFLAGS@
13096
PANGO_LIBS = @PANGO_LIBS@
13097
--- plymouth-0.8.2.orig/scripts/Makefile.in
13098
+++ plymouth-0.8.2/scripts/Makefile.in
13099
@@ -144,6 +144,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
13100
PACKAGE_NAME = @PACKAGE_NAME@
13101
PACKAGE_STRING = @PACKAGE_STRING@
13102
PACKAGE_TARNAME = @PACKAGE_TARNAME@
13103
+PACKAGE_URL = @PACKAGE_URL@
13104
PACKAGE_VERSION = @PACKAGE_VERSION@
13105
PANGO_CFLAGS = @PANGO_CFLAGS@
13106
PANGO_LIBS = @PANGO_LIBS@
13107
--- plymouth-0.8.2.orig/images/Makefile.in
13108
+++ plymouth-0.8.2/images/Makefile.in
13109
@@ -138,6 +138,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
10963
--- plymouth-0.8.2.orig/src/Makefile.in
10964
+++ plymouth-0.8.2/src/Makefile.in
10965
@@ -220,6 +220,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
13110
10966
PACKAGE_NAME = @PACKAGE_NAME@
13111
10967
PACKAGE_STRING = @PACKAGE_STRING@
13112
10968
PACKAGE_TARNAME = @PACKAGE_TARNAME@
13358
11194
PACKAGE_VERSION = @PACKAGE_VERSION@
13359
11195
PANGO_CFLAGS = @PANGO_CFLAGS@
13360
11196
PANGO_LIBS = @PANGO_LIBS@
11197
--- plymouth-0.8.2.orig/src/plugins/splash/Makefile.am
11198
+++ plymouth-0.8.2/src/plugins/splash/Makefile.am
11200
-SUBDIRS = throbgress fade-throbber text details space-flares two-step script
11201
+SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
11202
MAINTAINERCLEANFILES = Makefile.in
11203
--- plymouth-0.8.2.orig/src/plugins/splash/Makefile.in
11204
+++ plymouth-0.8.2/src/plugins/splash/Makefile.in
11205
@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
11206
PACKAGE_NAME = @PACKAGE_NAME@
11207
PACKAGE_STRING = @PACKAGE_STRING@
11208
PACKAGE_TARNAME = @PACKAGE_TARNAME@
11209
+PACKAGE_URL = @PACKAGE_URL@
11210
PACKAGE_VERSION = @PACKAGE_VERSION@
11211
PANGO_CFLAGS = @PANGO_CFLAGS@
11212
PANGO_LIBS = @PANGO_LIBS@
11213
@@ -233,7 +234,7 @@ target_alias = @target_alias@
11214
top_build_prefix = @top_build_prefix@
11215
top_builddir = @top_builddir@
11216
top_srcdir = @top_srcdir@
11217
-SUBDIRS = throbgress fade-throbber text details space-flares two-step script
11218
+SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
11219
MAINTAINERCLEANFILES = Makefile.in
11222
--- plymouth-0.8.2.orig/src/plugins/splash/two-step/Makefile.in
11223
+++ plymouth-0.8.2/src/plugins/splash/two-step/Makefile.in
11224
@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
11225
PACKAGE_NAME = @PACKAGE_NAME@
11226
PACKAGE_STRING = @PACKAGE_STRING@
11227
PACKAGE_TARNAME = @PACKAGE_TARNAME@
11228
+PACKAGE_URL = @PACKAGE_URL@
11229
PACKAGE_VERSION = @PACKAGE_VERSION@
11230
PANGO_CFLAGS = @PANGO_CFLAGS@
11231
PANGO_LIBS = @PANGO_LIBS@
11232
--- plymouth-0.8.2.orig/src/plugins/splash/text/plugin.c
11233
+++ plymouth-0.8.2/src/plugins/splash/text/plugin.c
11234
@@ -485,7 +485,10 @@ add_text_display (ply_boot_splash_plugin
11236
terminal = ply_text_display_get_terminal (view->display);
11237
if (ply_terminal_open (terminal))
11238
- ply_terminal_activate_vt (terminal);
11240
+ ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
11241
+ ply_terminal_activate_vt (terminal);
11244
ply_text_display_set_draw_handler (view->display,
11245
(ply_text_display_draw_handler_t)
11246
--- plymouth-0.8.2.orig/src/plugins/splash/text/Makefile.in
11247
+++ plymouth-0.8.2/src/plugins/splash/text/Makefile.in
11248
@@ -171,6 +171,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
11249
PACKAGE_NAME = @PACKAGE_NAME@
11250
PACKAGE_STRING = @PACKAGE_STRING@
11251
PACKAGE_TARNAME = @PACKAGE_TARNAME@
11252
+PACKAGE_URL = @PACKAGE_URL@
11253
PACKAGE_VERSION = @PACKAGE_VERSION@
11254
PANGO_CFLAGS = @PANGO_CFLAGS@
11255
PANGO_LIBS = @PANGO_LIBS@
11257
+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.am
11259
+INCLUDES = -I$(top_srcdir) \
11260
+ -I$(srcdir)/../../../libply \
11261
+ -I$(srcdir)/../../../libply-splash-core \
11262
+ -I$(srcdir)/../../.. \
11263
+ -I$(srcdir)/../.. \
11267
+plugindir = $(libdir)/plymouth
11268
+plugin_LTLIBRARIES = ubuntu-text.la
11270
+ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS) \
11271
+ -DPLYMOUTH_BACKGROUND_COLOR=$(background_color) \
11272
+ -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color) \
11273
+ -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
11275
+ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
11276
+ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS) \
11277
+ ../../../libply/libply.la \
11278
+ ../../../libply-splash-core/libply-splash-core.la
11279
+ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
11281
+MAINTAINERCLEANFILES = Makefile.in
11283
+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/plugin.c
11285
+/* ubuntu-text.c - boot splash plugin
11287
+ * Copyright (C) 2010 Canonical Ltd.
11288
+ * Copyright (C) 2008 Red Hat, Inc.
11290
+ * This program is free software; you can redistribute it and/or modify
11291
+ * it under the terms of the GNU General Public License as published by
11292
+ * the Free Software Foundation; either version 2, or (at your option)
11293
+ * any later version.
11295
+ * This program is distributed in the hope that it will be useful,
11296
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
11297
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11298
+ * GNU General Public License for more details.
11300
+ * You should have received a copy of the GNU General Public License
11301
+ * along with this program; if not, write to the Free Software
11302
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
11303
+ * 02111-1307, USA.
11305
+ * Written by: Scott James Remnant <scott@ubuntu.com>
11306
+ * Adam Jackson <ajax@redhat.com>
11307
+ * Ray Strode <rstrode@redhat.com>
11309
+#include "config.h"
11311
+#include <assert.h>
11312
+#include <errno.h>
11313
+#include <fcntl.h>
11315
+#include <signal.h>
11316
+#include <stdbool.h>
11317
+#include <stdio.h>
11318
+#include <stdint.h>
11319
+#include <stdlib.h>
11320
+#include <string.h>
11321
+#include <sys/ioctl.h>
11322
+#include <sys/stat.h>
11323
+#include <sys/time.h>
11324
+#include <sys/types.h>
11325
+#include <termios.h>
11326
+#include <unistd.h>
11327
+#include <values.h>
11328
+#include <wchar.h>
11330
+#include "ply-trigger.h"
11331
+#include "ply-boot-splash-plugin.h"
11332
+#include "ply-buffer.h"
11333
+#include "ply-event-loop.h"
11334
+#include "ply-key-file.h"
11335
+#include "ply-list.h"
11336
+#include "ply-logger.h"
11337
+#include "ply-text-display.h"
11338
+#include "ply-text-progress-bar.h"
11339
+#include "ply-utils.h"
11341
+#include <linux/kd.h>
11343
+#define CLEAR_LINE_SEQUENCE "\033[2K\r\n"
11344
+#define BACKSPACE "\b\033[0K"
11347
+ PLY_BOOT_SPLASH_DISPLAY_NORMAL,
11348
+ PLY_BOOT_SPLASH_DISPLAY_QUESTION_ENTRY,
11349
+ PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY
11350
+} ply_boot_splash_display_type_t;
11352
+struct _ply_boot_splash_plugin
11354
+ ply_event_loop_t *loop;
11355
+ ply_boot_splash_mode_t mode;
11357
+ ply_list_t *views;
11359
+ ply_boot_splash_display_type_t state;
11363
+ uint32_t is_animating : 1;
11368
+ ply_boot_splash_plugin_t *plugin;
11369
+ ply_text_display_t *display;
11373
+static void hide_splash_screen (ply_boot_splash_plugin_t *plugin,
11374
+ ply_event_loop_t *loop);
11377
+view_new (ply_boot_splash_plugin_t *plugin,
11378
+ ply_text_display_t *display)
11382
+ view = calloc (1, sizeof (view_t));
11383
+ view->plugin = plugin;
11384
+ view->display = display;
11390
+view_free (view_t *view)
11396
+view_show_message (view_t *view)
11398
+ ply_boot_splash_plugin_t *plugin;
11399
+ int display_width, display_height, y;
11400
+ ply_terminal_color_t color;
11403
+ plugin = view->plugin;
11405
+ display_width = ply_text_display_get_number_of_columns (view->display);
11406
+ display_height = ply_text_display_get_number_of_rows (view->display);
11408
+ if (!strncmp (plugin->message, "keys:", 5))
11410
+ message = plugin->message + 5;
11411
+ color = PLY_TERMINAL_COLOR_WHITE;
11412
+ y = display_height - 4;
11416
+ message = plugin->message;
11417
+ color = PLY_TERMINAL_COLOR_BLUE;
11418
+ y = display_height / 2 + 7;
11421
+ ply_text_display_set_cursor_position (view->display, 0, y);
11422
+ ply_text_display_clear_line (view->display);
11423
+ ply_text_display_set_cursor_position (view->display,
11425
+ strlen (message)) / 2,
11428
+ ply_text_display_set_foreground_color (view->display, color);
11429
+ ply_text_display_write (view->display, "%s", message);
11433
+view_show_prompt (view_t *view,
11434
+ const char *prompt,
11435
+ const char *entered_text)
11437
+ ply_boot_splash_plugin_t *plugin;
11438
+ int display_width, display_height;
11441
+ plugin = view->plugin;
11443
+ display_width = ply_text_display_get_number_of_columns (view->display);
11444
+ display_height = ply_text_display_get_number_of_rows (view->display);
11446
+ ply_text_display_set_cursor_position (view->display, 0,
11447
+ display_height / 2 + 8);
11448
+ ply_text_display_clear_line (view->display);
11449
+ ply_text_display_set_cursor_position (view->display,
11450
+ display_width / 2 - (strlen (prompt)),
11451
+ display_height / 2 + 8);
11453
+ ply_text_display_write (view->display, "%s:%s", prompt, entered_text);
11455
+ ply_text_display_show_cursor (view->display);
11459
+view_start_animation (view_t *view)
11461
+ ply_boot_splash_plugin_t *plugin;
11462
+ ply_terminal_t *terminal;
11464
+ assert (view != NULL);
11466
+ plugin = view->plugin;
11468
+ terminal = ply_text_display_get_terminal (view->display);
11470
+ ply_terminal_set_color_hex_value (terminal,
11471
+ PLY_TERMINAL_COLOR_BLACK,
11473
+ ply_terminal_set_color_hex_value (terminal,
11474
+ PLY_TERMINAL_COLOR_WHITE,
11476
+ ply_terminal_set_color_hex_value (terminal,
11477
+ PLY_TERMINAL_COLOR_BROWN,
11479
+ ply_terminal_set_color_hex_value (terminal,
11480
+ PLY_TERMINAL_COLOR_BLUE,
11483
+ ply_text_display_set_background_color (view->display,
11484
+ PLY_TERMINAL_COLOR_BLACK);
11485
+ ply_text_display_clear_screen (view->display);
11486
+ ply_text_display_hide_cursor (view->display);
11490
+view_redraw (view_t *view)
11492
+ unsigned long screen_width, screen_height;
11494
+ screen_width = ply_text_display_get_number_of_columns (view->display);
11495
+ screen_height = ply_text_display_get_number_of_rows (view->display);
11497
+ ply_text_display_draw_area (view->display, 0, 0,
11498
+ screen_width, screen_height);
11502
+redraw_views (ply_boot_splash_plugin_t *plugin)
11504
+ ply_list_node_t *node;
11506
+ node = ply_list_get_first_node (plugin->views);
11507
+ while (node != NULL)
11509
+ ply_list_node_t *next_node;
11512
+ view = ply_list_node_get_data (node);
11513
+ next_node = ply_list_get_next_node (plugin->views, node);
11515
+ view_redraw (view);
11517
+ node = next_node;
11522
+view_hide (view_t *view)
11524
+ if (view->display != NULL)
11526
+ ply_terminal_t *terminal;
11528
+ terminal = ply_text_display_get_terminal (view->display);
11530
+ ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
11531
+ ply_text_display_clear_screen (view->display);
11532
+ ply_text_display_show_cursor (view->display);
11534
+ ply_terminal_reset_colors (terminal);
11539
+hide_views (ply_boot_splash_plugin_t *plugin)
11541
+ ply_list_node_t *node;
11543
+ node = ply_list_get_first_node (plugin->views);
11544
+ while (node != NULL)
11546
+ ply_list_node_t *next_node;
11549
+ view = ply_list_node_get_data (node);
11550
+ next_node = ply_list_get_next_node (plugin->views, node);
11552
+ view_hide (view);
11554
+ node = next_node;
11559
+pause_views (ply_boot_splash_plugin_t *plugin)
11561
+ ply_list_node_t *node;
11563
+ node = ply_list_get_first_node (plugin->views);
11564
+ while (node != NULL)
11566
+ ply_list_node_t *next_node;
11569
+ view = ply_list_node_get_data (node);
11570
+ next_node = ply_list_get_next_node (plugin->views, node);
11572
+ ply_text_display_pause_updates (view->display);
11574
+ node = next_node;
11579
+unpause_views (ply_boot_splash_plugin_t *plugin)
11581
+ ply_list_node_t *node;
11583
+ node = ply_list_get_first_node (plugin->views);
11584
+ while (node != NULL)
11586
+ ply_list_node_t *next_node;
11589
+ view = ply_list_node_get_data (node);
11590
+ next_node = ply_list_get_next_node (plugin->views, node);
11592
+ ply_text_display_unpause_updates (view->display);
11594
+ node = next_node;
11598
+static ply_boot_splash_plugin_t *
11599
+create_plugin (ply_key_file_t *key_file)
11601
+ ply_boot_splash_plugin_t *plugin;
11603
+ ply_trace ("creating plugin");
11605
+ plugin = calloc (1, sizeof (ply_boot_splash_plugin_t));
11606
+ plugin->message = NULL;
11608
+ plugin->views = ply_list_new ();
11614
+detach_from_event_loop (ply_boot_splash_plugin_t *plugin)
11616
+ plugin->loop = NULL;
11618
+ ply_trace ("detaching from event loop");
11622
+free_views (ply_boot_splash_plugin_t *plugin)
11624
+ ply_list_node_t *node;
11626
+ node = ply_list_get_first_node (plugin->views);
11628
+ while (node != NULL)
11630
+ ply_list_node_t *next_node;
11633
+ view = ply_list_node_get_data (node);
11634
+ next_node = ply_list_get_next_node (plugin->views, node);
11636
+ view_free (view);
11637
+ ply_list_remove_node (plugin->views, node);
11639
+ node = next_node;
11642
+ ply_list_free (plugin->views);
11643
+ plugin->views = NULL;
11647
+destroy_plugin (ply_boot_splash_plugin_t *plugin)
11649
+ ply_trace ("destroying plugin");
11651
+ if (plugin == NULL)
11654
+ /* It doesn't ever make sense to keep this plugin on screen
11657
+ hide_splash_screen (plugin, plugin->loop);
11659
+ free_views (plugin);
11660
+ if (plugin->message != NULL)
11661
+ free (plugin->message);
11667
+show_message (ply_boot_splash_plugin_t *plugin)
11669
+ ply_list_node_t *node;
11671
+ node = ply_list_get_first_node (plugin->views);
11672
+ while (node != NULL)
11674
+ ply_list_node_t *next_node;
11677
+ view = ply_list_node_get_data (node);
11678
+ next_node = ply_list_get_next_node (plugin->views, node);
11680
+ view_show_message (view);
11682
+ node = next_node;
11687
+animate_frame (ply_boot_splash_plugin_t *plugin,
11690
+ ply_list_node_t *node;
11692
+ node = ply_list_get_first_node (plugin->views);
11693
+ while (node != NULL)
11695
+ ply_list_node_t *next_node;
11697
+ int display_width, display_height;
11699
+ view = ply_list_node_get_data (node);
11700
+ next_node = ply_list_get_next_node (plugin->views, node);
11702
+ display_width = ply_text_display_get_number_of_columns (view->display);
11703
+ display_height = ply_text_display_get_number_of_rows (view->display);
11705
+ ply_text_display_set_cursor_position (view->display,
11706
+ (display_width - 12) / 2,
11707
+ display_height / 2);
11709
+ ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_BLACK);
11710
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
11711
+ ply_text_display_write (view->display, "Ubuntu 10.10");
11713
+ ply_text_display_set_cursor_position (view->display,
11714
+ (display_width - 10) / 2,
11715
+ (display_height / 2) + 2);
11717
+ if ((frame < 1) || (frame > 4))
11718
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
11720
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
11721
+ ply_text_display_write (view->display, ". ");
11723
+ if ((frame < 2) || (frame > 5))
11724
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
11726
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
11727
+ ply_text_display_write (view->display, ". ");
11729
+ if ((frame < 3) || (frame > 6))
11730
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
11732
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
11733
+ ply_text_display_write (view->display, ". ");
11736
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
11738
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
11739
+ ply_text_display_write (view->display, ".");
11741
+ node = next_node;
11746
+on_timeout (ply_boot_splash_plugin_t *plugin)
11748
+ static int frame = 0;
11753
+ animate_frame (plugin, frame);
11755
+ ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
11756
+ (ply_event_loop_timeout_handler_t)
11757
+ on_timeout, plugin);
11761
+start_animation (ply_boot_splash_plugin_t *plugin)
11763
+ ply_list_node_t *node;
11765
+ assert (plugin != NULL);
11766
+ assert (plugin->loop != NULL);
11768
+ redraw_views (plugin);
11770
+ if (plugin->message != NULL)
11771
+ show_message (plugin);
11773
+ if (plugin->is_animating)
11776
+ node = ply_list_get_first_node (plugin->views);
11777
+ while (node != NULL)
11779
+ ply_list_node_t *next_node;
11782
+ view = ply_list_node_get_data (node);
11783
+ next_node = ply_list_get_next_node (plugin->views, node);
11785
+ view_start_animation (view);
11787
+ node = next_node;
11790
+ plugin->is_animating = true;
11792
+ animate_frame (plugin, 0);
11793
+ ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
11794
+ (ply_event_loop_timeout_handler_t)
11795
+ on_timeout, plugin);
11799
+stop_animation (ply_boot_splash_plugin_t *plugin)
11801
+ ply_list_node_t *node;
11803
+ assert (plugin != NULL);
11804
+ assert (plugin->loop != NULL);
11806
+ if (!plugin->is_animating)
11809
+ plugin->is_animating = false;
11811
+ node = ply_list_get_first_node (plugin->views);
11812
+ while (node != NULL)
11814
+ ply_list_node_t *next_node;
11817
+ view = ply_list_node_get_data (node);
11818
+ next_node = ply_list_get_next_node (plugin->views, node);
11820
+ node = next_node;
11823
+ ply_event_loop_stop_watching_for_timeout (plugin->loop,
11824
+ (ply_event_loop_timeout_handler_t)
11825
+ on_timeout, plugin);
11827
+ redraw_views (plugin);
11831
+on_draw (view_t *view,
11832
+ ply_terminal_t *terminal,
11841
+add_text_display (ply_boot_splash_plugin_t *plugin,
11842
+ ply_text_display_t *display)
11845
+ ply_terminal_t *terminal;
11847
+ view = view_new (plugin, display);
11849
+ terminal = ply_text_display_get_terminal (view->display);
11850
+ if (ply_terminal_open (terminal))
11852
+ ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
11853
+ ply_terminal_activate_vt (terminal);
11856
+ ply_text_display_set_draw_handler (view->display,
11857
+ (ply_text_display_draw_handler_t)
11860
+ ply_list_append_data (plugin->views, view);
11864
+remove_text_display (ply_boot_splash_plugin_t *plugin,
11865
+ ply_text_display_t *display)
11867
+ ply_list_node_t *node;
11869
+ node = ply_list_get_first_node (plugin->views);
11870
+ while (node != NULL)
11873
+ ply_list_node_t *next_node;
11875
+ view = ply_list_node_get_data (node);
11876
+ next_node = ply_list_get_next_node (plugin->views, node);
11878
+ if (view->display == display)
11880
+ ply_text_display_set_draw_handler (view->display,
11882
+ view_free (view);
11883
+ ply_list_remove_node (plugin->views, node);
11887
+ node = next_node;
11892
+show_splash_screen (ply_boot_splash_plugin_t *plugin,
11893
+ ply_event_loop_t *loop,
11894
+ ply_buffer_t *boot_buffer,
11895
+ ply_boot_splash_mode_t mode)
11897
+ assert (plugin != NULL);
11899
+ plugin->loop = loop;
11900
+ plugin->mode = mode;
11901
+ ply_event_loop_watch_for_exit (loop, (ply_event_loop_exit_handler_t)
11902
+ detach_from_event_loop,
11905
+ ply_show_new_kernel_messages (false);
11906
+ start_animation (plugin);
11912
+update_status (ply_boot_splash_plugin_t *plugin,
11913
+ const char *status)
11915
+ assert (plugin != NULL);
11917
+ ply_trace ("status update");
11921
+hide_splash_screen (ply_boot_splash_plugin_t *plugin,
11922
+ ply_event_loop_t *loop)
11924
+ assert (plugin != NULL);
11926
+ ply_trace ("hiding splash screen");
11928
+ if (plugin->loop != NULL)
11930
+ stop_animation (plugin);
11932
+ ply_event_loop_stop_watching_for_exit (plugin->loop,
11933
+ (ply_event_loop_exit_handler_t)
11934
+ detach_from_event_loop,
11936
+ detach_from_event_loop (plugin);
11939
+ hide_views (plugin);
11940
+ ply_show_new_kernel_messages (true);
11944
+display_normal (ply_boot_splash_plugin_t *plugin)
11946
+ pause_views (plugin);
11947
+ if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
11949
+ plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
11950
+ start_animation (plugin);
11951
+ redraw_views (plugin);
11953
+ unpause_views (plugin);
11957
+display_message (ply_boot_splash_plugin_t *plugin,
11958
+ const char *message)
11960
+ if (plugin->message != NULL)
11961
+ free (plugin->message);
11963
+ plugin->message = strdup (message);
11964
+ start_animation (plugin);
11968
+show_password_prompt (ply_boot_splash_plugin_t *plugin,
11969
+ const char *prompt,
11972
+ ply_list_node_t *node;
11974
+ char *entered_text;
11976
+ entered_text = calloc (bullets + 1, sizeof (char));
11978
+ for (i = 0; i < bullets; i++)
11979
+ entered_text[i] = '*';
11981
+ node = ply_list_get_first_node (plugin->views);
11982
+ while (node != NULL)
11984
+ ply_list_node_t *next_node;
11987
+ view = ply_list_node_get_data (node);
11988
+ next_node = ply_list_get_next_node (plugin->views, node);
11990
+ view_show_prompt (view, prompt, entered_text);
11992
+ node = next_node;
11994
+ free (entered_text);
11998
+show_prompt (ply_boot_splash_plugin_t *plugin,
11999
+ const char *prompt,
12000
+ const char *text)
12002
+ ply_list_node_t *node;
12004
+ node = ply_list_get_first_node (plugin->views);
12005
+ while (node != NULL)
12007
+ ply_list_node_t *next_node;
12010
+ view = ply_list_node_get_data (node);
12011
+ next_node = ply_list_get_next_node (plugin->views, node);
12013
+ view_show_prompt (view, prompt, text);
12015
+ node = next_node;
12020
+display_password (ply_boot_splash_plugin_t *plugin,
12021
+ const char *prompt,
12024
+ pause_views (plugin);
12025
+ if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
12026
+ stop_animation (plugin);
12028
+ plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
12031
+ prompt = "Password";
12033
+ show_password_prompt (plugin, prompt, bullets);
12035
+ unpause_views (plugin);
12039
+display_question (ply_boot_splash_plugin_t *plugin,
12040
+ const char *prompt,
12041
+ const char *entry_text)
12043
+ pause_views (plugin);
12044
+ if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
12045
+ stop_animation (plugin);
12047
+ plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
12050
+ prompt = "Password";
12052
+ show_prompt (plugin, prompt, entry_text);
12054
+ unpause_views (plugin);
12058
+ply_boot_splash_plugin_interface_t *
12059
+ply_boot_splash_plugin_get_interface (void)
12061
+ static ply_boot_splash_plugin_interface_t plugin_interface =
12063
+ .create_plugin = create_plugin,
12064
+ .destroy_plugin = destroy_plugin,
12065
+ .add_text_display = add_text_display,
12066
+ .remove_text_display = remove_text_display,
12067
+ .show_splash_screen = show_splash_screen,
12068
+ .update_status = update_status,
12069
+ .hide_splash_screen = hide_splash_screen,
12070
+ .display_normal = display_normal,
12071
+ .display_message = display_message,
12072
+ .display_password = display_password,
12073
+ .display_question = display_question,
12076
+ return &plugin_interface;
12079
+/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
12081
+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.in
12083
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
12084
+# @configure_input@
12086
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
12087
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
12089
+# This Makefile.in is free software; the Free Software Foundation
12090
+# gives unlimited permission to copy and/or distribute it,
12091
+# with or without modifications, as long as this notice is preserved.
12093
+# This program is distributed in the hope that it will be useful,
12094
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
12095
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
12096
+# PARTICULAR PURPOSE.
12101
+pkgdatadir = $(datadir)/@PACKAGE@
12102
+pkgincludedir = $(includedir)/@PACKAGE@
12103
+pkglibdir = $(libdir)/@PACKAGE@
12104
+pkglibexecdir = $(libexecdir)/@PACKAGE@
12105
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
12106
+install_sh_DATA = $(install_sh) -c -m 644
12107
+install_sh_PROGRAM = $(install_sh) -c
12108
+install_sh_SCRIPT = $(install_sh) -c
12109
+INSTALL_HEADER = $(INSTALL_DATA)
12110
+transform = $(program_transform_name)
12111
+NORMAL_INSTALL = :
12114
+NORMAL_UNINSTALL = :
12116
+POST_UNINSTALL = :
12117
+build_triplet = @build@
12118
+host_triplet = @host@
12119
+subdir = src/plugins/splash/ubuntu-text
12120
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
12121
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
12122
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
12123
+ $(top_srcdir)/configure.ac
12124
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
12126
+mkinstalldirs = $(install_sh) -d
12127
+CONFIG_HEADER = $(top_builddir)/config.h
12128
+CONFIG_CLEAN_FILES =
12129
+CONFIG_CLEAN_VPATH_FILES =
12130
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
12131
+am__vpath_adj = case $$p in \
12132
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
12135
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
12136
+am__install_max = 40
12137
+am__nobase_strip_setup = \
12138
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
12139
+am__nobase_strip = \
12140
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
12141
+am__nobase_list = $(am__nobase_strip_setup); \
12142
+ for p in $$list; do echo "$$p $$p"; done | \
12143
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
12144
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
12145
+ if (++n[$$2] == $(am__install_max)) \
12146
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
12147
+ END { for (dir in files) print dir, files[dir] }'
12149
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
12150
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
12151
+am__installdirs = "$(DESTDIR)$(plugindir)"
12152
+LTLIBRARIES = $(plugin_LTLIBRARIES)
12153
+am__DEPENDENCIES_1 =
12154
+ubuntu_text_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
12155
+ ../../../libply/libply.la \
12156
+ ../../../libply-splash-core/libply-splash-core.la
12157
+am_ubuntu_text_la_OBJECTS = ubuntu_text_la-plugin.lo
12158
+ubuntu_text_la_OBJECTS = $(am_ubuntu_text_la_OBJECTS)
12159
+AM_V_lt = $(am__v_lt_$(V))
12160
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
12161
+am__v_lt_0 = --silent
12162
+ubuntu_text_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
12163
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
12164
+ $(ubuntu_text_la_CFLAGS) $(CFLAGS) $(ubuntu_text_la_LDFLAGS) \
12166
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
12167
+depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp
12168
+am__depfiles_maybe = depfiles
12170
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
12171
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
12172
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
12173
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
12174
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
12175
+ $(AM_CFLAGS) $(CFLAGS)
12176
+AM_V_CC = $(am__v_CC_$(V))
12177
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
12178
+am__v_CC_0 = @echo " CC " $@;
12179
+AM_V_at = $(am__v_at_$(V))
12180
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
12183
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
12184
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
12185
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
12186
+AM_V_CCLD = $(am__v_CCLD_$(V))
12187
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
12188
+am__v_CCLD_0 = @echo " CCLD " $@;
12189
+AM_V_GEN = $(am__v_GEN_$(V))
12190
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
12191
+am__v_GEN_0 = @echo " GEN " $@;
12192
+SOURCES = $(ubuntu_text_la_SOURCES)
12193
+DIST_SOURCES = $(ubuntu_text_la_SOURCES)
12196
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
12197
+ACLOCAL = @ACLOCAL@
12199
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
12201
+AUTOCONF = @AUTOCONF@
12202
+AUTOHEADER = @AUTOHEADER@
12203
+AUTOMAKE = @AUTOMAKE@
12206
+CCDEPMODE = @CCDEPMODE@
12209
+CPPFLAGS = @CPPFLAGS@
12210
+CYGPATH_W = @CYGPATH_W@
12213
+DRM_CFLAGS = @DRM_CFLAGS@
12214
+DRM_LIBS = @DRM_LIBS@
12215
+DSYMUTIL = @DSYMUTIL@
12216
+DUMPBIN = @DUMPBIN@
12224
+GTK_CFLAGS = @GTK_CFLAGS@
12225
+GTK_LIBS = @GTK_LIBS@
12226
+IMAGE_CFLAGS = @IMAGE_CFLAGS@
12227
+IMAGE_LIBS = @IMAGE_LIBS@
12228
+INSTALL = @INSTALL@
12229
+INSTALL_DATA = @INSTALL_DATA@
12230
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
12231
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
12232
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
12234
+LDFLAGS = @LDFLAGS@
12235
+LIBOBJS = @LIBOBJS@
12237
+LIBTOOL = @LIBTOOL@
12240
+LTLIBOBJS = @LTLIBOBJS@
12242
+LT_CURRENT = @LT_CURRENT@
12243
+LT_REVISION = @LT_REVISION@
12245
+MAKEINFO = @MAKEINFO@
12246
+MKDIR_P = @MKDIR_P@
12249
+OBJDUMP = @OBJDUMP@
12252
+OTOOL64 = @OTOOL64@
12253
+PACKAGE = @PACKAGE@
12254
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12255
+PACKAGE_NAME = @PACKAGE_NAME@
12256
+PACKAGE_STRING = @PACKAGE_STRING@
12257
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
12258
+PACKAGE_URL = @PACKAGE_URL@
12259
+PACKAGE_VERSION = @PACKAGE_VERSION@
12260
+PANGO_CFLAGS = @PANGO_CFLAGS@
12261
+PANGO_LIBS = @PANGO_LIBS@
12262
+PATH_SEPARATOR = @PATH_SEPARATOR@
12263
+PKG_CONFIG = @PKG_CONFIG@
12264
+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
12265
+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
12266
+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
12267
+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
12268
+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
12269
+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
12270
+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
12271
+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
12272
+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
12274
+RELEASE_FILE = @RELEASE_FILE@
12276
+SET_MAKE = @SET_MAKE@
12279
+VERSION = @VERSION@
12280
+abs_builddir = @abs_builddir@
12281
+abs_srcdir = @abs_srcdir@
12282
+abs_top_builddir = @abs_top_builddir@
12283
+abs_top_srcdir = @abs_top_srcdir@
12284
+ac_ct_CC = @ac_ct_CC@
12285
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
12286
+am__include = @am__include@
12287
+am__leading_dot = @am__leading_dot@
12288
+am__quote = @am__quote@
12289
+am__tar = @am__tar@
12290
+am__untar = @am__untar@
12291
+background_color = @background_color@
12292
+background_end_color = @background_end_color@
12293
+background_start_color = @background_start_color@
12296
+build_alias = @build_alias@
12297
+build_cpu = @build_cpu@
12298
+build_os = @build_os@
12299
+build_vendor = @build_vendor@
12300
+builddir = @builddir@
12301
+datadir = @datadir@
12302
+datarootdir = @datarootdir@
12305
+exec_prefix = @exec_prefix@
12307
+host_alias = @host_alias@
12308
+host_cpu = @host_cpu@
12309
+host_os = @host_os@
12310
+host_vendor = @host_vendor@
12311
+htmldir = @htmldir@
12312
+includedir = @includedir@
12313
+infodir = @infodir@
12314
+install_sh = @install_sh@
12316
+libexecdir = @libexecdir@
12317
+localedir = @localedir@
12318
+localstatedir = @localstatedir@
12319
+logofile = @logofile@
12320
+lt_ECHO = @lt_ECHO@
12322
+mkdir_p = @mkdir_p@
12323
+oldincludedir = @oldincludedir@
12325
+plymouthclientdir = @plymouthclientdir@
12326
+plymouthdaemondir = @plymouthdaemondir@
12328
+program_transform_name = @program_transform_name@
12330
+sbindir = @sbindir@
12331
+sharedstatedir = @sharedstatedir@
12333
+sysconfdir = @sysconfdir@
12334
+target_alias = @target_alias@
12335
+top_build_prefix = @top_build_prefix@
12336
+top_builddir = @top_builddir@
12337
+top_srcdir = @top_srcdir@
12338
+INCLUDES = -I$(top_srcdir) \
12339
+ -I$(srcdir)/../../../libply \
12340
+ -I$(srcdir)/../../../libply-splash-core \
12341
+ -I$(srcdir)/../../.. \
12342
+ -I$(srcdir)/../.. \
12346
+plugindir = $(libdir)/plymouth
12347
+plugin_LTLIBRARIES = ubuntu-text.la
12348
+ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS) \
12349
+ -DPLYMOUTH_BACKGROUND_COLOR=$(background_color) \
12350
+ -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color) \
12351
+ -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
12353
+ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
12354
+ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS) \
12355
+ ../../../libply/libply.la \
12356
+ ../../../libply-splash-core/libply-splash-core.la
12358
+ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
12359
+MAINTAINERCLEANFILES = Makefile.in
12363
+.SUFFIXES: .c .lo .o .obj
12364
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
12365
+ @for dep in $?; do \
12366
+ case '$(am__configure_deps)' in \
12368
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
12369
+ && { if test -f $@; then exit 0; else break; fi; }; \
12373
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile'; \
12374
+ $(am__cd) $(top_srcdir) && \
12375
+ $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile
12376
+.PRECIOUS: Makefile
12377
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
12379
+ *config.status*) \
12380
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
12382
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
12383
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
12386
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
12387
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12389
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
12390
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12391
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
12392
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
12393
+$(am__aclocal_m4_deps):
12394
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
12395
+ @$(NORMAL_INSTALL)
12396
+ test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
12397
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
12398
+ list2=; for p in $$list; do \
12399
+ if test -f $$p; then \
12400
+ list2="$$list2 $$p"; \
12403
+ test -z "$$list2" || { \
12404
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
12405
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
12408
+uninstall-pluginLTLIBRARIES:
12409
+ @$(NORMAL_UNINSTALL)
12410
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
12411
+ for p in $$list; do \
12412
+ $(am__strip_dir) \
12413
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
12414
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
12417
+clean-pluginLTLIBRARIES:
12418
+ -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
12419
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
12420
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
12421
+ test "$$dir" != "$$p" || dir=.; \
12422
+ echo "rm -f \"$${dir}/so_locations\""; \
12423
+ rm -f "$${dir}/so_locations"; \
12425
+ubuntu-text.la: $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_DEPENDENCIES)
12426
+ $(AM_V_CCLD)$(ubuntu_text_la_LINK) -rpath $(plugindir) $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_LIBADD) $(LIBS)
12428
+mostlyclean-compile:
12429
+ -rm -f *.$(OBJEXT)
12431
+distclean-compile:
12434
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ubuntu_text_la-plugin.Plo@am__quote@
12437
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
12438
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
12439
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
12440
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
12441
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
12442
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
12445
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
12446
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
12447
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
12448
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
12449
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
12450
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
12453
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
12454
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
12455
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
12456
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
12457
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
12458
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
12460
+ubuntu_text_la-plugin.lo: $(srcdir)/plugin.c
12461
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ubuntu_text_la_CFLAGS) $(CFLAGS) -MT ubuntu_text_la-plugin.lo -MD -MP -MF $(DEPDIR)/ubuntu_text_la-plugin.Tpo -c -o ubuntu_text_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
12462
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ubuntu_text_la-plugin.Tpo $(DEPDIR)/ubuntu_text_la-plugin.Plo
12463
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
12464
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/plugin.c' object='ubuntu_text_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
12465
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
12466
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ubuntu_text_la_CFLAGS) $(CFLAGS) -c -o ubuntu_text_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
12468
+mostlyclean-libtool:
12472
+ -rm -rf .libs _libs
12474
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
12475
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
12476
+ unique=`for i in $$list; do \
12477
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
12479
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
12480
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
12481
+ mkid -fID $$unique
12484
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
12485
+ $(TAGS_FILES) $(LISP)
12488
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
12489
+ unique=`for i in $$list; do \
12490
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
12492
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
12493
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
12495
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
12496
+ test -n "$$unique" || unique=$$empty_fix; \
12497
+ if test $$# -gt 0; then \
12498
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
12499
+ "$$@" $$unique; \
12501
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
12506
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
12507
+ $(TAGS_FILES) $(LISP)
12508
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
12509
+ unique=`for i in $$list; do \
12510
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
12512
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
12513
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
12514
+ test -z "$(CTAGS_ARGS)$$unique" \
12515
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
12519
+ here=`$(am__cd) $(top_builddir) && pwd` \
12520
+ && $(am__cd) $(top_srcdir) \
12521
+ && gtags -i $(GTAGS_ARGS) "$$here"
12524
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
12526
+distdir: $(DISTFILES)
12527
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
12528
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
12529
+ list='$(DISTFILES)'; \
12530
+ dist_files=`for file in $$list; do echo $$file; done | \
12531
+ sed -e "s|^$$srcdirstrip/||;t" \
12532
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
12533
+ case $$dist_files in \
12534
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
12535
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
12538
+ for file in $$dist_files; do \
12539
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
12540
+ if test -d $$d/$$file; then \
12541
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
12542
+ if test -d "$(distdir)/$$file"; then \
12543
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
12545
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
12546
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
12547
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
12549
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
12551
+ test -f "$(distdir)/$$file" \
12552
+ || cp -p $$d/$$file "$(distdir)/$$file" \
12558
+all-am: Makefile $(LTLIBRARIES)
12560
+ for dir in "$(DESTDIR)$(plugindir)"; do \
12561
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
12563
+install: install-am
12564
+install-exec: install-exec-am
12565
+install-data: install-data-am
12566
+uninstall: uninstall-am
12568
+install-am: all-am
12569
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
12571
+installcheck: installcheck-am
12573
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
12574
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
12575
+ `test -z '$(STRIP)' || \
12576
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
12577
+mostlyclean-generic:
12581
+distclean-generic:
12582
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
12583
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
12585
+maintainer-clean-generic:
12586
+ @echo "This command is intended for maintainers to use"
12587
+ @echo "it deletes files that may require special tools to rebuild."
12588
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
12591
+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
12594
+distclean: distclean-am
12595
+ -rm -rf ./$(DEPDIR)
12597
+distclean-am: clean-am distclean-compile distclean-generic \
12612
+install-data-am: install-pluginLTLIBRARIES
12614
+install-dvi: install-dvi-am
12620
+install-html: install-html-am
12624
+install-info: install-info-am
12630
+install-pdf: install-pdf-am
12634
+install-ps: install-ps-am
12640
+maintainer-clean: maintainer-clean-am
12641
+ -rm -rf ./$(DEPDIR)
12643
+maintainer-clean-am: distclean-am maintainer-clean-generic
12645
+mostlyclean: mostlyclean-am
12647
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
12648
+ mostlyclean-libtool
12658
+uninstall-am: uninstall-pluginLTLIBRARIES
12660
+.MAKE: install-am install-strip
12662
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
12663
+ clean-libtool clean-pluginLTLIBRARIES ctags distclean \
12664
+ distclean-compile distclean-generic distclean-libtool \
12665
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
12666
+ install install-am install-data install-data-am install-dvi \
12667
+ install-dvi-am install-exec install-exec-am install-html \
12668
+ install-html-am install-info install-info-am install-man \
12669
+ install-pdf install-pdf-am install-pluginLTLIBRARIES \
12670
+ install-ps install-ps-am install-strip installcheck \
12671
+ installcheck-am installdirs maintainer-clean \
12672
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
12673
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
12674
+ tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
12677
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
12678
+# Otherwise a system limit (for SysV at least) may be exceeded.
12680
--- plymouth-0.8.2.orig/src/plugins/splash/details/plugin.c
12681
+++ plymouth-0.8.2/src/plugins/splash/details/plugin.c
12682
@@ -73,6 +73,7 @@ struct _ply_boot_splash_plugin
12683
ply_boot_splash_mode_t mode;
12685
ply_boot_splash_display_type_t state;
12686
+ ply_list_t *messages;
12690
@@ -120,6 +121,31 @@ free_views (ply_boot_splash_plugin_t *pl
12691
plugin->views = NULL;
12695
+free_messages (ply_boot_splash_plugin_t *plugin)
12697
+ ply_list_node_t *node;
12699
+ node = ply_list_get_first_node (plugin->messages);
12701
+ while (node != NULL)
12703
+ ply_list_node_t *next_node;
12706
+ message = ply_list_node_get_data (node);
12707
+ next_node = ply_list_get_next_node (plugin->messages, node);
12710
+ ply_list_remove_node (plugin->messages, node);
12712
+ node = next_node;
12715
+ ply_list_free (plugin->messages);
12716
+ plugin->messages = NULL;
12719
static ply_boot_splash_plugin_t *
12720
create_plugin (ply_key_file_t *key_file)
12722
@@ -130,6 +156,7 @@ create_plugin (ply_key_file_t *key_file)
12723
plugin = calloc (1, sizeof (ply_boot_splash_plugin_t));
12724
plugin->views = ply_list_new ();
12725
plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
12726
+ plugin->messages = ply_list_new ();
12730
@@ -141,6 +168,7 @@ destroy_plugin (ply_boot_splash_plugin_t
12731
if (plugin == NULL)
12734
+ free_messages (plugin);
12735
free_views (plugin);
12738
@@ -203,7 +231,10 @@ add_text_display (ply_boot_splash_plugin
12740
terminal = ply_text_display_get_terminal (view->display);
12741
if (ply_terminal_open (terminal))
12742
- ply_terminal_activate_vt (terminal);
12744
+ ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
12745
+ ply_terminal_activate_vt (terminal);
12748
ply_list_append_data (plugin->views, view);
12750
@@ -294,10 +325,28 @@ hide_splash_screen (ply_boot_splash_plug
12752
display_normal (ply_boot_splash_plugin_t *plugin)
12754
+ ply_list_node_t *node;
12756
if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
12757
write_on_views (plugin, "\r\n", strlen ("\r\n"));
12759
plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
12761
+ node = ply_list_get_first_node (plugin->messages);
12762
+ while (node != NULL)
12764
+ const char *message;
12765
+ ply_list_node_t *next_node;
12767
+ message = ply_list_node_get_data (node);
12768
+ next_node = ply_list_get_next_node (plugin->messages, node);
12770
+ write_on_views (plugin, message, strlen (message));
12771
+ write_on_views (plugin, "\r\n", strlen ("\r\n"));
12773
+ ply_list_remove_node (plugin->messages, node);
12774
+ node = next_node;
12779
@@ -349,6 +398,26 @@ display_question (ply_boot_splash_plugin
12780
write_on_views (plugin, entry_text, strlen (entry_text));
12784
+display_message (ply_boot_splash_plugin_t *plugin,
12785
+ const char *message)
12787
+ const char *message_to_display;
12789
+ if (!strncmp (message, "keys:", strlen ("keys:")))
12790
+ message_to_display = message + strlen ("keys:");
12792
+ message_to_display = message;
12794
+ if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
12796
+ write_on_views (plugin, message_to_display, strlen (message_to_display));
12797
+ write_on_views (plugin, "\r\n", strlen ("\r\n"));
12800
+ ply_list_append_data (plugin->messages, strdup (message_to_display));
12803
ply_boot_splash_plugin_interface_t *
12804
ply_boot_splash_plugin_get_interface (void)
12806
@@ -365,6 +434,7 @@ ply_boot_splash_plugin_get_interface (vo
12807
.display_normal = display_normal,
12808
.display_password = display_password,
12809
.display_question = display_question,
12810
+ .display_message = display_message,
12813
return &plugin_interface;
12814
--- plymouth-0.8.2.orig/src/plugins/splash/details/Makefile.in
12815
+++ plymouth-0.8.2/src/plugins/splash/details/Makefile.in
12816
@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12817
PACKAGE_NAME = @PACKAGE_NAME@
12818
PACKAGE_STRING = @PACKAGE_STRING@
12819
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12820
+PACKAGE_URL = @PACKAGE_URL@
12821
PACKAGE_VERSION = @PACKAGE_VERSION@
12822
PANGO_CFLAGS = @PANGO_CFLAGS@
12823
PANGO_LIBS = @PANGO_LIBS@
12824
--- plymouth-0.8.2.orig/src/plugins/splash/throbgress/Makefile.in
12825
+++ plymouth-0.8.2/src/plugins/splash/throbgress/Makefile.in
12826
@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12827
PACKAGE_NAME = @PACKAGE_NAME@
12828
PACKAGE_STRING = @PACKAGE_STRING@
12829
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12830
+PACKAGE_URL = @PACKAGE_URL@
12831
PACKAGE_VERSION = @PACKAGE_VERSION@
12832
PANGO_CFLAGS = @PANGO_CFLAGS@
12833
PANGO_LIBS = @PANGO_LIBS@
12834
--- plymouth-0.8.2.orig/src/plugins/splash/fade-throbber/Makefile.in
12835
+++ plymouth-0.8.2/src/plugins/splash/fade-throbber/Makefile.in
12836
@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12837
PACKAGE_NAME = @PACKAGE_NAME@
12838
PACKAGE_STRING = @PACKAGE_STRING@
12839
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12840
+PACKAGE_URL = @PACKAGE_URL@
12841
PACKAGE_VERSION = @PACKAGE_VERSION@
12842
PANGO_CFLAGS = @PANGO_CFLAGS@
12843
PANGO_LIBS = @PANGO_LIBS@
12844
--- plymouth-0.8.2.orig/src/plugins/splash/script/plugin.c
12845
+++ plymouth-0.8.2/src/plugins/splash/script/plugin.c
12846
@@ -418,6 +418,8 @@ static void
12847
become_idle (ply_boot_splash_plugin_t *plugin,
12848
ply_trigger_t *idle_trigger)
12850
+ stop_animation (plugin);
12852
ply_trigger_pull (idle_trigger, NULL);
12855
--- plymouth-0.8.2.orig/src/plugins/splash/script/Makefile.in
12856
+++ plymouth-0.8.2/src/plugins/splash/script/Makefile.in
12857
@@ -179,6 +179,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12858
PACKAGE_NAME = @PACKAGE_NAME@
12859
PACKAGE_STRING = @PACKAGE_STRING@
12860
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12861
+PACKAGE_URL = @PACKAGE_URL@
12862
PACKAGE_VERSION = @PACKAGE_VERSION@
12863
PANGO_CFLAGS = @PANGO_CFLAGS@
12864
PANGO_LIBS = @PANGO_LIBS@
12865
--- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-sprite.c
12866
+++ plymouth-0.8.2/src/plugins/splash/script/script-lib-sprite.c
12867
@@ -399,6 +399,45 @@ static script_return_t sprite_window_set
12868
return script_return_obj_null ();
12871
+static script_return_t sprite_window_get_bits_per_pixel (script_state_t *state,
12874
+ script_lib_sprite_data_t *data = user_data;
12875
+ ply_list_node_t *node;
12877
+ script_obj_t *index_obj;
12878
+ script_lib_display_t *display;
12879
+ unsigned int bits_per_pixel;
12881
+ index_obj = script_obj_hash_peek_element (state->local, "window");
12885
+ index = script_obj_as_number (index_obj);
12886
+ script_obj_unref(index_obj);
12888
+ return script_return_obj_null ();
12889
+ node = ply_list_get_nth_node (data->displays, index);
12890
+ if (node == NULL)
12891
+ return script_return_obj_null ();
12892
+ display = ply_list_node_get_data (node);
12893
+ bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
12894
+ return script_return_obj (script_obj_new_number (bits_per_pixel));
12897
+ bits_per_pixel = 0;
12898
+ for (node = ply_list_get_first_node (data->displays);
12900
+ node = ply_list_get_next_node (data->displays, node))
12902
+ display = ply_list_node_get_data (node);
12903
+ bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
12904
+ if (bits_per_pixel)
12907
+ return script_return_obj (script_obj_new_number (bits_per_pixel));
12910
static uint32_t extract_rgb_color (script_state_t *state)
12912
uint8_t red = CLAMP (255 * script_obj_hash_get_number (state->local, "red"), 0, 255);
12913
@@ -651,6 +690,12 @@ script_lib_sprite_data_t *script_lib_spr
12916
script_add_native_function (window_hash,
12917
+ "GetBitsPerPixel",
12918
+ sprite_window_get_bits_per_pixel,
12922
+ script_add_native_function (window_hash,
12923
"SetBackgroundTopColor",
12924
sprite_window_set_background_top_color,
12926
--- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-image.c
12927
+++ plymouth-0.8.2/src/plugins/splash/script/script-lib-image.c
12928
@@ -171,7 +171,7 @@ static script_return_t image_text (scrip
12930
alpha_obj = script_obj_hash_peek_element (state->local, "alpha");
12933
+ if (alpha_obj && !script_obj_is_null(alpha_obj))
12935
alpha = CLAMP(script_obj_as_number (alpha_obj), 0, 1);
12936
script_obj_unref(alpha_obj);
12937
--- plymouth-0.8.2.orig/src/plugins/splash/space-flares/Makefile.in
12938
+++ plymouth-0.8.2/src/plugins/splash/space-flares/Makefile.in
12939
@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
12940
PACKAGE_NAME = @PACKAGE_NAME@
12941
PACKAGE_STRING = @PACKAGE_STRING@
12942
PACKAGE_TARNAME = @PACKAGE_TARNAME@
12943
+PACKAGE_URL = @PACKAGE_URL@
12944
PACKAGE_VERSION = @PACKAGE_VERSION@
12945
PANGO_CFLAGS = @PANGO_CFLAGS@
12946
PANGO_LIBS = @PANGO_LIBS@
13361
12947
--- plymouth-0.8.2.orig/src/plugins/controls/Makefile.in
13362
12948
+++ plymouth-0.8.2/src/plugins/controls/Makefile.in
13363
12949
@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14924
14520
PACKAGE_VERSION = @PACKAGE_VERSION@
14925
14521
PANGO_CFLAGS = @PANGO_CFLAGS@
14926
14522
PANGO_LIBS = @PANGO_LIBS@
14927
--- plymouth-0.8.2.orig/src/plugins/renderers/x11/Makefile.in
14928
+++ plymouth-0.8.2/src/plugins/renderers/x11/Makefile.in
14929
@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14930
PACKAGE_NAME = @PACKAGE_NAME@
14931
PACKAGE_STRING = @PACKAGE_STRING@
14932
PACKAGE_TARNAME = @PACKAGE_TARNAME@
14933
+PACKAGE_URL = @PACKAGE_URL@
14934
PACKAGE_VERSION = @PACKAGE_VERSION@
14935
PANGO_CFLAGS = @PANGO_CFLAGS@
14936
PANGO_LIBS = @PANGO_LIBS@
14937
--- plymouth-0.8.2.orig/src/plugins/splash/Makefile.am
14938
+++ plymouth-0.8.2/src/plugins/splash/Makefile.am
14940
-SUBDIRS = throbgress fade-throbber text details space-flares two-step script
14941
+SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
14942
MAINTAINERCLEANFILES = Makefile.in
14943
--- plymouth-0.8.2.orig/src/plugins/splash/Makefile.in
14944
+++ plymouth-0.8.2/src/plugins/splash/Makefile.in
14945
@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14946
PACKAGE_NAME = @PACKAGE_NAME@
14947
PACKAGE_STRING = @PACKAGE_STRING@
14948
PACKAGE_TARNAME = @PACKAGE_TARNAME@
14949
+PACKAGE_URL = @PACKAGE_URL@
14950
PACKAGE_VERSION = @PACKAGE_VERSION@
14951
PANGO_CFLAGS = @PANGO_CFLAGS@
14952
PANGO_LIBS = @PANGO_LIBS@
14953
@@ -233,7 +234,7 @@ target_alias = @target_alias@
14954
top_build_prefix = @top_build_prefix@
14955
top_builddir = @top_builddir@
14956
top_srcdir = @top_srcdir@
14957
-SUBDIRS = throbgress fade-throbber text details space-flares two-step script
14958
+SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
14959
MAINTAINERCLEANFILES = Makefile.in
14962
--- plymouth-0.8.2.orig/src/plugins/splash/space-flares/Makefile.in
14963
+++ plymouth-0.8.2/src/plugins/splash/space-flares/Makefile.in
14964
@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14965
PACKAGE_NAME = @PACKAGE_NAME@
14966
PACKAGE_STRING = @PACKAGE_STRING@
14967
PACKAGE_TARNAME = @PACKAGE_TARNAME@
14968
+PACKAGE_URL = @PACKAGE_URL@
14969
PACKAGE_VERSION = @PACKAGE_VERSION@
14970
PANGO_CFLAGS = @PANGO_CFLAGS@
14971
PANGO_LIBS = @PANGO_LIBS@
14972
--- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-sprite.c
14973
+++ plymouth-0.8.2/src/plugins/splash/script/script-lib-sprite.c
14974
@@ -399,6 +399,45 @@ static script_return_t sprite_window_set
14975
return script_return_obj_null ();
14978
+static script_return_t sprite_window_get_bits_per_pixel (script_state_t *state,
14981
+ script_lib_sprite_data_t *data = user_data;
14982
+ ply_list_node_t *node;
14984
+ script_obj_t *index_obj;
14985
+ script_lib_display_t *display;
14986
+ unsigned int bits_per_pixel;
14988
+ index_obj = script_obj_hash_peek_element (state->local, "window");
14992
+ index = script_obj_as_number (index_obj);
14993
+ script_obj_unref(index_obj);
14995
+ return script_return_obj_null ();
14996
+ node = ply_list_get_nth_node (data->displays, index);
14997
+ if (node == NULL)
14998
+ return script_return_obj_null ();
14999
+ display = ply_list_node_get_data (node);
15000
+ bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
15001
+ return script_return_obj (script_obj_new_number (bits_per_pixel));
15004
+ bits_per_pixel = 0;
15005
+ for (node = ply_list_get_first_node (data->displays);
15007
+ node = ply_list_get_next_node (data->displays, node))
15009
+ display = ply_list_node_get_data (node);
15010
+ bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
15011
+ if (bits_per_pixel)
15014
+ return script_return_obj (script_obj_new_number (bits_per_pixel));
15017
static uint32_t extract_rgb_color (script_state_t *state)
15019
uint8_t red = CLAMP (255 * script_obj_hash_get_number (state->local, "red"), 0, 255);
15020
@@ -651,6 +690,12 @@ script_lib_sprite_data_t *script_lib_spr
15023
script_add_native_function (window_hash,
15024
+ "GetBitsPerPixel",
15025
+ sprite_window_get_bits_per_pixel,
15029
+ script_add_native_function (window_hash,
15030
"SetBackgroundTopColor",
15031
sprite_window_set_background_top_color,
15033
--- plymouth-0.8.2.orig/src/plugins/splash/script/plugin.c
15034
+++ plymouth-0.8.2/src/plugins/splash/script/plugin.c
15035
@@ -418,6 +418,8 @@ static void
15036
become_idle (ply_boot_splash_plugin_t *plugin,
15037
ply_trigger_t *idle_trigger)
15039
+ stop_animation (plugin);
15041
ply_trigger_pull (idle_trigger, NULL);
15044
--- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-image.c
15045
+++ plymouth-0.8.2/src/plugins/splash/script/script-lib-image.c
15046
@@ -171,7 +171,7 @@ static script_return_t image_text (scrip
15048
alpha_obj = script_obj_hash_peek_element (state->local, "alpha");
15051
+ if (alpha_obj && !script_obj_is_null(alpha_obj))
15053
alpha = CLAMP(script_obj_as_number (alpha_obj), 0, 1);
15054
script_obj_unref(alpha_obj);
15055
--- plymouth-0.8.2.orig/src/plugins/splash/script/Makefile.in
15056
+++ plymouth-0.8.2/src/plugins/splash/script/Makefile.in
15057
@@ -179,6 +179,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15058
PACKAGE_NAME = @PACKAGE_NAME@
15059
PACKAGE_STRING = @PACKAGE_STRING@
15060
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15061
+PACKAGE_URL = @PACKAGE_URL@
15062
PACKAGE_VERSION = @PACKAGE_VERSION@
15063
PANGO_CFLAGS = @PANGO_CFLAGS@
15064
PANGO_LIBS = @PANGO_LIBS@
15065
--- plymouth-0.8.2.orig/src/plugins/splash/throbgress/Makefile.in
15066
+++ plymouth-0.8.2/src/plugins/splash/throbgress/Makefile.in
15067
@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15068
PACKAGE_NAME = @PACKAGE_NAME@
15069
PACKAGE_STRING = @PACKAGE_STRING@
15070
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15071
+PACKAGE_URL = @PACKAGE_URL@
15072
PACKAGE_VERSION = @PACKAGE_VERSION@
15073
PANGO_CFLAGS = @PANGO_CFLAGS@
15074
PANGO_LIBS = @PANGO_LIBS@
15075
--- plymouth-0.8.2.orig/src/plugins/splash/text/plugin.c
15076
+++ plymouth-0.8.2/src/plugins/splash/text/plugin.c
15077
@@ -485,7 +485,10 @@ add_text_display (ply_boot_splash_plugin
15079
terminal = ply_text_display_get_terminal (view->display);
15080
if (ply_terminal_open (terminal))
15081
- ply_terminal_activate_vt (terminal);
15083
+ ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
15084
+ ply_terminal_activate_vt (terminal);
15087
ply_text_display_set_draw_handler (view->display,
15088
(ply_text_display_draw_handler_t)
15089
--- plymouth-0.8.2.orig/src/plugins/splash/text/Makefile.in
15090
+++ plymouth-0.8.2/src/plugins/splash/text/Makefile.in
15091
@@ -171,6 +171,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15092
PACKAGE_NAME = @PACKAGE_NAME@
15093
PACKAGE_STRING = @PACKAGE_STRING@
15094
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15095
+PACKAGE_URL = @PACKAGE_URL@
15096
PACKAGE_VERSION = @PACKAGE_VERSION@
15097
PANGO_CFLAGS = @PANGO_CFLAGS@
15098
PANGO_LIBS = @PANGO_LIBS@
15100
+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/plugin.c
15102
+/* ubuntu-text.c - boot splash plugin
15104
+ * Copyright (C) 2010 Canonical Ltd.
15105
+ * Copyright (C) 2008 Red Hat, Inc.
15107
+ * This program is free software; you can redistribute it and/or modify
15108
+ * it under the terms of the GNU General Public License as published by
15109
+ * the Free Software Foundation; either version 2, or (at your option)
15110
+ * any later version.
15112
+ * This program is distributed in the hope that it will be useful,
15113
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15114
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15115
+ * GNU General Public License for more details.
15117
+ * You should have received a copy of the GNU General Public License
15118
+ * along with this program; if not, write to the Free Software
15119
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
15120
+ * 02111-1307, USA.
15122
+ * Written by: Scott James Remnant <scott@ubuntu.com>
15123
+ * Adam Jackson <ajax@redhat.com>
15124
+ * Ray Strode <rstrode@redhat.com>
15126
+#include "config.h"
15128
+#include <assert.h>
15129
+#include <errno.h>
15130
+#include <fcntl.h>
15132
+#include <signal.h>
15133
+#include <stdbool.h>
15134
+#include <stdio.h>
15135
+#include <stdint.h>
15136
+#include <stdlib.h>
15137
+#include <string.h>
15138
+#include <sys/ioctl.h>
15139
+#include <sys/stat.h>
15140
+#include <sys/time.h>
15141
+#include <sys/types.h>
15142
+#include <termios.h>
15143
+#include <unistd.h>
15144
+#include <values.h>
15145
+#include <wchar.h>
15147
+#include "ply-trigger.h"
15148
+#include "ply-boot-splash-plugin.h"
15149
+#include "ply-buffer.h"
15150
+#include "ply-event-loop.h"
15151
+#include "ply-key-file.h"
15152
+#include "ply-list.h"
15153
+#include "ply-logger.h"
15154
+#include "ply-text-display.h"
15155
+#include "ply-text-progress-bar.h"
15156
+#include "ply-utils.h"
15158
+#include <linux/kd.h>
15160
+#define CLEAR_LINE_SEQUENCE "\033[2K\r\n"
15161
+#define BACKSPACE "\b\033[0K"
15164
+ PLY_BOOT_SPLASH_DISPLAY_NORMAL,
15165
+ PLY_BOOT_SPLASH_DISPLAY_QUESTION_ENTRY,
15166
+ PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY
15167
+} ply_boot_splash_display_type_t;
15169
+struct _ply_boot_splash_plugin
15171
+ ply_event_loop_t *loop;
15172
+ ply_boot_splash_mode_t mode;
15174
+ ply_list_t *views;
15176
+ ply_boot_splash_display_type_t state;
15180
+ uint32_t is_animating : 1;
15185
+ ply_boot_splash_plugin_t *plugin;
15186
+ ply_text_display_t *display;
15190
+static void hide_splash_screen (ply_boot_splash_plugin_t *plugin,
15191
+ ply_event_loop_t *loop);
15194
+view_new (ply_boot_splash_plugin_t *plugin,
15195
+ ply_text_display_t *display)
15199
+ view = calloc (1, sizeof (view_t));
15200
+ view->plugin = plugin;
15201
+ view->display = display;
15207
+view_free (view_t *view)
15213
+view_show_message (view_t *view)
15215
+ ply_boot_splash_plugin_t *plugin;
15216
+ int display_width, display_height, y;
15217
+ ply_terminal_color_t color;
15220
+ plugin = view->plugin;
15222
+ display_width = ply_text_display_get_number_of_columns (view->display);
15223
+ display_height = ply_text_display_get_number_of_rows (view->display);
15225
+ if (!strncmp (plugin->message, "keys:", 5))
15227
+ message = plugin->message + 5;
15228
+ color = PLY_TERMINAL_COLOR_WHITE;
15229
+ y = display_height - 4;
15233
+ message = plugin->message;
15234
+ color = PLY_TERMINAL_COLOR_BLUE;
15235
+ y = display_height / 2 + 7;
15238
+ ply_text_display_set_cursor_position (view->display, 0, y);
15239
+ ply_text_display_clear_line (view->display);
15240
+ ply_text_display_set_cursor_position (view->display,
15242
+ strlen (message)) / 2,
15245
+ ply_text_display_set_foreground_color (view->display, color);
15246
+ ply_text_display_write (view->display, "%s", message);
15250
+view_show_prompt (view_t *view,
15251
+ const char *prompt,
15252
+ const char *entered_text)
15254
+ ply_boot_splash_plugin_t *plugin;
15255
+ int display_width, display_height;
15258
+ plugin = view->plugin;
15260
+ display_width = ply_text_display_get_number_of_columns (view->display);
15261
+ display_height = ply_text_display_get_number_of_rows (view->display);
15263
+ ply_text_display_set_cursor_position (view->display, 0,
15264
+ display_height / 2 + 8);
15265
+ ply_text_display_clear_line (view->display);
15266
+ ply_text_display_set_cursor_position (view->display,
15267
+ display_width / 2 - (strlen (prompt)),
15268
+ display_height / 2 + 8);
15270
+ ply_text_display_write (view->display, "%s:%s", prompt, entered_text);
15272
+ ply_text_display_show_cursor (view->display);
15276
+view_start_animation (view_t *view)
15278
+ ply_boot_splash_plugin_t *plugin;
15279
+ ply_terminal_t *terminal;
15281
+ assert (view != NULL);
15283
+ plugin = view->plugin;
15285
+ terminal = ply_text_display_get_terminal (view->display);
15287
+ ply_terminal_set_color_hex_value (terminal,
15288
+ PLY_TERMINAL_COLOR_BLACK,
15290
+ ply_terminal_set_color_hex_value (terminal,
15291
+ PLY_TERMINAL_COLOR_WHITE,
15293
+ ply_terminal_set_color_hex_value (terminal,
15294
+ PLY_TERMINAL_COLOR_BROWN,
15296
+ ply_terminal_set_color_hex_value (terminal,
15297
+ PLY_TERMINAL_COLOR_BLUE,
15300
+ ply_text_display_set_background_color (view->display,
15301
+ PLY_TERMINAL_COLOR_BLACK);
15302
+ ply_text_display_clear_screen (view->display);
15303
+ ply_text_display_hide_cursor (view->display);
15307
+view_redraw (view_t *view)
15309
+ unsigned long screen_width, screen_height;
15311
+ screen_width = ply_text_display_get_number_of_columns (view->display);
15312
+ screen_height = ply_text_display_get_number_of_rows (view->display);
15314
+ ply_text_display_draw_area (view->display, 0, 0,
15315
+ screen_width, screen_height);
15319
+redraw_views (ply_boot_splash_plugin_t *plugin)
15321
+ ply_list_node_t *node;
15323
+ node = ply_list_get_first_node (plugin->views);
15324
+ while (node != NULL)
15326
+ ply_list_node_t *next_node;
15329
+ view = ply_list_node_get_data (node);
15330
+ next_node = ply_list_get_next_node (plugin->views, node);
15332
+ view_redraw (view);
15334
+ node = next_node;
15339
+view_hide (view_t *view)
15341
+ if (view->display != NULL)
15343
+ ply_terminal_t *terminal;
15345
+ terminal = ply_text_display_get_terminal (view->display);
15347
+ ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
15348
+ ply_text_display_clear_screen (view->display);
15349
+ ply_text_display_show_cursor (view->display);
15351
+ ply_terminal_reset_colors (terminal);
15356
+hide_views (ply_boot_splash_plugin_t *plugin)
15358
+ ply_list_node_t *node;
15360
+ node = ply_list_get_first_node (plugin->views);
15361
+ while (node != NULL)
15363
+ ply_list_node_t *next_node;
15366
+ view = ply_list_node_get_data (node);
15367
+ next_node = ply_list_get_next_node (plugin->views, node);
15369
+ view_hide (view);
15371
+ node = next_node;
15376
+pause_views (ply_boot_splash_plugin_t *plugin)
15378
+ ply_list_node_t *node;
15380
+ node = ply_list_get_first_node (plugin->views);
15381
+ while (node != NULL)
15383
+ ply_list_node_t *next_node;
15386
+ view = ply_list_node_get_data (node);
15387
+ next_node = ply_list_get_next_node (plugin->views, node);
15389
+ ply_text_display_pause_updates (view->display);
15391
+ node = next_node;
15396
+unpause_views (ply_boot_splash_plugin_t *plugin)
15398
+ ply_list_node_t *node;
15400
+ node = ply_list_get_first_node (plugin->views);
15401
+ while (node != NULL)
15403
+ ply_list_node_t *next_node;
15406
+ view = ply_list_node_get_data (node);
15407
+ next_node = ply_list_get_next_node (plugin->views, node);
15409
+ ply_text_display_unpause_updates (view->display);
15411
+ node = next_node;
15415
+static ply_boot_splash_plugin_t *
15416
+create_plugin (ply_key_file_t *key_file)
15418
+ ply_boot_splash_plugin_t *plugin;
15420
+ ply_trace ("creating plugin");
15422
+ plugin = calloc (1, sizeof (ply_boot_splash_plugin_t));
15423
+ plugin->message = NULL;
15425
+ plugin->views = ply_list_new ();
15431
+detach_from_event_loop (ply_boot_splash_plugin_t *plugin)
15433
+ plugin->loop = NULL;
15435
+ ply_trace ("detaching from event loop");
15439
+free_views (ply_boot_splash_plugin_t *plugin)
15441
+ ply_list_node_t *node;
15443
+ node = ply_list_get_first_node (plugin->views);
15445
+ while (node != NULL)
15447
+ ply_list_node_t *next_node;
15450
+ view = ply_list_node_get_data (node);
15451
+ next_node = ply_list_get_next_node (plugin->views, node);
15453
+ view_free (view);
15454
+ ply_list_remove_node (plugin->views, node);
15456
+ node = next_node;
15459
+ ply_list_free (plugin->views);
15460
+ plugin->views = NULL;
15464
+destroy_plugin (ply_boot_splash_plugin_t *plugin)
15466
+ ply_trace ("destroying plugin");
15468
+ if (plugin == NULL)
15471
+ /* It doesn't ever make sense to keep this plugin on screen
15474
+ hide_splash_screen (plugin, plugin->loop);
15476
+ free_views (plugin);
15477
+ if (plugin->message != NULL)
15478
+ free (plugin->message);
15484
+show_message (ply_boot_splash_plugin_t *plugin)
15486
+ ply_list_node_t *node;
15488
+ node = ply_list_get_first_node (plugin->views);
15489
+ while (node != NULL)
15491
+ ply_list_node_t *next_node;
15494
+ view = ply_list_node_get_data (node);
15495
+ next_node = ply_list_get_next_node (plugin->views, node);
15497
+ view_show_message (view);
15499
+ node = next_node;
15504
+animate_frame (ply_boot_splash_plugin_t *plugin,
15507
+ ply_list_node_t *node;
15509
+ node = ply_list_get_first_node (plugin->views);
15510
+ while (node != NULL)
15512
+ ply_list_node_t *next_node;
15514
+ int display_width, display_height;
15516
+ view = ply_list_node_get_data (node);
15517
+ next_node = ply_list_get_next_node (plugin->views, node);
15519
+ display_width = ply_text_display_get_number_of_columns (view->display);
15520
+ display_height = ply_text_display_get_number_of_rows (view->display);
15522
+ ply_text_display_set_cursor_position (view->display,
15523
+ (display_width - 12) / 2,
15524
+ display_height / 2);
15526
+ ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_BLACK);
15527
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
15528
+ ply_text_display_write (view->display, "Ubuntu 10.10");
15530
+ ply_text_display_set_cursor_position (view->display,
15531
+ (display_width - 10) / 2,
15532
+ (display_height / 2) + 2);
15534
+ if ((frame < 1) || (frame > 4))
15535
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
15537
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
15538
+ ply_text_display_write (view->display, ". ");
15540
+ if ((frame < 2) || (frame > 5))
15541
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
15543
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
15544
+ ply_text_display_write (view->display, ". ");
15546
+ if ((frame < 3) || (frame > 6))
15547
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
15549
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
15550
+ ply_text_display_write (view->display, ". ");
15553
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
15555
+ ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
15556
+ ply_text_display_write (view->display, ".");
15558
+ node = next_node;
15563
+on_timeout (ply_boot_splash_plugin_t *plugin)
15565
+ static int frame = 0;
15570
+ animate_frame (plugin, frame);
15572
+ ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
15573
+ (ply_event_loop_timeout_handler_t)
15574
+ on_timeout, plugin);
15578
+start_animation (ply_boot_splash_plugin_t *plugin)
15580
+ ply_list_node_t *node;
15582
+ assert (plugin != NULL);
15583
+ assert (plugin->loop != NULL);
15585
+ redraw_views (plugin);
15587
+ if (plugin->message != NULL)
15588
+ show_message (plugin);
15590
+ if (plugin->is_animating)
15593
+ node = ply_list_get_first_node (plugin->views);
15594
+ while (node != NULL)
15596
+ ply_list_node_t *next_node;
15599
+ view = ply_list_node_get_data (node);
15600
+ next_node = ply_list_get_next_node (plugin->views, node);
15602
+ view_start_animation (view);
15604
+ node = next_node;
15607
+ plugin->is_animating = true;
15609
+ animate_frame (plugin, 0);
15610
+ ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
15611
+ (ply_event_loop_timeout_handler_t)
15612
+ on_timeout, plugin);
15616
+stop_animation (ply_boot_splash_plugin_t *plugin)
15618
+ ply_list_node_t *node;
15620
+ assert (plugin != NULL);
15621
+ assert (plugin->loop != NULL);
15623
+ if (!plugin->is_animating)
15626
+ plugin->is_animating = false;
15628
+ node = ply_list_get_first_node (plugin->views);
15629
+ while (node != NULL)
15631
+ ply_list_node_t *next_node;
15634
+ view = ply_list_node_get_data (node);
15635
+ next_node = ply_list_get_next_node (plugin->views, node);
15637
+ node = next_node;
15640
+ ply_event_loop_stop_watching_for_timeout (plugin->loop,
15641
+ (ply_event_loop_timeout_handler_t)
15642
+ on_timeout, plugin);
15644
+ redraw_views (plugin);
15648
+on_draw (view_t *view,
15649
+ ply_terminal_t *terminal,
15658
+add_text_display (ply_boot_splash_plugin_t *plugin,
15659
+ ply_text_display_t *display)
15662
+ ply_terminal_t *terminal;
15664
+ view = view_new (plugin, display);
15666
+ terminal = ply_text_display_get_terminal (view->display);
15667
+ if (ply_terminal_open (terminal))
15669
+ ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
15670
+ ply_terminal_activate_vt (terminal);
15673
+ ply_text_display_set_draw_handler (view->display,
15674
+ (ply_text_display_draw_handler_t)
15677
+ ply_list_append_data (plugin->views, view);
15681
+remove_text_display (ply_boot_splash_plugin_t *plugin,
15682
+ ply_text_display_t *display)
15684
+ ply_list_node_t *node;
15686
+ node = ply_list_get_first_node (plugin->views);
15687
+ while (node != NULL)
15690
+ ply_list_node_t *next_node;
15692
+ view = ply_list_node_get_data (node);
15693
+ next_node = ply_list_get_next_node (plugin->views, node);
15695
+ if (view->display == display)
15697
+ ply_text_display_set_draw_handler (view->display,
15699
+ view_free (view);
15700
+ ply_list_remove_node (plugin->views, node);
15704
+ node = next_node;
15709
+show_splash_screen (ply_boot_splash_plugin_t *plugin,
15710
+ ply_event_loop_t *loop,
15711
+ ply_buffer_t *boot_buffer,
15712
+ ply_boot_splash_mode_t mode)
15714
+ assert (plugin != NULL);
15716
+ plugin->loop = loop;
15717
+ plugin->mode = mode;
15718
+ ply_event_loop_watch_for_exit (loop, (ply_event_loop_exit_handler_t)
15719
+ detach_from_event_loop,
15722
+ ply_show_new_kernel_messages (false);
15723
+ start_animation (plugin);
15729
+update_status (ply_boot_splash_plugin_t *plugin,
15730
+ const char *status)
15732
+ assert (plugin != NULL);
15734
+ ply_trace ("status update");
15738
+hide_splash_screen (ply_boot_splash_plugin_t *plugin,
15739
+ ply_event_loop_t *loop)
15741
+ assert (plugin != NULL);
15743
+ ply_trace ("hiding splash screen");
15745
+ if (plugin->loop != NULL)
15747
+ stop_animation (plugin);
15749
+ ply_event_loop_stop_watching_for_exit (plugin->loop,
15750
+ (ply_event_loop_exit_handler_t)
15751
+ detach_from_event_loop,
15753
+ detach_from_event_loop (plugin);
15756
+ hide_views (plugin);
15757
+ ply_show_new_kernel_messages (true);
15761
+display_normal (ply_boot_splash_plugin_t *plugin)
15763
+ pause_views (plugin);
15764
+ if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
15766
+ plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
15767
+ start_animation (plugin);
15768
+ redraw_views (plugin);
15770
+ unpause_views (plugin);
15774
+display_message (ply_boot_splash_plugin_t *plugin,
15775
+ const char *message)
15777
+ if (plugin->message != NULL)
15778
+ free (plugin->message);
15780
+ plugin->message = strdup (message);
15781
+ start_animation (plugin);
15785
+show_password_prompt (ply_boot_splash_plugin_t *plugin,
15786
+ const char *prompt,
15789
+ ply_list_node_t *node;
15791
+ char *entered_text;
15793
+ entered_text = calloc (bullets + 1, sizeof (char));
15795
+ for (i = 0; i < bullets; i++)
15796
+ entered_text[i] = '*';
15798
+ node = ply_list_get_first_node (plugin->views);
15799
+ while (node != NULL)
15801
+ ply_list_node_t *next_node;
15804
+ view = ply_list_node_get_data (node);
15805
+ next_node = ply_list_get_next_node (plugin->views, node);
15807
+ view_show_prompt (view, prompt, entered_text);
15809
+ node = next_node;
15811
+ free (entered_text);
15815
+show_prompt (ply_boot_splash_plugin_t *plugin,
15816
+ const char *prompt,
15817
+ const char *text)
15819
+ ply_list_node_t *node;
15821
+ node = ply_list_get_first_node (plugin->views);
15822
+ while (node != NULL)
15824
+ ply_list_node_t *next_node;
15827
+ view = ply_list_node_get_data (node);
15828
+ next_node = ply_list_get_next_node (plugin->views, node);
15830
+ view_show_prompt (view, prompt, text);
15832
+ node = next_node;
15837
+display_password (ply_boot_splash_plugin_t *plugin,
15838
+ const char *prompt,
15841
+ pause_views (plugin);
15842
+ if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
15843
+ stop_animation (plugin);
15845
+ plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
15848
+ prompt = "Password";
15850
+ show_password_prompt (plugin, prompt, bullets);
15852
+ unpause_views (plugin);
15856
+display_question (ply_boot_splash_plugin_t *plugin,
15857
+ const char *prompt,
15858
+ const char *entry_text)
15860
+ pause_views (plugin);
15861
+ if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
15862
+ stop_animation (plugin);
15864
+ plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
15867
+ prompt = "Password";
15869
+ show_prompt (plugin, prompt, entry_text);
15871
+ unpause_views (plugin);
15875
+ply_boot_splash_plugin_interface_t *
15876
+ply_boot_splash_plugin_get_interface (void)
15878
+ static ply_boot_splash_plugin_interface_t plugin_interface =
15880
+ .create_plugin = create_plugin,
15881
+ .destroy_plugin = destroy_plugin,
15882
+ .add_text_display = add_text_display,
15883
+ .remove_text_display = remove_text_display,
15884
+ .show_splash_screen = show_splash_screen,
15885
+ .update_status = update_status,
15886
+ .hide_splash_screen = hide_splash_screen,
15887
+ .display_normal = display_normal,
15888
+ .display_message = display_message,
15889
+ .display_password = display_password,
15890
+ .display_question = display_question,
15893
+ return &plugin_interface;
15896
+/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
15898
+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.am
15900
+INCLUDES = -I$(top_srcdir) \
15901
+ -I$(srcdir)/../../../libply \
15902
+ -I$(srcdir)/../../../libply-splash-core \
15903
+ -I$(srcdir)/../../.. \
15904
+ -I$(srcdir)/../.. \
15908
+plugindir = $(libdir)/plymouth
15909
+plugin_LTLIBRARIES = ubuntu-text.la
15911
+ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS) \
15912
+ -DPLYMOUTH_BACKGROUND_COLOR=$(background_color) \
15913
+ -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color) \
15914
+ -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
15916
+ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
15917
+ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS) \
15918
+ ../../../libply/libply.la \
15919
+ ../../../libply-splash-core/libply-splash-core.la
15920
+ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
15922
+MAINTAINERCLEANFILES = Makefile.in
15924
+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.in
15926
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
15927
+# @configure_input@
15929
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
15930
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
15932
+# This Makefile.in is free software; the Free Software Foundation
15933
+# gives unlimited permission to copy and/or distribute it,
15934
+# with or without modifications, as long as this notice is preserved.
15936
+# This program is distributed in the hope that it will be useful,
15937
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
15938
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15939
+# PARTICULAR PURPOSE.
15944
+pkgdatadir = $(datadir)/@PACKAGE@
15945
+pkgincludedir = $(includedir)/@PACKAGE@
15946
+pkglibdir = $(libdir)/@PACKAGE@
15947
+pkglibexecdir = $(libexecdir)/@PACKAGE@
15948
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
15949
+install_sh_DATA = $(install_sh) -c -m 644
15950
+install_sh_PROGRAM = $(install_sh) -c
15951
+install_sh_SCRIPT = $(install_sh) -c
15952
+INSTALL_HEADER = $(INSTALL_DATA)
15953
+transform = $(program_transform_name)
15954
+NORMAL_INSTALL = :
15957
+NORMAL_UNINSTALL = :
15959
+POST_UNINSTALL = :
15960
+build_triplet = @build@
15961
+host_triplet = @host@
15962
+subdir = src/plugins/splash/ubuntu-text
15963
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
15964
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
15965
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
15966
+ $(top_srcdir)/configure.ac
15967
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
15969
+mkinstalldirs = $(install_sh) -d
15970
+CONFIG_HEADER = $(top_builddir)/config.h
15971
+CONFIG_CLEAN_FILES =
15972
+CONFIG_CLEAN_VPATH_FILES =
15973
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
15974
+am__vpath_adj = case $$p in \
15975
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
15978
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
15979
+am__install_max = 40
15980
+am__nobase_strip_setup = \
15981
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
15982
+am__nobase_strip = \
15983
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
15984
+am__nobase_list = $(am__nobase_strip_setup); \
15985
+ for p in $$list; do echo "$$p $$p"; done | \
15986
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
15987
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
15988
+ if (++n[$$2] == $(am__install_max)) \
15989
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
15990
+ END { for (dir in files) print dir, files[dir] }'
15992
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
15993
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
15994
+am__installdirs = "$(DESTDIR)$(plugindir)"
15995
+LTLIBRARIES = $(plugin_LTLIBRARIES)
15996
+am__DEPENDENCIES_1 =
15997
+ubuntu_text_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
15998
+ ../../../libply/libply.la \
15999
+ ../../../libply-splash-core/libply-splash-core.la
16000
+am_ubuntu_text_la_OBJECTS = ubuntu_text_la-plugin.lo
16001
+ubuntu_text_la_OBJECTS = $(am_ubuntu_text_la_OBJECTS)
16002
+AM_V_lt = $(am__v_lt_$(V))
16003
+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
16004
+am__v_lt_0 = --silent
16005
+ubuntu_text_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
16006
+ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
16007
+ $(ubuntu_text_la_CFLAGS) $(CFLAGS) $(ubuntu_text_la_LDFLAGS) \
16009
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
16010
+depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp
16011
+am__depfiles_maybe = depfiles
16013
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
16014
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
16015
+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
16016
+ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
16017
+ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
16018
+ $(AM_CFLAGS) $(CFLAGS)
16019
+AM_V_CC = $(am__v_CC_$(V))
16020
+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
16021
+am__v_CC_0 = @echo " CC " $@;
16022
+AM_V_at = $(am__v_at_$(V))
16023
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
16026
+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
16027
+ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
16028
+ $(AM_LDFLAGS) $(LDFLAGS) -o $@
16029
+AM_V_CCLD = $(am__v_CCLD_$(V))
16030
+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
16031
+am__v_CCLD_0 = @echo " CCLD " $@;
16032
+AM_V_GEN = $(am__v_GEN_$(V))
16033
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
16034
+am__v_GEN_0 = @echo " GEN " $@;
16035
+SOURCES = $(ubuntu_text_la_SOURCES)
16036
+DIST_SOURCES = $(ubuntu_text_la_SOURCES)
16039
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
16040
+ACLOCAL = @ACLOCAL@
16042
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
16044
+AUTOCONF = @AUTOCONF@
16045
+AUTOHEADER = @AUTOHEADER@
16046
+AUTOMAKE = @AUTOMAKE@
16049
+CCDEPMODE = @CCDEPMODE@
16052
+CPPFLAGS = @CPPFLAGS@
16053
+CYGPATH_W = @CYGPATH_W@
16056
+DRM_CFLAGS = @DRM_CFLAGS@
16057
+DRM_LIBS = @DRM_LIBS@
16058
+DSYMUTIL = @DSYMUTIL@
16059
+DUMPBIN = @DUMPBIN@
16067
+GTK_CFLAGS = @GTK_CFLAGS@
16068
+GTK_LIBS = @GTK_LIBS@
16069
+IMAGE_CFLAGS = @IMAGE_CFLAGS@
16070
+IMAGE_LIBS = @IMAGE_LIBS@
16071
+INSTALL = @INSTALL@
16072
+INSTALL_DATA = @INSTALL_DATA@
16073
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
16074
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
16075
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
16077
+LDFLAGS = @LDFLAGS@
16078
+LIBOBJS = @LIBOBJS@
16080
+LIBTOOL = @LIBTOOL@
16083
+LTLIBOBJS = @LTLIBOBJS@
16085
+LT_CURRENT = @LT_CURRENT@
16086
+LT_REVISION = @LT_REVISION@
16088
+MAKEINFO = @MAKEINFO@
16089
+MKDIR_P = @MKDIR_P@
16092
+OBJDUMP = @OBJDUMP@
16095
+OTOOL64 = @OTOOL64@
16096
+PACKAGE = @PACKAGE@
16097
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
16098
+PACKAGE_NAME = @PACKAGE_NAME@
16099
+PACKAGE_STRING = @PACKAGE_STRING@
16100
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
16101
+PACKAGE_URL = @PACKAGE_URL@
16102
+PACKAGE_VERSION = @PACKAGE_VERSION@
16103
+PANGO_CFLAGS = @PANGO_CFLAGS@
16104
+PANGO_LIBS = @PANGO_LIBS@
16105
+PATH_SEPARATOR = @PATH_SEPARATOR@
16106
+PKG_CONFIG = @PKG_CONFIG@
16107
+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
16108
+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
16109
+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
16110
+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
16111
+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
16112
+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
16113
+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
16114
+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
16115
+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
16117
+RELEASE_FILE = @RELEASE_FILE@
16119
+SET_MAKE = @SET_MAKE@
16122
+VERSION = @VERSION@
16123
+abs_builddir = @abs_builddir@
16124
+abs_srcdir = @abs_srcdir@
16125
+abs_top_builddir = @abs_top_builddir@
16126
+abs_top_srcdir = @abs_top_srcdir@
16127
+ac_ct_CC = @ac_ct_CC@
16128
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
16129
+am__include = @am__include@
16130
+am__leading_dot = @am__leading_dot@
16131
+am__quote = @am__quote@
16132
+am__tar = @am__tar@
16133
+am__untar = @am__untar@
16134
+background_color = @background_color@
16135
+background_end_color = @background_end_color@
16136
+background_start_color = @background_start_color@
16139
+build_alias = @build_alias@
16140
+build_cpu = @build_cpu@
16141
+build_os = @build_os@
16142
+build_vendor = @build_vendor@
16143
+builddir = @builddir@
16144
+datadir = @datadir@
16145
+datarootdir = @datarootdir@
16148
+exec_prefix = @exec_prefix@
16150
+host_alias = @host_alias@
16151
+host_cpu = @host_cpu@
16152
+host_os = @host_os@
16153
+host_vendor = @host_vendor@
16154
+htmldir = @htmldir@
16155
+includedir = @includedir@
16156
+infodir = @infodir@
16157
+install_sh = @install_sh@
16159
+libexecdir = @libexecdir@
16160
+localedir = @localedir@
16161
+localstatedir = @localstatedir@
16162
+logofile = @logofile@
16163
+lt_ECHO = @lt_ECHO@
16165
+mkdir_p = @mkdir_p@
16166
+oldincludedir = @oldincludedir@
16168
+plymouthclientdir = @plymouthclientdir@
16169
+plymouthdaemondir = @plymouthdaemondir@
16171
+program_transform_name = @program_transform_name@
16173
+sbindir = @sbindir@
16174
+sharedstatedir = @sharedstatedir@
16176
+sysconfdir = @sysconfdir@
16177
+target_alias = @target_alias@
16178
+top_build_prefix = @top_build_prefix@
16179
+top_builddir = @top_builddir@
16180
+top_srcdir = @top_srcdir@
16181
+INCLUDES = -I$(top_srcdir) \
16182
+ -I$(srcdir)/../../../libply \
16183
+ -I$(srcdir)/../../../libply-splash-core \
16184
+ -I$(srcdir)/../../.. \
16185
+ -I$(srcdir)/../.. \
16189
+plugindir = $(libdir)/plymouth
16190
+plugin_LTLIBRARIES = ubuntu-text.la
16191
+ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS) \
16192
+ -DPLYMOUTH_BACKGROUND_COLOR=$(background_color) \
16193
+ -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color) \
16194
+ -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
16196
+ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
16197
+ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS) \
16198
+ ../../../libply/libply.la \
16199
+ ../../../libply-splash-core/libply-splash-core.la
16201
+ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
16202
+MAINTAINERCLEANFILES = Makefile.in
16206
+.SUFFIXES: .c .lo .o .obj
16207
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
16208
+ @for dep in $?; do \
16209
+ case '$(am__configure_deps)' in \
16211
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
16212
+ && { if test -f $@; then exit 0; else break; fi; }; \
16216
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile'; \
16217
+ $(am__cd) $(top_srcdir) && \
16218
+ $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile
16219
+.PRECIOUS: Makefile
16220
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
16222
+ *config.status*) \
16223
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
16225
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
16226
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
16229
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
16230
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
16232
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
16233
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
16234
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
16235
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
16236
+$(am__aclocal_m4_deps):
16237
+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
16238
+ @$(NORMAL_INSTALL)
16239
+ test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
16240
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
16241
+ list2=; for p in $$list; do \
16242
+ if test -f $$p; then \
16243
+ list2="$$list2 $$p"; \
16246
+ test -z "$$list2" || { \
16247
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
16248
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
16251
+uninstall-pluginLTLIBRARIES:
16252
+ @$(NORMAL_UNINSTALL)
16253
+ @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
16254
+ for p in $$list; do \
16255
+ $(am__strip_dir) \
16256
+ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
16257
+ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
16260
+clean-pluginLTLIBRARIES:
16261
+ -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
16262
+ @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
16263
+ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
16264
+ test "$$dir" != "$$p" || dir=.; \
16265
+ echo "rm -f \"$${dir}/so_locations\""; \
16266
+ rm -f "$${dir}/so_locations"; \
16268
+ubuntu-text.la: $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_DEPENDENCIES)
16269
+ $(AM_V_CCLD)$(ubuntu_text_la_LINK) -rpath $(plugindir) $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_LIBADD) $(LIBS)
16271
+mostlyclean-compile:
16272
+ -rm -f *.$(OBJEXT)
16274
+distclean-compile:
16277
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ubuntu_text_la-plugin.Plo@am__quote@
16280
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
16281
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
16282
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
16283
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
16284
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
16285
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
16288
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
16289
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
16290
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
16291
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
16292
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
16293
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
16296
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
16297
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
16298
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
16299
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
16300
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
16301
+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
16303
+ubuntu_text_la-plugin.lo: $(srcdir)/plugin.c
16304
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ubuntu_text_la_CFLAGS) $(CFLAGS) -MT ubuntu_text_la-plugin.lo -MD -MP -MF $(DEPDIR)/ubuntu_text_la-plugin.Tpo -c -o ubuntu_text_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
16305
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/ubuntu_text_la-plugin.Tpo $(DEPDIR)/ubuntu_text_la-plugin.Plo
16306
+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
16307
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$(srcdir)/plugin.c' object='ubuntu_text_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
16308
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
16309
+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ubuntu_text_la_CFLAGS) $(CFLAGS) -c -o ubuntu_text_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
16311
+mostlyclean-libtool:
16315
+ -rm -rf .libs _libs
16317
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
16318
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
16319
+ unique=`for i in $$list; do \
16320
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
16322
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
16323
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
16324
+ mkid -fID $$unique
16327
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
16328
+ $(TAGS_FILES) $(LISP)
16331
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
16332
+ unique=`for i in $$list; do \
16333
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
16335
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
16336
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
16338
+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
16339
+ test -n "$$unique" || unique=$$empty_fix; \
16340
+ if test $$# -gt 0; then \
16341
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
16342
+ "$$@" $$unique; \
16344
+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
16349
+CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
16350
+ $(TAGS_FILES) $(LISP)
16351
+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
16352
+ unique=`for i in $$list; do \
16353
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
16355
+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
16356
+ END { if (nonempty) { for (i in files) print i; }; }'`; \
16357
+ test -z "$(CTAGS_ARGS)$$unique" \
16358
+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
16362
+ here=`$(am__cd) $(top_builddir) && pwd` \
16363
+ && $(am__cd) $(top_srcdir) \
16364
+ && gtags -i $(GTAGS_ARGS) "$$here"
16367
+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
16369
+distdir: $(DISTFILES)
16370
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
16371
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
16372
+ list='$(DISTFILES)'; \
16373
+ dist_files=`for file in $$list; do echo $$file; done | \
16374
+ sed -e "s|^$$srcdirstrip/||;t" \
16375
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
16376
+ case $$dist_files in \
16377
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
16378
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
16381
+ for file in $$dist_files; do \
16382
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
16383
+ if test -d $$d/$$file; then \
16384
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
16385
+ if test -d "$(distdir)/$$file"; then \
16386
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
16388
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
16389
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
16390
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
16392
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
16394
+ test -f "$(distdir)/$$file" \
16395
+ || cp -p $$d/$$file "$(distdir)/$$file" \
16401
+all-am: Makefile $(LTLIBRARIES)
16403
+ for dir in "$(DESTDIR)$(plugindir)"; do \
16404
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
16406
+install: install-am
16407
+install-exec: install-exec-am
16408
+install-data: install-data-am
16409
+uninstall: uninstall-am
16411
+install-am: all-am
16412
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
16414
+installcheck: installcheck-am
16416
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
16417
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
16418
+ `test -z '$(STRIP)' || \
16419
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
16420
+mostlyclean-generic:
16424
+distclean-generic:
16425
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
16426
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
16428
+maintainer-clean-generic:
16429
+ @echo "This command is intended for maintainers to use"
16430
+ @echo "it deletes files that may require special tools to rebuild."
16431
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
16434
+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
16437
+distclean: distclean-am
16438
+ -rm -rf ./$(DEPDIR)
16440
+distclean-am: clean-am distclean-compile distclean-generic \
16455
+install-data-am: install-pluginLTLIBRARIES
16457
+install-dvi: install-dvi-am
16463
+install-html: install-html-am
16467
+install-info: install-info-am
16473
+install-pdf: install-pdf-am
16477
+install-ps: install-ps-am
16483
+maintainer-clean: maintainer-clean-am
16484
+ -rm -rf ./$(DEPDIR)
16486
+maintainer-clean-am: distclean-am maintainer-clean-generic
16488
+mostlyclean: mostlyclean-am
16490
+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
16491
+ mostlyclean-libtool
16501
+uninstall-am: uninstall-pluginLTLIBRARIES
16503
+.MAKE: install-am install-strip
16505
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
16506
+ clean-libtool clean-pluginLTLIBRARIES ctags distclean \
16507
+ distclean-compile distclean-generic distclean-libtool \
16508
+ distclean-tags distdir dvi dvi-am html html-am info info-am \
16509
+ install install-am install-data install-data-am install-dvi \
16510
+ install-dvi-am install-exec install-exec-am install-html \
16511
+ install-html-am install-info install-info-am install-man \
16512
+ install-pdf install-pdf-am install-pluginLTLIBRARIES \
16513
+ install-ps install-ps-am install-strip installcheck \
16514
+ installcheck-am installdirs maintainer-clean \
16515
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
16516
+ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
16517
+ tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
16520
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
16521
+# Otherwise a system limit (for SysV at least) may be exceeded.
16523
--- plymouth-0.8.2.orig/src/plugins/splash/details/plugin.c
16524
+++ plymouth-0.8.2/src/plugins/splash/details/plugin.c
16525
@@ -203,7 +203,10 @@ add_text_display (ply_boot_splash_plugin
16527
terminal = ply_text_display_get_terminal (view->display);
16528
if (ply_terminal_open (terminal))
16529
- ply_terminal_activate_vt (terminal);
16531
+ ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
16532
+ ply_terminal_activate_vt (terminal);
16535
ply_list_append_data (plugin->views, view);
16537
--- plymouth-0.8.2.orig/src/plugins/splash/details/Makefile.in
16538
+++ plymouth-0.8.2/src/plugins/splash/details/Makefile.in
16539
@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
16540
PACKAGE_NAME = @PACKAGE_NAME@
16541
PACKAGE_STRING = @PACKAGE_STRING@
16542
PACKAGE_TARNAME = @PACKAGE_TARNAME@
16543
+PACKAGE_URL = @PACKAGE_URL@
16544
PACKAGE_VERSION = @PACKAGE_VERSION@
16545
PANGO_CFLAGS = @PANGO_CFLAGS@
16546
PANGO_LIBS = @PANGO_LIBS@
16547
--- plymouth-0.8.2.orig/src/plugins/splash/fade-throbber/Makefile.in
16548
+++ plymouth-0.8.2/src/plugins/splash/fade-throbber/Makefile.in
16549
@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
16550
PACKAGE_NAME = @PACKAGE_NAME@
16551
PACKAGE_STRING = @PACKAGE_STRING@
16552
PACKAGE_TARNAME = @PACKAGE_TARNAME@
16553
+PACKAGE_URL = @PACKAGE_URL@
16554
PACKAGE_VERSION = @PACKAGE_VERSION@
16555
PANGO_CFLAGS = @PANGO_CFLAGS@
16556
PANGO_LIBS = @PANGO_LIBS@
16557
--- plymouth-0.8.2.orig/src/plugins/splash/two-step/Makefile.in
16558
+++ plymouth-0.8.2/src/plugins/splash/two-step/Makefile.in
16559
@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14523
--- plymouth-0.8.2.orig/src/libply-splash-graphics/Makefile.in
14524
+++ plymouth-0.8.2/src/libply-splash-graphics/Makefile.in
14525
@@ -186,6 +186,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14526
PACKAGE_NAME = @PACKAGE_NAME@
14527
PACKAGE_STRING = @PACKAGE_STRING@
14528
PACKAGE_TARNAME = @PACKAGE_TARNAME@
14529
+PACKAGE_URL = @PACKAGE_URL@
14530
PACKAGE_VERSION = @PACKAGE_VERSION@
14531
PANGO_CFLAGS = @PANGO_CFLAGS@
14532
PANGO_LIBS = @PANGO_LIBS@
14533
--- plymouth-0.8.2.orig/src/libply/Makefile.in
14534
+++ plymouth-0.8.2/src/libply/Makefile.in
14535
@@ -219,6 +219,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
14536
PACKAGE_NAME = @PACKAGE_NAME@
14537
PACKAGE_STRING = @PACKAGE_STRING@
14538
PACKAGE_TARNAME = @PACKAGE_TARNAME@
14539
+PACKAGE_URL = @PACKAGE_URL@
14540
PACKAGE_VERSION = @PACKAGE_VERSION@
14541
PANGO_CFLAGS = @PANGO_CFLAGS@
14542
PANGO_LIBS = @PANGO_LIBS@
14543
--- plymouth-0.8.2.orig/src/libply/tests/Makefile.in
14544
+++ plymouth-0.8.2/src/libply/tests/Makefile.in
14545
@@ -342,6 +342,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
16560
14546
PACKAGE_NAME = @PACKAGE_NAME@
16561
14547
PACKAGE_STRING = @PACKAGE_STRING@
16562
14548
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15120
--- plymouth-0.8.2.orig/images/Makefile.in
15121
+++ plymouth-0.8.2/images/Makefile.in
15122
@@ -138,6 +138,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15123
PACKAGE_NAME = @PACKAGE_NAME@
15124
PACKAGE_STRING = @PACKAGE_STRING@
15125
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15126
+PACKAGE_URL = @PACKAGE_URL@
15127
PACKAGE_VERSION = @PACKAGE_VERSION@
15128
PANGO_CFLAGS = @PANGO_CFLAGS@
15129
PANGO_LIBS = @PANGO_LIBS@
15130
--- plymouth-0.8.2.orig/themes/Makefile.am
15131
+++ plymouth-0.8.2/themes/Makefile.am
15133
-SUBDIRS = spinfinity fade-in text details solar glow script
15134
+SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
15135
MAINTAINERCLEANFILES = Makefile.in
15136
--- plymouth-0.8.2.orig/themes/Makefile.in
15137
+++ plymouth-0.8.2/themes/Makefile.in
15138
@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15139
PACKAGE_NAME = @PACKAGE_NAME@
15140
PACKAGE_STRING = @PACKAGE_STRING@
15141
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15142
+PACKAGE_URL = @PACKAGE_URL@
15143
PACKAGE_VERSION = @PACKAGE_VERSION@
15144
PANGO_CFLAGS = @PANGO_CFLAGS@
15145
PANGO_LIBS = @PANGO_LIBS@
15146
@@ -233,7 +234,7 @@ target_alias = @target_alias@
15147
top_build_prefix = @top_build_prefix@
15148
top_builddir = @top_builddir@
15149
top_srcdir = @top_srcdir@
15150
-SUBDIRS = spinfinity fade-in text details solar glow script
15151
+SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
15152
MAINTAINERCLEANFILES = Makefile.in
15155
--- plymouth-0.8.2.orig/themes/text/Makefile.in
15156
+++ plymouth-0.8.2/themes/text/Makefile.in
15157
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15158
PACKAGE_NAME = @PACKAGE_NAME@
15159
PACKAGE_STRING = @PACKAGE_STRING@
15160
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15161
+PACKAGE_URL = @PACKAGE_URL@
15162
PACKAGE_VERSION = @PACKAGE_VERSION@
15163
PANGO_CFLAGS = @PANGO_CFLAGS@
15164
PANGO_LIBS = @PANGO_LIBS@
15165
--- plymouth-0.8.2.orig/themes/glow/Makefile.in
15166
+++ plymouth-0.8.2/themes/glow/Makefile.in
15167
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15168
PACKAGE_NAME = @PACKAGE_NAME@
15169
PACKAGE_STRING = @PACKAGE_STRING@
15170
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15171
+PACKAGE_URL = @PACKAGE_URL@
15172
PACKAGE_VERSION = @PACKAGE_VERSION@
15173
PANGO_CFLAGS = @PANGO_CFLAGS@
15174
PANGO_LIBS = @PANGO_LIBS@
15176
+++ plymouth-0.8.2/themes/ubuntu-text/Makefile.am
15178
+themedir = $(datadir)/plymouth/themes/ubuntu-text
15179
+dist_theme_DATA = ubuntu-text.plymouth
15181
+MAINTAINERCLEANFILES = Makefile.in
15183
+++ plymouth-0.8.2/themes/ubuntu-text/Makefile.in
15185
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
15186
+# @configure_input@
15188
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
15189
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
15191
+# This Makefile.in is free software; the Free Software Foundation
15192
+# gives unlimited permission to copy and/or distribute it,
15193
+# with or without modifications, as long as this notice is preserved.
15195
+# This program is distributed in the hope that it will be useful,
15196
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
15197
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15198
+# PARTICULAR PURPOSE.
15203
+pkgdatadir = $(datadir)/@PACKAGE@
15204
+pkgincludedir = $(includedir)/@PACKAGE@
15205
+pkglibdir = $(libdir)/@PACKAGE@
15206
+pkglibexecdir = $(libexecdir)/@PACKAGE@
15207
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
15208
+install_sh_DATA = $(install_sh) -c -m 644
15209
+install_sh_PROGRAM = $(install_sh) -c
15210
+install_sh_SCRIPT = $(install_sh) -c
15211
+INSTALL_HEADER = $(INSTALL_DATA)
15212
+transform = $(program_transform_name)
15213
+NORMAL_INSTALL = :
15216
+NORMAL_UNINSTALL = :
15218
+POST_UNINSTALL = :
15219
+build_triplet = @build@
15220
+host_triplet = @host@
15221
+subdir = themes/ubuntu-text
15222
+DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
15223
+ $(srcdir)/Makefile.in
15224
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
15225
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
15226
+ $(top_srcdir)/configure.ac
15227
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
15229
+mkinstalldirs = $(install_sh) -d
15230
+CONFIG_HEADER = $(top_builddir)/config.h
15231
+CONFIG_CLEAN_FILES =
15232
+CONFIG_CLEAN_VPATH_FILES =
15233
+AM_V_GEN = $(am__v_GEN_$(V))
15234
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
15235
+am__v_GEN_0 = @echo " GEN " $@;
15236
+AM_V_at = $(am__v_at_$(V))
15237
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
15241
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
15242
+am__vpath_adj = case $$p in \
15243
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
15246
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
15247
+am__install_max = 40
15248
+am__nobase_strip_setup = \
15249
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
15250
+am__nobase_strip = \
15251
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
15252
+am__nobase_list = $(am__nobase_strip_setup); \
15253
+ for p in $$list; do echo "$$p $$p"; done | \
15254
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
15255
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
15256
+ if (++n[$$2] == $(am__install_max)) \
15257
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
15258
+ END { for (dir in files) print dir, files[dir] }'
15260
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
15261
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
15262
+am__installdirs = "$(DESTDIR)$(themedir)"
15263
+DATA = $(dist_theme_DATA)
15264
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
15265
+ACLOCAL = @ACLOCAL@
15267
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
15269
+AUTOCONF = @AUTOCONF@
15270
+AUTOHEADER = @AUTOHEADER@
15271
+AUTOMAKE = @AUTOMAKE@
15274
+CCDEPMODE = @CCDEPMODE@
15277
+CPPFLAGS = @CPPFLAGS@
15278
+CYGPATH_W = @CYGPATH_W@
15281
+DRM_CFLAGS = @DRM_CFLAGS@
15282
+DRM_LIBS = @DRM_LIBS@
15283
+DSYMUTIL = @DSYMUTIL@
15284
+DUMPBIN = @DUMPBIN@
15292
+GTK_CFLAGS = @GTK_CFLAGS@
15293
+GTK_LIBS = @GTK_LIBS@
15294
+IMAGE_CFLAGS = @IMAGE_CFLAGS@
15295
+IMAGE_LIBS = @IMAGE_LIBS@
15296
+INSTALL = @INSTALL@
15297
+INSTALL_DATA = @INSTALL_DATA@
15298
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
15299
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
15300
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
15302
+LDFLAGS = @LDFLAGS@
15303
+LIBOBJS = @LIBOBJS@
15305
+LIBTOOL = @LIBTOOL@
15308
+LTLIBOBJS = @LTLIBOBJS@
15310
+LT_CURRENT = @LT_CURRENT@
15311
+LT_REVISION = @LT_REVISION@
15313
+MAKEINFO = @MAKEINFO@
15314
+MKDIR_P = @MKDIR_P@
15317
+OBJDUMP = @OBJDUMP@
15320
+OTOOL64 = @OTOOL64@
15321
+PACKAGE = @PACKAGE@
15322
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15323
+PACKAGE_NAME = @PACKAGE_NAME@
15324
+PACKAGE_STRING = @PACKAGE_STRING@
15325
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
15326
+PACKAGE_URL = @PACKAGE_URL@
15327
+PACKAGE_VERSION = @PACKAGE_VERSION@
15328
+PANGO_CFLAGS = @PANGO_CFLAGS@
15329
+PANGO_LIBS = @PANGO_LIBS@
15330
+PATH_SEPARATOR = @PATH_SEPARATOR@
15331
+PKG_CONFIG = @PKG_CONFIG@
15332
+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
15333
+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
15334
+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
15335
+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
15336
+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
15337
+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
15338
+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
15339
+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
15340
+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
15342
+RELEASE_FILE = @RELEASE_FILE@
15344
+SET_MAKE = @SET_MAKE@
15347
+VERSION = @VERSION@
15348
+abs_builddir = @abs_builddir@
15349
+abs_srcdir = @abs_srcdir@
15350
+abs_top_builddir = @abs_top_builddir@
15351
+abs_top_srcdir = @abs_top_srcdir@
15352
+ac_ct_CC = @ac_ct_CC@
15353
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
15354
+am__include = @am__include@
15355
+am__leading_dot = @am__leading_dot@
15356
+am__quote = @am__quote@
15357
+am__tar = @am__tar@
15358
+am__untar = @am__untar@
15359
+background_color = @background_color@
15360
+background_end_color = @background_end_color@
15361
+background_start_color = @background_start_color@
15364
+build_alias = @build_alias@
15365
+build_cpu = @build_cpu@
15366
+build_os = @build_os@
15367
+build_vendor = @build_vendor@
15368
+builddir = @builddir@
15369
+datadir = @datadir@
15370
+datarootdir = @datarootdir@
15373
+exec_prefix = @exec_prefix@
15375
+host_alias = @host_alias@
15376
+host_cpu = @host_cpu@
15377
+host_os = @host_os@
15378
+host_vendor = @host_vendor@
15379
+htmldir = @htmldir@
15380
+includedir = @includedir@
15381
+infodir = @infodir@
15382
+install_sh = @install_sh@
15384
+libexecdir = @libexecdir@
15385
+localedir = @localedir@
15386
+localstatedir = @localstatedir@
15387
+logofile = @logofile@
15388
+lt_ECHO = @lt_ECHO@
15390
+mkdir_p = @mkdir_p@
15391
+oldincludedir = @oldincludedir@
15393
+plymouthclientdir = @plymouthclientdir@
15394
+plymouthdaemondir = @plymouthdaemondir@
15396
+program_transform_name = @program_transform_name@
15398
+sbindir = @sbindir@
15399
+sharedstatedir = @sharedstatedir@
15401
+sysconfdir = @sysconfdir@
15402
+target_alias = @target_alias@
15403
+top_build_prefix = @top_build_prefix@
15404
+top_builddir = @top_builddir@
15405
+top_srcdir = @top_srcdir@
15406
+themedir = $(datadir)/plymouth/themes/ubuntu-text
15407
+dist_theme_DATA = ubuntu-text.plymouth
15408
+MAINTAINERCLEANFILES = Makefile.in
15412
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
15413
+ @for dep in $?; do \
15414
+ case '$(am__configure_deps)' in \
15416
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
15417
+ && { if test -f $@; then exit 0; else break; fi; }; \
15421
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile'; \
15422
+ $(am__cd) $(top_srcdir) && \
15423
+ $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile
15424
+.PRECIOUS: Makefile
15425
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
15427
+ *config.status*) \
15428
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
15430
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
15431
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
15434
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
15435
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
15437
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
15438
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
15439
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
15440
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
15441
+$(am__aclocal_m4_deps):
15443
+mostlyclean-libtool:
15447
+ -rm -rf .libs _libs
15448
+install-dist_themeDATA: $(dist_theme_DATA)
15449
+ @$(NORMAL_INSTALL)
15450
+ test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
15451
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
15452
+ for p in $$list; do \
15453
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
15455
+ done | $(am__base_list) | \
15456
+ while read files; do \
15457
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
15458
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
15461
+uninstall-dist_themeDATA:
15462
+ @$(NORMAL_UNINSTALL)
15463
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
15464
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
15465
+ test -n "$$files" || exit 0; \
15466
+ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
15467
+ cd "$(DESTDIR)$(themedir)" && rm -f $$files
15475
+distdir: $(DISTFILES)
15476
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
15477
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
15478
+ list='$(DISTFILES)'; \
15479
+ dist_files=`for file in $$list; do echo $$file; done | \
15480
+ sed -e "s|^$$srcdirstrip/||;t" \
15481
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
15482
+ case $$dist_files in \
15483
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
15484
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
15487
+ for file in $$dist_files; do \
15488
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
15489
+ if test -d $$d/$$file; then \
15490
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
15491
+ if test -d "$(distdir)/$$file"; then \
15492
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
15494
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
15495
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
15496
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
15498
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
15500
+ test -f "$(distdir)/$$file" \
15501
+ || cp -p $$d/$$file "$(distdir)/$$file" \
15507
+all-am: Makefile $(DATA)
15509
+ for dir in "$(DESTDIR)$(themedir)"; do \
15510
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
15512
+install: install-am
15513
+install-exec: install-exec-am
15514
+install-data: install-data-am
15515
+uninstall: uninstall-am
15517
+install-am: all-am
15518
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
15520
+installcheck: installcheck-am
15522
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
15523
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
15524
+ `test -z '$(STRIP)' || \
15525
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
15526
+mostlyclean-generic:
15530
+distclean-generic:
15531
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
15532
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
15534
+maintainer-clean-generic:
15535
+ @echo "This command is intended for maintainers to use"
15536
+ @echo "it deletes files that may require special tools to rebuild."
15537
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
15540
+clean-am: clean-generic clean-libtool mostlyclean-am
15542
+distclean: distclean-am
15544
+distclean-am: clean-am distclean-generic
15558
+install-data-am: install-dist_themeDATA
15560
+install-dvi: install-dvi-am
15566
+install-html: install-html-am
15570
+install-info: install-info-am
15576
+install-pdf: install-pdf-am
15580
+install-ps: install-ps-am
15586
+maintainer-clean: maintainer-clean-am
15588
+maintainer-clean-am: distclean-am maintainer-clean-generic
15590
+mostlyclean: mostlyclean-am
15592
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
15602
+uninstall-am: uninstall-dist_themeDATA
15604
+.MAKE: install-am install-strip
15606
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
15607
+ distclean distclean-generic distclean-libtool distdir dvi \
15608
+ dvi-am html html-am info info-am install install-am \
15609
+ install-data install-data-am install-dist_themeDATA \
15610
+ install-dvi install-dvi-am install-exec install-exec-am \
15611
+ install-html install-html-am install-info install-info-am \
15612
+ install-man install-pdf install-pdf-am install-ps \
15613
+ install-ps-am install-strip installcheck installcheck-am \
15614
+ installdirs maintainer-clean maintainer-clean-generic \
15615
+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
15616
+ ps ps-am uninstall uninstall-am uninstall-dist_themeDATA
15619
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
15620
+# Otherwise a system limit (for SysV at least) may be exceeded.
15623
+++ plymouth-0.8.2/themes/ubuntu-text/ubuntu-text.plymouth
15627
+Description=Text mode theme based on ubuntu-logo theme
15628
+ModuleName=ubuntu-text
15629
--- plymouth-0.8.2.orig/themes/details/Makefile.in
15630
+++ plymouth-0.8.2/themes/details/Makefile.in
15631
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15632
PACKAGE_NAME = @PACKAGE_NAME@
15633
PACKAGE_STRING = @PACKAGE_STRING@
15634
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15635
+PACKAGE_URL = @PACKAGE_URL@
15636
PACKAGE_VERSION = @PACKAGE_VERSION@
15637
PANGO_CFLAGS = @PANGO_CFLAGS@
15638
PANGO_LIBS = @PANGO_LIBS@
15639
--- plymouth-0.8.2.orig/themes/fade-in/Makefile.in
15640
+++ plymouth-0.8.2/themes/fade-in/Makefile.in
15641
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
15642
PACKAGE_NAME = @PACKAGE_NAME@
15643
PACKAGE_STRING = @PACKAGE_STRING@
15644
PACKAGE_TARNAME = @PACKAGE_TARNAME@
15645
+PACKAGE_URL = @PACKAGE_URL@
15646
PACKAGE_VERSION = @PACKAGE_VERSION@
15647
PANGO_CFLAGS = @PANGO_CFLAGS@
15648
PANGO_LIBS = @PANGO_LIBS@
15650
+++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.script
15652
+# ubuntu-logo.script - boot splash plugin
15654
+# Copyright (C) 2009 Canonical Ltd.
15656
+# This program is free software; you can redistribute it and/or modify
15657
+# it under the terms of the GNU General Public License as published by
15658
+# the Free Software Foundation; either version 2, or (at your option)
15659
+# any later version.
15661
+# This program is distributed in the hope that it will be useful,
15662
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
15663
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15664
+# GNU General Public License for more details.
15666
+# You should have received a copy of the GNU General Public License
15667
+# along with this program; if not, write to the Free Software
15668
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
15669
+# 02111-1307, USA.
15671
+# Written by: Alberto Milone <alberto.milone@canonical.com>
15673
+# Based on the example provided with the "script plugin" written by:
15674
+# Charlie Brej <cbrej@cs.man.ac.uk>
15677
+# Set the text colour in (rgb / 256)
15678
+text_colour.red = 1.0;
15679
+text_colour.green = 1.0;
15680
+text_colour.blue = 1.0;
15682
+# Tinted text #988592
15683
+tinted_text_colour.red = 0.59;
15684
+tinted_text_colour.green = 0.52;
15685
+tinted_text_colour.blue = 0.57;
15687
+# Action Text - #ffffff - RGB 255 255 255
15688
+action_text_colour.red = 1.0;
15689
+action_text_colour.green = 1.0;
15690
+action_text_colour.blue = 1.0;
15692
+# Orange - #ff4012 - RGB 255 64 18
15693
+debugsprite = Sprite();
15694
+debugsprite_bottom = Sprite();
15695
+debugsprite_medium = Sprite();
15697
+# are we currently prompting for a password?
15698
+prompt_active = 0;
15700
+# General purpose function to create text
15701
+fun WriteText (text, colour) {
15702
+ image = Image.Text (text, colour.red, colour.green, colour.blue);
15706
+fun ImageToText (text) {
15707
+ image = WriteText (text, text_colour);
15711
+fun ImageToTintedText (text) {
15712
+ image = WriteText (text, tinted_text_colour);
15716
+fun ImageToActionText (text) {
15717
+ image = WriteText (text, action_text_colour);
15722
+ debugsprite.SetImage(ImageToText (text));
15725
+fun DebugBottom(text) {
15726
+ debugsprite_bottom.SetImage(ImageToText (text));
15727
+ debugsprite_bottom.SetPosition(0, (Window.GetHeight (0) - 20), 1);
15730
+fun DebugMedium(text) {
15731
+ debugsprite_medium.SetImage(ImageToText (text));
15732
+ debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 60), 1);
15735
+fun TextYOffset() {
15737
+ local.text_height;
15738
+ local.min_height;
15740
+ # Put the 1st line below the logo + some spacing
15741
+ y = logo.y + logo.height + (progress_indicator.bullet_height * 7 ); # + logo_spacing;
15743
+ text_height = first_line_height * 7.5;
15745
+ min_height = Window.GetHeight();
15746
+ if (y + text_height > min_height)
15747
+ y = min_height - text_height;
15749
+ if (y < progress_indicator.y + progress_indicator.height)
15750
+ return progress_indicator.y + progress_indicator.height;
15754
+#------------------------------String functions-------------------------------
15756
+# This is the equivalent for strstr()
15757
+fun StringString(string, substring) {
15759
+ while (String(string).CharAt (start)) {
15761
+ while (String(substring).CharAt (walk) == String(string).CharAt (start + walk) ) {
15763
+ if (!String(substring).CharAt (walk)) return start;
15771
+fun StringLength (string) {
15773
+ while (String(string).CharAt(index)) index++;
15777
+fun StringCopy (source, beginning, end) {
15778
+ local.destination = "";
15779
+ for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) {
15780
+ local.destination += String(source).CharAt(index);
15783
+ return local.destination;
15786
+fun StringReplace (source, pattern, replacement) {
15787
+ local.found = StringString(source, pattern);
15788
+ if (local.found == NULL)
15791
+ local.new_string = StringCopy (source, 0, local.found - 1) +
15793
+ StringCopy (source, local.found + StringLength(pattern), NULL);
15795
+ return local.new_string;
15798
+# it makes sense to use it only for
15799
+# numbers up to 100
15800
+fun StringToInteger (str) {
15802
+ for (i=0; i<=100; i++) {
15803
+ if (i+"" == str) {
15811
+#-----------------------------------------------------------------------------
15812
+# Previous background colour
15813
+# #300a24 --> 0.19, 0.04, 0.14
15814
+# New background colour
15815
+# #2c001e --> 0.16, 0.00, 0.12
15817
+Window.SetBackgroundTopColor (0.16, 0.00, 0.12); # Nice colour on top of the screen fading to
15818
+Window.SetBackgroundBottomColor (0.16, 0.00, 0.12); # an equally nice colour on the bottom
15820
+bits_per_pixel = Window.GetBitsPerPixel ();
15821
+if (bits_per_pixel == 4) {
15822
+ logo_filename = "ubuntu_logo16.png";
15823
+ progress_dot_off_filename = "progress_dot_off16.png";
15824
+ progress_dot_on_filename = "progress_dot_on16.png";
15825
+ password_field_filename = "password_field16.png";
15827
+ logo_filename = "ubuntu_logo.png";
15828
+ progress_dot_off_filename = "progress_dot_off.png";
15829
+ progress_dot_on_filename = "progress_dot_on.png";
15830
+ password_field_filename = "password_field.png";
15833
+logo.image = Image (logo_filename);
15834
+logo.sprite = Sprite ();
15835
+logo.sprite.SetImage (logo.image);
15836
+logo.width = logo.image.GetWidth ();
15837
+logo.height = logo.image.GetHeight ();
15838
+logo.x = Window.GetX () + Window.GetWidth () / 2 - logo.width / 2;
15839
+logo.y = Window.GetY () + Window.GetHeight () / 2 - logo.height;
15841
+logo.sprite.SetX (logo.x);
15842
+logo.sprite.SetY (logo.y);
15843
+logo.sprite.SetZ (logo.z);
15844
+logo.sprite.SetOpacity (1);
15846
+# Spacing below the logo - in pixels
15847
+logo_spacing = logo.height * 4;
15849
+message_notification[0].image = ImageToTintedText ("");
15850
+message_notification[1].image = ImageToTintedText ("");
15851
+fsck_notification.image = ImageToActionText ("");
15853
+status = "normal";
15855
+progress_indicator.bullet_off = Image (progress_dot_off_filename);
15856
+progress_indicator.bullet_on = Image (progress_dot_on_filename);
15857
+progress_indicator.bullet_width = progress_indicator.bullet_off.GetWidth ();
15858
+progress_indicator.bullet_height = progress_indicator.bullet_off.GetHeight ();
15859
+progress_indicator.bullet_hspacing = progress_indicator.bullet_width * 1.1;
15860
+progress_indicator.width = progress_indicator.bullet_width * 5;
15861
+progress_indicator.height = progress_indicator.bullet_height;
15862
+progress_indicator.y = logo.y + logo.height + (logo.height / 4);
15863
+progress_indicator.x = Window.GetX () + Window.GetWidth () / 2 - progress_indicator.width / 2; # logo.x + 26;
15865
+# use a fixed string with ascending and descending stems to calibrate the
15866
+# bounding box for the first message, so the messages below don't move up
15867
+# and down according to *their* height.
15868
+first_line_height = ImageToTintedText ("AfpqtM").GetHeight();
15870
+# if the user has a 640x480 or 800x600 display, we can't quite fit everything
15871
+# (including passphrase prompts) with the target spacing, so scoot the text up
15872
+# a bit if needed.
15873
+top_of_the_text = TextYOffset();
15875
+#-----------------------------------------Logo functions------------------------------
15877
+# Call this when updating the screen
15878
+fun draw_logo () {
15879
+ logo.sprite.SetX (logo.x);
15880
+ logo.sprite.SetY (logo.y);
15881
+ logo.sprite.SetZ (logo.z);
15882
+ logo.sprite.SetOpacity (1);
15886
+#-----------------------------------------Progress Indicator--------------------------
15887
+fun set_progress_indicator () {
15890
+ # Here we assume that we can store half bullets on each half of the screen
15891
+ # together with some spacing
15892
+ local.x = progress_indicator.x;
15894
+ for (index = 0; index <= 4; index++) {
15895
+ # Set the "off" bullets
15896
+ progress_indicator.bullets_off[index].sprite = Sprite (progress_indicator.bullet_off);
15897
+ progress_indicator.bullets_off[index].sprite.SetPosition (local.x, progress_indicator.y, 1000);
15898
+ progress_indicator.bullets_off[index].x = local.x;
15899
+ progress_indicator.bullets_off[index].y = progress_indicator.y;
15900
+ progress_indicator.bullets_off[index].sprite.SetOpacity (1);
15902
+ #local.debug_medium_string = "Progress indicator " + index + ": x = " + progress_indicator.bullets_off[index].x +
15903
+ # ", y = " + progress_indicator.bullets_off[index].y + ", logo width = " + logo.width +
15904
+ # ", logo height = " + logo.height + " " + screen_width + " " + screen_height;
15906
+ #(index % 2) && DebugMedium (local.debug_medium_string) || DebugBottom (local.debug_medium_string);
15908
+ # Set the "on" bullets on top of the "off" bullets and make them transparent
15909
+ progress_indicator.bullets_on[index].sprite = Sprite (progress_indicator.bullet_on);
15910
+ progress_indicator.bullets_on[index].x = progress_indicator.bullets_off[index].x;
15911
+ progress_indicator.bullets_on[index].y = progress_indicator.bullets_off[index].y;
15912
+ progress_indicator.bullets_on[index].sprite.SetPosition (progress_indicator.bullets_on[index].x, progress_indicator.bullets_on[index].y, 10000);
15914
+ progress_indicator.bullets_on[index].sprite.SetOpacity (0);
15916
+ local.x += progress_indicator.bullet_hspacing;
15918
+ #local.debug_string = "Progress indicator: x1 = " + progress_indicator.x + ", x2 = " + local.x + ", y = " + progress_indicator.y +
15919
+ # ", x logo = " + logo.x + ", y logo = " + logo.y + ", indicator width = " + progress_indicator.width;
15920
+ #Debug(progress_indicator.bullets_off[0].x);
15924
+# We have 2 bullets, one on top of the other:
15925
+# The white one is on top of the red one and the former should
15926
+# slowly fade so as to get a nice transition effect.
15927
+fun switch_on_bullet (bullets_off, bullets_on, bullet_number, opacity) {
15928
+ local.x = bullets_on[bullet_number].x;
15929
+ local.y = bullets_on[bullet_number].y;
15930
+ local.z = bullets_on[bullet_number].z;
15932
+ # Hide the bullets which are off
15933
+ bullets_off[bullet_number].sprite.SetOpacity (0);
15935
+ # Show the bullets which are on
15936
+ bullets_on[bullet_number].sprite.SetPosition (local.x, local.y, local.z);
15937
+ bullets_on[bullet_number].sprite.SetOpacity (opacity);
15939
+ # Bump the number of times we have switched on bullets
15940
+ global.times_bullets_switched++;
15943
+fun switch_off_bullets () {
15944
+ # Debug("Switching off progress indicator");
15946
+ set_progress_indicator ();
15947
+ global.times_bullets_switched = 0;
15948
+ global.on_off = 1;
15951
+# This is something that we can call when we exit
15952
+fun switch_on_bullets () {
15953
+ # Debug("Switching off progress indicator");
15954
+ if (!global.progress_indicator.bullets_on) set_progress_indicator ();
15955
+ local = global.progress_indicator;
15957
+ for (index = 0; bullets_on[index]; index++) {
15958
+ switch_on_bullet (bullets_off, bullets_on, index, 1.0);
15963
+# Implement in boot progress callback
15964
+fun animate_progress_indicator (progress, time) {
15965
+ if (global.progress_time == NULL) {
15966
+ global.progress_time = progress; #time;
15967
+ switch_off_bullets ();
15970
+# Debug ("progress = " + progress + ", time = " + time + " times switched = " + global.times_bullets_switched + " on_off " + global.on_off);
15972
+# if (global.times_bullets_switched == NULL)
15973
+# global.times_bullets_switched = 5;
15975
+# if (global.on_off == NULL)
15976
+# global.on_off = 0;
15978
+ if ((progress - global.progress_time) >= 1.0) {
15979
+ global.progress_time = progress;
15981
+ if (global.times_bullets_switched == 5) {
15982
+ # Change which bullets are switched on
15983
+ # and which ones are switched off
15984
+ global.on_off = !global.on_off;
15985
+ global.times_bullets_switched = 0;
15988
+ if (global.on_off) {
15989
+ switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
15990
+ global.times_bullets_switched, 1.0);
15993
+ switch_on_bullet (progress_indicator.bullets_on, progress_indicator.bullets_off,
15994
+ global.times_bullets_switched, 1.0);
15999
+ # Start setting bullets to "on" with translucency
16000
+# for (index = 0; index <= 5; index++) {
16002
+# while (opacity <= 1.0) {
16003
+# switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
16004
+# index, opacity);
16011
+#-----------------------------------------Label utility functions---------------------
16013
+# label should be either a string or NULL
16014
+# Images for n lines will be created and returned as items of the
16015
+# message_label array
16017
+fun get_message_label (label, is_fake, is_action_line) {
16018
+ # Debug("Get Label position");
16019
+ local.message_label;
16022
+ # Create a fake label so as to get the y coordinate of
16023
+ # a standard-length label.
16024
+ local.message_image = ImageToTintedText ("This is a fake message");
16026
+ local.message_image = (is_action_line) && ImageToActionText (label) || ImageToTintedText (label);
16028
+ message_label.width = message_image.GetWidth ();
16029
+ message_label.height = message_image.GetHeight ();
16031
+ # Center the line horizontally
16032
+ message_label.x = Window.GetX () + Window.GetWidth () / 2 - message_label.width / 2;
16034
+ message_label.y = top_of_the_text;
16036
+ # Put the 2nd line below the fsck line
16037
+ if (is_action_line) {
16038
+ local.fsck_label.y = message_label.y + (first_line_height + first_line_height / 2);
16039
+ message_label.y = local.fsck_label.y + (first_line_height * 2);
16042
+ # Debug("action label x = " + message_label.x + " y = " + message_label.y );
16044
+# message_debug = "msg_x = " + message_label.x + " msg_y = " + message_label.y +
16045
+# "msg_width = " + message_label.width + " msg_height = " +
16046
+# message_label.height + " message = " + label;
16047
+# Debug(message_debug);
16049
+ return message_label;
16053
+# Create an fsck label and/or get its position
16054
+fun get_fsck_label (label, is_fake) {
16055
+ # Debug("Get Label position");
16056
+ local.fsck_label = global.progress_label;
16059
+ fsck_label.image = ImageToTintedText ("This is a fake message");
16061
+ fsck_label.image = ImageToTintedText (label);
16063
+ fsck_label.width = fsck_label.image.GetWidth ();
16064
+ fsck_label.height = fsck_label.image.GetHeight ();
16066
+ # Centre the label horizontally
16067
+ fsck_label.x = Window.GetX () + Window.GetWidth () / 2 - fsck_label.width / 2;
16069
+ local.first_label = get_message_label (label, 1, 0);
16071
+ # Place the label below the 1st message line
16072
+ fsck_label.y = local.first_label.y + local.first_label.height + (local.first_label.height / 2);
16074
+# message_debug = "msg_x = " + fsck_label.x + " msg_y = " + fsck_label.y +
16075
+# "msg_width = " + fsck_label.width + " msg_height = " +
16076
+# fsck_label.height + " message = " + label;
16077
+# Debug(message_debug);
16079
+ return fsck_label;
16082
+#-----------------------------------------Message stuff --------------------------------
16085
+# Set up a message label
16087
+# NOTE: this is called when doing something like 'plymouth message "hello world"'
16089
+fun setup_message (message_text, x, y, z, index) {
16090
+ # Debug("Message setup");
16091
+ global.message_notification[index].image = (index) && ImageToActionText (message_text) || ImageToTintedText (message_text);
16093
+ # Set up the text message, if any
16094
+ message_notification[index].x = x;
16095
+ message_notification[index].y = y;
16096
+ message_notification[index].z = z;
16098
+ message_notification[index].sprite = Sprite ();
16099
+ message_notification[index].sprite.SetImage (message_notification[index].image);
16100
+ message_notification[index].sprite.SetX (message_notification[index].x);
16101
+ message_notification[index].sprite.SetY (message_notification[index].y);
16102
+ message_notification[index].sprite.SetZ (message_notification[index].z);
16106
+fun show_message (index) {
16107
+ if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(1);
16110
+fun hide_message (index) {
16111
+ if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(0);
16117
+# the callback function is called when new message should be displayed.
16118
+# First arg is message to display.
16119
+fun message_callback (message)
16121
+ # Debug("Message callback");
16123
+ if (!message || (message == "")) is_fake = 1;
16125
+ local.substring = "keys:";
16127
+ # Look for the "keys:" prefix
16128
+ local.keys = StringString(message, local.substring);
16130
+ local.is_action_line = (keys != NULL);
16131
+ #Debug("keys " + local.keys + " substring length = " + StringLength(local.substring));
16133
+ # Get the message without the "keys:" prefix
16134
+ if (keys != NULL)
16135
+ message = StringCopy (message, keys + StringLength(local.substring), NULL);
16137
+ local.label.is_fake = is_fake;
16138
+ label = get_message_label(message, is_fake, is_action_line);
16141
+ setup_message (message, label.x, label.y, label.z, is_action_line);
16142
+ if (prompt_active && local.is_action_line)
16143
+ hide_message (is_action_line);
16145
+ show_message (is_action_line);
16150
+#-----------------------------------------Display Password stuff -----------------------
16153
+fun password_dialogue_setup (message_label) {
16154
+ # Debug("Password dialog setup");
16157
+ local.bullet_image;
16159
+ bullet_image = Image (progress_dot_off_filename);
16160
+ entry.image = Image (password_field_filename);
16162
+ # Hide the normal labels
16163
+ prompt_active = 1;
16164
+ if (message_notification[1].sprite) hide_message (1);
16166
+ # Set the prompt label
16167
+ label = get_message_label(message_label, 0, 1);
16170
+ setup_message (message_label, label.x, label.y, label.z, 2);
16171
+ show_message (2);
16173
+ # Set up the text entry which contains the bullets
16174
+ entry.sprite = Sprite ();
16175
+ entry.sprite.SetImage (entry.image);
16177
+ # Centre the box horizontally
16178
+ entry.x = Window.GetX () + Window.GetWidth () / 2 - entry.image.GetWidth () / 2;
16180
+ # Put the entry below the second label.
16181
+ entry.y = message_notification[2].y + label.height;
16183
+ #Debug ("entry x = " + entry.x + ", y = " + entry.y);
16185
+ entry.sprite.SetX (entry.x);
16186
+ entry.sprite.SetY (entry.y);
16187
+ entry.sprite.SetZ (entry.z);
16189
+ global.password_dialogue = local;
16192
+fun password_dialogue_opacity (opacity) {
16193
+ # Debug("Password dialog opacity");
16194
+ global.password_dialogue.opacity = opacity;
16195
+ local = global.password_dialogue;
16197
+ # You can make the box translucent with a float
16198
+ # entry.sprite.SetOpacity (0.3);
16199
+ entry.sprite.SetOpacity (opacity);
16200
+ label.sprite.SetOpacity (opacity);
16203
+ for (index = 0; bullets[index]; index++) {
16204
+ bullets[index].sprite.SetOpacity (opacity);
16210
+# The callback function is called when the display should display a password dialogue.
16211
+# First arg is prompt string, the second is the number of bullets.
16212
+fun display_password_callback (prompt, bullets) {
16213
+ # Debug("Password dialog setup");
16215
+ global.status = "password";
16216
+ if (!global.password_dialogue) password_dialogue_setup(prompt);
16217
+ password_dialogue_opacity (1);
16218
+ bullet_width = password_dialogue.bullet_image.GetWidth();
16219
+ bullet_y = password_dialogue.entry.y +
16220
+ password_dialogue.entry.image.GetHeight () / 2 -
16221
+ password_dialogue.bullet_image.GetHeight () / 2;
16222
+ margin = bullet_width;
16223
+ spaces = Math.Int( (password_dialogue.entry.image.GetWidth () - (margin * 2)) / (bullet_width / 2 ) );
16224
+ #Debug ("spaces = " + spaces + ", bullets = " + bullets);
16225
+ bullets_area.width = margin + spaces * (bullet_width / 2);
16226
+ bullets_area.x = Window.GetX () + Window.GetWidth () / 2 - bullets_area.width / 2;
16227
+ #DebugBottom ("pwd_entry x = " + password_dialogue.entry.x + ", bullets_area.x = " + bullets_area.x + ", bullets_area.width = " + bullets_area.width);
16228
+ if (bullets > spaces)
16229
+ bullets = spaces;
16230
+ for (index = 0; password_dialogue.bullets[index] || index < bullets; index++){
16231
+ if (!password_dialogue.bullets[index]) {
16232
+ password_dialogue.bullets[index].sprite = Sprite ();
16233
+ password_dialogue.bullets[index].sprite.SetImage (password_dialogue.bullet_image);
16234
+ password_dialogue.bullets[index].x = bullets_area.x + # password_dialogue.entry.x + margin +
16235
+ index * bullet_width / 2;
16236
+ password_dialogue.bullets[index].sprite.SetX (password_dialogue.bullets[index].x);
16237
+ password_dialogue.bullets[index].y = bullet_y;
16238
+ password_dialogue.bullets[index].sprite.SetY (password_dialogue.bullets[index].y);
16239
+ password_dialogue.bullets[index].z = password_dialogue.entry.z + 1;
16240
+ password_dialogue.bullets[index].sprite.SetZ (password_dialogue.bullets[index].z);
16243
+ password_dialogue.bullets[index].sprite.SetOpacity (0);
16245
+ if (index < bullets) {
16246
+ password_dialogue.bullets[index].sprite.SetOpacity (1);
16251
+Plymouth.SetDisplayPasswordFunction (display_password_callback);
16253
+Plymouth.SetMessageFunction (message_callback);
16255
+Plymouth.SetBootProgressFunction (animate_progress_indicator);
16257
+# Plymouth.SetBootProgressFunction: the callback function is called with two numbers, the progress (between 0 and 1) and the time spent booting so far
16258
+# Plymouth.SetRootMountedFunction: the callback function is called when a new root is mounted
16259
+# Plymouth.SetKeyboardInputFunction: the callback function is called with a string containing a new character entered on the keyboard
16261
+#----------------------------------------- FSCK Counter --------------------------------
16263
+# Initialise the counter
16264
+fun init_fsck_count () {
16265
+ # The number of fsck checks in this cycle
16266
+ global.counter.total = 0;
16267
+ # The number of fsck checks already performed + the current one
16268
+ global.counter.current = 1;
16269
+ # The previous fsck
16270
+ global.counter.last = 0;
16273
+# Increase the total counter
16274
+fun increase_fsck_count () {
16275
+ global.counter.total++;
16278
+fun increase_current_fsck_count () {
16279
+ global.counter.last = global.counter.current++;
16282
+# Clear the counter
16283
+fun clear_fsck_count () {
16284
+ global.counter = NULL;
16285
+ init_fsck_count ();
16288
+#----------------------------------------- Progress Label ------------------------------
16291
+# Change the opacity level of a progress label
16293
+# opacity = 1 -> show
16294
+# opacity = 0 -> hide
16295
+# opacity = 0.3 (or any other float) -> translucent
16297
+fun set_progress_label_opacity (opacity) {
16299
+ progress_label.sprite.SetOpacity (opacity);
16301
+ # Make the slot available again when hiding the bar
16302
+ # So that another bar can take its place
16303
+ if (opacity == 0) {
16304
+ progress_label.is_available = 1;
16305
+ progress_label.device = "";
16309
+# Set up a new Progress Bar
16311
+# TODO: Make it possible to reuse (rather than recreate) a bar
16312
+# if .is_available = 1. Ideally this would just reset the
16313
+# label, the associated
16314
+# device and the image size of the sprite.
16316
+fun init_progress_label (device, status_string) {
16317
+ # Make the slot unavailable
16318
+ global.progress_label.is_available = 0;
16319
+ progress_label.progress = 0;
16320
+ progress_label.device = device;
16321
+ progress_label.status_string = status_string;
16324
+# See if the progress label is keeping track of the fsck
16327
+fun device_has_progress_label (device) {
16328
+ #DebugBottom ("label device = " + progress_label.device + " checking device " + device);
16329
+ return (progress_label.device == device);
16332
+# Update the Progress bar which corresponds to index
16334
+fun update_progress_label (progress) {
16335
+ # If progress is NULL then we just refresh the label.
16336
+ # This happens when only counter.total has changed.
16337
+ if (progress != NULL) {
16338
+ progress_label.progress = progress;
16340
+ #Debug("device " + progress_label.device + " progress " + progress);
16342
+ # If progress >= 100% hide the label and make it available again
16343
+ if (progress >= 100) {
16344
+ set_progress_label_opacity (0);
16346
+ # See if we any other fsck check is complete
16347
+ # and, if so, hide the progress bars and the labels
16348
+ on_fsck_completed ();
16353
+ # Update progress label here
16355
+ # FIXME: the queue logic from this theme should really be moved into mountall
16356
+ # instead of using string replacement to deal with localised strings.
16357
+ label = StringReplace (progress_label.status_string[0], "%1$d", global.counter.current);
16358
+ label = StringReplace (label, "%2$d", global.counter.total);
16359
+ label = StringReplace (label, "%3$d", progress_label.progress);
16360
+ label = StringReplace (label, "%%", "%");
16362
+ progress_label = get_fsck_label (label, 0);
16363
+ #progress_label.progress = progress;
16365
+ progress_label.sprite = Sprite (progress_label.image);
16368
+ progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1);
16370
+ set_progress_label_opacity (1);
16374
+# Refresh the label so as to update counters
16375
+fun refresh_progress_label () {
16376
+ update_progress_label (NULL);
16379
+#----------------------------------------- FSCK Queue ----------------------------------
16381
+# Initialise the fsck queue
16382
+fun init_queue () {
16383
+ global.fsck_queue[0].device;
16384
+ global.fsck_queue[0].progress;
16385
+ global.fsck_queue.counter = 0;
16386
+ global.fsck_queue.biggest_item = 0;
16389
+fun clear_queue () {
16390
+ global.fsck_queue = NULL;
16394
+# Return either the device index in the queue or -1
16395
+fun queue_look_up_by_device (device) {
16396
+ for (i=0; i <= fsck_queue.biggest_item; i++) {
16397
+ if ((fsck_queue[i]) && (fsck_queue[i].device == device))
16403
+# Keep track of an fsck process in the queue
16404
+fun add_fsck_to_queue (device, progress) {
16405
+ # Look for an empty slot in the queue
16406
+ for (i=0; global.fsck_queue[i].device; i++) {
16411
+ # Set device and progress
16412
+ global.fsck_queue[local.index].device = device;
16413
+ global.fsck_queue[local.index].progress = progress;
16415
+ # Increase the queue counter
16416
+ global.fsck_queue.counter++;
16418
+ # Update the max index of the array for iterations
16419
+ if (local.index > global.fsck_queue.biggest_item)
16420
+ global.fsck_queue.biggest_item = local.index;
16422
+ #DebugMedium ("Adding " + device + " at " + local.index);
16425
+fun is_queue_empty () {
16426
+ return (fsck_queue.counter == 0);
16429
+fun is_progress_label_available () {
16430
+ return (progress_label.is_available == 1);
16434
+# This should cover the case in which the fsck checks in
16435
+# the queue are completed before the ones showed in the
16437
+fun on_queued_fsck_completed () {
16438
+ if (!is_queue_empty ())
16441
+ # Hide the extra label, if any
16442
+ #if (progress_bar.extra_label.sprite)
16443
+ # progress_bar.extra_label.sprite.SetOpacity(0);
16446
+fun remove_fsck_from_queue (index) {
16447
+ # Free memory which was previously allocated for
16448
+ # device and progress
16449
+ global.fsck_queue[index].device = NULL;
16450
+ global.fsck_queue[index].progress = NULL;
16452
+ # Decrease the queue counter
16453
+ global.fsck_queue.counter--;
16455
+ # See if there are other processes in the queue
16456
+ # if not, clear the extra_label
16457
+ on_queued_fsck_completed ();
16460
+fun on_fsck_completed () {
16461
+ # We have moved on to tracking the next fsck
16462
+ increase_current_fsck_count ();
16464
+ if (!is_progress_label_available ())
16467
+ if (!is_queue_empty ())
16470
+ # Hide the progress label
16471
+ if (progress_label.sprite)
16472
+ progress_label.sprite.SetOpacity (0);
16474
+ # Clear the queue
16477
+ # Clear the fsck counter
16478
+ clear_fsck_count ();
16481
+# Update an fsck process that we keep track of in the queue
16482
+fun update_progress_in_queue (index, device, progress) {
16483
+ # If the fsck is complete, remove it from the queue
16484
+ if (progress >= 100) {
16485
+ remove_fsck_from_queue (index);
16486
+ on_queued_fsck_completed ();
16490
+ global.fsck_queue[index].device = device;
16491
+ global.fsck_queue[index].progress = progress;
16495
+# TODO: Move it to some function
16496
+# Create an empty queue
16500
+#----------------------------------------- FSCK Functions ------------------------------
16503
+# Either add a new bar for fsck checks or update an existing bar
16505
+# NOTE: no more than "progress_bar.max_number" bars are allowed
16507
+fun fsck_check (device, progress, status_string) {
16509
+ # The 1st time this will take place
16510
+ if (!global.progress_label) {
16511
+ # Increase the fsck counter
16512
+ increase_fsck_count ();
16514
+ # Set up a new label for the check
16515
+ init_progress_label (device, status_string);
16516
+ update_progress_label (progress);
16522
+ if (device_has_progress_label (device)) {
16523
+ # Update the progress of the existing label
16524
+ update_progress_label (progress);
16527
+ # See if there's already a slot in the queue for the device
16528
+ local.queue_device_index = queue_look_up_by_device(device);
16530
+ # See if the progress_label is available
16531
+ if (progress_label.is_available) {
16533
+# local.my_string = "available index " + local.available_index + " progress_bar counter is " + progress_bar.counter;
16534
+# Debug(local.my_string);
16537
+ # If the fsck check for the device was in the queue, then
16538
+ # remove it from the queue
16539
+ if (local.queue_device_index >= 0) {
16540
+ remove_fsck_from_queue (index);
16543
+ # Increase the fsck counter
16544
+ increase_fsck_count ();
16547
+# local.my_string += local.message;
16548
+ #Debug("setting new label for device " + device + " progress " + progress);
16550
+ # Set up a new label for the check
16551
+ init_progress_label (device, status_string);
16552
+ update_progress_label (progress);
16555
+ # If the progress_label is not available
16558
+ # If the fsck check for the device is already in the queue
16559
+ # just update its progress in the queue
16560
+ if (local.queue_device_index >= 0) {
16561
+ #DebugMedium("Updating queue at " + local.queue_device_index + " for device " + device);
16562
+ update_progress_in_queue (local.queue_device_index, device, progress);
16564
+ # Otherwise add the check to the queue
16566
+ #DebugMedium("Adding device " + device + " to queue at " + local.queue_device_index);
16567
+ add_fsck_to_queue (device, progress);
16569
+ # Increase the fsck counter
16570
+ increase_fsck_count ();
16572
+ refresh_progress_label ();
16578
+# if (!is_queue_empty ()) {
16579
+# DebugBottom("Extra label for "+ device);
16582
+# DebugBottom("No extra label for " + device + ". 1st Device in the queue "+ fsck_queue[0].device + " counter = " + global.fsck_queue.counter);
16587
+#-----------------------------------------Update Status stuff --------------------------
16589
+# The update_status_callback is what we can use to pass plymouth whatever we want so
16590
+# as to make use of features which are available only in this program (as opposed to
16591
+# being available for any theme for the script plugin).
16595
+# Thanks to the current implementation, some scripts can call "plymouth --update=fsck:sda1:40"
16596
+# and this program will know that 1) we're performing and fsck check, 2) we're checking sda1,
16597
+# 3) the program should set the label progress to 40%
16599
+# Other features can be easily added by parsing the string that we pass plymouth with "--update"
16601
+fun update_status_callback (status) {
16603
+ if (!status) return;
16606
+ update_strings[string_it] = "";
16608
+ for (i=0; (String(status).CharAt(i) != ""); i++) {
16609
+ local.temp_char = String(status).CharAt(i);
16610
+ if (temp_char != ":")
16611
+ update_strings[string_it] += temp_char;
16613
+ update_strings[++string_it] = "";
16616
+# my_string = update_strings[0] + " " + update_strings[1] + " " + update_strings[2];
16617
+# Debug(my_string);
16618
+ # Let's assume that we're dealing with these strings fsck:sda1:40
16619
+ if ((string_it >= 2) && (update_strings[0] == "fsck")) {
16621
+ device = update_strings[1];
16622
+ progress = update_strings[2];
16623
+ status_string[0] = update_strings[3]; # "Checking disk %1$d of %2$d (%3$d %% complete)"
16624
+ if (!status_string[0])
16625
+ status_string[0] = "Checking disk %1$d of %2$d (%3$d %% complete)";
16627
+ if ((device != "") && (progress != "")) {
16628
+ progress = StringToInteger (progress);
16630
+ # Make sure that the fsck_queue is initialised
16631
+ if (!global.fsck_queue)
16634
+ # Make sure that the fsck counter is initialised
16635
+ if (!global.counter)
16636
+ init_fsck_count ();
16638
+# if (!global.progress_bar.extra_label.sprite)
16639
+# create_extra_fsck_label ();
16641
+ # Keep track of the fsck check
16642
+ fsck_check (device, progress, status_string);
16648
+Plymouth.SetUpdateStatusFunction (update_status_callback);
16650
+#-----------------------------------------Display Question stuff -----------------------
16652
+# TODO: Implement this if needed
16654
+# The callback function is called when the display should display a question dialogue.
16655
+# First arg is prompt string, the second is the entry contents.
16656
+#fun display_question_callback (prompt_string, entry_contents)
16661
+#Plymouth.SetDisplayQuestionFunction (display_question_callback);
16663
+#-----------------------------------------Refresh stuff --------------------------------
16665
+# Calling Plymouth.SetRefreshFunction with a function will set that function to be
16666
+# called up to 50 times every second, e.g.
16668
+# NOTE: if a refresh function is not set, Plymouth doesn't seem to be able to update
16669
+# the screen correctly
16671
+fun refresh_callback ()
16675
+Plymouth.SetRefreshFunction (refresh_callback);
16678
+#-----------------------------------------Display Normal stuff -----------------------
16680
+# The callback function is called when the display should return to normal
16681
+fun display_normal_callback ()
16683
+ global.status = "normal";
16684
+ if (global.password_dialogue) {
16685
+ password_dialogue_opacity (0);
16686
+ global.password_dialogue = NULL;
16687
+ if (message_notification[2].sprite) hide_message(2);
16688
+ prompt_active = 0;
16691
+ if (message_notification[1].sprite) show_message (1);
16696
+Plymouth.SetDisplayNormalFunction (display_normal_callback);
16699
+#----------------------------------------- Quit --------------------------------
16701
+# TODO: Maybe we should also hide any other dialog
16702
+# Show the logo and make the progress indicator look full when on exit
16703
+fun quit_callback ()
16705
+ logo.sprite.SetOpacity (1);
16706
+ switch_on_bullets ();
16709
+Plymouth.SetQuitFunction(quit_callback);
16711
+++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.plymouth.in
16715
+Description=A theme that features a blank background with a logo.
16719
+ImageDir=@PLYMOUTH_THEME_PATH@/ubuntu-logo
16720
+ScriptFile=@PLYMOUTH_THEME_PATH@/ubuntu-logo/ubuntu-logo.script
16722
+++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.am
16724
+themedir = $(datadir)/plymouth/themes/ubuntu-logo
16725
+nodist_theme_DATA = ubuntu-logo.plymouth
16726
+dist_theme_DATA = ubuntu-logo.script \
16727
+ ubuntu_logo.png \
16728
+ ubuntu_logo16.png \
16729
+ password_field.png \
16730
+ password_field16.png \
16731
+ progress_dot_off.png \
16732
+ progress_dot_off16.png \
16733
+ progress_dot_on.png \
16734
+ progress_dot_on16.png
16738
+MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
16739
+CLEANFILES = ubuntu-logo.plymouth
16741
+ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
16742
+ sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
16743
+ $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
16745
+EXTRA_DIST = ubuntu-logo.plymouth.in
16747
+++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.in
16749
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
16750
+# @configure_input@
16752
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
16753
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
16755
+# This Makefile.in is free software; the Free Software Foundation
16756
+# gives unlimited permission to copy and/or distribute it,
16757
+# with or without modifications, as long as this notice is preserved.
16759
+# This program is distributed in the hope that it will be useful,
16760
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
16761
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
16762
+# PARTICULAR PURPOSE.
16767
+pkgdatadir = $(datadir)/@PACKAGE@
16768
+pkgincludedir = $(includedir)/@PACKAGE@
16769
+pkglibdir = $(libdir)/@PACKAGE@
16770
+pkglibexecdir = $(libexecdir)/@PACKAGE@
16771
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
16772
+install_sh_DATA = $(install_sh) -c -m 644
16773
+install_sh_PROGRAM = $(install_sh) -c
16774
+install_sh_SCRIPT = $(install_sh) -c
16775
+INSTALL_HEADER = $(INSTALL_DATA)
16776
+transform = $(program_transform_name)
16777
+NORMAL_INSTALL = :
16780
+NORMAL_UNINSTALL = :
16782
+POST_UNINSTALL = :
16783
+build_triplet = @build@
16784
+host_triplet = @host@
16785
+subdir = themes/ubuntu-logo
16786
+DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
16787
+ $(srcdir)/Makefile.in
16788
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
16789
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
16790
+ $(top_srcdir)/configure.ac
16791
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
16793
+mkinstalldirs = $(install_sh) -d
16794
+CONFIG_HEADER = $(top_builddir)/config.h
16795
+CONFIG_CLEAN_FILES =
16796
+CONFIG_CLEAN_VPATH_FILES =
16797
+AM_V_GEN = $(am__v_GEN_$(V))
16798
+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
16799
+am__v_GEN_0 = @echo " GEN " $@;
16800
+AM_V_at = $(am__v_at_$(V))
16801
+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
16805
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
16806
+am__vpath_adj = case $$p in \
16807
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
16810
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
16811
+am__install_max = 40
16812
+am__nobase_strip_setup = \
16813
+ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
16814
+am__nobase_strip = \
16815
+ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
16816
+am__nobase_list = $(am__nobase_strip_setup); \
16817
+ for p in $$list; do echo "$$p $$p"; done | \
16818
+ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
16819
+ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
16820
+ if (++n[$$2] == $(am__install_max)) \
16821
+ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
16822
+ END { for (dir in files) print dir, files[dir] }'
16824
+ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
16825
+ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
16826
+am__installdirs = "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"
16827
+DATA = $(dist_theme_DATA) $(nodist_theme_DATA)
16828
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
16829
+ACLOCAL = @ACLOCAL@
16831
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
16833
+AUTOCONF = @AUTOCONF@
16834
+AUTOHEADER = @AUTOHEADER@
16835
+AUTOMAKE = @AUTOMAKE@
16838
+CCDEPMODE = @CCDEPMODE@
16841
+CPPFLAGS = @CPPFLAGS@
16842
+CYGPATH_W = @CYGPATH_W@
16845
+DRM_CFLAGS = @DRM_CFLAGS@
16846
+DRM_LIBS = @DRM_LIBS@
16847
+DSYMUTIL = @DSYMUTIL@
16848
+DUMPBIN = @DUMPBIN@
16856
+GTK_CFLAGS = @GTK_CFLAGS@
16857
+GTK_LIBS = @GTK_LIBS@
16858
+IMAGE_CFLAGS = @IMAGE_CFLAGS@
16859
+IMAGE_LIBS = @IMAGE_LIBS@
16860
+INSTALL = @INSTALL@
16861
+INSTALL_DATA = @INSTALL_DATA@
16862
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
16863
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
16864
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
16866
+LDFLAGS = @LDFLAGS@
16867
+LIBOBJS = @LIBOBJS@
16869
+LIBTOOL = @LIBTOOL@
16872
+LTLIBOBJS = @LTLIBOBJS@
16874
+LT_CURRENT = @LT_CURRENT@
16875
+LT_REVISION = @LT_REVISION@
16877
+MAKEINFO = @MAKEINFO@
16878
+MKDIR_P = @MKDIR_P@
16881
+OBJDUMP = @OBJDUMP@
16884
+OTOOL64 = @OTOOL64@
16885
+PACKAGE = @PACKAGE@
16886
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
16887
+PACKAGE_NAME = @PACKAGE_NAME@
16888
+PACKAGE_STRING = @PACKAGE_STRING@
16889
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
16890
+PACKAGE_URL = @PACKAGE_URL@
16891
+PACKAGE_VERSION = @PACKAGE_VERSION@
16892
+PANGO_CFLAGS = @PANGO_CFLAGS@
16893
+PANGO_LIBS = @PANGO_LIBS@
16894
+PATH_SEPARATOR = @PATH_SEPARATOR@
16895
+PKG_CONFIG = @PKG_CONFIG@
16896
+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
16897
+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
16898
+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
16899
+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
16900
+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
16901
+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
16902
+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
16903
+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
16904
+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
16906
+RELEASE_FILE = @RELEASE_FILE@
16908
+SET_MAKE = @SET_MAKE@
16911
+VERSION = @VERSION@
16912
+abs_builddir = @abs_builddir@
16913
+abs_srcdir = @abs_srcdir@
16914
+abs_top_builddir = @abs_top_builddir@
16915
+abs_top_srcdir = @abs_top_srcdir@
16916
+ac_ct_CC = @ac_ct_CC@
16917
+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
16918
+am__include = @am__include@
16919
+am__leading_dot = @am__leading_dot@
16920
+am__quote = @am__quote@
16921
+am__tar = @am__tar@
16922
+am__untar = @am__untar@
16923
+background_color = @background_color@
16924
+background_end_color = @background_end_color@
16925
+background_start_color = @background_start_color@
16928
+build_alias = @build_alias@
16929
+build_cpu = @build_cpu@
16930
+build_os = @build_os@
16931
+build_vendor = @build_vendor@
16932
+builddir = @builddir@
16933
+datadir = @datadir@
16934
+datarootdir = @datarootdir@
16937
+exec_prefix = @exec_prefix@
16939
+host_alias = @host_alias@
16940
+host_cpu = @host_cpu@
16941
+host_os = @host_os@
16942
+host_vendor = @host_vendor@
16943
+htmldir = @htmldir@
16944
+includedir = @includedir@
16945
+infodir = @infodir@
16946
+install_sh = @install_sh@
16948
+libexecdir = @libexecdir@
16949
+localedir = @localedir@
16950
+localstatedir = @localstatedir@
16951
+logofile = @logofile@
16952
+lt_ECHO = @lt_ECHO@
16954
+mkdir_p = @mkdir_p@
16955
+oldincludedir = @oldincludedir@
16957
+plymouthclientdir = @plymouthclientdir@
16958
+plymouthdaemondir = @plymouthdaemondir@
16960
+program_transform_name = @program_transform_name@
16962
+sbindir = @sbindir@
16963
+sharedstatedir = @sharedstatedir@
16965
+sysconfdir = @sysconfdir@
16966
+target_alias = @target_alias@
16967
+top_build_prefix = @top_build_prefix@
16968
+top_builddir = @top_builddir@
16969
+top_srcdir = @top_srcdir@
16970
+themedir = $(datadir)/plymouth/themes/ubuntu-logo
16971
+nodist_theme_DATA = ubuntu-logo.plymouth
16972
+dist_theme_DATA = ubuntu-logo.script \
16973
+ ubuntu_logo.png \
16974
+ ubuntu_logo16.png \
16975
+ password_field.png \
16976
+ password_field16.png \
16977
+ progress_dot_off.png \
16978
+ progress_dot_off16.png \
16979
+ progress_dot_on.png \
16980
+ progress_dot_on16.png
16982
+MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
16983
+CLEANFILES = ubuntu-logo.plymouth
16984
+EXTRA_DIST = ubuntu-logo.plymouth.in
16988
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
16989
+ @for dep in $?; do \
16990
+ case '$(am__configure_deps)' in \
16992
+ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
16993
+ && { if test -f $@; then exit 0; else break; fi; }; \
16997
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile'; \
16998
+ $(am__cd) $(top_srcdir) && \
16999
+ $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile
17000
+.PRECIOUS: Makefile
17001
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
17003
+ *config.status*) \
17004
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
17006
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
17007
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
17010
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
17011
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
17013
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
17014
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
17015
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
17016
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
17017
+$(am__aclocal_m4_deps):
17019
+mostlyclean-libtool:
17023
+ -rm -rf .libs _libs
17024
+install-dist_themeDATA: $(dist_theme_DATA)
17025
+ @$(NORMAL_INSTALL)
17026
+ test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
17027
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
17028
+ for p in $$list; do \
17029
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
17031
+ done | $(am__base_list) | \
17032
+ while read files; do \
17033
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
17034
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
17037
+uninstall-dist_themeDATA:
17038
+ @$(NORMAL_UNINSTALL)
17039
+ @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
17040
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
17041
+ test -n "$$files" || exit 0; \
17042
+ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
17043
+ cd "$(DESTDIR)$(themedir)" && rm -f $$files
17044
+install-nodist_themeDATA: $(nodist_theme_DATA)
17045
+ @$(NORMAL_INSTALL)
17046
+ test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
17047
+ @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
17048
+ for p in $$list; do \
17049
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
17051
+ done | $(am__base_list) | \
17052
+ while read files; do \
17053
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
17054
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
17057
+uninstall-nodist_themeDATA:
17058
+ @$(NORMAL_UNINSTALL)
17059
+ @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
17060
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
17061
+ test -n "$$files" || exit 0; \
17062
+ echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
17063
+ cd "$(DESTDIR)$(themedir)" && rm -f $$files
17071
+distdir: $(DISTFILES)
17072
+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
17073
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
17074
+ list='$(DISTFILES)'; \
17075
+ dist_files=`for file in $$list; do echo $$file; done | \
17076
+ sed -e "s|^$$srcdirstrip/||;t" \
17077
+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
17078
+ case $$dist_files in \
17079
+ */*) $(MKDIR_P) `echo "$$dist_files" | \
17080
+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
17083
+ for file in $$dist_files; do \
17084
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
17085
+ if test -d $$d/$$file; then \
17086
+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
17087
+ if test -d "$(distdir)/$$file"; then \
17088
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
17090
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
17091
+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
17092
+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
17094
+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
17096
+ test -f "$(distdir)/$$file" \
17097
+ || cp -p $$d/$$file "$(distdir)/$$file" \
17103
+all-am: Makefile $(DATA)
17105
+ for dir in "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"; do \
17106
+ test -z "$$dir" || $(MKDIR_P) "$$dir"; \
17108
+install: install-am
17109
+install-exec: install-exec-am
17110
+install-data: install-data-am
17111
+uninstall: uninstall-am
17113
+install-am: all-am
17114
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
17116
+installcheck: installcheck-am
17118
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
17119
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
17120
+ `test -z '$(STRIP)' || \
17121
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
17122
+mostlyclean-generic:
17125
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
17127
+distclean-generic:
17128
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
17129
+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
17131
+maintainer-clean-generic:
17132
+ @echo "This command is intended for maintainers to use"
17133
+ @echo "it deletes files that may require special tools to rebuild."
17134
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
17137
+clean-am: clean-generic clean-libtool mostlyclean-am
17139
+distclean: distclean-am
17141
+distclean-am: clean-am distclean-generic
17155
+install-data-am: install-dist_themeDATA install-nodist_themeDATA
17157
+install-dvi: install-dvi-am
17163
+install-html: install-html-am
17167
+install-info: install-info-am
17173
+install-pdf: install-pdf-am
17177
+install-ps: install-ps-am
17183
+maintainer-clean: maintainer-clean-am
17185
+maintainer-clean-am: distclean-am maintainer-clean-generic
17187
+mostlyclean: mostlyclean-am
17189
+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
17199
+uninstall-am: uninstall-dist_themeDATA uninstall-nodist_themeDATA
17201
+.MAKE: install-am install-strip
17203
+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
17204
+ distclean distclean-generic distclean-libtool distdir dvi \
17205
+ dvi-am html html-am info info-am install install-am \
17206
+ install-data install-data-am install-dist_themeDATA \
17207
+ install-dvi install-dvi-am install-exec install-exec-am \
17208
+ install-html install-html-am install-info install-info-am \
17209
+ install-man install-nodist_themeDATA install-pdf \
17210
+ install-pdf-am install-ps install-ps-am install-strip \
17211
+ installcheck installcheck-am installdirs maintainer-clean \
17212
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
17213
+ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
17214
+ uninstall-dist_themeDATA uninstall-nodist_themeDATA
17217
+ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
17218
+ sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
17219
+ $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
17221
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
17222
+# Otherwise a system limit (for SysV at least) may be exceeded.
17224
--- plymouth-0.8.2.orig/themes/solar/Makefile.in
17225
+++ plymouth-0.8.2/themes/solar/Makefile.in
17226
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
17227
PACKAGE_NAME = @PACKAGE_NAME@
17228
PACKAGE_STRING = @PACKAGE_STRING@
17229
PACKAGE_TARNAME = @PACKAGE_TARNAME@
17230
+PACKAGE_URL = @PACKAGE_URL@
17231
PACKAGE_VERSION = @PACKAGE_VERSION@
17232
PANGO_CFLAGS = @PANGO_CFLAGS@
17233
PANGO_LIBS = @PANGO_LIBS@
17234
--- plymouth-0.8.2.orig/themes/script/Makefile.in
17235
+++ plymouth-0.8.2/themes/script/Makefile.in
17236
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
17237
PACKAGE_NAME = @PACKAGE_NAME@
17238
PACKAGE_STRING = @PACKAGE_STRING@
17239
PACKAGE_TARNAME = @PACKAGE_TARNAME@
17240
+PACKAGE_URL = @PACKAGE_URL@
17241
PACKAGE_VERSION = @PACKAGE_VERSION@
17242
PANGO_CFLAGS = @PANGO_CFLAGS@
17243
PANGO_LIBS = @PANGO_LIBS@
17244
--- plymouth-0.8.2.orig/themes/spinfinity/Makefile.in
17245
+++ plymouth-0.8.2/themes/spinfinity/Makefile.in
17246
@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
17247
PACKAGE_NAME = @PACKAGE_NAME@
17248
PACKAGE_STRING = @PACKAGE_STRING@
17249
PACKAGE_TARNAME = @PACKAGE_TARNAME@
17250
+PACKAGE_URL = @PACKAGE_URL@
17251
PACKAGE_VERSION = @PACKAGE_VERSION@
17252
PANGO_CFLAGS = @PANGO_CFLAGS@
17253
PANGO_LIBS = @PANGO_LIBS@
17254
--- plymouth-0.8.2.orig/docs/Makefile.in
17255
+++ plymouth-0.8.2/docs/Makefile.in
17256
@@ -140,6 +140,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
17257
PACKAGE_NAME = @PACKAGE_NAME@
17258
PACKAGE_STRING = @PACKAGE_STRING@
17259
PACKAGE_TARNAME = @PACKAGE_TARNAME@
17260
+PACKAGE_URL = @PACKAGE_URL@
17261
PACKAGE_VERSION = @PACKAGE_VERSION@
17262
PANGO_CFLAGS = @PANGO_CFLAGS@
17263
PANGO_LIBS = @PANGO_LIBS@
17264
--- plymouth-0.8.2.orig/scripts/Makefile.in
17265
+++ plymouth-0.8.2/scripts/Makefile.in
17266
@@ -144,6 +144,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
17267
PACKAGE_NAME = @PACKAGE_NAME@
17268
PACKAGE_STRING = @PACKAGE_STRING@
17269
PACKAGE_TARNAME = @PACKAGE_TARNAME@
17270
+PACKAGE_URL = @PACKAGE_URL@
17271
PACKAGE_VERSION = @PACKAGE_VERSION@
17272
PANGO_CFLAGS = @PANGO_CFLAGS@
17273
PANGO_LIBS = @PANGO_LIBS@