diff --git a/packaging/Makefile b/packaging/Makefile new file mode 100644 index 00000000..3902c77b --- /dev/null +++ b/packaging/Makefile @@ -0,0 +1,69 @@ +# Makefile +# +# Copyright (c) 2021-2022 Bartek Kryza +# +# 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. + +SHELL := /bin/bash +.ONESHELL: + +.PHONY: download deb clean + +NAME ?= clang-uml +REBUILD ?= 1 +MAINTAINER_NAME ?= Bartek Kryza +MAINTAINER_EMAIL ?= bkryza@gmail.com +GPG_KEY ?= 702014E322FE5CA9B5D920F66CDA4566635E93B1 +OS ?= ubuntu +DIST ?= focal +TAR_EXT ?= gz + +build_dir = _BUILD/$(NAME)/$(OS)/$(DIST) + +VERSION ?= $(shell git describe --tags --always --abbrev=7) + +# +# Replace mustache template variable in all files in directory recursively, +# e.g.: +# $(call subst_template,VERSION,${VERSION},debian) +# +define subst_template_dir + find $(3) -type f -exec sed -i "s/{{$(1)}}/$(2)/g" {} \; +endef + + +deb: + rm -rf $(build_dir) + mkdir -p $(build_dir) + git-archive-all --prefix=clang-uml-$(VERSION)/ $(build_dir)/clang-uml-$(VERSION).tar.$(TAR_EXT) + cd $(build_dir) + echo "Creating archive from current source" + echo "Creating directory: ", $(NAME)-$(VERSION) + mkdir $(NAME)-$(VERSION) + echo "Extracting source archive..." + tar xf $(NAME)-$(VERSION).tar.$(TAR_EXT) -C $(NAME)-$(VERSION) --strip-components 1 + cp -R ../../../../debian $(NAME)-$(VERSION)/debian + cd $(NAME)-$(VERSION) + $(call subst_template_dir,DATETIME,$(shell date -R),debian) + $(call subst_template_dir,OS,${OS},debian) + $(call subst_template_dir,NAME,${NAME},debian) + $(call subst_template_dir,VERSION,${VERSION},debian) + $(call subst_template_dir,REBUILD,${REBUILD},debian) + $(call subst_template_dir,DISTRIBUTION,${DIST},debian) + $(call subst_template_dir,MAINTAINER_NAME,${MAINTAINER_NAME},debian) + $(call subst_template_dir,MAINTAINER_EMAIL,${MAINTAINER_EMAIL},debian) + mk-origtargz ../$(NAME)-$(VERSION).tar.$(TAR_EXT) + # BUILD SOURCE PACKAGE FOR LAUNCHPAD + debuild -S -sa -us -d -k$(GPG_KEY) #--source-option=--include-binaries --source-option=--include-removal --source-option=-isession + # BUILD LOCALLY BINARY PACKAGE + #debuild -us -uc #--source-option=--include-binaries --source-option=--include-removal --source-option=-isession diff --git a/packaging/debian/changelog b/packaging/debian/changelog new file mode 100644 index 00000000..d13b69e1 --- /dev/null +++ b/packaging/debian/changelog @@ -0,0 +1,5 @@ +clang-uml ({{VERSION}}-0{{OS}}{{REBUILD}}~{{DISTRIBUTION}}) {{DISTRIBUTION}}; urgency=low + + * Initial release + + -- Bartek Kryza {{DATETIME}} diff --git a/packaging/debian/compat b/packaging/debian/compat new file mode 100644 index 00000000..f599e28b --- /dev/null +++ b/packaging/debian/compat @@ -0,0 +1 @@ +10 diff --git a/packaging/debian/control b/packaging/debian/control new file mode 100644 index 00000000..7191fe6b --- /dev/null +++ b/packaging/debian/control @@ -0,0 +1,19 @@ +Source: clang-uml +Maintainer: Bartek Kryza +Section: devel +Priority: optional +Build-Depends: debhelper, make, gcc, g++, cmake, libyaml-cpp-dev, clang, libclang-dev, libclang-cpp-dev +Standards-Version: 4.3.0 +Vcs-Browser: https://github.com/bkryza/clang-uml +Vcs-Git: https://github.com/bkryza/clang-uml.git +Homepage: https://github.com/bkryza/clang-uml + +Package: clang-uml +Architecture: any +#Multi-Arch: same +Section: libs +Depends: ${misc:Depends}, ${shlibs:Depends} +Pre-Depends: ${misc:Pre-Depends} +Description: Automatic C++ UML diagram generator based on Clang. + . + This package provides the clang-uml binary. diff --git a/packaging/debian/copyright b/packaging/debian/copyright new file mode 100644 index 00000000..bd54f076 --- /dev/null +++ b/packaging/debian/copyright @@ -0,0 +1,16 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: clang-uml +Source: https://github.com/bkryza/clang-uml + +Files: * +Copyright: 2021-2022 Bartek Kryza +License: apache + 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. diff --git a/packaging/debian/rules b/packaging/debian/rules new file mode 100755 index 00000000..29280a77 --- /dev/null +++ b/packaging/debian/rules @@ -0,0 +1,12 @@ +#!/usr/bin/make -f + +export DH_VERBOSE=1 +export CLANGUML_GIT_TOPLEVEL_DIR=$(CURDIR) + + +override_dh_auto_configure: + dh_auto_configure --buildsystem=cmake -- -DCMAKE_BUILD_TYPE=release -DCMAKE_INSTALL_PREFIX=/usr + + +%: + dh $@ diff --git a/packaging/debian/source/format b/packaging/debian/source/format new file mode 100644 index 00000000..163aaf8d --- /dev/null +++ b/packaging/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/packaging/debian/watch b/packaging/debian/watch new file mode 100644 index 00000000..1f8c2b0a --- /dev/null +++ b/packaging/debian/watch @@ -0,0 +1,3 @@ +version=4 + +https://github.com/bkryza/clang-uml/releases .*/[relasymcp.-]*(\d\S*)\.tar\.gz