source: lliurex-grub-custom/trunk/fuentes/debian/lliurex-grub-custom.postinst @ 547

Last change on this file since 547 was 547, checked in by mabarracus, 3 years ago

wip

File size: 5.3 KB
Line 
1#!/bin/sh
2
3LLIUREX_GRUB_TOKENS_DIR="/etc/lliurex-grub-custom"
4TOKEN_DISTRIBUTOR="lliurex-distributor"
5TOKEN_GFXMODE="lliurex-gfxmode"
6TOKEN_GRUB_HIDDEN_TIMEOUT="lliurex-hiddent-timeout"
7TOKEN_GRUB_HIDDEN_TIMEOUT_2="lliurex-hiddent-timeout-2"
8TOKEN_GRUB_BACKGROUND="lliurex-grub-background"
9TOKEN_GRUB_RW="lliurex-grub-rw"
10TOKEN_GRUB_IFACES="lliurex-grub-ifaces"
11LLIUREX_GRUB_DEFAULT="/etc/lliurex-grub/grub.default"
12DISTRIBUTION="Lliurex Xenial"
13GRUB_DEFCFG_DIR="/etc/default/grub.d/"
14GRUB_DEFCFG_FILE="${GRUB_DEFCFG_DIR}/lliurex_conf.cfg"
15
16mkdir -p ${LLIUREX_GRUB_TOKENS_DIR}
17
18if [ -f /etc/default/grub ]; then
19        if [ ! -d $GRUB_DEFCFG_DIR ]; then
20            mkdir GRUB_DEFCFG_DIR
21        fi
22        cp /etc/default/grub ${LLIUREX_GRUB_DEFAULT}
23        echo " [ LLiureX Grub Custom ] : Settings for LliureX Grub"
24        # Set distribution only one time
25        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_DISTRIBUTOR} ] ; then
26                echo " [ LLiureX Grub Custom ] : Setting DISTRIBUTION"
27                sed -i "s%^GRUB_DISTRIBUTOR=.*%GRUB_DISTRIBUTOR=\"${DISTRIBUTION}\"%g"  ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
28                echo "GRUB_DISTRIBUTOR=\"${DISTRIBUTION}\"" > ${GRUB_DEFCFG_FILE}
29                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_DISTRIBUTOR}
30        fi
31
32        # Set GFXMODE only one time
33        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GFXMODE} ] ; then
34                echo " [ LLiureX Grub Custom ] : Setting GFXMODE"
35                sed -i "s%^#GRUB_GFXMODE=.*%GRUB_GFXMODE=1024x768%g"  ${LLIUREX_GRUB_DEFAULT}  || echo "Not find the line"
36                echo "GRUB_GFXMODE=1024x768" > ${GRUB_DEFCFG_FILE}
37                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GFXMODE}
38        fi
39
40
41        # Set HIDDENT_TIMEOUT only one time
42        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT} ] ; then
43                echo " [ LLiureX Grub Custom ] : Setting HIDDENT_TIMEOUT"
44                sed -i "s%^GRUB_HIDDEN_TIMEOUT_QUIET=true%#GRUB_HIDDEN_TIMEOUT_QUIET=true%g"  ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
45                echo "GRUB_HIDDEN_TIMEOUT_QUIET=true" > ${GRUB_DEFCFG_FILE}
46                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT}
47        fi
48
49
50        # Set HIDDENT_TIMEOUT only one time
51        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT_2} ] ; then
52                echo " [ LLiureX Grub Custom ] : Setting HIDDENT_TIMEOUT"
53                sed -i "s%^GRUB_HIDDEN_TIMEOUT=.*%GRUB_HIDDEN_TIMEOUT=%g"  ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
54                echo "GRUB_HIDDEN_TIMEOUT=" > ${GRUB_DEFCFG_FILE}
55                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_HIDDEN_TIMEOUT_2}
56        fi
57       
58        # Set GRUB_BACKGROUND only one time
59       
60        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_BACKGROUND} ] ; then
61                echo " [ LLiureX Grub Custom ] : Setting GRUB_BACKGROUND"
62                echo 'GRUB_BACKGROUND="/usr/share/lliurex-grub-custom/backgrounds/trusty.png"' >> ${LLIUREX_GRUB_DEFAULT}
63                echo "GRUB_BACKGROUND=\"/usr/share/lliurex-grub-custom/backgrounds/trusty.png\"" > ${GRUB_DEFCFG_FILE}
64                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_BACKGROUND}
65        fi
66       
67        # Set GRUB rw only one time
68       
69        #if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_RW} ] ; then
70        #       echo " [ LLiureX Grub Custom ] : Setting GRUB_RW"
71        #       sed -i "s%^GRUB_CMDLINE_LINUX_DEFAULT=.*%GRUB_CMDLINE_LINUX_DEFAULT=\"quiet splash rw\"%g" /etc/default/grub || echo "Not find the line"
72        #       date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_RW}
73        #fi
74       
75        # Set Default boot options for GRUB_CMDLINE_LINUX_DEFAULT
76        if [ ! -f ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_IFACES} ] ; then
77                echo " [ LLiureX Grub Custom ] : Setting default Linux cmdline"
78                sed -i "s%^GRUB_CMDLINE_LINUX_DEFAULT=.*%GRUB_CMDLINE_LINUX_DEFAULT=\"net.ifnames=0 quiet splash rw\"%g" ${LLIUREX_GRUB_DEFAULT} || echo "Not find the line"
79                echo "GRUB_CMDLINE_LINUX_DEFAULT=\"net.ifnames=0 quiet splash rw\"" > ${GRUB_DEFCFG_FILE}
80                IFACES=`ls /sys/class/net|egrep -v '^lo$'`
81                I=0
82                for x in $IFACES; do
83                    echo " [ LLiureX Grub Custom ] : Fixing $x into /etc/network/interfaces"
84                    sed -i "s%$x%eth$I%g" /etc/network/interfaces || echo "Not found interface $x into /etc/network/interfaces"
85                    I=$(($I+1))
86                done
87                date +%F_%R > ${LLIUREX_GRUB_TOKENS_DIR}/${TOKEN_GRUB_IFACES}
88        fi
89fi
90
91
92# Template for diversions
93ORIG_FILE="/etc/grub.d/10_linux"
94OUR_FILE="/etc/lliurex-grub/10_linux_lliurex"
95OUR_PACKAGE="lliurex-grub-custom"
96
97GRUB_DEFAULT_FILE="/etc/default/grub"
98case $1 in
99
100        configure)
101                mkdir -p  /etc/lliurex-grub/
102                if dpkg-divert --package ${OUR_PACKAGE} --add  --rename  --divert /etc/lliurex-grub/10_linux.real ${ORIG_FILE} ; then
103                        ln -fs ${OUR_FILE} ${ORIG_FILE}
104                else
105                        echo "Unabe to divert file ${ORIG_FILE}"
106                fi
107                if dpkg-divert --package ${OUR_PACKAGE}  --divert ${GRUB_DEFAULT_FILE}.ubuntu --rename ${GRUB_DEFAULT_FILE} ; then
108                        cp  ${LLIUREX_GRUB_DEFAULT} ${GRUB_DEFAULT_FILE}
109                        ucf --purge ${GRUB_DEFAULT_FILE}
110                        ucfr --purge --force grub-pc ${GRUB_DEFAULT_FILE}
111                        ucfr grub-pc ${GRUB_DEFAULT_FILE}
112                        ucfr ${OUR_PACKAGE} ${GRUB_DEFAULT_FILE}.ubuntu
113                        ucf ${LLIUREX_GRUB_DEFAULT} ${GRUB_DEFAULT_FILE}
114                        echo "Diverted ${GRUB_DEFAULT_FILE} file"
115                else
116                        echo "Unable to divert file ${ORIG_FILE}"
117                fi
118                ;;
119        *)
120                echo "Nothing to do"
121                ;;
122esac
123
124# Other Stuff #
125
126
127# To clean initramfs scripts
128if type update-initramfs >/dev/null 2>&1; then
129    update-initramfs -u || true
130fi
131
132
133#DEBHELPER#
134
135
136
137update-grub2 || true
138
139#DEBHELPER#
Note: See TracBrowser for help on using the repository browser.