[Xastir] Xastir 2.0.0 on Arch Linux

Tom Russo russo at bogodyn.org
Tue Dec 21 10:49:44 EST 2010


On Tue, Dec 21, 2010 at 09:14:54AM -0600, we recorded a bogon-computron collision of the <lee.bengston at gmail.com> flavor, containing:
> actually under /usr/local/share.  If that is the case, you can
> re-compile Xastir 2.0 under usr/share by modifying a line in Xastir's
> configure script.
> 
>   ac_default_prefix=/usr/local  - is the normal line - change it to
>   ac_default_prefix=/usr
> 

I have no idea what the answer to the original question is, but I should
point out that it is almost never necessary to edit "configure" to accomplish
changes like this.  There is a command-line option to configure to make
this change:

   configure --prefix=/usr

is the standard approach to setting up for install into /usr instead of 
/usr/local.

Now, on to the other thing.

The original question has something to do with the install-data-hook trying
to copy files into $(mapdir), and the package creator trying to run those
commands before $(mapdir) is created, it appears.  Without knowing anything
about Arch linux's package management scheme, I can only guess why that is 
happening.  Is it possible that Arch's package maker sets "DESTDIR" to 
something other than a blank?  I can imagine that perhaps it is installing to
some temporary location and then bundling everything up for install as a 
package.  If that's what it's doing, then the issue may be related to one
that Jeremy Utley brought up back in November, and which was fixed in a 
post-Release-2.0.0 update.  Try building your package from CVS Xastir instead
of the stable release tarball, and see if this problem goes away.

The issue there was that install-data-hook was not set up to use DESTDIR and
so failed when DESTDIR was non-null.  A quick glance at the automake info
tree shows that DESTDIR is precisely designed for building binary packages:

  2.2.10 Building Binary Packages Using DESTDIR
  ---------------------------------------------

  The GNU Build System's `make install' and `make uninstall' interface
  does not exactly fit the needs of a system administrator who has to
  deploy and upgrade packages on lots of hosts.  In other words, the GNU
  Build System does not replace a package manager.

     Such package managers usually need to know which files have been
  installed by a package, so a mere `make install' is inappropriate.

     The `DESTDIR' variable can be used to perform a staged installation.
  The package should be configured as if it was going to be installed in
  its final location (e.g., `--prefix /usr'), but when running `make
  install', the `DESTDIR' should be set to the absolute name of a
  directory into which the installation will be diverted.  From this
  directory it is easy to review which files are being installed where,
  and finally copy them to their final location by some means.

Can't say for sure that this is the issue, but if it is it was introduced
by the OSM map code and fixed on November 9th, about a month after the 2.0.0
stable release tarball was produced.  Try building from CVS instead of the 
tarball and see if that fixes the problem.

-- 
Tom Russo    KM5VY   SAR502   DM64ux          http://www.swcp.com/~russo/
Tijeras, NM  QRPL#1592 K2#398  SOC#236        http://kevan.org/brain.cgi?DDTNM
 "The truth will set you free, but first it will piss you off."





More information about the Xastir mailing list