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

Re: [debian-user] Howto build Debian source packages (tar.gz)??



Hi Nick,

On Tue, Nov 26, 2013 at 2:09 PM, Nick Rudnick <nick.rudnick@gmail.com> wrote:
> Dear all,
>
> how to build Debian source packages, e.g.
> nvidia-graphics-drivers_331.20-1.debian.tar.gz
> (http://packages.debian.org/source/experimental/nvidia-graphics-drivers)??
> It seems different to common DEB as well as tarballs with configure/make.
>
Well, you happened to pick a really complicated package: Nvidia
graphics drivers are in non-free and the source is split into multiple
binary packages.

A few points:
- "Common DEB" are the result of compiling source package (i.e. the
binary output), so you don't actually compile .deb files.
- You don't compile the .debian.tar.gz file either. Look towards the
end of the page that you provided. There are actually three files
which comprises a debian source package: the .dsc (basically a
description of the debian source package), the .orig.tar.gz (the
original tarball from upstream), and the .debian.tar.gz (containing
things specific to the debian package).
- In order to see the complete debian source package, you have to
unpack the upstream tarball, unpack the .debian.tar.gz into a debian/
directory under the upstream source, and apply the patches in
debian/patches/ to the upstream source.
- The .debian.tar.gz contains a file "rules", which is a makefile
specifying how the binary package is to be generated. It is usually
more than just a make file though; for the nvidia drivers, it contains
directions for debhelper.
- debhelper (as the name suggests) is a handy helper to make packaging
easier. It hides some of the more tedious/common things during package
creation, such as having to manually write makefiles.

> Even a search term would help, as trying with Google/Wikipedia/Debian.org
> wasn't too lucky yet.
>
Sorry to say, but for a complicated package such as nvidia drivers,
you either use the already built binary package (through apt-get), or
you probably have to know enough about packaging that you could've
been a maintainer. For the latter, here are some resources:

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

Regards,

Vincent Chen


Reply to: