Added package directory with RPM SPECfile (and instructions!)

Linked to issue #144

Tested on Fedora 18, works fine except the ard-reset-arduino manpage displays
[1m and [0m around some headings, might be a bug in help2man 1.41.2 as it
works fine on Debian with 1.43.3, will try CentOS/OEL 6.5 next.

I didn't update the changelog as I didn't know what the new development
version is going to be.
This commit is contained in:
Simon John 2013-12-30 16:07:36 +00:00
parent 6e2708a446
commit 9ad2c858ce
2 changed files with 74 additions and 0 deletions

19
package/README.md Normal file
View file

@ -0,0 +1,19 @@
# How to compile an RPM
From the top-level Arduino-Makefile directory you've checked out of github, run the following to create a compressed tarball using the naming conventions required by rpmbuild:
git archive --prefix=arduino-mk-1.1.0/ --format=tar -o ../arduino-mk-1.1.0.tar.gz -v HEAD | gzip
If you don't already have a rpmbuild setup (e.g. you've not installed the SRPM) you will need to create the directories:
mkdir -p ~/rpmbuild/{SOURCES,SPECS}
Then copy the tarball and specfile into place:
cp ../arduino-mk-1.1.0.tar.gz ~/rpmbuild/SOURCES/
cp package/arduino-mk.spec ~/rpmbuild/SPECS/
Then compile. This will create a binary and source RPM:
cd ~/rpmbuild/SPECS/
rpmbuild -ba arduino-mk.spec

55
package/arduino-mk.spec Normal file
View file

@ -0,0 +1,55 @@
Name: arduino-mk
Version: 1.1.0
Release: 1%{dist}
Summary: Program your Arduino from the command line
Packager: Simon John <git@the-jedi.co.uk>
URL: https://github.com/sudar/Arduino-Makefile
Source: %{name}-%{version}.tar.gz
Group: Development/Tools
License: LGPLv2+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildArch: noarch
Requires: arduino-core, perl-Device-SerialPort
BuildRequires: arduino-core, perl-Device-SerialPort, help2man
%description
Arduino is an open-source electronics prototyping platform based on
flexible, easy-to-use hardware and software. It's intended for artists,
designers, hobbyists, and anyone interested in creating interactive
objects or environments.
This package will install a Makefile to allow for CLI programming of the
Arduino platform.
%prep
%setup -q
%install
mkdir -p %{buildroot}/%{_datadir}/arduino
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_mandir}/man1
mkdir -p %{buildroot}/%{_docdir}/%{name}/examples
install -m 755 -d %{buildroot}/%{_docdir}/%{name}
install -m 755 -d %{buildroot}/%{_docdir}/%{name}/examples
for dir in `find examples -type d` ; do install -m 755 -d %{buildroot}/%{_docdir}/%{name}/$dir ; done
for file in `find examples -type f ! -name .gitignore` ; do install -m 644 $file %{buildroot}/%{_docdir}/%{name}/$file ; done
install -m 644 %{name}/*.mk %{buildroot}/%{_datadir}/arduino
install -m 644 %{name}/licence.txt %{buildroot}/%{_docdir}/%{name}
install -m 755 bin/ard-reset-arduino %{buildroot}/%{_bindir}/ard-reset-arduino
help2man %{buildroot}/%{_bindir}/ard-reset-arduino -n "Reset Arduino board" -s 1 -m "Arduino CLI Reset" --version-string=%{version} -N -o %{buildroot}/%{_mandir}/man1/ard-reset-arduino.1
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%{_bindir}/ard-reset-arduino
%{_mandir}/man1/ard-reset-arduino.1*
%{_datadir}/arduino/*.mk
%doc %{_docdir}/%{name}/licence.txt
%docdir %{_docdir}/%{name}/examples
%{_docdir}/%{name}/examples
%changelog
* Mon Dec 30 2013 Simon John <git@the-jedi.co.uk>
- Initial release.