On Fri, Feb 27, 2009 at 2:28 PM, Dan McGee <dpmcgee@gmail.com> wrote:
On Fri, Feb 27, 2009 at 7:03 AM, Xavier <shiningxc@gmail.com> wrote:
On Fri, Feb 27, 2009 at 3:31 AM, Allan McRae <allan@archlinux.org> wrote:
Hi,
I took repo-add from the pacman package and one built from the latest git will all Xavier's patches and made a repo db from all packages in my cache (all of testing, core and extra, some community). There are a few differences (see http://dev.archlinux.org/~allan/repoadd-diff.txt). A summary of the differences:
A bunch of packages have the ARCH field removed: -%ARCH% -i686 Hmm, this I'm not sure about.
These packages don't have the arch set in their PKGINFO. So it is also missing from the database, as expected. It was actually a bug in repo-add 3.2.2 : the arch variable, unlike all the other variables is not declared anywhere and is not declared as local. So when the old code did eval "arch=i686", it created a global arch variable. So you just have to call db_write_entry with one arch, then arch will be set. And you can add other packages with no arch, they will just use the old value of $arch. The new code does declare arch=i686, which declares the arch variable with a local scope, so the value is not kept on further calls of db_write_entry. The only thing to keep from that is that maybe we should check that all variables used are indeed explicitly declared as local in db_write_entry. $arch could be the only one missing though.
This change is not so good... (k3b-i18n package) %DEPENDS% -k3b>=1.0.5-1 +k3b>=$pkgver
This happened in the makepkg stage, and I will bet a lot of money you will find the following in the PKGBUILD: depends=('k3b>=$pkgver') rather than depends=("k3b>=$pkgver")
(single vs. double quotes) The only thing we do differently now is actually respect the *entire* text string, so this variable is no longer (incorrectly) substituted.
That is correct :)