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

Re: (Really) a lot of questions about packaging



This question is better suited for debian-mentors btw.

> Hello,
> 
>  currently I'm working on my first debian package, called sidplay.
>  I already announced it on this mailing list, about two weeks ago.
> 
>  After reading the docs, I set up the control and information files and
>  debian/rules. But I have still some question, especially with regard to
>  dpkg-shlibdeps.
>  
>  The source package (sidplay-x.yy...) creates 3 binary packages: libsidplay1
>  (which contains the shared libraries), libsidplay1-dev (contains a statical
>  lib and several header files), sidplay (with binary executables). Of course,
>  each package has the required doc files.
> 
> 
>  My first question is: should I use dpkg-buildpackage or execute dpkg-sources,
>  rules clean, rules binary a.s.o. with dpkg --build inside the rules file?

You should use dpkg-buildpackage for the final build, but it's useful to do 
debian/rules <target> while debugging.


> 
>  Then: In debian/rules I have a line like
>    'dpkg-shlibdeps debian/tmp/usr/bin/sidplay'
>  Obviously, sidplay uses the shared library from libsidplay1, which isn't
>  installed yet and therefore cannot be found in this moment. When I use
>  LD_PRELOAD the output of ldd is not recognised ("unknown output from ...").
>  What is the "official" way to solve this?

take a look at section 12.2.5 of the packaging manual.

 Should I copy the library to the
>  place where it is expected to be (and should I do this from debian/rules?)
>  or should I enter the dependency by "hand" (into debian/control or
>  debian/shlibs)?
>  
>  How do I setup debian/shlibs for the library libsidplay1 itself? Similar to
>  the executable sidplay it depends on libc and libg++. Again, what's the
>  official way?

The library depends are generated by dpkg-shlibdeps.  The shlibs file "depends"
field should contain the name of the first version of the package with 
this particular version of _your_ library, not the libraries it depends on.


>  Maybe there are dependencies for libsidplay1-dev as well (libg++-dev???).
>  What about these?
> 
>  Does Debian use source dependencies? At least gcc, libc-dev, libg++-dev need
>  to be installed in order to compile the package. Should there be a Depends
>  line for the source package?

No, source-depends haven't been implemented yet.

> 
>  What does the following warning mean: "no utmp entry available. Using
>  $Logname (...) instead in ..." (well, I'm no perl expert - uuh, know near to nothing about
>  programming in perl). I got this during the packaging process.


This is a harmless error message that is fixed in the latest (experimental)
version of dpkg.

> 
>  The next two questions are not directly related to this package, but maybe
>  important for future enhancements:
>  
>   What is $(shlibs:Recommends) used for? Yes, I know what it means, but how do
>   I replace it by certain values? Do I have to fill in debian/shlibs by myself
>   Or would I need to call dpkg-shlibdeps with certain command-line parameters?

Right.  all ${shlibs:*} values are filled in from debian/substvars file.  
dpkg-shlibdeps writes to that file.  In case of recommends, it is easier to 
write them in, but in case of Depends, you should let dpkg-shlibdeps fill it 
in.


>   But then I could enter it directly into the file...
> 
>   Where would programs go that depend on packages from non-free (I'm talking
>   about qt)? There's is an add-on for sidplay which uses qt, and I like to
>   package that as well. (That is, if it will work).

contrib.

-- 
Proudly running Debian Linux! Linux vs. Windows is a no-Win situation....
Igor Grobman           igor@debian.org                 igor@digicron.com 



--
TO UNSUBSCRIBE FROM THIS MAILING LIST: e-mail the word "unsubscribe" to
debian-devel-request@lists.debian.org . 
Trouble?  e-mail to templin@bucknell.edu .


Reply to: