summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2010-05-05makepkg -g: use checksums defined in the pkgbuildXavier Chantry2-5/+31
Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Allan: amend documentation] Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05makepkg: handle multiple install and changelog filesAllan McRae1-24/+47
The presence of all install and changelog files (multiple files may be used with package splitting) is checked for in check_sanity(). All install and changelog files are copied to the source location when using --source. The check for install and changelog file presence is removed in create_srcpackage() as this is redundant to the checks performed in check_sanity(). Moved install and changelog handling in create_srcpackage() to after source array files, as this is more logical and readily allows for the following. A check is made when creating a source package that a symlink to an install file has not already been added. This can occur if the install file is used multiple times or if it is listed in the source array. Fixes FS#18831, FS#18394 and partially fixes FS#16004 Signed-off-by: Allan McRae <allan@archlinux.org>
2010-05-05makepkg: fall back to su if sudo is not availableRay Kohler1-7/+8
Signed-off-by: Ray Kohler <ataraxia937@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05makepkg: improve removal of installed dependenciesAllan McRae2-19/+23
Compare a list of packages on the system before and after dependency resolution in order to get a complete list of packages to remove. This allows makepkg to remove packages installed due to provides. Bail in cases where packages that were on the system originally have been removed as there is a risk of breaking the system when removing the new packages. Fixes FS#15144. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05Compute package download size outside _alpm_sync_prepareJonathan Conder2-2/+16
And add a new info level for this piece of data. Signed-off-by: Jonathan Conder <j@skurvy.no-ip.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05Improve documentation of -k/--dbonlyDan McGee2-4/+14
We had the long option wrong in some places and its behavior wasn't documented at all with regards to -U/--upgrade. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05Add two new pactests for --dbonlyDan McGee3-0/+65
It caught me by surprise that: 1. These weren't being tested at all 2. The --dbonly combined with -U not only "works" but is also completely undocumented. It also has some weird behavior on install vs. upgrade that may need addressing. Add some tests which will hopefully provoke some discussion. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05Remove unused 'z' option from getopt_long's optstringNagy Gabor1-1/+1
In addition, I permuted shortopts to make it more readable. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-05Introduce -D, --databaseNagy Gabor11-12/+189
The request of FS#12950 is implemented. On the backend side, I introduced a new function, alpm_db_set_pkgreason(), to modify the install reason of a package in the local database. On the front-end side, I introduced a new main operation, -D/--database, which has two options, --asdeps and --asexplicit. I documented this in pacman manual. I've created two pactests to test -D: database001.py and database002.py. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-04Fix up the cross-compilation patch library lookupDan McGee1-2/+2
Don't explicitly add things to the list that might not need to be there, and get the fallback list of libraries correct. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-04Build vercmp without needing link to libalpmDan McGee2-3/+5
Include the object file directly from the libalpm version comparison code as it is the only thing we need. This drops the dependency of vercmp on libalpm and all of the stuff we know it drags in. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-04Remove call to function loggerDan McGee1-3/+0
It isn't really necessary here and it helps us get rid of some link pollution so we can have a slim vercmp binary. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-05-04Move vercmp code into a separate fileDan McGee3-172/+200
This will facilitate using this object file on its own in the vercmp tool which will be done in a future commit. The net impact on the generated binaries should not be noticeable after this commit. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-27Update PKGBUILD.proto to include a package() functionDan McGee1-0/+3
Relevant after we deprecated `makepkg -R` without a package() function being present in the PKGBUILD. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-26makepkg: BSD find compatibility fixAllan McRae1-1/+1
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-26contrib/pactree: generate reverse dependency treesChristophe Chapuis1-5/+26
Add an option to show the tree of packages which depend on a given package Signed-off-by: Allan McRae <allan@archlinux.org>
2010-04-26New pactests for the phonon/qt issueNagy Gabor2-0/+57
Original-work-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-26makepkg: deprecate repackaging without a package functionAllan McRae1-5/+15
File permissions are not guaranteed to stay the same on exit from fakeroot, so repackaging may result in files with different permissions. This is avoided when using a package() function (or split packages) as the packaging step is rerun. Signed-off-by: Allan McRae <allan@archlinux.org> [Dan: touched up message for translation purposes] Signed-off-by: Dan McGee <dan@archlinux.org>
2010-04-26check for valid optarg before using strdupSerge Ziryukin1-0/+1
Signed-off-by: Serge Ziryukin <ftrvxmtrx@gmail.com> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25Show --print and --print-format options with -Rh, -Sh and -Uh onlyNagy Gabor1-3/+9
http://mailman.archlinux.org/pipermail/pacman-dev/2010-March/010519.html Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25More consistent printing of off_t and time_tXavier Chantry3-7/+7
time_t : %ld off_t : %jd and cast to intmax_t Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25Update -Si docs to reflect new -Sii operationDan McGee1-2/+3
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25Sort and avoid duplicates in -Sii outputAllan McRae1-1/+4
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25alpm_list_diff_sorted - make some arguments constAllan McRae2-5/+5
Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-25Fix cross-compilation issues with git and libfetchMatthias Lanzinger1-4/+4
This patch fixes 2 issues I encountered when cross-compiling pacman. First is the test for libfetch which requires explicit linking to all libraries libfetch depends on. The other problem results from the AC_CHECK_PROGS test for git. This test will stop configure with an error when cross-compiling. The fix moves the call to AC_CHECK_PROG so that is only called of --enable-git is actually set. Signed-off-by: Matthias Lanzinger <mlaenz@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-23Show 'Required By' in -Sii outputDan McGee4-20/+44
Just as we do in -Qi, we can compute required by information for sync database packages. The behavior seems sane; for a given package, the -Sii required by will show all packages in *any* sync database that require it. Implements FS#16244. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-18Strip extension off all package compression typesDan McGee1-1/+1
Since we were searching for '.pkg.tar.gz' before, we now have started to show extensions during the download when we have a '.pkg.tar.xz' package. Just look for '.pkg.tar.' (or '.db.tar.') instead and suppress anything found from that point on. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-15Unbreak the database partial extraction codeDan McGee1-13/+9
Basically I'm the idiot that thought I could make it better and completely forgot how freeing the contents of the original lists would screw up our nice little diff extraction lists. This caused segfaults among other problems. Last time I try to do that... Program received signal SIGSEGV, Segmentation fault. 0x00007ffff627ce26 in strcmp () from /lib/libc.so.6 (gdb) bt Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14Bump copyright dates to 2010Dan McGee96-128/+128
Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14fix a few warnings reported by clangXavier Chantry7-7/+10
- remove unused variables - some more sanity checks - safer printf Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14Reduce duplicate code in DB extractionDan McGee1-37/+26
Follow-up to the previous "Only extract new DB entries" patch; move the partial extraction code inside one side of the loop so we can use the same code for actually doing file extraction. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14Only extract new DB entriesXavier Chantry2-13/+156
This implements FS#15198. The idea apparently came from Csaba Henk <csaba-ml <at> creo.hu> which submitted a patch to Frugalware, so thanks to him, even though I did not look at the code :) The idea is to only extract folders for new packages into the package database and clean up the old directories. This is essentially implementing Xyne's "rebase" script within pacman. If using -Syy, just remove and extract everything. If using -Sy : 1. Generate list of directories in DB 2. Generate list of directories in archive 3. Compare both 4. Clean up old directories 5. Extract new directories Original-work-by: Allan McRae <allan@archlinux.org> Signed-off-by: Xavier Chantry <shiningxc@gmail.com> [Dan: fix compile error, s/int/size_t/] Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14Mark two functions staticDan McGee1-2/+2
These were just introduced in the `--print` patch, and don't need to be exposed outside of util.c. Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14Add new --print operation for all operationsXavier Chantry11-47/+170
And a new --print-format option to configure the output. This implements FS#14208 Example usage : pacman -Sp --print-format "%r/%n-%v : %l [%s]" kdelibs extra/kdelibs-4.3.2-4 : ftp://mir2.archlinuxfr.org/archlinux/extra/os/i686/kdelibs-4.3.2-4-i686.pkg.tar.gz [0,00] Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14print installed packagesXavier Chantry1-2/+22
Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14callback: use variable length for progressbar textXavier Chantry1-4/+15
This fixes FS#17523 We always used a fixed value of 50 for textlen, which is often not enough for download progress bar. At least we can use a bigger width on large terminal (e.g. 60% of width) and keep 50 as minimum. before: nautilus-2.28.4-1-x... 5.7M 789.2K/s 00:00:07 [####################################] 100% after: nautilus-2.28.4-1-x86_64 5.7M 770.7K/s 00:00:08 [##############################] 100% Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14callback.c : less magic progress barsXavier Chantry1-10/+13
1 - Explain magic numbers 2 - There was a weird off by 1 mess in the progress bar. The code supposedly shared the width between 50 chars for text (textlen) and the rest for the progress bar (proglen = getcols() - textlen). But the code actually used textlen + 1 for the text and proglen - 1 for the progress bar (with haslen=1, the progress bar was actually empty), which was a bit confusing so I changed it. Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14delta : add external cleanup scriptXavier Chantry5-4/+186
Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14makepkg: always update symlinks to compressed man pagesAllan McRae1-11/+12
When a man page has both symbolic and hard links, any symlink pointing to other than the alphabetically first hardlink was not "compressed" and left dangling towards the uncompressed man page. Fixes FS#18569. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14makepkg: make strip options configurableCedric Staniewski6-6/+45
The newly added variables STRIP_BINARIES, STRIP_SHARED and STRIP_STATIC, that are set in makepkg.conf, specify the strip options used on binaries and shared and static libraries. In addition, files are now stripped more aggressively by default. Implements FS#13592 the way it was suggested by Allan in the comments. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14makepkg: Remove setgid bit on srcdir/pkgdir creationDan McGee1-0/+6
It was noted in FS#17533 that setgid bits are carried down into any created subdirectories, and thus could end up being in a built package if the original package directory was marked g+s. When we create src/ and pkg/, explicitly chmod them to remove any sticky bits. Signed-off-by: Dan McGee <dan@archlinux.org> Signed-off-by: Allan McRae <allan@archlinux.org>
2010-03-14makepkg: abort on missing or non-writable PKGDESTAllan McRae1-6/+12
When PKGDEST pointed to a non-writable location, makepkg would fail after completing the build process. This patch makes it abort as soon as PKGDEST is parsed. Also, move the SRCDEST check to the same point rather than right before downloading sources (which was after dependency checks). Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-03-14makepkg: only strip files that are writableAllan McRae1-1/+1
TODO: http://mailman.archlinux.org/pipermail/pacman-dev/2010-January/010390.html Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-28makepkg: Add documentation for the new SRCPKGDEST variableNezmer1-0/+5
Add SRCPKGDEST documentation to the makepkg.conf man page Signed-off-by: Nezmer <git@nezmer.info> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-28makepkg: document environment variables PKGDEST and SRCDESTCedric Staniewski1-0/+8
Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-28makepkg: update required programsAllan McRae1-1/+1
Remove getopt, add xz. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-28bash_completion: remove absolute utility paths againCedric Staniewski1-14/+14
The location of the used utilities may and does differ between various distributions and therefore absolute paths do not work well. Since the main purpose of its introduction was to avoid side-effects caused by aliases, it is sufficient to disable possible aliases temporarily by preceding the commands with a backslash. Signed-off-by: Cedric Staniewski <cedric@gmx.ca> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-02-28contrib/*_completion: match *.pkg.tar.*Pierre Schmitz2-6/+6
Signed-off-by: Pierre Schmitz <pierre@archlinux.de> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-19Do not print installed size when only downloadingAllan McRae1-1/+3
When using --downloadonly the "Total Installed Size" message is not needed and perhaps misleading. Signed-off-by: Allan McRae <allan@archlinux.org> Signed-off-by: Dan McGee <dan@archlinux.org>
2010-01-19Print "there is nothing to do" with NOOP transactionsNagy Gabor3-1/+3
The "local database is up to date" message has been replaced with "there is nothing to do" message. This used with "empty" -S, -R, -U operations too. (Examples: pacman -S ignored_pkg, pacman -Ru needed_pkg.) See FS#17859. Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu> Signed-off-by: Dan McGee <dan@archlinux.org>