217 lines
6.3 KiB
Bash
217 lines
6.3 KiB
Bash
#!/bin/sh
|
|
#
|
|
# Copyright (C) 2022 Luis Guzman <ark@switnet.org>
|
|
# Copyright (C) 2009-2017 Ruben Rodriguez <ruben@trisquel.info>
|
|
#
|
|
# 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=3
|
|
EXTERNAL='deb-src http://ftp.debian.org/debian bullseye main'
|
|
REPOKEY=0E98404D386FA1D9
|
|
NETINST=true
|
|
. ./config
|
|
|
|
cat << EOF > debian/rules
|
|
#! /usr/bin/make -f
|
|
%:
|
|
dh \$@
|
|
EOF
|
|
|
|
rm debian/apt-mirror-setup.templates-ubuntu
|
|
|
|
# Remove multiarch support
|
|
sed '/chroot/,$d' generators/01setup -i
|
|
|
|
# getline "seed" file
|
|
getline(){
|
|
grep -n "$1" "$2" |cut -d: -f1
|
|
}
|
|
|
|
START=$(getline apt-setup/non-free debian/apt-mirror-setup.templates)
|
|
END=$(getline "Please choose whether you want to have it available anyway." debian/apt-mirror-setup.templates)
|
|
sed ${START},${END}d debian/apt-mirror-setup.templates -i
|
|
START=$(getline apt-setup/contrib debian/apt-mirror-setup.templates)
|
|
END=$(getline "Please choose whether you want this software to be made available to you." debian/apt-mirror-setup.templates)
|
|
sed ${START},${END}d debian/apt-mirror-setup.templates -i
|
|
|
|
#Ubuntu legacy (udeb)
|
|
/bin/sed '/canonical/d;
|
|
/Canonical/d;
|
|
s/main restricted universe multiverse/main/g;
|
|
s/dists restricted/dists/g;
|
|
s/archive.ubuntu.com/archive.trisquel.org/g;
|
|
s/security.ubuntu.com/archive.trisquel.org/g;
|
|
s/ports.ubuntu.com/archive.trisquel.org/g;
|
|
s/Ubuntu/Trisquel/g;
|
|
s/ubuntu/trisquel/g;
|
|
s/universe/main/g;
|
|
s/main main/main/g;
|
|
s:help.trisquel.com/community/UpgradeNotes:trisquel.info/wiki/:g;' generators/* -i
|
|
|
|
#Debian current (udeb)
|
|
/bin/sed '/previously on backports.debian.org/d;
|
|
/# To determine if non-free/,/done/d;
|
|
s/dists non-free/dists/g;
|
|
s/dists contrib/dists/g;
|
|
s/Debian/Trisquel/g;
|
|
s/debian/trisquel/g;' generators/* -i
|
|
|
|
#Ubuntu legacy (udeb)
|
|
replace "Default: /ubuntu" "Default: /trisquel" .
|
|
replace "security.ubuntu.com" "archive.trisquel.org" .
|
|
replace "archive.ubuntu.com" "archive.trisquel.org" .
|
|
replace "Ubuntu" "Trisquel" .
|
|
|
|
#Debian current (udeb)
|
|
replace "Default: /debian" "Default: /trisquel" .
|
|
replace "security.debian.org" "archive.trisquel.org" .
|
|
replace "deb.debian.org" "archive.trisquel.org" .
|
|
replace "Debian" "Trisquel" .
|
|
|
|
mkdir release-files
|
|
cd release-files
|
|
rm -rf *
|
|
for DIST in $CODENAME $CODENAME-security $CODENAME-updates $CODENAME-backports
|
|
do
|
|
wget -r -l1 -np http://archive.trisquel.org/trisquel/dists/$DIST
|
|
done
|
|
find archive.trisquel.org/ |egrep '(index.html|robots.txt)'|xargs rm
|
|
cd ..
|
|
|
|
rm generators/9[1-9]* generators/50mirror generators/50mirror.ubuntu
|
|
sed -i '/generators\/9[1-9]*/d' debian/apt-setup-udeb.install
|
|
|
|
echo "generators/50mirror.trisquel usr/lib/apt-setup/generators
|
|
release-files/archive.trisquel.org usr/share/apt-setup/release-files" > debian/apt-mirror-setup.install
|
|
|
|
echo '#!/bin/sh
|
|
set -e
|
|
|
|
. /usr/share/debconf/confmodule
|
|
|
|
file="$1"
|
|
|
|
log() {
|
|
logger -t apt-setup "$@"
|
|
}
|
|
warning() {
|
|
log "warning: $@"
|
|
}
|
|
|
|
# Ask if a mirror should be used if the base system can be installed from CD
|
|
if [ -e /cdrom/.disk/base_installable ] || [ "$OVERRIDE_BASE_INSTALLABLE" ]; then
|
|
if ! search-path choose-mirror; then
|
|
warning "choose-mirror is not available; cannot offer network mirror"
|
|
exit 1
|
|
fi
|
|
|
|
# Default to false if no network selected in netcfg
|
|
if db_get netcfg/dhcp_options && \
|
|
[ "$RET" = "Do not configure the network at this time" ]; then
|
|
use_mirror=false
|
|
fi
|
|
|
|
# Set default if no value (see Debian mirror generator)
|
|
db_get apt-setup/use_mirror
|
|
[ "$RET" ] || db_set apt-setup/use_mirror true
|
|
|
|
# Text is variable for Debian
|
|
db_metaget apt-mirror/use/netinst_old description
|
|
db_subst apt-setup/use_mirror EXPLANATION "$RET"
|
|
|
|
db_input medium apt-setup/use_mirror || [ $? -eq 30 ]
|
|
db_go # or exit 10
|
|
|
|
db_get apt-setup/use_mirror
|
|
if [ "$RET" = false ]; then
|
|
exit 1
|
|
fi
|
|
|
|
if db_get cdrom/codename && [ "$RET" ]; then
|
|
db_set mirror/codename $RET
|
|
fi
|
|
if db_get cdrom/suite && [ "$RET" ]; then
|
|
db_set mirror/suite $RET
|
|
fi
|
|
choose-mirror -n # no progress bar
|
|
fi
|
|
|
|
db_input low apt-setup/backports || true
|
|
|
|
dists="main"
|
|
|
|
db_get mirror/protocol
|
|
protocol="$RET"
|
|
db_get mirror/codename
|
|
codename="$RET"
|
|
db_get mirror/$protocol/hostname
|
|
hostname="$RET"
|
|
db_get mirror/$protocol/directory
|
|
directory="/${RET#/}"
|
|
|
|
if [ "$protocol" = http ]; then
|
|
db_get mirror/$protocol/proxy
|
|
proxy="$RET"
|
|
if [ -n "$proxy" ]; then
|
|
if ! grep -iq "Acquire::$protocol::Proxy" $ROOT/etc/apt/apt.conf.new; then
|
|
echo "Acquire::$protocol::Proxy \"$proxy\";" >> $ROOT/etc/apt/apt.conf.new
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
cat > $file <<EOF
|
|
# See http://trisquel.info/wiki/ for how to upgrade to
|
|
# newer versions of the distribution.
|
|
|
|
deb $protocol://$hostname$directory $codename $dists
|
|
deb-src $protocol://$hostname$directory $codename $dists
|
|
|
|
deb $protocol://$hostname$directory $codename-updates $dists
|
|
deb-src $protocol://$hostname$directory $codename-updates $dists
|
|
|
|
deb $protocol://$hostname$directory $codename-security $dists
|
|
deb-src $protocol://$hostname$directory $codename-security $dists
|
|
EOF
|
|
|
|
# Even if the backports repository is not enabled, we write example lines for
|
|
# it.
|
|
echo >> $file
|
|
if db_get apt-setup/backports && [ "$RET" = true ]; then
|
|
COMMENT=
|
|
else
|
|
cat >> $file <<EOF
|
|
EOF
|
|
COMMENT="# "
|
|
fi
|
|
cat >> $file <<EOF
|
|
# Uncomment this lines to enable the backports optional repository
|
|
${COMMENT}deb $protocol://$hostname$directory $codename-backports main
|
|
${COMMENT}deb-src $protocol://$hostname$directory $codename-backports main
|
|
EOF
|
|
|
|
#apt-setup-signed-release archive.trisquel.org "$file"
|
|
|
|
exit 0
|
|
' > generators/50mirror.trisquel
|
|
|
|
#sed '/The partner/,/^*/d; s/services-select-ubuntu/services-select-trisquel/' -i debian/apt-setup-udeb.templates
|
|
sed 's/services-select/services-select-trisquel/' -i debian/apt-setup-udeb.templates
|
|
|
|
chmod 755 generators/50mirror.trisquel
|
|
|
|
changelog "Rebranded and adapted for Trisquel"
|
|
compile
|