Added Fedora rpm makefile target
This commit is contained in:
15
Makefile
15
Makefile
@@ -27,6 +27,9 @@ CMAKE_CXX_FLAGS ?=
|
|||||||
CMAKE_EXE_LINKER_FLAGS ?=
|
CMAKE_EXE_LINKER_FLAGS ?=
|
||||||
|
|
||||||
GIT_VERSION ?= $(shell git describe --tags --always --abbrev=7)
|
GIT_VERSION ?= $(shell git describe --tags --always --abbrev=7)
|
||||||
|
PKG_VERSION ?= $(shell git describe --tags --always --abbrev=7 | tr - .)
|
||||||
|
GIT_COMMIT ?= $(shell git rev-parse HEAD)
|
||||||
|
GIT_BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
|
||||||
|
|
||||||
.PHONY: clean
|
.PHONY: clean
|
||||||
clean:
|
clean:
|
||||||
@@ -104,3 +107,15 @@ iwyu_fixes: debug
|
|||||||
python3 $(shell which iwyu_tool.py) -p debug > debug/iwyu.out
|
python3 $(shell which iwyu_tool.py) -p debug > debug/iwyu.out
|
||||||
python3 $(shell which fix_includes.py) -h --re_only="${PWD}/src/.*" < debug/iwyu.out
|
python3 $(shell which fix_includes.py) -h --re_only="${PWD}/src/.*" < debug/iwyu.out
|
||||||
python3 $(shell which fix_includes.py) -h --re_only="${PWD}/tests/.*" < debug/iwyu.out
|
python3 $(shell which fix_includes.py) -h --re_only="${PWD}/tests/.*" < debug/iwyu.out
|
||||||
|
|
||||||
|
.PHONY: fedora_36
|
||||||
|
fedora_36:
|
||||||
|
mkdir -p packaging/_BUILD/fedora/36
|
||||||
|
git archive --format=tar.gz --prefix=clang-uml-$(PKG_VERSION)/ v$(GIT_VERSION) >packaging/_BUILD/fedora/36/clang-uml-$(PKG_VERSION).tar.gz
|
||||||
|
docker run --cpus="8" -v $(PWD):$(PWD) fedora:36 sh -c "dnf install -y make git && cd ${PWD} && make OS=fedora DIST=36 VERSION=${PKG_VERSION} COMMIT=${GIT_COMMIT} BRANCH=${GIT_BRANCH} -C packaging rpm"
|
||||||
|
|
||||||
|
.PHONY: fedora_37
|
||||||
|
fedora_37:
|
||||||
|
mkdir -p packaging/_BUILD/fedora/37
|
||||||
|
git archive --format=tar.gz --prefix=clang-uml-$(PKG_VERSION)/ v$(GIT_VERSION) >packaging/_BUILD/fedora/37/clang-uml-$(PKG_VERSION).tar.gz
|
||||||
|
docker run --cpus="8" -v $(PWD):$(PWD) fedora:37 sh -c "dnf install -y make git && cd ${PWD} && make OS=fedora DIST=37 VERSION=${PKG_VERSION} COMMIT=${GIT_COMMIT} BRANCH=${GIT_BRANCH} -C packaging rpm"
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ COMMIT ?= $(shell git rev-parse HEAD)
|
|||||||
BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
|
BRANCH ?= $(shell git rev-parse --abbrev-ref HEAD)
|
||||||
SOURCE_ARCHIVE ?= $(NAME)-$(VERSION).tar.$(TAR_EXT)
|
SOURCE_ARCHIVE ?= $(NAME)-$(VERSION).tar.$(TAR_EXT)
|
||||||
SOURCE_ARCHIVE_DEB ?= $(NAME)-$(VERSION)-$(REBUILD).tar.$(TAR_EXT)
|
SOURCE_ARCHIVE_DEB ?= $(NAME)-$(VERSION)-$(REBUILD).tar.$(TAR_EXT)
|
||||||
|
SOURCE_ARCHIVE_RPM ?= $(NAME)-$(VERSION).tar.$(TAR_EXT)
|
||||||
CONDA_TOKEN ?=
|
CONDA_TOKEN ?=
|
||||||
|
|
||||||
#
|
#
|
||||||
@@ -61,11 +62,36 @@ _BUILD/$(SOURCE_ARCHIVE):
|
|||||||
|
|
||||||
_BUILD/$(SOURCE_ARCHIVE_DEB):
|
_BUILD/$(SOURCE_ARCHIVE_DEB):
|
||||||
echo "############################"
|
echo "############################"
|
||||||
echo "Creating source archive from latest commit $(COMMIT) - $(SOURCE_ARCHIVE)"
|
echo "Creating source archive for DEB from latest commit $(COMMIT) - $(SOURCE_ARCHIVE)"
|
||||||
echo "############################"
|
echo "############################"
|
||||||
mkdir -p $(build_dir)
|
mkdir -p $(build_dir)
|
||||||
git-archive-all --prefix=$(NAME)-$(VERSION)-$(REBUILD)/ _BUILD/$(SOURCE_ARCHIVE_DEB)
|
git-archive-all --prefix=$(NAME)-$(VERSION)-$(REBUILD)/ _BUILD/$(SOURCE_ARCHIVE_DEB)
|
||||||
|
|
||||||
|
_BUILD/$(SOURCE_ARCHIVE_RPM):
|
||||||
|
echo "############################"
|
||||||
|
echo "Creating source archive for RPM from latest commit $(COMMIT) - $(SOURCE_ARCHIVE)"
|
||||||
|
echo "############################"
|
||||||
|
mkdir -p $(build_dir)
|
||||||
|
git archive --format=tar.gz --prefix=$(NAME)-$(VERSION)/ v$(VERSION) >_BUILD/$(NAME)-$(VERSION).tar.gz
|
||||||
|
|
||||||
|
|
||||||
|
rpm:
|
||||||
|
echo "############################"
|
||||||
|
echo "Creating rpm package for $(OS) $(DIST)"
|
||||||
|
echo "Creating directory: ", $(build_dir)/$(NAME)-$(VERSION)
|
||||||
|
echo "Extracting source archive..."
|
||||||
|
echo "############################"
|
||||||
|
#rm -rf $(build_dir)
|
||||||
|
mkdir -p $(build_dir)
|
||||||
|
dnf install -y fedora-packager rpmdevtools gcc cmake git clang-devel clang-tools-extra ccache yaml-cpp llvm-devel wget yaml-cpp-devel
|
||||||
|
rpmdev-setuptree
|
||||||
|
cp $(build_dir)/$(SOURCE_ARCHIVE_RPM) /root/rpmbuild/SOURCES/
|
||||||
|
cp fedora/clang-uml.spec /root/rpmbuild/SPECS/
|
||||||
|
rpmbuild -ba --define 'git_version ${VERSION}' /root/rpmbuild/SPECS/clang-uml.spec
|
||||||
|
cp /root/rpmbuild/RPMS/x86_64/* $(build_dir)
|
||||||
|
cp /root/rpmbuild/SRPMS/* $(build_dir)
|
||||||
|
|
||||||
|
|
||||||
deb: _BUILD/$(SOURCE_ARCHIVE_DEB)
|
deb: _BUILD/$(SOURCE_ARCHIVE_DEB)
|
||||||
echo "############################"
|
echo "############################"
|
||||||
echo "Creating deb source package for $(OS) $(DIST)"
|
echo "Creating deb source package for $(OS) $(DIST)"
|
||||||
|
|||||||
@@ -25,14 +25,10 @@ dput ppa:bkryza/clang-uml *.changes
|
|||||||
## Fedora
|
## Fedora
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run -v $PWD:$PWD fedora:37 bash
|
cd clang-uml
|
||||||
dnf install fedora-packager rpmdevtools gcc cmake git clang-devel clang-tools-extra ccache yaml-cpp llvm-devel wget yaml-cpp-devel
|
make fedora_36
|
||||||
rpmdev-setuptree
|
make fedora_37
|
||||||
cd /root/rpmbuild/SOURCES
|
find packaging/_BUILD/fedora
|
||||||
wget https://github.com/bkryza/clang-uml/archive/refs/heads/v0.3.0.zip
|
|
||||||
cd /root/rpmbuild/SPECS/
|
|
||||||
wget https://raw.githubusercontent.com/bkryza/clang-uml/v0.3.0/packaging/fedora/clang-uml.spec
|
|
||||||
rpmbuild -ba clang-uml.spec
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Anaconda
|
## Anaconda
|
||||||
|
|||||||
@@ -1,13 +1,12 @@
|
|||||||
# %define git_version %(git describe --tags --always --abbrev=7)
|
|
||||||
%define _unpackaged_files_terminate_build 0
|
%define _unpackaged_files_terminate_build 0
|
||||||
|
|
||||||
Name: clang-uml
|
Name: clang-uml
|
||||||
Version: 0.3.0
|
Version: %{?git_version}
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: C++ UML diagram generator based on Clang
|
Summary: C++ UML diagram generator based on Clang
|
||||||
License: ASL 2.0
|
License: ASL 2.0
|
||||||
URL: https://github.com/bkryza/clang-uml
|
URL: https://github.com/bkryza/clang-uml
|
||||||
Source0: https://github.com/bkryza/clang-uml/archive/refs/heads/v%{version}.zip
|
Source0: clang-uml-%{version}.tar.gz
|
||||||
|
|
||||||
BuildRequires: cmake
|
BuildRequires: cmake
|
||||||
BuildRequires: git
|
BuildRequires: git
|
||||||
@@ -61,7 +60,7 @@ fi
|
|||||||
%files
|
%files
|
||||||
%{_bindir}/clang-uml
|
%{_bindir}/clang-uml
|
||||||
|
|
||||||
%doc CHANGELOG.md README.md AUTHORS.md
|
%doc CHANGELOG.md README.md AUTHORS.md LICENSE.md
|
||||||
%license LICENSE.md
|
%license LICENSE.md
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
|||||||
Reference in New Issue
Block a user