fixup! Add ports to the Sortix repository.
This commit is contained in:
parent
846cc82eaa
commit
df79b04194
|
@ -242,6 +242,7 @@ download_archive_from_url() {(
|
|||
fi
|
||||
fi
|
||||
if ! echo "$SHA256SUM $SORTIX_MIRROR_DIR/$PACKAGE/$ARCHIVE.untrusted" | sha256sum -c; then
|
||||
sha256sum "$SORTIX_MIRROR_DIR/$PACKAGE/$ARCHIVE.untrusted"
|
||||
echo "warning: Wrong sha256sum after downloading $ARCHIVE from $URL" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
@ -288,9 +289,11 @@ download_package() {(
|
|||
)}
|
||||
|
||||
desired_version() {(
|
||||
#unset ARCHIVE
|
||||
#unset ARCHIVE_2
|
||||
#. "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.info"
|
||||
PACKAGE="$1"
|
||||
unset DEVELOPMENT
|
||||
unset ARCHIVE
|
||||
unset ARCHIVE_2
|
||||
. "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.info"
|
||||
VERSION_STAMP="$NAME"
|
||||
if [ -n "$ARCHIVE" ]; then
|
||||
VERSION_STAMP="$VERSION_STAMP.$VERSION.$SHA256SUM"
|
||||
|
@ -307,44 +310,105 @@ desired_version() {(
|
|||
if [ -f "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalize" ]; then
|
||||
VERSION_STAMP="$VERSION_STAMP.$(cat "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalize" | sha256sum | grep -Eo '^[^ ]*')"
|
||||
fi
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
VERSION_STAMP="$VERSION_STAMP.development"
|
||||
fi
|
||||
echo "$VERSION_STAMP"
|
||||
)}
|
||||
|
||||
diff_package() {(
|
||||
# TODO: Only do this once the port is known to be cleaned.
|
||||
cd "$SORTIX_PORTS_DIR/$1"
|
||||
if [ -e "$1.normalized" ]; then
|
||||
diff --no-dereference -Naur -- "$1.normalized" "$1" > "$1.patch" || true
|
||||
if [ ! -s "$1.patch" ]; then rm "$1.patch"; fi
|
||||
tix-execdiff -- "$1.normalized" "$1" > "$1.execpatch"
|
||||
if [ ! -s "$1.execpatch" ]; then rm "$1.execpatch"; fi
|
||||
# TODO: tix-rmpatch
|
||||
fi
|
||||
)}
|
||||
|
||||
extract_package() {(
|
||||
PACKAGE="$1"
|
||||
VERSION_STAMP="$2"
|
||||
unset DEVELOPMENT
|
||||
unset ARCHIVE
|
||||
unset ARCHIVE_2
|
||||
unset NEED_WRITABLE
|
||||
. "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.info"
|
||||
VERSION_STAMP="$(desired_version)"
|
||||
VERSION_STAMP="$(desired_version "$PACKAGE")"
|
||||
OLD_VERSION_STAMP="$(cat "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" || true)"
|
||||
if [ ! -e "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" ] ||
|
||||
[ "$(cat "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version")" != "$VERSION_STAMP" ] ||
|
||||
[ ! -e "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" ]; then
|
||||
if [ -e "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" ]; then
|
||||
OLD_VERSION_STAMP="$(cat "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version")"
|
||||
case "$OLD_VERSION_STAMP" in
|
||||
*.development)
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
echo "error: $PACKAGE: Refusing to delete port in development"
|
||||
echo "error: $PACKAGE: .version is currently: $OLD_VERSION_STAMP"
|
||||
echo "error: $PACKAGE: .version should be: $VERSION_STAMP"
|
||||
exit 1
|
||||
fi
|
||||
diff_package "$PACKAGE"
|
||||
esac
|
||||
fi
|
||||
echo "$VERSION_STAMP" > "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version.new"
|
||||
rm -rf "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE"
|
||||
rm -rf "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalized"
|
||||
mkdir "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE"
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
mkdir "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalized"
|
||||
fi
|
||||
if [ -n "$ARCHIVE" ]; then
|
||||
announce "Extracting $1: $ARCHIVE"
|
||||
tar -C "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" -xf "$SORTIX_MIRROR_DIR/$PACKAGE/$ARCHIVE" --strip-components=1
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
tar -C "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalized" -xf "$SORTIX_MIRROR_DIR/$PACKAGE/$ARCHIVE" --strip-components=1
|
||||
fi
|
||||
if [ -n "$ARCHIVE_2" ]; then
|
||||
announce "Extracting $1: $ARCHIVE_2"
|
||||
tar -C "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" -xf "$SORTIX_MIRROR_DIR/$PACKAGE/$ARCHIVE_2" --strip-components=1
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
tar -C "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalized" -xf "$SORTIX_MIRROR_DIR/$PACKAGE/$ARCHIVE_2" --strip-components=1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ -f "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.patch" ]; then
|
||||
patch -d "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" -p1 < "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.patch"
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
# TODO: .rej .orig etc.
|
||||
patch -d "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" -p1 < "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.patch" || true
|
||||
# .orig files aren't useful unless part of the patch got rejected.
|
||||
find "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" \
|
||||
-name '*.orig' \
|
||||
-exec sh -c 'test ! -e "$(echo "$0" | sed -E "s,\\.orig$,.rej,")"' \
|
||||
'{}' ';' -delete
|
||||
else
|
||||
patch -d "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" -p1 < "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.patch"
|
||||
fi
|
||||
fi
|
||||
if [ -f "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.execpatch" ]; then
|
||||
tix-execpatch --directory "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.execpatch"
|
||||
fi
|
||||
if [ -f "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalize" ]; then
|
||||
tix-rmpatch --directory "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalize"
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
tix-rmpatch --directory "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalized" "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.normalize"
|
||||
fi
|
||||
fi
|
||||
if [ "$NEED_WRITABLE" != true ]; then
|
||||
if [ "$DEVELOPMENT" != true -a "$NEED_WRITABLE" != true ]; then
|
||||
find "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" '!' -type d -exec chmod -w '{}' +
|
||||
fi
|
||||
mv "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version.new" "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version"
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
REJECTS="$(find "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE" \
|
||||
-name '*.rej' -o -name '*.orig' | sort)"
|
||||
if [ -n "$REJECTS" ]; then
|
||||
echo "$REJECTS"
|
||||
echo "error: $PACKAGE: The above patch hunks were rejected"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
)}
|
||||
|
||||
|
@ -353,26 +417,29 @@ for PACKAGE in $PACKAGES; do
|
|||
SOURCE_PACKAGE=$( (SOURCE_PACKAGE= &&
|
||||
. $SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.info &&
|
||||
echo "$SOURCE_PACKAGE") )
|
||||
DEVELOPMENT=$( (DEVELOPMENT= &&
|
||||
. $SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.info &&
|
||||
echo "$DEVELOPMENT") )
|
||||
# TODO: clean support.
|
||||
|
||||
if [ ! -f "$SORTIX_REPOSITORY_DIR/$PACKAGE.tix.tar.xz" ] ||
|
||||
[ "$OPERATION" != build ] ; then
|
||||
# download
|
||||
if [ -n "$SOURCE_PACKAGE" ]; then
|
||||
download_package "$SOURCE_PACKAGE"
|
||||
fi
|
||||
download_package "$PACKAGE"
|
||||
if [ "$OPERATION" = download ]; then continue; fi
|
||||
|
||||
# download
|
||||
if [ -n "$SOURCE_PACKAGE" ]; then
|
||||
download_package "$SOURCE_PACKAGE"
|
||||
fi
|
||||
download_package "$PACKAGE"
|
||||
if [ "$OPERATION" = download ]; then continue; fi
|
||||
# extract
|
||||
if [ -n "$SOURCE_PACKAGE" ]; then
|
||||
extract_package "$SOURCE_PACKAGE"
|
||||
fi
|
||||
extract_package "$PACKAGE"
|
||||
if [ "$OPERATION" = extract ]; then continue; fi
|
||||
|
||||
# extract
|
||||
if [ -n "$SOURCE_PACKAGE" ]; then
|
||||
extract_package "$SOURCE_PACKAGE"
|
||||
fi
|
||||
extract_package "$PACKAGE"
|
||||
if [ "$OPERATION" = extract ]; then continue; fi
|
||||
|
||||
# build
|
||||
# build
|
||||
if [ ! -f "$SORTIX_REPOSITORY_DIR/$PACKAGE.tix.tar.xz" -o \
|
||||
"$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" -nt \
|
||||
"$SORTIX_REPOSITORY_DIR/$PACKAGE.tix.tar.xz" ]; then
|
||||
announce "Building $PACKAGE"
|
||||
tix-build \
|
||||
--sysroot="$SYSROOT" \
|
||||
|
@ -383,6 +450,10 @@ for PACKAGE in $PACKAGES; do
|
|||
${SOURCE_PACKAGE:+--source-package "$SORTIX_PORTS_DIR/$SOURCE_PACKAGE/$SOURCE_PACKAGE"} \
|
||||
"$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE"
|
||||
strip_tix "$SORTIX_REPOSITORY_DIR/$PACKAGE.tix.tar.xz"
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
# TODO: .rej .orig etc.
|
||||
diff_package "$PACKAGE"
|
||||
fi
|
||||
fi
|
||||
announce "Installing $PACKAGE"
|
||||
tix-install \
|
||||
|
|
|
@ -34,6 +34,9 @@ get_all_packages() {
|
|||
|
||||
# Clean all the packages.
|
||||
for PACKAGE in $(get_all_packages); do
|
||||
DEVELOPMENT=$( (DEVELOPMENT= &&
|
||||
. $SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.info &&
|
||||
echo "$DEVELOPMENT") )
|
||||
if [ -e "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" -o \
|
||||
-e "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version.new" ]; then
|
||||
tix-build \
|
||||
|
@ -44,6 +47,14 @@ for PACKAGE in $(get_all_packages); do
|
|||
--start=clean \
|
||||
--end=clean \
|
||||
"$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE"
|
||||
if [ "$DEVELOPMENT" = true ]; then
|
||||
case "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE.version" in
|
||||
*.development)
|
||||
echo "Port is in development: '$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE'"
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
# TODO: New top-level makefile target for this.
|
||||
echo "Removing '$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE'"
|
||||
rm -rf "$SORTIX_PORTS_DIR/$PACKAGE/$PACKAGE"
|
||||
|
|
Loading…
Reference in New Issue