site  contact  subhomenews

PPM: simplifying DEB management

May 24, 2012 — BarryK
There is something that has been in the back of my mind for awhile. Given that Upups and Dpups are popular, despite the rampant dependencies, increasing complexity and considerable rearranging of file layout (all of which, as a KISS proponent, I find quite depressing), we need to make the best of the situation.

In Woof-built puppies, I undo a lot of the mangling wraught by the Debian and Ubuntu developers. One thing that I do is put many packages back together again. For example, in Precise Pangolin, the Gutenprint package is split up into these:

cups-driver-gutenprint_5.2.8~pre1
gutenprint-doc_5.2.8~pre1
gutenprint-locales_5.2.8~pre1
libgutenprint2_5.2.8~pre1
libgutenprint-dev_5.2.8~pre1
libgutenprint-doc_5.2.8~pre1
libgutenprintui2-1_5.2.8~pre1
libgutenprintui2-dev_5.2.8~pre1
printer-driver-gutenprint_5.2.8~pre1


It is a good thing to have -doc_, -locales_ and -dev_ packages split out, however they often go a lot further than that. The above is a mild example, showing separate library packages.

Now, the difficulty that arises. "Zillions" of little packages displayed in the PPM causes confusion. really, all that you want is to have the correct name of the package displayed, in this example "ghostscript", and PPM has checkboxes for you to filter out the exe, doc, dev, and nls components.

If only the generic names are displayed, this would oh so much simplify and greatly reduce the number of packages displayed in PPM. There could be a checkbox to make this switchable, that is, show all packages or only generic names.

So, if generic names checkbox is ticked, only "ghostscipt" would display instead of all those above. Clicking on the ghostscript entry would then install all of the above, subject to the exe,dev,doc,nls filtering of those checkboxes.

This would, I think, greatly improve the PPM for Debian and Ubuntu repos. I have been thinking about how to code it, and it is do-able. Any thoughts on this are welcome.

Just an extra thought, for those who know a lot more about gtkdialog than me: is it possible to have a different icon alongside each package name in the main window? Right now, there is just a list of packages, and you click on the one that you want to install. No icons. But, I think, back when I first coded it, it was possible to have an icon on each row, but only the same icon on every row -- I want to be able to have a unique icon on a row.

Comments

Icons in gtkdialog
Username: K Godt
I stumbled upon /usr/sbin/pcur code . I made it extract all icons and put the icons in sub folders . What i could not manage at first was gtkdialog recognizing the new locations of the icons . gtkdialog seems to look in /usr/share/icons by default and a little confusing seems not to need .ext ... /usr/share/icons could become pretty full if scripts don't clean up afterwards .

re icons
Username: 01micko
"Take a good look at the ui_ziggy code, run in ui_ziggy interface for awhile and get the feel, I think zigbert's implementation could do what you want with unique icons on each row, then perhaps you can unify the efforts and go back to one ui, better for maintenance. One of the main reasons I switched to ui_ziggy in slacko was the size of the gui, much better suited to smaller screen area as in a netbook. Also, the gui scales well when you drag the sides and corners. The icons do make it look more appealing.

icons in the <tree> widget
Username: zigbert
"You can have unique icons for every row, but (as far as I know), it is not possible to refresh the icons when you refresh the <input> of the <tree>. You would have to build the xml code once more and reload the gtkdialog gui - not really a 'pro' solution. If you think of a bigger rewrite, it is possible to do something like my alternative Pmount gui. Instead of scrolling a <tree> widget, you can use a <vbox scrollable="true"> with rows containing pixmaps/buttons/svg/.... - whatever.

Ziggy the idiot
Username: zigbert
"When it comes to gtkdialog you should not listen to this zigbert-dude. He obvious doesn't know gtkdialog very well. It is sure possible to make the <tree> widget render just fine with unique icons. This was introduced in gtkdialog-0.7.21 and has been used in Pmusic since version 2. [b]<input stock-column="0">cat /path/file</input>[/b] works very well for gtk-stock icons. [b]<input icon-column="0">[/b] is valid as well for 'normal' icon-files.


Tags: woof