1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-12-24 08:48:50 -05:00
Commit Graph

1385 Commits

Author SHA1 Message Date
Dan McGee
15e1ce2e70 Various small fixes as suggested by some static code checkers
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>
2007-07-06 12:11:55 -04:00
Dan McGee
6b7b974318 Fix up pactest TODO
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-06 00:33:26 -04:00
Dan McGee
59d9ccf48d Reduce delay in pactest when running MODIFIED tests
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>
2007-07-02 10:06:03 -04:00
Chantry Xavier
4d9b5d4a2a pacman/query.c : return after a query on all packages.
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>
2007-07-02 09:22:52 -04:00
Dan McGee
4d286e567b Update 'submitting-patches'
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-01 23:27:20 -04:00
Chantry Xavier
89ed15c9c2 pacman/packages.c : print an error for files that can't be stated.
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>
2007-07-01 22:32:18 -04:00
Chantry Xavier
7a42e24400 libalpm/add.c : fix for FS #7484
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>
2007-07-01 22:31:40 -04:00
Chantry Xavier
f55f7f100f libalpm/add.c,util.c : log ARCHIVE_WARN warning to debug output.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-07-01 22:31:40 -04:00
Dan McGee
cd3a636813 Remove unnecessary and extra includes
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-01 20:22:42 -04:00
Dan McGee
19f66083f0 Add mode and type checking to pactest for files
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>
2007-07-01 20:03:15 -04:00
Dan McGee
d70116bfbc Move Doxygen manpage generation to doc/ directory
Instead of doing the doxygen work in the libalpm/ dir, do it with the rest
of the docs in the doc/ dir.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-07-01 18:40:43 -04:00
Chantry Xavier
2657a2bfb7 libalpm/add.c : ignore libarchive warning.
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>
2007-06-28 19:29:38 +02:00
Chantry Xavier
1a3b3bc130 libalpm/util.c : stat returns 0 on success
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-06-28 17:14:26 +02:00
Andrew Fyfe
78bac81a58 scripts/makepkg.in: Don't include .PKGINFO etc in .FILELIST
And move .PKGINFO and .FILELIST to be the first to files included in the
package.

Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-28 13:45:12 +01:00
Dan McGee
7daa6708d2 Remove lockfile configuration from frontend, make it job of libalpm
I previously introduced some patches to make just about every path in
pacman/libalpm configurable; doing this with the lockfile seemed a bit too
far and we really should just place the lockfile where it belongs- with the
DB that needs locking.

More details in this thread:
http://archlinux.org/pipermail/pacman-dev/2007-June/008499.html

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-27 23:34:38 -04:00
Dan McGee
7bdb904af5 pacman.c: make parseconfig a bit more robust
Don't let parseconfig overwrite settings that parseargs already made.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-27 22:58:21 -04:00
Dan McGee
ad691001e2 Remove scriptlet START and DONE commands that we don't use
The scriptlet calling had some unneeded complexity for the time being
which we aren't using here. Let's get rid of it until we find a good way
to implement it correctly.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-27 22:12:59 -04:00
Andrew Fyfe
1e56e41d63 scripts/makepkg.in: Use bsdtar to find packages for xdelta.
When looking for old packages to create a delta from used bsdtar to read the
packages .PKGINFO to check it's name and arch instead of depending on the
filename of th package.

Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-27 20:35:09 -04:00
Chantry Xavier
269022ccae scripts/makepkg.in: Fix creation of .FILELIST
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-27 20:35:09 -04:00
Baptiste Daroussin
24c41f5190 FS7485: Replace tar/cpio/unzip with bsdtar for extracting/creating packages.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-27 20:35:08 -04:00
Dan McGee
5a3b595837 Fix wrong permissions on pacnew extraction
First reported here:
http://bbs.archlinux.org/viewtopic.php?pid=261861

Newly created files were done with the standard umask, so those that are
extracted seperately and copied to a .pacnew extension will have the wrong
permissions. This should hopefully fix this.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-27 20:32:37 -04:00
Dan McGee
77bbe58197 Remove TODO items that have been taken care of.
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-27 20:32:37 -04:00
Chantry Xavier
3a27fbaae4 libalpm/remove.c : file variable used before being initialized.
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-06-28 01:41:15 +02:00
Dan McGee
d821d75e25 Add archlinux.de mirror
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-27 09:55:20 -04:00
Chantry Xavier
31cbbbf953 Add pactest to help debug FS #7415
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-26 15:27:56 -04:00
Chantry Xavier
0e4c1e86ed Add sync301 pactest- pacman gains new deps and should be pulled in
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-26 12:00:22 -04:00
Nagy Gabor
7653bb9399 Make alpm_splitdep immutable
The alpm_splitdep function formerly overwrote the input string, causing
a few issues. Fix this.

Signed-off-by: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-26 11:49:00 -04:00
Nagy Gabor
da66bedf4f Remove unnecessary trans parameter from _alpm_checkdeps
The trans parameter was never used, so remove it.

Signed-off-by: Nagy Gabor <ngaba@petra.hos.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-26 11:43:02 -04:00
Dan McGee
2ae0438660 Don't extract any top-level files in a package that start with '.'
For future possibilities, don't extract any files that start with '.'.
This will allow us to add features such as the ChangeLog viewing without
having to wait to include these files in packages, because older versions
of pacman will be forward compatable with 'hidden' files at the root level
of the package.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-26 11:42:41 -04:00
Dan McGee
f401e52398 Mirror update and NEWS updates
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-26 11:41:31 -04:00
Dan McGee
0de5c97193 libalpm/util.c: remove unnecessary include
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-20 17:54:42 -04:00
Dan McGee
f372a542b9 Revert "Fix libarchive permission extraction"
This was a bad way to fix a problem upstream. Doing this resulted in
symlink permissions being applied to files installed on the system, leaving
some binaries with 77 permission, etc.

This reverts commit 4e6b7c1cde.
2007-06-20 17:38:56 -04:00
Dan McGee
cacf968970 Update Doxyfile and add a few missing parts of documentation
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-17 13:20:17 -04:00
Dan McGee
2ab320a388 Remove some use of goto in the pacman frontend
Refactor the goto cleanup; statements out of add.c and remove.c, and move
what the cleanup: label did into a function.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-17 13:20:17 -04:00
Dan McGee
520841ee8a Quick updates to the bash completion script
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-17 13:20:17 -04:00
Chantry Xavier
a486fec3c4 FS7338: Fix conflicts typo totally this time.
The last typo fix for conflicts wasn't complete,
it only fixed one occurence of the conflicts variable, instead of the two :
http://www.archlinux.org/pipermail/pacman-dev/2007-May/008222.html

This caused all conflicts statement to be ignored, so all databases
will need to be rebuilt with a fixed repo-add.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-06-17 18:57:15 +02:00
Andrew Fyfe
7bd4486ebd scripts/makepkg.in: Forgot the fakeroot switch when changing to GNU getopt.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-13 09:32:09 -04:00
Dan McGee
af813a8bad Add ARM architecture to configure.ac
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-13 01:12:22 -04:00
Dan McGee
620a811f91 Clean up pacman/sync.c and organize it a bit
Re-add some checks for a valid target list. In addition, move variable
declarations to the most local scope possible, which should help in finding
errors that were previously uncaught.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-13 01:09:02 -04:00
Dan McGee
5e774d72b0 Remove some more diskspace checking holdover stuff
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-13 00:31:01 -04:00
Dan McGee
caf6c326ec Functionalize query.c and pacman_query
Move a lot of the operations that pacman query performs into their own
functions for ease of following the flow and for possible later merges with
their sync counterparts. We need to think less in terms of operations and
more in term of overall concepts.

Also (re)introduced checks for the target list on a -Q operation, ensuring
that we only call certain query operations when it is sane to do so.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-12 23:56:26 -04:00
Andrew Fyfe
83245aa58e scripts/makepkg.in: Added fakeroot version to .PKGINFO header.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-12 23:30:56 +01:00
Andrew Fyfe
54b71f0427 scripts/makepkg.in: Switch to GNU getopt.
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
2007-06-12 21:54:39 +01:00
Nagy Gabor
e2a75a8257 Add pactest requiredby004.
Upgrade a package that no longer needs a depend.
Reference:
http://www.archlinux.org/pipermail/pacman-dev/2007-June/008503.html

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-12 16:19:50 -04:00
Dan McGee
892e6a7fe9 pacman util.h: Add missing stdarg.h include
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-12 16:09:46 -04:00
Andreas Hauser
c1b6a6d616 FS7355: Add --ignorearch option to makepkg
Signed-off-by: Andrew Fyfe <andrew@neptune-one.net>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-11 07:53:30 -04:00
Nagy Gabor
2746a6319a Add new pactest remove043.
Remove a package required by another package.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
2007-06-11 11:21:19 +02:00
Dan McGee
dde7b6f87a Attempt to clean up _alpm_sync_prepare
This function is an absolute disaster, so we'll take it one step at a time
here. This was a quick once-over of the whole thing, trying to straighten
out some of the spaghetti code and fix some mistakes that others found.

We are now down to two failing pactests again: sync300 and upgrade051.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-10 23:17:19 -04:00
Nagy Gabor
544bcbe664 Implement simple topological sort algorithm for sortbydeps
Based on the "depth first search" algorithm, for more infos visit:
http://en.wikipedia.org/wiki/Topological_sorting

The previous algorithm used by sortbydeps was too slow, and to work around
it the number of steps needed to get correct result was reduced greatly.
So it produced wrong results in several cases :
1) smoke001.py
2) http://bugs.archlinux.org/task/7229

More here: http://archlinux.org/pipermail/pacman-dev/2007-April/008057.html

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-10 22:13:58 -04:00
Chantry Xavier
8588b4823b Ensure correct and consistent usage of depmiss
See comment from Nagy here :
http://www.archlinux.org/pipermail/pacman-dev/2007-April/008134.html
This also makes easier correct usage of checkdeps in sync.c,
which fixes sync901 pactest (and so bug 6057).

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-06-10 21:41:06 -04:00