synaptic-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Synaptic-devel] Build-Error on SuSE 9.1 i386


From: Michael Vogt
Subject: Re: [Synaptic-devel] Build-Error on SuSE 9.1 i386
Date: Fri, 18 Jun 2004 12:13:23 +0200
User-agent: Mutt/1.5.6+20040523i

On Fri, Jun 18, 2004 at 10:27:55AM +0300, Panu Matilainen wrote:
> On Thu, 17 Jun 2004, Sebastian Heinlein wrote:
> > Am Mo, den 14.06.2004 um 12:07 Uhr +0200 schrieb Michael Vogt:
> > > On Mon, Jun 14, 2004 at 09:19:28AM +0200, Sebastian Heinlein wrote:
[..]
> As for task-packages .. they kinda suck :-/ IIRC Debian no longer uses 
> them but something called "tasksel" 

Yeah, task support for synaptic in debian is broken since tasksel came
around. Tasksel works pretty interessting. It calls "apt-cache
dumpavail" and read the "Task: taskname" tag that some packages
have. Then it reads /usr/share/tasksel/debian-tasks.desc for a
description of the tasks. If then just calls:
system("apt-get install package1 package2 ...")

> and I've been using a comps.xml 
> (RH-thingy) based solution using Lua-scripts which looks like this:
[..]
> address@hidden pmatilai]# apt-get groupinstall sql-server
[..] 
> The names are parsed from comps.xml which holds the group names and their 
> contents and only the contents are installed, no empty metapackages 
> involved. Works very nicely but there's no way currently to hook that with 
> Synaptic :( 

Yeah, I read about this one when I tried to find some good arguments
why debian apt could make good use of lua too (it does not include lua
now). I like the groupinstall stuff and lua :) 

> Does tasksel on Debian somehow hook up into Synaptic, or in other words,
> do the tasksel tasks show up in Synaptic on Debian? Any pointers to how
> that works would be appreciated... as would ideas/discussion how to make
> it possible to hook my lua-comps.xml system into Synaptic for that matter
> :)

Synaptic does not integrate with tasksel right now. This is something
I really want to change. The problem is that I want to present the
tasks to the user in a nice graphical way. Debian uses a task system
with two levels right now. There is a general topic like "End-User",
"Hardware Support", "Servers" and for each of this topics there are
the actual tasks (Hardware Support/Laptop, Servers/DNS server). 

Now I thought about making the tasks virtual packages for synaptic
again. So that you install, remove upgrade a task just like a normal
package. The are grouped by there "topic" and under a new option
"tasks" in the optionmenu. Mockup:

+--------+
|Synaptic|
+---------------------------------------+
|  tasks  V|S| Name       | Version | ..|
+----------+-+------------+-------------+
| ALL      |  Mail server               |
| End-User |  Print server              |
| Hardware |  DNS server                |
| Servers  |  File server               |
+----------+----------------------------+

This is a pretty big efford as it means to write a abstract
"BasicPackage" calls that is the Parent of "Package" and
"TaskPackage". We have to touch quite a bit of core code to do this. I
actually have a proof-of-concept patch for this.

But we would need to write a backend in C++ for each tasksystem we
want to support (debian, RH, does suse have one too?) and we won't be
able to reuse your code. And it may be difficult to map a "flat" task
hirachy into this two panes design.

While writing all this, I think we can go with a simpler solution. We
add a new option "tasks" in the men. It opens a modal window that
displays a list of tasks. If you double-click on one, all package
names in the task are set to "install". To make portability easy, we
could add hooks so that a script can be plugged in that provides the
names of the available tasks and returns all packages that belong to a
given tasks.

What do you think?

bye,
 Michael

-- 
The first rule of holes is: when you find yourself in one, stop digging. - PJ
Linux is not The Answer. Yes is the answer. Linux is The Question. - Neo




reply via email to

[Prev in Thread] Current Thread [Next in Thread]