summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarel Ben Attia <harel@harels-mbp.mynet>2017-04-06 13:42:17 +0300
committerHarel Ben Attia <harel@harels-mbp.mynet>2017-04-06 13:42:17 +0300
commit6cab73152ec18ae73e2df96ddada1755fc572dbf (patch)
treef83473a04815212b7acfb6238e3cc61067e64f46
parentc324cadbcee431eaad5f9091855c47ed3d5529a0 (diff)
WIP
-rw-r--r--.gitignore1
-rwxr-xr-xbuild-deb-builder-container10
-rwxr-xr-xbuild-rpm-builder-container9
-rwxr-xr-xdist/create-rpm20
-rw-r--r--dist/deb-builder-Dockerfile8
-rw-r--r--dist/q-text-as-data.spec.template10
-rwxr-xr-xdo-packaging16
-rwxr-xr-xpackage-release35
8 files changed, 80 insertions, 29 deletions
diff --git a/.gitignore b/.gitignore
index ebc1a6b..9e318f1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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"
+