[opensuse-project] GSoC project ideas: zypper improvements and better grub

Hello, I'm a student from Poland and I'd like to take part in Google Summer of Code this year. I'm missing some features in opensuse distribution, so I wanted to work on one of them during the summer. Please rate these ideas and comment about chances of accepting them. Idea #1: external boot selection sources for Grub2 (windows; serial port) This one is rather cross-distribution topic, but may require creating distribution-specific tools (which could be incorporated to grub project, if they wants to). Problem scenario #1: I'm working (at the moment) on Windows, installed an system update and want to reboot. So, I click "reboot" and go to the kitchen to make a cup of tea. When I come back, linux is started, because it was default selection and grub booted into it. Problem scenario #2: My PC is shut down and I want to boot into Windows. I press "power" and wait for system to boot. BIOS takes some time to check the hardware, grub waits 3 seconds for OS selection and... I'm late for selecting Windows, because I was disturbed for a moment by something else. Problem scenario #3: I want to boot my PC remotely to Windows, using Ethernet card boot feature. I have to boot into default system (linux) first, then reboot into Windows. Common problem: I have to stare at monitor during boot process, to not overlook Grub menu - if I miss it, I waste lots of time to wait for reboot to correct OS. Suggested solution: I wanted to implement simple-to-use tools to make it possible to: - select "reboot to" OS directly from Windows (like it's currently done in opensuse) - this would include preparing configuration tool for linux (to setup grub, or windows app, if needed), patching grub itself (also, if needed) and implementing Windows application, which would let select next boot-once OS for Grub and reboot PC. Such Windows tool would be splitted into at least two components: pure command-line tool just to set boot-once setting and GUI app to easily use it. - (optional) make it possible to control grub via physical device (connected, for example, via serial port). It would make it possible for user to build a simple-as-possible switch, which would let him select OS *before* powering on or rebooting PC - (optional, I'm not sure if it's possible to do it during GSoC, or won't require too much dependencies) make it possible to select OS when booting from Ethernet card Idea #2: zypper and yast2 improvements to make them more comfortable I've found some areas, where zypper could be improved a bit: - "zypper ref" (and also, yast) could (maybe optionally) refresh multiple repositories at once - this would really speed up refresh process. It's not as trivial as it may look like - there have to be handled UI requests (for example, about inability to download some file) in correct order, progress bars handled correctly and so on. But it's definitely possible. - ability to search directly in http://software.opensuse.org/search (with option to omit "home:" directories) - this includes (optional) yast interface and automatic repository adding (after prompt, of course) - complete uninstall feature: zypper should remember, which packages were automatically installed when user wanted to install other package. If he wanted just A package, and it required B and C, zypper would remember it. When user wants to *completely uninstall* A, then B and C would be removed also (but only, if other packages, installed after A, doesn't depend on them). There are some pitfalls, that have to be handled: D was installed few days after A and it depends on C; user uninstalla A, so B is uninstalled also (but not C); at last, user uninstalls D and C is no longer needed. Please, rate those ideas and tell me, how high are the chances for GSoC with these two. Thanks, okordy -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org

On 18 April 2013 15:48, okordy <okordy@o2.pl> wrote:
Idea #2: zypper and yast2 improvements to make them more comfortable I've found some areas, where zypper could be improved a bit: - "zypper ref" (and also, yast) could (maybe optionally) refresh multiple repositories at once - this would really speed up refresh process. It's not as trivial as it may look like - there have to be handled UI requests (for example, about inability to download some file) in correct order, progress bars handled correctly and so on. But it's definitely possible.
Not that I know the first thing about GSoC projects. But I would like to have this.
- complete uninstall feature: zypper should remember, which packages were automatically installed when user wanted to install other package. If he wanted just A package, and it required B and C, zypper would remember it. When user wants to *completely uninstall* A, then B and C would be removed also (but only, if other packages, installed after A, doesn't depend on them). There are some pitfalls, that have to be handled: D was installed few days after A and it depends on C; user uninstalla A, so B is uninstalled also (but not C); at last, user uninstalls D and C is no longer needed.
This is already done. But probably it could be improved. The memory comes from /var/log/zypp/history. So IIRC the whole file, which can grow without limit, must be parsed each time. -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org

Hey, Nice that you want to work. Discuss your ideas in zypp-devel and opensuse-factory and make a call for mentors, if you have a mentor, then we have no problems in adding your ideas to the list of proposal requesting Google for a slot from you Thanks Manu On Thu, Apr 18, 2013 at 8:37 PM, Cristian Morales Vega <reddwarf@opensuse.org> wrote:
On 18 April 2013 15:48, okordy <okordy@o2.pl> wrote:
Idea #2: zypper and yast2 improvements to make them more comfortable I've found some areas, where zypper could be improved a bit: - "zypper ref" (and also, yast) could (maybe optionally) refresh multiple repositories at once - this would really speed up refresh process. It's not as trivial as it may look like - there have to be handled UI requests (for example, about inability to download some file) in correct order, progress bars handled correctly and so on. But it's definitely possible.
Not that I know the first thing about GSoC projects. But I would like to have this.
- complete uninstall feature: zypper should remember, which packages were automatically installed when user wanted to install other package. If he wanted just A package, and it required B and C, zypper would remember it. When user wants to *completely uninstall* A, then B and C would be removed also (but only, if other packages, installed after A, doesn't depend on them). There are some pitfalls, that have to be handled: D was installed few days after A and it depends on C; user uninstalla A, so B is uninstalled also (but not C); at last, user uninstalls D and C is no longer needed.
This is already done. But probably it could be improved. The memory comes from /var/log/zypp/history. So IIRC the whole file, which can grow without limit, must be parsed each time. -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org
-- Regards Manu Gupta -- To unsubscribe, e-mail: opensuse-project+unsubscribe@opensuse.org To contact the owner, email: opensuse-project+owner@opensuse.org
participants (3)
-
Cristian Morales Vega
-
Manu Gupta
-
okordy