libsmbios-libs-0.13.13-2.el4.i386.rpm
########################################################################### [ 75%]
smbios-utils-2.0.0_BETA_1-1.el4.i386.rpm
########################################################################### [100%]
Traceback (most recent call last):
File "/usr/bin/smart", line 194, in ?
main(sys.argv[1:])
File "/usr/bin/smart", line 167, in main
exitcode = iface.run(opts.command, opts.argv)
File "/usr/lib/python2.3/site-packages/smart/interface.py", line 53, in run
result = _command.main(self._ctrl, opts)
File "/usr/lib/python2.3/site-packages/smart/commands/upgrade.py", line 187,
in main
ctrl.commitTransaction(trans, confirm=confirm)
File "/usr/lib/python2.3/site-packages/smart/control.py", line 500, in
commitTransaction
return self.commitChangeSet(trans.getChangeSet(), caching, confirm)
File "/usr/lib/python2.3/site-packages/smart/control.py", line 545, in
commitChangeSet
caching)
File "/usr/lib/python2.3/site-packages/smart/control.py", line 658, in
fetchPackages
fetcher.run(what=_("packages"))
File "/usr/lib/python2.3/site-packages/smart/fetcher.py", line 243, in run
if not handler.tick():
File "/usr/lib/python2.3/site-packages/smart/fetcher.py", line 1514, in tick
os.rename(localpath+".part", localpath)
OSError: [Errno 2] No such file or directory
if I *patch* smart's fetcher.py to use the value of 0 instead of the missing
constant (which is defined as 0 in curl 7.16.4), smart tries to download the
file AS mirrors.pl still. and ends up removing the file when done downloading
and then a new trace gets thrown stating "No such file or directory"
if I install pycurl 7.12.1 smart crashes when downloading the first package
with this backtrace
Traceback (most recent call last):pm
File "/usr/bin/smart", line 194, in ?
main(sys.argv[1:])
File "/usr/bin/smart", line 167, in main
exitcode = iface.run(opts.command, opts.argv)
File "/usr/lib/python2.3/site-packages/smart/interfaces/text/interactive.py",
line 46, in run
Interpreter(self._ctrl).cmdloop()
File "/usr/lib/python2.3/cmd.py", line 133, in cmdloop
stop = self.onecmd(line)
File "/usr/lib/python2.3/site-packages/smart/interfaces/text/interactive.py",
line 195, in onecmd
return Cmd.onecmd(self, line)
File "/usr/lib/python2.3/cmd.py", line 210, in onecmd
return func(arg)
File "/usr/lib/python2.3/site-packages/smart/interfaces/text/interactive.py",
line 516, in do_commit
if self._ctrl.commitTransaction(transaction):
File "/usr/lib/python2.3/site-packages/smart/control.py", line 500, in
commitTransaction
return self.commitChangeSet(trans.getChangeSet(), caching, confirm)
File "/usr/lib/python2.3/site-packages/smart/control.py", line 545, in
commitChangeSet
caching)
File "/usr/lib/python2.3/site-packages/smart/control.py", line 658, in
fetchPackages
fetcher.run(what=_("packages"))
File "/usr/lib/python2.3/site-packages/smart/fetcher.py", line 243, in run
if not handler.tick():
File "/usr/lib/python2.3/site-packages/smart/fetcher.py", line 1653, in tick
pycurl.TIMECONDITION_NONE)
AttributeError: 'module' object has no attribute 'TIMECONDITION_NONE'
seems the TIMECONDITION_NONE isn't defined in 7.12(dag's el4 repo) It is in
7.16.4 (fc8)
When called by Smart to fetch the rpm-md it works fine, (appending
/repodata/repomd.xml past the redirect-path=)
And when the packages are downloaded it appends the correct URL
(ex. /libsmbios/0.13.13-2.fc7/libsmbios-bin-0.13.13-2.el4.i386.rpm)
However, smart saves the package as "mirrors.pl" in the /var/lib/smart/packages
directory, thus when a second package is downloaded it is saved with the SAME
filename and the verification fails because it is a different file than expected.
Proposed change:
The *file saving* code needs to be altered to not use the assumed filename from
the URL, but rather use data from the metadata and piece together the filename
from %{name}-%{version}-%{release}.%{arch}.rpm which will be unique.
msg1268 (view) Author: urkle Date: 2007-12-31.17:14:29
Fetching packages...
-> http:// linux.dell. com/repo/ software/ .../libsmbios- bin-0.13. 13-2.el4. i386.rpm
libsmbios- bin-0.13. 13-2.el4. i386.rpm ####### ####### ####### ####### ####### ####### ####### ####### ####### ##### [ 25%] linux.dell. com/repo/ software/ .../libsmbios- 2.0.0_BETA_ 1-1.el4. i386.rpm
#######
-> http://
libsmbios- 2.0.0_BETA_ 1-1.el4. i386.rpm ####### ####### ####### ####### ####### ####### ####### ####### ####### ##### [ 50%] linux.dell. com/repo/ software/ .../smbios- utils-2. 0.0_BETA_ 1-1.el4. i386.rpm
#######
->
http://
-> http:// linux.dell. com/repo/ software/ .../libsmbios- libs-0. 13.13-2. el4.i386. rpm
libsmbios- libs-0. 13.13-2. el4.i386. rpm ####### ####### ####### ####### ####### ####### ####### ####### ####### ##### [ 75%] utils-2. 0.0_BETA_ 1-1.el4. i386.rpm ####### ####### ####### ####### ####### ####### ####### ####### ####### ##### [100%] sys.argv[ 1:]) opts.command, opts.argv) python2. 3/site- packages/ smart/interface .py", line 53, in run main(self. _ctrl, opts) python2. 3/site- packages/ smart/commands/ upgrade. py", line 187, commitTransacti on(trans, confirm=confirm) python2. 3/site- packages/ smart/control. py", line 500, in geSet(trans. getChangeSet( ), caching, confirm) python2. 3/site- packages/ smart/control. py", line 545, in python2. 3/site- packages/ smart/control. py", line 658, in run(what= _("packages" )) python2. 3/site- packages/ smart/fetcher. py", line 243, in run python2. 3/site- packages/ smart/fetcher. py", line 1514, in tick rename( localpath+ ".part" , localpath)
#######
smbios-
#######
Traceback (most recent call last):
File "/usr/bin/smart", line 194, in ?
main(
File "/usr/bin/smart", line 167, in main
exitcode = iface.run(
File "/usr/lib/
result = _command.
File "/usr/lib/
in main
ctrl.
File "/usr/lib/
commitTransaction
return self.commitChan
File "/usr/lib/
commitChangeSet
caching)
File "/usr/lib/
fetchPackages
fetcher.
File "/usr/lib/
if not handler.tick():
File "/usr/lib/
os.
OSError: [Errno 2] No such file or directory
msg1267 (view) Author: netmask Date: 2007-12-28.16:59:59
Please paste the trace you get with pycurl.
msg1266 (view) Author: urkle Date: 2007-12-28.16:50:56
if I *patch* smart's fetcher.py to use the value of 0 instead of the missing
constant (which is defined as 0 in curl 7.16.4), smart tries to download the
file AS mirrors.pl still. and ends up removing the file when done downloading
and then a new trace gets thrown stating "No such file or directory"
msg1265 (view) Author: urkle Date: 2007-12-28.16:44:23
if I install pycurl 7.12.1 smart crashes when downloading the first package
with this backtrace
Traceback (most recent call last):pm
File "/usr/bin/smart", line 194, in ? sys.argv[ 1:]) opts.command, opts.argv) python2. 3/site- packages/ smart/interface s/text/ interactive. py", (self._ ctrl).cmdloop( ) python2. 3/cmd.py" , line 133, in cmdloop python2. 3/site- packages/ smart/interface s/text/ interactive. py", python2. 3/cmd.py" , line 210, in onecmd python2. 3/site- packages/ smart/interface s/text/ interactive. py", commitTransacti on(transaction) : python2. 3/site- packages/ smart/control. py", line 500, in geSet(trans. getChangeSet( ), caching, confirm) python2. 3/site- packages/ smart/control. py", line 545, in python2. 3/site- packages/ smart/control. py", line 658, in run(what= _("packages" )) python2. 3/site- packages/ smart/fetcher. py", line 243, in run python2. 3/site- packages/ smart/fetcher. py", line 1653, in tick TIMECONDITION_ NONE) NONE'
main(
File "/usr/bin/smart", line 167, in main
exitcode = iface.run(
File "/usr/lib/
line 46, in run
Interpreter
File "/usr/lib/
stop = self.onecmd(line)
File "/usr/lib/
line 195, in onecmd
return Cmd.onecmd(self, line)
File "/usr/lib/
return func(arg)
File "/usr/lib/
line 516, in do_commit
if self._ctrl.
File "/usr/lib/
commitTransaction
return self.commitChan
File "/usr/lib/
commitChangeSet
caching)
File "/usr/lib/
fetchPackages
fetcher.
File "/usr/lib/
if not handler.tick():
File "/usr/lib/
pycurl.
AttributeError: 'module' object has no attribute 'TIMECONDITION_
seems the TIMECONDITION_NONE isn't defined in 7.12(dag's el4 repo) It is in
7.16.4 (fc8)
msg1261 (view) Author: netmask Date: 2007-12-22.02:10:31
Do you have pycurl installed? If not, can you try with it? If yes, can you try
without?
msg1260 (view) Author: urkle Date: 2007-12-20.16:50:38
Oh, this occurs using Smart 0.51 and 0.52. I do recall it *not* happening with
some older version (don't recall which).
msg1259 (view) Author: urkle Date: 2007-12-20.16:49:50
Dell uses repository URLs that redirect to where the files really are depending
on your distribution by making use of excess query arguments.
Example (for 386 el4) linux.dell. com/repo/ software/ mirrors. pl?osname= el4&basearch= i386&redirect= 1&redir_ path=
http://
When called by Smart to fetch the rpm-md it works fine, (appending repomd. xml past the redirect-path=)
/repodata/
And when the packages are downloaded it appends the correct URL 0.13.13- 2.fc7/libsmbios -bin-0. 13.13-2. el4.i386. rpm)
(ex. /libsmbios/
However, smart saves the package as "mirrors.pl" in the /var/lib/ smart/packages
directory, thus when a second package is downloaded it is saved with the SAME
filename and the verification fails because it is a different file than expected.
Proposed change: -%{version} -%{release} .%{arch} .rpm which will be unique.
The *file saving* code needs to be altered to not use the assumed filename from
the URL, but rather use data from the metadata and piece together the filename
from %{name}