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

Re: lie to apt

Sorry for snipping previous messages, but it seems to me your basic
premise is wrong. If you are going to compile from source for local
installs, try a couple of suggestions.

1. Use equivs:
Package: equivs
Priority: extra
Section: admin
Installed-Size: 50
Maintainer: Martin Bialasinski <martinb@debian.org>
Architecture: all
Version: 2.0.2
Depends: perl | perl5, debhelper, dpkg-dev, devscripts, make, fakeroot
Filename: pool/main/e/equivs/equivs_2.0.2_all.deb
Size: 17394
MD5sum: 0c84d50f864ea181738fc1b496b6fb20
Description: Circumventing Debian package dependencies
 This is a dummy package which can be used to create Debian
 packages, which only contain dependency information.
 This way, you can make the Debian package management
 system believe that equivalents to packages on which other
 packages do depend on are actually installed.
 Another possibility is creation of a meta package. When this
 package contains a dependency as "Depends: a, b, c", then
 installing this package will also select packages a, b and c.
 Instead of "Depends", you can also use "Recommends:" or
 "Suggests:" for less demanding dependency.
 Please note that this is a crude hack and if thoughtlessly used
 might possibly do damage to your packaging system. And please
 note as well that using it is not the recommended way of dealing
 with broken dependencies. Better file a bug report instead.

2. Probably the simpler solution for a package that exists in Debian
but you wish to 'upgrade' to newer version:

   mkdir $package; cd $package; apt-get source $package
   cp $newer_source .
   cd $debian_version; uupdate -v$new_version-1
   cd ../$new_debianized_version; debuild

   lynx/netscape/links packages.debian.org/$package
   download $package$ver.diff.gz
   mkdir $package; cd $package; mv $new_source $package$ver.diff.gz .
   tar zxvf $new_source
   tar zxvf debian $package$ver.diff.gz
   cp -a debian/ $new_source_dir/
   cd $new_source_dir; dch -v$new_verison-1

a. will attempt to apply debianized diffs if they exist, you may have to 
   search for *rej afterwards.

b. will just yield the debian dir with rules, changelogs, etc

It's all up to you, but very flexible. If you insist on stow and
/usr/local, afraid I don't think that integrates well with dpkg and/or
apt. Equivs is probably your answer if you stick with /usr/local. Of
course, you can try 2nd method and modify debian/rules to install/use
whatever directories you want as well... Flexibility.

Good Luck

Gordon Sadler

Reply to: