Re: Simple Debian Package Creation?

2004-11-03 Thread Ken Bloom
On Wed, 03 Nov 2004 10:47:45 -0600, Zach Garner wrote:

> My company is a software development shop that uses Debian for all of our
> production systems. We chose Debian based on it's reputation on packaging.
> Our goal is to be able to type 'ant deploy' have our software built, have
> debian packages built with our software, and other support software, and
> then have a debian repository created. Then be able to do 'apt-get update'
> from our production systems, to upgrade our application on those systems.
> 
> Unfortunately, it's not working out so easily.
> 
> I've been a little frustrated with creating debian packages. As a user, I
> love Debian, but so far as a package creator, it's given me headaches. I'm
> hoping someone can enlighten me on a few things. I have a little
> experience with RedHat's packaging about a year ago, so I will mention it
> from time to time. Please don't take offense when I say that I like an
> aspect of RPM creation better than debian creation. And definitely correct
> my when my memory fails.
> 
> First:
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing.
>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating.
>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

> 
> Second, why can't I create packages with standard unix commands? Why can't
> I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

Just use dpkg-deb --build

fakeroot #you need to pretend to be root to get file permissions correct
mkdir somedir #this directory contains your filesystem tree
mkdir somedir/usr/bin -p #stuff here will be in /usr/bin when installed
... #do whatever it takes to make this directory
mkdir somedir/DEBIAN #this contains package meta-information
vi somedir/DEBIAN/control #this is the debian control file. you won't be
  #able to use shlibs to automatically compute dependancies
dpkg-deb --build somedir #this is approximately equal to those archive
 #commands you want

> Why can't debian package building be as simple as 'dpkg-create foo.spec'?

It is, but for redhat you'd have to write foo.spec first.
For Debian, you have to populate the debian directory first.

-- 
I usually have a GPG digital signature included as an attachment.
See http://www.gnupg.org/ for info about these digital signatures.




Re: Simple Debian Package Creation?

2004-11-03 Thread Ken Bloom
On Wed, 03 Nov 2004 10:47:45 -0600, Zach Garner wrote:

> My company is a software development shop that uses Debian for all of our
> production systems. We chose Debian based on it's reputation on packaging.
> Our goal is to be able to type 'ant deploy' have our software built, have
> debian packages built with our software, and other support software, and
> then have a debian repository created. Then be able to do 'apt-get update'
> from our production systems, to upgrade our application on those systems.
> 
> Unfortunately, it's not working out so easily.
> 
> I've been a little frustrated with creating debian packages. As a user, I
> love Debian, but so far as a package creator, it's given me headaches. I'm
> hoping someone can enlighten me on a few things. I have a little
> experience with RedHat's packaging about a year ago, so I will mention it
> from time to time. Please don't take offense when I say that I like an
> aspect of RPM creation better than debian creation. And definitely correct
> my when my memory fails.
> 
> First:
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing.
>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating.
>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

> 
> Second, why can't I create packages with standard unix commands? Why can't
> I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

Just use dpkg-deb --build

fakeroot #you need to pretend to be root to get file permissions correct
mkdir somedir #this directory contains your filesystem tree
mkdir somedir/usr/bin -p #stuff here will be in /usr/bin when installed
... #do whatever it takes to make this directory
mkdir somedir/DEBIAN #this contains package meta-information
vi somedir/DEBIAN/control #this is the debian control file. you won't be
  #able to use shlibs to automatically compute dependancies
dpkg-deb --build somedir #this is approximately equal to those archive
 #commands you want

> Why can't debian package building be as simple as 'dpkg-create foo.spec'?

It is, but for redhat you'd have to write foo.spec first.
For Debian, you have to populate the debian directory first.

-- 
I usually have a GPG digital signature included as an attachment.
See http://www.gnupg.org/ for info about these digital signatures.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread George Danchev
On Thursday 04 November 2004 02:37, Matthew Palmer wrote:
> On Thu, Nov 04, 2004 at 02:18:35AM +0200, George Danchev wrote:
> > my humble question is: if I have Source: and multiple Package: lines
> > described in my debian/control file. But how is these debian//
> > subdirectories created.. I end up with the firts Package: conctructed in
> > debian/tmp , but I want them all constructed in their own
> > debian/ subdirs.. yes I know it works, but where is the magic
> > here and what I'm mising ?
>
> Set your "debhelper compat level" to at least V2, preferably V4, by doing
> something like:
>
> echo "4" >debian/compat
>
> from the root of your source tree.
>
> Check debhelper(7), "Debhelper Compatibility Levels", for more info.

Ah thanks, I really nuked the compat file value.

-- 
pub 4096R/0E4BD0AB  2003-03-18  
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Thu, Nov 04, 2004 at 02:18:35AM +0200, George Danchev wrote:
> my humble question is: if I have Source: and multiple Package: lines 
> described 
> in my debian/control file. But how is these debian// subdirectories 
> created.. I end up with the firts Package: conctructed in debian/tmp , but I 
> want them all constructed in their own debian/ subdirs..
> yes I know it works, but where is the magic here and what I'm mising ?

Set your "debhelper compat level" to at least V2, preferably V4, by doing
something like:

echo "4" >debian/compat

from the root of your source tree.

Check debhelper(7), "Debhelper Compatibility Levels", for more info.

- Matt


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?

2004-11-03 Thread George Danchev
On Thursday 04 November 2004 00:52, Bartosz Fenski aka fEnIo wrote:
--cut--
> That is related to debian/control file.
> Whole packaging scripts assume that every "Package: " line in
> debian/control is used for final packages.
> So if you have:
>
> Package: my_cool_package
>
> line in debian/control then scripts looking for your files in
> debian/my_cool_package directory. So just put there your files in proper
> filesystem hierarchy and they'll be moved to package called the same.

my humble question is: if I have Source: and multiple Package: lines described 
in my debian/control file. But how is these debian// subdirectories 
created.. I end up with the firts Package: conctructed in debian/tmp , but I 
want them all constructed in their own debian/ subdirs..
yes I know it works, but where is the magic here and what I'm mising ?

-- 
pub 4096R/0E4BD0AB  2003-03-18  
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:
> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

Diversity is often seen as a virtue.  That does mean that it can be hard to
separate the need from the want, but you really can ignore pretty much every
script out there if you really really want to.  But take note -- it's a lot
harder to do it all by hand.  Some of the people who wrote helper scripts
knew what they were doing...

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

You're not forced to name your top-level directory anything, dh_make just
gets a little anxious if you don't.  So don't use dh_make -- it's not a good
fit for some situations, anyway.  As for the number of files, you can get
away with none if you really wanted to, but several little files is
much easier to deal with than one large one, IMO.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide)

You're not a New Maintainer, so the New Maintainer's Guide is going to be of
limited help to you.  As I mentioned in another of my missives on this
subject, you're not doing things the way the manual expects.  Hence the
manual seems less helpful than it might otherwise be.  Consider it an
optimisation problem -- you're not processable via the fast path. 

> expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

Because simplicity only works when you're doing what the tool expects.

> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
> any debian rules.

I'd hope that creating an RPM wouldn't require you to have your application
directory conform to any debian rules...

Let me rewrite your sentence:

"I feel than .deb creation is better here.  One command
('dpkg-buildpackage') is used.  One directory, debian/, is needed with
different files for each purpose.  I keep my .deb packaging files in a
consistently named location, which helps others understand what I've done,
and I don't have to have my application directory conform to any RPM rules."

> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

It's even easier than that -- you don't need to specify a .spec file.

> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

You can.  But you know that by now.

> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations. 

And you're shipping the packages that these developers create on random
platforms to your customers?  Eep.

> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can be
> installed via apt-get, that simply installs some files, and can use the
> pre/post install/remove scripts. This seems like a simple thing to do,
> but the process seems very difficult.

It seems difficult because you're coming at this cold, without previous
packaging experience doing the more "normal" packaging first.  With a bit of
experience doing regular packaging, you'd know what really is needed and not
needed, and how much dh_make can be full of crap sometimes, and this whole
process would be a whole hell of a lot easier.

But stick with it.  Everything you've described thus far can be done with
.debs.

- Matt


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?

2004-11-03 Thread Craig Small
On Wed, Nov 03, 2004 at 09:26:25PM +0100, Bartosz Fenski aka fEnIo wrote:
> Most of the apps are using `./configure && make && make install` so dh_make
> tries to use that way.
> In fact the only file you need is debian/rules.
> It should be Makefile which create your package.

I probably should mention that dh-make will only use that line if it
thinks the package would use it. Basically is there a configure
script and is it executable.

It usually assumes you type make to make the package but of course
that's one line change in one file to fix it.

  - Craig
-- 
Craig Small  GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.enc.com.au/   MIEE Debian developer
csmall at : enc.com.au  ieee.org   debian.org



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> On Wed, 2004-11-03 at 21:26 +0100, Bartosz Fenski aka fEnIo wrote:
> > On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:
> 
> > I'd agree it's pretty confusing, but only first time.
> > It's quite easy to understand it. 
> I'm hoping so, that's why I'm trying not to give up too easily.
> 
> 
> > Most of the apps are using `./configure && make && make install` so dh_make
> > tries to use that way.
> > In fact the only file you need is debian/rules.
> > It should be Makefile which create your package.
> 
> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things. Also, as far as I

The documentation you're reading has a target audience of people who want to
create packages for Debian.  The dh_make cruft is needed for lots of little
things we need to make Debian as good as it is.  dh_make is also
initially targetted, as you've noticed, at building packages which use the
old standby of ./configure; make; make install.  That isn't quite the
universal constant it once was, by virtue of the rise of scripting languages
and Java, the former of which doesn't need building, and the latter which
decided that it can't be any good because someone else is doing it that way.

> can tell I need the following:
> README.Debian compat copyright rules control dirs
> 
> I understand your point though, the 'rules' file is the only one that
> really matters.

"A build script" is, technically, the only thing you need -- just as you
would need for a tarball.  However, if you want to use the helpers like
debhelper, you'll need debian/rules, changelog, and control.  The first is
the build script, changelog is needed to get versioning information, and
control is used by most scripts to get all sorts of interesting information
(like what the source package is called, what the binary packages are
called, and so on).

> I have some makefiles that work ok, by modifying what I got from dh_make
> (this is probably a bad idea, but I don't have documentation on how to
> hand write one without using debhelper scripts...).

Butcher those dh_make-produced systems.  That's why they're "templates".

> It generally works,
> but there is a lot of magic that happens in the dh_ scripts.

Read the manpages, both for debhelper itself, and for the individual dh_
scripts.  They're pretty well documented, and each one is small enough to be
(IMO) understood well.

> For instance, I don't know how it knows that debian/ is where
> my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
> somehow expressed in one of the dh_ scripts that is listed in my "binary:"
> target. All I really know is that if I put my files there, it puts them in
> the package. I probably need to read the man pages more than I have...

That's debhelper compat magic.  Back in the olden days, debhelper was
more-or-less designed for single binary package work, and so it dumped it
all into a directory called 'tmp' in the debian/ directory.  That didn't
work, so later major versions of Debhelper changed it all around.  Read up
on "compatibility levels" in debhelper(7).

> > > Why can't debian package building be as simple as 'dpkg-create
> > > foo.spec'?
> > > 
> > > Second, why can't I create packages with standard unix commands? Why
> > > can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> > 
> > Debian uses standard unix commands. 
> 
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 

Nope.  Read deb(5) (in the dpkg-dev package).  Tells you all about it, in a
fair amount of detail, and it's all straight-up stock Unix tools to do it. 
In fact, in the past, dpkg was nothing more than a shell script.

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would too
> easy and (b) use dpkg-deb to create a package by giving it the
> control.tgz and data.tgz. Ideally, dpkg-deb wouldn't be required to
> create the specially formatted deb file, and I could just create a tar.

Running the Debian packaging tools on almost any Unix-like system shouldn't
be excruciatingly difficult, but as has been said a couple of times now, you
don't need any of it to make Debian packages.

> > > My main complaint here, is that we really want to be able to build the
> > > debian packages from any developer workstation. Since we don't impose
> > > operating system requirements on developers, we can't expect debian to
> > > be on all workstations. 
> > 
> > Sorry. How do you suppose to build rpm without rpm?
> Oh, I didn't mean to imply RPM was better here. My other biases s

Re: Simple Debian Package Creation?

2004-11-03 Thread Craig Small
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things. Also, as far as I
> can tell I need the following:
> README.Debian compat copyright rules control dirs

dh_make often helps beginners by setting things up and giving the
example files.  Some people like it, some don't; it is really up to you.

> I understand your point though, the 'rules' file is the only one that
> really matters.
The rules file is the one that does all the work.

You mentioned you just needed to copy files into the directories.
Ironically enough, this is exactly how dh-make the package is built.

For simple stuff, I can go from a tgz into a deb in about 10-15 minutes.
It takes a while to find your way around though.

for something that doesn't need compiling and has no daemons or other
strange stuff you could do

 * untar the source and cd into directory
 * dh_make
 * edit control file
 * edit copyright and changelog files, shouldn't need much though
 * edit the rules file, in the binary-indep (probably indep because you
   are not compiling stuff) target put your install commands to put
   things in the tree under debian/
 * put your list of documents in debian/docs
 * put your list of examples into debian/examples
 * put your list of manpages into debian/manpages
 * delete most of the debian/*.ex files left
 * debuild


> I have some makefiles that work ok, by modifying what I got from dh_make
> (this is probably a bad idea, but I don't have documentation on how to
> hand write one without using debhelper scripts...). It generally works,
You're supposed to modify what you get from dh_make. It only makes the
templates making some guesses.

> > > Why can't debian package building be as simple as 'dpkg-create
> > > foo.spec'?
Because the Debian packages are more complicated to build. They are that
way so they are easier to install for the user.

> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 
Actually you can and if you were to attempt to become Debian Maintainer
you would need to know how to do some operations with standard unix
tools.  It is bascially fiddling with ar and tar.

> What's still the big problem for us is the need to be on a debian system
> to create the packages. From what I can tell, we would likely need a few
> packages from debian-unstable on that system as well. 
It is a lot easier, but anything that has anything more that a trivial
packaging system requires this.  You could only possibly get away
with it because you are not compiling anything.

You would not need packages from debian-unstable, unless you needed
something from there, such as for a dependency.  Our security updates
a built on stable dist hosts for example.

I would have a problem shipping a package that was not even tested on
the native environment. How do you know the program is even going to 
work properly?

  - Craig

-- 
Craig Small  GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.enc.com.au/   MIEE Debian developer
csmall at : enc.com.au  ieee.org   debian.org



Re: Simple Debian Package Creation?

2004-11-03 Thread Matt Brubeck
Zach Garner wrote:

> It generally works, but there is a lot of magic that happens in the
> dh_ scripts. For instance, I don't know how it knows that
> debian/ is where my application data is supposed to be.
> Is this hardcoded in dpkg-deb?

dpkg-deb can take any directory and turn it into a binary package.
(On dpkg-deb(1), note the "directory" option to 'dpkg-deb -b'.)

By convention, the debhelper scripts install into debian/,
and dh_builddeb calls dpkg-deb with that directory as an argument.



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Wed, Nov 03, 2004 at 11:52:41PM +0100, Bartosz Fenski aka fEnIo wrote:
> On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> > > Most of the apps are using `./configure && make && make install` so 
> > > dh_make
> > > tries to use that way.
> > > In fact the only file you need is debian/rules.
> > > It should be Makefile which create your package.
> > 
> > What bugs me is that as far as I can tell from the documentation,
> > dh_make is the recommended proper way of doing things. Also, as far as I
> > can tell I need the following:
> > README.Debian compat copyright rules control dirs
> 
> README.Debian, compat  and dirs is useless (well at least it's not needed).
> In fact you need copyright, when you write copyright issues (could be

You don't need a copyright file to create a package, you just need it if
you're ever going to have a hope of getting your package into Debian
proper.  If that's not a concern, it's not needed.  (The voice of
experience).

> > I understand your point though, the 'rules' file is the only one that
> > really matters.
> 
> As I said previously... you can prepare rules file which will handle all
> issues, but it's not so easy then.

I wouldn't go down that path.  Those helper scripts are out there for a
reason.  But if you need to build debian packages in an environment with
nothing but standard unix tools, it's a definite option.

> > > If you really don'y like debhelper's scripts you can always write this
> > > Makefile yourself or use cdbs (`apt-get install cdbs`).
> > 
> > I'll look into cdbs.
> 
> That's totally other way of packaging. It's designed to simplify rules file
> as much as it is possible.
> Sorry I won't describe it more verbosely cause I like debhelper ;)

I think it won't cure the OP's desire for a comprehensible, do-anything
build system -- it's even more heavily tailored to building Debian .debs
than debhelper, IMO.

> > For instance, I don't know how it knows that debian/ is where
> > my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
> > somehow expressed in one of the dh_ scripts that is listed in my
> > "binary:" target. All I really know is that if I put my files there, it
> > puts them in the package. I probably need to read the man pages more
> > than I have...
> 
> That is related to debian/control file. 
> Whole packaging scripts assume that every "Package: " line in
> debian/control is used for final packages.
> So if you have:
> 
> Package: my_cool_package 
> 
> line in debian/control then scripts looking for your files in
> debian/my_cool_package directory. So just put there your files in proper
> filesystem hierarchy and they'll be moved to package called the same. 

That's dependent on debhelper magic.  See my reply to the previous message
for more info.

- Matt


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?jk

2004-11-03 Thread Matt Brubeck
Zach Garner wrote:

> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things.

dh_make automates a lot of the packaging process for most typical
packages, but it's certainly not required -- especially if it doesn't
suit your package.

You should certainly trim down the files and rules generated by dh_make,
looking up each of them and removing the ones you don't need or want.

> Also, as far as I can tell I need the following:
> README.Debian compat copyright rules control dirs

"README.Debian" and "dirs" are not required.

(The first is completely optional.  The second is used by dh_installdirs
if it is present, or you can also create directories yourself with
"mkdir" or "install -d".  Many packages don't need to do either, since
the upstream build system already creates all of the required
directories.)

"compat" is needed only if your package uses debhelper (which it
probably should in most cases, to save you from reinventing the wheel --
but it's not required).

> > > Second, why can't I create packages with standard unix commands?
> > > Why can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> >
> > Debian uses standard unix commands.
>
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as
> I can tell.

It's just an ar(1) archive.  See deb(5) for details.

Yes, this documentation is sparse and often hard to find.  On the other
hand, most developers seldom need to look at it because dpkg and
debhelper handle it all automatically.

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would
> too easy [...]

As far as I known, the dpkg tools will run on any Unix-like system.
They're used on Mac OS X for the "fink" system, for example.



Re: Simple Debian Package Creation?

2004-11-03 Thread George Danchev
On Thursday 04 November 2004 02:37, Matthew Palmer wrote:
> On Thu, Nov 04, 2004 at 02:18:35AM +0200, George Danchev wrote:
> > my humble question is: if I have Source: and multiple Package: lines
> > described in my debian/control file. But how is these debian//
> > subdirectories created.. I end up with the firts Package: conctructed in
> > debian/tmp , but I want them all constructed in their own
> > debian/ subdirs.. yes I know it works, but where is the magic
> > here and what I'm mising ?
>
> Set your "debhelper compat level" to at least V2, preferably V4, by doing
> something like:
>
> echo "4" >debian/compat
>
> from the root of your source tree.
>
> Check debhelper(7), "Debhelper Compatibility Levels", for more info.

Ah thanks, I really nuked the compat file value.

-- 
pub 4096R/0E4BD0AB  2003-03-18  
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Bartosz Fenski aka fEnIo
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> > Most of the apps are using `./configure && make && make install` so dh_make
> > tries to use that way.
> > In fact the only file you need is debian/rules.
> > It should be Makefile which create your package.
> 
> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things. Also, as far as I
> can tell I need the following:
> README.Debian compat copyright rules control dirs

README.Debian, compat  and dirs is useless (well at least it's not needed).
In fact you need copyright, when you write copyright issues (could be
easily checked how it looks like in other packages), rules (which is the
most important file which manages whole building process) and control which
could be also easily written cause it includes only most significant
issues.


> I understand your point though, the 'rules' file is the only one that
> really matters.

As I said previously... you can prepare rules file which will handle all
issues, but it's not so easy then.
  
> > If you really don'y like debhelper's scripts you can always write this
> > Makefile yourself or use cdbs (`apt-get install cdbs`).
> 
> I'll look into cdbs.

That's totally other way of packaging. It's designed to simplify rules file
as much as it is possible.
Sorry I won't describe it more verbosely cause I like debhelper ;)
 
> I have some makefiles that work ok, by modifying what I got from dh_make
> (this is probably a bad idea, but I don't have documentation on how to
> hand write one without using debhelper scripts...) It generally works,
> but there is a lot of magic that happens in the dh_ scripts. 

You can always check some examples. (Not sure if examples is proper name
cause they're just working and in most cases fully compliant packages ;))
Anyway... checking some really simple package should give you some ideas
what is being happen during packaging.
In fact compilation, moving to proper directory and calling dh_builddep
should be enough in most cases.
You have to use the same targets as in Debian's makefiles, but if you don't
care about policy compliant you can even miss that requirenment.

> For instance, I don't know how it knows that debian/ is where
> my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
> somehow expressed in one of the dh_ scripts that is listed in my
> "binary:" target. All I really know is that if I put my files there, it
> puts them in the package. I probably need to read the man pages more
> than I have...

That is related to debian/control file. 
Whole packaging scripts assume that every "Package: " line in
debian/control is used for final packages.
So if you have:

Package: my_cool_package 

line in debian/control then scripts looking for your files in
debian/my_cool_package directory. So just put there your files in proper
filesystem hierarchy and they'll be moved to package called the same. 
  
> > > Second, why can't I create packages with standard unix commands? Why
> > > can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> > 
> > Debian uses standard unix commands. 
> 
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 

Well you can. But then it became even more hard to do.
You can use ar, tar and gzip. 

You seems to ignore fact that Debian contains almost only free software,
and it is almost only build on Debian's autobuilders (excluding non-free
and contrib). So building scripts are designed to simplify *this* task, and
not packaging binary files.
Sorry that's the way it is. We're targeted at FREE SOFTWARE and our policy
demands to build it with another free software available on our
autobuiders.

It is however possible to build binary package in other way.
AFAIR there is some manual on the net how to easily do that.

Quick google search:
http://tldp.org/HOWTO/Debian-Binary-Package-Building-HOWTO/

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would too
> easy and (b) use dpkg-deb to create a package by giving it the
> control.tgz and data.tgz. Ideally, dpkg-deb wouldn't be required to
> create the specially formatted deb file, and I could just create a tar.

Take a look at mentioned link. 
If you don't care our policy then use binary packaging. 

> > > My main complaint here, is that we really want to be able to build the
> > > debian packages from any developer workstation. Since we don't impose
> > > operating system requirements on developers, we can't expect debian to
> > > be on all workstations. 
> > 
> > Sorry. How do you suppose to build rpm without rpm?
> Oh, I didn't m

Re: Simple Debian Package Creation?

2004-11-03 Thread Frank Gevaerts
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> > > Second, why can't I create packages with standard unix commands? Why
> > > can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> > 
> > Debian uses standard unix commands. 
> 
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 

try ar

Frank

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Thu, Nov 04, 2004 at 02:18:35AM +0200, George Danchev wrote:
> my humble question is: if I have Source: and multiple Package: lines described 
> in my debian/control file. But how is these debian// subdirectories 
> created.. I end up with the firts Package: conctructed in debian/tmp , but I 
> want them all constructed in their own debian/ subdirs..
> yes I know it works, but where is the magic here and what I'm mising ?

Set your "debhelper compat level" to at least V2, preferably V4, by doing
something like:

echo "4" >debian/compat

from the root of your source tree.

Check debhelper(7), "Debhelper Compatibility Levels", for more info.

- Matt


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?

2004-11-03 Thread Zach Garner
On Wed, 2004-11-03 at 21:26 +0100, Bartosz Fenski aka fEnIo wrote:
> On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:

> I'd agree it's pretty confusing, but only first time.
> It's quite easy to understand it. 
I'm hoping so, that's why I'm trying not to give up too easily.


> Most of the apps are using `./configure && make && make install` so dh_make
> tries to use that way.
> In fact the only file you need is debian/rules.
> It should be Makefile which create your package.

What bugs me is that as far as I can tell from the documentation,
dh_make is the recommended proper way of doing things. Also, as far as I
can tell I need the following:
README.Debian compat copyright rules control dirs

I understand your point though, the 'rules' file is the only one that
really matters.


> If you really don'y like debhelper's scripts you can always write this
> Makefile yourself or use cdbs (`apt-get install cdbs`).

I'll look into cdbs.

I have some makefiles that work ok, by modifying what I got from dh_make
(this is probably a bad idea, but I don't have documentation on how to
hand write one without using debhelper scripts...). It generally works,
but there is a lot of magic that happens in the dh_ scripts. For
instance, I don't know how it knows that debian/ is where
my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
somehow expressed in one of the dh_ scripts that is listed in my
"binary:" target. All I really know is that if I put my files there, it
puts them in the package. I probably need to read the man pages more
than I have...

>  
> > Why can't debian package building be as simple as 'dpkg-create
> > foo.spec'?
> > 
> > Second, why can't I create packages with standard unix commands? Why
> > can't I say something like:
> >   $ tar cvzf data.tgz myapplication/*
> >   $ tar czvf control.tgz control
> >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> 
> Debian uses standard unix commands. 

What I meant by standard roughly translates into available on most/all
unix or linux systems. The format of a .deb file is special as far as I
can tell. I can't create or manipulate them without using dpkg-deb or
one of the other scripts. 

In fact, I would be happy enough if I could (a) run dpkg-deb on our
other systems, this may be possible, though I don't expect it would too
easy and (b) use dpkg-deb to create a package by giving it the
control.tgz and data.tgz. Ideally, dpkg-deb wouldn't be required to
create the specially formatted deb file, and I could just create a tar.


> > My main complaint here, is that we really want to be able to build the
> > debian packages from any developer workstation. Since we don't impose
> > operating system requirements on developers, we can't expect debian to
> > be on all workstations. 
> 
> Sorry. How do you suppose to build rpm without rpm?
Oh, I didn't mean to imply RPM was better here. My other biases show
here.. I started out with Slackware, and later spent quite a while in
the OpenBSD then FreeBSD world. For all of those .tgz was the standard
format. 

I'm trying my best to put aside my previous habits, and get into the
debian package building way of thought.

>  
> > Right now, using Debian to deploy our software seems more and more
> > difficult for us. I'd greatly appreciate any advice or comments. All I
> > want to be able to do is create a package on any unix system that can be
> > installed via apt-get, that simply installs some files, and can use the
> > pre/post install/remove scripts. This seems like a simple thing to do,
> > but the process seems very difficult.
> 
> Is your software free? Can you share it with us?
> I'm sure that someone create proper packaging scripts for you.
> I'm first to help you if you want.

Unfortunately, it's not. I greatly appreciate the help you've given so
far, and the offer for more help. I can only promise that, if I start to
like the debian package build process, that I will contribute back in my
free time. I was once a FreeBSD package maintainer... 

I can get over part of my complaints. I can deal with the multiple files
in the debian directory, and may come to love it. The layers of scripts,
and the resulting confusing, conflicting documentation is still a
problem. But I expect I can eventually come to an understanding of it
all.

What's still the big problem for us is the need to be on a debian system
to create the packages. From what I can tell, we would likely need a few
packages from debian-unstable on that system as well. 

This isn't a technically insurmountable problem, but it is a snag when
it comes to convincing my supervisors that choosing debian and apt-get
for our production platform was a great idea. (it's probably still the
best idea, but unfortunately, maybe not a great one for our needs)


Thanks

-- 
Zach Garner <[EMAIL PROTECTED]>



Re: Simple Debian Package Creation?

2004-11-03 Thread George Danchev
On Thursday 04 November 2004 00:52, Bartosz Fenski aka fEnIo wrote:
--cut--
> That is related to debian/control file.
> Whole packaging scripts assume that every "Package: " line in
> debian/control is used for final packages.
> So if you have:
>
> Package: my_cool_package
>
> line in debian/control then scripts looking for your files in
> debian/my_cool_package directory. So just put there your files in proper
> filesystem hierarchy and they'll be moved to package called the same.

my humble question is: if I have Source: and multiple Package: lines described 
in my debian/control file. But how is these debian// subdirectories 
created.. I end up with the firts Package: conctructed in debian/tmp , but I 
want them all constructed in their own debian/ subdirs..
yes I know it works, but where is the magic here and what I'm mising ?

-- 
pub 4096R/0E4BD0AB  2003-03-18  
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:
> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

Diversity is often seen as a virtue.  That does mean that it can be hard to
separate the need from the want, but you really can ignore pretty much every
script out there if you really really want to.  But take note -- it's a lot
harder to do it all by hand.  Some of the people who wrote helper scripts
knew what they were doing...

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

You're not forced to name your top-level directory anything, dh_make just
gets a little anxious if you don't.  So don't use dh_make -- it's not a good
fit for some situations, anyway.  As for the number of files, you can get
away with none if you really wanted to, but several little files is
much easier to deal with than one large one, IMO.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide)

You're not a New Maintainer, so the New Maintainer's Guide is going to be of
limited help to you.  As I mentioned in another of my missives on this
subject, you're not doing things the way the manual expects.  Hence the
manual seems less helpful than it might otherwise be.  Consider it an
optimisation problem -- you're not processable via the fast path. 

> expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

Because simplicity only works when you're doing what the tool expects.

> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
> any debian rules.

I'd hope that creating an RPM wouldn't require you to have your application
directory conform to any debian rules...

Let me rewrite your sentence:

"I feel than .deb creation is better here.  One command
('dpkg-buildpackage') is used.  One directory, debian/, is needed with
different files for each purpose.  I keep my .deb packaging files in a
consistently named location, which helps others understand what I've done,
and I don't have to have my application directory conform to any RPM rules."

> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

It's even easier than that -- you don't need to specify a .spec file.

> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

You can.  But you know that by now.

> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations. 

And you're shipping the packages that these developers create on random
platforms to your customers?  Eep.

> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can be
> installed via apt-get, that simply installs some files, and can use the
> pre/post install/remove scripts. This seems like a simple thing to do,
> but the process seems very difficult.

It seems difficult because you're coming at this cold, without previous
packaging experience doing the more "normal" packaging first.  With a bit of
experience doing regular packaging, you'd know what really is needed and not
needed, and how much dh_make can be full of crap sometimes, and this whole
process would be a whole hell of a lot easier.

But stick with it.  Everything you've described thus far can be done with
.debs.

- Matt


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?

2004-11-03 Thread Craig Small
On Wed, Nov 03, 2004 at 09:26:25PM +0100, Bartosz Fenski aka fEnIo wrote:
> Most of the apps are using `./configure && make && make install` so dh_make
> tries to use that way.
> In fact the only file you need is debian/rules.
> It should be Makefile which create your package.

I probably should mention that dh-make will only use that line if it
thinks the package would use it. Basically is there a configure
script and is it executable.

It usually assumes you type make to make the package but of course
that's one line change in one file to fix it.

  - Craig
-- 
Craig Small  GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.enc.com.au/   MIEE Debian developer
csmall at : enc.com.au  ieee.org   debian.org


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> On Wed, 2004-11-03 at 21:26 +0100, Bartosz Fenski aka fEnIo wrote:
> > On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:
> 
> > I'd agree it's pretty confusing, but only first time.
> > It's quite easy to understand it. 
> I'm hoping so, that's why I'm trying not to give up too easily.
> 
> 
> > Most of the apps are using `./configure && make && make install` so dh_make
> > tries to use that way.
> > In fact the only file you need is debian/rules.
> > It should be Makefile which create your package.
> 
> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things. Also, as far as I

The documentation you're reading has a target audience of people who want to
create packages for Debian.  The dh_make cruft is needed for lots of little
things we need to make Debian as good as it is.  dh_make is also
initially targetted, as you've noticed, at building packages which use the
old standby of ./configure; make; make install.  That isn't quite the
universal constant it once was, by virtue of the rise of scripting languages
and Java, the former of which doesn't need building, and the latter which
decided that it can't be any good because someone else is doing it that way.

> can tell I need the following:
> README.Debian compat copyright rules control dirs
> 
> I understand your point though, the 'rules' file is the only one that
> really matters.

"A build script" is, technically, the only thing you need -- just as you
would need for a tarball.  However, if you want to use the helpers like
debhelper, you'll need debian/rules, changelog, and control.  The first is
the build script, changelog is needed to get versioning information, and
control is used by most scripts to get all sorts of interesting information
(like what the source package is called, what the binary packages are
called, and so on).

> I have some makefiles that work ok, by modifying what I got from dh_make
> (this is probably a bad idea, but I don't have documentation on how to
> hand write one without using debhelper scripts...).

Butcher those dh_make-produced systems.  That's why they're "templates".

> It generally works,
> but there is a lot of magic that happens in the dh_ scripts.

Read the manpages, both for debhelper itself, and for the individual dh_
scripts.  They're pretty well documented, and each one is small enough to be
(IMO) understood well.

> For instance, I don't know how it knows that debian/ is where
> my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
> somehow expressed in one of the dh_ scripts that is listed in my "binary:"
> target. All I really know is that if I put my files there, it puts them in
> the package. I probably need to read the man pages more than I have...

That's debhelper compat magic.  Back in the olden days, debhelper was
more-or-less designed for single binary package work, and so it dumped it
all into a directory called 'tmp' in the debian/ directory.  That didn't
work, so later major versions of Debhelper changed it all around.  Read up
on "compatibility levels" in debhelper(7).

> > > Why can't debian package building be as simple as 'dpkg-create
> > > foo.spec'?
> > > 
> > > Second, why can't I create packages with standard unix commands? Why
> > > can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> > 
> > Debian uses standard unix commands. 
> 
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 

Nope.  Read deb(5) (in the dpkg-dev package).  Tells you all about it, in a
fair amount of detail, and it's all straight-up stock Unix tools to do it. 
In fact, in the past, dpkg was nothing more than a shell script.

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would too
> easy and (b) use dpkg-deb to create a package by giving it the
> control.tgz and data.tgz. Ideally, dpkg-deb wouldn't be required to
> create the specially formatted deb file, and I could just create a tar.

Running the Debian packaging tools on almost any Unix-like system shouldn't
be excruciatingly difficult, but as has been said a couple of times now, you
don't need any of it to make Debian packages.

> > > My main complaint here, is that we really want to be able to build the
> > > debian packages from any developer workstation. Since we don't impose
> > > operating system requirements on developers, we can't expect debian to
> > > be on all workstations. 
> > 
> > Sorry. How do you suppose to build rpm without rpm?
> Oh, I didn't mean to imply RPM was better here. My other biases s

Re: Simple Debian Package Creation?

2004-11-03 Thread Craig Small
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things. Also, as far as I
> can tell I need the following:
> README.Debian compat copyright rules control dirs

dh_make often helps beginners by setting things up and giving the
example files.  Some people like it, some don't; it is really up to you.

> I understand your point though, the 'rules' file is the only one that
> really matters.
The rules file is the one that does all the work.

You mentioned you just needed to copy files into the directories.
Ironically enough, this is exactly how dh-make the package is built.

For simple stuff, I can go from a tgz into a deb in about 10-15 minutes.
It takes a while to find your way around though.

for something that doesn't need compiling and has no daemons or other
strange stuff you could do

 * untar the source and cd into directory
 * dh_make
 * edit control file
 * edit copyright and changelog files, shouldn't need much though
 * edit the rules file, in the binary-indep (probably indep because you
   are not compiling stuff) target put your install commands to put
   things in the tree under debian/
 * put your list of documents in debian/docs
 * put your list of examples into debian/examples
 * put your list of manpages into debian/manpages
 * delete most of the debian/*.ex files left
 * debuild


> I have some makefiles that work ok, by modifying what I got from dh_make
> (this is probably a bad idea, but I don't have documentation on how to
> hand write one without using debhelper scripts...). It generally works,
You're supposed to modify what you get from dh_make. It only makes the
templates making some guesses.

> > > Why can't debian package building be as simple as 'dpkg-create
> > > foo.spec'?
Because the Debian packages are more complicated to build. They are that
way so they are easier to install for the user.

> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 
Actually you can and if you were to attempt to become Debian Maintainer
you would need to know how to do some operations with standard unix
tools.  It is bascially fiddling with ar and tar.

> What's still the big problem for us is the need to be on a debian system
> to create the packages. From what I can tell, we would likely need a few
> packages from debian-unstable on that system as well. 
It is a lot easier, but anything that has anything more that a trivial
packaging system requires this.  You could only possibly get away
with it because you are not compiling anything.

You would not need packages from debian-unstable, unless you needed
something from there, such as for a dependency.  Our security updates
a built on stable dist hosts for example.

I would have a problem shipping a package that was not even tested on
the native environment. How do you know the program is even going to 
work properly?

  - Craig

-- 
Craig Small  GnuPG:1C1B D893 1418 2AF4 45EE  95CB C76C E5AC 12CA DFA5
Eye-Net Consulting http://www.enc.com.au/   MIEE Debian developer
csmall at : enc.com.au  ieee.org   debian.org


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Matt Brubeck
Zach Garner wrote:

> It generally works, but there is a lot of magic that happens in the
> dh_ scripts. For instance, I don't know how it knows that
> debian/ is where my application data is supposed to be.
> Is this hardcoded in dpkg-deb?

dpkg-deb can take any directory and turn it into a binary package.
(On dpkg-deb(1), note the "directory" option to 'dpkg-deb -b'.)

By convention, the debhelper scripts install into debian/,
and dh_builddeb calls dpkg-deb with that directory as an argument.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Matthew Palmer
On Wed, Nov 03, 2004 at 11:52:41PM +0100, Bartosz Fenski aka fEnIo wrote:
> On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> > > Most of the apps are using `./configure && make && make install` so dh_make
> > > tries to use that way.
> > > In fact the only file you need is debian/rules.
> > > It should be Makefile which create your package.
> > 
> > What bugs me is that as far as I can tell from the documentation,
> > dh_make is the recommended proper way of doing things. Also, as far as I
> > can tell I need the following:
> > README.Debian compat copyright rules control dirs
> 
> README.Debian, compat  and dirs is useless (well at least it's not needed).
> In fact you need copyright, when you write copyright issues (could be

You don't need a copyright file to create a package, you just need it if
you're ever going to have a hope of getting your package into Debian
proper.  If that's not a concern, it's not needed.  (The voice of
experience).

> > I understand your point though, the 'rules' file is the only one that
> > really matters.
> 
> As I said previously... you can prepare rules file which will handle all
> issues, but it's not so easy then.

I wouldn't go down that path.  Those helper scripts are out there for a
reason.  But if you need to build debian packages in an environment with
nothing but standard unix tools, it's a definite option.

> > > If you really don'y like debhelper's scripts you can always write this
> > > Makefile yourself or use cdbs (`apt-get install cdbs`).
> > 
> > I'll look into cdbs.
> 
> That's totally other way of packaging. It's designed to simplify rules file
> as much as it is possible.
> Sorry I won't describe it more verbosely cause I like debhelper ;)

I think it won't cure the OP's desire for a comprehensible, do-anything
build system -- it's even more heavily tailored to building Debian .debs
than debhelper, IMO.

> > For instance, I don't know how it knows that debian/ is where
> > my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
> > somehow expressed in one of the dh_ scripts that is listed in my
> > "binary:" target. All I really know is that if I put my files there, it
> > puts them in the package. I probably need to read the man pages more
> > than I have...
> 
> That is related to debian/control file. 
> Whole packaging scripts assume that every "Package: " line in
> debian/control is used for final packages.
> So if you have:
> 
> Package: my_cool_package 
> 
> line in debian/control then scripts looking for your files in
> debian/my_cool_package directory. So just put there your files in proper
> filesystem hierarchy and they'll be moved to package called the same. 

That's dependent on debhelper magic.  See my reply to the previous message
for more info.

- Matt


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?jk

2004-11-03 Thread Matt Brubeck
Zach Garner wrote:

> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things.

dh_make automates a lot of the packaging process for most typical
packages, but it's certainly not required -- especially if it doesn't
suit your package.

You should certainly trim down the files and rules generated by dh_make,
looking up each of them and removing the ones you don't need or want.

> Also, as far as I can tell I need the following:
> README.Debian compat copyright rules control dirs

"README.Debian" and "dirs" are not required.

(The first is completely optional.  The second is used by dh_installdirs
if it is present, or you can also create directories yourself with
"mkdir" or "install -d".  Many packages don't need to do either, since
the upstream build system already creates all of the required
directories.)

"compat" is needed only if your package uses debhelper (which it
probably should in most cases, to save you from reinventing the wheel --
but it's not required).

> > > Second, why can't I create packages with standard unix commands?
> > > Why can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> >
> > Debian uses standard unix commands.
>
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as
> I can tell.

It's just an ar(1) archive.  See deb(5) for details.

Yes, this documentation is sparse and often hard to find.  On the other
hand, most developers seldom need to look at it because dpkg and
debhelper handle it all automatically.

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would
> too easy [...]

As far as I known, the dpkg tools will run on any Unix-like system.
They're used on Mac OS X for the "fink" system, for example.


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Bartosz Fenski aka fEnIo
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> > Most of the apps are using `./configure && make && make install` so dh_make
> > tries to use that way.
> > In fact the only file you need is debian/rules.
> > It should be Makefile which create your package.
> 
> What bugs me is that as far as I can tell from the documentation,
> dh_make is the recommended proper way of doing things. Also, as far as I
> can tell I need the following:
> README.Debian compat copyright rules control dirs

README.Debian, compat  and dirs is useless (well at least it's not needed).
In fact you need copyright, when you write copyright issues (could be
easily checked how it looks like in other packages), rules (which is the
most important file which manages whole building process) and control which
could be also easily written cause it includes only most significant
issues.


> I understand your point though, the 'rules' file is the only one that
> really matters.

As I said previously... you can prepare rules file which will handle all
issues, but it's not so easy then.
  
> > If you really don'y like debhelper's scripts you can always write this
> > Makefile yourself or use cdbs (`apt-get install cdbs`).
> 
> I'll look into cdbs.

That's totally other way of packaging. It's designed to simplify rules file
as much as it is possible.
Sorry I won't describe it more verbosely cause I like debhelper ;)
 
> I have some makefiles that work ok, by modifying what I got from dh_make
> (this is probably a bad idea, but I don't have documentation on how to
> hand write one without using debhelper scripts...) It generally works,
> but there is a lot of magic that happens in the dh_ scripts. 

You can always check some examples. (Not sure if examples is proper name
cause they're just working and in most cases fully compliant packages ;))
Anyway... checking some really simple package should give you some ideas
what is being happen during packaging.
In fact compilation, moving to proper directory and calling dh_builddep
should be enough in most cases.
You have to use the same targets as in Debian's makefiles, but if you don't
care about policy compliant you can even miss that requirenment.

> For instance, I don't know how it knows that debian/ is where
> my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
> somehow expressed in one of the dh_ scripts that is listed in my
> "binary:" target. All I really know is that if I put my files there, it
> puts them in the package. I probably need to read the man pages more
> than I have...

That is related to debian/control file. 
Whole packaging scripts assume that every "Package: " line in
debian/control is used for final packages.
So if you have:

Package: my_cool_package 

line in debian/control then scripts looking for your files in
debian/my_cool_package directory. So just put there your files in proper
filesystem hierarchy and they'll be moved to package called the same. 
  
> > > Second, why can't I create packages with standard unix commands? Why
> > > can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> > 
> > Debian uses standard unix commands. 
> 
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 

Well you can. But then it became even more hard to do.
You can use ar, tar and gzip. 

You seems to ignore fact that Debian contains almost only free software,
and it is almost only build on Debian's autobuilders (excluding non-free
and contrib). So building scripts are designed to simplify *this* task, and
not packaging binary files.
Sorry that's the way it is. We're targeted at FREE SOFTWARE and our policy
demands to build it with another free software available on our
autobuiders.

It is however possible to build binary package in other way.
AFAIR there is some manual on the net how to easily do that.

Quick google search:
http://tldp.org/HOWTO/Debian-Binary-Package-Building-HOWTO/

> In fact, I would be happy enough if I could (a) run dpkg-deb on our
> other systems, this may be possible, though I don't expect it would too
> easy and (b) use dpkg-deb to create a package by giving it the
> control.tgz and data.tgz. Ideally, dpkg-deb wouldn't be required to
> create the specially formatted deb file, and I could just create a tar.

Take a look at mentioned link. 
If you don't care our policy then use binary packaging. 

> > > My main complaint here, is that we really want to be able to build the
> > > debian packages from any developer workstation. Since we don't impose
> > > operating system requirements on developers, we can't expect debian to
> > > be on all workstations. 
> > 
> > Sorry. How do you suppose to build rpm without rpm?
> Oh, I didn't m

Re: Simple Debian Package Creation?

2004-11-03 Thread Frank Gevaerts
On Wed, Nov 03, 2004 at 04:06:01PM -0600, Zach Garner wrote:
> > > Second, why can't I create packages with standard unix commands? Why
> > > can't I say something like:
> > >   $ tar cvzf data.tgz myapplication/*
> > >   $ tar czvf control.tgz control
> > >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> > 
> > Debian uses standard unix commands. 
> 
> What I meant by standard roughly translates into available on most/all
> unix or linux systems. The format of a .deb file is special as far as I
> can tell. I can't create or manipulate them without using dpkg-deb or
> one of the other scripts. 

try ar

Frank

-- 
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are,
by definition, not smart enough to debug it." - Brian W. Kernighan


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Bartosz Fenski aka fEnIo
On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:

[...]

> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

I'd agree it's pretty confusing, but only first time.
It's quite easy to understand it. 

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

You don't need all of them.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

Most of the apps are using `./configure && make && make install` so dh_make
tries to use that way.
In fact the only file you need is debian/rules.
It should be Makefile which create your package.

If you really don'y like debhelper's scripts you can always write this
Makefile yourself or use cdbs (`apt-get install cdbs`).
 
> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
> any debian rules.

I know that rpm is using one file. So what?
I LOVE to split tasks to many files... that's the unix way ;)

And as I mentioned... s/.spec/debian\/rules/ and you still have
one file. 
 
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?
> 
> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

Debian uses standard unix commands. 
 
> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations. 

Sorry. How do you suppose to build rpm without rpm?
 
> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can be
> installed via apt-get, that simply installs some files, and can use the
> pre/post install/remove scripts. This seems like a simple thing to do,
> but the process seems very difficult.

Is your software free? Can you share it with us?
I'm sure that someone create proper packaging scripts for you.
I'm first to help you if you want.

regards
fEnIo

-- 
  _  Bartosz Fenski | mailto:[EMAIL PROTECTED] | pgp:0x13fefc40 | 
IRC:fEnIo
_|_|_ 32-050 Skawina - Glowackiego 3/15 - w. malopolskie - Polska
(0 0)  phone:+48602383548 | Slackware - the weakest link
ooO--(_)--Ooo  http://skawina.eu.org | JID:[EMAIL PROTECTED] | RLU:172001


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?

2004-11-03 Thread Zach Garner
On Wed, 2004-11-03 at 21:26 +0100, Bartosz Fenski aka fEnIo wrote:
> On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:

> I'd agree it's pretty confusing, but only first time.
> It's quite easy to understand it. 
I'm hoping so, that's why I'm trying not to give up too easily.


> Most of the apps are using `./configure && make && make install` so dh_make
> tries to use that way.
> In fact the only file you need is debian/rules.
> It should be Makefile which create your package.

What bugs me is that as far as I can tell from the documentation,
dh_make is the recommended proper way of doing things. Also, as far as I
can tell I need the following:
README.Debian compat copyright rules control dirs

I understand your point though, the 'rules' file is the only one that
really matters.


> If you really don'y like debhelper's scripts you can always write this
> Makefile yourself or use cdbs (`apt-get install cdbs`).

I'll look into cdbs.

I have some makefiles that work ok, by modifying what I got from dh_make
(this is probably a bad idea, but I don't have documentation on how to
hand write one without using debhelper scripts...). It generally works,
but there is a lot of magic that happens in the dh_ scripts. For
instance, I don't know how it knows that debian/ is where
my application data is supposed to be. Is this hardcoded in dpkg-deb? Is
somehow expressed in one of the dh_ scripts that is listed in my
"binary:" target. All I really know is that if I put my files there, it
puts them in the package. I probably need to read the man pages more
than I have...

>  
> > Why can't debian package building be as simple as 'dpkg-create
> > foo.spec'?
> > 
> > Second, why can't I create packages with standard unix commands? Why
> > can't I say something like:
> >   $ tar cvzf data.tgz myapplication/*
> >   $ tar czvf control.tgz control
> >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
> 
> Debian uses standard unix commands. 

What I meant by standard roughly translates into available on most/all
unix or linux systems. The format of a .deb file is special as far as I
can tell. I can't create or manipulate them without using dpkg-deb or
one of the other scripts. 

In fact, I would be happy enough if I could (a) run dpkg-deb on our
other systems, this may be possible, though I don't expect it would too
easy and (b) use dpkg-deb to create a package by giving it the
control.tgz and data.tgz. Ideally, dpkg-deb wouldn't be required to
create the specially formatted deb file, and I could just create a tar.


> > My main complaint here, is that we really want to be able to build the
> > debian packages from any developer workstation. Since we don't impose
> > operating system requirements on developers, we can't expect debian to
> > be on all workstations. 
> 
> Sorry. How do you suppose to build rpm without rpm?
Oh, I didn't mean to imply RPM was better here. My other biases show
here.. I started out with Slackware, and later spent quite a while in
the OpenBSD then FreeBSD world. For all of those .tgz was the standard
format. 

I'm trying my best to put aside my previous habits, and get into the
debian package building way of thought.

>  
> > Right now, using Debian to deploy our software seems more and more
> > difficult for us. I'd greatly appreciate any advice or comments. All I
> > want to be able to do is create a package on any unix system that can be
> > installed via apt-get, that simply installs some files, and can use the
> > pre/post install/remove scripts. This seems like a simple thing to do,
> > but the process seems very difficult.
> 
> Is your software free? Can you share it with us?
> I'm sure that someone create proper packaging scripts for you.
> I'm first to help you if you want.

Unfortunately, it's not. I greatly appreciate the help you've given so
far, and the offer for more help. I can only promise that, if I start to
like the debian package build process, that I will contribute back in my
free time. I was once a FreeBSD package maintainer... 

I can get over part of my complaints. I can deal with the multiple files
in the debian directory, and may come to love it. The layers of scripts,
and the resulting confusing, conflicting documentation is still a
problem. But I expect I can eventually come to an understanding of it
all.

What's still the big problem for us is the need to be on a debian system
to create the packages. From what I can tell, we would likely need a few
packages from debian-unstable on that system as well. 

This isn't a technically insurmountable problem, but it is a snag when
it comes to convincing my supervisors that choosing debian and apt-get
for our production platform was a great idea. (it's probably still the
best idea, but unfortunately, maybe not a great one for our needs)


Thanks

-- 
Zach Garner <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Santiago Vila
On Wed, 3 Nov 2004, Zach Garner wrote:

>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

Try

apt-get source hello

for an example package with less "layers".



Re: Simple Debian Package Creation?

2004-11-03 Thread Bartosz Fenski aka fEnIo
On Wed, Nov 03, 2004 at 10:47:45AM -0600, Zach Garner wrote:

[...]

> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

I'd agree it's pretty confusing, but only first time.
It's quite easy to understand it. 

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

You don't need all of them.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

Most of the apps are using `./configure && make && make install` so dh_make
tries to use that way.
In fact the only file you need is debian/rules.
It should be Makefile which create your package.

If you really don'y like debhelper's scripts you can always write this
Makefile yourself or use cdbs (`apt-get install cdbs`).
 
> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
> any debian rules.

I know that rpm is using one file. So what?
I LOVE to split tasks to many files... that's the unix way ;)

And as I mentioned... s/.spec/debian\/rules/ and you still have
one file. 
 
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?
> 
> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

Debian uses standard unix commands. 
 
> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations. 

Sorry. How do you suppose to build rpm without rpm?
 
> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can be
> installed via apt-get, that simply installs some files, and can use the
> pre/post install/remove scripts. This seems like a simple thing to do,
> but the process seems very difficult.

Is your software free? Can you share it with us?
I'm sure that someone create proper packaging scripts for you.
I'm first to help you if you want.

regards
fEnIo

-- 
  _  Bartosz Fenski | mailto:[EMAIL PROTECTED] | pgp:0x13fefc40 | IRC:fEnIo
_|_|_ 32-050 Skawina - Glowackiego 3/15 - w. malopolskie - Polska
(0 0)  phone:+48602383548 | Slackware - the weakest link
ooO--(_)--Ooo  http://skawina.eu.org | JID:[EMAIL PROTECTED] | RLU:172001


signature.asc
Description: Digital signature


Re: Simple Debian Package Creation?

2004-11-03 Thread George Danchev
On Wednesday 03 November 2004 19:32, Rene Engelhard wrote:
--cut--
> >   2. The number of files that I have to create within the /debian
> > directory is difficult to deal with, and having to create the /debian
> > directory within my application directory and being forced to name my
> > application directory according to debian rules is very irritating.
>
> You don't need to do that manally. dh_make gives you a template. You need
> to adjust that a bit, though, for your needs...

I'd add that there are also some debian specific things that no other 
packaging system on this planet knows about or can handle - debconf 
templates, apt watch ... Of cource noone forces you to use them.

It would be very confusing if everything is put in one file (say 
debian/rules) ... that's why the tasks are separated in several files.

--cut--
> > Second, why can't I create packages with standard unix commands? Why
> > can't I say something like:
> >   $ tar cvzf data.tgz myapplication/*
> >   $ tar czvf control.tgz control
> >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
>
> man ar, man tar, man deb
>
> you *could* do that manually, read man deb for the exact structure - as deb
> ist just an ar archive with two tar archives and one file. But it is *far*
> easier to get a package right with the "normal" way...
>
> > My main complaint here, is that we really want to be able to build the
> > debian packages from any developer workstation. Since we don't impose
> > operating system requirements on developers, we can't expect debian to
> > be on all workstations.
>
> You can't do that with rpm either. You need rpm installed anyhow.
> Same with debian.

I would add that if one knows what s/he is doing, then simple/generic things 
like mkdir, cp, echo might be explored... and of cource we need dpkg-deb on 
one host installed to assemble the deb:

# mkdir -p wsver/usr/bin wsver/DEBIAN
# cp wsver wsver/usr/bin
# echo "Package: wsver" > wsver/DEBIAN/control
# echo "Version: 1" >> wsver/DEBIAN/control
# echo "Architecture: i386" >> wsver/DEBIAN/control
# echo "Maintainer: You <[EMAIL PROTECTED]>" >> wsver/DEBIAN/control
# echo "Description: Check web server version" >> wsver/DEBIAN/control
# dpkg-deb -b wsver
dpkg-deb: building package `wsver' in `wsver.deb'.

The things could be simple or complex, depends of what and who is doing 
them ;-)

-- 
pub 4096R/0E4BD0AB  2003-03-18  
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 



Re: Simple Debian Package Creation?

2004-11-03 Thread Ricardo Mones
On Wed, 03 Nov 2004 10:47:45 -0600
Zach Garner <[EMAIL PROTECTED]> wrote:

[...]
> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

  You don't need to understand they all to make packages, but at least
you can see what they are doing.

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

  Most of the files added by dh_make are there to be deleted. IIRC you
only need the control, rules, compat, changelog and copyright, the rest
is pretty optional.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package,
> as discussed in the New Maintainer's Guide) expect that you are
> building a traditional unix application, that's written in C, has
> ./configure and a Makefile. All we are doing in most of our packages
> is installing some files. Why can't that be simple?

  It is, make the Makefile copy the files at the right location. Anyway
seems you're forgetting Debian packaging is meant for sources to be
built in different architectures, not a replacement for tar+gzip.

> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
> any debian rules.

  So you want to make a Debian package that is not a Debian package? Use
the right tool: tar czf
 
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

  Quality has a price.
 
> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

  You can, in fact they are designed for using standard tools, but you
have to understand the package structure first. Try "ar x any.deb"

> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations. 
> 
> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can
> be installed via apt-get, that simply installs some files, and can use
> the pre/post install/remove scripts. This seems like a simple thing to
> do, but the process seems very difficult.

  I repeat, you don't want to use apt-get, you want to use wget and a
web server populated with tar.gz files. Imposing apt-get is making your
non-Debian workstation developers change the natural way of installing
sofware, so, if you can do that, don't mess with making debs, make a
script called "tycoon-install" that grabs the tar.gz from your server
and unpacks it to the "right" location and teach your users.
-- 
  Ricardo Mones Lastra - [EMAIL PROTECTED]
  Centro de Inteligencia Artificial, Universidad de Oviedo en Gijon
  33271 Asturias, SPAIN. - http://www.aic.uniovi.es/mones



Re: Simple Debian Package Creation?

2004-11-03 Thread Brian Nelson
Zach Garner <[EMAIL PROTECTED]> writes:

> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

Hm?  Do you mean the debhelper scripts?  Those significantly help
simplify the writing of debian/rules.  Of course, if you don't like
them, you don't have to use them.

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

Only a couple files in debian/ are actually required.  No one forces you
to name your directory anything.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

It can be.  dh_make is pretty crappy a lot of the time.  Either undo its
damage or just don't use it to begin with.

> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

I don't know.  Why can't you?  Those no reason you shouldn't be able to
built a .deb by hand.

-- 
Blast you and your estrogenical treachery!



Re: Simple Debian Package Creation?

2004-11-03 Thread Rene Engelhard
Hi,

I know both the deb (Debian developer) and the rpm (at work) side..

Am Mittwoch, 3. November 2004 17:47 schrieb Zach Garner:
> First:
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing.

You don't need to use them... mostly what you need is just dh_* from 
debhelper. Each one has its own purpose. Many people don't need them all...

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating.

You don't need to do that manally. dh_make gives you a template. You need to 
adjust that a bit, though, for your needs...

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

Because most stuff *is* ./configure; make; make install

If you have a stuff which is not that way and just needs putting files around, 
just do it. No one tells you you have to stick exactly with dh_makes 
template. you just can use cp, install or whatever to install the files into 
the proper debian/foo/usr/... directories...

> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to

You can have that with debian/* too. Just stick them somewhere and copy it 
into your pristine source if needed. No one tells you that debian/ has to be 
in your source tarball, it even is discouraged...

> any debian rules.

the foo-0.1 is a convention. if your stuff doesn't follow it it is broken. I 
don't see anyhow how it is bad to name a directory foo-version.

And: You *could* use a random directory name later after dh_install 
(dh_install needs to get the info it puts into the template from somehwre). 
YOu'll get warnings and your poackage probably won't be Debian policy 
compliant (.dsc/.diff.gz/.orig.tar.gz) but it would work.

dh_make is a tool for people building debs mainly for the dist. There are some 
policies which *are* to follow...

>
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

That's what dh_make does. Packaging is more than just using a template...

> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

man ar, man tar, man deb

you *could* do that manually, read man deb for the exact structure - as deb 
ist just an ar archive with two tar archives and one file. But it is *far* 
easier to get a package right with the "normal" way...

> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations.

You can't do that with rpm either. You need rpm installed anyhow.
Same with debian.

Regards,

Rene
-- 
 .''`.  René Engelhard -- Debian GNU/Linux Developer
 : :' : http://www.debian.org | http://people.debian.org/~rene/
 `. `'  [EMAIL PROTECTED] | GnuPG-Key ID: 248AEB73
   `-   Fingerprint: 41FA F208 28D4 7CA5 19BB  7AD9 F859 90B0 248A EB73



Re: How to handle Perl modules which are not yet packaged?

2004-11-03 Thread Roland Gruber

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Don Armstrong schrieb:
| On Tue, 02 Nov 2004, Roland Gruber wrote:
|
|>LAM is a webfrontend for managing LDAP accounts which is written in
|>PHP.  But there is also a small script included which allows to
|>manage Quota etc.. This script uses the non-packaged Net::SSH::Perl
|>module.
|>
|>So can I just close the bug because the installation is covered in
|>the documentation? Or how should I deal with this problem?
|
|
| You probably should Suggest: libnet-ssh-perl-perl [or whatever it
| actually is] and reassign the bug against your package to WNPP and
| retitle it as an RFP (or ITP if you plan to package it.)

ok, then I will create an RFP.

| Hopefully your directions inclue dh-make-perl --build --cpan
| Net::SSH::Perl; or similar which should build a .deb to satisfy this

Not yet. The documentation is distribution independent. But I will
include this for the next release as it is really a lot easier than
compiling manually. :)

| [One also wonders why the script is using Net::SSH::Perl instead of
| Net::SSH, since the latter provides similar functionality using ssh
| itself.]

The latter is only a wrapper to ssh and the main reason against it is
its dependency on public-key authentification. We need passwords for LAM.


Greetings,
Roland
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org

iD8DBQFBiRC2q/ywNCsrGZ4RAmrxAJ9KyZBZd2vxIA4gKlow8yi2GR10wACeLKDK
IJHEoy1cK/uZHBXWFhm8QGI=
=GFDD
-END PGP SIGNATURE-



Simple Debian Package Creation?

2004-11-03 Thread Zach Garner
My company is a software development shop that uses Debian for all of
our production systems. We chose Debian based on it's reputation on
packaging. Our goal is to be able to type 'ant deploy' have our software
built, have debian packages built with our software, and other support
software, and then have a debian repository created. Then be able to do
'apt-get update' from our production systems, to upgrade our application
on those systems.

Unfortunately, it's not working out so easily.

I've been a little frustrated with creating debian packages. As a user,
I love Debian, but so far as a package creator, it's given me headaches.
I'm hoping someone can enlighten me on a few things. I have a little
experience with RedHat's packaging about a year ago, so I will mention
it from time to time. Please don't take offense when I say that I like
an aspect of RPM creation better than debian creation. And definitely
correct my when my memory fails.

First: 
  1. The sheer number of helper scripts, with layers and layers of
scripts built on top of each other is really confusing. 
  2. The number of files that I have to create within the /debian
directory is difficult to deal with, and having to create the /debian
directory within my application directory and being forced to name my
application directory according to debian rules is very irritating. 
  3. Most of the package creation scripts (I'm refering explicitly to
dh_make which is supposed to be the proper way of creating a package, as
discussed in the New Maintainer's Guide) expect that you are building a
traditional unix application, that's written in C, has ./configure and a
Makefile. All we are doing in most of our packages is installing some
files. Why can't that be simple?

I feel that RPM creation is better here. One command ('rpmbuild') is
used. One file, the .spec file, is needed with different
sections for each part. I can keep my rpm packaging files any where I
want it, and I don't have to have my application directory conform to
any debian rules.

Why can't debian package building be as simple as 'dpkg-create
foo.spec'?

Second, why can't I create packages with standard unix commands? Why
can't I say something like:
  $ tar cvzf data.tgz myapplication/*
  $ tar czvf control.tgz control
  $ tar czvf mypackage-0.1.deb data.tgz control.tgz

My main complaint here, is that we really want to be able to build the
debian packages from any developer workstation. Since we don't impose
operating system requirements on developers, we can't expect debian to
be on all workstations. 

Right now, using Debian to deploy our software seems more and more
difficult for us. I'd greatly appreciate any advice or comments. All I
want to be able to do is create a package on any unix system that can be
installed via apt-get, that simply installs some files, and can use the
pre/post install/remove scripts. This seems like a simple thing to do,
but the process seems very difficult.



-- 
Zach Garner <[EMAIL PROTECTED]>



Re: Simple Debian Package Creation?

2004-11-03 Thread Santiago Vila
On Wed, 3 Nov 2004, Zach Garner wrote:

>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

Try

apt-get source hello

for an example package with less "layers".


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread George Danchev
On Wednesday 03 November 2004 19:32, Rene Engelhard wrote:
--cut--
> >   2. The number of files that I have to create within the /debian
> > directory is difficult to deal with, and having to create the /debian
> > directory within my application directory and being forced to name my
> > application directory according to debian rules is very irritating.
>
> You don't need to do that manally. dh_make gives you a template. You need
> to adjust that a bit, though, for your needs...

I'd add that there are also some debian specific things that no other 
packaging system on this planet knows about or can handle - debconf 
templates, apt watch ... Of cource noone forces you to use them.

It would be very confusing if everything is put in one file (say 
debian/rules) ... that's why the tasks are separated in several files.

--cut--
> > Second, why can't I create packages with standard unix commands? Why
> > can't I say something like:
> >   $ tar cvzf data.tgz myapplication/*
> >   $ tar czvf control.tgz control
> >   $ tar czvf mypackage-0.1.deb data.tgz control.tgz
>
> man ar, man tar, man deb
>
> you *could* do that manually, read man deb for the exact structure - as deb
> ist just an ar archive with two tar archives and one file. But it is *far*
> easier to get a package right with the "normal" way...
>
> > My main complaint here, is that we really want to be able to build the
> > debian packages from any developer workstation. Since we don't impose
> > operating system requirements on developers, we can't expect debian to
> > be on all workstations.
>
> You can't do that with rpm either. You need rpm installed anyhow.
> Same with debian.

I would add that if one knows what s/he is doing, then simple/generic things 
like mkdir, cp, echo might be explored... and of cource we need dpkg-deb on 
one host installed to assemble the deb:

# mkdir -p wsver/usr/bin wsver/DEBIAN
# cp wsver wsver/usr/bin
# echo "Package: wsver" > wsver/DEBIAN/control
# echo "Version: 1" >> wsver/DEBIAN/control
# echo "Architecture: i386" >> wsver/DEBIAN/control
# echo "Maintainer: You <[EMAIL PROTECTED]>" >> wsver/DEBIAN/control
# echo "Description: Check web server version" >> wsver/DEBIAN/control
# dpkg-deb -b wsver
dpkg-deb: building package `wsver' in `wsver.deb'.

The things could be simple or complex, depends of what and who is doing 
them ;-)

-- 
pub 4096R/0E4BD0AB  2003-03-18  
fingerprint 1AE7 7C66 0A26 5BFF DF22 5D55 1C57 0C89 0E4B D0AB 


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Ricardo Mones
On Wed, 03 Nov 2004 10:47:45 -0600
Zach Garner <[EMAIL PROTECTED]> wrote:

[...]
> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

  You don't need to understand they all to make packages, but at least
you can see what they are doing.

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

  Most of the files added by dh_make are there to be deleted. IIRC you
only need the control, rules, compat, changelog and copyright, the rest
is pretty optional.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package,
> as discussed in the New Maintainer's Guide) expect that you are
> building a traditional unix application, that's written in C, has
> ./configure and a Makefile. All we are doing in most of our packages
> is installing some files. Why can't that be simple?

  It is, make the Makefile copy the files at the right location. Anyway
seems you're forgetting Debian packaging is meant for sources to be
built in different architectures, not a replacement for tar+gzip.

> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to
> any debian rules.

  So you want to make a Debian package that is not a Debian package? Use
the right tool: tar czf
 
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

  Quality has a price.
 
> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

  You can, in fact they are designed for using standard tools, but you
have to understand the package structure first. Try "ar x any.deb"

> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations. 
> 
> Right now, using Debian to deploy our software seems more and more
> difficult for us. I'd greatly appreciate any advice or comments. All I
> want to be able to do is create a package on any unix system that can
> be installed via apt-get, that simply installs some files, and can use
> the pre/post install/remove scripts. This seems like a simple thing to
> do, but the process seems very difficult.

  I repeat, you don't want to use apt-get, you want to use wget and a
web server populated with tar.gz files. Imposing apt-get is making your
non-Debian workstation developers change the natural way of installing
sofware, so, if you can do that, don't mess with making debs, make a
script called "tycoon-install" that grabs the tar.gz from your server
and unpacks it to the "right" location and teach your users.
-- 
  Ricardo Mones Lastra - [EMAIL PROTECTED]
  Centro de Inteligencia Artificial, Universidad de Oviedo en Gijon
  33271 Asturias, SPAIN. - http://www.aic.uniovi.es/mones


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Brian Nelson
Zach Garner <[EMAIL PROTECTED]> writes:

> First: 
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing. 

Hm?  Do you mean the debhelper scripts?  Those significantly help
simplify the writing of debian/rules.  Of course, if you don't like
them, you don't have to use them.

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating. 

Only a couple files in debian/ are actually required.  No one forces you
to name your directory anything.

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

It can be.  dh_make is pretty crappy a lot of the time.  Either undo its
damage or just don't use it to begin with.

> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

I don't know.  Why can't you?  Those no reason you shouldn't be able to
built a .deb by hand.

-- 
Blast you and your estrogenical treachery!


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Re: Simple Debian Package Creation?

2004-11-03 Thread Rene Engelhard
Hi,

I know both the deb (Debian developer) and the rpm (at work) side..

Am Mittwoch, 3. November 2004 17:47 schrieb Zach Garner:
> First:
>   1. The sheer number of helper scripts, with layers and layers of
> scripts built on top of each other is really confusing.

You don't need to use them... mostly what you need is just dh_* from 
debhelper. Each one has its own purpose. Many people don't need them all...

>   2. The number of files that I have to create within the /debian
> directory is difficult to deal with, and having to create the /debian
> directory within my application directory and being forced to name my
> application directory according to debian rules is very irritating.

You don't need to do that manally. dh_make gives you a template. You need to 
adjust that a bit, though, for your needs...

>   3. Most of the package creation scripts (I'm refering explicitly to
> dh_make which is supposed to be the proper way of creating a package, as
> discussed in the New Maintainer's Guide) expect that you are building a
> traditional unix application, that's written in C, has ./configure and a
> Makefile. All we are doing in most of our packages is installing some
> files. Why can't that be simple?

Because most stuff *is* ./configure; make; make install

If you have a stuff which is not that way and just needs putting files around, 
just do it. No one tells you you have to stick exactly with dh_makes 
template. you just can use cp, install or whatever to install the files into 
the proper debian/foo/usr/... directories...

> I feel that RPM creation is better here. One command ('rpmbuild') is
> used. One file, the .spec file, is needed with different
> sections for each part. I can keep my rpm packaging files any where I
> want it, and I don't have to have my application directory conform to

You can have that with debian/* too. Just stick them somewhere and copy it 
into your pristine source if needed. No one tells you that debian/ has to be 
in your source tarball, it even is discouraged...

> any debian rules.

the foo-0.1 is a convention. if your stuff doesn't follow it it is broken. I 
don't see anyhow how it is bad to name a directory foo-version.

And: You *could* use a random directory name later after dh_install 
(dh_install needs to get the info it puts into the template from somehwre). 
YOu'll get warnings and your poackage probably won't be Debian policy 
compliant (.dsc/.diff.gz/.orig.tar.gz) but it would work.

dh_make is a tool for people building debs mainly for the dist. There are some 
policies which *are* to follow...

>
> Why can't debian package building be as simple as 'dpkg-create
> foo.spec'?

That's what dh_make does. Packaging is more than just using a template...

> Second, why can't I create packages with standard unix commands? Why
> can't I say something like:
>   $ tar cvzf data.tgz myapplication/*
>   $ tar czvf control.tgz control
>   $ tar czvf mypackage-0.1.deb data.tgz control.tgz

man ar, man tar, man deb

you *could* do that manually, read man deb for the exact structure - as deb 
ist just an ar archive with two tar archives and one file. But it is *far* 
easier to get a package right with the "normal" way...

> My main complaint here, is that we really want to be able to build the
> debian packages from any developer workstation. Since we don't impose
> operating system requirements on developers, we can't expect debian to
> be on all workstations.

You can't do that with rpm either. You need rpm installed anyhow.
Same with debian.

Regards,

Rene
-- 
 .''`.  Renà Engelhard -- Debian GNU/Linux Developer
 : :' : http://www.debian.org | http://people.debian.org/~rene/
 `. `'  [EMAIL PROTECTED] | GnuPG-Key ID: 248AEB73
   `-   Fingerprint: 41FA F208 28D4 7CA5 19BB  7AD9 F859 90B0 248A EB73



Re: How to handle Perl modules which are not yet packaged?

2004-11-03 Thread Roland Gruber
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Don Armstrong schrieb:
| On Tue, 02 Nov 2004, Roland Gruber wrote:
|
|>LAM is a webfrontend for managing LDAP accounts which is written in
|>PHP.  But there is also a small script included which allows to
|>manage Quota etc.. This script uses the non-packaged Net::SSH::Perl
|>module.
|>
|>So can I just close the bug because the installation is covered in
|>the documentation? Or how should I deal with this problem?
|
|
| You probably should Suggest: libnet-ssh-perl-perl [or whatever it
| actually is] and reassign the bug against your package to WNPP and
| retitle it as an RFP (or ITP if you plan to package it.)
ok, then I will create an RFP.
| Hopefully your directions inclue dh-make-perl --build --cpan
| Net::SSH::Perl; or similar which should build a .deb to satisfy this
Not yet. The documentation is distribution independent. But I will
include this for the next release as it is really a lot easier than
compiling manually. :)
| [One also wonders why the script is using Net::SSH::Perl instead of
| Net::SSH, since the latter provides similar functionality using ssh
| itself.]
The latter is only a wrapper to ssh and the main reason against it is
its dependency on public-key authentification. We need passwords for LAM.
Greetings,
Roland
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Debian - http://enigmail.mozdev.org
iD8DBQFBiRC2q/ywNCsrGZ4RAmrxAJ9KyZBZd2vxIA4gKlow8yi2GR10wACeLKDK
IJHEoy1cK/uZHBXWFhm8QGI=
=GFDD
-END PGP SIGNATURE-
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


Simple Debian Package Creation?

2004-11-03 Thread Zach Garner
My company is a software development shop that uses Debian for all of
our production systems. We chose Debian based on it's reputation on
packaging. Our goal is to be able to type 'ant deploy' have our software
built, have debian packages built with our software, and other support
software, and then have a debian repository created. Then be able to do
'apt-get update' from our production systems, to upgrade our application
on those systems.

Unfortunately, it's not working out so easily.

I've been a little frustrated with creating debian packages. As a user,
I love Debian, but so far as a package creator, it's given me headaches.
I'm hoping someone can enlighten me on a few things. I have a little
experience with RedHat's packaging about a year ago, so I will mention
it from time to time. Please don't take offense when I say that I like
an aspect of RPM creation better than debian creation. And definitely
correct my when my memory fails.

First: 
  1. The sheer number of helper scripts, with layers and layers of
scripts built on top of each other is really confusing. 
  2. The number of files that I have to create within the /debian
directory is difficult to deal with, and having to create the /debian
directory within my application directory and being forced to name my
application directory according to debian rules is very irritating. 
  3. Most of the package creation scripts (I'm refering explicitly to
dh_make which is supposed to be the proper way of creating a package, as
discussed in the New Maintainer's Guide) expect that you are building a
traditional unix application, that's written in C, has ./configure and a
Makefile. All we are doing in most of our packages is installing some
files. Why can't that be simple?

I feel that RPM creation is better here. One command ('rpmbuild') is
used. One file, the .spec file, is needed with different
sections for each part. I can keep my rpm packaging files any where I
want it, and I don't have to have my application directory conform to
any debian rules.

Why can't debian package building be as simple as 'dpkg-create
foo.spec'?

Second, why can't I create packages with standard unix commands? Why
can't I say something like:
  $ tar cvzf data.tgz myapplication/*
  $ tar czvf control.tgz control
  $ tar czvf mypackage-0.1.deb data.tgz control.tgz

My main complaint here, is that we really want to be able to build the
debian packages from any developer workstation. Since we don't impose
operating system requirements on developers, we can't expect debian to
be on all workstations. 

Right now, using Debian to deploy our software seems more and more
difficult for us. I'd greatly appreciate any advice or comments. All I
want to be able to do is create a package on any unix system that can be
installed via apt-get, that simply installs some files, and can use the
pre/post install/remove scripts. This seems like a simple thing to do,
but the process seems very difficult.



-- 
Zach Garner <[EMAIL PROTECTED]>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]