BuildSystem: Cleanup port install script with packaging
This commit is contained in:
Executable
+9
@@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
REVISION=1
|
||||||
|
|
||||||
|
source 'build.sh'
|
||||||
|
|
||||||
|
[[ "$VERSION" == 'git' ]] && VERSION=0.0
|
||||||
|
|
||||||
|
echo "${NAME}-${VERSION//[_-]/.}_${REVISION}.${BANAN_ARCH}"
|
||||||
+26
-13
@@ -15,8 +15,12 @@ installed_file="$BANAN_PORT_DIR/.installed_ports"
|
|||||||
if [ -z $DONT_REMOVE_INSTALLED ]; then
|
if [ -z $DONT_REMOVE_INSTALLED ]; then
|
||||||
export DONT_REMOVE_INSTALLED=1
|
export DONT_REMOVE_INSTALLED=1
|
||||||
rm -f "$installed_file"
|
rm -f "$installed_file"
|
||||||
|
rm -rf "$BANAN_SYSROOT/var/db/xbps"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
PACKAGE_ROOT="$BANAN_PORT_DIR/package"
|
||||||
|
PACKAGE_REPO="$PACKAGE_ROOT/repo"
|
||||||
|
|
||||||
export PATH="$BANAN_TOOLCHAIN_PREFIX/bin:$PATH"
|
export PATH="$BANAN_TOOLCHAIN_PREFIX/bin:$PATH"
|
||||||
|
|
||||||
export PKG_CONFIG_DIR=''
|
export PKG_CONFIG_DIR=''
|
||||||
@@ -117,7 +121,7 @@ install() {
|
|||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
source $1
|
source "$1"
|
||||||
|
|
||||||
if [ -z $DESCRIPTION ]; then
|
if [ -z $DESCRIPTION ]; then
|
||||||
DESCRIPTION="TODO description for $NAME"
|
DESCRIPTION="TODO description for $NAME"
|
||||||
@@ -154,7 +158,16 @@ for dependency in "${DEPENDENCIES[@]}"; do
|
|||||||
|
|
||||||
pushd "../$dependency" >/dev/null
|
pushd "../$dependency" >/dev/null
|
||||||
pwd
|
pwd
|
||||||
if ! ./build.sh; then
|
|
||||||
|
version_string="$(../get-version-string.sh)"
|
||||||
|
if [ -f "$PACKAGE_REPO/$version_string.xbps" ]; then
|
||||||
|
xbps-install \
|
||||||
|
-r "$BANAN_SYSROOT" \
|
||||||
|
-R "$PACKAGE_REPO" \
|
||||||
|
-y "$dependency" \
|
||||||
|
|| exit 1
|
||||||
|
echo "${version_string%%_*}" >> "$installed_file"
|
||||||
|
elif ! ./build.sh; then
|
||||||
echo "Failed to install dependency '$dependency' of port '$NAME'"
|
echo "Failed to install dependency '$dependency' of port '$NAME'"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -266,28 +279,28 @@ find "$BANAN_SYSROOT/usr/lib" -name '*.la' -delete
|
|||||||
grep -qsxF "$NAME-$VERSION" "$installed_file" || echo "$NAME-$VERSION" >> "$installed_file"
|
grep -qsxF "$NAME-$VERSION" "$installed_file" || echo "$NAME-$VERSION" >> "$installed_file"
|
||||||
|
|
||||||
if (( $PACKAGE )); then
|
if (( $PACKAGE )); then
|
||||||
PACKAGE_DIR="$BANAN_PORT_DIR/package"
|
mkdir -p "$PACKAGE_ROOT"
|
||||||
|
|
||||||
version="$VERSION"
|
version_string=$(cd .. && ../get-version-string.sh)
|
||||||
if [[ "$version" = 'git' ]]; then
|
|
||||||
version=0.0
|
|
||||||
fi
|
|
||||||
|
|
||||||
package_dir="${PACKAGE_DIR}/${NAME}-${version}_${REVISION}-${BANAN_ARCH}"
|
package_dir="$PACKAGE_ROOT/$version_string"
|
||||||
mkdir "$package_dir" &>/dev/null || exit 0
|
|
||||||
|
rm -rf "$package_dir"
|
||||||
|
mkdir "$package_dir"
|
||||||
|
|
||||||
dependencies=''
|
dependencies=''
|
||||||
for dep in "${DEPENDENCIES[@]}"; do
|
for dep in "${DEPENDENCIES[@]}"; do
|
||||||
dependencies+="$dep>=0 "
|
dependencies+="$dep>=0 "
|
||||||
done
|
done
|
||||||
echo $dependencies > "$package_dir.deps"
|
|
||||||
|
|
||||||
DESTDIR="$package_dir"
|
DESTDIR="$package_dir"
|
||||||
pre_install
|
pre_install
|
||||||
install
|
install
|
||||||
post_install
|
post_install
|
||||||
|
find "$DESTDIR/usr/lib" -name '*.la' -delete
|
||||||
|
|
||||||
mkdir -p "$PACKAGE_DIR/repo"
|
mkdir -p "$PACKAGE_REPO"
|
||||||
cd "$PACKAGE_DIR/repo"
|
cd "$PACKAGE_REPO"
|
||||||
xbps-create -A $BANAN_ARCH -n "$NAME-${version}_$REVISION" -s "$DESCRIPTION" -D "$dependencies" "$package_dir"
|
xbps-create -A "$BANAN_ARCH" -n "${version_string%.*}" -s "$DESCRIPTION" -D "$dependencies" "$package_dir"
|
||||||
|
xbps-rindex -af "$version_string.xbps"
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash ../install.sh
|
||||||
|
|
||||||
export MESA_VARIANT='glx'
|
MESA_VARIANT='glx'
|
||||||
exec ../mesa/build.sh
|
source ../mesa/build.sh
|
||||||
|
|||||||
Reference in New Issue
Block a user