Add top-level Makefile and RPM spec file for packaging
Top-level Makefile can create tar and RPM files to release. Also add *.tar.gz to .gitignore.
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
*.tar.gz
|
||||
*.o
|
||||
.deps
|
||||
.gdb_history
|
||||
|
||||
34
Makefile
Normal file
34
Makefile
Normal file
@@ -0,0 +1,34 @@
|
||||
NAME := alsa-scarlett-gui
|
||||
VERSION := $(shell git describe --abbrev=4 --always --tags | sed 's/-/./g')
|
||||
NAMEVER := $(NAME)-$(VERSION)
|
||||
TAR_FILE := $(NAMEVER).tar
|
||||
TARGZ_FILE := $(TAR_FILE).gz
|
||||
SPEC_FILE := $(NAME).spec
|
||||
|
||||
default:
|
||||
@echo "alsa-scarlett-gui"
|
||||
@echo
|
||||
@echo "If you want to build and install from source, please try:"
|
||||
@echo " cd src"
|
||||
@echo " make -j4"
|
||||
@echo " sudo make install"
|
||||
@echo
|
||||
@echo "This Makefile knows about packaging:"
|
||||
@echo " make tar"
|
||||
@echo " make rpm"
|
||||
|
||||
tar: $(TARGZ_FILE)
|
||||
|
||||
$(TARGZ_FILE):
|
||||
git archive --format=tar --prefix=$(NAMEVER)/ HEAD > $(TAR_FILE)
|
||||
sed 's_VERSION$$_$(VERSION)_' < $(SPEC_FILE).template > $(SPEC_FILE)
|
||||
tar --append -f $(TAR_FILE) \
|
||||
--transform s_^_$(NAMEVER)/_ \
|
||||
--owner=root --group=root \
|
||||
$(SPEC_FILE)
|
||||
rm -f $(SPEC_FILE)
|
||||
gzip < $(TAR_FILE) > $(TARGZ_FILE)
|
||||
rm -f $(TAR_FILE)
|
||||
|
||||
rpm: $(TARGZ_FILE)
|
||||
rpmbuild -tb $(TARGZ_FILE)
|
||||
33
alsa-scarlett-gui.spec.template
Normal file
33
alsa-scarlett-gui.spec.template
Normal file
@@ -0,0 +1,33 @@
|
||||
Summary: ALSA Scarlett Gen 2/3 Control Panel
|
||||
Name: alsa-scarlett-gui
|
||||
Version: VERSION
|
||||
Release: 1%{?dist}
|
||||
License: GPLv3+ LGPLv3+
|
||||
Url: https://github.com/geoffreybennett/alsa-scarlett-gui
|
||||
Source: %{name}-%{version}.tar.gz
|
||||
|
||||
%description
|
||||
|
||||
alsa-scarlett-gui is a Gtk4 GUI for the ALSA controls presented by the
|
||||
Linux kernel Focusrite Scarlett Gen 2/3 Mixer Driver.
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
%build
|
||||
make -C src -j4 VERSION=%{version} PREFIX=/usr
|
||||
|
||||
%install
|
||||
%make_install -C src PREFIX=/usr
|
||||
DOCDIR=%{buildroot}/usr/share/doc/%{name}-%{version}
|
||||
mkdir -p $DOCDIR/img
|
||||
mkdir $DOCDIR/demo
|
||||
cp *.md $DOCDIR
|
||||
cp img/* $DOCDIR/img
|
||||
cp demo/* $DOCDIR/demo
|
||||
|
||||
%files
|
||||
%doc /usr/share/doc/%{name}-%{version}
|
||||
/usr/bin/alsa-scarlett-gui
|
||||
/usr/share/applications/vu.b4.alsa-scarlett-gui.desktop
|
||||
/usr/share/icons/hicolor/256x256/apps/alsa-scarlett-gui.png
|
||||
Reference in New Issue
Block a user