summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2012-08-04makepkg: allow using GIT source URLsAllan McRae1-0/+85
Allow specifing GIT sources using the following syntax source=('<folder>::<repo>#<fragment>') This will download the git repo <repo> into <folder> (into $SRCDIR if set, otherwise $startdir). <repo> must start with "git", but non-git protocols are handled using (e.g.) "git+http://...". The <fragment> can be used to specify a branch, tag, or commit to build from. e.g. branch=maint. Checksum entries for git sources should be "SKIP". Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-04makepkg: skip integrity checking earlyAllan McRae1-11/+13
If "SKIP" is provided for an integrity check, abort checking as soon as possible. Also swap fork to tr for bash4 conversion. Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-04makepkg: generalize download_sourcesAllan McRae1-45/+67
In order to treat all VCS sources as URLs, we need to be able to deal with more protocols. Rewrite download_sources to use a case statement so additional protocols are easily added. Also fix the use of scp to not pass the protocol in the URL (noticed by William J. Bowman <wjb@williamjbowman.com>) Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-04makepkg: add function to return download protocolAllan McRae1-0/+11
Extract the download protocol from a source entry. Returns "local" for local source files. Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-04makepkg: reorder source handling functionsAllan McRae1-120/+120
There is no actual code change here, but these related functions were all over the place which makes this code difficult to adjust. Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-04makepkg: remove VCS package supportAllan McRae3-213/+6
The current VCS packaging support is really, really, really bad. It is best to strip it out completely before rewriting it. Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-02pacman-key: Use lsign_keys function in --populatePierre Schmitz1-1/+2
This reduces code duplication and also makes --populate a non-interactive function. Signed-off-by: Pierre Schmitz <pierre@archlinux.de>
2012-08-02Split _alpm_filelist_operation functionAllan McRae3-30/+57
To improve conflict checking, we will need to make these functions diverge to an extent where having two separate functions will be preferable. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02Move filelist functions into separate source fileDan McGee11-104/+178
We have a few of these and might as well gather them together. This also cleans up the code a bit by using an enum instead of integer values, as well as makes a "search for file in filelist" function public so frontends can do better than straight linear search of the filelists. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02pactest: avoid upgrade conflict with unchanged effective pathDave Reisner1-0/+22
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02pactest: Do not remove symlink to directory if a to be installed package uses itAllan McRae2-0/+44
If a pacakge has a directory symlink (e.g. /lib -> usr/lib), do not allow it to be removed if any other package is trying to install a file into that path (e.g. /lib/foo). This is because the local database can become invalidated if the symlink is removed after the package with file /lib/foo is installed (sync702.py). If the symlink is removed before the file is installed (sync701.py), the upgrade is actually a success, but we can not guarantee the ordering so both cases should fail. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02pactest: Do not remove symlink to directory if local package uses that pathAllan McRae1-0/+22
If we have a symlink to a directory (e.g. /lib -> usr/lib), then we can not remove it if a local package thinks it has files in the symlink directory (e.g. /lib/foo), because this will invalidate the local file database. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02pactest: conflict between files having same effective pathAllan McRae1-0/+23
Note failure to detect a conflict between files having the same effective path across packages due to a directory symlink. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02pactest: conflict between directory and a fileAllan McRae1-0/+17
Note failure to detect a conflict between a directory in one package and a file in the other when the directory is not currently on the filesystem. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02Add pactest for empty subdirectory conflictAllan McRae2-1/+18
The wrong test file was inadvertantly committed in 44e9fdd0. Add the correct test and tidy up the test which was committed. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-02Allow cleaning only some cachedirsJan Alexander Steffens (heftig)1-15/+20
When cleaning the cache, ask for each cachedir separately. Allan: add some white space in output Signed-off-by: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01Merge branch 'maint'Dan McGee3-6/+12
2012-08-01contrib/updpkgsums: Fix error messageAllan McRae1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01Add documentation for the prepare() functionEnjolras2-8/+17
Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01Add a function prepare() to PKGBUILDEnjolras1-0/+11
prepare is run after the source extraction, and is not run with --noextract option. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01makepkg: remove unnecessary formattingAllan McRae1-1/+0
This extra newline leaves a gap that looks strange in of itself, but is highlighted when piping -g output to a PKGBUILD. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01asdeps flag passed from makepkg to pacmanDaniel Wallace4-4/+14
add the asdeps flag for makepkg so that it does pacman -U --asdeps [Allan: clean-up whitespace] Signed-off-by: Daniel Wallace <daniel.wallace12@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01Do not enable _FORTIFY_SOURCE without optimizationAllan McRae2-3/+14
With glibc-2.16, using -D_FORTIFY_SOURCE requires that optimization (-O) be used or it will prodice a warning message. Enable -Werror in our test for _FORTIFY_SOURCE support to catch when a users specifies CFLAGS without optimization. The line to set CFLAGS="" when no CFLAGS are specified (either due to being unset or geniunely empty) is required as autoconf will use "-O2 -g" for its tests by defult when CFLAGS is unset, but will not add them to the CFLAGS used... Signed-off-by: Allan McRae <allan@archlinux.org>
2012-08-01Fix wrong parameter name in alpm_db_update's signatureBarbu Paul - Gheorghe1-1/+1
Signed-off-by: Barbu Paul - Gheorghe <barbu.paul.gheorghe@gmail.com>
2012-08-01Clean up exclusion list in sync cache cleanupDan McGee1-23/+24
Make an array out of our various glob skip patterns and loop through them looking for items to skip. Additionally, when doing a full clean, delete all objects rather than respect this skip list. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01Skip deltas and partial downloads in package cleanupDan McGee1-0/+10
This affects -Sc only, not -Scc. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01pactree: show tree vertical "limbs"Andrew Gregory1-18/+62
Showing vertical limbs makes the tree easier to follow. Old: New: |--pkg |--pkg |--dep1 |--dep1 |--dep2 | |--dep2 |--dep3 |--dep3 |--dep4 |--dep4 Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> [Allan: fix shadow warning] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01pactree: consolidate both walk_deps functionsAndrew Gregory1-61/+28
Signed-off-by: Andrew Gregory <andrew.gregory.8@gmail.com> [Allan: fix shadow warning] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01contrib/bacman: fix package architecture in filenameAllan McRae1-4/+4
Give the generated package the correct architecture in its filename rather than assuming the system architecture. Also add updated copyright notice. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01util: fix line length calc in _alpm_archive_fgetsDave Reisner1-2/+4
74274b5dc347ba70 which added the real_line_size to the buffer struct didn't properly account for what happens when archive_fgets has to loop more than once to find the end of a line. In most cases, this isn't a problem, but could potentially cause a longer line such as PGP signature to be improperly read. This patch fixes the oversight and focuses on only calculating the line length when we hit the end of line marker. The effective length is then calculated via pointer arithmetic as: (start_of_last_read + read_length) - start_of_line Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-08-01lib/conflict: use a binary search within filelistsDave Reisner1-8/+5
Take advantage of the fact that our filelists are arrays sorted by filename with a known length and use a binary search. This should speed up file conflict checking, particularly when larger packages are involved. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01lib/be_local: ensure local filelists are sortedDave Reisner1-0/+2
This may very well be a no-op, but better safe than sorry. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01lib/be_package: use qsort instead of our own msortDave Reisner1-49/+3
On the assumption that these arrays are already mostly sorted, use the standard quicksort method to sort the files arrays. The files_msort function name is tweaked to give it a more general name to reflect this change. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-08-01Add more debug logging to dir_belongsto_pkg() functionDan McGee1-1/+8
Now that we pass in the handle, we might as well add logging. Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10Merge branch 'maint'Dan McGee8-9/+158
Conflicts: etc/makepkg.conf.in
2012-07-10pacman: be more descriptive when opening an include failsDave Reisner1-1/+2
if fopen returns NULL, append the libc strerror-ized error message to our own error message. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10update comments referring to alpm_option_get_syncdbsDave Reisner2-2/+2
This function was renamed alpm_get_syncdbs as part of b488f229d. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-07-10makepkg.conf: add -q option for curlDave Reisner1-3/+3
Avoid involving the user's ~/.curlrc file as this may alter the expected behavior of downloads. ref: https://bbs.archlinux.org/viewtopic.php?pid=1124441 Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10makepkg.conf: enable curl's cookie engine for httpDave Reisner1-2/+2
Implements FS#28098. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10diskspace: log errors when opening the mount table failsDave Reisner1-0/+6
Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10Check empty subdirectory ownershipAllan McRae2-0/+22
When checking if a package owns a directory, it is important to check not only that all the files in the directory are part of the package, but also if the directory is part of a package. This catches empty subdirectories during conflict checking for directory to file/symlink replacements. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10Add conflict for replacing owned empty directoryAllan McRae3-6/+66
When two packages own an empty directory, pacman finds no conflict when one of those packages wants to replace the directory with a file or a symlink. When it comes to actually extracting the new file/symlink, pacman sees the directory is still there (we do not remove empty directories if they are owned by a package) and refuses to extract. Detect this potential conflict early and bail. Note that it is a _potential_ conflict and not a guaranteed one as the other package owning the directory could be updated or removed first which would remove the conflict. However, pacman currently can not sort package installation order to ensure this, so this conflict requires manual upgrade ordering. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-07-10Add man page for pactreeRam Bhamidipaty3-0/+67
Add a man page for the pactree utility. Feedback-from: Allan McRae <allan@archlinux.org> Feedback-from: Andrew Gregory <andrew.gregory.8@gmail.com> Signed-off-by: Ram Bhamidipaty <rambham@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2012-06-25Allow leading "local/" in query operationsAllan McRae1-1/+8
I find that when copying the output of "pacman -Qs foo" into a "pacman -Qi" operation to get more information on the packages, I consistently copy the "local/" prefix. It is a minor usability improvement to strip this if present. Dan: Pluck out LOCAL_PREFIX and magic numbers. Signed-off-by: Allan McRae <allan@archlinux.org>
2012-06-25Scripts testsuite output consistencyAllan McRae2-4/+4
Signed-off-by: Allan McRae <allan@archlinux.org>
2012-06-25paccache: adopt size_to_humanDave Reisner3-21/+4
Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-25scripts/library: add size_to_humanDave Reisner3-1/+26
This function is the reverse of human_to_size, and converts integer byte sizes to human readable SI prefixed values. A logical extension of this might be to mimic the formatter that pacman uses and allow a second argument to be passed in which can coerce the size, rather than reducing until the unit count is below 1024. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-25pkgdelta: use human_to_size to parse --min-pkg-sizeDave Reisner2-7/+9
Update the documentation accordingly to mention that users can expect huamn readable sizes to be acceptable. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-25scripts/library: add human_to_sizeDave Reisner6-2/+140
This is a bash wrapper around an awk function that parses human readable sizes and returns their representative values in bytes, as a string. A small test harness is added to validate the functionality. Signed-off-by: Dave Reisner <dreisner@archlinux.org>
2012-06-25diskspace: only load filesystem info on demandDave Reisner2-13/+47
Only load filesystem details for the mount points that we're actually going to write to. This reduces our syscall count considerably. In the case of installation, we would actually stat every mountpoint twice (an extra round for download diskspace) which means (on my system) a total of 60 syscalls to write to 3 partitions when installing the kernel package. This change reduces the 60 syscalls down to the expected 3. A slight debug output change is added here to discern between a mountpoint added to our linked list versus when we actually load the fs info. Signed-off-by: Dave Reisner <dreisner@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>