#!/bin/sh
#
#    Copyright (C) 2011-2017  Ruben Rodriguez <ruben@trisquel.info>
#    Copyright (C) 2019  Mason Hock <mason@masonhock.com>
#    Copyright (C) 2024  Luis Guzman <ark@switnet.org>
#
#    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=8
COMPONENT=main
DEPENDS=base-files

. ./config

# http://grub.johnlane.ie/
## updated to 2.04-1 on https://aur.archlinux.org/packages/grub-luks-keyfile/
for i in $DATA/*.patch; do
  patch_p1 $i
done

# Remove patch renaming GNU/Linux as default distributor.
remove_patch ubuntu-zfs-mkconfig-ubuntu-distributor.patch

# Allow passwords https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1311302
for i in $(grep -rl 'CLASS="' util/grub.d/|grep -v 30_os-prober.in)
do
    echo "> Allow password with --unrestricted at: $i"
    sed '/CLASS=/s/class os/class os --unrestricted/' -i $i
done
echo "> Allow password with --unrestricted at: util/grub.d/30_os-prober.in"
sed 's/--class os /--class os --unrestricted /' -i util/grub.d/30_os-prober.in

replace "with Linux" "with Linux-Libre" util
replace "with Linux" "with Linux-Libre" debian
replace "Linux" "Linux-Libre" po
replace Kubuntu Triskel .
replace kubuntu triskel .
replace Ubuntu Trisquel .
replace ubuntu trisquel .
find . |grep ubuntu|xargs rename s/ubuntu/trisquel/

# Prevent "replace"ment break patches
sed -i '/^trisquel/s|-trisquel|-ubuntu|g' debian/patches/series

# Avoid the use of signed grub efi package
sed -i '/Recommends:/s|grub-efi-amd64-signed|grub-efi-amd64|' debian/control

# Allow Windows and MacOX entries to boot without a password
#sed 's/class osx/class osx --unrestricted/; s/class windows/class osx --unrestricted/;' -i ./util/grub.d/30_os-prober.in

sed -i '/set -e/aexit 77' tests/grub_cmd_set_date.in

# Apply in case not building on a Trisquel schroot
if [ $(dpkg-vendor --query vendor) != "Trisquel" ]; then
    sed -i '/DPKG_VENDOR ?/s|=.*|= Trisquel|' debian/rules
    sed -i '/SB_EFI_VENDOR ?/s|=.*|= trisquel|' debian/rules
fi

changelog "skip test grub_cmd_set_date.in"

package
