Remove versioncmp.c by moving all functions to locations that make sense.
Move replacement functions (for building without glibc) into util.c where
they belong, and do proper checks for them instead of using __sun__, etc.
Signed-off-by: Dan McGee <dan@archlinux.org>
Remove unused buildtype field from pmpkg_t struct and anything associated
with it, as it is unused at the moment. If we need to readd it, it is an
easy revert of this commit.
Signed-off-by: Dan McGee <dan@archlinux.org>
The three chk_ functions overlap for packages both in targets and in the
database. This caused the same conflict to be found in both direction
(A conflicts with B, and B conflicts with A).
This patch avoids this duplication. which shouldn't be needed, but other
changes might be required for that to work correctly.
This also has the unexpected side effect to hide the failure of sync022
pactest, for FS #7415. That's maybe not a good thing though..
Note from Dan: sync022 does succeed, but a sync023 pactest added to check
regressions also seems to pass. This may be a valid fix to this 'problem'
sync022 was meant to find.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
sync022 was added here:
39b6549655
This pactest reverses the installed package to see if it is correctly
picked, in order to test some further changes to this depcheck code that
currently makes sync022 fail.
Signed-off-by: Dan McGee <dan@archlinux.org>
Because of this commit:
ea1fef69ad
we lost a lot of gettext-ized messages on the libalpm side. Remove them
in order to clean out these files a bit.
Signed-off-by: Dan McGee <dan@archlinux.org>
There is no real reason to burden our translators with these messages, as
anyone helping to debug these will probably want them in English.
Signed-off-by: Dan McGee <dan@archlinux.org>
Change the behaviour of makepkg so no longer stores a copy of the
source tarball in $srcdir, instead it downloads all sources to $SRCDEST
then extracts them to $srcdir.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
This indicates a problem in the current removedeps function
(no version checking) for which Nagy proposed a fix here :
http://www.archlinux.org/pipermail/pacman-dev/2007-June/008539.html
But as he mentioned there, a better fix might be to use the checkdeps
function in the removedeps one.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
When running as root, we don't care if fakeroot is installed, and the user
certainly isn't "unprivileged". Cut out these warnings.
Signed-off-by: Dan McGee <dan@archlinux.org>
This defines _FILE_OFFSET_BITS == 64, which makes stat calls transparently
use stat64, etc. This allows us to support large files, such as packages
over 1 GB in size. libarchive was already correctly compiled with this macro.
Signed-off-by: Dan McGee <dan@archlinux.org>
Changed the exit code for missing deps from 1 to 127 because 1 is used
for other errors. makepkg breaks if pacman exits with 1 for any reason
other than a missing dep.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
Include manpages when we ship a package tarball, and allow them to be
generated by the end user if they want by using the --enable-asciidoc option
to ./configure. This will allow us to maintain manpages in an easier to modify
format while still keeping the make dependencies to a minimum.
Signed-off-by: Dan McGee <dan@archlinux.org>
We still need some work here- we should have a repo-remove manpage link
to this one, and we should not have to struggle with asciidoc formatting
to get it to work like any other multiple-command manpage works.
Signed-off-by: Dan McGee <dan@archlinux.org>
* Fix up the target so we rebuild the manpages when we edit the corresponding
text file.
* Add vim modelines to all of the asciidoc files ensureing the right syntax
highlighting is used and we have expandtabs turned off.
* Start making a few small changes to PKGBUILD.5 to make it pretty in both
HTML and manpage format output.
* Fix the manlink macro to include the manpage section in the link.
Signed-off-by: Dan McGee <dan@archlinux.org>
Add some asciidoc generation stuff to the doc/ Makefile.am so we can get
some manpages up and working. Add necessary stuff to gitignore, and check
in the asciidoc.conf file along with the footer for all of the manpages.
Signed-off-by: Dan McGee <dan@archlinux.org>
We shouldn't translate log messages to pacman.log so it is consistant and
can be parsed by other tools. Remove all gettext _() around these strings.
Signed-off-by: Dan McGee <dan@archlinux.org>
It is much easier for translators to deal with paragraphs as strings rather
than by lines. Take all usage and version information and convert it to this
format.
Signed-off-by: Dan McGee <dan@archlinux.org>
If we move the scripts from *.in to *.sh.in and *.py.in, gettext can pull the
required strings to translate a whole lot easier. Do this.
Signed-off-by: Dan McGee <dan@archlinux.org>
Move the translations from src/pacman/po to just po/ so we can include the
scripts gettext translations in the same message catalog as that of the
pacman frontend. The libalpm message catalog, for now, will remain a separate
existence.
Signed-off-by: Dan McGee <dan@archlinux.org>
I ran flawfinder and sparse over the pacman source code and found a few
things that were worth fixing (and were quick fixes).
Signed-off-by: Dan McGee <dan@archlinux.org>
pactest was sleeping for 3 seconds, which is unnecessary. Reduce it to 1.5
seconds and clean up the code a bit anyway.
Signed-off-by: Dan McGee <dan@archlinux.org>
Previously, the following error was displayed even after a valid
and successful query operation on all packages,
like -Q , -Ql, -Qi, -Qil :
no targets specified (use -h for help)
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
The -Ql operation is supposed to print all files but directories.
stat was used for detecting directories. However, when stat failed,
(because the file doesn't exist or is not readable), the files
were still displayed just like the others.
Now, these files are printed on stderr, with the corresponding error message.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Adds the ARCHIVE_EXTRACT_NO_OVERWRITE libarchive flags
for extracting files and directories.
This will prevent symlinks for being overwritten by directories.
All other files that need to be extracted should already have
been deleted previously by pacman.
This flag is not used for extracting files in backup array
to /tmp/alpm_XXXX, because this file is created by mkstemp first,
and so needs to be overwritten by the file from the archive.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Add the ability to check the permissions and type of a file within the
framework of pactest. Two new rules can be used:
self.addrule("FILE_TYPE=bin/foo|file")
self.addrule("FILE_MODE=bin/bar|644")
TODO: add the ability to add different types of files (eg links) via the test
package building framework, and add the ability to change the modes on files.
Signed-off-by: Dan McGee <dan@archlinux.org>
With libarchive 2.2.3 (previously 1.3.1), archive_read_extract now returns ARCHIVE_WARN
when a package is extracted as user, because for example, UID=0 or SUID bit can't be set.
This patch makes pacman not treating these warnings as errors anymore,
but simply ignoring them.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>