← Back to team overview

kicad-developers team mailing list archive

Re: Kicad distribution method for users - some updates

 

Hi Fabrizio,

I have probably spent 100 or more hours on this problem, maybe much more.
 While Cmake *can* make debs, I do not think Cmake is the way to make debs
for Kicad for Ubuntu and Debian.

I have outlined the work I am undertaking on the Kicad developer list
previously--I can dig it up if you'd like, but my goal is to get a Ubuntu
package that passes all the tests and is acceptable to Ubuntu developers
for being mainlined into the official repos.  This will not be accomplished
very easily through Cmake deb files due to the integration that has been
added to Kicad over the last year.  One obvious case is Python.  There are
literally 30+ pages of documentation on how to build Ubuntu and Debian
packages that refer to Python.  In order to be accepted into mainline, we
pretty much have to follow all that documentation.  We have to follow two
different sets of documentation, just for Python, because we both integrate
an interpreter and provide a Python package.

I appreciate your excitement to work on this, but I worry that you're
jumping the gun a little bit.  I'd really appreciate the help, but I want
to make sure we're speaking the same language.

As you are more interested in Debian than Ubuntu, you may want to start
here: https://wiki.debian.org/HowToPackageForDebian

Before you start reading the documentation, I'll warn you:  there are many,
many people over the years who have tried to make "simple installers" that
will just take existing code and crank it out into a Debian-acceptable
installer.  This happens about every two years.  They usually work great
for simple projects, and very poorly for complicated projects.  Even when
they create a deb file, the deb file doesn't follow all the rules it takes
to be included in the Debian project.

That being said, there are merits to a "dumb deb builder" similar to
checkinstall.  I think Dick just created it.  This provides a thin layer of
metadata so you can ask the package manager about kicad files and it knows
about them.  This is an excellent thing, and very useful for one set of
requirements.  I don't think you can "grow" that into something that is
acceptable for Debian/Ubuntu to include in mainstream, and I don't even
know if that's something I recommend anyone distribute as a deb file, you
know?  If you give that deb file to someone else, I think there is little
guarantee it'll actually work, due to dependencies.

There are a whole lot of issues even beyond Python--for instance, our
compile time branches.  I previously solved this using multiple PPAs--set
up one PPA, install "kicad", and you get GAL support.  Setup another PPA,
install "kicad", and you get Python support.  After a few hours of reading
and asking upstream folks about packaging, I found out this is also a
no-no, and we should have multiple packages that conflict with each other
using the control file.

Additionally, the reason why you don't do install dependences from apt is
because upstream is years and years old, and kicad's dependencies have
changed since then.

Adam Wolf
Wayne and Layne, LLC


On Fri, Oct 18, 2013 at 3:11 AM, Fabrizio Tappero <
fabrizio.tappero@xxxxxxxxx> wrote:

> Hello,
> I updated the script according to Dick's suggestion and added some
> modifications in it for "yum" people so that we are now a bigger
> family. I also uploaded it to the web:
> http://www.kicad-pcb.org/display/KICAD/Download
>
> just a question, Dick, why don't we like "sudo apt-get build-dep
> kicad"? you removed it. Shouldn't be better to have it there? just in
> case in the future we add some libs, some apt-get guy detect it but we
> do not update this script accordingly.
>
> Dick, thanks for the "make package" thing. I think it is great ! I
> have done some googleing and noticed that for instance slackware Linux
> does maintain a "recent" version (03/2013) of KiCad:
> http://slackbuilds.org/result/?search=kicad&sv=14.0
>
> Debian people do it too but it is 1.5 years old. I contacted the
> maintainer but mail bounced back.
>
> There is also and unofficial Debian/Ubuntu apt-get repo that looks
> very official and that we could use:
> http://www.apt-get.org/
>
> The question is kind of philosophical, who should maintain packages
> and distribute open-source software? the developers of the software or
> the guys doing Linux distros?
>
> Well guys, I think lots of progress on this subject has been made
> since two weeks ago, I think cmake is the way to make .deb. I think
> the script on the web is great for the people who want to compile. We
> just need an additional step adding Adam's server in the equation?
>
> Adam, I'll have a look at Karl's stuff and contribute to the cmake but
> first I'd like to fix all this .desktop files and especially this
> icons issue. It seems to me that there is a little bit of a mess
> there.
>
> Regards
> Fabrizio
>
>
>
>
>
>
>
>
>
> On Thu, Oct 17, 2013 at 9:13 PM, Adam Wolf
> <adamwolf@xxxxxxxxxxxxxxxxxxxx> wrote:
> > There have been some discussion in Debian land about changing how they
> > package Python-y stuff, that will make a world of difference for me.  It
> > looks like it's going through, so there's light at the end of that tunnel
> > too.
> >
> > Adam Wolf
> > W&L
> >
> >
> > On Thu, Oct 17, 2013 at 2:10 PM, Dick Hollenbeck <dick@xxxxxxxxxxx>
> wrote:
> >>
> >>
> >> CMake now builds a primitive *.deb file on Ubuntu/Mint/Debian.
> >>
> >>
> >> $ make package
> >>
> >>
> >> It has no dependencies, so it about like using checkinstall.
> >>
> >>
> >> Dick
> >>
> >>
> >> _______________________________________________
> >> Mailing list: https://launchpad.net/~kicad-developers
> >> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> >> Unsubscribe : https://launchpad.net/~kicad-developers
> >> More help   : https://help.launchpad.net/ListHelp
> >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~kicad-developers
> > Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~kicad-developers
> > More help   : https://help.launchpad.net/ListHelp
> >
>

Follow ups

References