forked from espos/base-files
Remove obsolete files and add kernel metapackage build scripts
- 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.
This commit is contained in:
Executable
+59
@@ -0,0 +1,59 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -eu
|
||||
|
||||
artifact_dir=${1:-kernel-artifacts}
|
||||
output_dir=${2:-dist}
|
||||
|
||||
metadata_file=$(mktemp)
|
||||
staging_dir=$(mktemp -d)
|
||||
trap 'rm -f "$metadata_file"; rm -rf "$staging_dir"' EXIT HUP INT TERM
|
||||
|
||||
"$(dirname "$0")/detect-kernel-packages" "$artifact_dir" > "$metadata_file"
|
||||
. "$metadata_file"
|
||||
|
||||
case "$METAPACKAGE_VERSION" in
|
||||
*[!0-9A-Za-z.+:~-]*|'')
|
||||
echo "Versión Debian no válida: $METAPACKAGE_VERSION" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
mkdir -p "$staging_dir/DEBIAN" "$staging_dir/usr/share/doc/espos-kernel" "$output_dir"
|
||||
|
||||
cat > "$staging_dir/DEBIAN/control" <<EOF
|
||||
Package: espos-kernel
|
||||
Version: $METAPACKAGE_VERSION
|
||||
Architecture: all
|
||||
Maintainer: espOS Project <danilacasito8@gmail.com>
|
||||
Depends: $IMAGE_PACKAGE, $HEADERS_PACKAGE
|
||||
Section: kernel
|
||||
Priority: optional
|
||||
Description: espOS kernel metapackage
|
||||
This metapackage installs the current espOS kernel image and headers.
|
||||
EOF
|
||||
|
||||
cat > "$staging_dir/usr/share/doc/espos-kernel/copyright" <<'EOF'
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: espos-kernel
|
||||
Source: https://github.com/esposlinux/espos-kernel-metapackage
|
||||
|
||||
Files: *
|
||||
Copyright: espOS Project
|
||||
License: GPL-2+
|
||||
This package may be redistributed and/or modified under the terms of the GNU
|
||||
General Public License version 2 or (at your option) any later version.
|
||||
EOF
|
||||
|
||||
chmod 0755 "$staging_dir/DEBIAN"
|
||||
chmod 0644 "$staging_dir/DEBIAN/control" "$staging_dir/usr/share/doc/espos-kernel/copyright"
|
||||
|
||||
package_file="$output_dir/espos-kernel_${METAPACKAGE_VERSION}_all.deb"
|
||||
dpkg-deb --root-owner-group --build "$staging_dir" "$package_file"
|
||||
|
||||
test "$(dpkg-deb -f "$package_file" Package)" = espos-kernel
|
||||
test "$(dpkg-deb -f "$package_file" Architecture)" = all
|
||||
test "$(dpkg-deb -f "$package_file" Version)" = "$METAPACKAGE_VERSION"
|
||||
test "$(dpkg-deb -f "$package_file" Depends)" = "$IMAGE_PACKAGE, $HEADERS_PACKAGE"
|
||||
|
||||
printf 'Creado %s para kernel %s\n' "$package_file" "$KERNEL_VERSION"
|
||||
Executable
+65
@@ -0,0 +1,65 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user