Final frugalware changes commit

This commit is contained in:
Aaron Griffin 2006-10-15 19:38:02 +00:00
parent 3f27542156
commit 9481022286
18 changed files with 5528 additions and 104 deletions

View File

@ -3,3 +3,6 @@ Aurelien Foret <aurelien@archlinux.org>
Miklós Vajna <vmiklos@frugalware.org>
Christian Hamar <krics@linuxforum.hu>
Josh Wheeler <deltalima@gmail.com>
David Kimpe <DNAku@frugalware.org>

View File

@ -1,4 +1,13 @@
SUBDIRS = lib/libftp lib/libalpm src/util src/pacman scripts doc
SUBDIRS = lib/libftp lib/libalpm src/util src/pacman scripts doc etc
if HAS_PERL
SUBDIRS += bindings/perl
endif
if HAS_PYTHON
SUBDIRS += bindings/python
endif
if HAS_JAVA
SUBDIRS += bindings/java
endif
EXTRA_DIST = \
ChangeLog \
@ -6,3 +15,6 @@ EXTRA_DIST = \
README \
TODO \
TODO.autoconf
check:
cd pactest; python pactest.py --test=tests/*.py -p ../src/pacman/pacman --debug=1

202
NEWS
View File

@ -1,5 +1,207 @@
VERSION DESCRIPTION
-----------------------------------------------------------------------------
3.4.0 - makepkg -R now uses the pacman from the chroot if it is
possible
- makepkg now handles .cpio.(bz2|gz)
- libalpm is now statically linked to libftp
3.3.9 - bugfix for holdpkgs during an upgrade
- fix building with --enable-debug
- fixed the download progressbar
- -Ss works again for multiple repos
- bugfix for -Sp
- downloads are interruptable again
3.3.8 - new libalpm function: alpm_db_search()
- pactest: initial import, run make check to call it
- new libalpm function: alpm_parse_config()
- new libalpm function: alpm_fetch_pkgurl()
- implemented the progressbar for pacman -R
3.3.7 - the package name is now properly displayed in the progressbar
during install/upgrade
- updatesync: bugfix when deleting packages from the repo
- create /tmp before locking the database, useful when -r is used
in an empty dir
- makepkg: recoginze .TGZ, .ZIP and other uppercase extensions
- python: added a few casting functions
3.3.6 - ported libalpm to Solaris/Sparc
- bugfixes in the Hungarian translation
- bugfix for pacman -Qi -p
- new function in libalpm: alpm_db_setserver()
- incremented libalpm's sover due to new error codes intruduced
by alpm_db_setserver()
- added python bindings
3.3.5 - fixed a stale lockfile problem (when packages were corrupted)
- fixed problem when sometimes ^C was ignored
- new pacman option: --ask
- libalpm: prefixed all internal functions with _alpm
- makepkg: bugfix for suboptions=('nostrip')
- new package property: "build type" - it can be "chroot" or
custom
- updated Hungarian translation
3.3.4 - the old extra repo is now merged to the frugalware one
- handle the case properly when the user hits ^C during a
package install
- fix the output of scriptlet messages
- check if enough free space if available
3.3.3 - pipe and parse scriptlet messages. see man FrugalBuild
- new mirror: ftp10
- udatesync: use bzip2 instead of gzip for package databases
- update/gensync: bugfix for the pkgdesc_localized directive
- Hungarian translation update
- fixed several compilation warning
- ia64 support
- manpage split: moved the FrugalBuild specific part from
man makepkg to man FrugalBuild
- minor bugfixes in makepkg
3.3.2 - gettext improvements
- French translation
- makepkg support and documentation for pkgdesc localization
- pacman: display uncompressed package size by default on upgrade
3.3.1 - initial support for pkgdesc localization
- bugfix for -Qi and -Qm
- fix -Sg for multiple repos
- drop the NoUpgrade lines from the default config
- makepkg: when removing the pkg dir, remove the subpkgs' pkg
dir, too
- significant speedup while sorting dependencies with libalpm
- fixes for pacman's -r option in pacman and libalpm
- initial support for uncompressed package sizes in a sync repo
3.3.0 - minor fixes for de_DE, hu_HU and tr_TR
3.2.9 - seems that the original pacman3's release is delayed so it's
no good in waiting for it. changed the versioning scheme to
our usual x.y.z
- i18n fixes:
- in the german translation
- in makepkg
- gpg support in makepkg
2.8.99.28 - added gettext support
- added German and Hungarian translation for libalpm and pacman
2.9.99.27 - scripts: cleanup, they now require util.sh from FST
- makepkg: handle spaces in source filenames
- makepkg: spelling fixes
- libalpm: fixed a few messages' verbosity level
- ./autogen.sh --dist now allows to build a snapshot fpm
2.9.99.26 - makepkg: new option -t (to be used with -R)
- added i386, OpenBSD and OS X support
- updated mirror list
- spelling fixes
- bugfix in pacman (dbpath initialization)
2.9.99.25 - bugfix in the conflicts/provides handling code
- spelling fix in makepkg
- include the root string (ie. a slash) in file conflict error
messages
- gensync: bugfix for subpkgs
2.9.99.24 - fixed the location of the locally installed packages'
install/changelog file (so that pre/post_remove and -Qc works
perfectly again)
- allow repo names to be longer than 128 chars
- fixed pacman -v output (not a bug just it was ugly)
2.9.99.23 - bugfix for -Sy
- gensync: ignore _darcs/ directories
2.9.99.22 - new feature: options=('scriptlet') to force executing the
install scriptlets even if one builds in a chroot
- makepkg -RC now uses the chroot's pacman.conf to determine
what packages need to be removed. this is especially useful
if you use unofficial repos only in chroot
- the testsuite is replaced by pactest, see HACKING
2.9.99.21 - bugfix release
2.9.99.20 - handle --noprogress on install/upgrade, too
- disable progressbar by default if the output is redirected
- offer deleting a packages if it is corrupted
- makepkg: install subpackages with -i, too
in chroot sync /etc/pacman.d/* from the host system
use the chroot's pacman.conf when it's available
- new pacman option: --noscriptlet for disabling install
scriptlets
- new variable in makepkg: $FCC in case the package would use
gcc directly (not from $PATH)
2.9.99.19 - more verbose error messages on corrupted packages
- makepkg: added support for clearing the cache of ccache
slice warnings for LANG!=C
- gen/updatesync: bugfix for subdescs() and subarchs()
no longer ignore the Finclude function call
2.9.99.18 - makepkg now allows to inherit install scriptlets from a
scheme
- allow multiple packages to be installed at once with -U
- added SBU variable to makepkg.conf
- 3 major bugfixes from upstream
2.9.99.17 - support for having subpkgs in an other repo. this affects
gensync and updatesync, also makepkg's manpage is updated
- support for handle version comparators in makepkg
- bugfix for Finclude in makepkg
- removed exit() calls from libalpm
- bugfix for nobuild packages in sync
2.9.99.16 - fixed a possible infinite loop during -S
- remove stale lockfile when pacman is interrupted
- new directive: added suboptions() and subarchs() for
FrugalBuilds
- added 'nofakeroot' to options()
- new makepkg witch: -RCC, now -RC only cleans the chroot
2.9.99.15 - fix 'error: transaction already initialized' when using -D
2.9.99.14 - documentation: improved libalpm manpages an added a main
libalpm(3) manpage
- yet another bugfix for the install/upgrade progressbar
- remove stale lockfile after -R/-A
- fixed a segfault when removing a package that is reqired by
other packages
2.9.99.13 - Allow queries (-Q, -Si, etc) during an other pacman is
running (ie. -Syu)
- Two bugfixes in connection with provides
- Improved makepkg output for subpackages (crazy)
2.9.99.12 - fixed preparing docs, 2.9.99.11 always supposed we want to
disable that feature
2.9.99.11 - fixed progressbar when installing and upgrading packages at
the same time
- in general, modified makeworld to work properly on Frugalware
- makepkg: if build fails, save the buildlog when using -R
- sudo improvements for makepkg & makeworld
- display "checking for conflicting files..." during -S
- initial doxygen support
2.9.99.10 - fixed -Sg output - now frugalpkg works again
- fixed a double free() when installing conflicting packages
- fixed an annoying bug with progressbar, now works as it did
in the pacman 2.x times
- don't care about a to-be-replaced package's newer version
2.9.99.9 - fixed -S/-U/-A segfault. hopefully not everybody upgraded
yet...
2.9.99.8 - if you have foo installed, and bar replaces + provides foo,
then remove foo, and install bar (now works again)
- upgrade only pacman first during a -Su
- removed duplicated error messages
- more verbose error message for conflicting files when using
-S
2.9.99.7 - bugfix for -Sg
- if pacman can't create its cachedir, then use /tmp (bugfix)
2.9.99.6 - bugfix for -Rs
- pre_install/pre_upgrade scripts are working again
- added a -f option to gensync/updatesync (don't die if the fpm
is missing)
- bugfix for --ignore
- added ppc support (to configure)
- handle broken databases (just print an error message, don't
segfault)
- more verbose error messages for unsatisfied dependencies
2.9.99.5 - re-added SBU support to makepkg (which was accidently dropped
by 2.9.99.0)
- initial package splitting support
- memleak fixes
- more verbose error messages on file conflicts
2.9.99.4 - fixed running scriptlets when -r is used
- don't die on up to date databases (when you do -Sy twice)
- more verbose error messages (ie. when there is a missing
dependency)
2.9.99.3 - fixed -v option
- allow c++ usage in alpm.h
- fixed logging everything twice to pacman.log
2.9.99.2 - makepkg -R works again if you haven't had a chroot yet (was a
pacman bug)
- output fix for -Sy
- if you have installed foo, and then you do a -S bar, then now
pacman offers you to remove foo (as it should)
2.9.99.1 - fix makepkg -g
- makepkg: fixed changelog generation
- fixed --noconfirm
2.9.99.0 - this is the first release which is based on pacman-lib
(converted the initial cvs repo to darcs)
2.9.8 - Changed behaviour with original=X,current=Y,new=Z scenario
- keep old in place, install new as .pacnew
- Search package provides when finding matching targets with -S

13
README
View File

@ -268,3 +268,16 @@ Single chained list.
A minimalistic chained list implementation to store options from the
configuration file, and targets passed to pacman on the command line.
LIMITATIONS/BEHAVIOR CHANGES COMPARED TO PACMAN 2.9
===================================================
Excepted missing features still needing to be implemented, one can
notice the following limitations:
- If pacman is out of date, the frontend displays a warning and recommends
to give up the on-going transanction. The frontend does not allow to
upgrade pacman itself on-the-fly, and thus it should be restarted with
only "pacman" as a target.
- ...

29
TODO
View File

@ -1,8 +1,6 @@
GLOBAL
======
- add i18n (gettext) support
- get ride of "ORE" tags.
@ -23,8 +21,31 @@ verbose mode, which usage for the library log callback, debug levels, ...)
- add .lastupdate files support for "files" db downloads
- review .lastupdate implementation: is the .lastupdate file really needed?
TRANSLATION
===========
po files
--------
cs.po - mail sent
es.po - created by Matt, pending
fr.po - mail sent
nl.po - mail sent
pl_PL.po - mail sent
pt_BR.po - mail sent
we need to mail them:
pt_PT.po
ru.po
sv.po
zh_CN.po
manpages
--------
we need to mail them:
es
hu - we need somebody who'll do the work
pl_PL
pt_BR
zh_CN
ADDITIONAL IDEAS FOR PERFORMANCE IMPROVEMENT
============================================
@ -34,5 +55,3 @@ that basically contains the output of `ls -1 /var/lib/pacman/{repo}`. This
cache file could be used in -Q and -Si/s operations to speed up package
listings.
- move the cache structure to a binary balanced tree instead of a double
chained list

View File

@ -12,14 +12,6 @@ global
- review autoclean.sh script. Maybe there is a more simple way to do this FULL clean.
- Add i18n (gettext) support to configure.in and create the 'po' directory (half ready) -krix
- Add doxygen support to configure.in to generate code documentation automatically
- Add libarchive depends instead of libtar. libtar isn't developed, but libarchive is.
libarchive is a powerfuller thing than libtar and not much bigger. It supports many
archive formats, eg .tar.gz, .tar.bz2, zip, etc..
- Many things :)) If you got idea or request, then implement it.
libalpm and codechanges
@ -36,4 +28,4 @@ libalpm and codechanges
Christian Hamar alias krix <krics@linuxforum.hu>
2005. oct. 13., wed, 22.38.32 CEST
2006. aug. 25., Fri, 01.13.36 CEST

View File

@ -1,6 +1,6 @@
#!/bin/sh -xu
make distclean
[ -f Makefile ] && make distclean
rm -rf autom4te.cache
rm -rf Makefile
rm -rf Makefile.in
@ -23,7 +23,6 @@ rm -rf ltmain.sh
rm -rf doc/Makefile
rm -rf doc/Makefile.in
rm -rf doc/html/*
rm -rf doc/*.8
rm -rf doc/man3/*
rm -rf compile
rm -rf libtool
@ -31,6 +30,10 @@ 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 src/pacman/po/Makefile
rm -rf src/pacman/po/Makefile.in

View File

@ -1,10 +1,50 @@
#!/bin/sh -exu
#!/bin/sh -e
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
#intltoolize -f -c
libtoolize -f -c
aclocal --force
autoheader -f
autoconf -f
automake -a -c --gnu --foreign
cp -f /usr/share/automake-1.9/mkinstalldirs ./
cp -f /usr/share/gettext/config.rpath ./
cp -f $(dirname $(which automake))/../share/automake-1.9/mkinstalldirs ./
cp -f $(dirname $(which automake))/../share/gettext/config.rpath ./

23
bindings/alpm.i Normal file
View File

@ -0,0 +1,23 @@
#if defined(SWIGPERL)
%module "Alpm::Core"
#else
%module alpm
#endif
%include "cpointer.i"
/* Wrap a class interface around a "long *" */
%pointer_class(long, longp);
/* Create casting functions */
%pointer_cast(char *, long *, void_to_long);
%pointer_cast(void *, char *, void_to_char);
%pointer_cast(void *, unsigned long, void_to_unsigned_long);
%pointer_cast(void *, PM_LIST *, void_to_PM_LIST);
%pointer_cast(void *, PM_PKG *, void_to_PM_PKG);
%pointer_cast(void *, PM_GRP *, void_to_PM_GRP);
%pointer_cast(void *, PM_SYNCPKG *, void_to_PM_SYNCPKG);
%pointer_cast(void *, PM_DB *, void_to_PM_DB);
%pointer_cast(void *, PM_CONFLICT *, void_to_PM_CONFLICT);
%include "alpm.h"

48
bindings/java/Makefile.in Normal file
View File

@ -0,0 +1,48 @@
top_srcdir = @top_srcdir@
prefix = @prefix@
CFLAGS = $(subst -Werror,,@CFLAGS@)
CFLAGS += -fno-strict-aliasing # see the swig docs
ifeq ($(shell arch),x86_64)
CFLAGS += -fPIC
endif
LDFLAGS += -L$(top_srcdir)/lib/libalpm -lalpm
all: libalpm_java.so alpm.jar
libalpm_java.so: alpm_java_wrap.o
$(CC) -shared $^ -o $@ $(LDFLAGS)
alpm_java_wrap.o: alpm_java_wrap.c
$(CC) $(CFLAGS) -c -o $@ -include alpm.h $^
alpm_java_wrap.c:
cp $(top_srcdir)/lib/libalpm/alpm.h ./
cp $(top_srcdir)/bindings/alpm.i alpm_java.i
swig -java alpm_java.i
alpm.class: alpm.java
javac *.java
alpm.jar: alpm.class
jar -cf alpm.jar *.class
alpm.java: alpm_java_wrap.c
install: install-so install-jar
install-so: libalpm_java.so
mkdir -p $(DESTDIR)$(prefix)/lib
install $^ $(DESTDIR)$(prefix)/lib
install-jar: alpm.jar
mkdir -p $(DESTDIR)$(prefix)/share/java
install -m644 $^ $(DESTDIR)$(prefix)/share/java
clean:
rm -f *alpm* *.java *.class
distclean: clean
rm -f Makefile
check:

42
bindings/perl/Makefile.in Normal file
View File

@ -0,0 +1,42 @@
top_srcdir = @top_srcdir@
prefix = @prefix@
CFLAGS = $(subst -Werror,,@CFLAGS@)
CFLAGS += $(shell perl -MExtUtils::Embed -e ccopts)
CFLAGS += -I$(top_srcdir)/lib/libalpm
ifeq ($(shell arch),x86_64)
CFLAGS += -fPIC
endif
LDFLAGS += -L$(top_srcdir)/lib/libalpm -lalpm
LIBDIR += $(shell perl -V|grep site|sed 's/^ *//;s|/usr|$(prefix)|;q')
all: Core.so
Core.so: alpm_wrap.o
$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)
alpm_wrap.o: alpm_wrap.c
$(CC) $(CFLAGS) -c -o $@ -include alpm.h $^
alpm_wrap.c:
cp $(top_srcdir)/lib/libalpm/alpm.h ./
cp $(top_srcdir)/bindings/alpm.i ./
swig -perl alpm.i
install: install-so install-pm
install-so: Core.so
mkdir -p $(DESTDIR)$(LIBDIR)/auto/Alpm/Core
install $^ $(DESTDIR)$(LIBDIR)/auto/Alpm/Core/
install-pm: Core.pm
mkdir -p $(DESTDIR)$(LIBDIR)/Alpm/
install -m644 $^ $(DESTDIR)$(LIBDIR)/Alpm/
clean:
rm -f Core* alpm{.h,_wrap*}
distclean: clean
rm -f Makefile
check:

23
bindings/perl/alpm.i Normal file
View File

@ -0,0 +1,23 @@
#if defined(SWIGPERL)
%module "Alpm::Core"
#else
%module alpm
#endif
%include "cpointer.i"
/* Wrap a class interface around a "long *" */
%pointer_class(long, longp);
/* Create casting functions */
%pointer_cast(char *, long *, void_to_long);
%pointer_cast(void *, char *, void_to_char);
%pointer_cast(void *, unsigned long, void_to_unsigned_long);
%pointer_cast(void *, PM_LIST *, void_to_PM_LIST);
%pointer_cast(void *, PM_PKG *, void_to_PM_PKG);
%pointer_cast(void *, PM_GRP *, void_to_PM_GRP);
%pointer_cast(void *, PM_SYNCPKG *, void_to_PM_SYNCPKG);
%pointer_cast(void *, PM_DB *, void_to_PM_DB);
%pointer_cast(void *, PM_CONFLICT *, void_to_PM_CONFLICT);
%include "alpm.h"

View File

@ -0,0 +1,48 @@
top_srcdir = @top_srcdir@
prefix = @prefix@
CFLAGS = $(subst -Werror,,@CFLAGS@)
CFLAGS += $(shell python -c 'from distutils import sysconfig; print "-I" + sysconfig.get_python_inc()')
CFLAGS += -I$(top_srcdir)/lib/libalpm
ifeq ($(shell arch),x86_64)
CFLAGS += -fPIC
endif
LDFLAGS += -L$(top_srcdir)/lib/libalpm -lalpm
LIBDIR += $(shell python -c 'from distutils import sysconfig; print sysconfig.get_python_lib()'|sed 's|/usr|$(prefix)|')
all: _alpm.so alpm.pyc
_alpm.so: alpm_wrap.o
$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LDFLAGS)
alpm_wrap.o: alpm_wrap.c
$(CC) $(CFLAGS) -c -o $@ -include alpm.h $^
alpm_wrap.c:
cp $(top_srcdir)/lib/libalpm/alpm.h ./
cp $(top_srcdir)/bindings/alpm.i ./
swig -python alpm.i
# strip the unnecessary prefixes
sed -i 's/^alpm_//;s/^PM_//' alpm.py
alpm.pyc: alpm.py
python -c "import compileall; compileall.compile_dir('.',1,'.')"
alpm.py: alpm_wrap.c
install: install-so install-py
install-so: _alpm.so
mkdir -p $(DESTDIR)$(LIBDIR)
install $^ $(DESTDIR)$(LIBDIR)
install-py: alpm.py alpm.pyc
install -m644 $^ $(DESTDIR)$(LIBDIR)
clean:
rm -f _alpm* alpm{.h,.py*,_wrap*}
distclean: clean
rm -f Makefile
check:

23
bindings/python/alpm.i Normal file
View File

@ -0,0 +1,23 @@
#if defined(SWIGPERL)
%module "Alpm::Core"
#else
%module alpm
#endif
%include "cpointer.i"
/* Wrap a class interface around a "long *" */
%pointer_class(long, longp);
/* Create casting functions */
%pointer_cast(char *, long *, void_to_long);
%pointer_cast(void *, char *, void_to_char);
%pointer_cast(void *, unsigned long, void_to_unsigned_long);
%pointer_cast(void *, PM_LIST *, void_to_PM_LIST);
%pointer_cast(void *, PM_PKG *, void_to_PM_PKG);
%pointer_cast(void *, PM_GRP *, void_to_PM_GRP);
%pointer_cast(void *, PM_SYNCPKG *, void_to_PM_SYNCPKG);
%pointer_cast(void *, PM_DB *, void_to_PM_DB);
%pointer_cast(void *, PM_CONFLICT *, void_to_PM_CONFLICT);
%include "alpm.h"

View File

@ -1,7 +1,8 @@
ENV_CFLAGS=$CFLAGS
AC_PREREQ(2.59)
AC_INIT([Pacman package manager], 2.9.9, [pacman-dev@archlinux.org], pacman)
dnl Update it right before the release since $pkgver_foo are all _post_ release snapshots
AC_INIT([Pacman package manager], 3.4.0, [pacman-dev@archlinux.org], pacman)
AC_LANG(C)
AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM
@ -20,6 +21,7 @@ dnl Define here the libalpm version number
PM_MAJOR_VERSION=0
PM_MINOR_VERSION=1
PM_MICRO_VERSION=0
PM_MICRO_VERSION_SUFFIX=.0
PM_VERSION=$PM_MAJOR_VERSION.$PM_MINOR_VERSION.$PM_MICRO_VERSION$PM_MICRO_VERSION_SUFFIX
dnl Needed for libtool to create proper shared lib version
PM_VERSION_INFO=`expr $PM_MAJOR_VERSION + $PM_MINOR_VERSION`:$PM_MICRO_VERSION:$PM_MINOR_VERSION
@ -30,40 +32,125 @@ AC_SUBST(PM_MICRO_VERSION)
AC_SUBST(PM_VERSION)
AC_SUBST(PM_VERSION_INFO)
dnl Define the default config file path for pacman.conf
PACCONF=/etc/pacman.conf
AC_DEFINE_UNQUOTED([PACCONF], ["$PACCONF"], [pacman.conf location])
dnl Put out version numbers to config.h
AC_DEFINE_UNQUOTED([PM_VERSION], ["$PM_VERSION"], [libalpm version number])
dnl Configuration files
AC_CONFIG_FILES([etc/makepkg.conf] [etc/pacman.conf])
AC_PROG_CC
AC_HEADER_STDC
AC_PROG_INSTALL
AC_CHECK_FUNCS([strverscmp])
AM_PROG_LIBTOOL
dnl Humor lowers blood pressure
AC_MSG_CHECKING(your blood pressure)
AC_MSG_RESULT([a bit high, but we can proceed])
dnl Help line for man2html
AC_ARG_ENABLE(man2html,
AC_HELP_STRING([--enable-man2html], [Build html docs via man2html]),
[wantman2html=$enableval], [wantman2html=no])
dnl Help line for more-warnings
AC_ARG_ENABLE(more-warnings,
AC_HELP_STRING([--disable-more-warnings], [Minimum compiler warnings]),
[set_more_warnings="${enableval}"], [warnings_default=yes])
dnl Help line for debug
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--disable-debug], [Disable debugging support]),
[debug=$enableval], [debug=yes])
dnl Help line for fakeroot
AC_ARG_ENABLE(fakeroot,
AC_HELP_STRING([--disable-fakeoot], [Disable fakeroot proof support]),
[fakeroot=$enableval], [fakeroot=yes])
dnl Help line for po4a
AC_ARG_ENABLE(po4a,
AC_HELP_STRING([--disable-po4a], [Build localized manpages via po4a]),
[wantpo4a=$enableval], [wantpo4a=yes])
dnl Help line for doxygen
AC_ARG_ENABLE(doxygen,
AC_HELP_STRING([--disable-doxygen], [Build API docs via Doxygen]),
[wantdoxygen=$enableval], [wantdoxygen=yes])
dnl Help line for python
AC_ARG_ENABLE(python,
AC_HELP_STRING([--disable-python], [Build Python bindings]),
[wantpython=$enableval], [wantpython=yes])
dnl Help line for perl
AC_ARG_ENABLE(perl,
AC_HELP_STRING([--disable-perl], [Build Perl bindings]),
[wantperl=$enableval], [wantperl=yes])
dnl Help line for java
AC_ARG_ENABLE(java,
AC_HELP_STRING([--disable-java], [Build Java bindings]),
[wantjava=$enableval], [wantjava=yes])
dnl Check for architecture
case "$host" in
i686-*) AC_DEFINE_UNQUOTED([CARCH], ["i686"], [Architecture])
AC_DEFINE_UNQUOTED([CARCHFLAGS], ["i686"], [Architecture])
AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
CARCH="i686"
CARCHFLAGS="i686"
MARCHFLAG="march"
CHOST="${host}"
;;
x86_64-*) AC_DEFINE_UNQUOTED([CARCH], ["x86_64"], [Architecture])
AC_DEFINE_UNQUOTED([CARCHFLAGS], ["k8"], [Architecture])
AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
CARCH="x86_64"
CARCHFLAGS="k8"
MARCHFLAG="march"
CHOST="${host}"
;;
ia64-*) AC_DEFINE_UNQUOTED([CARCH], ["ia64"], [Architecture])
AC_DEFINE_UNQUOTED([CARCHFLAGS], ["ia64"], [Architecture])
AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
CARCH="ia64"
CARCHFLAGS="ia64"
MARCHFLAG="march"
CHOST="${host}"
;;
sparc-*) AC_DEFINE_UNQUOTED([CARCH], ["sparc"], [Architecture])
AC_DEFINE_UNQUOTED([CARCHFLAGS], ["v9"], [Architecture])
AC_DEFINE_UNQUOTED([MARCHFLAG], ["mcpu"], [Architecture])
CARCH="sparc"
CARCHFLAGS="v9"
MARCHFLAG="mcpu"
CHOST="${host}"
;;
ppc-* | powerpc-*)
AC_DEFINE_UNQUOTED([CARCH], ["ppc"], [Architecture])
AC_DEFINE_UNQUOTED([CARCHFLAGS], ["750"], [Architecture])
AC_DEFINE_UNQUOTED([MARCHFLAG], ["mcpu"], [Architecture])
CARCH="ppc"
CARCHFLAGS="750"
MARCHFLAG="mcpu"
CHOST="${host}"
;;
i386-*) AC_DEFINE_UNQUOTED([CARCH], ["i386"], [Architecture])
AC_DEFINE_UNQUOTED([CARCHFLAGS], ["i386"], [Architecture])
AC_DEFINE_UNQUOTED([MARCHFLAG], ["march"], [Architecture])
CARCH="i386"
CARCHFLAGS="i386"
MARCHFLAG="march"
CHOST="${host}"
;;
*)
AC_MSG_ERROR([Your architecture is not supported])
;;
esac
AC_SUBST(CARCH)
AC_SUBST(CARCHFLAGS)
AC_SUBST(MARCHFLAG)
AC_SUBST(CHOST)
dnl Help line for debug
AC_ARG_ENABLE(debug, [ --enable-debug Enable debugging support], debug=yes)
dnl Help line for fakeroot
AC_ARG_ENABLE(fakeroot,
AC_HELP_STRING([--disable-fakeroot], [Disable fakeroot proof support]),
[fakeroot=$enableval], [fakeroot=yes])
dnl Check for man2html binary
AC_MSG_CHECKING(for support man2html)
if test x$wantman2html = xyes ; then
@ -82,6 +169,69 @@ else
AC_MSG_RESULT(not requested by configure)
fi
dnl Check for po4a binary
AC_MSG_CHECKING(for support po4a)
if test x$wantpo4a = xyes ; then
AC_CHECK_PROGS([PO4A], [po4a] [po4a binary])
AM_CONDITIONAL(HAS_PO4A, test $PO4A)
if test $PO4A ; then
AC_DEFINE([HAS_PO4A], [TRUE], [Enabled PO4A (localization support for manpages)])
AC_MSG_RESULT(yes)
POSTATUS="yes, path: `which $PO4A`"
else
AC_DEFINE([HAS_PO4A], [FALSE], [Disabled PO4A (localization support for manpages)])
AC_MSG_RESULT(no, po4a binary missing)
POSTATUS="no, missing po4a binary"
fi
else
AM_CONDITIONAL(HAS_PO4A, test $PO4A)
AC_DEFINE([HAS_PO4A], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
POSTATUS="no, disabled by configure"
fi
dnl Check for po4a binary
AC_MSG_CHECKING(for support po4a)
if test x$wantpo4a = xyes ; then
AC_CHECK_PROGS([PO4A], [po4a] [po4a binary])
AM_CONDITIONAL(HAS_PO4A, test $PO4A)
if test $PO4A ; then
AC_DEFINE([HAS_PO4A], [TRUE], [Enabled PO4A (localization support for manpages)])
AC_MSG_RESULT(yes)
POSTATUS="yes, path: `which $PO4A`"
else
AC_DEFINE([HAS_PO4A], [FALSE], [Disabled PO4A (localization support for manpages)])
AC_MSG_RESULT(no, po4a binary missing)
POSTATUS="no, missing po4a binary"
fi
else
AM_CONDITIONAL(HAS_PO4A, test $PO4A)
AC_DEFINE([HAS_PO4A], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
POSTATUS="no, disabled by configure"
fi
dnl Check for po4a binary
AC_MSG_CHECKING(for support po4a)
if test x$wantpo4a = xyes ; then
AC_CHECK_PROGS([PO4A], [po4a] [po4a binary])
AM_CONDITIONAL(HAS_PO4A, test $PO4A)
if test $PO4A ; then
AC_DEFINE([HAS_PO4A], [TRUE], [Enabled PO4A (localization support for manpages)])
AC_MSG_RESULT(yes)
POSTATUS="yes, path: `which $PO4A`"
else
AC_DEFINE([HAS_PO4A], [FALSE], [Disabled PO4A (localization support for manpages)])
AC_MSG_RESULT(no, po4a binary missing)
POSTATUS="no, missing po4a binary"
fi
else
AM_CONDITIONAL(HAS_PO4A, test $PO4A)
AC_DEFINE([HAS_PO4A], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
POSTATUS="no, disabled by configure"
fi
dnl Check for doxygen support
AC_MSG_CHECKING(for support Doxygen)
if test x$wantdoxygen = xyes ; then
@ -100,47 +250,106 @@ else
AM_CONDITIONAL(HAS_DOXYGEN, test $DOXYGEN)
AC_DEFINE([HAS_DOXYGEN], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
DOXYSTATUS="disabled by configure"
DOXYSTATUS="no, disabled by configure"
fi
dnl Enable or disable Warning FLAGS during compile
AC_MSG_CHECKING(for more compiler warnings)
if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then
AC_MSG_RESULT(yes)
CFLAGS="-Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \
-Wnested-externs -Wsign-compare"
for option in -Wno-sign-compare; do
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS $option"
AC_MSG_CHECKING([whether gcc understands $option])
AC_TRY_COMPILE([], [],
has_option=yes,
has_option=no,)
if test $has_option = no; then
CFLAGS="$SAVE_CFLAGS"
fi
AC_MSG_RESULT($has_option)
unset has_option
unset SAVE_CFLAGS
done
unset option
dnl Check for python support
AC_MSG_CHECKING(if Python bindings should be generated)
if test x$wantpython = xyes ; then
AC_CHECK_PROGS([SWIG], [swig] [swig binary])
AM_CONDITIONAL(HAS_PYTHON, test $SWIG)
if test $SWIG ; then
AC_DEFINE([HAS_PYTHON], [TRUE], [Enabled Python Support])
AC_MSG_RESULT(yes)
PYTHONSTATUS="yes, path: `which $SWIG`"
else
AC_DEFINE([HAS_PYTHON], [FALSE], [Disabled Python support])
AC_MSG_RESULT(no, swig missing)
PYTHONSTATUS="swig binary not found"
fi
else
AC_MSG_RESULT(no)
unset CFLAGS
AM_CONDITIONAL(HAS_PYTHON, test $PYTHON)
AC_DEFINE([HAS_PYTHON], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
PYTHONSTATUS="no, disabled by configure"
fi
dnl Enable or disable debug code (-g)
dnl Check for perl support
AC_MSG_CHECKING(if Perl bindings should be generated)
if test x$wantperl = xyes ; then
AC_CHECK_PROGS([SWIG], [swig] [swig binary])
AM_CONDITIONAL(HAS_PERL, test $SWIG)
if test $SWIG ; then
AC_DEFINE([HAS_PERL], [TRUE], [Enabled Perl Support])
AC_MSG_RESULT(yes)
PERLSTATUS="yes, path: `which $SWIG`"
else
AC_DEFINE([HAS_PERL], [FALSE], [Disabled Perl support])
AC_MSG_RESULT(no, swig missing)
PERLSTATUS="swig binary not found"
fi
else
AM_CONDITIONAL(HAS_PERL, test $PERL)
AC_DEFINE([HAS_PERL], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
PERLSTATUS="no, disabled by configure"
fi
dnl Check for java support
AC_MSG_CHECKING(if Java bindings should be generated)
if test x$wantjava = xyes ; then
AC_CHECK_PROGS([JAVAC], [javac] [java compiler])
AM_CONDITIONAL(HAS_JAVA, test $JAVAC)
if test $JAVAC ; then
AC_DEFINE([HAS_JAVA], [TRUE], [Enabled Java Support])
AC_MSG_RESULT(yes)
JAVASTATUS="yes, path: `which $JAVAC`"
else
AC_DEFINE([HAS_JAVA], [FALSE], [Disabled Java support])
AC_MSG_RESULT(no, javac missing)
JAVASTATUS="java compiler not found"
fi
else
AM_CONDITIONAL(HAS_JAVA, test $JAVAC)
AC_DEFINE([HAS_JAVA], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure)
JAVASTATUS="no, disabled by configure"
fi
dnl Check for bzip2
AC_CHECK_LIB([bz2], [BZ2_bzCompress], [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])])
if test -n "$LIBBZ2"; then
LDFLAGS="$LDFLAGS $LIBBZ2"
else
AC_MSG_ERROR("bzip2 library and its include files are needed to build pacman!");
fi
dnl Check for math
AC_CHECK_LIB([m], [log10], [AC_CHECK_HEADER([math.h], [LIBM='-lm'])])
if test -n "$LIBM"; then
LDFLAGS="$LDFLAGS $LIBM"
else
AC_MSG_ERROR("math library not found!");
fi
dnl Check for libarchive
AC_CHECK_LIB([archive], [archive_read_data], [AC_CHECK_HEADER([archive.h], [LIBARCHIVE='-larchive'])])
if test -n "$LIBARCHIVE"; then
CFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS $LIBARCHIVE"
else
AC_MSG_ERROR("libarchive is needed to compile pacman!");
fi
dnl Enable or disable debug code
AC_MSG_CHECKING(for debug mode request)
if test x$debug = xyes ; then
AC_DEFINE([PACMAN_DEBUG], [TRUE], [Enable debugging support])
AM_CONDITIONAL(PACMAN_DEBUG, test x$debug = xyes)
CFLAGS="$CFLAGS -g"
CFLAGS="-g -Wall -Werror -std=c99 -DPACMAN_DEBUG"
AC_MSG_RESULT(yes)
else
AC_DEFINE([PACMAN_DEBUG], [FALSE], [Disable debugging support])
if test -z "$ENV_CFLAGS"; then
ENV_CFLAGS="-O2"
fi
AM_CONDITIONAL(PACMAN_DEBUG, test x$debug = xno)
CFLAGS="$CFLAGS -std=c99"
AC_MSG_RESULT(no)
fi
@ -153,32 +362,7 @@ else
AC_MSG_RESULT(no)
fi
dnl Check for zlib
AC_CHECK_LIB([z], [gzsetparams], [AC_CHECK_HEADER([zlib.h], [LIBZ='-lz'])])
if test -n "$LIBZ"; then
LDFLAGS="$LDFLAGS $LIBZ"
else
AC_MSG_ERROR("missing zlib headers/libraries");
fi
dnl Check for bzip2
AC_CHECK_LIB([bz2], [BZ2_bzCompress], [AC_CHECK_HEADER([bzlib.h], [LIBBZ2='-lbz2'])])
if test -n "$LIBBZ2"; then
LDFLAGS="$LDFLAGS $LIBBZ2"
else
AC_MSG_ERROR("missing bzip2 headers/libraries");
fi
dnl Check for libarchive
AC_CHECK_LIB([archive], [archive_read_data], [AC_CHECK_HEADER([archive.h], [LIBARCHIVE='-larchive'])])
if test -n "$LIBARCHIVE"; then
CFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS $LIBARCHIVE"
else
AC_MSG_ERROR("missing libarchive headers/libraries");
fi
CFLAGS="$CFLAGS $ENV_CFLAGS"
CFLAGS="$CFLAGS"
dnl ==========================================================================
@ -191,22 +375,34 @@ src/pacman/po/Makefile.in
src/util/Makefile
scripts/Makefile
doc/Makefile
doc/makepkg.8
doc/pacman.8
doc/libalpm.3
etc/Makefile
etc/pacman.d/Makefile
bindings/perl/Makefile
bindings/python/Makefile
bindings/java/Makefile
Makefile
])
echo "
pacman-$VERSION:
prefix: ${prefix}
source code location: ${srcdir}
compiler: ${CC}
compiler flags: ${CFLAGS}
libalpm version: ${PM_VERSION}
debug support: ${debug}
prefix : ${prefix}
source code location : ${srcdir}
compiler : ${CC}
compiler flags : ${CFLAGS}
libalpm version : ${PM_VERSION}
pacman.conf location : ${PACCONF}
Architecture CARCH : ${CARCH}
Architecture used cflag : ${CARCHFLAGS}
Architecture CHOST : ${CHOST}
Doxygen support : ${DOXYSTATUS}
Manpage localization : ${POSTATUS}
Perl bindings : ${PERLSTATUS}
Python bindings : ${PYTHONSTATUS}
Java bindings : ${JAVASTATUS}
debug support : ${debug}
"

8
doc/hu/Makefile.am Normal file
View File

@ -0,0 +1,8 @@
AUTOMAKE_OPTIONS=foreign
mandir = @mandir@/hu
man_MANS = pacman.8 makepkg.8 PKGBUILD.8
$(man_MANS):
EXTRA_DIST = pacman.8 makepkg.8 PKGBUILD.8

2381
doc/po/hu.po Normal file

File diff suppressed because it is too large Load Diff

2348
doc/po/pacman.pot Normal file

File diff suppressed because it is too large Load Diff