PWIZ: See PWIZ in action

PWIZ has currently only one UI back-end - dumb console interface. But it already offers all features of PWIZ.

PWIZ has color support, so it is simple to read the output:

Screen shot of terminal with PWIZ

Suppose you want to package bmp package. You have already tried to package it before, that is why PWIZ knows answers for most questions:

sbrabec@hammer:~> pwiz -g 20 -G 0

*** Question was: Please qualify your knowledge skills for area "general packaging".
*** PWIZ answered: Good knowledges (75c). (80c)

General knowledge of packaging process without exact specification (this is a
default knowledge type). Defining knowledge skills helps PWIZ to decide,
whether to ask you with particular packaging question.
PWIZ:START[0]@pwiz_knowledge_general...

*** Question was: Select default prefix for PWIZ.
*** PWIZ answered: "/usr" (60c)

You should enter global prefix. It is a directory, where most packages should
go. Use /usr/local for manual installations, /usr for installations with packaging
system, eventually /home/sbrabec for userland installation.
PWIZ:START[0]@prefix_global...

Project name (name of project for PWIZ).
->0) "bmp" (0c)
  m) enter manually
  e{number}) edit manually

Now you should enter canonical project name. The name can be global project name,
or any selected, if there is a reason for different name.
PWIZ:package_project_set[0]@pwiz_project_project>

*** Question was: Enter patchlevel.
*** PWIZ answered: "0" (99c)

Now you can specify required patchlevel. This is only a rhetorical question. PWIZ
searched in cache and is nearly sure, that it is suggested one.
PWIZ:package_project_set[0]@pwiz_project_patchlevel...

*** Question was: Global project source base file name.
*** PWIZ answered: "bmp" (25c)

Now you should enter project base file name (i. e. name without prefix, suffix
and version). This can be a string or extended pattern (see extglob in bash(1)).
PWIZ:package_basename_set[0]@package_basename...

*** Question was: Enter package home page.
*** PWIZ answered: "http://www.sosdg.org/~larne/w/BMP_Homepage" (60c)

Package home page is URI, where home WWW (or FTP) page resides.
PWIZ:package_home_page_set[0]@package_home_page...

Do FTP lookup now?
  0, n) no (0c)
->1, y) yes (0c)

Now you can lookup for FTP. Stored version will be used otherwise.
PWIZ:package_search_uri[0]> n

*** Question was: Enter package search URI.
*** PWIZ answered: I will enter directly manually download URI. (14c)

Package search URI is top-level URI, where sources are searched. Can be space
separated list. Note that it works for FTP only now.
PWIZ:package_search_uri_set[0]@package_search_uri...
*** package_collect_uri not found

*** Question was: Enter required version.
*** PWIZ answered: "0.9.7rc2" (14c)

Now you can specify required version. Default is most probably the latest
conforming policy. In this case you will be asked for policy to identify
latest version. If you are entering version manually, use version string for
forced version and "latest" for current latest version.
PWIZ:package_download[0]@package_version...

*** Question was: Enter required version URI.
*** PWIZ answered: "http://mesh.dl.sourceforge.net/sourceforge/beepmp/bmp-
 0.9.7rc2.tar.gz" (14c)

Now you can specify URI of required version. Default is most probably the
latest URI.
PWIZ:package_download[0]@package_uri_0_9_7rc2...

Download file now?
->0, n) no (1c)
  1, y) yes (0c)

Now you can dowload file.
PWIZ:package_download[0]>

*** Question was: Manual action point: before unpacking main archive
*** PWIZ answered: "" (10c)

Now you should define actions you want to do before unpacking main archive.
PWIZ:manual_PREPARE_PREUNPACK[0]@manual_PREPARE_PREUNPACK...
Provádění(%prep): /bin/sh -e /var/tmp/rpm-tmp.16630
+ umask 022
+ cd /usr/src/packages/BUILD
+ test -f /home/sbrabec/pwiz/tmp/bmp/rpm_env
+ cd /usr/src/packages/BUILD
+ rm -rf bmp-0.9.7rc2
+ /usr/bin/gzip -dc /usr/src/packages/SOURCES/bmp-0.9.7rc2.tar.gz
+ tar -xvvf -
drwxrwxrwx 1000/100          0 2004-08-22 15:51:09 bmp-0.9.7rc2/
drwxrwxrwx 1000/100          0 2004-08-22 15:50:58 bmp-0.9.7rc2/m4/
-rw-r--r-- 1000/100      23267 2003-11-26 08:06:12 bmp-0.9.7rc2/m4/lib-link.m4
-rw-r--r-- 1000/100       1091 2003-11-26 08:06:12 bmp-0.9.7rc2/m4/inttypes_h.m4
-rw-r--r-- 1000/100       9040 2003-11-26 08:06:12 bmp-0.9.7rc2/m4/po.m4

Later, you want to compile it without GNOME support. You will delete GNOME devel packages from your systam and you will get:

This package will use configure script with following arguments:\
        --prefix=/opt/gnome\
        --libdir=/opt/gnome/%{_lib}
Do you want any additional options?
->0) "" (1c)
  1) GNU configure --help (0c)
  2) "--enable-gconf --enable-gnome-vfs" (failed)
  m) enter manually
  e{number}) edit manually

Most GNU configure scripts has optional arguments to turn on or off some
features or specify search paths. Some of them can be guesses, but other
needs to be defined manually. Now you can define them.
PWIZ:configure_args[1]@gnu_configure_extra_args>

Different answer for last question already exists. What to do now?
->0) do not cache the answer (1c)
  1) overwrite old value (0c)
  2) increase patchlevel (0c)

PWIZ cache already stores the answer for last question: "--enable-gconf
--enable-gnome-vfs". If your answer will not be cached, it will be lost
at the end of current session. Is you select overwrite, it will be
impossible to revert previous behavior, if you overwrite old one.
PWIZ:configure_args[1]>