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> Miklós Vajna <vmiklos@frugalware.org>
Christian Hamar <krics@linuxforum.hu> 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 = \ EXTRA_DIST = \
ChangeLog \ ChangeLog \
@ -6,3 +15,6 @@ EXTRA_DIST = \
README \ README \
TODO \ TODO \
TODO.autoconf 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 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 2.9.8 - Changed behaviour with original=X,current=Y,new=Z scenario
- keep old in place, install new as .pacnew - keep old in place, install new as .pacnew
- Search package provides when finding matching targets with -S - 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 A minimalistic chained list implementation to store options from the
configuration file, and targets passed to pacman on the command line. 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 GLOBAL
====== ======
- add i18n (gettext) support
- get ride of "ORE" tags. - 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 - 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 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 cache file could be used in -Q and -Si/s operations to speed up package
listings. 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. - 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. - Many things :)) If you got idea or request, then implement it.
libalpm and codechanges libalpm and codechanges
@ -36,4 +28,4 @@ libalpm and codechanges
Christian Hamar alias krix <krics@linuxforum.hu> 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 #!/bin/sh -xu
make distclean [ -f Makefile ] && make distclean
rm -rf autom4te.cache rm -rf autom4te.cache
rm -rf Makefile rm -rf Makefile
rm -rf Makefile.in rm -rf Makefile.in
@ -23,7 +23,6 @@ rm -rf ltmain.sh
rm -rf doc/Makefile rm -rf doc/Makefile
rm -rf doc/Makefile.in rm -rf doc/Makefile.in
rm -rf doc/html/* rm -rf doc/html/*
rm -rf doc/*.8
rm -rf doc/man3/* rm -rf doc/man3/*
rm -rf compile rm -rf compile
rm -rf libtool rm -rf libtool
@ -31,6 +30,10 @@ rm -rf mkinstalldirs
rm -rf config.rpath rm -rf config.rpath
rm -rf scripts/.deps/ rm -rf scripts/.deps/
rm -rf scripts/Makefile.in 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
rm -rf src/pacman/po/Makefile.in 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 libtoolize -f -c
aclocal --force aclocal --force
autoheader -f autoheader -f
autoconf -f autoconf -f
automake -a -c --gnu --foreign automake -a -c --gnu --foreign
cp -f /usr/share/automake-1.9/mkinstalldirs ./ cp -f $(dirname $(which automake))/../share/automake-1.9/mkinstalldirs ./
cp -f /usr/share/gettext/config.rpath ./ 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 ENV_CFLAGS=$CFLAGS
AC_PREREQ(2.59) 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) AC_LANG(C)
AM_CONFIG_HEADER(config.h) AM_CONFIG_HEADER(config.h)
AC_CANONICAL_SYSTEM AC_CANONICAL_SYSTEM
@ -20,6 +21,7 @@ dnl Define here the libalpm version number
PM_MAJOR_VERSION=0 PM_MAJOR_VERSION=0
PM_MINOR_VERSION=1 PM_MINOR_VERSION=1
PM_MICRO_VERSION=0 PM_MICRO_VERSION=0
PM_MICRO_VERSION_SUFFIX=.0
PM_VERSION=$PM_MAJOR_VERSION.$PM_MINOR_VERSION.$PM_MICRO_VERSION$PM_MICRO_VERSION_SUFFIX 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 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 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)
AC_SUBST(PM_VERSION_INFO) 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 dnl Put out version numbers to config.h
AC_DEFINE_UNQUOTED([PM_VERSION], ["$PM_VERSION"], [libalpm version number]) 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_PROG_CC
AC_HEADER_STDC AC_HEADER_STDC
AC_PROG_INSTALL AC_PROG_INSTALL
AC_CHECK_FUNCS([strverscmp]) AC_CHECK_FUNCS([strverscmp])
AM_PROG_LIBTOOL 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 dnl Help line for man2html
AC_ARG_ENABLE(man2html, AC_ARG_ENABLE(man2html,
AC_HELP_STRING([--enable-man2html], [Build html docs via man2html]), AC_HELP_STRING([--enable-man2html], [Build html docs via man2html]),
[wantman2html=$enableval], [wantman2html=no]) [wantman2html=$enableval], [wantman2html=no])
dnl Help line for more-warnings dnl Help line for po4a
AC_ARG_ENABLE(more-warnings, AC_ARG_ENABLE(po4a,
AC_HELP_STRING([--disable-more-warnings], [Minimum compiler warnings]), AC_HELP_STRING([--disable-po4a], [Build localized manpages via po4a]),
[set_more_warnings="${enableval}"], [warnings_default=yes]) [wantpo4a=$enableval], [wantpo4a=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 doxygen dnl Help line for doxygen
AC_ARG_ENABLE(doxygen, AC_ARG_ENABLE(doxygen,
AC_HELP_STRING([--disable-doxygen], [Build API docs via Doxygen]), AC_HELP_STRING([--disable-doxygen], [Build API docs via Doxygen]),
[wantdoxygen=$enableval], [wantdoxygen=yes]) [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 dnl Check for man2html binary
AC_MSG_CHECKING(for support man2html) AC_MSG_CHECKING(for support man2html)
if test x$wantman2html = xyes ; then if test x$wantman2html = xyes ; then
@ -82,6 +169,69 @@ else
AC_MSG_RESULT(not requested by configure) AC_MSG_RESULT(not requested by configure)
fi 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 dnl Check for doxygen support
AC_MSG_CHECKING(for support Doxygen) AC_MSG_CHECKING(for support Doxygen)
if test x$wantdoxygen = xyes ; then if test x$wantdoxygen = xyes ; then
@ -100,47 +250,106 @@ else
AM_CONDITIONAL(HAS_DOXYGEN, test $DOXYGEN) AM_CONDITIONAL(HAS_DOXYGEN, test $DOXYGEN)
AC_DEFINE([HAS_DOXYGEN], [FALSE], [Not specified at configure line]) AC_DEFINE([HAS_DOXYGEN], [FALSE], [Not specified at configure line])
AC_MSG_RESULT(not requested by configure) AC_MSG_RESULT(not requested by configure)
DOXYSTATUS="disabled by configure" DOXYSTATUS="no, disabled by configure"
fi fi
dnl Enable or disable Warning FLAGS during compile dnl Check for python support
AC_MSG_CHECKING(for more compiler warnings) AC_MSG_CHECKING(if Python bindings should be generated)
if test "$GCC" = "yes" -a "$set_more_warnings" != "no"; then 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) AC_MSG_RESULT(yes)
CFLAGS="-Wall -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes \ PYTHONSTATUS="yes, path: `which $SWIG`"
-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
else else
AC_MSG_RESULT(no) AC_DEFINE([HAS_PYTHON], [FALSE], [Disabled Python support])
unset CFLAGS AC_MSG_RESULT(no, swig missing)
PYTHONSTATUS="swig binary not found"
fi
else
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 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) AC_MSG_CHECKING(for debug mode request)
if test x$debug = xyes ; then if test x$debug = xyes ; then
AC_DEFINE([PACMAN_DEBUG], [TRUE], [Enable debugging support])
AM_CONDITIONAL(PACMAN_DEBUG, test x$debug = xyes) AM_CONDITIONAL(PACMAN_DEBUG, test x$debug = xyes)
CFLAGS="$CFLAGS -g" CFLAGS="-g -Wall -Werror -std=c99 -DPACMAN_DEBUG"
AC_MSG_RESULT(yes) AC_MSG_RESULT(yes)
else else
AC_DEFINE([PACMAN_DEBUG], [FALSE], [Disable debugging support]) AM_CONDITIONAL(PACMAN_DEBUG, test x$debug = xno)
if test -z "$ENV_CFLAGS"; then CFLAGS="$CFLAGS -std=c99"
ENV_CFLAGS="-O2"
fi
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi fi
@ -153,32 +362,7 @@ else
AC_MSG_RESULT(no) AC_MSG_RESULT(no)
fi 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" CFLAGS="$CFLAGS"
LDFLAGS="$LDFLAGS $LIBARCHIVE"
else
AC_MSG_ERROR("missing libarchive headers/libraries");
fi
CFLAGS="$CFLAGS $ENV_CFLAGS"
dnl ========================================================================== dnl ==========================================================================
@ -191,9 +375,11 @@ src/pacman/po/Makefile.in
src/util/Makefile src/util/Makefile
scripts/Makefile scripts/Makefile
doc/Makefile doc/Makefile
doc/makepkg.8 etc/Makefile
doc/pacman.8 etc/pacman.d/Makefile
doc/libalpm.3 bindings/perl/Makefile
bindings/python/Makefile
bindings/java/Makefile
Makefile Makefile
]) ])
@ -204,9 +390,19 @@ pacman-$VERSION:
source code location : ${srcdir} source code location : ${srcdir}
compiler : ${CC} compiler : ${CC}
compiler flags : ${CFLAGS} compiler flags : ${CFLAGS}
libalpm version: ${PM_VERSION}
debug support: ${debug} libalpm version : ${PM_VERSION}
pacman.conf location : ${PACCONF}
Architecture CARCH : ${CARCH}
Architecture used cflag : ${CARCHFLAGS}
Architecture CHOST : ${CHOST}
Doxygen support : ${DOXYSTATUS} 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