[Pkg-electronics-devel] PCB

pcb-rnd at igor2.repo.hu pcb-rnd at igor2.repo.hu
Sun Dec 18 06:42:22 UTC 2016



On Sat, 17 Dec 2016, Dima Kogan wrote:

> I worked on this today, and have a preliminary debianization. Build with:

Thank you!

>
>    gbp clone git://anonscm.debian.org/users/dkogan-guest/pcb-rnd.git
>    cd pcb-rnd
>    pristine-tar checkout pcb-rnd_1.1.3+repack1.orig.tar.gz
>    mv pcb-rnd_1.1.3+repack1.orig.tar.gz ..
>
>    dpkg-buildpackage
>
> This package works, but isn't complete. The missing parts are:
>
> - Documentation. How do I build it?

In 1.1.3 the situation was a bit messy. We are cleaning the doc up 
these days in trunk/; we'll have a release in a week.

In 1.1.3: we had the original, mostly obsolete docs in doc-orig/. This 
could be built, but the dependencies and build process was a hassle for 
many users (even in mainline) so we just commited a version once built. We 
started the new doc effort in doc-rnd/, where we also always commited all 
built files to make sure docs are always accessible.

In trunk and from the next release on: we have only doc/, no build needed, 
all output commited, can be packaged/published as-is.

>
> - Tests. Are there tests? How do I run them?

Yes, in tests/

In theory you can run: 'cd tests && make test' and the return value 
should tell if everything went fine.

In practice 1.1.3 broke the test infrastructure unfortunately - I didn't 
realize it back then because it worked from the svn checkout. It will be 
fixed with the next release.

> - Copyright. I added the missing copyright info, but some parts were
>  copyright-less. What is the copyright and license of
>
>  - src_3rd/liblhtpers

This one is part of liblihata, the same LGPL2+ applies. I'll add the 
license banners today, next release will have them.

>  - src_3rd/genregex

The core of this project is oz's regex implementation (regex_templ.c), 
whcih is public domain. I wrote the rest of the files, I'll place them in 
public domain (will add the bannes today, next release will have them).


<snip>

> - I built everything into a single package, and I'm not building
> anything as a plugin. I don't see the benefit of splitting anything
> here. Originally I was looking at separating gtk and lesstif into
> separate packages as plugins, but this didn't work (will talk to
> upstream), and popcon says that lesstif is WAY less popular than gtk, so
> I'm just building a single package with gtk and calling it good.

I'd like to ask you to reconsider this.

One of the strengths of pcb-rnd is modularity. We have many features and 
most users use only a subset of features. Even more, some users express 
they dislike certain features and feel better if they are not even 
compiled in. lesstif vs. gtk, gsch2pcb-rnd vs. import_sch and the ability 
to skip all the autorouter/autoplace parts.

We also have very strong support for batch processing (and scriptable 
automation). I can run pcb-rnd on my web server behind a CGI, without any 
gtk or even X installed. This is not possible if the GTK HID plugin is 
compiled in.

About lesstif vs. gtk - some users insist on using lesstif. PCB has two 
Debian packages: pcb-lesstif and pcb-gtk. They can't load the gui from 
.so, so that's two full pcb executables with different HIDs static linked.

If you think one package per plguin is too much, could we at least group 
them and make a package per plugin group? There won't be any 
inter-dependency, plugin packages could excusively depend on core.

> - I'm building gschem2pcb into a separate package. How does this differ
> from the one already in Debian?

gsch2pcb-rnd uses the same configuration system, project files and 
parametric footprints that pcb-rnd does. The original gsch2pcb tool uses 
its own configuration and footprint search mechanism; it also can't use 
pcb-rnd's parametric footprints. With the minimalistic footprint library 
we distribute with pcb-rnd, not being able to use parametric footprints 
may render the whole package unusable.

You can still use gsch2pcb with pcb-rnd, but then you will constantly 
struggle with footprints not found, tempaltes used from the wrong file, 
having to duplicate parts of your pcb-rnd configuration in gsch2pcb's rc 
file, etc.

There should be no conflicting files between gsch2pcb and gsch2pcb-rnd, 
they could live side by side.

Best regards,

Tibor Palinkas




More information about the Pkg-electronics-devel mailing list