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

Re: Build-Depends-Indep dependencies



Hello, Anatoly,

in fact, I understand that you are mainly asking for general packaging
practice details. Have you looked at 

http://www.debian.org/doc/maint-guide/

which does a fairly good job at explaining the basics of Debian
package preparation, and which is certainly the most appropriate gate
to making correct Debian packages.

Section 

http://www.debian.org/doc/maint-guide/ch-dreq.en.html#control 

will enlighten you about Build-Depends-Indep use.

Roughly, one way to figure out if you need to specify something in
that field is to ask yourself these questions in order :

1. Is my software dependent on the computer architecture (compiled
source code), or is the source code interpreted so that it will run
unmodified on all architectures ?

2. In case the source code is interpreted (like by the Python
interpreter), is that code (in the form of modules or packages)
requiring any particular software to be built ? If yes, you need to
specify the name (and version, if necessary) of the Debian package
that ships that software. If no, you do not need to fill that
field. One example would be that one particular Python library would
be required for your building of the software. That would be
platform-independent software, but still you would require, when
building you software that specific package.

However, please, note that these are general packaging questions which
should be posted on other mailing lists. In order for your questions
to be well received by the Debian community (which is full of people
willing to help), you should really make sure you have read the basic
documents about packaging (not only Python stuff *all stuff* because
packaging software for Debian requires an extensive understanding of
how software works, not just Python scripts : any software). Also,
when posting a question, please do refer to your readings by saying,
for example, that you read some relevant documentation but could not
find any answer to your specific question.

A list of useful developer lists is located at
http://lists.debian.org/devel.html, along with an easy subscription
system.

Finally, just a suggestion : do not state that you do not want to do
this and this and that learning this and this is not useful... That
kind of behaviour will call for sarcasm from Debianists, precisely
because they became Debianists by not thinking the way you did in a
previous mail. 

Makefile is the name of file which are understood by a program which
is called 'make'. Makefiles are generated by a number of build
systems, amongst which the autotools (GNU project), CMake, and
others. It's good to see you are willing to help, but you may want to
read some basics docs first.

For example, have a look at http://www.gnu.org/software/make/manual/

No need to understand *everything* at first reading!! You just need to
get the general picture. Do this for many docs and you'll get a useful
sight on what programs are and how they should be dealt with in Debian
packaging.

I hope you will consider Debian as a wonderful "self-development
platform", as the community is generous ; but you should try to be so
also.

Cheers,

Filippo 


On Tue, Oct 26, 2010 at 01:03:32PM +0300, anatoly techtonik wrote:
> 
> On Tue, Oct 26, 2010 at 11:28 AM, Sandro Tosi <morph@debian.org> wrote:
> > On Tue, Oct 26, 2010 at 10:16, anatoly techtonik <techtonik@gmail.com> wrote:
> >> On Tue, Oct 26, 2010 at 10:40 AM, Sandro Tosi <morph@debian.org> wrote:
> >>>> Sorry for the lame question, but I couldn't find an explanation of
> >>>> difference between Build-Depends and Build-Depends-Indep in Debian
> >>>> manuals. Can anybody explain when Build-Depends-Indep is required?
> >>>
> >>> look it up on Debian Policy - and questions like this should be sent
> >>> to debian-mentors: there's nothing python specify here.
> >>
> >> I expected smb. to tell me that Python applications doesn't need
> >> Build-Depends-Indep, because <insert something here>...
> >
> > and I expected you to use google, find what b-d and b-d-i are, try to
> > understand what's their use-case and in case of doubt ask here (if
> > it's a strictly python question) or on debian-mentors (if it's a
> > general questions) - unmatched expectation it seems.
> 
> I used Google to find
> http://www.debian.org/doc/debian-policy/ch-relationships.html#s-sourcebinarydeps
> It doesn't explain the terminology.
> 
> > Ah, you can also look at what other packages does - it's a very good
> > way to learn "how to package".
> 
> I'm already trying to understand the packaging of trac-bitten - that's
> why these questions.
> 
> >> Now I ought to educate myself about autotools, makefiles and all that
> >> low level stuff that I don't really care about when writing in Python.
> >> There are good chances that I won't do this, and as a result won't be
> >> able to help you in maintaining.
> >
> > ahah nice try - f.e. why would you need to "educate" yourself about
> > autotools? it's a non sequitur from b-d vs b-d-i question: care to
> > explain?
> 
> Because from Debian Policy I understand that Build-Depends-Indep
> affects some rules in debian/rules. This file is a Makefile. I
> remember that Makefiles in *nix systems were usually produced with
> some kind of autotools.
> 
> Even though the policy doesn't explain what Build-Depends-Indep is, it
> says that Build-Depends-Indep should be present for these Makefile
> targets:
> build, build-indep, binary, and binary-indep
> 
> But there are no such targets in trac-bitten debian/rules file, so I
> assume that some kind of autotools is used to execute/supply these
> targets when debian/rules is executed. As a Windows Python user, who
> just want to see new Bitten package in Debian to upload the package to
> production server, I can't really go into the gory details of Debian
> toolchains. It already takes more time than I could allow.

-- 
Best regards,
                 Filippo

-- 
Filippo Rusconi, PhD - CNRS - public key C78F687C
Author of ``massXpert''     at http://www.massxpert.org


Reply to: