← Back to team overview

kicad-developers team mailing list archive

GAL PPA, scripting PPA

 

I created a GAL PPA for Ubuntu.  It's located at
https://code.launchpad.net/~adamwolf/+archive/kicad-gal-testing-daily,
and I have included  instructions for switching to it or reverting
back if you don't like the package.  It works the same as my other
PPAs.

Every night, it checks to see if there were changes in the kicad
branch in the previous day.  If so, it tries to build a package, and
if the package builds, it adds it to a repository that Ubuntu folks
can subscribe to.

In the near future, Wayne and Layne will only be maintaining one PPA,
but it will have a variety of kicad options--kicad, kicad-scripting,
kicad-gal, maybe even kicad-gal-scripting, and any other branches
folks come up with.  I'll have clear instructions on how to migrate
forward when they're ready.  Please let me know if you think this is a
bad idea.

We also have a Kicad Scripting PPA
(https://code.launchpad.net/~adamwolf/+archive/kicad-scripting-testing-daily)
that appears to work alright on Ubuntu.  It packages up the pcbnew
python module, and provides a python shell.  I was unable to get the
footprint wizard type scripting to work, but more investigation is
needed on my end.  Python packaging in Debian/Ubuntu has changed
strategy quite a few times in the last five years, so there is a lot
of bad information out there, and it took a while to wade through it.
It doesn't quite follow all the best practices for different python
versions, but there aren't really any examples to pick from for
"packages that provide a python extension but don't have a setup.py",
so I have to go find a Debian/Ubuntu python packaging guru and get
some enlightenment.  Anyway, on a relatively recent Ubuntu box, it
works.  I'd appreciate any bug reports from any brave souls who try
it.

Wayne and Layne also purchased a Mac Mini in early January, and we
created a small build swarm with Windows, Mac, and Linux machines
using Jenkins.  We automatically build a variety of configurations of
Kicad for every commit, and it emails us at Wayne and Layne if there's
an issue.  For the scripting versions, we also run some scripts and
confirm the output hasn't changed.  We have a variety of automatic
packaging jobs, for Ubuntu and OS X, and then we run an automatic
install-uninstall on an imaged system to make sure that the package
doesn't leave extra files behind or remove files it shouldn't.

The Mac package isn't quite stable enough for me to want to release
yet. but I would expect it'll be working well within a week.  It's
heavily based on Miguel's excellent work.  It looks like you can't
really build a package on 10.8 that'll work well on previous versions,
but you can build a package on 10.6 that'll work on 10.6, 10.7, and
10.8.

My upcoming plans are:
* Include Fabrizio's larger icons in the Ubuntu package, if that
hasn't already happened.
* Get the Mac package building daily, and uploaded automatically somewhere.
* Migrate the Wayne and Layne PPAs to have a kicad, kicad-gal,
kicad-scripting... package in a single PPA, so you don't have to
switch PPAs to get different packages.
* Test the Ubuntu packages under Debian, and make any needed changes,
and post them somewhere for the Debian folks.
* Get the Ubuntu and Debian packages accepted as official, so folks
who don't know about the Wayne and Layne PPAs will still get a
relatively recent Kicad
* Use something like sikuli to do some sanity end-to-end tests, open a
sample board, save some files, that type of thing
* Create a version of printo.py that also does drill files.
* Document using printo.py to automatically create images of your pcbs
upon each commit of a PCB into your favorite source control system
* See if the Windows team wants to add their builds to our build swarm

CERN folks, I'd be glad to talk about #7 on your roadmap and see if
there's anything I/Wayne and Layne can do to help the situation.

Kicad folks, if you want to change the default PYTHON_DEST to be in
the user's home directory or whatever, that's perfectly fine by me.  I
had to override it for the Debian/Ubuntu scripting package anyway, so
a change in the defaults won't even touch my packages.

If there are any other branches that you want added to any part of the
Wayne and Layne build infrastructure  let me know.  It took me about
half an hour to add the GAL branch to the
build-and-test-after-every-commit system, as well as create a PPA.

Let me know if you have any questions, comments, or requests.

Adam Wolf
Wayne and Layne, LLC

Instructions for switching Kicad PPAs and Reverting:

Installing the scripting version of kicad:

1) If you already have kicad installed, from either a PPA or from the
official repo, uninstall it first.

sudo apt-get remove kicad kicad-common

2) If you already have a kicad ppa set up, remove it.

grep -R kicad /etc/apt

If there are any results, open each file, and comment out the lines
about the kicad ppa.

3) Add the tentative kicad-gal-testing ppa:

sudo add-apt-repository ppa:adamwolf/kicad-gal-testing-daily

4) Update your package list:

sudo apt-get update

5) Install the new packages:

sudo apt-get install kicad

Reverting:

To go back to how you had it before, if these packages don't work for you.
Remove the current packages
sudo apt-get remove kicad kicad-common

Remove the new PPA
sudo rm /etc/apt/sources.list.d/adamwolf-kicad-gal-testing-daily-*.list

Optional: add my non-scripting PPA back if you used to use it,
otherwise skip this step if you want the stock Ubuntu packages
sudo add-apt-repository ppa:adamwolf/kicad-testing-daily

Update your package list:
sudo apt-get update

Install the other packages:
sudo apt-get install kicad


Follow ups