View previous topic :: View next topic |
Author |
Message |
emc Guru
Joined: 02 Jul 2004 Posts: 564 Location: Cracow, Poland
|
Posted: Tue Aug 26, 2014 12:13 pm Post subject: How to fix ebuilds |
|
|
Hi,
I try clean up after repoman report and don't know how?
1. machinarium:
Code: | RepoMan scours the neighborhood...
dependency.bad 4
games-puzzle/machinarium/machinarium-1.0.ebuild: DEPEND: ~amd64(hardened/linux/amd64/no-multilib) ['app-emulation/emul-linux-x86-baselibs', 'app-emulation/emul-linux-x86-gtklibs', 'app-emulation/emul-linux-x86-opengl', 'app-emulation/emul-linux-x86-xlibs']
games-puzzle/machinarium/machinarium-1.0.ebuild: RDEPEND: ~amd64(hardened/linux/amd64/no-multilib) ['app-emulation/emul-linux-x86-baselibs', 'app-emulation/emul-linux-x86-gtklibs', 'app-emulation/emul-linux-x86-opengl', 'app-emulation/emul-linux-x86-xlibs']
games-puzzle/machinarium/machinarium-1.0.ebuild: DEPEND: ~amd64(hardened/linux/amd64/no-multilib/selinux) ['app-emulation/emul-linux-x86-baselibs', 'app-emulation/emul-linux-x86-gtklibs', 'app-emulation/emul-linux-x86-opengl', 'app-emulation/emul-linux-x86-xlibs']
games-puzzle/machinarium/machinarium-1.0.ebuild: RDEPEND: ~amd64(hardened/linux/amd64/no-multilib/selinux) ['app-emulation/emul-linux-x86-baselibs', 'app-emulation/emul-linux-x86-gtklibs', 'app-emulation/emul-linux-x86-opengl', 'app-emulation/emul-linux-x86-xlibs'] |
ebuild looks like this:
http://data.gpo.zugaina.org/emc/games-puzzle/machinarium/machinarium-1.0.ebuild
and
2. gcruft
Code: | RepoMan scours the neighborhood...
portage.internal 1
app-portage/gcruft/gcruft-0.1.1.ebuild: 'ecompress' called on line: 37 |
ebuild looks like this:
http://data.gpo.zugaina.org/emc/app-portage/gcruft/gcruft-0.1.1.ebuild |
|
Back to top |
|
|
nativemad Developer
Joined: 30 Aug 2004 Posts: 918 Location: Switzerland
|
|
Back to top |
|
|
emc Guru
Joined: 02 Jul 2004 Posts: 564 Location: Cracow, Poland
|
Posted: Fri Oct 10, 2014 3:11 pm Post subject: |
|
|
Still, I don't know how to fix it |
|
Back to top |
|
|
nativemad Developer
Joined: 30 Aug 2004 Posts: 918 Location: Switzerland
|
Posted: Wed Oct 22, 2014 4:19 am Post subject: |
|
|
emc wrote: |
Still, I don't know how to fix it |
Ok, for the first issue, move the emu-x86 dep to the real package that provides that lib. That package should deliver the 32bit lib even on amd64 nowadays.
The second issue is a bit tricky.... repoman scans the ebuild itself and sees that you are using an internal function. To avoid that report and keep the functionality, you could move that part of the code to a seperate file. I mean you basically create a new file anyway so why not just provide that instead of creating it via echo!?
HTH, just ask if something isn't clear. _________________ Power to the people! |
|
Back to top |
|
|
emc Guru
Joined: 02 Jul 2004 Posts: 564 Location: Cracow, Poland
|
Posted: Mon Nov 03, 2014 2:48 pm Post subject: |
|
|
nativemad wrote: |
Ok, for the first issue, move the emu-x86 dep to the real package that provides that lib. That package should deliver the 32bit lib even on amd64 nowadays.
HTH, just ask if something isn't clear. |
So, should I copy-paste all of libs form: http://www.gentoo.org/proj/en/base/amd64/emul/emul-linux-x86-20140508.xml
for baselibs, gtklibs, opengl and xlibs... it's like a lot....
machinarium-1.0.ebuild
or just use libs from RDEPEND section? |
|
Back to top |
|
|
mva Developer
Joined: 01 Jun 2012 Posts: 6 Location: Tomsk||Moscow
|
Posted: Mon Nov 03, 2014 8:36 pm Post subject: |
|
|
Actually, I didn't checked content of emul-* used in gamerlay's machinarium ebuild (from where, it seems, you've copied it)
But, if multilib migration is over already, then it should be enough to just remove "amd64?()" section (and make sure it depends on multilib).
Anyway, you can check proper dependencies with:
Code: | qlist -e "$@" | xargs scanelf -L -n -q -F '%n #F' | tr , ' ' | xargs qfile -Cv | sort -u | awk '{print $1}' | uniq |
(Assumes, you've working copy of the game installed) |
|
Back to top |
|
|
emc Guru
Joined: 02 Jul 2004 Posts: 564 Location: Cracow, Poland
|
Posted: Thu Nov 06, 2014 9:48 am Post subject: |
|
|
mva wrote: | Actually, I didn't checked content of emul-* used in gamerlay's machinarium ebuild (from where, it seems, you've copied it)
But, if multilib migration is over already, then it should be enough to just remove "amd64?()" section (and make sure it depends on multilib).
Anyway, you can check proper dependencies with:
Code: | qlist -e "$@" | xargs scanelf -L -n -q -F '%n #F' | tr , ' ' | xargs qfile -Cv | sort -u | awk '{print $1}' | uniq |
(Assumes, you've working copy of the game installed) |
Yes, I've copied to my local overlay.
What you mean by and make sure it depends on multilib?
Check failed at first qlist:
Code: | $ eix machinarium
[I] games-puzzle/machinarium [1]
Available versions: (~)1.0^fm {multilib}
Installed versions: 1.0^fm(04:24:17 PM 08/25/2014)(multilib)
Homepage: http://machinarium.net/
Description: Point-and-click adventure about robot in steam-punk world
[1] "mipl_emc" /usr/local/portage/gentoo.mipl |
Code: | $ qlist -e "$@" | xargs scanelf -L -n -q -F '%n #F' | tr , ' ' | xargs qfile -Cv | sort
-u | awk '{print $1}' | uniq
Usage: qlist <opts> <pkgname> : list files owned by pkgname
Options: -[ISRUcDeadosvqChV]
-I, --installed * Just show installed packages
-S, --slots * Display installed packages with slots
-R, --repo * Display installed packages with repository
-U, --umap * Display installed packages with flags used
-c, --columns * Display column view
--showdebug * Show /usr/lib/debug files
-e, --exact * Exact match (only CAT/PN or PN without PV)
-a, --all * Show every installed package
-d, --dir * Only show directories
-o, --obj * Only show objects
-s, --sym * Only show symlinks
--root <arg> * Set the ROOT env var
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit
Usage: qfile <opts> <filename> : list all pkgs owning files
Options: -[bef:m:oRx:SvqChV]
-S, --slots * Display installed packages with slots
-R, --root-prefix * Assume arguments are already prefixed by $ROOT
-f, --from <arg> * Read arguments from file <arg> ("-" for stdin)
-m, --max-args <arg> * Treat from file arguments by groups of <arg> (defaults to 5000)
-b, --basename * Match any component of the path
-o, --orphans * List orphan files
-x, --exclude <arg> * Don't look in package <arg> (used with --orphans)
-e, --exact * Exact match (used with --exclude)
--root <arg> * Set the ROOT env var
-v, --verbose * Make a lot of noise
-q, --quiet * Tighter output; suppress warnings
-C, --nocolor * Don't output color
-h, --help * Print this help and exit
-V, --version * Print version and exit |
|
|
Back to top |
|
|
nativemad Developer
Joined: 30 Aug 2004 Posts: 918 Location: Switzerland
|
Posted: Thu Nov 06, 2014 11:40 am Post subject: |
|
|
emc wrote: |
What you mean by and make sure it depends on multilib? |
something like that i guess
Code: |
inherit multilib
use? ( category/package[${MULTILIB_USEDEP}] )
|
emc wrote: | Code: | $ qlist -e "$@" | xargs scanelf -L -n -q -F '%n #F' | tr , ' ' | xargs qfile -Cv | sort
-u | awk '{print $1}' | uniq
Usage: qlist <opts> <pkgname> : list files owned by pkgname
|
|
Try it with the actual package name instead of the "$@"! _________________ Power to the people! |
|
Back to top |
|
|
emc Guru
Joined: 02 Jul 2004 Posts: 564 Location: Cracow, Poland
|
Posted: Thu Nov 06, 2014 1:06 pm Post subject: |
|
|
nativemad wrote: |
Try it with the actual package name instead of the "$@"! |
it return:
Code: | app-emulation/emul-linux-x86-baselibs-20140508-r12
app-emulation/emul-linux-x86-gtklibs-20140508-r3
app-emulation/emul-linux-x86-xlibs-20140508
sys-devel/gcc-4.9.1
sys-libs/glibc-2.19-r1 |
|
|
Back to top |
|
|
emc Guru
Joined: 02 Jul 2004 Posts: 564 Location: Cracow, Poland
|
Posted: Thu Nov 06, 2014 1:25 pm Post subject: |
|
|
nativemad wrote: |
Code: |
inherit multilib
use? ( category/package[${MULTILIB_USEDEP}] )
|
|
Sorry doesn't help me a much... I'm just start writing ebuilds[/code] |
|
Back to top |
|
|
nativemad Developer
Joined: 30 Aug 2004 Posts: 918 Location: Switzerland
|
Posted: Fri Nov 07, 2014 11:29 am Post subject: |
|
|
emc wrote: | nativemad wrote: |
Code: |
inherit multilib
use? ( category/package[${MULTILIB_USEDEP}] )
|
|
Sorry doesn't help me a much... I'm just start writing ebuilds[/code] |
That was a wrong guess on my side... Obviously I also haven't used it so far!
It's the abi_x86_32 option that should be used!
See the trine2 ebuild in the tree for an example on how to make the deps properly.
It checks if either there is an emul package available, or the original 64bit lib is compiled with the 32bit abi enabled. _________________ Power to the people! |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|