summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRoland Reichwein <mail@reichwein.it>2020-11-21 16:49:31 +0100
committerRoland Reichwein <mail@reichwein.it>2020-11-21 16:49:31 +0100
commit7fd9bbf4ea1ba5ea1b30e9ba3039195ab40c246a (patch)
tree12c594d7e31caaa31ae48e1bfc9b66c9003db2c2
parent7edbd99775416a32c88acf8e9379518436905f02 (diff)
Added debian packaging
-rw-r--r--Makefile46
-rw-r--r--debian/README.Debian11
-rw-r--r--debian/changelog5
-rw-r--r--debian/compat1
-rw-r--r--debian/control2
-rw-r--r--debian/copyright29
-rw-r--r--debian/minicc.docs1
-rwxr-xr-xdebian/rules4
-rw-r--r--debian/source/format1
9 files changed, 99 insertions, 1 deletions
diff --git a/Makefile b/Makefile
index 5247017..b219b40 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,8 @@
PROJECTNAME=minicc
+VERSION=$(shell dpkg-parsechangelog --show-field Version)
+DISTROS=base #debian10 ubuntu2004 ubuntu2010
+
CXX=clang++-11
#CXX=g++-10
@@ -9,6 +12,8 @@ CXXFLAGS=-O2 -DNDEBUG
# gcc:--coverage
CXXFLAGS+= -Wall -I. -std=c++20
+CXXFLAGS+= -fPIE -DVERSION=\"$(VERSION)\"
+
ifeq ($(CXX),clang++-11)
CXXFLAGS+=-stdlib=libc++
@@ -114,6 +119,10 @@ test: unittest systemtest
check: test
+install:
+ mkdir -p $(DESTDIR)/usr/bin
+ cp mcc $(DESTDIR)/usr/bin
+
# Tests on C++ level
unittest: test-$(PROJECTNAME)
./test-$(PROJECTNAME) #--gtest_filter='CppTest.compile_parentheses_right'
@@ -145,6 +154,43 @@ googletest/src/%.o: googletest/src/%.cc
ADD_DEP=Makefile
# misc ---------------------------------------------------
+deb:
+ # build binary deb package
+ dpkg-buildpackage -rfakeroot
+
+deb-src:
+ dh_clean
+ dh_auto_clean
+ dpkg-source -b -I.git -Iresult .
+
+$(DISTROS): deb-src
+ sudo pbuilder build --basetgz /var/cache/pbuilder/$@.tgz --buildresult result/$@ ../$(PROJECTNAME)_$(VERSION).dsc
+ debsign result/$@/$(PROJECTNAME)_$(VERSION)_amd64.changes
+
+debs: $(DISTROS)
+
+DISTFILES= \
+ $(TESTSRC) \
+ $(PROGSRC:.cpp=.h) \
+ debian/control \
+ debian/compat \
+ debian/copyright \
+ debian/source \
+ debian/source/format \
+ debian/changelog \
+ debian/README.Debian \
+ debian/rules \
+ README \
+ TODO
+
+dist: clean
+ rm -rf $(PROJECTNAME)-$(VERSION)
+ mkdir $(PROJECTNAME)-$(VERSION)
+ cp --parents -r $(DISTFILES) $(PROJECTNAME)-$(VERSION)
+ tar cfJ ../$(PROJECTNAME)-$(VERSION).tar.xz $(PROJECTNAME)-$(VERSION)
+ rm -rf $(PROJECTNAME)-$(VERSION)
+ ls -l ../$(PROJECTNAME)-$(VERSION).tar.xz
+
clean:
-rm -f test-$(PROJECTNAME) mcc tempfile.txt
-find . -name '*.o' -o -name '*.d' -o -name '*.gcno' -o -name '*.gcda' | xargs rm -f
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000..696b9b1
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,11 @@
+minicc for Debian
+=================
+
+This package is the Debian version of minicc.
+
+
+Contact
+-------
+
+Reichwein IT <mail@reichwein.it>
+
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..035ea57
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+minicc (1.0) unstable; urgency=medium
+
+ * First version
+
+ -- Roland Reichwein <rr@antcom.de> Thu, 02 Nov 2020 18:59:59 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..48082f7
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+12
diff --git a/debian/control b/debian/control
index 3a18e3d..c316930 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,7 @@ Source: minicc
Section: devel
Priority: optional
Maintainer: Roland Reichwein <mail@reichwein.it>
-Build-Depends: debhelper (>= 12), libboost-all-dev, clang | g++-10, dejagnu, expect
+Build-Depends: debhelper (>= 12), libboost-all-dev | libboost1.71-all-dev, clang-11, dejagnu, expect, libc++-11-dev, lld-11, libc++abi-11-dev
Standards-Version: 4.5.0
Homepage: http://www.reichwein.it/minicc/
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..4b3a1b3
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,29 @@
+This package is Copyright 2020 by Roland Reichwein <mail@reichwein.it>
+
+Both upstream source code and Debian packaging is licensed under the BSD
+license:
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/debian/minicc.docs b/debian/minicc.docs
new file mode 100644
index 0000000..e845566
--- /dev/null
+++ b/debian/minicc.docs
@@ -0,0 +1 @@
+README
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..2d33f6a
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,4 @@
+#!/usr/bin/make -f
+
+%:
+ dh $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..89ae9db
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)