Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 686330 - sys-kernel/linux-firmware-20190514 - doins: FileNotFoundError: [Errno 2] No such file or directory: b'*'
Summary: sys-kernel/linux-firmware-20190514 - doins: FileNotFoundError: [Errno 2] No s...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Chí-Thanh Christopher Nguyễn
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-05-19 19:44 UTC by Duncan
Modified: 2019-05-19 22:54 UTC (History)
3 users (show)

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


Attachments
sys-kernel:linux-firmware-20190514:20190519-191744.log (sys-kernel:linux-firmware-20190514:20190519-191744.log,3.35 KB, text/plain)
2019-05-19 19:44 UTC, Duncan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Duncan 2019-05-19 19:44:56 UTC
Created attachment 577326 [details]
sys-kernel:linux-firmware-20190514:20190519-191744.log

Python and portage versions, linux-firmware USE flags and saved-config contents:

$$ equery l python portage
* Searching for python ...
[IP-] [  ] dev-lang/python-2.7.16:2.7
[IP-] [  ] dev-lang/python-3.6.8:3.6/3.6m
* Searching for portage ...
[IP-] [  ] sys-apps/portage-2.3.66-r1:0

$$ equery u linux-firmware
[ Legend : U - final flag setting for installation]
[        : I - package is installed with flag     ]
[ Colors : set, unset                             ]
* Found these USE flags for sys-kernel/linux-firmware-20190514:
U I
- - redistributable : Install also non-free (but redistributable) firmware files
+ + savedconfig     : Allows individual selection of firmware files

$$ cat /etc/portage/savedconfig/sys-kernel/linux-firmware
# Remove files that shall not be installed from this list.
LICENSE.amdgpu
README
WHENCE
amdgpu/polaris11_vce.bin
amdgpu/polaris11_uvd.bin
amdgpu/polaris11_smc_sk.bin
amdgpu/polaris11_smc.bin
amdgpu/polaris11_sdma1.bin
amdgpu/polaris11_sdma.bin
amdgpu/polaris11_rlc.bin
amdgpu/polaris11_pfp_2.bin
amdgpu/polaris11_pfp.bin
amdgpu/polaris11_mec_2.bin
amdgpu/polaris11_mec2_2.bin
amdgpu/polaris11_mec2.bin
amdgpu/polaris11_mec.bin
amdgpu/polaris11_me_2.bin
amdgpu/polaris11_me.bin
amdgpu/polaris11_mc.bin
amdgpu/polaris11_k_smc.bin
amdgpu/polaris11_ce_2.bin
amdgpu/polaris11_ce.bin
rtl_nic/rtl8168e-3.fw

$$

Install phase splat log snippet.


>>> Install linux-firmware-20190514 into /tmp/portage/sys-kernel/linux-firmware-20190514/image category sys-kernel
Traceback (most recent call last):
File "/usr/lib/portage/python3.6/doins.py", line 611, in <module>
sys.exit(main(sys.argv[1:]))
File "/usr/lib/portage/python3.6/doins.py", line 602, in main
os.path.dirname(source)):
File "/usr/lib/portage/python3.6/doins.py", line 450, in _doins
return install_runner.install_file(source, os.path.dirname(dest))
File "/usr/lib/portage/python3.6/doins.py", line 386, in install_file
return self._ins_runner.run(source, dest_dir)
File "/usr/lib/portage/python3.6/doins.py", line 195, in run
sstat = os.stat(source)
FileNotFoundError: [Errno 2] No such file or directory: b'*'
* ERROR: sys-kernel/linux-firmware-20190514::gentoo failed (install phase):
*   doins failed
Comment 1 Duncan 2019-05-19 19:54:24 UTC
FWIW this is using main tree commit 97541025a from Repository mirror & CI, Sunday May 19 18:45:04 2019 +0000, with 41b31d382 being the last linux-firmware commit to the tree, as merged in 9688c5cd1.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2019-05-19 20:46:19 UTC

*** This bug has been marked as a duplicate of bug 686288 ***
Comment 3 Ulrich Müller gentoo-dev 2019-05-19 21:29:22 UTC
Don't unset the "redistributable" flag if your saved config contains only files with such (non-free, but redistributable) licenses. The flag is enabled by an IUSE default for a reason.

What happens is that the resulting list of files ends up empty, which makes doins fail. (Which presumably is better than silently installing an empty package.)
Comment 4 Duncan 2019-05-19 22:04:27 UTC
(In reply to Ulrich Müller from comment #3)
> Don't unset the "redistributable" flag if your saved config contains only
> files with such (non-free, but redistributable) licenses. The flag is
> enabled by an IUSE default for a reason.
> 
> What happens is that the resulting list of files ends up empty, which makes
> doins fail. (Which presumably is better than silently installing an empty
> package.)

If it's not an ebuild bug (which I won't argue ATM), then it's a portage bug due to the traceback.  A nice user-readable error would be expected; not a traceback.

Reassign to the portage team?  (CCing them here, adjusting the summary and changing product.)
Comment 5 Larry the Git Cow gentoo-dev 2019-05-19 22:47:01 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1c1d6d9caa7459b1a04c64e09f9499fa96fd7be9

commit 1c1d6d9caa7459b1a04c64e09f9499fa96fd7be9
Author:     Ulrich Müller <ulm@gentoo.org>
AuthorDate: 2019-05-19 22:46:13 +0000
Commit:     Ulrich Müller <ulm@gentoo.org>
CommitDate: 2019-05-19 22:46:44 +0000

    sys-kernel/linux-firmware: More useful error message for empty package.
    
    Closes: https://bugs.gentoo.org/686330
    Package-Manager: Portage-2.3.66, Repoman-2.3.12
    Signed-off-by: Ulrich Müller <ulm@gentoo.org>

 sys-kernel/linux-firmware/linux-firmware-20190514.ebuild | 7 +++++++
 sys-kernel/linux-firmware/linux-firmware-99999999.ebuild | 7 +++++++
 2 files changed, 14 insertions(+)
Comment 6 Ulrich Müller gentoo-dev 2019-05-19 22:54:03 UTC
Not a portage problem. The package ends up without any files to install, so doins gets passed an unexpanded "*" which of course doesn't exist (which is what the traceback says).

I've added an additional sanity check to the ebuild, which will at least output a more useful error message.