forked from espos/base-files
- Deleted the Mozilla Public License file as it is no longer needed. - Removed unused MOTD and Debian vendor information files. - Added new scripts for building a kernel metapackage and detecting kernel packages. - Removed legacy shell configuration files and associated MD5 sums. - Cleaned up unnecessary documentation and policy files related to /usr/local permissions.
66 lines
1.9 KiB
Bash
Executable File
66 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -eu
|
|
|
|
artifact_dir=${1:-kernel-artifacts}
|
|
|
|
if [ ! -d "$artifact_dir" ]; then
|
|
echo "No existe el directorio de artifacts: $artifact_dir" >&2
|
|
exit 1
|
|
fi
|
|
|
|
packages_file=$(mktemp)
|
|
trap 'rm -f "$packages_file"' EXIT HUP INT TERM
|
|
|
|
found_deb=false
|
|
for deb in "$artifact_dir"/*.deb; do
|
|
[ -f "$deb" ] || continue
|
|
found_deb=true
|
|
package=$(dpkg-deb -f "$deb" Package)
|
|
case "$package" in
|
|
linux-image-*-espos|linux-headers-*-espos)
|
|
printf '%s\n' "$package" >> "$packages_file"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [ "$found_deb" = false ]; then
|
|
echo "No se encontraron paquetes .deb en $artifact_dir" >&2
|
|
exit 1
|
|
fi
|
|
|
|
sort -u "$packages_file" -o "$packages_file"
|
|
|
|
selected_kernel=
|
|
while IFS= read -r image_package; do
|
|
case "$image_package" in
|
|
linux-image-*-espos)
|
|
kernel=${image_package#linux-image-}
|
|
kernel=${kernel%-espos}
|
|
headers_package="linux-headers-${kernel}-espos"
|
|
if grep -Fxq "$headers_package" "$packages_file"; then
|
|
if [ -z "$selected_kernel" ] || dpkg --compare-versions "$kernel" gt "$selected_kernel"; then
|
|
selected_kernel=$kernel
|
|
fi
|
|
fi
|
|
;;
|
|
esac
|
|
done < "$packages_file"
|
|
|
|
if [ -z "$selected_kernel" ]; then
|
|
echo "No existe una pareja linux-image/linux-headers con la misma versión en los artifacts" >&2
|
|
echo "Paquetes detectados:" >&2
|
|
sed 's/^/ /' "$packages_file" >&2
|
|
exit 1
|
|
fi
|
|
|
|
image_package="linux-image-${selected_kernel}-espos"
|
|
headers_package="linux-headers-${selected_kernel}-espos"
|
|
|
|
# This output is deliberately source-compatible shell with values restricted
|
|
# to Debian binary package-name characters by the patterns above.
|
|
printf 'KERNEL_VERSION=%s\n' "$selected_kernel"
|
|
printf 'IMAGE_PACKAGE=%s\n' "$image_package"
|
|
printf 'HEADERS_PACKAGE=%s\n' "$headers_package"
|
|
printf 'METAPACKAGE_VERSION=%s-1\n' "$selected_kernel"
|