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 ?=
|
||||
|
||||
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
|
||||
clean:
|
||||
@@ -104,3 +107,15 @@ iwyu_fixes: debug
|
||||
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}/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)
|
||||
SOURCE_ARCHIVE ?= $(NAME)-$(VERSION).tar.$(TAR_EXT)
|
||||
SOURCE_ARCHIVE_DEB ?= $(NAME)-$(VERSION)-$(REBUILD).tar.$(TAR_EXT)
|
||||
SOURCE_ARCHIVE_RPM ?= $(NAME)-$(VERSION).tar.$(TAR_EXT)
|
||||
CONDA_TOKEN ?=
|
||||
|
||||
#
|
||||
@@ -61,11 +62,36 @@ _BUILD/$(SOURCE_ARCHIVE):
|
||||
|
||||
_BUILD/$(SOURCE_ARCHIVE_DEB):
|
||||
echo "############################"
|
||||
echo "Creating source archive from latest commit $(COMMIT) - $(SOURCE_ARCHIVE)"
|
||||
echo "Creating source archive for DEB from latest commit $(COMMIT) - $(SOURCE_ARCHIVE)"
|
||||
echo "############################"
|
||||
mkdir -p $(build_dir)
|
||||
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)
|
||||
echo "############################"
|
||||
echo "Creating deb source package for $(OS) $(DIST)"
|
||||
|
||||
@@ -25,14 +25,10 @@ dput ppa:bkryza/clang-uml *.changes
|
||||
## Fedora
|
||||
|
||||
```bash
|
||||
docker run -v $PWD:$PWD fedora:37 bash
|
||||
dnf install fedora-packager rpmdevtools gcc cmake git clang-devel clang-tools-extra ccache yaml-cpp llvm-devel wget yaml-cpp-devel
|
||||
rpmdev-setuptree
|
||||
cd /root/rpmbuild/SOURCES
|
||||
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
|
||||
cd clang-uml
|
||||
make fedora_36
|
||||
make fedora_37
|
||||
find packaging/_BUILD/fedora
|
||||
```
|
||||
|
||||
## Anaconda
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
# %define git_version %(git describe --tags --always --abbrev=7)
|
||||
%define _unpackaged_files_terminate_build 0
|
||||
|
||||
Name: clang-uml
|
||||
Version: 0.3.0
|
||||
Version: %{?git_version}
|
||||
Release: 1%{?dist}
|
||||
Summary: C++ UML diagram generator based on Clang
|
||||
License: ASL 2.0
|
||||
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: git
|
||||
@@ -61,7 +60,7 @@ fi
|
||||
%files
|
||||
%{_bindir}/clang-uml
|
||||
|
||||
%doc CHANGELOG.md README.md AUTHORS.md
|
||||
%doc CHANGELOG.md README.md AUTHORS.md LICENSE.md
|
||||
%license LICENSE.md
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user