11from gardenlinux .apt import DebsrcFile
2+ from gardenlinux .apt .package_repo_info import GardenLinuxRepo , compare_repo
23from gardenlinux .features import CName
34from gardenlinux .flavors import Parser as FlavorsParser
45from gardenlinux .s3 import S3Artifacts
1112import re
1213import requests
1314import shutil
14- import subprocess
1515import sys
1616from git import Repo
1717import textwrap
@@ -629,8 +629,7 @@ def release_notes_compare_package_versions_section(gardenlinux_version, package_
629629
630630 output += f"## Changes in Package Versions Compared to { previous_version } \n "
631631 output += "```diff\n "
632- output += subprocess .check_output (['/usr/bin/env' , 'bash' , './hack/compare-apt-repo-versions.sh' ,
633- previous_version , gardenlinux_version ]).decode ("utf-8" )
632+ output += compare_apt_repo_versions (previous_version , gardenlinux_version )
634633 output += "```\n \n "
635634 elif patch == 0 :
636635 output += f"## Full List of Packages in Garden Linux version { major } \n "
@@ -649,6 +648,19 @@ def release_notes_compare_package_versions_section(gardenlinux_version, package_
649648 return output
650649
651650
651+ def compare_apt_repo_versions (previous_version , current_version ):
652+ previous_repo = GardenLinuxRepo (previous_version )
653+ current_repo = GardenLinuxRepo (current_version )
654+ pkg_diffs = sorted (compare_repo (previous_repo , current_repo ), key = lambda t : t [0 ])
655+
656+ output = f"| Package | { previous_version } | { current_version } |\n "
657+ output += "|---------|--------------------|-------------------|\n "
658+
659+ for pkg in pkg_diffs :
660+ output += f"|{ pkg [0 ]} | { pkg [1 ] if pkg [1 ] is not None else '-' } | { pkg [2 ] if pkg [2 ] is not None else '-' } |\n "
661+ return output
662+
663+
652664def _get_package_list (gardenlinux_version ):
653665 (path , headers ) = urllib .request .urlretrieve (
654666 f'https://packages.gardenlinux.io/gardenlinux/dists/{ gardenlinux_version } /main/binary-amd64/Packages.gz' )
0 commit comments