Linux Archive

Linux Archive (http://www.linux-archive.org/)
-   ArchLinux Pacman Development (http://www.linux-archive.org/archlinux-pacman-development/)
-   -   The official pacman repository branch, master, updated. v3.1.4-163-gfb09d35 (http://www.linux-archive.org/archlinux-pacman-development/88114-official-pacman-repository-branch-master-updated-v3-1-4-163-gfb09d35.html)

Dan McGee 05-14-2008 08:59 PM

The official pacman repository branch, master, updated. v3.1.4-163-gfb09d35
 
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The official pacman repository".

The branch, master has been updated
via fb09d35e6a24ef433005728c77453bce99efd010 (commit)
via 33e3182dbd1ad9b68f72914abbf4a93a97b0d79b (commit)
via a8ee1854135f333091337e3dbcb1f96cdb1aab01 (commit)
via 84283672853350a84d2a71b72dc06e180cad1587 (commit)
via dd98aa8564a21ed43782704bf9feb5b2b114825f (commit)
via a422f6e39c9c60b89269c2b09e697a9eb142b904 (commit)
via f671147282e0f5c6a2e05c8cb7a0d5b72ef8cb61 (commit)
via ae5ef3b90fcad0627d450f0be6ea04dbea2019e2 (commit)
via 584ffa6aef13d0933ad4930ab9cb70d3af2977ff (commit)
via d5278ebb3ba94efdc9fffb7924ac66b6747d9011 (commit)
via f43805d875ad5c672afbbfff48bded2087204773 (commit)
via 8248b4bfb1abe175d73e20106a18172da5296836 (commit)
via e80232f24c51838d3f4ccff1fbc9c8fda87e1ecb (commit)
from 663408532ae852e7123da6b9658df1cacc0c642d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit fb09d35e6a24ef433005728c77453bce99efd010
Author: Xavier Chantry <shiningxc@gmail.com>
Date: Tue Apr 15 17:10:39 2008 +0200

Disable geteuid in cygwin.

This is one of those rare cases where we actually want to code in a
platform-specific #ifdef. Because you don't need to be the root user on a
Windows box, and fakeroot doesn't exist so we can do easy testing, lets
disable any checking of the UID.

Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit 33e3182dbd1ad9b68f72914abbf4a93a97b0d79b
Author: Xavier Chantry <shiningxc@gmail.com>
Date: Wed Apr 16 10:13:21 2008 +0200

pactest: only use fakeroot when it is found.

Only use fakeroot and fakechroot when they are found AND required.
fakechroot only had the first condition, and fakeroot only the second.

When they are required (user != root) but not found, display a warning.

Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit a8ee1854135f333091337e3dbcb1f96cdb1aab01
Author: Dan McGee <dan@archlinux.org>
Date: Wed May 14 00:37:51 2008 -0500

Remove wrapper call around versioncmp

Actually, just rename _alpm_versioncmp to alpm_pkg_vercmp and get rid of the
need for a wrapper since it did nothing anyway.

Signed-off-by: Dan McGee <dan@archlinux.org>

commit 84283672853350a84d2a71b72dc06e180cad1587
Author: Dan McGee <dan@archlinux.org>
Date: Wed May 14 00:30:04 2008 -0500

Update _alpm_versioncmp

This code hasn't been looked at in some time. I grabbed a more recent
version of the RPM source (4.4.2.3) and attempted to sync up any changes
they have made, as well as make the libalpm additional code much cleaner and
limited to only a few added lines of code.

The size of this patch might make you think we added code, but bloat-o-meter
actually tells us otherwise:
<function> <old> <new> <diff>
_alpm_versioncmp 1485 1021 -464

Signed-off-by: Dan McGee <dan@archlinux.org>

commit dd98aa8564a21ed43782704bf9feb5b2b114825f
Author: Dan McGee <dan@archlinux.org>
Date: Tue May 13 19:03:54 2008 -0500

Simplify _alpm_pkg_new()

Any real call of this function doesn't specify a name or version ahead of
time, so just kill that functionality off. Now to remove those dummy
packages...

Signed-off-by: Dan McGee <dan@archlinux.org>

commit a422f6e39c9c60b89269c2b09e697a9eb142b904
Author: Dan McGee <dan@archlinux.org>
Date: Sat May 10 13:32:19 2008 -0500

Remove lazy init code from pkg name and version functions

If we have a package without name and/or version, we are really out of luck.
Speed these functions up by removing unnecessary code. Note that both the
splitname and pkg_load functions, where the name and version of packages are
initially populated for databases and pkg.tar.gz files respectively, enforce
that every new package struct created has a name and version.

Signed-off-by: Dan McGee <dan@archlinux.org>

commit f671147282e0f5c6a2e05c8cb7a0d5b72ef8cb61
Author: Xavier Chantry <shiningxc@gmail.com>
Date: Mon May 12 18:56:14 2008 -0500

Fix rewinddir regression by cleaning up db_scan

Commit 046003844739416ff6d168dd2dec76490adb0727 caused a regression when
rereading the pkgcache after updating the on-disk databases. A rewinddir
call was errantly removed.

Instead of replacing the call to rewindir, clean up this whole mess.
db_scan is used only once and with target == NULL so there was actually half
the code of db_scan which was unused. This is gone now and replaced by a
single new db_populate function.

Dan: add_sorted ended up being 3x slower than one msort at the end, so I
changed back to that. I also made one pointer variable const and merged this
whole patch with my original fix for the rewinddir issue.

Signed-off-by: Xavier Chantry <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit ae5ef3b90fcad0627d450f0be6ea04dbea2019e2
Author: Dan McGee <dan@archlinux.org>
Date: Sat May 3 09:35:37 2008 -0500

Remove --builddeps from makepkg

This really should be in an external script, as it is not makepkg's job to
rebuild your system.

Signed-off-by: Dan McGee <dan@archlinux.org>

commit 584ffa6aef13d0933ad4930ab9cb70d3af2977ff
Author: Dan McGee <dan@archlinux.org>
Date: Mon May 12 20:49:18 2008 -0500

Remove an outdated exception check in file conflict code

This has been around since at least pacman 2.9.8. Frugalware just dumped it
in commit 113ec73bfcfdc, and deleting it here and running pactest shows that
nothing that we have actually tested changes. If someone can pactest the
edge case where this is needed, then show me the money.

Signed-off-by: Dan McGee <dan@archlinux.org>

commit d5278ebb3ba94efdc9fffb7924ac66b6747d9011
Author: Chantry Xavier <shiningxc@gmail.com>
Date: Mon Jan 28 19:49:27 2008 +0100

Add SyncFirst option.

This patch offers a way to fix FS#9228.
By putting "SyncFirst = pacman" in pacman.conf, the version check will
happen before the transaction really starts, and before any replacements is
made.
Otherwise, no version check is done.

The sync301 pactest was updated to use this SyncFirst option.

Example session with SyncFirst = pacman, and a newer pacman version
available :
$ pacman -Su (or pacman -S <any targets>)
:: the following packages should be upgraded first :
pacman
:: Do you want to cancel the current operation
:: and upgrade these packages now? [Y/n]

resolving dependencies...
looking for inter-conflicts...

Targets: pacman-x.y.z-t

Total Download Size: x.xx MB
Total Installed Size: x.xx MB

Proceed with installation? [Y/n] n

As Nagy previously noted, doing this check on any -S operations might look
intrusive, but it can be required.
For example, the case where you want to install a package with versioned
provisions, using a pacman version which didn't support that feature yet
(and there is already a newer pacman in sync db supporting it).

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit f43805d875ad5c672afbbfff48bded2087204773
Author: Chantry Xavier <shiningxc@gmail.com>
Date: Sat May 10 18:47:42 2008 +0200

Cleanup usages of alpm_list_find and alpm_list_remove.

* remove obsolete and unused *_cmp helper functions like deppkg_cmp and
_alpm_grp_cmp

* new alpm_list_remove_str function, used 6 times in handle.c

* remove _alpm_prov_cmp / _alpm_db_whatprovides and replace them by
a more general alpm_find_pkg_satisfiers with a cleaner implementation.
before: alpm_db_whatprovides(db, targ)
after: alpm_find_pkg_satisfiers(alpm_db_getpkgcache(db), targ)

* remove satisfycmp and replace alpm_list_find + satisfycmp usage by
_alpm_find_dep_satisfiers.
before : alpm_list_find(_alpm_db_get_pkgcache(db), dep, satisfycmp)
after : _alpm_find_dep_satisfiers(_alpm_db_get_pkgcache(db ), dep)

* remove _alpm_pkgname_pkg_cmp, which was used with alpm_list_remove, and
use _alpm_pkg_find + alpm_list_remove with _alpm_pkg_cmp instead.

This commit actually get rids of all complicated and asymmetric _cmp
functions. I first thought these functions were worth it, be caused it
allowed us to reuse list_find and list_remove. But this was at the detriment
of the clarity and also the ease of use of these functions, dangerous
because of their asymmetricity.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit 8248b4bfb1abe175d73e20106a18172da5296836
Author: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Date: Thu May 1 23:58:33 2008 +0200

Swap the parameters of alpm_pkg_find

Now the syntax is coherent with alpm_list_find and alpm_sync_find.

Signed-off-by: Nagy Gabor <ngaba@bibl.u-szeged.hu>
Signed-off-by: Dan McGee <dan@archlinux.org>

commit e80232f24c51838d3f4ccff1fbc9c8fda87e1ecb
Author: Dan McGee <dan@archlinux.org>
Date: Tue May 13 07:16:21 2008 -0500

Remove errant include of error.h

This doesn't exist anymore, the header file was removed a while back in
commit 4c872594da321aa406cfb306c32c94ce2929d59e.

Signed-off-by: Dan McGee <dan@archlinux.org>

-----------------------------------------------------------------------

Summary of changes:
doc/makepkg.8.txt | 7 --
doc/pacman.conf.5.txt | 6 ++
etc/makepkg.conf.in | 2 -
lib/libalpm/add.c | 11 +--
lib/libalpm/alpm.h | 4 +-
lib/libalpm/alpm_list.c | 28 +++++-
lib/libalpm/alpm_list.h | 1 +
lib/libalpm/be_files.c | 108 +++++++-----------------
lib/libalpm/be_package.c | 3 +-
lib/libalpm/cache.c | 22 ++----
lib/libalpm/conflict.c | 20 -----
lib/libalpm/db.c | 67 +--------------
lib/libalpm/db.h | 6 +-
lib/libalpm/deps.c | 58 +++++++++----
lib/libalpm/deps.h | 1 +
lib/libalpm/group.c | 10 --
lib/libalpm/group.h | 1 -
lib/libalpm/handle.c | 30 +++----
lib/libalpm/package.c | 209 ++++++++++++++++++++++++----------------------
lib/libalpm/package.h | 6 +-
lib/libalpm/remove.c | 10 +-
lib/libalpm/sync.c | 25 +++---
pactest/pmtest.py | 21 +++--
pactest/tests/sync301.py | 4 +-
scripts/makepkg.sh.in | 43 +---------
src/pacman/conf.c | 2 +
src/pacman/conf.h | 1 +
src/pacman/pacman.c | 11 ++-
src/pacman/sync.c | 81 ++++++++++--------
29 files changed, 334 insertions(+), 464 deletions(-)


hooks/post-receive
--
The official pacman repository

_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Nagy Gabor 05-14-2008 09:20 PM

The official pacman repository branch, master, updated. v3.1.4-163-gfb09d35
 
>
> Add SyncFirst option.
>
> This patch offers a way to fix FS#9228.
> By putting "SyncFirst = pacman" in pacman.conf, the version check will
> happen before the transaction really starts, and before any replacements
> is
> made.
> Otherwise, no version check is done.
>
> The sync301 pactest was updated to use this SyncFirst option.
>
> Example session with SyncFirst = pacman, and a newer pacman version
> available :
> $ pacman -Su (or pacman -S <any targets>)
> :: the following packages should be upgraded first :
> pacman
> :: Do you want to cancel the current operation
> :: and upgrade these packages now? [Y/n]
>
> resolving dependencies...
> looking for inter-conflicts...
>
> Targets: pacman-x.y.z-t
>
> Total Download Size: x.xx MB
> Total Installed Size: x.xx MB
>
> Proceed with installation? [Y/n] n
>
> As Nagy previously noted, doing this check on any -S operations might
> look
> intrusive, but it can be required.
> For example, the case where you want to install a package with versioned
> provisions, using a pacman version which didn't support that feature yet
> (and there is already a newer pacman in sync db supporting it).
>
> Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
> Signed-off-by: Dan McGee <dan@archlinux.org>
>

o/

> commit f43805d875ad5c672afbbfff48bded2087204773
> Author: Chantry Xavier <shiningxc@gmail.com>
> Date: Sat May 10 18:47:42 2008 +0200
>
> Cleanup usages of alpm_list_find and alpm_list_remove.
>
> * remove obsolete and unused *_cmp helper functions like deppkg_cmp and
> _alpm_grp_cmp
>
> * new alpm_list_remove_str function, used 6 times in handle.c
>
> * remove _alpm_prov_cmp / _alpm_db_whatprovides and replace them by
> a more general alpm_find_pkg_satisfiers with a cleaner implementation.
> before: alpm_db_whatprovides(db, targ)
> after: alpm_find_pkg_satisfiers(alpm_db_getpkgcache(db), targ)

Warning: pkg literal also satisfies pkg. But in most cases we called
what_provides if we didn't find a literal.

> * remove satisfycmp and replace alpm_list_find + satisfycmp usage by
> _alpm_find_dep_satisfiers.
> before : alpm_list_find(_alpm_db_get_pkgcache(db), dep, satisfycmp)
> after : _alpm_find_dep_satisfiers(_alpm_db_get_pkgcache(db ), dep)

Warning: possible slowdown, the old way just stopped after a satisfier (which
is ideal in checkdeps), now we scan the whole db.

>
> * remove _alpm_pkgname_pkg_cmp, which was used with alpm_list_remove,
> and
> use _alpm_pkg_find + alpm_list_remove with _alpm_pkg_cmp instead.
>

Imho this is ugly. First we find it, then we again find it via list_remove.



----------------------------------------------------
SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu
This mail sent through IMP: http://horde.org/imp/


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Nagy Gabor 05-15-2008 09:33 AM

The official pacman repository branch, master, updated. v3.1.4-163-gfb09d35
 
> Nagy Gabor wrote:
> >> commit f43805d875ad5c672afbbfff48bded2087204773
> >> Author: Chantry Xavier<shiningxc@gmail.com>
> >> Date: Sat May 10 18:47:42 2008 +0200
> >>
> >> Cleanup usages of alpm_list_find and alpm_list_remove.
> >>
> >> * remove obsolete and unused *_cmp helper functions like deppkg_cmp
> and
> >> _alpm_grp_cmp
> >>
> >> * new alpm_list_remove_str function, used 6 times in handle.c
> >>
> >> * remove _alpm_prov_cmp / _alpm_db_whatprovides and replace them by
> >> a more general alpm_find_pkg_satisfiers with a cleaner
> implementation.
> >> before: alpm_db_whatprovides(db, targ)
> >> after: alpm_find_pkg_satisfiers(alpm_db_getpkgcache(db), targ)
> >
> > Warning: pkg literal also satisfies pkg. But in most cases we called
> > what_provides if we didn't find a literal.
> >

Yes, there is no problem with this (I just emphasized it). I like the new
function better because I think find_satisfiers is quite a common task. Btw, as
I see, after this patch pacman -S 'kernel26>=2.6.24' automagically works, which
is cool imho.

>
> I know, it's not exactly equivalent but I think it makes more sense that
> way and as you noticed, it works the same for our use case.
>
> >> * remove satisfycmp and replace alpm_list_find + satisfycmp usage by
> >> _alpm_find_dep_satisfiers.
> >> before : alpm_list_find(_alpm_db_get_pkgcache(db), dep, satisfycmp)
> >> after : _alpm_find_dep_satisfiers(_alpm_db_get_pkgcache(db ), dep)
> >
> > Warning: possible slowdown, the old way just stopped after a satisfier
> (which
> > is ideal in checkdeps), now we scan the whole db.
> >
>
> Right, I knew about that too, I just wanted to keep the code as clean as
> possible and didn't find another way. Though it might be worth to do
> some benchmarking / profiling. If it's really too bad, it will have to
> change.
>

One more thing, the result of alpm_find_dep_satisfiers should be freed, which is
forgotten (memleak). Remember, that the old list_find was a boolean function, it
was modified in order to handle causingpkg for -Ru. No doubt, this will be
slower. The average slowdown of (successful) dependency check will be about 2x.
(considering only the real calculations, not disk read etc.) The question is
that overall this will be notable or not, this needs testing, indeed. Basically,
I don't prefer clean code over "performance", so I think this should be changed (*).

> >>
> >> * remove _alpm_pkgname_pkg_cmp, which was used with
> alpm_list_remove,
> >> and
> >> use _alpm_pkg_find + alpm_list_remove with _alpm_pkg_cmp instead.
> >>
> >
> > Imho this is ugly. First we find it, then we again find it via
> list_remove.
> >
> >
>
> Yeah, it's not ideal either. But neither are dummy pkg or fake
> asymmetric cmp functions. I just preferred it like that.
> Imo the real problem here is that our data structures suck and are
> inefficient. Linear search ftw.
>

(*) is also holds here. However, performance is not an issue here, just simply
we do an "unneeded" task here, which I find ugly. alpm_list_find compare
functions could be easily killed, but list_remove is quite a complicated
function, thus "reimplementing" won't work. I think in this case keeping
pkgpkgnamecmp was better, even if it was ugly.

An alternative idea: alpm_list_find_node, which returns with an alpm_list_t
node, not the ->data; and reimplement alpm_list_remove_node, but with two param
list (head) and node. This information is enough to cleanly remove that node,
and can be cut from the current list_remove (by splitting that function).

Bye



----------------------------------------------------
SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu
This mail sent through IMP: http://horde.org/imp/


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev

Nagy Gabor 05-19-2008 12:22 PM

The official pacman repository branch, master, updated. v3.1.4-163-gfb09d35
 
Idézés Xavier <shiningxc@gmail.com>:

> Nagy Gabor wrote:
> >> Nagy Gabor wrote:
> >>>> commit f43805d875ad5c672afbbfff48bded2087204773
> >>>> Author: Chantry Xavier<shiningxc@gmail.com>
> >>>> Date: Sat May 10 18:47:42 2008 +0200
> >>>>
> >>>> Cleanup usages of alpm_list_find and alpm_list_remove.
> >>>>
> >>>> * remove obsolete and unused *_cmp helper functions like
> deppkg_cmp
> >> and
> >>>> _alpm_grp_cmp
> >>>>
> >>>> * new alpm_list_remove_str function, used 6 times in handle.c
> >>>>
> >>>> * remove _alpm_prov_cmp / _alpm_db_whatprovides and replace them
> by
> >>>> a more general alpm_find_pkg_satisfiers with a cleaner
> >> implementation.
> >>>> before: alpm_db_whatprovides(db, targ)
> >>>> after: alpm_find_pkg_satisfiers(alpm_db_getpkgcache(db), targ)
> >>> Warning: pkg literal also satisfies pkg. But in most cases we called
> >>> what_provides if we didn't find a literal.
> >>>
> >
> > Yes, there is no problem with this (I just emphasized it). I like the new
> > function better because I think find_satisfiers is quite a common task.
> Btw, as
> > I see, after this patch pacman -S 'kernel26>=2.6.24' automagically works,
> which
> > is cool imho.
> >
>
> I am glad you liked at least one thing about my patch :)
>
>

If we like this then we could document it. But unfortunately in case of
versioned dependencies the "literal first" rule disappear. We need something
similar to "search for satisfier part" of resolvedeps. Maybe we could move that
part to its own function and somehow use it.

Bye

P.S.: Sorry for "chit-chat", this is my last year in uni (hopefully;), I'm quite
busy now. But in summer holiday patch flood will come... ;-)


----------------------------------------------------
SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu
This mail sent through IMP: http://horde.org/imp/


_______________________________________________
pacman-dev mailing list
pacman-dev@archlinux.org
http://archlinux.org/mailman/listinfo/pacman-dev


All times are GMT. The time now is 04:36 PM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.