Carl Wilhelm Soderstrom wrote:
> Ok, I'm a new Dweebian^WDebian user; and I am wondering how
> experienced users deal with .rpms and non-.deb'ed software.
...[snip]...
> do you convert the .rpm to a .deb with alien; and hope nothing
> breaks?
That's one possibility, but not the most desireable.
> make a .deb package yourself, taking a lot of time (which others
> will have to duplicate as well, since you aren't a debian package
> contributor and have no desire to be one).
This is obviously one of the best options. Building *.debs and being
a Debian Developer aren't mutually intrinsic. In fact, makig a *.deb
of a package is not that hard, but it is a slight learning curve. The
easiest way, however, to update an existing package is to use CVS and
the corresponsing build tools. "apt-get install" these packages:
build-essential
debhelper
cvs
cvs-buildpackage
fakeroot (or sudo)
Once these are installed, pick out a directory for your CVS
repository:
bash$ mkdir ~/MYCVSROOT
bash$ export CVSROOT=~/MYCVSROOT
bash$ cvs init
Create the directory. Export the CVSROOT env variable. Initialize
the root directory. Then download and inject the source package:
bash$ apt-get source desiredpackage
bash$ cvs-inject desiredpackage_0_0_0-1.dsc
Download the new source code from upstream:
bash$ wget \
> ftp://upstream.server.com/pub/desiredpackage/desiredpackage-0.0.1.tar.gz
Expode it:
bash$ tar zxvf desiredpackage-0.0.1.tar.gz
Rename the directory and retar/gzip it:
bash$ mv desiredpackage-0.0.1 desiredpackage-0.0.1.orig
bash$ tar zcvf desiredpackage-0.0.1.orig.tar.gz \
> desiredpackage-0.0.1.orig
Use the wrapper program cvs-co-upgrade(1) to update the CVS repository
with the new source:
bash$ # cvs-co-upgrade <package> <old version> <new version>
> cvs-co-upgrade desiredpackage 0.0.0 0.0.1
This will search for the old version file: package-0.0.0.orig.tar.gz
and diff it to package-0.0.1.orig.tar.gz, then build the cvs commands
to add/remove files and update existing files. If there are
conflicts, check out the source, resolve them, and check it back in.
bash$ cvs co packagename
bash$ #make fixes
bash$ cvs ci -m 'made fixes'
Build the package directly from CVS, don't sign the control file,
don't sign the changelog file, and use fakeroot to set up file perms.
bash$ cvs-buildpackage -Mdesiredpackage -uc -us -rfakeroot
If all goes well:
bash$ cd ..
bash$ dpkg --install desiredpackage*i386.deb
> Here at Real-Time, we build .rpms for everything; especially custom
> packages. Bob & Nate can build rpms from scratch faster than you'd
> believe. :) this is not the course I want to follow as a
> single-workstation home user, however.
Yeah, I've seen your work... *snicker*
--
Chad Walstrom <chewie at wookimus.net> | a.k.a. ^chewie
http://www.wookimus.net/ | s.k.a. gunnarr
Key fingerprint = B4AB D627 9CBD 687E 7A31 1950 0CC7 0B18 206C 5AFD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
Url : http://shadowknight.real-time.com/pipermail/tclug-list/attachments/20010213/935ce81a/attachment.pgp