Bug 414842

Summary: prevent KIWI to stop by simple errors, try other repository or next older available package version
Product: [openSUSE] openSUSE 11.1 Reporter: Forgotten User 7pwnVrOCb1 <forgotten_7pwnVrOCb1>
Component: YaST2Assignee: Jan-Christoph Bornschlegel <jcborn>
Status: RESOLVED INVALID QA Contact: Jiri Srain <jsrain>
Severity: Enhancement    
Priority: P5 - None CC: forgotten_0RO3Kla3Ru
Version: Factory   
Target Milestone: ---   
Hardware: Other   
OS: Other   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User 7pwnVrOCb1 2008-08-05 20:55:30 UTC
If i try to build a big live-dvd with newest packages, then I don`t have a good chance to get all packages downloaded by kiwi(tried with zypper and also smart)
from remote repositories.
Errors:         integriety check fails
                timeouts
and may be:     file not found 

From my view the download tools or zypper should do
a) retry to get the packages from same source or if it fails
b) retry from second repository(also defined in config.xml) or if it fails
c) try next older package version, with log entry

and kiwi should support parameter(or a line in config.xml(i found nothing))
for abort/retry/ignore auto answer for integrity check errors(see bug 414826).
Default is "abort".
Comment 1 Forgotten User 7pwnVrOCb1 2008-08-09 21:13:16 UTC
It would also help a lot, if kiwi/yast image creator would support to use a
runnig system as repository source(via rpmbuild, I don`t now, what way live-installer does use). As far as I now, kiwi can`t do so currently, isn`t it?
Comment 2 Marcus Schaefer 2008-08-10 21:22:51 UTC
1) integrity check errors are caused by the package manager. Any retry
   action should also be triggered by the package manager. I will not add
   some magic into kiwi to do this

2) kiwi can use local repositories in many ways as simple directory
   with rpm's in it as repodata formatted structure and in case of smart
   in many other repository formats. For a list of supported repo types
   take a look into: /usr/share/doc/packages/kiwi/kiwi.pdf

If you want kiwi to generate the source tree contact Jan Bornschlegel
he is currently implementing this 
Comment 3 Jan-Christoph Bornschlegel 2008-08-11 10:04:34 UTC
Marcus, ad 1), couldn't we pass parameters to zypper/smart?

The other problem should be easily solvable with the instsource module.
In that if I don't find a package in any repo the process still continues leaving an error message in the logfile. I'm still unsure if I shall allow leaky repos, though.
It is possible to provide structures as simple as plain dirs containing rpms in addition to existing repositories.
It is even possible to force an older rpm by specifying which repo it shall be taken from.

The code is available through the kiwi-instsource package, but I didn't write much documentation yet.
Please contact me directly for details.
But I'll be out of office from tomorrow until Wednesday next week.
Comment 4 Forgotten User 7pwnVrOCb1 2008-08-11 14:01:31 UTC
to 1) I understand, that it runs currently in non-interactive mode, but in interactive mode. 'expect' tool can help to  do the answers.

Marcus, is comment #1 planned for future?
If anybody tries to build a live cd, he does it newer without real tests. So from
my view, some extra local repositories are not really necessary. Does the yast live installer from livecd not also rpmbuild the RPMs before installation? 

Other solution to work without wasting to much disk space for many Repos:
Is there a simple way/script to create one, user defined repository and only one
architecture only for installed packages?
---
But I know, KIWI is not only designed for SUSE and rpm-based systems...
Comment 5 Jan-Christoph Bornschlegel 2008-09-08 17:15:23 UTC
Yes, there is. It's called "kiwi-instsource". "Wasting too much disk space" depends on the number of sources and the package list.

If you gave it a try, I'd be more than happy to help you with it. I know kiwi-instsource lacks documentation, that's why I wrote "contact me directly".

If you don't, I can't help you, sorry.
Comment 6 Christoph Thiel 2008-09-25 12:53:03 UTC
*ping*?
Comment 8 Forgotten User 7pwnVrOCb1 2008-09-25 19:03:09 UTC
Thanks Jan. I keep it in mind, but I wrote me a script to work around the problems. I did create a new repository with all packages I need out of /var/cache/zypp/packages/*
(zypper caching activated and all installed packages refreshed by script, build new repo date from cached RPMs, then forward with Kiwi).

Feel free to close or hold open as feature request reminder :-)
Comment 9 Jan-Christoph Bornschlegel 2008-09-26 09:22:29 UTC
OK, in that case I'll set this bug to INVALID.

Bruno, please notify me if you try kiwi-instsource and solve the problem with that.
If you encounter bugs in that, please report against openSUSE.org / System Imaging and assign to me directly.

Cheers