diff --git a/packaging/fedora/README.md b/packaging/fedora/README.md new file mode 100644 index 0000000..dbd6334 --- /dev/null +++ b/packaging/fedora/README.md @@ -0,0 +1,23 @@ +# How to compile an RPM + +First install the dependencies as root: + + yum install arduino-core perl-Device-SerialPort help2man rpm-build + +From the top-level Arduino-Makefile directory you've checked out of github, run the following (as unprivileged user) 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 those directories: + + cp ../arduino-mk-1.1.0.tar.gz ~/rpmbuild/SOURCES/ + cp packaging/fedora/arduino-mk.spec ~/rpmbuild/SPECS/ + +Then compile. This will create a binary and source RPM: + + cd ~/rpmbuild/SPECS/ + rpmbuild -ba arduino-mk.spec diff --git a/packaging/fedora/arduino-mk.spec b/packaging/fedora/arduino-mk.spec new file mode 100644 index 0000000..1a7f3d3 --- /dev/null +++ b/packaging/fedora/arduino-mk.spec @@ -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 +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 +- Initial release.