package-helpers-cmxsl/helpers/make-python-apt

96 lines
3.5 KiB
Bash

#!/bin/sh
#
# Copyright (C) 2008-2022 Ruben Rodriguez <ruben@trisquel.info>
# Copyright (C) 2024 Luis Guzmán <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
#
# Bumping 'python-apt' as a mirror list update recommends to also bump
# 'choose-mirror' package as a dependency for debian-installer, so when
# a new release of the 'debian-installer' also ships the latest mirror
# list available on the resulting netinstall (mini.iso) image.
# The same way as 'ubiquity' is for for the next Live Desktop ISOs &
# 'ubuntu-release-upgrader' feeds the mirrors via upgrade.
VERSION=11
COMPONENT=main
#Be aware to not pull/build before publish date on T12.
. ./config
# Use git Mirrors.masterlist as source.
Mirrors_masterlist=$(mktemp)
Mirrors_masterlist_git="trisquel-packages/-/raw/master/extra/mirrors/Mirrors.masterlist"
#FIXME: Propose a way to integrate from git and avoid fetching via wget/curl.
wget https://gitlab.trisquel.org/trisquel/$Mirrors_masterlist_git -o /dev/null -O $Mirrors_masterlist
python3 $DATA/parse-mirror-masterlist.py $Mirrors_masterlist > data/templates/Trisquel.mirrors
rm $Mirrors_masterlist
cat << EOF > data/templates/Trisquel.info.in
_ChangelogURI: https://packages.trisquel.org/changelogs/pool/%s/%s/%s/%s_%s/changelog
Suite: $CODENAME
RepositoryType: deb
BaseURI: https://archive.trisquel.org/trisquel/
MatchURI: archive.trisquel.org/trisquel
MirrorsFile: Trisquel.mirrors
_Description: Trisquel $REVISION '$CODENAME'
Component: main
_CompDescription: Officially supported
_CompDescriptionLong: Officially supported
Suite: $CODENAME-security
ParentSuite: $CODENAME
RepositoryType: deb
BaseURI: https://archive.trisquel.org/trisquel/
MatchURI: archive.trisquel.org/trisquel
_Description: Important security updates
Suite: $CODENAME-updates
ParentSuite: $CODENAME
RepositoryType: deb
_Description: Recommended updates
Suite: $CODENAME-backports
ParentSuite: $CODENAME
RepositoryType: deb
_Description: Unsupported updates
EOF
# Fix locale issues that break ubiquity install
cat << EOF | patch --no-backup-if-mismatch -p1
diff -ru source.orig/apt/progress/base.py source/apt/progress/base.py
--- source.orig/apt/progress/base.py 2015-11-26 11:33:29.000000000 -0500
+++ source/apt/progress/base.py 2017-01-07 14:33:29.879872269 -0500
@@ -251,7 +251,8 @@
if match:
self.conffile(match.group(1), match.group(2))
elif status == "pmstatus":
- # FIXME: Float comparison
+ if isinstance(percent, str):
+ percent = float(percent.replace(',', '.'))
if float(percent) != self.percent or status_str != self.status:
self.status_change(pkgname, float(percent), status_str.strip())
self.percent = float(percent)
EOF
export DEB_BUILD_OPTIONS=nocheck
changelog "Compiled for Trisquel"
package