daily pastebin goal
25%
SHARE
TWEET

mw

a guest May 3rd, 2010 76 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. diff -Nru plymouth-0.8.2/debian/changelog plymouth-0.8.2/debian/changelog
  2. --- plymouth-0.8.2/debian/changelog     2010-04-27 09:35:37.000000000 +0100
  3. +++ plymouth-0.8.2/debian/changelog     2010-05-04 03:22:52.000000000 +0100
  4. @@ -1,3 +1,9 @@
  5. +plymouth (0.8.2-2ubuntu6) lucid; urgency=low
  6. +
  7. +  * rb
  8. +
  9. + -- Arand Nash <ienorand@gmail.com>  Tue, 04 May 2010 03:22:43 +0100
  10. +
  11.  plymouth (0.8.2-2ubuntu2) lucid; urgency=low
  12.  
  13.    * Don't call ply_boot_client_process_pending_requests on flush, because
  14. diff -Nru plymouth-0.8.2/debian/patches/debian-changes plymouth-0.8.2/debian/patches/debian-changes
  15. --- plymouth-0.8.2/debian/patches/debian-changes        2010-04-27 09:35:44.000000000 +0100
  16. +++ plymouth-0.8.2/debian/patches/debian-changes        2010-05-04 03:23:02.000000000 +0100
  17. @@ -3,6 +3,233 @@
  18.   but it might have accumulated changes from several uploads. Please
  19.   check the changelog to (hopefully) learn more on those changes.
  20.  
  21. +--- plymouth-0.8.2.orig/aclocal.m4
  22. ++++ plymouth-0.8.2/aclocal.m4
  23. +@@ -13,8 +13,8 @@
  24. +
  25. + m4_ifndef([AC_AUTOCONF_VERSION],
  26. +   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
  27. +-m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
  28. +-[m4_warning([this file was generated for autoconf 2.63.
  29. ++m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
  30. ++[m4_warning([this file was generated for autoconf 2.65.
  31. + You have another version of autoconf.  It may work, but is not guaranteed to.
  32. + If you have problems, you may need to regenerate the build system entirely.
  33. + To do so, use the procedure documented by the package, typically `autoreconf'.])])
  34. +@@ -2460,7 +2460,7 @@ linux*oldld* | linux*aout* | linux*coff*
  35. +   ;;
  36. +
  37. + # This must be Linux ELF.
  38. +-linux* | k*bsd*-gnu)
  39. ++linux* | k*bsd*-gnu | kopensolaris*-gnu)
  40. +   version_type=linux
  41. +   need_lib_prefix=no
  42. +   need_version=no
  43. +@@ -2485,13 +2485,10 @@ linux* | k*bsd*-gnu)
  44. +   # before this can be enabled.
  45. +   hardcode_into_libs=yes
  46. +
  47. +-  # Add ABI-specific directories to the system library path.
  48. +-  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
  49. +-
  50. +   # Append ld.so.conf contents to the search path
  51. +   if test -f /etc/ld.so.conf; then
  52. +     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' ' '`
  53. +-    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
  54. ++    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
  55. +   fi
  56. +
  57. +   # We used to test for /lib/ld.so.1 and disable shared libraries on
  58. +@@ -2503,6 +2500,18 @@ linux* | k*bsd*-gnu)
  59. +   dynamic_linker='GNU/Linux ld.so'
  60. +   ;;
  61. +
  62. ++netbsdelf*-gnu)
  63. ++  version_type=linux
  64. ++  need_lib_prefix=no
  65. ++  need_version=no
  66. ++  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
  67. ++  soname_spec='${libname}${release}${shared_ext}$major'
  68. ++  shlibpath_var=LD_LIBRARY_PATH
  69. ++  shlibpath_overrides_runpath=no
  70. ++  hardcode_into_libs=yes
  71. ++  dynamic_linker='NetBSD ld.elf_so'
  72. ++  ;;
  73. ++
  74. + netbsd*)
  75. +   version_type=sunos
  76. +   need_lib_prefix=no
  77. +@@ -3090,11 +3099,11 @@ irix5* | irix6* | nonstopux*)
  78. +   ;;
  79. +
  80. + # This must be Linux ELF.
  81. +-linux* | k*bsd*-gnu)
  82. ++linux* | k*bsd*-gnu | kopensolaris*-gnu)
  83. +   lt_cv_deplibs_check_method=pass_all
  84. +   ;;
  85. +
  86. +-netbsd*)
  87. ++netbsd* | netbsdelf*-gnu)
  88. +   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
  89. +     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
  90. +   else
  91. +@@ -3711,7 +3720,7 @@ m4_if([$1], [CXX], [
  92. +           ;;
  93. +       esac
  94. +       ;;
  95. +-      linux* | k*bsd*-gnu)
  96. ++      linux* | k*bsd*-gnu | kopensolaris*-gnu)
  97. +       case $cc_basename in
  98. +         KCC*)
  99. +           # KAI C++ Compiler
  100. +@@ -3775,7 +3784,7 @@ m4_if([$1], [CXX], [
  101. +           ;;
  102. +       esac
  103. +       ;;
  104. +-      netbsd*)
  105. ++      netbsd* | netbsdelf*-gnu)
  106. +       ;;
  107. +       *qnx* | *nto*)
  108. +         # QNX uses GNU C++, but need to define -shared option too, otherwise
  109. +@@ -3995,7 +4004,7 @@ m4_if([$1], [CXX], [
  110. +       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  111. +       ;;
  112. +
  113. +-    linux* | k*bsd*-gnu)
  114. ++    linux* | k*bsd*-gnu | kopensolaris*-gnu)
  115. +       case $cc_basename in
  116. +       # old Intel for x86_64 which still supported -KPIC.
  117. +       ecc*)
  118. +@@ -4200,6 +4209,9 @@ m4_if([$1], [CXX], [
  119. +   cygwin* | mingw* | cegcc*)
  120. +     _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'
  121. +   ;;
  122. ++  linux* | k*bsd*-gnu)
  123. ++    _LT_TAGVAR(link_all_deplibs, $1)=no
  124. ++  ;;
  125. +   *)
  126. +     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  127. +   ;;
  128. +@@ -4264,6 +4276,9 @@ dnl Note also adjust exclude_expsyms for
  129. +   openbsd*)
  130. +     with_gnu_ld=no
  131. +     ;;
  132. ++  linux* | k*bsd*-gnu)
  133. ++    _LT_TAGVAR(link_all_deplibs, $1)=no
  134. ++    ;;
  135. +   esac
  136. +
  137. +   _LT_TAGVAR(ld_shlibs, $1)=yes
  138. +@@ -4285,6 +4300,7 @@ dnl Note also adjust exclude_expsyms for
  139. +     fi
  140. +     supports_anon_versioning=no
  141. +     case `$LD -v 2>&1` in
  142. ++      *GNU\ gold*) supports_anon_versioning=yes ;;
  143. +       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
  144. +       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
  145. +       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
  146. +@@ -4376,7 +4392,7 @@ _LT_EOF
  147. +       _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'
  148. +       ;;
  149. +
  150. +-    gnu* | linux* | tpf* | k*bsd*-gnu)
  151. ++    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
  152. +       tmp_diet=no
  153. +       if test "$host_os" = linux-dietlibc; then
  154. +       case $cc_basename in
  155. +@@ -4446,7 +4462,7 @@ _LT_EOF
  156. +       fi
  157. +       ;;
  158. +
  159. +-    netbsd*)
  160. ++    netbsd* | netbsdelf*-gnu)
  161. +       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  162. +       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  163. +       wlarc=
  164. +@@ -4621,6 +4637,7 @@ _LT_EOF
  165. +       if test "$aix_use_runtimelinking" = yes; then
  166. +         shared_flag="$shared_flag "'${wl}-G'
  167. +       fi
  168. ++      _LT_TAGVAR(link_all_deplibs, $1)=no
  169. +       else
  170. +       # not using gcc
  171. +       if test "$host_cpu" = ia64; then
  172. +@@ -4859,7 +4876,7 @@ _LT_EOF
  173. +       _LT_TAGVAR(link_all_deplibs, $1)=yes
  174. +       ;;
  175. +
  176. +-    netbsd*)
  177. ++    netbsd* | netbsdelf*-gnu)
  178. +       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  179. +       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
  180. +       else
  181. +@@ -5855,7 +5872,7 @@ if test "$_lt_caught_CXX_error" != yes;
  182. +         _LT_TAGVAR(inherit_rpath, $1)=yes
  183. +         ;;
  184. +
  185. +-      linux* | k*bsd*-gnu)
  186. ++      linux* | k*bsd*-gnu | kopensolaris*-gnu)
  187. +         case $cc_basename in
  188. +           KCC*)
  189. +           # Kuck and Associates, Inc. (KAI) C++ Compiler
  190. +@@ -7862,15 +7879,15 @@ m4_define([lt_dict_filter],
  191. +
  192. + # Generated from ltversion.in.
  193. +
  194. +-# serial 3012 ltversion.m4
  195. ++# serial 3017 ltversion.m4
  196. + # This file is part of GNU Libtool
  197. +
  198. +-m4_define([LT_PACKAGE_VERSION], [2.2.6])
  199. +-m4_define([LT_PACKAGE_REVISION], [1.3012])
  200. ++m4_define([LT_PACKAGE_VERSION], [2.2.6b])
  201. ++m4_define([LT_PACKAGE_REVISION], [1.3017])
  202. +
  203. + AC_DEFUN([LTVERSION_VERSION],
  204. +-[macro_version='2.2.6'
  205. +-macro_revision='1.3012'
  206. ++[macro_version='2.2.6b'
  207. ++macro_revision='1.3017'
  208. + _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
  209. + _LT_DECL(, macro_revision, 0)
  210. + ])
  211. +@@ -8036,14 +8053,16 @@ fi])
  212. + # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
  213. + # ---------------------------------------------
  214. + m4_define([_PKG_CONFIG],
  215. +-[if test -n "$$1"; then
  216. +-    pkg_cv_[]$1="$$1"
  217. +- elif test -n "$PKG_CONFIG"; then
  218. +-    PKG_CHECK_EXISTS([$3],
  219. +-                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
  220. +-                   [pkg_failed=yes])
  221. +- else
  222. +-    pkg_failed=untried
  223. ++[if test -n "$PKG_CONFIG"; then
  224. ++    if test -n "$$1"; then
  225. ++        pkg_cv_[]$1="$$1"
  226. ++    else
  227. ++        PKG_CHECK_EXISTS([$3],
  228. ++                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
  229. ++                       [pkg_failed=yes])
  230. ++    fi
  231. ++else
  232. ++      pkg_failed=untried
  233. + fi[]dnl
  234. + ])# _PKG_CONFIG
  235. +
  236. +@@ -8087,9 +8106,9 @@ See the pkg-config man page for more det
  237. + if test $pkg_failed = yes; then
  238. +         _PKG_SHORT_ERRORS_SUPPORTED
  239. +         if test $_pkg_short_errors_supported = yes; then
  240. +-              $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
  241. ++              $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
  242. +         else
  243. +-              $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
  244. ++              $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
  245. +         fi
  246. +       # Put the nasty error message in config.log where it belongs
  247. +       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
  248.  --- plymouth-0.8.2.orig/configure
  249.  +++ plymouth-0.8.2/configure
  250.  @@ -1,20 +1,24 @@
  251. @@ -10223,16 +10450,18 @@
  252.   $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
  253.   fi
  254.  
  255. ---- plymouth-0.8.2.orig/Makefile.in
  256. -+++ plymouth-0.8.2/Makefile.in
  257. -@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  258. - PACKAGE_NAME = @PACKAGE_NAME@
  259. - PACKAGE_STRING = @PACKAGE_STRING@
  260. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  261. -+PACKAGE_URL = @PACKAGE_URL@
  262. - PACKAGE_VERSION = @PACKAGE_VERSION@
  263. - PANGO_CFLAGS = @PANGO_CFLAGS@
  264. - PANGO_LIBS = @PANGO_LIBS@
  265. +--- plymouth-0.8.2.orig/config.h.in
  266. ++++ plymouth-0.8.2/config.h.in
  267. +@@ -55,6 +55,9 @@
  268. + /* Define to the one symbol short name of this package. */
  269. + #undef PACKAGE_TARNAME
  270. +
  271. ++/* Define to the home page for this package. */
  272. ++#undef PACKAGE_URL
  273. ++
  274. + /* Define to the version of this package. */
  275. + #undef PACKAGE_VERSION
  276. +
  277.  --- plymouth-0.8.2.orig/configure.ac
  278.  +++ plymouth-0.8.2/configure.ac
  279.  @@ -160,6 +160,9 @@ AC_DEFINE_UNQUOTED(BOOT_TTY, "$BOOT_TTY"
  280. @@ -10266,13 +10495,23 @@
  281.              images/Makefile
  282.            scripts/plymouth-generate-initrd
  283.            scripts/plymouth-populate-initrd
  284. ---- plymouth-0.8.2.orig/INSTALL
  285. -+++ plymouth-0.8.2/INSTALL
  286. -@@ -1,91 +1,365 @@
  287. --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.
  288. -+Installation Instructions
  289. -+*************************
  290. -
  291. +--- plymouth-0.8.2.orig/Makefile.in
  292. ++++ plymouth-0.8.2/Makefile.in
  293. +@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  294. + PACKAGE_NAME = @PACKAGE_NAME@
  295. + PACKAGE_STRING = @PACKAGE_STRING@
  296. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  297. ++PACKAGE_URL = @PACKAGE_URL@
  298. + PACKAGE_VERSION = @PACKAGE_VERSION@
  299. + PANGO_CFLAGS = @PANGO_CFLAGS@
  300. + PANGO_LIBS = @PANGO_LIBS@
  301. +--- plymouth-0.8.2.orig/INSTALL
  302. ++++ plymouth-0.8.2/INSTALL
  303. +@@ -1,91 +1,365 @@
  304. +-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.
  305. ++Installation Instructions
  306. ++*************************
  307. +
  308.  -Unfortunately, there isn't great documentation for distributors.  In the mean time, this email exchange might be useful:
  309.  +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
  310.  +2006, 2007, 2008, 2009 Free Software Foundation, Inc.
  311. @@ -10721,2547 +10960,1653 @@
  312.  -That'd be great!
  313.  -
  314.  ---Ray
  315. ---- plymouth-0.8.2.orig/config.h.in
  316. -+++ plymouth-0.8.2/config.h.in
  317. -@@ -55,6 +55,9 @@
  318. - /* Define to the one symbol short name of this package. */
  319. - #undef PACKAGE_TARNAME
  320. +--- plymouth-0.8.2.orig/themes/Makefile.am
  321. ++++ plymouth-0.8.2/themes/Makefile.am
  322. +@@ -1,2 +1,2 @@
  323. +-SUBDIRS = spinfinity fade-in text details solar glow script
  324. ++SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
  325. + MAINTAINERCLEANFILES = Makefile.in
  326. +--- plymouth-0.8.2.orig/themes/Makefile.in
  327. ++++ plymouth-0.8.2/themes/Makefile.in
  328. +@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  329. + PACKAGE_NAME = @PACKAGE_NAME@
  330. + PACKAGE_STRING = @PACKAGE_STRING@
  331. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  332. ++PACKAGE_URL = @PACKAGE_URL@
  333. + PACKAGE_VERSION = @PACKAGE_VERSION@
  334. + PANGO_CFLAGS = @PANGO_CFLAGS@
  335. + PANGO_LIBS = @PANGO_LIBS@
  336. +@@ -233,7 +234,7 @@ target_alias = @target_alias@
  337. + top_build_prefix = @top_build_prefix@
  338. + top_builddir = @top_builddir@
  339. + top_srcdir = @top_srcdir@
  340. +-SUBDIRS = spinfinity fade-in text details solar glow script
  341. ++SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
  342. + MAINTAINERCLEANFILES = Makefile.in
  343. + all: all-recursive
  344.  
  345. -+/* Define to the home page for this package. */
  346. -+#undef PACKAGE_URL
  347. +--- plymouth-0.8.2.orig/themes/text/Makefile.in
  348. ++++ plymouth-0.8.2/themes/text/Makefile.in
  349. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  350. + PACKAGE_NAME = @PACKAGE_NAME@
  351. + PACKAGE_STRING = @PACKAGE_STRING@
  352. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  353. ++PACKAGE_URL = @PACKAGE_URL@
  354. + PACKAGE_VERSION = @PACKAGE_VERSION@
  355. + PANGO_CFLAGS = @PANGO_CFLAGS@
  356. + PANGO_LIBS = @PANGO_LIBS@
  357. +--- plymouth-0.8.2.orig/themes/solar/Makefile.in
  358. ++++ plymouth-0.8.2/themes/solar/Makefile.in
  359. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  360. + PACKAGE_NAME = @PACKAGE_NAME@
  361. + PACKAGE_STRING = @PACKAGE_STRING@
  362. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  363. ++PACKAGE_URL = @PACKAGE_URL@
  364. + PACKAGE_VERSION = @PACKAGE_VERSION@
  365. + PANGO_CFLAGS = @PANGO_CFLAGS@
  366. + PANGO_LIBS = @PANGO_LIBS@
  367. +--- plymouth-0.8.2.orig/themes/glow/Makefile.in
  368. ++++ plymouth-0.8.2/themes/glow/Makefile.in
  369. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  370. + PACKAGE_NAME = @PACKAGE_NAME@
  371. + PACKAGE_STRING = @PACKAGE_STRING@
  372. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  373. ++PACKAGE_URL = @PACKAGE_URL@
  374. + PACKAGE_VERSION = @PACKAGE_VERSION@
  375. + PANGO_CFLAGS = @PANGO_CFLAGS@
  376. + PANGO_LIBS = @PANGO_LIBS@
  377. +--- /dev/null
  378. ++++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.plymouth.in
  379. +@@ -0,0 +1,8 @@
  380. ++[Plymouth Theme]
  381. ++Name=Ubuntu Logo
  382. ++Description=A theme that features a blank background with a logo.
  383. ++ModuleName=script
  384.  +
  385. - /* Define to the version of this package. */
  386. - #undef PACKAGE_VERSION
  387. -
  388. ---- plymouth-0.8.2.orig/aclocal.m4
  389. -+++ plymouth-0.8.2/aclocal.m4
  390. -@@ -13,8 +13,8 @@
  391. -
  392. - m4_ifndef([AC_AUTOCONF_VERSION],
  393. -   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
  394. --m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],,
  395. --[m4_warning([this file was generated for autoconf 2.63.
  396. -+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
  397. -+[m4_warning([this file was generated for autoconf 2.65.
  398. - You have another version of autoconf.  It may work, but is not guaranteed to.
  399. - If you have problems, you may need to regenerate the build system entirely.
  400. - To do so, use the procedure documented by the package, typically `autoreconf'.])])
  401. -@@ -2460,7 +2460,7 @@ linux*oldld* | linux*aout* | linux*coff*
  402. -   ;;
  403. -
  404. - # This must be Linux ELF.
  405. --linux* | k*bsd*-gnu)
  406. -+linux* | k*bsd*-gnu | kopensolaris*-gnu)
  407. -   version_type=linux
  408. -   need_lib_prefix=no
  409. -   need_version=no
  410. -@@ -2485,13 +2485,10 @@ linux* | k*bsd*-gnu)
  411. -   # before this can be enabled.
  412. -   hardcode_into_libs=yes
  413. -
  414. --  # Add ABI-specific directories to the system library path.
  415. --  sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
  416. --
  417. -   # Append ld.so.conf contents to the search path
  418. -   if test -f /etc/ld.so.conf; then
  419. -     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' ' '`
  420. --    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
  421. -+    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
  422. -   fi
  423. -
  424. -   # We used to test for /lib/ld.so.1 and disable shared libraries on
  425. -@@ -2503,6 +2500,18 @@ linux* | k*bsd*-gnu)
  426. -   dynamic_linker='GNU/Linux ld.so'
  427. -   ;;
  428. -
  429. -+netbsdelf*-gnu)
  430. -+  version_type=linux
  431. -+  need_lib_prefix=no
  432. -+  need_version=no
  433. -+  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
  434. -+  soname_spec='${libname}${release}${shared_ext}$major'
  435. -+  shlibpath_var=LD_LIBRARY_PATH
  436. -+  shlibpath_overrides_runpath=no
  437. -+  hardcode_into_libs=yes
  438. -+  dynamic_linker='NetBSD ld.elf_so'
  439. -+  ;;
  440. ++[script]
  441. ++ImageDir=@PLYMOUTH_THEME_PATH@/ubuntu-logo
  442. ++ScriptFile=@PLYMOUTH_THEME_PATH@/ubuntu-logo/ubuntu-logo.script
  443. +--- /dev/null
  444. ++++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.script
  445. +@@ -0,0 +1,1058 @@
  446. ++#  ubuntu-logo.script - boot splash plugin
  447. ++#
  448. ++#  Copyright (C) 2009 Canonical Ltd.
  449. ++#
  450. ++#  This program is free software; you can redistribute it and/or modify
  451. ++#  it under the terms of the GNU General Public License as published by
  452. ++#  the Free Software Foundation; either version 2, or (at your option)
  453. ++#  any later version.
  454. ++#
  455. ++#  This program is distributed in the hope that it will be useful,
  456. ++#  but WITHOUT ANY WARRANTY; without even the implied warranty of
  457. ++#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  458. ++#  GNU General Public License for more details.
  459. ++#
  460. ++#  You should have received a copy of the GNU General Public License
  461. ++#  along with this program; if not, write to the Free Software
  462. ++#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  463. ++#  02111-1307, USA.
  464. ++#
  465. ++#  Written by: Alberto Milone <alberto.milone@canonical.com>
  466. ++#
  467. ++#  Based on the example provided with the "script plugin" written by:
  468. ++#              Charlie Brej   <cbrej@cs.man.ac.uk>
  469. ++#
  470.  +
  471. - netbsd*)
  472. -   version_type=sunos
  473. -   need_lib_prefix=no
  474. -@@ -3090,11 +3099,11 @@ irix5* | irix6* | nonstopux*)
  475. -   ;;
  476. -
  477. - # This must be Linux ELF.
  478. --linux* | k*bsd*-gnu)
  479. -+linux* | k*bsd*-gnu | kopensolaris*-gnu)
  480. -   lt_cv_deplibs_check_method=pass_all
  481. -   ;;
  482. -
  483. --netbsd*)
  484. -+netbsd* | netbsdelf*-gnu)
  485. -   if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
  486. -     lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
  487. -   else
  488. -@@ -3711,7 +3720,7 @@ m4_if([$1], [CXX], [
  489. -           ;;
  490. -       esac
  491. -       ;;
  492. --      linux* | k*bsd*-gnu)
  493. -+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
  494. -       case $cc_basename in
  495. -         KCC*)
  496. -           # KAI C++ Compiler
  497. -@@ -3775,7 +3784,7 @@ m4_if([$1], [CXX], [
  498. -           ;;
  499. -       esac
  500. -       ;;
  501. --      netbsd*)
  502. -+      netbsd* | netbsdelf*-gnu)
  503. -       ;;
  504. -       *qnx* | *nto*)
  505. -         # QNX uses GNU C++, but need to define -shared option too, otherwise
  506. -@@ -3995,7 +4004,7 @@ m4_if([$1], [CXX], [
  507. -       _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
  508. -       ;;
  509. -
  510. --    linux* | k*bsd*-gnu)
  511. -+    linux* | k*bsd*-gnu | kopensolaris*-gnu)
  512. -       case $cc_basename in
  513. -       # old Intel for x86_64 which still supported -KPIC.
  514. -       ecc*)
  515. -@@ -4200,6 +4209,9 @@ m4_if([$1], [CXX], [
  516. -   cygwin* | mingw* | cegcc*)
  517. -     _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'
  518. -   ;;
  519. -+  linux* | k*bsd*-gnu)
  520. -+    _LT_TAGVAR(link_all_deplibs, $1)=no
  521. -+  ;;
  522. -   *)
  523. -     _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
  524. -   ;;
  525. -@@ -4264,6 +4276,9 @@ dnl Note also adjust exclude_expsyms for
  526. -   openbsd*)
  527. -     with_gnu_ld=no
  528. -     ;;
  529. -+  linux* | k*bsd*-gnu)
  530. -+    _LT_TAGVAR(link_all_deplibs, $1)=no
  531. -+    ;;
  532. -   esac
  533. -
  534. -   _LT_TAGVAR(ld_shlibs, $1)=yes
  535. -@@ -4285,6 +4300,7 @@ dnl Note also adjust exclude_expsyms for
  536. -     fi
  537. -     supports_anon_versioning=no
  538. -     case `$LD -v 2>&1` in
  539. -+      *GNU\ gold*) supports_anon_versioning=yes ;;
  540. -       *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
  541. -       *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
  542. -       *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
  543. -@@ -4376,7 +4392,7 @@ _LT_EOF
  544. -       _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'
  545. -       ;;
  546. -
  547. --    gnu* | linux* | tpf* | k*bsd*-gnu)
  548. -+    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
  549. -       tmp_diet=no
  550. -       if test "$host_os" = linux-dietlibc; then
  551. -       case $cc_basename in
  552. -@@ -4446,7 +4462,7 @@ _LT_EOF
  553. -       fi
  554. -       ;;
  555. -
  556. --    netbsd*)
  557. -+    netbsd* | netbsdelf*-gnu)
  558. -       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  559. -       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
  560. -       wlarc=
  561. -@@ -4621,6 +4637,7 @@ _LT_EOF
  562. -       if test "$aix_use_runtimelinking" = yes; then
  563. -         shared_flag="$shared_flag "'${wl}-G'
  564. -       fi
  565. -+      _LT_TAGVAR(link_all_deplibs, $1)=no
  566. -       else
  567. -       # not using gcc
  568. -       if test "$host_cpu" = ia64; then
  569. -@@ -4859,7 +4876,7 @@ _LT_EOF
  570. -       _LT_TAGVAR(link_all_deplibs, $1)=yes
  571. -       ;;
  572. -
  573. --    netbsd*)
  574. -+    netbsd* | netbsdelf*-gnu)
  575. -       if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
  576. -       _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
  577. -       else
  578. -@@ -5855,7 +5872,7 @@ if test "$_lt_caught_CXX_error" != yes;
  579. -         _LT_TAGVAR(inherit_rpath, $1)=yes
  580. -         ;;
  581. -
  582. --      linux* | k*bsd*-gnu)
  583. -+      linux* | k*bsd*-gnu | kopensolaris*-gnu)
  584. -         case $cc_basename in
  585. -           KCC*)
  586. -           # Kuck and Associates, Inc. (KAI) C++ Compiler
  587. -@@ -7862,15 +7879,15 @@ m4_define([lt_dict_filter],
  588. -
  589. - # Generated from ltversion.in.
  590. -
  591. --# serial 3012 ltversion.m4
  592. -+# serial 3017 ltversion.m4
  593. - # This file is part of GNU Libtool
  594. -
  595. --m4_define([LT_PACKAGE_VERSION], [2.2.6])
  596. --m4_define([LT_PACKAGE_REVISION], [1.3012])
  597. -+m4_define([LT_PACKAGE_VERSION], [2.2.6b])
  598. -+m4_define([LT_PACKAGE_REVISION], [1.3017])
  599. -
  600. - AC_DEFUN([LTVERSION_VERSION],
  601. --[macro_version='2.2.6'
  602. --macro_revision='1.3012'
  603. -+[macro_version='2.2.6b'
  604. -+macro_revision='1.3017'
  605. - _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
  606. - _LT_DECL(, macro_revision, 0)
  607. - ])
  608. -@@ -8036,14 +8053,16 @@ fi])
  609. - # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
  610. - # ---------------------------------------------
  611. - m4_define([_PKG_CONFIG],
  612. --[if test -n "$$1"; then
  613. --    pkg_cv_[]$1="$$1"
  614. -- elif test -n "$PKG_CONFIG"; then
  615. --    PKG_CHECK_EXISTS([$3],
  616. --                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
  617. --                   [pkg_failed=yes])
  618. -- else
  619. --    pkg_failed=untried
  620. -+[if test -n "$PKG_CONFIG"; then
  621. -+    if test -n "$$1"; then
  622. -+        pkg_cv_[]$1="$$1"
  623. -+    else
  624. -+        PKG_CHECK_EXISTS([$3],
  625. -+                         [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
  626. -+                       [pkg_failed=yes])
  627. -+    fi
  628. -+else
  629. -+      pkg_failed=untried
  630. - fi[]dnl
  631. - ])# _PKG_CONFIG
  632. -
  633. -@@ -8087,9 +8106,9 @@ See the pkg-config man page for more det
  634. - if test $pkg_failed = yes; then
  635. -         _PKG_SHORT_ERRORS_SUPPORTED
  636. -         if test $_pkg_short_errors_supported = yes; then
  637. --              $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
  638. -+              $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
  639. -         else
  640. --              $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
  641. -+              $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
  642. -         fi
  643. -       # Put the nasty error message in config.log where it belongs
  644. -       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
  645. ---- plymouth-0.8.2.orig/images/Makefile.in
  646. -+++ plymouth-0.8.2/images/Makefile.in
  647. -@@ -138,6 +138,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  648. - PACKAGE_NAME = @PACKAGE_NAME@
  649. - PACKAGE_STRING = @PACKAGE_STRING@
  650. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  651. -+PACKAGE_URL = @PACKAGE_URL@
  652. - PACKAGE_VERSION = @PACKAGE_VERSION@
  653. - PANGO_CFLAGS = @PANGO_CFLAGS@
  654. - PANGO_LIBS = @PANGO_LIBS@
  655. ---- plymouth-0.8.2.orig/build-tools/ltmain.sh
  656. -+++ plymouth-0.8.2/build-tools/ltmain.sh
  657. -@@ -1,6 +1,6 @@
  658. - # Generated from ltmain.m4sh.
  659. -
  660. --# ltmain.sh (GNU libtool) 2.2.6
  661. -+# ltmain.sh (GNU libtool) 2.2.6b
  662. - # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
  663. -
  664. - # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
  665. -@@ -65,7 +65,7 @@
  666. - #       compiler:             $LTCC
  667. - #       compiler flags:               $LTCFLAGS
  668. - #       linker:               $LD (gnu? $with_gnu_ld)
  669. --#       $progname:            (GNU libtool) 2.2.6
  670. -+#       $progname:            (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
  671. - #       automake:             $automake_version
  672. - #       autoconf:             $autoconf_version
  673. - #
  674. -@@ -73,9 +73,9 @@
  675. -
  676. - PROGRAM=ltmain.sh
  677. - PACKAGE=libtool
  678. --VERSION=2.2.6
  679. -+VERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
  680. - TIMESTAMP=""
  681. --package_revision=1.3012
  682. -+package_revision=1.3017
  683. -
  684. - # Be Bourne compatible
  685. - if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  686. -@@ -5033,7 +5033,10 @@ func_mode_link ()
  687. -       case $pass in
  688. -       dlopen) libs="$dlfiles" ;;
  689. -       dlpreopen) libs="$dlprefiles" ;;
  690. --      link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
  691. -+      link)
  692. -+        libs="$deplibs %DEPLIBS%"
  693. -+        test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
  694. -+        ;;
  695. -       esac
  696. -       fi
  697. -       if test "$linkmode,$pass" = "lib,dlpreopen"; then
  698. -@@ -5344,19 +5347,19 @@ func_mode_link ()
  699. -           # It is a libtool convenience library, so add in its objects.
  700. -           convenience="$convenience $ladir/$objdir/$old_library"
  701. -           old_convenience="$old_convenience $ladir/$objdir/$old_library"
  702. -+          tmp_libs=
  703. -+          for deplib in $dependency_libs; do
  704. -+            deplibs="$deplib $deplibs"
  705. -+            if $opt_duplicate_deps ; then
  706. -+              case "$tmp_libs " in
  707. -+              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  708. -+              esac
  709. -+            fi
  710. -+            tmp_libs="$tmp_libs $deplib"
  711. -+          done
  712. -         elif test "$linkmode" != prog && test "$linkmode" != lib; then
  713. -           func_fatal_error "\`$lib' is not a convenience library"
  714. -         fi
  715. --        tmp_libs=
  716. --        for deplib in $dependency_libs; do
  717. --          deplibs="$deplib $deplibs"
  718. --          if $opt_duplicate_deps ; then
  719. --            case "$tmp_libs " in
  720. --            *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  721. --            esac
  722. --          fi
  723. --          tmp_libs="$tmp_libs $deplib"
  724. --        done
  725. -         continue
  726. -       fi # $pass = conv
  727. -
  728. -@@ -5893,6 +5896,7 @@ func_mode_link ()
  729. -         if test "$link_all_deplibs" != no; then
  730. -           # Add the search paths of all dependency libraries
  731. -           for deplib in $dependency_libs; do
  732. -+            path=
  733. -             case $deplib in
  734. -             -L*) path="$deplib" ;;
  735. -             *.la)
  736. -@@ -6206,6 +6210,9 @@ func_mode_link ()
  737. -           revision="$number_minor"
  738. -           lt_irix_increment=no
  739. -           ;;
  740. -+        *)
  741. -+          func_fatal_configuration "$modename: unknown library version type \`$version_type'"
  742. -+          ;;
  743. -         esac
  744. -         ;;
  745. -       no)
  746. ---- plymouth-0.8.2.orig/build-tools/config.sub
  747. -+++ plymouth-0.8.2/build-tools/config.sub
  748. -@@ -4,7 +4,7 @@
  749. - #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
  750. - #   Free Software Foundation, Inc.
  751. -
  752. --timestamp='2009-11-20'
  753. -+timestamp='2009-06-11'
  754. -
  755. - # This file is (in principle) common to ALL GNU software.
  756. - # The presence of a machine in this file suggests that SOME GNU software
  757. -@@ -32,16 +32,13 @@ timestamp='2009-11-20'
  758. -
  759. -
  760. - # Please send patches to <config-patches@gnu.org>.  Submit a context
  761. --# diff and a properly formatted GNU ChangeLog entry.
  762. -+# diff and a properly formatted ChangeLog entry.
  763. - #
  764. - # Configuration subroutine to validate and canonicalize a configuration type.
  765. - # Supply the specified configuration type as an argument.
  766. - # If it is invalid, we print an error message on stderr and exit with code 1.
  767. - # Otherwise, we print the canonical config type on stdout and succeed.
  768. -
  769. --# You can get the latest version of this script from:
  770. --# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
  771. --
  772. - # This file is supposed to be the same for all GNU packages
  773. - # and recognize all the CPU types, system types and aliases
  774. - # that are meaningful with *any* GNU software.
  775. -@@ -152,7 +149,7 @@ case $os in
  776. -       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
  777. -       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
  778. -       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
  779. --      -apple | -axis | -knuth | -cray | -microblaze)
  780. -+      -apple | -axis | -knuth | -cray)
  781. -               os=
  782. -               basic_machine=$1
  783. -               ;;
  784. -@@ -287,7 +284,6 @@ case $basic_machine in
  785. -       | pdp10 | pdp11 | pj | pjl \
  786. -       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
  787. -       | pyramid \
  788. --      | rx \
  789. -       | score \
  790. -       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
  791. -       | sh64 | sh64le \
  792. -@@ -295,14 +291,13 @@ case $basic_machine in
  793. -       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
  794. -       | spu | strongarm \
  795. -       | tahoe | thumb | tic4x | tic80 | tron \
  796. --      | ubicom32 \
  797. -       | v850 | v850e \
  798. -       | we32k \
  799. -       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
  800. -       | z8k | z80)
  801. -               basic_machine=$basic_machine-unknown
  802. -               ;;
  803. --      m6811 | m68hc11 | m6812 | m68hc12 | picochip)
  804. -+      m6811 | m68hc11 | m6812 | m68hc12)
  805. -               # Motorola 68HC11/12.
  806. -               basic_machine=$basic_machine-unknown
  807. -               os=-none
  808. -@@ -345,7 +340,7 @@ case $basic_machine in
  809. -       | lm32-* \
  810. -       | m32c-* | m32r-* | m32rle-* \
  811. -       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
  812. --      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
  813. -+      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
  814. -       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
  815. -       | mips16-* \
  816. -       | mips64-* | mips64el-* \
  817. -@@ -373,7 +368,7 @@ case $basic_machine in
  818. -       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
  819. -       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
  820. -       | pyramid-* \
  821. --      | romp-* | rs6000-* | rx-* \
  822. -+      | romp-* | rs6000-* \
  823. -       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
  824. -       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
  825. -       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
  826. -@@ -382,7 +377,6 @@ case $basic_machine in
  827. -       | tahoe-* | thumb-* \
  828. -       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
  829. -       | tron-* \
  830. --      | ubicom32-* \
  831. -       | v850-* | v850e-* | vax-* \
  832. -       | we32k-* \
  833. -       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
  834. -@@ -732,9 +726,6 @@ case $basic_machine in
  835. -               basic_machine=ns32k-utek
  836. -               os=-sysv
  837. -               ;;
  838. --        microblaze)
  839. --              basic_machine=microblaze-xilinx
  840. --              ;;
  841. -       mingw32)
  842. -               basic_machine=i386-pc
  843. -               os=-mingw32
  844. -@@ -1256,9 +1247,6 @@ case $os in
  845. -         # First match some system type aliases
  846. -         # that might get confused with valid system types.
  847. -       # -solaris* is a basic system type, with this one exception.
  848. --        -auroraux)
  849. --              os=-auroraux
  850. --              ;;
  851. -       -solaris1 | -solaris1.*)
  852. -               os=`echo $os | sed -e 's|solaris1|sunos4|'`
  853. -               ;;
  854. -@@ -1280,8 +1268,8 @@ case $os in
  855. -       # -sysv* is not here because it comes later, after sysvr4.
  856. -       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  857. -             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
  858. --            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
  859. --            | -sym* | -kopensolaris* \
  860. -+            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
  861. -+            | -kopensolaris* \
  862. -             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
  863. -             | -aos* | -aros* \
  864. -             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  865. -@@ -1302,7 +1290,7 @@ case $os in
  866. -             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  867. -             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
  868. -             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
  869. --            | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
  870. -+            | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
  871. -       # Remember, each alternative MUST END IN *, to match a version number.
  872. -               ;;
  873. -       -qnx*)
  874. ---- plymouth-0.8.2.orig/build-tools/config.guess
  875. -+++ plymouth-0.8.2/build-tools/config.guess
  876. -@@ -4,7 +4,7 @@
  877. - #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
  878. - #   Free Software Foundation, Inc.
  879. -
  880. --timestamp='2009-11-20'
  881. -+timestamp='2009-06-10'
  882. -
  883. - # This file is free software; you can redistribute it and/or modify it
  884. - # under the terms of the GNU General Public License as published by
  885. -@@ -27,16 +27,16 @@ timestamp='2009-11-20'
  886. - # the same distribution terms that you use for the rest of that program.
  887. -
  888. -
  889. --# Originally written by Per Bothner.  Please send patches (context
  890. --# diff format) to <config-patches@gnu.org> and include a ChangeLog
  891. --# entry.
  892. -+# Originally written by Per Bothner <per@bothner.com>.
  893. -+# Please send patches to <config-patches@gnu.org>.  Submit a context
  894. -+# diff and a properly formatted ChangeLog entry.
  895. - #
  896. - # This script attempts to guess a canonical system name similar to
  897. - # config.sub.  If it succeeds, it prints the system name on stdout, and
  898. - # exits with 0.  Otherwise, it exits with 1.
  899. - #
  900. --# You can get the latest version of this script from:
  901. --# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
  902. -+# The plan is that this can be called by configure scripts if you
  903. -+# don't specify an explicit build system type.
  904. -
  905. - me=`echo "$0" | sed -e 's,.*/,,'`
  906. -
  907. -@@ -333,9 +333,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
  908. -     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  909. -       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  910. -       exit ;;
  911. --    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
  912. --      echo i386-pc-auroraux${UNAME_RELEASE}
  913. --      exit ;;
  914. -     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
  915. -       eval $set_cc_for_build
  916. -       SUN_ARCH="i386"
  917. -@@ -810,12 +807,12 @@ EOF
  918. -     i*:PW*:*)
  919. -       echo ${UNAME_MACHINE}-pc-pw32
  920. -       exit ;;
  921. --    *:Interix*:*)
  922. -+    *:Interix*:[3456]*)
  923. -       case ${UNAME_MACHINE} in
  924. -           x86)
  925. -               echo i586-pc-interix${UNAME_RELEASE}
  926. -               exit ;;
  927. --          authenticamd | genuineintel | EM64T)
  928. -+          EM64T | authenticamd | genuineintel)
  929. -               echo x86_64-unknown-interix${UNAME_RELEASE}
  930. -               exit ;;
  931. -           IA64)
  932. -@@ -857,20 +854,6 @@ EOF
  933. -     i*86:Minix:*:*)
  934. -       echo ${UNAME_MACHINE}-pc-minix
  935. -       exit ;;
  936. --    alpha:Linux:*:*)
  937. --      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  938. --        EV5)   UNAME_MACHINE=alphaev5 ;;
  939. --        EV56)  UNAME_MACHINE=alphaev56 ;;
  940. --        PCA56) UNAME_MACHINE=alphapca56 ;;
  941. --        PCA57) UNAME_MACHINE=alphapca56 ;;
  942. --        EV6)   UNAME_MACHINE=alphaev6 ;;
  943. --        EV67)  UNAME_MACHINE=alphaev67 ;;
  944. --        EV68*) UNAME_MACHINE=alphaev68 ;;
  945. --        esac
  946. --      objdump --private-headers /bin/sh | grep -q ld.so.1
  947. --      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  948. --      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
  949. --      exit ;;
  950. -     arm*:Linux:*:*)
  951. -       eval $set_cc_for_build
  952. -       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
  953. -@@ -893,17 +876,6 @@ EOF
  954. -     frv:Linux:*:*)
  955. -       echo frv-unknown-linux-gnu
  956. -       exit ;;
  957. --    i*86:Linux:*:*)
  958. --      LIBC=gnu
  959. --      eval $set_cc_for_build
  960. --      sed 's/^        //' << EOF >$dummy.c
  961. --      #ifdef __dietlibc__
  962. --      LIBC=dietlibc
  963. --      #endif
  964. --EOF
  965. --      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
  966. --      echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
  967. --      exit ;;
  968. -     ia64:Linux:*:*)
  969. -       echo ${UNAME_MACHINE}-unknown-linux-gnu
  970. -       exit ;;
  971. -@@ -929,18 +901,39 @@ EOF
  972. -       #endif
  973. -       #endif
  974. - EOF
  975. --      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
  976. -+      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
  977. -+          /^CPU/{
  978. -+              s: ::g
  979. -+              p
  980. -+          }'`"
  981. -       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
  982. -       ;;
  983. -     or32:Linux:*:*)
  984. -       echo or32-unknown-linux-gnu
  985. -       exit ;;
  986. -+    ppc:Linux:*:*)
  987. -+      echo powerpc-unknown-linux-gnu
  988. -+      exit ;;
  989. -+    ppc64:Linux:*:*)
  990. -+      echo powerpc64-unknown-linux-gnu
  991. -+      exit ;;
  992. -+    alpha:Linux:*:*)
  993. -+      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  994. -+        EV5)   UNAME_MACHINE=alphaev5 ;;
  995. -+        EV56)  UNAME_MACHINE=alphaev56 ;;
  996. -+        PCA56) UNAME_MACHINE=alphapca56 ;;
  997. -+        PCA57) UNAME_MACHINE=alphapca56 ;;
  998. -+        EV6)   UNAME_MACHINE=alphaev6 ;;
  999. -+        EV67)  UNAME_MACHINE=alphaev67 ;;
  1000. -+        EV68*) UNAME_MACHINE=alphaev68 ;;
  1001. -+        esac
  1002. -+      objdump --private-headers /bin/sh | grep -q ld.so.1
  1003. -+      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  1004. -+      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
  1005. -+      exit ;;
  1006. -     padre:Linux:*:*)
  1007. -       echo sparc-unknown-linux-gnu
  1008. -       exit ;;
  1009. --    parisc64:Linux:*:* | hppa64:Linux:*:*)
  1010. --      echo hppa64-unknown-linux-gnu
  1011. --      exit ;;
  1012. -     parisc:Linux:*:* | hppa:Linux:*:*)
  1013. -       # Look for CPU level
  1014. -       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
  1015. -@@ -949,11 +942,8 @@ EOF
  1016. -         *)    echo hppa-unknown-linux-gnu ;;
  1017. -       esac
  1018. -       exit ;;
  1019. --    ppc64:Linux:*:*)
  1020. --      echo powerpc64-unknown-linux-gnu
  1021. --      exit ;;
  1022. --    ppc:Linux:*:*)
  1023. --      echo powerpc-unknown-linux-gnu
  1024. -+    parisc64:Linux:*:* | hppa64:Linux:*:*)
  1025. -+      echo hppa64-unknown-linux-gnu
  1026. -       exit ;;
  1027. -     s390:Linux:*:* | s390x:Linux:*:*)
  1028. -       echo ${UNAME_MACHINE}-ibm-linux
  1029. -@@ -976,6 +966,58 @@ EOF
  1030. -     xtensa*:Linux:*:*)
  1031. -       echo ${UNAME_MACHINE}-unknown-linux-gnu
  1032. -       exit ;;
  1033. -+    i*86:Linux:*:*)
  1034. -+      # The BFD linker knows what the default object file format is, so
  1035. -+      # first see if it will tell us. cd to the root directory to prevent
  1036. -+      # problems with other programs or directories called `ld' in the path.
  1037. -+      # Set LC_ALL=C to ensure ld outputs messages in English.
  1038. -+      ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
  1039. -+                       | sed -ne '/supported targets:/!d
  1040. -+                                  s/[         ][      ]*/ /g
  1041. -+                                  s/.*supported targets: *//
  1042. -+                                  s/ .*//
  1043. -+                                  p'`
  1044. -+        case "$ld_supported_targets" in
  1045. -+        elf32-i386)
  1046. -+              TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
  1047. -+              ;;
  1048. -+      esac
  1049. -+      # Determine whether the default compiler is a.out or elf
  1050. -+      eval $set_cc_for_build
  1051. -+      sed 's/^        //' << EOF >$dummy.c
  1052. -+      #include <features.h>
  1053. -+      #ifdef __ELF__
  1054. -+      # ifdef __GLIBC__
  1055. -+      #  if __GLIBC__ >= 2
  1056. -+      LIBC=gnu
  1057. -+      #  else
  1058. -+      LIBC=gnulibc1
  1059. -+      #  endif
  1060. -+      # else
  1061. -+      LIBC=gnulibc1
  1062. -+      # endif
  1063. -+      #else
  1064. -+      #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
  1065. -+      LIBC=gnu
  1066. -+      #else
  1067. -+      LIBC=gnuaout
  1068. -+      #endif
  1069. -+      #endif
  1070. -+      #ifdef __dietlibc__
  1071. -+      LIBC=dietlibc
  1072. -+      #endif
  1073. -+EOF
  1074. -+      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
  1075. -+          /^LIBC/{
  1076. -+              s: ::g
  1077. -+              p
  1078. -+          }'`"
  1079. -+      test x"${LIBC}" != x && {
  1080. -+              echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
  1081. -+              exit
  1082. -+      }
  1083. -+      test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
  1084. -+      ;;
  1085. -     i*86:DYNIX/ptx:4*:*)
  1086. -       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  1087. -       # earlier versions are messed up and put the nodename in both
  1088. -@@ -1205,16 +1247,6 @@ EOF
  1089. -     *:Darwin:*:*)
  1090. -       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
  1091. -       case $UNAME_PROCESSOR in
  1092. --          i386)
  1093. --              eval $set_cc_for_build
  1094. --              if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
  1095. --                if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
  1096. --                    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
  1097. --                    grep IS_64BIT_ARCH >/dev/null
  1098. --                then
  1099. --                    UNAME_PROCESSOR="x86_64"
  1100. --                fi
  1101. --              fi ;;
  1102. -           unknown) UNAME_PROCESSOR=powerpc ;;
  1103. -       esac
  1104. -       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
  1105. ---- plymouth-0.8.2.orig/src/Makefile.in
  1106. -+++ plymouth-0.8.2/src/Makefile.in
  1107. -@@ -220,6 +220,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1108. - PACKAGE_NAME = @PACKAGE_NAME@
  1109. - PACKAGE_STRING = @PACKAGE_STRING@
  1110. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1111. -+PACKAGE_URL = @PACKAGE_URL@
  1112. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1113. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1114. - PANGO_LIBS = @PANGO_LIBS@
  1115. ---- plymouth-0.8.2.orig/src/main.c
  1116. -+++ plymouth-0.8.2/src/main.c
  1117. -@@ -116,6 +116,7 @@ typedef struct
  1118. -   const char *default_tty;
  1119. -
  1120. -   int number_of_errors;
  1121. -+  ply_list_t *pending_messages;
  1122. - } state_t;
  1123. -
  1124. - static ply_boot_splash_t *start_boot_splash (state_t    *state,
  1125. -@@ -164,14 +165,34 @@ on_update (state_t     *state,
  1126. -            const char  *status)
  1127. - {
  1128. -   ply_trace ("updating status to '%s'", status);
  1129. --  ply_progress_status_update (state->progress,
  1130. --                               status);
  1131. -+  if (strncmp (status, "fsck:", 5))
  1132. -+    ply_progress_status_update (state->progress,
  1133. -+                                status);
  1134. -   if (state->boot_splash != NULL)
  1135. -     ply_boot_splash_update_status (state->boot_splash,
  1136. -                                    status);
  1137. - }
  1138. -
  1139. - static void
  1140. -+flush_pending_messages (state_t *state)
  1141. -+{
  1142. -+  ply_list_node_t *node = ply_list_get_first_node (state->pending_messages);
  1143. -+  while (node != NULL)
  1144. -+    {
  1145. -+      ply_list_node_t *next_node;
  1146. -+      char *message = ply_list_node_get_data (node);
  1147. -+
  1148. -+      ply_trace ("displaying queued message");
  1149. -+
  1150. -+      ply_boot_splash_display_message (state->boot_splash, message);
  1151. -+      next_node = ply_list_get_next_node (state->pending_messages, node);
  1152. -+      ply_list_remove_node (state->pending_messages, node);
  1153. -+      free(message);
  1154. -+      node = next_node;
  1155. -+    }
  1156. -+}
  1157. -+
  1158. -+static void
  1159. - show_detailed_splash (state_t *state)
  1160. - {
  1161. -   if (state->boot_splash != NULL)
  1162. -@@ -319,11 +340,15 @@ show_default_splash (state_t *state)
  1163. -       ply_trace ("Could not start default splash screen,"
  1164. -                  "showing text splash screen");
  1165. -       state->boot_splash = start_boot_splash (state,
  1166. --                                              PLYMOUTH_THEME_PATH "text/text.plymouth");
  1167. -+                                              PLYMOUTH_THEME_PATH "text.plymouth");
  1168. -     }
  1169. -
  1170. -   if (state->boot_splash == NULL)
  1171. --    ply_error ("could not start boot splash: %m");
  1172. -+    {
  1173. -+      if (errno != ENOENT)
  1174. -+        ply_error ("could not start boot splash: %m");
  1175. -+      show_detailed_splash (state);
  1176. -+    }
  1177. - }
  1178. -
  1179. - static void
  1180. -@@ -374,6 +399,8 @@ on_display_message (state_t       *state
  1181. -   ply_trace ("displaying message %s", message);
  1182. -   if (state->boot_splash != NULL)
  1183. -     ply_boot_splash_display_message (state->boot_splash, message);
  1184. -+  else
  1185. -+    ply_list_append_data (state->pending_messages, strdup(message));
  1186. - }
  1187. -
  1188. - static void
  1189. -@@ -720,6 +747,7 @@ on_show_splash (state_t *state)
  1190. -       show_detailed_splash (state);
  1191. -       state->showing_details = true;
  1192. -     }
  1193. -+  flush_pending_messages (state);
  1194. - }
  1195. -
  1196. - static void
  1197. -@@ -1259,6 +1287,10 @@ add_display_and_keyboard_for_terminal (s
  1198. -
  1199. -   state->terminal = ply_terminal_new (tty_name);
  1200. -
  1201. -+  // urgh
  1202. -+  if (!ply_terminal_open (state->terminal))
  1203. -+    return;
  1204. -+
  1205. -   keyboard = ply_keyboard_new_for_terminal (state->terminal);
  1206. -   display = ply_text_display_new (state->terminal);
  1207. -
  1208. -@@ -1674,6 +1706,7 @@ initialize_environment (state_t *state)
  1209. -   state->entry_buffer = ply_buffer_new();
  1210. -   state->pixel_displays = ply_list_new ();
  1211. -   state->text_displays = ply_list_new ();
  1212. -+  state->pending_messages = ply_list_new ();
  1213. -   state->keyboard = NULL;
  1214. -
  1215. -   if (!state->default_tty)
  1216. -@@ -1904,12 +1937,7 @@ main (int    argc,
  1217. -     {
  1218. -       state.should_be_attached = attach_to_session;
  1219. -       if (!attach_to_running_session (&state))
  1220. --        {
  1221. --          ply_error ("could not create session: %m");
  1222. --          if (! no_daemon)
  1223. --            ply_detach_daemon (daemon_handle, EX_UNAVAILABLE);
  1224. --          return EX_UNAVAILABLE;
  1225. --        }
  1226. -+          ply_trace ("could not create session: %m");
  1227. -     }
  1228. -
  1229. -   state.boot_server = start_boot_server (&state);
  1230. ---- plymouth-0.8.2.orig/src/plugins/Makefile.in
  1231. -+++ plymouth-0.8.2/src/plugins/Makefile.in
  1232. -@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1233. - PACKAGE_NAME = @PACKAGE_NAME@
  1234. - PACKAGE_STRING = @PACKAGE_STRING@
  1235. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1236. -+PACKAGE_URL = @PACKAGE_URL@
  1237. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1238. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1239. - PANGO_LIBS = @PANGO_LIBS@
  1240. ---- plymouth-0.8.2.orig/src/plugins/controls/Makefile.in
  1241. -+++ plymouth-0.8.2/src/plugins/controls/Makefile.in
  1242. -@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1243. - PACKAGE_NAME = @PACKAGE_NAME@
  1244. - PACKAGE_STRING = @PACKAGE_STRING@
  1245. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1246. -+PACKAGE_URL = @PACKAGE_URL@
  1247. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1248. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1249. - PANGO_LIBS = @PANGO_LIBS@
  1250. ---- plymouth-0.8.2.orig/src/plugins/controls/label/Makefile.in
  1251. -+++ plymouth-0.8.2/src/plugins/controls/label/Makefile.in
  1252. -@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1253. - PACKAGE_NAME = @PACKAGE_NAME@
  1254. - PACKAGE_STRING = @PACKAGE_STRING@
  1255. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1256. -+PACKAGE_URL = @PACKAGE_URL@
  1257. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1258. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1259. - PANGO_LIBS = @PANGO_LIBS@
  1260. ---- plymouth-0.8.2.orig/src/plugins/splash/Makefile.in
  1261. -+++ plymouth-0.8.2/src/plugins/splash/Makefile.in
  1262. -@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1263. - PACKAGE_NAME = @PACKAGE_NAME@
  1264. - PACKAGE_STRING = @PACKAGE_STRING@
  1265. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1266. -+PACKAGE_URL = @PACKAGE_URL@
  1267. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1268. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1269. - PANGO_LIBS = @PANGO_LIBS@
  1270. -@@ -233,7 +234,7 @@ target_alias = @target_alias@
  1271. - top_build_prefix = @top_build_prefix@
  1272. - top_builddir = @top_builddir@
  1273. - top_srcdir = @top_srcdir@
  1274. --SUBDIRS = throbgress fade-throbber text details space-flares two-step script
  1275. -+SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
  1276. - MAINTAINERCLEANFILES = Makefile.in
  1277. - all: all-recursive
  1278. -
  1279. ---- plymouth-0.8.2.orig/src/plugins/splash/Makefile.am
  1280. -+++ plymouth-0.8.2/src/plugins/splash/Makefile.am
  1281. -@@ -1,2 +1,2 @@
  1282. --SUBDIRS = throbgress fade-throbber text details space-flares two-step script
  1283. -+SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
  1284. - MAINTAINERCLEANFILES = Makefile.in
  1285. ---- plymouth-0.8.2.orig/src/plugins/splash/fade-throbber/Makefile.in
  1286. -+++ plymouth-0.8.2/src/plugins/splash/fade-throbber/Makefile.in
  1287. -@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1288. - PACKAGE_NAME = @PACKAGE_NAME@
  1289. - PACKAGE_STRING = @PACKAGE_STRING@
  1290. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1291. -+PACKAGE_URL = @PACKAGE_URL@
  1292. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1293. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1294. - PANGO_LIBS = @PANGO_LIBS@
  1295. ---- plymouth-0.8.2.orig/src/plugins/splash/script/Makefile.in
  1296. -+++ plymouth-0.8.2/src/plugins/splash/script/Makefile.in
  1297. -@@ -179,6 +179,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1298. - PACKAGE_NAME = @PACKAGE_NAME@
  1299. - PACKAGE_STRING = @PACKAGE_STRING@
  1300. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1301. -+PACKAGE_URL = @PACKAGE_URL@
  1302. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1303. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1304. - PANGO_LIBS = @PANGO_LIBS@
  1305. ---- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-image.c
  1306. -+++ plymouth-0.8.2/src/plugins/splash/script/script-lib-image.c
  1307. -@@ -171,7 +171,7 @@ static script_return_t image_text (scrip
  1308. -
  1309. -   alpha_obj = script_obj_hash_peek_element (state->local, "alpha");
  1310. -
  1311. --  if (alpha_obj)
  1312. -+  if (alpha_obj && !script_obj_is_null(alpha_obj))
  1313. -     {
  1314. -       alpha = CLAMP(script_obj_as_number (alpha_obj), 0, 1);
  1315. -       script_obj_unref(alpha_obj);
  1316. ---- plymouth-0.8.2.orig/src/plugins/splash/script/plugin.c
  1317. -+++ plymouth-0.8.2/src/plugins/splash/script/plugin.c
  1318. -@@ -418,6 +418,8 @@ static void
  1319. - become_idle (ply_boot_splash_plugin_t *plugin,
  1320. -              ply_trigger_t            *idle_trigger)
  1321. - {
  1322. -+  stop_animation (plugin);
  1323. -+
  1324. -   ply_trigger_pull (idle_trigger, NULL);
  1325. - }
  1326. -
  1327. ---- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-sprite.c
  1328. -+++ plymouth-0.8.2/src/plugins/splash/script/script-lib-sprite.c
  1329. -@@ -399,6 +399,45 @@ static script_return_t sprite_window_set
  1330. -   return script_return_obj_null ();
  1331. - }
  1332. -
  1333. -+static script_return_t sprite_window_get_bits_per_pixel (script_state_t *state,
  1334. -+                                                         void           *user_data)
  1335. -+{
  1336. -+  script_lib_sprite_data_t *data = user_data;
  1337. -+  ply_list_node_t *node;
  1338. -+  int index;
  1339. -+  script_obj_t *index_obj;
  1340. -+  script_lib_display_t *display;
  1341. -+  unsigned int bits_per_pixel;
  1342. -+
  1343. -+  index_obj = script_obj_hash_peek_element (state->local, "window");
  1344. -+
  1345. -+  if (index_obj)
  1346. -+    {
  1347. -+      index = script_obj_as_number (index_obj);
  1348. -+      script_obj_unref(index_obj);
  1349. -+      if (index < 0)
  1350. -+        return script_return_obj_null ();
  1351. -+      node = ply_list_get_nth_node (data->displays, index);
  1352. -+      if (node == NULL)
  1353. -+        return script_return_obj_null ();
  1354. -+      display = ply_list_node_get_data (node);
  1355. -+      bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
  1356. -+      return script_return_obj (script_obj_new_number (bits_per_pixel));
  1357. -+    }
  1358. -+
  1359. -+  bits_per_pixel = 0;
  1360. -+  for (node = ply_list_get_first_node (data->displays);
  1361. -+       node;
  1362. -+       node = ply_list_get_next_node (data->displays, node))
  1363. -+    {
  1364. -+      display = ply_list_node_get_data (node);
  1365. -+      bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
  1366. -+      if (bits_per_pixel)
  1367. -+        break;
  1368. -+    }
  1369. -+  return script_return_obj (script_obj_new_number (bits_per_pixel));
  1370. -+}
  1371. -+
  1372. - static uint32_t extract_rgb_color (script_state_t *state)
  1373. - {
  1374. -   uint8_t red =   CLAMP (255 * script_obj_hash_get_number (state->local, "red"),   0, 255);
  1375. -@@ -651,6 +690,12 @@ script_lib_sprite_data_t *script_lib_spr
  1376. -                               "value",
  1377. -                               NULL);
  1378. -   script_add_native_function (window_hash,
  1379. -+                              "GetBitsPerPixel",
  1380. -+                              sprite_window_get_bits_per_pixel,
  1381. -+                              data,
  1382. -+                              "window",
  1383. -+                              NULL);
  1384. -+  script_add_native_function (window_hash,
  1385. -                               "SetBackgroundTopColor",
  1386. -                               sprite_window_set_background_top_color,
  1387. -                               data,
  1388. ---- plymouth-0.8.2.orig/src/plugins/splash/space-flares/Makefile.in
  1389. -+++ plymouth-0.8.2/src/plugins/splash/space-flares/Makefile.in
  1390. -@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1391. - PACKAGE_NAME = @PACKAGE_NAME@
  1392. - PACKAGE_STRING = @PACKAGE_STRING@
  1393. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1394. -+PACKAGE_URL = @PACKAGE_URL@
  1395. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1396. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1397. - PANGO_LIBS = @PANGO_LIBS@
  1398. ---- plymouth-0.8.2.orig/src/plugins/splash/two-step/Makefile.in
  1399. -+++ plymouth-0.8.2/src/plugins/splash/two-step/Makefile.in
  1400. -@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1401. - PACKAGE_NAME = @PACKAGE_NAME@
  1402. - PACKAGE_STRING = @PACKAGE_STRING@
  1403. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1404. -+PACKAGE_URL = @PACKAGE_URL@
  1405. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1406. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1407. - PANGO_LIBS = @PANGO_LIBS@
  1408. ---- plymouth-0.8.2.orig/src/plugins/splash/throbgress/Makefile.in
  1409. -+++ plymouth-0.8.2/src/plugins/splash/throbgress/Makefile.in
  1410. -@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1411. - PACKAGE_NAME = @PACKAGE_NAME@
  1412. - PACKAGE_STRING = @PACKAGE_STRING@
  1413. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1414. -+PACKAGE_URL = @PACKAGE_URL@
  1415. - PACKAGE_VERSION = @PACKAGE_VERSION@
  1416. - PANGO_CFLAGS = @PANGO_CFLAGS@
  1417. - PANGO_LIBS = @PANGO_LIBS@
  1418. ---- /dev/null
  1419. -+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.in
  1420. -@@ -0,0 +1,597 @@
  1421. -+# Makefile.in generated by automake 1.11.1 from Makefile.am.
  1422. -+# @configure_input@
  1423. -+
  1424. -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
  1425. -+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
  1426. -+# Inc.
  1427. -+# This Makefile.in is free software; the Free Software Foundation
  1428. -+# gives unlimited permission to copy and/or distribute it,
  1429. -+# with or without modifications, as long as this notice is preserved.
  1430. -+
  1431. -+# This program is distributed in the hope that it will be useful,
  1432. -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  1433. -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  1434. -+# PARTICULAR PURPOSE.
  1435. -+
  1436. -+@SET_MAKE@
  1437. -+
  1438. -+VPATH = @srcdir@
  1439. -+pkgdatadir = $(datadir)/@PACKAGE@
  1440. -+pkgincludedir = $(includedir)/@PACKAGE@
  1441. -+pkglibdir = $(libdir)/@PACKAGE@
  1442. -+pkglibexecdir = $(libexecdir)/@PACKAGE@
  1443. -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  1444. -+install_sh_DATA = $(install_sh) -c -m 644
  1445. -+install_sh_PROGRAM = $(install_sh) -c
  1446. -+install_sh_SCRIPT = $(install_sh) -c
  1447. -+INSTALL_HEADER = $(INSTALL_DATA)
  1448. -+transform = $(program_transform_name)
  1449. -+NORMAL_INSTALL = :
  1450. -+PRE_INSTALL = :
  1451. -+POST_INSTALL = :
  1452. -+NORMAL_UNINSTALL = :
  1453. -+PRE_UNINSTALL = :
  1454. -+POST_UNINSTALL = :
  1455. -+build_triplet = @build@
  1456. -+host_triplet = @host@
  1457. -+subdir = src/plugins/splash/ubuntu-text
  1458. -+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
  1459. -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  1460. -+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
  1461. -+      $(top_srcdir)/configure.ac
  1462. -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  1463. -+      $(ACLOCAL_M4)
  1464. -+mkinstalldirs = $(install_sh) -d
  1465. -+CONFIG_HEADER = $(top_builddir)/config.h
  1466. -+CONFIG_CLEAN_FILES =
  1467. -+CONFIG_CLEAN_VPATH_FILES =
  1468. -+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  1469. -+am__vpath_adj = case $$p in \
  1470. -+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  1471. -+    *) f=$$p;; \
  1472. -+  esac;
  1473. -+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
  1474. -+am__install_max = 40
  1475. -+am__nobase_strip_setup = \
  1476. -+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
  1477. -+am__nobase_strip = \
  1478. -+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
  1479. -+am__nobase_list = $(am__nobase_strip_setup); \
  1480. -+  for p in $$list; do echo "$$p $$p"; done | \
  1481. -+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  1482. -+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
  1483. -+    if (++n[$$2] == $(am__install_max)) \
  1484. -+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
  1485. -+    END { for (dir in files) print dir, files[dir] }'
  1486. -+am__base_list = \
  1487. -+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  1488. -+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  1489. -+am__installdirs = "$(DESTDIR)$(plugindir)"
  1490. -+LTLIBRARIES = $(plugin_LTLIBRARIES)
  1491. -+am__DEPENDENCIES_1 =
  1492. -+ubuntu_text_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
  1493. -+      ../../../libply/libply.la \
  1494. -+      ../../../libply-splash-core/libply-splash-core.la
  1495. -+am_ubuntu_text_la_OBJECTS = ubuntu_text_la-plugin.lo
  1496. -+ubuntu_text_la_OBJECTS = $(am_ubuntu_text_la_OBJECTS)
  1497. -+AM_V_lt = $(am__v_lt_$(V))
  1498. -+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
  1499. -+am__v_lt_0 = --silent
  1500. -+ubuntu_text_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
  1501. -+      $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
  1502. -+      $(ubuntu_text_la_CFLAGS) $(CFLAGS) $(ubuntu_text_la_LDFLAGS) \
  1503. -+      $(LDFLAGS) -o $@
  1504. -+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
  1505. -+depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp
  1506. -+am__depfiles_maybe = depfiles
  1507. -+am__mv = mv -f
  1508. -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  1509. -+      $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
  1510. -+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  1511. -+      $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
  1512. -+      $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  1513. -+      $(AM_CFLAGS) $(CFLAGS)
  1514. -+AM_V_CC = $(am__v_CC_$(V))
  1515. -+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
  1516. -+am__v_CC_0 = @echo "  CC    " $@;
  1517. -+AM_V_at = $(am__v_at_$(V))
  1518. -+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  1519. -+am__v_at_0 = @
  1520. -+CCLD = $(CC)
  1521. -+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  1522. -+      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
  1523. -+      $(AM_LDFLAGS) $(LDFLAGS) -o $@
  1524. -+AM_V_CCLD = $(am__v_CCLD_$(V))
  1525. -+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
  1526. -+am__v_CCLD_0 = @echo "  CCLD  " $@;
  1527. -+AM_V_GEN = $(am__v_GEN_$(V))
  1528. -+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  1529. -+am__v_GEN_0 = @echo "  GEN   " $@;
  1530. -+SOURCES = $(ubuntu_text_la_SOURCES)
  1531. -+DIST_SOURCES = $(ubuntu_text_la_SOURCES)
  1532. -+ETAGS = etags
  1533. -+CTAGS = ctags
  1534. -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  1535. -+ACLOCAL = @ACLOCAL@
  1536. -+AMTAR = @AMTAR@
  1537. -+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
  1538. -+AR = @AR@
  1539. -+AUTOCONF = @AUTOCONF@
  1540. -+AUTOHEADER = @AUTOHEADER@
  1541. -+AUTOMAKE = @AUTOMAKE@
  1542. -+AWK = @AWK@
  1543. -+CC = @CC@
  1544. -+CCDEPMODE = @CCDEPMODE@
  1545. -+CFLAGS = @CFLAGS@
  1546. -+CPP = @CPP@
  1547. -+CPPFLAGS = @CPPFLAGS@
  1548. -+CYGPATH_W = @CYGPATH_W@
  1549. -+DEFS = @DEFS@
  1550. -+DEPDIR = @DEPDIR@
  1551. -+DRM_CFLAGS = @DRM_CFLAGS@
  1552. -+DRM_LIBS = @DRM_LIBS@
  1553. -+DSYMUTIL = @DSYMUTIL@
  1554. -+DUMPBIN = @DUMPBIN@
  1555. -+ECHO_C = @ECHO_C@
  1556. -+ECHO_N = @ECHO_N@
  1557. -+ECHO_T = @ECHO_T@
  1558. -+EGREP = @EGREP@
  1559. -+EXEEXT = @EXEEXT@
  1560. -+FGREP = @FGREP@
  1561. -+GREP = @GREP@
  1562. -+GTK_CFLAGS = @GTK_CFLAGS@
  1563. -+GTK_LIBS = @GTK_LIBS@
  1564. -+IMAGE_CFLAGS = @IMAGE_CFLAGS@
  1565. -+IMAGE_LIBS = @IMAGE_LIBS@
  1566. -+INSTALL = @INSTALL@
  1567. -+INSTALL_DATA = @INSTALL_DATA@
  1568. -+INSTALL_PROGRAM = @INSTALL_PROGRAM@
  1569. -+INSTALL_SCRIPT = @INSTALL_SCRIPT@
  1570. -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  1571. -+LD = @LD@
  1572. -+LDFLAGS = @LDFLAGS@
  1573. -+LIBOBJS = @LIBOBJS@
  1574. -+LIBS = @LIBS@
  1575. -+LIBTOOL = @LIBTOOL@
  1576. -+LIPO = @LIPO@
  1577. -+LN_S = @LN_S@
  1578. -+LTLIBOBJS = @LTLIBOBJS@
  1579. -+LT_AGE = @LT_AGE@
  1580. -+LT_CURRENT = @LT_CURRENT@
  1581. -+LT_REVISION = @LT_REVISION@
  1582. -+MAINT = @MAINT@
  1583. -+MAKEINFO = @MAKEINFO@
  1584. -+MKDIR_P = @MKDIR_P@
  1585. -+NM = @NM@
  1586. -+NMEDIT = @NMEDIT@
  1587. -+OBJDUMP = @OBJDUMP@
  1588. -+OBJEXT = @OBJEXT@
  1589. -+OTOOL = @OTOOL@
  1590. -+OTOOL64 = @OTOOL64@
  1591. -+PACKAGE = @PACKAGE@
  1592. -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  1593. -+PACKAGE_NAME = @PACKAGE_NAME@
  1594. -+PACKAGE_STRING = @PACKAGE_STRING@
  1595. -+PACKAGE_TARNAME = @PACKAGE_TARNAME@
  1596. -+PACKAGE_URL = @PACKAGE_URL@
  1597. -+PACKAGE_VERSION = @PACKAGE_VERSION@
  1598. -+PANGO_CFLAGS = @PANGO_CFLAGS@
  1599. -+PANGO_LIBS = @PANGO_LIBS@
  1600. -+PATH_SEPARATOR = @PATH_SEPARATOR@
  1601. -+PKG_CONFIG = @PKG_CONFIG@
  1602. -+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
  1603. -+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
  1604. -+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
  1605. -+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
  1606. -+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
  1607. -+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
  1608. -+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
  1609. -+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
  1610. -+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
  1611. -+RANLIB = @RANLIB@
  1612. -+RELEASE_FILE = @RELEASE_FILE@
  1613. -+SED = @SED@
  1614. -+SET_MAKE = @SET_MAKE@
  1615. -+SHELL = @SHELL@
  1616. -+STRIP = @STRIP@
  1617. -+VERSION = @VERSION@
  1618. -+abs_builddir = @abs_builddir@
  1619. -+abs_srcdir = @abs_srcdir@
  1620. -+abs_top_builddir = @abs_top_builddir@
  1621. -+abs_top_srcdir = @abs_top_srcdir@
  1622. -+ac_ct_CC = @ac_ct_CC@
  1623. -+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  1624. -+am__include = @am__include@
  1625. -+am__leading_dot = @am__leading_dot@
  1626. -+am__quote = @am__quote@
  1627. -+am__tar = @am__tar@
  1628. -+am__untar = @am__untar@
  1629. -+background_color = @background_color@
  1630. -+background_end_color = @background_end_color@
  1631. -+background_start_color = @background_start_color@
  1632. -+bindir = @bindir@
  1633. -+build = @build@
  1634. -+build_alias = @build_alias@
  1635. -+build_cpu = @build_cpu@
  1636. -+build_os = @build_os@
  1637. -+build_vendor = @build_vendor@
  1638. -+builddir = @builddir@
  1639. -+datadir = @datadir@
  1640. -+datarootdir = @datarootdir@
  1641. -+docdir = @docdir@
  1642. -+dvidir = @dvidir@
  1643. -+exec_prefix = @exec_prefix@
  1644. -+host = @host@
  1645. -+host_alias = @host_alias@
  1646. -+host_cpu = @host_cpu@
  1647. -+host_os = @host_os@
  1648. -+host_vendor = @host_vendor@
  1649. -+htmldir = @htmldir@
  1650. -+includedir = @includedir@
  1651. -+infodir = @infodir@
  1652. -+install_sh = @install_sh@
  1653. -+libdir = @libdir@
  1654. -+libexecdir = @libexecdir@
  1655. -+localedir = @localedir@
  1656. -+localstatedir = @localstatedir@
  1657. -+logofile = @logofile@
  1658. -+lt_ECHO = @lt_ECHO@
  1659. -+mandir = @mandir@
  1660. -+mkdir_p = @mkdir_p@
  1661. -+oldincludedir = @oldincludedir@
  1662. -+pdfdir = @pdfdir@
  1663. -+plymouthclientdir = @plymouthclientdir@
  1664. -+plymouthdaemondir = @plymouthdaemondir@
  1665. -+prefix = @prefix@
  1666. -+program_transform_name = @program_transform_name@
  1667. -+psdir = @psdir@
  1668. -+sbindir = @sbindir@
  1669. -+sharedstatedir = @sharedstatedir@
  1670. -+srcdir = @srcdir@
  1671. -+sysconfdir = @sysconfdir@
  1672. -+target_alias = @target_alias@
  1673. -+top_build_prefix = @top_build_prefix@
  1674. -+top_builddir = @top_builddir@
  1675. -+top_srcdir = @top_srcdir@
  1676. -+INCLUDES = -I$(top_srcdir)                                                    \
  1677. -+           -I$(srcdir)/../../../libply                                        \
  1678. -+           -I$(srcdir)/../../../libply-splash-core                            \
  1679. -+           -I$(srcdir)/../../..                                               \
  1680. -+           -I$(srcdir)/../..                                                  \
  1681. -+           -I$(srcdir)/..                                                     \
  1682. -+           -I$(srcdir)
  1683. -+
  1684. -+plugindir = $(libdir)/plymouth
  1685. -+plugin_LTLIBRARIES = ubuntu-text.la
  1686. -+ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS)                                           \
  1687. -+                 -DPLYMOUTH_BACKGROUND_COLOR=$(background_color)              \
  1688. -+                 -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color)      \
  1689. -+                 -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
  1690. -+
  1691. -+ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
  1692. -+ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS)                                            \
  1693. -+                 ../../../libply/libply.la                                   \
  1694. -+                 ../../../libply-splash-core/libply-splash-core.la
  1695. -+
  1696. -+ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
  1697. -+MAINTAINERCLEANFILES = Makefile.in
  1698. -+all: all-am
  1699. -+
  1700. -+.SUFFIXES:
  1701. -+.SUFFIXES: .c .lo .o .obj
  1702. -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
  1703. -+      @for dep in $?; do \
  1704. -+        case '$(am__configure_deps)' in \
  1705. -+          *$$dep*) \
  1706. -+            ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
  1707. -+              && { if test -f $@; then exit 0; else break; fi; }; \
  1708. -+            exit 1;; \
  1709. -+        esac; \
  1710. -+      done; \
  1711. -+      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile'; \
  1712. -+      $(am__cd) $(top_srcdir) && \
  1713. -+        $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile
  1714. -+.PRECIOUS: Makefile
  1715. -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  1716. -+      @case '$?' in \
  1717. -+        *config.status*) \
  1718. -+          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
  1719. -+        *) \
  1720. -+          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
  1721. -+          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
  1722. -+      esac;
  1723. -+
  1724. -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  1725. -+      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  1726. -+
  1727. -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
  1728. -+      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  1729. -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
  1730. -+      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  1731. -+$(am__aclocal_m4_deps):
  1732. -+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
  1733. -+      @$(NORMAL_INSTALL)
  1734. -+      test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
  1735. -+      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  1736. -+      list2=; for p in $$list; do \
  1737. -+        if test -f $$p; then \
  1738. -+          list2="$$list2 $$p"; \
  1739. -+        else :; fi; \
  1740. -+      done; \
  1741. -+      test -z "$$list2" || { \
  1742. -+        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
  1743. -+        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
  1744. -+      }
  1745. -+
  1746. -+uninstall-pluginLTLIBRARIES:
  1747. -+      @$(NORMAL_UNINSTALL)
  1748. -+      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  1749. -+      for p in $$list; do \
  1750. -+        $(am__strip_dir) \
  1751. -+        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
  1752. -+        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
  1753. -+      done
  1754. -+
  1755. -+clean-pluginLTLIBRARIES:
  1756. -+      -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
  1757. -+      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
  1758. -+        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
  1759. -+        test "$$dir" != "$$p" || dir=.; \
  1760. -+        echo "rm -f \"$${dir}/so_locations\""; \
  1761. -+        rm -f "$${dir}/so_locations"; \
  1762. -+      done
  1763. -+ubuntu-text.la: $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_DEPENDENCIES)
  1764. -+      $(AM_V_CCLD)$(ubuntu_text_la_LINK) -rpath $(plugindir) $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_LIBADD) $(LIBS)
  1765. -+
  1766. -+mostlyclean-compile:
  1767. -+      -rm -f *.$(OBJEXT)
  1768. -+
  1769. -+distclean-compile:
  1770. -+      -rm -f *.tab.c
  1771. -+
  1772. -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ubuntu_text_la-plugin.Plo@am__quote@
  1773. -+
  1774. -+.c.o:
  1775. -+@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  1776. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  1777. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  1778. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  1779. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  1780. -+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
  1781. -+
  1782. -+.c.obj:
  1783. -+@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
  1784. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  1785. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  1786. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  1787. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  1788. -+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
  1789. -+
  1790. -+.c.lo:
  1791. -+@am__fastdepCC_TRUE@  $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  1792. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
  1793. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  1794. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
  1795. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  1796. -+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
  1797. -+
  1798. -+ubuntu_text_la-plugin.lo: $(srcdir)/plugin.c
  1799. -+@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
  1800. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/ubuntu_text_la-plugin.Tpo $(DEPDIR)/ubuntu_text_la-plugin.Plo
  1801. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  1802. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$(srcdir)/plugin.c' object='ubuntu_text_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
  1803. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  1804. -+@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
  1805. -+
  1806. -+mostlyclean-libtool:
  1807. -+      -rm -f *.lo
  1808. -+
  1809. -+clean-libtool:
  1810. -+      -rm -rf .libs _libs
  1811. -+
  1812. -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
  1813. -+      list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
  1814. -+      unique=`for i in $$list; do \
  1815. -+          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  1816. -+        done | \
  1817. -+        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  1818. -+            END { if (nonempty) { for (i in files) print i; }; }'`; \
  1819. -+      mkid -fID $$unique
  1820. -+tags: TAGS
  1821. -+
  1822. -+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  1823. -+              $(TAGS_FILES) $(LISP)
  1824. -+      set x; \
  1825. -+      here=`pwd`; \
  1826. -+      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  1827. -+      unique=`for i in $$list; do \
  1828. -+          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  1829. -+        done | \
  1830. -+        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  1831. -+            END { if (nonempty) { for (i in files) print i; }; }'`; \
  1832. -+      shift; \
  1833. -+      if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
  1834. -+        test -n "$$unique" || unique=$$empty_fix; \
  1835. -+        if test $$# -gt 0; then \
  1836. -+          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  1837. -+            "$$@" $$unique; \
  1838. -+        else \
  1839. -+          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  1840. -+            $$unique; \
  1841. -+        fi; \
  1842. -+      fi
  1843. -+ctags: CTAGS
  1844. -+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  1845. -+              $(TAGS_FILES) $(LISP)
  1846. -+      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  1847. -+      unique=`for i in $$list; do \
  1848. -+          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  1849. -+        done | \
  1850. -+        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  1851. -+            END { if (nonempty) { for (i in files) print i; }; }'`; \
  1852. -+      test -z "$(CTAGS_ARGS)$$unique" \
  1853. -+        || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
  1854. -+           $$unique
  1855. -+
  1856. -+GTAGS:
  1857. -+      here=`$(am__cd) $(top_builddir) && pwd` \
  1858. -+        && $(am__cd) $(top_srcdir) \
  1859. -+        && gtags -i $(GTAGS_ARGS) "$$here"
  1860. -+
  1861. -+distclean-tags:
  1862. -+      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
  1863. -+
  1864. -+distdir: $(DISTFILES)
  1865. -+      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  1866. -+      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  1867. -+      list='$(DISTFILES)'; \
  1868. -+        dist_files=`for file in $$list; do echo $$file; done | \
  1869. -+        sed -e "s|^$$srcdirstrip/||;t" \
  1870. -+            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
  1871. -+      case $$dist_files in \
  1872. -+        */*) $(MKDIR_P) `echo "$$dist_files" | \
  1873. -+                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
  1874. -+                         sort -u` ;; \
  1875. -+      esac; \
  1876. -+      for file in $$dist_files; do \
  1877. -+        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  1878. -+        if test -d $$d/$$file; then \
  1879. -+          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
  1880. -+          if test -d "$(distdir)/$$file"; then \
  1881. -+            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  1882. -+          fi; \
  1883. -+          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  1884. -+            cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
  1885. -+            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  1886. -+          fi; \
  1887. -+          cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
  1888. -+        else \
  1889. -+          test -f "$(distdir)/$$file" \
  1890. -+          || cp -p $$d/$$file "$(distdir)/$$file" \
  1891. -+          || exit 1; \
  1892. -+        fi; \
  1893. -+      done
  1894. -+check-am: all-am
  1895. -+check: check-am
  1896. -+all-am: Makefile $(LTLIBRARIES)
  1897. -+installdirs:
  1898. -+      for dir in "$(DESTDIR)$(plugindir)"; do \
  1899. -+        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  1900. -+      done
  1901. -+install: install-am
  1902. -+install-exec: install-exec-am
  1903. -+install-data: install-data-am
  1904. -+uninstall: uninstall-am
  1905. -+
  1906. -+install-am: all-am
  1907. -+      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  1908. -+
  1909. -+installcheck: installcheck-am
  1910. -+install-strip:
  1911. -+      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  1912. -+        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  1913. -+        `test -z '$(STRIP)' || \
  1914. -+          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
  1915. -+mostlyclean-generic:
  1916. ++# Set the text colour in (rgb / 256)
  1917. ++text_colour.red = 1.0;
  1918. ++text_colour.green = 1.0;
  1919. ++text_colour.blue = 1.0;
  1920.  +
  1921. -+clean-generic:
  1922. ++# Tinted text #988592
  1923. ++tinted_text_colour.red = 0.59;
  1924. ++tinted_text_colour.green = 0.52;
  1925. ++tinted_text_colour.blue = 0.57;
  1926.  +
  1927. -+distclean-generic:
  1928. -+      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
  1929. -+      -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
  1930. ++# Action Text - #ffffff - RGB 255 255 255
  1931. ++action_text_colour.red = 1.0;
  1932. ++action_text_colour.green = 1.0;
  1933. ++action_text_colour.blue = 1.0;
  1934.  +
  1935. -+maintainer-clean-generic:
  1936. -+      @echo "This command is intended for maintainers to use"
  1937. -+      @echo "it deletes files that may require special tools to rebuild."
  1938. -+      -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
  1939. -+clean: clean-am
  1940. ++# Orange - #ff4012 - RGB 255 64 18
  1941. ++debugsprite = Sprite();
  1942. ++debugsprite_bottom = Sprite();
  1943. ++debugsprite_medium = Sprite();
  1944.  +
  1945. -+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
  1946. -+      mostlyclean-am
  1947. ++# are we currently prompting for a password?
  1948. ++prompt_active = 0;
  1949.  +
  1950. -+distclean: distclean-am
  1951. -+      -rm -rf ./$(DEPDIR)
  1952. -+      -rm -f Makefile
  1953. -+distclean-am: clean-am distclean-compile distclean-generic \
  1954. -+      distclean-tags
  1955. ++# General purpose function to create text
  1956. ++fun WriteText (text, colour) {
  1957. ++    image = Image.Text (text, colour.red, colour.green, colour.blue);
  1958. ++    return image;
  1959. ++}
  1960.  +
  1961. -+dvi: dvi-am
  1962. ++fun ImageToText (text) {
  1963. ++    image = WriteText (text, text_colour);
  1964. ++    return image;
  1965. ++}
  1966.  +
  1967. -+dvi-am:
  1968. ++fun ImageToTintedText (text) {
  1969. ++    image = WriteText (text, tinted_text_colour);
  1970. ++    return image;
  1971. ++}
  1972.  +
  1973. -+html: html-am
  1974. ++fun ImageToActionText (text) {
  1975. ++    image = WriteText (text, action_text_colour);
  1976. ++    return image;
  1977. ++}
  1978.  +
  1979. -+html-am:
  1980. ++fun Debug(text) {
  1981. ++    debugsprite.SetImage(ImageToText (text));
  1982. ++}
  1983.  +
  1984. -+info: info-am
  1985. ++fun DebugBottom(text) {
  1986. ++    debugsprite_bottom.SetImage(ImageToText (text));
  1987. ++    debugsprite_bottom.SetPosition(0, (Window.GetHeight (0) - 20), 1);
  1988. ++}
  1989.  +
  1990. -+info-am:
  1991. ++fun DebugMedium(text) {
  1992. ++    debugsprite_medium.SetImage(ImageToText (text));
  1993. ++    debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 60), 1);
  1994. ++}
  1995.  +
  1996. -+install-data-am: install-pluginLTLIBRARIES
  1997. ++fun TextYOffset() {
  1998. ++    local.y;
  1999. ++    local.text_height;
  2000. ++    local.min_height;
  2001.  +
  2002. -+install-dvi: install-dvi-am
  2003. ++    # Put the 1st line below the logo + some spacing
  2004. ++    y = logo.y + logo.height + (progress_indicator.bullet_height * 7 ); # + logo_spacing;
  2005.  +
  2006. -+install-dvi-am:
  2007. ++    text_height = first_line_height * 7.5;
  2008.  +
  2009. -+install-exec-am:
  2010. ++    min_height = Window.GetHeight();
  2011. ++    if (y + text_height > min_height)
  2012. ++        y = min_height - text_height;
  2013.  +
  2014. -+install-html: install-html-am
  2015. ++    if (y < progress_indicator.y + progress_indicator.height)
  2016. ++        return progress_indicator.y + progress_indicator.height;
  2017. ++    return y;
  2018. ++}
  2019.  +
  2020. -+install-html-am:
  2021. ++#------------------------------String functions-------------------------------
  2022.  +
  2023. -+install-info: install-info-am
  2024. ++# This is the equivalent for strstr()
  2025. ++fun StringString(string, substring) {
  2026. ++    start = 0;
  2027. ++    while (String(string).CharAt (start)) {
  2028. ++        walk = 0;
  2029. ++        while (String(substring).CharAt (walk) == String(string).CharAt (start + walk) ) {
  2030. ++            walk++;
  2031. ++            if (!String(substring).CharAt (walk)) return start;
  2032. ++        }
  2033. ++        start++;
  2034. ++    }
  2035. ++    
  2036. ++    return NULL;
  2037. ++}
  2038.  +
  2039. -+install-info-am:
  2040. ++fun StringLength (string) {
  2041. ++    index = 0;
  2042. ++    while (String(string).CharAt(index)) index++;
  2043. ++    return index;
  2044. ++}
  2045.  +
  2046. -+install-man:
  2047. ++fun StringCopy (source, beginning, end) {
  2048. ++    local.destination = "";
  2049. ++    for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) {
  2050. ++        local.destination += String(source).CharAt(index);
  2051. ++    }
  2052. ++    
  2053. ++    return local.destination;
  2054. ++}
  2055.  +
  2056. -+install-pdf: install-pdf-am
  2057. ++fun StringReplace (source, pattern, replacement) {
  2058. ++    local.found = StringString(source, pattern);
  2059. ++    if (local.found == NULL)
  2060. ++        return source;
  2061.  +
  2062. -+install-pdf-am:
  2063. ++    local.new_string = StringCopy (source, 0, local.found - 1) +
  2064. ++                       replacement +
  2065. ++                       StringCopy (source, local.found + StringLength(pattern), NULL);
  2066.  +
  2067. -+install-ps: install-ps-am
  2068. ++    return local.new_string;
  2069. ++}
  2070.  +
  2071. -+install-ps-am:
  2072. ++# it makes sense to use it only for
  2073. ++# numbers up to 100
  2074. ++fun StringToInteger (str) {
  2075. ++    int = -1;
  2076. ++    for (i=0; i<=100; i++) {
  2077. ++        if (i+"" == str) {
  2078. ++            int = i;
  2079. ++            break;
  2080. ++        }
  2081. ++    }
  2082. ++    return int;
  2083. ++}
  2084.  +
  2085. -+installcheck-am:
  2086. ++#-----------------------------------------------------------------------------
  2087. ++# Previous background colour
  2088. ++# #300a24 --> 0.19, 0.04, 0.14
  2089. ++# New background colour
  2090. ++# #2c001e --> 0.16, 0.00, 0.12
  2091. ++#
  2092. ++Window.SetBackgroundTopColor (0.16, 0.00, 0.12);     # Nice colour on top of the screen fading to
  2093. ++Window.SetBackgroundBottomColor (0.16, 0.00, 0.12);  # an equally nice colour on the bottom
  2094.  +
  2095. -+maintainer-clean: maintainer-clean-am
  2096. -+      -rm -rf ./$(DEPDIR)
  2097. -+      -rm -f Makefile
  2098. -+maintainer-clean-am: distclean-am maintainer-clean-generic
  2099. ++bits_per_pixel = Window.GetBitsPerPixel ();
  2100. ++if (bits_per_pixel == 4) {
  2101. ++    logo_filename = "ubuntu_logo16.png";
  2102. ++    progress_dot_off_filename = "progress_dot_off16.png";
  2103. ++    progress_dot_on_filename = "progress_dot_on16.png";
  2104. ++    password_field_filename = "password_field16.png";
  2105. ++} else {
  2106. ++    logo_filename = "ubuntu_logo.png";
  2107. ++    progress_dot_off_filename = "progress_dot_off.png";
  2108. ++    progress_dot_on_filename = "progress_dot_on.png";
  2109. ++    password_field_filename = "password_field.png";
  2110. ++}
  2111.  +
  2112. -+mostlyclean: mostlyclean-am
  2113. ++logo.image = Image (logo_filename);
  2114. ++logo.sprite = Sprite ();
  2115. ++logo.sprite.SetImage (logo.image);
  2116. ++logo.width = logo.image.GetWidth ();
  2117. ++logo.height = logo.image.GetHeight ();
  2118. ++logo.x = Window.GetX () + Window.GetWidth () / 2 - logo.width  / 2;
  2119. ++logo.y = Window.GetY () + Window.GetHeight () / 2 - logo.height;
  2120. ++logo.z = 1000;
  2121. ++logo.sprite.SetX (logo.x);
  2122. ++logo.sprite.SetY (logo.y);
  2123. ++logo.sprite.SetZ (logo.z);
  2124. ++logo.sprite.SetOpacity (1);
  2125.  +
  2126. -+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
  2127. -+      mostlyclean-libtool
  2128. ++# Spacing below the logo - in pixels
  2129. ++logo_spacing = logo.height * 4;
  2130.  +
  2131. -+pdf: pdf-am
  2132. ++message_notification[0].image = ImageToTintedText ("");
  2133. ++message_notification[1].image = ImageToTintedText ("");
  2134. ++fsck_notification.image = ImageToActionText ("");
  2135.  +
  2136. -+pdf-am:
  2137. ++status = "normal";
  2138.  +
  2139. -+ps: ps-am
  2140. ++progress_indicator.bullet_off = Image (progress_dot_off_filename);
  2141. ++progress_indicator.bullet_on = Image (progress_dot_on_filename);
  2142. ++progress_indicator.bullet_width = progress_indicator.bullet_off.GetWidth ();
  2143. ++progress_indicator.bullet_height = progress_indicator.bullet_off.GetHeight ();
  2144. ++progress_indicator.bullet_hspacing = progress_indicator.bullet_width * 1.1;
  2145. ++progress_indicator.width = progress_indicator.bullet_width * 5;
  2146. ++progress_indicator.height = progress_indicator.bullet_height;
  2147. ++progress_indicator.y = logo.y + logo.height + (logo.height / 4);
  2148. ++progress_indicator.x = Window.GetX () + Window.GetWidth () / 2 - progress_indicator.width / 2; # logo.x + 26;
  2149.  +
  2150. -+ps-am:
  2151. ++# use a fixed string with ascending and descending stems to calibrate the
  2152. ++# bounding box for the first message, so the messages below don't move up
  2153. ++# and down according to *their* height.
  2154. ++first_line_height = ImageToTintedText ("AfpqtM").GetHeight();
  2155.  +
  2156. -+uninstall-am: uninstall-pluginLTLIBRARIES
  2157. ++# if the user has a 640x480 or 800x600 display, we can't quite fit everything
  2158. ++# (including passphrase prompts) with the target spacing, so scoot the text up
  2159. ++# a bit if needed.
  2160. ++top_of_the_text = TextYOffset();
  2161.  +
  2162. -+.MAKE: install-am install-strip
  2163. ++#-----------------------------------------Logo functions------------------------------
  2164.  +
  2165. -+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
  2166. -+      clean-libtool clean-pluginLTLIBRARIES ctags distclean \
  2167. -+      distclean-compile distclean-generic distclean-libtool \
  2168. -+      distclean-tags distdir dvi dvi-am html html-am info info-am \
  2169. -+      install install-am install-data install-data-am install-dvi \
  2170. -+      install-dvi-am install-exec install-exec-am install-html \
  2171. -+      install-html-am install-info install-info-am install-man \
  2172. -+      install-pdf install-pdf-am install-pluginLTLIBRARIES \
  2173. -+      install-ps install-ps-am install-strip installcheck \
  2174. -+      installcheck-am installdirs maintainer-clean \
  2175. -+      maintainer-clean-generic mostlyclean mostlyclean-compile \
  2176. -+      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
  2177. -+      tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
  2178. ++# Call this when updating the screen
  2179. ++fun draw_logo () {
  2180. ++    logo.sprite.SetX (logo.x);
  2181. ++    logo.sprite.SetY (logo.y);
  2182. ++    logo.sprite.SetZ (logo.z);
  2183. ++    logo.sprite.SetOpacity (1);
  2184. ++}
  2185.  +
  2186.  +
  2187. -+# Tell versions [3.59,3.63) of GNU make to not export all variables.
  2188. -+# Otherwise a system limit (for SysV at least) may be exceeded.
  2189. -+.NOEXPORT:
  2190. ---- /dev/null
  2191. -+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/plugin.c
  2192. -@@ -0,0 +1,795 @@
  2193. -+/* ubuntu-text.c - boot splash plugin
  2194. -+ *
  2195. -+ * Copyright (C) 2010 Canonical Ltd.
  2196. -+ * Copyright (C) 2008 Red Hat, Inc.
  2197. -+ *
  2198. -+ * This program is free software; you can redistribute it and/or modify
  2199. -+ * it under the terms of the GNU General Public License as published by
  2200. -+ * the Free Software Foundation; either version 2, or (at your option)
  2201. -+ * any later version.
  2202. -+ *
  2203. -+ * This program is distributed in the hope that it will be useful,
  2204. -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
  2205. -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  2206. -+ * GNU General Public License for more details.
  2207. -+ *
  2208. -+ * You should have received a copy of the GNU General Public License
  2209. -+ * along with this program; if not, write to the Free Software
  2210. -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  2211. -+ * 02111-1307, USA.
  2212. -+ *
  2213. -+ * Written by: Scott James Remnant <scott@ubuntu.com>
  2214. -+ *             Adam Jackson <ajax@redhat.com>
  2215. -+ *             Ray Strode <rstrode@redhat.com>
  2216. -+ */
  2217. -+#include "config.h"
  2218. ++#-----------------------------------------Progress Indicator--------------------------
  2219. ++fun set_progress_indicator () {
  2220. ++    
  2221. ++    
  2222. ++    # Here we assume that we can store half bullets on each half of the screen
  2223. ++    # together with some spacing
  2224. ++    local.x = progress_indicator.x;
  2225. ++    
  2226. ++    for (index = 0; index <= 4; index++) {
  2227. ++        # Set the "off" bullets
  2228. ++        progress_indicator.bullets_off[index].sprite = Sprite (progress_indicator.bullet_off);
  2229. ++        progress_indicator.bullets_off[index].sprite.SetPosition (local.x, progress_indicator.y, 1000);
  2230. ++        progress_indicator.bullets_off[index].x = local.x;
  2231. ++        progress_indicator.bullets_off[index].y = progress_indicator.y;
  2232. ++        progress_indicator.bullets_off[index].sprite.SetOpacity (1);
  2233. ++        
  2234. ++        #local.debug_medium_string = "Progress indicator " + index + ": x = " + progress_indicator.bullets_off[index].x +
  2235. ++        #                  ", y = " + progress_indicator.bullets_off[index].y  + ", logo width = " + logo.width +
  2236. ++        #                  ", logo height = " + logo.height + " " + screen_width + " " + screen_height;
  2237. ++        #  
  2238. ++        #(index % 2) && DebugMedium (local.debug_medium_string) || DebugBottom (local.debug_medium_string);
  2239.  +
  2240. -+#include <assert.h>
  2241. -+#include <errno.h>
  2242. -+#include <fcntl.h>
  2243. -+#include <math.h>
  2244. -+#include <signal.h>
  2245. -+#include <stdbool.h>
  2246. -+#include <stdio.h>
  2247. -+#include <stdint.h>
  2248. -+#include <stdlib.h>
  2249. -+#include <string.h>
  2250. -+#include <sys/ioctl.h>
  2251. -+#include <sys/stat.h>
  2252. -+#include <sys/time.h>
  2253. -+#include <sys/types.h>
  2254. -+#include <termios.h>
  2255. -+#include <unistd.h>
  2256. -+#include <values.h>
  2257. -+#include <wchar.h>
  2258. ++        # Set the "on" bullets on top of the "off" bullets and make them transparent
  2259. ++        progress_indicator.bullets_on[index].sprite = Sprite (progress_indicator.bullet_on);
  2260. ++        progress_indicator.bullets_on[index].x = progress_indicator.bullets_off[index].x;
  2261. ++        progress_indicator.bullets_on[index].y = progress_indicator.bullets_off[index].y;
  2262. ++        progress_indicator.bullets_on[index].sprite.SetPosition (progress_indicator.bullets_on[index].x, progress_indicator.bullets_on[index].y, 10000);
  2263.  +
  2264. -+#include "ply-trigger.h"
  2265. -+#include "ply-boot-splash-plugin.h"
  2266. -+#include "ply-buffer.h"
  2267. -+#include "ply-event-loop.h"
  2268. -+#include "ply-key-file.h"
  2269. -+#include "ply-list.h"
  2270. -+#include "ply-logger.h"
  2271. -+#include "ply-text-display.h"
  2272. -+#include "ply-text-progress-bar.h"
  2273. -+#include "ply-utils.h"
  2274. ++        progress_indicator.bullets_on[index].sprite.SetOpacity (0);
  2275. ++        
  2276. ++        local.x += progress_indicator.bullet_hspacing;
  2277. ++    }
  2278. ++    #local.debug_string = "Progress indicator: x1 = " + progress_indicator.x + ", x2 = " + local.x + ", y = " + progress_indicator.y +
  2279. ++    #                      ", x logo = " + logo.x + ", y logo = " + logo.y + ", indicator width = " + progress_indicator.width;
  2280. ++    #Debug(progress_indicator.bullets_off[0].x);
  2281. ++}
  2282.  +
  2283. -+#include <linux/kd.h>
  2284.  +
  2285. -+#define CLEAR_LINE_SEQUENCE "\033[2K\r\n"
  2286. -+#define BACKSPACE "\b\033[0K"
  2287. ++# We have 2 bullets, one on top of the other:
  2288. ++# The white one is on top of the red one and the former should
  2289. ++# slowly fade so as to get a nice transition effect.
  2290. ++fun switch_on_bullet (bullets_off, bullets_on, bullet_number, opacity) {
  2291. ++    local.x = bullets_on[bullet_number].x;
  2292. ++    local.y = bullets_on[bullet_number].y;
  2293. ++    local.z = bullets_on[bullet_number].z;
  2294. ++    
  2295. ++    # Hide the bullets which are off
  2296. ++    bullets_off[bullet_number].sprite.SetOpacity (0);
  2297. ++    
  2298. ++    # Show the bullets which are on
  2299. ++    bullets_on[bullet_number].sprite.SetPosition (local.x, local.y, local.z);
  2300. ++    bullets_on[bullet_number].sprite.SetOpacity (opacity);
  2301. ++    
  2302. ++    # Bump the number of times we have switched on bullets
  2303. ++    global.times_bullets_switched++;
  2304. ++}
  2305.  +
  2306. -+typedef enum {
  2307. -+   PLY_BOOT_SPLASH_DISPLAY_NORMAL,
  2308. -+   PLY_BOOT_SPLASH_DISPLAY_QUESTION_ENTRY,
  2309. -+   PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY
  2310. -+} ply_boot_splash_display_type_t;
  2311. ++fun switch_off_bullets () {
  2312. ++    # Debug("Switching off progress indicator");
  2313. ++    
  2314. ++    set_progress_indicator ();
  2315. ++    global.times_bullets_switched = 0;
  2316. ++    global.on_off = 1;
  2317. ++}
  2318.  +
  2319. -+struct _ply_boot_splash_plugin
  2320. -+{
  2321. -+  ply_event_loop_t *loop;
  2322. -+  ply_boot_splash_mode_t mode;
  2323. ++# This is something that we can call when we exit
  2324. ++fun switch_on_bullets () {
  2325. ++    # Debug("Switching off progress indicator");
  2326. ++    if (!global.progress_indicator.bullets_on) set_progress_indicator ();
  2327. ++    local = global.progress_indicator;
  2328.  +
  2329. -+  ply_list_t *views;
  2330. ++    for (index = 0; bullets_on[index]; index++) {
  2331. ++        switch_on_bullet (bullets_off, bullets_on, index, 1.0);
  2332. ++    }
  2333. ++}
  2334.  +
  2335. -+  ply_boot_splash_display_type_t state;
  2336.  +
  2337. -+  char *message;
  2338. ++# Implement in boot progress callback
  2339. ++fun animate_progress_indicator (progress, time) {
  2340. ++    if (global.progress_time == NULL) {
  2341. ++        global.progress_time = progress;  #time;
  2342. ++        switch_off_bullets ();
  2343. ++    }
  2344.  +
  2345. -+  uint32_t is_animating : 1;
  2346. -+};
  2347. ++#    Debug ("progress = " + progress + ", time = " + time + " times switched = " + global.times_bullets_switched + " on_off " + global.on_off);
  2348.  +
  2349. -+typedef struct
  2350. -+{
  2351. -+  ply_boot_splash_plugin_t *plugin;
  2352. -+  ply_text_display_t *display;
  2353. ++#    if (global.times_bullets_switched == NULL)
  2354. ++#        global.times_bullets_switched = 5;
  2355.  +
  2356. -+} view_t;
  2357. ++#    if (global.on_off == NULL)
  2358. ++#        global.on_off = 0;
  2359.  +
  2360. -+static void hide_splash_screen (ply_boot_splash_plugin_t *plugin,
  2361. -+                                ply_event_loop_t         *loop);
  2362. ++    if ((progress - global.progress_time) >= 1.0) {
  2363. ++        global.progress_time = progress;
  2364. ++        
  2365. ++        if (global.times_bullets_switched == 5) {
  2366. ++            # Change which bullets are switched on
  2367. ++            # and which ones are switched off
  2368. ++            global.on_off = !global.on_off;
  2369. ++            global.times_bullets_switched = 0;
  2370. ++        }
  2371. ++        
  2372. ++        if (global.on_off) {
  2373. ++            switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
  2374. ++                              global.times_bullets_switched, 1.0);
  2375. ++        }
  2376. ++        else {
  2377. ++            switch_on_bullet (progress_indicator.bullets_on, progress_indicator.bullets_off,
  2378. ++                              global.times_bullets_switched, 1.0);
  2379. ++        }
  2380. ++    }
  2381. ++    
  2382. ++    
  2383. ++    # Start setting bullets to "on" with translucency
  2384. ++#    for (index = 0; index <= 5; index++) {
  2385. ++#        opacity = 0.0;
  2386. ++#        while (opacity <= 1.0) {
  2387. ++#            switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
  2388. ++#                              index, opacity);
  2389. ++#            opacity += 0.1;
  2390. ++#        }
  2391. ++#    }
  2392. ++}
  2393.  +
  2394. -+static view_t *
  2395. -+view_new (ply_boot_splash_plugin_t *plugin,
  2396. -+          ply_text_display_t       *display)
  2397. -+{
  2398. -+  view_t *view;
  2399.  +
  2400. -+  view = calloc (1, sizeof (view_t));
  2401. -+  view->plugin = plugin;
  2402. -+  view->display = display;
  2403. ++#-----------------------------------------Label utility functions---------------------
  2404.  +
  2405. -+  return view;
  2406. -+}
  2407. ++# label should be either a string or NULL
  2408. ++# Images for n lines will be created and returned as items of the
  2409. ++# message_label array
  2410. ++#
  2411. ++fun get_message_label (label, is_fake, is_action_line) {
  2412. ++    # Debug("Get Label position");
  2413. ++    local.message_label;
  2414. ++    
  2415. ++    if (is_fake)
  2416. ++        # Create a fake label so as to get the y coordinate of
  2417. ++        # a standard-length label.
  2418. ++        local.message_image = ImageToTintedText ("This is a fake message");
  2419. ++    else
  2420. ++        local.message_image = (is_action_line) && ImageToActionText (label) || ImageToTintedText (label);
  2421. ++        
  2422. ++    message_label.width = message_image.GetWidth ();
  2423. ++    message_label.height = message_image.GetHeight ();
  2424.  +
  2425. -+static void
  2426. -+view_free (view_t *view)
  2427. -+{
  2428. -+  free (view);
  2429. -+}
  2430. ++    # Center the line horizontally
  2431. ++    message_label.x = Window.GetX () + Window.GetWidth () / 2 - message_label.width / 2;
  2432.  +
  2433. -+static void
  2434. -+view_show_message (view_t *view)
  2435. -+{
  2436. -+  ply_boot_splash_plugin_t *plugin;
  2437. -+  int display_width, display_height, y;
  2438. -+  ply_terminal_color_t color;
  2439. -+  char *message;
  2440. ++    message_label.y = top_of_the_text;
  2441.  +
  2442. -+  plugin = view->plugin;
  2443. ++    # Put the 2nd line below the fsck line
  2444. ++    if (is_action_line) {
  2445. ++        local.fsck_label.y = message_label.y + (first_line_height + first_line_height / 2);
  2446. ++        message_label.y = local.fsck_label.y + (first_line_height * 2);
  2447. ++    }
  2448.  +
  2449. -+  display_width = ply_text_display_get_number_of_columns (view->display);
  2450. -+  display_height = ply_text_display_get_number_of_rows (view->display);
  2451. ++    # Debug("action label x = " + message_label.x + " y = " + message_label.y );
  2452.  +
  2453. -+  if (!strncmp (plugin->message, "keys:", 5))
  2454. -+    {
  2455. -+      message = plugin->message + 5;
  2456. -+      color = PLY_TERMINAL_COLOR_WHITE;
  2457. -+      y = display_height - 4;
  2458. -+    }
  2459. -+  else
  2460. -+    {
  2461. -+      message = plugin->message;
  2462. -+      color = PLY_TERMINAL_COLOR_BLUE;
  2463. -+      y = display_height / 2 + 7;
  2464. -+    }
  2465. ++#    message_debug = "msg_x = " + message_label.x + " msg_y = " + message_label.y +
  2466. ++#                    "msg_width = " + message_label.width + " msg_height = " +
  2467. ++#                    message_label.height + " message = " + label;
  2468. ++#    Debug(message_debug);
  2469. ++    
  2470. ++    return message_label;
  2471.  +
  2472. -+  ply_text_display_set_cursor_position (view->display, 0, y);
  2473. -+  ply_text_display_clear_line (view->display);
  2474. -+  ply_text_display_set_cursor_position (view->display,
  2475. -+                                        (display_width -
  2476. -+                                        strlen (message)) / 2,
  2477. -+                                        y);
  2478. ++}
  2479.  +
  2480. -+  ply_text_display_set_foreground_color (view->display, color);
  2481. -+  ply_text_display_write (view->display, "%s", message);
  2482. ++# Create an fsck label and/or get its position
  2483. ++fun get_fsck_label (label, is_fake) {
  2484. ++    # Debug("Get Label position");
  2485. ++    local.fsck_label = global.progress_label;
  2486. ++    
  2487. ++    if (is_fake)
  2488. ++        fsck_label.image = ImageToTintedText ("This is a fake message");
  2489. ++    else
  2490. ++        fsck_label.image = ImageToTintedText (label);
  2491. ++    
  2492. ++    fsck_label.width = fsck_label.image.GetWidth ();
  2493. ++    fsck_label.height = fsck_label.image.GetHeight ();
  2494. ++    
  2495. ++    # Centre the label horizontally
  2496. ++    fsck_label.x = Window.GetX () + Window.GetWidth () / 2 - fsck_label.width / 2;
  2497. ++    
  2498. ++    local.first_label = get_message_label (label, 1, 0);
  2499. ++    
  2500. ++    # Place the label below the 1st message line
  2501. ++    fsck_label.y = local.first_label.y + local.first_label.height + (local.first_label.height / 2);
  2502. ++    
  2503. ++#    message_debug = "msg_x = " + fsck_label.x + " msg_y = " + fsck_label.y +
  2504. ++#                    "msg_width = " + fsck_label.width + " msg_height = " +
  2505. ++#                    fsck_label.height + " message = " + label;
  2506. ++#    Debug(message_debug);
  2507. ++    
  2508. ++    return fsck_label;
  2509.  +}
  2510.  +
  2511. -+static void
  2512. -+view_show_prompt (view_t     *view,
  2513. -+                  const char *prompt,
  2514. -+                  const char *entered_text)
  2515. -+{
  2516. -+  ply_boot_splash_plugin_t *plugin;
  2517. -+  int display_width, display_height;
  2518. -+  int i;
  2519. ++#-----------------------------------------Message stuff --------------------------------
  2520. ++#
  2521.  +
  2522. -+  plugin = view->plugin;
  2523. ++# Set up a message label
  2524. ++#
  2525. ++# NOTE: this is called when doing something like 'plymouth message "hello world"'
  2526. ++#
  2527. ++fun setup_message (message_text, x, y, z, index) {
  2528. ++    # Debug("Message setup");
  2529. ++    global.message_notification[index].image = (index) && ImageToActionText (message_text) || ImageToTintedText (message_text);
  2530.  +
  2531. -+  display_width = ply_text_display_get_number_of_columns (view->display);
  2532. -+  display_height = ply_text_display_get_number_of_rows (view->display);
  2533. ++    # Set up the text message, if any
  2534. ++    message_notification[index].x = x;
  2535. ++    message_notification[index].y = y;
  2536. ++    message_notification[index].z = z;
  2537. ++    
  2538. ++    message_notification[index].sprite = Sprite ();
  2539. ++    message_notification[index].sprite.SetImage (message_notification[index].image);
  2540. ++    message_notification[index].sprite.SetX (message_notification[index].x);
  2541. ++    message_notification[index].sprite.SetY (message_notification[index].y);
  2542. ++    message_notification[index].sprite.SetZ (message_notification[index].z);
  2543.  +
  2544. -+  ply_text_display_set_cursor_position (view->display, 0,
  2545. -+                                        display_height / 2 + 8);
  2546. -+  ply_text_display_clear_line (view->display);
  2547. -+  ply_text_display_set_cursor_position (view->display,
  2548. -+                                        display_width / 2 - (strlen (prompt)),
  2549. -+                                        display_height / 2 + 8);
  2550. ++}
  2551.  +
  2552. -+  ply_text_display_write (view->display, "%s:%s", prompt, entered_text);
  2553. ++fun show_message (index) {
  2554. ++    if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(1);
  2555. ++}
  2556.  +
  2557. -+  ply_text_display_show_cursor (view->display);
  2558. ++fun hide_message (index) {
  2559. ++    if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(0);
  2560.  +}
  2561.  +
  2562. -+static void
  2563. -+view_start_animation (view_t *view)
  2564. -+{
  2565. -+  ply_boot_splash_plugin_t *plugin;
  2566. -+  ply_terminal_t *terminal;
  2567.  +
  2568. -+  assert (view != NULL);
  2569.  +
  2570. -+  plugin = view->plugin;
  2571.  +
  2572. -+  terminal = ply_text_display_get_terminal (view->display);
  2573. ++# the callback function is called when new message should be displayed.
  2574. ++# First arg is message to display.
  2575. ++fun message_callback (message)
  2576. ++{
  2577. ++    # Debug("Message callback");
  2578. ++    is_fake = 0;
  2579. ++    if (!message || (message == "")) is_fake = 1;
  2580. ++    
  2581. ++    local.substring = "keys:";
  2582. ++    
  2583. ++    # Look for the "keys:" prefix
  2584. ++    local.keys = StringString(message, local.substring);
  2585. ++    
  2586. ++    local.is_action_line = (keys != NULL);
  2587. ++    #Debug("keys " + local.keys + " substring length = " + StringLength(local.substring));
  2588. ++
  2589. ++    # Get the message without the "keys:" prefix
  2590. ++    if (keys != NULL)
  2591. ++        message = StringCopy (message, keys + StringLength(local.substring), NULL);
  2592.  +
  2593. -+  ply_terminal_set_color_hex_value (terminal,
  2594. -+                                    PLY_TERMINAL_COLOR_BLACK,
  2595. -+                                    0x2c001e);
  2596. -+  ply_terminal_set_color_hex_value (terminal,
  2597. -+                                    PLY_TERMINAL_COLOR_WHITE,
  2598. -+                                    0xffffff);
  2599. -+  ply_terminal_set_color_hex_value (terminal,
  2600. -+                                    PLY_TERMINAL_COLOR_BROWN,
  2601. -+                                    0xff4012);
  2602. -+  ply_terminal_set_color_hex_value (terminal,
  2603. -+                                    PLY_TERMINAL_COLOR_BLUE,
  2604. -+                                    0x988592);
  2605. ++    local.label.is_fake = is_fake;
  2606. ++    label = get_message_label(message, is_fake, is_action_line);
  2607. ++    label.z = 10000;
  2608. ++    
  2609. ++    setup_message (message, label.x, label.y, label.z, is_action_line);
  2610. ++    if (prompt_active && local.is_action_line)
  2611. ++        hide_message (is_action_line);
  2612. ++    else
  2613. ++        show_message (is_action_line);
  2614.  +
  2615. -+  ply_text_display_set_background_color (view->display,
  2616. -+                                         PLY_TERMINAL_COLOR_BLACK);
  2617. -+  ply_text_display_clear_screen (view->display);
  2618. -+  ply_text_display_hide_cursor (view->display);
  2619.  +}
  2620.  +
  2621. -+static void
  2622. -+view_redraw (view_t *view)
  2623. -+{
  2624. -+  unsigned long screen_width, screen_height;
  2625.  +
  2626. -+  screen_width = ply_text_display_get_number_of_columns (view->display);
  2627. -+  screen_height = ply_text_display_get_number_of_rows (view->display);
  2628. ++#-----------------------------------------Display Password stuff -----------------------
  2629. ++#
  2630.  +
  2631. -+  ply_text_display_draw_area (view->display, 0, 0,
  2632. -+                              screen_width, screen_height);
  2633. -+}
  2634. ++fun password_dialogue_setup (message_label) {
  2635. ++    # Debug("Password dialog setup");
  2636. ++    
  2637. ++    local.entry;
  2638. ++    local.bullet_image;
  2639. ++    
  2640. ++    bullet_image = Image (progress_dot_off_filename);
  2641. ++    entry.image = Image (password_field_filename);
  2642. ++    
  2643. ++    # Hide the normal labels
  2644. ++    prompt_active = 1;
  2645. ++    if (message_notification[1].sprite) hide_message (1);
  2646. ++    
  2647. ++    # Set the prompt label
  2648. ++    label = get_message_label(message_label, 0, 1);
  2649. ++    label.z = 10000;
  2650. ++    
  2651. ++    setup_message (message_label, label.x, label.y, label.z, 2);
  2652. ++    show_message (2);
  2653.  +
  2654. -+static void
  2655. -+redraw_views (ply_boot_splash_plugin_t *plugin)
  2656. -+{
  2657. -+  ply_list_node_t *node;
  2658. ++    # Set up the text entry which contains the bullets
  2659. ++    entry.sprite = Sprite ();
  2660. ++    entry.sprite.SetImage (entry.image);
  2661. ++    
  2662. ++    # Centre the box horizontally
  2663. ++    entry.x = Window.GetX () + Window.GetWidth () / 2 - entry.image.GetWidth () / 2;
  2664.  +
  2665. -+  node = ply_list_get_first_node (plugin->views);
  2666. -+  while (node != NULL)
  2667. -+    {
  2668. -+      ply_list_node_t *next_node;
  2669. -+      view_t *view;
  2670. ++    # Put the entry below the second label.
  2671. ++    entry.y = message_notification[2].y + label.height;
  2672.  +
  2673. -+      view = ply_list_node_get_data (node);
  2674. -+      next_node = ply_list_get_next_node (plugin->views, node);
  2675. ++    #Debug ("entry x = " + entry.x + ", y = " + entry.y);
  2676. ++    entry.z = 10000;
  2677. ++    entry.sprite.SetX (entry.x);
  2678. ++    entry.sprite.SetY (entry.y);
  2679. ++    entry.sprite.SetZ (entry.z);
  2680.  +
  2681. -+      view_redraw (view);
  2682. ++    global.password_dialogue = local;
  2683. ++}
  2684.  +
  2685. -+      node = next_node;
  2686. ++fun password_dialogue_opacity (opacity) {
  2687. ++    # Debug("Password dialog opacity");
  2688. ++    global.password_dialogue.opacity = opacity;
  2689. ++    local = global.password_dialogue;
  2690. ++
  2691. ++    # You can make the box translucent with a float
  2692. ++    # entry.sprite.SetOpacity (0.3);
  2693. ++    entry.sprite.SetOpacity (opacity);
  2694. ++    label.sprite.SetOpacity (opacity);
  2695. ++    
  2696. ++    if (bullets) {
  2697. ++        for (index = 0; bullets[index]; index++) {
  2698. ++            bullets[index].sprite.SetOpacity (opacity);
  2699. ++        }
  2700.  +    }
  2701.  +}
  2702.  +
  2703. -+static void
  2704. -+view_hide (view_t *view)
  2705. -+{
  2706. -+  if (view->display != NULL)
  2707. -+    {
  2708. -+      ply_terminal_t *terminal;
  2709.  +
  2710. -+      terminal = ply_text_display_get_terminal (view->display);
  2711. ++# The callback function is called when the display should display a password dialogue.
  2712. ++# First arg is prompt string, the second is the number of bullets.
  2713. ++fun display_password_callback (prompt, bullets) {
  2714. ++    # Debug("Password dialog setup");
  2715. ++    
  2716. ++    global.status = "password";
  2717. ++    if (!global.password_dialogue) password_dialogue_setup(prompt);
  2718. ++    password_dialogue_opacity (1);
  2719. ++    bullet_width = password_dialogue.bullet_image.GetWidth();
  2720. ++    bullet_y = password_dialogue.entry.y +
  2721. ++               password_dialogue.entry.image.GetHeight () / 2 -
  2722. ++               password_dialogue.bullet_image.GetHeight () / 2;
  2723. ++    margin = bullet_width;
  2724. ++    spaces = Math.Int( (password_dialogue.entry.image.GetWidth () - (margin * 2)) / (bullet_width / 2 ) );
  2725. ++    #Debug ("spaces = " + spaces + ", bullets = " + bullets);
  2726. ++    bullets_area.width = margin + spaces * (bullet_width / 2);
  2727. ++    bullets_area.x = Window.GetX () + Window.GetWidth () / 2 - bullets_area.width / 2;
  2728. ++    #DebugBottom ("pwd_entry x = " + password_dialogue.entry.x + ", bullets_area.x = " + bullets_area.x + ", bullets_area.width = " + bullets_area.width);
  2729. ++    if (bullets > spaces)
  2730. ++        bullets = spaces;
  2731. ++    for (index = 0; password_dialogue.bullets[index] || index < bullets; index++){
  2732. ++        if (!password_dialogue.bullets[index]) {
  2733. ++            password_dialogue.bullets[index].sprite = Sprite ();
  2734. ++            password_dialogue.bullets[index].sprite.SetImage (password_dialogue.bullet_image);
  2735. ++            password_dialogue.bullets[index].x = bullets_area.x + # password_dialogue.entry.x + margin +
  2736. ++                                                 index * bullet_width / 2;
  2737. ++            password_dialogue.bullets[index].sprite.SetX (password_dialogue.bullets[index].x);
  2738. ++            password_dialogue.bullets[index].y = bullet_y;
  2739. ++            password_dialogue.bullets[index].sprite.SetY (password_dialogue.bullets[index].y);
  2740. ++            password_dialogue.bullets[index].z = password_dialogue.entry.z + 1;
  2741. ++            password_dialogue.bullets[index].sprite.SetZ (password_dialogue.bullets[index].z);
  2742. ++        }
  2743.  +
  2744. -+      ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
  2745. -+      ply_text_display_clear_screen (view->display);
  2746. -+      ply_text_display_show_cursor (view->display);
  2747. ++        password_dialogue.bullets[index].sprite.SetOpacity (0);
  2748.  +
  2749. -+      ply_terminal_reset_colors (terminal);
  2750. ++        if (index < bullets) {
  2751. ++            password_dialogue.bullets[index].sprite.SetOpacity (1);
  2752. ++        }
  2753.  +    }
  2754.  +}
  2755.  +
  2756. -+static void
  2757. -+hide_views (ply_boot_splash_plugin_t *plugin)
  2758. -+{
  2759. -+  ply_list_node_t *node;
  2760. ++Plymouth.SetDisplayPasswordFunction (display_password_callback);
  2761.  +
  2762. -+  node = ply_list_get_first_node (plugin->views);
  2763. -+  while (node != NULL)
  2764. -+    {
  2765. -+      ply_list_node_t *next_node;
  2766. -+      view_t *view;
  2767. ++Plymouth.SetMessageFunction (message_callback);
  2768.  +
  2769. -+      view = ply_list_node_get_data (node);
  2770. -+      next_node = ply_list_get_next_node (plugin->views, node);
  2771. ++Plymouth.SetBootProgressFunction (animate_progress_indicator);
  2772.  +
  2773. -+      view_hide (view);
  2774. ++# Plymouth.SetBootProgressFunction: the callback function is called with two numbers, the progress (between 0 and 1) and the time spent booting so far
  2775. ++# Plymouth.SetRootMountedFunction: the callback function is called when a new root is mounted
  2776. ++# Plymouth.SetKeyboardInputFunction: the callback function is called with a string containing a new character entered on the keyboard
  2777.  +
  2778. -+      node = next_node;
  2779. -+    }
  2780. ++#----------------------------------------- FSCK Counter --------------------------------
  2781. ++
  2782. ++# Initialise the counter
  2783. ++fun init_fsck_count () {
  2784. ++    # The number of fsck checks in this cycle
  2785. ++    global.counter.total = 0;
  2786. ++    # The number of fsck checks already performed + the current one
  2787. ++    global.counter.current = 1;
  2788. ++    # The previous fsck
  2789. ++    global.counter.last = 0;
  2790.  +}
  2791.  +
  2792. -+static void
  2793. -+pause_views (ply_boot_splash_plugin_t *plugin)
  2794. -+{
  2795. -+  ply_list_node_t *node;
  2796. ++# Increase the total counter
  2797. ++fun increase_fsck_count () {
  2798. ++    global.counter.total++;
  2799. ++}
  2800.  +
  2801. -+  node = ply_list_get_first_node (plugin->views);
  2802. -+  while (node != NULL)
  2803. -+    {
  2804. -+      ply_list_node_t *next_node;
  2805. -+      view_t *view;
  2806. ++fun increase_current_fsck_count () {
  2807. ++    global.counter.last = global.counter.current++;
  2808. ++}
  2809.  +
  2810. -+      view = ply_list_node_get_data (node);
  2811. -+      next_node = ply_list_get_next_node (plugin->views, node);
  2812. ++# Clear the counter
  2813. ++fun clear_fsck_count () {
  2814. ++    global.counter = NULL;
  2815. ++    init_fsck_count ();
  2816. ++}
  2817.  +
  2818. -+      ply_text_display_pause_updates (view->display);
  2819. ++#----------------------------------------- Progress Label ------------------------------
  2820.  +
  2821. -+      node = next_node;
  2822. ++
  2823. ++# Change the opacity level of a progress label
  2824. ++#
  2825. ++# opacity = 1 -> show
  2826. ++# opacity = 0 -> hide
  2827. ++# opacity = 0.3 (or any other float) -> translucent
  2828. ++#
  2829. ++fun set_progress_label_opacity (opacity) {
  2830. ++    # the label
  2831. ++    progress_label.sprite.SetOpacity (opacity);
  2832. ++    
  2833. ++    # Make the slot available again when hiding the bar
  2834. ++    # So that another bar can take its place
  2835. ++    if (opacity == 0) {
  2836. ++        progress_label.is_available = 1;
  2837. ++        progress_label.device = "";
  2838.  +    }
  2839.  +}
  2840.  +
  2841. -+static void
  2842. -+unpause_views (ply_boot_splash_plugin_t *plugin)
  2843. -+{
  2844. -+  ply_list_node_t *node;
  2845. -+
  2846. -+  node = ply_list_get_first_node (plugin->views);
  2847. -+  while (node != NULL)
  2848. -+    {
  2849. -+      ply_list_node_t *next_node;
  2850. -+      view_t *view;
  2851. -+
  2852. -+      view = ply_list_node_get_data (node);
  2853. -+      next_node = ply_list_get_next_node (plugin->views, node);
  2854. ++# Set up a new Progress Bar
  2855. ++#
  2856. ++# TODO: Make it possible to reuse (rather than recreate) a bar
  2857. ++#       if .is_available = 1. Ideally this would just reset the
  2858. ++#       label, the associated
  2859. ++#       device and the image size of the sprite.
  2860.  +
  2861. -+      ply_text_display_unpause_updates (view->display);
  2862. ++fun init_progress_label (device, status_string) {
  2863. ++    # Make the slot unavailable
  2864. ++    global.progress_label.is_available = 0;
  2865. ++    progress_label.progress = 0;
  2866. ++    progress_label.device = device;
  2867. ++    progress_label.status_string = status_string;
  2868. ++}
  2869.  +
  2870. -+      node = next_node;
  2871. -+    }
  2872. ++# See if the progress label is keeping track of the fsck
  2873. ++# of "device"
  2874. ++#
  2875. ++fun device_has_progress_label (device) {
  2876. ++    #DebugBottom ("label device = " + progress_label.device + " checking device " + device);
  2877. ++    return (progress_label.device == device);
  2878.  +}
  2879.  +
  2880. -+static ply_boot_splash_plugin_t *
  2881. -+create_plugin (ply_key_file_t *key_file)
  2882. -+{
  2883. -+  ply_boot_splash_plugin_t *plugin;
  2884. ++# Update the Progress bar which corresponds to index
  2885. ++#
  2886. ++fun update_progress_label (progress) {
  2887. ++    # If progress is NULL then we just refresh the label.
  2888. ++    # This happens when only counter.total has changed.
  2889. ++    if (progress != NULL) {
  2890. ++        progress_label.progress = progress;
  2891. ++    
  2892. ++        #Debug("device " + progress_label.device + " progress " + progress);
  2893. ++    
  2894. ++        # If progress >= 100% hide the label and make it available again
  2895. ++        if (progress >= 100) {
  2896. ++            set_progress_label_opacity (0);
  2897. ++        
  2898. ++            # See if we any other fsck check is complete
  2899. ++            # and, if so, hide the progress bars and the labels
  2900. ++            on_fsck_completed ();
  2901. ++        
  2902. ++            return 0;
  2903. ++        }
  2904. ++    }    
  2905. ++    # Update progress label here
  2906. ++    #
  2907. ++    # FIXME: the queue logic from this theme should really be moved into mountall
  2908. ++    # instead of using string replacement to deal with localised strings.
  2909. ++    label = StringReplace (progress_label.status_string[0], "%1$d", global.counter.current);
  2910. ++    label = StringReplace (label, "%2$d",  global.counter.total);
  2911. ++    label = StringReplace (label, "%3$d",  progress_label.progress);
  2912. ++    label = StringReplace (label, "%%",  "%");
  2913.  +
  2914. -+  ply_trace ("creating plugin");
  2915. ++    progress_label = get_fsck_label (label, 0);
  2916. ++    #progress_label.progress = progress;
  2917.  +
  2918. -+  plugin = calloc (1, sizeof (ply_boot_splash_plugin_t));
  2919. -+  plugin->message = NULL;
  2920. ++    progress_label.sprite = Sprite (progress_label.image);
  2921. ++    
  2922. ++    # Set up the bar
  2923. ++    progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1);
  2924.  +
  2925. -+  plugin->views = ply_list_new ();
  2926. ++    set_progress_label_opacity (1);
  2927.  +
  2928. -+  return plugin;
  2929.  +}
  2930.  +
  2931. -+static void
  2932. -+detach_from_event_loop (ply_boot_splash_plugin_t *plugin)
  2933. -+{
  2934. -+  plugin->loop = NULL;
  2935. -+
  2936. -+  ply_trace ("detaching from event loop");
  2937. ++# Refresh the label so as to update counters
  2938. ++fun refresh_progress_label () {
  2939. ++    update_progress_label (NULL);
  2940.  +}
  2941.  +
  2942. -+static void
  2943. -+free_views (ply_boot_splash_plugin_t *plugin)
  2944. -+{
  2945. -+  ply_list_node_t *node;
  2946. -+
  2947. -+  node = ply_list_get_first_node (plugin->views);
  2948. ++#----------------------------------------- FSCK Queue ----------------------------------
  2949.  +
  2950. -+  while (node != NULL)
  2951. -+    {
  2952. -+      ply_list_node_t *next_node;
  2953. -+      view_t *view;
  2954. ++# Initialise the fsck queue
  2955. ++fun init_queue () {
  2956. ++    global.fsck_queue[0].device;
  2957. ++    global.fsck_queue[0].progress;
  2958. ++    global.fsck_queue.counter = 0;
  2959. ++    global.fsck_queue.biggest_item = 0;    
  2960. ++}
  2961.  +
  2962. -+      view = ply_list_node_get_data (node);
  2963. -+      next_node = ply_list_get_next_node (plugin->views, node);
  2964. ++fun clear_queue () {
  2965. ++    global.fsck_queue = NULL;
  2966. ++    init_queue ();
  2967. ++}
  2968.  +
  2969. -+      view_free (view);
  2970. -+      ply_list_remove_node (plugin->views, node);
  2971. ++# Return either the device index in the queue or -1
  2972. ++fun queue_look_up_by_device (device) {
  2973. ++    for (i=0; i <= fsck_queue.biggest_item; i++) {
  2974. ++        if ((fsck_queue[i]) && (fsck_queue[i].device == device))
  2975. ++            return i;
  2976. ++    }
  2977. ++    return -1;
  2978. ++}
  2979.  +
  2980. -+      node = next_node;
  2981. ++# Keep track of an fsck process in the queue
  2982. ++fun add_fsck_to_queue (device, progress) {
  2983. ++    # Look for an empty slot in the queue
  2984. ++    for (i=0; global.fsck_queue[i].device; i++) {
  2985. ++        continue;
  2986.  +    }
  2987. ++    local.index = i;
  2988. ++    
  2989. ++    # Set device and progress
  2990. ++    global.fsck_queue[local.index].device = device;
  2991. ++    global.fsck_queue[local.index].progress = progress;
  2992. ++    
  2993. ++    # Increase the queue counter
  2994. ++    global.fsck_queue.counter++;
  2995. ++    
  2996. ++    # Update the max index of the array for iterations
  2997. ++    if (local.index > global.fsck_queue.biggest_item)
  2998. ++        global.fsck_queue.biggest_item = local.index;
  2999. ++    
  3000. ++    #DebugMedium ("Adding " + device + " at " + local.index);
  3001. ++}
  3002.  +
  3003. -+  ply_list_free (plugin->views);
  3004. -+  plugin->views = NULL;
  3005. ++fun is_queue_empty () {
  3006. ++    return (fsck_queue.counter == 0);
  3007.  +}
  3008.  +
  3009. -+static void
  3010. -+destroy_plugin (ply_boot_splash_plugin_t *plugin)
  3011. -+{
  3012. -+  ply_trace ("destroying plugin");
  3013. ++fun is_progress_label_available () {
  3014. ++    return (progress_label.is_available == 1);
  3015. ++}
  3016.  +
  3017. -+  if (plugin == NULL)
  3018. -+    return;
  3019.  +
  3020. -+  /* It doesn't ever make sense to keep this plugin on screen
  3021. -+   * after exit
  3022. -+   */
  3023. -+  hide_splash_screen (plugin, plugin->loop);
  3024. ++# This should cover the case in which the fsck checks in
  3025. ++# the queue are completed before the ones showed in the
  3026. ++# progress label
  3027. ++fun on_queued_fsck_completed () {
  3028. ++    if (!is_queue_empty ())
  3029. ++        return;
  3030. ++    
  3031. ++    # Hide the extra label, if any
  3032. ++    #if (progress_bar.extra_label.sprite)
  3033. ++    #    progress_bar.extra_label.sprite.SetOpacity(0);
  3034. ++}
  3035.  +
  3036. -+  free_views (plugin);
  3037. -+  if (plugin->message != NULL)
  3038. -+    free (plugin->message);
  3039. ++fun remove_fsck_from_queue (index) {
  3040. ++    # Free memory which was previously allocated for
  3041. ++    # device and progress
  3042. ++    global.fsck_queue[index].device = NULL;
  3043. ++    global.fsck_queue[index].progress = NULL;
  3044.  +
  3045. -+  free (plugin);
  3046. ++    # Decrease the queue counter
  3047. ++    global.fsck_queue.counter--;
  3048. ++    
  3049. ++    # See if there are other processes in the queue
  3050. ++    # if not, clear the extra_label
  3051. ++    on_queued_fsck_completed ();
  3052.  +}
  3053.  +
  3054. -+static void
  3055. -+show_message (ply_boot_splash_plugin_t *plugin)
  3056. -+{
  3057. -+  ply_list_node_t *node;
  3058. -+
  3059. -+  node = ply_list_get_first_node (plugin->views);
  3060. -+  while (node != NULL)
  3061. -+    {
  3062. -+      ply_list_node_t *next_node;
  3063. -+      view_t *view;
  3064. ++fun on_fsck_completed () {
  3065. ++    # We have moved on to tracking the next fsck
  3066. ++    increase_current_fsck_count ();
  3067.  +
  3068. -+      view = ply_list_node_get_data (node);
  3069. -+      next_node = ply_list_get_next_node (plugin->views, node);
  3070. ++    if (!is_progress_label_available ())
  3071. ++        return;
  3072. ++    
  3073. ++    if (!is_queue_empty ())
  3074. ++        return;
  3075. ++    
  3076. ++    # Hide the progress label
  3077. ++    if (progress_label.sprite)
  3078. ++        progress_label.sprite.SetOpacity (0);
  3079. ++    
  3080. ++    # Clear the queue
  3081. ++    clear_queue ();
  3082.  +
  3083. -+      view_show_message (view);
  3084. ++    # Clear the fsck counter
  3085. ++    clear_fsck_count ();
  3086. ++}
  3087.  +
  3088. -+      node = next_node;
  3089. ++# Update an fsck process that we keep track of in the queue
  3090. ++fun update_progress_in_queue (index, device, progress) {
  3091. ++    # If the fsck is complete, remove it from the queue
  3092. ++    if (progress >= 100) {
  3093. ++        remove_fsck_from_queue (index);
  3094. ++        on_queued_fsck_completed ();
  3095. ++        return;
  3096.  +    }
  3097. ++    
  3098. ++    global.fsck_queue[index].device = device;
  3099. ++    global.fsck_queue[index].progress = progress;
  3100. ++    
  3101.  +}
  3102.  +
  3103. -+static void
  3104. -+animate_frame (ply_boot_splash_plugin_t *plugin,
  3105. -+               int                       frame)
  3106. -+{
  3107. -+  ply_list_node_t *node;
  3108. -+
  3109. -+  node = ply_list_get_first_node (plugin->views);
  3110. -+  while (node != NULL)
  3111. -+    {
  3112. -+      ply_list_node_t *next_node;
  3113. -+      view_t *view;
  3114. -+      int display_width, display_height;
  3115. -+
  3116. -+      view = ply_list_node_get_data (node);
  3117. -+      next_node = ply_list_get_next_node (plugin->views, node);
  3118. -+
  3119. -+      display_width = ply_text_display_get_number_of_columns (view->display);
  3120. -+      display_height = ply_text_display_get_number_of_rows (view->display);
  3121. -+
  3122. -+      ply_text_display_set_cursor_position (view->display,
  3123. -+                                            (display_width - 12) / 2,
  3124. -+                                            display_height / 2);
  3125. ++# TODO: Move it to some function
  3126. ++# Create an empty queue
  3127. ++#init_queue ();
  3128.  +
  3129. -+      ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_BLACK);
  3130. -+      ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  3131. -+      ply_text_display_write (view->display, "Ubuntu 10.04");
  3132.  +
  3133. -+      ply_text_display_set_cursor_position (view->display,
  3134. -+                                            (display_width - 10) / 2,
  3135. -+                                            (display_height / 2) + 2);
  3136. ++#----------------------------------------- FSCK Functions ------------------------------
  3137.  +
  3138. -+      if ((frame < 1) || (frame > 4))
  3139. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  3140. -+      else
  3141. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  3142. -+      ply_text_display_write (view->display, ".  ");
  3143.  +
  3144. -+      if ((frame < 2) || (frame > 5))
  3145. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  3146. -+      else
  3147. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  3148. -+      ply_text_display_write (view->display, ".  ");
  3149. ++# Either add a new bar for fsck checks or update an existing bar
  3150. ++#
  3151. ++# NOTE: no more than "progress_bar.max_number" bars are allowed
  3152. ++#
  3153. ++fun fsck_check (device, progress, status_string) {
  3154.  +
  3155. -+      if ((frame < 3) || (frame > 6))
  3156. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  3157. -+      else
  3158. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  3159. -+      ply_text_display_write (view->display, ".  ");
  3160. ++    # The 1st time this will take place
  3161. ++    if (!global.progress_label) {
  3162. ++        # Increase the fsck counter
  3163. ++        increase_fsck_count ();
  3164.  +
  3165. -+      if (frame < 4)
  3166. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  3167. -+      else
  3168. -+        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  3169. -+      ply_text_display_write (view->display, ".");
  3170. ++        # Set up a new label for the check
  3171. ++        init_progress_label (device, status_string);
  3172. ++        update_progress_label (progress);
  3173.  +
  3174. -+      node = next_node;
  3175. ++        return;
  3176.  +    }
  3177. -+}
  3178.  +
  3179. -+static void
  3180. -+on_timeout (ply_boot_splash_plugin_t *plugin)
  3181. -+{
  3182. -+  static int frame = 0;
  3183. ++    
  3184. ++    if (device_has_progress_label (device)) {
  3185. ++        # Update the progress of the existing label
  3186. ++        update_progress_label (progress);
  3187. ++    }
  3188. ++    else {
  3189. ++        # See if there's already a slot in the queue for the device
  3190. ++        local.queue_device_index = queue_look_up_by_device(device);
  3191.  +
  3192. -+  frame += 1;
  3193. -+  frame %= 8;
  3194. ++        # See if the progress_label is available
  3195. ++        if (progress_label.is_available) {
  3196. ++            
  3197. ++#            local.my_string = "available index " + local.available_index + " progress_bar counter is " + progress_bar.counter;
  3198. ++#            Debug(local.my_string);
  3199. ++            
  3200. ++                
  3201. ++            # If the fsck check for the device was in the queue, then
  3202. ++            # remove it from the queue
  3203. ++            if (local.queue_device_index >= 0) {
  3204. ++                remove_fsck_from_queue (index);
  3205. ++            }
  3206. ++            else {
  3207. ++                # Increase the fsck counter
  3208. ++                increase_fsck_count ();
  3209. ++            }
  3210. ++            
  3211. ++#            local.my_string += local.message;
  3212. ++            #Debug("setting new label for device " + device + " progress " + progress);
  3213.  +
  3214. -+  animate_frame (plugin, frame);
  3215. ++            # Set up a new label for the check
  3216. ++            init_progress_label (device, status_string);
  3217. ++            update_progress_label (progress);
  3218. ++            
  3219. ++        }
  3220. ++        # If the progress_label is not available
  3221. ++        else {
  3222. ++            
  3223. ++            # If the fsck check for the device is already in the queue
  3224. ++            # just update its progress in the queue
  3225. ++            if (local.queue_device_index >= 0) {
  3226. ++                #DebugMedium("Updating queue at " + local.queue_device_index + " for device " + device);
  3227. ++                update_progress_in_queue (local.queue_device_index, device, progress);
  3228. ++            }
  3229. ++            # Otherwise add the check to the queue
  3230. ++            else {
  3231. ++                #DebugMedium("Adding device " + device + " to queue at " + local.queue_device_index);
  3232. ++                add_fsck_to_queue (device, progress);
  3233.  +
  3234. -+  ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
  3235. -+                                    (ply_event_loop_timeout_handler_t)
  3236. -+                                    on_timeout, plugin);
  3237. ++                # Increase the fsck counter
  3238. ++                increase_fsck_count ();
  3239. ++
  3240. ++                refresh_progress_label ();
  3241. ++            }
  3242. ++            
  3243. ++        }
  3244. ++    }
  3245. ++    
  3246. ++#    if (!is_queue_empty ()) {
  3247. ++#        DebugBottom("Extra label for "+ device);
  3248. ++    #}
  3249. ++#    else {
  3250. ++#        DebugBottom("No extra label for " + device + ". 1st Device in the queue "+ fsck_queue[0].device + " counter = " + global.fsck_queue.counter);
  3251. ++#    }
  3252.  +}
  3253.  +
  3254. -+static void
  3255. -+start_animation (ply_boot_splash_plugin_t *plugin)
  3256. -+{
  3257. -+  ply_list_node_t *node;
  3258.  +
  3259. -+  assert (plugin != NULL);
  3260. -+  assert (plugin->loop != NULL);
  3261. ++#-----------------------------------------Update Status stuff --------------------------
  3262. ++#
  3263. ++# The update_status_callback is what we can use to pass plymouth whatever we want so
  3264. ++# as to make use of features which are available only in this program (as opposed to
  3265. ++# being available for any theme for the script plugin).
  3266. ++#
  3267. ++# Example:
  3268. ++#
  3269. ++#   Thanks to the current implementation, some scripts can call "plymouth --update=fsck:sda1:40"
  3270. ++#   and this program will know that 1) we're performing and fsck check, 2) we're checking sda1,
  3271. ++#   3) the program should set the label progress to 40%
  3272. ++#
  3273. ++# Other features can be easily added by parsing the string that we pass plymouth with "--update"
  3274. ++#
  3275. ++fun update_status_callback (status) {
  3276. ++#    Debug(status);
  3277. ++    if (!status) return;
  3278. ++    
  3279. ++    string_it = 0;
  3280. ++    update_strings[string_it] = "";
  3281. ++    
  3282. ++    for (i=0; (String(status).CharAt(i) != ""); i++) {
  3283. ++        local.temp_char = String(status).CharAt(i);
  3284. ++        if (temp_char != ":")
  3285. ++            update_strings[string_it] += temp_char;
  3286. ++        else
  3287. ++            update_strings[++string_it] = "";
  3288. ++    }
  3289. ++    
  3290. ++#    my_string = update_strings[0] + " " + update_strings[1] + " " + update_strings[2];
  3291. ++#    Debug(my_string);
  3292. ++    # Let's assume that we're dealing with these strings fsck:sda1:40
  3293. ++    if ((string_it >= 2) && (update_strings[0] == "fsck")) {
  3294. ++        
  3295. ++        device = update_strings[1];
  3296. ++        progress = update_strings[2];
  3297. ++        status_string[0] = update_strings[3]; # "Checking disk %1$d of %2$d (%3$d %% complete)"
  3298. ++        if (!status_string[0])
  3299. ++            status_string[0] = "Checking disk %1$d of %2$d (%3$d %% complete)";
  3300. ++        
  3301. ++        if ((device != "") && (progress != "")) {
  3302. ++            progress = StringToInteger (progress);
  3303. ++        
  3304. ++            # Make sure that the fsck_queue is initialised
  3305. ++            if (!global.fsck_queue)
  3306. ++                init_queue ();
  3307.  +
  3308. -+  redraw_views (plugin);
  3309. ++            # Make sure that the fsck counter is initialised
  3310. ++            if (!global.counter)
  3311. ++                init_fsck_count ();
  3312.  +
  3313. -+  if (plugin->message != NULL)
  3314. -+    show_message (plugin);
  3315. ++#            if (!global.progress_bar.extra_label.sprite)
  3316. ++#                create_extra_fsck_label ();
  3317. ++            
  3318. ++            # Keep track of the fsck check
  3319. ++            fsck_check (device, progress, status_string);
  3320. ++        }
  3321. ++        
  3322. ++    }
  3323.  +
  3324. -+  if (plugin->is_animating)
  3325. -+     return;
  3326. ++}
  3327. ++Plymouth.SetUpdateStatusFunction (update_status_callback);
  3328.  +
  3329. -+  node = ply_list_get_first_node (plugin->views);
  3330. -+  while (node != NULL)
  3331. -+    {
  3332. -+      ply_list_node_t *next_node;
  3333. -+      view_t *view;
  3334. ++#-----------------------------------------Display Question stuff -----------------------
  3335. ++#
  3336. ++# TODO: Implement this if needed
  3337. ++#
  3338. ++# The callback function is called when the display should display a question dialogue.
  3339. ++# First arg is prompt string, the second is the entry contents.
  3340. ++#fun display_question_callback (prompt_string, entry_contents)
  3341. ++#{
  3342. ++# time++;
  3343. ++#}
  3344. ++#
  3345. ++#Plymouth.SetDisplayQuestionFunction (display_question_callback);
  3346.  +
  3347. -+      view = ply_list_node_get_data (node);
  3348. -+      next_node = ply_list_get_next_node (plugin->views, node);
  3349. ++#-----------------------------------------Refresh stuff --------------------------------
  3350. ++#
  3351. ++# Calling Plymouth.SetRefreshFunction with a function will set that function to be
  3352. ++# called up to 50 times every second, e.g.
  3353. ++#
  3354. ++# NOTE: if a refresh function is not set, Plymouth doesn't seem to be able to update
  3355. ++#       the screen correctly
  3356. ++#
  3357. ++fun refresh_callback ()
  3358. ++{
  3359. ++    draw_logo ();
  3360. ++}
  3361. ++Plymouth.SetRefreshFunction (refresh_callback);
  3362.  +
  3363. -+      view_start_animation (view);
  3364.  +
  3365. -+      node = next_node;
  3366. ++#-----------------------------------------Display Normal stuff -----------------------
  3367. ++#
  3368. ++# The callback function is called when the display should return to normal
  3369. ++fun display_normal_callback ()
  3370. ++{
  3371. ++    global.status = "normal";
  3372. ++    if (global.password_dialogue) {
  3373. ++        password_dialogue_opacity (0);
  3374. ++        global.password_dialogue = NULL;
  3375. ++        if (message_notification[2].sprite) hide_message(2);
  3376. ++        prompt_active = 0;
  3377.  +    }
  3378. -+
  3379. -+  plugin->is_animating = true;
  3380. -+
  3381. -+  animate_frame (plugin, 0);
  3382. -+  ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
  3383. -+                                    (ply_event_loop_timeout_handler_t)
  3384. -+                                    on_timeout, plugin);
  3385. ++    
  3386. ++    if (message_notification[1].sprite) show_message (1);
  3387. ++    
  3388. ++    
  3389.  +}
  3390.  +
  3391. -+static void
  3392. -+stop_animation (ply_boot_splash_plugin_t *plugin)
  3393. -+{
  3394. -+  ply_list_node_t *node;
  3395. ++Plymouth.SetDisplayNormalFunction (display_normal_callback);
  3396.  +
  3397. -+  assert (plugin != NULL);
  3398. -+  assert (plugin->loop != NULL);
  3399.  +
  3400. -+  if (!plugin->is_animating)
  3401. -+     return;
  3402. ++#----------------------------------------- Quit --------------------------------
  3403.  +
  3404. -+  plugin->is_animating = false;
  3405. ++# TODO: Maybe we should also hide any other dialog
  3406. ++# Show the logo and make the progress indicator look full when on exit
  3407. ++fun quit_callback ()
  3408. ++{
  3409. ++    logo.sprite.SetOpacity (1);
  3410. ++    switch_on_bullets ();
  3411. ++}
  3412.  +
  3413. -+  node = ply_list_get_first_node (plugin->views);
  3414. -+  while (node != NULL)
  3415. -+    {
  3416. -+      ply_list_node_t *next_node;
  3417. -+      view_t *view;
  3418. ++Plymouth.SetQuitFunction(quit_callback);
  3419. +--- /dev/null
  3420. ++++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.am
  3421. +@@ -0,0 +1,22 @@
  3422. ++themedir = $(datadir)/plymouth/themes/ubuntu-logo
  3423. ++nodist_theme_DATA = ubuntu-logo.plymouth
  3424. ++dist_theme_DATA =   ubuntu-logo.script                                \
  3425. ++                    ubuntu_logo.png                                   \
  3426. ++                    ubuntu_logo16.png                                 \
  3427. ++                    password_field.png                                \
  3428. ++                    password_field16.png                              \
  3429. ++                    progress_dot_off.png                              \
  3430. ++                    progress_dot_off16.png                            \
  3431. ++                    progress_dot_on.png                               \
  3432. ++                    progress_dot_on16.png
  3433.  +
  3434. -+      view = ply_list_node_get_data (node);
  3435. -+      next_node = ply_list_get_next_node (plugin->views, node);
  3436.  +
  3437. -+      node = next_node;
  3438. -+    }
  3439.  +
  3440. -+  ply_event_loop_stop_watching_for_timeout (plugin->loop,
  3441. -+                                            (ply_event_loop_timeout_handler_t)
  3442. -+                                            on_timeout, plugin);
  3443. ++MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
  3444. ++CLEANFILES = ubuntu-logo.plymouth
  3445.  +
  3446. -+  redraw_views (plugin);
  3447. -+}
  3448. ++ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
  3449. ++      sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
  3450. ++             $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
  3451. ++
  3452. ++EXTRA_DIST = ubuntu-logo.plymouth.in
  3453. +--- /dev/null
  3454. ++++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.in
  3455. +@@ -0,0 +1,475 @@
  3456. ++# Makefile.in generated by automake 1.11.1 from Makefile.am.
  3457. ++# @configure_input@
  3458.  +
  3459. -+static void
  3460. -+on_draw (view_t                   *view,
  3461. -+         ply_terminal_t           *terminal,
  3462. -+         int                       x,
  3463. -+         int                       y,
  3464. -+         int                       width,
  3465. -+         int                       height)
  3466. -+{
  3467. -+}
  3468. ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
  3469. ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
  3470. ++# Inc.
  3471. ++# This Makefile.in is free software; the Free Software Foundation
  3472. ++# gives unlimited permission to copy and/or distribute it,
  3473. ++# with or without modifications, as long as this notice is preserved.
  3474.  +
  3475. -+static void
  3476. -+add_text_display (ply_boot_splash_plugin_t *plugin,
  3477. -+                  ply_text_display_t       *display)
  3478. -+{
  3479. -+  view_t *view;
  3480. -+  ply_terminal_t *terminal;
  3481. ++# This program is distributed in the hope that it will be useful,
  3482. ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  3483. ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  3484. ++# PARTICULAR PURPOSE.
  3485.  +
  3486. -+  view = view_new (plugin, display);
  3487. ++@SET_MAKE@
  3488.  +
  3489. -+  terminal = ply_text_display_get_terminal (view->display);
  3490. -+  if (ply_terminal_open (terminal))
  3491. -+    {
  3492. -+      ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
  3493. -+      ply_terminal_activate_vt (terminal);
  3494. -+    }
  3495. ++VPATH = @srcdir@
  3496. ++pkgdatadir = $(datadir)/@PACKAGE@
  3497. ++pkgincludedir = $(includedir)/@PACKAGE@
  3498. ++pkglibdir = $(libdir)/@PACKAGE@
  3499. ++pkglibexecdir = $(libexecdir)/@PACKAGE@
  3500. ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  3501. ++install_sh_DATA = $(install_sh) -c -m 644
  3502. ++install_sh_PROGRAM = $(install_sh) -c
  3503. ++install_sh_SCRIPT = $(install_sh) -c
  3504. ++INSTALL_HEADER = $(INSTALL_DATA)
  3505. ++transform = $(program_transform_name)
  3506. ++NORMAL_INSTALL = :
  3507. ++PRE_INSTALL = :
  3508. ++POST_INSTALL = :
  3509. ++NORMAL_UNINSTALL = :
  3510. ++PRE_UNINSTALL = :
  3511. ++POST_UNINSTALL = :
  3512. ++build_triplet = @build@
  3513. ++host_triplet = @host@
  3514. ++subdir = themes/ubuntu-logo
  3515. ++DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
  3516. ++      $(srcdir)/Makefile.in
  3517. ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  3518. ++am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
  3519. ++      $(top_srcdir)/configure.ac
  3520. ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  3521. ++      $(ACLOCAL_M4)
  3522. ++mkinstalldirs = $(install_sh) -d
  3523. ++CONFIG_HEADER = $(top_builddir)/config.h
  3524. ++CONFIG_CLEAN_FILES =
  3525. ++CONFIG_CLEAN_VPATH_FILES =
  3526. ++AM_V_GEN = $(am__v_GEN_$(V))
  3527. ++am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  3528. ++am__v_GEN_0 = @echo "  GEN   " $@;
  3529. ++AM_V_at = $(am__v_at_$(V))
  3530. ++am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  3531. ++am__v_at_0 = @
  3532. ++SOURCES =
  3533. ++DIST_SOURCES =
  3534. ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  3535. ++am__vpath_adj = case $$p in \
  3536. ++    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  3537. ++    *) f=$$p;; \
  3538. ++  esac;
  3539. ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
  3540. ++am__install_max = 40
  3541. ++am__nobase_strip_setup = \
  3542. ++  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
  3543. ++am__nobase_strip = \
  3544. ++  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
  3545. ++am__nobase_list = $(am__nobase_strip_setup); \
  3546. ++  for p in $$list; do echo "$$p $$p"; done | \
  3547. ++  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  3548. ++  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
  3549. ++    if (++n[$$2] == $(am__install_max)) \
  3550. ++      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
  3551. ++    END { for (dir in files) print dir, files[dir] }'
  3552. ++am__base_list = \
  3553. ++  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  3554. ++  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  3555. ++am__installdirs = "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"
  3556. ++DATA = $(dist_theme_DATA) $(nodist_theme_DATA)
  3557. ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  3558. ++ACLOCAL = @ACLOCAL@
  3559. ++AMTAR = @AMTAR@
  3560. ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
  3561. ++AR = @AR@
  3562. ++AUTOCONF = @AUTOCONF@
  3563. ++AUTOHEADER = @AUTOHEADER@
  3564. ++AUTOMAKE = @AUTOMAKE@
  3565. ++AWK = @AWK@
  3566. ++CC = @CC@
  3567. ++CCDEPMODE = @CCDEPMODE@
  3568. ++CFLAGS = @CFLAGS@
  3569. ++CPP = @CPP@
  3570. ++CPPFLAGS = @CPPFLAGS@
  3571. ++CYGPATH_W = @CYGPATH_W@
  3572. ++DEFS = @DEFS@
  3573. ++DEPDIR = @DEPDIR@
  3574. ++DRM_CFLAGS = @DRM_CFLAGS@
  3575. ++DRM_LIBS = @DRM_LIBS@
  3576. ++DSYMUTIL = @DSYMUTIL@
  3577. ++DUMPBIN = @DUMPBIN@
  3578. ++ECHO_C = @ECHO_C@
  3579. ++ECHO_N = @ECHO_N@
  3580. ++ECHO_T = @ECHO_T@
  3581. ++EGREP = @EGREP@
  3582. ++EXEEXT = @EXEEXT@
  3583. ++FGREP = @FGREP@
  3584. ++GREP = @GREP@
  3585. ++GTK_CFLAGS = @GTK_CFLAGS@
  3586. ++GTK_LIBS = @GTK_LIBS@
  3587. ++IMAGE_CFLAGS = @IMAGE_CFLAGS@
  3588. ++IMAGE_LIBS = @IMAGE_LIBS@
  3589. ++INSTALL = @INSTALL@
  3590. ++INSTALL_DATA = @INSTALL_DATA@
  3591. ++INSTALL_PROGRAM = @INSTALL_PROGRAM@
  3592. ++INSTALL_SCRIPT = @INSTALL_SCRIPT@
  3593. ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  3594. ++LD = @LD@
  3595. ++LDFLAGS = @LDFLAGS@
  3596. ++LIBOBJS = @LIBOBJS@
  3597. ++LIBS = @LIBS@
  3598. ++LIBTOOL = @LIBTOOL@
  3599. ++LIPO = @LIPO@
  3600. ++LN_S = @LN_S@
  3601. ++LTLIBOBJS = @LTLIBOBJS@
  3602. ++LT_AGE = @LT_AGE@
  3603. ++LT_CURRENT = @LT_CURRENT@
  3604. ++LT_REVISION = @LT_REVISION@
  3605. ++MAINT = @MAINT@
  3606. ++MAKEINFO = @MAKEINFO@
  3607. ++MKDIR_P = @MKDIR_P@
  3608. ++NM = @NM@
  3609. ++NMEDIT = @NMEDIT@
  3610. ++OBJDUMP = @OBJDUMP@
  3611. ++OBJEXT = @OBJEXT@
  3612. ++OTOOL = @OTOOL@
  3613. ++OTOOL64 = @OTOOL64@
  3614. ++PACKAGE = @PACKAGE@
  3615. ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  3616. ++PACKAGE_NAME = @PACKAGE_NAME@
  3617. ++PACKAGE_STRING = @PACKAGE_STRING@
  3618. ++PACKAGE_TARNAME = @PACKAGE_TARNAME@
  3619. ++PACKAGE_URL = @PACKAGE_URL@
  3620. ++PACKAGE_VERSION = @PACKAGE_VERSION@
  3621. ++PANGO_CFLAGS = @PANGO_CFLAGS@
  3622. ++PANGO_LIBS = @PANGO_LIBS@
  3623. ++PATH_SEPARATOR = @PATH_SEPARATOR@
  3624. ++PKG_CONFIG = @PKG_CONFIG@
  3625. ++PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
  3626. ++PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
  3627. ++PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
  3628. ++PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
  3629. ++PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
  3630. ++PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
  3631. ++PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
  3632. ++PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
  3633. ++PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
  3634. ++RANLIB = @RANLIB@
  3635. ++RELEASE_FILE = @RELEASE_FILE@
  3636. ++SED = @SED@
  3637. ++SET_MAKE = @SET_MAKE@
  3638. ++SHELL = @SHELL@
  3639. ++STRIP = @STRIP@
  3640. ++VERSION = @VERSION@
  3641. ++abs_builddir = @abs_builddir@
  3642. ++abs_srcdir = @abs_srcdir@
  3643. ++abs_top_builddir = @abs_top_builddir@
  3644. ++abs_top_srcdir = @abs_top_srcdir@
  3645. ++ac_ct_CC = @ac_ct_CC@
  3646. ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  3647. ++am__include = @am__include@
  3648. ++am__leading_dot = @am__leading_dot@
  3649. ++am__quote = @am__quote@
  3650. ++am__tar = @am__tar@
  3651. ++am__untar = @am__untar@
  3652. ++background_color = @background_color@
  3653. ++background_end_color = @background_end_color@
  3654. ++background_start_color = @background_start_color@
  3655. ++bindir = @bindir@
  3656. ++build = @build@
  3657. ++build_alias = @build_alias@
  3658. ++build_cpu = @build_cpu@
  3659. ++build_os = @build_os@
  3660. ++build_vendor = @build_vendor@
  3661. ++builddir = @builddir@
  3662. ++datadir = @datadir@
  3663. ++datarootdir = @datarootdir@
  3664. ++docdir = @docdir@
  3665. ++dvidir = @dvidir@
  3666. ++exec_prefix = @exec_prefix@
  3667. ++host = @host@
  3668. ++host_alias = @host_alias@
  3669. ++host_cpu = @host_cpu@
  3670. ++host_os = @host_os@
  3671. ++host_vendor = @host_vendor@
  3672. ++htmldir = @htmldir@
  3673. ++includedir = @includedir@
  3674. ++infodir = @infodir@
  3675. ++install_sh = @install_sh@
  3676. ++libdir = @libdir@
  3677. ++libexecdir = @libexecdir@
  3678. ++localedir = @localedir@
  3679. ++localstatedir = @localstatedir@
  3680. ++logofile = @logofile@
  3681. ++lt_ECHO = @lt_ECHO@
  3682. ++mandir = @mandir@
  3683. ++mkdir_p = @mkdir_p@
  3684. ++oldincludedir = @oldincludedir@
  3685. ++pdfdir = @pdfdir@
  3686. ++plymouthclientdir = @plymouthclientdir@
  3687. ++plymouthdaemondir = @plymouthdaemondir@
  3688. ++prefix = @prefix@
  3689. ++program_transform_name = @program_transform_name@
  3690. ++psdir = @psdir@
  3691. ++sbindir = @sbindir@
  3692. ++sharedstatedir = @sharedstatedir@
  3693. ++srcdir = @srcdir@
  3694. ++sysconfdir = @sysconfdir@
  3695. ++target_alias = @target_alias@
  3696. ++top_build_prefix = @top_build_prefix@
  3697. ++top_builddir = @top_builddir@
  3698. ++top_srcdir = @top_srcdir@
  3699. ++themedir = $(datadir)/plymouth/themes/ubuntu-logo
  3700. ++nodist_theme_DATA = ubuntu-logo.plymouth
  3701. ++dist_theme_DATA = ubuntu-logo.script                                \
  3702. ++                    ubuntu_logo.png                                   \
  3703. ++                    ubuntu_logo16.png                                 \
  3704. ++                    password_field.png                                \
  3705. ++                    password_field16.png                              \
  3706. ++                    progress_dot_off.png                              \
  3707. ++                    progress_dot_off16.png                            \
  3708. ++                    progress_dot_on.png                               \
  3709. ++                    progress_dot_on16.png
  3710.  +
  3711. -+  ply_text_display_set_draw_handler (view->display,
  3712. -+                                     (ply_text_display_draw_handler_t)
  3713. -+                                     on_draw, view);
  3714. ++MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
  3715. ++CLEANFILES = ubuntu-logo.plymouth
  3716. ++EXTRA_DIST = ubuntu-logo.plymouth.in
  3717. ++all: all-am
  3718.  +
  3719. -+  ply_list_append_data (plugin->views, view);
  3720. -+}
  3721. ++.SUFFIXES:
  3722. ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
  3723. ++      @for dep in $?; do \
  3724. ++        case '$(am__configure_deps)' in \
  3725. ++          *$$dep*) \
  3726. ++            ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
  3727. ++              && { if test -f $@; then exit 0; else break; fi; }; \
  3728. ++            exit 1;; \
  3729. ++        esac; \
  3730. ++      done; \
  3731. ++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile'; \
  3732. ++      $(am__cd) $(top_srcdir) && \
  3733. ++        $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile
  3734. ++.PRECIOUS: Makefile
  3735. ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  3736. ++      @case '$?' in \
  3737. ++        *config.status*) \
  3738. ++          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
  3739. ++        *) \
  3740. ++          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
  3741. ++          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
  3742. ++      esac;
  3743.  +
  3744. -+static void
  3745. -+remove_text_display (ply_boot_splash_plugin_t *plugin,
  3746. -+                     ply_text_display_t       *display)
  3747. -+{
  3748. -+  ply_list_node_t *node;
  3749. ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  3750. ++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  3751.  +
  3752. -+  node = ply_list_get_first_node (plugin->views);
  3753. -+  while (node != NULL)
  3754. -+    {
  3755. -+      view_t *view;
  3756. -+      ply_list_node_t *next_node;
  3757. ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
  3758. ++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  3759. ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
  3760. ++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  3761. ++$(am__aclocal_m4_deps):
  3762.  +
  3763. -+      view = ply_list_node_get_data (node);
  3764. -+      next_node = ply_list_get_next_node (plugin->views, node);
  3765. ++mostlyclean-libtool:
  3766. ++      -rm -f *.lo
  3767.  +
  3768. -+      if (view->display == display)
  3769. -+        {
  3770. -+          ply_text_display_set_draw_handler (view->display,
  3771. -+                                             NULL, NULL);
  3772. -+          view_free (view);
  3773. -+          ply_list_remove_node (plugin->views, node);
  3774. -+          return;
  3775. -+        }
  3776. ++clean-libtool:
  3777. ++      -rm -rf .libs _libs
  3778. ++install-dist_themeDATA: $(dist_theme_DATA)
  3779. ++      @$(NORMAL_INSTALL)
  3780. ++      test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
  3781. ++      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  3782. ++      for p in $$list; do \
  3783. ++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  3784. ++        echo "$$d$$p"; \
  3785. ++      done | $(am__base_list) | \
  3786. ++      while read files; do \
  3787. ++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
  3788. ++        $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
  3789. ++      done
  3790.  +
  3791. -+      node = next_node;
  3792. -+    }
  3793. -+}
  3794. ++uninstall-dist_themeDATA:
  3795. ++      @$(NORMAL_UNINSTALL)
  3796. ++      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  3797. ++      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
  3798. ++      test -n "$$files" || exit 0; \
  3799. ++      echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
  3800. ++      cd "$(DESTDIR)$(themedir)" && rm -f $$files
  3801. ++install-nodist_themeDATA: $(nodist_theme_DATA)
  3802. ++      @$(NORMAL_INSTALL)
  3803. ++      test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
  3804. ++      @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
  3805. ++      for p in $$list; do \
  3806. ++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  3807. ++        echo "$$d$$p"; \
  3808. ++      done | $(am__base_list) | \
  3809. ++      while read files; do \
  3810. ++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
  3811. ++        $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
  3812. ++      done
  3813.  +
  3814. -+static bool
  3815. -+show_splash_screen (ply_boot_splash_plugin_t *plugin,
  3816. -+                    ply_event_loop_t         *loop,
  3817. -+                    ply_buffer_t             *boot_buffer,
  3818. -+                    ply_boot_splash_mode_t    mode)
  3819. -+{
  3820. -+  assert (plugin != NULL);
  3821. ++uninstall-nodist_themeDATA:
  3822. ++      @$(NORMAL_UNINSTALL)
  3823. ++      @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
  3824. ++      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
  3825. ++      test -n "$$files" || exit 0; \
  3826. ++      echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
  3827. ++      cd "$(DESTDIR)$(themedir)" && rm -f $$files
  3828. ++tags: TAGS
  3829. ++TAGS:
  3830.  +
  3831. -+  plugin->loop = loop;
  3832. -+  plugin->mode = mode;
  3833. -+  ply_event_loop_watch_for_exit (loop, (ply_event_loop_exit_handler_t)
  3834. -+                                 detach_from_event_loop,
  3835. -+                                 plugin);
  3836. ++ctags: CTAGS
  3837. ++CTAGS:
  3838.  +
  3839. -+  ply_show_new_kernel_messages (false);
  3840. -+  start_animation (plugin);
  3841.  +
  3842. -+  return true;
  3843. -+}
  3844. ++distdir: $(DISTFILES)
  3845. ++      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  3846. ++      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  3847. ++      list='$(DISTFILES)'; \
  3848. ++        dist_files=`for file in $$list; do echo $$file; done | \
  3849. ++        sed -e "s|^$$srcdirstrip/||;t" \
  3850. ++            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
  3851. ++      case $$dist_files in \
  3852. ++        */*) $(MKDIR_P) `echo "$$dist_files" | \
  3853. ++                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
  3854. ++                         sort -u` ;; \
  3855. ++      esac; \
  3856. ++      for file in $$dist_files; do \
  3857. ++        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  3858. ++        if test -d $$d/$$file; then \
  3859. ++          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
  3860. ++          if test -d "$(distdir)/$$file"; then \
  3861. ++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  3862. ++          fi; \
  3863. ++          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  3864. ++            cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
  3865. ++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  3866. ++          fi; \
  3867. ++          cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
  3868. ++        else \
  3869. ++          test -f "$(distdir)/$$file" \
  3870. ++          || cp -p $$d/$$file "$(distdir)/$$file" \
  3871. ++          || exit 1; \
  3872. ++        fi; \
  3873. ++      done
  3874. ++check-am: all-am
  3875. ++check: check-am
  3876. ++all-am: Makefile $(DATA)
  3877. ++installdirs:
  3878. ++      for dir in "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"; do \
  3879. ++        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  3880. ++      done
  3881. ++install: install-am
  3882. ++install-exec: install-exec-am
  3883. ++install-data: install-data-am
  3884. ++uninstall: uninstall-am
  3885.  +
  3886. -+static void
  3887. -+update_status (ply_boot_splash_plugin_t *plugin,
  3888. -+               const char               *status)
  3889. -+{
  3890. -+  assert (plugin != NULL);
  3891. ++install-am: all-am
  3892. ++      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  3893.  +
  3894. -+  ply_trace ("status update");
  3895. -+}
  3896. ++installcheck: installcheck-am
  3897. ++install-strip:
  3898. ++      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  3899. ++        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  3900. ++        `test -z '$(STRIP)' || \
  3901. ++          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
  3902. ++mostlyclean-generic:
  3903.  +
  3904. -+static void
  3905. -+hide_splash_screen (ply_boot_splash_plugin_t *plugin,
  3906. -+                    ply_event_loop_t         *loop)
  3907. -+{
  3908. -+  assert (plugin != NULL);
  3909. ++clean-generic:
  3910. ++      -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
  3911.  +
  3912. -+  ply_trace ("hiding splash screen");
  3913. ++distclean-generic:
  3914. ++      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
  3915. ++      -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
  3916.  +
  3917. -+  if (plugin->loop != NULL)
  3918. -+    {
  3919. -+      stop_animation (plugin);
  3920. ++maintainer-clean-generic:
  3921. ++      @echo "This command is intended for maintainers to use"
  3922. ++      @echo "it deletes files that may require special tools to rebuild."
  3923. ++      -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
  3924. ++clean: clean-am
  3925.  +
  3926. -+      ply_event_loop_stop_watching_for_exit (plugin->loop,
  3927. -+                                             (ply_event_loop_exit_handler_t)
  3928. -+                                             detach_from_event_loop,
  3929. -+                                             plugin);
  3930. -+      detach_from_event_loop (plugin);
  3931. -+    }
  3932. ++clean-am: clean-generic clean-libtool mostlyclean-am
  3933.  +
  3934. -+  hide_views (plugin);
  3935. -+  ply_show_new_kernel_messages (true);
  3936. -+}
  3937. ++distclean: distclean-am
  3938. ++      -rm -f Makefile
  3939. ++distclean-am: clean-am distclean-generic
  3940.  +
  3941. -+static void
  3942. -+display_normal (ply_boot_splash_plugin_t *plugin)
  3943. -+{
  3944. -+  pause_views (plugin);
  3945. -+  if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
  3946. -+    {
  3947. -+      plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
  3948. -+      start_animation (plugin);
  3949. -+      redraw_views (plugin);
  3950. -+    }
  3951. -+  unpause_views (plugin);
  3952. -+}
  3953. ++dvi: dvi-am
  3954.  +
  3955. -+static void
  3956. -+display_message (ply_boot_splash_plugin_t *plugin,
  3957. -+                 const char               *message)
  3958. -+{
  3959. -+  if (plugin->message != NULL)
  3960. -+    free (plugin->message);
  3961. ++dvi-am:
  3962.  +
  3963. -+  plugin->message = strdup (message);
  3964. -+  start_animation (plugin);
  3965. -+}
  3966. ++html: html-am
  3967.  +
  3968. -+static void
  3969. -+show_password_prompt (ply_boot_splash_plugin_t *plugin,
  3970. -+                      const char               *prompt,
  3971. -+                      int                       bullets)
  3972. -+{
  3973. -+  ply_list_node_t *node;
  3974. -+  int i;
  3975. -+  char *entered_text;
  3976. ++html-am:
  3977.  +
  3978. -+  entered_text = calloc (bullets + 1, sizeof (char));
  3979. ++info: info-am
  3980.  +
  3981. -+  for (i = 0; i < bullets; i++)
  3982. -+    entered_text[i] = '*';
  3983. ++info-am:
  3984.  +
  3985. -+  node = ply_list_get_first_node (plugin->views);
  3986. -+  while (node != NULL)
  3987. -+    {
  3988. -+      ply_list_node_t *next_node;
  3989. -+      view_t *view;
  3990. ++install-data-am: install-dist_themeDATA install-nodist_themeDATA
  3991.  +
  3992. -+      view = ply_list_node_get_data (node);
  3993. -+      next_node = ply_list_get_next_node (plugin->views, node);
  3994. ++install-dvi: install-dvi-am
  3995.  +
  3996. -+      view_show_prompt (view, prompt, entered_text);
  3997. ++install-dvi-am:
  3998.  +
  3999. -+      node = next_node;
  4000. -+    }
  4001. -+  free (entered_text);
  4002. -+}
  4003. ++install-exec-am:
  4004.  +
  4005. -+static void
  4006. -+show_prompt (ply_boot_splash_plugin_t *plugin,
  4007. -+             const char               *prompt,
  4008. -+             const char               *text)
  4009. -+{
  4010. -+  ply_list_node_t *node;
  4011. ++install-html: install-html-am
  4012.  +
  4013. -+  node = ply_list_get_first_node (plugin->views);
  4014. -+  while (node != NULL)
  4015. -+    {
  4016. -+      ply_list_node_t *next_node;
  4017. -+      view_t *view;
  4018. ++install-html-am:
  4019.  +
  4020. -+      view = ply_list_node_get_data (node);
  4021. -+      next_node = ply_list_get_next_node (plugin->views, node);
  4022. ++install-info: install-info-am
  4023.  +
  4024. -+      view_show_prompt (view, prompt, text);
  4025. ++install-info-am:
  4026.  +
  4027. -+      node = next_node;
  4028. -+    }
  4029. -+}
  4030. ++install-man:
  4031.  +
  4032. -+static void
  4033. -+display_password (ply_boot_splash_plugin_t *plugin,
  4034. -+                  const char               *prompt,
  4035. -+                  int                       bullets)
  4036. -+{
  4037. -+  pause_views (plugin);
  4038. -+  if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
  4039. -+    stop_animation (plugin);
  4040. ++install-pdf: install-pdf-am
  4041.  +
  4042. -+  plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
  4043. ++install-pdf-am:
  4044.  +
  4045. -+  if (!prompt)
  4046. -+    prompt = "Password";
  4047. ++install-ps: install-ps-am
  4048.  +
  4049. -+  show_password_prompt (plugin, prompt, bullets);
  4050. ++install-ps-am:
  4051.  +
  4052. -+  unpause_views (plugin);
  4053. -+}
  4054. ++installcheck-am:
  4055.  +
  4056. -+static void
  4057. -+display_question (ply_boot_splash_plugin_t *plugin,
  4058. -+                  const char               *prompt,
  4059. -+                  const char               *entry_text)
  4060. -+{
  4061. -+  pause_views (plugin);
  4062. -+  if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
  4063. -+    stop_animation (plugin);
  4064. ++maintainer-clean: maintainer-clean-am
  4065. ++      -rm -f Makefile
  4066. ++maintainer-clean-am: distclean-am maintainer-clean-generic
  4067.  +
  4068. -+  plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
  4069. ++mostlyclean: mostlyclean-am
  4070.  +
  4071. -+  if (!prompt)
  4072. -+    prompt = "Password";
  4073. ++mostlyclean-am: mostlyclean-generic mostlyclean-libtool
  4074.  +
  4075. -+  show_prompt (plugin, prompt, entry_text);
  4076. ++pdf: pdf-am
  4077.  +
  4078. -+  unpause_views (plugin);
  4079. -+}
  4080. ++pdf-am:
  4081.  +
  4082. ++ps: ps-am
  4083.  +
  4084. -+ply_boot_splash_plugin_interface_t *
  4085. -+ply_boot_splash_plugin_get_interface (void)
  4086. -+{
  4087. -+  static ply_boot_splash_plugin_interface_t plugin_interface =
  4088. -+    {
  4089. -+      .create_plugin = create_plugin,
  4090. -+      .destroy_plugin = destroy_plugin,
  4091. -+      .add_text_display = add_text_display,
  4092. -+      .remove_text_display = remove_text_display,
  4093. -+      .show_splash_screen = show_splash_screen,
  4094. -+      .update_status = update_status,
  4095. -+      .hide_splash_screen = hide_splash_screen,
  4096. -+      .display_normal = display_normal,
  4097. -+      .display_message = display_message,
  4098. -+      .display_password = display_password,
  4099. -+      .display_question = display_question,
  4100. -+    };
  4101. ++ps-am:
  4102.  +
  4103. -+  return &plugin_interface;
  4104. -+}
  4105. ++uninstall-am: uninstall-dist_themeDATA uninstall-nodist_themeDATA
  4106.  +
  4107. -+/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
  4108. ---- /dev/null
  4109. -+++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.am
  4110. -@@ -0,0 +1,23 @@
  4111. -+INCLUDES = -I$(top_srcdir)                                                    \
  4112. -+           -I$(srcdir)/../../../libply                                        \
  4113. -+           -I$(srcdir)/../../../libply-splash-core                            \
  4114. -+           -I$(srcdir)/../../..                                               \
  4115. -+           -I$(srcdir)/../..                                                  \
  4116. -+           -I$(srcdir)/..                                                     \
  4117. -+           -I$(srcdir)
  4118. ++.MAKE: install-am install-strip
  4119.  +
  4120. -+plugindir = $(libdir)/plymouth
  4121. -+plugin_LTLIBRARIES = ubuntu-text.la
  4122. ++.PHONY: all all-am check check-am clean clean-generic clean-libtool \
  4123. ++      distclean distclean-generic distclean-libtool distdir dvi \
  4124. ++      dvi-am html html-am info info-am install install-am \
  4125. ++      install-data install-data-am install-dist_themeDATA \
  4126. ++      install-dvi install-dvi-am install-exec install-exec-am \
  4127. ++      install-html install-html-am install-info install-info-am \
  4128. ++      install-man install-nodist_themeDATA install-pdf \
  4129. ++      install-pdf-am install-ps install-ps-am install-strip \
  4130. ++      installcheck installcheck-am installdirs maintainer-clean \
  4131. ++      maintainer-clean-generic mostlyclean mostlyclean-generic \
  4132. ++      mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
  4133. ++      uninstall-dist_themeDATA uninstall-nodist_themeDATA
  4134.  +
  4135. -+ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS)                                           \
  4136. -+                 -DPLYMOUTH_BACKGROUND_COLOR=$(background_color)              \
  4137. -+                 -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color)      \
  4138. -+                 -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
  4139.  +
  4140. -+ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
  4141. -+ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS)                                            \
  4142. -+                 ../../../libply/libply.la                                   \
  4143. -+                 ../../../libply-splash-core/libply-splash-core.la
  4144. -+ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
  4145. ++ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
  4146. ++      sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
  4147. ++             $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
  4148. ++
  4149. ++# Tell versions [3.59,3.63) of GNU make to not export all variables.
  4150. ++# Otherwise a system limit (for SysV at least) may be exceeded.
  4151. ++.NOEXPORT:
  4152. +--- /dev/null
  4153. ++++ plymouth-0.8.2/themes/ubuntu-text/ubuntu-text.plymouth
  4154. +@@ -0,0 +1,4 @@
  4155. ++[Plymouth Theme]
  4156. ++Name=Ubuntu Text
  4157. ++Description=Text mode theme based on ubuntu-logo theme
  4158. ++ModuleName=ubuntu-text
  4159. +--- /dev/null
  4160. ++++ plymouth-0.8.2/themes/ubuntu-text/Makefile.am
  4161. +@@ -0,0 +1,4 @@
  4162. ++themedir = $(datadir)/plymouth/themes/ubuntu-text
  4163. ++dist_theme_DATA = ubuntu-text.plymouth
  4164.  +
  4165.  +MAINTAINERCLEANFILES = Makefile.in
  4166. ---- plymouth-0.8.2.orig/src/plugins/splash/details/Makefile.in
  4167. -+++ plymouth-0.8.2/src/plugins/splash/details/Makefile.in
  4168. -@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4169. - PACKAGE_NAME = @PACKAGE_NAME@
  4170. - PACKAGE_STRING = @PACKAGE_STRING@
  4171. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4172. -+PACKAGE_URL = @PACKAGE_URL@
  4173. - PACKAGE_VERSION = @PACKAGE_VERSION@
  4174. - PANGO_CFLAGS = @PANGO_CFLAGS@
  4175. - PANGO_LIBS = @PANGO_LIBS@
  4176. ---- plymouth-0.8.2.orig/src/plugins/splash/details/plugin.c
  4177. -+++ plymouth-0.8.2/src/plugins/splash/details/plugin.c
  4178. -@@ -203,7 +203,10 @@ add_text_display (ply_boot_splash_plugin
  4179. -
  4180. -   terminal = ply_text_display_get_terminal (view->display);
  4181. -   if (ply_terminal_open (terminal))
  4182. --    ply_terminal_activate_vt (terminal);
  4183. -+    {
  4184. -+      ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
  4185. -+      ply_terminal_activate_vt (terminal);
  4186. -+    }
  4187. -
  4188. -   ply_list_append_data (plugin->views, view);
  4189. - }
  4190. ---- plymouth-0.8.2.orig/src/plugins/splash/text/Makefile.in
  4191. -+++ plymouth-0.8.2/src/plugins/splash/text/Makefile.in
  4192. -@@ -171,6 +171,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4193. - PACKAGE_NAME = @PACKAGE_NAME@
  4194. - PACKAGE_STRING = @PACKAGE_STRING@
  4195. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4196. -+PACKAGE_URL = @PACKAGE_URL@
  4197. - PACKAGE_VERSION = @PACKAGE_VERSION@
  4198. - PANGO_CFLAGS = @PANGO_CFLAGS@
  4199. - PANGO_LIBS = @PANGO_LIBS@
  4200. ---- plymouth-0.8.2.orig/src/plugins/splash/text/plugin.c
  4201. -+++ plymouth-0.8.2/src/plugins/splash/text/plugin.c
  4202. -@@ -485,7 +485,10 @@ add_text_display (ply_boot_splash_plugin
  4203. -
  4204. -   terminal = ply_text_display_get_terminal (view->display);
  4205. -   if (ply_terminal_open (terminal))
  4206. --    ply_terminal_activate_vt (terminal);
  4207. -+    {
  4208. -+      ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
  4209. -+      ply_terminal_activate_vt (terminal);
  4210. -+    }
  4211. -
  4212. -   ply_text_display_set_draw_handler (view->display,
  4213. -                                      (ply_text_display_draw_handler_t)
  4214. ---- plymouth-0.8.2.orig/src/plugins/renderers/Makefile.in
  4215. -+++ plymouth-0.8.2/src/plugins/renderers/Makefile.in
  4216. -@@ -33,6 +33,7 @@ PRE_UNINSTALL = :
  4217. - POST_UNINSTALL = :
  4218. - build_triplet = @build@
  4219. - host_triplet = @host@
  4220. -+@BUILD_VGA16FB_TRUE@am__append_1 = vga16fb
  4221. - subdir = src/plugins/renderers
  4222. - DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
  4223. - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  4224. -@@ -66,7 +67,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGE
  4225. -       distdir
  4226. - ETAGS = etags
  4227. - CTAGS = ctags
  4228. --DIST_SUBDIRS = $(SUBDIRS)
  4229. -+DIST_SUBDIRS = frame-buffer drm x11 vga16fb
  4230. - DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  4231. - am__relativize = \
  4232. -   dir0=`pwd`; \
  4233. -@@ -154,6 +155,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4234. - PACKAGE_NAME = @PACKAGE_NAME@
  4235. - PACKAGE_STRING = @PACKAGE_STRING@
  4236. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4237. -+PACKAGE_URL = @PACKAGE_URL@
  4238. - PACKAGE_VERSION = @PACKAGE_VERSION@
  4239. - PANGO_CFLAGS = @PANGO_CFLAGS@
  4240. - PANGO_LIBS = @PANGO_LIBS@
  4241. -@@ -233,7 +235,7 @@ target_alias = @target_alias@
  4242. - top_build_prefix = @top_build_prefix@
  4243. - top_builddir = @top_builddir@
  4244. - top_srcdir = @top_srcdir@
  4245. --SUBDIRS = frame-buffer drm x11
  4246. -+SUBDIRS = frame-buffer drm x11 $(am__append_1)
  4247. - MAINTAINERCLEANFILES = Makefile.in
  4248. - all: all-recursive
  4249. -
  4250. ---- plymouth-0.8.2.orig/src/plugins/renderers/Makefile.am
  4251. -+++ plymouth-0.8.2/src/plugins/renderers/Makefile.am
  4252. -@@ -1,2 +1,5 @@
  4253. - SUBDIRS = frame-buffer drm x11
  4254. -+if BUILD_VGA16FB
  4255. -+SUBDIRS += vga16fb
  4256. -+endif
  4257. - MAINTAINERCLEANFILES = Makefile.in
  4258. ---- plymouth-0.8.2.orig/src/plugins/renderers/x11/Makefile.in
  4259. -+++ plymouth-0.8.2/src/plugins/renderers/x11/Makefile.in
  4260. -@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4261. - PACKAGE_NAME = @PACKAGE_NAME@
  4262. - PACKAGE_STRING = @PACKAGE_STRING@
  4263. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4264. -+PACKAGE_URL = @PACKAGE_URL@
  4265. - PACKAGE_VERSION = @PACKAGE_VERSION@
  4266. - PANGO_CFLAGS = @PANGO_CFLAGS@
  4267. - PANGO_LIBS = @PANGO_LIBS@
  4268.  --- /dev/null
  4269. -+++ plymouth-0.8.2/src/plugins/renderers/vga16fb/Makefile.in
  4270. -@@ -0,0 +1,592 @@
  4271. ++++ plymouth-0.8.2/themes/ubuntu-text/Makefile.in
  4272. +@@ -0,0 +1,437 @@
  4273.  +# Makefile.in generated by automake 1.11.1 from Makefile.am.
  4274.  +# @configure_input@
  4275.  +
  4276. @@ -13298,8 +12643,9 @@
  4277.  +POST_UNINSTALL = :
  4278.  +build_triplet = @build@
  4279.  +host_triplet = @host@
  4280. -+subdir = src/plugins/renderers/vga16fb
  4281. -+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
  4282. ++subdir = themes/ubuntu-text
  4283. ++DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
  4284. ++      $(srcdir)/Makefile.in
  4285.  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  4286.  +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
  4287.  +      $(top_srcdir)/configure.ac
  4288. @@ -13309,6 +12655,14 @@
  4289.  +CONFIG_HEADER = $(top_builddir)/config.h
  4290.  +CONFIG_CLEAN_FILES =
  4291.  +CONFIG_CLEAN_VPATH_FILES =
  4292. ++AM_V_GEN = $(am__v_GEN_$(V))
  4293. ++am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  4294. ++am__v_GEN_0 = @echo "  GEN   " $@;
  4295. ++AM_V_at = $(am__v_at_$(V))
  4296. ++am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  4297. ++am__v_at_0 = @
  4298. ++SOURCES =
  4299. ++DIST_SOURCES =
  4300.  +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  4301.  +am__vpath_adj = case $$p in \
  4302.  +    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  4303. @@ -13330,50 +12684,8 @@
  4304.  +am__base_list = \
  4305.  +  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  4306.  +  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  4307. -+am__installdirs = "$(DESTDIR)$(plugindir)"
  4308. -+LTLIBRARIES = $(plugin_LTLIBRARIES)
  4309. -+am__DEPENDENCIES_1 =
  4310. -+vga16fb_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
  4311. -+      ../../../libply/libply.la \
  4312. -+      ../../../libply-splash-core/libply-splash-core.la
  4313. -+am_vga16fb_la_OBJECTS = vga16fb_la-plugin.lo
  4314. -+vga16fb_la_OBJECTS = $(am_vga16fb_la_OBJECTS)
  4315. -+AM_V_lt = $(am__v_lt_$(V))
  4316. -+am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
  4317. -+am__v_lt_0 = --silent
  4318. -+vga16fb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  4319. -+      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(vga16fb_la_CFLAGS) \
  4320. -+      $(CFLAGS) $(vga16fb_la_LDFLAGS) $(LDFLAGS) -o $@
  4321. -+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
  4322. -+depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp
  4323. -+am__depfiles_maybe = depfiles
  4324. -+am__mv = mv -f
  4325. -+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  4326. -+      $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
  4327. -+LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  4328. -+      $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
  4329. -+      $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  4330. -+      $(AM_CFLAGS) $(CFLAGS)
  4331. -+AM_V_CC = $(am__v_CC_$(V))
  4332. -+am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
  4333. -+am__v_CC_0 = @echo "  CC    " $@;
  4334. -+AM_V_at = $(am__v_at_$(V))
  4335. -+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  4336. -+am__v_at_0 = @
  4337. -+CCLD = $(CC)
  4338. -+LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  4339. -+      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
  4340. -+      $(AM_LDFLAGS) $(LDFLAGS) -o $@
  4341. -+AM_V_CCLD = $(am__v_CCLD_$(V))
  4342. -+am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
  4343. -+am__v_CCLD_0 = @echo "  CCLD  " $@;
  4344. -+AM_V_GEN = $(am__v_GEN_$(V))
  4345. -+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  4346. -+am__v_GEN_0 = @echo "  GEN   " $@;
  4347. -+SOURCES = $(vga16fb_la_SOURCES)
  4348. -+DIST_SOURCES = $(vga16fb_la_SOURCES)
  4349. -+ETAGS = etags
  4350. -+CTAGS = ctags
  4351. ++am__installdirs = "$(DESTDIR)$(themedir)"
  4352. ++DATA = $(dist_theme_DATA)
  4353.  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  4354.  +ACLOCAL = @ACLOCAL@
  4355.  +AMTAR = @AMTAR@
  4356. @@ -13516,28 +12828,12 @@
  4357.  +top_build_prefix = @top_build_prefix@
  4358.  +top_builddir = @top_builddir@
  4359.  +top_srcdir = @top_srcdir@
  4360. -+INCLUDES = -I$(top_srcdir)                                                    \
  4361. -+           -I$(srcdir)/../../../libply                                        \
  4362. -+           -I$(srcdir)/../../../libply-splash-core                            \
  4363. -+           -I$(srcdir)/../../..                                               \
  4364. -+           -I$(srcdir)/../..                                                  \
  4365. -+           -I$(srcdir)/..                                                     \
  4366. -+           -I$(srcdir)
  4367. -+
  4368. -+plugindir = $(libdir)/plymouth/renderers
  4369. -+plugin_LTLIBRARIES = vga16fb.la
  4370. -+vga16fb_la_CFLAGS = $(PLYMOUTH_CFLAGS)
  4371. -+vga16fb_la_LDFLAGS = -module -avoid-version -export-dynamic
  4372. -+vga16fb_la_LIBADD = $(PLYMOUTH_LIBS)                                     \
  4373. -+                    ../../../libply/libply.la                            \
  4374. -+                    ../../../libply-splash-core/libply-splash-core.la
  4375. -+
  4376. -+vga16fb_la_SOURCES = $(srcdir)/plugin.c
  4377. ++themedir = $(datadir)/plymouth/themes/ubuntu-text
  4378. ++dist_theme_DATA = ubuntu-text.plymouth
  4379.  +MAINTAINERCLEANFILES = Makefile.in
  4380.  +all: all-am
  4381.  +
  4382.  +.SUFFIXES:
  4383. -+.SUFFIXES: .c .lo .o .obj
  4384.  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
  4385.  +      @for dep in $?; do \
  4386.  +        case '$(am__configure_deps)' in \
  4387. @@ -13547,9 +12843,9 @@
  4388.  +            exit 1;; \
  4389.  +        esac; \
  4390.  +      done; \
  4391. -+      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/plugins/renderers/vga16fb/Makefile'; \
  4392. ++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile'; \
  4393.  +      $(am__cd) $(top_srcdir) && \
  4394. -+        $(AUTOMAKE) --gnu src/plugins/renderers/vga16fb/Makefile
  4395. ++        $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile
  4396.  +.PRECIOUS: Makefile
  4397.  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  4398.  +      @case '$?' in \
  4399. @@ -13568,137 +12864,38 @@
  4400.  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
  4401.  +      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  4402.  +$(am__aclocal_m4_deps):
  4403. -+install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
  4404. -+      @$(NORMAL_INSTALL)
  4405. -+      test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
  4406. -+      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  4407. -+      list2=; for p in $$list; do \
  4408. -+        if test -f $$p; then \
  4409. -+          list2="$$list2 $$p"; \
  4410. -+        else :; fi; \
  4411. -+      done; \
  4412. -+      test -z "$$list2" || { \
  4413. -+        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
  4414. -+        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
  4415. -+      }
  4416. -+
  4417. -+uninstall-pluginLTLIBRARIES:
  4418. -+      @$(NORMAL_UNINSTALL)
  4419. -+      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  4420. -+      for p in $$list; do \
  4421. -+        $(am__strip_dir) \
  4422. -+        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
  4423. -+        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
  4424. -+      done
  4425. -+
  4426. -+clean-pluginLTLIBRARIES:
  4427. -+      -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
  4428. -+      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
  4429. -+        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
  4430. -+        test "$$dir" != "$$p" || dir=.; \
  4431. -+        echo "rm -f \"$${dir}/so_locations\""; \
  4432. -+        rm -f "$${dir}/so_locations"; \
  4433. -+      done
  4434. -+vga16fb.la: $(vga16fb_la_OBJECTS) $(vga16fb_la_DEPENDENCIES)
  4435. -+      $(AM_V_CCLD)$(vga16fb_la_LINK) -rpath $(plugindir) $(vga16fb_la_OBJECTS) $(vga16fb_la_LIBADD) $(LIBS)
  4436. -+
  4437. -+mostlyclean-compile:
  4438. -+      -rm -f *.$(OBJEXT)
  4439. -+
  4440. -+distclean-compile:
  4441. -+      -rm -f *.tab.c
  4442. -+
  4443. -+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vga16fb_la-plugin.Plo@am__quote@
  4444. -+
  4445. -+.c.o:
  4446. -+@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  4447. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  4448. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  4449. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  4450. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  4451. -+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
  4452. -+
  4453. -+.c.obj:
  4454. -+@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
  4455. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  4456. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  4457. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  4458. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  4459. -+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
  4460. -+
  4461. -+.c.lo:
  4462. -+@am__fastdepCC_TRUE@  $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  4463. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
  4464. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  4465. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
  4466. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  4467. -+@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
  4468. -+
  4469. -+vga16fb_la-plugin.lo: $(srcdir)/plugin.c
  4470. -+@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) $(vga16fb_la_CFLAGS) $(CFLAGS) -MT vga16fb_la-plugin.lo -MD -MP -MF $(DEPDIR)/vga16fb_la-plugin.Tpo -c -o vga16fb_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
  4471. -+@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/vga16fb_la-plugin.Tpo $(DEPDIR)/vga16fb_la-plugin.Plo
  4472. -+@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  4473. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$(srcdir)/plugin.c' object='vga16fb_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
  4474. -+@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  4475. -+@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vga16fb_la_CFLAGS) $(CFLAGS) -c -o vga16fb_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
  4476.  +
  4477.  +mostlyclean-libtool:
  4478.  +      -rm -f *.lo
  4479.  +
  4480.  +clean-libtool:
  4481.  +      -rm -rf .libs _libs
  4482. ++install-dist_themeDATA: $(dist_theme_DATA)
  4483. ++      @$(NORMAL_INSTALL)
  4484. ++      test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
  4485. ++      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  4486. ++      for p in $$list; do \
  4487. ++        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  4488. ++        echo "$$d$$p"; \
  4489. ++      done | $(am__base_list) | \
  4490. ++      while read files; do \
  4491. ++        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
  4492. ++        $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
  4493. ++      done
  4494.  +
  4495. -+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
  4496. -+      list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
  4497. -+      unique=`for i in $$list; do \
  4498. -+          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  4499. -+        done | \
  4500. -+        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  4501. -+            END { if (nonempty) { for (i in files) print i; }; }'`; \
  4502. -+      mkid -fID $$unique
  4503. ++uninstall-dist_themeDATA:
  4504. ++      @$(NORMAL_UNINSTALL)
  4505. ++      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  4506. ++      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
  4507. ++      test -n "$$files" || exit 0; \
  4508. ++      echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
  4509. ++      cd "$(DESTDIR)$(themedir)" && rm -f $$files
  4510.  +tags: TAGS
  4511. ++TAGS:
  4512.  +
  4513. -+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  4514. -+              $(TAGS_FILES) $(LISP)
  4515. -+      set x; \
  4516. -+      here=`pwd`; \
  4517. -+      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  4518. -+      unique=`for i in $$list; do \
  4519. -+          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  4520. -+        done | \
  4521. -+        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  4522. -+            END { if (nonempty) { for (i in files) print i; }; }'`; \
  4523. -+      shift; \
  4524. -+      if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
  4525. -+        test -n "$$unique" || unique=$$empty_fix; \
  4526. -+        if test $$# -gt 0; then \
  4527. -+          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  4528. -+            "$$@" $$unique; \
  4529. -+        else \
  4530. -+          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  4531. -+            $$unique; \
  4532. -+        fi; \
  4533. -+      fi
  4534.  +ctags: CTAGS
  4535. -+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  4536. -+              $(TAGS_FILES) $(LISP)
  4537. -+      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  4538. -+      unique=`for i in $$list; do \
  4539. -+          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  4540. -+        done | \
  4541. -+        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  4542. -+            END { if (nonempty) { for (i in files) print i; }; }'`; \
  4543. -+      test -z "$(CTAGS_ARGS)$$unique" \
  4544. -+        || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
  4545. -+           $$unique
  4546. -+
  4547. -+GTAGS:
  4548. -+      here=`$(am__cd) $(top_builddir) && pwd` \
  4549. -+        && $(am__cd) $(top_srcdir) \
  4550. -+        && gtags -i $(GTAGS_ARGS) "$$here"
  4551. ++CTAGS:
  4552.  +
  4553. -+distclean-tags:
  4554. -+      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
  4555.  +
  4556.  +distdir: $(DISTFILES)
  4557.  +      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  4558. @@ -13732,9 +12929,9 @@
  4559.  +      done
  4560.  +check-am: all-am
  4561.  +check: check-am
  4562. -+all-am: Makefile $(LTLIBRARIES)
  4563. ++all-am: Makefile $(DATA)
  4564.  +installdirs:
  4565. -+      for dir in "$(DESTDIR)$(plugindir)"; do \
  4566. ++      for dir in "$(DESTDIR)$(themedir)"; do \
  4567.  +        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  4568.  +      done
  4569.  +install: install-am
  4570. @@ -13765,14 +12962,11 @@
  4571.  +      -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
  4572.  +clean: clean-am
  4573.  +
  4574. -+clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
  4575. -+      mostlyclean-am
  4576. ++clean-am: clean-generic clean-libtool mostlyclean-am
  4577.  +
  4578.  +distclean: distclean-am
  4579. -+      -rm -rf ./$(DEPDIR)
  4580.  +      -rm -f Makefile
  4581. -+distclean-am: clean-am distclean-compile distclean-generic \
  4582. -+      distclean-tags
  4583. ++distclean-am: clean-am distclean-generic
  4584.  +
  4585.  +dvi: dvi-am
  4586.  +
  4587. @@ -13786,7 +12980,7 @@
  4588.  +
  4589.  +info-am:
  4590.  +
  4591. -+install-data-am: install-pluginLTLIBRARIES
  4592. ++install-data-am: install-dist_themeDATA
  4593.  +
  4594.  +install-dvi: install-dvi-am
  4595.  +
  4596. @@ -13815,14 +13009,12 @@
  4597.  +installcheck-am:
  4598.  +
  4599.  +maintainer-clean: maintainer-clean-am
  4600. -+      -rm -rf ./$(DEPDIR)
  4601.  +      -rm -f Makefile
  4602.  +maintainer-clean-am: distclean-am maintainer-clean-generic
  4603.  +
  4604.  +mostlyclean: mostlyclean-am
  4605.  +
  4606. -+mostlyclean-am: mostlyclean-compile mostlyclean-generic \
  4607. -+      mostlyclean-libtool
  4608. ++mostlyclean-am: mostlyclean-generic mostlyclean-libtool
  4609.  +
  4610.  +pdf: pdf-am
  4611.  +
  4612. @@ -13832,36 +13024,297 @@
  4613.  +
  4614.  +ps-am:
  4615.  +
  4616. -+uninstall-am: uninstall-pluginLTLIBRARIES
  4617. ++uninstall-am: uninstall-dist_themeDATA
  4618.  +
  4619.  +.MAKE: install-am install-strip
  4620.  +
  4621. -+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
  4622. -+      clean-libtool clean-pluginLTLIBRARIES ctags distclean \
  4623. -+      distclean-compile distclean-generic distclean-libtool \
  4624. -+      distclean-tags distdir dvi dvi-am html html-am info info-am \
  4625. -+      install install-am install-data install-data-am install-dvi \
  4626. -+      install-dvi-am install-exec install-exec-am install-html \
  4627. -+      install-html-am install-info install-info-am install-man \
  4628. -+      install-pdf install-pdf-am install-pluginLTLIBRARIES \
  4629. -+      install-ps install-ps-am install-strip installcheck \
  4630. -+      installcheck-am installdirs maintainer-clean \
  4631. -+      maintainer-clean-generic mostlyclean mostlyclean-compile \
  4632. -+      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
  4633. -+      tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
  4634. ++.PHONY: all all-am check check-am clean clean-generic clean-libtool \
  4635. ++      distclean distclean-generic distclean-libtool distdir dvi \
  4636. ++      dvi-am html html-am info info-am install install-am \
  4637. ++      install-data install-data-am install-dist_themeDATA \
  4638. ++      install-dvi install-dvi-am install-exec install-exec-am \
  4639. ++      install-html install-html-am install-info install-info-am \
  4640. ++      install-man install-pdf install-pdf-am install-ps \
  4641. ++      install-ps-am install-strip installcheck installcheck-am \
  4642. ++      installdirs maintainer-clean maintainer-clean-generic \
  4643. ++      mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
  4644. ++      ps ps-am uninstall uninstall-am uninstall-dist_themeDATA
  4645.  +
  4646.  +
  4647.  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
  4648.  +# Otherwise a system limit (for SysV at least) may be exceeded.
  4649.  +.NOEXPORT:
  4650. +--- plymouth-0.8.2.orig/themes/script/Makefile.in
  4651. ++++ plymouth-0.8.2/themes/script/Makefile.in
  4652. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4653. + PACKAGE_NAME = @PACKAGE_NAME@
  4654. + PACKAGE_STRING = @PACKAGE_STRING@
  4655. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4656. ++PACKAGE_URL = @PACKAGE_URL@
  4657. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4658. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4659. + PANGO_LIBS = @PANGO_LIBS@
  4660. +--- plymouth-0.8.2.orig/themes/spinfinity/Makefile.in
  4661. ++++ plymouth-0.8.2/themes/spinfinity/Makefile.in
  4662. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4663. + PACKAGE_NAME = @PACKAGE_NAME@
  4664. + PACKAGE_STRING = @PACKAGE_STRING@
  4665. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4666. ++PACKAGE_URL = @PACKAGE_URL@
  4667. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4668. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4669. + PANGO_LIBS = @PANGO_LIBS@
  4670. +--- plymouth-0.8.2.orig/themes/details/Makefile.in
  4671. ++++ plymouth-0.8.2/themes/details/Makefile.in
  4672. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4673. + PACKAGE_NAME = @PACKAGE_NAME@
  4674. + PACKAGE_STRING = @PACKAGE_STRING@
  4675. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4676. ++PACKAGE_URL = @PACKAGE_URL@
  4677. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4678. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4679. + PANGO_LIBS = @PANGO_LIBS@
  4680. +--- plymouth-0.8.2.orig/themes/fade-in/Makefile.in
  4681. ++++ plymouth-0.8.2/themes/fade-in/Makefile.in
  4682. +@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4683. + PACKAGE_NAME = @PACKAGE_NAME@
  4684. + PACKAGE_STRING = @PACKAGE_STRING@
  4685. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4686. ++PACKAGE_URL = @PACKAGE_URL@
  4687. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4688. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4689. + PANGO_LIBS = @PANGO_LIBS@
  4690. +--- plymouth-0.8.2.orig/docs/Makefile.in
  4691. ++++ plymouth-0.8.2/docs/Makefile.in
  4692. +@@ -140,6 +140,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4693. + PACKAGE_NAME = @PACKAGE_NAME@
  4694. + PACKAGE_STRING = @PACKAGE_STRING@
  4695. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4696. ++PACKAGE_URL = @PACKAGE_URL@
  4697. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4698. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4699. + PANGO_LIBS = @PANGO_LIBS@
  4700. +--- plymouth-0.8.2.orig/images/Makefile.in
  4701. ++++ plymouth-0.8.2/images/Makefile.in
  4702. +@@ -138,6 +138,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4703. + PACKAGE_NAME = @PACKAGE_NAME@
  4704. + PACKAGE_STRING = @PACKAGE_STRING@
  4705. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4706. ++PACKAGE_URL = @PACKAGE_URL@
  4707. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4708. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4709. + PANGO_LIBS = @PANGO_LIBS@
  4710. +--- plymouth-0.8.2.orig/src/Makefile.in
  4711. ++++ plymouth-0.8.2/src/Makefile.in
  4712. +@@ -220,6 +220,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4713. + PACKAGE_NAME = @PACKAGE_NAME@
  4714. + PACKAGE_STRING = @PACKAGE_STRING@
  4715. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4716. ++PACKAGE_URL = @PACKAGE_URL@
  4717. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4718. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4719. + PANGO_LIBS = @PANGO_LIBS@
  4720. +--- plymouth-0.8.2.orig/src/main.c
  4721. ++++ plymouth-0.8.2/src/main.c
  4722. +@@ -116,6 +116,7 @@ typedef struct
  4723. +   const char *default_tty;
  4724. +
  4725. +   int number_of_errors;
  4726. ++  ply_list_t *pending_messages;
  4727. + } state_t;
  4728. +
  4729. + static ply_boot_splash_t *start_boot_splash (state_t    *state,
  4730. +@@ -164,14 +165,34 @@ on_update (state_t     *state,
  4731. +            const char  *status)
  4732. + {
  4733. +   ply_trace ("updating status to '%s'", status);
  4734. +-  ply_progress_status_update (state->progress,
  4735. +-                               status);
  4736. ++  if (strncmp (status, "fsck:", 5))
  4737. ++    ply_progress_status_update (state->progress,
  4738. ++                                status);
  4739. +   if (state->boot_splash != NULL)
  4740. +     ply_boot_splash_update_status (state->boot_splash,
  4741. +                                    status);
  4742. + }
  4743. +
  4744. + static void
  4745. ++flush_pending_messages (state_t *state)
  4746. ++{
  4747. ++  ply_list_node_t *node = ply_list_get_first_node (state->pending_messages);
  4748. ++  while (node != NULL)
  4749. ++    {
  4750. ++      ply_list_node_t *next_node;
  4751. ++      char *message = ply_list_node_get_data (node);
  4752. ++
  4753. ++      ply_trace ("displaying queued message");
  4754. ++
  4755. ++      ply_boot_splash_display_message (state->boot_splash, message);
  4756. ++      next_node = ply_list_get_next_node (state->pending_messages, node);
  4757. ++      ply_list_remove_node (state->pending_messages, node);
  4758. ++      free(message);
  4759. ++      node = next_node;
  4760. ++    }
  4761. ++}
  4762. ++
  4763. ++static void
  4764. + show_detailed_splash (state_t *state)
  4765. + {
  4766. +   if (state->boot_splash != NULL)
  4767. +@@ -319,11 +340,15 @@ show_default_splash (state_t *state)
  4768. +       ply_trace ("Could not start default splash screen,"
  4769. +                  "showing text splash screen");
  4770. +       state->boot_splash = start_boot_splash (state,
  4771. +-                                              PLYMOUTH_THEME_PATH "text/text.plymouth");
  4772. ++                                              PLYMOUTH_THEME_PATH "text.plymouth");
  4773. +     }
  4774. +
  4775. +   if (state->boot_splash == NULL)
  4776. +-    ply_error ("could not start boot splash: %m");
  4777. ++    {
  4778. ++      if (errno != ENOENT)
  4779. ++        ply_error ("could not start boot splash: %m");
  4780. ++      show_detailed_splash (state);
  4781. ++    }
  4782. + }
  4783. +
  4784. + static void
  4785. +@@ -374,6 +399,8 @@ on_display_message (state_t       *state
  4786. +   ply_trace ("displaying message %s", message);
  4787. +   if (state->boot_splash != NULL)
  4788. +     ply_boot_splash_display_message (state->boot_splash, message);
  4789. ++  else
  4790. ++    ply_list_append_data (state->pending_messages, strdup(message));
  4791. + }
  4792. +
  4793. + static void
  4794. +@@ -720,6 +747,7 @@ on_show_splash (state_t *state)
  4795. +       show_detailed_splash (state);
  4796. +       state->showing_details = true;
  4797. +     }
  4798. ++  flush_pending_messages (state);
  4799. + }
  4800. +
  4801. + static void
  4802. +@@ -1259,6 +1287,10 @@ add_display_and_keyboard_for_terminal (s
  4803. +
  4804. +   state->terminal = ply_terminal_new (tty_name);
  4805. +
  4806. ++  // urgh
  4807. ++  if (!ply_terminal_open (state->terminal))
  4808. ++    return;
  4809. ++
  4810. +   keyboard = ply_keyboard_new_for_terminal (state->terminal);
  4811. +   display = ply_text_display_new (state->terminal);
  4812. +
  4813. +@@ -1674,6 +1706,7 @@ initialize_environment (state_t *state)
  4814. +   state->entry_buffer = ply_buffer_new();
  4815. +   state->pixel_displays = ply_list_new ();
  4816. +   state->text_displays = ply_list_new ();
  4817. ++  state->pending_messages = ply_list_new ();
  4818. +   state->keyboard = NULL;
  4819. +
  4820. +   if (!state->default_tty)
  4821. +@@ -1904,12 +1937,7 @@ main (int    argc,
  4822. +     {
  4823. +       state.should_be_attached = attach_to_session;
  4824. +       if (!attach_to_running_session (&state))
  4825. +-        {
  4826. +-          ply_error ("could not create session: %m");
  4827. +-          if (! no_daemon)
  4828. +-            ply_detach_daemon (daemon_handle, EX_UNAVAILABLE);
  4829. +-          return EX_UNAVAILABLE;
  4830. +-        }
  4831. ++          ply_trace ("could not create session: %m");
  4832. +     }
  4833. +
  4834. +   state.boot_server = start_boot_server (&state);
  4835. +--- plymouth-0.8.2.orig/src/plugins/Makefile.in
  4836. ++++ plymouth-0.8.2/src/plugins/Makefile.in
  4837. +@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4838. + PACKAGE_NAME = @PACKAGE_NAME@
  4839. + PACKAGE_STRING = @PACKAGE_STRING@
  4840. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4841. ++PACKAGE_URL = @PACKAGE_URL@
  4842. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4843. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4844. + PANGO_LIBS = @PANGO_LIBS@
  4845. +--- plymouth-0.8.2.orig/src/plugins/splash/Makefile.am
  4846. ++++ plymouth-0.8.2/src/plugins/splash/Makefile.am
  4847. +@@ -1,2 +1,2 @@
  4848. +-SUBDIRS = throbgress fade-throbber text details space-flares two-step script
  4849. ++SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
  4850. + MAINTAINERCLEANFILES = Makefile.in
  4851. +--- plymouth-0.8.2.orig/src/plugins/splash/Makefile.in
  4852. ++++ plymouth-0.8.2/src/plugins/splash/Makefile.in
  4853. +@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4854. + PACKAGE_NAME = @PACKAGE_NAME@
  4855. + PACKAGE_STRING = @PACKAGE_STRING@
  4856. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4857. ++PACKAGE_URL = @PACKAGE_URL@
  4858. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4859. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4860. + PANGO_LIBS = @PANGO_LIBS@
  4861. +@@ -233,7 +234,7 @@ target_alias = @target_alias@
  4862. + top_build_prefix = @top_build_prefix@
  4863. + top_builddir = @top_builddir@
  4864. + top_srcdir = @top_srcdir@
  4865. +-SUBDIRS = throbgress fade-throbber text details space-flares two-step script
  4866. ++SUBDIRS = throbgress fade-throbber text details space-flares two-step script ubuntu-text
  4867. + MAINTAINERCLEANFILES = Makefile.in
  4868. + all: all-recursive
  4869. +
  4870. +--- plymouth-0.8.2.orig/src/plugins/splash/text/plugin.c
  4871. ++++ plymouth-0.8.2/src/plugins/splash/text/plugin.c
  4872. +@@ -485,7 +485,10 @@ add_text_display (ply_boot_splash_plugin
  4873. +
  4874. +   terminal = ply_text_display_get_terminal (view->display);
  4875. +   if (ply_terminal_open (terminal))
  4876. +-    ply_terminal_activate_vt (terminal);
  4877. ++    {
  4878. ++      ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
  4879. ++      ply_terminal_activate_vt (terminal);
  4880. ++    }
  4881. +
  4882. +   ply_text_display_set_draw_handler (view->display,
  4883. +                                      (ply_text_display_draw_handler_t)
  4884. +--- plymouth-0.8.2.orig/src/plugins/splash/text/Makefile.in
  4885. ++++ plymouth-0.8.2/src/plugins/splash/text/Makefile.in
  4886. +@@ -171,6 +171,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4887. + PACKAGE_NAME = @PACKAGE_NAME@
  4888. + PACKAGE_STRING = @PACKAGE_STRING@
  4889. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4890. ++PACKAGE_URL = @PACKAGE_URL@
  4891. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4892. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4893. + PANGO_LIBS = @PANGO_LIBS@
  4894. +--- plymouth-0.8.2.orig/src/plugins/splash/throbgress/Makefile.in
  4895. ++++ plymouth-0.8.2/src/plugins/splash/throbgress/Makefile.in
  4896. +@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4897. + PACKAGE_NAME = @PACKAGE_NAME@
  4898. + PACKAGE_STRING = @PACKAGE_STRING@
  4899. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4900. ++PACKAGE_URL = @PACKAGE_URL@
  4901. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4902. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4903. + PANGO_LIBS = @PANGO_LIBS@
  4904. +--- plymouth-0.8.2.orig/src/plugins/splash/space-flares/Makefile.in
  4905. ++++ plymouth-0.8.2/src/plugins/splash/space-flares/Makefile.in
  4906. +@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  4907. + PACKAGE_NAME = @PACKAGE_NAME@
  4908. + PACKAGE_STRING = @PACKAGE_STRING@
  4909. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  4910. ++PACKAGE_URL = @PACKAGE_URL@
  4911. + PACKAGE_VERSION = @PACKAGE_VERSION@
  4912. + PANGO_CFLAGS = @PANGO_CFLAGS@
  4913. + PANGO_LIBS = @PANGO_LIBS@
  4914.  --- /dev/null
  4915. -+++ plymouth-0.8.2/src/plugins/renderers/vga16fb/plugin.c
  4916. -@@ -0,0 +1,696 @@
  4917. -+/* plugin.c - vga16fb renderer plugin
  4918. ++++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/plugin.c
  4919. +@@ -0,0 +1,795 @@
  4920. ++/* ubuntu-text.c - boot splash plugin
  4921.  + *
  4922.  + * Copyright (C) 2010 Canonical Ltd.
  4923. -+ *               2006-2009 Red Hat, Inc.
  4924. -+ *               2008 Charlie Brej <cbrej@cs.man.ac.uk>
  4925. ++ * Copyright (C) 2008 Red Hat, Inc.
  4926.  + *
  4927.  + * This program is free software; you can redistribute it and/or modify
  4928.  + * it under the terms of the GNU General Public License as published by
  4929. @@ -13879,1202 +13332,809 @@
  4930.  + * 02111-1307, USA.
  4931.  + *
  4932.  + * Written by: Scott James Remnant <scott@ubuntu.com>
  4933. -+ *             Charlie Brej <cbrej@cs.man.ac.uk>
  4934. -+ *             Kristian Høgsberg <krh@redhat.com>
  4935. -+ *             Peter Jones <pjones@redhat.com>
  4936. ++ *             Adam Jackson <ajax@redhat.com>
  4937.  + *             Ray Strode <rstrode@redhat.com>
  4938.  + */
  4939.  +#include "config.h"
  4940.  +
  4941. -+#include <arpa/inet.h>
  4942.  +#include <assert.h>
  4943.  +#include <errno.h>
  4944.  +#include <fcntl.h>
  4945. ++#include <math.h>
  4946.  +#include <signal.h>
  4947. -+#include <string.h>
  4948.  +#include <stdbool.h>
  4949. -+#include <stdint.h>
  4950.  +#include <stdio.h>
  4951. ++#include <stdint.h>
  4952.  +#include <stdlib.h>
  4953. ++#include <string.h>
  4954.  +#include <sys/ioctl.h>
  4955. -+#include <sys/mman.h>
  4956.  +#include <sys/stat.h>
  4957. ++#include <sys/time.h>
  4958.  +#include <sys/types.h>
  4959. -+#include <values.h>
  4960. ++#include <termios.h>
  4961.  +#include <unistd.h>
  4962. -+#include <sys/io.h>
  4963. -+
  4964. -+#include <linux/fb.h>
  4965. ++#include <values.h>
  4966. ++#include <wchar.h>
  4967.  +
  4968. ++#include "ply-trigger.h"
  4969. ++#include "ply-boot-splash-plugin.h"
  4970.  +#include "ply-buffer.h"
  4971.  +#include "ply-event-loop.h"
  4972. ++#include "ply-key-file.h"
  4973.  +#include "ply-list.h"
  4974.  +#include "ply-logger.h"
  4975. -+#include "ply-rectangle.h"
  4976. -+#include "ply-region.h"
  4977. -+#include "ply-terminal.h"
  4978. -+
  4979. -+#include "ply-renderer.h"
  4980. -+#include "ply-renderer-plugin.h"
  4981. -+
  4982. -+#include "vga.h"
  4983. -+
  4984. -+#ifndef PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME
  4985. -+#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb0"
  4986. -+#endif
  4987. -+
  4988. -+struct _ply_renderer_head
  4989. -+{
  4990. -+  ply_pixel_buffer_t *pixel_buffer;
  4991. -+  ply_rectangle_t area;
  4992. -+  char *map_address;
  4993. -+  size_t size;
  4994. -+
  4995. -+  uint16_t red[16];
  4996. -+  uint16_t green[16];
  4997. -+  uint16_t blue[16];
  4998. -+  uint32_t palette_size;
  4999. -+  bool     palette_overflow;
  5000. -+};
  5001. ++#include "ply-text-display.h"
  5002. ++#include "ply-text-progress-bar.h"
  5003. ++#include "ply-utils.h"
  5004.  +
  5005. -+struct _ply_renderer_input_source
  5006. -+{
  5007. -+  ply_renderer_backend_t *backend;
  5008. -+  ply_fd_watch_t *terminal_input_watch;
  5009. ++#include <linux/kd.h>
  5010.  +
  5011. -+  ply_buffer_t   *key_buffer;
  5012. ++#define CLEAR_LINE_SEQUENCE "\033[2K\r\n"
  5013. ++#define BACKSPACE "\b\033[0K"
  5014.  +
  5015. -+  ply_renderer_input_source_handler_t handler;
  5016. -+  void           *user_data;
  5017. -+};
  5018. ++typedef enum {
  5019. ++   PLY_BOOT_SPLASH_DISPLAY_NORMAL,
  5020. ++   PLY_BOOT_SPLASH_DISPLAY_QUESTION_ENTRY,
  5021. ++   PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY
  5022. ++} ply_boot_splash_display_type_t;
  5023.  +
  5024. -+struct _ply_renderer_backend
  5025. ++struct _ply_boot_splash_plugin
  5026.  +{
  5027.  +  ply_event_loop_t *loop;
  5028. -+  ply_terminal_t *terminal;
  5029. ++  ply_boot_splash_mode_t mode;
  5030.  +
  5031. -+  char *device_name;
  5032. -+  int   device_fd;
  5033. ++  ply_list_t *views;
  5034.  +
  5035. -+  ply_renderer_input_source_t input_source;
  5036. -+  ply_renderer_head_t head;
  5037. -+  ply_list_t *heads;
  5038. ++  ply_boot_splash_display_type_t state;
  5039.  +
  5040. -+  unsigned int row_stride;
  5041. -+  unsigned int bits_per_pixel;
  5042. ++  char *message;
  5043.  +
  5044. -+  uint32_t is_active : 1;
  5045. ++  uint32_t is_animating : 1;
  5046.  +};
  5047.  +
  5048. -+ply_renderer_plugin_interface_t *ply_renderer_backend_get_interface (void);
  5049. -+static void ply_renderer_head_redraw (ply_renderer_backend_t *backend,
  5050. -+                                      ply_renderer_head_t    *head);
  5051. -+static bool open_input_source (ply_renderer_backend_t      *backend,
  5052. -+                               ply_renderer_input_source_t *input_source);
  5053. -+
  5054. -+static ply_renderer_backend_t *
  5055. -+create_backend (const char *device_name,
  5056. -+                ply_terminal_t *terminal)
  5057. -+{
  5058. -+  ply_renderer_backend_t *backend;
  5059. -+
  5060. -+  backend = calloc (1, sizeof (ply_renderer_backend_t));
  5061. -+
  5062. -+  if (device_name != NULL)
  5063. -+    backend->device_name = strdup (device_name);
  5064. -+  else if (getenv ("FRAMEBUFFER") != NULL)
  5065. -+    backend->device_name = strdup (getenv ("FRAMEBUFFER"));
  5066. -+  else
  5067. -+    backend->device_name =
  5068. -+      strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
  5069. -+
  5070. -+  backend->loop = ply_event_loop_get_default ();
  5071. -+  backend->head.map_address = MAP_FAILED;
  5072. -+  backend->heads = ply_list_new ();
  5073. -+  backend->input_source.key_buffer = ply_buffer_new ();
  5074. -+  backend->terminal = terminal;
  5075. -+
  5076. -+  return backend;
  5077. -+}
  5078. -+
  5079. -+static void
  5080. -+initialize_head (ply_renderer_backend_t *backend,
  5081. -+                 ply_renderer_head_t    *head)
  5082. -+{
  5083. -+  head->pixel_buffer = ply_pixel_buffer_new (head->area.width,
  5084. -+                                             head->area.height);
  5085. -+  ply_pixel_buffer_fill_with_color (backend->head.pixel_buffer, NULL,
  5086. -+                                    0.0, 0.0, 0.0, 1.0);
  5087. -+
  5088. -+  memset (head->red, 0, sizeof head->red);
  5089. -+  memset (head->green, 0, sizeof head->green);
  5090. -+  memset (head->blue, 0, sizeof head->blue);
  5091. -+
  5092. -+  head->palette_size = 0;
  5093. -+  head->palette_overflow = false;
  5094. -+
  5095. -+  ply_list_append_data (backend->heads, head);
  5096. -+}
  5097. -+
  5098. -+static void
  5099. -+uninitialize_head (ply_renderer_backend_t *backend,
  5100. -+                   ply_renderer_head_t    *head)
  5101. -+{
  5102. -+  if (head->pixel_buffer != NULL)
  5103. -+    {
  5104. -+      ply_pixel_buffer_free (head->pixel_buffer);
  5105. -+      head->pixel_buffer = NULL;
  5106. -+
  5107. -+      ply_list_remove_data (backend->heads, head);
  5108. -+    }
  5109. -+}
  5110. -+
  5111. -+static void
  5112. -+destroy_backend (ply_renderer_backend_t *backend)
  5113. ++typedef struct
  5114.  +{
  5115. ++  ply_boot_splash_plugin_t *plugin;
  5116. ++  ply_text_display_t *display;
  5117.  +
  5118. -+  free (backend->device_name);
  5119. -+  uninitialize_head (backend, &backend->head);
  5120. -+
  5121. -+  ply_list_free (backend->heads);
  5122. ++} view_t;
  5123.  +
  5124. -+  free (backend);
  5125. -+}
  5126. ++static void hide_splash_screen (ply_boot_splash_plugin_t *plugin,
  5127. ++                                ply_event_loop_t         *loop);
  5128.  +
  5129. -+static void
  5130. -+set_palette (ply_renderer_backend_t *backend,
  5131. -+             ply_renderer_head_t    *head)
  5132. ++static view_t *
  5133. ++view_new (ply_boot_splash_plugin_t *plugin,
  5134. ++          ply_text_display_t       *display)
  5135.  +{
  5136. -+  struct fb_cmap cmap;
  5137. -+
  5138. -+  if (backend->device_fd < 0)
  5139. -+    return;
  5140. -+  if (!head->palette_size)
  5141. -+    return;
  5142. -+
  5143. -+  cmap.start = 0;
  5144. -+  cmap.len = head->palette_size;;
  5145. -+  cmap.red = head->red;
  5146. -+  cmap.green = head->green;
  5147. -+  cmap.blue = head->blue;
  5148. -+  cmap.transp = NULL;
  5149. -+
  5150. -+  ioctl (backend->device_fd, FBIOPUTCMAP, &cmap);
  5151. -+}
  5152. ++  view_t *view;
  5153.  +
  5154. -+static void
  5155. -+activate (ply_renderer_backend_t *backend)
  5156. -+{
  5157. -+  backend->is_active = true;
  5158. ++  view = calloc (1, sizeof (view_t));
  5159. ++  view->plugin = plugin;
  5160. ++  view->display = display;
  5161.  +
  5162. -+  if (backend->head.map_address != MAP_FAILED)
  5163. -+    ply_renderer_head_redraw (backend, &backend->head);
  5164. ++  return view;
  5165.  +}
  5166.  +
  5167.  +static void
  5168. -+deactivate (ply_renderer_backend_t *backend)
  5169. ++view_free (view_t *view)
  5170.  +{
  5171. -+  backend->is_active = false;
  5172. ++  free (view);
  5173.  +}
  5174.  +
  5175.  +static void
  5176. -+on_active_vt_changed (ply_renderer_backend_t *backend)
  5177. ++view_show_message (view_t *view)
  5178.  +{
  5179. -+  if (ply_terminal_is_active (backend->terminal))
  5180. -+    {
  5181. -+      activate (backend);
  5182. -+    }
  5183. -+  else
  5184. -+    {
  5185. -+      deactivate (backend);
  5186. -+    }
  5187. -+}
  5188. ++  ply_boot_splash_plugin_t *plugin;
  5189. ++  int display_width, display_height, y;
  5190. ++  ply_terminal_color_t color;
  5191. ++  char *message;
  5192.  +
  5193. -+static bool
  5194. -+open_device (ply_renderer_backend_t *backend)
  5195. -+{
  5196. -+  backend->device_fd = open (backend->device_name, O_RDWR);
  5197. ++  plugin = view->plugin;
  5198.  +
  5199. -+  if (backend->device_fd < 0)
  5200. -+    {
  5201. -+      ply_trace ("could not open '%s': %m", backend->device_name);
  5202. -+      return false;
  5203. -+    }
  5204. ++  display_width = ply_text_display_get_number_of_columns (view->display);
  5205. ++  display_height = ply_text_display_get_number_of_rows (view->display);
  5206.  +
  5207. -+  if (!ply_terminal_open (backend->terminal))
  5208. ++  if (!strncmp (plugin->message, "keys:", 5))
  5209.  +    {
  5210. -+      ply_trace ("could not open terminal: %m");
  5211. -+      return false;
  5212. ++      message = plugin->message + 5;
  5213. ++      color = PLY_TERMINAL_COLOR_WHITE;
  5214. ++      y = display_height - 4;
  5215.  +    }
  5216. -+
  5217. -+  if (!ply_terminal_is_vt (backend->terminal))
  5218. ++  else
  5219.  +    {
  5220. -+      ply_trace ("terminal is not a VT");
  5221. -+      ply_terminal_close (backend->terminal);
  5222. -+      return false;
  5223. ++      message = plugin->message;
  5224. ++      color = PLY_TERMINAL_COLOR_BLUE;
  5225. ++      y = display_height / 2 + 7;
  5226.  +    }
  5227.  +
  5228. -+  ply_terminal_watch_for_active_vt_change (backend->terminal,
  5229. -+                                           (ply_terminal_active_vt_changed_handler_t)
  5230. -+                                           on_active_vt_changed,
  5231. -+                                           backend);
  5232. ++  ply_text_display_set_cursor_position (view->display, 0, y);
  5233. ++  ply_text_display_clear_line (view->display);
  5234. ++  ply_text_display_set_cursor_position (view->display,
  5235. ++                                        (display_width -
  5236. ++                                        strlen (message)) / 2,
  5237. ++                                        y);
  5238.  +
  5239. -+  return true;
  5240. ++  ply_text_display_set_foreground_color (view->display, color);
  5241. ++  ply_text_display_write (view->display, "%s", message);
  5242.  +}
  5243.  +
  5244.  +static void
  5245. -+close_device (ply_renderer_backend_t *backend)
  5246. ++view_show_prompt (view_t     *view,
  5247. ++                  const char *prompt,
  5248. ++                  const char *entered_text)
  5249.  +{
  5250. ++  ply_boot_splash_plugin_t *plugin;
  5251. ++  int display_width, display_height;
  5252. ++  int i;
  5253.  +
  5254. -+  ply_terminal_stop_watching_for_active_vt_change (backend->terminal,
  5255. -+                                                   (ply_terminal_active_vt_changed_handler_t)
  5256. -+                                                   on_active_vt_changed,
  5257. -+                                                   backend);
  5258. -+  uninitialize_head (backend, &backend->head);
  5259. ++  plugin = view->plugin;
  5260.  +
  5261. -+  close (backend->device_fd);
  5262. -+  backend->device_fd = -1;
  5263. ++  display_width = ply_text_display_get_number_of_columns (view->display);
  5264. ++  display_height = ply_text_display_get_number_of_rows (view->display);
  5265.  +
  5266. -+  backend->head.area.x = 0;
  5267. -+  backend->head.area.y = 0;
  5268. -+  backend->head.area.width = 0;
  5269. -+  backend->head.area.height = 0;
  5270. ++  ply_text_display_set_cursor_position (view->display, 0,
  5271. ++                                        display_height / 2 + 8);
  5272. ++  ply_text_display_clear_line (view->display);
  5273. ++  ply_text_display_set_cursor_position (view->display,
  5274. ++                                        display_width / 2 - (strlen (prompt)),
  5275. ++                                        display_height / 2 + 8);
  5276. ++
  5277. ++  ply_text_display_write (view->display, "%s:%s", prompt, entered_text);
  5278. ++
  5279. ++  ply_text_display_show_cursor (view->display);
  5280.  +}
  5281.  +
  5282. -+static bool
  5283. -+query_device (ply_renderer_backend_t *backend)
  5284. ++static void
  5285. ++view_start_animation (view_t *view)
  5286.  +{
  5287. -+  struct fb_var_screeninfo variable_screen_info;
  5288. -+  struct fb_fix_screeninfo fixed_screen_info;
  5289. -+
  5290. -+  assert (backend != NULL);
  5291. -+  assert (backend->device_fd >= 0);
  5292. ++  ply_boot_splash_plugin_t *plugin;
  5293. ++  ply_terminal_t *terminal;
  5294.  +
  5295. -+  if (ioctl (backend->device_fd, FBIOGET_VSCREENINFO, &variable_screen_info) < 0)
  5296. -+    return false;
  5297. ++  assert (view != NULL);
  5298.  +
  5299. -+  if (ioctl (backend->device_fd, FBIOGET_FSCREENINFO, &fixed_screen_info) < 0)
  5300. -+    return false;
  5301. ++  plugin = view->plugin;
  5302.  +
  5303. -+  /* We only support the vga16fb with its own kooky planar colour mode. */
  5304. -+  if ((fixed_screen_info.type != FB_TYPE_VGA_PLANES)
  5305. -+      || (fixed_screen_info.type_aux != FB_AUX_VGA_PLANES_VGA4)
  5306. -+      || (fixed_screen_info.visual != FB_VISUAL_PSEUDOCOLOR)
  5307. -+      || (variable_screen_info.bits_per_pixel != 4))
  5308. -+    {
  5309. -+      ply_trace ("Doesn't look like vga16fb\n");
  5310. -+      return false;
  5311. -+    }
  5312. ++  terminal = ply_text_display_get_terminal (view->display);
  5313.  +
  5314. -+  backend->head.area.x = variable_screen_info.xoffset;
  5315. -+  backend->head.area.y = variable_screen_info.yoffset;
  5316. -+  backend->head.area.width = variable_screen_info.xres;
  5317. -+  backend->head.area.height = variable_screen_info.yres;
  5318. ++  ply_terminal_set_color_hex_value (terminal,
  5319. ++                                    PLY_TERMINAL_COLOR_BLACK,
  5320. ++                                    0x2c001e);
  5321. ++  ply_terminal_set_color_hex_value (terminal,
  5322. ++                                    PLY_TERMINAL_COLOR_WHITE,
  5323. ++                                    0xffffff);
  5324. ++  ply_terminal_set_color_hex_value (terminal,
  5325. ++                                    PLY_TERMINAL_COLOR_BROWN,
  5326. ++                                    0xff4012);
  5327. ++  ply_terminal_set_color_hex_value (terminal,
  5328. ++                                    PLY_TERMINAL_COLOR_BLUE,
  5329. ++                                    0x988592);
  5330.  +
  5331. -+  backend->row_stride = fixed_screen_info.line_length;
  5332. -+  backend->bits_per_pixel = variable_screen_info.bits_per_pixel;
  5333. -+  backend->head.size = backend->head.area.height * backend->row_stride;
  5334. ++  ply_text_display_set_background_color (view->display,
  5335. ++                                         PLY_TERMINAL_COLOR_BLACK);
  5336. ++  ply_text_display_clear_screen (view->display);
  5337. ++  ply_text_display_hide_cursor (view->display);
  5338. ++}
  5339.  +
  5340. -+  initialize_head (backend, &backend->head);
  5341. ++static void
  5342. ++view_redraw (view_t *view)
  5343. ++{
  5344. ++  unsigned long screen_width, screen_height;
  5345.  +
  5346. -+  return true;
  5347. ++  screen_width = ply_text_display_get_number_of_columns (view->display);
  5348. ++  screen_height = ply_text_display_get_number_of_rows (view->display);
  5349.  +
  5350. ++  ply_text_display_draw_area (view->display, 0, 0,
  5351. ++                              screen_width, screen_height);
  5352.  +}
  5353.  +
  5354. -+static bool
  5355. -+map_to_device (ply_renderer_backend_t *backend)
  5356. ++static void
  5357. ++redraw_views (ply_boot_splash_plugin_t *plugin)
  5358.  +{
  5359. -+  ply_renderer_head_t *head;
  5360. ++  ply_list_node_t *node;
  5361.  +
  5362. -+  assert (backend != NULL);
  5363. -+  assert (backend->device_fd >= 0);
  5364. ++  node = ply_list_get_first_node (plugin->views);
  5365. ++  while (node != NULL)
  5366. ++    {
  5367. ++      ply_list_node_t *next_node;
  5368. ++      view_t *view;
  5369.  +
  5370. -+  head = &backend->head;
  5371. -+  assert (head->size > 0);
  5372. ++      view = ply_list_node_get_data (node);
  5373. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5374.  +
  5375. -+  if (ioperm (VGA_REGS_BASE, VGA_REGS_LEN, 1) < 0) {
  5376. -+    ply_trace ("could not obtain permission to write to VGA regs: %m");
  5377. -+    return false;
  5378. -+  }
  5379. ++      view_redraw (view);
  5380.  +
  5381. -+  head->map_address = mmap (NULL, head->size, PROT_WRITE,
  5382. -+                            MAP_SHARED, backend->device_fd, 0);
  5383. ++      node = next_node;
  5384. ++    }
  5385. ++}
  5386.  +
  5387. -+  if (head->map_address == MAP_FAILED) {
  5388. -+    ply_trace ("could not map VGA memory: %m");
  5389. -+    return false;
  5390. -+  }
  5391. ++static void
  5392. ++view_hide (view_t *view)
  5393. ++{
  5394. ++  if (view->display != NULL)
  5395. ++    {
  5396. ++      ply_terminal_t *terminal;
  5397.  +
  5398. -+  if (ply_terminal_is_active (backend->terminal))
  5399. -+      activate (backend);
  5400. -+  else
  5401. -+      ply_terminal_activate_vt (backend->terminal);
  5402. ++      terminal = ply_text_display_get_terminal (view->display);
  5403.  +
  5404. -+  return true;
  5405. ++      ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_DEFAULT);
  5406. ++      ply_text_display_clear_screen (view->display);
  5407. ++      ply_text_display_show_cursor (view->display);
  5408. ++
  5409. ++      ply_terminal_reset_colors (terminal);
  5410. ++    }
  5411.  +}
  5412.  +
  5413.  +static void
  5414. -+unmap_from_device (ply_renderer_backend_t *backend)
  5415. ++hide_views (ply_boot_splash_plugin_t *plugin)
  5416.  +{
  5417. -+  ply_renderer_head_t *head;
  5418. -+
  5419. -+  head = &backend->head;
  5420. ++  ply_list_node_t *node;
  5421.  +
  5422. -+  if (head->map_address != MAP_FAILED)
  5423. ++  node = ply_list_get_first_node (plugin->views);
  5424. ++  while (node != NULL)
  5425.  +    {
  5426. -+      munmap (head->map_address, head->size);
  5427. -+      head->map_address = MAP_FAILED;
  5428. ++      ply_list_node_t *next_node;
  5429. ++      view_t *view;
  5430. ++
  5431. ++      view = ply_list_node_get_data (node);
  5432. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5433. ++
  5434. ++      view_hide (view);
  5435. ++
  5436. ++      node = next_node;
  5437.  +    }
  5438.  +}
  5439.  +
  5440. -+static unsigned int
  5441. -+argb32_pixel_value_to_color_index (ply_renderer_backend_t *backend,
  5442. -+                                   ply_renderer_head_t    *head,
  5443. -+                                   uint32_t                pixel_value)
  5444. ++static void
  5445. ++pause_views (ply_boot_splash_plugin_t *plugin)
  5446.  +{
  5447. -+  uint16_t red, green, blue;
  5448. -+  unsigned int min_shift, max_shift, shift, index;
  5449. -+
  5450. -+  red = (pixel_value >> 16) & 0xff;
  5451. -+  green = (pixel_value >> 8) & 0xff;
  5452. -+  blue = pixel_value & 0xff;
  5453. ++  ply_list_node_t *node;
  5454.  +
  5455. -+  /* The 6 here is entirely arbitrary; that means we keep the top two bits
  5456. -+   * of each colour when comparing against existing colors in the palette;
  5457. -+   * in theory meaning a maximum of 64 -- that's still too many, so we
  5458. -+   * then try again with 7 bits and a maximum of 8 -- in between those two
  5459. -+   * is the 16 we actually have room for.
  5460. -+   */
  5461. -+  if (head->palette_overflow)
  5462. -+    {
  5463. -+      min_shift = 6;
  5464. -+      max_shift = 8;
  5465. -+    }
  5466. -+  else
  5467. ++  node = ply_list_get_first_node (plugin->views);
  5468. ++  while (node != NULL)
  5469.  +    {
  5470. -+      min_shift = 0;
  5471. -+      max_shift = 1;
  5472. ++      ply_list_node_t *next_node;
  5473. ++      view_t *view;
  5474. ++
  5475. ++      view = ply_list_node_get_data (node);
  5476. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5477. ++
  5478. ++      ply_text_display_pause_updates (view->display);
  5479. ++
  5480. ++      node = next_node;
  5481.  +    }
  5482. ++}
  5483.  +
  5484. -+  for (shift = min_shift; shift < max_shift; shift++)
  5485. -+    {
  5486. -+      for (index = 0; index < head->palette_size; index++)
  5487. -+        if (   ((head->red[index] >> (8 + shift)) == (red >> shift))
  5488. -+            && ((head->green[index] >> (8 + shift)) == (green >> shift))
  5489. -+            && ((head->blue[index] >> (8 + shift)) == (blue >> shift)))
  5490. -+          return index;
  5491. ++static void
  5492. ++unpause_views (ply_boot_splash_plugin_t *plugin)
  5493. ++{
  5494. ++  ply_list_node_t *node;
  5495.  +
  5496. -+      if (head->palette_size < 16)
  5497. -+        {
  5498. -+          index = head->palette_size++;
  5499. ++  node = ply_list_get_first_node (plugin->views);
  5500. ++  while (node != NULL)
  5501. ++    {
  5502. ++      ply_list_node_t *next_node;
  5503. ++      view_t *view;
  5504.  +
  5505. -+          head->red[index] = red << 8;
  5506. -+          head->green[index] = green << 8;
  5507. -+          head->blue[index] = blue << 8;
  5508. ++      view = ply_list_node_get_data (node);
  5509. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5510.  +
  5511. -+          set_palette (backend, head);
  5512. -+          ply_trace ("palette now has %d colours (added %06x)\n",
  5513. -+                     head->palette_size, pixel_value & 0xffffff);
  5514. ++      ply_text_display_unpause_updates (view->display);
  5515.  +
  5516. -+          return index;
  5517. -+        }
  5518. ++      node = next_node;
  5519.  +    }
  5520. ++}
  5521. ++
  5522. ++static ply_boot_splash_plugin_t *
  5523. ++create_plugin (ply_key_file_t *key_file)
  5524. ++{
  5525. ++  ply_boot_splash_plugin_t *plugin;
  5526.  +
  5527. -+  ply_trace ("could not find colour in palette for %06x\n",
  5528. -+             pixel_value & 0xffffff);
  5529. ++  ply_trace ("creating plugin");
  5530.  +
  5531. -+  if (!head->palette_overflow)
  5532. -+    {
  5533. -+      head->palette_overflow = true;
  5534. -+    }
  5535. ++  plugin = calloc (1, sizeof (ply_boot_splash_plugin_t));
  5536. ++  plugin->message = NULL;
  5537.  +
  5538. -+  /* Didn't find a colour, so just return the last
  5539. -+   * (first is probably background colour so a bad choice)
  5540. -+   */
  5541. -+  return head->palette_size - 1;;
  5542. ++  plugin->views = ply_list_new ();
  5543. ++
  5544. ++  return plugin;
  5545.  +}
  5546.  +
  5547.  +static void
  5548. -+flush_area (ply_renderer_backend_t *backend,
  5549. -+            ply_renderer_head_t    *head,
  5550. -+            ply_rectangle_t        *area_to_flush)
  5551. ++detach_from_event_loop (ply_boot_splash_plugin_t *plugin)
  5552.  +{
  5553. -+  unsigned char *mask;
  5554. -+  uint32_t *shadow_buffer;
  5555. -+  unsigned long x1, x2, y1, y2, x, y;
  5556. -+  unsigned int c, b;
  5557. ++  plugin->loop = NULL;
  5558.  +
  5559. -+  mask = malloc (backend->row_stride * 16);
  5560. ++  ply_trace ("detaching from event loop");
  5561. ++}
  5562.  +
  5563. -+  shadow_buffer = ply_pixel_buffer_get_argb32_data (backend->head.pixel_buffer);
  5564. ++static void
  5565. ++free_views (ply_boot_splash_plugin_t *plugin)
  5566. ++{
  5567. ++  ply_list_node_t *node;
  5568.  +
  5569. -+  x1 = area_to_flush->x;
  5570. -+  y1 = area_to_flush->y;
  5571. -+  x2 = x1 + area_to_flush->width;
  5572. -+  y2 = y1 + area_to_flush->height;
  5573. ++  node = ply_list_get_first_node (plugin->views);
  5574.  +
  5575. -+  for (y = y1; y < y2; y++)
  5576. ++  while (node != NULL)
  5577.  +    {
  5578. -+      memset (mask, 0, backend->row_stride * 16);
  5579. ++      ply_list_node_t *next_node;
  5580. ++      view_t *view;
  5581.  +
  5582. -+      for (x = x1; x < x2; x++)
  5583. -+        {
  5584. -+          unsigned int index;
  5585. -+          uint32_t pixel;
  5586. ++      view = ply_list_node_get_data (node);
  5587. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5588.  +
  5589. -+          pixel = shadow_buffer[x + y * head->area.width];
  5590. -+          index = argb32_pixel_value_to_color_index (backend, head, pixel);
  5591. ++      view_free (view);
  5592. ++      ply_list_remove_node (plugin->views, node);
  5593.  +
  5594. -+          mask[index * backend->row_stride + x / 8] |= (0x80 >> (x % 8));
  5595. -+        }
  5596. ++      node = next_node;
  5597. ++    }
  5598.  +
  5599. -+      for (c = 0; c < 16; c++)
  5600. -+        {
  5601. -+          for (b = x1 / 8; b < x2 / 8 + 1; b++)
  5602. -+            {
  5603. -+              char *p;
  5604. ++  ply_list_free (plugin->views);
  5605. ++  plugin->views = NULL;
  5606. ++}
  5607.  +
  5608. -+              if (!mask[c * backend->row_stride + b])
  5609. -+                continue;
  5610. ++static void
  5611. ++destroy_plugin (ply_boot_splash_plugin_t *plugin)
  5612. ++{
  5613. ++  ply_trace ("destroying plugin");
  5614.  +
  5615. -+              vga_set_reset (c);
  5616. -+              vga_bit_mask (mask[c * backend->row_stride + b]);
  5617. ++  if (plugin == NULL)
  5618. ++    return;
  5619.  +
  5620. -+              p = head->map_address + y * backend->row_stride + b;
  5621. -+              *p |= 1;
  5622. -+            }
  5623. -+        }
  5624. -+    }
  5625. ++  /* It doesn't ever make sense to keep this plugin on screen
  5626. ++   * after exit
  5627. ++   */
  5628. ++  hide_splash_screen (plugin, plugin->loop);
  5629.  +
  5630. -+  free (mask);
  5631. ++  free_views (plugin);
  5632. ++  if (plugin->message != NULL)
  5633. ++    free (plugin->message);
  5634. ++
  5635. ++  free (plugin);
  5636.  +}
  5637.  +
  5638.  +static void
  5639. -+flush_head (ply_renderer_backend_t *backend,
  5640. -+            ply_renderer_head_t    *head)
  5641. ++show_message (ply_boot_splash_plugin_t *plugin)
  5642.  +{
  5643. -+  ply_region_t *updated_region;
  5644. -+  ply_list_t *areas_to_flush;
  5645.  +  ply_list_node_t *node;
  5646. -+  ply_pixel_buffer_t *pixel_buffer;
  5647. -+  bool was_overflowed;
  5648. -+
  5649. -+  assert (backend != NULL);
  5650. -+  assert (&backend->head == head);
  5651.  +
  5652. -+  if (!backend->is_active)
  5653. -+    return;
  5654. ++  node = ply_list_get_first_node (plugin->views);
  5655. ++  while (node != NULL)
  5656. ++    {
  5657. ++      ply_list_node_t *next_node;
  5658. ++      view_t *view;
  5659.  +
  5660. -+  ply_terminal_set_mode (backend->terminal, PLY_TERMINAL_MODE_GRAPHICS);
  5661. -+  ply_terminal_set_unbuffered_input (backend->terminal);
  5662. ++      view = ply_list_node_get_data (node);
  5663. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5664.  +
  5665. -+  /* Reset to basic values; enable use of the Set/Reset register for all
  5666. -+   * planes.
  5667. -+   */
  5668. -+  vga_enable_set_reset (0xf);
  5669. -+  vga_mode (0);
  5670. -+  vga_data_rotate (0);
  5671. -+  vga_map_mask (0xff);
  5672. ++      view_show_message (view);
  5673.  +
  5674. -+  was_overflowed = backend->head.palette_overflow;
  5675. -+  set_palette (backend, &backend->head);
  5676. ++      node = next_node;
  5677. ++    }
  5678. ++}
  5679.  +
  5680. -+  pixel_buffer = head->pixel_buffer;
  5681. -+  updated_region = ply_pixel_buffer_get_updated_areas (pixel_buffer);
  5682. -+  areas_to_flush = ply_region_get_sorted_rectangle_list (updated_region);
  5683. ++static void
  5684. ++animate_frame (ply_boot_splash_plugin_t *plugin,
  5685. ++               int                       frame)
  5686. ++{
  5687. ++  ply_list_node_t *node;
  5688.  +
  5689. -+  node = ply_list_get_first_node (areas_to_flush);
  5690. ++  node = ply_list_get_first_node (plugin->views);
  5691.  +  while (node != NULL)
  5692.  +    {
  5693.  +      ply_list_node_t *next_node;
  5694. -+      ply_rectangle_t *area_to_flush;
  5695. ++      view_t *view;
  5696. ++      int display_width, display_height;
  5697.  +
  5698. -+      area_to_flush = (ply_rectangle_t *) ply_list_node_get_data (node);
  5699. ++      view = ply_list_node_get_data (node);
  5700. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5701.  +
  5702. -+      next_node = ply_list_get_next_node (areas_to_flush, node);
  5703. ++      display_width = ply_text_display_get_number_of_columns (view->display);
  5704. ++      display_height = ply_text_display_get_number_of_rows (view->display);
  5705.  +
  5706. -+      flush_area (backend, head, area_to_flush);
  5707. ++      ply_text_display_set_cursor_position (view->display,
  5708. ++                                            (display_width - 12) / 2,
  5709. ++                                            display_height / 2);
  5710.  +
  5711. -+      node = next_node;
  5712. -+    }
  5713. ++      ply_text_display_set_background_color (view->display, PLY_TERMINAL_COLOR_BLACK);
  5714. ++      ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  5715. ++      ply_text_display_write (view->display, "Ubuntu 10.04");
  5716.  +
  5717. -+  ply_region_clear (updated_region);
  5718. ++      ply_text_display_set_cursor_position (view->display,
  5719. ++                                            (display_width - 10) / 2,
  5720. ++                                            (display_height / 2) + 2);
  5721.  +
  5722. -+  /* If the palette overflowed, render the screen again with a new palette */
  5723. -+  if ((!was_overflowed) && head->palette_overflow)
  5724. -+    {
  5725. -+      ply_trace ("palette overflowed, redrawing entire screen with new palette");
  5726. ++      if ((frame < 1) || (frame > 4))
  5727. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  5728. ++      else
  5729. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  5730. ++      ply_text_display_write (view->display, ".  ");
  5731.  +
  5732. -+      head->palette_size = 0;
  5733. -+      ply_renderer_head_redraw (backend, head);
  5734. ++      if ((frame < 2) || (frame > 5))
  5735. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  5736. ++      else
  5737. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  5738. ++      ply_text_display_write (view->display, ".  ");
  5739. ++
  5740. ++      if ((frame < 3) || (frame > 6))
  5741. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  5742. ++      else
  5743. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  5744. ++      ply_text_display_write (view->display, ".  ");
  5745. ++
  5746. ++      if (frame < 4)
  5747. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_WHITE);
  5748. ++      else
  5749. ++        ply_text_display_set_foreground_color (view->display, PLY_TERMINAL_COLOR_BROWN);
  5750. ++      ply_text_display_write (view->display, ".");
  5751. ++
  5752. ++      node = next_node;
  5753.  +    }
  5754.  +}
  5755.  +
  5756.  +static void
  5757. -+ply_renderer_head_redraw (ply_renderer_backend_t *backend,
  5758. -+                          ply_renderer_head_t    *head)
  5759. ++on_timeout (ply_boot_splash_plugin_t *plugin)
  5760.  +{
  5761. -+  ply_region_t *region;
  5762. ++  static int frame = 0;
  5763.  +
  5764. -+  region = ply_pixel_buffer_get_updated_areas (head->pixel_buffer);
  5765. ++  frame += 1;
  5766. ++  frame %= 8;
  5767.  +
  5768. -+  ply_region_add_rectangle (region, &head->area);
  5769. ++  animate_frame (plugin, frame);
  5770.  +
  5771. -+  flush_head (backend, head);
  5772. ++  ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
  5773. ++                                    (ply_event_loop_timeout_handler_t)
  5774. ++                                    on_timeout, plugin);
  5775.  +}
  5776.  +
  5777. -+static ply_list_t *
  5778. -+get_heads (ply_renderer_backend_t *backend)
  5779. ++static void
  5780. ++start_animation (ply_boot_splash_plugin_t *plugin)
  5781.  +{
  5782. -+  return backend->heads;
  5783. -+}
  5784. ++  ply_list_node_t *node;
  5785.  +
  5786. -+static ply_pixel_buffer_t *
  5787. -+get_buffer_for_head (ply_renderer_backend_t *backend,
  5788. -+                     ply_renderer_head_t    *head)
  5789. -+{
  5790. ++  assert (plugin != NULL);
  5791. ++  assert (plugin->loop != NULL);
  5792.  +
  5793. -+  if (head != &backend->head)
  5794. -+    return NULL;
  5795. ++  redraw_views (plugin);
  5796.  +
  5797. -+  return backend->head.pixel_buffer;
  5798. -+}
  5799. ++  if (plugin->message != NULL)
  5800. ++    show_message (plugin);
  5801.  +
  5802. -+static unsigned int
  5803. -+get_bits_per_pixel_for_head (ply_renderer_backend_t *backend,
  5804. -+                             ply_renderer_head_t    *head)
  5805. -+{
  5806. -+  if (head != &backend->head)
  5807. -+    return 0;
  5808. ++  if (plugin->is_animating)
  5809. ++     return;
  5810.  +
  5811. -+  return backend->bits_per_pixel;
  5812. -+}
  5813. ++  node = ply_list_get_first_node (plugin->views);
  5814. ++  while (node != NULL)
  5815. ++    {
  5816. ++      ply_list_node_t *next_node;
  5817. ++      view_t *view;
  5818.  +
  5819. -+static bool
  5820. -+has_input_source (ply_renderer_backend_t      *backend,
  5821. -+                  ply_renderer_input_source_t *input_source)
  5822. -+{
  5823. -+  return input_source == &backend->input_source;
  5824. -+}
  5825. ++      view = ply_list_node_get_data (node);
  5826. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5827.  +
  5828. -+static ply_renderer_input_source_t *
  5829. -+get_input_source (ply_renderer_backend_t *backend)
  5830. -+{
  5831. -+  return &backend->input_source;
  5832. ++      view_start_animation (view);
  5833. ++
  5834. ++      node = next_node;
  5835. ++    }
  5836. ++
  5837. ++  plugin->is_animating = true;
  5838. ++
  5839. ++  animate_frame (plugin, 0);
  5840. ++  ply_event_loop_watch_for_timeout (plugin->loop, 1.0,
  5841. ++                                    (ply_event_loop_timeout_handler_t)
  5842. ++                                    on_timeout, plugin);
  5843.  +}
  5844.  +
  5845.  +static void
  5846. -+on_key_event (ply_renderer_input_source_t *input_source,
  5847. -+              int                          terminal_fd)
  5848. ++stop_animation (ply_boot_splash_plugin_t *plugin)
  5849.  +{
  5850. -+  ply_buffer_append_from_fd (input_source->key_buffer,
  5851. -+                             terminal_fd);
  5852. ++  ply_list_node_t *node;
  5853.  +
  5854. -+  if (input_source->handler != NULL)
  5855. -+    input_source->handler (input_source->user_data, input_source->key_buffer, input_source);
  5856. ++  assert (plugin != NULL);
  5857. ++  assert (plugin->loop != NULL);
  5858.  +
  5859. -+}
  5860. ++  if (!plugin->is_animating)
  5861. ++     return;
  5862.  +
  5863. -+static void
  5864. -+on_input_source_disconnected (ply_renderer_input_source_t *input_source)
  5865. -+{
  5866. -+  ply_trace ("input source disconnected, reopening");
  5867. -+  open_input_source (input_source->backend, input_source);
  5868. -+}
  5869. ++  plugin->is_animating = false;
  5870.  +
  5871. -+static bool
  5872. -+open_input_source (ply_renderer_backend_t      *backend,
  5873. -+                   ply_renderer_input_source_t *input_source)
  5874. -+{
  5875. -+  int terminal_fd;
  5876. ++  node = ply_list_get_first_node (plugin->views);
  5877. ++  while (node != NULL)
  5878. ++    {
  5879. ++      ply_list_node_t *next_node;
  5880. ++      view_t *view;
  5881.  +
  5882. -+  assert (backend != NULL);
  5883. -+  assert (has_input_source (backend, input_source));
  5884. ++      view = ply_list_node_get_data (node);
  5885. ++      next_node = ply_list_get_next_node (plugin->views, node);
  5886.  +
  5887. -+  terminal_fd = ply_terminal_get_fd (backend->terminal);
  5888. ++      node = next_node;
  5889. ++    }
  5890.  +
  5891. -+  input_source->backend = backend;
  5892. -+  input_source->terminal_input_watch = ply_event_loop_watch_fd (backend->loop, terminal_fd, PLY_EVENT_LOOP_FD_STATUS_HAS_DATA,
  5893. -+                                                                (ply_event_handler_t) on_key_event,
  5894. -+                                                                (ply_event_handler_t) on_input_source_disconnected,
  5895. -+                                                                input_source);
  5896. -+  return true;
  5897. ++  ply_event_loop_stop_watching_for_timeout (plugin->loop,
  5898. ++                                            (ply_event_loop_timeout_handler_t)
  5899. ++                                            on_timeout, plugin);
  5900. ++
  5901. ++  redraw_views (plugin);
  5902.  +}
  5903.  +
  5904.  +static void
  5905. -+set_handler_for_input_source (ply_renderer_backend_t      *backend,
  5906. -+                              ply_renderer_input_source_t *input_source,
  5907. -+                              ply_renderer_input_source_handler_t handler,
  5908. -+                              void                        *user_data)
  5909. ++on_draw (view_t                   *view,
  5910. ++         ply_terminal_t           *terminal,
  5911. ++         int                       x,
  5912. ++         int                       y,
  5913. ++         int                       width,
  5914. ++         int                       height)
  5915.  +{
  5916. -+  assert (backend != NULL);
  5917. -+  assert (has_input_source (backend, input_source));
  5918. -+
  5919. -+  input_source->handler = handler;
  5920. -+  input_source->user_data = user_data;
  5921.  +}
  5922.  +
  5923.  +static void
  5924. -+close_input_source (ply_renderer_backend_t      *backend,
  5925. -+                    ply_renderer_input_source_t *input_source)
  5926. ++add_text_display (ply_boot_splash_plugin_t *plugin,
  5927. ++                  ply_text_display_t       *display)
  5928.  +{
  5929. -+  assert (backend != NULL);
  5930. -+  assert (has_input_source (backend, input_source));
  5931. ++  view_t *view;
  5932. ++  ply_terminal_t *terminal;
  5933.  +
  5934. -+  ply_event_loop_stop_watching_fd (backend->loop, input_source->terminal_input_watch);
  5935. -+  input_source->terminal_input_watch = NULL;
  5936. -+  input_source->backend = NULL;
  5937. -+}
  5938. ++  view = view_new (plugin, display);
  5939.  +
  5940. -+ply_renderer_plugin_interface_t *
  5941. -+ply_renderer_backend_get_interface (void)
  5942. -+{
  5943. -+  static ply_renderer_plugin_interface_t plugin_interface =
  5944. ++  terminal = ply_text_display_get_terminal (view->display);
  5945. ++  if (ply_terminal_open (terminal))
  5946.  +    {
  5947. -+      .create_backend = create_backend,
  5948. -+      .destroy_backend = destroy_backend,
  5949. -+      .open_device = open_device,
  5950. -+      .close_device = close_device,
  5951. -+      .query_device = query_device,
  5952. -+      .map_to_device = map_to_device,
  5953. -+      .unmap_from_device = unmap_from_device,
  5954. -+      .activate = activate,
  5955. -+      .deactivate = deactivate,
  5956. -+      .flush_head = flush_head,
  5957. -+      .get_heads = get_heads,
  5958. -+      .get_buffer_for_head = get_buffer_for_head,
  5959. -+      .get_bits_per_pixel_for_head = get_bits_per_pixel_for_head,
  5960. -+      .get_input_source = get_input_source,
  5961. -+      .open_input_source = open_input_source,
  5962. -+      .set_handler_for_input_source = set_handler_for_input_source,
  5963. -+      .close_input_source = close_input_source
  5964. -+    };
  5965. ++      ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
  5966. ++      ply_terminal_activate_vt (terminal);
  5967. ++    }
  5968.  +
  5969. -+  return &plugin_interface;
  5970. -+}
  5971. -+/* vim: set ts=4 sw=4 et ai ci cino={.5s,^-2,+.5s,t0,g0,e-2,n-2,p2s,(0,=.5s,:.5s */
  5972. ---- /dev/null
  5973. -+++ plymouth-0.8.2/src/plugins/renderers/vga16fb/vga.h
  5974. -@@ -0,0 +1,107 @@
  5975. -+/* vga.h - inlines for programming the VGA
  5976. -+ *
  5977. -+ * Copyright (C) 2010 Canonical Ltd.
  5978. -+ *
  5979. -+ * This program is free software; you can redistribute it and/or modify
  5980. -+ * it under the terms of the GNU General Public License as published by
  5981. -+ * the Free Software Foundation; either version 2, or (at your option)
  5982. -+ * any later version.
  5983. -+ *
  5984. -+ * This program is distributed in the hope that it will be useful,
  5985. -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
  5986. -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  5987. -+ * GNU General Public License for more details.
  5988. -+ *
  5989. -+ * You should have received a copy of the GNU General Public License
  5990. -+ * along with this program; if not, write to the Free Software
  5991. -+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  5992. -+ * 02111-1307, USA.
  5993. -+ *
  5994. -+ * Written by: Scott James Remnant <scott@ubuntu.com>
  5995. -+ */
  5996. -+#ifndef PLY_VGA_H
  5997. -+#define PLY_VGA_H
  5998. ++  ply_text_display_set_draw_handler (view->display,
  5999. ++                                     (ply_text_display_draw_handler_t)
  6000. ++                                     on_draw, view);
  6001.  +
  6002. -+/* VGA ioports, and the registers we can access from them */
  6003. -+#define VGA_REGS_BASE         0x3c0
  6004. -+#define VGA_REGS_LEN          0x10
  6005. ++  ply_list_append_data (plugin->views, view);
  6006. ++}
  6007.  +
  6008. -+#define VGA_SC_INDEX          0x3c4
  6009. -+#define VGA_SC_DATA           0x3c5
  6010. ++static void
  6011. ++remove_text_display (ply_boot_splash_plugin_t *plugin,
  6012. ++                     ply_text_display_t       *display)
  6013. ++{
  6014. ++  ply_list_node_t *node;
  6015.  +
  6016. -+#define VGA_SC_MAP_MASK               0x02
  6017. ++  node = ply_list_get_first_node (plugin->views);
  6018. ++  while (node != NULL)
  6019. ++    {
  6020. ++      view_t *view;
  6021. ++      ply_list_node_t *next_node;
  6022.  +
  6023. -+#define VGA_GC_INDEX          0x3ce
  6024. -+#define VGA_GC_DATA                   0x3cf
  6025. ++      view = ply_list_node_get_data (node);
  6026. ++      next_node = ply_list_get_next_node (plugin->views, node);
  6027.  +
  6028. -+#define VGA_GC_SET_RESET      0x00
  6029. -+#define VGA_GC_ENABLE_SET_RESET       0x01
  6030. -+#define VGA_GC_DATA_ROTATE      0x03
  6031. -+#define VGA_GC_MODE           0x05
  6032. -+#define VGA_GC_BIT_MASK               0x08
  6033. ++      if (view->display == display)
  6034. ++        {
  6035. ++          ply_text_display_set_draw_handler (view->display,
  6036. ++                                             NULL, NULL);
  6037. ++          view_free (view);
  6038. ++          ply_list_remove_node (plugin->views, node);
  6039. ++          return;
  6040. ++        }
  6041.  +
  6042. -+/* Select the VGA write mode. */
  6043. -+static inline void
  6044. -+vga_mode (int mode)
  6045. -+{
  6046. -+      outb (VGA_GC_MODE, VGA_GC_INDEX);
  6047. -+      outb (mode, VGA_GC_DATA);
  6048. ++      node = next_node;
  6049. ++    }
  6050.  +}
  6051.  +
  6052. -+/* Data Rotate register; we don't use this, we just ensure it's off. */
  6053. -+static inline void
  6054. -+vga_data_rotate (int op)
  6055. ++static bool
  6056. ++show_splash_screen (ply_boot_splash_plugin_t *plugin,
  6057. ++                    ply_event_loop_t         *loop,
  6058. ++                    ply_buffer_t             *boot_buffer,
  6059. ++                    ply_boot_splash_mode_t    mode)
  6060.  +{
  6061. -+      outb (VGA_GC_DATA_ROTATE, VGA_GC_INDEX);
  6062. -+      outb (op, VGA_GC_DATA);
  6063. -+}
  6064. ++  assert (plugin != NULL);
  6065.  +
  6066. -+/* Enable use of the Set/Reset register for the given planes (as a mask).
  6067. -+ *
  6068. -+ * In effect: set this to 0xf to use all four planes.
  6069. -+ */
  6070. -+static inline void
  6071. -+vga_enable_set_reset (int mask)
  6072. -+{
  6073. -+      outb (VGA_GC_ENABLE_SET_RESET, VGA_GC_INDEX);
  6074. -+      outb (mask, VGA_GC_DATA);
  6075. ++  plugin->loop = loop;
  6076. ++  plugin->mode = mode;
  6077. ++  ply_event_loop_watch_for_exit (loop, (ply_event_loop_exit_handler_t)
  6078. ++                                 detach_from_event_loop,
  6079. ++                                 plugin);
  6080. ++
  6081. ++  ply_show_new_kernel_messages (false);
  6082. ++  start_animation (plugin);
  6083. ++
  6084. ++  return true;
  6085.  +}
  6086.  +
  6087. -+/* Set/Reset register; the given planes (as a mask) will have whatever bits
  6088. -+ * are true in the Bit Mask register set to 1, and whatever bits are false
  6089. -+ * in the Bit Mask register set to 0.  (It's more complicated than that, but
  6090. -+ * your brain will explode).
  6091. -+ *
  6092. -+ * In effect: set this to the colour you want.
  6093. -+ */
  6094. -+static inline void
  6095. -+vga_set_reset (int mask)
  6096. ++static void
  6097. ++update_status (ply_boot_splash_plugin_t *plugin,
  6098. ++               const char               *status)
  6099.  +{
  6100. -+      outb (VGA_GC_SET_RESET, VGA_GC_INDEX);
  6101. -+      outb (mask, VGA_GC_DATA);
  6102. ++  assert (plugin != NULL);
  6103. ++
  6104. ++  ply_trace ("status update");
  6105.  +}
  6106.  +
  6107. -+/* Bit Mask register; writing to a memory address will write to these bits
  6108. -+ * of that byte according to the contents of the Set/Reset register.  Far
  6109. -+ * more complicated than that, you *really* don't want to know.
  6110. -+ *
  6111. -+ * In effect: set this to the pattern we want in the colour we set.
  6112. -+ */
  6113. -+static inline void
  6114. -+vga_bit_mask (int mask)
  6115. ++static void
  6116. ++hide_splash_screen (ply_boot_splash_plugin_t *plugin,
  6117. ++                    ply_event_loop_t         *loop)
  6118.  +{
  6119. -+      outb (VGA_GC_BIT_MASK, VGA_GC_INDEX);
  6120. -+      outb (mask, VGA_GC_DATA);
  6121. ++  assert (plugin != NULL);
  6122. ++
  6123. ++  ply_trace ("hiding splash screen");
  6124. ++
  6125. ++  if (plugin->loop != NULL)
  6126. ++    {
  6127. ++      stop_animation (plugin);
  6128. ++
  6129. ++      ply_event_loop_stop_watching_for_exit (plugin->loop,
  6130. ++                                             (ply_event_loop_exit_handler_t)
  6131. ++                                             detach_from_event_loop,
  6132. ++                                             plugin);
  6133. ++      detach_from_event_loop (plugin);
  6134. ++    }
  6135. ++
  6136. ++  hide_views (plugin);
  6137. ++  ply_show_new_kernel_messages (true);
  6138.  +}
  6139.  +
  6140. -+/* Map Mask register; we don't use this, but we do make sure it's reset. */
  6141. -+static inline void
  6142. -+vga_map_mask (int mask)
  6143. ++static void
  6144. ++display_normal (ply_boot_splash_plugin_t *plugin)
  6145.  +{
  6146. -+      outb (VGA_SC_MAP_MASK, VGA_SC_INDEX);
  6147. -+      outb (mask, VGA_SC_DATA);
  6148. ++  pause_views (plugin);
  6149. ++  if (plugin->state != PLY_BOOT_SPLASH_DISPLAY_NORMAL)
  6150. ++    {
  6151. ++      plugin->state = PLY_BOOT_SPLASH_DISPLAY_NORMAL;
  6152. ++      start_animation (plugin);
  6153. ++      redraw_views (plugin);
  6154. ++    }
  6155. ++  unpause_views (plugin);
  6156.  +}
  6157.  +
  6158. -+#endif /* PLY_VGA_H */
  6159. -+/* vim: set ts=4 sw=4 et ai ci cino={.5s,^-2,+.5s,t0,g0,e-2,n-2,p2s,(0,=.5s,:.5s */
  6160. ++static void
  6161. ++display_message (ply_boot_splash_plugin_t *plugin,
  6162. ++                 const char               *message)
  6163. ++{
  6164. ++  if (plugin->message != NULL)
  6165. ++    free (plugin->message);
  6166.  +
  6167. ---- /dev/null
  6168. -+++ plymouth-0.8.2/src/plugins/renderers/vga16fb/Makefile.am
  6169. -@@ -0,0 +1,20 @@
  6170. -+INCLUDES = -I$(top_srcdir)                                                    \
  6171. -+           -I$(srcdir)/../../../libply                                        \
  6172. -+           -I$(srcdir)/../../../libply-splash-core                            \
  6173. -+           -I$(srcdir)/../../..                                               \
  6174. -+           -I$(srcdir)/../..                                                  \
  6175. -+           -I$(srcdir)/..                                                     \
  6176. -+           -I$(srcdir)
  6177. ++  plugin->message = strdup (message);
  6178. ++  start_animation (plugin);
  6179. ++}
  6180.  +
  6181. -+plugindir = $(libdir)/plymouth/renderers
  6182. -+plugin_LTLIBRARIES = vga16fb.la
  6183. ++static void
  6184. ++show_password_prompt (ply_boot_splash_plugin_t *plugin,
  6185. ++                      const char               *prompt,
  6186. ++                      int                       bullets)
  6187. ++{
  6188. ++  ply_list_node_t *node;
  6189. ++  int i;
  6190. ++  char *entered_text;
  6191.  +
  6192. -+vga16fb_la_CFLAGS = $(PLYMOUTH_CFLAGS)
  6193. ++  entered_text = calloc (bullets + 1, sizeof (char));
  6194.  +
  6195. -+vga16fb_la_LDFLAGS = -module -avoid-version -export-dynamic
  6196. -+vga16fb_la_LIBADD = $(PLYMOUTH_LIBS)                                     \
  6197. -+                    ../../../libply/libply.la                            \
  6198. -+                    ../../../libply-splash-core/libply-splash-core.la
  6199. -+vga16fb_la_SOURCES = $(srcdir)/plugin.c
  6200. ++  for (i = 0; i < bullets; i++)
  6201. ++    entered_text[i] = '*';
  6202.  +
  6203. -+MAINTAINERCLEANFILES = Makefile.in
  6204. ---- plymouth-0.8.2.orig/src/plugins/renderers/frame-buffer/Makefile.in
  6205. -+++ plymouth-0.8.2/src/plugins/renderers/frame-buffer/Makefile.in
  6206. -@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6207. - PACKAGE_NAME = @PACKAGE_NAME@
  6208. - PACKAGE_STRING = @PACKAGE_STRING@
  6209. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6210. -+PACKAGE_URL = @PACKAGE_URL@
  6211. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6212. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6213. - PANGO_LIBS = @PANGO_LIBS@
  6214. ---- plymouth-0.8.2.orig/src/plugins/renderers/frame-buffer/plugin.c
  6215. -+++ plymouth-0.8.2/src/plugins/renderers/frame-buffer/plugin.c
  6216. -@@ -56,7 +56,7 @@
  6217. - #include "ply-renderer-plugin.h"
  6218. -
  6219. - #ifndef PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME
  6220. --#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb"
  6221. -+#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb0"
  6222. - #endif
  6223. -
  6224. - struct _ply_renderer_head
  6225. -@@ -646,6 +646,16 @@ get_buffer_for_head (ply_renderer_backen
  6226. -   return backend->head.pixel_buffer;
  6227. - }
  6228. -
  6229. -+static unsigned int
  6230. -+get_bits_per_pixel_for_head (ply_renderer_backend_t *backend,
  6231. -+                             ply_renderer_head_t    *head)
  6232. -+{
  6233. -+  if (head != &backend->head)
  6234. -+    return 0;
  6235. ++  node = ply_list_get_first_node (plugin->views);
  6236. ++  while (node != NULL)
  6237. ++    {
  6238. ++      ply_list_node_t *next_node;
  6239. ++      view_t *view;
  6240.  +
  6241. -+  return backend->bytes_per_pixel * 8;
  6242. -+}
  6243. ++      view = ply_list_node_get_data (node);
  6244. ++      next_node = ply_list_get_next_node (plugin->views, node);
  6245.  +
  6246. - static bool
  6247. - has_input_source (ply_renderer_backend_t      *backend,
  6248. -                   ply_renderer_input_source_t *input_source)
  6249. -@@ -739,6 +749,7 @@ ply_renderer_backend_get_interface (void
  6250. -       .flush_head = flush_head,
  6251. -       .get_heads = get_heads,
  6252. -       .get_buffer_for_head = get_buffer_for_head,
  6253. -+      .get_bits_per_pixel_for_head = get_bits_per_pixel_for_head,
  6254. -       .get_input_source = get_input_source,
  6255. -       .open_input_source = open_input_source,
  6256. -       .set_handler_for_input_source = set_handler_for_input_source,
  6257. ---- plymouth-0.8.2.orig/src/plugins/renderers/drm/Makefile.in
  6258. -+++ plymouth-0.8.2/src/plugins/renderers/drm/Makefile.in
  6259. -@@ -175,6 +175,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6260. - PACKAGE_NAME = @PACKAGE_NAME@
  6261. - PACKAGE_STRING = @PACKAGE_STRING@
  6262. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6263. -+PACKAGE_URL = @PACKAGE_URL@
  6264. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6265. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6266. - PANGO_LIBS = @PANGO_LIBS@
  6267. ---- plymouth-0.8.2.orig/src/plugins/renderers/drm/plugin.c
  6268. -+++ plymouth-0.8.2/src/plugins/renderers/drm/plugin.c
  6269. -@@ -454,10 +454,15 @@ load_driver (ply_renderer_backend_t *bac
  6270. -       backend->driver_interface = ply_renderer_radeon_driver_get_interface ();
  6271. -       backend->driver_supports_mapping_console = false;
  6272. -     }
  6273. --  else if (strcmp (driver_name, "nouveau") == 0)
  6274. -+  else if (strcmp (driver_name, "nouveau") == 0
  6275. -+           || strcmp (driver_name, "lbm-nouveau") == 0)
  6276. -     {
  6277. -+#ifdef GDM_HANGING_IS_FINE_WITH_ME
  6278. -       backend->driver_interface = ply_renderer_nouveau_driver_get_interface ();
  6279. -       backend->driver_supports_mapping_console = false;
  6280. -+#else
  6281. -+      ply_trace("falling back to framebuffer for nouveau to avoid DRM hang");
  6282. -+#endif
  6283. -     }
  6284. -   free (driver_name);
  6285. -
  6286. ---- plymouth-0.8.2.orig/src/viewer/Makefile.in
  6287. -+++ plymouth-0.8.2/src/viewer/Makefile.in
  6288. -@@ -215,6 +215,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6289. - PACKAGE_NAME = @PACKAGE_NAME@
  6290. - PACKAGE_STRING = @PACKAGE_STRING@
  6291. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6292. -+PACKAGE_URL = @PACKAGE_URL@
  6293. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6294. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6295. - PANGO_LIBS = @PANGO_LIBS@
  6296. ---- plymouth-0.8.2.orig/src/libply/Makefile.in
  6297. -+++ plymouth-0.8.2/src/libply/Makefile.in
  6298. -@@ -219,6 +219,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6299. - PACKAGE_NAME = @PACKAGE_NAME@
  6300. - PACKAGE_STRING = @PACKAGE_STRING@
  6301. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6302. -+PACKAGE_URL = @PACKAGE_URL@
  6303. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6304. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6305. - PANGO_LIBS = @PANGO_LIBS@
  6306. ---- plymouth-0.8.2.orig/src/libply/tests/Makefile.in
  6307. -+++ plymouth-0.8.2/src/libply/tests/Makefile.in
  6308. -@@ -342,6 +342,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6309. - PACKAGE_NAME = @PACKAGE_NAME@
  6310. - PACKAGE_STRING = @PACKAGE_STRING@
  6311. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6312. -+PACKAGE_URL = @PACKAGE_URL@
  6313. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6314. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6315. - PANGO_LIBS = @PANGO_LIBS@
  6316. ---- plymouth-0.8.2.orig/src/libply-splash-core/Makefile.in
  6317. -+++ plymouth-0.8.2/src/libply-splash-core/Makefile.in
  6318. -@@ -185,6 +185,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6319. - PACKAGE_NAME = @PACKAGE_NAME@
  6320. - PACKAGE_STRING = @PACKAGE_STRING@
  6321. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6322. -+PACKAGE_URL = @PACKAGE_URL@
  6323. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6324. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6325. - PANGO_LIBS = @PANGO_LIBS@
  6326. ---- plymouth-0.8.2.orig/src/libply-splash-core/ply-pixel-display.c
  6327. -+++ plymouth-0.8.2/src/libply-splash-core/ply-pixel-display.c
  6328. -@@ -51,6 +51,7 @@ struct _ply_pixel_display
  6329. -
  6330. -   unsigned long width;
  6331. -   unsigned long height;
  6332. -+  unsigned int bits_per_pixel;
  6333. -
  6334. -   ply_pixel_display_draw_handler_t draw_handler;
  6335. -   void *draw_handler_user_data;
  6336. -@@ -79,6 +80,9 @@ ply_pixel_display_new (ply_renderer_t  
  6337. -   display->width = size.width;
  6338. -   display->height = size.height;
  6339. -
  6340. -+  display->bits_per_pixel = ply_renderer_get_bits_per_pixel_for_head (renderer,
  6341. -+                                                                      head);
  6342. ++      view_show_prompt (view, prompt, entered_text);
  6343.  +
  6344. -   return display;
  6345. - }
  6346. -
  6347. -@@ -94,6 +98,12 @@ ply_pixel_display_get_height (ply_pixel_
  6348. -   return display->height;
  6349. - }
  6350. -
  6351. -+unsigned int
  6352. -+ply_pixel_display_get_bits_per_pixel (ply_pixel_display_t *display)
  6353. -+{
  6354. -+  return display->bits_per_pixel;
  6355. ++      node = next_node;
  6356. ++    }
  6357. ++  free (entered_text);
  6358.  +}
  6359.  +
  6360. - static void
  6361. - ply_pixel_display_flush (ply_pixel_display_t *display)
  6362. - {
  6363. ---- plymouth-0.8.2.orig/src/libply-splash-core/ply-renderer.h
  6364. -+++ plymouth-0.8.2/src/libply-splash-core/ply-renderer.h
  6365. -@@ -50,6 +50,8 @@ void ply_renderer_deactivate (ply_render
  6366. - ply_list_t *ply_renderer_get_heads (ply_renderer_t *renderer);
  6367. - ply_pixel_buffer_t *ply_renderer_get_buffer_for_head (ply_renderer_t      *renderer,
  6368. -                                                       ply_renderer_head_t *head);
  6369. -+unsigned int ply_renderer_get_bits_per_pixel_for_head (ply_renderer_t      *renderer,
  6370. -+                                                       ply_renderer_head_t *head);
  6371. -
  6372. - void ply_renderer_flush_head (ply_renderer_t      *renderer,
  6373. -                               ply_renderer_head_t *head);
  6374. ---- plymouth-0.8.2.orig/src/libply-splash-core/ply-renderer-plugin.h
  6375. -+++ plymouth-0.8.2/src/libply-splash-core/ply-renderer-plugin.h
  6376. -@@ -54,6 +54,8 @@ typedef struct
  6377. -
  6378. -   ply_pixel_buffer_t * (* get_buffer_for_head) (ply_renderer_backend_t *backend,
  6379. -                                                 ply_renderer_head_t    *head);
  6380. -+  unsigned int (* get_bits_per_pixel_for_head) (ply_renderer_backend_t *backend,
  6381. -+                                                ply_renderer_head_t    *head);
  6382. -
  6383. -   ply_renderer_input_source_t * (* get_input_source) (ply_renderer_backend_t *backend);
  6384. -   bool                 (* open_input_source) (ply_renderer_backend_t *backend,
  6385. ---- plymouth-0.8.2.orig/src/libply-splash-core/ply-renderer.c
  6386. -+++ plymouth-0.8.2/src/libply-splash-core/ply-renderer.c
  6387. -@@ -231,6 +231,7 @@ ply_renderer_open (ply_renderer_t *rende
  6388. -       PLYMOUTH_PLUGIN_PATH "renderers/x11.so",
  6389. -       PLYMOUTH_PLUGIN_PATH "renderers/drm.so",
  6390. -       PLYMOUTH_PLUGIN_PATH "renderers/frame-buffer.so",
  6391. -+      PLYMOUTH_PLUGIN_PATH "renderers/vga16fb.so",
  6392. -       NULL
  6393. -     };
  6394. -
  6395. -@@ -310,6 +311,21 @@ ply_renderer_get_buffer_for_head (ply_re
  6396. -                                                           head);
  6397. - }
  6398. -
  6399. -+unsigned int
  6400. -+ply_renderer_get_bits_per_pixel_for_head (ply_renderer_t      *renderer,
  6401. -+                                          ply_renderer_head_t *head)
  6402. ++static void
  6403. ++show_prompt (ply_boot_splash_plugin_t *plugin,
  6404. ++             const char               *prompt,
  6405. ++             const char               *text)
  6406.  +{
  6407. -+  assert (renderer != NULL);
  6408. -+  assert (renderer->plugin_interface != NULL);
  6409. -+  assert (head != NULL);
  6410. ++  ply_list_node_t *node;
  6411.  +
  6412. -+  if (!renderer->plugin_interface->get_bits_per_pixel_for_head)
  6413. -+    return 0;
  6414. ++  node = ply_list_get_first_node (plugin->views);
  6415. ++  while (node != NULL)
  6416. ++    {
  6417. ++      ply_list_node_t *next_node;
  6418. ++      view_t *view;
  6419.  +
  6420. -+  return renderer->plugin_interface->get_bits_per_pixel_for_head (renderer->backend,
  6421. -+                                                                  head);
  6422. -+}
  6423. ++      view = ply_list_node_get_data (node);
  6424. ++      next_node = ply_list_get_next_node (plugin->views, node);
  6425.  +
  6426. - void
  6427. - ply_renderer_flush_head (ply_renderer_t      *renderer,
  6428. -                          ply_renderer_head_t *head)
  6429. ---- plymouth-0.8.2.orig/src/libply-splash-core/ply-pixel-display.h
  6430. -+++ plymouth-0.8.2/src/libply-splash-core/ply-pixel-display.h
  6431. -@@ -48,6 +48,7 @@ void ply_pixel_display_free (ply_pixel_d
  6432. -
  6433. - unsigned long ply_pixel_display_get_width  (ply_pixel_display_t *display);
  6434. - unsigned long ply_pixel_display_get_height (ply_pixel_display_t *display);
  6435. -+unsigned int ply_pixel_display_get_bits_per_pixel (ply_pixel_display_t *display);
  6436. -
  6437. - void ply_pixel_display_set_draw_handler (ply_pixel_display_t              *display,
  6438. -                                          ply_pixel_display_draw_handler_t  draw_handler,
  6439. ---- plymouth-0.8.2.orig/src/libply-splash-graphics/Makefile.in
  6440. -+++ plymouth-0.8.2/src/libply-splash-graphics/Makefile.in
  6441. -@@ -186,6 +186,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6442. - PACKAGE_NAME = @PACKAGE_NAME@
  6443. - PACKAGE_STRING = @PACKAGE_STRING@
  6444. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6445. -+PACKAGE_URL = @PACKAGE_URL@
  6446. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6447. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6448. - PANGO_LIBS = @PANGO_LIBS@
  6449. ---- plymouth-0.8.2.orig/src/client/Makefile.in
  6450. -+++ plymouth-0.8.2/src/client/Makefile.in
  6451. -@@ -228,6 +228,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6452. - PACKAGE_NAME = @PACKAGE_NAME@
  6453. - PACKAGE_STRING = @PACKAGE_STRING@
  6454. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6455. -+PACKAGE_URL = @PACKAGE_URL@
  6456. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6457. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6458. - PANGO_LIBS = @PANGO_LIBS@
  6459. ---- plymouth-0.8.2.orig/src/client/ply-boot-client.h
  6460. -+++ plymouth-0.8.2/src/client/ply-boot-client.h
  6461. -@@ -129,6 +129,7 @@ void ply_boot_client_ask_daemon_has_acti
  6462. -                                                ply_boot_client_response_handler_t  handler,
  6463. -                                                ply_boot_client_response_handler_t  failed_handler,
  6464. -                                                void                               *user_data);
  6465. -+void ply_boot_client_flush (ply_boot_client_t *client);
  6466. - void ply_boot_client_disconnect (ply_boot_client_t *client);
  6467. - void ply_boot_client_attach_to_event_loop (ply_boot_client_t *client,
  6468. -                                            ply_event_loop_t  *loop);
  6469. ---- plymouth-0.8.2.orig/src/client/ply-boot-client.c
  6470. -+++ plymouth-0.8.2/src/client/ply-boot-client.c
  6471. -@@ -257,15 +257,32 @@ ply_boot_client_process_incoming_replies
  6472. -       return;
  6473. -     }
  6474. -
  6475. --  request_node = ply_list_get_first_node (client->requests_waiting_for_replies);
  6476. --  assert (request_node != NULL);
  6477. --
  6478. --  request = (ply_boot_client_request_t *) ply_list_node_get_data (request_node);
  6479. --  assert (request != NULL);
  6480. --
  6481. -   if (!ply_read (client->socket_fd, byte, sizeof (uint8_t)))
  6482. -     goto out;
  6483. -
  6484. -+  for (request_node = ply_list_get_first_node (client->requests_waiting_for_replies);
  6485. -+       request_node; request_node = ply_list_get_next_node (client->requests_waiting_for_replies, request_node))
  6486. -+    {
  6487. -+      assert (request_node != NULL);
  6488. -+      request = (ply_boot_client_request_t *) ply_list_node_get_data (request_node);
  6489. -+      assert (request != NULL);
  6490. ++      view_show_prompt (view, prompt, text);
  6491.  +
  6492. -+      if (! strcmp (request->command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_PASSWORD)
  6493. -+          || ! strcmp (request->command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_QUESTION)
  6494. -+          || ! strcmp (request->command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_KEYSTROKE))
  6495. -+        {
  6496. -+          if (! memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ANSWER, sizeof (uint8_t))
  6497. -+              || ! memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_NO_ANSWER, sizeof (uint8_t)))
  6498. -+            break;
  6499. -+        }
  6500. -+      else
  6501. -+        {
  6502. -+          if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ANSWER, sizeof (uint8_t))
  6503. -+              && memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_NO_ANSWER, sizeof (uint8_t)))
  6504. -+            break;
  6505. -+        }
  6506. ++      node = next_node;
  6507.  +    }
  6508. ++}
  6509.  +
  6510. -   if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ACK, sizeof (uint8_t)) == 0)
  6511. -       request->handler (request->user_data, client);
  6512. -   else if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ANSWER, sizeof (uint8_t)) == 0)
  6513. -@@ -743,6 +760,17 @@ ply_boot_client_tell_daemon_about_error
  6514. - }
  6515. -
  6516. - void
  6517. -+ply_boot_client_flush (ply_boot_client_t *client)
  6518. ++static void
  6519. ++display_password (ply_boot_splash_plugin_t *plugin,
  6520. ++                  const char               *prompt,
  6521. ++                  int                       bullets)
  6522.  +{
  6523. -+  assert (client != NULL);
  6524. ++  pause_views (plugin);
  6525. ++  if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
  6526. ++    stop_animation (plugin);
  6527.  +
  6528. -+  while (ply_list_get_length (client->requests_to_send) > 0)
  6529. ++  plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
  6530. ++
  6531. ++  if (!prompt)
  6532. ++    prompt = "Password";
  6533. ++
  6534. ++  show_password_prompt (plugin, prompt, bullets);
  6535. ++
  6536. ++  unpause_views (plugin);
  6537. ++}
  6538. ++
  6539. ++static void
  6540. ++display_question (ply_boot_splash_plugin_t *plugin,
  6541. ++                  const char               *prompt,
  6542. ++                  const char               *entry_text)
  6543. ++{
  6544. ++  pause_views (plugin);
  6545. ++  if (plugin->state == PLY_BOOT_SPLASH_DISPLAY_NORMAL)
  6546. ++    stop_animation (plugin);
  6547. ++
  6548. ++  plugin->state = PLY_BOOT_SPLASH_DISPLAY_PASSWORD_ENTRY;
  6549. ++
  6550. ++  if (!prompt)
  6551. ++    prompt = "Password";
  6552. ++
  6553. ++  show_prompt (plugin, prompt, entry_text);
  6554. ++
  6555. ++  unpause_views (plugin);
  6556. ++}
  6557. ++
  6558. ++
  6559. ++ply_boot_splash_plugin_interface_t *
  6560. ++ply_boot_splash_plugin_get_interface (void)
  6561. ++{
  6562. ++  static ply_boot_splash_plugin_interface_t plugin_interface =
  6563.  +    {
  6564. -+      ply_event_loop_process_pending_events (client->loop);
  6565. -+    }
  6566. ++      .create_plugin = create_plugin,
  6567. ++      .destroy_plugin = destroy_plugin,
  6568. ++      .add_text_display = add_text_display,
  6569. ++      .remove_text_display = remove_text_display,
  6570. ++      .show_splash_screen = show_splash_screen,
  6571. ++      .update_status = update_status,
  6572. ++      .hide_splash_screen = hide_splash_screen,
  6573. ++      .display_normal = display_normal,
  6574. ++      .display_message = display_message,
  6575. ++      .display_password = display_password,
  6576. ++      .display_question = display_question,
  6577. ++    };
  6578. ++
  6579. ++  return &plugin_interface;
  6580.  +}
  6581.  +
  6582. -+void
  6583. - ply_boot_client_disconnect (ply_boot_client_t *client)
  6584. - {
  6585. -   assert (client != NULL);
  6586. ---- plymouth-0.8.2.orig/src/client/tests/Makefile.in
  6587. -+++ plymouth-0.8.2/src/client/tests/Makefile.in
  6588. -@@ -121,6 +121,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6589. - PACKAGE_NAME = @PACKAGE_NAME@
  6590. - PACKAGE_STRING = @PACKAGE_STRING@
  6591. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6592. -+PACKAGE_URL = @PACKAGE_URL@
  6593. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6594. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6595. - PANGO_LIBS = @PANGO_LIBS@
  6596. ---- plymouth-0.8.2.orig/src/tests/Makefile.in
  6597. -+++ plymouth-0.8.2/src/tests/Makefile.in
  6598. -@@ -195,6 +195,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6599. - PACKAGE_NAME = @PACKAGE_NAME@
  6600. - PACKAGE_STRING = @PACKAGE_STRING@
  6601. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6602. -+PACKAGE_URL = @PACKAGE_URL@
  6603. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6604. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6605. - PANGO_LIBS = @PANGO_LIBS@
  6606. ---- plymouth-0.8.2.orig/scripts/Makefile.in
  6607. -+++ plymouth-0.8.2/scripts/Makefile.in
  6608. -@@ -144,6 +144,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6609. - PACKAGE_NAME = @PACKAGE_NAME@
  6610. - PACKAGE_STRING = @PACKAGE_STRING@
  6611. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6612. -+PACKAGE_URL = @PACKAGE_URL@
  6613. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6614. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6615. - PANGO_LIBS = @PANGO_LIBS@
  6616. ---- plymouth-0.8.2.orig/docs/Makefile.in
  6617. -+++ plymouth-0.8.2/docs/Makefile.in
  6618. -@@ -140,6 +140,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6619. - PACKAGE_NAME = @PACKAGE_NAME@
  6620. - PACKAGE_STRING = @PACKAGE_STRING@
  6621. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6622. -+PACKAGE_URL = @PACKAGE_URL@
  6623. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6624. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6625. - PANGO_LIBS = @PANGO_LIBS@
  6626. ---- plymouth-0.8.2.orig/themes/Makefile.in
  6627. -+++ plymouth-0.8.2/themes/Makefile.in
  6628. -@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6629. - PACKAGE_NAME = @PACKAGE_NAME@
  6630. - PACKAGE_STRING = @PACKAGE_STRING@
  6631. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6632. -+PACKAGE_URL = @PACKAGE_URL@
  6633. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6634. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6635. - PANGO_LIBS = @PANGO_LIBS@
  6636. -@@ -233,7 +234,7 @@ target_alias = @target_alias@
  6637. - top_build_prefix = @top_build_prefix@
  6638. - top_builddir = @top_builddir@
  6639. - top_srcdir = @top_srcdir@
  6640. --SUBDIRS = spinfinity fade-in text details solar glow script
  6641. -+SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
  6642. - MAINTAINERCLEANFILES = Makefile.in
  6643. - all: all-recursive
  6644. -
  6645. ---- plymouth-0.8.2.orig/themes/Makefile.am
  6646. -+++ plymouth-0.8.2/themes/Makefile.am
  6647. -@@ -1,2 +1,2 @@
  6648. --SUBDIRS = spinfinity fade-in text details solar glow script
  6649. -+SUBDIRS = spinfinity fade-in text details solar glow script ubuntu-logo ubuntu-text
  6650. - MAINTAINERCLEANFILES = Makefile.in
  6651. ---- plymouth-0.8.2.orig/themes/script/Makefile.in
  6652. -+++ plymouth-0.8.2/themes/script/Makefile.in
  6653. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6654. - PACKAGE_NAME = @PACKAGE_NAME@
  6655. - PACKAGE_STRING = @PACKAGE_STRING@
  6656. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6657. -+PACKAGE_URL = @PACKAGE_URL@
  6658. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6659. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6660. - PANGO_LIBS = @PANGO_LIBS@
  6661. ---- plymouth-0.8.2.orig/themes/solar/Makefile.in
  6662. -+++ plymouth-0.8.2/themes/solar/Makefile.in
  6663. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  6664. - PACKAGE_NAME = @PACKAGE_NAME@
  6665. - PACKAGE_STRING = @PACKAGE_STRING@
  6666. - PACKAGE_TARNAME = @PACKAGE_TARNAME@
  6667. -+PACKAGE_URL = @PACKAGE_URL@
  6668. - PACKAGE_VERSION = @PACKAGE_VERSION@
  6669. - PANGO_CFLAGS = @PANGO_CFLAGS@
  6670. - PANGO_LIBS = @PANGO_LIBS@
  6671. ++/* vim: set ts=4 sw=4 expandtab autoindent cindent cino={.5s,(0: */
  6672. +--- /dev/null
  6673. ++++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.am
  6674. +@@ -0,0 +1,23 @@
  6675. ++INCLUDES = -I$(top_srcdir)                                                    \
  6676. ++           -I$(srcdir)/../../../libply                                        \
  6677. ++           -I$(srcdir)/../../../libply-splash-core                            \
  6678. ++           -I$(srcdir)/../../..                                               \
  6679. ++           -I$(srcdir)/../..                                                  \
  6680. ++           -I$(srcdir)/..                                                     \
  6681. ++           -I$(srcdir)
  6682. ++
  6683. ++plugindir = $(libdir)/plymouth
  6684. ++plugin_LTLIBRARIES = ubuntu-text.la
  6685. ++
  6686. ++ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS)                                           \
  6687. ++                 -DPLYMOUTH_BACKGROUND_COLOR=$(background_color)              \
  6688. ++                 -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color)      \
  6689. ++                 -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
  6690. ++
  6691. ++ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
  6692. ++ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS)                                            \
  6693. ++                 ../../../libply/libply.la                                   \
  6694. ++                 ../../../libply-splash-core/libply-splash-core.la
  6695. ++ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
  6696. ++
  6697. ++MAINTAINERCLEANFILES = Makefile.in
  6698.  --- /dev/null
  6699. -+++ plymouth-0.8.2/themes/ubuntu-text/Makefile.in
  6700. -@@ -0,0 +1,437 @@
  6701. ++++ plymouth-0.8.2/src/plugins/splash/ubuntu-text/Makefile.in
  6702. +@@ -0,0 +1,597 @@
  6703.  +# Makefile.in generated by automake 1.11.1 from Makefile.am.
  6704.  +# @configure_input@
  6705.  +
  6706. @@ -15111,9 +14171,8 @@
  6707.  +POST_UNINSTALL = :
  6708.  +build_triplet = @build@
  6709.  +host_triplet = @host@
  6710. -+subdir = themes/ubuntu-text
  6711. -+DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
  6712. -+      $(srcdir)/Makefile.in
  6713. ++subdir = src/plugins/splash/ubuntu-text
  6714. ++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
  6715.  +ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  6716.  +am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
  6717.  +      $(top_srcdir)/configure.ac
  6718. @@ -15123,14 +14182,6 @@
  6719.  +CONFIG_HEADER = $(top_builddir)/config.h
  6720.  +CONFIG_CLEAN_FILES =
  6721.  +CONFIG_CLEAN_VPATH_FILES =
  6722. -+AM_V_GEN = $(am__v_GEN_$(V))
  6723. -+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  6724. -+am__v_GEN_0 = @echo "  GEN   " $@;
  6725. -+AM_V_at = $(am__v_at_$(V))
  6726. -+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  6727. -+am__v_at_0 = @
  6728. -+SOURCES =
  6729. -+DIST_SOURCES =
  6730.  +am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  6731.  +am__vpath_adj = case $$p in \
  6732.  +    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  6733. @@ -15152,8 +14203,51 @@
  6734.  +am__base_list = \
  6735.  +  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  6736.  +  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  6737. -+am__installdirs = "$(DESTDIR)$(themedir)"
  6738. -+DATA = $(dist_theme_DATA)
  6739. ++am__installdirs = "$(DESTDIR)$(plugindir)"
  6740. ++LTLIBRARIES = $(plugin_LTLIBRARIES)
  6741. ++am__DEPENDENCIES_1 =
  6742. ++ubuntu_text_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
  6743. ++      ../../../libply/libply.la \
  6744. ++      ../../../libply-splash-core/libply-splash-core.la
  6745. ++am_ubuntu_text_la_OBJECTS = ubuntu_text_la-plugin.lo
  6746. ++ubuntu_text_la_OBJECTS = $(am_ubuntu_text_la_OBJECTS)
  6747. ++AM_V_lt = $(am__v_lt_$(V))
  6748. ++am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
  6749. ++am__v_lt_0 = --silent
  6750. ++ubuntu_text_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
  6751. ++      $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
  6752. ++      $(ubuntu_text_la_CFLAGS) $(CFLAGS) $(ubuntu_text_la_LDFLAGS) \
  6753. ++      $(LDFLAGS) -o $@
  6754. ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
  6755. ++depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp
  6756. ++am__depfiles_maybe = depfiles
  6757. ++am__mv = mv -f
  6758. ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  6759. ++      $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
  6760. ++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  6761. ++      $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
  6762. ++      $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  6763. ++      $(AM_CFLAGS) $(CFLAGS)
  6764. ++AM_V_CC = $(am__v_CC_$(V))
  6765. ++am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
  6766. ++am__v_CC_0 = @echo "  CC    " $@;
  6767. ++AM_V_at = $(am__v_at_$(V))
  6768. ++am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  6769. ++am__v_at_0 = @
  6770. ++CCLD = $(CC)
  6771. ++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  6772. ++      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
  6773. ++      $(AM_LDFLAGS) $(LDFLAGS) -o $@
  6774. ++AM_V_CCLD = $(am__v_CCLD_$(V))
  6775. ++am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
  6776. ++am__v_CCLD_0 = @echo "  CCLD  " $@;
  6777. ++AM_V_GEN = $(am__v_GEN_$(V))
  6778. ++am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  6779. ++am__v_GEN_0 = @echo "  GEN   " $@;
  6780. ++SOURCES = $(ubuntu_text_la_SOURCES)
  6781. ++DIST_SOURCES = $(ubuntu_text_la_SOURCES)
  6782. ++ETAGS = etags
  6783. ++CTAGS = ctags
  6784.  +DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  6785.  +ACLOCAL = @ACLOCAL@
  6786.  +AMTAR = @AMTAR@
  6787. @@ -15296,12 +14390,32 @@
  6788.  +top_build_prefix = @top_build_prefix@
  6789.  +top_builddir = @top_builddir@
  6790.  +top_srcdir = @top_srcdir@
  6791. -+themedir = $(datadir)/plymouth/themes/ubuntu-text
  6792. -+dist_theme_DATA = ubuntu-text.plymouth
  6793. ++INCLUDES = -I$(top_srcdir)                                                    \
  6794. ++           -I$(srcdir)/../../../libply                                        \
  6795. ++           -I$(srcdir)/../../../libply-splash-core                            \
  6796. ++           -I$(srcdir)/../../..                                               \
  6797. ++           -I$(srcdir)/../..                                                  \
  6798. ++           -I$(srcdir)/..                                                     \
  6799. ++           -I$(srcdir)
  6800. ++
  6801. ++plugindir = $(libdir)/plymouth
  6802. ++plugin_LTLIBRARIES = ubuntu-text.la
  6803. ++ubuntu_text_la_CFLAGS = $(PLYMOUTH_CFLAGS)                                           \
  6804. ++                 -DPLYMOUTH_BACKGROUND_COLOR=$(background_color)              \
  6805. ++                 -DPLYMOUTH_BACKGROUND_END_COLOR=$(background_end_color)      \
  6806. ++                 -DPLYMOUTH_BACKGROUND_START_COLOR=$(background_start_color)
  6807. ++
  6808. ++ubuntu_text_la_LDFLAGS = -module -avoid-version -export-dynamic
  6809. ++ubuntu_text_la_LIBADD = $(PLYMOUTH_LIBS)                                            \
  6810. ++                 ../../../libply/libply.la                                   \
  6811. ++                 ../../../libply-splash-core/libply-splash-core.la
  6812. ++
  6813. ++ubuntu_text_la_SOURCES = $(srcdir)/plugin.c
  6814.  +MAINTAINERCLEANFILES = Makefile.in
  6815.  +all: all-am
  6816.  +
  6817.  +.SUFFIXES:
  6818. ++.SUFFIXES: .c .lo .o .obj
  6819.  +$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
  6820.  +      @for dep in $?; do \
  6821.  +        case '$(am__configure_deps)' in \
  6822. @@ -15311,9 +14425,9 @@
  6823.  +            exit 1;; \
  6824.  +        esac; \
  6825.  +      done; \
  6826. -+      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile'; \
  6827. ++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile'; \
  6828.  +      $(am__cd) $(top_srcdir) && \
  6829. -+        $(AUTOMAKE) --gnu themes/ubuntu-text/Makefile
  6830. ++        $(AUTOMAKE) --gnu src/plugins/splash/ubuntu-text/Makefile
  6831.  +.PRECIOUS: Makefile
  6832.  +Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  6833.  +      @case '$?' in \
  6834. @@ -15332,38 +14446,137 @@
  6835.  +$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
  6836.  +      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  6837.  +$(am__aclocal_m4_deps):
  6838. ++install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
  6839. ++      @$(NORMAL_INSTALL)
  6840. ++      test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
  6841. ++      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  6842. ++      list2=; for p in $$list; do \
  6843. ++        if test -f $$p; then \
  6844. ++          list2="$$list2 $$p"; \
  6845. ++        else :; fi; \
  6846. ++      done; \
  6847. ++      test -z "$$list2" || { \
  6848. ++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
  6849. ++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
  6850. ++      }
  6851. ++
  6852. ++uninstall-pluginLTLIBRARIES:
  6853. ++      @$(NORMAL_UNINSTALL)
  6854. ++      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  6855. ++      for p in $$list; do \
  6856. ++        $(am__strip_dir) \
  6857. ++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
  6858. ++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
  6859. ++      done
  6860. ++
  6861. ++clean-pluginLTLIBRARIES:
  6862. ++      -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
  6863. ++      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
  6864. ++        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
  6865. ++        test "$$dir" != "$$p" || dir=.; \
  6866. ++        echo "rm -f \"$${dir}/so_locations\""; \
  6867. ++        rm -f "$${dir}/so_locations"; \
  6868. ++      done
  6869. ++ubuntu-text.la: $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_DEPENDENCIES)
  6870. ++      $(AM_V_CCLD)$(ubuntu_text_la_LINK) -rpath $(plugindir) $(ubuntu_text_la_OBJECTS) $(ubuntu_text_la_LIBADD) $(LIBS)
  6871. ++
  6872. ++mostlyclean-compile:
  6873. ++      -rm -f *.$(OBJEXT)
  6874. ++
  6875. ++distclean-compile:
  6876. ++      -rm -f *.tab.c
  6877. ++
  6878. ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ubuntu_text_la-plugin.Plo@am__quote@
  6879. ++
  6880. ++.c.o:
  6881. ++@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  6882. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  6883. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  6884. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  6885. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  6886. ++@am__fastdepCC_FALSE@ $(COMPILE) -c $<
  6887. ++
  6888. ++.c.obj:
  6889. ++@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
  6890. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  6891. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  6892. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  6893. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  6894. ++@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
  6895. ++
  6896. ++.c.lo:
  6897. ++@am__fastdepCC_TRUE@  $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  6898. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
  6899. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  6900. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
  6901. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  6902. ++@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
  6903. ++
  6904. ++ubuntu_text_la-plugin.lo: $(srcdir)/plugin.c
  6905. ++@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
  6906. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/ubuntu_text_la-plugin.Tpo $(DEPDIR)/ubuntu_text_la-plugin.Plo
  6907. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  6908. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$(srcdir)/plugin.c' object='ubuntu_text_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
  6909. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  6910. ++@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
  6911.  +
  6912.  +mostlyclean-libtool:
  6913.  +      -rm -f *.lo
  6914.  +
  6915.  +clean-libtool:
  6916.  +      -rm -rf .libs _libs
  6917. -+install-dist_themeDATA: $(dist_theme_DATA)
  6918. -+      @$(NORMAL_INSTALL)
  6919. -+      test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
  6920. -+      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  6921. -+      for p in $$list; do \
  6922. -+        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  6923. -+        echo "$$d$$p"; \
  6924. -+      done | $(am__base_list) | \
  6925. -+      while read files; do \
  6926. -+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
  6927. -+        $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
  6928. -+      done
  6929.  +
  6930. -+uninstall-dist_themeDATA:
  6931. -+      @$(NORMAL_UNINSTALL)
  6932. -+      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  6933. -+      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
  6934. -+      test -n "$$files" || exit 0; \
  6935. -+      echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
  6936. -+      cd "$(DESTDIR)$(themedir)" && rm -f $$files
  6937. ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
  6938. ++      list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
  6939. ++      unique=`for i in $$list; do \
  6940. ++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  6941. ++        done | \
  6942. ++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  6943. ++            END { if (nonempty) { for (i in files) print i; }; }'`; \
  6944. ++      mkid -fID $$unique
  6945.  +tags: TAGS
  6946. -+TAGS:
  6947.  +
  6948. ++TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  6949. ++              $(TAGS_FILES) $(LISP)
  6950. ++      set x; \
  6951. ++      here=`pwd`; \
  6952. ++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  6953. ++      unique=`for i in $$list; do \
  6954. ++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  6955. ++        done | \
  6956. ++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  6957. ++            END { if (nonempty) { for (i in files) print i; }; }'`; \
  6958. ++      shift; \
  6959. ++      if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
  6960. ++        test -n "$$unique" || unique=$$empty_fix; \
  6961. ++        if test $$# -gt 0; then \
  6962. ++          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  6963. ++            "$$@" $$unique; \
  6964. ++        else \
  6965. ++          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  6966. ++            $$unique; \
  6967. ++        fi; \
  6968. ++      fi
  6969.  +ctags: CTAGS
  6970. -+CTAGS:
  6971. ++CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  6972. ++              $(TAGS_FILES) $(LISP)
  6973. ++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  6974. ++      unique=`for i in $$list; do \
  6975. ++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  6976. ++        done | \
  6977. ++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  6978. ++            END { if (nonempty) { for (i in files) print i; }; }'`; \
  6979. ++      test -z "$(CTAGS_ARGS)$$unique" \
  6980. ++        || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
  6981. ++           $$unique
  6982. ++
  6983. ++GTAGS:
  6984. ++      here=`$(am__cd) $(top_builddir) && pwd` \
  6985. ++        && $(am__cd) $(top_srcdir) \
  6986. ++        && gtags -i $(GTAGS_ARGS) "$$here"
  6987.  +
  6988. ++distclean-tags:
  6989. ++      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
  6990.  +
  6991.  +distdir: $(DISTFILES)
  6992.  +      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  6993. @@ -15397,9 +14610,9 @@
  6994.  +      done
  6995.  +check-am: all-am
  6996.  +check: check-am
  6997. -+all-am: Makefile $(DATA)
  6998. ++all-am: Makefile $(LTLIBRARIES)
  6999.  +installdirs:
  7000. -+      for dir in "$(DESTDIR)$(themedir)"; do \
  7001. ++      for dir in "$(DESTDIR)$(plugindir)"; do \
  7002.  +        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  7003.  +      done
  7004.  +install: install-am
  7005. @@ -15430,11 +14643,14 @@
  7006.  +      -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
  7007.  +clean: clean-am
  7008.  +
  7009. -+clean-am: clean-generic clean-libtool mostlyclean-am
  7010. ++clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
  7011. ++      mostlyclean-am
  7012.  +
  7013.  +distclean: distclean-am
  7014. ++      -rm -rf ./$(DEPDIR)
  7015.  +      -rm -f Makefile
  7016. -+distclean-am: clean-am distclean-generic
  7017. ++distclean-am: clean-am distclean-compile distclean-generic \
  7018. ++      distclean-tags
  7019.  +
  7020.  +dvi: dvi-am
  7021.  +
  7022. @@ -15448,7 +14664,7 @@
  7023.  +
  7024.  +info-am:
  7025.  +
  7026. -+install-data-am: install-dist_themeDATA
  7027. ++install-data-am: install-pluginLTLIBRARIES
  7028.  +
  7029.  +install-dvi: install-dvi-am
  7030.  +
  7031. @@ -15477,12 +14693,14 @@
  7032.  +installcheck-am:
  7033.  +
  7034.  +maintainer-clean: maintainer-clean-am
  7035. ++      -rm -rf ./$(DEPDIR)
  7036.  +      -rm -f Makefile
  7037.  +maintainer-clean-am: distclean-am maintainer-clean-generic
  7038.  +
  7039.  +mostlyclean: mostlyclean-am
  7040.  +
  7041. -+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
  7042. ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
  7043. ++      mostlyclean-libtool
  7044.  +
  7045.  +pdf: pdf-am
  7046.  +
  7047. @@ -15492,43 +14710,103 @@
  7048.  +
  7049.  +ps-am:
  7050.  +
  7051. -+uninstall-am: uninstall-dist_themeDATA
  7052. ++uninstall-am: uninstall-pluginLTLIBRARIES
  7053.  +
  7054.  +.MAKE: install-am install-strip
  7055.  +
  7056. -+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
  7057. -+      distclean distclean-generic distclean-libtool distdir dvi \
  7058. -+      dvi-am html html-am info info-am install install-am \
  7059. -+      install-data install-data-am install-dist_themeDATA \
  7060. -+      install-dvi install-dvi-am install-exec install-exec-am \
  7061. -+      install-html install-html-am install-info install-info-am \
  7062. -+      install-man install-pdf install-pdf-am install-ps \
  7063. -+      install-ps-am install-strip installcheck installcheck-am \
  7064. -+      installdirs maintainer-clean maintainer-clean-generic \
  7065. -+      mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
  7066. -+      ps ps-am uninstall uninstall-am uninstall-dist_themeDATA
  7067. ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
  7068. ++      clean-libtool clean-pluginLTLIBRARIES ctags distclean \
  7069. ++      distclean-compile distclean-generic distclean-libtool \
  7070. ++      distclean-tags distdir dvi dvi-am html html-am info info-am \
  7071. ++      install install-am install-data install-data-am install-dvi \
  7072. ++      install-dvi-am install-exec install-exec-am install-html \
  7073. ++      install-html-am install-info install-info-am install-man \
  7074. ++      install-pdf install-pdf-am install-pluginLTLIBRARIES \
  7075. ++      install-ps install-ps-am install-strip installcheck \
  7076. ++      installcheck-am installdirs maintainer-clean \
  7077. ++      maintainer-clean-generic mostlyclean mostlyclean-compile \
  7078. ++      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
  7079. ++      tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
  7080.  +
  7081.  +
  7082.  +# Tell versions [3.59,3.63) of GNU make to not export all variables.
  7083.  +# Otherwise a system limit (for SysV at least) may be exceeded.
  7084.  +.NOEXPORT:
  7085. ---- /dev/null
  7086. -+++ plymouth-0.8.2/themes/ubuntu-text/Makefile.am
  7087. -@@ -0,0 +1,4 @@
  7088. -+themedir = $(datadir)/plymouth/themes/ubuntu-text
  7089. -+dist_theme_DATA = ubuntu-text.plymouth
  7090. +--- plymouth-0.8.2.orig/src/plugins/splash/script/plugin.c
  7091. ++++ plymouth-0.8.2/src/plugins/splash/script/plugin.c
  7092. +@@ -418,6 +418,8 @@ static void
  7093. + become_idle (ply_boot_splash_plugin_t *plugin,
  7094. +              ply_trigger_t            *idle_trigger)
  7095. + {
  7096. ++  stop_animation (plugin);
  7097.  +
  7098. -+MAINTAINERCLEANFILES = Makefile.in
  7099. ---- /dev/null
  7100. -+++ plymouth-0.8.2/themes/ubuntu-text/ubuntu-text.plymouth
  7101. -@@ -0,0 +1,4 @@
  7102. -+[Plymouth Theme]
  7103. -+Name=Ubuntu Text
  7104. -+Description=Text mode theme based on ubuntu-logo theme
  7105. -+ModuleName=ubuntu-text
  7106. ---- plymouth-0.8.2.orig/themes/details/Makefile.in
  7107. -+++ plymouth-0.8.2/themes/details/Makefile.in
  7108. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7109. +   ply_trigger_pull (idle_trigger, NULL);
  7110. + }
  7111. +
  7112. +--- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-sprite.c
  7113. ++++ plymouth-0.8.2/src/plugins/splash/script/script-lib-sprite.c
  7114. +@@ -399,6 +399,45 @@ static script_return_t sprite_window_set
  7115. +   return script_return_obj_null ();
  7116. + }
  7117. +
  7118. ++static script_return_t sprite_window_get_bits_per_pixel (script_state_t *state,
  7119. ++                                                         void           *user_data)
  7120. ++{
  7121. ++  script_lib_sprite_data_t *data = user_data;
  7122. ++  ply_list_node_t *node;
  7123. ++  int index;
  7124. ++  script_obj_t *index_obj;
  7125. ++  script_lib_display_t *display;
  7126. ++  unsigned int bits_per_pixel;
  7127. ++
  7128. ++  index_obj = script_obj_hash_peek_element (state->local, "window");
  7129. ++
  7130. ++  if (index_obj)
  7131. ++    {
  7132. ++      index = script_obj_as_number (index_obj);
  7133. ++      script_obj_unref(index_obj);
  7134. ++      if (index < 0)
  7135. ++        return script_return_obj_null ();
  7136. ++      node = ply_list_get_nth_node (data->displays, index);
  7137. ++      if (node == NULL)
  7138. ++        return script_return_obj_null ();
  7139. ++      display = ply_list_node_get_data (node);
  7140. ++      bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
  7141. ++      return script_return_obj (script_obj_new_number (bits_per_pixel));
  7142. ++    }
  7143. ++
  7144. ++  bits_per_pixel = 0;
  7145. ++  for (node = ply_list_get_first_node (data->displays);
  7146. ++       node;
  7147. ++       node = ply_list_get_next_node (data->displays, node))
  7148. ++    {
  7149. ++      display = ply_list_node_get_data (node);
  7150. ++      bits_per_pixel = ply_pixel_display_get_bits_per_pixel (display->pixel_display);
  7151. ++      if (bits_per_pixel)
  7152. ++        break;
  7153. ++    }
  7154. ++  return script_return_obj (script_obj_new_number (bits_per_pixel));
  7155. ++}
  7156. ++
  7157. + static uint32_t extract_rgb_color (script_state_t *state)
  7158. + {
  7159. +   uint8_t red =   CLAMP (255 * script_obj_hash_get_number (state->local, "red"),   0, 255);
  7160. +@@ -651,6 +690,12 @@ script_lib_sprite_data_t *script_lib_spr
  7161. +                               "value",
  7162. +                               NULL);
  7163. +   script_add_native_function (window_hash,
  7164. ++                              "GetBitsPerPixel",
  7165. ++                              sprite_window_get_bits_per_pixel,
  7166. ++                              data,
  7167. ++                              "window",
  7168. ++                              NULL);
  7169. ++  script_add_native_function (window_hash,
  7170. +                               "SetBackgroundTopColor",
  7171. +                               sprite_window_set_background_top_color,
  7172. +                               data,
  7173. +--- plymouth-0.8.2.orig/src/plugins/splash/script/Makefile.in
  7174. ++++ plymouth-0.8.2/src/plugins/splash/script/Makefile.in
  7175. +@@ -179,6 +179,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7176.   PACKAGE_NAME = @PACKAGE_NAME@
  7177.   PACKAGE_STRING = @PACKAGE_STRING@
  7178.   PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7179. @@ -15536,9 +14814,20 @@
  7180.   PACKAGE_VERSION = @PACKAGE_VERSION@
  7181.   PANGO_CFLAGS = @PANGO_CFLAGS@
  7182.   PANGO_LIBS = @PANGO_LIBS@
  7183. ---- plymouth-0.8.2.orig/themes/spinfinity/Makefile.in
  7184. -+++ plymouth-0.8.2/themes/spinfinity/Makefile.in
  7185. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7186. +--- plymouth-0.8.2.orig/src/plugins/splash/script/script-lib-image.c
  7187. ++++ plymouth-0.8.2/src/plugins/splash/script/script-lib-image.c
  7188. +@@ -171,7 +171,7 @@ static script_return_t image_text (scrip
  7189. +
  7190. +   alpha_obj = script_obj_hash_peek_element (state->local, "alpha");
  7191. +
  7192. +-  if (alpha_obj)
  7193. ++  if (alpha_obj && !script_obj_is_null(alpha_obj))
  7194. +     {
  7195. +       alpha = CLAMP(script_obj_as_number (alpha_obj), 0, 1);
  7196. +       script_obj_unref(alpha_obj);
  7197. +--- plymouth-0.8.2.orig/src/plugins/splash/fade-throbber/Makefile.in
  7198. ++++ plymouth-0.8.2/src/plugins/splash/fade-throbber/Makefile.in
  7199. +@@ -174,6 +174,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7200.   PACKAGE_NAME = @PACKAGE_NAME@
  7201.   PACKAGE_STRING = @PACKAGE_STRING@
  7202.   PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7203. @@ -15546,9 +14835,23 @@
  7204.   PACKAGE_VERSION = @PACKAGE_VERSION@
  7205.   PANGO_CFLAGS = @PANGO_CFLAGS@
  7206.   PANGO_LIBS = @PANGO_LIBS@
  7207. ---- plymouth-0.8.2.orig/themes/fade-in/Makefile.in
  7208. -+++ plymouth-0.8.2/themes/fade-in/Makefile.in
  7209. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7210. +--- plymouth-0.8.2.orig/src/plugins/splash/details/plugin.c
  7211. ++++ plymouth-0.8.2/src/plugins/splash/details/plugin.c
  7212. +@@ -203,7 +203,10 @@ add_text_display (ply_boot_splash_plugin
  7213. +
  7214. +   terminal = ply_text_display_get_terminal (view->display);
  7215. +   if (ply_terminal_open (terminal))
  7216. +-    ply_terminal_activate_vt (terminal);
  7217. ++    {
  7218. ++      ply_terminal_set_mode (terminal, PLY_TERMINAL_MODE_TEXT);
  7219. ++      ply_terminal_activate_vt (terminal);
  7220. ++    }
  7221. +
  7222. +   ply_list_append_data (plugin->views, view);
  7223. + }
  7224. +--- plymouth-0.8.2.orig/src/plugins/splash/details/Makefile.in
  7225. ++++ plymouth-0.8.2/src/plugins/splash/details/Makefile.in
  7226. +@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7227.   PACKAGE_NAME = @PACKAGE_NAME@
  7228.   PACKAGE_STRING = @PACKAGE_STRING@
  7229.   PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7230. @@ -15556,9 +14859,102 @@
  7231.   PACKAGE_VERSION = @PACKAGE_VERSION@
  7232.   PANGO_CFLAGS = @PANGO_CFLAGS@
  7233.   PANGO_LIBS = @PANGO_LIBS@
  7234. ---- plymouth-0.8.2.orig/themes/text/Makefile.in
  7235. -+++ plymouth-0.8.2/themes/text/Makefile.in
  7236. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7237. +--- plymouth-0.8.2.orig/src/plugins/splash/two-step/Makefile.in
  7238. ++++ plymouth-0.8.2/src/plugins/splash/two-step/Makefile.in
  7239. +@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7240. + PACKAGE_NAME = @PACKAGE_NAME@
  7241. + PACKAGE_STRING = @PACKAGE_STRING@
  7242. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7243. ++PACKAGE_URL = @PACKAGE_URL@
  7244. + PACKAGE_VERSION = @PACKAGE_VERSION@
  7245. + PANGO_CFLAGS = @PANGO_CFLAGS@
  7246. + PANGO_LIBS = @PANGO_LIBS@
  7247. +--- plymouth-0.8.2.orig/src/plugins/controls/Makefile.in
  7248. ++++ plymouth-0.8.2/src/plugins/controls/Makefile.in
  7249. +@@ -154,6 +154,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7250. + PACKAGE_NAME = @PACKAGE_NAME@
  7251. + PACKAGE_STRING = @PACKAGE_STRING@
  7252. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7253. ++PACKAGE_URL = @PACKAGE_URL@
  7254. + PACKAGE_VERSION = @PACKAGE_VERSION@
  7255. + PANGO_CFLAGS = @PANGO_CFLAGS@
  7256. + PANGO_LIBS = @PANGO_LIBS@
  7257. +--- plymouth-0.8.2.orig/src/plugins/controls/label/Makefile.in
  7258. ++++ plymouth-0.8.2/src/plugins/controls/label/Makefile.in
  7259. +@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7260. + PACKAGE_NAME = @PACKAGE_NAME@
  7261. + PACKAGE_STRING = @PACKAGE_STRING@
  7262. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7263. ++PACKAGE_URL = @PACKAGE_URL@
  7264. + PACKAGE_VERSION = @PACKAGE_VERSION@
  7265. + PANGO_CFLAGS = @PANGO_CFLAGS@
  7266. + PANGO_LIBS = @PANGO_LIBS@
  7267. +--- plymouth-0.8.2.orig/src/plugins/renderers/Makefile.am
  7268. ++++ plymouth-0.8.2/src/plugins/renderers/Makefile.am
  7269. +@@ -1,2 +1,5 @@
  7270. + SUBDIRS = frame-buffer drm x11
  7271. ++if BUILD_VGA16FB
  7272. ++SUBDIRS += vga16fb
  7273. ++endif
  7274. + MAINTAINERCLEANFILES = Makefile.in
  7275. +--- plymouth-0.8.2.orig/src/plugins/renderers/Makefile.in
  7276. ++++ plymouth-0.8.2/src/plugins/renderers/Makefile.in
  7277. +@@ -33,6 +33,7 @@ PRE_UNINSTALL = :
  7278. + POST_UNINSTALL = :
  7279. + build_triplet = @build@
  7280. + host_triplet = @host@
  7281. ++@BUILD_VGA16FB_TRUE@am__append_1 = vga16fb
  7282. + subdir = src/plugins/renderers
  7283. + DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
  7284. + ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  7285. +@@ -66,7 +67,7 @@ AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGE
  7286. +       distdir
  7287. + ETAGS = etags
  7288. + CTAGS = ctags
  7289. +-DIST_SUBDIRS = $(SUBDIRS)
  7290. ++DIST_SUBDIRS = frame-buffer drm x11 vga16fb
  7291. + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  7292. + am__relativize = \
  7293. +   dir0=`pwd`; \
  7294. +@@ -154,6 +155,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7295. + PACKAGE_NAME = @PACKAGE_NAME@
  7296. + PACKAGE_STRING = @PACKAGE_STRING@
  7297. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7298. ++PACKAGE_URL = @PACKAGE_URL@
  7299. + PACKAGE_VERSION = @PACKAGE_VERSION@
  7300. + PANGO_CFLAGS = @PANGO_CFLAGS@
  7301. + PANGO_LIBS = @PANGO_LIBS@
  7302. +@@ -233,7 +235,7 @@ target_alias = @target_alias@
  7303. + top_build_prefix = @top_build_prefix@
  7304. + top_builddir = @top_builddir@
  7305. + top_srcdir = @top_srcdir@
  7306. +-SUBDIRS = frame-buffer drm x11
  7307. ++SUBDIRS = frame-buffer drm x11 $(am__append_1)
  7308. + MAINTAINERCLEANFILES = Makefile.in
  7309. + all: all-recursive
  7310. +
  7311. +--- plymouth-0.8.2.orig/src/plugins/renderers/drm/plugin.c
  7312. ++++ plymouth-0.8.2/src/plugins/renderers/drm/plugin.c
  7313. +@@ -454,10 +454,15 @@ load_driver (ply_renderer_backend_t *bac
  7314. +       backend->driver_interface = ply_renderer_radeon_driver_get_interface ();
  7315. +       backend->driver_supports_mapping_console = false;
  7316. +     }
  7317. +-  else if (strcmp (driver_name, "nouveau") == 0)
  7318. ++  else if (strcmp (driver_name, "nouveau") == 0
  7319. ++           || strcmp (driver_name, "lbm-nouveau") == 0)
  7320. +     {
  7321. ++#ifdef GDM_HANGING_IS_FINE_WITH_ME
  7322. +       backend->driver_interface = ply_renderer_nouveau_driver_get_interface ();
  7323. +       backend->driver_supports_mapping_console = false;
  7324. ++#else
  7325. ++      ply_trace("falling back to framebuffer for nouveau to avoid DRM hang");
  7326. ++#endif
  7327. +     }
  7328. +   free (driver_name);
  7329. +
  7330. +--- plymouth-0.8.2.orig/src/plugins/renderers/drm/Makefile.in
  7331. ++++ plymouth-0.8.2/src/plugins/renderers/drm/Makefile.in
  7332. +@@ -175,6 +175,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7333.   PACKAGE_NAME = @PACKAGE_NAME@
  7334.   PACKAGE_STRING = @PACKAGE_STRING@
  7335.   PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7336. @@ -15566,1584 +14962,1708 @@
  7337.   PACKAGE_VERSION = @PACKAGE_VERSION@
  7338.   PANGO_CFLAGS = @PANGO_CFLAGS@
  7339.   PANGO_LIBS = @PANGO_LIBS@
  7340. ---- /dev/null
  7341. -+++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.in
  7342. -@@ -0,0 +1,475 @@
  7343. -+# Makefile.in generated by automake 1.11.1 from Makefile.am.
  7344. -+# @configure_input@
  7345. -+
  7346. -+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
  7347. -+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
  7348. -+# Inc.
  7349. -+# This Makefile.in is free software; the Free Software Foundation
  7350. -+# gives unlimited permission to copy and/or distribute it,
  7351. -+# with or without modifications, as long as this notice is preserved.
  7352. -+
  7353. -+# This program is distributed in the hope that it will be useful,
  7354. -+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  7355. -+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  7356. -+# PARTICULAR PURPOSE.
  7357. -+
  7358. -+@SET_MAKE@
  7359. -+
  7360. -+VPATH = @srcdir@
  7361. -+pkgdatadir = $(datadir)/@PACKAGE@
  7362. -+pkgincludedir = $(includedir)/@PACKAGE@
  7363. -+pkglibdir = $(libdir)/@PACKAGE@
  7364. -+pkglibexecdir = $(libexecdir)/@PACKAGE@
  7365. -+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  7366. -+install_sh_DATA = $(install_sh) -c -m 644
  7367. -+install_sh_PROGRAM = $(install_sh) -c
  7368. -+install_sh_SCRIPT = $(install_sh) -c
  7369. -+INSTALL_HEADER = $(INSTALL_DATA)
  7370. -+transform = $(program_transform_name)
  7371. -+NORMAL_INSTALL = :
  7372. -+PRE_INSTALL = :
  7373. -+POST_INSTALL = :
  7374. -+NORMAL_UNINSTALL = :
  7375. -+PRE_UNINSTALL = :
  7376. -+POST_UNINSTALL = :
  7377. -+build_triplet = @build@
  7378. -+host_triplet = @host@
  7379. -+subdir = themes/ubuntu-logo
  7380. -+DIST_COMMON = $(dist_theme_DATA) $(srcdir)/Makefile.am \
  7381. -+      $(srcdir)/Makefile.in
  7382. -+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  7383. -+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
  7384. -+      $(top_srcdir)/configure.ac
  7385. -+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  7386. -+      $(ACLOCAL_M4)
  7387. -+mkinstalldirs = $(install_sh) -d
  7388. -+CONFIG_HEADER = $(top_builddir)/config.h
  7389. -+CONFIG_CLEAN_FILES =
  7390. -+CONFIG_CLEAN_VPATH_FILES =
  7391. -+AM_V_GEN = $(am__v_GEN_$(V))
  7392. -+am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  7393. -+am__v_GEN_0 = @echo "  GEN   " $@;
  7394. -+AM_V_at = $(am__v_at_$(V))
  7395. -+am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  7396. -+am__v_at_0 = @
  7397. -+SOURCES =
  7398. -+DIST_SOURCES =
  7399. -+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  7400. -+am__vpath_adj = case $$p in \
  7401. -+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  7402. -+    *) f=$$p;; \
  7403. -+  esac;
  7404. -+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
  7405. -+am__install_max = 40
  7406. -+am__nobase_strip_setup = \
  7407. -+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
  7408. -+am__nobase_strip = \
  7409. -+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
  7410. -+am__nobase_list = $(am__nobase_strip_setup); \
  7411. -+  for p in $$list; do echo "$$p $$p"; done | \
  7412. -+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  7413. -+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
  7414. -+    if (++n[$$2] == $(am__install_max)) \
  7415. -+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
  7416. -+    END { for (dir in files) print dir, files[dir] }'
  7417. -+am__base_list = \
  7418. -+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  7419. -+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  7420. -+am__installdirs = "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"
  7421. -+DATA = $(dist_theme_DATA) $(nodist_theme_DATA)
  7422. -+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  7423. -+ACLOCAL = @ACLOCAL@
  7424. -+AMTAR = @AMTAR@
  7425. -+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
  7426. -+AR = @AR@
  7427. -+AUTOCONF = @AUTOCONF@
  7428. -+AUTOHEADER = @AUTOHEADER@
  7429. -+AUTOMAKE = @AUTOMAKE@
  7430. -+AWK = @AWK@
  7431. -+CC = @CC@
  7432. -+CCDEPMODE = @CCDEPMODE@
  7433. -+CFLAGS = @CFLAGS@
  7434. -+CPP = @CPP@
  7435. -+CPPFLAGS = @CPPFLAGS@
  7436. -+CYGPATH_W = @CYGPATH_W@
  7437. -+DEFS = @DEFS@
  7438. -+DEPDIR = @DEPDIR@
  7439. -+DRM_CFLAGS = @DRM_CFLAGS@
  7440. -+DRM_LIBS = @DRM_LIBS@
  7441. -+DSYMUTIL = @DSYMUTIL@
  7442. -+DUMPBIN = @DUMPBIN@
  7443. -+ECHO_C = @ECHO_C@
  7444. -+ECHO_N = @ECHO_N@
  7445. -+ECHO_T = @ECHO_T@
  7446. -+EGREP = @EGREP@
  7447. -+EXEEXT = @EXEEXT@
  7448. -+FGREP = @FGREP@
  7449. -+GREP = @GREP@
  7450. -+GTK_CFLAGS = @GTK_CFLAGS@
  7451. -+GTK_LIBS = @GTK_LIBS@
  7452. -+IMAGE_CFLAGS = @IMAGE_CFLAGS@
  7453. -+IMAGE_LIBS = @IMAGE_LIBS@
  7454. -+INSTALL = @INSTALL@
  7455. -+INSTALL_DATA = @INSTALL_DATA@
  7456. -+INSTALL_PROGRAM = @INSTALL_PROGRAM@
  7457. -+INSTALL_SCRIPT = @INSTALL_SCRIPT@
  7458. -+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  7459. -+LD = @LD@
  7460. -+LDFLAGS = @LDFLAGS@
  7461. -+LIBOBJS = @LIBOBJS@
  7462. -+LIBS = @LIBS@
  7463. -+LIBTOOL = @LIBTOOL@
  7464. -+LIPO = @LIPO@
  7465. -+LN_S = @LN_S@
  7466. -+LTLIBOBJS = @LTLIBOBJS@
  7467. -+LT_AGE = @LT_AGE@
  7468. -+LT_CURRENT = @LT_CURRENT@
  7469. -+LT_REVISION = @LT_REVISION@
  7470. -+MAINT = @MAINT@
  7471. -+MAKEINFO = @MAKEINFO@
  7472. -+MKDIR_P = @MKDIR_P@
  7473. -+NM = @NM@
  7474. -+NMEDIT = @NMEDIT@
  7475. -+OBJDUMP = @OBJDUMP@
  7476. -+OBJEXT = @OBJEXT@
  7477. -+OTOOL = @OTOOL@
  7478. -+OTOOL64 = @OTOOL64@
  7479. -+PACKAGE = @PACKAGE@
  7480. -+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7481. -+PACKAGE_NAME = @PACKAGE_NAME@
  7482. -+PACKAGE_STRING = @PACKAGE_STRING@
  7483. -+PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7484. -+PACKAGE_URL = @PACKAGE_URL@
  7485. -+PACKAGE_VERSION = @PACKAGE_VERSION@
  7486. -+PANGO_CFLAGS = @PANGO_CFLAGS@
  7487. -+PANGO_LIBS = @PANGO_LIBS@
  7488. -+PATH_SEPARATOR = @PATH_SEPARATOR@
  7489. -+PKG_CONFIG = @PKG_CONFIG@
  7490. -+PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
  7491. -+PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
  7492. -+PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
  7493. -+PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
  7494. -+PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
  7495. -+PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
  7496. -+PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
  7497. -+PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
  7498. -+PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
  7499. -+RANLIB = @RANLIB@
  7500. -+RELEASE_FILE = @RELEASE_FILE@
  7501. -+SED = @SED@
  7502. -+SET_MAKE = @SET_MAKE@
  7503. -+SHELL = @SHELL@
  7504. -+STRIP = @STRIP@
  7505. -+VERSION = @VERSION@
  7506. -+abs_builddir = @abs_builddir@
  7507. -+abs_srcdir = @abs_srcdir@
  7508. -+abs_top_builddir = @abs_top_builddir@
  7509. -+abs_top_srcdir = @abs_top_srcdir@
  7510. -+ac_ct_CC = @ac_ct_CC@
  7511. -+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  7512. -+am__include = @am__include@
  7513. -+am__leading_dot = @am__leading_dot@
  7514. -+am__quote = @am__quote@
  7515. -+am__tar = @am__tar@
  7516. -+am__untar = @am__untar@
  7517. -+background_color = @background_color@
  7518. -+background_end_color = @background_end_color@
  7519. -+background_start_color = @background_start_color@
  7520. -+bindir = @bindir@
  7521. -+build = @build@
  7522. -+build_alias = @build_alias@
  7523. -+build_cpu = @build_cpu@
  7524. -+build_os = @build_os@
  7525. -+build_vendor = @build_vendor@
  7526. -+builddir = @builddir@
  7527. -+datadir = @datadir@
  7528. -+datarootdir = @datarootdir@
  7529. -+docdir = @docdir@
  7530. -+dvidir = @dvidir@
  7531. -+exec_prefix = @exec_prefix@
  7532. -+host = @host@
  7533. -+host_alias = @host_alias@
  7534. -+host_cpu = @host_cpu@
  7535. -+host_os = @host_os@
  7536. -+host_vendor = @host_vendor@
  7537. -+htmldir = @htmldir@
  7538. -+includedir = @includedir@
  7539. -+infodir = @infodir@
  7540. -+install_sh = @install_sh@
  7541. -+libdir = @libdir@
  7542. -+libexecdir = @libexecdir@
  7543. -+localedir = @localedir@
  7544. -+localstatedir = @localstatedir@
  7545. -+logofile = @logofile@
  7546. -+lt_ECHO = @lt_ECHO@
  7547. -+mandir = @mandir@
  7548. -+mkdir_p = @mkdir_p@
  7549. -+oldincludedir = @oldincludedir@
  7550. -+pdfdir = @pdfdir@
  7551. -+plymouthclientdir = @plymouthclientdir@
  7552. -+plymouthdaemondir = @plymouthdaemondir@
  7553. -+prefix = @prefix@
  7554. -+program_transform_name = @program_transform_name@
  7555. -+psdir = @psdir@
  7556. -+sbindir = @sbindir@
  7557. -+sharedstatedir = @sharedstatedir@
  7558. -+srcdir = @srcdir@
  7559. -+sysconfdir = @sysconfdir@
  7560. -+target_alias = @target_alias@
  7561. -+top_build_prefix = @top_build_prefix@
  7562. -+top_builddir = @top_builddir@
  7563. -+top_srcdir = @top_srcdir@
  7564. -+themedir = $(datadir)/plymouth/themes/ubuntu-logo
  7565. -+nodist_theme_DATA = ubuntu-logo.plymouth
  7566. -+dist_theme_DATA = ubuntu-logo.script                                \
  7567. -+                    ubuntu_logo.png                                   \
  7568. -+                    ubuntu_logo16.png                                 \
  7569. -+                    password_field.png                                \
  7570. -+                    password_field16.png                              \
  7571. -+                    progress_dot_off.png                              \
  7572. -+                    progress_dot_off16.png                            \
  7573. -+                    progress_dot_on.png                               \
  7574. -+                    progress_dot_on16.png
  7575. -+
  7576. -+MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
  7577. -+CLEANFILES = ubuntu-logo.plymouth
  7578. -+EXTRA_DIST = ubuntu-logo.plymouth.in
  7579. -+all: all-am
  7580. +--- plymouth-0.8.2.orig/src/plugins/renderers/x11/Makefile.in
  7581. ++++ plymouth-0.8.2/src/plugins/renderers/x11/Makefile.in
  7582. +@@ -172,6 +172,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7583. + PACKAGE_NAME = @PACKAGE_NAME@
  7584. + PACKAGE_STRING = @PACKAGE_STRING@
  7585. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7586. ++PACKAGE_URL = @PACKAGE_URL@
  7587. + PACKAGE_VERSION = @PACKAGE_VERSION@
  7588. + PANGO_CFLAGS = @PANGO_CFLAGS@
  7589. + PANGO_LIBS = @PANGO_LIBS@
  7590. +--- plymouth-0.8.2.orig/src/plugins/renderers/frame-buffer/plugin.c
  7591. ++++ plymouth-0.8.2/src/plugins/renderers/frame-buffer/plugin.c
  7592. +@@ -56,7 +56,7 @@
  7593. + #include "ply-renderer-plugin.h"
  7594. +
  7595. + #ifndef PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME
  7596. +-#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb"
  7597. ++#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb0"
  7598. + #endif
  7599. +
  7600. + struct _ply_renderer_head
  7601. +@@ -646,6 +646,16 @@ get_buffer_for_head (ply_renderer_backen
  7602. +   return backend->head.pixel_buffer;
  7603. + }
  7604. +
  7605. ++static unsigned int
  7606. ++get_bits_per_pixel_for_head (ply_renderer_backend_t *backend,
  7607. ++                             ply_renderer_head_t    *head)
  7608. ++{
  7609. ++  if (head != &backend->head)
  7610. ++    return 0;
  7611.  +
  7612. -+.SUFFIXES:
  7613. -+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
  7614. -+      @for dep in $?; do \
  7615. -+        case '$(am__configure_deps)' in \
  7616. -+          *$$dep*) \
  7617. -+            ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
  7618. -+              && { if test -f $@; then exit 0; else break; fi; }; \
  7619. -+            exit 1;; \
  7620. -+        esac; \
  7621. -+      done; \
  7622. -+      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile'; \
  7623. -+      $(am__cd) $(top_srcdir) && \
  7624. -+        $(AUTOMAKE) --gnu themes/ubuntu-logo/Makefile
  7625. -+.PRECIOUS: Makefile
  7626. -+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  7627. -+      @case '$?' in \
  7628. -+        *config.status*) \
  7629. -+          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
  7630. -+        *) \
  7631. -+          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
  7632. -+          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
  7633. -+      esac;
  7634. ++  return backend->bytes_per_pixel * 8;
  7635. ++}
  7636.  +
  7637. -+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  7638. -+      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  7639. + static bool
  7640. + has_input_source (ply_renderer_backend_t      *backend,
  7641. +                   ply_renderer_input_source_t *input_source)
  7642. +@@ -739,6 +749,7 @@ ply_renderer_backend_get_interface (void
  7643. +       .flush_head = flush_head,
  7644. +       .get_heads = get_heads,
  7645. +       .get_buffer_for_head = get_buffer_for_head,
  7646. ++      .get_bits_per_pixel_for_head = get_bits_per_pixel_for_head,
  7647. +       .get_input_source = get_input_source,
  7648. +       .open_input_source = open_input_source,
  7649. +       .set_handler_for_input_source = set_handler_for_input_source,
  7650. +--- plymouth-0.8.2.orig/src/plugins/renderers/frame-buffer/Makefile.in
  7651. ++++ plymouth-0.8.2/src/plugins/renderers/frame-buffer/Makefile.in
  7652. +@@ -173,6 +173,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  7653. + PACKAGE_NAME = @PACKAGE_NAME@
  7654. + PACKAGE_STRING = @PACKAGE_STRING@
  7655. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  7656. ++PACKAGE_URL = @PACKAGE_URL@
  7657. + PACKAGE_VERSION = @PACKAGE_VERSION@
  7658. + PANGO_CFLAGS = @PANGO_CFLAGS@
  7659. + PANGO_LIBS = @PANGO_LIBS@
  7660. +--- /dev/null
  7661. ++++ plymouth-0.8.2/src/plugins/renderers/vga16fb/plugin.c
  7662. +@@ -0,0 +1,696 @@
  7663. ++/* plugin.c - vga16fb renderer plugin
  7664. ++ *
  7665. ++ * Copyright (C) 2010 Canonical Ltd.
  7666. ++ *               2006-2009 Red Hat, Inc.
  7667. ++ *               2008 Charlie Brej <cbrej@cs.man.ac.uk>
  7668. ++ *
  7669. ++ * This program is free software; you can redistribute it and/or modify
  7670. ++ * it under the terms of the GNU General Public License as published by
  7671. ++ * the Free Software Foundation; either version 2, or (at your option)
  7672. ++ * any later version.
  7673. ++ *
  7674. ++ * This program is distributed in the hope that it will be useful,
  7675. ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
  7676. ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  7677. ++ * GNU General Public License for more details.
  7678. ++ *
  7679. ++ * You should have received a copy of the GNU General Public License
  7680. ++ * along with this program; if not, write to the Free Software
  7681. ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  7682. ++ * 02111-1307, USA.
  7683. ++ *
  7684. ++ * Written by: Scott James Remnant <scott@ubuntu.com>
  7685. ++ *             Charlie Brej <cbrej@cs.man.ac.uk>
  7686. ++ *             Kristian Høgsberg <krh@redhat.com>
  7687. ++ *             Peter Jones <pjones@redhat.com>
  7688. ++ *             Ray Strode <rstrode@redhat.com>
  7689. ++ */
  7690. ++#include "config.h"
  7691.  +
  7692. -+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
  7693. -+      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  7694. -+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
  7695. -+      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  7696. -+$(am__aclocal_m4_deps):
  7697. ++#include <arpa/inet.h>
  7698. ++#include <assert.h>
  7699. ++#include <errno.h>
  7700. ++#include <fcntl.h>
  7701. ++#include <signal.h>
  7702. ++#include <string.h>
  7703. ++#include <stdbool.h>
  7704. ++#include <stdint.h>
  7705. ++#include <stdio.h>
  7706. ++#include <stdlib.h>
  7707. ++#include <sys/ioctl.h>
  7708. ++#include <sys/mman.h>
  7709. ++#include <sys/stat.h>
  7710. ++#include <sys/types.h>
  7711. ++#include <values.h>
  7712. ++#include <unistd.h>
  7713. ++#include <sys/io.h>
  7714.  +
  7715. -+mostlyclean-libtool:
  7716. -+      -rm -f *.lo
  7717. ++#include <linux/fb.h>
  7718.  +
  7719. -+clean-libtool:
  7720. -+      -rm -rf .libs _libs
  7721. -+install-dist_themeDATA: $(dist_theme_DATA)
  7722. -+      @$(NORMAL_INSTALL)
  7723. -+      test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
  7724. -+      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  7725. -+      for p in $$list; do \
  7726. -+        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  7727. -+        echo "$$d$$p"; \
  7728. -+      done | $(am__base_list) | \
  7729. -+      while read files; do \
  7730. -+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
  7731. -+        $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
  7732. -+      done
  7733. ++#include "ply-buffer.h"
  7734. ++#include "ply-event-loop.h"
  7735. ++#include "ply-list.h"
  7736. ++#include "ply-logger.h"
  7737. ++#include "ply-rectangle.h"
  7738. ++#include "ply-region.h"
  7739. ++#include "ply-terminal.h"
  7740.  +
  7741. -+uninstall-dist_themeDATA:
  7742. -+      @$(NORMAL_UNINSTALL)
  7743. -+      @list='$(dist_theme_DATA)'; test -n "$(themedir)" || list=; \
  7744. -+      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
  7745. -+      test -n "$$files" || exit 0; \
  7746. -+      echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
  7747. -+      cd "$(DESTDIR)$(themedir)" && rm -f $$files
  7748. -+install-nodist_themeDATA: $(nodist_theme_DATA)
  7749. -+      @$(NORMAL_INSTALL)
  7750. -+      test -z "$(themedir)" || $(MKDIR_P) "$(DESTDIR)$(themedir)"
  7751. -+      @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
  7752. -+      for p in $$list; do \
  7753. -+        if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
  7754. -+        echo "$$d$$p"; \
  7755. -+      done | $(am__base_list) | \
  7756. -+      while read files; do \
  7757. -+        echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(themedir)'"; \
  7758. -+        $(INSTALL_DATA) $$files "$(DESTDIR)$(themedir)" || exit $$?; \
  7759. -+      done
  7760. ++#include "ply-renderer.h"
  7761. ++#include "ply-renderer-plugin.h"
  7762.  +
  7763. -+uninstall-nodist_themeDATA:
  7764. -+      @$(NORMAL_UNINSTALL)
  7765. -+      @list='$(nodist_theme_DATA)'; test -n "$(themedir)" || list=; \
  7766. -+      files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
  7767. -+      test -n "$$files" || exit 0; \
  7768. -+      echo " ( cd '$(DESTDIR)$(themedir)' && rm -f" $$files ")"; \
  7769. -+      cd "$(DESTDIR)$(themedir)" && rm -f $$files
  7770. -+tags: TAGS
  7771. -+TAGS:
  7772. ++#include "vga.h"
  7773.  +
  7774. -+ctags: CTAGS
  7775. -+CTAGS:
  7776. ++#ifndef PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME
  7777. ++#define PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME "/dev/fb0"
  7778. ++#endif
  7779.  +
  7780. ++struct _ply_renderer_head
  7781. ++{
  7782. ++  ply_pixel_buffer_t *pixel_buffer;
  7783. ++  ply_rectangle_t area;
  7784. ++  char *map_address;
  7785. ++  size_t size;
  7786.  +
  7787. -+distdir: $(DISTFILES)
  7788. -+      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  7789. -+      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  7790. -+      list='$(DISTFILES)'; \
  7791. -+        dist_files=`for file in $$list; do echo $$file; done | \
  7792. -+        sed -e "s|^$$srcdirstrip/||;t" \
  7793. -+            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
  7794. -+      case $$dist_files in \
  7795. -+        */*) $(MKDIR_P) `echo "$$dist_files" | \
  7796. -+                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
  7797. -+                         sort -u` ;; \
  7798. -+      esac; \
  7799. -+      for file in $$dist_files; do \
  7800. -+        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  7801. -+        if test -d $$d/$$file; then \
  7802. -+          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
  7803. -+          if test -d "$(distdir)/$$file"; then \
  7804. -+            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  7805. -+          fi; \
  7806. -+          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  7807. -+            cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
  7808. -+            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  7809. -+          fi; \
  7810. -+          cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
  7811. -+        else \
  7812. -+          test -f "$(distdir)/$$file" \
  7813. -+          || cp -p $$d/$$file "$(distdir)/$$file" \
  7814. -+          || exit 1; \
  7815. -+        fi; \
  7816. -+      done
  7817. -+check-am: all-am
  7818. -+check: check-am
  7819. -+all-am: Makefile $(DATA)
  7820. -+installdirs:
  7821. -+      for dir in "$(DESTDIR)$(themedir)" "$(DESTDIR)$(themedir)"; do \
  7822. -+        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  7823. -+      done
  7824. -+install: install-am
  7825. -+install-exec: install-exec-am
  7826. -+install-data: install-data-am
  7827. -+uninstall: uninstall-am
  7828. ++  uint16_t red[16];
  7829. ++  uint16_t green[16];
  7830. ++  uint16_t blue[16];
  7831. ++  uint32_t palette_size;
  7832. ++  bool     palette_overflow;
  7833. ++};
  7834.  +
  7835. -+install-am: all-am
  7836. -+      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  7837. ++struct _ply_renderer_input_source
  7838. ++{
  7839. ++  ply_renderer_backend_t *backend;
  7840. ++  ply_fd_watch_t *terminal_input_watch;
  7841.  +
  7842. -+installcheck: installcheck-am
  7843. -+install-strip:
  7844. -+      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  7845. -+        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  7846. -+        `test -z '$(STRIP)' || \
  7847. -+          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
  7848. -+mostlyclean-generic:
  7849. ++  ply_buffer_t   *key_buffer;
  7850.  +
  7851. -+clean-generic:
  7852. -+      -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
  7853. ++  ply_renderer_input_source_handler_t handler;
  7854. ++  void           *user_data;
  7855. ++};
  7856.  +
  7857. -+distclean-generic:
  7858. -+      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
  7859. -+      -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
  7860. ++struct _ply_renderer_backend
  7861. ++{
  7862. ++  ply_event_loop_t *loop;
  7863. ++  ply_terminal_t *terminal;
  7864.  +
  7865. -+maintainer-clean-generic:
  7866. -+      @echo "This command is intended for maintainers to use"
  7867. -+      @echo "it deletes files that may require special tools to rebuild."
  7868. -+      -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
  7869. -+clean: clean-am
  7870. ++  char *device_name;
  7871. ++  int   device_fd;
  7872.  +
  7873. -+clean-am: clean-generic clean-libtool mostlyclean-am
  7874. ++  ply_renderer_input_source_t input_source;
  7875. ++  ply_renderer_head_t head;
  7876. ++  ply_list_t *heads;
  7877.  +
  7878. -+distclean: distclean-am
  7879. -+      -rm -f Makefile
  7880. -+distclean-am: clean-am distclean-generic
  7881. ++  unsigned int row_stride;
  7882. ++  unsigned int bits_per_pixel;
  7883.  +
  7884. -+dvi: dvi-am
  7885. ++  uint32_t is_active : 1;
  7886. ++};
  7887.  +
  7888. -+dvi-am:
  7889. ++ply_renderer_plugin_interface_t *ply_renderer_backend_get_interface (void);
  7890. ++static void ply_renderer_head_redraw (ply_renderer_backend_t *backend,
  7891. ++                                      ply_renderer_head_t    *head);
  7892. ++static bool open_input_source (ply_renderer_backend_t      *backend,
  7893. ++                               ply_renderer_input_source_t *input_source);
  7894.  +
  7895. -+html: html-am
  7896. ++static ply_renderer_backend_t *
  7897. ++create_backend (const char *device_name,
  7898. ++                ply_terminal_t *terminal)
  7899. ++{
  7900. ++  ply_renderer_backend_t *backend;
  7901.  +
  7902. -+html-am:
  7903. ++  backend = calloc (1, sizeof (ply_renderer_backend_t));
  7904.  +
  7905. -+info: info-am
  7906. ++  if (device_name != NULL)
  7907. ++    backend->device_name = strdup (device_name);
  7908. ++  else if (getenv ("FRAMEBUFFER") != NULL)
  7909. ++    backend->device_name = strdup (getenv ("FRAMEBUFFER"));
  7910. ++  else
  7911. ++    backend->device_name =
  7912. ++      strdup (PLY_FRAME_BUFFER_DEFAULT_FB_DEVICE_NAME);
  7913.  +
  7914. -+info-am:
  7915. ++  backend->loop = ply_event_loop_get_default ();
  7916. ++  backend->head.map_address = MAP_FAILED;
  7917. ++  backend->heads = ply_list_new ();
  7918. ++  backend->input_source.key_buffer = ply_buffer_new ();
  7919. ++  backend->terminal = terminal;
  7920.  +
  7921. -+install-data-am: install-dist_themeDATA install-nodist_themeDATA
  7922. ++  return backend;
  7923. ++}
  7924.  +
  7925. -+install-dvi: install-dvi-am
  7926. ++static void
  7927. ++initialize_head (ply_renderer_backend_t *backend,
  7928. ++                 ply_renderer_head_t    *head)
  7929. ++{
  7930. ++  head->pixel_buffer = ply_pixel_buffer_new (head->area.width,
  7931. ++                                             head->area.height);
  7932. ++  ply_pixel_buffer_fill_with_color (backend->head.pixel_buffer, NULL,
  7933. ++                                    0.0, 0.0, 0.0, 1.0);
  7934.  +
  7935. -+install-dvi-am:
  7936. ++  memset (head->red, 0, sizeof head->red);
  7937. ++  memset (head->green, 0, sizeof head->green);
  7938. ++  memset (head->blue, 0, sizeof head->blue);
  7939.  +
  7940. -+install-exec-am:
  7941. ++  head->palette_size = 0;
  7942. ++  head->palette_overflow = false;
  7943.  +
  7944. -+install-html: install-html-am
  7945. ++  ply_list_append_data (backend->heads, head);
  7946. ++}
  7947.  +
  7948. -+install-html-am:
  7949. ++static void
  7950. ++uninitialize_head (ply_renderer_backend_t *backend,
  7951. ++                   ply_renderer_head_t    *head)
  7952. ++{
  7953. ++  if (head->pixel_buffer != NULL)
  7954. ++    {
  7955. ++      ply_pixel_buffer_free (head->pixel_buffer);
  7956. ++      head->pixel_buffer = NULL;
  7957.  +
  7958. -+install-info: install-info-am
  7959. ++      ply_list_remove_data (backend->heads, head);
  7960. ++    }
  7961. ++}
  7962.  +
  7963. -+install-info-am:
  7964. ++static void
  7965. ++destroy_backend (ply_renderer_backend_t *backend)
  7966. ++{
  7967.  +
  7968. -+install-man:
  7969. ++  free (backend->device_name);
  7970. ++  uninitialize_head (backend, &backend->head);
  7971.  +
  7972. -+install-pdf: install-pdf-am
  7973. ++  ply_list_free (backend->heads);
  7974.  +
  7975. -+install-pdf-am:
  7976. ++  free (backend);
  7977. ++}
  7978.  +
  7979. -+install-ps: install-ps-am
  7980. ++static void
  7981. ++set_palette (ply_renderer_backend_t *backend,
  7982. ++             ply_renderer_head_t    *head)
  7983. ++{
  7984. ++  struct fb_cmap cmap;
  7985.  +
  7986. -+install-ps-am:
  7987. ++  if (backend->device_fd < 0)
  7988. ++    return;
  7989. ++  if (!head->palette_size)
  7990. ++    return;
  7991.  +
  7992. -+installcheck-am:
  7993. ++  cmap.start = 0;
  7994. ++  cmap.len = head->palette_size;;
  7995. ++  cmap.red = head->red;
  7996. ++  cmap.green = head->green;
  7997. ++  cmap.blue = head->blue;
  7998. ++  cmap.transp = NULL;
  7999.  +
  8000. -+maintainer-clean: maintainer-clean-am
  8001. -+      -rm -f Makefile
  8002. -+maintainer-clean-am: distclean-am maintainer-clean-generic
  8003. ++  ioctl (backend->device_fd, FBIOPUTCMAP, &cmap);
  8004. ++}
  8005.  +
  8006. -+mostlyclean: mostlyclean-am
  8007. ++static void
  8008. ++activate (ply_renderer_backend_t *backend)
  8009. ++{
  8010. ++  backend->is_active = true;
  8011.  +
  8012. -+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
  8013. ++  if (backend->head.map_address != MAP_FAILED)
  8014. ++    ply_renderer_head_redraw (backend, &backend->head);
  8015. ++}
  8016.  +
  8017. -+pdf: pdf-am
  8018. ++static void
  8019. ++deactivate (ply_renderer_backend_t *backend)
  8020. ++{
  8021. ++  backend->is_active = false;
  8022. ++}
  8023.  +
  8024. -+pdf-am:
  8025. ++static void
  8026. ++on_active_vt_changed (ply_renderer_backend_t *backend)
  8027. ++{
  8028. ++  if (ply_terminal_is_active (backend->terminal))
  8029. ++    {
  8030. ++      activate (backend);
  8031. ++    }
  8032. ++  else
  8033. ++    {
  8034. ++      deactivate (backend);
  8035. ++    }
  8036. ++}
  8037.  +
  8038. -+ps: ps-am
  8039. ++static bool
  8040. ++open_device (ply_renderer_backend_t *backend)
  8041. ++{
  8042. ++  backend->device_fd = open (backend->device_name, O_RDWR);
  8043.  +
  8044. -+ps-am:
  8045. ++  if (backend->device_fd < 0)
  8046. ++    {
  8047. ++      ply_trace ("could not open '%s': %m", backend->device_name);
  8048. ++      return false;
  8049. ++    }
  8050.  +
  8051. -+uninstall-am: uninstall-dist_themeDATA uninstall-nodist_themeDATA
  8052. ++  if (!ply_terminal_open (backend->terminal))
  8053. ++    {
  8054. ++      ply_trace ("could not open terminal: %m");
  8055. ++      return false;
  8056. ++    }
  8057.  +
  8058. -+.MAKE: install-am install-strip
  8059. ++  if (!ply_terminal_is_vt (backend->terminal))
  8060. ++    {
  8061. ++      ply_trace ("terminal is not a VT");
  8062. ++      ply_terminal_close (backend->terminal);
  8063. ++      return false;
  8064. ++    }
  8065.  +
  8066. -+.PHONY: all all-am check check-am clean clean-generic clean-libtool \
  8067. -+      distclean distclean-generic distclean-libtool distdir dvi \
  8068. -+      dvi-am html html-am info info-am install install-am \
  8069. -+      install-data install-data-am install-dist_themeDATA \
  8070. -+      install-dvi install-dvi-am install-exec install-exec-am \
  8071. -+      install-html install-html-am install-info install-info-am \
  8072. -+      install-man install-nodist_themeDATA install-pdf \
  8073. -+      install-pdf-am install-ps install-ps-am install-strip \
  8074. -+      installcheck installcheck-am installdirs maintainer-clean \
  8075. -+      maintainer-clean-generic mostlyclean mostlyclean-generic \
  8076. -+      mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
  8077. -+      uninstall-dist_themeDATA uninstall-nodist_themeDATA
  8078. ++  ply_terminal_watch_for_active_vt_change (backend->terminal,
  8079. ++                                           (ply_terminal_active_vt_changed_handler_t)
  8080. ++                                           on_active_vt_changed,
  8081. ++                                           backend);
  8082.  +
  8083. ++  return true;
  8084. ++}
  8085.  +
  8086. -+ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
  8087. -+      sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
  8088. -+             $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
  8089. ++static void
  8090. ++close_device (ply_renderer_backend_t *backend)
  8091. ++{
  8092.  +
  8093. -+# Tell versions [3.59,3.63) of GNU make to not export all variables.
  8094. -+# Otherwise a system limit (for SysV at least) may be exceeded.
  8095. -+.NOEXPORT:
  8096. ---- /dev/null
  8097. -+++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.plymouth.in
  8098. -@@ -0,0 +1,8 @@
  8099. -+[Plymouth Theme]
  8100. -+Name=Ubuntu Logo
  8101. -+Description=A theme that features a blank background with a logo.
  8102. -+ModuleName=script
  8103. ++  ply_terminal_stop_watching_for_active_vt_change (backend->terminal,
  8104. ++                                                   (ply_terminal_active_vt_changed_handler_t)
  8105. ++                                                   on_active_vt_changed,
  8106. ++                                                   backend);
  8107. ++  uninitialize_head (backend, &backend->head);
  8108.  +
  8109. -+[script]
  8110. -+ImageDir=@PLYMOUTH_THEME_PATH@/ubuntu-logo
  8111. -+ScriptFile=@PLYMOUTH_THEME_PATH@/ubuntu-logo/ubuntu-logo.script
  8112. ---- /dev/null
  8113. -+++ plymouth-0.8.2/themes/ubuntu-logo/ubuntu-logo.script
  8114. -@@ -0,0 +1,1058 @@
  8115. -+#  ubuntu-logo.script - boot splash plugin
  8116. -+#
  8117. -+#  Copyright (C) 2009 Canonical Ltd.
  8118. -+#
  8119. -+#  This program is free software; you can redistribute it and/or modify
  8120. -+#  it under the terms of the GNU General Public License as published by
  8121. -+#  the Free Software Foundation; either version 2, or (at your option)
  8122. -+#  any later version.
  8123. -+#
  8124. -+#  This program is distributed in the hope that it will be useful,
  8125. -+#  but WITHOUT ANY WARRANTY; without even the implied warranty of
  8126. -+#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  8127. -+#  GNU General Public License for more details.
  8128. -+#
  8129. -+#  You should have received a copy of the GNU General Public License
  8130. -+#  along with this program; if not, write to the Free Software
  8131. -+#  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  8132. -+#  02111-1307, USA.
  8133. -+#
  8134. -+#  Written by: Alberto Milone <alberto.milone@canonical.com>
  8135. -+#
  8136. -+#  Based on the example provided with the "script plugin" written by:
  8137. -+#              Charlie Brej   <cbrej@cs.man.ac.uk>
  8138. -+#
  8139. ++  close (backend->device_fd);
  8140. ++  backend->device_fd = -1;
  8141. ++
  8142. ++  backend->head.area.x = 0;
  8143. ++  backend->head.area.y = 0;
  8144. ++  backend->head.area.width = 0;
  8145. ++  backend->head.area.height = 0;
  8146. ++}
  8147.  +
  8148. -+# Set the text colour in (rgb / 256)
  8149. -+text_colour.red = 1.0;
  8150. -+text_colour.green = 1.0;
  8151. -+text_colour.blue = 1.0;
  8152. ++static bool
  8153. ++query_device (ply_renderer_backend_t *backend)
  8154. ++{
  8155. ++  struct fb_var_screeninfo variable_screen_info;
  8156. ++  struct fb_fix_screeninfo fixed_screen_info;
  8157.  +
  8158. -+# Tinted text #988592
  8159. -+tinted_text_colour.red = 0.59;
  8160. -+tinted_text_colour.green = 0.52;
  8161. -+tinted_text_colour.blue = 0.57;
  8162. ++  assert (backend != NULL);
  8163. ++  assert (backend->device_fd >= 0);
  8164.  +
  8165. -+# Action Text - #ffffff - RGB 255 255 255
  8166. -+action_text_colour.red = 1.0;
  8167. -+action_text_colour.green = 1.0;
  8168. -+action_text_colour.blue = 1.0;
  8169. ++  if (ioctl (backend->device_fd, FBIOGET_VSCREENINFO, &variable_screen_info) < 0)
  8170. ++    return false;
  8171.  +
  8172. -+# Orange - #ff4012 - RGB 255 64 18
  8173. -+debugsprite = Sprite();
  8174. -+debugsprite_bottom = Sprite();
  8175. -+debugsprite_medium = Sprite();
  8176. ++  if (ioctl (backend->device_fd, FBIOGET_FSCREENINFO, &fixed_screen_info) < 0)
  8177. ++    return false;
  8178.  +
  8179. -+# are we currently prompting for a password?
  8180. -+prompt_active = 0;
  8181. ++  /* We only support the vga16fb with its own kooky planar colour mode. */
  8182. ++  if ((fixed_screen_info.type != FB_TYPE_VGA_PLANES)
  8183. ++      || (fixed_screen_info.type_aux != FB_AUX_VGA_PLANES_VGA4)
  8184. ++      || (fixed_screen_info.visual != FB_VISUAL_PSEUDOCOLOR)
  8185. ++      || (variable_screen_info.bits_per_pixel != 4))
  8186. ++    {
  8187. ++      ply_trace ("Doesn't look like vga16fb\n");
  8188. ++      return false;
  8189. ++    }
  8190.  +
  8191. -+# General purpose function to create text
  8192. -+fun WriteText (text, colour) {
  8193. -+    image = Image.Text (text, colour.red, colour.green, colour.blue);
  8194. -+    return image;
  8195. -+}
  8196. ++  backend->head.area.x = variable_screen_info.xoffset;
  8197. ++  backend->head.area.y = variable_screen_info.yoffset;
  8198. ++  backend->head.area.width = variable_screen_info.xres;
  8199. ++  backend->head.area.height = variable_screen_info.yres;
  8200.  +
  8201. -+fun ImageToText (text) {
  8202. -+    image = WriteText (text, text_colour);
  8203. -+    return image;
  8204. -+}
  8205. ++  backend->row_stride = fixed_screen_info.line_length;
  8206. ++  backend->bits_per_pixel = variable_screen_info.bits_per_pixel;
  8207. ++  backend->head.size = backend->head.area.height * backend->row_stride;
  8208.  +
  8209. -+fun ImageToTintedText (text) {
  8210. -+    image = WriteText (text, tinted_text_colour);
  8211. -+    return image;
  8212. -+}
  8213. ++  initialize_head (backend, &backend->head);
  8214.  +
  8215. -+fun ImageToActionText (text) {
  8216. -+    image = WriteText (text, action_text_colour);
  8217. -+    return image;
  8218. -+}
  8219. ++  return true;
  8220.  +
  8221. -+fun Debug(text) {
  8222. -+    debugsprite.SetImage(ImageToText (text));
  8223.  +}
  8224.  +
  8225. -+fun DebugBottom(text) {
  8226. -+    debugsprite_bottom.SetImage(ImageToText (text));
  8227. -+    debugsprite_bottom.SetPosition(0, (Window.GetHeight (0) - 20), 1);
  8228. ++static bool
  8229. ++map_to_device (ply_renderer_backend_t *backend)
  8230. ++{
  8231. ++  ply_renderer_head_t *head;
  8232. ++
  8233. ++  assert (backend != NULL);
  8234. ++  assert (backend->device_fd >= 0);
  8235. ++
  8236. ++  head = &backend->head;
  8237. ++  assert (head->size > 0);
  8238. ++
  8239. ++  if (ioperm (VGA_REGS_BASE, VGA_REGS_LEN, 1) < 0) {
  8240. ++    ply_trace ("could not obtain permission to write to VGA regs: %m");
  8241. ++    return false;
  8242. ++  }
  8243. ++
  8244. ++  head->map_address = mmap (NULL, head->size, PROT_WRITE,
  8245. ++                            MAP_SHARED, backend->device_fd, 0);
  8246. ++
  8247. ++  if (head->map_address == MAP_FAILED) {
  8248. ++    ply_trace ("could not map VGA memory: %m");
  8249. ++    return false;
  8250. ++  }
  8251. ++
  8252. ++  if (ply_terminal_is_active (backend->terminal))
  8253. ++      activate (backend);
  8254. ++  else
  8255. ++      ply_terminal_activate_vt (backend->terminal);
  8256. ++
  8257. ++  return true;
  8258.  +}
  8259.  +
  8260. -+fun DebugMedium(text) {
  8261. -+    debugsprite_medium.SetImage(ImageToText (text));
  8262. -+    debugsprite_medium.SetPosition(0, (Window.GetHeight (0) - 60), 1);
  8263. ++static void
  8264. ++unmap_from_device (ply_renderer_backend_t *backend)
  8265. ++{
  8266. ++  ply_renderer_head_t *head;
  8267. ++
  8268. ++  head = &backend->head;
  8269. ++
  8270. ++  if (head->map_address != MAP_FAILED)
  8271. ++    {
  8272. ++      munmap (head->map_address, head->size);
  8273. ++      head->map_address = MAP_FAILED;
  8274. ++    }
  8275.  +}
  8276.  +
  8277. -+fun TextYOffset() {
  8278. -+    local.y;
  8279. -+    local.text_height;
  8280. -+    local.min_height;
  8281. ++static unsigned int
  8282. ++argb32_pixel_value_to_color_index (ply_renderer_backend_t *backend,
  8283. ++                                   ply_renderer_head_t    *head,
  8284. ++                                   uint32_t                pixel_value)
  8285. ++{
  8286. ++  uint16_t red, green, blue;
  8287. ++  unsigned int min_shift, max_shift, shift, index;
  8288.  +
  8289. -+    # Put the 1st line below the logo + some spacing
  8290. -+    y = logo.y + logo.height + (progress_indicator.bullet_height * 7 ); # + logo_spacing;
  8291. ++  red = (pixel_value >> 16) & 0xff;
  8292. ++  green = (pixel_value >> 8) & 0xff;
  8293. ++  blue = pixel_value & 0xff;
  8294.  +
  8295. -+    text_height = first_line_height * 7.5;
  8296. ++  /* The 6 here is entirely arbitrary; that means we keep the top two bits
  8297. ++   * of each colour when comparing against existing colors in the palette;
  8298. ++   * in theory meaning a maximum of 64 -- that's still too many, so we
  8299. ++   * then try again with 7 bits and a maximum of 8 -- in between those two
  8300. ++   * is the 16 we actually have room for.
  8301. ++   */
  8302. ++  if (head->palette_overflow)
  8303. ++    {
  8304. ++      min_shift = 6;
  8305. ++      max_shift = 8;
  8306. ++    }
  8307. ++  else
  8308. ++    {
  8309. ++      min_shift = 0;
  8310. ++      max_shift = 1;
  8311. ++    }
  8312.  +
  8313. -+    min_height = Window.GetHeight();
  8314. -+    if (y + text_height > min_height)
  8315. -+        y = min_height - text_height;
  8316. ++  for (shift = min_shift; shift < max_shift; shift++)
  8317. ++    {
  8318. ++      for (index = 0; index < head->palette_size; index++)
  8319. ++        if (   ((head->red[index] >> (8 + shift)) == (red >> shift))
  8320. ++            && ((head->green[index] >> (8 + shift)) == (green >> shift))
  8321. ++            && ((head->blue[index] >> (8 + shift)) == (blue >> shift)))
  8322. ++          return index;
  8323.  +
  8324. -+    if (y < progress_indicator.y + progress_indicator.height)
  8325. -+        return progress_indicator.y + progress_indicator.height;
  8326. -+    return y;
  8327. -+}
  8328. ++      if (head->palette_size < 16)
  8329. ++        {
  8330. ++          index = head->palette_size++;
  8331.  +
  8332. -+#------------------------------String functions-------------------------------
  8333. ++          head->red[index] = red << 8;
  8334. ++          head->green[index] = green << 8;
  8335. ++          head->blue[index] = blue << 8;
  8336.  +
  8337. -+# This is the equivalent for strstr()
  8338. -+fun StringString(string, substring) {
  8339. -+    start = 0;
  8340. -+    while (String(string).CharAt (start)) {
  8341. -+        walk = 0;
  8342. -+        while (String(substring).CharAt (walk) == String(string).CharAt (start + walk) ) {
  8343. -+            walk++;
  8344. -+            if (!String(substring).CharAt (walk)) return start;
  8345. ++          set_palette (backend, head);
  8346. ++          ply_trace ("palette now has %d colours (added %06x)\n",
  8347. ++                     head->palette_size, pixel_value & 0xffffff);
  8348. ++
  8349. ++          return index;
  8350.  +        }
  8351. -+        start++;
  8352.  +    }
  8353. -+    
  8354. -+    return NULL;
  8355. -+}
  8356.  +
  8357. -+fun StringLength (string) {
  8358. -+    index = 0;
  8359. -+    while (String(string).CharAt(index)) index++;
  8360. -+    return index;
  8361. -+}
  8362. ++  ply_trace ("could not find colour in palette for %06x\n",
  8363. ++             pixel_value & 0xffffff);
  8364.  +
  8365. -+fun StringCopy (source, beginning, end) {
  8366. -+    local.destination = "";
  8367. -+    for (index = beginning; ( ( (end == NULL) || (index <= end) ) && (String(source).CharAt(index)) ); index++) {
  8368. -+        local.destination += String(source).CharAt(index);
  8369. ++  if (!head->palette_overflow)
  8370. ++    {
  8371. ++      head->palette_overflow = true;
  8372.  +    }
  8373. -+    
  8374. -+    return local.destination;
  8375. ++
  8376. ++  /* Didn't find a colour, so just return the last
  8377. ++   * (first is probably background colour so a bad choice)
  8378. ++   */
  8379. ++  return head->palette_size - 1;;
  8380.  +}
  8381.  +
  8382. -+fun StringReplace (source, pattern, replacement) {
  8383. -+    local.found = StringString(source, pattern);
  8384. -+    if (local.found == NULL)
  8385. -+        return source;
  8386. ++static void
  8387. ++flush_area (ply_renderer_backend_t *backend,
  8388. ++            ply_renderer_head_t    *head,
  8389. ++            ply_rectangle_t        *area_to_flush)
  8390. ++{
  8391. ++  unsigned char *mask;
  8392. ++  uint32_t *shadow_buffer;
  8393. ++  unsigned long x1, x2, y1, y2, x, y;
  8394. ++  unsigned int c, b;
  8395.  +
  8396. -+    local.new_string = StringCopy (source, 0, local.found - 1) +
  8397. -+                       replacement +
  8398. -+                       StringCopy (source, local.found + StringLength(pattern), NULL);
  8399. ++  mask = malloc (backend->row_stride * 16);
  8400. ++
  8401. ++  shadow_buffer = ply_pixel_buffer_get_argb32_data (backend->head.pixel_buffer);
  8402. ++
  8403. ++  x1 = area_to_flush->x;
  8404. ++  y1 = area_to_flush->y;
  8405. ++  x2 = x1 + area_to_flush->width;
  8406. ++  y2 = y1 + area_to_flush->height;
  8407. ++
  8408. ++  for (y = y1; y < y2; y++)
  8409. ++    {
  8410. ++      memset (mask, 0, backend->row_stride * 16);
  8411. ++
  8412. ++      for (x = x1; x < x2; x++)
  8413. ++        {
  8414. ++          unsigned int index;
  8415. ++          uint32_t pixel;
  8416. ++
  8417. ++          pixel = shadow_buffer[x + y * head->area.width];
  8418. ++          index = argb32_pixel_value_to_color_index (backend, head, pixel);
  8419. ++
  8420. ++          mask[index * backend->row_stride + x / 8] |= (0x80 >> (x % 8));
  8421. ++        }
  8422. ++
  8423. ++      for (c = 0; c < 16; c++)
  8424. ++        {
  8425. ++          for (b = x1 / 8; b < x2 / 8 + 1; b++)
  8426. ++            {
  8427. ++              char *p;
  8428. ++
  8429. ++              if (!mask[c * backend->row_stride + b])
  8430. ++                continue;
  8431.  +
  8432. -+    return local.new_string;
  8433. -+}
  8434. ++              vga_set_reset (c);
  8435. ++              vga_bit_mask (mask[c * backend->row_stride + b]);
  8436.  +
  8437. -+# it makes sense to use it only for
  8438. -+# numbers up to 100
  8439. -+fun StringToInteger (str) {
  8440. -+    int = -1;
  8441. -+    for (i=0; i<=100; i++) {
  8442. -+        if (i+"" == str) {
  8443. -+            int = i;
  8444. -+            break;
  8445. ++              p = head->map_address + y * backend->row_stride + b;
  8446. ++              *p |= 1;
  8447. ++            }
  8448.  +        }
  8449.  +    }
  8450. -+    return int;
  8451. ++
  8452. ++  free (mask);
  8453.  +}
  8454.  +
  8455. -+#-----------------------------------------------------------------------------
  8456. -+# Previous background colour
  8457. -+# #300a24 --> 0.19, 0.04, 0.14
  8458. -+# New background colour
  8459. -+# #2c001e --> 0.16, 0.00, 0.12
  8460. -+#
  8461. -+Window.SetBackgroundTopColor (0.16, 0.00, 0.12);     # Nice colour on top of the screen fading to
  8462. -+Window.SetBackgroundBottomColor (0.16, 0.00, 0.12);  # an equally nice colour on the bottom
  8463. ++static void
  8464. ++flush_head (ply_renderer_backend_t *backend,
  8465. ++            ply_renderer_head_t    *head)
  8466. ++{
  8467. ++  ply_region_t *updated_region;
  8468. ++  ply_list_t *areas_to_flush;
  8469. ++  ply_list_node_t *node;
  8470. ++  ply_pixel_buffer_t *pixel_buffer;
  8471. ++  bool was_overflowed;
  8472.  +
  8473. -+bits_per_pixel = Window.GetBitsPerPixel ();
  8474. -+if (bits_per_pixel == 4) {
  8475. -+    logo_filename = "ubuntu_logo16.png";
  8476. -+    progress_dot_off_filename = "progress_dot_off16.png";
  8477. -+    progress_dot_on_filename = "progress_dot_on16.png";
  8478. -+    password_field_filename = "password_field16.png";
  8479. -+} else {
  8480. -+    logo_filename = "ubuntu_logo.png";
  8481. -+    progress_dot_off_filename = "progress_dot_off.png";
  8482. -+    progress_dot_on_filename = "progress_dot_on.png";
  8483. -+    password_field_filename = "password_field.png";
  8484. -+}
  8485. ++  assert (backend != NULL);
  8486. ++  assert (&backend->head == head);
  8487.  +
  8488. -+logo.image = Image (logo_filename);
  8489. -+logo.sprite = Sprite ();
  8490. -+logo.sprite.SetImage (logo.image);
  8491. -+logo.width = logo.image.GetWidth ();
  8492. -+logo.height = logo.image.GetHeight ();
  8493. -+logo.x = Window.GetX () + Window.GetWidth () / 2 - logo.width  / 2;
  8494. -+logo.y = Window.GetY () + Window.GetHeight () / 2 - logo.height;
  8495. -+logo.z = 1000;
  8496. -+logo.sprite.SetX (logo.x);
  8497. -+logo.sprite.SetY (logo.y);
  8498. -+logo.sprite.SetZ (logo.z);
  8499. -+logo.sprite.SetOpacity (1);
  8500. ++  if (!backend->is_active)
  8501. ++    return;
  8502.  +
  8503. -+# Spacing below the logo - in pixels
  8504. -+logo_spacing = logo.height * 4;
  8505. ++  ply_terminal_set_mode (backend->terminal, PLY_TERMINAL_MODE_GRAPHICS);
  8506. ++  ply_terminal_set_unbuffered_input (backend->terminal);
  8507.  +
  8508. -+message_notification[0].image = ImageToTintedText ("");
  8509. -+message_notification[1].image = ImageToTintedText ("");
  8510. -+fsck_notification.image = ImageToActionText ("");
  8511. ++  /* Reset to basic values; enable use of the Set/Reset register for all
  8512. ++   * planes.
  8513. ++   */
  8514. ++  vga_enable_set_reset (0xf);
  8515. ++  vga_mode (0);
  8516. ++  vga_data_rotate (0);
  8517. ++  vga_map_mask (0xff);
  8518.  +
  8519. -+status = "normal";
  8520. ++  was_overflowed = backend->head.palette_overflow;
  8521. ++  set_palette (backend, &backend->head);
  8522.  +
  8523. -+progress_indicator.bullet_off = Image (progress_dot_off_filename);
  8524. -+progress_indicator.bullet_on = Image (progress_dot_on_filename);
  8525. -+progress_indicator.bullet_width = progress_indicator.bullet_off.GetWidth ();
  8526. -+progress_indicator.bullet_height = progress_indicator.bullet_off.GetHeight ();
  8527. -+progress_indicator.bullet_hspacing = progress_indicator.bullet_width * 1.1;
  8528. -+progress_indicator.width = progress_indicator.bullet_width * 5;
  8529. -+progress_indicator.height = progress_indicator.bullet_height;
  8530. -+progress_indicator.y = logo.y + logo.height + (logo.height / 4);
  8531. -+progress_indicator.x = Window.GetX () + Window.GetWidth () / 2 - progress_indicator.width / 2; # logo.x + 26;
  8532. ++  pixel_buffer = head->pixel_buffer;
  8533. ++  updated_region = ply_pixel_buffer_get_updated_areas (pixel_buffer);
  8534. ++  areas_to_flush = ply_region_get_sorted_rectangle_list (updated_region);
  8535.  +
  8536. -+# use a fixed string with ascending and descending stems to calibrate the
  8537. -+# bounding box for the first message, so the messages below don't move up
  8538. -+# and down according to *their* height.
  8539. -+first_line_height = ImageToTintedText ("AfpqtM").GetHeight();
  8540. ++  node = ply_list_get_first_node (areas_to_flush);
  8541. ++  while (node != NULL)
  8542. ++    {
  8543. ++      ply_list_node_t *next_node;
  8544. ++      ply_rectangle_t *area_to_flush;
  8545.  +
  8546. -+# if the user has a 640x480 or 800x600 display, we can't quite fit everything
  8547. -+# (including passphrase prompts) with the target spacing, so scoot the text up
  8548. -+# a bit if needed.
  8549. -+top_of_the_text = TextYOffset();
  8550. ++      area_to_flush = (ply_rectangle_t *) ply_list_node_get_data (node);
  8551.  +
  8552. -+#-----------------------------------------Logo functions------------------------------
  8553. ++      next_node = ply_list_get_next_node (areas_to_flush, node);
  8554.  +
  8555. -+# Call this when updating the screen
  8556. -+fun draw_logo () {
  8557. -+    logo.sprite.SetX (logo.x);
  8558. -+    logo.sprite.SetY (logo.y);
  8559. -+    logo.sprite.SetZ (logo.z);
  8560. -+    logo.sprite.SetOpacity (1);
  8561. -+}
  8562. ++      flush_area (backend, head, area_to_flush);
  8563.  +
  8564. ++      node = next_node;
  8565. ++    }
  8566.  +
  8567. -+#-----------------------------------------Progress Indicator--------------------------
  8568. -+fun set_progress_indicator () {
  8569. -+    
  8570. -+    
  8571. -+    # Here we assume that we can store half bullets on each half of the screen
  8572. -+    # together with some spacing
  8573. -+    local.x = progress_indicator.x;
  8574. -+    
  8575. -+    for (index = 0; index <= 4; index++) {
  8576. -+        # Set the "off" bullets
  8577. -+        progress_indicator.bullets_off[index].sprite = Sprite (progress_indicator.bullet_off);
  8578. -+        progress_indicator.bullets_off[index].sprite.SetPosition (local.x, progress_indicator.y, 1000);
  8579. -+        progress_indicator.bullets_off[index].x = local.x;
  8580. -+        progress_indicator.bullets_off[index].y = progress_indicator.y;
  8581. -+        progress_indicator.bullets_off[index].sprite.SetOpacity (1);
  8582. -+        
  8583. -+        #local.debug_medium_string = "Progress indicator " + index + ": x = " + progress_indicator.bullets_off[index].x +
  8584. -+        #                  ", y = " + progress_indicator.bullets_off[index].y  + ", logo width = " + logo.width +
  8585. -+        #                  ", logo height = " + logo.height + " " + screen_width + " " + screen_height;
  8586. -+        #  
  8587. -+        #(index % 2) && DebugMedium (local.debug_medium_string) || DebugBottom (local.debug_medium_string);
  8588. ++  ply_region_clear (updated_region);
  8589.  +
  8590. -+        # Set the "on" bullets on top of the "off" bullets and make them transparent
  8591. -+        progress_indicator.bullets_on[index].sprite = Sprite (progress_indicator.bullet_on);
  8592. -+        progress_indicator.bullets_on[index].x = progress_indicator.bullets_off[index].x;
  8593. -+        progress_indicator.bullets_on[index].y = progress_indicator.bullets_off[index].y;
  8594. -+        progress_indicator.bullets_on[index].sprite.SetPosition (progress_indicator.bullets_on[index].x, progress_indicator.bullets_on[index].y, 10000);
  8595. ++  /* If the palette overflowed, render the screen again with a new palette */
  8596. ++  if ((!was_overflowed) && head->palette_overflow)
  8597. ++    {
  8598. ++      ply_trace ("palette overflowed, redrawing entire screen with new palette");
  8599.  +
  8600. -+        progress_indicator.bullets_on[index].sprite.SetOpacity (0);
  8601. -+        
  8602. -+        local.x += progress_indicator.bullet_hspacing;
  8603. ++      head->palette_size = 0;
  8604. ++      ply_renderer_head_redraw (backend, head);
  8605.  +    }
  8606. -+    #local.debug_string = "Progress indicator: x1 = " + progress_indicator.x + ", x2 = " + local.x + ", y = " + progress_indicator.y +
  8607. -+    #                      ", x logo = " + logo.x + ", y logo = " + logo.y + ", indicator width = " + progress_indicator.width;
  8608. -+    #Debug(progress_indicator.bullets_off[0].x);
  8609.  +}
  8610.  +
  8611. ++static void
  8612. ++ply_renderer_head_redraw (ply_renderer_backend_t *backend,
  8613. ++                          ply_renderer_head_t    *head)
  8614. ++{
  8615. ++  ply_region_t *region;
  8616.  +
  8617. -+# We have 2 bullets, one on top of the other:
  8618. -+# The white one is on top of the red one and the former should
  8619. -+# slowly fade so as to get a nice transition effect.
  8620. -+fun switch_on_bullet (bullets_off, bullets_on, bullet_number, opacity) {
  8621. -+    local.x = bullets_on[bullet_number].x;
  8622. -+    local.y = bullets_on[bullet_number].y;
  8623. -+    local.z = bullets_on[bullet_number].z;
  8624. -+    
  8625. -+    # Hide the bullets which are off
  8626. -+    bullets_off[bullet_number].sprite.SetOpacity (0);
  8627. -+    
  8628. -+    # Show the bullets which are on
  8629. -+    bullets_on[bullet_number].sprite.SetPosition (local.x, local.y, local.z);
  8630. -+    bullets_on[bullet_number].sprite.SetOpacity (opacity);
  8631. -+    
  8632. -+    # Bump the number of times we have switched on bullets
  8633. -+    global.times_bullets_switched++;
  8634. -+}
  8635. -+
  8636. -+fun switch_off_bullets () {
  8637. -+    # Debug("Switching off progress indicator");
  8638. -+    
  8639. -+    set_progress_indicator ();
  8640. -+    global.times_bullets_switched = 0;
  8641. -+    global.on_off = 1;
  8642. -+}
  8643. ++  region = ply_pixel_buffer_get_updated_areas (head->pixel_buffer);
  8644.  +
  8645. -+# This is something that we can call when we exit
  8646. -+fun switch_on_bullets () {
  8647. -+    # Debug("Switching off progress indicator");
  8648. -+    if (!global.progress_indicator.bullets_on) set_progress_indicator ();
  8649. -+    local = global.progress_indicator;
  8650. ++  ply_region_add_rectangle (region, &head->area);
  8651.  +
  8652. -+    for (index = 0; bullets_on[index]; index++) {
  8653. -+        switch_on_bullet (bullets_off, bullets_on, index, 1.0);
  8654. -+    }
  8655. ++  flush_head (backend, head);
  8656.  +}
  8657.  +
  8658. ++static ply_list_t *
  8659. ++get_heads (ply_renderer_backend_t *backend)
  8660. ++{
  8661. ++  return backend->heads;
  8662. ++}
  8663.  +
  8664. -+# Implement in boot progress callback
  8665. -+fun animate_progress_indicator (progress, time) {
  8666. -+    if (global.progress_time == NULL) {
  8667. -+        global.progress_time = progress;  #time;
  8668. -+        switch_off_bullets ();
  8669. -+    }
  8670. -+
  8671. -+#    Debug ("progress = " + progress + ", time = " + time + " times switched = " + global.times_bullets_switched + " on_off " + global.on_off);
  8672. ++static ply_pixel_buffer_t *
  8673. ++get_buffer_for_head (ply_renderer_backend_t *backend,
  8674. ++                     ply_renderer_head_t    *head)
  8675. ++{
  8676.  +
  8677. -+#    if (global.times_bullets_switched == NULL)
  8678. -+#        global.times_bullets_switched = 5;
  8679. ++  if (head != &backend->head)
  8680. ++    return NULL;
  8681.  +
  8682. -+#    if (global.on_off == NULL)
  8683. -+#        global.on_off = 0;
  8684. ++  return backend->head.pixel_buffer;
  8685. ++}
  8686.  +
  8687. -+    if ((progress - global.progress_time) >= 1.0) {
  8688. -+        global.progress_time = progress;
  8689. -+        
  8690. -+        if (global.times_bullets_switched == 5) {
  8691. -+            # Change which bullets are switched on
  8692. -+            # and which ones are switched off
  8693. -+            global.on_off = !global.on_off;
  8694. -+            global.times_bullets_switched = 0;
  8695. -+        }
  8696. -+        
  8697. -+        if (global.on_off) {
  8698. -+            switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
  8699. -+                              global.times_bullets_switched, 1.0);
  8700. -+        }
  8701. -+        else {
  8702. -+            switch_on_bullet (progress_indicator.bullets_on, progress_indicator.bullets_off,
  8703. -+                              global.times_bullets_switched, 1.0);
  8704. -+        }
  8705. -+    }
  8706. -+    
  8707. -+    
  8708. -+    # Start setting bullets to "on" with translucency
  8709. -+#    for (index = 0; index <= 5; index++) {
  8710. -+#        opacity = 0.0;
  8711. -+#        while (opacity <= 1.0) {
  8712. -+#            switch_on_bullet (progress_indicator.bullets_off, progress_indicator.bullets_on,
  8713. -+#                              index, opacity);
  8714. -+#            opacity += 0.1;
  8715. -+#        }
  8716. -+#    }
  8717. ++static unsigned int
  8718. ++get_bits_per_pixel_for_head (ply_renderer_backend_t *backend,
  8719. ++                             ply_renderer_head_t    *head)
  8720. ++{
  8721. ++  if (head != &backend->head)
  8722. ++    return 0;
  8723. ++
  8724. ++  return backend->bits_per_pixel;
  8725.  +}
  8726.  +
  8727. ++static bool
  8728. ++has_input_source (ply_renderer_backend_t      *backend,
  8729. ++                  ply_renderer_input_source_t *input_source)
  8730. ++{
  8731. ++  return input_source == &backend->input_source;
  8732. ++}
  8733.  +
  8734. -+#-----------------------------------------Label utility functions---------------------
  8735. ++static ply_renderer_input_source_t *
  8736. ++get_input_source (ply_renderer_backend_t *backend)
  8737. ++{
  8738. ++  return &backend->input_source;
  8739. ++}
  8740.  +
  8741. -+# label should be either a string or NULL
  8742. -+# Images for n lines will be created and returned as items of the
  8743. -+# message_label array
  8744. -+#
  8745. -+fun get_message_label (label, is_fake, is_action_line) {
  8746. -+    # Debug("Get Label position");
  8747. -+    local.message_label;
  8748. -+    
  8749. -+    if (is_fake)
  8750. -+        # Create a fake label so as to get the y coordinate of
  8751. -+        # a standard-length label.
  8752. -+        local.message_image = ImageToTintedText ("This is a fake message");
  8753. -+    else
  8754. -+        local.message_image = (is_action_line) && ImageToActionText (label) || ImageToTintedText (label);
  8755. -+        
  8756. -+    message_label.width = message_image.GetWidth ();
  8757. -+    message_label.height = message_image.GetHeight ();
  8758. ++static void
  8759. ++on_key_event (ply_renderer_input_source_t *input_source,
  8760. ++              int                          terminal_fd)
  8761. ++{
  8762. ++  ply_buffer_append_from_fd (input_source->key_buffer,
  8763. ++                             terminal_fd);
  8764.  +
  8765. -+    # Center the line horizontally
  8766. -+    message_label.x = Window.GetX () + Window.GetWidth () / 2 - message_label.width / 2;
  8767. ++  if (input_source->handler != NULL)
  8768. ++    input_source->handler (input_source->user_data, input_source->key_buffer, input_source);
  8769.  +
  8770. -+    message_label.y = top_of_the_text;
  8771. ++}
  8772.  +
  8773. -+    # Put the 2nd line below the fsck line
  8774. -+    if (is_action_line) {
  8775. -+        local.fsck_label.y = message_label.y + (first_line_height + first_line_height / 2);
  8776. -+        message_label.y = local.fsck_label.y + (first_line_height * 2);
  8777. -+    }
  8778. ++static void
  8779. ++on_input_source_disconnected (ply_renderer_input_source_t *input_source)
  8780. ++{
  8781. ++  ply_trace ("input source disconnected, reopening");
  8782. ++  open_input_source (input_source->backend, input_source);
  8783. ++}
  8784.  +
  8785. -+    # Debug("action label x = " + message_label.x + " y = " + message_label.y );
  8786. ++static bool
  8787. ++open_input_source (ply_renderer_backend_t      *backend,
  8788. ++                   ply_renderer_input_source_t *input_source)
  8789. ++{
  8790. ++  int terminal_fd;
  8791.  +
  8792. -+#    message_debug = "msg_x = " + message_label.x + " msg_y = " + message_label.y +
  8793. -+#                    "msg_width = " + message_label.width + " msg_height = " +
  8794. -+#                    message_label.height + " message = " + label;
  8795. -+#    Debug(message_debug);
  8796. -+    
  8797. -+    return message_label;
  8798. ++  assert (backend != NULL);
  8799. ++  assert (has_input_source (backend, input_source));
  8800.  +
  8801. -+}
  8802. ++  terminal_fd = ply_terminal_get_fd (backend->terminal);
  8803.  +
  8804. -+# Create an fsck label and/or get its position
  8805. -+fun get_fsck_label (label, is_fake) {
  8806. -+    # Debug("Get Label position");
  8807. -+    local.fsck_label = global.progress_label;
  8808. -+    
  8809. -+    if (is_fake)
  8810. -+        fsck_label.image = ImageToTintedText ("This is a fake message");
  8811. -+    else
  8812. -+        fsck_label.image = ImageToTintedText (label);
  8813. -+    
  8814. -+    fsck_label.width = fsck_label.image.GetWidth ();
  8815. -+    fsck_label.height = fsck_label.image.GetHeight ();
  8816. -+    
  8817. -+    # Centre the label horizontally
  8818. -+    fsck_label.x = Window.GetX () + Window.GetWidth () / 2 - fsck_label.width / 2;
  8819. -+    
  8820. -+    local.first_label = get_message_label (label, 1, 0);
  8821. -+    
  8822. -+    # Place the label below the 1st message line
  8823. -+    fsck_label.y = local.first_label.y + local.first_label.height + (local.first_label.height / 2);
  8824. -+    
  8825. -+#    message_debug = "msg_x = " + fsck_label.x + " msg_y = " + fsck_label.y +
  8826. -+#                    "msg_width = " + fsck_label.width + " msg_height = " +
  8827. -+#                    fsck_label.height + " message = " + label;
  8828. -+#    Debug(message_debug);
  8829. -+    
  8830. -+    return fsck_label;
  8831. ++  input_source->backend = backend;
  8832. ++  input_source->terminal_input_watch = ply_event_loop_watch_fd (backend->loop, terminal_fd, PLY_EVENT_LOOP_FD_STATUS_HAS_DATA,
  8833. ++                                                                (ply_event_handler_t) on_key_event,
  8834. ++                                                                (ply_event_handler_t) on_input_source_disconnected,
  8835. ++                                                                input_source);
  8836. ++  return true;
  8837.  +}
  8838.  +
  8839. -+#-----------------------------------------Message stuff --------------------------------
  8840. -+#
  8841. ++static void
  8842. ++set_handler_for_input_source (ply_renderer_backend_t      *backend,
  8843. ++                              ply_renderer_input_source_t *input_source,
  8844. ++                              ply_renderer_input_source_handler_t handler,
  8845. ++                              void                        *user_data)
  8846. ++{
  8847. ++  assert (backend != NULL);
  8848. ++  assert (has_input_source (backend, input_source));
  8849.  +
  8850. -+# Set up a message label
  8851. -+#
  8852. -+# NOTE: this is called when doing something like 'plymouth message "hello world"'
  8853. -+#
  8854. -+fun setup_message (message_text, x, y, z, index) {
  8855. -+    # Debug("Message setup");
  8856. -+    global.message_notification[index].image = (index) && ImageToActionText (message_text) || ImageToTintedText (message_text);
  8857. ++  input_source->handler = handler;
  8858. ++  input_source->user_data = user_data;
  8859. ++}
  8860.  +
  8861. -+    # Set up the text message, if any
  8862. -+    message_notification[index].x = x;
  8863. -+    message_notification[index].y = y;
  8864. -+    message_notification[index].z = z;
  8865. -+    
  8866. -+    message_notification[index].sprite = Sprite ();
  8867. -+    message_notification[index].sprite.SetImage (message_notification[index].image);
  8868. -+    message_notification[index].sprite.SetX (message_notification[index].x);
  8869. -+    message_notification[index].sprite.SetY (message_notification[index].y);
  8870. -+    message_notification[index].sprite.SetZ (message_notification[index].z);
  8871. ++static void
  8872. ++close_input_source (ply_renderer_backend_t      *backend,
  8873. ++                    ply_renderer_input_source_t *input_source)
  8874. ++{
  8875. ++  assert (backend != NULL);
  8876. ++  assert (has_input_source (backend, input_source));
  8877.  +
  8878. ++  ply_event_loop_stop_watching_fd (backend->loop, input_source->terminal_input_watch);
  8879. ++  input_source->terminal_input_watch = NULL;
  8880. ++  input_source->backend = NULL;
  8881.  +}
  8882.  +
  8883. -+fun show_message (index) {
  8884. -+    if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(1);
  8885. ++ply_renderer_plugin_interface_t *
  8886. ++ply_renderer_backend_get_interface (void)
  8887. ++{
  8888. ++  static ply_renderer_plugin_interface_t plugin_interface =
  8889. ++    {
  8890. ++      .create_backend = create_backend,
  8891. ++      .destroy_backend = destroy_backend,
  8892. ++      .open_device = open_device,
  8893. ++      .close_device = close_device,
  8894. ++      .query_device = query_device,
  8895. ++      .map_to_device = map_to_device,
  8896. ++      .unmap_from_device = unmap_from_device,
  8897. ++      .activate = activate,
  8898. ++      .deactivate = deactivate,
  8899. ++      .flush_head = flush_head,
  8900. ++      .get_heads = get_heads,
  8901. ++      .get_buffer_for_head = get_buffer_for_head,
  8902. ++      .get_bits_per_pixel_for_head = get_bits_per_pixel_for_head,
  8903. ++      .get_input_source = get_input_source,
  8904. ++      .open_input_source = open_input_source,
  8905. ++      .set_handler_for_input_source = set_handler_for_input_source,
  8906. ++      .close_input_source = close_input_source
  8907. ++    };
  8908. ++
  8909. ++  return &plugin_interface;
  8910.  +}
  8911. ++/* vim: set ts=4 sw=4 et ai ci cino={.5s,^-2,+.5s,t0,g0,e-2,n-2,p2s,(0,=.5s,:.5s */
  8912. +--- /dev/null
  8913. ++++ plymouth-0.8.2/src/plugins/renderers/vga16fb/vga.h
  8914. +@@ -0,0 +1,107 @@
  8915. ++/* vga.h - inlines for programming the VGA
  8916. ++ *
  8917. ++ * Copyright (C) 2010 Canonical Ltd.
  8918. ++ *
  8919. ++ * This program is free software; you can redistribute it and/or modify
  8920. ++ * it under the terms of the GNU General Public License as published by
  8921. ++ * the Free Software Foundation; either version 2, or (at your option)
  8922. ++ * any later version.
  8923. ++ *
  8924. ++ * This program is distributed in the hope that it will be useful,
  8925. ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
  8926. ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  8927. ++ * GNU General Public License for more details.
  8928. ++ *
  8929. ++ * You should have received a copy of the GNU General Public License
  8930. ++ * along with this program; if not, write to the Free Software
  8931. ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  8932. ++ * 02111-1307, USA.
  8933. ++ *
  8934. ++ * Written by: Scott James Remnant <scott@ubuntu.com>
  8935. ++ */
  8936. ++#ifndef PLY_VGA_H
  8937. ++#define PLY_VGA_H
  8938.  +
  8939. -+fun hide_message (index) {
  8940. -+    if (global.message_notification[index].sprite) global.message_notification[index].sprite.SetOpacity(0);
  8941. ++/* VGA ioports, and the registers we can access from them */
  8942. ++#define VGA_REGS_BASE         0x3c0
  8943. ++#define VGA_REGS_LEN          0x10
  8944. ++
  8945. ++#define VGA_SC_INDEX          0x3c4
  8946. ++#define VGA_SC_DATA           0x3c5
  8947. ++
  8948. ++#define VGA_SC_MAP_MASK               0x02
  8949. ++
  8950. ++#define VGA_GC_INDEX          0x3ce
  8951. ++#define VGA_GC_DATA                   0x3cf
  8952. ++
  8953. ++#define VGA_GC_SET_RESET      0x00
  8954. ++#define VGA_GC_ENABLE_SET_RESET       0x01
  8955. ++#define VGA_GC_DATA_ROTATE      0x03
  8956. ++#define VGA_GC_MODE           0x05
  8957. ++#define VGA_GC_BIT_MASK               0x08
  8958. ++
  8959. ++/* Select the VGA write mode. */
  8960. ++static inline void
  8961. ++vga_mode (int mode)
  8962. ++{
  8963. ++      outb (VGA_GC_MODE, VGA_GC_INDEX);
  8964. ++      outb (mode, VGA_GC_DATA);
  8965.  +}
  8966.  +
  8967. ++/* Data Rotate register; we don't use this, we just ensure it's off. */
  8968. ++static inline void
  8969. ++vga_data_rotate (int op)
  8970. ++{
  8971. ++      outb (VGA_GC_DATA_ROTATE, VGA_GC_INDEX);
  8972. ++      outb (op, VGA_GC_DATA);
  8973. ++}
  8974.  +
  8975. ++/* Enable use of the Set/Reset register for the given planes (as a mask).
  8976. ++ *
  8977. ++ * In effect: set this to 0xf to use all four planes.
  8978. ++ */
  8979. ++static inline void
  8980. ++vga_enable_set_reset (int mask)
  8981. ++{
  8982. ++      outb (VGA_GC_ENABLE_SET_RESET, VGA_GC_INDEX);
  8983. ++      outb (mask, VGA_GC_DATA);
  8984. ++}
  8985.  +
  8986. ++/* Set/Reset register; the given planes (as a mask) will have whatever bits
  8987. ++ * are true in the Bit Mask register set to 1, and whatever bits are false
  8988. ++ * in the Bit Mask register set to 0.  (It's more complicated than that, but
  8989. ++ * your brain will explode).
  8990. ++ *
  8991. ++ * In effect: set this to the colour you want.
  8992. ++ */
  8993. ++static inline void
  8994. ++vga_set_reset (int mask)
  8995. ++{
  8996. ++      outb (VGA_GC_SET_RESET, VGA_GC_INDEX);
  8997. ++      outb (mask, VGA_GC_DATA);
  8998. ++}
  8999.  +
  9000. -+# the callback function is called when new message should be displayed.
  9001. -+# First arg is message to display.
  9002. -+fun message_callback (message)
  9003. ++/* Bit Mask register; writing to a memory address will write to these bits
  9004. ++ * of that byte according to the contents of the Set/Reset register.  Far
  9005. ++ * more complicated than that, you *really* don't want to know.
  9006. ++ *
  9007. ++ * In effect: set this to the pattern we want in the colour we set.
  9008. ++ */
  9009. ++static inline void
  9010. ++vga_bit_mask (int mask)
  9011.  +{
  9012. -+    # Debug("Message callback");
  9013. -+    is_fake = 0;
  9014. -+    if (!message || (message == "")) is_fake = 1;
  9015. -+    
  9016. -+    local.substring = "keys:";
  9017. -+    
  9018. -+    # Look for the "keys:" prefix
  9019. -+    local.keys = StringString(message, local.substring);
  9020. -+    
  9021. -+    local.is_action_line = (keys != NULL);
  9022. -+    #Debug("keys " + local.keys + " substring length = " + StringLength(local.substring));
  9023. ++      outb (VGA_GC_BIT_MASK, VGA_GC_INDEX);
  9024. ++      outb (mask, VGA_GC_DATA);
  9025. ++}
  9026.  +
  9027. -+    # Get the message without the "keys:" prefix
  9028. -+    if (keys != NULL)
  9029. -+        message = StringCopy (message, keys + StringLength(local.substring), NULL);
  9030. ++/* Map Mask register; we don't use this, but we do make sure it's reset. */
  9031. ++static inline void
  9032. ++vga_map_mask (int mask)
  9033. ++{
  9034. ++      outb (VGA_SC_MAP_MASK, VGA_SC_INDEX);
  9035. ++      outb (mask, VGA_SC_DATA);
  9036. ++}
  9037.  +
  9038. -+    local.label.is_fake = is_fake;
  9039. -+    label = get_message_label(message, is_fake, is_action_line);
  9040. -+    label.z = 10000;
  9041. -+    
  9042. -+    setup_message (message, label.x, label.y, label.z, is_action_line);
  9043. -+    if (prompt_active && local.is_action_line)
  9044. -+        hide_message (is_action_line);
  9045. -+    else
  9046. -+        show_message (is_action_line);
  9047. ++#endif /* PLY_VGA_H */
  9048. ++/* vim: set ts=4 sw=4 et ai ci cino={.5s,^-2,+.5s,t0,g0,e-2,n-2,p2s,(0,=.5s,:.5s */
  9049.  +
  9050. -+}
  9051. +--- /dev/null
  9052. ++++ plymouth-0.8.2/src/plugins/renderers/vga16fb/Makefile.am
  9053. +@@ -0,0 +1,20 @@
  9054. ++INCLUDES = -I$(top_srcdir)                                                    \
  9055. ++           -I$(srcdir)/../../../libply                                        \
  9056. ++           -I$(srcdir)/../../../libply-splash-core                            \
  9057. ++           -I$(srcdir)/../../..                                               \
  9058. ++           -I$(srcdir)/../..                                                  \
  9059. ++           -I$(srcdir)/..                                                     \
  9060. ++           -I$(srcdir)
  9061.  +
  9062. ++plugindir = $(libdir)/plymouth/renderers
  9063. ++plugin_LTLIBRARIES = vga16fb.la
  9064.  +
  9065. -+#-----------------------------------------Display Password stuff -----------------------
  9066. -+#
  9067. ++vga16fb_la_CFLAGS = $(PLYMOUTH_CFLAGS)
  9068.  +
  9069. -+fun password_dialogue_setup (message_label) {
  9070. -+    # Debug("Password dialog setup");
  9071. -+    
  9072. -+    local.entry;
  9073. -+    local.bullet_image;
  9074. -+    
  9075. -+    bullet_image = Image (progress_dot_off_filename);
  9076. -+    entry.image = Image (password_field_filename);
  9077. -+    
  9078. -+    # Hide the normal labels
  9079. -+    prompt_active = 1;
  9080. -+    if (message_notification[1].sprite) hide_message (1);
  9081. -+    
  9082. -+    # Set the prompt label
  9083. -+    label = get_message_label(message_label, 0, 1);
  9084. -+    label.z = 10000;
  9085. -+    
  9086. -+    setup_message (message_label, label.x, label.y, label.z, 2);
  9087. -+    show_message (2);
  9088. ++vga16fb_la_LDFLAGS = -module -avoid-version -export-dynamic
  9089. ++vga16fb_la_LIBADD = $(PLYMOUTH_LIBS)                                     \
  9090. ++                    ../../../libply/libply.la                            \
  9091. ++                    ../../../libply-splash-core/libply-splash-core.la
  9092. ++vga16fb_la_SOURCES = $(srcdir)/plugin.c
  9093.  +
  9094. -+    # Set up the text entry which contains the bullets
  9095. -+    entry.sprite = Sprite ();
  9096. -+    entry.sprite.SetImage (entry.image);
  9097. -+    
  9098. -+    # Centre the box horizontally
  9099. -+    entry.x = Window.GetX () + Window.GetWidth () / 2 - entry.image.GetWidth () / 2;
  9100. ++MAINTAINERCLEANFILES = Makefile.in
  9101. +--- /dev/null
  9102. ++++ plymouth-0.8.2/src/plugins/renderers/vga16fb/Makefile.in
  9103. +@@ -0,0 +1,592 @@
  9104. ++# Makefile.in generated by automake 1.11.1 from Makefile.am.
  9105. ++# @configure_input@
  9106.  +
  9107. -+    # Put the entry below the second label.
  9108. -+    entry.y = message_notification[2].y + label.height;
  9109. ++# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
  9110. ++# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
  9111. ++# Inc.
  9112. ++# This Makefile.in is free software; the Free Software Foundation
  9113. ++# gives unlimited permission to copy and/or distribute it,
  9114. ++# with or without modifications, as long as this notice is preserved.
  9115.  +
  9116. -+    #Debug ("entry x = " + entry.x + ", y = " + entry.y);
  9117. -+    entry.z = 10000;
  9118. -+    entry.sprite.SetX (entry.x);
  9119. -+    entry.sprite.SetY (entry.y);
  9120. -+    entry.sprite.SetZ (entry.z);
  9121. ++# This program is distributed in the hope that it will be useful,
  9122. ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
  9123. ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  9124. ++# PARTICULAR PURPOSE.
  9125.  +
  9126. -+    global.password_dialogue = local;
  9127. -+}
  9128. ++@SET_MAKE@
  9129.  +
  9130. -+fun password_dialogue_opacity (opacity) {
  9131. -+    # Debug("Password dialog opacity");
  9132. -+    global.password_dialogue.opacity = opacity;
  9133. -+    local = global.password_dialogue;
  9134. ++VPATH = @srcdir@
  9135. ++pkgdatadir = $(datadir)/@PACKAGE@
  9136. ++pkgincludedir = $(includedir)/@PACKAGE@
  9137. ++pkglibdir = $(libdir)/@PACKAGE@
  9138. ++pkglibexecdir = $(libexecdir)/@PACKAGE@
  9139. ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
  9140. ++install_sh_DATA = $(install_sh) -c -m 644
  9141. ++install_sh_PROGRAM = $(install_sh) -c
  9142. ++install_sh_SCRIPT = $(install_sh) -c
  9143. ++INSTALL_HEADER = $(INSTALL_DATA)
  9144. ++transform = $(program_transform_name)
  9145. ++NORMAL_INSTALL = :
  9146. ++PRE_INSTALL = :
  9147. ++POST_INSTALL = :
  9148. ++NORMAL_UNINSTALL = :
  9149. ++PRE_UNINSTALL = :
  9150. ++POST_UNINSTALL = :
  9151. ++build_triplet = @build@
  9152. ++host_triplet = @host@
  9153. ++subdir = src/plugins/renderers/vga16fb
  9154. ++DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
  9155. ++ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  9156. ++am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
  9157. ++      $(top_srcdir)/configure.ac
  9158. ++am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  9159. ++      $(ACLOCAL_M4)
  9160. ++mkinstalldirs = $(install_sh) -d
  9161. ++CONFIG_HEADER = $(top_builddir)/config.h
  9162. ++CONFIG_CLEAN_FILES =
  9163. ++CONFIG_CLEAN_VPATH_FILES =
  9164. ++am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
  9165. ++am__vpath_adj = case $$p in \
  9166. ++    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
  9167. ++    *) f=$$p;; \
  9168. ++  esac;
  9169. ++am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
  9170. ++am__install_max = 40
  9171. ++am__nobase_strip_setup = \
  9172. ++  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
  9173. ++am__nobase_strip = \
  9174. ++  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
  9175. ++am__nobase_list = $(am__nobase_strip_setup); \
  9176. ++  for p in $$list; do echo "$$p $$p"; done | \
  9177. ++  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  9178. ++  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
  9179. ++    if (++n[$$2] == $(am__install_max)) \
  9180. ++      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
  9181. ++    END { for (dir in files) print dir, files[dir] }'
  9182. ++am__base_list = \
  9183. ++  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  9184. ++  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
  9185. ++am__installdirs = "$(DESTDIR)$(plugindir)"
  9186. ++LTLIBRARIES = $(plugin_LTLIBRARIES)
  9187. ++am__DEPENDENCIES_1 =
  9188. ++vga16fb_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
  9189. ++      ../../../libply/libply.la \
  9190. ++      ../../../libply-splash-core/libply-splash-core.la
  9191. ++am_vga16fb_la_OBJECTS = vga16fb_la-plugin.lo
  9192. ++vga16fb_la_OBJECTS = $(am_vga16fb_la_OBJECTS)
  9193. ++AM_V_lt = $(am__v_lt_$(V))
  9194. ++am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
  9195. ++am__v_lt_0 = --silent
  9196. ++vga16fb_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  9197. ++      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(vga16fb_la_CFLAGS) \
  9198. ++      $(CFLAGS) $(vga16fb_la_LDFLAGS) $(LDFLAGS) -o $@
  9199. ++DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
  9200. ++depcomp = $(SHELL) $(top_srcdir)/build-tools/depcomp
  9201. ++am__depfiles_maybe = depfiles
  9202. ++am__mv = mv -f
  9203. ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
  9204. ++      $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
  9205. ++LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  9206. ++      $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
  9207. ++      $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
  9208. ++      $(AM_CFLAGS) $(CFLAGS)
  9209. ++AM_V_CC = $(am__v_CC_$(V))
  9210. ++am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
  9211. ++am__v_CC_0 = @echo "  CC    " $@;
  9212. ++AM_V_at = $(am__v_at_$(V))
  9213. ++am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
  9214. ++am__v_at_0 = @
  9215. ++CCLD = $(CC)
  9216. ++LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
  9217. ++      $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
  9218. ++      $(AM_LDFLAGS) $(LDFLAGS) -o $@
  9219. ++AM_V_CCLD = $(am__v_CCLD_$(V))
  9220. ++am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
  9221. ++am__v_CCLD_0 = @echo "  CCLD  " $@;
  9222. ++AM_V_GEN = $(am__v_GEN_$(V))
  9223. ++am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
  9224. ++am__v_GEN_0 = @echo "  GEN   " $@;
  9225. ++SOURCES = $(vga16fb_la_SOURCES)
  9226. ++DIST_SOURCES = $(vga16fb_la_SOURCES)
  9227. ++ETAGS = etags
  9228. ++CTAGS = ctags
  9229. ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
  9230. ++ACLOCAL = @ACLOCAL@
  9231. ++AMTAR = @AMTAR@
  9232. ++AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
  9233. ++AR = @AR@
  9234. ++AUTOCONF = @AUTOCONF@
  9235. ++AUTOHEADER = @AUTOHEADER@
  9236. ++AUTOMAKE = @AUTOMAKE@
  9237. ++AWK = @AWK@
  9238. ++CC = @CC@
  9239. ++CCDEPMODE = @CCDEPMODE@
  9240. ++CFLAGS = @CFLAGS@
  9241. ++CPP = @CPP@
  9242. ++CPPFLAGS = @CPPFLAGS@
  9243. ++CYGPATH_W = @CYGPATH_W@
  9244. ++DEFS = @DEFS@
  9245. ++DEPDIR = @DEPDIR@
  9246. ++DRM_CFLAGS = @DRM_CFLAGS@
  9247. ++DRM_LIBS = @DRM_LIBS@
  9248. ++DSYMUTIL = @DSYMUTIL@
  9249. ++DUMPBIN = @DUMPBIN@
  9250. ++ECHO_C = @ECHO_C@
  9251. ++ECHO_N = @ECHO_N@
  9252. ++ECHO_T = @ECHO_T@
  9253. ++EGREP = @EGREP@
  9254. ++EXEEXT = @EXEEXT@
  9255. ++FGREP = @FGREP@
  9256. ++GREP = @GREP@
  9257. ++GTK_CFLAGS = @GTK_CFLAGS@
  9258. ++GTK_LIBS = @GTK_LIBS@
  9259. ++IMAGE_CFLAGS = @IMAGE_CFLAGS@
  9260. ++IMAGE_LIBS = @IMAGE_LIBS@
  9261. ++INSTALL = @INSTALL@
  9262. ++INSTALL_DATA = @INSTALL_DATA@
  9263. ++INSTALL_PROGRAM = @INSTALL_PROGRAM@
  9264. ++INSTALL_SCRIPT = @INSTALL_SCRIPT@
  9265. ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  9266. ++LD = @LD@
  9267. ++LDFLAGS = @LDFLAGS@
  9268. ++LIBOBJS = @LIBOBJS@
  9269. ++LIBS = @LIBS@
  9270. ++LIBTOOL = @LIBTOOL@
  9271. ++LIPO = @LIPO@
  9272. ++LN_S = @LN_S@
  9273. ++LTLIBOBJS = @LTLIBOBJS@
  9274. ++LT_AGE = @LT_AGE@
  9275. ++LT_CURRENT = @LT_CURRENT@
  9276. ++LT_REVISION = @LT_REVISION@
  9277. ++MAINT = @MAINT@
  9278. ++MAKEINFO = @MAKEINFO@
  9279. ++MKDIR_P = @MKDIR_P@
  9280. ++NM = @NM@
  9281. ++NMEDIT = @NMEDIT@
  9282. ++OBJDUMP = @OBJDUMP@
  9283. ++OBJEXT = @OBJEXT@
  9284. ++OTOOL = @OTOOL@
  9285. ++OTOOL64 = @OTOOL64@
  9286. ++PACKAGE = @PACKAGE@
  9287. ++PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  9288. ++PACKAGE_NAME = @PACKAGE_NAME@
  9289. ++PACKAGE_STRING = @PACKAGE_STRING@
  9290. ++PACKAGE_TARNAME = @PACKAGE_TARNAME@
  9291. ++PACKAGE_URL = @PACKAGE_URL@
  9292. ++PACKAGE_VERSION = @PACKAGE_VERSION@
  9293. ++PANGO_CFLAGS = @PANGO_CFLAGS@
  9294. ++PANGO_LIBS = @PANGO_LIBS@
  9295. ++PATH_SEPARATOR = @PATH_SEPARATOR@
  9296. ++PKG_CONFIG = @PKG_CONFIG@
  9297. ++PLYMOUTH_CFLAGS = @PLYMOUTH_CFLAGS@
  9298. ++PLYMOUTH_CONF_DIR = @PLYMOUTH_CONF_DIR@
  9299. ++PLYMOUTH_DATADIR = @PLYMOUTH_DATADIR@
  9300. ++PLYMOUTH_LIBDIR = @PLYMOUTH_LIBDIR@
  9301. ++PLYMOUTH_LIBEXECDIR = @PLYMOUTH_LIBEXECDIR@
  9302. ++PLYMOUTH_LIBS = @PLYMOUTH_LIBS@
  9303. ++PLYMOUTH_PLUGIN_PATH = @PLYMOUTH_PLUGIN_PATH@
  9304. ++PLYMOUTH_POLICY_DIR = @PLYMOUTH_POLICY_DIR@
  9305. ++PLYMOUTH_THEME_PATH = @PLYMOUTH_THEME_PATH@
  9306. ++RANLIB = @RANLIB@
  9307. ++RELEASE_FILE = @RELEASE_FILE@
  9308. ++SED = @SED@
  9309. ++SET_MAKE = @SET_MAKE@
  9310. ++SHELL = @SHELL@
  9311. ++STRIP = @STRIP@
  9312. ++VERSION = @VERSION@
  9313. ++abs_builddir = @abs_builddir@
  9314. ++abs_srcdir = @abs_srcdir@
  9315. ++abs_top_builddir = @abs_top_builddir@
  9316. ++abs_top_srcdir = @abs_top_srcdir@
  9317. ++ac_ct_CC = @ac_ct_CC@
  9318. ++ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
  9319. ++am__include = @am__include@
  9320. ++am__leading_dot = @am__leading_dot@
  9321. ++am__quote = @am__quote@
  9322. ++am__tar = @am__tar@
  9323. ++am__untar = @am__untar@
  9324. ++background_color = @background_color@
  9325. ++background_end_color = @background_end_color@
  9326. ++background_start_color = @background_start_color@
  9327. ++bindir = @bindir@
  9328. ++build = @build@
  9329. ++build_alias = @build_alias@
  9330. ++build_cpu = @build_cpu@
  9331. ++build_os = @build_os@
  9332. ++build_vendor = @build_vendor@
  9333. ++builddir = @builddir@
  9334. ++datadir = @datadir@
  9335. ++datarootdir = @datarootdir@
  9336. ++docdir = @docdir@
  9337. ++dvidir = @dvidir@
  9338. ++exec_prefix = @exec_prefix@
  9339. ++host = @host@
  9340. ++host_alias = @host_alias@
  9341. ++host_cpu = @host_cpu@
  9342. ++host_os = @host_os@
  9343. ++host_vendor = @host_vendor@
  9344. ++htmldir = @htmldir@
  9345. ++includedir = @includedir@
  9346. ++infodir = @infodir@
  9347. ++install_sh = @install_sh@
  9348. ++libdir = @libdir@
  9349. ++libexecdir = @libexecdir@
  9350. ++localedir = @localedir@
  9351. ++localstatedir = @localstatedir@
  9352. ++logofile = @logofile@
  9353. ++lt_ECHO = @lt_ECHO@
  9354. ++mandir = @mandir@
  9355. ++mkdir_p = @mkdir_p@
  9356. ++oldincludedir = @oldincludedir@
  9357. ++pdfdir = @pdfdir@
  9358. ++plymouthclientdir = @plymouthclientdir@
  9359. ++plymouthdaemondir = @plymouthdaemondir@
  9360. ++prefix = @prefix@
  9361. ++program_transform_name = @program_transform_name@
  9362. ++psdir = @psdir@
  9363. ++sbindir = @sbindir@
  9364. ++sharedstatedir = @sharedstatedir@
  9365. ++srcdir = @srcdir@
  9366. ++sysconfdir = @sysconfdir@
  9367. ++target_alias = @target_alias@
  9368. ++top_build_prefix = @top_build_prefix@
  9369. ++top_builddir = @top_builddir@
  9370. ++top_srcdir = @top_srcdir@
  9371. ++INCLUDES = -I$(top_srcdir)                                                    \
  9372. ++           -I$(srcdir)/../../../libply                                        \
  9373. ++           -I$(srcdir)/../../../libply-splash-core                            \
  9374. ++           -I$(srcdir)/../../..                                               \
  9375. ++           -I$(srcdir)/../..                                                  \
  9376. ++           -I$(srcdir)/..                                                     \
  9377. ++           -I$(srcdir)
  9378.  +
  9379. -+    # You can make the box translucent with a float
  9380. -+    # entry.sprite.SetOpacity (0.3);
  9381. -+    entry.sprite.SetOpacity (opacity);
  9382. -+    label.sprite.SetOpacity (opacity);
  9383. -+    
  9384. -+    if (bullets) {
  9385. -+        for (index = 0; bullets[index]; index++) {
  9386. -+            bullets[index].sprite.SetOpacity (opacity);
  9387. -+        }
  9388. -+    }
  9389. -+}
  9390. ++plugindir = $(libdir)/plymouth/renderers
  9391. ++plugin_LTLIBRARIES = vga16fb.la
  9392. ++vga16fb_la_CFLAGS = $(PLYMOUTH_CFLAGS)
  9393. ++vga16fb_la_LDFLAGS = -module -avoid-version -export-dynamic
  9394. ++vga16fb_la_LIBADD = $(PLYMOUTH_LIBS)                                     \
  9395. ++                    ../../../libply/libply.la                            \
  9396. ++                    ../../../libply-splash-core/libply-splash-core.la
  9397.  +
  9398. ++vga16fb_la_SOURCES = $(srcdir)/plugin.c
  9399. ++MAINTAINERCLEANFILES = Makefile.in
  9400. ++all: all-am
  9401.  +
  9402. -+# The callback function is called when the display should display a password dialogue.
  9403. -+# First arg is prompt string, the second is the number of bullets.
  9404. -+fun display_password_callback (prompt, bullets) {
  9405. -+    # Debug("Password dialog setup");
  9406. -+    
  9407. -+    global.status = "password";
  9408. -+    if (!global.password_dialogue) password_dialogue_setup(prompt);
  9409. -+    password_dialogue_opacity (1);
  9410. -+    bullet_width = password_dialogue.bullet_image.GetWidth();
  9411. -+    bullet_y = password_dialogue.entry.y +
  9412. -+               password_dialogue.entry.image.GetHeight () / 2 -
  9413. -+               password_dialogue.bullet_image.GetHeight () / 2;
  9414. -+    margin = bullet_width;
  9415. -+    spaces = Math.Int( (password_dialogue.entry.image.GetWidth () - (margin * 2)) / (bullet_width / 2 ) );
  9416. -+    #Debug ("spaces = " + spaces + ", bullets = " + bullets);
  9417. -+    bullets_area.width = margin + spaces * (bullet_width / 2);
  9418. -+    bullets_area.x = Window.GetX () + Window.GetWidth () / 2 - bullets_area.width / 2;
  9419. -+    #DebugBottom ("pwd_entry x = " + password_dialogue.entry.x + ", bullets_area.x = " + bullets_area.x + ", bullets_area.width = " + bullets_area.width);
  9420. -+    if (bullets > spaces)
  9421. -+        bullets = spaces;
  9422. -+    for (index = 0; password_dialogue.bullets[index] || index < bullets; index++){
  9423. -+        if (!password_dialogue.bullets[index]) {
  9424. -+            password_dialogue.bullets[index].sprite = Sprite ();
  9425. -+            password_dialogue.bullets[index].sprite.SetImage (password_dialogue.bullet_image);
  9426. -+            password_dialogue.bullets[index].x = bullets_area.x + # password_dialogue.entry.x + margin +
  9427. -+                                                 index * bullet_width / 2;
  9428. -+            password_dialogue.bullets[index].sprite.SetX (password_dialogue.bullets[index].x);
  9429. -+            password_dialogue.bullets[index].y = bullet_y;
  9430. -+            password_dialogue.bullets[index].sprite.SetY (password_dialogue.bullets[index].y);
  9431. -+            password_dialogue.bullets[index].z = password_dialogue.entry.z + 1;
  9432. -+            password_dialogue.bullets[index].sprite.SetZ (password_dialogue.bullets[index].z);
  9433. -+        }
  9434. ++.SUFFIXES:
  9435. ++.SUFFIXES: .c .lo .o .obj
  9436. ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
  9437. ++      @for dep in $?; do \
  9438. ++        case '$(am__configure_deps)' in \
  9439. ++          *$$dep*) \
  9440. ++            ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
  9441. ++              && { if test -f $@; then exit 0; else break; fi; }; \
  9442. ++            exit 1;; \
  9443. ++        esac; \
  9444. ++      done; \
  9445. ++      echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/plugins/renderers/vga16fb/Makefile'; \
  9446. ++      $(am__cd) $(top_srcdir) && \
  9447. ++        $(AUTOMAKE) --gnu src/plugins/renderers/vga16fb/Makefile
  9448. ++.PRECIOUS: Makefile
  9449. ++Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
  9450. ++      @case '$?' in \
  9451. ++        *config.status*) \
  9452. ++          cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
  9453. ++        *) \
  9454. ++          echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
  9455. ++          cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
  9456. ++      esac;
  9457.  +
  9458. -+        password_dialogue.bullets[index].sprite.SetOpacity (0);
  9459. ++$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
  9460. ++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  9461.  +
  9462. -+        if (index < bullets) {
  9463. -+            password_dialogue.bullets[index].sprite.SetOpacity (1);
  9464. -+        }
  9465. -+    }
  9466. -+}
  9467. ++$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
  9468. ++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  9469. ++$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
  9470. ++      cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
  9471. ++$(am__aclocal_m4_deps):
  9472. ++install-pluginLTLIBRARIES: $(plugin_LTLIBRARIES)
  9473. ++      @$(NORMAL_INSTALL)
  9474. ++      test -z "$(plugindir)" || $(MKDIR_P) "$(DESTDIR)$(plugindir)"
  9475. ++      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  9476. ++      list2=; for p in $$list; do \
  9477. ++        if test -f $$p; then \
  9478. ++          list2="$$list2 $$p"; \
  9479. ++        else :; fi; \
  9480. ++      done; \
  9481. ++      test -z "$$list2" || { \
  9482. ++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(plugindir)'"; \
  9483. ++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(plugindir)"; \
  9484. ++      }
  9485.  +
  9486. -+Plymouth.SetDisplayPasswordFunction (display_password_callback);
  9487. ++uninstall-pluginLTLIBRARIES:
  9488. ++      @$(NORMAL_UNINSTALL)
  9489. ++      @list='$(plugin_LTLIBRARIES)'; test -n "$(plugindir)" || list=; \
  9490. ++      for p in $$list; do \
  9491. ++        $(am__strip_dir) \
  9492. ++        echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(plugindir)/$$f'"; \
  9493. ++        $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(plugindir)/$$f"; \
  9494. ++      done
  9495.  +
  9496. -+Plymouth.SetMessageFunction (message_callback);
  9497. ++clean-pluginLTLIBRARIES:
  9498. ++      -test -z "$(plugin_LTLIBRARIES)" || rm -f $(plugin_LTLIBRARIES)
  9499. ++      @list='$(plugin_LTLIBRARIES)'; for p in $$list; do \
  9500. ++        dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
  9501. ++        test "$$dir" != "$$p" || dir=.; \
  9502. ++        echo "rm -f \"$${dir}/so_locations\""; \
  9503. ++        rm -f "$${dir}/so_locations"; \
  9504. ++      done
  9505. ++vga16fb.la: $(vga16fb_la_OBJECTS) $(vga16fb_la_DEPENDENCIES)
  9506. ++      $(AM_V_CCLD)$(vga16fb_la_LINK) -rpath $(plugindir) $(vga16fb_la_OBJECTS) $(vga16fb_la_LIBADD) $(LIBS)
  9507.  +
  9508. -+Plymouth.SetBootProgressFunction (animate_progress_indicator);
  9509. ++mostlyclean-compile:
  9510. ++      -rm -f *.$(OBJEXT)
  9511.  +
  9512. -+# Plymouth.SetBootProgressFunction: the callback function is called with two numbers, the progress (between 0 and 1) and the time spent booting so far
  9513. -+# Plymouth.SetRootMountedFunction: the callback function is called when a new root is mounted
  9514. -+# Plymouth.SetKeyboardInputFunction: the callback function is called with a string containing a new character entered on the keyboard
  9515. ++distclean-compile:
  9516. ++      -rm -f *.tab.c
  9517.  +
  9518. -+#----------------------------------------- FSCK Counter --------------------------------
  9519. ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vga16fb_la-plugin.Plo@am__quote@
  9520.  +
  9521. -+# Initialise the counter
  9522. -+fun init_fsck_count () {
  9523. -+    # The number of fsck checks in this cycle
  9524. -+    global.counter.total = 0;
  9525. -+    # The number of fsck checks already performed + the current one
  9526. -+    global.counter.current = 1;
  9527. -+    # The previous fsck
  9528. -+    global.counter.last = 0;
  9529. -+}
  9530. ++.c.o:
  9531. ++@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  9532. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  9533. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  9534. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  9535. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  9536. ++@am__fastdepCC_FALSE@ $(COMPILE) -c $<
  9537.  +
  9538. -+# Increase the total counter
  9539. -+fun increase_fsck_count () {
  9540. -+    global.counter.total++;
  9541. -+}
  9542. ++.c.obj:
  9543. ++@am__fastdepCC_TRUE@  $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
  9544. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
  9545. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  9546. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
  9547. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  9548. ++@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
  9549.  +
  9550. -+fun increase_current_fsck_count () {
  9551. -+    global.counter.last = global.counter.current++;
  9552. -+}
  9553. ++.c.lo:
  9554. ++@am__fastdepCC_TRUE@  $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
  9555. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
  9556. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  9557. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
  9558. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  9559. ++@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
  9560.  +
  9561. -+# Clear the counter
  9562. -+fun clear_fsck_count () {
  9563. -+    global.counter = NULL;
  9564. -+    init_fsck_count ();
  9565. -+}
  9566. ++vga16fb_la-plugin.lo: $(srcdir)/plugin.c
  9567. ++@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) $(vga16fb_la_CFLAGS) $(CFLAGS) -MT vga16fb_la-plugin.lo -MD -MP -MF $(DEPDIR)/vga16fb_la-plugin.Tpo -c -o vga16fb_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
  9568. ++@am__fastdepCC_TRUE@  $(AM_V_at)$(am__mv) $(DEPDIR)/vga16fb_la-plugin.Tpo $(DEPDIR)/vga16fb_la-plugin.Plo
  9569. ++@am__fastdepCC_FALSE@ $(AM_V_CC) @AM_BACKSLASH@
  9570. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     source='$(srcdir)/plugin.c' object='vga16fb_la-plugin.lo' libtool=yes @AMDEPBACKSLASH@
  9571. ++@AMDEP_TRUE@@am__fastdepCC_FALSE@     DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
  9572. ++@am__fastdepCC_FALSE@ $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(vga16fb_la_CFLAGS) $(CFLAGS) -c -o vga16fb_la-plugin.lo `test -f '$(srcdir)/plugin.c' || echo '$(srcdir)/'`$(srcdir)/plugin.c
  9573.  +
  9574. -+#----------------------------------------- Progress Label ------------------------------
  9575. ++mostlyclean-libtool:
  9576. ++      -rm -f *.lo
  9577.  +
  9578. ++clean-libtool:
  9579. ++      -rm -rf .libs _libs
  9580.  +
  9581. -+# Change the opacity level of a progress label
  9582. -+#
  9583. -+# opacity = 1 -> show
  9584. -+# opacity = 0 -> hide
  9585. -+# opacity = 0.3 (or any other float) -> translucent
  9586. -+#
  9587. -+fun set_progress_label_opacity (opacity) {
  9588. -+    # the label
  9589. -+    progress_label.sprite.SetOpacity (opacity);
  9590. -+    
  9591. -+    # Make the slot available again when hiding the bar
  9592. -+    # So that another bar can take its place
  9593. -+    if (opacity == 0) {
  9594. -+        progress_label.is_available = 1;
  9595. -+        progress_label.device = "";
  9596. -+    }
  9597. -+}
  9598. ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
  9599. ++      list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
  9600. ++      unique=`for i in $$list; do \
  9601. ++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  9602. ++        done | \
  9603. ++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  9604. ++            END { if (nonempty) { for (i in files) print i; }; }'`; \
  9605. ++      mkid -fID $$unique
  9606. ++tags: TAGS
  9607.  +
  9608. -+# Set up a new Progress Bar
  9609. -+#
  9610. -+# TODO: Make it possible to reuse (rather than recreate) a bar
  9611. -+#       if .is_available = 1. Ideally this would just reset the
  9612. -+#       label, the associated
  9613. -+#       device and the image size of the sprite.
  9614. ++TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  9615. ++              $(TAGS_FILES) $(LISP)
  9616. ++      set x; \
  9617. ++      here=`pwd`; \
  9618. ++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  9619. ++      unique=`for i in $$list; do \
  9620. ++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  9621. ++        done | \
  9622. ++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  9623. ++            END { if (nonempty) { for (i in files) print i; }; }'`; \
  9624. ++      shift; \
  9625. ++      if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
  9626. ++        test -n "$$unique" || unique=$$empty_fix; \
  9627. ++        if test $$# -gt 0; then \
  9628. ++          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  9629. ++            "$$@" $$unique; \
  9630. ++        else \
  9631. ++          $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
  9632. ++            $$unique; \
  9633. ++        fi; \
  9634. ++      fi
  9635. ++ctags: CTAGS
  9636. ++CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
  9637. ++              $(TAGS_FILES) $(LISP)
  9638. ++      list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
  9639. ++      unique=`for i in $$list; do \
  9640. ++          if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  9641. ++        done | \
  9642. ++        $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
  9643. ++            END { if (nonempty) { for (i in files) print i; }; }'`; \
  9644. ++      test -z "$(CTAGS_ARGS)$$unique" \
  9645. ++        || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
  9646. ++           $$unique
  9647.  +
  9648. -+fun init_progress_label (device, status_string) {
  9649. -+    # Make the slot unavailable
  9650. -+    global.progress_label.is_available = 0;
  9651. -+    progress_label.progress = 0;
  9652. -+    progress_label.device = device;
  9653. -+    progress_label.status_string = status_string;
  9654. -+}
  9655. ++GTAGS:
  9656. ++      here=`$(am__cd) $(top_builddir) && pwd` \
  9657. ++        && $(am__cd) $(top_srcdir) \
  9658. ++        && gtags -i $(GTAGS_ARGS) "$$here"
  9659.  +
  9660. -+# See if the progress label is keeping track of the fsck
  9661. -+# of "device"
  9662. -+#
  9663. -+fun device_has_progress_label (device) {
  9664. -+    #DebugBottom ("label device = " + progress_label.device + " checking device " + device);
  9665. -+    return (progress_label.device == device);
  9666. -+}
  9667. ++distclean-tags:
  9668. ++      -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
  9669.  +
  9670. -+# Update the Progress bar which corresponds to index
  9671. -+#
  9672. -+fun update_progress_label (progress) {
  9673. -+    # If progress is NULL then we just refresh the label.
  9674. -+    # This happens when only counter.total has changed.
  9675. -+    if (progress != NULL) {
  9676. -+        progress_label.progress = progress;
  9677. -+    
  9678. -+        #Debug("device " + progress_label.device + " progress " + progress);
  9679. -+    
  9680. -+        # If progress >= 100% hide the label and make it available again
  9681. -+        if (progress >= 100) {
  9682. -+            set_progress_label_opacity (0);
  9683. -+        
  9684. -+            # See if we any other fsck check is complete
  9685. -+            # and, if so, hide the progress bars and the labels
  9686. -+            on_fsck_completed ();
  9687. -+        
  9688. -+            return 0;
  9689. -+        }
  9690. -+    }    
  9691. -+    # Update progress label here
  9692. -+    #
  9693. -+    # FIXME: the queue logic from this theme should really be moved into mountall
  9694. -+    # instead of using string replacement to deal with localised strings.
  9695. -+    label = StringReplace (progress_label.status_string[0], "%1$d", global.counter.current);
  9696. -+    label = StringReplace (label, "%2$d",  global.counter.total);
  9697. -+    label = StringReplace (label, "%3$d",  progress_label.progress);
  9698. -+    label = StringReplace (label, "%%",  "%");
  9699. ++distdir: $(DISTFILES)
  9700. ++      @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  9701. ++      topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
  9702. ++      list='$(DISTFILES)'; \
  9703. ++        dist_files=`for file in $$list; do echo $$file; done | \
  9704. ++        sed -e "s|^$$srcdirstrip/||;t" \
  9705. ++            -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
  9706. ++      case $$dist_files in \
  9707. ++        */*) $(MKDIR_P) `echo "$$dist_files" | \
  9708. ++                         sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
  9709. ++                         sort -u` ;; \
  9710. ++      esac; \
  9711. ++      for file in $$dist_files; do \
  9712. ++        if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
  9713. ++        if test -d $$d/$$file; then \
  9714. ++          dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
  9715. ++          if test -d "$(distdir)/$$file"; then \
  9716. ++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  9717. ++          fi; \
  9718. ++          if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
  9719. ++            cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
  9720. ++            find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
  9721. ++          fi; \
  9722. ++          cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
  9723. ++        else \
  9724. ++          test -f "$(distdir)/$$file" \
  9725. ++          || cp -p $$d/$$file "$(distdir)/$$file" \
  9726. ++          || exit 1; \
  9727. ++        fi; \
  9728. ++      done
  9729. ++check-am: all-am
  9730. ++check: check-am
  9731. ++all-am: Makefile $(LTLIBRARIES)
  9732. ++installdirs:
  9733. ++      for dir in "$(DESTDIR)$(plugindir)"; do \
  9734. ++        test -z "$$dir" || $(MKDIR_P) "$$dir"; \
  9735. ++      done
  9736. ++install: install-am
  9737. ++install-exec: install-exec-am
  9738. ++install-data: install-data-am
  9739. ++uninstall: uninstall-am
  9740.  +
  9741. -+    progress_label = get_fsck_label (label, 0);
  9742. -+    #progress_label.progress = progress;
  9743. ++install-am: all-am
  9744. ++      @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
  9745.  +
  9746. -+    progress_label.sprite = Sprite (progress_label.image);
  9747. -+    
  9748. -+    # Set up the bar
  9749. -+    progress_label.sprite.SetPosition(progress_label.x, progress_label.y, 1);
  9750. ++installcheck: installcheck-am
  9751. ++install-strip:
  9752. ++      $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
  9753. ++        install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
  9754. ++        `test -z '$(STRIP)' || \
  9755. ++          echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
  9756. ++mostlyclean-generic:
  9757.  +
  9758. -+    set_progress_label_opacity (1);
  9759. ++clean-generic:
  9760.  +
  9761. -+}
  9762. ++distclean-generic:
  9763. ++      -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
  9764. ++      -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
  9765.  +
  9766. -+# Refresh the label so as to update counters
  9767. -+fun refresh_progress_label () {
  9768. -+    update_progress_label (NULL);
  9769. -+}
  9770. ++maintainer-clean-generic:
  9771. ++      @echo "This command is intended for maintainers to use"
  9772. ++      @echo "it deletes files that may require special tools to rebuild."
  9773. ++      -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
  9774. ++clean: clean-am
  9775.  +
  9776. -+#----------------------------------------- FSCK Queue ----------------------------------
  9777. ++clean-am: clean-generic clean-libtool clean-pluginLTLIBRARIES \
  9778. ++      mostlyclean-am
  9779.  +
  9780. -+# Initialise the fsck queue
  9781. -+fun init_queue () {
  9782. -+    global.fsck_queue[0].device;
  9783. -+    global.fsck_queue[0].progress;
  9784. -+    global.fsck_queue.counter = 0;
  9785. -+    global.fsck_queue.biggest_item = 0;    
  9786. -+}
  9787. ++distclean: distclean-am
  9788. ++      -rm -rf ./$(DEPDIR)
  9789. ++      -rm -f Makefile
  9790. ++distclean-am: clean-am distclean-compile distclean-generic \
  9791. ++      distclean-tags
  9792.  +
  9793. -+fun clear_queue () {
  9794. -+    global.fsck_queue = NULL;
  9795. -+    init_queue ();
  9796. -+}
  9797. ++dvi: dvi-am
  9798.  +
  9799. -+# Return either the device index in the queue or -1
  9800. -+fun queue_look_up_by_device (device) {
  9801. -+    for (i=0; i <= fsck_queue.biggest_item; i++) {
  9802. -+        if ((fsck_queue[i]) && (fsck_queue[i].device == device))
  9803. -+            return i;
  9804. -+    }
  9805. -+    return -1;
  9806. -+}
  9807. ++dvi-am:
  9808. ++
  9809. ++html: html-am
  9810.  +
  9811. -+# Keep track of an fsck process in the queue
  9812. -+fun add_fsck_to_queue (device, progress) {
  9813. -+    # Look for an empty slot in the queue
  9814. -+    for (i=0; global.fsck_queue[i].device; i++) {
  9815. -+        continue;
  9816. -+    }
  9817. -+    local.index = i;
  9818. -+    
  9819. -+    # Set device and progress
  9820. -+    global.fsck_queue[local.index].device = device;
  9821. -+    global.fsck_queue[local.index].progress = progress;
  9822. -+    
  9823. -+    # Increase the queue counter
  9824. -+    global.fsck_queue.counter++;
  9825. -+    
  9826. -+    # Update the max index of the array for iterations
  9827. -+    if (local.index > global.fsck_queue.biggest_item)
  9828. -+        global.fsck_queue.biggest_item = local.index;
  9829. -+    
  9830. -+    #DebugMedium ("Adding " + device + " at " + local.index);
  9831. -+}
  9832. ++html-am:
  9833.  +
  9834. -+fun is_queue_empty () {
  9835. -+    return (fsck_queue.counter == 0);
  9836. -+}
  9837. ++info: info-am
  9838.  +
  9839. -+fun is_progress_label_available () {
  9840. -+    return (progress_label.is_available == 1);
  9841. -+}
  9842. ++info-am:
  9843.  +
  9844. ++install-data-am: install-pluginLTLIBRARIES
  9845.  +
  9846. -+# This should cover the case in which the fsck checks in
  9847. -+# the queue are completed before the ones showed in the
  9848. -+# progress label
  9849. -+fun on_queued_fsck_completed () {
  9850. -+    if (!is_queue_empty ())
  9851. -+        return;
  9852. -+    
  9853. -+    # Hide the extra label, if any
  9854. -+    #if (progress_bar.extra_label.sprite)
  9855. -+    #    progress_bar.extra_label.sprite.SetOpacity(0);
  9856. -+}
  9857. ++install-dvi: install-dvi-am
  9858.  +
  9859. -+fun remove_fsck_from_queue (index) {
  9860. -+    # Free memory which was previously allocated for
  9861. -+    # device and progress
  9862. -+    global.fsck_queue[index].device = NULL;
  9863. -+    global.fsck_queue[index].progress = NULL;
  9864. ++install-dvi-am:
  9865.  +
  9866. -+    # Decrease the queue counter
  9867. -+    global.fsck_queue.counter--;
  9868. -+    
  9869. -+    # See if there are other processes in the queue
  9870. -+    # if not, clear the extra_label
  9871. -+    on_queued_fsck_completed ();
  9872. -+}
  9873. ++install-exec-am:
  9874.  +
  9875. -+fun on_fsck_completed () {
  9876. -+    # We have moved on to tracking the next fsck
  9877. -+    increase_current_fsck_count ();
  9878. ++install-html: install-html-am
  9879.  +
  9880. -+    if (!is_progress_label_available ())
  9881. -+        return;
  9882. -+    
  9883. -+    if (!is_queue_empty ())
  9884. -+        return;
  9885. -+    
  9886. -+    # Hide the progress label
  9887. -+    if (progress_label.sprite)
  9888. -+        progress_label.sprite.SetOpacity (0);
  9889. -+    
  9890. -+    # Clear the queue
  9891. -+    clear_queue ();
  9892. ++install-html-am:
  9893.  +
  9894. -+    # Clear the fsck counter
  9895. -+    clear_fsck_count ();
  9896. -+}
  9897. ++install-info: install-info-am
  9898.  +
  9899. -+# Update an fsck process that we keep track of in the queue
  9900. -+fun update_progress_in_queue (index, device, progress) {
  9901. -+    # If the fsck is complete, remove it from the queue
  9902. -+    if (progress >= 100) {
  9903. -+        remove_fsck_from_queue (index);
  9904. -+        on_queued_fsck_completed ();
  9905. -+        return;
  9906. -+    }
  9907. -+    
  9908. -+    global.fsck_queue[index].device = device;
  9909. -+    global.fsck_queue[index].progress = progress;
  9910. -+    
  9911. -+}
  9912. ++install-info-am:
  9913.  +
  9914. -+# TODO: Move it to some function
  9915. -+# Create an empty queue
  9916. -+#init_queue ();
  9917. ++install-man:
  9918.  +
  9919. ++install-pdf: install-pdf-am
  9920.  +
  9921. -+#----------------------------------------- FSCK Functions ------------------------------
  9922. ++install-pdf-am:
  9923.  +
  9924. ++install-ps: install-ps-am
  9925.  +
  9926. -+# Either add a new bar for fsck checks or update an existing bar
  9927. -+#
  9928. -+# NOTE: no more than "progress_bar.max_number" bars are allowed
  9929. -+#
  9930. -+fun fsck_check (device, progress, status_string) {
  9931. ++install-ps-am:
  9932.  +
  9933. -+    # The 1st time this will take place
  9934. -+    if (!global.progress_label) {
  9935. -+        # Increase the fsck counter
  9936. -+        increase_fsck_count ();
  9937. ++installcheck-am:
  9938.  +
  9939. -+        # Set up a new label for the check
  9940. -+        init_progress_label (device, status_string);
  9941. -+        update_progress_label (progress);
  9942. ++maintainer-clean: maintainer-clean-am
  9943. ++      -rm -rf ./$(DEPDIR)
  9944. ++      -rm -f Makefile
  9945. ++maintainer-clean-am: distclean-am maintainer-clean-generic
  9946.  +
  9947. -+        return;
  9948. -+    }
  9949. ++mostlyclean: mostlyclean-am
  9950.  +
  9951. -+    
  9952. -+    if (device_has_progress_label (device)) {
  9953. -+        # Update the progress of the existing label
  9954. -+        update_progress_label (progress);
  9955. -+    }
  9956. -+    else {
  9957. -+        # See if there's already a slot in the queue for the device
  9958. -+        local.queue_device_index = queue_look_up_by_device(device);
  9959. ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \
  9960. ++      mostlyclean-libtool
  9961.  +
  9962. -+        # See if the progress_label is available
  9963. -+        if (progress_label.is_available) {
  9964. -+            
  9965. -+#            local.my_string = "available index " + local.available_index + " progress_bar counter is " + progress_bar.counter;
  9966. -+#            Debug(local.my_string);
  9967. -+            
  9968. -+                
  9969. -+            # If the fsck check for the device was in the queue, then
  9970. -+            # remove it from the queue
  9971. -+            if (local.queue_device_index >= 0) {
  9972. -+                remove_fsck_from_queue (index);
  9973. -+            }
  9974. -+            else {
  9975. -+                # Increase the fsck counter
  9976. -+                increase_fsck_count ();
  9977. -+            }
  9978. -+            
  9979. -+#            local.my_string += local.message;
  9980. -+            #Debug("setting new label for device " + device + " progress " + progress);
  9981. ++pdf: pdf-am
  9982.  +
  9983. -+            # Set up a new label for the check
  9984. -+            init_progress_label (device, status_string);
  9985. -+            update_progress_label (progress);
  9986. -+            
  9987. -+        }
  9988. -+        # If the progress_label is not available
  9989. -+        else {
  9990. -+            
  9991. -+            # If the fsck check for the device is already in the queue
  9992. -+            # just update its progress in the queue
  9993. -+            if (local.queue_device_index >= 0) {
  9994. -+                #DebugMedium("Updating queue at " + local.queue_device_index + " for device " + device);
  9995. -+                update_progress_in_queue (local.queue_device_index, device, progress);
  9996. -+            }
  9997. -+            # Otherwise add the check to the queue
  9998. -+            else {
  9999. -+                #DebugMedium("Adding device " + device + " to queue at " + local.queue_device_index);
  10000. -+                add_fsck_to_queue (device, progress);
  10001. ++pdf-am:
  10002.  +
  10003. -+                # Increase the fsck counter
  10004. -+                increase_fsck_count ();
  10005. ++ps: ps-am
  10006.  +
  10007. -+                refresh_progress_label ();
  10008. -+            }
  10009. -+            
  10010. -+        }
  10011. -+    }
  10012. -+    
  10013. -+#    if (!is_queue_empty ()) {
  10014. -+#        DebugBottom("Extra label for "+ device);
  10015. -+    #}
  10016. -+#    else {
  10017. -+#        DebugBottom("No extra label for " + device + ". 1st Device in the queue "+ fsck_queue[0].device + " counter = " + global.fsck_queue.counter);
  10018. -+#    }
  10019. -+}
  10020. ++ps-am:
  10021.  +
  10022. ++uninstall-am: uninstall-pluginLTLIBRARIES
  10023.  +
  10024. -+#-----------------------------------------Update Status stuff --------------------------
  10025. -+#
  10026. -+# The update_status_callback is what we can use to pass plymouth whatever we want so
  10027. -+# as to make use of features which are available only in this program (as opposed to
  10028. -+# being available for any theme for the script plugin).
  10029. -+#
  10030. -+# Example:
  10031. -+#
  10032. -+#   Thanks to the current implementation, some scripts can call "plymouth --update=fsck:sda1:40"
  10033. -+#   and this program will know that 1) we're performing and fsck check, 2) we're checking sda1,
  10034. -+#   3) the program should set the label progress to 40%
  10035. -+#
  10036. -+# Other features can be easily added by parsing the string that we pass plymouth with "--update"
  10037. -+#
  10038. -+fun update_status_callback (status) {
  10039. -+#    Debug(status);
  10040. -+    if (!status) return;
  10041. -+    
  10042. -+    string_it = 0;
  10043. -+    update_strings[string_it] = "";
  10044. -+    
  10045. -+    for (i=0; (String(status).CharAt(i) != ""); i++) {
  10046. -+        local.temp_char = String(status).CharAt(i);
  10047. -+        if (temp_char != ":")
  10048. -+            update_strings[string_it] += temp_char;
  10049. -+        else
  10050. -+            update_strings[++string_it] = "";
  10051. -+    }
  10052. -+    
  10053. -+#    my_string = update_strings[0] + " " + update_strings[1] + " " + update_strings[2];
  10054. -+#    Debug(my_string);
  10055. -+    # Let's assume that we're dealing with these strings fsck:sda1:40
  10056. -+    if ((string_it >= 2) && (update_strings[0] == "fsck")) {
  10057. -+        
  10058. -+        device = update_strings[1];
  10059. -+        progress = update_strings[2];
  10060. -+        status_string[0] = update_strings[3]; # "Checking disk %1$d of %2$d (%3$d %% complete)"
  10061. -+        if (!status_string[0])
  10062. -+            status_string[0] = "Checking disk %1$d of %2$d (%3$d %% complete)";
  10063. -+        
  10064. -+        if ((device != "") && (progress != "")) {
  10065. -+            progress = StringToInteger (progress);
  10066. -+        
  10067. -+            # Make sure that the fsck_queue is initialised
  10068. -+            if (!global.fsck_queue)
  10069. -+                init_queue ();
  10070. ++.MAKE: install-am install-strip
  10071.  +
  10072. -+            # Make sure that the fsck counter is initialised
  10073. -+            if (!global.counter)
  10074. -+                init_fsck_count ();
  10075. ++.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
  10076. ++      clean-libtool clean-pluginLTLIBRARIES ctags distclean \
  10077. ++      distclean-compile distclean-generic distclean-libtool \
  10078. ++      distclean-tags distdir dvi dvi-am html html-am info info-am \
  10079. ++      install install-am install-data install-data-am install-dvi \
  10080. ++      install-dvi-am install-exec install-exec-am install-html \
  10081. ++      install-html-am install-info install-info-am install-man \
  10082. ++      install-pdf install-pdf-am install-pluginLTLIBRARIES \
  10083. ++      install-ps install-ps-am install-strip installcheck \
  10084. ++      installcheck-am installdirs maintainer-clean \
  10085. ++      maintainer-clean-generic mostlyclean mostlyclean-compile \
  10086. ++      mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
  10087. ++      tags uninstall uninstall-am uninstall-pluginLTLIBRARIES
  10088. ++
  10089. ++
  10090. ++# Tell versions [3.59,3.63) of GNU make to not export all variables.
  10091. ++# Otherwise a system limit (for SysV at least) may be exceeded.
  10092. ++.NOEXPORT:
  10093. +--- plymouth-0.8.2.orig/src/client/ply-boot-client.h
  10094. ++++ plymouth-0.8.2/src/client/ply-boot-client.h
  10095. +@@ -129,6 +129,7 @@ void ply_boot_client_ask_daemon_has_acti
  10096. +                                                ply_boot_client_response_handler_t  handler,
  10097. +                                                ply_boot_client_response_handler_t  failed_handler,
  10098. +                                                void                               *user_data);
  10099. ++void ply_boot_client_flush (ply_boot_client_t *client);
  10100. + void ply_boot_client_disconnect (ply_boot_client_t *client);
  10101. + void ply_boot_client_attach_to_event_loop (ply_boot_client_t *client,
  10102. +                                            ply_event_loop_t  *loop);
  10103. +--- plymouth-0.8.2.orig/src/client/Makefile.in
  10104. ++++ plymouth-0.8.2/src/client/Makefile.in
  10105. +@@ -228,6 +228,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10106. + PACKAGE_NAME = @PACKAGE_NAME@
  10107. + PACKAGE_STRING = @PACKAGE_STRING@
  10108. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10109. ++PACKAGE_URL = @PACKAGE_URL@
  10110. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10111. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10112. + PANGO_LIBS = @PANGO_LIBS@
  10113. +--- plymouth-0.8.2.orig/src/client/ply-boot-client.c
  10114. ++++ plymouth-0.8.2/src/client/ply-boot-client.c
  10115. +@@ -257,15 +257,32 @@ ply_boot_client_process_incoming_replies
  10116. +       return;
  10117. +     }
  10118. +
  10119. +-  request_node = ply_list_get_first_node (client->requests_waiting_for_replies);
  10120. +-  assert (request_node != NULL);
  10121. +-
  10122. +-  request = (ply_boot_client_request_t *) ply_list_node_get_data (request_node);
  10123. +-  assert (request != NULL);
  10124. +-
  10125. +   if (!ply_read (client->socket_fd, byte, sizeof (uint8_t)))
  10126. +     goto out;
  10127. +
  10128. ++  for (request_node = ply_list_get_first_node (client->requests_waiting_for_replies);
  10129. ++       request_node; request_node = ply_list_get_next_node (client->requests_waiting_for_replies, request_node))
  10130. ++    {
  10131. ++      assert (request_node != NULL);
  10132. ++      request = (ply_boot_client_request_t *) ply_list_node_get_data (request_node);
  10133. ++      assert (request != NULL);
  10134.  +
  10135. -+#            if (!global.progress_bar.extra_label.sprite)
  10136. -+#                create_extra_fsck_label ();
  10137. -+            
  10138. -+            # Keep track of the fsck check
  10139. -+            fsck_check (device, progress, status_string);
  10140. ++      if (! strcmp (request->command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_PASSWORD)
  10141. ++          || ! strcmp (request->command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_QUESTION)
  10142. ++          || ! strcmp (request->command, PLY_BOOT_PROTOCOL_REQUEST_TYPE_KEYSTROKE))
  10143. ++        {
  10144. ++          if (! memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ANSWER, sizeof (uint8_t))
  10145. ++              || ! memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_NO_ANSWER, sizeof (uint8_t)))
  10146. ++            break;
  10147. ++        }
  10148. ++      else
  10149. ++        {
  10150. ++          if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ANSWER, sizeof (uint8_t))
  10151. ++              && memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_NO_ANSWER, sizeof (uint8_t)))
  10152. ++            break;
  10153.  +        }
  10154. -+        
  10155.  +    }
  10156.  +
  10157. -+}
  10158. -+Plymouth.SetUpdateStatusFunction (update_status_callback);
  10159. -+
  10160. -+#-----------------------------------------Display Question stuff -----------------------
  10161. -+#
  10162. -+# TODO: Implement this if needed
  10163. -+#
  10164. -+# The callback function is called when the display should display a question dialogue.
  10165. -+# First arg is prompt string, the second is the entry contents.
  10166. -+#fun display_question_callback (prompt_string, entry_contents)
  10167. -+#{
  10168. -+# time++;
  10169. -+#}
  10170. -+#
  10171. -+#Plymouth.SetDisplayQuestionFunction (display_question_callback);
  10172. -+
  10173. -+#-----------------------------------------Refresh stuff --------------------------------
  10174. -+#
  10175. -+# Calling Plymouth.SetRefreshFunction with a function will set that function to be
  10176. -+# called up to 50 times every second, e.g.
  10177. -+#
  10178. -+# NOTE: if a refresh function is not set, Plymouth doesn't seem to be able to update
  10179. -+#       the screen correctly
  10180. -+#
  10181. -+fun refresh_callback ()
  10182. +   if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ACK, sizeof (uint8_t)) == 0)
  10183. +       request->handler (request->user_data, client);
  10184. +   else if (memcmp (byte, PLY_BOOT_PROTOCOL_RESPONSE_TYPE_ANSWER, sizeof (uint8_t)) == 0)
  10185. +@@ -743,6 +760,17 @@ ply_boot_client_tell_daemon_about_error
  10186. + }
  10187. +
  10188. + void
  10189. ++ply_boot_client_flush (ply_boot_client_t *client)
  10190.  +{
  10191. -+    draw_logo ();
  10192. -+}
  10193. -+Plymouth.SetRefreshFunction (refresh_callback);
  10194. -+
  10195. ++  assert (client != NULL);
  10196.  +
  10197. -+#-----------------------------------------Display Normal stuff -----------------------
  10198. -+#
  10199. -+# The callback function is called when the display should return to normal
  10200. -+fun display_normal_callback ()
  10201. -+{
  10202. -+    global.status = "normal";
  10203. -+    if (global.password_dialogue) {
  10204. -+        password_dialogue_opacity (0);
  10205. -+        global.password_dialogue = NULL;
  10206. -+        if (message_notification[2].sprite) hide_message(2);
  10207. -+        prompt_active = 0;
  10208. ++  while (ply_list_get_length (client->requests_to_send) > 0)
  10209. ++    {
  10210. ++      ply_event_loop_process_pending_events (client->loop);
  10211.  +    }
  10212. -+    
  10213. -+    if (message_notification[1].sprite) show_message (1);
  10214. -+    
  10215. -+    
  10216.  +}
  10217.  +
  10218. -+Plymouth.SetDisplayNormalFunction (display_normal_callback);
  10219. -+
  10220. -+
  10221. -+#----------------------------------------- Quit --------------------------------
  10222. ++void
  10223. + ply_boot_client_disconnect (ply_boot_client_t *client)
  10224. + {
  10225. +   assert (client != NULL);
  10226. +--- plymouth-0.8.2.orig/src/client/tests/Makefile.in
  10227. ++++ plymouth-0.8.2/src/client/tests/Makefile.in
  10228. +@@ -121,6 +121,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10229. + PACKAGE_NAME = @PACKAGE_NAME@
  10230. + PACKAGE_STRING = @PACKAGE_STRING@
  10231. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10232. ++PACKAGE_URL = @PACKAGE_URL@
  10233. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10234. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10235. + PANGO_LIBS = @PANGO_LIBS@
  10236. +--- plymouth-0.8.2.orig/src/libply-splash-graphics/Makefile.in
  10237. ++++ plymouth-0.8.2/src/libply-splash-graphics/Makefile.in
  10238. +@@ -186,6 +186,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10239. + PACKAGE_NAME = @PACKAGE_NAME@
  10240. + PACKAGE_STRING = @PACKAGE_STRING@
  10241. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10242. ++PACKAGE_URL = @PACKAGE_URL@
  10243. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10244. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10245. + PANGO_LIBS = @PANGO_LIBS@
  10246. +--- plymouth-0.8.2.orig/src/viewer/Makefile.in
  10247. ++++ plymouth-0.8.2/src/viewer/Makefile.in
  10248. +@@ -215,6 +215,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10249. + PACKAGE_NAME = @PACKAGE_NAME@
  10250. + PACKAGE_STRING = @PACKAGE_STRING@
  10251. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10252. ++PACKAGE_URL = @PACKAGE_URL@
  10253. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10254. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10255. + PANGO_LIBS = @PANGO_LIBS@
  10256. +--- plymouth-0.8.2.orig/src/libply-splash-core/ply-pixel-display.h
  10257. ++++ plymouth-0.8.2/src/libply-splash-core/ply-pixel-display.h
  10258. +@@ -48,6 +48,7 @@ void ply_pixel_display_free (ply_pixel_d
  10259. +
  10260. + unsigned long ply_pixel_display_get_width  (ply_pixel_display_t *display);
  10261. + unsigned long ply_pixel_display_get_height (ply_pixel_display_t *display);
  10262. ++unsigned int ply_pixel_display_get_bits_per_pixel (ply_pixel_display_t *display);
  10263. +
  10264. + void ply_pixel_display_set_draw_handler (ply_pixel_display_t              *display,
  10265. +                                          ply_pixel_display_draw_handler_t  draw_handler,
  10266. +--- plymouth-0.8.2.orig/src/libply-splash-core/ply-renderer-plugin.h
  10267. ++++ plymouth-0.8.2/src/libply-splash-core/ply-renderer-plugin.h
  10268. +@@ -54,6 +54,8 @@ typedef struct
  10269. +
  10270. +   ply_pixel_buffer_t * (* get_buffer_for_head) (ply_renderer_backend_t *backend,
  10271. +                                                 ply_renderer_head_t    *head);
  10272. ++  unsigned int (* get_bits_per_pixel_for_head) (ply_renderer_backend_t *backend,
  10273. ++                                                ply_renderer_head_t    *head);
  10274. +
  10275. +   ply_renderer_input_source_t * (* get_input_source) (ply_renderer_backend_t *backend);
  10276. +   bool                 (* open_input_source) (ply_renderer_backend_t *backend,
  10277. +--- plymouth-0.8.2.orig/src/libply-splash-core/ply-pixel-display.c
  10278. ++++ plymouth-0.8.2/src/libply-splash-core/ply-pixel-display.c
  10279. +@@ -51,6 +51,7 @@ struct _ply_pixel_display
  10280. +
  10281. +   unsigned long width;
  10282. +   unsigned long height;
  10283. ++  unsigned int bits_per_pixel;
  10284. +
  10285. +   ply_pixel_display_draw_handler_t draw_handler;
  10286. +   void *draw_handler_user_data;
  10287. +@@ -79,6 +80,9 @@ ply_pixel_display_new (ply_renderer_t  
  10288. +   display->width = size.width;
  10289. +   display->height = size.height;
  10290. +
  10291. ++  display->bits_per_pixel = ply_renderer_get_bits_per_pixel_for_head (renderer,
  10292. ++                                                                      head);
  10293.  +
  10294. -+# TODO: Maybe we should also hide any other dialog
  10295. -+# Show the logo and make the progress indicator look full when on exit
  10296. -+fun quit_callback ()
  10297. +   return display;
  10298. + }
  10299. +
  10300. +@@ -94,6 +98,12 @@ ply_pixel_display_get_height (ply_pixel_
  10301. +   return display->height;
  10302. + }
  10303. +
  10304. ++unsigned int
  10305. ++ply_pixel_display_get_bits_per_pixel (ply_pixel_display_t *display)
  10306.  +{
  10307. -+    logo.sprite.SetOpacity (1);
  10308. -+    switch_on_bullets ();
  10309. ++  return display->bits_per_pixel;
  10310.  +}
  10311.  +
  10312. -+Plymouth.SetQuitFunction(quit_callback);
  10313. ---- /dev/null
  10314. -+++ plymouth-0.8.2/themes/ubuntu-logo/Makefile.am
  10315. -@@ -0,0 +1,22 @@
  10316. -+themedir = $(datadir)/plymouth/themes/ubuntu-logo
  10317. -+nodist_theme_DATA = ubuntu-logo.plymouth
  10318. -+dist_theme_DATA =   ubuntu-logo.script                                \
  10319. -+                    ubuntu_logo.png                                   \
  10320. -+                    ubuntu_logo16.png                                 \
  10321. -+                    password_field.png                                \
  10322. -+                    password_field16.png                              \
  10323. -+                    progress_dot_off.png                              \
  10324. -+                    progress_dot_off16.png                            \
  10325. -+                    progress_dot_on.png                               \
  10326. -+                    progress_dot_on16.png
  10327. -+
  10328. -+
  10329. + static void
  10330. + ply_pixel_display_flush (ply_pixel_display_t *display)
  10331. + {
  10332. +--- plymouth-0.8.2.orig/src/libply-splash-core/ply-renderer.c
  10333. ++++ plymouth-0.8.2/src/libply-splash-core/ply-renderer.c
  10334. +@@ -231,6 +231,7 @@ ply_renderer_open (ply_renderer_t *rende
  10335. +       PLYMOUTH_PLUGIN_PATH "renderers/x11.so",
  10336. +       PLYMOUTH_PLUGIN_PATH "renderers/drm.so",
  10337. +       PLYMOUTH_PLUGIN_PATH "renderers/frame-buffer.so",
  10338. ++      PLYMOUTH_PLUGIN_PATH "renderers/vga16fb.so",
  10339. +       NULL
  10340. +     };
  10341. +
  10342. +@@ -310,6 +311,21 @@ ply_renderer_get_buffer_for_head (ply_re
  10343. +                                                           head);
  10344. + }
  10345. +
  10346. ++unsigned int
  10347. ++ply_renderer_get_bits_per_pixel_for_head (ply_renderer_t      *renderer,
  10348. ++                                          ply_renderer_head_t *head)
  10349. ++{
  10350. ++  assert (renderer != NULL);
  10351. ++  assert (renderer->plugin_interface != NULL);
  10352. ++  assert (head != NULL);
  10353.  +
  10354. -+MAINTAINERCLEANFILES = Makefile.in ubuntu-logo.plymouth
  10355. -+CLEANFILES = ubuntu-logo.plymouth
  10356. ++  if (!renderer->plugin_interface->get_bits_per_pixel_for_head)
  10357. ++    return 0;
  10358.  +
  10359. -+ubuntu-logo.plymouth: $(srcdir)/ubuntu-logo.plymouth.in
  10360. -+      sed -e 's,[@]PLYMOUTH_THEME_PATH[@],$(PLYMOUTH_THEME_PATH),g' \
  10361. -+             $(srcdir)/ubuntu-logo.plymouth.in > ubuntu-logo.plymouth
  10362. ++  return renderer->plugin_interface->get_bits_per_pixel_for_head (renderer->backend,
  10363. ++                                                                  head);
  10364. ++}
  10365.  +
  10366. -+EXTRA_DIST = ubuntu-logo.plymouth.in
  10367. ---- plymouth-0.8.2.orig/themes/glow/Makefile.in
  10368. -+++ plymouth-0.8.2/themes/glow/Makefile.in
  10369. -@@ -139,6 +139,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10370. + void
  10371. + ply_renderer_flush_head (ply_renderer_t      *renderer,
  10372. +                          ply_renderer_head_t *head)
  10373. +--- plymouth-0.8.2.orig/src/libply-splash-core/Makefile.in
  10374. ++++ plymouth-0.8.2/src/libply-splash-core/Makefile.in
  10375. +@@ -185,6 +185,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10376. + PACKAGE_NAME = @PACKAGE_NAME@
  10377. + PACKAGE_STRING = @PACKAGE_STRING@
  10378. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10379. ++PACKAGE_URL = @PACKAGE_URL@
  10380. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10381. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10382. + PANGO_LIBS = @PANGO_LIBS@
  10383. +--- plymouth-0.8.2.orig/src/libply-splash-core/ply-renderer.h
  10384. ++++ plymouth-0.8.2/src/libply-splash-core/ply-renderer.h
  10385. +@@ -50,6 +50,8 @@ void ply_renderer_deactivate (ply_render
  10386. + ply_list_t *ply_renderer_get_heads (ply_renderer_t *renderer);
  10387. + ply_pixel_buffer_t *ply_renderer_get_buffer_for_head (ply_renderer_t      *renderer,
  10388. +                                                       ply_renderer_head_t *head);
  10389. ++unsigned int ply_renderer_get_bits_per_pixel_for_head (ply_renderer_t      *renderer,
  10390. ++                                                       ply_renderer_head_t *head);
  10391. +
  10392. + void ply_renderer_flush_head (ply_renderer_t      *renderer,
  10393. +                               ply_renderer_head_t *head);
  10394. +--- plymouth-0.8.2.orig/src/libply/Makefile.in
  10395. ++++ plymouth-0.8.2/src/libply/Makefile.in
  10396. +@@ -219,6 +219,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10397.   PACKAGE_NAME = @PACKAGE_NAME@
  10398.   PACKAGE_STRING = @PACKAGE_STRING@
  10399.   PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10400. @@ -17151,3 +16671,483 @@
  10401.   PACKAGE_VERSION = @PACKAGE_VERSION@
  10402.   PANGO_CFLAGS = @PANGO_CFLAGS@
  10403.   PANGO_LIBS = @PANGO_LIBS@
  10404. +--- plymouth-0.8.2.orig/src/libply/tests/Makefile.in
  10405. ++++ plymouth-0.8.2/src/libply/tests/Makefile.in
  10406. +@@ -342,6 +342,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10407. + PACKAGE_NAME = @PACKAGE_NAME@
  10408. + PACKAGE_STRING = @PACKAGE_STRING@
  10409. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10410. ++PACKAGE_URL = @PACKAGE_URL@
  10411. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10412. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10413. + PANGO_LIBS = @PANGO_LIBS@
  10414. +--- plymouth-0.8.2.orig/src/tests/Makefile.in
  10415. ++++ plymouth-0.8.2/src/tests/Makefile.in
  10416. +@@ -195,6 +195,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10417. + PACKAGE_NAME = @PACKAGE_NAME@
  10418. + PACKAGE_STRING = @PACKAGE_STRING@
  10419. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10420. ++PACKAGE_URL = @PACKAGE_URL@
  10421. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10422. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10423. + PANGO_LIBS = @PANGO_LIBS@
  10424. +--- plymouth-0.8.2.orig/scripts/Makefile.in
  10425. ++++ plymouth-0.8.2/scripts/Makefile.in
  10426. +@@ -144,6 +144,7 @@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
  10427. + PACKAGE_NAME = @PACKAGE_NAME@
  10428. + PACKAGE_STRING = @PACKAGE_STRING@
  10429. + PACKAGE_TARNAME = @PACKAGE_TARNAME@
  10430. ++PACKAGE_URL = @PACKAGE_URL@
  10431. + PACKAGE_VERSION = @PACKAGE_VERSION@
  10432. + PANGO_CFLAGS = @PANGO_CFLAGS@
  10433. + PANGO_LIBS = @PANGO_LIBS@
  10434. +--- plymouth-0.8.2.orig/build-tools/config.sub
  10435. ++++ plymouth-0.8.2/build-tools/config.sub
  10436. +@@ -4,7 +4,7 @@
  10437. + #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
  10438. + #   Free Software Foundation, Inc.
  10439. +
  10440. +-timestamp='2009-11-20'
  10441. ++timestamp='2009-06-11'
  10442. +
  10443. + # This file is (in principle) common to ALL GNU software.
  10444. + # The presence of a machine in this file suggests that SOME GNU software
  10445. +@@ -32,16 +32,13 @@ timestamp='2009-11-20'
  10446. +
  10447. +
  10448. + # Please send patches to <config-patches@gnu.org>.  Submit a context
  10449. +-# diff and a properly formatted GNU ChangeLog entry.
  10450. ++# diff and a properly formatted ChangeLog entry.
  10451. + #
  10452. + # Configuration subroutine to validate and canonicalize a configuration type.
  10453. + # Supply the specified configuration type as an argument.
  10454. + # If it is invalid, we print an error message on stderr and exit with code 1.
  10455. + # Otherwise, we print the canonical config type on stdout and succeed.
  10456. +
  10457. +-# You can get the latest version of this script from:
  10458. +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
  10459. +-
  10460. + # This file is supposed to be the same for all GNU packages
  10461. + # and recognize all the CPU types, system types and aliases
  10462. + # that are meaningful with *any* GNU software.
  10463. +@@ -152,7 +149,7 @@ case $os in
  10464. +       -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
  10465. +       -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
  10466. +       -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
  10467. +-      -apple | -axis | -knuth | -cray | -microblaze)
  10468. ++      -apple | -axis | -knuth | -cray)
  10469. +               os=
  10470. +               basic_machine=$1
  10471. +               ;;
  10472. +@@ -287,7 +284,6 @@ case $basic_machine in
  10473. +       | pdp10 | pdp11 | pj | pjl \
  10474. +       | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
  10475. +       | pyramid \
  10476. +-      | rx \
  10477. +       | score \
  10478. +       | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
  10479. +       | sh64 | sh64le \
  10480. +@@ -295,14 +291,13 @@ case $basic_machine in
  10481. +       | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
  10482. +       | spu | strongarm \
  10483. +       | tahoe | thumb | tic4x | tic80 | tron \
  10484. +-      | ubicom32 \
  10485. +       | v850 | v850e \
  10486. +       | we32k \
  10487. +       | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \
  10488. +       | z8k | z80)
  10489. +               basic_machine=$basic_machine-unknown
  10490. +               ;;
  10491. +-      m6811 | m68hc11 | m6812 | m68hc12 | picochip)
  10492. ++      m6811 | m68hc11 | m6812 | m68hc12)
  10493. +               # Motorola 68HC11/12.
  10494. +               basic_machine=$basic_machine-unknown
  10495. +               os=-none
  10496. +@@ -345,7 +340,7 @@ case $basic_machine in
  10497. +       | lm32-* \
  10498. +       | m32c-* | m32r-* | m32rle-* \
  10499. +       | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
  10500. +-      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
  10501. ++      | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
  10502. +       | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
  10503. +       | mips16-* \
  10504. +       | mips64-* | mips64el-* \
  10505. +@@ -373,7 +368,7 @@ case $basic_machine in
  10506. +       | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
  10507. +       | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
  10508. +       | pyramid-* \
  10509. +-      | romp-* | rs6000-* | rx-* \
  10510. ++      | romp-* | rs6000-* \
  10511. +       | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
  10512. +       | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
  10513. +       | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
  10514. +@@ -382,7 +377,6 @@ case $basic_machine in
  10515. +       | tahoe-* | thumb-* \
  10516. +       | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
  10517. +       | tron-* \
  10518. +-      | ubicom32-* \
  10519. +       | v850-* | v850e-* | vax-* \
  10520. +       | we32k-* \
  10521. +       | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
  10522. +@@ -732,9 +726,6 @@ case $basic_machine in
  10523. +               basic_machine=ns32k-utek
  10524. +               os=-sysv
  10525. +               ;;
  10526. +-        microblaze)
  10527. +-              basic_machine=microblaze-xilinx
  10528. +-              ;;
  10529. +       mingw32)
  10530. +               basic_machine=i386-pc
  10531. +               os=-mingw32
  10532. +@@ -1256,9 +1247,6 @@ case $os in
  10533. +         # First match some system type aliases
  10534. +         # that might get confused with valid system types.
  10535. +       # -solaris* is a basic system type, with this one exception.
  10536. +-        -auroraux)
  10537. +-              os=-auroraux
  10538. +-              ;;
  10539. +       -solaris1 | -solaris1.*)
  10540. +               os=`echo $os | sed -e 's|solaris1|sunos4|'`
  10541. +               ;;
  10542. +@@ -1280,8 +1268,8 @@ case $os in
  10543. +       # -sysv* is not here because it comes later, after sysvr4.
  10544. +       -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
  10545. +             | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
  10546. +-            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
  10547. +-            | -sym* | -kopensolaris* \
  10548. ++            | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
  10549. ++            | -kopensolaris* \
  10550. +             | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
  10551. +             | -aos* | -aros* \
  10552. +             | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
  10553. +@@ -1302,7 +1290,7 @@ case $os in
  10554. +             | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
  10555. +             | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
  10556. +             | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
  10557. +-            | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
  10558. ++            | -skyos* | -haiku* | -rdos* | -toppers* | -drops*)
  10559. +       # Remember, each alternative MUST END IN *, to match a version number.
  10560. +               ;;
  10561. +       -qnx*)
  10562. +--- plymouth-0.8.2.orig/build-tools/config.guess
  10563. ++++ plymouth-0.8.2/build-tools/config.guess
  10564. +@@ -4,7 +4,7 @@
  10565. + #   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
  10566. + #   Free Software Foundation, Inc.
  10567. +
  10568. +-timestamp='2009-11-20'
  10569. ++timestamp='2009-06-10'
  10570. +
  10571. + # This file is free software; you can redistribute it and/or modify it
  10572. + # under the terms of the GNU General Public License as published by
  10573. +@@ -27,16 +27,16 @@ timestamp='2009-11-20'
  10574. + # the same distribution terms that you use for the rest of that program.
  10575. +
  10576. +
  10577. +-# Originally written by Per Bothner.  Please send patches (context
  10578. +-# diff format) to <config-patches@gnu.org> and include a ChangeLog
  10579. +-# entry.
  10580. ++# Originally written by Per Bothner <per@bothner.com>.
  10581. ++# Please send patches to <config-patches@gnu.org>.  Submit a context
  10582. ++# diff and a properly formatted ChangeLog entry.
  10583. + #
  10584. + # This script attempts to guess a canonical system name similar to
  10585. + # config.sub.  If it succeeds, it prints the system name on stdout, and
  10586. + # exits with 0.  Otherwise, it exits with 1.
  10587. + #
  10588. +-# You can get the latest version of this script from:
  10589. +-# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
  10590. ++# The plan is that this can be called by configure scripts if you
  10591. ++# don't specify an explicit build system type.
  10592. +
  10593. + me=`echo "$0" | sed -e 's,.*/,,'`
  10594. +
  10595. +@@ -333,9 +333,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:$
  10596. +     sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
  10597. +       echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
  10598. +       exit ;;
  10599. +-    i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
  10600. +-      echo i386-pc-auroraux${UNAME_RELEASE}
  10601. +-      exit ;;
  10602. +     i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
  10603. +       eval $set_cc_for_build
  10604. +       SUN_ARCH="i386"
  10605. +@@ -810,12 +807,12 @@ EOF
  10606. +     i*:PW*:*)
  10607. +       echo ${UNAME_MACHINE}-pc-pw32
  10608. +       exit ;;
  10609. +-    *:Interix*:*)
  10610. ++    *:Interix*:[3456]*)
  10611. +       case ${UNAME_MACHINE} in
  10612. +           x86)
  10613. +               echo i586-pc-interix${UNAME_RELEASE}
  10614. +               exit ;;
  10615. +-          authenticamd | genuineintel | EM64T)
  10616. ++          EM64T | authenticamd | genuineintel)
  10617. +               echo x86_64-unknown-interix${UNAME_RELEASE}
  10618. +               exit ;;
  10619. +           IA64)
  10620. +@@ -857,20 +854,6 @@ EOF
  10621. +     i*86:Minix:*:*)
  10622. +       echo ${UNAME_MACHINE}-pc-minix
  10623. +       exit ;;
  10624. +-    alpha:Linux:*:*)
  10625. +-      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  10626. +-        EV5)   UNAME_MACHINE=alphaev5 ;;
  10627. +-        EV56)  UNAME_MACHINE=alphaev56 ;;
  10628. +-        PCA56) UNAME_MACHINE=alphapca56 ;;
  10629. +-        PCA57) UNAME_MACHINE=alphapca56 ;;
  10630. +-        EV6)   UNAME_MACHINE=alphaev6 ;;
  10631. +-        EV67)  UNAME_MACHINE=alphaev67 ;;
  10632. +-        EV68*) UNAME_MACHINE=alphaev68 ;;
  10633. +-        esac
  10634. +-      objdump --private-headers /bin/sh | grep -q ld.so.1
  10635. +-      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  10636. +-      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
  10637. +-      exit ;;
  10638. +     arm*:Linux:*:*)
  10639. +       eval $set_cc_for_build
  10640. +       if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
  10641. +@@ -893,17 +876,6 @@ EOF
  10642. +     frv:Linux:*:*)
  10643. +       echo frv-unknown-linux-gnu
  10644. +       exit ;;
  10645. +-    i*86:Linux:*:*)
  10646. +-      LIBC=gnu
  10647. +-      eval $set_cc_for_build
  10648. +-      sed 's/^        //' << EOF >$dummy.c
  10649. +-      #ifdef __dietlibc__
  10650. +-      LIBC=dietlibc
  10651. +-      #endif
  10652. +-EOF
  10653. +-      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
  10654. +-      echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
  10655. +-      exit ;;
  10656. +     ia64:Linux:*:*)
  10657. +       echo ${UNAME_MACHINE}-unknown-linux-gnu
  10658. +       exit ;;
  10659. +@@ -929,18 +901,39 @@ EOF
  10660. +       #endif
  10661. +       #endif
  10662. + EOF
  10663. +-      eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
  10664. ++      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
  10665. ++          /^CPU/{
  10666. ++              s: ::g
  10667. ++              p
  10668. ++          }'`"
  10669. +       test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
  10670. +       ;;
  10671. +     or32:Linux:*:*)
  10672. +       echo or32-unknown-linux-gnu
  10673. +       exit ;;
  10674. ++    ppc:Linux:*:*)
  10675. ++      echo powerpc-unknown-linux-gnu
  10676. ++      exit ;;
  10677. ++    ppc64:Linux:*:*)
  10678. ++      echo powerpc64-unknown-linux-gnu
  10679. ++      exit ;;
  10680. ++    alpha:Linux:*:*)
  10681. ++      case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
  10682. ++        EV5)   UNAME_MACHINE=alphaev5 ;;
  10683. ++        EV56)  UNAME_MACHINE=alphaev56 ;;
  10684. ++        PCA56) UNAME_MACHINE=alphapca56 ;;
  10685. ++        PCA57) UNAME_MACHINE=alphapca56 ;;
  10686. ++        EV6)   UNAME_MACHINE=alphaev6 ;;
  10687. ++        EV67)  UNAME_MACHINE=alphaev67 ;;
  10688. ++        EV68*) UNAME_MACHINE=alphaev68 ;;
  10689. ++        esac
  10690. ++      objdump --private-headers /bin/sh | grep -q ld.so.1
  10691. ++      if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
  10692. ++      echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
  10693. ++      exit ;;
  10694. +     padre:Linux:*:*)
  10695. +       echo sparc-unknown-linux-gnu
  10696. +       exit ;;
  10697. +-    parisc64:Linux:*:* | hppa64:Linux:*:*)
  10698. +-      echo hppa64-unknown-linux-gnu
  10699. +-      exit ;;
  10700. +     parisc:Linux:*:* | hppa:Linux:*:*)
  10701. +       # Look for CPU level
  10702. +       case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
  10703. +@@ -949,11 +942,8 @@ EOF
  10704. +         *)    echo hppa-unknown-linux-gnu ;;
  10705. +       esac
  10706. +       exit ;;
  10707. +-    ppc64:Linux:*:*)
  10708. +-      echo powerpc64-unknown-linux-gnu
  10709. +-      exit ;;
  10710. +-    ppc:Linux:*:*)
  10711. +-      echo powerpc-unknown-linux-gnu
  10712. ++    parisc64:Linux:*:* | hppa64:Linux:*:*)
  10713. ++      echo hppa64-unknown-linux-gnu
  10714. +       exit ;;
  10715. +     s390:Linux:*:* | s390x:Linux:*:*)
  10716. +       echo ${UNAME_MACHINE}-ibm-linux
  10717. +@@ -976,6 +966,58 @@ EOF
  10718. +     xtensa*:Linux:*:*)
  10719. +       echo ${UNAME_MACHINE}-unknown-linux-gnu
  10720. +       exit ;;
  10721. ++    i*86:Linux:*:*)
  10722. ++      # The BFD linker knows what the default object file format is, so
  10723. ++      # first see if it will tell us. cd to the root directory to prevent
  10724. ++      # problems with other programs or directories called `ld' in the path.
  10725. ++      # Set LC_ALL=C to ensure ld outputs messages in English.
  10726. ++      ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
  10727. ++                       | sed -ne '/supported targets:/!d
  10728. ++                                  s/[         ][      ]*/ /g
  10729. ++                                  s/.*supported targets: *//
  10730. ++                                  s/ .*//
  10731. ++                                  p'`
  10732. ++        case "$ld_supported_targets" in
  10733. ++        elf32-i386)
  10734. ++              TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
  10735. ++              ;;
  10736. ++      esac
  10737. ++      # Determine whether the default compiler is a.out or elf
  10738. ++      eval $set_cc_for_build
  10739. ++      sed 's/^        //' << EOF >$dummy.c
  10740. ++      #include <features.h>
  10741. ++      #ifdef __ELF__
  10742. ++      # ifdef __GLIBC__
  10743. ++      #  if __GLIBC__ >= 2
  10744. ++      LIBC=gnu
  10745. ++      #  else
  10746. ++      LIBC=gnulibc1
  10747. ++      #  endif
  10748. ++      # else
  10749. ++      LIBC=gnulibc1
  10750. ++      # endif
  10751. ++      #else
  10752. ++      #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
  10753. ++      LIBC=gnu
  10754. ++      #else
  10755. ++      LIBC=gnuaout
  10756. ++      #endif
  10757. ++      #endif
  10758. ++      #ifdef __dietlibc__
  10759. ++      LIBC=dietlibc
  10760. ++      #endif
  10761. ++EOF
  10762. ++      eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n '
  10763. ++          /^LIBC/{
  10764. ++              s: ::g
  10765. ++              p
  10766. ++          }'`"
  10767. ++      test x"${LIBC}" != x && {
  10768. ++              echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
  10769. ++              exit
  10770. ++      }
  10771. ++      test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; }
  10772. ++      ;;
  10773. +     i*86:DYNIX/ptx:4*:*)
  10774. +       # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
  10775. +       # earlier versions are messed up and put the nodename in both
  10776. +@@ -1205,16 +1247,6 @@ EOF
  10777. +     *:Darwin:*:*)
  10778. +       UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
  10779. +       case $UNAME_PROCESSOR in
  10780. +-          i386)
  10781. +-              eval $set_cc_for_build
  10782. +-              if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
  10783. +-                if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
  10784. +-                    (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
  10785. +-                    grep IS_64BIT_ARCH >/dev/null
  10786. +-                then
  10787. +-                    UNAME_PROCESSOR="x86_64"
  10788. +-                fi
  10789. +-              fi ;;
  10790. +           unknown) UNAME_PROCESSOR=powerpc ;;
  10791. +       esac
  10792. +       echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
  10793. +--- plymouth-0.8.2.orig/build-tools/ltmain.sh
  10794. ++++ plymouth-0.8.2/build-tools/ltmain.sh
  10795. +@@ -1,6 +1,6 @@
  10796. + # Generated from ltmain.m4sh.
  10797. +
  10798. +-# ltmain.sh (GNU libtool) 2.2.6
  10799. ++# ltmain.sh (GNU libtool) 2.2.6b
  10800. + # Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
  10801. +
  10802. + # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
  10803. +@@ -65,7 +65,7 @@
  10804. + #       compiler:             $LTCC
  10805. + #       compiler flags:               $LTCFLAGS
  10806. + #       linker:               $LD (gnu? $with_gnu_ld)
  10807. +-#       $progname:            (GNU libtool) 2.2.6
  10808. ++#       $progname:            (GNU libtool) 2.2.6b Debian-2.2.6b-2ubuntu1
  10809. + #       automake:             $automake_version
  10810. + #       autoconf:             $autoconf_version
  10811. + #
  10812. +@@ -73,9 +73,9 @@
  10813. +
  10814. + PROGRAM=ltmain.sh
  10815. + PACKAGE=libtool
  10816. +-VERSION=2.2.6
  10817. ++VERSION="2.2.6b Debian-2.2.6b-2ubuntu1"
  10818. + TIMESTAMP=""
  10819. +-package_revision=1.3012
  10820. ++package_revision=1.3017
  10821. +
  10822. + # Be Bourne compatible
  10823. + if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
  10824. +@@ -5033,7 +5033,10 @@ func_mode_link ()
  10825. +       case $pass in
  10826. +       dlopen) libs="$dlfiles" ;;
  10827. +       dlpreopen) libs="$dlprefiles" ;;
  10828. +-      link) libs="$deplibs %DEPLIBS% $dependency_libs" ;;
  10829. ++      link)
  10830. ++        libs="$deplibs %DEPLIBS%"
  10831. ++        test "X$link_all_deplibs" != Xno && libs="$libs $dependency_libs"
  10832. ++        ;;
  10833. +       esac
  10834. +       fi
  10835. +       if test "$linkmode,$pass" = "lib,dlpreopen"; then
  10836. +@@ -5344,19 +5347,19 @@ func_mode_link ()
  10837. +           # It is a libtool convenience library, so add in its objects.
  10838. +           convenience="$convenience $ladir/$objdir/$old_library"
  10839. +           old_convenience="$old_convenience $ladir/$objdir/$old_library"
  10840. ++          tmp_libs=
  10841. ++          for deplib in $dependency_libs; do
  10842. ++            deplibs="$deplib $deplibs"
  10843. ++            if $opt_duplicate_deps ; then
  10844. ++              case "$tmp_libs " in
  10845. ++              *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  10846. ++              esac
  10847. ++            fi
  10848. ++            tmp_libs="$tmp_libs $deplib"
  10849. ++          done
  10850. +         elif test "$linkmode" != prog && test "$linkmode" != lib; then
  10851. +           func_fatal_error "\`$lib' is not a convenience library"
  10852. +         fi
  10853. +-        tmp_libs=
  10854. +-        for deplib in $dependency_libs; do
  10855. +-          deplibs="$deplib $deplibs"
  10856. +-          if $opt_duplicate_deps ; then
  10857. +-            case "$tmp_libs " in
  10858. +-            *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;;
  10859. +-            esac
  10860. +-          fi
  10861. +-          tmp_libs="$tmp_libs $deplib"
  10862. +-        done
  10863. +         continue
  10864. +       fi # $pass = conv
  10865. +
  10866. +@@ -5893,6 +5896,7 @@ func_mode_link ()
  10867. +         if test "$link_all_deplibs" != no; then
  10868. +           # Add the search paths of all dependency libraries
  10869. +           for deplib in $dependency_libs; do
  10870. ++            path=
  10871. +             case $deplib in
  10872. +             -L*) path="$deplib" ;;
  10873. +             *.la)
  10874. +@@ -6206,6 +6210,9 @@ func_mode_link ()
  10875. +           revision="$number_minor"
  10876. +           lt_irix_increment=no
  10877. +           ;;
  10878. ++        *)
  10879. ++          func_fatal_configuration "$modename: unknown library version type \`$version_type'"
  10880. ++          ;;
  10881. +         esac
  10882. +         ;;
  10883. +       no)
RAW Paste Data
Top