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

Re: Should I always clean in debian/rules before making binary?



Number Six <40311.nospam@comcast.net> schrieb:

> I have an automake project that I've also run dh_make on.
>
> If I just run: ./configure, the default {prefix} is "/usr/local",
> which is the way I want it.
>
> If I then run "fakeroot debian/rules binary", the binary debian package 
> will install itself to /usr/local.
>
> If I "make clean; fakeroot debian/rules binary", the package will 
> install itself to /usr, which is right for debian.
>
> Should I do something in debian/rules to make sure the binary always 
> goes to /usr, or this flexiblity desirable?  It sure seems like 
> "unexpected behavior" to me.

- I think you should call ./configure --prefix=/usr/ in debian/rules -
  in some target that binary depends on (e.g. a configure or build
  target). 

- In the install target, you would call something like

  $(MAKE) install prefix=debian/tmp/usr

- From a policy point of view, it doesn't hurt to call clean before
  debian/rules binary, but if you do that, I'd do it in debian/rules,
  not by hand. However, I recommend not to do it. It makes it much
  easier to test changes in your installation procedure, postinst
  etc. You can simply wipe out the package tree under debian/ and call
  fakeroot debian/rules binary, and then it won't need to configure and
  compile everything, but just start installing.

Regards, Frank
-- 
Frank Küster, Biozentrum der Univ. Basel
Abt. Biophysikalische Chemie



Reply to: