[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: New Package: Lejos NXJ



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 2010-07-20 20:14, Chris Baines wrote:
> Hello,
> 
> My name is Chris and I have just started using Debian. I would like to
> build a Debian package for the Lejos NXJ project
> (http://lejos.sourceforge.net/). Its a replacement firmware and java api
> for a commercially available robotics platform, the Lego NXT. While I
> understand this is not the easiest program to package, I do want to
> still try.
> 

Hi Chris and welcome.

Thanks for your interest in Debian and packaging for Debian.

I suspect you are right when you say it is not the easiest; personally I
can recommend starting with smaller packages until you get the hang of
general packaging.
  But if you firmly believe that you can handle both the documentation
for packaging Debian packages in general, Java packages and this
particular package all in one go, then I will not stop you.

That being said, if you find it all too overwhelming, do not be afraid
to admit it and take a few smaller packages to get a feel of it. I have
found myself putting one of my more complex packages on hold in favour
of some easier packages just to get the steam back up.


On a more practical note, you may want to join the Java Team - you
probably will not find any better place to get help on Java related
issues and when your package is done, the team also have a number of
Java interested DDs to review and upload your package. The team have
also produced a number of helper tools to assist building Java packages
depending on the build system.

Finally, I am not sure how much documentation you have read about
general packaging, but if you have not already done so, you will need to
declare your intend to package this program.
  This is done by either retitling and taking ownership of an existing
"Request For Package" (RFP) bug on this software or filing a new "Intend
To Package" (ITP) bug against wnpp. It goes without saying that if there
already is an ITP bug, then you should ask the owner of that bug if you
can join as a co-maintainer.
  reportbug has a template for filing an ITP bug, for taking over an RFP
you may want to look at the bts script or reading [BTS].

There are a few guides on how to do the packaging e.g. [0], [1] and [2].
Then there is the Java Team info [3] and (once you have gotten an idea
of how general packaging works) a short set of examples for "how to use
various Java helper tools" [4]. Reading the Developer's Reference might
also be useful [5]. Then there is the Debian Policy[6], which formally
dictates the requirements for your package, plus the Java Policy[7].

I know it is a lot of reading (I have been here as well), but take it a
little at the time.

Finally if you are new to the Debian Bug Tracker (BTS), then there is an
IRC lesson on it Thursday at 1800 UTC in the Ubuntu Classroom[8]. They
may also have other classes they may be interesting/useful for you and
your packaging. While some things are done differently in Ubuntu, the
concepts of how to do a package is more or less the same.

> I have however run in to a couple of problems I was hoping you could
> help me with. Firstly, to compile it requires the cpptasks java library
> (http://ant-contrib.sourceforge.net/cpptasks/index.html) for ant and
> currently as far as I can tell this is not included with Debian. It
> looks to be separate, but part of the ant-contrib project that is
> included with Debian. I don't want to really package this as well. How
> should I move forward?
> 

You need to figure out if it is in Debian or not. If it isn't you may
want to request its inclusion either as a part of the ant-contrib package.
  In that case you probably want to file a bug against ant-contrib,
asking the maintainers (the Java Team as far as I recall) to include it.

> Secondly, I have little understanding of the usb permissions on Debian.
> I have done some basic tests and the device can't be accessed without
> root permissions on a standard installation of Debian. The project
> readme says:
>         To use udev rules, set up a file such
>         as /etc/udev/rules.d/70-lego.rules and populate it with the
>         following lines:
>         # Lego NXT
>         BUS=="usb", SYSFS{idVendor}=="03eb", GROUP="lego", MODE="0660" 
>         BUS=="usb", SYSFS{idVendor}=="0694", GROUP="lego", MODE="0660" 
>         
>         This relies on the username you are using being in the lego
>         group. You can modify the file to your requirements. The two
>         vendors are LEGO and Atmel (for the samba driver used in
>         firmware update mode). You may need to reload the rules or
>         restart udev. On some Linux systems, the command to reload the
>         rules is udevadm control --reload-rules.
> 
> However I don't believe this is the best solution, the device just needs
> to be accessible by the normal user, does a specific group need to be
> added just for this purpose?
> 

Cannot help here, sorry :)

> Thanks,
> 
> Chris
> 
> 
> 
> 
> 


Once again, welcome and thanks for your interest - if you have any
questions, feel free to ask.

~Niels

[BTS] http://www.debian.org/Bugs/server-control

[0] http://www.debian.org/doc/maint-guide/

[1] http://wiki.debian.org/HowToPackageForDebian

[2] https://wiki.ubuntu.com/PackagingGuide
NB: This is a packaging guide for Ubuntu, since there are differences in
the Debian and the Ubuntu Infrastructure there are things from this
guide that may not apply directly or may require adaptation to the
Debian setup. However the parts of how a package is set up properly is
fairly consistent between both Distros.

[3] http://pkg-java.alioth.debian.org/

[4] http://pkg-java.alioth.debian.org/examples/
Note: while not listed here, there also "maven" helper tools. If your
upstream uses maven as build system (or something not listed), then ask
and I will point you in the right direction.

[5] http://www.debian.org/doc/developers-reference/index.html
This is a general reference, so there are parts which may not be
interesting for you right now.

[6] http://www.debian.org/doc/debian-policy/
Warning: This is neither to read nor the most exciting document to read.
Unfortunately, it is /the/ rule book that defines if a package is up to
Debian's Standards or not.

[7] http://www.debian.org/doc/packaging-manuals/java-policy/

[8] https://wiki.ubuntu.com/Classroom
https://wiki.ubuntu.com/Packaging/Training

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEAREIAAYFAkxGAtEACgkQVCqoiq1YlqwJgACgvDbce5rfIRz9iT+usNkm8E7Z
FoMAoMvYbK8YjLHUR5hRayqwt7vibMCf
=iKXr
-----END PGP SIGNATURE-----


Reply to: