Arduino Debian/Ubuntu package

Hi, while Im waiting to my first Arduino, I work on Debian/Ubuntu native package for Arduino software. In any other case, it is few minutes of work, but unfortunately Arduino mix libraries and data into one directory tree. Because arduino need write permissions to program directory, it is almost impossible to make correct package.

Because mixing program libraries with data is not good idea at all, Im just wondering, if is possible to divide these pieces. My idea is to have static data in program directory and some "working" directory (temp, probably in user's home) with write permissions.

Thanks,
Marek

HI slush, am interested in this.

I've started a little electronics club locally, and started researching packaging arduino as .deb, because I need it.

I like the idea a LOT, particular the dependancy of java (gcc?)

Here are my thoughts, largely like yours with splitting up data

  1. install arduino to it appears as "arduino" ie no path required in /usr/bin or whatever

  2. create an "arduino_sketches" directory in ~home directory

  3. Also package up the third party libs - eg timer, servo, and a few other standard ones. (is this legal ?)

  4. include a package with the tutorials and manual (dont think these exist yet in html)

My felling is that arudino is geared up as you have pointed out for a single "directory" structure, this is a bad design imho, for example a new update is difficult with possibily or overwritting, or having to move stuff etc.

The only snag is that the preferences might need to change from default.

If deb packages are as easy as you say, then I'd be very glad )along with my club) to be a guinea pig and tester, mainly because the whole .deb bit is a bit confusing (and I dont have much time), but same goal.

heaven =
sudo apt-get install arduino

Pete

Pete,

you are absolutely right. With current arduino sources, it is almost impossible to make good directory structure. Unfortunately, Im not a Java programmer, so I cannot send a patch to solve problem.

If is any Java programmer here - it would be great to separate data dirs (sketch directory, ...), program code (java app) and temporary files (compiled libraries, .o files, ...) and configure these paths using "preferences" file.

After that, I can manage arduino packages for Debian/Ubuntu.

As of Arduino 0017, most compilation is done in temporary folders (including for libraries). The only thing that gets written within the application directory when uploading examples. This, too, will be moved to a temporary folder in Arduino 0018. That should make it possible to create a package, since the application directory could be read-only.

So what are the debian install paths?

What I expect is for all libs/* installed and arduino in PATH.

Upon fist execution, I get asked t create my workspace in my ~home named "arduino", and all stuff goes in there, compile temp files et all..

We also need to include all the standard libraries..and keep it patched and updated religiously.

Have we got a git of svn repository we can push these deb's to for testing ?

pete

Am thinking out loud..

We'd need the dependancies =
gcc, JAVA, + arduino
arduino in /usr/bin/arduino, all other in libs/

Temp will be executed by os with debian, could be tmp or ~.tmp (not an issue)

I really want to package all the extra libs, their pretty stable, but need updating on a regular basis.. we need to version these.

=== The Experience ===
After apt-get install arduino and a coffee,
Click Icon in "?? which "category" is it gonna be under" ? = Development (need arduino.png

"Welcome to Arduino" - It seems that this is the first time you have run arduino.
Arduino needs somewhere to save all the sketches and stuff your goin to create. By default this is a directory calles arduino in you home directory.

The arduino directory will contain subdirectories with all your stuff

  • examples/ this directory contains tutorial and example code u can cut and paste
  • a sketches/ directory where all your mad projects will go
  • a preferences.ini file that saves your profile. U wont need to change this
  • a xlibs/ directory with extras
  • LEGAL.txt = gpl license agreement
  • docs/ - directory with html and docbook and pdf + logos' icons
  • Arduino.html - Portal page

<>

pete

Most of what you're describing happens already, in some form. The sketches are stored in a sketchbook whose location defaults to the Arduino/ sub-folder of your home or documents folder. The preferences go in ~/.arduino/preferences.txt. The compilation happens in the system tmp folder. Etc.

So is there a repository we can place the scripts, and a site for distribution?

Maybe "Personal Package Archives" (ppa) on Launchpad ?

It needs to be officially backed and sanctioned by Arduino "officially" to be effective.

Pete

There's a few ppa's in launchpad already!

https://launchpad.net/arduino

https://launchpad.net/~abogani

is Alessio Igor Bogani around ?

pete

thanks god someone is already looking after that.

When I started using arduino about a month ago, I wondered, why there is nothing in the debian or ubuntu repositories.
And thought about packaging.
But I'm glad some people with more experience are already on the task.

Looking forward to it.
I would also be willing to be an early tester.

Once it's done, could you also upload it to backports.org for lenny?

I'm fairly new to Debian (this time around) and was following the HOWTO to install arduino-00018 but I don't know where the repositories are and how the sources.list should be edited to add them. It says to run sudo apt-get install arduino but without the correct repository it can't find the files. Help always appreciated. :o

I'm fairly new to Debian (this time around) and was following the HOWTO to install arduino-00018

This article http://www.arduino.cc/playground/Linux/Ubuntu
has a link to instructions for this
Eberhard