Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 136792 | Differences between
and this patch

Collapse All | Expand All

(-)/files/ebuild.sh (-6 / +30 lines)
Lines 360-366 Link Here
360
		y=${y##*.}
360
		y=${y##*.}
361
361
362
		myfail="${x} does not exist"
362
		myfail="${x} does not exist"
363
		if [ "${x:0:2}" = "./" ] ; then
363
		if [ "${x:0:2}" = "./" -o "${x:0:1}" = "/" ] ; then
364
			srcdir=""
364
			srcdir=""
365
		else
365
		else
366
			srcdir="${DISTDIR}/"
366
			srcdir="${DISTDIR}/"
Lines 371-377 Link Here
371
371
372
		myfail="failure unpacking ${x}"
372
		myfail="failure unpacking ${x}"
373
		case "${x##*.}" in
373
		case "${x##*.}" in
374
			tar)
374
			tar|TAR)
375
				tar xf "${srcdir}${x}" ${tarvars} || die "$myfail"
375
				tar xf "${srcdir}${x}" ${tarvars} || die "$myfail"
376
				;;
376
				;;
377
			tgz)
377
			tgz)
Lines 401-420 Link Here
401
				;;
401
				;;
402
			7Z|7z)
402
			7Z|7z)
403
				local my_output
403
				local my_output
404
				my_output="$(7z x -y "${srcdir}/${x}")"
404
				my_output="$(7z x -y "${srcdir}${x}")"
405
				if [ $? -ne 0 ]; then
405
				if [ $? -ne 0 ]; then
406
					echo "${my_output}" >&2
406
					echo "${my_output}" >&2
407
					die "$myfail"
407
					die "$myfail"
408
				fi
408
				fi
409
				;;
409
				;;
410
			RAR|rar)
410
			RAR|rar)
411
				unrar x -idq "${srcdir}/${x}" || die "$myfail"
411
				unrar x -idq "${srcdir}${x}" || die "$myfail"
412
				;;
412
				;;
413
			LHa|LHA|lha|lzh)
413
			LHa|LHA|lha|lzh)
414
				lha xqf "${srcdir}/${x}" || die "$myfail"
414
				lha xqf "${srcdir}${x}" || die "$myfail"
415
				;;
415
				;;
416
			a|deb)
416
			a|deb)
417
				ar x "${srcdir}/${x}" || die "$myfail"
417
				ar x "${srcdir}${x}" || die "$myfail"
418
				;;
419
			rpm)
420
				local rpmoff decompcmd
421
				if [ -x /usr/bin/rpm2cpio -a -z "${USE_RPMOFFSET_ONLY}" ]; then
422
					rpm2cpio ${srcdir}${x} | cpio -idmu --no-preserve-owner --quiet || die "$myfail"
423
				else
424
					rpmoff=`rpmoffset < ${srcdir}${x}`
425
					[ -z "${rpmoff}" ] && die "rpmoffset not found, $myfail"
426
427
					decompcmd="gzip -dc"
428
					if [ -n "$(dd if=${srcdir}${x} skip=${rpmoff} bs=1 count=3 2>/dev/null | file - | grep bzip2)" ]; then
429
						decompcmd="bzip2 -dc"
430
					fi
431
					dd ibs=${rpmoff} skip=1 if=${srcdir}${x} 2> /dev/null \
432
						| ${decompcmd} \
433
						| cpio -idmu --no-preserve-owner --quiet || die "$myfail"
434
				fi
435
				;;
436
			sh|bin|run)
437
				if ! grep -aq '#.*Makeself' "${srcdir}${x}"; then
438
					vecho "unpack ${x}: no Makeself packed file. Ignoring."
439
				else
440
					unmakeself "${srcdir}${x}" || die "$myfail"
441
				fi
418
				;;
442
				;;
419
			*)
443
			*)
420
				vecho "unpack ${x}: file format not recognized. Ignoring."
444
				vecho "unpack ${x}: file format not recognized. Ignoring."

Return to bug 136792