From 8c3b77ead077a211bdc22a6bb5e623fed104ab67 Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Aug 19 2024 13:17:58 +0000 Subject: improve: srpm script + add a build locally script --- diff --git a/.gitignore b/.gitignore index 0e4f7f4..9b9c868 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ __pycache__/ *.py[cod] -*$py.class \ No newline at end of file +*$py.class +/dev \ No newline at end of file diff --git a/scripts/build_locally.sh b/scripts/build_locally.sh new file mode 100755 index 0000000..502ad85 --- /dev/null +++ b/scripts/build_locally.sh @@ -0,0 +1,22 @@ +#!/bin/bash -xe + +# Build a package locally. +# Need to be called from the root of the repo (./scripts/build_local.sh) + + +PACKAGE=cosmic-settings +REPO=https://github.com/pop-os/cosmic-settings + +rm -rf dev +mkdir dev +cp rpms/$PACKAGE/* dev/ +cp scripts/srpm.sh dev/ +cd dev +./srpm.sh $PACKAGE $PACKAGE 0.1.0 LATEST $REPO 1 + +cp vendor-* ~/rpmbuild/SOURCES/ +cp *.patch ~/rpmbuild/SOURCES/ || true + +cp $PACKAGE.spec ~/rpmbuild/SPECS/ + +rpmbuild -bb ~/rpmbuild/SPECS/$PACKAGE.spec diff --git a/scripts/srpm.sh b/scripts/srpm.sh old mode 100644 new mode 100755 index 0576d76..6b4e0c0 --- a/scripts/srpm.sh +++ b/scripts/srpm.sh @@ -1,11 +1,18 @@ -#!/bin/bash -x +#!/bin/bash -xe + +# clone repo, detect last commit, vendor deps, update specfile + +if [ "$#" -lt 6 ]; then + echo "Error: Less than six arguments provided." + exit 1 +fi # NAME of the crate/package NAME=$1 SOURCE_NAME=$2 # VERSION of the crate/package VERSION=$3 -# COMMIT to target (latest == master) +# COMMIT to target (LATEST == master) COMMIT=$4 # REPO link REPO=$5 @@ -18,8 +25,7 @@ LATEST="LATEST" mkdir $SOURCE_NAME-$COMMIT && cd $SOURCE_NAME-$COMMIT && git clone --recurse-submodules $REPO . # Get latest COMMIT hash if COMMIT is set to latest -if [[ "$COMMIT" == "$LATEST" ]] -then +if [[ "$COMMIT" == "$LATEST" ]]; then COMMIT=$(git rev-parse HEAD) cd .. && mv $SOURCE_NAME-LATEST $SOURCE_NAME-$COMMIT && cd $SOURCE_NAME-$COMMIT fi @@ -36,7 +42,7 @@ COMMITDATESTRING=$(git log -1 --format=%cd --date=iso) if [ "$VENDOR" -eq 1 ]; then echo "VENDOR=1" # Vendor dependencies and zip vendor - cargo vendor > ../vendor-config-$SHORTCOMMIT.toml + cargo vendor >../vendor-config-$SHORTCOMMIT.toml tar -pczf vendor-$SHORTCOMMIT.tar.gz vendor && mv vendor-$SHORTCOMMIT.tar.gz ../vendor-$SHORTCOMMIT.tar.gz # Back into parent directory rm -rf vendor @@ -45,8 +51,7 @@ else cd .. fi -# Get SOURCE and rm repo -wget $REPO/archive/$COMMIT/$SOURCE_NAME-$SHORTCOMMIT.tar.gz +# rm repo rm -rf $SOURCE_NAME-$COMMIT # Make replacements to specfile @@ -59,4 +64,4 @@ sed -i "/^%global commitdatestring / s/.*/%global commitdatestring $COMMITDATEST # Should have these sources # SOURCE_NAME-SHORTCOMMIT.tar.gz # vendor-%{shortcommit}.tar.gz -# vendor-config-%{shortcommit}.toml \ No newline at end of file +# vendor-config-%{shortcommit}.toml