# emerge ati-drivers Calculating dependencies ...done! >>> emerge (1 of 1) media-video/ati-drivers-2.9.8 to / >>> md5 ;-) glx1_linux_X4.3.zip >>> Unpacking source... Archive: /usr/portage/distfiles/glx1_linux_X4.3.zip inflating: Check.sh inflating: fglrx-glc22-4.3.0-2.9.8.i586.rpm inflating: fileinfo.txt inflating: readme.txt /usr/bin/rpm2targz: line 1: /usr/portage/distfiles/fglrx-glc22-4.3.0-2.9.8.i586.rpm: No such file or directory gzip: stdin: unexpected end of file tar (child): /var/tmp/portage/ati-drivers-2.9.8/work/usr/src/fglrx_sample_source.tgz: Cannot open: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error exit delayed from previous errors !!! ERROR: media-video/ati-drivers-2.9.8 failed. !!! Function src_unpack, Line 33, Exitcode 2 !!! (no error message) # Reproducible: Always Steps to Reproduce: 1. emerge ati-drivers Actual Results: install seems to fail at converting the rpm to a tarball (rpm2targz) See details for copy of install output. Expected Results: ati-drivers installs correctly
glx1_linux_X4.3.zip extracts to /usr/portage/distfiles/Xfree4.3.0_2.9.0/ /Check.sh /fglrx-glc22-4.3.0-2.9.8.i586.rpm /fileinfo.txt /readme.txt so /usr/portage/distfiles/is not the location for the files. quickfix:move files from /usr/portage/distfiles/Xfree4.3.0_2.9.0/ to /usr/portage/distifles.
here is a diff to quickfix the ati-drivers-2.9.8.ebuild 29c29 < rpm2targz ${DISTDIR}/${A2} || die --- > rpm2targz ${DISTDIR}/Xfree4.3.0_2.9.08/${A2} || die
Ah, I figured it out, looks like the rpm2targz line should be: "rpm2targz ${A2}" instead of "rpm2targz ${DISTDIR}/${A2}" Here is why: On my machine, the zip file is being uncompressed to the WORKDIR, which is /var/tmp/portage/ati-drivers-2.9.8. The rpm and everything is there. Looking at the src_unpack() function of the ebuild we have: cd ${WORKDIR} (cd to /var/tmp/portage/packagename) unzip -j ${DISTDIR}/${A} (unzip archive located in ${DISTDIR}, contents will go to ${WORKDIR} "/var/tmp/portage/packagename" as that is our current working directory, -j suppresses creating subdirectories) So the entire contents of the zip file is now in ${WORKDIR} "/var/tmp/portage/packagename", the rpm2targz line tries to convert an rpm located in ${DISTFILES} when it's actually in ${WORKDIR}
Created attachment 11438 [details] ati-drivers-2.9.8.ebuild with my fix to the rpm2targz line my modified ati-drivers-2.9.8.ebuild works fine on my machine. Only change is to remove "${DISTFILES}/" from the rpm2targz line.
could you rsync and see if the ebuild isn't already fixed in portage? (seems that someone fixed that already (notice the ${WORKDIR}/${A2})) thanks for the warning
closing it