summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile90
1 files changed, 90 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..6d2ca3d
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,90 @@
+VERSION = 2.0.0
+RELEASE = 1
+
+# system paths
+RESULT_PATH = target
+RPMBUILD_PATH = ~/rpmbuild
+
+all: help
+
+help:
+ @printf '\nusuage make ...\n'
+ @printf ' clean -> remove results\n'
+ @printf ' package -> package archive for deploy .tar.xz\n'
+ @printf ' build-spec -> build python3-pkb-client.spec\n'
+ @printf ' build-srpm -> build python3-pkb-client-'${VERSION}-${RELEASE}'.src.rpm\n'
+ @printf ' build-rpm -> build python3-pkb-client-'${VERSION}-${RELEASE}'.noarch.rpm\n'
+
+# helper commands
+
+clean:
+ @printf '[INFO] removing '${RESULT_PATH}/'\n'
+ @rm -rf python3-pkb-client.spec ${RESULT_PATH}/
+
+package: ${RESULT_PATH}/python3-pkb-client-${VERSION}.tar.xz
+
+build-spec: python3-pkb-client.spec
+
+build-srpm: ${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.src.rpm
+
+build-rpm: ${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.noarch.rpm
+
+# file generators
+
+python3-pkb-client.spec:
+ @mkdir -p ${RESULT_PATH}/
+ @printf '[INFO] generating python3-pkb-client.spec\n' | tee -a ${RESULT_PATH}/build.log
+ @printf '%%global modname pkb_client\n\n' > python3-pkb-client.spec
+ @printf 'Name: python3-pkb-client\n' >> python3-pkb-client.spec
+ @printf 'Version: '${VERSION}'\n' >> python3-pkb-client.spec
+ @printf 'Release: '${RELEASE}'\n' >> python3-pkb-client.spec
+ @printf 'Obsoletes: %%{name} <= %%{version}\n' >> python3-pkb-client.spec
+ @printf 'Summary: Python client for the Porkbun API\n\n' >> python3-pkb-client.spec
+ @printf 'License: MIT License\n' >> python3-pkb-client.spec
+ @printf 'URL: https://github.com/infinityofspace/pkb_client/\n' >> python3-pkb-client.spec
+ @printf 'Source0: %%{name}-%%{version}.tar.xz\n\n' >> python3-pkb-client.spec
+ @printf 'BuildArch: noarch\n' >> python3-pkb-client.spec
+ @printf 'BuildRequires: python3-setuptools\n' >> python3-pkb-client.spec
+ @printf 'BuildRequires: python3-rpm-macros\n' >> python3-pkb-client.spec
+ @printf 'BuildRequires: python3-py\n\n' >> python3-pkb-client.spec
+ @printf '%%?python_enable_dependency_generator\n\n' >> python3-pkb-client.spec
+ @printf '%%description\n' >> python3-pkb-client.spec
+ @printf 'Python client for the Porkbun API\n\n' >> python3-pkb-client.spec
+ @printf '%%prep\n' >> python3-pkb-client.spec
+ @printf '%%autosetup -n %%{modname}_v%%{version}\n\n' >> python3-pkb-client.spec
+ @printf '%%build\n' >> python3-pkb-client.spec
+ @printf '%%py3_build\n\n' >> python3-pkb-client.spec
+ @printf '%%install\n' >> python3-pkb-client.spec
+ @printf '%%py3_install\n\n' >> python3-pkb-client.spec
+ @printf '%%files\n' >> python3-pkb-client.spec
+ @printf '%%doc Readme.md\n' >> python3-pkb-client.spec
+ @printf '%%license License\n' >> python3-pkb-client.spec
+ @printf '%%{_bindir}/pkb-client\n' >> python3-pkb-client.spec
+ @printf '%%{python3_sitelib}/%%{modname}/\n' >> python3-pkb-client.spec
+ @printf '%%{python3_sitelib}/%%{modname}-%%{version}*\n\n' >> python3-pkb-client.spec
+ @printf '%%changelog\n' >> python3-pkb-client.spec
+ @printf '...\n' >> python3-pkb-client.spec
+ @printf '\n' >> python3-pkb-client.spec
+
+${RESULT_PATH}/python3-pkb-client-${VERSION}.tar.xz:
+ @mkdir -p ${RESULT_PATH}/
+ @printf '[INFO] packing python3-pkb-client-'${VERSION}'.tar.xz\n' | tee -a ${RESULT_PATH}/build.log
+ @mkdir -p ${RESULT_PATH}/pkb_client_v${VERSION}
+ @cp -r pkb_client requirements.txt setup.py License Readme.md \
+ ${RESULT_PATH}/pkb_client_v${VERSION}/
+ @cd ${RESULT_PATH}; tar -I "pxz -9" -cf python3-pkb-client-${VERSION}.tar.xz pkb_client_v${VERSION}
+
+${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.src.rpm: ${RESULT_PATH}/python3-pkb-client-${VERSION}.tar.xz python3-pkb-client.spec
+ @printf '[INFO] building python3-pkb-client-'${VERSION}-${RELEASE}'.src.rpm\n' | tee -a ${RESULT_PATH}/build.log
+ @mkdir -p ${RPMBUILD_PATH}/SOURCES/
+ @cp ${RESULT_PATH}/python3-pkb-client-${VERSION}.tar.xz ${RPMBUILD_PATH}/SOURCES/
+ @rpmbuild -bs python3-pkb-client.spec &>> ${RESULT_PATH}/build.log
+ @mv ${RPMBUILD_PATH}/SRPMS/python3-pkb-client-${VERSION}-${RELEASE}.src.rpm ${RESULT_PATH}/
+
+${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.noarch.rpm: ${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.src.rpm
+ @printf '[INFO] building python3-pkb-client-'${VERSION}-${RELEASE}'.noarch.rpm\n' | tee -a ${RESULT_PATH}/build.log
+ @mkdir -p ${RPMBUILD_PATH}/SRPMS/
+ @cp ${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.src.rpm ${RPMBUILD_PATH}/SRPMS/
+ @rpmbuild --rebuild ${RESULT_PATH}/python3-pkb-client-${VERSION}-${RELEASE}.src.rpm &>> ${RESULT_PATH}/build.log
+ @mv ${RPMBUILD_PATH}/RPMS/noarch/python3-pkb-client-${VERSION}-${RELEASE}.noarch.rpm ${RESULT_PATH}/
+