Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 161740 - Portage / app-portage/g-cpan-0.15_rc1 not work well with another FETCHCOMMAND in make.conf
Summary: Portage / app-portage/g-cpan-0.15_rc1 not work well with another FETCHCOMMAND...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High minor (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-12 12:56 UTC by Sergiy Borodych
Modified: 2010-02-15 06:22 UTC (History)
1 user (show)

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 Sergiy Borodych 2007-01-12 12:56:47 UTC
with FETCHCOMMAND="export TMPDIR='/var/tmp'; /usr/bin/getdelta.sh \${URI}"

portage # g-cpan -i CGI::Application::Plugin::ValidateRM
 * Ebuild already exists for CGI-Application-Plugin-ValidateRM
Calculating dependencies... done!

>>> Emerging (1 of 7) dev-perl/HTML-FillInForm-1.06 to /
>>> Downloading '''\''http://distfiles.gentoo.org/distfiles/HTML-FillInForm-1.06.tar.gz'
'export: export TMPDIR='/var/tmp'; /usr/bin/getdelta.sh \http://distfiles.gentoo.org/distfiles/HTML-FillInForm-1.06.tar.gz: No such file or directory
>>> Downloading 'http://distro.ibiblio.org/pub/linux/distributions/gentoo'\'''/distfiles/HTML-FillInForm-1.06.tar.gz'
'export: -c: line 0: unexpected EOF while looking for matching `''
'export: -c: line 1: syntax error: unexpected end of file
>>> Downloading 'http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz'
'export: export TMPDIR='/var/tmp'; /usr/bin/getdelta.sh http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz: No such file or directory
>>> Downloading 'http://www.cpan.org/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz'
'export: export TMPDIR='/var/tmp'; /usr/bin/getdelta.sh http://www.cpan.org/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz: No such file or directory
!!! Couldn't download 'HTML-FillInForm-1.06.tar.gz'. Aborting.


with FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"

# g-cpan -i CGI::Application::Plugin::ValidateRM
 * Ebuild already exists for CGI-Application-Plugin-ValidateRM
Calculating dependencies... done!

>>> Emerging (1 of 7) dev-perl/HTML-FillInForm-1.06 to /
>>> Downloading '''\''http://distfiles.gentoo.org/distfiles/HTML-FillInForm-1.06.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh \http://distfiles.gentoo.org/distfiles/HTML-FillInForm-1.06.tar.gz: No such file or directory
>>> Downloading 'http://distro.ibiblio.org/pub/linux/distributions/gentoo'\'''/distfiles/HTML-FillInForm-1.06.tar.gz'
getdelta.sh: -c: line 0: unexpected EOF while looking for matching `''
getdelta.sh: -c: line 1: syntax error: unexpected end of file
>>> Downloading 'http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh http://search.cpan.org/CPAN/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz: No such file or directory
>>> Downloading 'http://www.cpan.org/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh http://www.cpan.org/authors/id/T/TJ/TJMATHER/HTML-FillInForm-1.06.tar.gz: No such file or directory
!!! Couldn't download 'HTML-FillInForm-1.06.tar.gz'. Aborting.


emerge works fine

portage # emerge -v CGI-Application-Plugin-ValidateRM
Calculating dependencies... done!

>>> Emerging (1 of 7) dev-perl/HTML-FillInForm-1.06 to /
>>> Downloading 'http://distfiles.gentoo.org/distfiles/HTML-FillInForm-1.06.tar.gz'
Searching for a previously downloaded file in /usr/portage/distfiles

No old version of the requested file found.

The dtu could not be fetched, downloading full file from original URL

--14:44:30--  http://distfiles.gentoo.org/distfiles/HTML-FillInForm-1.06.tar.gz
           => `HTML-FillInForm-1.06.tar.gz'
Resolving distfiles.gentoo.org... 64.50.236.52, 216.165.129.135, 156.56.247.195, ...
Connecting to distfiles.gentoo.org|64.50.236.52|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 12,529 (12K) [application/x-gzip]

55% [============================================>                                     ] 6,940          2.46K/s             

Exiting on signal 2
Comment 1 Michael Cummings (RETIRED) gentoo-dev 2007-02-26 10:47:41 UTC
Does this still break for you in rc2?
Comment 2 Sergiy Borodych 2007-02-27 21:49:00 UTC
yes

# g-cpan -i -v CGI::Application::Plugin::ValidateRM
 * Getting CPAN Info for CGI::Application::Plugin::ValidateRM
 * Scanning /usr/local/portage.old for CGI-Application-Plugin-ValidateRM
 * Scanning /usr/local/portage for CGI-Application-Plugin-ValidateRM
 * Found ebuild under CPAN name (CGI-Application-Plugin-ValidateRM)
 * Ebuild already exists for CGI-Application-Plugin-ValidateRM
 * Calling emerge for CGI-Application-Plugin-ValidateRM

 * Calling: emerge  CGI-Application-Plugin-ValidateRM
Calculating dependencies... done!

>>> Emerging (1 of 9) dev-perl/Carp-Clan-5.8 to /
>>> Downloading 'ftp://gentoo.org.ua/distfiles/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh ftp://gentoo.org.ua/distfiles/Carp-Clan-5.8.tar.gz: No such file or directory
>>> Downloading 'ftp://ftp.linux.kiev.ua/pub/Linux/Gentoo/distfiles/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh ftp://ftp.linux.kiev.ua/pub/Linux/Gentoo/distfiles/Carp-Clan-5.8.tar.gz: No such file or directory
>>> Downloading '''\''http://distfiles.gentoo.org/distfiles/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh \http://distfiles.gentoo.org/distfiles/Carp-Clan-5.8.tar.gz: No such file or directory
>>> Downloading 'http://distro.ibiblio.org/pub/linux/distributions/gentoo'\'''/distfiles/Carp-Clan-5.8.tar.gz'
getdelta.sh: -c: line 0: unexpected EOF while looking for matching `''
getdelta.sh: -c: line 1: syntax error: unexpected end of file
>>> Downloading 'http://no-more.kiev.ua/CPAN/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh http://no-more.kiev.ua/CPAN/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz: No such file or directory
>>> Downloading 'http://cpan.org.ua/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh http://cpan.org.ua/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz: No such file or directory
>>> Downloading 'http://www.cpan.org/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh http://www.cpan.org/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz: No such file or directory
>>> Downloading 'http://search.cpan.org/CPAN/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz'
getdelta.sh: /usr/bin/getdelta.sh http://search.cpan.org/CPAN/authors/id/J/JJ/JJORE/Carp-Clan-5.8.tar.gz: No such file or directory
!!! Couldn't download 'Carp-Clan-5.8.tar.gz'. Aborting.
 * Cleaning temporary space

# emerge -pv g-cpan

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

Calculating dependencies... done!
[ebuild   R   ] app-portage/g-cpan-0.15_rc2  0 kB

Comment 3 Sergiy Borodych 2008-06-27 12:45:31 UTC
with g-cpan-0.15.0-r1 and portage-2.2_rc1

FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"
works fine

FETCHCOMMAND="export TMPDIR='/var/tmp'; /usr/bin/getdelta.sh \${URI}"
or
FETCHCOMMAND="export TMPDIR='/var/tmp' && /usr/bin/getdelta.sh \${URI}"

# g-cpan -i -v CGI::Application::Plugin::ValidateRM
 * Getting CPAN Info for CGI::Application::Plugin::ValidateRM
-CPAN: Storable loaded ok
Going to read /root/.cpan/Metadata
  Database was generated on Fri, 27 Jun 2008 02:03:36 GMT
 * Scanning /usr/local/portage.old for CGI-Application-Plugin-ValidateRM
 * Found ebuild for CPAN name CGI-Application-Plugin-ValidateRM
 * Ebuild already exists for CGI-Application-Plugin-ValidateRM (perl-gcpan/CGI-Application-Plugin-ValidateRM)
 * Calling emerge for CGI-Application-Plugin-ValidateRM

 * Calling: emerge  CGI-Application-Plugin-ValidateRM
WARNING: repository at /usr/local/portage.old is missing a repo_name entry
Calculating dependencies... done!
>>> Verifying ebuild Manifests...
>>> starting parallel fetching pid 1691

>>> Emerging (1 of 13) dev-perl/HTML-FillInForm-2.00 to /
>>> Downloading 'ftp://ftp.linux.kiev.ua/pub/Linux/Gentoo/distfiles/HTML-FillInForm-2.00.tar.gz'
Traceback (most recent call last):
  File "/usr/bin/emerge", line 18, in <module>
    retval = _emerge.emerge_main()
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 9434, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 8780, in action_build
    retval = mergetask.merge(pkglist, favorites, mtimedb)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 5871, in merge
    return self._merge(mylist, favorites, mtimedb)
  File "/usr/lib64/portage/pym/_emerge/__init__.py", line 6175, in _merge
    prev_mtimes=ldpath_mtimes)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 5237, in doebuild
    fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
  File "/usr/lib64/portage/pym/portage/__init__.py", line 3774, in fetch
    env=mysettings.environ(), **spawn_keywords)
  File "/usr/lib64/portage/pym/portage/process.py", line 183, in spawn
    raise CommandNotFound(mycommand[0])
portage.exception.CommandNotFound: export
 * Cleaning temporary space
Comment 4 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-02-15 04:23:23 UTC
Not a problem with g-cpan. The problem is with Portage itself.

I'm not sure that's even valid contents for $FETCHCOMMAND.
# FETCHCOMMAND='export TMPDIR=/var/tmp && /usr/bin/wget -t 5 -T 60 --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"' emerge -f $PN

Traceback (most recent call last):
  File "/usr/bin/emerge", line 42, in <module>
    retval = emerge_main()
  File "/usr/lib64/portage/pym/_emerge/main.py", line 1535, in emerge_main
    myopts, myaction, myfiles, spinner)
  File "/usr/lib64/portage/pym/_emerge/actions.py", line 428, in action_build
    retval = mergetask.merge()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 840, in merge
    rval = self._merge()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1148, in _merge
    self._main_loop()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1286, in _main_loop
    while self._schedule():
  File "/usr/lib64/portage/pym/_emerge/PollScheduler.py", line 43, in _schedule
    return self._schedule_tasks()
  File "/usr/lib64/portage/pym/_emerge/Scheduler.py", line 1317, in _schedule_tasks
    if q.schedule():
  File "/usr/lib64/portage/pym/_emerge/SequentialTaskQueue.py", line 56, in schedule
    task.start()
  File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 24, in start
    self._start()
  File "/usr/lib64/portage/pym/_emerge/MergeListItem.py", line 91, in _start
    self._start_task(build, self._default_final_exit)
  File "/usr/lib64/portage/pym/_emerge/CompositeTask.py", line 119, in _start_task
    task.start()
  File "/usr/lib64/portage/pym/_emerge/AsynchronousTask.py", line 24, in start
    self._start()
  File "/usr/lib64/portage/pym/_emerge/EbuildBuild.py", line 69, in _start
    self._prefetch_exit(prefetcher)
  File "/usr/lib64/portage/pym/_emerge/EbuildBuild.py", line 82, in _prefetch_exit
    retval = fetcher.execute()
  File "/usr/lib64/portage/pym/_emerge/EbuildFetchonly.py", line 31, in execute
    mydbapi=portdb, tree="porttree")
  File "/usr/lib64/portage/pym/portage/__init__.py", line 7223, in doebuild
    fetchme, mysettings, listonly=listonly, fetchonly=fetchonly):
  File "/usr/lib64/portage/pym/portage/__init__.py", line 5070, in fetch
    myret = _spawn_fetch(mysettings, myfetch)
  File "/usr/lib64/portage/pym/portage/__init__.py", line 4237, in _spawn_fetch
    rval = spawn_func(args, env=dict(iter(settings.items())), **kwargs)
  File "/usr/lib64/portage/pym/portage/process.py", line 208, in spawn
    raise CommandNotFound(mycommand[0])
CommandNotFound: export
Comment 5 Zac Medico gentoo-dev 2010-02-15 05:41:52 UTC
(In reply to comment #4)
> I'm not sure that's even valid contents for $FETCHCOMMAND.
> # FETCHCOMMAND='export TMPDIR=/var/tmp && /usr/bin/wget -t 5 -T 60
> --passive-ftp -O "${DISTDIR}/${FILE}" "${URI}"' emerge -f $PN

It's not valid. FETCHCOMMAND is interpreted by portage and then fed directly to execv(). If you want a shell, you can make FETCHCOMMAND refer to an executable file that contains a shell script. The parameters still have to be passed in as arguments, like they are for the default FETCHCOMMAND.
Comment 6 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2010-02-15 06:22:54 UTC
ok, closing as invalid then, thanks zmedico.