1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-02 00:25:07 -04:00
Commit Graph

1650 Commits

Author SHA1 Message Date
Dan McGee
c244cfecf6 Move alpm_splitdep usage to db_read
Holy inefficient batman! For a pacman -Qt operation (when we are using
compute_requiredby and not database entries), splitdep was being called ~1.3
million times on my local database. By splitting when we read the DB, we
drop this number to around 1700 and save a LOT of time in doing so (a 5x
increase in pacman -Qt speed here).

Note that the depends alpm_list_t in the package struct is no longer a
string list, but a list of pmdepent_t objects.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 21:00:02 -06:00
Dan McGee
8757398a7e testdb: remove requiredby checking
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 18:49:51 -06:00
Dan McGee
ceb870655e Remove REQUIREDBY checks from pactest
Remove any checks dealing with requiredby from pactest (but not actually
from the pactests themselves). Of course, we should probably find a new way
to check requiredby values of packages since there is no guarantee our code
is working perfectly.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 18:49:50 -06:00
Dan McGee
7219326dd4 Remove REQUIREDBY usage from libalpm
Instead of using the often-busted REQUIREDBY entries in the pacman database,
compute them each time they are required. This should help many things:

1. Simplify the codebase
2. Prevent future database corruption
3. Ensure when we do use requiredby, it is always correct
4. Shrink the pmpkg_t memory overhead

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 18:49:50 -06:00
Nagy Gabor
f5fcaf0b3c new trans001.py pactest
The pactest demonstrates what happens if fileconflict was found after the
removal part of a sync transaction.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 18:49:02 -06:00
Nagy Gabor
1d57a3e801 new add043.py pactest
Currently alpm_depcmp uses pkg->version as a version number for provisions,
which is odd.  The failure of the pactest demonstrates this.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 18:49:02 -06:00
Nagy Gabor
85b06f1276 alpm_list_add == alpm_list_add_last
It's time to define that alpm_list_add(list, foo) adds 'foo' to the end of
'list' and returns with 'list', because:
1. list is a list, not a set.
2. sortbydeps _needs_ an alpm_list_add definition to work properly.

As a first step, I used this definition in recursedeps.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
[Dan: punctuation cleanup in commit message and code comments, added comment
to alpm_list_add]
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-14 18:48:34 -06:00
Nathan Jones
46ec9e3548 Make it easier to ignore multiple packages.
This makes --ignore and --ignoregroup able to accept multiple
packages/groups by separating each with a comma.

For instance: pacman -Su --ignore kernel26,udev,glibc

This was requested in the comments of FS#8054.

Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 20:59:02 -06:00
Nathan Jones
70a91cbb22 Add help for --ignoregroup.
Signed-off-by: Nathan Jones <nathanj@insightbb.com>
[Dan: split usage line into two lines for clarity]
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 20:58:45 -06:00
Dan McGee
dbc2f902db pacman-optimize: add note saying sync would be helpful
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 20:56:15 -06:00
Nathan Jones
c29209e7b6 repo-add: Ensure only adding package's deltas.
repo-add was adding the delta files of any package that started with the
same package name plus a hyphen.

In this example, deltatest-libs delta files were added to the deltatest
package:

$ repo-add deltatest.db.tar.gz deltatest-1.0.2-1-i686.pkg.tar.gz
==> Extracting database to a temporary location...
==> Adding package 'deltatest-1.0.2-1-i686.pkg.tar.gz'
  -> Removing existing package 'deltatest-1.0.2-1'...
  -> Creating 'desc' db entry...
  -> Computing md5 checksums...
  -> Creating 'depends' db entry...
  -> Creating 'deltas' db entry...
  -> Added delta 'deltatest-1.0.2rc3-1_to_1.0.2-1-i686.delta'
  -> Added delta 'deltatest-libs-1.0.0-1_to_1.0.1-1-i686.delta'
==> Creating updated database file /tmp/deltatest.db.tar.gz

Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:13:21 -06:00
Dan McGee
103c3ac5a7 configure: Doxygen is disabled by default; manpages are included in dist
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:13:05 -06:00
Dan McGee
1b2817f539 Enforce const correctness on dep functions and rewrite alpm_dep_get_string
Add some const specifiers to the dep functions that can have them. In
addition, rewrite alpm_dep_get_string to use snprintf and cover all of
the bases (operators).

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:13:05 -06:00
Dan McGee
ec6a7d689b Return libalpm version number to being dot-separated
I think I goofed this up when making the big overhaul of configure.ac.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:13:05 -06:00
Nathan Jones
ca262623fc Add pactest for IgnoreGroup.
Also tell pactest to reset IgnoreGroup like it does for IgnorePkg.

Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:13:04 -06:00
Dan McGee
07243f74d1 Update valgrind.supp to ignore ld 2.X dl_relocate
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:12:57 -06:00
Dan McGee
5e12d3dec9 Fix display of -Qip output when a package file is given
Too many fields were being shown on -Qip output, and sizes were not always
correct (-Qi and -Qip output on the same package did not agree).

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-13 00:09:45 -06:00
Dan McGee
a0c908dd0d Remove 'Total Package Size'
Having 'Total Installed Size' and 'Total Download Size' makes this size
unnecessary.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 14:14:07 -06:00
Dan McGee
53fdae9a19 Fix memleak with new alpm_list_reverse usage
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 12:59:45 -06:00
Dan McGee
8236be9fd8 Add a horrible little hack to get symlink001.py to pass again
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>
2007-11-11 11:30:16 -06:00
Chantry Xavier
96f8faa666 Add two requiredby pactests
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>
2007-11-11 10:52:51 -06:00
Dan McGee
4a835f5f53 Ensure list tail pointer is updated when we remove tail node
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>
2007-11-11 10:47:28 -06:00
Nagy Gabor
b6b3b0135e Incorrect usage of alpm_db_whatprovides in sync.c
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>
2007-11-11 09:56:50 -06:00
Aaron Griffin
434ea5bf61 Typo fix (sepArately)
Found by Giovanni Scafora <linuxmania@gmail.com>

Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-11-11 09:52:17 -06:00
Aaron Griffin
cc15d29db2 Missing quote in output
Found by Giovanni Scafora <linuxmania@gmail.com>

Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
2007-11-11 09:52:07 -06:00
Dan McGee
2898ccb609 libalpm: fix lstat wrapper to actually use newpath
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>
2007-11-11 09:51:09 -06:00
Dan McGee
7b4573d851 Remove unused and broken alpm_list_remove_node function
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:51:09 -06:00
Dan McGee
dd0275b759 Add a missing newline in sync confirmation output
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:51:09 -06:00
Dan McGee
a55a07f5dd Add a symlink-based pactest
This passes with both the upcoming 3.1 devel tree and the 3.0.6 pacman code.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:51:09 -06:00
Dan McGee
84433c8800 Update bash completion
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:51:09 -06:00
Nagy Gabor
ed37d78664 Update Hungarian translation
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:51:09 -06:00
Dan McGee
6b98599953 pacman: remove leftover help string for -Rh
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:51:08 -06:00
Nathan Jones
8ec27835f4 Implement TotalDownload option.
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>
2007-11-11 09:46:13 -06:00
Nathan Jones
b206af78e0 Add TotalDownload option.
This will be used in the next commit.

Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:46:09 -06:00
Nathan Jones
3312de65e6 Implement IgnoreGroup.
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>
2007-11-11 09:44:30 -06:00
Nathan Jones
5c58b3d500 Add IgnoreGroup and --ignoregroup option.
This will be used in the next commit.

Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:44:26 -06:00
Giovanni Scafora
5cd6ffda72 makeworld: gettext support
Signed-off-by: Giovanni Scafora <linuxmania@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:42:19 -06:00
Roman Kyrylych
6f5ee2432c makepkg: remove .pacsave files when uninstalling dependencies
Signed-off-by: Roman Kyrylych <roman@archlinux.org>
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-11 09:39:39 -06:00
Dan McGee
7d51882dd0 Simplify callback DONE event handling
Move them all to a single fallthrough case statement since they all print
"done".

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-08 23:41:05 -06:00
Dan McGee
4e45e1187d Add missing 'done' printout
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-08 23:39:51 -06:00
Dan McGee
889fccd55f Small manpage updates
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-08 23:38:32 -06:00
Dan McGee
e6673544b2 Fix some issues with localized dates/epoch usage
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>
2007-11-08 23:18:07 -06:00
Dan McGee
5b4b4df4c9 Get rid of the footnotes section in generated manpages
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>
2007-11-08 21:56:53 -06:00
Dan McGee
9407baaaa6 doc: update links in footer.txt so they are actual links
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-08 21:17:59 -06:00
Giovanni Scafora
c00f46b653 Update Italian Translation
Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-08 21:16:07 -06:00
Dan McGee
f3e8343c7e Update PKGBUILD.5 with missing devel variable descriptions
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>
2007-11-08 09:33:05 -06:00
Dan McGee
9fdb15b4b5 Sync asciidoc.conf with GIT repository changes
We got our file from the GIT repository originally, so keep it up to date.

Signed-off-by: Dan McGee <dan@archlinux.org>
2007-11-08 09:31:58 -06:00
Scott Horowitz
dd2d6f980b Correctly handle version comparisons for SVN/CVS/etc PKGBUILDS.
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>
2007-11-08 07:15:37 -06:00
Dan McGee
23745a7bf2 Update the PKGBUILD example in the manpages
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>
2007-11-07 19:03:58 -06:00
Dan McGee
0e83f12f4a Change -fstack-protector flag to -fstack-protector-all
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>
2007-11-07 19:03:58 -06:00