Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 675236 - www-client/firefox-60.4.0: missing dependency on dev-lang/rust in the ebuild
Summary: www-client/firefox-60.4.0: missing dependency on dev-lang/rust in the ebuild
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-11 22:10 UTC by segmentation fault
Modified: 2019-01-12 01:12 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description segmentation fault 2019-01-11 22:10:44 UTC
Bear on me as I am writing this from memory - I already installed firefox-60.4.0 and there is no build.log available now. But it's very easy to reproduce:

emerge -C dev-lang/rust
emerge -1av =www-client/firefox-60.4.0

dev-lang/rust will NOT appear in the needed dependencies and the build process will stop pretty early saying that "rustc is needed" or something similar.

This is not the expected behaviour. The expected behaviour is that the ebuild will take care of the dependencies.

Writing from Windows right now, so there is no system info to post - in case you need it, please find it on my other bug reports, e.g.: https://bugs.gentoo.org/675116
Comment 1 Georgy Yakovlev archtester gentoo-dev 2019-01-11 22:43:53 UTC
Hi, 
it properly depends on virtual/rust (and cargo, which is provided by rust package) because users may have rust-bin installed.

portage does not check if you have virtual/rust's dependencies satisfied at the time of firefox build because you removed rust, not virtual/rust, and broke depgraph for rust and cargo in your example. don't do that.

portage assumes you have valid rust implementation if you have virtual/rust installed.
Comment 2 Georgy Yakovlev archtester gentoo-dev 2019-01-11 22:54:33 UTC
I was wrong about portage, it tries to make sure rust is installed


and the dependency is set in a eclass, not in ebuild

check eclass/mozconfig-v6.60.eclass in the repo.



ya@ws .../gentoo/www-client/firefox:<master> $ sudo emerge -C rust
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.

 dev-lang/rust
    selected: 1.31.1 
   protected: none 
     omitted: none 

All selected packages: =dev-lang/rust-1.31.1

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 1) dev-lang/rust-1.31.1...

 * GNU info directory index is up-to-date.

ya@ws .../gentoo/www-client/firefox:<master> $ emerge =firefox-60.4.0 -pv

These are the packages that would be merged, in order:

Calculating dependencies                           ... done!
[ebuild  N     ] dev-lang/rust-1.31.1:stable/1.31::gentoo  USE="system-llvm -clippy -debug -doc -jemalloc -libressl -rls -rustfmt -wasm" CPU_FLAGS_X86="sse2" LLVM_TARGETS="NVPTX (X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -PowerPC -Sparc -SystemZ -XCore" 0 KiB

[ebuild     UD ] www-client/firefox-60.4.0::gentoo [64.0.2::gentoo] USE="custom-cflags custom-optimization dbus hardened hwaccel screenshot startup-notification system-harfbuzz system-icu system-jpeg system-libevent system-libvpx -bindist -clang -debug -eme-free -geckodriver (-gmp-autoupdate) -jack (-neon) -pulseaudio (-selinux) -system-sqlite -test -wifi (-lto%*)" L10N="-ach -af -an -ar -as -ast -az -bg -bn-BD -bn-IN -br -bs -ca -cak -cs -cy -da -de -dsb -el -en-GB -en-ZA -eo -es-AR -es-CL -es-ES -es-MX -et -eu -fa -ff -fi -fr -fy -ga -gd -gl -gn -gu -he -hi -hr -hsb -hu -hy -id -is -it -ja -ka -kab -kk -km -kn -ko -lij -lt -lv -mai -mk -ml -mr -ms -nb -nl -nn -or -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -son -sq -sr -sv -ta -te -th -tr -uk -uz -vi -xh -zh-CN -zh-TW" 262,252 KiB
Comment 3 segmentation fault 2019-01-11 23:59:32 UTC
Well, I did not have neither virtual/rust, nor dev-lang/rust at the time I wanted to upgrade. I had an old firefox version (48 I think). Strange, but anyway, I just wanted to make sure that rust was not somehow forgotten, as I did not see it being mentioned in the ebuild. Thank you very much.
Comment 4 Georgy Yakovlev archtester gentoo-dev 2019-01-12 01:12:13 UTC
np, thanks for trying to be vigilant. deps in eclasses are easy to miss, it's not obvious at a first glance.

firefox is a VERY popular package, if there was a problem we'd have dozen of bugs withing couple of hours.