On Mon, May 27, 2002 at 04:33:58PM -0400, Dan Muller wrote: | (Sorry if this appears twice; I submitted it first via news, but I never saw | it appear. I joined the mailing list in the meantime, so here's a second | attempt.) The mail->news gateway is one-way. The news server might (I don't know) get 2 copies, but not the mailing list. | Background: I have a Debian system running potato. I have some experience | running Linux systems, mostly RedHat, but I'm pretty new to Debian and its | package management. | | What I'm trying to do: I am trying to set up a Subversion repository (see | http://subversion.tigris.org) and client. Subversion is still pre-release, | so it's essential to build it from latest sources. It requires a lot of the | 'latest stuff' related to Apache in order to work. Go for it! Some of the docs on subversion make it sound really nice, but I'm waiting for it to be stable. | What I've done so far: A Subversion repository is accessed through a web | server via webdav, and requires the latest Apache release. So using dselect, | I uninstalled all Apache-related packages in potato, got the latest Apache | sources, and built and installed Apache2 from scratch. So far so good. | | What I need to do: I need to build the Subversion client. | | What I'm stuck on: When running configure on the Subversion sources, I'm | told that I need expat or libxml >= 1.8.3. Neither potato nor woody are up | to libxml 1.8.3. (I was considering upgrading to woody before I noticed | this -- not a decision to be taken lightly, since I live behind a modem!) apt-cache is your friend. In particular, you want the 'search' and 'policy' directives. Oh, and upgrade apt and dpkg to woody's version -- it will make checking package versions much easier. (I'll comment more on this later) What you'll find is : potato : expat : 1.1-1 libxml1 : 1.8.2-1 woody : expat : 1.95.2-6 libxml1 : 1.8.17-2 libxml2 : 2.4.19-4 sid : expat : 1.95.2-6 libxml1 : 1.8.17-2 libxml2 : 2.4.20-1 Unlike rpm, dpkg won't allow 2 packages of the same name to be installed. Since libxml incompatibly changed between version 1 and version 2, the maintainer has choosen to provide one package for each so that libxml1 and libxml2 apps can both exist on the same system. | (And finally...) My questions: What's the best way to go about getting and | installing libxml 1.8.3 or greater, If you want to try (no guarantees) then use the 'apt-get source' functionality. First, run this with your sources.list pointing at potato. It will ensure that you have all the build tools and any other build dependencies for building (potato's version of) libxml1. # apt-get build-deps libxml1 Then point apt at woody, and run this : # apt-get update # apt-get install apt dpkg perl apt-utils fakeroot # explaination below # apt-get source libxml1 Then you'll have the source of libxml in the current directory. As an ordinary user run $ cd libxml1-<version> $ fakeroot ./debian/rules and then as root # dpkg -i ../libxml1_<...>.deb All debian packages are available in source form as well as binary form. The structure is to have a 'debian' directory in every source package, and a 'rules' file which is a Makefile for building the package. The fakeroot program creates a fake root environment. It is used to fool the devel tools into thinking they have root permission, and thus they will create the files with the correct ownership before putting them in the package. As for woody's apt, it is much improved over potato's apt. One of the features that was added is "preferences". Woody's apt allows you to include multiple releases in your sources.list (eg both stable and testing) and then give them a priority in the preferences file. A suitable preferences file for you would be : Package: * Pin: release a=stable Pin-Priority: 500 Package: * Pin: release a=testing Pin-Priority: 95 Package: * Pin: release a=unstable Pin-Priority: 90 The total ordering here is stable (500) currently installed package (100) testing (95) unstable (90) This means that your apt cache will know about the versions of packages in all the releases mentioned in your sources.list file, but an 'apt-get upgrade' or an 'apt-get install' will choose the version from "stable" first, and will never automatically choose one from testing or unstable. You can explicitly request a package from one of those releases like this : # apt-get install libxml2/testing Note that you will need to upgrade your perl version for the new apt and dpkg to work correctly. I don't know the details of why, though. HTH, -D -- Pride only breeds quarrels, but wisdom is found in those who take advice. Proverbs 13:10 GnuPG key : http://dman.ddts.net/~dman/public_key.gpg
Attachment:
pgpMkhYmx3TPW.pgp
Description: PGP signature