package-helpers-cmxsl/helpers/make-plymouth
2025-06-30 21:58:50 -06:00

182 lines
7.3 KiB
Bash

#!/bin/sh
#
# Copyright (C) 2025 Luis Guzmán <ark@switnet.org>
# Copyright (C) 2008-2022 Ruben Rodriguez <ruben@trisquel.info>
# Copyright (C) 2019 Mason Hock <mason@masonhock.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
#
VERSION=15
QUILT=skip
. ./config
export QUILT_PATCHES=debian/patches
quilt push -a
cat << EOF >> debian/control
Package: plymouth-theme-trisquel-logo
Architecture: linux-any
Depends:
\${misc:Depends},
\${shlibs:Depends},
plymouth (= \${binary:Version}),
plymouth-label (= \${binary:Version}),
Provides: plymouth-theme,
Description: boot animation, logger and I/O multiplexer - trisquel-logo theme
Plymouth provides a boot-time I/O multiplexing framework - the most obvious
use for which is to provide an attractive graphical animation in place of
the text messages that normally get shown during boot. (The messages are
instead redirected to a logfile for later viewing.) However, in event-driven
boot systems Plymouth can also usefully handle user interaction such as
password prompts for encrypted file systems.
.
This package contains the trisquel-logo theme.
Package: plymouth-theme-sugar
Architecture: linux-any
Depends:
\${misc:Depends},
\${shlibs:Depends},
plymouth (= \${binary:Version}),
plymouth-label (= \${binary:Version}),
Provides: plymouth-theme,
Description: boot animation, logger and I/O multiplexer - sugar theme
Plymouth provides a boot-time I/O multiplexing framework - the most obvious
use for which is to provide an attractive graphical animation in place of
the text messages that normally get shown during boot. (The messages are
instead redirected to a logfile for later viewing.) However, in event-driven
boot systems Plymouth can also usefully handle user interaction such as
password prompts for encrypted file systems.
.
This package contains the sugar theme.
EOF
sed 's/fonts-ubuntu/fonts-freefont-ttf/' -i debian/control
sed 's|ubuntu/Ubuntu-R.ttf|freefont/FreeSans.ttf|' -i debian/local/plymouth.hook
sed 's|ubuntu/UbuntuMono-R.ttf|freefont/FreeMono.ttf|' -i debian/local/plymouth.hook
sed 's|Ubuntu Mono|FreeMono|; s|Ubuntu|FreeSans|g' -i debian/local/plymouth.hook
sed 's|fonts/truetype/ubuntu|fonts/truetype/freefont|' -i debian/local/plymouth.hook
cp $DATA/plymouth-theme-trisquel-logo* debian
cp $DATA/plymouth-theme-trisquel-logo.postinst debian/plymouth-theme-sugar.postinst
cp $DATA/plymouth-theme-trisquel-logo.prerm debian/plymouth-theme-sugar.prerm
echo usr/share/plymouth/themes/sugar/ > debian/plymouth-theme-sugar.install
echo usr/share/plymouth/themes/trisquel-logo/ > debian/plymouth-theme-trisquel-logo.install
/bin/sed 's/trisquel-logo/sugar/g' debian/plymouth-theme-sugar* -i
cat << EOF >> debian/copyright
== Additions made by Trisquel ==
themes/trisquel-logo/background.png Copyright (C) 2021 Rubén Rodríguez, GPL-3 license
themes/trisquel-logo/trisquel_logo16.png Copyright (C) 2004-2011 Rubén Rodríguez, GPL-3 license
themes/sugar/sugar.png Copyright (C) 2008 Dongyun Lee CC Attribution 3.0 Unported license
themes/sugar/trisquel_logo16.png Copyright (C) 2004-2011 Rubén Rodríguez, GPL-3 license
themes/sugar/trisquel_logo-sugar.png Copyright (C) 2004-2011 Rubén Rodríguez, GPL-3 license
EOF
find -type d |xargs rename s/kubuntu/trisquel-mini/g
find -type f |xargs rename s/kubuntu/trisquel-mini/g
find -type d |xargs rename s/ubuntu/trisquel/g
find -type f |xargs rename s/ubuntu/trisquel/g
replace kubuntu-text trisquel-mini-text .
replace kubuntu_text trisquel_mini_text .
replace kubuntu-logo trisquel-mini-logo .
replace kubuntu_logo trisquel_mini_logo .
replace ubuntu-logo trisquel-logo .
replace ubuntu_logo trisquel_logo .
replace ubuntu-text trisquel-text .
replace ubuntu_text trisquel_text .
replace ubuntu_details trisquel_details .
replace "Name=Kubuntu" "Name=Trisquel-mini" .
replace "Name=Ubuntu" "Name=Trisquel" .
replace 2c001e 000000 .
replace ff4012 0051FF .
replace "Kubuntu $UPSTREAMRELEASE" "Trisquel mini $REVISION" .
replace "Ubuntu $UPSTREAMRELEASE" "Trisquel $REVISION" .
replace "Ubuntu [0-9][0-9].[0-9][0-9] LTS" "Trisquel $REVISION"
cp $DATA/*.png themes/script
cp $DATA/script.script themes/script/script.script
cp $DATA/trisquel_logo.png debian/local/trisquel-logo.png
cp $DATA/trisquel_logo16.png debian/local/bgrt-fallback.png
cat << EOF > debian/source/include-binaries
themes/script/background.png
themes/script/trisquel_logo.png
themes/script/trisquel_logo16.png
themes/glow/sugar.png
themes/glow/trisquel_logo16.png
themes/glow/trisquel_logo-sugar.png
EOF
rm themes/trisquel-logo themes/glow -rf
cp themes/script -a themes/trisquel-logo
cp $DATA/background.png themes/trisquel-logo/
for i in trisquel_logo16.png background.png trisquel_logo.png
do
sed -i "/'progress_bar.png'/a\ \ '$i'," themes/trisquel-logo/meson.build
done
sed s:/script:/trisquel-logo:g -i themes/trisquel-logo/script.plymouth.in
sed 's:=Script:=Trisquel-logo:g' -i themes/trisquel-logo/script.plymouth.in
sed 's/script\.script/trisquel-logo\.rtoken/g' -i themes/trisquel-logo/meson.build
sed 's/script/trisquel-logo/g' -i themes/trisquel-logo/meson.build
sed 's/rtoken/script/g' -i themes/trisquel-logo/meson.build
rename s/script.script/trisquel-logo.script/g themes/trisquel-logo/*
rename s/script.plymouth.in/trisquel-logo.plymouth.in/g themes/trisquel-logo/*
echo "subdir('trisquel-logo')" >> themes/meson.build
echo "usr/share/plymouth/themes/trisquel-logo" >> debian/plymouth-themes.install
sed -i 's|trisquel-logo_plymouth =|trisquel_logo_plymouth =|' themes/trisquel-logo/meson.build
cp themes/script -a themes/glow
sed s:/script:/glow:g -i themes/glow/script.plymouth.in
sed 's:=Script:=Glow:g' -i themes/glow/script.plymouth.in
sed 's/script\.script/glow\.rtoken/g' -i themes/glow/meson.build
sed 's/script/glow/g' -i themes/glow/meson.build
sed 's/rtoken/script/g' -i themes/glow/meson.build
cp $DATA/sugar.png $DATA/trisquel_logo16.png $DATA/trisquel_logo-sugar.png themes/glow/
/bin/sed -i s/background/sugar/g themes/glow/*
sed -i 's_special://logo_trisquel\_logo-sugar.png_g; s/0.3/0.8/' themes/glow/*.script
rename s/script.script/glow.script/g themes/glow/*
rename s/script.plymouth.in/glow.plymouth.in/g themes/glow/*
for i in trisquel_logo-sugar.png trisquel_logo16.png sugar.png
do
sed -i "/'progress_bar.png'/a\ \ '$i'," themes/glow/meson.build
done
# explicit calling logo
sed -i 's|special://logo|trisquel_logo.png|' themes/trisquel-logo/*.script
find -type d |xargs rename s/glow/sugar/g
find -type f |xargs rename s/glow/sugar/g
replace glow sugar .
replace Glow Sugar .
sed s/Ubuntu/Trisquel/ -i debian/plymouth-theme-trisquel-text.postinst
# Clean up
rm ./debian/plymouth-theme-ubuntu-logo.postinst
apply_patch_changes
changelog "Plymouth themes modified for Trisquel"
package