Commit Graph

158 Commits

Author SHA1 Message Date
Dan McGee f0051a7678 Remove AC_TYPE_SIGNAL usage
This macro is deemed unnecessary by even the autoconf guys, so we really
don't need to use it.

Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-12-12 20:29:30 -06:00
Dan McGee fc74ef93b6 dirent usage cleanup
We were including the header in a lot of places it is no longer used.
Additionally, use the correct autoconf macro for determining whether
d_type is available as a member: HAVE_STRUCT_DIRENT_D_TYPE.

Signed-off-by: Dan McGee <dan@archlinux.org>
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-12-12 20:29:20 -06:00
Dan McGee 6eedf06fcc Fix bash shell location check
BASH is defined when you are actually using bash during configure, which
sucks because it ends up being '/bin/sh', messing up all of our scripts.
Change the name of the variable we use in configure, and also ensure we get
a full path to the executable by using AC_PATH_PROGS rather than
AC_CHECK_PROGS. Finally, change the variable name everywhere we use it.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-13 17:50:54 -05:00
Nezmer 05f0a28932 Use sysconfdir, localstatedir, BASH instead of hardcoded values
This applies to contrib/ files, our scripts, and the documentation.

Dan: fix 'make clean' in contrib/ directory.

Signed-off-by: Nezmer <git@nezmer.info>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-11 20:29:22 -05:00
Dan McGee 73442a7e03 Only check for function if we are using libfetch
We did this check unconditionally, rather than only doing it if we were
actually going to build and run with libfetch. This is safe because we would
have already bailed if libfetch was explicitly requested but not found.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-11 10:06:57 -05:00
Dan McGee bef19a266b Merge branch 'maint' 2010-10-05 11:15:56 -05:00
Allan McRae 283ef6519a Check for python-2.7
Add python-2.7 to the list of checked versions of python and add a
check for a python2 binary before resorting to the unversioned
python binary.

Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-10-05 11:14:31 -05:00
Dan McGee dff06a8170 Merge branch 'build-system' 2010-09-27 09:21:02 -05:00
Allan McRae 900605912b Add FORTIFY_SOURCE support
Adds a check for the minimum mainline GCC version for FORTIFY_SOURCE
support and enables -D_FORTIFY_SOURCE=2 by default when building with
--enable-debug.

Signed-off-by: Allan McRae <allan@archlinux.org>
2010-09-27 16:06:52 +10:00
Dan McGee f489e969f0 Update build system (automake, autoconf, libtool)
Unfortunately this patch is hard to split up into smaller chunks. Our build
system and the associated automake/autoconf/libtool macros has been left
untouched for a while, and could use a refresher.

* Upgrade ltmain.sh to the latest version
* Move away from a huge acinclude.m4 directory to using individual files in
  the m4/ subdirectory, suggested by upstream automake documentation
* Update all macros to their latest available version
* Adjust Makefile.am and autogen.sh to accommodate m4/ subdirectory

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-23 09:10:53 -05:00
Dan McGee fe788ee4a6 Fix libfetch configure checking
I don't know what I tested in commit 3e7b90ff69, but it definitely wasn't
working as advertised. Fix the checks in the source code itself to match the
right define (HAVE_LIBFETCH), as well as make sure the configure check
defaults to looking for the library but not bailing if it could not be
found.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-06 11:20:51 -05:00
Dan McGee 3e7b90ff69 Clean up libfetch checking in configure
Model it after the new OpenSSL check, and have it be a bit more useful. If
you do not explicitly pass a command line option, it will be linked if
available but will not error out if it is missing. Also bump the version to
that where connection caching was introduced as we use these new features in
the codebase.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-02 12:30:36 -05:00
Dan McGee eba521913d Use OpenSSL MD5 crypto functions if available
I've noticed my Atom-powered laptop is dog-slow when doing integrity checks
on packages, and it turns out our MD5 implementation isn't near as good as
that provided by OpenSSL. Using their routines instead provided anywhere
from a 1.4x up to a 1.8x performance benefit over our built-in MD5 function.

This does not remove the MD5 code from our codebase, but it does enable
linking against OpenSSL to get their much faster implementation if it is
available on whatever platform you are using. At configure-time, we will
default to using it if it is available, but this can be easily changed by
using the `--with-openssl` or `--without-openssl` arguments to configure.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-02 12:05:23 -05:00
Dan McGee 5a25f54757 Merge branch 'maint' 2010-09-01 21:19:06 -05:00
Dan McGee 9d3a8efb7b 3.4.1 version bump
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-09-01 21:16:49 -05:00
Allan McRae 68dcabdfbe Remove DBEXT usage
With commit 5dffef78, the repo database always has a symlink
of the form reponame.db.  Use that filename and let libarchive
determine the compression type.

Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-07-07 07:25:55 -05:00
Allan McRae 0ea52e3a4f makepkg: try standard paths for coreutils du
Attempt to find "du" from coreutils in the standard paths and if
not revert to the version in the users PATH.  Using the full path
prevents issues such as FS#19932, where a different and incompatible
version of du is put earlier in the users path.

Signed-off-by: Allan McRae <allan@archlinux.org>
2010-06-30 08:27:29 -05:00
Dan McGee 7fc50d7950 Revert disabling of make in doc/ dir by default
This is a partial revert of commit d44e5099. By making disabling docs the
default, it presents all sorts of problems- namely anyone who builds from a
tarball and isn't careful enough to include '--enable-doc' will get an
install without any manpages at all. Remember that make includes both
'build' and 'install' steps.

The warning introduced by the commit is kept, so we do not lose all its
benefits, but I am not happy to see regressions introduced in packaging and
installing of this piece of software.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-17 00:01:23 -05:00
Dan McGee 2ee186506c Add test/util directory as necessary to build files
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-16 21:00:44 -05:00
Dan McGee 46b170a26e Bump configure.ac versions for 3.4.0 release
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-04 17:02:24 -05:00
Allan McRae 844d82fad8 Move pacman test suite
Move the test suite to test/pacman in order to make a logical
location for a future makepkg test suite.

Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-06-02 13:14:51 -05:00
Xavier Chantry d44e509933 configure.ac : disable doc by default and check for asciidoc
This is a complaint that has been reported many many times. By default, docs
are enabled and there is no check for asciidoc, so anyone building from git
will see their build fail.

We cannot do a strict check for asciidoc because released source tarballs
have man pages already built, and it should be possible to install them
without having asciidoc.

This patch attempts to improve the situation in two ways :
1) disable doc by default
2) print a warning if docs are enabled but asciidoc is not installed

Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-18 11:30:29 -05:00
Marc-A. Dahlhaus 5752e276fb Allow to include a path containing wildcards
Dan: line wrapping and man page touchup.

Signed-off-by: Marc-A. Dahlhaus <mad@wol.de>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-18 11:26:22 -05:00
Dan McGee 6b6eb6345b Fix up the cross-compilation patch library lookup
Don't explicitly add things to the list that might not need to be there, and
get the fallback list of libraries correct.

Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-04 23:43:43 -05:00
Matthias Lanzinger bf7c3eb17f Fix cross-compilation issues with git and libfetch
This patch fixes 2 issues I encountered when cross-compiling pacman.
First is the test for libfetch which requires explicit linking to all
libraries libfetch depends on.

The other problem results from the AC_CHECK_PROGS test for git. This
test will stop configure with an error when cross-compiling.
The fix moves the call to AC_CHECK_PROG so that is only called of
--enable-git is actually set.

Signed-off-by: Matthias Lanzinger <mlaenz@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25 21:28:01 -05:00
Cedric Staniewski 5fe41df8a9 makepkg: make strip options configurable
The newly added variables STRIP_BINARIES, STRIP_SHARED and STRIP_STATIC,
that are set in makepkg.conf, specify the strip options used on binaries
and shared and static libraries.
In addition, files are now stripped more aggressively by default.

Implements FS#13592 the way it was suggested by Allan in the comments.

Signed-off-by: Cedric Staniewski <cedric@gmx.ca>
Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14 18:34:16 -05:00
Dan McGee e09253d15b Necessary updates for 3.3.3 release
Should cover everything worth mentioning in NEWS, plus the version number
bumps as usual.

Signed-off-by: Dan McGee <dan@archlinux.org>
2009-11-10 16:18:05 -06:00
Dan McGee a131c468f7 3.2.2 release changes
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-10-04 16:59:48 -05:00
Dan McGee 20aa17c276 repo-add: make sure we get size of target file
If the package we were adding was a symlink, we stuck the symlink size in
the database rather than the size of the file it referred to. Whoops!

Signed-off-by: Dan McGee <dan@archlinux.org>
2009-09-23 19:11:34 -05:00
Dan McGee ed9d459ee2 Updates in prep for 3.3.1 release
Bump versions in configure.ac; update NEWS accordingly

Signed-off-by: Dan McGee <dan@archlinux.org>
2009-09-16 20:43:48 -05:00
Henning Garus a05757f984 Configure: Check if libfetch version is >= 2.21
Commit 6f97842 started using libfetch's conditional GET. This requires
libfetch to be version 2.21 or greater.

Change configure.ac to check for the existence of the last_modified field in
the url struct, which was introduced with libfetch 2.21.

Signed-off-by: Henning Garus <henning.garus@gmail.com>
[Xav : moved AC_CHECK_MEMBER outside of AC_CHECK_LIB]
Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-09-06 15:33:34 -05:00
Xavier Chantry 8a55b79363 re-add -g CFLAGS with --enable-debug
after commit 8feccaed78, -g was no longer added with
--enable-debug.

So if CFLAGS was set (if unset, it defaults to -g -O2) and didn't contain
-g, we ended with no debug symbols..

Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-08-18 20:38:08 -05:00
Dan McGee 4eb1469765 Version bump for 3.3.0
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-08-01 13:35:59 -05:00
Allan McRae f569c4a042 makepkg: several small fixes
1) Do not attempt to strip compressed binaries
Original-work-by: Marc - A. Dahlhaus <mad@wol.de>

2) Add "\" in "GPL\'ed" so quote mark does not break source code highlighting

3) Add local to docdir paths in makepkg.conf for consistency

4) Use full path to sed in MacOSX in case users have GNU sed earlier in
path

Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-05-11 21:23:46 -05:00
Allan McRae c27904661e makepkg: make in-place sed portable
Do a sed replacement in-place is not very portable.  On Mac OSX and
BSDs, the syntax is "sed -i ''" where as with GNU sed the command is
"sed -i''" or just "sed -i".  This patch detects which command should
be used during configure.

Credit to Kevin Barry who researched this issue and provided a patch
to work around this using temporary backup files.

Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-04-26 09:22:23 -05:00
Dan McGee d8d9ab8c87 Update checks for python in configure
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-02-28 15:46:51 -06:00
Kevin Barry 14c1a4423e configure.ac: use full path of stat for Mac OS X
Change configure.ac to use the full path of stat when on darwin/mac.
This is needed for situations when a user installs the GNU/coreutils
and places it in their path before /usr/bin, but the SIZECMD is
already configured for Darwin's version of stat.

Signed-off-by: Kevin Barry <barryk gmail com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-02-16 08:06:29 -06:00
Xavier Chantry 8017b0bb8e Remove libdownload support and fix libfetch one.
Aaron said to consider libdownload a dead project so libdownload support was
removed to more easily fix libfetch one (otherwise many ifdef needed).

There was no direct replacement for ferror to detect an error while
downloading. So instead, I added a check at the end to see if the file was
fully downloaded, which is just a small chunk of code taken from here:
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/net/libfetch/files/fetch.c?only_with_tag=MAIN

Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-12 22:40:15 -06:00
Dan McGee 0501d340cd Merge branch 'maint' 2009-01-06 20:22:15 -06:00
Dan McGee cebe36c42c Update configure.ac for 3.2.2 release
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-04 11:34:47 -06:00
Allan McRae 8f26bb9052 makepkg: move BUILDSCRIPT from makepkg.conf
Commit 4b183bf9 moved makepkg.conf sourcing to after the parsing
of options, breaking the -p option and --help output.  The solution
is to move BUILDSCRIPT out of makepkg.conf.  This patch moves the
definition BUILDSCRIPT back to makepkg itself and adds configure
option to allow easy changing of this value during build time.

Signed-off-by: Allan McRae <allan@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2009-01-03 00:13:54 -06:00
Dan McGee fa02a71abd Merge branch 'maint' 2008-10-12 21:36:45 -05:00
Dan McGee d7e502a467 Attempt to idiot-proof making and refreshing docs
I mess this up more often than not, and maybe this will do the trick. Remove
the --enable-asciidoc option as it has been superseded by the --disable-doc
option in usefulness. If you want to skip building docs, you skip building
all docs which is much easier when it comes to ensuring the make 'dist' and
'distcheck' targets will always build the manpages and always build the most
up to date manpages.

Developers shouldn't be affected in their normal builds, nor should end
users of the source tarball.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-10-12 21:29:33 -05:00
Dan McGee 1c47500ea6 Merge branch 'maint' 2008-08-26 20:11:25 -05:00
Dan McGee 8263bd0cc2 Updates in preparation for 3.2.1 release
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-25 18:23:57 -05:00
Henning Garus ec928faad3 Add autotools magic for pactests
Added a Makefile.am for the pactest/tests dir. This is a blatant ripoff
of scripts/Makefile.am, which replaces predefined expressions in
NAME.py.in pactests with configure variables.
This can be used to write pactests which consider compile time options.

Signed-off-by: Henning Garus <henning.garus@gmail.com>
[Dan: autotools are tough, make a few adjustments for correctness]
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-23 18:00:37 -05:00
Dan McGee 282eeadc68 Factor shell script size command into configure script
Commit 149839c539 introduced a small behavior regression as a drawback
for a better portability. repo-add now includes the approximate size (to the
nearest KB) rather than an exact size due to the switching of the du command
to a more portable form. Instead of sacrificing the exact size, use
configure to help us determine a valid command to acquire our filesize and
place it in the sync database.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-08-19 23:29:56 -05:00
Dan McGee fabf7ad6c4 Version bumps to configure for 3.2.0 release
Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-30 19:28:07 -05:00
Dan McGee e6fb229534 Remove unused strverscmp substitute
Our internal vercmp function was the only user of this, and it no longer
relies on it.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-24 22:16:28 -05:00
Dan McGee 95995ae93f Remove pacman.static build from build files
This presents plenty of problems on OSes besides Linux, and even on Linux
when the libtool file for libarchive isn't present. The static build isn't
all that useful anyway as missing something such as glibc will still leave
you unable to run the pacman.static binary. Remove it from the formal build
process.

Signed-off-by: Dan McGee <dan@archlinux.org>
2008-07-15 19:05:24 -05:00