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

Re: lie to apt

On Thu, Feb 22, 2001 at 08:23:58AM -0800, Heather wrote:
> > On Wed, Feb 21, 2001 at 10:13:23AM +0000, Jacob Meuser wrote:
> > > Is there a way to manually edit the database that says which packages
> > > are installed?  I set up a small system, using potato, and am adding
> > > several packages from source. 
> alien can turn tgz's into really wimpy debs.  or you could build a real
> deb file.
> Jacob, let us know if alien does it for you :>

This method seems to be both sufficient and efficient for what I want.
It seems to work easily with stow, because I usually build with a 
prefix=/usr/local/stow/$packagename, so everything installs in a nice
easy to tar directory.

jakemsr:~/my_pkg$ tar czvf apache-1.3.17.tgz /usr/local/stow/apache
jakemsr:~/my_pkg$ sudo rm -rf /usr/local/stow/apache
jakemsr:~/my_pkg$ sudo alien apache-1.3.17.tgz
alien output, mostly it can't find dependencies for libmysqlclient??
I have php-4.0.4lp1 module with mysql-3.23.33 support.  Probably
can't find the libs because I haven't deb'd them yet.
In any case it succeeded
jakemsr:~/my_pkg$ sudo dpkg -i apache-1.3.17-1.1.deb
.. success ..

The only downpoint is that everything is installed in /usr/local/stow/apache,
so for new packages, you still need to stow them to be of real use.

To solve this, configure for a "fake root".  Use something like
./configure --prexif=/usr/local/altroot/usr/local, then make the tarball like

jakemsr:/usr/local/altroot$ tar czvf apache-1.3.17.tgz *.  

Then the deb will install into /usr/local.  In both cases, apt
and dpkg operated as expected on the deb.  Mmmmm..... ALIEN.

I'm going to clean out /usr/local and try building everything with
the fake root method.  I'll post my findings prob Sat afternoon. 

> There is a "hello" package which is really an example of packing a deb.
> So, you could craft a really cheap package which contained your binaries;
> you could probably use something like GUItar (a gtk app for making backups
> which claims to have a file manager type interface ... mc won't work, I've
> tried that) to actually fill it up with carefully crafted pieces.  
> It's extra trouble but you could set up a 'debianized' build environmant 
> and then build debs the "normal" way - that would get you both binary and 
> source debs if you want them.  And if following instructions aimed at 
> developers is easy for you, probably the easier way.  (But maybe not easier
> than alien)

I started doing this, and if the package is debian aware, it's actually
rather easy.  I don't really have much desire to be a Debian maintainer,
so after a while of reading and not finding a simplified way of creating
the control files, I gave up.
> > > I added stuff like glib-1.2.8, tcl-8.32,
> > > tk8.3.2, etc.  How can I tell apt that these packages are installed?
> > > Or at least make it think the potato version is installed.
> Well, you *could* really install the potato version, then apply your own
> redirections on them.  That's handled in /var/lib/dpkg/alternatives and if
> you install lynx-ssl there is a really nice example of it replacing lynx
> (because you might, for some reason, want to use the lynx without ssl.)
> I use this trick to redirect the SVGA server when I'm replacing it with 
> some vendor's hacked version to make their card work... because it's really
> annoying to forget that you replaced it and have your card not work anymore
> when you take the plunge and upgrade.   And if the upgrade *claims* it now
> covers your card - you still get the new one to try, so you can run it
> explicitly.
My HD is 4.5G and has win on it also, it also seems sloppy to have old binaries
around that I don't have any need for.  And like you said, an update would
point things back at /usr.
> > You may want to take a close(r) look at apt-cache.  I have no idea if I'm 
> > correct, or if so, how to use it in this method, but it seems like the 
> > right tool for the job...
> I thought apt-cache was for keeping a batch of debs so a bunch of machines
> can share them?  Anyways I just did an apt-get update and I don't even see
> apt-cache in there.  
I used 'apt-cache search tk8' to find the packages that were part of the Tk
distribution.  It's basically a list of all debs your system knows about,
either installed or available.


Reply to: