Add the ability to build an rpm.

This commit is contained in:
Jeremy White 2013-02-08 10:41:08 -06:00
parent e827ade56d
commit b2adb8a451
3 changed files with 109 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
spice-html5.spec

70
Makefile Normal file
View File

@ -0,0 +1,70 @@
# Copyright (C) 2012 by Jeremy P. White <jwhite@codeweavers.com>
#
# This file is part of spice-html5.
#
# spice-html5 is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# spice-html5 is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with spice-html5. If not, see <http://www.gnu.org/licenses/>.
#
DESTDIR := $(if $(DESTDIR),$(DESTDIR),/)
datadir := $(if $(datadir),$(datadir),$(DESTDIR)/usr/share)
sysconfdir := $(if $(sysconfdir),$(sysconfdir),$(DESTDIR)/etc)
tag := $(if $(tag),$(tag),HEAD)
ifndef version
version = $(shell git describe $(tag)| grep spice-html5 | sed 's/^spice-html5-//')
endif
source_for_rpm = $(HOME)/rpmbuild/SOURCES/spice-html5-$(version).tar.gz
.PHONY: usage spice-html5.spec rpm tar gittar local git install
usage:
@echo "This project does not normally need to be built. See the README."
@echo " "
@echo "This Makefile is mostly used for creating RPM packages, which you"
@echo "can do by invoking 'make local' to use the current working directory,"
@echo "or 'make git' to use the latest git HEAD."
@echo "You can specify an alternate source tarball like this:"
@echo " make source=/my/alternate/source local"
@echo "You can specifcy a specific git tag like this:"
@echo " make tag=my_specific_tag git"
@echo "Results generally go in ~/rpmbuild"
spice-html5.spec:
sed -e "s/VERSION/$(version)/" < spice-html5.spec.in > spice-html5.spec
tar:
if [ "$(source)x" = "x" ] ; then \
tar -czf $(source_for_rpm) --exclude=.git --transform='s!^!spice-html5-$(version)/!' * ; \
else \
cp $(source) $(source_for_rpm) ; \
fi
gittar:
if [ "$(source)x" = "x" ] ; then \
git archive --output=$(source_for_rpm) --prefix=spice-html5-$(version)/ $(tag) ; \
else \
cp $(source) $(source_for_rpm) ; \
fi
rpm: spice-html5.spec
rpmbuild -ba spice-html5.spec
local: tar rpm
git: gittar rpm
install:
install -D apache.conf $(sysconfdir)/httpd/conf.d/spice-html5.conf
find . \( -iname '*.html' -or -iname '*.js' -or -iname '*.css' \) -exec install --mode=644 -D {} $(datadir)/spice-html5/{} \;

38
spice-html5.spec.in Normal file
View File

@ -0,0 +1,38 @@
Name: spice-html5
Version: VERSION
Release: 1%{?dist}
Summary: Pure Javascript SPICE client
License: GPLv3
URL: http://www.spice-space.org
Source0: http://www.spice-space.org/download/spice-html5/spice-html5-VERSION.tar.gz
BuildArch: noarch
Packager: Jeremy White <jwhite@codeweavers.com>
%description
spice-html5 is a Javascript SPICE client. This includes a simple html
page to enable a login, and the client itself. It includes a configuration
file for Apache, but should work with any web server.
%prep
%setup -q
%build
%install
rm -rf $RPM_BUILD_ROOT
%make_install
%files
%defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/httpd/conf.d/*.conf
%{_datadir}/spice-html5
%doc COPYING README TODO
%changelog
* Fri Feb 8 2013 Jeremy White <jwhite@codeweavers.com> 0.1.0-1
- Initial version for packaging.