Stuff that has not yet gone into the official build.
Post a reply

Bloat alert! zenity vs. yad (wheezy)

Fri Jul 13, 2012 4:53 pm

It is going to be a struggle getting a Wheezy live image as good as a Squeeze one, that fits a cd.

New gtk3 stuff is a problem. Here's one example why:

Code:
[email protected]:/home/dzz# apt-get install zenity
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  enchant glib-networking glib-networking-common glib-networking-services
  gsettings-desktop-schemas gstreamer0.10-ffmpeg gstreamer0.10-gconf
  gstreamer0.10-plugins-bad gstreamer0.10-plugins-base
  gstreamer0.10-plugins-good gstreamer0.10-x libass4 libavc1394-0 libcdaudio1
  libdv4 libenchant1c2a libflite1 libgail-3-0 libgeoclue0 libgme0
  libgnome-keyring-common libgnome-keyring0 libgstreamer-plugins-bad0.10-0
  libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libicu48 libiec61883-0
  libjavascriptcoregtk-3.0-0 libkate1 libmhash2 libmimic0 libmms0 libopus0
  libproxy0 libraptor2-0 librasqal3 librdf0 libshout3 libslv2-9 libsoundtouch0
  libsoup-gnome2.4-1 libsoup2.4-1 libspandsp2 libvo-aacenc0 libvo-amrwbenc0
  libwebkitgtk-3.0-0 libwebkitgtk-3.0-common libwildmidi-config libwildmidi1
  libyajl2 libzbar0 libzvbi-common libzvbi0 zenity-common
Suggested packages:
  frei0r-plugins gvfs libdv-bin oss-compat libenchant-voikko alsa-base geoclue
  gnome-keyring gstreamer-codec-install gnome-codec-install
  gstreamer0.10-tools opus-tools raptor2-utils rasqal-utils
  librdf-storage-postgresql librdf-storage-mysql librdf-storage-sqlite
  redland-utils slv2-jack
The following NEW packages will be installed:
  enchant glib-networking glib-networking-common glib-networking-services
  gsettings-desktop-schemas gstreamer0.10-ffmpeg gstreamer0.10-gconf
  gstreamer0.10-plugins-bad gstreamer0.10-plugins-base
  gstreamer0.10-plugins-good gstreamer0.10-x libass4 libavc1394-0 libcdaudio1
  libdv4 libenchant1c2a libflite1 libgail-3-0 libgeoclue0 libgme0
  libgnome-keyring-common libgnome-keyring0 libgstreamer-plugins-bad0.10-0
  libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libicu48 libiec61883-0
  libjavascriptcoregtk-3.0-0 libkate1 libmhash2 libmimic0 libmms0 libopus0
  libproxy0 libraptor2-0 librasqal3 librdf0 libshout3 libslv2-9 libsoundtouch0
  libsoup-gnome2.4-1 libsoup2.4-1 libspandsp2 libvo-aacenc0 libvo-amrwbenc0
  libwebkitgtk-3.0-0 libwebkitgtk-3.0-common libwildmidi-config libwildmidi1
  libyajl2 libzbar0 libzvbi-common libzvbi0 zenity zenity-common
0 upgraded, 55 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/52.0 MB of archives.
After this operation, 117 MB of additional disk space will be used.
Do you want to continue [Y/n]?


No thanks! Even with --no-install-recommends:

Code:
After this operation, 70.9 MB of additional disk space will be used.


By contrast, yad:

Installed-Size: 260
Depends: libatk1.0-0 (>= 1.29.3), libc6 (>= 2.7), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.24.0), libgtk2.0-0 (>= 2.16.0), libpango1.0-0 (>= 1.14.0)
Homepage: http://code.google.com/p/yad/


The deps were already there, even though this is a new and fairly lean Wheezy install done originally from the business card iso... It really did need gnome-icon-theme for the (mainly only 4) dialog icons, but that's only 10mb

Trying yad now, with my own installer scripts I use for the exegnu stuff, with Trinity Desktop. The conversion syntax is simple. So far, just tested the actual dialog boxes (including lists), everything works. Not tried progress box nor other more advanced stuff yet. I want to try it with xfce and the Refracta scripts.

More on this later...

Re: Bloat alert! zenity vs. yad (wheezy)

Sat Jul 14, 2012 12:37 pm

yad is a much better option to zenity IMO.

It is also better to compress the squashfs image with xz compression rather than with gzip when using mksquashfs. That is how antiX-full can still fit on a cd, even though it comes with Libreoffice (minus the data-base).
Code:
mksquashfs new-squashfs new-iso/antiX/linuxfs -comp xz


is what antiX uses.

Re: Bloat alert! zenity vs. yad (wheezy)

Sat Jul 14, 2012 2:52 pm

There is a wrapper here for .bashrc, to call yad for zenity-based scripts, if anyone wants a quick tryout.

http://code.google.com/p/yad/wiki/ZenityWrapper

Not sure if it's (the wrapper) quite complete though, I don't see anything to sort any custom "yes/no button" code which is slightly different, maybe that is fixable

I did try xz vs. default gzip recently, the squash was at least several percent smaller.

Any other bloat reducing tips welcome!

Re: Bloat alert! zenity vs. yad (wheezy)

Sat Jul 14, 2012 7:54 pm

dzz wrote:Any other bloat reducing tips welcome!


You may already have some/all of these implemented.

1. Have --no-install-recommends default in etc/apt/apt.conf
Code:
// Recommends are as of now still abused in many packages
APT::Install-Recommends "0";
APT::Install-Suggests "0";


2. Only use a minimal number of locales. (and possible use localepurge - though I don't think it is a good idea unless you want to keep the live.iso to having just 1 or 2 locales).

3. Remove all doc files in /usr/share/docs. This saves loads of space, but it is not really in the spirit of the GPL.

I'm sure there are others.

I did manage to build a basic xfce live.iso from antiX-core with abiword/gnumeric that easily fit on a cd.

Re: Bloat alert! zenity vs. yad (wheezy)

Sat Jul 14, 2012 9:05 pm

Glad to see some activity here. I've had no time to do anything with refracta lately. I've had occasional days when I could work on the scripts. I haven't gotten around to doing a new wheezy install to see if I could get the base system smaller. The nox version I put together in February was 409mb. The last snapshot I made with xfce a few weeks ago came out 768mb. I haven't tried it with xz compression yet. Guess I should do that soon, since it's easy to do.

We're already installing without recommends. Thanks for the syntax for the conf file. I've been typing --no-install-recommends every time. My fingers are grateful.

Locales will most likely be staying. dzz did a lot of work on booting with different languages and keyboards.

Docs will be staying.

Zenity is definitely a problem. The main thing I've been trying to do with the installer and snapshot scripts is to make them usable on other debian-based distros and with desktops other than xfce. A graphical interface that doesn't require a lot is needed.

I haven't played with yad, but I've looked at it. Also looked at xdialog and ran some of the examples. I had to compile it (on squeeze) and I don't remember how I did it. The commands I used seem to be missing from my history. I had to tell it where gtk-config was, and I can't even find it now. Been running it from the src directory in user space, so I copied the directory over to wheezy, and it still runs. If it's not in the debian repos, it needs to be easy to get and easy to install.

Another approach is to make separate versions of refracta - one with all the rescue and diagnostic utilities and a basic desktop, and one with all the graphical apps, without all the utilities. If I do that, I'll have to make a third version for myself that has both, and it'll be too big for a CD.

Re: Bloat alert! zenity vs. yad (wheezy)

Sat Jul 14, 2012 10:30 pm

Instead of xdialog, you could use gtkdialog (with yad for pop ups) as it is 'prettier'.
It is deprecated in Wheezy, but antiX has a working .deb if you want it.

Re: Bloat alert! zenity vs. yad (wheezy)

Sun Jul 15, 2012 2:17 pm

Thanks, anti. I might want the gtkdialog deb later, but right now, I'm trying yad. First test went well - I converted the options checklist in the installer. Second test went not so well. The device list for choosing where to install grub should be a radiolist (only one choice possible) but in yad, radiolist is an alias for checklist - multiple selections are allowed. Anyone know how to limit the selections to one?

Re: Bloat alert! zenity vs. yad (wheezy)

Sun Jul 15, 2012 2:54 pm

fsmithred - this might help.

https://code.google.com/p/yad/issues/detail?id=86

Re: Bloat alert! zenity vs. yad (wheezy)

Sun Jul 15, 2012 3:54 pm

Yes, that helps. Can't say I've figured it out, but I think I got it working the way it needs to be. Here's my test -
https://gist.github.com/3117522

If you want to talk real-time, nadir and I are in freenode #study-group right now (noon EDT, 16:00 UTC)

Re: Bloat alert! zenity vs. yad (wheezy)

Sun Jul 15, 2012 4:10 pm

Here is the yad entry for grub chooser in the experimental exegnu installer, in case it helps:

Code:
GRUBINST=$(yad --width=640 --height=400 --title="$TITLE" --list --separator="" --column="" --text="\nGrub bootloader should normally be installed to the MBR of the first hard disk\n\nPlease select 'MBR of first hard disk' \n\nIf you want to keep an existing bootloader and configure it manually later you may select an alternative location to install Grub\n " "MBR of first hard disk" "MBR of installation disk" "Installation partition" "Do not install Grub")


Nothing is preselected and you can't select more than one

BTW there are yad debs available, installed fine in squeeze and wheezy here with dpkg -i
Post a reply