How do I exclude unneeded files from channel updates

Anders F Björklund afb at algonet.se
Thu May 26 23:10:01 PDT 2011


Steve Morris wrote:

>>>    I am having extreme difficulties undertaking channel updates because of key failures on various info.xml.lzma files. These files are not required for channel updates, and the Mandriva equivalent of the smart gui interface only attempts to download these info files when the user requests additional information on a package. How do I exclude these info.xml.lzma files from the channel update process so that I can actually update all the channels?
>> Key failures ? What are those (error msg) ?
>> 
>> It should only download info.xml.lzma if present in MD5SUM
>> 
> These are the error messages I am getting:
> 
> MD5SUM                                                  ############################################################################ [100%]
> Traceback (most recent call last):
>  File "/usr/bin/smart-1.4", line 200, in <module>
>    main(sys.argv[1:])
>  File "/usr/bin/smart-1.4", line 173, in main
>    exitcode = iface.run(opts.command, opts.argv)
>  File "/usr/local/downloads/smart/smart-1.4/smart/interface.py", line 53, in run
>    result = _command.main(self._ctrl, opts)
>  File "/usr/local/downloads/smart/smart-1.4/smart/commands/update.py", line 82, in main
>    failed = not ctrl.reloadChannels(channels, caching=NEVER)
>  File "/usr/local/downloads/smart/smart-1.4/smart/control.py", line 388, in reloadChannels
>    if not channel.fetch(self._fetcher, progress):
>  File "/usr/local/downloads/smart/smart-1.4/smart/channels/urpmi.py", line 163, in fetch
>    fetcher.run(progress=progress)
>  File "/usr/local/downloads/smart/smart-1.4/smart/fetcher.py", line 253, in run
>    if not handler.tick():
>  File "/usr/local/downloads/smart/smart-1.4/smart/fetcher.py", line 1596, in tick
>    item.setSucceeded(localpath, fetchedsize)
>  File "/usr/local/downloads/smart/smart-1.4/smart/fetcher.py", line 597, in setSucceeded
>    self._progress.setSubDone(self._urlobj.original)
>  File "/usr/local/downloads/smart/smart-1.4/smart/progress.py", line 251, in setSubDone
>    fragment, subdata) = self.__subprogress[subkey]
> KeyError: 'ftp://ftp.netspace.net.au/pub/MandrivaLinux/official/2010.2/x86_64/media/contrib/updates/media_info/info.xml.lzma'

Ah, OK. That does sound familiar.

There was a fix(?) suggested in https://code.launchpad.net/~dsmid/smart/keyerror

The file itself looks valid enough:

MD5 (info.xml.lzma) = 5e670ee4602d8368ea7cdb692563fa93 # (same as in the MD5SUM)

>>>    Also, is it possible to have the smart channel definitions use the same files as the Mandriva package manager, so that I can undertake channel updates in either package and have both see any changes?
>> This should be possible with the "urpmichannelsync" plugin:
>> 
>> smart config --set sync-urpmi-medialist=true
> This doesn't do what I was looking for. It seems to read the urpmi definitions and add them to its list of channels it already has, and then when a channel update is done it downloads the synthesis files to its channel directory. What I was looking for was for both environments to use the same physical files so that if I did a channel update with urpmi then smart would see those changes because they are both using the same files, and if urpmi says all the channels are up-to-date then smart would not redownload them.
> I have also checked the physical files that urpmi downloads and even if the info.xml.lzma is in the MD5SUM file urpmi does not download it, and then if during its gui process it needs to download the info file and it encounters a checksum error it just says it can't display the info.

Right, it would sync the "channel definitions" from the urpmi configuration...

There is no way to share the files, though I guess you could copy the contents ?

cp /var/lib/urpmi/Something/info.xml.lzma /var/lib/smart/channels/urpmisync-Something%%*info.xml.lzma

And I guess you could have it continue without the infofile, instead of raising...

--anders




More information about the Smart mailing list