Add build script for generating packages

This adds a build script using make and removes the shell script that
was in place. It can generate deb packages and rpm packages. Versioning
is controlled in the top of the make file by setting the proper
variables. RHEL 7 and RHEL 8 use different spec files due to the
different naming conventions of the packages in the major releases. A
supported install and remove method are also provided.

Signed-off-by: Justin Thaler <thalerj@us.ibm.com>
Change-Id: I031d3e6af4ced0ef8281124f6e89401a7291e141
diff --git a/thalerj/build-scripts/Makefile b/thalerj/build-scripts/Makefile
new file mode 100755
index 0000000..5277a82
--- /dev/null
+++ b/thalerj/build-scripts/Makefile
@@ -0,0 +1,63 @@
+#Makefile for openbmctool
+# Copyright (c) 2017 International Business Machines.
+#    Licensed under the Apache License, Version 2.0 (the "License");
+#    you may not use this file except in compliance with the License.
+#    You may obtain a copy of the License at
+#        http://www.apache.org/licenses/LICENSE-2.0
+#    Unless required by applicable law or agreed to in writing, software
+#    distributed under the License is distributed on an "AS IS" BASIS,
+#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+#    See the License for the specific language governing permissions and
+#    limitations under the License.
+
+VER=1.18
+REL=1
+ARCH=noarch
+PROD=openbmctool
+RHEL_VER=7
+NAME=$(PROD)-$(VER)-$(REL).$(ARCH)
+
+# Need to test RPMDIR to see if it is set. Otherwise set it.
+RPMDIR := $(if $(RPMDIR),$(RPMDIR),$(shell pwd)/build/rpm)
+
+# Need to test DEBDIR to see if it is set. Otherwise set it.
+DEBDIR := $(if $(DEBDIR),$(DEBDIR),$(shell pwd)/build/deb)
+
+default: 
+	mkdir -p ./build
+clean: ;rm -rf ./build
+remove: 
+	rm -f /usr/bin/openbmctool
+	rm -f /opt/ibm/ras/bin/openbmctool.py
+	rm -f /opt/ibm/ras/lib/policyTable.json
+install: 
+	cp ../openbmctool.py $(DESTDIR)/opt/ibm/ras/bin
+	cp ../policyTable.json $(DESTDIR)/opt/ibm/ras/lib
+	ln -s -f $(DESTDIR)/opt/ibm/ras/bin/openbmctool.py $(DESTDIR)/usr/bin/openbmctool
+
+rpm: default
+	rm -rf $(RPMDIR)
+	mkdir -p $(RPMDIR)
+	mkdir -p $(RPMDIR)/openbmctool
+	for i in BUILD BUILDROOT RPMS SOURCES SPECS SRPMS; do mkdir -p $(RPMDIR)/$$i; done
+	cp openbmctool-rhel$(RHEL_VER).spec $(RPMDIR)/SPECS
+	cp ../openbmctool.py ../policyTable.json $(RPMDIR)/openbmctool/
+	tar -cvzf $(RPMDIR)/SOURCES/openbmctool-$(VER)-$(REL).tgz -C $(RPMDIR) openbmctool
+	rpmbuild --define '_topdir $(RPMDIR)' --define "_version $(VER)" --define "_release $(REL)" -bb $(RPMDIR)/SPECS/openbmctool-rhel$(RHEL_VER).spec
+
+deb: default
+	rm -rf $(DEBDIR)
+	mkdir -p $(DEBDIR)
+	for i in bin lib; do mkdir -p $(DEBDIR)/opt/ibm/ras/$$i; done
+	mkdir -p $(DEBDIR)/usr/bin/
+	make install DESTDIR=$(DEBDIR)
+	mkdir -p $(DEBDIR)/DEBIAN
+	cp control $(DEBDIR)/DEBIAN
+	cd $(DEBDIR); find opt -type f -exec md5sum "{}" + >> DEBIAN/md5sums
+	cd $(DEBDIR); find usr -type f -exec md5sum "{}" + >> DEBIAN/md5sums
+	cd $(DEBDIR); echo "#!/bin/bash" >> DEBIAN/postinst
+	cd $(DEBDIR); echo "ln -s -f /opt/ibm/ras/bin/openbmctool.py /usr/bin/openbmctool" >> DEBIAN/postinst
+	chmod +x $(DEBDIR)/DEBIAN/postinst
+	chmod +x $(DEBDIR)/opt/ibm/ras/bin/openbmctool.py
+	dpkg-deb -b $(DEBDIR) $(DEBDIR)/DEBIAN/openbmctool-$(VER).$(REL)-$(ARCH).deb
+