Summary: | equery fails in postsync.d script with sys-apps/portage-2.3.40 | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Norman Shulman <norman.shulman> |
Component: | Unclassified | Assignee: | Portage team <dev-portage> |
Status: | UNCONFIRMED --- | ||
Severity: | normal | ||
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Norman Shulman
2018-06-04 22:52:12 UTC
I have these hooks:
/etc/portage/postsync.d/q-reinitialize
/etc/portage/postsync.d/99-eix-update
And it looks like they run when I sync with portage-2.3.40:
> Reading Portage settings...
> Building database (/var/cache/eix/portage.eix)...
> [0] "gentoo" /var/portage/repos/gentoo (cache: metadata-md5-or-flat)
> Reading category 169|169 (100) Finished
> Applying masks...
> Calculating hash tables...
> Writing database file /var/cache/eix/portage.eix...
> Database contains 20348 packages in 169 categories.
> q: Updating ebuild cache ...
> q: Finished 36628 entries in 0.238303 seconds
You're right; sorry. The script runs, but fails: $ sudo emerge -q --sync ... grep: /usr/portage/virtual/linux-sources/.ebuild: No such file or directory ... * Spawn failed for: linux-sources-fix, /etc/portage/postsync.d/linux-sources-fix The grep command is grep -q grsecurity-sources /usr/portage/virtual/linux-sources/${version}.ebuild where version is defined in the immediately preceding line: version=$(equery -q l linux-sources | cut -d \/ -f 2) When I run this by hand, $ version=$(equery -q l linux-sources | cut -d \/ -f 2) $ echo $version linux-sources-3 Seems equery now fails in the postsync.d script. I wonder if something about the postsync.d environment variables triggers this. For comparison, you can try using the portageq command like this: version=$(portageq match / linux-sources | cut -d \/ -f 2) (In reply to Zac Medico from comment #3) > I wonder if something about the postsync.d environment variables triggers > this. For comparison, you can try using the portageq command like this: > > version=$(portageq match / linux-sources | cut -d \/ -f 2) This is a workaround; thanks! |