forked from mirrors/pacman
		
	Compare commits
	
		
			41 Commits
		
	
	
		
			v3.0.0-rc1
			...
			v3.0.0-rc2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					9e3a185345 | ||
| 
						 | 
					38784a7eb5 | ||
| 
						 | 
					5f15a80274 | ||
| 
						 | 
					0203fabe54 | ||
| 
						 | 
					ba1806f5ac | ||
| 
						 | 
					9ba23c8248 | ||
| 
						 | 
					39478292af | ||
| 
						 | 
					0a1b2544cb | ||
| 
						 | 
					7f7da2b5fc | ||
| 
						 | 
					f94506396f | ||
| 
						 | 
					2f4c1fe647 | ||
| 
						 | 
					187eb7492d | ||
| 
						 | 
					6f870968ed | ||
| 
						 | 
					68876e4eb0 | ||
| 
						 | 
					0a1ca73183 | ||
| 
						 | 
					28aca444a2 | ||
| 
						 | 
					3461786b19 | ||
| 
						 | 
					abcb5494bc | ||
| 
						 | 
					dddf759004 | ||
| 
						 | 
					4268eda3a6 | ||
| 
						 | 
					fd312c35eb | ||
| 
						 | 
					166ffc4f9e | ||
| 
						 | 
					1a9e6015c7 | ||
| 
						 | 
					7e19b3238a | ||
| 
						 | 
					9418333166 | ||
| 
						 | 
					631a71f11a | ||
| 
						 | 
					48181e9a84 | ||
| 
						 | 
					e6d6ee2c5a | ||
| 
						 | 
					aaa356999a | ||
| 
						 | 
					45855badc1 | ||
| 
						 | 
					e1704bfdd6 | ||
| 
						 | 
					a50105bede | ||
| 
						 | 
					294eff6021 | ||
| 
						 | 
					90b75a0435 | ||
| 
						 | 
					5baba84397 | ||
| 
						 | 
					869e81e1cf | ||
| 
						 | 
					facb99098d | ||
| 
						 | 
					94b5e39407 | ||
| 
						 | 
					2caadb33bf | ||
| 
						 | 
					714a414e72 | ||
| 
						 | 
					4770ac784e | 
							
								
								
									
										34
									
								
								HACKING
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								HACKING
									
									
									
									
									
								
							@@ -1,8 +1,8 @@
 | 
			
		||||
Contributing to pacman
 | 
			
		||||
======================
 | 
			
		||||
 | 
			
		||||
Please read 'submitting-patches' and 'translation-help' in the same directory as
 | 
			
		||||
this file.
 | 
			
		||||
Please read 'submitting-patches' and 'translation-help' in the same directory
 | 
			
		||||
as this file.
 | 
			
		||||
 | 
			
		||||
Coding style
 | 
			
		||||
------------
 | 
			
		||||
@@ -62,4 +62,34 @@ Coding style
 | 
			
		||||
       NOT
 | 
			
		||||
    sizeof(*mylist);
 | 
			
		||||
 | 
			
		||||
Other Concerns
 | 
			
		||||
--------------
 | 
			
		||||
 | 
			
		||||
Currently our #include usage is in messy shape, but this is no reason to
 | 
			
		||||
continue down this messy path. When adding an include to a file, follow this
 | 
			
		||||
general pattern, including blank lines:
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <standardheader.h>
 | 
			
		||||
#include <another.h>
 | 
			
		||||
#include <...>
 | 
			
		||||
 | 
			
		||||
Follow this with some more headers, depending on whether the file is in libalpm
 | 
			
		||||
or pacman proper. For libalpm:
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "yourfile.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "anythingelse.h"
 | 
			
		||||
 | 
			
		||||
For pacman:
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "yourfile.h"
 | 
			
		||||
#include "anythingelse.h"
 | 
			
		||||
 | 
			
		||||
vim: set ts=2 sw=2 et:
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										234
									
								
								INSTALL
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										234
									
								
								INSTALL
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,234 @@
 | 
			
		||||
Installation Instructions
 | 
			
		||||
*************************
 | 
			
		||||
 | 
			
		||||
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
 | 
			
		||||
2006 Free Software Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
This file is free documentation; the Free Software Foundation gives
 | 
			
		||||
unlimited permission to copy, distribute and modify it.
 | 
			
		||||
 | 
			
		||||
Basic Installation
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
Briefly, the shell commands `./configure; make; make install' should
 | 
			
		||||
configure, build, and install this package.  The following
 | 
			
		||||
more-detailed instructions are generic; see the `README' file for
 | 
			
		||||
instructions specific to this package.
 | 
			
		||||
 | 
			
		||||
   The `configure' shell script attempts to guess correct values for
 | 
			
		||||
various system-dependent variables used during compilation.  It uses
 | 
			
		||||
those values to create a `Makefile' in each directory of the package.
 | 
			
		||||
It may also create one or more `.h' files containing system-dependent
 | 
			
		||||
definitions.  Finally, it creates a shell script `config.status' that
 | 
			
		||||
you can run in the future to recreate the current configuration, and a
 | 
			
		||||
file `config.log' containing compiler output (useful mainly for
 | 
			
		||||
debugging `configure').
 | 
			
		||||
 | 
			
		||||
   It can also use an optional file (typically called `config.cache'
 | 
			
		||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
 | 
			
		||||
the results of its tests to speed up reconfiguring.  Caching is
 | 
			
		||||
disabled by default to prevent problems with accidental use of stale
 | 
			
		||||
cache files.
 | 
			
		||||
 | 
			
		||||
   If you need to do unusual things to compile the package, please try
 | 
			
		||||
to figure out how `configure' could check whether to do them, and mail
 | 
			
		||||
diffs or instructions to the address given in the `README' so they can
 | 
			
		||||
be considered for the next release.  If you are using the cache, and at
 | 
			
		||||
some point `config.cache' contains results you don't want to keep, you
 | 
			
		||||
may remove or edit it.
 | 
			
		||||
 | 
			
		||||
   The file `configure.ac' (or `configure.in') is used to create
 | 
			
		||||
`configure' by a program called `autoconf'.  You need `configure.ac' if
 | 
			
		||||
you want to change it or regenerate `configure' using a newer version
 | 
			
		||||
of `autoconf'.
 | 
			
		||||
 | 
			
		||||
The simplest way to compile this package is:
 | 
			
		||||
 | 
			
		||||
  1. `cd' to the directory containing the package's source code and type
 | 
			
		||||
     `./configure' to configure the package for your system.
 | 
			
		||||
 | 
			
		||||
     Running `configure' might take a while.  While running, it prints
 | 
			
		||||
     some messages telling which features it is checking for.
 | 
			
		||||
 | 
			
		||||
  2. Type `make' to compile the package.
 | 
			
		||||
 | 
			
		||||
  3. Optionally, type `make check' to run any self-tests that come with
 | 
			
		||||
     the package.
 | 
			
		||||
 | 
			
		||||
  4. Type `make install' to install the programs and any data files and
 | 
			
		||||
     documentation.
 | 
			
		||||
 | 
			
		||||
  5. You can remove the program binaries and object files from the
 | 
			
		||||
     source code directory by typing `make clean'.  To also remove the
 | 
			
		||||
     files that `configure' created (so you can compile the package for
 | 
			
		||||
     a different kind of computer), type `make distclean'.  There is
 | 
			
		||||
     also a `make maintainer-clean' target, but that is intended mainly
 | 
			
		||||
     for the package's developers.  If you use it, you may have to get
 | 
			
		||||
     all sorts of other programs in order to regenerate files that came
 | 
			
		||||
     with the distribution.
 | 
			
		||||
 | 
			
		||||
Compilers and Options
 | 
			
		||||
=====================
 | 
			
		||||
 | 
			
		||||
Some systems require unusual options for compilation or linking that the
 | 
			
		||||
`configure' script does not know about.  Run `./configure --help' for
 | 
			
		||||
details on some of the pertinent environment variables.
 | 
			
		||||
 | 
			
		||||
   You can give `configure' initial values for configuration parameters
 | 
			
		||||
by setting variables in the command line or in the environment.  Here
 | 
			
		||||
is an example:
 | 
			
		||||
 | 
			
		||||
     ./configure CC=c99 CFLAGS=-g LIBS=-lposix
 | 
			
		||||
 | 
			
		||||
   *Note Defining Variables::, for more details.
 | 
			
		||||
 | 
			
		||||
Compiling For Multiple Architectures
 | 
			
		||||
====================================
 | 
			
		||||
 | 
			
		||||
You can compile the package for more than one kind of computer at the
 | 
			
		||||
same time, by placing the object files for each architecture in their
 | 
			
		||||
own directory.  To do this, you can use GNU `make'.  `cd' to the
 | 
			
		||||
directory where you want the object files and executables to go and run
 | 
			
		||||
the `configure' script.  `configure' automatically checks for the
 | 
			
		||||
source code in the directory that `configure' is in and in `..'.
 | 
			
		||||
 | 
			
		||||
   With a non-GNU `make', it is safer to compile the package for one
 | 
			
		||||
architecture at a time in the source code directory.  After you have
 | 
			
		||||
installed the package for one architecture, use `make distclean' before
 | 
			
		||||
reconfiguring for another architecture.
 | 
			
		||||
 | 
			
		||||
Installation Names
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
By default, `make install' installs the package's commands under
 | 
			
		||||
`/usr/local/bin', include files under `/usr/local/include', etc.  You
 | 
			
		||||
can specify an installation prefix other than `/usr/local' by giving
 | 
			
		||||
`configure' the option `--prefix=PREFIX'.
 | 
			
		||||
 | 
			
		||||
   You can specify separate installation prefixes for
 | 
			
		||||
architecture-specific files and architecture-independent files.  If you
 | 
			
		||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
 | 
			
		||||
PREFIX as the prefix for installing programs and libraries.
 | 
			
		||||
Documentation and other data files still use the regular prefix.
 | 
			
		||||
 | 
			
		||||
   In addition, if you use an unusual directory layout you can give
 | 
			
		||||
options like `--bindir=DIR' to specify different values for particular
 | 
			
		||||
kinds of files.  Run `configure --help' for a list of the directories
 | 
			
		||||
you can set and what kinds of files go in them.
 | 
			
		||||
 | 
			
		||||
   If the package supports it, you can cause programs to be installed
 | 
			
		||||
with an extra prefix or suffix on their names by giving `configure' the
 | 
			
		||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
 | 
			
		||||
 | 
			
		||||
Optional Features
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
Some packages pay attention to `--enable-FEATURE' options to
 | 
			
		||||
`configure', where FEATURE indicates an optional part of the package.
 | 
			
		||||
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
 | 
			
		||||
is something like `gnu-as' or `x' (for the X Window System).  The
 | 
			
		||||
`README' should mention any `--enable-' and `--with-' options that the
 | 
			
		||||
package recognizes.
 | 
			
		||||
 | 
			
		||||
   For packages that use the X Window System, `configure' can usually
 | 
			
		||||
find the X include and library files automatically, but if it doesn't,
 | 
			
		||||
you can use the `configure' options `--x-includes=DIR' and
 | 
			
		||||
`--x-libraries=DIR' to specify their locations.
 | 
			
		||||
 | 
			
		||||
Specifying the System Type
 | 
			
		||||
==========================
 | 
			
		||||
 | 
			
		||||
There may be some features `configure' cannot figure out automatically,
 | 
			
		||||
but needs to determine by the type of machine the package will run on.
 | 
			
		||||
Usually, assuming the package is built to be run on the _same_
 | 
			
		||||
architectures, `configure' can figure that out, but if it prints a
 | 
			
		||||
message saying it cannot guess the machine type, give it the
 | 
			
		||||
`--build=TYPE' option.  TYPE can either be a short name for the system
 | 
			
		||||
type, such as `sun4', or a canonical name which has the form:
 | 
			
		||||
 | 
			
		||||
     CPU-COMPANY-SYSTEM
 | 
			
		||||
 | 
			
		||||
where SYSTEM can have one of these forms:
 | 
			
		||||
 | 
			
		||||
     OS KERNEL-OS
 | 
			
		||||
 | 
			
		||||
   See the file `config.sub' for the possible values of each field.  If
 | 
			
		||||
`config.sub' isn't included in this package, then this package doesn't
 | 
			
		||||
need to know the machine type.
 | 
			
		||||
 | 
			
		||||
   If you are _building_ compiler tools for cross-compiling, you should
 | 
			
		||||
use the option `--target=TYPE' to select the type of system they will
 | 
			
		||||
produce code for.
 | 
			
		||||
 | 
			
		||||
   If you want to _use_ a cross compiler, that generates code for a
 | 
			
		||||
platform different from the build platform, you should specify the
 | 
			
		||||
"host" platform (i.e., that on which the generated programs will
 | 
			
		||||
eventually be run) with `--host=TYPE'.
 | 
			
		||||
 | 
			
		||||
Sharing Defaults
 | 
			
		||||
================
 | 
			
		||||
 | 
			
		||||
If you want to set default values for `configure' scripts to share, you
 | 
			
		||||
can create a site shell script called `config.site' that gives default
 | 
			
		||||
values for variables like `CC', `cache_file', and `prefix'.
 | 
			
		||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
 | 
			
		||||
`PREFIX/etc/config.site' if it exists.  Or, you can set the
 | 
			
		||||
`CONFIG_SITE' environment variable to the location of the site script.
 | 
			
		||||
A warning: not all `configure' scripts look for a site script.
 | 
			
		||||
 | 
			
		||||
Defining Variables
 | 
			
		||||
==================
 | 
			
		||||
 | 
			
		||||
Variables not defined in a site shell script can be set in the
 | 
			
		||||
environment passed to `configure'.  However, some packages may run
 | 
			
		||||
configure again during the build, and the customized values of these
 | 
			
		||||
variables may be lost.  In order to avoid this problem, you should set
 | 
			
		||||
them in the `configure' command line, using `VAR=value'.  For example:
 | 
			
		||||
 | 
			
		||||
     ./configure CC=/usr/local2/bin/gcc
 | 
			
		||||
 | 
			
		||||
causes the specified `gcc' to be used as the C compiler (unless it is
 | 
			
		||||
overridden in the site shell script).
 | 
			
		||||
 | 
			
		||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
 | 
			
		||||
an Autoconf bug.  Until the bug is fixed you can use this workaround:
 | 
			
		||||
 | 
			
		||||
     CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
 | 
			
		||||
 | 
			
		||||
`configure' Invocation
 | 
			
		||||
======================
 | 
			
		||||
 | 
			
		||||
`configure' recognizes the following options to control how it operates.
 | 
			
		||||
 | 
			
		||||
`--help'
 | 
			
		||||
`-h'
 | 
			
		||||
     Print a summary of the options to `configure', and exit.
 | 
			
		||||
 | 
			
		||||
`--version'
 | 
			
		||||
`-V'
 | 
			
		||||
     Print the version of Autoconf used to generate the `configure'
 | 
			
		||||
     script, and exit.
 | 
			
		||||
 | 
			
		||||
`--cache-file=FILE'
 | 
			
		||||
     Enable the cache: use and save the results of the tests in FILE,
 | 
			
		||||
     traditionally `config.cache'.  FILE defaults to `/dev/null' to
 | 
			
		||||
     disable caching.
 | 
			
		||||
 | 
			
		||||
`--config-cache'
 | 
			
		||||
`-C'
 | 
			
		||||
     Alias for `--cache-file=config.cache'.
 | 
			
		||||
 | 
			
		||||
`--quiet'
 | 
			
		||||
`--silent'
 | 
			
		||||
`-q'
 | 
			
		||||
     Do not print messages saying which checks are being made.  To
 | 
			
		||||
     suppress all normal output, redirect it to `/dev/null' (any error
 | 
			
		||||
     messages will still be shown).
 | 
			
		||||
 | 
			
		||||
`--srcdir=DIR'
 | 
			
		||||
     Look for the package's source code in directory DIR.  Usually
 | 
			
		||||
     `configure' can determine that directory automatically.
 | 
			
		||||
 | 
			
		||||
`configure' also accepts some other, not widely useful, options.  Run
 | 
			
		||||
`configure --help' for more details.
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								NEWS
									
									
									
									
									
								
							@@ -3,11 +3,12 @@ VERSION         DESCRIPTION
 | 
			
		||||
3.0.0         - first release based on libalpm backend
 | 
			
		||||
              - added internationalization (gettext) support
 | 
			
		||||
              - prompt to delete corrupted packages
 | 
			
		||||
              - **TODO** documentation - multiple man pages updated
 | 
			
		||||
              - documentation - man pages updated, new conf manpages added
 | 
			
		||||
              - added support for package changelogs
 | 
			
		||||
              - logging of all install scriptlet messages to pacman.log
 | 
			
		||||
              - repository mirror list updates
 | 
			
		||||
              - orphans search (-Qe) now shows true orphans
 | 
			
		||||
              - new -Qu option- show all packages that can be upgraded
 | 
			
		||||
              - dependency sorting on install and removal
 | 
			
		||||
              - new uncompressed size field, shown on sync upgrade
 | 
			
		||||
              - check for free space before installing packages
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6397
									
								
								acinclude.m4
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6397
									
								
								acinclude.m4
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										54
									
								
								autoclean.sh
									
									
									
									
									
								
							
							
						
						
									
										54
									
								
								autoclean.sh
									
									
									
									
									
								
							@@ -2,53 +2,33 @@
 | 
			
		||||
 | 
			
		||||
[ -f Makefile ] && make distclean
 | 
			
		||||
rm -rf autom4te.cache
 | 
			
		||||
rm -rf Makefile
 | 
			
		||||
rm -rf Makefile.in
 | 
			
		||||
rm -rf {Makefile.in,Makefile}
 | 
			
		||||
rm -rf {config.h.in,config.h}
 | 
			
		||||
rm -rf config.status
 | 
			
		||||
rm -rf configure
 | 
			
		||||
rm -rf config.*
 | 
			
		||||
rm -rf stamp*
 | 
			
		||||
rm -rf depcomp
 | 
			
		||||
rm -rf install-sh
 | 
			
		||||
rm -rf missing
 | 
			
		||||
rm -rf src/pacman/Makefile
 | 
			
		||||
rm -rf src/pacman/Makefile.in
 | 
			
		||||
rm -rf src/util/Makefile
 | 
			
		||||
rm -rf src/util/Makefile.in
 | 
			
		||||
rm -rf lib/libftp/Makefile
 | 
			
		||||
rm -rf lib/libftp/Makefile.in
 | 
			
		||||
rm -rf lib/libalpm/Makefile.in
 | 
			
		||||
rm -rf lib/libalpm/Makefile
 | 
			
		||||
rm -rf aclocal.m4
 | 
			
		||||
rm -rf ltmain.sh
 | 
			
		||||
rm -rf doc/Makefile
 | 
			
		||||
rm -rf doc/Makefile.in
 | 
			
		||||
rm -rf doc/hu/Makefile
 | 
			
		||||
rm -rf doc/hu/Makefile.in
 | 
			
		||||
rm -rf doc/html/*.html
 | 
			
		||||
rm -rf doc/man3/*.3
 | 
			
		||||
rm -rf compile
 | 
			
		||||
rm -rf libtool
 | 
			
		||||
rm -rf mkinstalldirs
 | 
			
		||||
rm -rf config.rpath
 | 
			
		||||
rm -rf scripts/.deps/
 | 
			
		||||
rm -rf scripts/Makefile.in
 | 
			
		||||
rm -rf etc/Makefile.in
 | 
			
		||||
rm -rf etc/Makefile
 | 
			
		||||
rm -rf etc/pacman.d/Makefile.in
 | 
			
		||||
rm -rf etc/pacman.d/Makefile
 | 
			
		||||
rm -rf etc/abs/Makefile.in
 | 
			
		||||
rm -rf etc/abs/Makefile
 | 
			
		||||
rm -rf pactest/Makefile.in
 | 
			
		||||
rm -rf pactest/Makefile
 | 
			
		||||
 | 
			
		||||
rm -rf src/pacman/po/Makefile
 | 
			
		||||
rm -rf src/pacman/po/Makefile.in
 | 
			
		||||
rm -rf lib/libalpm/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf src/util/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf src/pacman/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf scripts/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf etc/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf etc/pacman.d/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf etc/abs/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf pactest/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf doc/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf doc/html/*.html
 | 
			
		||||
rm -rf doc/man3/*.3
 | 
			
		||||
 | 
			
		||||
rm -rf src/pacman/po/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf src/pacman/po/POTFILES
 | 
			
		||||
rm -rf src/pacman/po/stamp-po
 | 
			
		||||
rm -rf src/pacman/po/*.gmo
 | 
			
		||||
 | 
			
		||||
rm -rf lib/libalpm/po/Makefile
 | 
			
		||||
rm -rf lib/libalpm/po/Makefile.in
 | 
			
		||||
rm -rf lib/libalpm/po/{Makefile.in,Makefile}
 | 
			
		||||
rm -rf lib/libalpm/po/POTFILES
 | 
			
		||||
rm -rf lib/libalpm/po/stamp-po
 | 
			
		||||
rm -rf lib/libalpm/po/*.gmo
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										55
									
								
								autogen.sh
									
									
									
									
									
								
							
							
						
						
									
										55
									
								
								autogen.sh
									
									
									
									
									
								
							@@ -1,51 +1,6 @@
 | 
			
		||||
#!/bin/sh -e
 | 
			
		||||
#!/bin/sh -xu
 | 
			
		||||
 | 
			
		||||
if [ "$1" == "--gettext-only" ]; then
 | 
			
		||||
	sh autoclean.sh
 | 
			
		||||
	for i in lib/libalpm/po src/pacman/po
 | 
			
		||||
	do
 | 
			
		||||
		cd $i
 | 
			
		||||
		mv Makevars Makevars.tmp
 | 
			
		||||
		package=`pwd|sed 's|.*/\(.*\)/.*|\1|'`
 | 
			
		||||
		intltool-update --pot --gettext-package=$package
 | 
			
		||||
		for j in *.po
 | 
			
		||||
		do
 | 
			
		||||
			if msgmerge $j $package.pot -o $j.new; then
 | 
			
		||||
				mv -f $j.new $j
 | 
			
		||||
				echo -n "$i/$j: "
 | 
			
		||||
				msgfmt -c --statistics -o $j.gmo $j
 | 
			
		||||
				rm -f $j.gmo
 | 
			
		||||
			else
 | 
			
		||||
				echo "msgmerge for $j failed!"
 | 
			
		||||
				rm -f $j.new
 | 
			
		||||
			fi
 | 
			
		||||
		done
 | 
			
		||||
		mv Makevars.tmp Makevars
 | 
			
		||||
		cd - >/dev/null
 | 
			
		||||
	done
 | 
			
		||||
	cd doc
 | 
			
		||||
	po4a -k 0 po4a.cfg
 | 
			
		||||
	cd po
 | 
			
		||||
	for i in *po
 | 
			
		||||
	do
 | 
			
		||||
		if msgmerge $i $package.pot -o $i.new; then
 | 
			
		||||
			mv -f $i.new $i
 | 
			
		||||
			echo -n "man/$i: "
 | 
			
		||||
			msgfmt -c --statistics -o $i.gmo $i
 | 
			
		||||
			rm -f $i.gmo
 | 
			
		||||
		else
 | 
			
		||||
			echo "msgmerge for $i failed!"
 | 
			
		||||
			rm -f $i.new
 | 
			
		||||
		fi
 | 
			
		||||
	done
 | 
			
		||||
	exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
cp -f $(dirname $(which automake))/../share/automake-*/mkinstalldirs ./
 | 
			
		||||
cp -f $(dirname $(which automake))/../share/gettext/config.rpath ./
 | 
			
		||||
 | 
			
		||||
libtoolize -f -c
 | 
			
		||||
aclocal --force
 | 
			
		||||
autoheader -f
 | 
			
		||||
autoconf -f
 | 
			
		||||
automake -a -c --gnu --foreign
 | 
			
		||||
aclocal
 | 
			
		||||
autoheader
 | 
			
		||||
automake --foreign
 | 
			
		||||
autoconf
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1516
									
								
								config.guess
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										1516
									
								
								config.guess
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										614
									
								
								config.rpath
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										614
									
								
								config.rpath
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,614 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Output a system dependent set of variables, describing how to set the
 | 
			
		||||
# run time search path of shared libraries in an executable.
 | 
			
		||||
#
 | 
			
		||||
#   Copyright 1996-2006 Free Software Foundation, Inc.
 | 
			
		||||
#   Taken from GNU libtool, 2001
 | 
			
		||||
#   Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 | 
			
		||||
#
 | 
			
		||||
#   This file is free software; the Free Software Foundation gives
 | 
			
		||||
#   unlimited permission to copy and/or distribute it, with or without
 | 
			
		||||
#   modifications, as long as this notice is preserved.
 | 
			
		||||
#
 | 
			
		||||
# The first argument passed to this file is the canonical host specification,
 | 
			
		||||
#    CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
 | 
			
		||||
# or
 | 
			
		||||
#    CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
 | 
			
		||||
# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld
 | 
			
		||||
# should be set by the caller.
 | 
			
		||||
#
 | 
			
		||||
# The set of defined variables is at the end of this script.
 | 
			
		||||
 | 
			
		||||
# Known limitations:
 | 
			
		||||
# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer
 | 
			
		||||
#   than 256 bytes, otherwise the compiler driver will dump core. The only
 | 
			
		||||
#   known workaround is to choose shorter directory names for the build
 | 
			
		||||
#   directory and/or the installation directory.
 | 
			
		||||
 | 
			
		||||
# All known linkers require a `.a' archive for static linking (except MSVC,
 | 
			
		||||
# which needs '.lib').
 | 
			
		||||
libext=a
 | 
			
		||||
shrext=.so
 | 
			
		||||
 | 
			
		||||
host="$1"
 | 
			
		||||
host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
 | 
			
		||||
host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
 | 
			
		||||
host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
 | 
			
		||||
 | 
			
		||||
# Code taken from libtool.m4's _LT_CC_BASENAME.
 | 
			
		||||
 | 
			
		||||
for cc_temp in $CC""; do
 | 
			
		||||
  case $cc_temp in
 | 
			
		||||
    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
 | 
			
		||||
    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
 | 
			
		||||
    \-*) ;;
 | 
			
		||||
    *) break;;
 | 
			
		||||
  esac
 | 
			
		||||
done
 | 
			
		||||
cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'`
 | 
			
		||||
 | 
			
		||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC.
 | 
			
		||||
 | 
			
		||||
wl=
 | 
			
		||||
if test "$GCC" = yes; then
 | 
			
		||||
  wl='-Wl,'
 | 
			
		||||
else
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    aix*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    darwin*)
 | 
			
		||||
      case $cc_basename in
 | 
			
		||||
        xlc*)
 | 
			
		||||
          wl='-Wl,'
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
    mingw* | pw32* | os2*)
 | 
			
		||||
      ;;
 | 
			
		||||
    hpux9* | hpux10* | hpux11*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    irix5* | irix6* | nonstopux*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    newsos6)
 | 
			
		||||
      ;;
 | 
			
		||||
    linux*)
 | 
			
		||||
      case $cc_basename in
 | 
			
		||||
        icc* | ecc*)
 | 
			
		||||
          wl='-Wl,'
 | 
			
		||||
          ;;
 | 
			
		||||
        pgcc | pgf77 | pgf90)
 | 
			
		||||
          wl='-Wl,'
 | 
			
		||||
          ;;
 | 
			
		||||
        ccc*)
 | 
			
		||||
          wl='-Wl,'
 | 
			
		||||
          ;;
 | 
			
		||||
        como)
 | 
			
		||||
          wl='-lopt='
 | 
			
		||||
          ;;
 | 
			
		||||
        *)
 | 
			
		||||
          case `$CC -V 2>&1 | sed 5q` in
 | 
			
		||||
            *Sun\ C*)
 | 
			
		||||
              wl='-Wl,'
 | 
			
		||||
              ;;
 | 
			
		||||
          esac
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
    osf3* | osf4* | osf5*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    sco3.2v5*)
 | 
			
		||||
      ;;
 | 
			
		||||
    solaris*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    sunos4*)
 | 
			
		||||
      wl='-Qoption ld '
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv4*MP*)
 | 
			
		||||
      ;;
 | 
			
		||||
    unicos*)
 | 
			
		||||
      wl='-Wl,'
 | 
			
		||||
      ;;
 | 
			
		||||
    uts4*)
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS.
 | 
			
		||||
 | 
			
		||||
hardcode_libdir_flag_spec=
 | 
			
		||||
hardcode_libdir_separator=
 | 
			
		||||
hardcode_direct=no
 | 
			
		||||
hardcode_minus_L=no
 | 
			
		||||
 | 
			
		||||
case "$host_os" in
 | 
			
		||||
  cygwin* | mingw* | pw32*)
 | 
			
		||||
    # FIXME: the MSVC++ port hasn't been tested in a loooong time
 | 
			
		||||
    # When not using gcc, we currently assume that we are using
 | 
			
		||||
    # Microsoft Visual C++.
 | 
			
		||||
    if test "$GCC" != yes; then
 | 
			
		||||
      with_gnu_ld=no
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
  interix*)
 | 
			
		||||
    # we just hope/assume this is gcc and not c89 (= MSVC++)
 | 
			
		||||
    with_gnu_ld=yes
 | 
			
		||||
    ;;
 | 
			
		||||
  openbsd*)
 | 
			
		||||
    with_gnu_ld=no
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
ld_shlibs=yes
 | 
			
		||||
if test "$with_gnu_ld" = yes; then
 | 
			
		||||
  # Set some defaults for GNU ld with shared library support. These
 | 
			
		||||
  # are reset later if shared libraries are not supported. Putting them
 | 
			
		||||
  # here allows them to be overridden if necessary.
 | 
			
		||||
  # Unlike libtool, we use -rpath here, not --rpath, since the documented
 | 
			
		||||
  # option of GNU ld is called -rpath, not --rpath.
 | 
			
		||||
  hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    aix3* | aix4* | aix5*)
 | 
			
		||||
      # On AIX/PPC, the GNU linker is very broken
 | 
			
		||||
      if test "$host_cpu" != ia64; then
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    amigaos*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      # Samuel A. Falvo II <kc5tja@dolphin.openprojects.net> reports
 | 
			
		||||
      # that the semantics of dynamic libraries on AmigaOS, at least up
 | 
			
		||||
      # to version 4, is to share data among multiple programs linked
 | 
			
		||||
      # with the same dynamic library.  Since this doesn't match the
 | 
			
		||||
      # behavior of shared libraries on other platforms, we cannot use
 | 
			
		||||
      # them.
 | 
			
		||||
      ld_shlibs=no
 | 
			
		||||
      ;;
 | 
			
		||||
    beos*)
 | 
			
		||||
      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 | 
			
		||||
        :
 | 
			
		||||
      else
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    cygwin* | mingw* | pw32*)
 | 
			
		||||
      # hardcode_libdir_flag_spec is actually meaningless, as there is
 | 
			
		||||
      # no search path for DLLs.
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then
 | 
			
		||||
        :
 | 
			
		||||
      else
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    interix3*)
 | 
			
		||||
      hardcode_direct=no
 | 
			
		||||
      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
 | 
			
		||||
      ;;
 | 
			
		||||
    linux*)
 | 
			
		||||
      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 | 
			
		||||
        :
 | 
			
		||||
      else
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    netbsd*)
 | 
			
		||||
      ;;
 | 
			
		||||
    solaris*)
 | 
			
		||||
      if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 | 
			
		||||
        :
 | 
			
		||||
      else
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
 | 
			
		||||
      case `$LD -v 2>&1` in
 | 
			
		||||
        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
 | 
			
		||||
          ld_shlibs=no
 | 
			
		||||
          ;;
 | 
			
		||||
        *)
 | 
			
		||||
          if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 | 
			
		||||
            hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`'
 | 
			
		||||
          else
 | 
			
		||||
            ld_shlibs=no
 | 
			
		||||
          fi
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
    sunos4*)
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then
 | 
			
		||||
        :
 | 
			
		||||
      else
 | 
			
		||||
        ld_shlibs=no
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
  if test "$ld_shlibs" = no; then
 | 
			
		||||
    hardcode_libdir_flag_spec=
 | 
			
		||||
  fi
 | 
			
		||||
else
 | 
			
		||||
  case "$host_os" in
 | 
			
		||||
    aix3*)
 | 
			
		||||
      # Note: this linker hardcodes the directories in LIBPATH if there
 | 
			
		||||
      # are no directories specified by -L.
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      if test "$GCC" = yes; then
 | 
			
		||||
        # Neither direct hardcoding nor static linking is supported with a
 | 
			
		||||
        # broken collect2.
 | 
			
		||||
        hardcode_direct=unsupported
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    aix4* | aix5*)
 | 
			
		||||
      if test "$host_cpu" = ia64; then
 | 
			
		||||
        # On IA64, the linker does run time linking by default, so we don't
 | 
			
		||||
        # have to do anything special.
 | 
			
		||||
        aix_use_runtimelinking=no
 | 
			
		||||
      else
 | 
			
		||||
        aix_use_runtimelinking=no
 | 
			
		||||
        # Test if we are trying to use run time linking or normal
 | 
			
		||||
        # AIX style linking. If -brtl is somewhere in LDFLAGS, we
 | 
			
		||||
        # need to do runtime linking.
 | 
			
		||||
        case $host_os in aix4.[23]|aix4.[23].*|aix5*)
 | 
			
		||||
          for ld_flag in $LDFLAGS; do
 | 
			
		||||
            if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
 | 
			
		||||
              aix_use_runtimelinking=yes
 | 
			
		||||
              break
 | 
			
		||||
            fi
 | 
			
		||||
          done
 | 
			
		||||
          ;;
 | 
			
		||||
        esac
 | 
			
		||||
      fi
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      hardcode_libdir_separator=':'
 | 
			
		||||
      if test "$GCC" = yes; then
 | 
			
		||||
        case $host_os in aix4.[012]|aix4.[012].*)
 | 
			
		||||
          collect2name=`${CC} -print-prog-name=collect2`
 | 
			
		||||
          if test -f "$collect2name" && \
 | 
			
		||||
            strings "$collect2name" | grep resolve_lib_name >/dev/null
 | 
			
		||||
          then
 | 
			
		||||
            # We have reworked collect2
 | 
			
		||||
            hardcode_direct=yes
 | 
			
		||||
          else
 | 
			
		||||
            # We have old collect2
 | 
			
		||||
            hardcode_direct=unsupported
 | 
			
		||||
            hardcode_minus_L=yes
 | 
			
		||||
            hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
            hardcode_libdir_separator=
 | 
			
		||||
          fi
 | 
			
		||||
          ;;
 | 
			
		||||
        esac
 | 
			
		||||
      fi
 | 
			
		||||
      # Begin _LT_AC_SYS_LIBPATH_AIX.
 | 
			
		||||
      echo 'int main () { return 0; }' > conftest.c
 | 
			
		||||
      ${CC} ${LDFLAGS} conftest.c -o conftest
 | 
			
		||||
      aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
 | 
			
		||||
}'`
 | 
			
		||||
      if test -z "$aix_libpath"; then
 | 
			
		||||
        aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0  *\(.*\)$/\1/; p; }
 | 
			
		||||
}'`
 | 
			
		||||
      fi
 | 
			
		||||
      if test -z "$aix_libpath"; then
 | 
			
		||||
        aix_libpath="/usr/lib:/lib"
 | 
			
		||||
      fi
 | 
			
		||||
      rm -f conftest.c conftest
 | 
			
		||||
      # End _LT_AC_SYS_LIBPATH_AIX.
 | 
			
		||||
      if test "$aix_use_runtimelinking" = yes; then
 | 
			
		||||
        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
 | 
			
		||||
      else
 | 
			
		||||
        if test "$host_cpu" = ia64; then
 | 
			
		||||
          hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
 | 
			
		||||
        else
 | 
			
		||||
          hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
 | 
			
		||||
        fi
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    amigaos*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      # see comment about different semantics on the GNU ld section
 | 
			
		||||
      ld_shlibs=no
 | 
			
		||||
      ;;
 | 
			
		||||
    bsdi[45]*)
 | 
			
		||||
      ;;
 | 
			
		||||
    cygwin* | mingw* | pw32*)
 | 
			
		||||
      # When not using gcc, we currently assume that we are using
 | 
			
		||||
      # Microsoft Visual C++.
 | 
			
		||||
      # hardcode_libdir_flag_spec is actually meaningless, as there is
 | 
			
		||||
      # no search path for DLLs.
 | 
			
		||||
      hardcode_libdir_flag_spec=' '
 | 
			
		||||
      libext=lib
 | 
			
		||||
      ;;
 | 
			
		||||
    darwin* | rhapsody*)
 | 
			
		||||
      hardcode_direct=no
 | 
			
		||||
      if test "$GCC" = yes ; then
 | 
			
		||||
        :
 | 
			
		||||
      else
 | 
			
		||||
        case $cc_basename in
 | 
			
		||||
          xlc*)
 | 
			
		||||
            ;;
 | 
			
		||||
          *)
 | 
			
		||||
            ld_shlibs=no
 | 
			
		||||
            ;;
 | 
			
		||||
        esac
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    dgux*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      ;;
 | 
			
		||||
    freebsd1*)
 | 
			
		||||
      ld_shlibs=no
 | 
			
		||||
      ;;
 | 
			
		||||
    freebsd2.2*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-R$libdir'
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    freebsd2*)
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    freebsd* | kfreebsd*-gnu | dragonfly*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-R$libdir'
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    hpux9*)
 | 
			
		||||
      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
 | 
			
		||||
      hardcode_libdir_separator=:
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      # hardcode_minus_L: Not really in the search PATH,
 | 
			
		||||
      # but as the default location of the library.
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    hpux10*)
 | 
			
		||||
      if test "$with_gnu_ld" = no; then
 | 
			
		||||
        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
 | 
			
		||||
        hardcode_libdir_separator=:
 | 
			
		||||
        hardcode_direct=yes
 | 
			
		||||
        # hardcode_minus_L: Not really in the search PATH,
 | 
			
		||||
        # but as the default location of the library.
 | 
			
		||||
        hardcode_minus_L=yes
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    hpux11*)
 | 
			
		||||
      if test "$with_gnu_ld" = no; then
 | 
			
		||||
        hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
 | 
			
		||||
        hardcode_libdir_separator=:
 | 
			
		||||
        case $host_cpu in
 | 
			
		||||
          hppa*64*|ia64*)
 | 
			
		||||
            hardcode_direct=no
 | 
			
		||||
            ;;
 | 
			
		||||
          *)
 | 
			
		||||
            hardcode_direct=yes
 | 
			
		||||
            # hardcode_minus_L: Not really in the search PATH,
 | 
			
		||||
            # but as the default location of the library.
 | 
			
		||||
            hardcode_minus_L=yes
 | 
			
		||||
            ;;
 | 
			
		||||
        esac
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    irix5* | irix6* | nonstopux*)
 | 
			
		||||
      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 | 
			
		||||
      hardcode_libdir_separator=:
 | 
			
		||||
      ;;
 | 
			
		||||
    netbsd*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-R$libdir'
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    newsos6)
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 | 
			
		||||
      hardcode_libdir_separator=:
 | 
			
		||||
      ;;
 | 
			
		||||
    openbsd*)
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
 | 
			
		||||
        hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
 | 
			
		||||
      else
 | 
			
		||||
        case "$host_os" in
 | 
			
		||||
          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
 | 
			
		||||
            hardcode_libdir_flag_spec='-R$libdir'
 | 
			
		||||
            ;;
 | 
			
		||||
          *)
 | 
			
		||||
            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
 | 
			
		||||
            ;;
 | 
			
		||||
        esac
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    os2*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    osf3*)
 | 
			
		||||
      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 | 
			
		||||
      hardcode_libdir_separator=:
 | 
			
		||||
      ;;
 | 
			
		||||
    osf4* | osf5*)
 | 
			
		||||
      if test "$GCC" = yes; then
 | 
			
		||||
        hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
 | 
			
		||||
      else
 | 
			
		||||
        # Both cc and cxx compiler support -rpath directly
 | 
			
		||||
        hardcode_libdir_flag_spec='-rpath $libdir'
 | 
			
		||||
      fi
 | 
			
		||||
      hardcode_libdir_separator=:
 | 
			
		||||
      ;;
 | 
			
		||||
    solaris*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-R$libdir'
 | 
			
		||||
      ;;
 | 
			
		||||
    sunos4*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      hardcode_direct=yes
 | 
			
		||||
      hardcode_minus_L=yes
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv4)
 | 
			
		||||
      case $host_vendor in
 | 
			
		||||
        sni)
 | 
			
		||||
          hardcode_direct=yes # is this really true???
 | 
			
		||||
          ;;
 | 
			
		||||
        siemens)
 | 
			
		||||
          hardcode_direct=no
 | 
			
		||||
          ;;
 | 
			
		||||
        motorola)
 | 
			
		||||
          hardcode_direct=no #Motorola manual says yes, but my tests say they lie
 | 
			
		||||
          ;;
 | 
			
		||||
      esac
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv4.3*)
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv4*MP*)
 | 
			
		||||
      if test -d /usr/nec; then
 | 
			
		||||
        ld_shlibs=yes
 | 
			
		||||
      fi
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*)
 | 
			
		||||
      ;;
 | 
			
		||||
    sysv5* | sco3.2v5* | sco5v6*)
 | 
			
		||||
      hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`'
 | 
			
		||||
      hardcode_libdir_separator=':'
 | 
			
		||||
      ;;
 | 
			
		||||
    uts4*)
 | 
			
		||||
      hardcode_libdir_flag_spec='-L$libdir'
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      ld_shlibs=no
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Check dynamic linker characteristics
 | 
			
		||||
# Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER.
 | 
			
		||||
libname_spec='lib$name'
 | 
			
		||||
case "$host_os" in
 | 
			
		||||
  aix3*)
 | 
			
		||||
    ;;
 | 
			
		||||
  aix4* | aix5*)
 | 
			
		||||
    ;;
 | 
			
		||||
  amigaos*)
 | 
			
		||||
    ;;
 | 
			
		||||
  beos*)
 | 
			
		||||
    ;;
 | 
			
		||||
  bsdi[45]*)
 | 
			
		||||
    ;;
 | 
			
		||||
  cygwin* | mingw* | pw32*)
 | 
			
		||||
    shrext=.dll
 | 
			
		||||
    ;;
 | 
			
		||||
  darwin* | rhapsody*)
 | 
			
		||||
    shrext=.dylib
 | 
			
		||||
    ;;
 | 
			
		||||
  dgux*)
 | 
			
		||||
    ;;
 | 
			
		||||
  freebsd1*)
 | 
			
		||||
    ;;
 | 
			
		||||
  kfreebsd*-gnu)
 | 
			
		||||
    ;;
 | 
			
		||||
  freebsd* | dragonfly*)
 | 
			
		||||
    ;;
 | 
			
		||||
  gnu*)
 | 
			
		||||
    ;;
 | 
			
		||||
  hpux9* | hpux10* | hpux11*)
 | 
			
		||||
    case $host_cpu in
 | 
			
		||||
      ia64*)
 | 
			
		||||
        shrext=.so
 | 
			
		||||
        ;;
 | 
			
		||||
      hppa*64*)
 | 
			
		||||
        shrext=.sl
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        shrext=.sl
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ;;
 | 
			
		||||
  interix3*)
 | 
			
		||||
    ;;
 | 
			
		||||
  irix5* | irix6* | nonstopux*)
 | 
			
		||||
    case "$host_os" in
 | 
			
		||||
      irix5* | nonstopux*)
 | 
			
		||||
        libsuff= shlibsuff=
 | 
			
		||||
        ;;
 | 
			
		||||
      *)
 | 
			
		||||
        case $LD in
 | 
			
		||||
          *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;;
 | 
			
		||||
          *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;;
 | 
			
		||||
          *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;;
 | 
			
		||||
          *) libsuff= shlibsuff= ;;
 | 
			
		||||
        esac
 | 
			
		||||
        ;;
 | 
			
		||||
    esac
 | 
			
		||||
    ;;
 | 
			
		||||
  linux*oldld* | linux*aout* | linux*coff*)
 | 
			
		||||
    ;;
 | 
			
		||||
  linux*)
 | 
			
		||||
    ;;
 | 
			
		||||
  knetbsd*-gnu)
 | 
			
		||||
    ;;
 | 
			
		||||
  netbsd*)
 | 
			
		||||
    ;;
 | 
			
		||||
  newsos6)
 | 
			
		||||
    ;;
 | 
			
		||||
  nto-qnx*)
 | 
			
		||||
    ;;
 | 
			
		||||
  openbsd*)
 | 
			
		||||
    ;;
 | 
			
		||||
  os2*)
 | 
			
		||||
    libname_spec='$name'
 | 
			
		||||
    shrext=.dll
 | 
			
		||||
    ;;
 | 
			
		||||
  osf3* | osf4* | osf5*)
 | 
			
		||||
    ;;
 | 
			
		||||
  solaris*)
 | 
			
		||||
    ;;
 | 
			
		||||
  sunos4*)
 | 
			
		||||
    ;;
 | 
			
		||||
  sysv4 | sysv4.3*)
 | 
			
		||||
    ;;
 | 
			
		||||
  sysv4*MP*)
 | 
			
		||||
    ;;
 | 
			
		||||
  sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
 | 
			
		||||
    ;;
 | 
			
		||||
  uts4*)
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
 | 
			
		||||
escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"`
 | 
			
		||||
shlibext=`echo "$shrext" | sed -e 's,^\.,,'`
 | 
			
		||||
escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"`
 | 
			
		||||
 | 
			
		||||
LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <<EOF
 | 
			
		||||
 | 
			
		||||
# How to pass a linker flag through the compiler.
 | 
			
		||||
wl="$escaped_wl"
 | 
			
		||||
 | 
			
		||||
# Static library suffix (normally "a").
 | 
			
		||||
libext="$libext"
 | 
			
		||||
 | 
			
		||||
# Shared library suffix (normally "so").
 | 
			
		||||
shlibext="$shlibext"
 | 
			
		||||
 | 
			
		||||
# Flag to hardcode \$libdir into a binary during linking.
 | 
			
		||||
# This must work even if \$libdir does not exist.
 | 
			
		||||
hardcode_libdir_flag_spec="$escaped_hardcode_libdir_flag_spec"
 | 
			
		||||
 | 
			
		||||
# Whether we need a single -rpath flag with a separated argument.
 | 
			
		||||
hardcode_libdir_separator="$hardcode_libdir_separator"
 | 
			
		||||
 | 
			
		||||
# Set to yes if using DIR/libNAME.so during linking hardcodes DIR into the
 | 
			
		||||
# resulting binary.
 | 
			
		||||
hardcode_direct="$hardcode_direct"
 | 
			
		||||
 | 
			
		||||
# Set to yes if using the -LDIR flag during linking hardcodes DIR into the
 | 
			
		||||
# resulting binary.
 | 
			
		||||
hardcode_minus_L="$hardcode_minus_L"
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
							
								
								
									
										1622
									
								
								config.sub
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										1622
									
								
								config.sub
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -3,5 +3,6 @@ EXTRA_DIST = \
 | 
			
		||||
	pacsearch \
 | 
			
		||||
	pacdiff \
 | 
			
		||||
	re-pacman \
 | 
			
		||||
	zsh_completion
 | 
			
		||||
	zsh_completion \
 | 
			
		||||
	README
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								contrib/README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								contrib/README
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
Here is a brief description of the files included in this directory:
 | 
			
		||||
 | 
			
		||||
bash_completion - a bash completion script for pacman, install in
 | 
			
		||||
/etc/bash_completion.d/ for use (but rename to something descriptive!).
 | 
			
		||||
 | 
			
		||||
zsh_completion - a zsh completion script, install (with a rename) to
 | 
			
		||||
/usr/share/zsh/site-functions/.
 | 
			
		||||
 | 
			
		||||
pacsearch - a colorized search combining both -Ss and -Qs output. Installed
 | 
			
		||||
packages are easily identified with a *** and local-only packages are also
 | 
			
		||||
listed.
 | 
			
		||||
 | 
			
		||||
pacdiff - a simple pacnew/pacorig/pacsave updater for /etc/.
 | 
			
		||||
 | 
			
		||||
re-pacman - regenerate a pacman package based on installed files and the pacman
 | 
			
		||||
database entries. Useful for reuse, or possible config file extension.
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
#TODO: colors flag on commandline
 | 
			
		||||
 | 
			
		||||
readonly progname="pacsearch"
 | 
			
		||||
readonly version="1.0"
 | 
			
		||||
 | 
			
		||||
readonly CLR1='\\\e[0;34m'
 | 
			
		||||
readonly CLR2='\\\e[0;32m'
 | 
			
		||||
@@ -31,12 +32,24 @@ readonly CLR7='\\\e[1;36m'
 | 
			
		||||
readonly INST='\\\e[1;31m'
 | 
			
		||||
readonly BASE='\\\e[0m'
 | 
			
		||||
 | 
			
		||||
if [ -z "$1" ]; then
 | 
			
		||||
if [ "$1" = "--help" -o "$1" = "-h" ]; then
 | 
			
		||||
	echo "Usage: $progname <pattern>"
 | 
			
		||||
	echo "Ex:    $progname ^gnome"
 | 
			
		||||
	exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ "$1" = "--version" -o "$1" = "-v" ]; then
 | 
			
		||||
	echo "$progname version $version"
 | 
			
		||||
	echo "Copyright (C) 2006-2007 Dan McGee"
 | 
			
		||||
	exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if [ -z "$1" -o "${1:0:1}" = "-" ]; then
 | 
			
		||||
	echo "Usage: $progname <pattern>"
 | 
			
		||||
	echo "Ex:    $progname ^gnome"
 | 
			
		||||
	exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Make two temp files and send output of commands to these files
 | 
			
		||||
querydump=$(mktemp)
 | 
			
		||||
pacman -Qs $1 > $querydump
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										584
									
								
								depcomp
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										584
									
								
								depcomp
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,584 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# depcomp - compile a program generating dependencies as side-effects
 | 
			
		||||
 | 
			
		||||
scriptversion=2006-10-15.18
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
 | 
			
		||||
# Foundation, Inc.
 | 
			
		||||
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
# 02110-1301, USA.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
# configuration script generated by Autoconf, you may include it under
 | 
			
		||||
# the same distribution terms that you use for the rest of that program.
 | 
			
		||||
 | 
			
		||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
  '')
 | 
			
		||||
     echo "$0: No command.  Try \`$0 --help' for more information." 1>&2
 | 
			
		||||
     exit 1;
 | 
			
		||||
     ;;
 | 
			
		||||
  -h | --h*)
 | 
			
		||||
    cat <<\EOF
 | 
			
		||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
 | 
			
		||||
 | 
			
		||||
Run PROGRAMS ARGS to compile a file, generating dependencies
 | 
			
		||||
as side-effects.
 | 
			
		||||
 | 
			
		||||
Environment variables:
 | 
			
		||||
  depmode     Dependency tracking mode.
 | 
			
		||||
  source      Source file read by `PROGRAMS ARGS'.
 | 
			
		||||
  object      Object file output by `PROGRAMS ARGS'.
 | 
			
		||||
  DEPDIR      directory where to store dependencies.
 | 
			
		||||
  depfile     Dependency file to output.
 | 
			
		||||
  tmpdepfile  Temporary file to use when outputing dependencies.
 | 
			
		||||
  libtool     Whether libtool is used (yes/no).
 | 
			
		||||
 | 
			
		||||
Report bugs to <bug-automake@gnu.org>.
 | 
			
		||||
EOF
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
  -v | --v*)
 | 
			
		||||
    echo "depcomp $scriptversion"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
 | 
			
		||||
  echo "depcomp: Variables source, object and depmode must be set" 1>&2
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
 | 
			
		||||
depfile=${depfile-`echo "$object" |
 | 
			
		||||
  sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
 | 
			
		||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
 | 
			
		||||
 | 
			
		||||
rm -f "$tmpdepfile"
 | 
			
		||||
 | 
			
		||||
# Some modes work just like other modes, but use different flags.  We
 | 
			
		||||
# parameterize here, but still list the modes in the big case below,
 | 
			
		||||
# to make depend.m4 easier to write.  Note that we *cannot* use a case
 | 
			
		||||
# here, because this file can only contain one case statement.
 | 
			
		||||
if test "$depmode" = hp; then
 | 
			
		||||
  # HP compiler uses -M and no extra arg.
 | 
			
		||||
  gccflag=-M
 | 
			
		||||
  depmode=gcc
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test "$depmode" = dashXmstdout; then
 | 
			
		||||
   # This is just like dashmstdout with a different argument.
 | 
			
		||||
   dashmflag=-xM
 | 
			
		||||
   depmode=dashmstdout
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
case "$depmode" in
 | 
			
		||||
gcc3)
 | 
			
		||||
## gcc 3 implements dependency tracking that does exactly what
 | 
			
		||||
## we want.  Yay!  Note: for some reason libtool 1.4 doesn't like
 | 
			
		||||
## it if -MD -MP comes after the -MF stuff.  Hmm.
 | 
			
		||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
 | 
			
		||||
## the command line argument order; so add the flags where they
 | 
			
		||||
## appear in depend2.am.  Note that the slowdown incurred here
 | 
			
		||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $arg in
 | 
			
		||||
    -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
 | 
			
		||||
    *)  set fnord "$@" "$arg" ;;
 | 
			
		||||
    esac
 | 
			
		||||
    shift # fnord
 | 
			
		||||
    shift # $arg
 | 
			
		||||
  done
 | 
			
		||||
  "$@"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  mv "$tmpdepfile" "$depfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
gcc)
 | 
			
		||||
## There are various ways to get dependency output from gcc.  Here's
 | 
			
		||||
## why we pick this rather obscure method:
 | 
			
		||||
## - Don't want to use -MD because we'd like the dependencies to end
 | 
			
		||||
##   up in a subdir.  Having to rename by hand is ugly.
 | 
			
		||||
##   (We might end up doing this anyway to support other compilers.)
 | 
			
		||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
 | 
			
		||||
##   -MM, not -M (despite what the docs say).
 | 
			
		||||
## - Using -M directly means running the compiler twice (even worse
 | 
			
		||||
##   than renaming).
 | 
			
		||||
  if test -z "$gccflag"; then
 | 
			
		||||
    gccflag=-MD,
 | 
			
		||||
  fi
 | 
			
		||||
  "$@" -Wp,"$gccflag$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
 | 
			
		||||
## The second -e expression handles DOS-style file names with drive letters.
 | 
			
		||||
  sed -e 's/^[^:]*: / /' \
 | 
			
		||||
      -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
## This next piece of magic avoids the `deleted header file' problem.
 | 
			
		||||
## The problem is that when a header file which appears in a .P file
 | 
			
		||||
## is deleted, the dependency causes make to die (because there is
 | 
			
		||||
## typically no way to rebuild the header).  We avoid this by adding
 | 
			
		||||
## dummy dependencies for each header file.  Too bad gcc doesn't do
 | 
			
		||||
## this for us directly.
 | 
			
		||||
  tr ' ' '
 | 
			
		||||
' < "$tmpdepfile" |
 | 
			
		||||
## Some versions of gcc put a space before the `:'.  On the theory
 | 
			
		||||
## that the space means something, we add a space to the output as
 | 
			
		||||
## well.
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
hp)
 | 
			
		||||
  # This case exists only to let depend.m4 do its work.  It works by
 | 
			
		||||
  # looking at the text of this script.  This case will never be run,
 | 
			
		||||
  # since it is checked for above.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
sgi)
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    "$@" "-Wp,-MDupdate,$tmpdepfile"
 | 
			
		||||
  else
 | 
			
		||||
    "$@" -MDupdate "$tmpdepfile"
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
 | 
			
		||||
  if test -f "$tmpdepfile"; then  # yes, the sourcefile depend on other files
 | 
			
		||||
    echo "$object : \\" > "$depfile"
 | 
			
		||||
 | 
			
		||||
    # Clip off the initial element (the dependent).  Don't try to be
 | 
			
		||||
    # clever and replace this with sed code, as IRIX sed won't handle
 | 
			
		||||
    # lines with more than a fixed number of characters (4096 in
 | 
			
		||||
    # IRIX 6.2 sed, 8192 in IRIX 6.5).  We also remove comment lines;
 | 
			
		||||
    # the IRIX cc adds comments like `#:fec' to the end of the
 | 
			
		||||
    # dependency line.
 | 
			
		||||
    tr ' ' '
 | 
			
		||||
' < "$tmpdepfile" \
 | 
			
		||||
    | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
 | 
			
		||||
    tr '
 | 
			
		||||
' ' ' >> $depfile
 | 
			
		||||
    echo >> $depfile
 | 
			
		||||
 | 
			
		||||
    # The second pass generates a dummy entry for each header file.
 | 
			
		||||
    tr ' ' '
 | 
			
		||||
' < "$tmpdepfile" \
 | 
			
		||||
   | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
 | 
			
		||||
   >> $depfile
 | 
			
		||||
  else
 | 
			
		||||
    # The sourcefile does not contain any dependencies, so just
 | 
			
		||||
    # store a dummy comment line, to avoid errors with the Makefile
 | 
			
		||||
    # "include basename.Plo" scheme.
 | 
			
		||||
    echo "#dummy" > "$depfile"
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
aix)
 | 
			
		||||
  # The C for AIX Compiler uses -M and outputs the dependencies
 | 
			
		||||
  # in a .u file.  In older versions, this file always lives in the
 | 
			
		||||
  # current directory.  Also, the AIX compiler puts `$object:' at the
 | 
			
		||||
  # start of each line; $object doesn't have directory information.
 | 
			
		||||
  # Version 6 uses the directory in both cases.
 | 
			
		||||
  stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
 | 
			
		||||
  tmpdepfile="$stripped.u"
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    "$@" -Wc,-M
 | 
			
		||||
  else
 | 
			
		||||
    "$@" -M
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
 | 
			
		||||
  if test -f "$tmpdepfile"; then :
 | 
			
		||||
  else
 | 
			
		||||
    stripped=`echo "$stripped" | sed 's,^.*/,,'`
 | 
			
		||||
    tmpdepfile="$stripped.u"
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    outname="$stripped.o"
 | 
			
		||||
    # Each line is of the form `foo.o: dependent.h'.
 | 
			
		||||
    # Do two passes, one to just change these to
 | 
			
		||||
    # `$object: dependent.h' and one to simply `dependent.h:'.
 | 
			
		||||
    sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
    sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    # The sourcefile does not contain any dependencies, so just
 | 
			
		||||
    # store a dummy comment line, to avoid errors with the Makefile
 | 
			
		||||
    # "include basename.Plo" scheme.
 | 
			
		||||
    echo "#dummy" > "$depfile"
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
icc)
 | 
			
		||||
  # Intel's C compiler understands `-MD -MF file'.  However on
 | 
			
		||||
  #    icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
 | 
			
		||||
  # ICC 7.0 will fill foo.d with something like
 | 
			
		||||
  #    foo.o: sub/foo.c
 | 
			
		||||
  #    foo.o: sub/foo.h
 | 
			
		||||
  # which is wrong.  We want:
 | 
			
		||||
  #    sub/foo.o: sub/foo.c
 | 
			
		||||
  #    sub/foo.o: sub/foo.h
 | 
			
		||||
  #    sub/foo.c:
 | 
			
		||||
  #    sub/foo.h:
 | 
			
		||||
  # ICC 7.1 will output
 | 
			
		||||
  #    foo.o: sub/foo.c sub/foo.h
 | 
			
		||||
  # and will wrap long lines using \ :
 | 
			
		||||
  #    foo.o: sub/foo.c ... \
 | 
			
		||||
  #     sub/foo.h ... \
 | 
			
		||||
  #     ...
 | 
			
		||||
 | 
			
		||||
  "$@" -MD -MF "$tmpdepfile"
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
    rm -f "$tmpdepfile"
 | 
			
		||||
    exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  # Each line is of the form `foo.o: dependent.h',
 | 
			
		||||
  # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
 | 
			
		||||
  # Do two passes, one to just change these to
 | 
			
		||||
  # `$object: dependent.h' and one to simply `dependent.h:'.
 | 
			
		||||
  sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  # Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
  # correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
  sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
 | 
			
		||||
    sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
hp2)
 | 
			
		||||
  # The "hp" stanza above does not work with aCC (C++) and HP's ia64
 | 
			
		||||
  # compilers, which have integrated preprocessors.  The correct option
 | 
			
		||||
  # to use with these is +Maked; it writes dependencies to a file named
 | 
			
		||||
  # 'foo.d', which lands next to the object file, wherever that
 | 
			
		||||
  # happens to be.
 | 
			
		||||
  # Much of this is similar to the tru64 case; see comments there.
 | 
			
		||||
  dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
 | 
			
		||||
  test "x$dir" = "x$object" && dir=
 | 
			
		||||
  base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir.libs/$base.d
 | 
			
		||||
    "$@" -Wc,+Maked
 | 
			
		||||
  else
 | 
			
		||||
    tmpdepfile1=$dir$base.d
 | 
			
		||||
    tmpdepfile2=$dir$base.d
 | 
			
		||||
    "$@" +Maked
 | 
			
		||||
  fi
 | 
			
		||||
  stat=$?
 | 
			
		||||
  if test $stat -eq 0; then :
 | 
			
		||||
  else
 | 
			
		||||
     rm -f "$tmpdepfile1" "$tmpdepfile2"
 | 
			
		||||
     exit $stat
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
 | 
			
		||||
  do
 | 
			
		||||
    test -f "$tmpdepfile" && break
 | 
			
		||||
  done
 | 
			
		||||
  if test -f "$tmpdepfile"; then
 | 
			
		||||
    sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
 | 
			
		||||
    # Add `dependent.h:' lines.
 | 
			
		||||
    sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  else
 | 
			
		||||
    echo "#dummy" > "$depfile"
 | 
			
		||||
  fi
 | 
			
		||||
  rm -f "$tmpdepfile" "$tmpdepfile2"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
tru64)
 | 
			
		||||
   # The Tru64 compiler uses -MD to generate dependencies as a side
 | 
			
		||||
   # effect.  `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
 | 
			
		||||
   # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
 | 
			
		||||
   # dependencies in `foo.d' instead, so we check for that too.
 | 
			
		||||
   # Subdirectories are respected.
 | 
			
		||||
   dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
 | 
			
		||||
   test "x$dir" = "x$object" && dir=
 | 
			
		||||
   base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
 | 
			
		||||
 | 
			
		||||
   if test "$libtool" = yes; then
 | 
			
		||||
      # With Tru64 cc, shared objects can also be used to make a
 | 
			
		||||
      # static library.  This mechanism is used in libtool 1.4 series to
 | 
			
		||||
      # handle both shared and static libraries in a single compilation.
 | 
			
		||||
      # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
 | 
			
		||||
      #
 | 
			
		||||
      # With libtool 1.5 this exception was removed, and libtool now
 | 
			
		||||
      # generates 2 separate objects for the 2 libraries.  These two
 | 
			
		||||
      # compilations output dependencies in $dir.libs/$base.o.d and
 | 
			
		||||
      # in $dir$base.o.d.  We have to check for both files, because
 | 
			
		||||
      # one of the two compilations can be disabled.  We should prefer
 | 
			
		||||
      # $dir$base.o.d over $dir.libs/$base.o.d because the latter is
 | 
			
		||||
      # automatically cleaned when .libs/ is deleted, while ignoring
 | 
			
		||||
      # the former would cause a distcleancheck panic.
 | 
			
		||||
      tmpdepfile1=$dir.libs/$base.lo.d   # libtool 1.4
 | 
			
		||||
      tmpdepfile2=$dir$base.o.d          # libtool 1.5
 | 
			
		||||
      tmpdepfile3=$dir.libs/$base.o.d    # libtool 1.5
 | 
			
		||||
      tmpdepfile4=$dir.libs/$base.d      # Compaq CCC V6.2-504
 | 
			
		||||
      "$@" -Wc,-MD
 | 
			
		||||
   else
 | 
			
		||||
      tmpdepfile1=$dir$base.o.d
 | 
			
		||||
      tmpdepfile2=$dir$base.d
 | 
			
		||||
      tmpdepfile3=$dir$base.d
 | 
			
		||||
      tmpdepfile4=$dir$base.d
 | 
			
		||||
      "$@" -MD
 | 
			
		||||
   fi
 | 
			
		||||
 | 
			
		||||
   stat=$?
 | 
			
		||||
   if test $stat -eq 0; then :
 | 
			
		||||
   else
 | 
			
		||||
      rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
 | 
			
		||||
      exit $stat
 | 
			
		||||
   fi
 | 
			
		||||
 | 
			
		||||
   for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
 | 
			
		||||
   do
 | 
			
		||||
     test -f "$tmpdepfile" && break
 | 
			
		||||
   done
 | 
			
		||||
   if test -f "$tmpdepfile"; then
 | 
			
		||||
      sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
 | 
			
		||||
      # That's a tab and a space in the [].
 | 
			
		||||
      sed -e 's,^.*\.[a-z]*:[	 ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
   else
 | 
			
		||||
      echo "#dummy" > "$depfile"
 | 
			
		||||
   fi
 | 
			
		||||
   rm -f "$tmpdepfile"
 | 
			
		||||
   ;;
 | 
			
		||||
 | 
			
		||||
#nosideeffect)
 | 
			
		||||
  # This comment above is used by automake to tell side-effect
 | 
			
		||||
  # dependency tracking mechanisms from slower ones.
 | 
			
		||||
 | 
			
		||||
dashmstdout)
 | 
			
		||||
  # Important note: in order to support this mode, a compiler *must*
 | 
			
		||||
  # always write the preprocessed file to stdout, regardless of -o.
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
 | 
			
		||||
  # Remove the call to Libtool.
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test $1 != '--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Remove `-o $object'.
 | 
			
		||||
  IFS=" "
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $arg in
 | 
			
		||||
    -o)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    $object)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      set fnord "$@" "$arg"
 | 
			
		||||
      shift # fnord
 | 
			
		||||
      shift # $arg
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  test -z "$dashmflag" && dashmflag=-M
 | 
			
		||||
  # Require at least two characters before searching for `:'
 | 
			
		||||
  # in the target name.  This is to cope with DOS-style filenames:
 | 
			
		||||
  # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
 | 
			
		||||
  "$@" $dashmflag |
 | 
			
		||||
    sed 's:^[  ]*[^: ][^:][^:]*\:[    ]*:'"$object"'\: :' > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  tr ' ' '
 | 
			
		||||
' < "$tmpdepfile" | \
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
dashXmstdout)
 | 
			
		||||
  # This case only exists to satisfy depend.m4.  It is never actually
 | 
			
		||||
  # run, as this mode is specially recognized in the preamble.
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
makedepend)
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
  # Remove any Libtool call
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test $1 != '--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
  # X makedepend
 | 
			
		||||
  shift
 | 
			
		||||
  cleared=no
 | 
			
		||||
  for arg in "$@"; do
 | 
			
		||||
    case $cleared in
 | 
			
		||||
    no)
 | 
			
		||||
      set ""; shift
 | 
			
		||||
      cleared=yes ;;
 | 
			
		||||
    esac
 | 
			
		||||
    case "$arg" in
 | 
			
		||||
    -D*|-I*)
 | 
			
		||||
      set fnord "$@" "$arg"; shift ;;
 | 
			
		||||
    # Strip any option that makedepend may not understand.  Remove
 | 
			
		||||
    # the object too, otherwise makedepend will parse it as a source file.
 | 
			
		||||
    -*|$object)
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      set fnord "$@" "$arg"; shift ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
  obj_suffix="`echo $object | sed 's/^.*\././'`"
 | 
			
		||||
  touch "$tmpdepfile"
 | 
			
		||||
  ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" > "$depfile"
 | 
			
		||||
  sed '1,2d' "$tmpdepfile" | tr ' ' '
 | 
			
		||||
' | \
 | 
			
		||||
## Some versions of the HPUX 10.20 sed can't process this invocation
 | 
			
		||||
## correctly.  Breaking it into two sed invocations is a workaround.
 | 
			
		||||
    sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile" "$tmpdepfile".bak
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
cpp)
 | 
			
		||||
  # Important note: in order to support this mode, a compiler *must*
 | 
			
		||||
  # always write the preprocessed file to stdout.
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
 | 
			
		||||
  # Remove the call to Libtool.
 | 
			
		||||
  if test "$libtool" = yes; then
 | 
			
		||||
    while test $1 != '--mode=compile'; do
 | 
			
		||||
      shift
 | 
			
		||||
    done
 | 
			
		||||
    shift
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  # Remove `-o $object'.
 | 
			
		||||
  IFS=" "
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case $arg in
 | 
			
		||||
    -o)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    $object)
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    *)
 | 
			
		||||
      set fnord "$@" "$arg"
 | 
			
		||||
      shift # fnord
 | 
			
		||||
      shift # $arg
 | 
			
		||||
      ;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
 | 
			
		||||
  "$@" -E |
 | 
			
		||||
    sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
 | 
			
		||||
       -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
 | 
			
		||||
    sed '$ s: \\$::' > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  cat < "$tmpdepfile" >> "$depfile"
 | 
			
		||||
  sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
msvisualcpp)
 | 
			
		||||
  # Important note: in order to support this mode, a compiler *must*
 | 
			
		||||
  # always write the preprocessed file to stdout, regardless of -o,
 | 
			
		||||
  # because we must use -o when running libtool.
 | 
			
		||||
  "$@" || exit $?
 | 
			
		||||
  IFS=" "
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    case "$arg" in
 | 
			
		||||
    "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
 | 
			
		||||
	set fnord "$@"
 | 
			
		||||
	shift
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
    *)
 | 
			
		||||
	set fnord "$@" "$arg"
 | 
			
		||||
	shift
 | 
			
		||||
	shift
 | 
			
		||||
	;;
 | 
			
		||||
    esac
 | 
			
		||||
  done
 | 
			
		||||
  "$@" -E |
 | 
			
		||||
  sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
 | 
			
		||||
  rm -f "$depfile"
 | 
			
		||||
  echo "$object : \\" > "$depfile"
 | 
			
		||||
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::	\1 \\:p' >> "$depfile"
 | 
			
		||||
  echo "	" >> "$depfile"
 | 
			
		||||
  . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
 | 
			
		||||
  rm -f "$tmpdepfile"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
none)
 | 
			
		||||
  exec "$@"
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
*)
 | 
			
		||||
  echo "Unknown depmode $depmode" 1>&2
 | 
			
		||||
  exit 1
 | 
			
		||||
  ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
# Local Variables:
 | 
			
		||||
# mode: shell-script
 | 
			
		||||
# sh-indentation: 2
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-end: "$"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										21
									
								
								doc/pacman.8
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								doc/pacman.8
									
									
									
									
									
								
							@@ -68,6 +68,10 @@ general syntax is shown.
 | 
			
		||||
 | 
			
		||||
.SH OPTIONS
 | 
			
		||||
.TP
 | 
			
		||||
.B \-b, --dbpath \fIpath\fP
 | 
			
		||||
Specify an alternative database location (default is "/var/lib/pacman/"). This
 | 
			
		||||
should not be used unless you know what you are doing.
 | 
			
		||||
.TP
 | 
			
		||||
.B \-d, --nodeps
 | 
			
		||||
Skips all dependency checks. Normally, pacman will always check a package's
 | 
			
		||||
dependency fields to ensure that all dependencies are installed and there are
 | 
			
		||||
@@ -80,16 +84,21 @@ option will cause all those files to be overwritten.  This option should be
 | 
			
		||||
used with care, ideally not at all.
 | 
			
		||||
.TP
 | 
			
		||||
.B \-r, --root \fIpath\fP
 | 
			
		||||
Specify an alternative installation root (default is "/"). However, this should
 | 
			
		||||
\fInot\fP be used as a way to install software into /usr/local instead of /usr,
 | 
			
		||||
for example. This option should be used if you want to install a package on a
 | 
			
		||||
temporary mounted partition, which is "owned" by another system. By using this
 | 
			
		||||
option you not only specify where the software should be installed, but you
 | 
			
		||||
also specify which package database to use.
 | 
			
		||||
Specify an alternative installation root (default is "/"). This should
 | 
			
		||||
\fInot\fP be used as a way to install software into /usr/local instead of /usr.
 | 
			
		||||
This option is used if you want to install a package on a temporary mounted
 | 
			
		||||
partition which is "owned" by another system. By using this option you not only
 | 
			
		||||
specify where the software should be installed, but you also specify which
 | 
			
		||||
package database and cache location to use.
 | 
			
		||||
.TP
 | 
			
		||||
.B \-v, --verbose
 | 
			
		||||
Output more status messages, such as the Root and DBPath.
 | 
			
		||||
.TP
 | 
			
		||||
.B \--cachedir \fIdir\fP
 | 
			
		||||
Specify an alternative package cache location (default is
 | 
			
		||||
"/var/cache/pacman/pkg/"). This should not be used unless you know what you are
 | 
			
		||||
doing.
 | 
			
		||||
.TP
 | 
			
		||||
.B \--config \fIfilepath\fP
 | 
			
		||||
Specify an alternate configuration file.
 | 
			
		||||
.TP
 | 
			
		||||
 
 | 
			
		||||
@@ -58,7 +58,7 @@ BUILDENV=(fakeroot !distcc color !ccache)
 | 
			
		||||
OPTIONS=(strip !docs libtool emptydirs)
 | 
			
		||||
 | 
			
		||||
#-- File integrity checks to use. Valid: md5, sha1, sha256, sha384, sha512
 | 
			
		||||
INTEGRITY_CHECK=(md5 sha1)
 | 
			
		||||
INTEGRITY_CHECK=(md5)
 | 
			
		||||
#-- Info and doc directories to remove (if option set correctly above)
 | 
			
		||||
DOC_DIRS=(usr/{,share/}{info,doc} opt/gnome/{,share/}{info,doc,gtk-doc})
 | 
			
		||||
 | 
			
		||||
@@ -66,10 +66,12 @@ DOC_DIRS=(usr/{,share/}{info,doc} opt/gnome/{,share/}{info,doc,gtk-doc})
 | 
			
		||||
# PACKAGE OUTPUT
 | 
			
		||||
#########################################################################
 | 
			
		||||
#
 | 
			
		||||
# Default: put built package and cached source in build directory
 | 
			
		||||
#
 | 
			
		||||
#-- Destination: specify a fixed directory where all packages will be placed
 | 
			
		||||
#PKGDEST=/home/packages
 | 
			
		||||
#-- Source cache: specify a fixed directory where source files will be cached
 | 
			
		||||
#SRCDEST=/var/cache/pacman/src
 | 
			
		||||
#SRCDEST=/home/sources
 | 
			
		||||
#-- Packager: name/email of the person or organization building packages
 | 
			
		||||
#PACKAGER="John Doe <john@doe.com>"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@ Server = ftp://ftp.nethat.com/pub/linux/archlinux/@@REPO@@/os/@CARCH@
 | 
			
		||||
Server = ftp://ftp-linux.cc.gatech.edu/pub/linux/distributions/archlinux/@@REPO@@/os/@CARCH@
 | 
			
		||||
Server = ftp://mirror.cs.vt.edu/pub/ArchLinux/@@REPO@@/os/@CARCH@
 | 
			
		||||
Server = ftp://ftp.ibiblio.org/pub/linux/distributions/archlinux/@@REPO@@/os/@CARCH@
 | 
			
		||||
Server = http://www2.cddc.vt.edu/linux/distributions/archlinux/@@REPO@@/os/@CARCH@
 | 
			
		||||
 | 
			
		||||
# Europe
 | 
			
		||||
# - Austria
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										507
									
								
								install-sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										507
									
								
								install-sh
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,507 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
# install - install a program, script, or datafile
 | 
			
		||||
 | 
			
		||||
scriptversion=2006-10-14.15
 | 
			
		||||
 | 
			
		||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
 | 
			
		||||
# later released in X11R6 (xc/config/util/install.sh) with the
 | 
			
		||||
# following copyright and license.
 | 
			
		||||
#
 | 
			
		||||
# Copyright (C) 1994 X Consortium
 | 
			
		||||
#
 | 
			
		||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
			
		||||
# of this software and associated documentation files (the "Software"), to
 | 
			
		||||
# deal in the Software without restriction, including without limitation the
 | 
			
		||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 | 
			
		||||
# sell copies of the Software, and to permit persons to whom the Software is
 | 
			
		||||
# furnished to do so, subject to the following conditions:
 | 
			
		||||
#
 | 
			
		||||
# The above copyright notice and this permission notice shall be included in
 | 
			
		||||
# all copies or substantial portions of the Software.
 | 
			
		||||
#
 | 
			
		||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
			
		||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
			
		||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | 
			
		||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 | 
			
		||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
 | 
			
		||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | 
			
		||||
#
 | 
			
		||||
# Except as contained in this notice, the name of the X Consortium shall not
 | 
			
		||||
# be used in advertising or otherwise to promote the sale, use or other deal-
 | 
			
		||||
# ings in this Software without prior written authorization from the X Consor-
 | 
			
		||||
# tium.
 | 
			
		||||
#
 | 
			
		||||
#
 | 
			
		||||
# FSF changes to this file are in the public domain.
 | 
			
		||||
#
 | 
			
		||||
# Calling this script install-sh is preferred over install.sh, to prevent
 | 
			
		||||
# `make' implicit rules from creating a file called install from it
 | 
			
		||||
# when there is no Makefile.
 | 
			
		||||
#
 | 
			
		||||
# This script is compatible with the BSD install script, but was written
 | 
			
		||||
# from scratch.
 | 
			
		||||
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
IFS=" ""	$nl"
 | 
			
		||||
 | 
			
		||||
# set DOITPROG to echo to test this script
 | 
			
		||||
 | 
			
		||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
 | 
			
		||||
doit="${DOITPROG-}"
 | 
			
		||||
if test -z "$doit"; then
 | 
			
		||||
  doit_exec=exec
 | 
			
		||||
else
 | 
			
		||||
  doit_exec=$doit
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
# Put in absolute file names if you don't have them in your path;
 | 
			
		||||
# or use environment vars.
 | 
			
		||||
 | 
			
		||||
mvprog="${MVPROG-mv}"
 | 
			
		||||
cpprog="${CPPROG-cp}"
 | 
			
		||||
chmodprog="${CHMODPROG-chmod}"
 | 
			
		||||
chownprog="${CHOWNPROG-chown}"
 | 
			
		||||
chgrpprog="${CHGRPPROG-chgrp}"
 | 
			
		||||
stripprog="${STRIPPROG-strip}"
 | 
			
		||||
rmprog="${RMPROG-rm}"
 | 
			
		||||
mkdirprog="${MKDIRPROG-mkdir}"
 | 
			
		||||
 | 
			
		||||
posix_glob=
 | 
			
		||||
posix_mkdir=
 | 
			
		||||
 | 
			
		||||
# Desired mode of installed file.
 | 
			
		||||
mode=0755
 | 
			
		||||
 | 
			
		||||
chmodcmd=$chmodprog
 | 
			
		||||
chowncmd=
 | 
			
		||||
chgrpcmd=
 | 
			
		||||
stripcmd=
 | 
			
		||||
rmcmd="$rmprog -f"
 | 
			
		||||
mvcmd="$mvprog"
 | 
			
		||||
src=
 | 
			
		||||
dst=
 | 
			
		||||
dir_arg=
 | 
			
		||||
dstarg=
 | 
			
		||||
no_target_directory=
 | 
			
		||||
 | 
			
		||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
 | 
			
		||||
   or: $0 [OPTION]... SRCFILES... DIRECTORY
 | 
			
		||||
   or: $0 [OPTION]... -t DIRECTORY SRCFILES...
 | 
			
		||||
   or: $0 [OPTION]... -d DIRECTORIES...
 | 
			
		||||
 | 
			
		||||
In the 1st form, copy SRCFILE to DSTFILE.
 | 
			
		||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
 | 
			
		||||
In the 4th, create DIRECTORIES.
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
-c         (ignored)
 | 
			
		||||
-d         create directories instead of installing files.
 | 
			
		||||
-g GROUP   $chgrpprog installed files to GROUP.
 | 
			
		||||
-m MODE    $chmodprog installed files to MODE.
 | 
			
		||||
-o USER    $chownprog installed files to USER.
 | 
			
		||||
-s         $stripprog installed files.
 | 
			
		||||
-t DIRECTORY  install into DIRECTORY.
 | 
			
		||||
-T         report an error if DSTFILE is a directory.
 | 
			
		||||
--help     display this help and exit.
 | 
			
		||||
--version  display version info and exit.
 | 
			
		||||
 | 
			
		||||
Environment variables override the default commands:
 | 
			
		||||
  CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
 | 
			
		||||
"
 | 
			
		||||
 | 
			
		||||
while test $# -ne 0; do
 | 
			
		||||
  case $1 in
 | 
			
		||||
    -c) shift
 | 
			
		||||
        continue;;
 | 
			
		||||
 | 
			
		||||
    -d) dir_arg=true
 | 
			
		||||
        shift
 | 
			
		||||
        continue;;
 | 
			
		||||
 | 
			
		||||
    -g) chgrpcmd="$chgrpprog $2"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        continue;;
 | 
			
		||||
 | 
			
		||||
    --help) echo "$usage"; exit $?;;
 | 
			
		||||
 | 
			
		||||
    -m) mode=$2
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
	case $mode in
 | 
			
		||||
	  *' '* | *'	'* | *'
 | 
			
		||||
'*	  | *'*'* | *'?'* | *'['*)
 | 
			
		||||
	    echo "$0: invalid mode: $mode" >&2
 | 
			
		||||
	    exit 1;;
 | 
			
		||||
	esac
 | 
			
		||||
        continue;;
 | 
			
		||||
 | 
			
		||||
    -o) chowncmd="$chownprog $2"
 | 
			
		||||
        shift
 | 
			
		||||
        shift
 | 
			
		||||
        continue;;
 | 
			
		||||
 | 
			
		||||
    -s) stripcmd=$stripprog
 | 
			
		||||
        shift
 | 
			
		||||
        continue;;
 | 
			
		||||
 | 
			
		||||
    -t) dstarg=$2
 | 
			
		||||
	shift
 | 
			
		||||
	shift
 | 
			
		||||
	continue;;
 | 
			
		||||
 | 
			
		||||
    -T) no_target_directory=true
 | 
			
		||||
	shift
 | 
			
		||||
	continue;;
 | 
			
		||||
 | 
			
		||||
    --version) echo "$0 $scriptversion"; exit $?;;
 | 
			
		||||
 | 
			
		||||
    --)	shift
 | 
			
		||||
	break;;
 | 
			
		||||
 | 
			
		||||
    -*)	echo "$0: invalid option: $1" >&2
 | 
			
		||||
	exit 1;;
 | 
			
		||||
 | 
			
		||||
    *)  break;;
 | 
			
		||||
  esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
 | 
			
		||||
  # When -d is used, all remaining arguments are directories to create.
 | 
			
		||||
  # When -t is used, the destination is already specified.
 | 
			
		||||
  # Otherwise, the last argument is the destination.  Remove it from $@.
 | 
			
		||||
  for arg
 | 
			
		||||
  do
 | 
			
		||||
    if test -n "$dstarg"; then
 | 
			
		||||
      # $@ is not empty: it contains at least $arg.
 | 
			
		||||
      set fnord "$@" "$dstarg"
 | 
			
		||||
      shift # fnord
 | 
			
		||||
    fi
 | 
			
		||||
    shift # arg
 | 
			
		||||
    dstarg=$arg
 | 
			
		||||
  done
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test $# -eq 0; then
 | 
			
		||||
  if test -z "$dir_arg"; then
 | 
			
		||||
    echo "$0: no input file specified." >&2
 | 
			
		||||
    exit 1
 | 
			
		||||
  fi
 | 
			
		||||
  # It's OK to call `install-sh -d' without argument.
 | 
			
		||||
  # This can happen when creating conditional directories.
 | 
			
		||||
  exit 0
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if test -z "$dir_arg"; then
 | 
			
		||||
  trap '(exit $?); exit' 1 2 13 15
 | 
			
		||||
 | 
			
		||||
  # Set umask so as not to create temps with too-generous modes.
 | 
			
		||||
  # However, 'strip' requires both read and write access to temps.
 | 
			
		||||
  case $mode in
 | 
			
		||||
    # Optimize common cases.
 | 
			
		||||
    *644) cp_umask=133;;
 | 
			
		||||
    *755) cp_umask=22;;
 | 
			
		||||
 | 
			
		||||
    *[0-7])
 | 
			
		||||
      if test -z "$stripcmd"; then
 | 
			
		||||
	u_plus_rw=
 | 
			
		||||
      else
 | 
			
		||||
	u_plus_rw='% 200'
 | 
			
		||||
      fi
 | 
			
		||||
      cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
 | 
			
		||||
    *)
 | 
			
		||||
      if test -z "$stripcmd"; then
 | 
			
		||||
	u_plus_rw=
 | 
			
		||||
      else
 | 
			
		||||
	u_plus_rw=,u+rw
 | 
			
		||||
      fi
 | 
			
		||||
      cp_umask=$mode$u_plus_rw;;
 | 
			
		||||
  esac
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
for src
 | 
			
		||||
do
 | 
			
		||||
  # Protect names starting with `-'.
 | 
			
		||||
  case $src in
 | 
			
		||||
    -*) src=./$src ;;
 | 
			
		||||
  esac
 | 
			
		||||
 | 
			
		||||
  if test -n "$dir_arg"; then
 | 
			
		||||
    dst=$src
 | 
			
		||||
    dstdir=$dst
 | 
			
		||||
    test -d "$dstdir"
 | 
			
		||||
    dstdir_status=$?
 | 
			
		||||
  else
 | 
			
		||||
 | 
			
		||||
    # Waiting for this to be detected by the "$cpprog $src $dsttmp" command
 | 
			
		||||
    # might cause directories to be created, which would be especially bad
 | 
			
		||||
    # if $src (and thus $dsttmp) contains '*'.
 | 
			
		||||
    if test ! -f "$src" && test ! -d "$src"; then
 | 
			
		||||
      echo "$0: $src does not exist." >&2
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    if test -z "$dstarg"; then
 | 
			
		||||
      echo "$0: no destination specified." >&2
 | 
			
		||||
      exit 1
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    dst=$dstarg
 | 
			
		||||
    # Protect names starting with `-'.
 | 
			
		||||
    case $dst in
 | 
			
		||||
      -*) dst=./$dst ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    # If destination is a directory, append the input filename; won't work
 | 
			
		||||
    # if double slashes aren't ignored.
 | 
			
		||||
    if test -d "$dst"; then
 | 
			
		||||
      if test -n "$no_target_directory"; then
 | 
			
		||||
	echo "$0: $dstarg: Is a directory" >&2
 | 
			
		||||
	exit 1
 | 
			
		||||
      fi
 | 
			
		||||
      dstdir=$dst
 | 
			
		||||
      dst=$dstdir/`basename "$src"`
 | 
			
		||||
      dstdir_status=0
 | 
			
		||||
    else
 | 
			
		||||
      # Prefer dirname, but fall back on a substitute if dirname fails.
 | 
			
		||||
      dstdir=`
 | 
			
		||||
	(dirname "$dst") 2>/dev/null ||
 | 
			
		||||
	expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
 | 
			
		||||
	     X"$dst" : 'X\(//\)[^/]' \| \
 | 
			
		||||
	     X"$dst" : 'X\(//\)$' \| \
 | 
			
		||||
	     X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
 | 
			
		||||
	echo X"$dst" |
 | 
			
		||||
	    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\/\)[^/].*/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\/\)$/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 /^X\(\/\).*/{
 | 
			
		||||
		   s//\1/
 | 
			
		||||
		   q
 | 
			
		||||
		 }
 | 
			
		||||
		 s/.*/./; q'
 | 
			
		||||
      `
 | 
			
		||||
 | 
			
		||||
      test -d "$dstdir"
 | 
			
		||||
      dstdir_status=$?
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  obsolete_mkdir_used=false
 | 
			
		||||
 | 
			
		||||
  if test $dstdir_status != 0; then
 | 
			
		||||
    case $posix_mkdir in
 | 
			
		||||
      '')
 | 
			
		||||
	# Create intermediate dirs using mode 755 as modified by the umask.
 | 
			
		||||
	# This is like FreeBSD 'install' as of 1997-10-28.
 | 
			
		||||
	umask=`umask`
 | 
			
		||||
	case $stripcmd.$umask in
 | 
			
		||||
	  # Optimize common cases.
 | 
			
		||||
	  *[2367][2367]) mkdir_umask=$umask;;
 | 
			
		||||
	  .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
 | 
			
		||||
 | 
			
		||||
	  *[0-7])
 | 
			
		||||
	    mkdir_umask=`expr $umask + 22 \
 | 
			
		||||
	      - $umask % 100 % 40 + $umask % 20 \
 | 
			
		||||
	      - $umask % 10 % 4 + $umask % 2
 | 
			
		||||
	    `;;
 | 
			
		||||
	  *) mkdir_umask=$umask,go-w;;
 | 
			
		||||
	esac
 | 
			
		||||
 | 
			
		||||
	# With -d, create the new directory with the user-specified mode.
 | 
			
		||||
	# Otherwise, rely on $mkdir_umask.
 | 
			
		||||
	if test -n "$dir_arg"; then
 | 
			
		||||
	  mkdir_mode=-m$mode
 | 
			
		||||
	else
 | 
			
		||||
	  mkdir_mode=
 | 
			
		||||
	fi
 | 
			
		||||
 | 
			
		||||
	posix_mkdir=false
 | 
			
		||||
	case $umask in
 | 
			
		||||
	  *[123567][0-7][0-7])
 | 
			
		||||
	    # POSIX mkdir -p sets u+wx bits regardless of umask, which
 | 
			
		||||
	    # is incompatible with FreeBSD 'install' when (umask & 300) != 0.
 | 
			
		||||
	    ;;
 | 
			
		||||
	  *)
 | 
			
		||||
	    tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
 | 
			
		||||
	    trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
 | 
			
		||||
 | 
			
		||||
	    if (umask $mkdir_umask &&
 | 
			
		||||
		exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
 | 
			
		||||
	    then
 | 
			
		||||
	      if test -z "$dir_arg" || {
 | 
			
		||||
		   # Check for POSIX incompatibilities with -m.
 | 
			
		||||
		   # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
 | 
			
		||||
		   # other-writeable bit of parent directory when it shouldn't.
 | 
			
		||||
		   # FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
 | 
			
		||||
		   ls_ld_tmpdir=`ls -ld "$tmpdir"`
 | 
			
		||||
		   case $ls_ld_tmpdir in
 | 
			
		||||
		     d????-?r-*) different_mode=700;;
 | 
			
		||||
		     d????-?--*) different_mode=755;;
 | 
			
		||||
		     *) false;;
 | 
			
		||||
		   esac &&
 | 
			
		||||
		   $mkdirprog -m$different_mode -p -- "$tmpdir" && {
 | 
			
		||||
		     ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
 | 
			
		||||
		     test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
 | 
			
		||||
		   }
 | 
			
		||||
		 }
 | 
			
		||||
	      then posix_mkdir=:
 | 
			
		||||
	      fi
 | 
			
		||||
	      rmdir "$tmpdir/d" "$tmpdir"
 | 
			
		||||
	    else
 | 
			
		||||
	      # Remove any dirs left behind by ancient mkdir implementations.
 | 
			
		||||
	      rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
 | 
			
		||||
	    fi
 | 
			
		||||
	    trap '' 0;;
 | 
			
		||||
	esac;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    if
 | 
			
		||||
      $posix_mkdir && (
 | 
			
		||||
	umask $mkdir_umask &&
 | 
			
		||||
	$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
 | 
			
		||||
      )
 | 
			
		||||
    then :
 | 
			
		||||
    else
 | 
			
		||||
 | 
			
		||||
      # The umask is ridiculous, or mkdir does not conform to POSIX,
 | 
			
		||||
      # or it failed possibly due to a race condition.  Create the
 | 
			
		||||
      # directory the slow way, step by step, checking for races as we go.
 | 
			
		||||
 | 
			
		||||
      case $dstdir in
 | 
			
		||||
	/*) prefix=/ ;;
 | 
			
		||||
	-*) prefix=./ ;;
 | 
			
		||||
	*)  prefix= ;;
 | 
			
		||||
      esac
 | 
			
		||||
 | 
			
		||||
      case $posix_glob in
 | 
			
		||||
        '')
 | 
			
		||||
	  if (set -f) 2>/dev/null; then
 | 
			
		||||
	    posix_glob=true
 | 
			
		||||
	  else
 | 
			
		||||
	    posix_glob=false
 | 
			
		||||
	  fi ;;
 | 
			
		||||
      esac
 | 
			
		||||
 | 
			
		||||
      oIFS=$IFS
 | 
			
		||||
      IFS=/
 | 
			
		||||
      $posix_glob && set -f
 | 
			
		||||
      set fnord $dstdir
 | 
			
		||||
      shift
 | 
			
		||||
      $posix_glob && set +f
 | 
			
		||||
      IFS=$oIFS
 | 
			
		||||
 | 
			
		||||
      prefixes=
 | 
			
		||||
 | 
			
		||||
      for d
 | 
			
		||||
      do
 | 
			
		||||
	test -z "$d" && continue
 | 
			
		||||
 | 
			
		||||
	prefix=$prefix$d
 | 
			
		||||
	if test -d "$prefix"; then
 | 
			
		||||
	  prefixes=
 | 
			
		||||
	else
 | 
			
		||||
	  if $posix_mkdir; then
 | 
			
		||||
	    (umask=$mkdir_umask &&
 | 
			
		||||
	     $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
 | 
			
		||||
	    # Don't fail if two instances are running concurrently.
 | 
			
		||||
	    test -d "$prefix" || exit 1
 | 
			
		||||
	  else
 | 
			
		||||
	    case $prefix in
 | 
			
		||||
	      *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
 | 
			
		||||
	      *) qprefix=$prefix;;
 | 
			
		||||
	    esac
 | 
			
		||||
	    prefixes="$prefixes '$qprefix'"
 | 
			
		||||
	  fi
 | 
			
		||||
	fi
 | 
			
		||||
	prefix=$prefix/
 | 
			
		||||
      done
 | 
			
		||||
 | 
			
		||||
      if test -n "$prefixes"; then
 | 
			
		||||
	# Don't fail if two instances are running concurrently.
 | 
			
		||||
	(umask $mkdir_umask &&
 | 
			
		||||
	 eval "\$doit_exec \$mkdirprog $prefixes") ||
 | 
			
		||||
	  test -d "$dstdir" || exit 1
 | 
			
		||||
	obsolete_mkdir_used=true
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
  fi
 | 
			
		||||
 | 
			
		||||
  if test -n "$dir_arg"; then
 | 
			
		||||
    { test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
 | 
			
		||||
    { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
 | 
			
		||||
    { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
 | 
			
		||||
      test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
 | 
			
		||||
  else
 | 
			
		||||
 | 
			
		||||
    # Make a couple of temp file names in the proper directory.
 | 
			
		||||
    dsttmp=$dstdir/_inst.$$_
 | 
			
		||||
    rmtmp=$dstdir/_rm.$$_
 | 
			
		||||
 | 
			
		||||
    # Trap to clean up those temp files at exit.
 | 
			
		||||
    trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
 | 
			
		||||
 | 
			
		||||
    # Copy the file name to the temp name.
 | 
			
		||||
    (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
 | 
			
		||||
 | 
			
		||||
    # and set any options; do chmod last to preserve setuid bits.
 | 
			
		||||
    #
 | 
			
		||||
    # If any of these fail, we abort the whole thing.  If we want to
 | 
			
		||||
    # ignore errors from any of these, just make sure not to ignore
 | 
			
		||||
    # errors from the above "$doit $cpprog $src $dsttmp" command.
 | 
			
		||||
    #
 | 
			
		||||
    { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
 | 
			
		||||
      && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
 | 
			
		||||
      && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
 | 
			
		||||
      && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
 | 
			
		||||
 | 
			
		||||
    # Now rename the file to the real destination.
 | 
			
		||||
    { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
 | 
			
		||||
      || {
 | 
			
		||||
	   # The rename failed, perhaps because mv can't rename something else
 | 
			
		||||
	   # to itself, or perhaps because mv is so ancient that it does not
 | 
			
		||||
	   # support -f.
 | 
			
		||||
 | 
			
		||||
	   # Now remove or move aside any old file at destination location.
 | 
			
		||||
	   # We try this two ways since rm can't unlink itself on some
 | 
			
		||||
	   # systems and the destination file might be busy for other
 | 
			
		||||
	   # reasons.  In this case, the final cleanup might fail but the new
 | 
			
		||||
	   # file should still install successfully.
 | 
			
		||||
	   {
 | 
			
		||||
	     if test -f "$dst"; then
 | 
			
		||||
	       $doit $rmcmd -f "$dst" 2>/dev/null \
 | 
			
		||||
	       || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
 | 
			
		||||
		     && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
 | 
			
		||||
	       || {
 | 
			
		||||
		 echo "$0: cannot unlink or rename $dst" >&2
 | 
			
		||||
		 (exit 1); exit 1
 | 
			
		||||
	       }
 | 
			
		||||
	     else
 | 
			
		||||
	       :
 | 
			
		||||
	     fi
 | 
			
		||||
	   } &&
 | 
			
		||||
 | 
			
		||||
	   # Now rename the file to the real destination.
 | 
			
		||||
	   $doit $mvcmd "$dsttmp" "$dst"
 | 
			
		||||
	 }
 | 
			
		||||
    } || exit 1
 | 
			
		||||
 | 
			
		||||
    trap '' 0
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
# Local variables:
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-end: "$"
 | 
			
		||||
# End:
 | 
			
		||||
@@ -8,7 +8,7 @@ include_HEADERS = alpm_list.h alpm.h
 | 
			
		||||
localedir = $(datadir)/locale
 | 
			
		||||
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
 | 
			
		||||
 | 
			
		||||
AM_CFLAGS = -pedantic -D_GNU_SOURCE $(CFLAGS)
 | 
			
		||||
AM_CFLAGS = -fvisibility=hidden -pedantic -D_GNU_SOURCE
 | 
			
		||||
 | 
			
		||||
EXTRA_DIST = Doxyfile
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -31,6 +31,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
@@ -38,7 +39,9 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "add.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
@@ -54,11 +57,10 @@
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
#include "conflict.h"
 | 
			
		||||
#include "deps.h"
 | 
			
		||||
#include "add.h"
 | 
			
		||||
#include "remove.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
 | 
			
		||||
int SYMHIDDEN _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
 | 
			
		||||
int _alpm_add_loadtarget(pmtrans_t *trans, pmdb_t *db, char *name)
 | 
			
		||||
{
 | 
			
		||||
	pmpkg_t *info = NULL;
 | 
			
		||||
	pmpkg_t *dummy;
 | 
			
		||||
@@ -619,7 +621,7 @@ int _alpm_add_commit(pmtrans_t *trans, pmdb_t *db)
 | 
			
		||||
									errors++;
 | 
			
		||||
								} else {
 | 
			
		||||
									archive_entry_set_pathname(entry, filename);
 | 
			
		||||
									_alpm_log(PM_LOG_WARNING, _("%s saved as %s.pacorig"), filename, newpath);
 | 
			
		||||
									_alpm_log(PM_LOG_WARNING, _("%s saved as %s"), filename, newpath);
 | 
			
		||||
									alpm_logaction(_("warning: %s saved as %s"), filename, newpath);
 | 
			
		||||
								}
 | 
			
		||||
							}
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
@@ -36,13 +38,15 @@
 | 
			
		||||
#include <limits.h> /* PATH_MAX */
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "versioncmp.h"
 | 
			
		||||
#include "md5.h"
 | 
			
		||||
#include "sha1.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "group.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
@@ -57,7 +61,6 @@
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
#include "server.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
#define min(X, Y)  ((X) < (Y) ? (X) : (Y))
 | 
			
		||||
 | 
			
		||||
@@ -631,7 +634,7 @@ alpm_list_t SYMEXPORT *alpm_db_search(pmdb_t *db, alpm_list_t* needles)
 | 
			
		||||
 * @param progress progress callback function pointer
 | 
			
		||||
 * @return 0 on success, -1 on error (pm_errno is set accordingly)
 | 
			
		||||
 */
 | 
			
		||||
int SYMEXPORT alpm_trans_init(pmtranstype_t type, unsigned int flags,
 | 
			
		||||
int SYMEXPORT alpm_trans_init(pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
                    alpm_trans_cb_event event, alpm_trans_cb_conv conv,
 | 
			
		||||
                    alpm_trans_cb_progress progress)
 | 
			
		||||
{
 | 
			
		||||
@@ -1068,7 +1071,7 @@ int SYMEXPORT alpm_parse_config(char *file, alpm_cb_db_register callback, const
 | 
			
		||||
/* This function is mostly the same as sync.c find_replacements and sysupgrade
 | 
			
		||||
 * functions, and we should be able to combine them - this is an interim
 | 
			
		||||
 * solution made for -Qu operation */
 | 
			
		||||
alpm_list_t *alpm_get_upgrades()
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_get_upgrades()
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *syncpkgs = NULL;
 | 
			
		||||
	alpm_list_t *i, *j, *k, *m;
 | 
			
		||||
 
 | 
			
		||||
@@ -349,7 +349,7 @@ pmtranstype_t alpm_trans_get_type();
 | 
			
		||||
unsigned int alpm_trans_get_flags();
 | 
			
		||||
alpm_list_t * alpm_trans_get_targets();
 | 
			
		||||
alpm_list_t * alpm_trans_get_pkgs();
 | 
			
		||||
int alpm_trans_init(pmtranstype_t type, unsigned int flags,
 | 
			
		||||
int alpm_trans_init(pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
                    alpm_trans_cb_event cb_event, alpm_trans_cb_conv conv,
 | 
			
		||||
                    alpm_trans_cb_progress cb_progress);
 | 
			
		||||
int alpm_trans_sysupgrade(void);
 | 
			
		||||
@@ -375,6 +375,9 @@ typedef enum _pmdeptype_t {
 | 
			
		||||
	PM_DEP_TYPE_CONFLICT
 | 
			
		||||
} pmdeptype_t;
 | 
			
		||||
 | 
			
		||||
pmdepend_t *alpm_splitdep(const char *depstring);
 | 
			
		||||
int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
 | 
			
		||||
 | 
			
		||||
const char *alpm_dep_get_target(pmdepmissing_t *miss);
 | 
			
		||||
pmdeptype_t alpm_dep_get_type(pmdepmissing_t *miss);
 | 
			
		||||
pmdepmod_t alpm_dep_get_mod(pmdepmissing_t *miss);
 | 
			
		||||
 
 | 
			
		||||
@@ -20,11 +20,12 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <assert.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
@@ -426,7 +427,7 @@ int SYMEXPORT alpm_list_count(const alpm_list_t *list)
 | 
			
		||||
 *  @param haystack the list to search
 | 
			
		||||
 *  @return 1 if `needle` is found, 0 otherwise
 | 
			
		||||
 */
 | 
			
		||||
int alpm_list_find(alpm_list_t *haystack, const void *needle)
 | 
			
		||||
int SYMEXPORT alpm_list_find(alpm_list_t *haystack, const void *needle)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *lp = haystack;
 | 
			
		||||
	while(lp) {
 | 
			
		||||
@@ -445,7 +446,7 @@ int alpm_list_find(alpm_list_t *haystack, const void *needle)
 | 
			
		||||
 *  @param haystack the list to search
 | 
			
		||||
 *  @return 1 if `needle` is found, 0 otherwise
 | 
			
		||||
 */
 | 
			
		||||
int alpm_list_find_str(alpm_list_t *haystack, const char *needle)
 | 
			
		||||
int SYMEXPORT alpm_list_find_str(alpm_list_t *haystack, const char *needle)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *lp = haystack;
 | 
			
		||||
	while(lp) {
 | 
			
		||||
 
 | 
			
		||||
@@ -23,11 +23,14 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "log.h"
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "backup.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
/* Look for a filename in a pmpkg_t.backup list.  If we find it,
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
@@ -36,10 +37,12 @@
 | 
			
		||||
#ifdef CYGWIN
 | 
			
		||||
#include <limits.h> /* PATH_MAX */
 | 
			
		||||
#endif
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
@@ -180,6 +183,8 @@ pmpkg_t *_alpm_db_scan(pmdb_t *db, const char *target)
 | 
			
		||||
			return(NULL);
 | 
			
		||||
		}
 | 
			
		||||
		if(_alpm_pkg_splitname(ent->d_name, pkg->name, pkg->version, 0) == -1) {
 | 
			
		||||
			/* TODO wow, string freeze so correct the below later: dabatase -> database */
 | 
			
		||||
			/*_alpm_log(PM_LOG_ERROR, _("invalid name for database entry '%s'"), ent->d_name);*/
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("invalid name for dabatase entry '%s'"), ent->d_name);
 | 
			
		||||
			return(NULL);
 | 
			
		||||
		}
 | 
			
		||||
@@ -224,7 +229,12 @@ int _alpm_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
		return(-1);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(info->infolevel & inforeq) {
 | 
			
		||||
	/* bitmask logic here:
 | 
			
		||||
	 * infolevel: 00001111
 | 
			
		||||
	 * inforeq:   00010100
 | 
			
		||||
	 * & result:  00000100
 | 
			
		||||
	 * == to inforeq? nope, we need to load more info. */
 | 
			
		||||
	if((info->infolevel & inforeq) == inforeq) {
 | 
			
		||||
		/* already loaded this info, do nothing */
 | 
			
		||||
		return(0);
 | 
			
		||||
	}
 | 
			
		||||
@@ -560,8 +570,9 @@ int _alpm_db_write(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
 | 
			
		||||
								"%s\n\n", info->packager);
 | 
			
		||||
			}
 | 
			
		||||
			if(info->size) {
 | 
			
		||||
				/* only write installed size, csize is irrelevant once installed */
 | 
			
		||||
				fprintf(fp, "%%SIZE%%\n"
 | 
			
		||||
								"%lu\n\n", info->size);
 | 
			
		||||
								"%lu\n\n", info->isize);
 | 
			
		||||
			}
 | 
			
		||||
			if(info->reason) {
 | 
			
		||||
				fprintf(fp, "%%REASON%%\n"
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
@@ -27,16 +28,17 @@
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "group.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
 | 
			
		||||
/* Returns a new package cache from db.
 | 
			
		||||
 * It frees the cache if it already exists.
 | 
			
		||||
@@ -211,8 +213,8 @@ int _alpm_db_load_grpcache(pmdb_t *db)
 | 
			
		||||
				grp->packages = alpm_list_add_sorted(grp->packages,
 | 
			
		||||
																						 /* gross signature forces us to
 | 
			
		||||
																							* discard const */
 | 
			
		||||
																						 (void *)alpm_pkg_get_name(pkg),
 | 
			
		||||
																						 _alpm_grp_cmp);
 | 
			
		||||
																						 (void*)alpm_pkg_get_name(pkg),
 | 
			
		||||
																						 _alpm_str_cmp);
 | 
			
		||||
				db->grpcache = alpm_list_add_sorted(db->grpcache, grp, _alpm_grp_cmp);
 | 
			
		||||
			} else {
 | 
			
		||||
				alpm_list_t *j;
 | 
			
		||||
@@ -223,7 +225,9 @@ int _alpm_db_load_grpcache(pmdb_t *db)
 | 
			
		||||
					if(strcmp(grp->name, i->data) == 0) {
 | 
			
		||||
						const char *pkgname = alpm_pkg_get_name(pkg);
 | 
			
		||||
						if(!alpm_list_find_str(grp->packages, pkgname)) {
 | 
			
		||||
							grp->packages = alpm_list_add_sorted(grp->packages, (void *)pkgname, _alpm_grp_cmp);
 | 
			
		||||
							grp->packages = alpm_list_add_sorted(grp->packages,
 | 
			
		||||
							                                     (void*)pkgname,
 | 
			
		||||
																									 _alpm_str_cmp);
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 
 | 
			
		||||
@@ -23,28 +23,29 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "conflict.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "deps.h"
 | 
			
		||||
#include "conflict.h"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/** See if potential conflict 'name' matches package 'pkg'.
 | 
			
		||||
 
 | 
			
		||||
@@ -21,8 +21,9 @@
 | 
			
		||||
#ifndef _ALPM_CONFLICT_H
 | 
			
		||||
#define _ALPM_CONFLICT_H
 | 
			
		||||
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
 | 
			
		||||
#define CONFLICT_FILE_LEN 512
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -23,30 +23,32 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <regex.h>
 | 
			
		||||
#ifdef CYGWIN
 | 
			
		||||
#include <limits.h> /* PATH_MAX */
 | 
			
		||||
#endif
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "server.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
@@ -181,7 +183,7 @@ pmdb_t *_alpm_db_register(const char *treename, alpm_cb_db_register callback)
 | 
			
		||||
	/* make sure the database directory exists */
 | 
			
		||||
	snprintf(path, PATH_MAX, "%s%s/%s", handle->root, handle->dbpath, treename);
 | 
			
		||||
	if(stat(path, &buf) != 0 || !S_ISDIR(buf.st_mode)) {
 | 
			
		||||
		_alpm_log(PM_LOG_ERROR, _("database directory '%s' does not exist, try creating it"), path);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("database directory '%s' does not exist, creating it"), path);
 | 
			
		||||
		if(_alpm_makepath(path) != 0) {
 | 
			
		||||
			RET_ERR(PM_ERR_SYSTEM, NULL);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,8 @@ typedef enum _pmdbinfrq_t {
 | 
			
		||||
	INFRQ_DEPENDS = 0x04,
 | 
			
		||||
	INFRQ_FILES = 0x08,
 | 
			
		||||
	INFRQ_SCRIPTLET = 0x10,
 | 
			
		||||
	INFRQ_ALL = 0xFF
 | 
			
		||||
	/* ALL should be sum of all above */
 | 
			
		||||
	INFRQ_ALL = 0x1F
 | 
			
		||||
} pmdbinfrq_t;
 | 
			
		||||
 | 
			
		||||
/* Database */
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -29,16 +31,17 @@
 | 
			
		||||
#endif
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <math.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "deps.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
#include "deps.h"
 | 
			
		||||
#include "versioncmp.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
 | 
			
		||||
@@ -139,7 +142,7 @@ alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode)
 | 
			
		||||
			pmpkg_t *p = i->data;
 | 
			
		||||
			_alpm_log(PM_LOG_DEBUG, "   sorting %s", alpm_pkg_get_name(p));
 | 
			
		||||
			for(j = alpm_pkg_get_depends(p); j; j = j->next) {
 | 
			
		||||
				pmdepend_t *depend = _alpm_splitdep(j->data);
 | 
			
		||||
				pmdepend_t *depend = alpm_splitdep(j->data);
 | 
			
		||||
				pmpkg_t *q = NULL;
 | 
			
		||||
				if(depend == NULL) {
 | 
			
		||||
					continue;
 | 
			
		||||
@@ -241,20 +244,20 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
				}
 | 
			
		||||
				for(k = alpm_pkg_get_depends(p); k; k = k->next) {
 | 
			
		||||
					/* don't break any existing dependencies (possible provides) */
 | 
			
		||||
					pmdepend_t *depend = _alpm_splitdep(k->data);
 | 
			
		||||
					pmdepend_t *depend = alpm_splitdep(k->data);
 | 
			
		||||
					if(depend == NULL) {
 | 
			
		||||
						continue;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					/* if oldpkg satisfied this dep, and newpkg doesn't */
 | 
			
		||||
					if(_alpm_depcmp(oldpkg, depend) && !_alpm_depcmp(newpkg, depend)) {
 | 
			
		||||
					if(alpm_depcmp(oldpkg, depend) && !alpm_depcmp(newpkg, depend)) {
 | 
			
		||||
						/* we've found a dep that was removed... see if any other package
 | 
			
		||||
						 * still contains/provides the dep */
 | 
			
		||||
						int satisfied = 0;
 | 
			
		||||
						for(l = packages; l; l = l->next) {
 | 
			
		||||
							pmpkg_t *pkg = l->data;
 | 
			
		||||
 | 
			
		||||
							if(_alpm_depcmp(pkg, depend)) {
 | 
			
		||||
							if(alpm_depcmp(pkg, depend)) {
 | 
			
		||||
								_alpm_log(PM_LOG_DEBUG, _("checkdeps: dependency '%s' has moved from '%s' to '%s'"),
 | 
			
		||||
													depend->name, alpm_pkg_get_name(oldpkg), alpm_pkg_get_name(pkg));
 | 
			
		||||
								satisfied = 1;
 | 
			
		||||
@@ -273,7 +276,7 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
									continue;
 | 
			
		||||
								}
 | 
			
		||||
 | 
			
		||||
								if(_alpm_depcmp(pkg, depend)) {
 | 
			
		||||
								if(alpm_depcmp(pkg, depend)) {
 | 
			
		||||
									_alpm_log(PM_LOG_DEBUG, _("checkdeps: dependency '%s' satisfied by installed package '%s'"),
 | 
			
		||||
														depend->name, alpm_pkg_get_name(pkg));
 | 
			
		||||
									satisfied = 1;
 | 
			
		||||
@@ -310,7 +313,7 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
 | 
			
		||||
			for(j = alpm_pkg_get_depends(tp); j; j = j->next) {
 | 
			
		||||
				/* split into name/version pairs */
 | 
			
		||||
				pmdepend_t *depend = _alpm_splitdep((char*)j->data);
 | 
			
		||||
				pmdepend_t *depend = alpm_splitdep((char*)j->data);
 | 
			
		||||
				if(depend == NULL) {
 | 
			
		||||
					continue;
 | 
			
		||||
				}
 | 
			
		||||
@@ -319,7 +322,7 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
				/* check database for literal packages */
 | 
			
		||||
				for(k = _alpm_db_get_pkgcache(db); k && !found; k = k->next) {
 | 
			
		||||
					pmpkg_t *p = (pmpkg_t *)k->data;
 | 
			
		||||
					found = _alpm_depcmp(p, depend);
 | 
			
		||||
					found = alpm_depcmp(p, depend);
 | 
			
		||||
				}
 | 
			
		||||
 				/* check database for provides matches */
 | 
			
		||||
 				if(!found) {
 | 
			
		||||
@@ -342,14 +345,14 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
 							continue;
 | 
			
		||||
 						}
 | 
			
		||||
 | 
			
		||||
						found = _alpm_depcmp(p, depend);
 | 
			
		||||
						found = alpm_depcmp(p, depend);
 | 
			
		||||
					}
 | 
			
		||||
					FREELISTPTR(k);
 | 
			
		||||
				}
 | 
			
		||||
 				/* check other targets */
 | 
			
		||||
 				for(k = packages; k && !found; k = k->next) {
 | 
			
		||||
 					pmpkg_t *p = k->data;
 | 
			
		||||
					found = _alpm_depcmp(p, depend);
 | 
			
		||||
					found = alpm_depcmp(p, depend);
 | 
			
		||||
				}
 | 
			
		||||
				/* else if still not found... */
 | 
			
		||||
				if(!found) {
 | 
			
		||||
@@ -421,7 +424,7 @@ alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
	return(baddeps);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pmdepend_t *_alpm_splitdep(const char *depstring)
 | 
			
		||||
pmdepend_t SYMEXPORT *alpm_splitdep(const char *depstring)
 | 
			
		||||
{
 | 
			
		||||
	pmdepend_t *depend;
 | 
			
		||||
	char *ptr = NULL;
 | 
			
		||||
@@ -514,7 +517,7 @@ alpm_list_t *_alpm_removedeps(pmdb_t *db, alpm_list_t *targs)
 | 
			
		||||
	for(i = targs; i; i = i->next) {
 | 
			
		||||
		pmpkg_t *pkg = i->data;
 | 
			
		||||
		for(j = alpm_pkg_get_depends(pkg); j; j = j->next) {
 | 
			
		||||
			pmdepend_t *depend = _alpm_splitdep(j->data);
 | 
			
		||||
			pmdepend_t *depend = alpm_splitdep(j->data);
 | 
			
		||||
			pmpkg_t *deppkg;
 | 
			
		||||
			if(depend == NULL) {
 | 
			
		||||
				continue;
 | 
			
		||||
@@ -532,7 +535,7 @@ alpm_list_t *_alpm_removedeps(pmdb_t *db, alpm_list_t *targs)
 | 
			
		||||
				for(k = provides; k; k = k->next) {
 | 
			
		||||
					pmpkg_t *provpkg = k->data;
 | 
			
		||||
					if(can_remove_package(db, provpkg, newtargs)) {
 | 
			
		||||
						pmpkg_t *pkg = _alpm_pkg_new(alpm_pkg_get_name(provpkg), alpm_pkg_get_version(provpkg));
 | 
			
		||||
						pmpkg_t *pkg = _alpm_pkg_dup(provpkg);
 | 
			
		||||
 | 
			
		||||
						_alpm_log(PM_LOG_DEBUG, _("adding '%s' to the targets"), alpm_pkg_get_name(pkg));
 | 
			
		||||
 | 
			
		||||
@@ -543,7 +546,7 @@ alpm_list_t *_alpm_removedeps(pmdb_t *db, alpm_list_t *targs)
 | 
			
		||||
				}
 | 
			
		||||
				FREELISTPTR(provides);
 | 
			
		||||
			} else if(can_remove_package(db, deppkg, newtargs)) {
 | 
			
		||||
				pmpkg_t *pkg = _alpm_pkg_new(deppkg->name, deppkg->version);
 | 
			
		||||
				pmpkg_t *pkg = _alpm_pkg_dup(deppkg);
 | 
			
		||||
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, _("adding '%s' to the targets"), alpm_pkg_get_name(pkg));
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -49,7 +49,6 @@ int _alpm_depmiss_isin(pmdepmissing_t *needle, alpm_list_t *haystack);
 | 
			
		||||
alpm_list_t *_alpm_sortbydeps(alpm_list_t *targets, pmtranstype_t mode);
 | 
			
		||||
alpm_list_t *_alpm_checkdeps(pmtrans_t *trans, pmdb_t *db, pmtranstype_t op,
 | 
			
		||||
                             alpm_list_t *packages);
 | 
			
		||||
pmdepend_t *_alpm_splitdep(const char *depstring);
 | 
			
		||||
alpm_list_t *_alpm_removedeps(pmdb_t *db, alpm_list_t *targs);
 | 
			
		||||
int _alpm_resolvedeps(pmdb_t *local, alpm_list_t *dbs_sync, pmpkg_t *syncpkg,
 | 
			
		||||
                      alpm_list_t *list, alpm_list_t *trail, pmtrans_t *trans,
 | 
			
		||||
 
 | 
			
		||||
@@ -22,10 +22,16 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
/* TODO does this really need a file all on its own? */
 | 
			
		||||
char SYMEXPORT *alpm_strerror(int err)
 | 
			
		||||
{
 | 
			
		||||
	switch(err) {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,16 +20,18 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "group.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "group.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
pmgrp_t *_alpm_grp_new()
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
@@ -30,15 +31,16 @@
 | 
			
		||||
#include <syslog.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "server.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
 | 
			
		||||
pmhandle_t *_alpm_handle_new()
 | 
			
		||||
{
 | 
			
		||||
@@ -121,7 +123,7 @@ int _alpm_handle_free(pmhandle_t *handle)
 | 
			
		||||
 | 
			
		||||
alpm_cb_log alpm_option_get_logcb() { return (handle ? handle->logcb : NULL); }
 | 
			
		||||
alpm_cb_download alpm_option_get_dlcb() { return (handle ? handle->dlcb : NULL); }
 | 
			
		||||
unsigned short alpm_option_get_logmask() { return handle->logmask; }
 | 
			
		||||
unsigned short SYMEXPORT alpm_option_get_logmask() { return handle->logmask; }
 | 
			
		||||
const char SYMEXPORT *alpm_option_get_root() { return handle->root; }
 | 
			
		||||
const char SYMEXPORT *alpm_option_get_dbpath() { return handle->dbpath; }
 | 
			
		||||
const char SYMEXPORT *alpm_option_get_cachedir() { return handle->cachedir; }
 | 
			
		||||
@@ -137,7 +139,7 @@ unsigned short alpm_option_get_nopassiveftp() { return handle->nopassiveftp; }
 | 
			
		||||
unsigned short SYMEXPORT alpm_option_get_chomp() { return handle->chomp; }
 | 
			
		||||
unsigned short alpm_option_get_usecolor() { return handle->use_color; }
 | 
			
		||||
 | 
			
		||||
pmdb_t *alpm_option_get_localdb() { return handle->db_local; }
 | 
			
		||||
pmdb_t SYMEXPORT *alpm_option_get_localdb() { return handle->db_local; }
 | 
			
		||||
alpm_list_t SYMEXPORT *alpm_option_get_syncdbs()
 | 
			
		||||
{
 | 
			
		||||
	return handle->dbs_sync;
 | 
			
		||||
@@ -149,7 +151,7 @@ void SYMEXPORT alpm_option_set_dlcb(alpm_cb_download cb) { handle->dlcb = cb; }
 | 
			
		||||
 | 
			
		||||
void SYMEXPORT alpm_option_set_logmask(unsigned short mask) { handle->logmask = mask; }
 | 
			
		||||
 | 
			
		||||
void alpm_option_set_root(const char *root)
 | 
			
		||||
void SYMEXPORT alpm_option_set_root(const char *root)
 | 
			
		||||
{
 | 
			
		||||
	if(handle->root) FREE(handle->root);
 | 
			
		||||
	/* According to the man page, realpath is safe to use IFF the second arg is
 | 
			
		||||
@@ -194,7 +196,7 @@ void SYMEXPORT alpm_option_set_dbpath(const char *dbpath)
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void alpm_option_set_cachedir(const char *cachedir)
 | 
			
		||||
void SYMEXPORT alpm_option_set_cachedir(const char *cachedir)
 | 
			
		||||
{
 | 
			
		||||
	if(handle->cachedir) FREE(handle->cachedir);
 | 
			
		||||
	if(cachedir) {
 | 
			
		||||
 
 | 
			
		||||
@@ -21,9 +21,11 @@
 | 
			
		||||
#ifndef _ALPM_HANDLE_H
 | 
			
		||||
#define _ALPM_HANDLE_H
 | 
			
		||||
 | 
			
		||||
#include <stdio.h> 
 | 
			
		||||
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,12 +20,14 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
void _alpm_log(pmloglevel_t flag, char *fmt, ...)
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,7 @@ documentation and/or software.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
#include "md5.h"
 | 
			
		||||
 | 
			
		||||
/* Constants for MD5Transform routine.
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,9 @@ software for any particular purpose. It is provided "as is"
 | 
			
		||||
without express or implied warranty of any kind.
 | 
			
		||||
 | 
			
		||||
These notices must be retained in any copies of any part of this
 | 
			
		||||
documentation and/or software.
 | 
			
		||||
 */
 | 
			
		||||
documentation and/or software. */
 | 
			
		||||
#ifndef _ALPM_MD5_H
 | 
			
		||||
#define _ALPM_MD5_H
 | 
			
		||||
 | 
			
		||||
/* POINTER defines a generic pointer type */
 | 
			
		||||
typedef unsigned char *POINTER;
 | 
			
		||||
@@ -47,4 +48,6 @@ void _alpm_MD5Final(unsigned char [16], MD5_CTX *);
 | 
			
		||||
char* _alpm_MDFile(char *);
 | 
			
		||||
void  _alpm_MDPrint(unsigned char [16]);
 | 
			
		||||
 | 
			
		||||
#endif /* _ALPM_MD5_H */
 | 
			
		||||
 | 
			
		||||
/* vim: set ts=2 sw=2 noet: */
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,14 @@ documentation and/or software.
 | 
			
		||||
 */
 | 
			
		||||
#define MD MD5
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
@@ -43,6 +47,7 @@ char* _alpm_MDFile(char *filename)
 | 
			
		||||
	FILE *file;
 | 
			
		||||
	MD_CTX context;
 | 
			
		||||
	int len;
 | 
			
		||||
	char hex[3];
 | 
			
		||||
	unsigned char buffer[1024], digest[16];
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
@@ -62,10 +67,11 @@ char* _alpm_MDFile(char *filename)
 | 
			
		||||
 | 
			
		||||
		ret = calloc(33, sizeof(char));
 | 
			
		||||
		for(i = 0; i < 16; i++) {
 | 
			
		||||
			sprintf(ret+(i*2), "%02x", digest[i]);
 | 
			
		||||
			snprintf(hex, 3, "%02x", digest[i]);
 | 
			
		||||
			strncat(ret, hex, 2);
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("sha1(%s) = %s"), filename, ret);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("md5(%s) = %s"), filename, ret);
 | 
			
		||||
		return(ret);
 | 
			
		||||
	}
 | 
			
		||||
	return(NULL);
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
@@ -33,12 +34,13 @@
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
@@ -538,6 +540,7 @@ int _alpm_pkg_splitname(const char *target, char *name, char *version, int witha
 | 
			
		||||
void _alpm_pkg_update_requiredby(pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *i, *j, *k;
 | 
			
		||||
	const char *pkgname = alpm_pkg_get_name(pkg);
 | 
			
		||||
 | 
			
		||||
	pmdb_t *localdb = alpm_option_get_localdb();
 | 
			
		||||
	for(i = _alpm_db_get_pkgcache(localdb); i; i = i->next) {
 | 
			
		||||
@@ -545,34 +548,42 @@ void _alpm_pkg_update_requiredby(pmpkg_t *pkg)
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
		pmpkg_t *cachepkg = i->data;
 | 
			
		||||
		const char *cachepkgname = alpm_pkg_get_name(cachepkg);
 | 
			
		||||
 | 
			
		||||
		for(j = alpm_pkg_get_depends(cachepkg); j; j = j->next) {
 | 
			
		||||
			pmdepend_t *dep;
 | 
			
		||||
			if(!j->data) {
 | 
			
		||||
				continue;
 | 
			
		||||
			}
 | 
			
		||||
			dep = _alpm_splitdep(j->data);
 | 
			
		||||
			dep = alpm_splitdep(j->data);
 | 
			
		||||
			if(dep == NULL) {
 | 
			
		||||
					continue;
 | 
			
		||||
			}
 | 
			
		||||
			
 | 
			
		||||
			/* check the actual package itself */
 | 
			
		||||
			if(strcmp(dep->name, alpm_pkg_get_name(pkg)) == 0) {
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"),
 | 
			
		||||
									cachepkg->name, pkg->name);
 | 
			
		||||
			if(strcmp(dep->name, pkgname) == 0) {
 | 
			
		||||
				alpm_list_t *reqs = alpm_pkg_get_requiredby(pkg);
 | 
			
		||||
				reqs = alpm_list_add(reqs, strdup(alpm_pkg_get_name(cachepkg)));
 | 
			
		||||
				pkg->requiredby = reqs;
 | 
			
		||||
 | 
			
		||||
				if(!alpm_list_find_str(reqs, cachepkgname)) {
 | 
			
		||||
					_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s'"),
 | 
			
		||||
					          cachepkgname, pkg->name);
 | 
			
		||||
					reqs = alpm_list_add(reqs, strdup(cachepkgname));
 | 
			
		||||
					pkg->requiredby = reqs;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			/* check for provisions as well */
 | 
			
		||||
			for(k = alpm_pkg_get_provides(pkg); k; k = k->next) {
 | 
			
		||||
				const char *provname = k->data;
 | 
			
		||||
				if(strcmp(dep->name, provname) == 0) {
 | 
			
		||||
					_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s' (provides: %s)"),
 | 
			
		||||
										alpm_pkg_get_name(cachepkg), alpm_pkg_get_name(pkg), provname);
 | 
			
		||||
					alpm_list_t *reqs = alpm_pkg_get_requiredby(pkg);
 | 
			
		||||
					reqs = alpm_list_add(reqs, strdup(alpm_pkg_get_name(cachepkg)));
 | 
			
		||||
					pkg->requiredby = reqs;
 | 
			
		||||
 | 
			
		||||
					if(!alpm_list_find_str(reqs, cachepkgname)) {
 | 
			
		||||
						_alpm_log(PM_LOG_DEBUG, _("adding '%s' in requiredby field for '%s' (provides: %s)"),
 | 
			
		||||
						          cachepkgname, pkgname, provname);
 | 
			
		||||
						reqs = alpm_list_add(reqs, strdup(cachepkgname));
 | 
			
		||||
						pkg->requiredby = reqs;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
			free(dep);
 | 
			
		||||
 
 | 
			
		||||
@@ -4,3 +4,4 @@ fr
 | 
			
		||||
hu
 | 
			
		||||
it
 | 
			
		||||
pt_BR
 | 
			
		||||
en_GB
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1496
									
								
								lib/libalpm/po/en_GB.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1496
									
								
								lib/libalpm/po/en_GB.po
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -20,14 +20,16 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
 | 
			
		||||
/* return a alpm_list_t of packages in "db" that provide "package"
 | 
			
		||||
 */
 | 
			
		||||
 
 | 
			
		||||
@@ -23,24 +23,26 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__sun__)
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__sun__)
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <errno.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "remove.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
@@ -55,7 +57,6 @@
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
#include "deps.h"
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
#include "remove.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 | 
			
		||||
@@ -168,9 +169,9 @@ static int can_remove_file(pmtrans_t *trans, const char *path)
 | 
			
		||||
	/* If we fail write permissions due to a read-only filesystem, abort.
 | 
			
		||||
	 * Assume all other possible failures are covered somewhere else */
 | 
			
		||||
	if(access(file, W_OK) == -1) {
 | 
			
		||||
		if(access(file, F_OK) == 0) {
 | 
			
		||||
			/* only return failure if the file ACTUALLY exists and we don't have
 | 
			
		||||
			 * permissions */
 | 
			
		||||
		if(errno != EACCES && access(file, F_OK) == 0) {
 | 
			
		||||
			/* only return failure if the file ACTUALLY exists and we can't write to
 | 
			
		||||
			 * it - ignore "chmod -w" simple permission failures */
 | 
			
		||||
			_alpm_log(PM_LOG_ERROR, _("cannot remove file '%s': %s"),
 | 
			
		||||
			          file, strerror(errno));
 | 
			
		||||
			return(0);
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
@@ -29,8 +31,9 @@
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <download.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "server.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
@@ -200,8 +203,8 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
 | 
			
		||||
			}
 | 
			
		||||
			_alpm_log(PM_LOG_DEBUG, _("using '%s' for download progress"), pkgname);
 | 
			
		||||
 | 
			
		||||
			snprintf(realfile, PATH_MAX, "%s/%s", localpath, fn);
 | 
			
		||||
			snprintf(output, PATH_MAX, "%s/%s.part", localpath, fn);
 | 
			
		||||
			snprintf(realfile, PATH_MAX, "%s%s", localpath, fn);
 | 
			
		||||
			snprintf(output, PATH_MAX, "%s%s.part", localpath, fn);
 | 
			
		||||
 | 
			
		||||
			if(alpm_list_find_str(complete, fn)) {
 | 
			
		||||
				continue;
 | 
			
		||||
@@ -316,8 +319,10 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
 | 
			
		||||
				char parsedCmd[PATH_MAX] = "";
 | 
			
		||||
				char url[PATH_MAX];
 | 
			
		||||
				char cwd[PATH_MAX];
 | 
			
		||||
 | 
			
		||||
				/* build the full download url */
 | 
			
		||||
				snprintf(url, PATH_MAX, "%s://%s%s/%s", fileurl->scheme, fileurl->host, fileurl->doc, fn);
 | 
			
		||||
				snprintf(url, PATH_MAX, "%s://%s%s", fileurl->scheme, fileurl->host, fileurl->doc);
 | 
			
		||||
 | 
			
		||||
				/* replace all occurrences of %o with fn.part */
 | 
			
		||||
				strncpy(origCmd, handle->xfercommand, sizeof(origCmd));
 | 
			
		||||
				ptr1 = origCmd;
 | 
			
		||||
@@ -325,8 +330,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
 | 
			
		||||
					usepart = 1;
 | 
			
		||||
					ptr2[0] = '\0';
 | 
			
		||||
					strcat(parsedCmd, ptr1);
 | 
			
		||||
					strcat(parsedCmd, fn);
 | 
			
		||||
					strcat(parsedCmd, ".part");
 | 
			
		||||
					strcat(parsedCmd, output);
 | 
			
		||||
					ptr1 = ptr2 + 2;
 | 
			
		||||
				}
 | 
			
		||||
				strcat(parsedCmd, ptr1);
 | 
			
		||||
@@ -360,10 +364,7 @@ int _alpm_downloadfiles_forreal(alpm_list_t *servers, const char *localpath,
 | 
			
		||||
					/* download was successful */
 | 
			
		||||
					complete = alpm_list_add(complete, fn);
 | 
			
		||||
					if(usepart) {
 | 
			
		||||
						char fnpart[PATH_MAX];
 | 
			
		||||
						/* rename "output.part" file to "output" file */
 | 
			
		||||
						snprintf(fnpart, PATH_MAX, "%s.part", fn);
 | 
			
		||||
						rename(fnpart, fn);
 | 
			
		||||
						rename(output, realfile);
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
				chdir(cwd);
 | 
			
		||||
 
 | 
			
		||||
@@ -22,20 +22,18 @@
 | 
			
		||||
      Robert Klep <robert@ilse.nl>  -- Expansion function fix
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
#ifdef HAVE_CONFIG_H
 | 
			
		||||
# include <config.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "sha1.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "sha1.h"
 | 
			
		||||
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
  Not-swap is a macro that does an endian swap on architectures that are
 | 
			
		||||
@@ -389,6 +387,7 @@ char* _alpm_SHAFile(char *filename) {
 | 
			
		||||
	FILE *file;
 | 
			
		||||
	struct sha_ctx context;
 | 
			
		||||
	int len, i;
 | 
			
		||||
	char hex[3];
 | 
			
		||||
	unsigned char buffer[1024], digest[20];
 | 
			
		||||
	char *ret;
 | 
			
		||||
 | 
			
		||||
@@ -407,7 +406,8 @@ char* _alpm_SHAFile(char *filename) {
 | 
			
		||||
		ret = (char*)malloc(41);
 | 
			
		||||
		ret[0] = '\0';
 | 
			
		||||
		for(i = 0; i < 20; i++) {
 | 
			
		||||
			sprintf(ret+(i*2), "%02x", digest[i]);
 | 
			
		||||
			snprintf(hex, 3, "%02x", digest[i]);
 | 
			
		||||
			strncat(ret, hex, 2);
 | 
			
		||||
		}
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("sha1(%s) = %s"), filename, ret);
 | 
			
		||||
		return(ret);
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,8 @@
 | 
			
		||||
   You should have received a copy of the GNU General Public License
 | 
			
		||||
   along with this program; if not, write to the Free Software Foundation,
 | 
			
		||||
   Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
 | 
			
		||||
#ifndef _ALPM_SHA1_H
 | 
			
		||||
#define _ALPM_SHA1_H
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
@@ -65,4 +67,6 @@ struct sha_ctx
 | 
			
		||||
/* Needed for pacman */
 | 
			
		||||
char *_alpm_SHAFile (char *);
 | 
			
		||||
 | 
			
		||||
#endif /* _ALPM_SHA1_H */
 | 
			
		||||
 | 
			
		||||
/* vim: set ts=2 sw=2 noet: */
 | 
			
		||||
 
 | 
			
		||||
@@ -23,6 +23,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
@@ -33,10 +34,12 @@
 | 
			
		||||
#endif
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "db.h"
 | 
			
		||||
#include "cache.h"
 | 
			
		||||
@@ -45,7 +48,6 @@
 | 
			
		||||
#include "provide.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "versioncmp.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -23,16 +23,19 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "handle.h"
 | 
			
		||||
#include "add.h"
 | 
			
		||||
#include "remove.h"
 | 
			
		||||
@@ -94,7 +97,7 @@ void _alpm_trans_free(void *data)
 | 
			
		||||
	FREE(trans);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_trans_init(pmtrans_t *trans, pmtranstype_t type, unsigned int flags,
 | 
			
		||||
int _alpm_trans_init(pmtrans_t *trans, pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
                     alpm_trans_cb_event event, alpm_trans_cb_conv conv,
 | 
			
		||||
                     alpm_trans_cb_progress progress)
 | 
			
		||||
{
 | 
			
		||||
@@ -251,6 +254,7 @@ int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
 | 
			
		||||
{
 | 
			
		||||
	alpm_list_t *i, *j;
 | 
			
		||||
	alpm_list_t *depends = NULL;
 | 
			
		||||
	const char *pkgname;
 | 
			
		||||
	pmdb_t *localdb;
 | 
			
		||||
 | 
			
		||||
	ALPM_LOG_FUNC;
 | 
			
		||||
@@ -259,17 +263,19 @@ int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
 | 
			
		||||
	ASSERT(trans != NULL, RET_ERR(PM_ERR_TRANS_NULL, -1));
 | 
			
		||||
	ASSERT(pkg != NULL, RET_ERR(PM_ERR_PKG_INVALID, -1));
 | 
			
		||||
 | 
			
		||||
	pkgname = alpm_pkg_get_name(pkg);
 | 
			
		||||
	depends = alpm_pkg_get_depends(pkg);
 | 
			
		||||
 | 
			
		||||
	if(depends) {
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("updating dependency packages 'requiredby' fields for %s-%s"),
 | 
			
		||||
							pkg->name, pkg->version);
 | 
			
		||||
		          pkgname, pkg->version);
 | 
			
		||||
	} else {
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("package has no dependencies, no other packages to update"));
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	localdb = alpm_option_get_localdb();
 | 
			
		||||
	for(i = depends; i; i = i->next) {
 | 
			
		||||
		pmdepend_t* dep = _alpm_splitdep(i->data);
 | 
			
		||||
		pmdepend_t* dep = alpm_splitdep(i->data);
 | 
			
		||||
		if(dep == NULL) {
 | 
			
		||||
			continue;
 | 
			
		||||
		}
 | 
			
		||||
@@ -299,16 +305,20 @@ int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
 | 
			
		||||
				found_provides = 1;
 | 
			
		||||
 | 
			
		||||
				/* this is cheating... we call this function to populate the package */
 | 
			
		||||
				alpm_pkg_get_requiredby(deppkg);
 | 
			
		||||
				alpm_list_t *rqdby = alpm_pkg_get_requiredby(deppkg);
 | 
			
		||||
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"), alpm_pkg_get_name(deppkg));
 | 
			
		||||
				_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"),
 | 
			
		||||
				          alpm_pkg_get_name(deppkg));
 | 
			
		||||
				if(trans->type == PM_TRANS_TYPE_REMOVE) {
 | 
			
		||||
					void *data = NULL;
 | 
			
		||||
					deppkg->requiredby = alpm_list_remove(deppkg->requiredby,
 | 
			
		||||
																								alpm_pkg_get_name(pkg), _alpm_str_cmp, &data);
 | 
			
		||||
					rqdby = alpm_list_remove(rqdby,	pkgname, _alpm_str_cmp, &data);
 | 
			
		||||
					FREE(data);
 | 
			
		||||
					deppkg->requiredby = rqdby;
 | 
			
		||||
				} else {
 | 
			
		||||
					deppkg->requiredby = alpm_list_add(deppkg->requiredby, strdup(alpm_pkg_get_name(pkg)));
 | 
			
		||||
					if(!alpm_list_find_str(rqdby, pkgname)) {
 | 
			
		||||
						rqdby = alpm_list_add(rqdby, strdup(pkgname));
 | 
			
		||||
						deppkg->requiredby = rqdby;
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				if(_alpm_db_write(localdb, deppkg, INFRQ_DEPENDS)) {
 | 
			
		||||
@@ -325,16 +335,20 @@ int _alpm_trans_update_depends(pmtrans_t *trans, pmpkg_t *pkg)
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/* this is cheating... we call this function to populate the package */
 | 
			
		||||
		alpm_pkg_get_requiredby(deppkg);
 | 
			
		||||
		alpm_list_t *rqdby = alpm_pkg_get_requiredby(deppkg);
 | 
			
		||||
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"), deppkg->name);
 | 
			
		||||
		_alpm_log(PM_LOG_DEBUG, _("updating 'requiredby' field for package '%s'"),
 | 
			
		||||
		          alpm_pkg_get_name(deppkg));
 | 
			
		||||
		if(trans->type == PM_TRANS_TYPE_REMOVE) {
 | 
			
		||||
			void *data = NULL;
 | 
			
		||||
			deppkg->requiredby = alpm_list_remove(deppkg->requiredby,
 | 
			
		||||
																						alpm_pkg_get_name(pkg), _alpm_str_cmp, &data);
 | 
			
		||||
			rqdby = alpm_list_remove(rqdby, pkgname, _alpm_str_cmp, &data);
 | 
			
		||||
			FREE(data);
 | 
			
		||||
			deppkg->requiredby = rqdby;
 | 
			
		||||
		} else {
 | 
			
		||||
			deppkg->requiredby = alpm_list_add(deppkg->requiredby, strdup(alpm_pkg_get_name(pkg)));
 | 
			
		||||
			if(!alpm_list_find_str(rqdby, pkgname)) {
 | 
			
		||||
				rqdby = alpm_list_add(rqdby, strdup(pkgname));
 | 
			
		||||
				deppkg->requiredby = rqdby;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(_alpm_db_write(localdb, deppkg, INFRQ_DEPENDS)) {
 | 
			
		||||
 
 | 
			
		||||
@@ -39,7 +39,7 @@ typedef enum _pmtransstate_t {
 | 
			
		||||
/* Transaction */
 | 
			
		||||
struct __pmtrans_t {
 | 
			
		||||
	pmtranstype_t type;
 | 
			
		||||
	unsigned int flags;
 | 
			
		||||
	pmtransflag_t flags;
 | 
			
		||||
	pmtransstate_t state;
 | 
			
		||||
	alpm_list_t *targets;       /* list of (char *) */
 | 
			
		||||
	alpm_list_t *packages;      /* list of (pmpkg_t *) or (pmsyncpkg_t *) */
 | 
			
		||||
@@ -78,7 +78,7 @@ do { \
 | 
			
		||||
 | 
			
		||||
pmtrans_t *_alpm_trans_new(void);
 | 
			
		||||
void _alpm_trans_free(void *data);
 | 
			
		||||
int _alpm_trans_init(pmtrans_t *trans, pmtranstype_t type, unsigned int flags,
 | 
			
		||||
int _alpm_trans_init(pmtrans_t *trans, pmtranstype_t type, pmtransflag_t flags,
 | 
			
		||||
                     alpm_trans_cb_event event, alpm_trans_cb_conv conv,
 | 
			
		||||
                     alpm_trans_cb_progress progress);
 | 
			
		||||
int _alpm_trans_sysupgrade(pmtrans_t *trans);
 | 
			
		||||
 
 | 
			
		||||
@@ -23,14 +23,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__sun__)
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#ifdef __sun__
 | 
			
		||||
@@ -45,6 +39,12 @@
 | 
			
		||||
#include <time.h>
 | 
			
		||||
#include <syslog.h>
 | 
			
		||||
#include <sys/wait.h>
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__sun__)
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
#ifdef CYGWIN
 | 
			
		||||
#include <limits.h> /* PATH_MAX */
 | 
			
		||||
@@ -54,12 +54,12 @@
 | 
			
		||||
#include <mntent.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "error.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
 
 | 
			
		||||
@@ -22,17 +22,19 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <ctype.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
/* pacman */
 | 
			
		||||
 | 
			
		||||
/* libalpm */
 | 
			
		||||
#include "versioncmp.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "alpm.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "alpm_list.h"
 | 
			
		||||
#include "versioncmp.h"
 | 
			
		||||
 | 
			
		||||
#ifndef HAVE_STRVERSCMP
 | 
			
		||||
/* GNU's strverscmp() function, taken from glibc 2.3.2 sources
 | 
			
		||||
@@ -245,7 +247,7 @@ int _alpm_versioncmp(const char *a, const char *b)
 | 
			
		||||
	return(*one ? 1 : -1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int _alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep)
 | 
			
		||||
int SYMEXPORT alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep)
 | 
			
		||||
{
 | 
			
		||||
	int equal = 0;
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,16 +20,14 @@
 | 
			
		||||
 *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
#ifndef _PM_RPMVERCMP_H
 | 
			
		||||
#define _PM_RPMVERCMP_H
 | 
			
		||||
#ifndef _ALPM_VERSIONCMP_H
 | 
			
		||||
#define _ALPM_VERSIONCMP_H
 | 
			
		||||
 | 
			
		||||
#include "deps.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
 | 
			
		||||
int _alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
 | 
			
		||||
int _alpm_versioncmp(const char *a, const char *b);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#endif
 | 
			
		||||
#endif /* _ALPM_VERSIONCMP_H */
 | 
			
		||||
 | 
			
		||||
/* vim: set ts=2 sw=2 noet: */
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										367
									
								
								missing
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										367
									
								
								missing
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,367 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# Common stub for a few missing GNU programs while installing.
 | 
			
		||||
 | 
			
		||||
scriptversion=2006-05-10.23
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
 | 
			
		||||
#   Free Software Foundation, Inc.
 | 
			
		||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
 | 
			
		||||
 | 
			
		||||
# This program is free software; you can redistribute it and/or modify
 | 
			
		||||
# it under the terms of the GNU General Public License as published by
 | 
			
		||||
# the Free Software Foundation; either version 2, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
 | 
			
		||||
# This program is distributed in the hope that it will be useful,
 | 
			
		||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
			
		||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
			
		||||
# GNU General Public License for more details.
 | 
			
		||||
 | 
			
		||||
# You should have received a copy of the GNU General Public License
 | 
			
		||||
# along with this program; if not, write to the Free Software
 | 
			
		||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 | 
			
		||||
# 02110-1301, USA.
 | 
			
		||||
 | 
			
		||||
# As a special exception to the GNU General Public License, if you
 | 
			
		||||
# distribute this file as part of a program that contains a
 | 
			
		||||
# configuration script generated by Autoconf, you may include it under
 | 
			
		||||
# the same distribution terms that you use for the rest of that program.
 | 
			
		||||
 | 
			
		||||
if test $# -eq 0; then
 | 
			
		||||
  echo 1>&2 "Try \`$0 --help' for more information"
 | 
			
		||||
  exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
run=:
 | 
			
		||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
 | 
			
		||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
 | 
			
		||||
 | 
			
		||||
# In the cases where this matters, `missing' is being run in the
 | 
			
		||||
# srcdir already.
 | 
			
		||||
if test -f configure.ac; then
 | 
			
		||||
  configure_ac=configure.ac
 | 
			
		||||
else
 | 
			
		||||
  configure_ac=configure.in
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
msg="missing on your system"
 | 
			
		||||
 | 
			
		||||
case $1 in
 | 
			
		||||
--run)
 | 
			
		||||
  # Try to run requested program, and just exit if it succeeds.
 | 
			
		||||
  run=
 | 
			
		||||
  shift
 | 
			
		||||
  "$@" && exit 0
 | 
			
		||||
  # Exit code 63 means version mismatch.  This often happens
 | 
			
		||||
  # when the user try to use an ancient version of a tool on
 | 
			
		||||
  # a file that requires a minimum version.  In this case we
 | 
			
		||||
  # we should proceed has if the program had been absent, or
 | 
			
		||||
  # if --run hadn't been passed.
 | 
			
		||||
  if test $? = 63; then
 | 
			
		||||
    run=:
 | 
			
		||||
    msg="probably too old"
 | 
			
		||||
  fi
 | 
			
		||||
  ;;
 | 
			
		||||
 | 
			
		||||
  -h|--h|--he|--hel|--help)
 | 
			
		||||
    echo "\
 | 
			
		||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
 | 
			
		||||
 | 
			
		||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
 | 
			
		||||
error status if there is no known handling for PROGRAM.
 | 
			
		||||
 | 
			
		||||
Options:
 | 
			
		||||
  -h, --help      display this help and exit
 | 
			
		||||
  -v, --version   output version information and exit
 | 
			
		||||
  --run           try to run the given command, and emulate it if it fails
 | 
			
		||||
 | 
			
		||||
Supported PROGRAM values:
 | 
			
		||||
  aclocal      touch file \`aclocal.m4'
 | 
			
		||||
  autoconf     touch file \`configure'
 | 
			
		||||
  autoheader   touch file \`config.h.in'
 | 
			
		||||
  autom4te     touch the output file, or create a stub one
 | 
			
		||||
  automake     touch all \`Makefile.in' files
 | 
			
		||||
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
 | 
			
		||||
  flex         create \`lex.yy.c', if possible, from existing .c
 | 
			
		||||
  help2man     touch the output file
 | 
			
		||||
  lex          create \`lex.yy.c', if possible, from existing .c
 | 
			
		||||
  makeinfo     touch the output file
 | 
			
		||||
  tar          try tar, gnutar, gtar, then tar without non-portable flags
 | 
			
		||||
  yacc         create \`y.tab.[ch]', if possible, from existing .[ch]
 | 
			
		||||
 | 
			
		||||
Send bug reports to <bug-automake@gnu.org>."
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
 | 
			
		||||
    echo "missing $scriptversion (GNU Automake)"
 | 
			
		||||
    exit $?
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  -*)
 | 
			
		||||
    echo 1>&2 "$0: Unknown \`$1' option"
 | 
			
		||||
    echo 1>&2 "Try \`$0 --help' for more information"
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Now exit if we have it, but it failed.  Also exit now if we
 | 
			
		||||
# don't have it and --version was passed (most likely to detect
 | 
			
		||||
# the program).
 | 
			
		||||
case $1 in
 | 
			
		||||
  lex|yacc)
 | 
			
		||||
    # Not GNU programs, they don't have --version.
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  tar)
 | 
			
		||||
    if test -n "$run"; then
 | 
			
		||||
       echo 1>&2 "ERROR: \`tar' requires --run"
 | 
			
		||||
       exit 1
 | 
			
		||||
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
 | 
			
		||||
       exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  *)
 | 
			
		||||
    if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
 | 
			
		||||
       # We have it, but it failed.
 | 
			
		||||
       exit 1
 | 
			
		||||
    elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
 | 
			
		||||
       # Could not run --version or --help.  This is probably someone
 | 
			
		||||
       # running `$TOOL --version' or `$TOOL --help' to check whether
 | 
			
		||||
       # $TOOL exists and not knowing $TOOL uses missing.
 | 
			
		||||
       exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# If it does not exist, or fails to run (possibly an outdated version),
 | 
			
		||||
# try to emulate it.
 | 
			
		||||
case $1 in
 | 
			
		||||
  aclocal*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
 | 
			
		||||
         to install the \`Automake' and \`Perl' packages.  Grab them from
 | 
			
		||||
         any GNU archive site."
 | 
			
		||||
    touch aclocal.m4
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  autoconf)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified \`${configure_ac}'.  You might want to install the
 | 
			
		||||
         \`Autoconf' and \`GNU m4' packages.  Grab them from any GNU
 | 
			
		||||
         archive site."
 | 
			
		||||
    touch configure
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  autoheader)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified \`acconfig.h' or \`${configure_ac}'.  You might want
 | 
			
		||||
         to install the \`Autoconf' and \`GNU m4' packages.  Grab them
 | 
			
		||||
         from any GNU archive site."
 | 
			
		||||
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
 | 
			
		||||
    test -z "$files" && files="config.h"
 | 
			
		||||
    touch_files=
 | 
			
		||||
    for f in $files; do
 | 
			
		||||
      case $f in
 | 
			
		||||
      *:*) touch_files="$touch_files "`echo "$f" |
 | 
			
		||||
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
 | 
			
		||||
      *) touch_files="$touch_files $f.in";;
 | 
			
		||||
      esac
 | 
			
		||||
    done
 | 
			
		||||
    touch $touch_files
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  automake*)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
 | 
			
		||||
         You might want to install the \`Automake' and \`Perl' packages.
 | 
			
		||||
         Grab them from any GNU archive site."
 | 
			
		||||
    find . -type f -name Makefile.am -print |
 | 
			
		||||
	   sed 's/\.am$/.in/' |
 | 
			
		||||
	   while read f; do touch "$f"; done
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  autom4te)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is needed, but is $msg.
 | 
			
		||||
         You might have modified some files without having the
 | 
			
		||||
         proper tools for further handling them.
 | 
			
		||||
         You can get \`$1' as part of \`Autoconf' from any GNU
 | 
			
		||||
         archive site."
 | 
			
		||||
 | 
			
		||||
    file=`echo "$*" | sed -n "$sed_output"`
 | 
			
		||||
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 | 
			
		||||
    if test -f "$file"; then
 | 
			
		||||
	touch $file
 | 
			
		||||
    else
 | 
			
		||||
	test -z "$file" || exec >$file
 | 
			
		||||
	echo "#! /bin/sh"
 | 
			
		||||
	echo "# Created by GNU Automake missing as a replacement of"
 | 
			
		||||
	echo "#  $ $@"
 | 
			
		||||
	echo "exit 0"
 | 
			
		||||
	chmod +x $file
 | 
			
		||||
	exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  bison|yacc)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' $msg.  You should only need it if
 | 
			
		||||
         you modified a \`.y' file.  You may need the \`Bison' package
 | 
			
		||||
         in order for those modifications to take effect.  You can get
 | 
			
		||||
         \`Bison' from any GNU archive site."
 | 
			
		||||
    rm -f y.tab.c y.tab.h
 | 
			
		||||
    if test $# -ne 1; then
 | 
			
		||||
        eval LASTARG="\${$#}"
 | 
			
		||||
	case $LASTARG in
 | 
			
		||||
	*.y)
 | 
			
		||||
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
 | 
			
		||||
	    if test -f "$SRCFILE"; then
 | 
			
		||||
	         cp "$SRCFILE" y.tab.c
 | 
			
		||||
	    fi
 | 
			
		||||
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
 | 
			
		||||
	    if test -f "$SRCFILE"; then
 | 
			
		||||
	         cp "$SRCFILE" y.tab.h
 | 
			
		||||
	    fi
 | 
			
		||||
	  ;;
 | 
			
		||||
	esac
 | 
			
		||||
    fi
 | 
			
		||||
    if test ! -f y.tab.h; then
 | 
			
		||||
	echo >y.tab.h
 | 
			
		||||
    fi
 | 
			
		||||
    if test ! -f y.tab.c; then
 | 
			
		||||
	echo 'main() { return 0; }' >y.tab.c
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  lex|flex)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified a \`.l' file.  You may need the \`Flex' package
 | 
			
		||||
         in order for those modifications to take effect.  You can get
 | 
			
		||||
         \`Flex' from any GNU archive site."
 | 
			
		||||
    rm -f lex.yy.c
 | 
			
		||||
    if test $# -ne 1; then
 | 
			
		||||
        eval LASTARG="\${$#}"
 | 
			
		||||
	case $LASTARG in
 | 
			
		||||
	*.l)
 | 
			
		||||
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
 | 
			
		||||
	    if test -f "$SRCFILE"; then
 | 
			
		||||
	         cp "$SRCFILE" lex.yy.c
 | 
			
		||||
	    fi
 | 
			
		||||
	  ;;
 | 
			
		||||
	esac
 | 
			
		||||
    fi
 | 
			
		||||
    if test ! -f lex.yy.c; then
 | 
			
		||||
	echo 'main() { return 0; }' >lex.yy.c
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  help2man)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
	 you modified a dependency of a manual page.  You may need the
 | 
			
		||||
	 \`Help2man' package in order for those modifications to take
 | 
			
		||||
	 effect.  You can get \`Help2man' from any GNU archive site."
 | 
			
		||||
 | 
			
		||||
    file=`echo "$*" | sed -n "$sed_output"`
 | 
			
		||||
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 | 
			
		||||
    if test -f "$file"; then
 | 
			
		||||
	touch $file
 | 
			
		||||
    else
 | 
			
		||||
	test -z "$file" || exec >$file
 | 
			
		||||
	echo ".ab help2man is required to generate this page"
 | 
			
		||||
	exit 1
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  makeinfo)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is $msg.  You should only need it if
 | 
			
		||||
         you modified a \`.texi' or \`.texinfo' file, or any other file
 | 
			
		||||
         indirectly affecting the aspect of the manual.  The spurious
 | 
			
		||||
         call might also be the consequence of using a buggy \`make' (AIX,
 | 
			
		||||
         DU, IRIX).  You might want to install the \`Texinfo' package or
 | 
			
		||||
         the \`GNU make' package.  Grab either from any GNU archive site."
 | 
			
		||||
    # The file to touch is that specified with -o ...
 | 
			
		||||
    file=`echo "$*" | sed -n "$sed_output"`
 | 
			
		||||
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
 | 
			
		||||
    if test -z "$file"; then
 | 
			
		||||
      # ... or it is the one specified with @setfilename ...
 | 
			
		||||
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
 | 
			
		||||
      file=`sed -n '
 | 
			
		||||
	/^@setfilename/{
 | 
			
		||||
	  s/.* \([^ ]*\) *$/\1/
 | 
			
		||||
	  p
 | 
			
		||||
	  q
 | 
			
		||||
	}' $infile`
 | 
			
		||||
      # ... or it is derived from the source name (dir/f.texi becomes f.info)
 | 
			
		||||
      test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
 | 
			
		||||
    fi
 | 
			
		||||
    # If the file does not exist, the user really needs makeinfo;
 | 
			
		||||
    # let's fail without touching anything.
 | 
			
		||||
    test -f $file || exit 1
 | 
			
		||||
    touch $file
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  tar)
 | 
			
		||||
    shift
 | 
			
		||||
 | 
			
		||||
    # We have already tried tar in the generic part.
 | 
			
		||||
    # Look for gnutar/gtar before invocation to avoid ugly error
 | 
			
		||||
    # messages.
 | 
			
		||||
    if (gnutar --version > /dev/null 2>&1); then
 | 
			
		||||
       gnutar "$@" && exit 0
 | 
			
		||||
    fi
 | 
			
		||||
    if (gtar --version > /dev/null 2>&1); then
 | 
			
		||||
       gtar "$@" && exit 0
 | 
			
		||||
    fi
 | 
			
		||||
    firstarg="$1"
 | 
			
		||||
    if shift; then
 | 
			
		||||
	case $firstarg in
 | 
			
		||||
	*o*)
 | 
			
		||||
	    firstarg=`echo "$firstarg" | sed s/o//`
 | 
			
		||||
	    tar "$firstarg" "$@" && exit 0
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
	case $firstarg in
 | 
			
		||||
	*h*)
 | 
			
		||||
	    firstarg=`echo "$firstarg" | sed s/h//`
 | 
			
		||||
	    tar "$firstarg" "$@" && exit 0
 | 
			
		||||
	    ;;
 | 
			
		||||
	esac
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
 | 
			
		||||
         You may want to install GNU tar or Free paxutils, or check the
 | 
			
		||||
         command line arguments."
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
  *)
 | 
			
		||||
    echo 1>&2 "\
 | 
			
		||||
WARNING: \`$1' is needed, and is $msg.
 | 
			
		||||
         You might have modified some files without having the
 | 
			
		||||
         proper tools for further handling them.  Check the \`README' file,
 | 
			
		||||
         it often tells you about the needed prerequisites for installing
 | 
			
		||||
         this package.  You may also peek at any GNU archive site, in case
 | 
			
		||||
         some other package would contain this missing \`$1' program."
 | 
			
		||||
    exit 1
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
# Local variables:
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-end: "$"
 | 
			
		||||
# End:
 | 
			
		||||
							
								
								
									
										161
									
								
								mkinstalldirs
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										161
									
								
								mkinstalldirs
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,161 @@
 | 
			
		||||
#! /bin/sh
 | 
			
		||||
# mkinstalldirs --- make directory hierarchy
 | 
			
		||||
 | 
			
		||||
scriptversion=2006-05-11.19
 | 
			
		||||
 | 
			
		||||
# Original author: Noah Friedman <friedman@prep.ai.mit.edu>
 | 
			
		||||
# Created: 1993-05-16
 | 
			
		||||
# Public domain.
 | 
			
		||||
#
 | 
			
		||||
# This file is maintained in Automake, please report
 | 
			
		||||
# bugs to <bug-automake@gnu.org> or send patches to
 | 
			
		||||
# <automake-patches@gnu.org>.
 | 
			
		||||
 | 
			
		||||
nl='
 | 
			
		||||
'
 | 
			
		||||
IFS=" ""	$nl"
 | 
			
		||||
errstatus=0
 | 
			
		||||
dirmode=
 | 
			
		||||
 | 
			
		||||
usage="\
 | 
			
		||||
Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ...
 | 
			
		||||
 | 
			
		||||
Create each directory DIR (with mode MODE, if specified), including all
 | 
			
		||||
leading file name components.
 | 
			
		||||
 | 
			
		||||
Report bugs to <bug-automake@gnu.org>."
 | 
			
		||||
 | 
			
		||||
# process command line arguments
 | 
			
		||||
while test $# -gt 0 ; do
 | 
			
		||||
  case $1 in
 | 
			
		||||
    -h | --help | --h*)         # -h for help
 | 
			
		||||
      echo "$usage"
 | 
			
		||||
      exit $?
 | 
			
		||||
      ;;
 | 
			
		||||
    -m)                         # -m PERM arg
 | 
			
		||||
      shift
 | 
			
		||||
      test $# -eq 0 && { echo "$usage" 1>&2; exit 1; }
 | 
			
		||||
      dirmode=$1
 | 
			
		||||
      shift
 | 
			
		||||
      ;;
 | 
			
		||||
    --version)
 | 
			
		||||
      echo "$0 $scriptversion"
 | 
			
		||||
      exit $?
 | 
			
		||||
      ;;
 | 
			
		||||
    --)                         # stop option processing
 | 
			
		||||
      shift
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
    -*)                         # unknown option
 | 
			
		||||
      echo "$usage" 1>&2
 | 
			
		||||
      exit 1
 | 
			
		||||
      ;;
 | 
			
		||||
    *)                          # first non-opt arg
 | 
			
		||||
      break
 | 
			
		||||
      ;;
 | 
			
		||||
  esac
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
for file
 | 
			
		||||
do
 | 
			
		||||
  if test -d "$file"; then
 | 
			
		||||
    shift
 | 
			
		||||
  else
 | 
			
		||||
    break
 | 
			
		||||
  fi
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
case $# in
 | 
			
		||||
  0) exit 0 ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
# Solaris 8's mkdir -p isn't thread-safe.  If you mkdir -p a/b and
 | 
			
		||||
# mkdir -p a/c at the same time, both will detect that a is missing,
 | 
			
		||||
# one will create a, then the other will try to create a and die with
 | 
			
		||||
# a "File exists" error.  This is a problem when calling mkinstalldirs
 | 
			
		||||
# from a parallel make.  We use --version in the probe to restrict
 | 
			
		||||
# ourselves to GNU mkdir, which is thread-safe.
 | 
			
		||||
case $dirmode in
 | 
			
		||||
  '')
 | 
			
		||||
    if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
 | 
			
		||||
      echo "mkdir -p -- $*"
 | 
			
		||||
      exec mkdir -p -- "$@"
 | 
			
		||||
    else
 | 
			
		||||
      # On NextStep and OpenStep, the `mkdir' command does not
 | 
			
		||||
      # recognize any option.  It will interpret all options as
 | 
			
		||||
      # directories to create, and then abort because `.' already
 | 
			
		||||
      # exists.
 | 
			
		||||
      test -d ./-p && rmdir ./-p
 | 
			
		||||
      test -d ./--version && rmdir ./--version
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
  *)
 | 
			
		||||
    if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 &&
 | 
			
		||||
       test ! -d ./--version; then
 | 
			
		||||
      echo "mkdir -m $dirmode -p -- $*"
 | 
			
		||||
      exec mkdir -m "$dirmode" -p -- "$@"
 | 
			
		||||
    else
 | 
			
		||||
      # Clean up after NextStep and OpenStep mkdir.
 | 
			
		||||
      for d in ./-m ./-p ./--version "./$dirmode";
 | 
			
		||||
      do
 | 
			
		||||
        test -d $d && rmdir $d
 | 
			
		||||
      done
 | 
			
		||||
    fi
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
for file
 | 
			
		||||
do
 | 
			
		||||
  case $file in
 | 
			
		||||
    /*) pathcomp=/ ;;
 | 
			
		||||
    *)  pathcomp= ;;
 | 
			
		||||
  esac
 | 
			
		||||
  oIFS=$IFS
 | 
			
		||||
  IFS=/
 | 
			
		||||
  set fnord $file
 | 
			
		||||
  shift
 | 
			
		||||
  IFS=$oIFS
 | 
			
		||||
 | 
			
		||||
  for d
 | 
			
		||||
  do
 | 
			
		||||
    test "x$d" = x && continue
 | 
			
		||||
 | 
			
		||||
    pathcomp=$pathcomp$d
 | 
			
		||||
    case $pathcomp in
 | 
			
		||||
      -*) pathcomp=./$pathcomp ;;
 | 
			
		||||
    esac
 | 
			
		||||
 | 
			
		||||
    if test ! -d "$pathcomp"; then
 | 
			
		||||
      echo "mkdir $pathcomp"
 | 
			
		||||
 | 
			
		||||
      mkdir "$pathcomp" || lasterr=$?
 | 
			
		||||
 | 
			
		||||
      if test ! -d "$pathcomp"; then
 | 
			
		||||
	errstatus=$lasterr
 | 
			
		||||
      else
 | 
			
		||||
	if test ! -z "$dirmode"; then
 | 
			
		||||
	  echo "chmod $dirmode $pathcomp"
 | 
			
		||||
	  lasterr=
 | 
			
		||||
	  chmod "$dirmode" "$pathcomp" || lasterr=$?
 | 
			
		||||
 | 
			
		||||
	  if test ! -z "$lasterr"; then
 | 
			
		||||
	    errstatus=$lasterr
 | 
			
		||||
	  fi
 | 
			
		||||
	fi
 | 
			
		||||
      fi
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    pathcomp=$pathcomp/
 | 
			
		||||
  done
 | 
			
		||||
done
 | 
			
		||||
 | 
			
		||||
exit $errstatus
 | 
			
		||||
 | 
			
		||||
# Local Variables:
 | 
			
		||||
# mode: shell-script
 | 
			
		||||
# sh-indentation: 2
 | 
			
		||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
 | 
			
		||||
# time-stamp-start: "scriptversion="
 | 
			
		||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
 | 
			
		||||
# time-stamp-end: "$"
 | 
			
		||||
# End:
 | 
			
		||||
@@ -36,7 +36,8 @@ def globTests(option, opt_str, value, parser):
 | 
			
		||||
    globlist = []
 | 
			
		||||
 | 
			
		||||
    # maintain the idx so we can modify rargs
 | 
			
		||||
    while not parser.rargs[idx].startswith('-'):
 | 
			
		||||
    while idx < len(parser.rargs) and \
 | 
			
		||||
            not parser.rargs[idx].startswith('-'):
 | 
			
		||||
        globlist += glob.glob(parser.rargs[idx])
 | 
			
		||||
        idx += 1
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -219,8 +219,7 @@ class pmdb:
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        path = os.path.join(self.dbdir, self.treename, pkg.fullname())
 | 
			
		||||
        if not os.path.isdir(path):
 | 
			
		||||
            os.makedirs(path);
 | 
			
		||||
        mkdir(path)
 | 
			
		||||
 | 
			
		||||
        # desc
 | 
			
		||||
        # for local db entries: name, version, desc, groups, url, license,
 | 
			
		||||
@@ -332,7 +331,7 @@ class pmdb:
 | 
			
		||||
            mkdescfile(pkg.fullname(), pkg)
 | 
			
		||||
 | 
			
		||||
        # Generate database archive
 | 
			
		||||
        os.makedirs(path, 0755)
 | 
			
		||||
        mkdir(path)
 | 
			
		||||
        archive = os.path.join(path, "%s%s" % (self.treename, PM_EXT_DB))
 | 
			
		||||
        os.system("tar zcf %s *" % archive)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,7 @@ class pmpkg:
 | 
			
		||||
    """
 | 
			
		||||
 | 
			
		||||
    def __init__(self, name, version = "1.0-1"):
 | 
			
		||||
        self.path = "" #the path of the generated package
 | 
			
		||||
        # desc
 | 
			
		||||
        self.name = name
 | 
			
		||||
        self.version = version
 | 
			
		||||
@@ -116,7 +117,7 @@ class pmpkg:
 | 
			
		||||
        A package archive is generated in the location 'path', based on the data
 | 
			
		||||
        from the object.
 | 
			
		||||
        """
 | 
			
		||||
        archive = os.path.join(path, self.filename())
 | 
			
		||||
        self.path = os.path.join(path, self.filename())
 | 
			
		||||
 | 
			
		||||
        curdir = os.getcwd()
 | 
			
		||||
        tmpdir = tempfile.mkdtemp()
 | 
			
		||||
@@ -172,8 +173,11 @@ class pmpkg:
 | 
			
		||||
            os.system("touch .FILELIST")
 | 
			
		||||
            targets += " .FILELIST"
 | 
			
		||||
 | 
			
		||||
        #safely create the dir
 | 
			
		||||
        mkdir(os.path.dirname(self.path))
 | 
			
		||||
 | 
			
		||||
        # Generate package archive
 | 
			
		||||
        os.system("tar zcf %s %s" % (archive, targets))
 | 
			
		||||
        os.system("tar zcf %s %s" % (self.path, targets))
 | 
			
		||||
 | 
			
		||||
        os.chdir(curdir)
 | 
			
		||||
        shutil.rmtree(tmpdir)
 | 
			
		||||
 
 | 
			
		||||
@@ -57,6 +57,7 @@ class pmrule:
 | 
			
		||||
                if not grep(os.path.join(root, LOGFILE), key):
 | 
			
		||||
                    success = 0
 | 
			
		||||
            else:
 | 
			
		||||
                print "PACMAN rule '%s' not found" % case
 | 
			
		||||
                success = -1
 | 
			
		||||
        elif kind == "PKG":
 | 
			
		||||
            newpkg = localdb.db_read(key)
 | 
			
		||||
@@ -100,6 +101,7 @@ class pmrule:
 | 
			
		||||
                    if not found:
 | 
			
		||||
                        success = 0
 | 
			
		||||
                else:
 | 
			
		||||
                    print "PKG rule '%s' not found" % case
 | 
			
		||||
                    success = -1
 | 
			
		||||
        elif kind == "FILE":
 | 
			
		||||
            filename = os.path.join(root, key)
 | 
			
		||||
@@ -122,8 +124,10 @@ class pmrule:
 | 
			
		||||
                    if not os.path.isfile("%s%s" % (filename, PM_PACSAVE)):
 | 
			
		||||
                        success = 0
 | 
			
		||||
                else:
 | 
			
		||||
                    print "FILE rule '%s' not found" % case
 | 
			
		||||
                    success = -1
 | 
			
		||||
        else:
 | 
			
		||||
            print "Rule kind '%s' not found" % kind
 | 
			
		||||
            success = -1
 | 
			
		||||
 | 
			
		||||
        if self.false and success != -1:
 | 
			
		||||
 
 | 
			
		||||
@@ -38,6 +38,7 @@ class pmtest:
 | 
			
		||||
        self.name = name
 | 
			
		||||
        self.testname = os.path.basename(name).replace('.py', '')
 | 
			
		||||
        self.root = root
 | 
			
		||||
        self.cachepkgs = True
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return "name = %s\n" \
 | 
			
		||||
@@ -130,14 +131,15 @@ class pmtest:
 | 
			
		||||
            vprint("\t%s" % os.path.join(TMPDIR, pkg.filename()))
 | 
			
		||||
            pkg.makepkg(tmpdir)
 | 
			
		||||
        for key, value in self.db.iteritems():
 | 
			
		||||
            if key == "local":
 | 
			
		||||
                continue
 | 
			
		||||
            if key == "local": continue
 | 
			
		||||
            for pkg in value.pkgs:
 | 
			
		||||
                archive = pkg.filename()
 | 
			
		||||
                vprint("\t%s" % os.path.join(PM_CACHEDIR, archive))
 | 
			
		||||
                pkg.makepkg(cachedir)
 | 
			
		||||
                pkg.md5sum = getmd5sum(os.path.join(cachedir, archive))
 | 
			
		||||
                pkg.csize = os.stat(os.path.join(cachedir, archive))[stat.ST_SIZE]
 | 
			
		||||
                vprint("\t%s" % os.path.join(PM_CACHEDIR, pkg.filename()))
 | 
			
		||||
                if self.cachepkgs:
 | 
			
		||||
                    pkg.makepkg(cachedir)
 | 
			
		||||
                else:
 | 
			
		||||
                    pkg.makepkg(os.path.join(syncdir, value.treename))
 | 
			
		||||
                pkg.md5sum = getmd5sum(pkg.path)
 | 
			
		||||
                pkg.csize = os.stat(pkg.path)[stat.ST_SIZE]
 | 
			
		||||
 | 
			
		||||
        # Populating databases
 | 
			
		||||
        vprint("    Populating databases")
 | 
			
		||||
@@ -151,8 +153,7 @@ class pmtest:
 | 
			
		||||
        # Creating sync database archives
 | 
			
		||||
        vprint("    Creating sync database archives")
 | 
			
		||||
        for key, value in self.db.iteritems():
 | 
			
		||||
            if key == "local":
 | 
			
		||||
                continue
 | 
			
		||||
            if key == "local": continue
 | 
			
		||||
            archive = value.treename + PM_EXT_DB
 | 
			
		||||
            vprint("\t" + os.path.join(SYNCREPO, archive))
 | 
			
		||||
            value.gensync(os.path.join(syncdir, value.treename))
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										20
									
								
								pactest/tests/xfercommand001.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								pactest/tests/xfercommand001.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,20 @@
 | 
			
		||||
self.description = "Quick check for using XferCommand"
 | 
			
		||||
 | 
			
		||||
# this setting forces us to download packages
 | 
			
		||||
self.cachepkgs = False
 | 
			
		||||
#wget doesn't support file:// urls.  curl does
 | 
			
		||||
self.option['xfercommand'] = ['/usr/bin/curl %u > %o']
 | 
			
		||||
 | 
			
		||||
numpkgs = 10
 | 
			
		||||
pkgnames = []
 | 
			
		||||
for i in xrange(numpkgs):
 | 
			
		||||
    name = "pkg_%s" % i
 | 
			
		||||
    pkgnames.append(name)
 | 
			
		||||
    p = pmpkg(name)
 | 
			
		||||
    p.files = ["usr/bin/foo-%s" % i]
 | 
			
		||||
    self.addpkg2db("sync", p)
 | 
			
		||||
 | 
			
		||||
self.args = "-S %s" % ' '.join(pkgnames)
 | 
			
		||||
 | 
			
		||||
for name in pkgnames:
 | 
			
		||||
    self.addrule("PKG_EXIST=%s" % name)
 | 
			
		||||
@@ -247,6 +247,16 @@ def grep(filename, pattern):
 | 
			
		||||
    fd.close()
 | 
			
		||||
    return found
 | 
			
		||||
 | 
			
		||||
def mkdir(dir):
 | 
			
		||||
    if os.path.isdir(dir):
 | 
			
		||||
        return
 | 
			
		||||
    elif os.path.isfile(dir):
 | 
			
		||||
        raise OSError("'%s' already exists and is not a directory" % dir)
 | 
			
		||||
    else:
 | 
			
		||||
        parent, thisdir = os.path.split(dir)
 | 
			
		||||
        if parent: mkdir(parent) #recurse to make all parents
 | 
			
		||||
        vprint("making dir %s" % thisdir)
 | 
			
		||||
        if thisdir: os.mkdir(dir)
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    pass
 | 
			
		||||
 
 | 
			
		||||
@@ -486,17 +486,30 @@ fi
 | 
			
		||||
 | 
			
		||||
if [ "$CLEANCACHE" = "1" ]; then
 | 
			
		||||
	#fix flyspray feature request #5223
 | 
			
		||||
	if [ -n "$SRCDEST" ]; then
 | 
			
		||||
		msg "Cleaning up source files from the cache."
 | 
			
		||||
		rm -rf "$SRCDEST"/*
 | 
			
		||||
		if [ $? -ne 0 ]; then
 | 
			
		||||
			error "Problem removing files; you may not have correct permissions in $SRCDEST"
 | 
			
		||||
			exit 1
 | 
			
		||||
	if [ -n "$SRCDEST" -a "$SRCDEST" != "$startdir" ]; then
 | 
			
		||||
		msg "Cleaning up ALL files from $SRCDEST."
 | 
			
		||||
		echo -n "    Are you sure you wish to do this? [Y/n] "
 | 
			
		||||
		read answer
 | 
			
		||||
		answer=$(echo $answer | tr [:upper:] [:lower:])
 | 
			
		||||
		if [ "$answer" = "yes" -o "$answer" = "y" ]; then
 | 
			
		||||
			rm "$SRCDEST"/*
 | 
			
		||||
			if [ $? -ne 0 ]; then
 | 
			
		||||
				error "Problem removing files; you may not have correct permissions in $SRCDEST"
 | 
			
		||||
				exit 1
 | 
			
		||||
			else
 | 
			
		||||
				# removal worked
 | 
			
		||||
				msg "Source cache cleaned."
 | 
			
		||||
				exit 0
 | 
			
		||||
			fi
 | 
			
		||||
		else
 | 
			
		||||
			# answer = no
 | 
			
		||||
			"No files have been removed."
 | 
			
		||||
			exit 0
 | 
			
		||||
		fi
 | 
			
		||||
	else
 | 
			
		||||
		# $SRCDEST is $startdir, two possibilities
 | 
			
		||||
		error "Source destination must be defined in makepkg.conf."
 | 
			
		||||
		plain "In addition, please run makepkg -C outside of your cache directory."
 | 
			
		||||
		exit 1
 | 
			
		||||
	fi
 | 
			
		||||
fi
 | 
			
		||||
 
 | 
			
		||||
@@ -29,28 +29,29 @@ def createOptParser():
 | 
			
		||||
            "speed. Pacman mirror files are located in /etc/pacman.d/. It " \
 | 
			
		||||
            "can also rank one mirror if the URL is provided."
 | 
			
		||||
    parser = OptionParser(usage = usage, description = description)
 | 
			
		||||
    parser.add_option("-f", "--formatted", action = "store_true",
 | 
			
		||||
            dest = "formatted", default = False,
 | 
			
		||||
            help = "output in mirror file format")
 | 
			
		||||
    parser.add_option("-n", type = "int", dest = "num", default = 0,
 | 
			
		||||
            help = "number of servers to output, 0 for all")
 | 
			
		||||
                      help = "number of servers to output, 0 for all")
 | 
			
		||||
    parser.add_option("-t", "--times", action = "store_true",
 | 
			
		||||
                      dest = "times", default = False,
 | 
			
		||||
                      help = "only output mirrors and their response times")
 | 
			
		||||
    parser.add_option("-u", "--url", action = "store_true", dest = "url",
 | 
			
		||||
             default=False, help="test a specific url")
 | 
			
		||||
                      default = False, help = "test a specific url")
 | 
			
		||||
    parser.add_option("-v", "--verbose", action = "store_true",
 | 
			
		||||
            dest = "verbose", default = False, help ="be verbose in output")
 | 
			
		||||
                      dest = "verbose", default = False,
 | 
			
		||||
                      help = "be verbose in ouptut")
 | 
			
		||||
    return parser
 | 
			
		||||
 | 
			
		||||
def timeCmd(cmd):
 | 
			
		||||
    before = time.time();
 | 
			
		||||
    before = time.time()
 | 
			
		||||
    try:
 | 
			
		||||
        cmd();
 | 
			
		||||
        cmd()
 | 
			
		||||
    except KeyboardInterrupt, ki:
 | 
			
		||||
        raise ki
 | 
			
		||||
    except socket.timeout, ioe:
 | 
			
		||||
        return 'timeout'
 | 
			
		||||
    except Exception, e:
 | 
			
		||||
        return 'unreachable'
 | 
			
		||||
    return time.time() - before;
 | 
			
		||||
    return time.time() - before
 | 
			
		||||
 | 
			
		||||
def talkToServer(serverUrl):
 | 
			
		||||
    opener = urllib2.build_opener()
 | 
			
		||||
@@ -60,10 +61,32 @@ def getFuncToTime(serverUrl):
 | 
			
		||||
    return lambda : talkToServer(serverUrl)
 | 
			
		||||
 | 
			
		||||
def cmpPairBySecond(p1, p2):
 | 
			
		||||
    if p1[1] == p2[1]: return 0
 | 
			
		||||
    if p1[1] < p2[1]: return -1
 | 
			
		||||
    if p1[1] == p2[1]:
 | 
			
		||||
        return 0
 | 
			
		||||
    if p1[1] < p2[1]:
 | 
			
		||||
        return -1
 | 
			
		||||
    return 1
 | 
			
		||||
 | 
			
		||||
def printResults(servers, time, verbose, num):
 | 
			
		||||
    items = servers.items()
 | 
			
		||||
    items.sort(cmpPairBySecond)
 | 
			
		||||
    itemsLen = len(items)
 | 
			
		||||
    numToShow = num
 | 
			
		||||
    if numToShow > itemsLen or numToShow == 0:
 | 
			
		||||
        numToShow = itemsLen
 | 
			
		||||
    if itemsLen > 0:
 | 
			
		||||
        if time:
 | 
			
		||||
            print
 | 
			
		||||
            print ' Servers sorted by time (seconds):'
 | 
			
		||||
            for i in items[0:numToShow]:
 | 
			
		||||
                if i[1] == 'timeout' or i[1] == 'unreachable':
 | 
			
		||||
                    print i[0], ':', i[1]
 | 
			
		||||
                else:
 | 
			
		||||
                    print i[0], ':', "%.2f" % i[1]
 | 
			
		||||
        else:
 | 
			
		||||
            for i in items[0:numToShow]:
 | 
			
		||||
                print 'Server =', i[0]
 | 
			
		||||
 | 
			
		||||
if __name__ == "__main__":
 | 
			
		||||
    parser = createOptParser()
 | 
			
		||||
    (options, args) = parser.parse_args()
 | 
			
		||||
@@ -78,53 +101,57 @@ if __name__ == "__main__":
 | 
			
		||||
    if options.url:
 | 
			
		||||
        if options.verbose:
 | 
			
		||||
            print 'Testing', args[0] + '...'
 | 
			
		||||
        serverToTime = timeCmd(getFuncToTime(args[0]))
 | 
			
		||||
        print args[0], ':', serverToTime
 | 
			
		||||
        try:
 | 
			
		||||
            serverToTime = timeCmd(getFuncToTime(args[0]))
 | 
			
		||||
        except KeyboardInterrupt, ki:
 | 
			
		||||
            sys.exit(1)
 | 
			
		||||
        if serverToTime == 'timeout' or serverToTime == 'unreachable':
 | 
			
		||||
            print args[0], ':', serverToTime
 | 
			
		||||
        else:
 | 
			
		||||
            print args[0], ':', "%.2f" % serverToTime
 | 
			
		||||
        sys.exit(0)
 | 
			
		||||
 | 
			
		||||
    if not os.path.isfile(args[0]):
 | 
			
		||||
        print 'file', args[0], 'does not exist.'
 | 
			
		||||
        print >>sys.stderr, 'rankmirrors: file', args[0], 'does not exist.'
 | 
			
		||||
        sys.exit(1)
 | 
			
		||||
 | 
			
		||||
    fl = open(args[0], 'r')
 | 
			
		||||
    serverToTime = {}
 | 
			
		||||
    if options.formatted:
 | 
			
		||||
    if options.times:
 | 
			
		||||
        print 'Querying servers, this may take some time...'
 | 
			
		||||
    else:
 | 
			
		||||
        print "# Server list generated by rankmirrors on",
 | 
			
		||||
        print datetime.date.today()
 | 
			
		||||
    else:
 | 
			
		||||
        print 'Querying servers, this may take some time...'
 | 
			
		||||
    for ln in fl.readlines():
 | 
			
		||||
        splitted = ln.split('=')
 | 
			
		||||
        if splitted[0].strip() != 'Server':
 | 
			
		||||
            if options.formatted:
 | 
			
		||||
            if not options.times:
 | 
			
		||||
                print ln,
 | 
			
		||||
            continue
 | 
			
		||||
 | 
			
		||||
        serverUrl = splitted[1].strip()
 | 
			
		||||
        if serverUrl[-1] == '\n': serverUrl = serverUrl[0:-1]
 | 
			
		||||
        if options.verbose and options.formatted:
 | 
			
		||||
            print '#',serverUrl,'...',
 | 
			
		||||
        if serverUrl[-1] == '\n':
 | 
			
		||||
            serverUrl = serverUrl[0:-1]
 | 
			
		||||
        if options.verbose and options.times:
 | 
			
		||||
            print serverUrl, '...',
 | 
			
		||||
        elif options.verbose:
 | 
			
		||||
            print serverUrl,'...',
 | 
			
		||||
        elif not options.formatted:
 | 
			
		||||
            print '#', serverUrl, '...',
 | 
			
		||||
        elif options.times:
 | 
			
		||||
            print ' * ',
 | 
			
		||||
        sys.stdout.flush()
 | 
			
		||||
        serverToTime[serverUrl] = timeCmd(getFuncToTime(serverUrl))
 | 
			
		||||
        if options.verbose:
 | 
			
		||||
            print serverToTime[serverUrl]
 | 
			
		||||
 | 
			
		||||
    items = serverToTime.items()
 | 
			
		||||
    items.sort(cmpPairBySecond)
 | 
			
		||||
    numToShow = int(options.num)
 | 
			
		||||
    if numToShow == 0: numToShow = len(items)
 | 
			
		||||
    if len(items) > 0:
 | 
			
		||||
        if options.formatted:
 | 
			
		||||
            for i in items[0:numToShow]:
 | 
			
		||||
                print 'Server =', i[0]
 | 
			
		||||
        else:
 | 
			
		||||
        try:
 | 
			
		||||
            serverToTime[serverUrl] = timeCmd(getFuncToTime(serverUrl))
 | 
			
		||||
            if options.verbose:
 | 
			
		||||
                try:
 | 
			
		||||
                    print "%.2f" % serverToTime[serverUrl]
 | 
			
		||||
                except:
 | 
			
		||||
                    print serverToTime[serverUrl]
 | 
			
		||||
        except:
 | 
			
		||||
            print
 | 
			
		||||
            print ' Servers sorted by time:'
 | 
			
		||||
            for i in items[0:numToShow]:
 | 
			
		||||
                print i[1], ':', i[0]
 | 
			
		||||
            printResults(serverToTime, options.times, options.verbose,
 | 
			
		||||
                         options.num)
 | 
			
		||||
            sys.exit(0)
 | 
			
		||||
 | 
			
		||||
    printResults(serverToTime, options.times, options.verbose, options.num)
 | 
			
		||||
 | 
			
		||||
# vim: set ts=4 sw=4 et:
 | 
			
		||||
 
 | 
			
		||||
@@ -10,7 +10,7 @@ localedir = $(datadir)/locale
 | 
			
		||||
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
 | 
			
		||||
INCLUDES = -I$(top_srcdir)/lib/libalpm
 | 
			
		||||
 | 
			
		||||
AM_CFLAGS = -D_GNU_SOURCE $(CFLAGS) 
 | 
			
		||||
AM_CFLAGS = -D_GNU_SOURCE
 | 
			
		||||
 | 
			
		||||
pacman_SOURCES = \
 | 
			
		||||
	add.h add.c \
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -26,11 +28,12 @@
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "add.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "downloadprog.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "add.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef _PM_ADD_H
 | 
			
		||||
#define _PM_ADD_H
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
int pacman_add(alpm_list_t *targets);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -26,12 +28,13 @@
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "downloadprog.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
 | 
			
		||||
config_t *config_new()
 | 
			
		||||
{
 | 
			
		||||
 
 | 
			
		||||
@@ -51,7 +51,7 @@ typedef struct __config_t {
 | 
			
		||||
	unsigned short op_s_search;
 | 
			
		||||
	unsigned short op_s_upgrade;
 | 
			
		||||
	unsigned short group;
 | 
			
		||||
	unsigned int flags;
 | 
			
		||||
	pmtransflag_t flags;
 | 
			
		||||
	unsigned short noask;
 | 
			
		||||
	unsigned int ask;
 | 
			
		||||
} config_t;
 | 
			
		||||
 
 | 
			
		||||
@@ -25,46 +25,66 @@
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "deptest.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "deptest.h"
 | 
			
		||||
 | 
			
		||||
extern config_t *config;
 | 
			
		||||
 | 
			
		||||
int pacman_deptest(alpm_list_t *targets)
 | 
			
		||||
{
 | 
			
		||||
	int retval = 0;
 | 
			
		||||
	pmdb_t *local;
 | 
			
		||||
	pmpkg_t *pkg;
 | 
			
		||||
	alpm_list_t *i, *provides;
 | 
			
		||||
	alpm_list_t *i;
 | 
			
		||||
 | 
			
		||||
	if(targets == NULL) {
 | 
			
		||||
		return(0);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	local = alpm_option_get_localdb();
 | 
			
		||||
 | 
			
		||||
	for(i = targets; i; i = alpm_list_next(i)) {
 | 
			
		||||
		const char *pkgname;
 | 
			
		||||
	 
 | 
			
		||||
		pkgname = alpm_list_getdata(i);
 | 
			
		||||
		/* find this package in the local DB */
 | 
			
		||||
		pkg = alpm_db_get_pkg(local, pkgname);
 | 
			
		||||
		int found = 0;
 | 
			
		||||
		pmpkg_t *pkg;
 | 
			
		||||
		pmdepend_t *dep;
 | 
			
		||||
		const char *target;
 | 
			
		||||
		alpm_list_t *j, *provides;
 | 
			
		||||
 | 
			
		||||
		if(!pkg) {
 | 
			
		||||
		target = alpm_list_getdata(i);
 | 
			
		||||
 | 
			
		||||
		/* splitdep modifies the string... we'll compensate for now */
 | 
			
		||||
		char *saved_target = NULL;
 | 
			
		||||
		saved_target = calloc(strlen(target)+1, sizeof(char));
 | 
			
		||||
		strncpy(saved_target, target, strlen(target));
 | 
			
		||||
 | 
			
		||||
		dep = alpm_splitdep(target);
 | 
			
		||||
 | 
			
		||||
		pkg = alpm_db_get_pkg(alpm_option_get_localdb(), target);
 | 
			
		||||
		if(pkg && alpm_depcmp(pkg, dep)) {
 | 
			
		||||
			found = 1;
 | 
			
		||||
		} else {
 | 
			
		||||
			/* not found, can we find anything that provides this in the local DB? */
 | 
			
		||||
			provides = alpm_db_whatprovides(local, pkgname);
 | 
			
		||||
			if(!provides) {
 | 
			
		||||
				/* nope, must be missing */
 | 
			
		||||
				MSG(NL, _("requires: %s"), pkgname);
 | 
			
		||||
				retval = 1;
 | 
			
		||||
			provides = alpm_db_whatprovides(alpm_option_get_localdb(), target);
 | 
			
		||||
			for(j = provides; j; j = alpm_list_next(j)) {
 | 
			
		||||
				pmpkg_t *pkg;
 | 
			
		||||
				pkg = alpm_list_getdata(j);
 | 
			
		||||
 | 
			
		||||
				if(pkg && alpm_depcmp(pkg, dep)) {
 | 
			
		||||
					found = 1;
 | 
			
		||||
					break;
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		if(!found) {
 | 
			
		||||
			MSG(NL, _("requires: %s"), saved_target);
 | 
			
		||||
			retval = 1;
 | 
			
		||||
		}
 | 
			
		||||
		free(saved_target);
 | 
			
		||||
	}
 | 
			
		||||
	return(retval);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef _PM_DEPTEST_H
 | 
			
		||||
#define _PM_DEPTEST_H
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
int pacman_deptest(alpm_list_t *targets);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
@@ -32,10 +33,11 @@
 | 
			
		||||
#include <math.h>
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "downloadprog.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "downloadprog.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
 | 
			
		||||
/* progress bar */
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <stdarg.h>
 | 
			
		||||
@@ -28,6 +29,7 @@
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
@@ -182,19 +184,6 @@ int yesno(char *fmt, ...)
 | 
			
		||||
	pm_fprintf(stderr, NL, str); \
 | 
			
		||||
 | 
			
		||||
	if(fgets(response, 32, stdin)) {
 | 
			
		||||
		/* trim whitespace and newlines */
 | 
			
		||||
		char *pch = response;
 | 
			
		||||
		while(isspace(*pch)) {
 | 
			
		||||
			pch++;
 | 
			
		||||
		}
 | 
			
		||||
		if(pch != response) {
 | 
			
		||||
			memmove(response, pch, strlen(pch) + 1);
 | 
			
		||||
		}
 | 
			
		||||
		pch = response + strlen(response) - 1;
 | 
			
		||||
		while(isspace(*pch)) {
 | 
			
		||||
			pch--;
 | 
			
		||||
		}
 | 
			
		||||
		*++pch = 0;
 | 
			
		||||
		if(strlen(response) != 0) {
 | 
			
		||||
			strtrim(response);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,8 @@
 | 
			
		||||
#ifndef _PM_LOG_H
 | 
			
		||||
#define _PM_LOG_H
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
 | 
			
		||||
/* TODO these are illegal in ISO C, thus the reason -pedantic was never used
 | 
			
		||||
 * as a compile flag for the pacman side of things (named variadic macros) */
 | 
			
		||||
#define MSG(line, fmt, args...) pm_fprintf(stdout, line, fmt, ##args)
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -28,10 +30,11 @@
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
 | 
			
		||||
/* Display the content of an installed package
 | 
			
		||||
 *
 | 
			
		||||
@@ -80,7 +83,7 @@ void dump_pkg_full(pmpkg_t *pkg, int level)
 | 
			
		||||
		list_display(_("Required By    :"), alpm_pkg_get_requiredby(pkg));
 | 
			
		||||
	}
 | 
			
		||||
	list_display(_("Conflicts With :"), alpm_pkg_get_conflicts(pkg));
 | 
			
		||||
	printf(_("Installed Size : %ld K\n"), (long)alpm_pkg_get_size(pkg) / 1024);
 | 
			
		||||
	printf(_("Installed Size : %6.2f K\n"), (float)alpm_pkg_get_size(pkg) / 1024.0);
 | 
			
		||||
	printf(_("Packager       : %s\n"), (char *)alpm_pkg_get_packager(pkg));
 | 
			
		||||
	printf(_("Architecture   : %s\n"), (char *)alpm_pkg_get_arch(pkg));
 | 
			
		||||
	printf(_("Build Date     : %s %s\n"), bdate, strlen(bdate) ? "UTC" : "");
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,8 @@
 | 
			
		||||
#ifndef _PM_PACKAGE_H
 | 
			
		||||
#define _PM_PACKAGE_H
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
 | 
			
		||||
void dump_pkg_full(pmpkg_t *pkg, int level);
 | 
			
		||||
void dump_pkg_sync(pmpkg_t *pkg, const char *treename);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
@@ -44,6 +45,7 @@
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
@@ -165,7 +167,7 @@ static void version()
 | 
			
		||||
{
 | 
			
		||||
	printf("\n");
 | 
			
		||||
	printf(" .--.                  Pacman v%s - libalpm v%s\n", PACKAGE_VERSION, LIB_VERSION);
 | 
			
		||||
	printf("/ _.-' .-.  .-.  .-.   Copyright (C) 2002-2006 Judd Vinet <jvinet@zeroflux.org>\n");
 | 
			
		||||
	printf("/ _.-' .-.  .-.  .-.   Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>\n");
 | 
			
		||||
	printf("\\  '-. '-'  '-'  '-'\n");
 | 
			
		||||
	printf(" '--'                  \n");
 | 
			
		||||
	printf(_("                       This program may be freely redistributed under\n"));
 | 
			
		||||
 
 | 
			
		||||
@@ -4,3 +4,5 @@ fr
 | 
			
		||||
hu
 | 
			
		||||
it
 | 
			
		||||
pt_BR
 | 
			
		||||
en_GB
 | 
			
		||||
ru_RU
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1074
									
								
								src/pacman/po/en_GB.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1074
									
								
								src/pacman/po/en_GB.po
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1139
									
								
								src/pacman/po/hu.po
									
									
									
									
									
								
							
							
						
						
									
										1139
									
								
								src/pacman/po/hu.po
									
									
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1078
									
								
								src/pacman/po/ru_RU.po
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1078
									
								
								src/pacman/po/ru_RU.po
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@@ -19,6 +19,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <limits.h>
 | 
			
		||||
@@ -28,9 +30,10 @@
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "query.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
@@ -89,7 +92,7 @@ int pacman_query(alpm_list_t *targets)
 | 
			
		||||
	if(config->op_q_search) {
 | 
			
		||||
		alpm_list_t *ret = alpm_db_search(db_local, targets);
 | 
			
		||||
		if(ret == NULL) {
 | 
			
		||||
			return(1);
 | 
			
		||||
			return(0);
 | 
			
		||||
		}
 | 
			
		||||
		for(i = ret; i; i = alpm_list_next(i)) {
 | 
			
		||||
			char *group = NULL;
 | 
			
		||||
@@ -186,8 +189,7 @@ int pacman_query(alpm_list_t *targets)
 | 
			
		||||
				return(1);
 | 
			
		||||
			}
 | 
			
		||||
			if(config->op_q_info) {
 | 
			
		||||
				dump_pkg_full(info, 0);
 | 
			
		||||
				MSG(NL, "\n");
 | 
			
		||||
				dump_pkg_full(info, config->op_q_info);
 | 
			
		||||
			}
 | 
			
		||||
			if(config->op_q_list) {
 | 
			
		||||
				dump_pkg_files(info);
 | 
			
		||||
@@ -257,6 +259,16 @@ int pacman_query(alpm_list_t *targets)
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			/* find a target */
 | 
			
		||||
			if(config->op_q_info) {
 | 
			
		||||
				dump_pkg_full(info, config->op_q_info);
 | 
			
		||||
			}
 | 
			
		||||
			if(config->op_q_list) {
 | 
			
		||||
				dump_pkg_files(info);
 | 
			
		||||
			}
 | 
			
		||||
			if(!config->op_q_info && !config->op_q_list) {
 | 
			
		||||
				MSG(NL, "%s %s\n", alpm_pkg_get_name(info),
 | 
			
		||||
				                   alpm_pkg_get_version(info));
 | 
			
		||||
			}
 | 
			
		||||
			if(config->op_q_changelog) {
 | 
			
		||||
				char changelog[PATH_MAX];
 | 
			
		||||
				snprintf(changelog, PATH_MAX, "%s%s/%s/%s-%s/changelog",
 | 
			
		||||
@@ -265,16 +277,6 @@ int pacman_query(alpm_list_t *targets)
 | 
			
		||||
								 alpm_pkg_get_name(info),
 | 
			
		||||
								 alpm_pkg_get_version(info));
 | 
			
		||||
				dump_pkg_changelog(changelog, alpm_pkg_get_name(info));
 | 
			
		||||
			} else if(config->op_q_info) {
 | 
			
		||||
				dump_pkg_full(info, config->op_q_info);
 | 
			
		||||
			} else if(config->op_q_list) {
 | 
			
		||||
				dump_pkg_files(info);
 | 
			
		||||
			} else if(config->op_q_orphans) {
 | 
			
		||||
				if(alpm_pkg_get_requiredby(info) == NULL) {
 | 
			
		||||
					MSG(NL, "%s %s\n", alpm_pkg_get_name(info), alpm_pkg_get_version(info));
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				MSG(NL, "%s %s\n", alpm_pkg_get_name(info), alpm_pkg_get_version(info));
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef _PM_QUERY_H
 | 
			
		||||
#define _PM_QUERY_H
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
int pacman_query(alpm_list_t *targets);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,8 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -26,11 +28,12 @@
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "remove.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "remove.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
 | 
			
		||||
extern config_t *config;
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef _PM_REMOVE_H
 | 
			
		||||
#define _PM_REMOVE_H
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
int pacman_remove(alpm_list_t *targets);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -19,16 +19,15 @@
 | 
			
		||||
 *  USA.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#if defined(__APPLE__) || defined(__OpenBSD__)
 | 
			
		||||
#include <sys/syslimits.h>
 | 
			
		||||
#endif
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
#include <dirent.h>
 | 
			
		||||
#include <libintl.h>
 | 
			
		||||
@@ -41,13 +40,14 @@
 | 
			
		||||
#include <download.h> /* downloadLastErrString */
 | 
			
		||||
/* TODO remove above download.h inclusion once we abstract more, and also
 | 
			
		||||
 * remove it from Makefile.am on the pacman side */
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "downloadprog.h"
 | 
			
		||||
#include "package.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "sync.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
 | 
			
		||||
extern config_t *config;
 | 
			
		||||
 
 | 
			
		||||
@@ -21,7 +21,7 @@
 | 
			
		||||
#ifndef _PM_SYNC_H
 | 
			
		||||
#define _PM_SYNC_H
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
#include <alpm_list.h>
 | 
			
		||||
 | 
			
		||||
int pacman_sync(alpm_list_t *targets);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,7 @@
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
#include "config.h"
 | 
			
		||||
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
@@ -30,10 +31,11 @@
 | 
			
		||||
#include <wchar.h>
 | 
			
		||||
 | 
			
		||||
#include <alpm.h>
 | 
			
		||||
 | 
			
		||||
/* pacman */
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "util.h"
 | 
			
		||||
#include "log.h"
 | 
			
		||||
#include "trans.h"
 | 
			
		||||
#include "conf.h"
 | 
			
		||||
 | 
			
		||||
#define LOG_STR_LEN 256
 | 
			
		||||
@@ -169,7 +171,8 @@ void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,
 | 
			
		||||
					*response = 0;
 | 
			
		||||
				}
 | 
			
		||||
			} else if(data2) {
 | 
			
		||||
				snprintf(str, LOG_STR_LEN, _(":: %s requires %s, but it is in IgnorePkg. Install anyway? [Y/n] "),
 | 
			
		||||
				/* TODO we take this route based on data2 being not null? WTF */
 | 
			
		||||
				snprintf(str, LOG_STR_LEN, _(":: %1$s requires %2$s from IgnorePkg. Install %2$s? [Y/n] "),
 | 
			
		||||
				         alpm_pkg_get_name(data1),
 | 
			
		||||
				         alpm_pkg_get_name(data2));
 | 
			
		||||
				*response = yesno(str);
 | 
			
		||||
 
 | 
			
		||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user