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

Re: Usage of dpkg under cygwin




On Wednesday, October 9, 2002, at 01:43 AM, Robert Collins wrote:

The *real* solution is to fix dpkg. Checking for being root is a broken
test. Checking if the current user has the appropriate access is a more
flexible and portable test.

NO NO NO NO NO!!! It is absolutely needed. You don't get it. It is needed during the final packaging stages because when the built binaries are tar'd up, THEY HAVE TO BE OWNED BY ROOT because this tar is then extracted directly into the filesystem when that package is installed later on someone's machine. You do not want programs being installed into /usr/bin owned by some random user that had the same uid as some random developer. THEY HAVE TO BE OWNED BY ROOT!

There are several ways to accomplish this:

1. do the whole build as root. This of course carries with it the issue that you will be running all the steps of the package build process as root which some would say is a bad thing:

   $ su
   % dpkg-buildpackage

2. tell dpkg-buildpackage to use sudo during the stages that require it. this is better because it means that most of the work is done as an unprivileged user. the threat is that if something screws up during the root required part, it's screwing up as root.

   $ dpkg-buildpackage -rsudo

3. use fakeroot because it kicks ass! fakeroot is a magical utility that fakes out the glibc into thinking you are running as root without actually letting you do anything that root can do. read the fakeroot manpage.

   $ dpkg-buildpackage -rfakeroot


Once again, dpkg does NOT need to be fixed. Nothing needs to be fixed but your understanding of the debian package building process. Have you read the debian policy yet?

--
Paul Baker

"They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety."
         -- Benjamin Franklin, 1759

GPG Key: http://homepage.mac.com/pauljbaker/public.asc




Reply to: