On Fri, Oct 31, 2014 at 08:00:20AM +0100, Josef Reidinger wrote:
my hackweek project was to evaluate using the boost graph library (BGL) in libstorage. For me the project was interesting and successful. I have documented it at https://github.com/aschnell/libstorage-bgl-eval/wiki. The code is also available there.
So now I would like to redesign the storage part of YaST. Here are the main steps required:
- Make the new API robust against API and ABI changes.
Sounds good, question is how?
At least export (via header files) only what really required, e.g. use the d-ptr pattern (e.g. http://qt-project.org/wiki/Dpointer).
- Export new API to Ruby (help would be good) for use by all YaST modules.
I think it would be very cool if we have in ruby nice object oriented API. I can help you with ruby bindings. I think it is usually better to have combination of C bindings and ruby code that make usage in ruby smoother.
I prefer to not write manual bindings. On the other hand I haven't checked what swig allows here.
- Make all code in YaST use new API (task for several developers).
For this step we really need some storage setup factory, so e.g. in bootloader I can replace old mocks of target maps with new stuff and change code.
The current libstorage already has support to not probe the system and instead read the setup from files. This will of course stay and even be extended (to cover all features, e.g. multipath).
- Finally drop target-map (as decided during workshop).
That will be great step especially together with object oriented API. Then we can have something like Disk.find( bios_id: "0x80").find_partition(mount_to: "/boot").sw_raid? in bootloader.
Well, I'm not used to such a "find" API so I cannot say whether it will like that way. Also so far libstorage does not know the bios-id, hwinfo provides that informations and it's "merged" in Ruby into the target-map. ciao Arvin -- Arvin Schnell, <aschnell@suse.de> Senior Software Engineer, Research & Development SUSE LINUX GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: yast-devel+unsubscribe@opensuse.org To contact the owner, e-mail: yast-devel+owner@opensuse.org