diff options
author | Harel Ben Attia <harel@harels-mbp.mynet> | 2017-04-06 13:42:17 +0300 |
---|---|---|
committer | Harel Ben Attia <harel@harels-mbp.mynet> | 2017-04-06 13:42:17 +0300 |
commit | 6cab73152ec18ae73e2df96ddada1755fc572dbf (patch) | |
tree | f83473a04815212b7acfb6238e3cc61067e64f46 | |
parent | c324cadbcee431eaad5f9091855c47ed3d5529a0 (diff) |
WIP
-rw-r--r-- | .gitignore | 1 | ||||
-rwxr-xr-x | build-deb-builder-container | 10 | ||||
-rwxr-xr-x | build-rpm-builder-container | 9 | ||||
-rwxr-xr-x | dist/create-rpm | 20 | ||||
-rw-r--r-- | dist/deb-builder-Dockerfile | 8 | ||||
-rw-r--r-- | dist/q-text-as-data.spec.template | 10 | ||||
-rwxr-xr-x | do-packaging | 16 | ||||
-rwxr-xr-x | package-release | 35 |
8 files changed, 80 insertions, 29 deletions
@@ -8,3 +8,4 @@ rpm_build_area setup.exe win_output win_build +packages diff --git a/build-deb-builder-container b/build-deb-builder-container new file mode 100755 index 0000000..abd021a --- /dev/null +++ b/build-deb-builder-container @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ $# -ne 1 ]; +then + echo "Usage: $(basename $0) <version-tag>" + exit 1 +fi +VERSION_TAG="$1" + +docker build -f dist/deb-builder-Dockerfile -t q-text-as-data-deb-builder:${VERSION_TAG} . diff --git a/build-rpm-builder-container b/build-rpm-builder-container index 4c47f2f..4788f19 100755 --- a/build-rpm-builder-container +++ b/build-rpm-builder-container @@ -1,3 +1,10 @@ #!/bin/bash -docker build -v `pwd`:/q -f dist/rpm-builder-Dockerfile +if [ $# -ne 1 ]; +then + echo "Usage: $(basename $0) <version-tag>" + exit 1 +fi +VERSION_TAG="$1" + +docker build -f dist/rpm-builder-Dockerfile -t q-text-as-data-rpm-builder:${VERSION_TAG} . diff --git a/dist/create-rpm b/dist/create-rpm index a841db5..7d86661 100755 --- a/dist/create-rpm +++ b/dist/create-rpm @@ -5,9 +5,9 @@ # # -if [ $# -ne 2 ]; +if [ $# -ne 1 ]; then - echo 'create-rpm <commit-hash> <version>' + echo 'create-rpm <version>' exit 1 fi @@ -26,9 +26,7 @@ mkdir -p ${rpm_build_area}/{SOURCES,SPECS,BUILD,RPMS,SRPMS,BUILDROOT} echo RPM build area is in ${rpm_build_area} -COMMIT_HASH=$1 -SHORT_HASH=${COMMIT_HASH:0:7} -VERSION=$2 +VERSION=$1 REAL_PACKAGE_NAME=q RPM_PACKAGE_NAME=q-text-as-data @@ -40,11 +38,15 @@ then exit 1 fi -rm -vf ${rpm_build_area}/SOURCES/q-${COMMIT_HASH}.tar.gz - -curl -o ${rpm_build_area}/SOURCES/q-${COMMIT_HASH}.tar.gz -L -R "https://github.com/harelba/q/tarball/${COMMIT_HASH}" +curl -o ${rpm_build_area}/SOURCES/q.tar.gz -L -R "https://github.com/harelba/q/tarball/${VERSION}" +mkdir -p ${rpm_build_area}/SOURCES +pushd ${rpm_build_area}/SOURCES >/dev/null +tar xvzf ./q.tar.gz --strip-components=1 +rm -vf ./q.tar.gz +popd >/dev/null +find ${rpm_build_area}/ -ls -cat ${RPM_PACKAGE_NAME}.spec.template | sed "s/VERSION_PLACEHOLDER/$VERSION/g" | sed "s/COMMIT_HASH_PLACEHOLDER/${COMMIT_HASH}/g" | sed "s/SHORT_HASH_PLACEHOLDER/${SHORT_HASH}/g" > ${rpm_build_area}/SPECS/${RPM_PACKAGE_NAME}.spec +cat ${RPM_PACKAGE_NAME}.spec.template | sed "s/VERSION_PLACEHOLDER/$VERSION/g" > ${rpm_build_area}/SPECS/${RPM_PACKAGE_NAME}.spec rpmbuild -v --define "_topdir ${rpm_build_area}" -ba ${rpm_build_area}/SPECS/${RPM_PACKAGE_NAME}.spec diff --git a/dist/deb-builder-Dockerfile b/dist/deb-builder-Dockerfile new file mode 100644 index 0000000..7ff7b08 --- /dev/null +++ b/dist/deb-builder-Dockerfile @@ -0,0 +1,8 @@ + +FROM ubuntu:12.04 + +RUN apt-get update && apt-get install -y alien + +ENTRYPOINT "/bin/bash" + + diff --git a/dist/q-text-as-data.spec.template b/dist/q-text-as-data.spec.template index 4f271e6..ad3d0c2 100644 --- a/dist/q-text-as-data.spec.template +++ b/dist/q-text-as-data.spec.template @@ -10,7 +10,6 @@ Summary: q - Text as Data Group: Applications/Text License: GPLv3 URL: https://github.com/harelba/q -Source: q-COMMIT_HASH_PLACEHOLDER.tar.gz BuildArch: noarch %description @@ -18,10 +17,12 @@ q allows to perform SQL-like statements on tabular text data. %prep -%setup -qn harelba-q-SHORT_HASH_PLACEHOLDER +cd %{_topdir}/BUILD +cp -vrf %{_topdir}/SOURCES/* %{_topdir}/BUILD/ +chmod -Rf a+rX,u+w,g-w,o-w %{_topdir}/BUILD/ %build -ls -ltr +cd %{_topdir}/BUILD ronn doc/USAGE.markdown %install @@ -43,6 +44,9 @@ gzip ${RPM_BUILD_ROOT}%{_mandir}/man1/q.1 %doc %_mandir/man1/q.1.gz %changelog +*Wed Apr 05 2017 Harel Ben-Attia <harelba@gmail.com> 1.6.0-1 +- Moved RPM building to be dockerized +- Removed the need for providing commit hashes *Fri Dec 12 2014 Harel Ben-Attia <harelba@gmail.com> 1.5.0-1 - Moved stuff from create-rpm script into the rpm spec itself *Sat Jun 14 2014 Harel Ben-Attia <harelba@gmail.com> 1.4.0-1 diff --git a/do-packaging b/do-packaging deleted file mode 100755 index fb12dc5..0000000 --- a/do-packaging +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -e - -d=`pwd` -cid=`docker run -i -d -v ${d}:/q q-text-as-data-rpm-builder:0.1` - -function kill_container { - tmp=`docker kill ${cid}` -} -trap kill_container EXIT - -sleep 1 -docker exec -it ${cid} /bin/bash -i -c "/q/dist/create-rpm $1 $2" - -docker cp ${cid}:/q/dist/rpm_build_area/RPMS/noarch/q-text-as-data-1.6.0-1.el6.noarch.rpm ./ diff --git a/package-release b/package-release new file mode 100755 index 0000000..0bbe604 --- /dev/null +++ b/package-release @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +base_folder=$(dirname $0) +pushd ${base_folder} >/dev/null + +if [ $# -ne 1 ]; +then + echo "Usage: $(dirname $0) <git-tag>" + echo + echo "Note that the git tag must be pushed to github before doing this." + exit 1 +fi +TAG="$1" + +d=`pwd` +cid1=`docker run -i -d -v ${d}:/q q-text-as-data-rpm-builder:0.1` +cid2=`docker run -i -d -v ${d}:/q q-text-as-data-deb-builder:0.1` + +function kill_container { + tmp=`docker kill ${cid1} ${cid2}` +} +trap kill_container EXIT + +rm -rvf ${base_folder}/packages +mkdir -p ${base_folder}/packages + +sleep 1 +docker exec -it ${cid1} /bin/bash -i -c "/q/dist/create-rpm ${TAG}" + +docker cp ${cid1}:/q/dist/rpm_build_area/RPMS/noarch/q-text-as-data-${TAG}-1.el6.noarch.rpm ${base_folder}/packages/q-text-as-data-${TAG}-1.noarch.rpm + +docker exec -it ${cid2} /bin/bash -i -c "cd /q/packages && alien ./q-text-as-data-${TAG}-1.noarch.rpm" + |