This really doesn't give us any regressions in behavior, so it is safe to
do although quite ugly. Tell the conflict checking code to ignore symlinks
to dirs so that they are not seen as conflicts.
Hopefully this entire commit will get factored out soon enough.
Signed-off-by: Dan McGee <dan@archlinux.org>
One currently should succeed (006), and 005 fails.
requiredby005.py is originally from Nagy Gabor <ngaba@petra.hos.u-szeged.hu>.
Signed-off-by: Dan McGee <dan@archlinux.org>
Commit 2ee90ddae2 did a special check to see
if we were removing the head node, but not the tail node. Add a special case
for the tail node to ensure all relevant pointers get updated.
Signed-off-by: Dan McGee <dan@archlinux.org>
The old code thought that alpm_db_whatprovides returns with a list of strings (package names).
Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
Commit b55abdce7a introduced an lstat wrapper
function that never dereferences paths with a trailing slash, but still
called lstat on path instead of newpath. Oops!
Signed-off-by: Dan McGee <dan@archlinux.org>
Setting this option will change the download progress to show the amount
downloaded, download rate, ETA, and download percent of the entire
download list rather than per each individual file.
The progress bar is still based on the completion of the current file
regardless if the TotalDownload option is set.
This closes FS#7205.
Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
This option acts as if IgnorePkg was set on each package in the group.
This closes FS#1592.
Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
Commit 47622eef4d introduced localized times
in the metadata by way of storing the UNIX epoch value instead of a hard
coded date string. However, it missed a few things:
* If we weren't in the C/POSIX/en_US locale, the date parsing would fail
as it tried to use the abbreviations of the locale being used. Fix this
by switching the LC_TIME value before we parse a date.
* We used ctime to print the date value, which is always the C locale
string. Instead, use strftime to print a localized date string.
Signed-off-by: Dan McGee <dan@archlinux.org>
We really don't need it since it is just links. However, we do need to figure
out how to get our old links to show up right.
Signed-off-by: Dan McGee <dan@archlinux.org>
The lack of descriptions on some of the variables was causing issues with
documentation generation. Adding text to them fixes this.
Signed-off-by: Dan McGee <dan@archlinux.org>
Retrieve SVN/CVS/etc revision number before checking if the
package has already been built. This allows building a newer
version of a developmental package without having to use -f.
Now -f will only be needed if the latest SVN/CVS/etc revision
is the same as the built package.
Signed-off-by: Scott Horowitz <stonecrest@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
The old one was old. Use something a bit more recent and a bit simpler as
well so it actually looks OK in the manpage.
Signed-off-by: Dan McGee <dan@archlinux.org>
We only use it with --enable-debug, so we might as well go all out and try
to find any attempt of stack smashing.
Signed-off-by: Dan McGee <dan@archlinux.org>
List head nodes contain null 'prev' pointer, which we can (ab)use to maintain a
back reference to the tail pointer of the list.
While list additions are not _significantly_ improved, they are still sped up.
Original
$ time pacman -Qo /usr/bin/wtpt
/usr/bin/wtpt is owned by lcms 1.17-2
real 0m3.623s
user 0m1.883s
sys 0m1.473s
New
$ time pacman -Qo /usr/bin/wtpt
/usr/bin/wtpt is owned by lcms 1.17-2
real 0m2.006s
user 0m0.263s
sys 0m1.627s
Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
Now that all paths are defined to reasonable defaults at compile time by
pacman, we shouldn't force users to have RootDir, DBPath, etc. in their
default pacman.conf although these options are always available.
Signed-off-by: Dan McGee <dan@archlinux.org>
It has always been a bit odd that logfile had to be specified in the config
file, but no other paths did. Add LOGFILE as a preprocessor definition, and
make a call to alpm_option_set_logfile() to set the default location so no
logfile parameter is necessary in pacman.conf.
Signed-off-by: Dan McGee <dan@archlinux.org>
Linux lstat follows POSIX standards and dereferences a symlink pointing
to a directory if there is a trailing slash. For purposes of libalpm, we
don't want this so make a lstat wrapper that suppresses this behavior.
Signed-off-by: Dan McGee <dan@archlinux.org>
Don't open a stream to the logfile until necessary. This will allow us
to catch any errors in opening the logfile instead of ignorning them.
Signed-off-by: Dan McGee <dan@archlinux.org>
Instead of declaring the extern variable in every *.c file, include it in
the header file that makes sense. This means handle.h for the handle, and
conf.h for the pacman side config object.
Signed-off-by: Dan McGee <dan@archlinux.org>
I broke scriptlet logging with ad691001e2.
Readd more or less what was there before, although it still needs a lot of
work including hopefully rewriting it to a new event subsystem and having
it log to a seperate file.
Signed-off-by: Dan McGee <dan@archlinux.org>
This follows the removal patch previously used for GCC & F77 macros. If we
don't use it, dump it so we can speed up configure time.
Signed-off-by: Dan McGee <dan@archlinux.org>
We don't use Fortran or Java code in our project, so no need to waste time
looking for this stuff. This gives a noticeable speedup to running the
./configure program as well.
Signed-off-by: Dan McGee <dan@archlinux.org>
Because building of pacman.static fails on some platforms, we should make
it optional. It is enabled by default but can be disabled with the use of
the --disable-pacman-static flag.
Signed-off-by: Dan McGee <dan@archlinux.org>