Merge lp:~cyruslien/ubuntu/natty/ubiquity/fix-690726 into lp:ubuntu/natty/ubiquity

Proposed by Cyrus Lien
Status: Needs review
Proposed branch: lp:~cyruslien/ubuntu/natty/ubiquity/fix-690726
Merge into: lp:ubuntu/natty/ubiquity
Diff against target: 218834 lines (+216016/-0) (has conflicts)
521 files modified
.bzrignore (+70/-0)
.pycheckrc (+4/-0)
ABOUT-NLS (+1068/-0)
Makefile.am (+9/-0)
Makefile.in (+779/-0)
aclocal.m4 (+1597/-0)
autogen.sh (+10/-0)
bin/oem-config-firstboot (+123/-0)
bin/oem-config-prepare (+79/-0)
bin/oem-config-remaster (+121/-0)
bin/oem-config-remove (+27/-0)
bin/oem-config-remove-gtk (+74/-0)
bin/oem-config-wrapper (+49/-0)
bin/ubiquity (+535/-0)
bin/ubiquity-dm (+556/-0)
bin/ubiquity-greeter-gtk (+168/-0)
bin/ubiquity-wireless-manager (+170/-0)
bin/ubiquity-wrapper (+138/-0)
build/compile (+142/-0)
build/config.guess (+1502/-0)
build/config.rpath (+666/-0)
build/config.sub (+1714/-0)
build/depcomp (+630/-0)
build/install-sh (+520/-0)
build/ltmain.sh (+8413/-0)
build/missing (+376/-0)
build/mkinstalldirs (+162/-0)
compat/anna-install (+3/-0)
compat/apt-install (+39/-0)
compat/depmod (+3/-0)
compat/linux-boot-prober (+13/-0)
compat/locale (+20/-0)
compat/os-prober (+12/-0)
compat/udpkg (+9/-0)
compat/update-dev (+5/-0)
config.h.in (+99/-0)
configure (+17632/-0)
configure.ac (+112/-0)
d-i/Makefile (+83/-0)
d-i/README (+5/-0)
d-i/build-manifest (+9/-0)
d-i/check-manifest (+42/-0)
d-i/get-sources (+118/-0)
d-i/lists/amd64 (+2/-0)
d-i/lists/any (+27/-0)
d-i/lists/armel (+2/-0)
d-i/lists/i386 (+2/-0)
d-i/lists/lpia (+2/-0)
d-i/lists/powerpc (+3/-0)
d-i/make-keyboard-names (+134/-0)
d-i/manifest (+34/-0)
d-i/sources.list (+1/-0)
d-i/update-changelog (+31/-0)
d-i/update-control (+94/-0)
dbus/com.ubuntu.ubiquity.WirelessManager.conf (+23/-0)
dbus/com.ubuntu.ubiquity.WirelessManager.service (+4/-0)
debian-installer-startup.d/S60oem-config-check (+9/-0)
debian/changelog (+8760/-0)
debian/changelog.oem-config (+1159/-0)
debian/clean (+8/-0)
debian/compat (+1/-0)
debian/control (+148/-0)
debian/copyright (+62/-0)
debian/imported-po/Makefile (+29/-0)
debian/imported-po/POTFILES.in (+1/-0)
debian/imported-po/add-contexts (+14/-0)
debian/imported-po/am.po (+43/-0)
debian/imported-po/ar.po (+131/-0)
debian/imported-po/ast.po (+128/-0)
debian/imported-po/be.po (+51/-0)
debian/imported-po/bg.po (+126/-0)
debian/imported-po/bn.po (+129/-0)
debian/imported-po/br.po (+126/-0)
debian/imported-po/bs.po (+55/-0)
debian/imported-po/ca.po (+146/-0)
debian/imported-po/cs.po (+132/-0)
debian/imported-po/cy.po (+125/-0)
debian/imported-po/da.po (+152/-0)
debian/imported-po/de.po (+135/-0)
debian/imported-po/dz.po (+53/-0)
debian/imported-po/el.po (+147/-0)
debian/imported-po/eo.po (+51/-0)
debian/imported-po/es.po (+114/-0)
debian/imported-po/et.po (+131/-0)
debian/imported-po/eu.po (+125/-0)
debian/imported-po/fa.po (+51/-0)
debian/imported-po/fi.po (+130/-0)
debian/imported-po/fr.po (+134/-0)
debian/imported-po/ga.po (+127/-0)
debian/imported-po/gl.po (+138/-0)
debian/imported-po/gu.po (+153/-0)
debian/imported-po/he.po (+126/-0)
debian/imported-po/hi.po (+137/-0)
debian/imported-po/hr.po (+53/-0)
debian/imported-po/hu.po (+128/-0)
debian/imported-po/id.po (+53/-0)
debian/imported-po/it.po (+125/-0)
debian/imported-po/ja.po (+130/-0)
debian/imported-po/ka.po (+56/-0)
debian/imported-po/ko.po (+124/-0)
debian/imported-po/ku.po (+89/-0)
debian/imported-po/lt.po (+130/-0)
debian/imported-po/lv.po (+124/-0)
debian/imported-po/mk.po (+57/-0)
debian/imported-po/ml.po (+126/-0)
debian/imported-po/mr.po (+125/-0)
debian/imported-po/nb.po (+123/-0)
debian/imported-po/ne.po (+56/-0)
debian/imported-po/nl.po (+142/-0)
debian/imported-po/nn.po (+131/-0)
debian/imported-po/pa.po (+126/-0)
debian/imported-po/pl.po (+127/-0)
debian/imported-po/pt.po (+124/-0)
debian/imported-po/pt_BR.po (+137/-0)
debian/imported-po/ro.po (+126/-0)
debian/imported-po/ru.po (+137/-0)
debian/imported-po/sk.po (+126/-0)
debian/imported-po/sl.po (+130/-0)
debian/imported-po/sq.po (+124/-0)
debian/imported-po/sr.po (+128/-0)
debian/imported-po/sv.po (+124/-0)
debian/imported-po/ta.po (+138/-0)
debian/imported-po/templates.pot (+123/-0)
debian/imported-po/th.po (+124/-0)
debian/imported-po/tr.po (+135/-0)
debian/imported-po/uk.po (+125/-0)
debian/imported-po/ur.po (+21/-0)
debian/imported-po/vi.po (+126/-0)
debian/imported-po/zh_CN.po (+130/-0)
debian/imported-po/zh_HK.po (+126/-0)
debian/imported-po/zh_TW.po (+126/-0)
debian/oem-config-check.install (+2/-0)
debian/oem-config-check.templates (+11/-0)
debian/oem-config-gtk.dirs (+1/-0)
debian/oem-config-gtk.install (+2/-0)
debian/oem-config-gtk.postinst (+11/-0)
debian/oem-config-gtk.postrm (+13/-0)
debian/oem-config-gtk.preinst (+13/-0)
debian/oem-config-gtk.prerm (+10/-0)
debian/oem-config-kde.dirs (+1/-0)
debian/oem-config-kde.install (+1/-0)
debian/oem-config-kde.postinst (+11/-0)
debian/oem-config-kde.prerm (+10/-0)
debian/oem-config-remaster.install (+1/-0)
debian/oem-config-udeb.install (+1/-0)
debian/oem-config-udeb.postinst (+23/-0)
debian/oem-config-udeb.templates (+31/-0)
debian/oem-config.dirs (+6/-0)
debian/oem-config.install (+5/-0)
debian/oem-config.links (+2/-0)
debian/oem-config.lintian-overrides (+1/-0)
debian/oem-config.manpages (+1/-0)
debian/oem-config.oem-config.upstart (+50/-0)
debian/oem-config.postinst (+8/-0)
debian/oem-config.templates (+52/-0)
debian/pycompat (+1/-0)
debian/real-po/POTFILES.in (+4/-0)
debian/real-po/am.po (+1585/-0)
debian/real-po/ar.po (+1664/-0)
debian/real-po/ast.po (+1709/-0)
debian/real-po/be.po (+1703/-0)
debian/real-po/bg.po (+1706/-0)
debian/real-po/bn.po (+1647/-0)
debian/real-po/bs.po (+1702/-0)
debian/real-po/ca.po (+1712/-0)
debian/real-po/cs.po (+1696/-0)
debian/real-po/cy.po (+1620/-0)
debian/real-po/da.po (+1714/-0)
debian/real-po/de.po (+1733/-0)
debian/real-po/dz.po (+1535/-0)
debian/real-po/el.po (+1729/-0)
debian/real-po/eo.po (+1690/-0)
debian/real-po/es.po (+1712/-0)
debian/real-po/et.po (+1690/-0)
debian/real-po/eu.po (+1705/-0)
debian/real-po/fi.po (+1704/-0)
debian/real-po/fr.po (+1727/-0)
debian/real-po/ga.po (+1535/-0)
debian/real-po/gl.po (+1710/-0)
debian/real-po/gu.po (+1585/-0)
debian/real-po/he.po (+1674/-0)
debian/real-po/hi.po (+1676/-0)
debian/real-po/hr.po (+1709/-0)
debian/real-po/hu.po (+1706/-0)
debian/real-po/id.po (+1704/-0)
debian/real-po/it.po (+1712/-0)
debian/real-po/ja.po (+1708/-0)
debian/real-po/ka.po (+1619/-0)
debian/real-po/kk.po (+1700/-0)
debian/real-po/km.po (+1673/-0)
debian/real-po/ko.po (+1681/-0)
debian/real-po/ku.po (+1616/-0)
debian/real-po/lt.po (+1697/-0)
debian/real-po/lv.po (+1697/-0)
debian/real-po/mk.po (+1594/-0)
debian/real-po/ml.po (+1558/-0)
debian/real-po/mr.po (+1536/-0)
debian/real-po/ne.po (+1583/-0)
debian/real-po/nl.po (+1717/-0)
debian/real-po/pa.po (+1551/-0)
debian/real-po/pl.po (+1705/-0)
debian/real-po/pt.po (+1715/-0)
debian/real-po/pt_BR.po (+1709/-0)
debian/real-po/ro.po (+1712/-0)
debian/real-po/ru.po (+1703/-0)
debian/real-po/sk.po (+1695/-0)
debian/real-po/sl.po (+1700/-0)
debian/real-po/sq.po (+1704/-0)
debian/real-po/sr.po (+1701/-0)
debian/real-po/sv.po (+1714/-0)
debian/real-po/ta.po (+1542/-0)
debian/real-po/templates.pot (+1535/-0)
debian/real-po/th.po (+1653/-0)
debian/real-po/tl.po (+1536/-0)
debian/real-po/tr.po (+1703/-0)
debian/real-po/uk.po (+1701/-0)
debian/real-po/vi.po (+1695/-0)
debian/real-po/wo.po (+1536/-0)
debian/real-po/zh_CN.po (+1644/-0)
debian/real-po/zh_TW.po (+1649/-0)
debian/rules (+282/-0)
debian/source/format (+1/-0)
debian/source/options (+1/-0)
debian/ubiquity-frontend-debconf.install (+4/-0)
debian/ubiquity-frontend-gtk.install (+11/-0)
debian/ubiquity-frontend-kde.install (+10/-0)
debian/ubiquity-gtkui.lintian-overrides (+1/-0)
debian/ubiquity-guadalinex-artwork.install (+1/-0)
debian/ubiquity-kdeui.lintian-overrides (+1/-0)
debian/ubiquity-ubuntu-artwork.install (+3/-0)
debian/ubiquity.di-numbers (+5/-0)
debian/ubiquity.dirs-any (+8/-0)
debian/ubiquity.dirs-armel (+1/-0)
debian/ubiquity.dirs-powerpc (+2/-0)
debian/ubiquity.docs (+1/-0)
debian/ubiquity.install-amd64 (+5/-0)
debian/ubiquity.install-any (+108/-0)
debian/ubiquity.install-armel (+2/-0)
debian/ubiquity.install-i386 (+5/-0)
debian/ubiquity.install-powerpc (+10/-0)
debian/ubiquity.manpages (+1/-0)
debian/ubiquity.postinst (+12/-0)
debian/ubiquity.templates (+1194/-0)
debian/ubiquity.templates-imported (+72/-0)
debian/ubiquity.ubiquity.upstart (+92/-0)
desktop/Makefile.am (+13/-0)
desktop/Makefile.in (+467/-0)
desktop/oem-config-prepare-gtk.desktop.in (+11/-0)
desktop/oem-config-prepare-kde.desktop.in (+11/-0)
desktop/ubiquity-gtkui.desktop.in (+12/-0)
desktop/ubiquity-kdeui.desktop.in (+12/-0)
desktop/ubiquity.svg (+319/-0)
doc/Changelog.Guadalinex (+148/-0)
doc/README (+226/-0)
doc/clock-handling (+48/-0)
doc/oem-config-firstboot.8 (+59/-0)
doc/oem-config-prepare.8 (+39/-0)
doc/ubiquity.8 (+123/-0)
finish-install.d/01oem-config-udeb (+22/-0)
finish-install.d/07oem-config-user (+18/-0)
gui/gtk/gtkwidgets.xml (+49/-0)
gui/gtk/stepKeyboardConf.ui (+149/-0)
gui/gtk/stepLanguage.ui (+209/-0)
gui/gtk/stepLanguageOnly.ui (+32/-0)
gui/gtk/stepLocation.ui (+42/-0)
gui/gtk/stepMigrationAssistant.ui (+52/-0)
gui/gtk/stepPartAdvanced.ui (+830/-0)
gui/gtk/stepPartAsk.ui (+64/-0)
gui/gtk/stepPartAuto.ui (+196/-0)
gui/gtk/stepPrepare.ui (+160/-0)
gui/gtk/stepUserInfo.ui (+425/-0)
gui/gtk/stepWarning.ui (+23/-0)
gui/gtk/stepWireless.ui (+30/-0)
gui/gtk/ubiquity.ui (+890/-0)
gui/qt/app.ui (+476/-0)
gui/qt/crashdialog.ui (+192/-0)
gui/qt/images/graphics.svg (+1650/-0)
gui/qt/partition_create_dialog.ui (+192/-0)
gui/qt/partition_edit_dialog.ui (+176/-0)
gui/qt/stepIntro.ui (+89/-0)
gui/qt/stepKeyboardConf.ui (+157/-0)
gui/qt/stepLanguage.ui (+300/-0)
gui/qt/stepLocation.ui (+142/-0)
gui/qt/stepPartAuto.ui (+101/-0)
gui/qt/stepPartMan.ui (+208/-0)
gui/qt/stepPrepare.ui (+81/-0)
gui/qt/stepUserSetup.ui (+573/-0)
gui/qt/style.qss (+146/-0)
gui/qt/style_small.qss (+18/-0)
m4/ChangeLog (+32/-0)
m4/am-check-python-headers.m4 (+35/-0)
m4/codeset.m4 (+21/-0)
m4/gettext.m4 (+381/-0)
m4/glibc2.m4 (+30/-0)
m4/glibc21.m4 (+30/-0)
m4/iconv.m4 (+180/-0)
m4/intdiv0.m4 (+84/-0)
m4/intl.m4 (+285/-0)
m4/intldir.m4 (+19/-0)
m4/intlmacosx.m4 (+51/-0)
m4/intltool.m4 (+216/-0)
m4/intmax.m4 (+33/-0)
m4/inttypes-pri.m4 (+36/-0)
m4/inttypes_h.m4 (+26/-0)
m4/lcmessage.m4 (+30/-0)
m4/lib-ld.m4 (+110/-0)
m4/lib-link.m4 (+709/-0)
m4/lib-prefix.m4 (+185/-0)
m4/libtool.m4 (+7377/-0)
m4/lock.m4 (+316/-0)
m4/longlong.m4 (+109/-0)
m4/ltoptions.m4 (+368/-0)
m4/ltsugar.m4 (+123/-0)
m4/ltversion.m4 (+23/-0)
m4/lt~obsolete.m4 (+92/-0)
m4/nls.m4 (+31/-0)
m4/po.m4 (+449/-0)
m4/printf-posix.m4 (+44/-0)
m4/progtest.m4 (+92/-0)
m4/size_max.m4 (+68/-0)
m4/stdint_h.m4 (+26/-0)
m4/ubiquity-python.m4 (+27/-0)
m4/uintmax_t.m4 (+30/-0)
m4/visibility.m4 (+52/-0)
m4/wchar_t.m4 (+20/-0)
m4/wint_t.m4 (+28/-0)
m4/xsize.m4 (+13/-0)
main-menu.d/10oem-config (+6/-0)
partman/check.d/_numbers (+1/-0)
partman/check.d/partition_too_small (+104/-0)
partman/commit.d/_numbers (+1/-0)
partman/commit.d/unmount_busy (+112/-0)
partman/finish.d/_numbers (+1/-0)
partman/finish.d/remove_os_prober_cache (+4/-0)
partman/undo.d/_numbers (+1/-0)
partman/undo.d/signal_ubiquity (+7/-0)
partman/update.d/_numbers (+1/-0)
partman/update.d/signal_ubiquity (+16/-0)
pixmaps/Makefile.am (+3/-0)
pixmaps/Makefile.in (+457/-0)
pixmaps/greeter-gtk.svg (+88/-0)
po/ChangeLog (+11/-0)
po/LINGUAS (+60/-0)
po/Makefile.in.in (+217/-0)
po/Makevars (+41/-0)
po/Makevars.template (+41/-0)
po/POTFILES.in (+5/-0)
po/Rules-quot (+47/-0)
po/am.po (+35/-0)
po/ar.po (+35/-0)
po/ast.po (+35/-0)
po/be.po (+35/-0)
po/bg.po (+35/-0)
po/bn.po (+35/-0)
po/boldquot.sed (+10/-0)
po/bs.po (+35/-0)
po/ca.po (+35/-0)
po/cs.po (+35/-0)
po/cy.po (+35/-0)
po/da.po (+35/-0)
po/de.po (+35/-0)
po/el.po (+35/-0)
po/en@boldquot.header (+25/-0)
po/en@quot.header (+22/-0)
po/eo.po (+35/-0)
po/es.po (+35/-0)
po/et.po (+35/-0)
po/eu.po (+35/-0)
po/fi.po (+35/-0)
po/fr.po (+35/-0)
po/ga.po (+35/-0)
po/gl.po (+35/-0)
po/gu.po (+35/-0)
po/he.po (+35/-0)
po/hi.po (+35/-0)
po/hr.po (+35/-0)
po/hu.po (+35/-0)
po/id.po (+35/-0)
po/insert-header.sin (+23/-0)
po/it.po (+35/-0)
po/ja.po (+35/-0)
po/ka.po (+35/-0)
po/kk.po (+35/-0)
po/km.po (+37/-0)
po/ko.po (+35/-0)
po/ku.po (+35/-0)
po/lt.po (+35/-0)
po/lv.po (+35/-0)
po/mk.po (+35/-0)
po/ml.po (+35/-0)
po/mr.po (+35/-0)
po/ne.po (+35/-0)
po/nl.po (+35/-0)
po/pa.po (+35/-0)
po/pl.po (+35/-0)
po/pt.po (+35/-0)
po/pt_BR.po (+35/-0)
po/quot.sed (+6/-0)
po/remove-potcdate.sin (+19/-0)
po/ro.po (+36/-0)
po/ru.po (+35/-0)
po/sk.po (+35/-0)
po/sl.po (+35/-0)
po/sq.po (+35/-0)
po/sr.po (+35/-0)
po/sv.po (+35/-0)
po/ta.po (+35/-0)
po/th.po (+35/-0)
po/tl.po (+35/-0)
po/tr.po (+35/-0)
po/ubiquity.pot (+33/-0)
po/uk.po (+35/-0)
po/vi.po (+35/-0)
po/zh_CN.po (+35/-0)
po/zh_TW.po (+35/-0)
run-pychecker (+20/-0)
scripts/activate-dmraid (+40/-0)
scripts/apt-setup (+14/-0)
scripts/check-kernels (+86/-0)
scripts/clock-setup (+6/-0)
scripts/clock-setup-apply (+62/-0)
scripts/console-setup-apply (+18/-0)
scripts/install.py (+613/-0)
scripts/localechooser-apply (+58/-0)
scripts/migration-assistant (+14/-0)
scripts/netcfg-wrapper (+10/-0)
scripts/plugininstall.py (+1443/-0)
scripts/simple-plugins (+23/-0)
scripts/tzsetup (+47/-0)
scripts/ubi-reload-keyboard (+8/-0)
scripts/update-apt-cache (+5/-0)
src/Makefile.am (+1/-0)
src/Makefile.in (+610/-0)
src/cheese/Makefile.am (+36/-0)
src/cheese/Makefile.in (+631/-0)
src/cheese/cheese-types.defs (+14/-0)
src/cheese/cheese.defs (+91/-0)
src/cheese/cheese.override (+21/-0)
src/cheese/cheesemodule.c (+46/-0)
src/cheese/tests/cheese-test-chooser.py (+57/-0)
src/panel/Makefile.am (+17/-0)
src/panel/Makefile.in (+584/-0)
src/panel/fixedtip.c (+261/-0)
src/panel/fixedtip.h (+68/-0)
src/panel/na-marshal.c (+167/-0)
src/panel/na-marshal.h (+36/-0)
src/panel/na-tray-child.c (+515/-0)
src/panel/na-tray-child.h (+71/-0)
src/panel/na-tray-manager.c (+845/-0)
src/panel/na-tray-manager.h (+97/-0)
src/panel/na-tray.c (+829/-0)
src/panel/na-tray.h (+67/-0)
src/panel/panel.c (+302/-0)
tests/run (+48/-0)
tests/run-frontend (+147/-0)
ubiquity/Makefile.am (+9/-0)
ubiquity/Makefile.in (+586/-0)
ubiquity/__init__.py (+1/-0)
ubiquity/auto_update.py (+184/-0)
ubiquity/casper.py (+54/-0)
ubiquity/components/apt_setup.py (+65/-0)
ubiquity/components/check_kernels.py (+24/-0)
ubiquity/components/flash_kernel.py (+25/-0)
ubiquity/components/grubinstaller.py (+40/-0)
ubiquity/components/hw_detect.py (+38/-0)
ubiquity/components/install.py (+75/-0)
ubiquity/components/kbootinstaller.py (+30/-0)
ubiquity/components/partman_commit.py (+96/-0)
ubiquity/components/plugininstall.py (+98/-0)
ubiquity/components/yabootinstaller.py (+30/-0)
ubiquity/debconfcommunicator.py (+46/-0)
ubiquity/debconffilter.py (+449/-0)
ubiquity/filteredcommand.py (+454/-0)
ubiquity/frontend/__init__.py (+3/-0)
ubiquity/frontend/base.py (+394/-0)
ubiquity/frontend/debconf_ui.py (+151/-0)
ubiquity/frontend/gtk_components/keyboard_query.py (+122/-0)
ubiquity/frontend/gtk_ui.py (+1590/-0)
ubiquity/frontend/kde_components/Keyboard.py (+282/-0)
ubiquity/frontend/kde_components/PartAuto.py (+213/-0)
ubiquity/frontend/kde_components/PartMan.py (+462/-0)
ubiquity/frontend/kde_components/PartitionBar.py (+321/-0)
ubiquity/frontend/kde_components/PartitionModel.py (+261/-0)
ubiquity/frontend/kde_components/ProgressDialog.py (+72/-0)
ubiquity/frontend/kde_components/SqueezeLabel.py (+21/-0)
ubiquity/frontend/kde_components/Timezone.py (+240/-0)
ubiquity/frontend/kde_components/__init__.py (+3/-0)
ubiquity/frontend/kde_components/testing/partauto.py (+64/-0)
ubiquity/frontend/kde_components/testing/partitionbar.py (+41/-0)
ubiquity/frontend/kde_components/testing/partman.py (+350/-0)
ubiquity/frontend/kde_ui.py (+1306/-0)
ubiquity/frontend/noninteractive.py (+241/-0)
ubiquity/gconftool.py (+129/-0)
ubiquity/gtkwidgets.py (+1071/-0)
ubiquity/i18n.py (+352/-0)
ubiquity/im_switch.py (+159/-0)
ubiquity/install_misc.py (+899/-0)
ubiquity/keyboard_detector.py (+96/-0)
ubiquity/misc.py (+526/-0)
ubiquity/osextras.py (+115/-0)
ubiquity/osextrasmodule.c (+115/-0)
ubiquity/parted_server.py (+222/-0)
ubiquity/plugin.py (+48/-0)
ubiquity/plugin_manager.py (+143/-0)
ubiquity/plugins/ubi-console-setup.py (+695/-0)
ubiquity/plugins/ubi-language.py (+764/-0)
ubiquity/plugins/ubi-migrationassistant.py (+343/-0)
ubiquity/plugins/ubi-network.py (+38/-0)
ubiquity/plugins/ubi-partman.py (+2510/-0)
ubiquity/plugins/ubi-prepare.py (+351/-0)
ubiquity/plugins/ubi-tasks.py (+38/-0)
ubiquity/plugins/ubi-timezone.py (+611/-0)
ubiquity/plugins/ubi-usersetup.py (+824/-0)
ubiquity/plugins/ubi-warning.py.disabled (+80/-0)
ubiquity/plugins/ubi-wireless.py.disabled (+81/-0)
ubiquity/progressposition.py (+86/-0)
ubiquity/qtwidgets.py (+37/-0)
ubiquity/segmented_bar.py (+732/-0)
ubiquity/timezone_map.py (+778/-0)
ubiquity/tz.py (+254/-0)
ubiquity/validation.py (+136/-0)
Conflict adding file .pycheckrc.  Moved existing file to .pycheckrc.moved.
Conflict adding file ABOUT-NLS.  Moved existing file to ABOUT-NLS.moved.
Conflict adding file Makefile.am.  Moved existing file to Makefile.am.moved.
Conflict adding file Makefile.in.  Moved existing file to Makefile.in.moved.
Conflict adding file aclocal.m4.  Moved existing file to aclocal.m4.moved.
Conflict adding file autogen.sh.  Moved existing file to autogen.sh.moved.
Conflict adding file bin.  Moved existing file to bin.moved.
Conflict adding file build.  Moved existing file to build.moved.
Conflict adding file compat.  Moved existing file to compat.moved.
Conflict adding file config.h.in.  Moved existing file to config.h.in.moved.
Conflict adding file configure.ac.  Moved existing file to configure.ac.moved.
Conflict adding file configure.  Moved existing file to configure.moved.
Conflict adding file d-i.  Moved existing file to d-i.moved.
Conflict adding file dbus.  Moved existing file to dbus.moved.
Conflict adding file debian-installer-startup.d.  Moved existing file to debian-installer-startup.d.moved.
Conflict adding file debian.  Moved existing file to debian.moved.
Conflict adding file desktop.  Moved existing file to desktop.moved.
Conflict adding file doc.  Moved existing file to doc.moved.
Conflict adding file finish-install.d.  Moved existing file to finish-install.d.moved.
Conflict adding file gui.  Moved existing file to gui.moved.
Conflict adding file m4.  Moved existing file to m4.moved.
Conflict adding file main-menu.d.  Moved existing file to main-menu.d.moved.
Conflict adding file partman.  Moved existing file to partman.moved.
Conflict adding file pixmaps.  Moved existing file to pixmaps.moved.
Conflict adding file po.  Moved existing file to po.moved.
Conflict adding file run-pychecker.  Moved existing file to run-pychecker.moved.
Conflict adding file scripts.  Moved existing file to scripts.moved.
Conflict adding file src.  Moved existing file to src.moved.
Conflict adding file tests.  Moved existing file to tests.moved.
Conflict adding file ubiquity.  Moved existing file to ubiquity.moved.
To merge this branch: bzr merge lp:~cyruslien/ubuntu/natty/ubiquity/fix-690726
Reviewer Review Type Date Requested Status
Colin Watson Needs Resubmitting
Review via email: mp+47982@code.launchpad.net

Description of the change

(LP: 690726)
Add shutdown option
Implement ubiquity/poweroff preseed option

To post a comment you must log in.
Revision history for this message
Colin Watson (cjwatson) wrote :

Please resubmit this as a merge against lp:ubiquity (which is the same
as lp:~ubuntu-installer/ubiquity/trunk). Regrettably,
lp:ubuntu/ubiquity is not the same thing at the moment and we don't use
it; merges proposed against it are unreadable.

 review resubmit

review: Needs Resubmitting

Unmerged revisions

4494. By Cyrus Lien

 * Add shutdown option
   Implement ubiquity/poweroff preseed option

4493. By Colin Watson

releasing version 2.5.12

4492. By Colin Watson

Automatic update of included source packages: clock-setup 0.106ubuntu1,
console-setup 1.57ubuntu5, partman-basicfilesystems 69ubuntu1,
partman-efi 23ubuntu1, partman-partitioning 79ubuntu1.

4491. By Mario Limonciello

add bug number

4490. By Evan

Detect hostname collisions (LP: #634187).

4489. By Evan

Missed a pc105.tree reference that needed to be removed.

4488. By Evan

pc105.tree is included in console-setup now, which speeds up
ubiquity builds.

4487. By Evan

Update LINGUAS.

4486. By Evan

Fix mistake in the cleanup branch merge that broke translations
(LP: #691671).

4485. By Evan

If a session indicator gconf key starts unset, make sure it ends
that way (LP: #684052).

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file '.bzrignore'
2--- .bzrignore 1970-01-01 00:00:00 +0000
3+++ .bzrignore 2011-01-31 11:12:59 +0000
4@@ -0,0 +1,70 @@
5+project.log
6+tailor.state
7+tailor.state.old
8+tailor.state.journal
9+./build-stamp
10+debian/build
11+debian/files
12+debian/oem-config
13+debian/oem-config-check
14+debian/oem-config-debconf
15+debian/oem-config-gtk
16+debian/oem-config-kde
17+debian/oem-config-udeb
18+debian/oem-config-remaster
19+debian/ubiquity
20+debian/ubiquity-frontend-cloner
21+debian/ubiquity-frontend-debconf
22+debian/ubiquity-frontend-gtk
23+debian/ubiquity-frontend-kde
24+debian/ubiquity-frontend-mythbuntu
25+debian/ubiquity-guadalinex-artwork
26+debian/ubiquity-guadalinex-doc
27+debian/ubiquity-ubuntu-artwork
28+debian/ubiquity-ubuntu-doc
29+debian/ubiquity.dirs
30+debian/ubiquity.install
31+debian/*.debhelper*
32+debian/*.substvars
33+./Makefile
34+./autom4te.cache
35+./config.h
36+./config.log
37+./config.status
38+./intltool-*
39+./libtool
40+./stamp-h1
41+d-i/apt
42+d-i/manifest.old
43+d-i/source
44+d-i/templates
45+d-i/udeb-control
46+desktop/Makefile
47+desktop/*.desktop
48+po/.intltool-merge-cache
49+po/Makefile
50+po/POTFILES
51+po/remove-potcdate.sed
52+po/stamp-it
53+po/*.gmo
54+pixmaps/Makefile
55+src/Makefile
56+src/cheese/.deps
57+src/cheese/.libs
58+src/cheese/cheese.c
59+src/cheese/*.la
60+src/cheese/*.lo
61+src/cheese/Makefile
62+src/panel/.deps
63+src/panel/.libs
64+src/panel/Makefile
65+src/panel/panel
66+ubiquity/.deps
67+ubiquity/.libs
68+ubiquity/Makefile
69+ubiquity/frontend/*.bak
70+ubiquity/frontend/liveinstaller.py
71+ubiquity/frontend/crashdialog.py
72+ubiquity/keyboard_names.py
73+ubiquity/*.la
74+ubiquity/*.lo
75
76=== added file '.pycheckrc'
77--- .pycheckrc 1970-01-01 00:00:00 +0000
78+++ .pycheckrc 2011-01-31 11:12:59 +0000
79@@ -0,0 +1,4 @@
80+limit = 0
81+unusedNames = [ '_', 'empty', 'unused', 'dummy', 'dummypkg', 'args', 'kwargs', ]
82+blacklist = [ 'subprocess', 'Tkinter', 'wxPython', 'gtk', 'GTK', 'GDK', 'apt', 'debconf', ]
83+maxLocals = 50 # arguably scripts/install.py:copy_all should be fixed ...
84
85=== renamed file '.pycheckrc' => '.pycheckrc.moved'
86=== added file 'ABOUT-NLS'
87--- ABOUT-NLS 1970-01-01 00:00:00 +0000
88+++ ABOUT-NLS 2011-01-31 11:12:59 +0000
89@@ -0,0 +1,1068 @@
90+1 Notes on the Free Translation Project
91+***************************************
92+
93+Free software is going international! The Free Translation Project is
94+a way to get maintainers of free software, translators, and users all
95+together, so that free software will gradually become able to speak many
96+languages. A few packages already provide translations for their
97+messages.
98+
99+ If you found this `ABOUT-NLS' file inside a distribution, you may
100+assume that the distributed package does use GNU `gettext' internally,
101+itself available at your nearest GNU archive site. But you do _not_
102+need to install GNU `gettext' prior to configuring, installing or using
103+this package with messages translated.
104+
105+ Installers will find here some useful hints. These notes also
106+explain how users should proceed for getting the programs to use the
107+available translations. They tell how people wanting to contribute and
108+work on translations can contact the appropriate team.
109+
110+ When reporting bugs in the `intl/' directory or bugs which may be
111+related to internationalization, you should tell about the version of
112+`gettext' which is used. The information can be found in the
113+`intl/VERSION' file, in internationalized packages.
114+
115+1.1 Quick configuration advice
116+==============================
117+
118+If you want to exploit the full power of internationalization, you
119+should configure it using
120+
121+ ./configure --with-included-gettext
122+
123+to force usage of internationalizing routines provided within this
124+package, despite the existence of internationalizing capabilities in the
125+operating system where this package is being installed. So far, only
126+the `gettext' implementation in the GNU C library version 2 provides as
127+many features (such as locale alias, message inheritance, automatic
128+charset conversion or plural form handling) as the implementation here.
129+It is also not possible to offer this additional functionality on top
130+of a `catgets' implementation. Future versions of GNU `gettext' will
131+very likely convey even more functionality. So it might be a good idea
132+to change to GNU `gettext' as soon as possible.
133+
134+ So you need _not_ provide this option if you are using GNU libc 2 or
135+you have installed a recent copy of the GNU gettext package with the
136+included `libintl'.
137+
138+1.2 INSTALL Matters
139+===================
140+
141+Some packages are "localizable" when properly installed; the programs
142+they contain can be made to speak your own native language. Most such
143+packages use GNU `gettext'. Other packages have their own ways to
144+internationalization, predating GNU `gettext'.
145+
146+ By default, this package will be installed to allow translation of
147+messages. It will automatically detect whether the system already
148+provides the GNU `gettext' functions. If not, the included GNU
149+`gettext' library will be used. This library is wholly contained
150+within this package, usually in the `intl/' subdirectory, so prior
151+installation of the GNU `gettext' package is _not_ required.
152+Installers may use special options at configuration time for changing
153+the default behaviour. The commands:
154+
155+ ./configure --with-included-gettext
156+ ./configure --disable-nls
157+
158+will, respectively, bypass any pre-existing `gettext' to use the
159+internationalizing routines provided within this package, or else,
160+_totally_ disable translation of messages.
161+
162+ When you already have GNU `gettext' installed on your system and run
163+configure without an option for your new package, `configure' will
164+probably detect the previously built and installed `libintl.a' file and
165+will decide to use this. This might not be desirable. You should use
166+the more recent version of the GNU `gettext' library. I.e. if the file
167+`intl/VERSION' shows that the library which comes with this package is
168+more recent, you should use
169+
170+ ./configure --with-included-gettext
171+
172+to prevent auto-detection.
173+
174+ The configuration process will not test for the `catgets' function
175+and therefore it will not be used. The reason is that even an
176+emulation of `gettext' on top of `catgets' could not provide all the
177+extensions of the GNU `gettext' library.
178+
179+ Internationalized packages usually have many `po/LL.po' files, where
180+LL gives an ISO 639 two-letter code identifying the language. Unless
181+translations have been forbidden at `configure' time by using the
182+`--disable-nls' switch, all available translations are installed
183+together with the package. However, the environment variable `LINGUAS'
184+may be set, prior to configuration, to limit the installed set.
185+`LINGUAS' should then contain a space separated list of two-letter
186+codes, stating which languages are allowed.
187+
188+1.3 Using This Package
189+======================
190+
191+As a user, if your language has been installed for this package, you
192+only have to set the `LANG' environment variable to the appropriate
193+`LL_CC' combination. If you happen to have the `LC_ALL' or some other
194+`LC_xxx' environment variables set, you should unset them before
195+setting `LANG', otherwise the setting of `LANG' will not have the
196+desired effect. Here `LL' is an ISO 639 two-letter language code, and
197+`CC' is an ISO 3166 two-letter country code. For example, let's
198+suppose that you speak German and live in Germany. At the shell
199+prompt, merely execute `setenv LANG de_DE' (in `csh'),
200+`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
201+This can be done from your `.login' or `.profile' file, once and for
202+all.
203+
204+ You might think that the country code specification is redundant.
205+But in fact, some languages have dialects in different countries. For
206+example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
207+country code serves to distinguish the dialects.
208+
209+ The locale naming convention of `LL_CC', with `LL' denoting the
210+language and `CC' denoting the country, is the one use on systems based
211+on GNU libc. On other systems, some variations of this scheme are
212+used, such as `LL' or `LL_CC.ENCODING'. You can get the list of
213+locales supported by your system for your language by running the
214+command `locale -a | grep '^LL''.
215+
216+ Not all programs have translations for all languages. By default, an
217+English message is shown in place of a nonexistent translation. If you
218+understand other languages, you can set up a priority list of languages.
219+This is done through a different environment variable, called
220+`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
221+for the purpose of message handling, but you still need to have `LANG'
222+set to the primary language; this is required by other parts of the
223+system libraries. For example, some Swedish users who would rather
224+read translations in German than English for when Swedish is not
225+available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
226+
227+ Special advice for Norwegian users: The language code for Norwegian
228+bokma*l changed from `no' to `nb' recently (in 2003). During the
229+transition period, while some message catalogs for this language are
230+installed under `nb' and some older ones under `no', it's recommended
231+for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
232+older translations are used.
233+
234+ In the `LANGUAGE' environment variable, but not in the `LANG'
235+environment variable, `LL_CC' combinations can be abbreviated as `LL'
236+to denote the language's main dialect. For example, `de' is equivalent
237+to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
238+(Portuguese as spoken in Portugal) in this context.
239+
240+1.4 Translating Teams
241+=====================
242+
243+For the Free Translation Project to be a success, we need interested
244+people who like their own language and write it well, and who are also
245+able to synergize with other translators speaking the same language.
246+Each translation team has its own mailing list. The up-to-date list of
247+teams can be found at the Free Translation Project's homepage,
248+`http://translationproject.org/', in the "Teams" area.
249+
250+ If you'd like to volunteer to _work_ at translating messages, you
251+should become a member of the translating team for your own language.
252+The subscribing address is _not_ the same as the list itself, it has
253+`-request' appended. For example, speakers of Swedish can send a
254+message to `sv-request@li.org', having this message body:
255+
256+ subscribe
257+
258+ Keep in mind that team members are expected to participate
259+_actively_ in translations, or at solving translational difficulties,
260+rather than merely lurking around. If your team does not exist yet and
261+you want to start one, or if you are unsure about what to do or how to
262+get started, please write to `coordinator@translationproject.org' to
263+reach the coordinator for all translator teams.
264+
265+ The English team is special. It works at improving and uniformizing
266+the terminology in use. Proven linguistic skills are praised more than
267+programming skills, here.
268+
269+1.5 Available Packages
270+======================
271+
272+Languages are not equally supported in all packages. The following
273+matrix shows the current state of internationalization, as of November
274+2007. The matrix shows, in regard of each package, for which languages
275+PO files have been submitted to translation coordination, with a
276+translation percentage of at least 50%.
277+
278+ Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo
279+ +----------------------------------------------------+
280+ Compendium | [] [] [] [] |
281+ a2ps | [] [] [] [] [] |
282+ aegis | () |
283+ ant-phone | () |
284+ anubis | [] |
285+ ap-utils | |
286+ aspell | [] [] [] [] [] |
287+ bash | [] |
288+ bfd | |
289+ bibshelf | [] |
290+ binutils | |
291+ bison | [] [] |
292+ bison-runtime | [] |
293+ bluez-pin | [] [] [] [] [] |
294+ cflow | [] |
295+ clisp | [] [] [] |
296+ console-tools | [] [] |
297+ coreutils | [] [] [] [] |
298+ cpio | |
299+ cpplib | [] [] [] |
300+ cryptonit | [] |
301+ dialog | |
302+ diffutils | [] [] [] [] [] [] |
303+ doodle | [] |
304+ e2fsprogs | [] [] |
305+ enscript | [] [] [] [] |
306+ fetchmail | [] [] () [] [] |
307+ findutils | [] |
308+ findutils_stable | [] [] [] |
309+ flex | [] [] [] |
310+ fslint | |
311+ gas | |
312+ gawk | [] [] [] |
313+ gcal | [] |
314+ gcc | [] |
315+ gettext-examples | [] [] [] [] [] |
316+ gettext-runtime | [] [] [] [] [] |
317+ gettext-tools | [] [] |
318+ gip | [] |
319+ gliv | [] [] |
320+ glunarclock | [] |
321+ gmult | [] [] |
322+ gnubiff | () |
323+ gnucash | [] [] () () [] |
324+ gnuedu | |
325+ gnulib | [] |
326+ gnunet | |
327+ gnunet-gtk | |
328+ gnutls | [] |
329+ gpe-aerial | [] [] |
330+ gpe-beam | [] [] |
331+ gpe-calendar | |
332+ gpe-clock | [] [] |
333+ gpe-conf | [] [] |
334+ gpe-contacts | |
335+ gpe-edit | [] |
336+ gpe-filemanager | |
337+ gpe-go | [] |
338+ gpe-login | [] [] |
339+ gpe-ownerinfo | [] [] |
340+ gpe-package | |
341+ gpe-sketchbook | [] [] |
342+ gpe-su | [] [] |
343+ gpe-taskmanager | [] [] |
344+ gpe-timesheet | [] |
345+ gpe-today | [] [] |
346+ gpe-todo | |
347+ gphoto2 | [] [] [] [] |
348+ gprof | [] [] |
349+ gpsdrive | |
350+ gramadoir | [] [] |
351+ grep | [] [] |
352+ gretl | () |
353+ gsasl | |
354+ gss | |
355+ gst-plugins-bad | [] [] |
356+ gst-plugins-base | [] [] |
357+ gst-plugins-good | [] [] [] |
358+ gst-plugins-ugly | [] [] |
359+ gstreamer | [] [] [] [] [] [] [] |
360+ gtick | () |
361+ gtkam | [] [] [] [] |
362+ gtkorphan | [] [] |
363+ gtkspell | [] [] [] [] |
364+ gutenprint | [] |
365+ hello | [] [] [] [] [] |
366+ herrie | [] |
367+ hylafax | |
368+ idutils | [] [] |
369+ indent | [] [] [] [] |
370+ iso_15924 | |
371+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] |
372+ iso_3166_2 | |
373+ iso_4217 | [] [] [] |
374+ iso_639 | [] [] [] [] |
375+ jpilot | [] |
376+ jtag | |
377+ jwhois | |
378+ kbd | [] [] [] [] |
379+ keytouch | [] [] |
380+ keytouch-editor | [] |
381+ keytouch-keyboa... | [] |
382+ latrine | () |
383+ ld | [] |
384+ leafpad | [] [] [] [] [] |
385+ libc | [] [] [] [] |
386+ libexif | [] |
387+ libextractor | [] |
388+ libgpewidget | [] [] [] |
389+ libgpg-error | [] |
390+ libgphoto2 | [] [] |
391+ libgphoto2_port | [] [] |
392+ libgsasl | |
393+ libiconv | [] [] |
394+ libidn | [] [] [] |
395+ lifelines | [] () |
396+ lilypond | [] |
397+ lingoteach | |
398+ lprng | |
399+ lynx | [] [] [] [] |
400+ m4 | [] [] [] [] |
401+ mailfromd | |
402+ mailutils | [] |
403+ make | [] [] |
404+ man-db | [] [] [] |
405+ minicom | [] [] [] |
406+ nano | [] [] [] |
407+ opcodes | [] |
408+ parted | [] [] |
409+ pilot-qof | |
410+ popt | [] [] [] |
411+ psmisc | [] |
412+ pwdutils | |
413+ qof | |
414+ radius | [] |
415+ recode | [] [] [] [] [] [] |
416+ rpm | [] |
417+ screem | |
418+ scrollkeeper | [] [] [] [] [] [] [] [] |
419+ sed | [] [] [] |
420+ shared-mime-info | [] [] [] [] () [] [] [] |
421+ sharutils | [] [] [] [] [] [] |
422+ shishi | |
423+ skencil | [] () |
424+ solfege | |
425+ soundtracker | [] [] |
426+ sp | [] |
427+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
428+ tar | [] [] |
429+ texinfo | [] [] [] |
430+ tin | () () |
431+ tuxpaint | [] [] [] [] [] [] |
432+ unicode-han-tra... | |
433+ unicode-transla... | |
434+ util-linux | [] [] [] [] |
435+ util-linux-ng | [] [] [] [] |
436+ vorbis-tools | [] |
437+ wastesedge | () |
438+ wdiff | [] [] [] [] |
439+ wget | [] [] [] |
440+ xchat | [] [] [] [] [] [] [] |
441+ xkeyboard-config | [] |
442+ xpad | [] [] [] |
443+ +----------------------------------------------------+
444+ af am ar az be bg bs ca cs cy da de el en en_GB eo
445+ 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18
446+
447+ es et eu fa fi fr ga gl gu he hi hr hu id is it
448+ +--------------------------------------------------+
449+ Compendium | [] [] [] [] [] |
450+ a2ps | [] [] [] () |
451+ aegis | |
452+ ant-phone | [] |
453+ anubis | [] |
454+ ap-utils | [] [] |
455+ aspell | [] [] [] |
456+ bash | [] |
457+ bfd | [] [] |
458+ bibshelf | [] [] [] |
459+ binutils | [] [] [] |
460+ bison | [] [] [] [] [] [] |
461+ bison-runtime | [] [] [] [] [] |
462+ bluez-pin | [] [] [] [] [] |
463+ cflow | [] |
464+ clisp | [] [] |
465+ console-tools | |
466+ coreutils | [] [] [] [] [] [] |
467+ cpio | [] [] [] |
468+ cpplib | [] [] |
469+ cryptonit | [] |
470+ dialog | [] [] [] |
471+ diffutils | [] [] [] [] [] [] [] [] [] |
472+ doodle | [] [] |
473+ e2fsprogs | [] [] [] |
474+ enscript | [] [] [] |
475+ fetchmail | [] |
476+ findutils | [] [] [] |
477+ findutils_stable | [] [] [] [] |
478+ flex | [] [] [] |
479+ fslint | |
480+ gas | [] [] |
481+ gawk | [] [] [] [] () |
482+ gcal | [] [] |
483+ gcc | [] |
484+ gettext-examples | [] [] [] [] [] [] [] |
485+ gettext-runtime | [] [] [] [] [] [] |
486+ gettext-tools | [] [] [] [] |
487+ gip | [] [] [] [] |
488+ gliv | () |
489+ glunarclock | [] [] [] |
490+ gmult | [] [] [] |
491+ gnubiff | () () |
492+ gnucash | () () () |
493+ gnuedu | [] |
494+ gnulib | [] [] [] |
495+ gnunet | |
496+ gnunet-gtk | |
497+ gnutls | |
498+ gpe-aerial | [] [] |
499+ gpe-beam | [] [] |
500+ gpe-calendar | |
501+ gpe-clock | [] [] [] [] |
502+ gpe-conf | [] |
503+ gpe-contacts | [] [] |
504+ gpe-edit | [] [] [] [] |
505+ gpe-filemanager | [] |
506+ gpe-go | [] [] [] |
507+ gpe-login | [] [] [] |
508+ gpe-ownerinfo | [] [] [] [] [] |
509+ gpe-package | [] |
510+ gpe-sketchbook | [] [] |
511+ gpe-su | [] [] [] [] |
512+ gpe-taskmanager | [] [] [] |
513+ gpe-timesheet | [] [] [] [] |
514+ gpe-today | [] [] [] [] |
515+ gpe-todo | [] |
516+ gphoto2 | [] [] [] [] [] |
517+ gprof | [] [] [] [] [] |
518+ gpsdrive | [] |
519+ gramadoir | [] [] |
520+ grep | [] [] [] |
521+ gretl | [] [] [] () |
522+ gsasl | [] [] |
523+ gss | [] [] |
524+ gst-plugins-bad | [] [] [] [] |
525+ gst-plugins-base | [] [] [] [] |
526+ gst-plugins-good | [] [] [] [] [] |
527+ gst-plugins-ugly | [] [] [] [] |
528+ gstreamer | [] [] [] |
529+ gtick | [] [] [] |
530+ gtkam | [] [] [] [] |
531+ gtkorphan | [] [] |
532+ gtkspell | [] [] [] [] [] [] [] |
533+ gutenprint | [] |
534+ hello | [] [] [] [] [] [] [] [] [] [] [] [] [] |
535+ herrie | [] |
536+ hylafax | |
537+ idutils | [] [] [] [] [] |
538+ indent | [] [] [] [] [] [] [] [] [] [] |
539+ iso_15924 | [] |
540+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
541+ iso_3166_2 | [] |
542+ iso_4217 | [] [] [] [] [] [] |
543+ iso_639 | [] [] [] [] [] [] |
544+ jpilot | [] [] |
545+ jtag | [] |
546+ jwhois | [] [] [] [] [] |
547+ kbd | [] [] |
548+ keytouch | [] [] [] |
549+ keytouch-editor | [] |
550+ keytouch-keyboa... | [] [] |
551+ latrine | [] [] |
552+ ld | [] [] [] [] |
553+ leafpad | [] [] [] [] [] [] |
554+ libc | [] [] [] [] [] |
555+ libexif | [] |
556+ libextractor | [] |
557+ libgpewidget | [] [] [] [] [] |
558+ libgpg-error | [] |
559+ libgphoto2 | [] [] [] |
560+ libgphoto2_port | [] [] |
561+ libgsasl | [] [] |
562+ libiconv | [] [] [] |
563+ libidn | [] [] |
564+ lifelines | () |
565+ lilypond | [] [] [] |
566+ lingoteach | [] [] [] |
567+ lprng | |
568+ lynx | [] [] [] |
569+ m4 | [] [] [] [] |
570+ mailfromd | |
571+ mailutils | [] [] |
572+ make | [] [] [] [] [] [] [] [] |
573+ man-db | [] |
574+ minicom | [] [] [] [] |
575+ nano | [] [] [] [] [] [] [] |
576+ opcodes | [] [] [] [] |
577+ parted | [] [] [] |
578+ pilot-qof | |
579+ popt | [] [] [] [] |
580+ psmisc | [] [] |
581+ pwdutils | |
582+ qof | [] |
583+ radius | [] [] |
584+ recode | [] [] [] [] [] [] [] [] |
585+ rpm | [] [] |
586+ screem | |
587+ scrollkeeper | [] [] [] |
588+ sed | [] [] [] [] [] |
589+ shared-mime-info | [] [] [] [] [] [] |
590+ sharutils | [] [] [] [] [] [] [] [] |
591+ shishi | [] |
592+ skencil | [] [] |
593+ solfege | [] |
594+ soundtracker | [] [] [] |
595+ sp | [] |
596+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
597+ tar | [] [] [] [] [] |
598+ texinfo | [] [] [] |
599+ tin | [] () |
600+ tuxpaint | [] [] |
601+ unicode-han-tra... | |
602+ unicode-transla... | [] [] |
603+ util-linux | [] [] [] [] [] [] [] |
604+ util-linux-ng | [] [] [] [] [] [] [] |
605+ vorbis-tools | |
606+ wastesedge | () |
607+ wdiff | [] [] [] [] [] [] [] [] |
608+ wget | [] [] [] [] [] [] [] [] |
609+ xchat | [] [] [] [] [] [] [] |
610+ xkeyboard-config | [] [] [] [] |
611+ xpad | [] [] [] |
612+ +--------------------------------------------------+
613+ es et eu fa fi fr ga gl gu he hi hr hu id is it
614+ 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52
615+
616+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn
617+ +--------------------------------------------------+
618+ Compendium | [] |
619+ a2ps | () [] [] |
620+ aegis | () |
621+ ant-phone | [] |
622+ anubis | [] [] [] |
623+ ap-utils | [] |
624+ aspell | [] [] |
625+ bash | [] |
626+ bfd | |
627+ bibshelf | [] |
628+ binutils | |
629+ bison | [] [] [] |
630+ bison-runtime | [] [] [] |
631+ bluez-pin | [] [] [] |
632+ cflow | |
633+ clisp | [] |
634+ console-tools | |
635+ coreutils | [] |
636+ cpio | [] |
637+ cpplib | [] |
638+ cryptonit | [] |
639+ dialog | [] [] |
640+ diffutils | [] [] [] |
641+ doodle | |
642+ e2fsprogs | [] |
643+ enscript | [] |
644+ fetchmail | [] [] |
645+ findutils | [] |
646+ findutils_stable | [] |
647+ flex | [] [] |
648+ fslint | |
649+ gas | |
650+ gawk | [] [] |
651+ gcal | |
652+ gcc | |
653+ gettext-examples | [] [] [] |
654+ gettext-runtime | [] [] [] |
655+ gettext-tools | [] [] |
656+ gip | [] [] |
657+ gliv | [] |
658+ glunarclock | [] [] |
659+ gmult | [] [] [] |
660+ gnubiff | |
661+ gnucash | () () () |
662+ gnuedu | |
663+ gnulib | [] [] |
664+ gnunet | |
665+ gnunet-gtk | |
666+ gnutls | [] |
667+ gpe-aerial | [] |
668+ gpe-beam | [] |
669+ gpe-calendar | [] |
670+ gpe-clock | [] [] [] |
671+ gpe-conf | [] [] [] |
672+ gpe-contacts | [] |
673+ gpe-edit | [] [] [] |
674+ gpe-filemanager | [] [] |
675+ gpe-go | [] [] [] |
676+ gpe-login | [] [] [] |
677+ gpe-ownerinfo | [] [] |
678+ gpe-package | [] [] |
679+ gpe-sketchbook | [] [] |
680+ gpe-su | [] [] [] |
681+ gpe-taskmanager | [] [] [] [] |
682+ gpe-timesheet | [] |
683+ gpe-today | [] [] |
684+ gpe-todo | [] |
685+ gphoto2 | [] [] |
686+ gprof | [] |
687+ gpsdrive | [] |
688+ gramadoir | () |
689+ grep | [] [] |
690+ gretl | |
691+ gsasl | [] |
692+ gss | |
693+ gst-plugins-bad | [] |
694+ gst-plugins-base | [] |
695+ gst-plugins-good | [] |
696+ gst-plugins-ugly | [] |
697+ gstreamer | [] |
698+ gtick | [] |
699+ gtkam | [] [] |
700+ gtkorphan | [] |
701+ gtkspell | [] [] |
702+ gutenprint | [] |
703+ hello | [] [] [] [] [] [] [] |
704+ herrie | [] |
705+ hylafax | |
706+ idutils | [] |
707+ indent | [] [] |
708+ iso_15924 | [] |
709+ iso_3166 | [] [] [] [] [] [] [] [] |
710+ iso_3166_2 | [] |
711+ iso_4217 | [] [] [] |
712+ iso_639 | [] [] [] [] |
713+ jpilot | () () |
714+ jtag | |
715+ jwhois | [] |
716+ kbd | [] |
717+ keytouch | [] |
718+ keytouch-editor | [] |
719+ keytouch-keyboa... | |
720+ latrine | [] |
721+ ld | |
722+ leafpad | [] [] |
723+ libc | [] [] [] |
724+ libexif | |
725+ libextractor | |
726+ libgpewidget | [] |
727+ libgpg-error | |
728+ libgphoto2 | [] |
729+ libgphoto2_port | [] |
730+ libgsasl | [] |
731+ libiconv | [] |
732+ libidn | [] [] |
733+ lifelines | [] |
734+ lilypond | [] |
735+ lingoteach | [] |
736+ lprng | |
737+ lynx | [] [] |
738+ m4 | [] [] |
739+ mailfromd | |
740+ mailutils | |
741+ make | [] [] [] |
742+ man-db | |
743+ minicom | [] |
744+ nano | [] [] [] |
745+ opcodes | [] |
746+ parted | [] [] |
747+ pilot-qof | |
748+ popt | [] [] [] |
749+ psmisc | [] [] [] |
750+ pwdutils | |
751+ qof | |
752+ radius | |
753+ recode | [] |
754+ rpm | [] [] |
755+ screem | [] |
756+ scrollkeeper | [] [] [] [] |
757+ sed | [] [] |
758+ shared-mime-info | [] [] [] [] [] [] [] |
759+ sharutils | [] [] |
760+ shishi | |
761+ skencil | |
762+ solfege | () () |
763+ soundtracker | |
764+ sp | () |
765+ system-tools-ba... | [] [] [] [] |
766+ tar | [] [] [] |
767+ texinfo | [] [] |
768+ tin | |
769+ tuxpaint | () [] [] |
770+ unicode-han-tra... | |
771+ unicode-transla... | |
772+ util-linux | [] [] |
773+ util-linux-ng | [] [] |
774+ vorbis-tools | |
775+ wastesedge | [] |
776+ wdiff | [] [] |
777+ wget | [] [] |
778+ xchat | [] [] [] [] |
779+ xkeyboard-config | [] [] [] |
780+ xpad | [] [] [] |
781+ +--------------------------------------------------+
782+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn
783+ 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6
784+
785+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
786+ +--------------------------------------------------+
787+ Compendium | [] [] [] [] [] |
788+ a2ps | () [] [] [] [] [] [] |
789+ aegis | () () |
790+ ant-phone | [] [] |
791+ anubis | [] [] [] |
792+ ap-utils | () |
793+ aspell | [] [] [] |
794+ bash | [] [] |
795+ bfd | |
796+ bibshelf | [] |
797+ binutils | [] [] |
798+ bison | [] [] [] [] [] |
799+ bison-runtime | [] [] [] [] [] |
800+ bluez-pin | [] [] [] [] [] [] [] [] [] |
801+ cflow | [] |
802+ clisp | [] |
803+ console-tools | [] |
804+ coreutils | [] [] [] [] |
805+ cpio | [] [] [] |
806+ cpplib | [] |
807+ cryptonit | [] [] |
808+ dialog | [] |
809+ diffutils | [] [] [] [] [] [] |
810+ doodle | [] [] |
811+ e2fsprogs | [] [] |
812+ enscript | [] [] [] [] [] |
813+ fetchmail | [] [] [] |
814+ findutils | [] [] [] |
815+ findutils_stable | [] [] [] [] [] [] |
816+ flex | [] [] [] [] [] |
817+ fslint | [] |
818+ gas | |
819+ gawk | [] [] [] [] |
820+ gcal | [] |
821+ gcc | [] [] |
822+ gettext-examples | [] [] [] [] [] [] [] [] |
823+ gettext-runtime | [] [] [] [] [] [] [] [] |
824+ gettext-tools | [] [] [] [] [] [] [] |
825+ gip | [] [] [] [] |
826+ gliv | [] [] [] [] [] [] |
827+ glunarclock | [] [] [] [] [] [] |
828+ gmult | [] [] [] [] |
829+ gnubiff | () [] |
830+ gnucash | () [] |
831+ gnuedu | |
832+ gnulib | [] [] [] |
833+ gnunet | |
834+ gnunet-gtk | [] |
835+ gnutls | [] [] |
836+ gpe-aerial | [] [] [] [] [] [] [] |
837+ gpe-beam | [] [] [] [] [] [] [] |
838+ gpe-calendar | [] [] [] [] |
839+ gpe-clock | [] [] [] [] [] [] [] [] |
840+ gpe-conf | [] [] [] [] [] [] [] |
841+ gpe-contacts | [] [] [] [] [] |
842+ gpe-edit | [] [] [] [] [] [] [] [] [] |
843+ gpe-filemanager | [] [] |
844+ gpe-go | [] [] [] [] [] [] [] [] |
845+ gpe-login | [] [] [] [] [] [] [] [] |
846+ gpe-ownerinfo | [] [] [] [] [] [] [] [] |
847+ gpe-package | [] [] |
848+ gpe-sketchbook | [] [] [] [] [] [] [] [] |
849+ gpe-su | [] [] [] [] [] [] [] [] |
850+ gpe-taskmanager | [] [] [] [] [] [] [] [] |
851+ gpe-timesheet | [] [] [] [] [] [] [] [] |
852+ gpe-today | [] [] [] [] [] [] [] [] |
853+ gpe-todo | [] [] [] [] |
854+ gphoto2 | [] [] [] [] [] [] |
855+ gprof | [] [] [] |
856+ gpsdrive | [] [] |
857+ gramadoir | [] [] |
858+ grep | [] [] [] [] |
859+ gretl | [] [] [] |
860+ gsasl | [] [] [] |
861+ gss | [] [] [] [] |
862+ gst-plugins-bad | [] [] [] |
863+ gst-plugins-base | [] [] |
864+ gst-plugins-good | [] [] |
865+ gst-plugins-ugly | [] [] [] |
866+ gstreamer | [] [] [] [] |
867+ gtick | [] |
868+ gtkam | [] [] [] [] [] |
869+ gtkorphan | [] |
870+ gtkspell | [] [] [] [] [] [] [] [] |
871+ gutenprint | [] |
872+ hello | [] [] [] [] [] [] [] [] |
873+ herrie | [] [] [] |
874+ hylafax | |
875+ idutils | [] [] [] [] [] |
876+ indent | [] [] [] [] [] [] [] |
877+ iso_15924 | |
878+ iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] |
879+ iso_3166_2 | |
880+ iso_4217 | [] [] [] [] [] [] [] |
881+ iso_639 | [] [] [] [] [] [] [] |
882+ jpilot | |
883+ jtag | [] |
884+ jwhois | [] [] [] [] |
885+ kbd | [] [] [] |
886+ keytouch | [] |
887+ keytouch-editor | [] |
888+ keytouch-keyboa... | [] |
889+ latrine | |
890+ ld | [] |
891+ leafpad | [] [] [] [] [] [] |
892+ libc | [] [] [] [] |
893+ libexif | [] [] |
894+ libextractor | [] [] |
895+ libgpewidget | [] [] [] [] [] [] [] [] |
896+ libgpg-error | [] [] [] |
897+ libgphoto2 | [] |
898+ libgphoto2_port | [] [] [] |
899+ libgsasl | [] [] [] [] |
900+ libiconv | [] [] [] |
901+ libidn | [] [] () |
902+ lifelines | [] [] |
903+ lilypond | |
904+ lingoteach | [] |
905+ lprng | [] |
906+ lynx | [] [] [] |
907+ m4 | [] [] [] [] [] |
908+ mailfromd | [] |
909+ mailutils | [] [] [] |
910+ make | [] [] [] [] |
911+ man-db | [] [] [] [] |
912+ minicom | [] [] [] [] [] |
913+ nano | [] [] [] [] |
914+ opcodes | [] [] |
915+ parted | [] |
916+ pilot-qof | |
917+ popt | [] [] [] [] |
918+ psmisc | [] [] |
919+ pwdutils | [] [] |
920+ qof | [] [] |
921+ radius | [] [] |
922+ recode | [] [] [] [] [] [] [] |
923+ rpm | [] [] [] [] |
924+ screem | |
925+ scrollkeeper | [] [] [] [] [] [] [] |
926+ sed | [] [] [] [] [] [] [] [] [] |
927+ shared-mime-info | [] [] [] [] [] [] |
928+ sharutils | [] [] [] [] |
929+ shishi | [] |
930+ skencil | [] [] [] |
931+ solfege | [] |
932+ soundtracker | [] [] |
933+ sp | |
934+ system-tools-ba... | [] [] [] [] [] [] [] [] [] |
935+ tar | [] [] [] [] |
936+ texinfo | [] [] [] [] |
937+ tin | () |
938+ tuxpaint | [] [] [] [] [] [] |
939+ unicode-han-tra... | |
940+ unicode-transla... | |
941+ util-linux | [] [] [] [] |
942+ util-linux-ng | [] [] [] [] |
943+ vorbis-tools | [] |
944+ wastesedge | |
945+ wdiff | [] [] [] [] [] [] [] |
946+ wget | [] [] [] [] |
947+ xchat | [] [] [] [] [] [] [] |
948+ xkeyboard-config | [] [] [] |
949+ xpad | [] [] [] |
950+ +--------------------------------------------------+
951+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta
952+ 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3
953+
954+ tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
955+ +---------------------------------------------------+
956+ Compendium | [] [] [] [] | 19
957+ a2ps | [] [] [] | 19
958+ aegis | [] | 1
959+ ant-phone | [] [] | 6
960+ anubis | [] [] [] | 11
961+ ap-utils | () [] | 4
962+ aspell | [] [] [] | 16
963+ bash | [] | 6
964+ bfd | | 2
965+ bibshelf | [] | 7
966+ binutils | [] [] [] [] | 9
967+ bison | [] [] [] [] | 20
968+ bison-runtime | [] [] [] [] | 18
969+ bluez-pin | [] [] [] [] [] [] | 28
970+ cflow | [] [] | 5
971+ clisp | | 9
972+ console-tools | [] [] | 5
973+ coreutils | [] [] [] | 18
974+ cpio | [] [] [] [] | 11
975+ cpplib | [] [] [] [] [] | 12
976+ cryptonit | [] | 6
977+ dialog | [] [] [] | 9
978+ diffutils | [] [] [] [] [] | 29
979+ doodle | [] | 6
980+ e2fsprogs | [] [] | 10
981+ enscript | [] [] [] | 16
982+ fetchmail | [] [] | 12
983+ findutils | [] [] [] | 11
984+ findutils_stable | [] [] [] [] | 18
985+ flex | [] [] | 15
986+ fslint | [] | 2
987+ gas | [] | 3
988+ gawk | [] [] [] | 16
989+ gcal | [] | 5
990+ gcc | [] [] [] | 7
991+ gettext-examples | [] [] [] [] [] [] | 29
992+ gettext-runtime | [] [] [] [] [] [] | 28
993+ gettext-tools | [] [] [] [] [] | 20
994+ gip | [] [] | 13
995+ gliv | [] [] | 11
996+ glunarclock | [] [] [] | 15
997+ gmult | [] [] [] [] | 16
998+ gnubiff | [] | 2
999+ gnucash | () [] | 5
1000+ gnuedu | [] | 2
1001+ gnulib | [] | 10
1002+ gnunet | | 0
1003+ gnunet-gtk | [] [] | 3
1004+ gnutls | | 4
1005+ gpe-aerial | [] [] | 14
1006+ gpe-beam | [] [] | 14
1007+ gpe-calendar | [] [] | 7
1008+ gpe-clock | [] [] [] [] | 21
1009+ gpe-conf | [] [] [] | 16
1010+ gpe-contacts | [] [] | 10
1011+ gpe-edit | [] [] [] [] [] | 22
1012+ gpe-filemanager | [] [] | 7
1013+ gpe-go | [] [] [] [] | 19
1014+ gpe-login | [] [] [] [] [] | 21
1015+ gpe-ownerinfo | [] [] [] [] | 21
1016+ gpe-package | [] | 6
1017+ gpe-sketchbook | [] [] | 16
1018+ gpe-su | [] [] [] [] | 21
1019+ gpe-taskmanager | [] [] [] [] | 21
1020+ gpe-timesheet | [] [] [] [] | 18
1021+ gpe-today | [] [] [] [] [] | 21
1022+ gpe-todo | [] [] | 8
1023+ gphoto2 | [] [] [] [] | 21
1024+ gprof | [] [] | 13
1025+ gpsdrive | [] | 5
1026+ gramadoir | [] | 7
1027+ grep | [] | 12
1028+ gretl | | 6
1029+ gsasl | [] [] [] | 9
1030+ gss | [] | 7
1031+ gst-plugins-bad | [] [] [] | 13
1032+ gst-plugins-base | [] [] | 11
1033+ gst-plugins-good | [] [] [] [] [] | 16
1034+ gst-plugins-ugly | [] [] [] | 13
1035+ gstreamer | [] [] [] | 18
1036+ gtick | [] [] | 7
1037+ gtkam | [] | 16
1038+ gtkorphan | [] | 7
1039+ gtkspell | [] [] [] [] [] [] | 27
1040+ gutenprint | | 4
1041+ hello | [] [] [] [] [] | 38
1042+ herrie | [] [] | 8
1043+ hylafax | | 0
1044+ idutils | [] [] | 15
1045+ indent | [] [] [] [] [] | 28
1046+ iso_15924 | [] [] | 4
1047+ iso_3166 | [] [] [] [] [] [] [] [] [] | 54
1048+ iso_3166_2 | [] [] | 4
1049+ iso_4217 | [] [] [] [] [] | 24
1050+ iso_639 | [] [] [] [] [] | 26
1051+ jpilot | [] [] [] [] | 7
1052+ jtag | [] | 3
1053+ jwhois | [] [] [] | 13
1054+ kbd | [] [] [] | 13
1055+ keytouch | [] | 8
1056+ keytouch-editor | [] | 5
1057+ keytouch-keyboa... | [] | 5
1058+ latrine | [] [] | 5
1059+ ld | [] [] [] [] | 10
1060+ leafpad | [] [] [] [] [] | 24
1061+ libc | [] [] [] | 19
1062+ libexif | [] | 5
1063+ libextractor | [] | 5
1064+ libgpewidget | [] [] [] | 20
1065+ libgpg-error | [] | 6
1066+ libgphoto2 | [] [] | 9
1067+ libgphoto2_port | [] [] [] | 11
1068+ libgsasl | [] | 8
1069+ libiconv | [] [] | 11
1070+ libidn | [] [] | 11
1071+ lifelines | | 4
1072+ lilypond | [] | 6
1073+ lingoteach | [] | 6
1074+ lprng | [] | 2
1075+ lynx | [] [] [] | 15
1076+ m4 | [] [] [] | 18
1077+ mailfromd | [] [] | 3
1078+ mailutils | [] [] | 8
1079+ make | [] [] [] | 20
1080+ man-db | [] | 9
1081+ minicom | [] | 14
1082+ nano | [] [] [] | 20
1083+ opcodes | [] [] | 10
1084+ parted | [] [] [] | 11
1085+ pilot-qof | [] | 1
1086+ popt | [] [] [] [] | 18
1087+ psmisc | [] [] | 10
1088+ pwdutils | [] | 3
1089+ qof | [] | 4
1090+ radius | [] [] | 7
1091+ recode | [] [] [] | 25
1092+ rpm | [] [] [] [] | 13
1093+ screem | [] | 2
1094+ scrollkeeper | [] [] [] [] | 26
1095+ sed | [] [] [] [] | 23
1096+ shared-mime-info | [] [] [] | 29
1097+ sharutils | [] [] [] | 23
1098+ shishi | [] | 3
1099+ skencil | [] | 7
1100+ solfege | [] | 3
1101+ soundtracker | [] [] | 9
1102+ sp | [] | 3
1103+ system-tools-ba... | [] [] [] [] [] [] [] | 38
1104+ tar | [] [] [] | 17
1105+ texinfo | [] [] [] | 15
1106+ tin | | 1
1107+ tuxpaint | [] [] [] | 19
1108+ unicode-han-tra... | | 0
1109+ unicode-transla... | | 2
1110+ util-linux | [] [] [] | 20
1111+ util-linux-ng | [] [] [] | 20
1112+ vorbis-tools | [] [] | 4
1113+ wastesedge | | 1
1114+ wdiff | [] [] | 23
1115+ wget | [] [] [] | 20
1116+ xchat | [] [] [] [] | 29
1117+ xkeyboard-config | [] [] [] | 14
1118+ xpad | [] [] [] | 15
1119+ +---------------------------------------------------+
1120+ 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu
1121+ 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036
1122+
1123+ Some counters in the preceding matrix are higher than the number of
1124+visible blocks let us expect. This is because a few extra PO files are
1125+used for implementing regional variants of languages, or language
1126+dialects.
1127+
1128+ For a PO file in the matrix above to be effective, the package to
1129+which it applies should also have been internationalized and
1130+distributed as such by its maintainer. There might be an observable
1131+lag between the mere existence a PO file and its wide availability in a
1132+distribution.
1133+
1134+ If November 2007 seems to be old, you may fetch a more recent copy
1135+of this `ABOUT-NLS' file on most GNU archive sites. The most
1136+up-to-date matrix with full percentage details can be found at
1137+`http://translationproject.org/extra/matrix.html'.
1138+
1139+1.6 Using `gettext' in new packages
1140+===================================
1141+
1142+If you are writing a freely available program and want to
1143+internationalize it you are welcome to use GNU `gettext' in your
1144+package. Of course you have to respect the GNU Library General Public
1145+License which covers the use of the GNU `gettext' library. This means
1146+in particular that even non-free programs can use `libintl' as a shared
1147+library, whereas only free software can use `libintl' as a static
1148+library or use modified versions of `libintl'.
1149+
1150+ Once the sources are changed appropriately and the setup can handle
1151+the use of `gettext' the only thing missing are the translations. The
1152+Free Translation Project is also available for packages which are not
1153+developed inside the GNU project. Therefore the information given above
1154+applies also for every other Free Software Project. Contact
1155+`coordinator@translationproject.org' to make the `.pot' files available
1156+to the translation teams.
1157+
1158
1159=== renamed file 'ABOUT-NLS' => 'ABOUT-NLS.moved'
1160=== added file 'Makefile.am'
1161--- Makefile.am 1970-01-01 00:00:00 +0000
1162+++ Makefile.am 2011-01-31 11:12:59 +0000
1163@@ -0,0 +1,9 @@
1164+## Process this file with automake to produce Makefile.in
1165+
1166+SUBDIRS = desktop pixmaps po ubiquity src
1167+
1168+ACLOCAL_AMFLAGS = -I m4
1169+
1170+EXTRA_DIST = m4/ChangeLog
1171+
1172+DISTCLEANFILES = intltool-extract intltool-merge intltool-update
1173
1174=== renamed file 'Makefile.am' => 'Makefile.am.moved'
1175=== added file 'Makefile.in'
1176--- Makefile.in 1970-01-01 00:00:00 +0000
1177+++ Makefile.in 2011-01-31 11:12:59 +0000
1178@@ -0,0 +1,779 @@
1179+# Makefile.in generated by automake 1.11.1 from Makefile.am.
1180+# @configure_input@
1181+
1182+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
1183+# 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
1184+# Inc.
1185+# This Makefile.in is free software; the Free Software Foundation
1186+# gives unlimited permission to copy and/or distribute it,
1187+# with or without modifications, as long as this notice is preserved.
1188+
1189+# This program is distributed in the hope that it will be useful,
1190+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
1191+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1192+# PARTICULAR PURPOSE.
1193+
1194+@SET_MAKE@
1195+VPATH = @srcdir@
1196+pkgdatadir = $(datadir)/@PACKAGE@
1197+pkgincludedir = $(includedir)/@PACKAGE@
1198+pkglibdir = $(libdir)/@PACKAGE@
1199+pkglibexecdir = $(libexecdir)/@PACKAGE@
1200+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
1201+install_sh_DATA = $(install_sh) -c -m 644
1202+install_sh_PROGRAM = $(install_sh) -c
1203+install_sh_SCRIPT = $(install_sh) -c
1204+INSTALL_HEADER = $(INSTALL_DATA)
1205+transform = $(program_transform_name)
1206+NORMAL_INSTALL = :
1207+PRE_INSTALL = :
1208+POST_INSTALL = :
1209+NORMAL_UNINSTALL = :
1210+PRE_UNINSTALL = :
1211+POST_UNINSTALL = :
1212+build_triplet = @build@
1213+host_triplet = @host@
1214+subdir = .
1215+DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
1216+ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
1217+ $(top_srcdir)/configure ABOUT-NLS build/compile \
1218+ build/config.guess build/config.rpath build/config.sub \
1219+ build/depcomp build/install-sh build/ltmain.sh build/missing \
1220+ build/mkinstalldirs
1221+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
1222+am__aclocal_m4_deps = $(top_srcdir)/m4/am-check-python-headers.m4 \
1223+ $(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
1224+ $(top_srcdir)/m4/intlmacosx.m4 $(top_srcdir)/m4/intltool.m4 \
1225+ $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
1226+ $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
1227+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
1228+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
1229+ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
1230+ $(top_srcdir)/m4/progtest.m4 \
1231+ $(top_srcdir)/m4/ubiquity-python.m4 $(top_srcdir)/configure.ac
1232+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
1233+ $(ACLOCAL_M4)
1234+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
1235+ configure.lineno config.status.lineno
1236+mkinstalldirs = $(SHELL) $(top_srcdir)/build/mkinstalldirs
1237+CONFIG_HEADER = config.h
1238+CONFIG_CLEAN_FILES =
1239+CONFIG_CLEAN_VPATH_FILES =
1240+SOURCES =
1241+DIST_SOURCES =
1242+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
1243+ html-recursive info-recursive install-data-recursive \
1244+ install-dvi-recursive install-exec-recursive \
1245+ install-html-recursive install-info-recursive \
1246+ install-pdf-recursive install-ps-recursive install-recursive \
1247+ installcheck-recursive installdirs-recursive pdf-recursive \
1248+ ps-recursive uninstall-recursive
1249+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
1250+ distclean-recursive maintainer-clean-recursive
1251+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
1252+ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
1253+ distdir dist dist-all distcheck
1254+ETAGS = etags
1255+CTAGS = ctags
1256+DIST_SUBDIRS = $(SUBDIRS)
1257+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
1258+distdir = $(PACKAGE)-$(VERSION)
1259+top_distdir = $(distdir)
1260+am__remove_distdir = \
1261+ { test ! -d "$(distdir)" \
1262+ || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
1263+ && rm -fr "$(distdir)"; }; }
1264+am__relativize = \
1265+ dir0=`pwd`; \
1266+ sed_first='s,^\([^/]*\)/.*$$,\1,'; \
1267+ sed_rest='s,^[^/]*/*,,'; \
1268+ sed_last='s,^.*/\([^/]*\)$$,\1,'; \
1269+ sed_butlast='s,/*[^/]*$$,,'; \
1270+ while test -n "$$dir1"; do \
1271+ first=`echo "$$dir1" | sed -e "$$sed_first"`; \
1272+ if test "$$first" != "."; then \
1273+ if test "$$first" = ".."; then \
1274+ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
1275+ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
1276+ else \
1277+ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
1278+ if test "$$first2" = "$$first"; then \
1279+ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
1280+ else \
1281+ dir2="../$$dir2"; \
1282+ fi; \
1283+ dir0="$$dir0"/"$$first"; \
1284+ fi; \
1285+ fi; \
1286+ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
1287+ done; \
1288+ reldir="$$dir2"
1289+DIST_ARCHIVES = $(distdir).tar.gz
1290+GZIP_ENV = --best
1291+distuninstallcheck_listfiles = find . -type f -print
1292+distcleancheck_listfiles = find . -type f -print
1293+ACLOCAL = @ACLOCAL@
1294+ALL_LINGUAS = @ALL_LINGUAS@
1295+AMTAR = @AMTAR@
1296+AR = @AR@
1297+AUTOCONF = @AUTOCONF@
1298+AUTOHEADER = @AUTOHEADER@
1299+AUTOMAKE = @AUTOMAKE@
1300+AWK = @AWK@
1301+BASE_CFLAGS = @BASE_CFLAGS@
1302+BASE_LIBS = @BASE_LIBS@
1303+CC = @CC@
1304+CCDEPMODE = @CCDEPMODE@
1305+CFLAGS = @CFLAGS@
1306+CHEESE_CFLAGS = @CHEESE_CFLAGS@
1307+CHEESE_LIBS = @CHEESE_LIBS@
1308+CPP = @CPP@
1309+CPPFLAGS = @CPPFLAGS@
1310+CYGPATH_W = @CYGPATH_W@
1311+DATADIRNAME = @DATADIRNAME@
1312+DEFS = @DEFS@
1313+DEPDIR = @DEPDIR@
1314+DSYMUTIL = @DSYMUTIL@
1315+DUMPBIN = @DUMPBIN@
1316+ECHO_C = @ECHO_C@
1317+ECHO_N = @ECHO_N@
1318+ECHO_T = @ECHO_T@
1319+EGREP = @EGREP@
1320+EXEEXT = @EXEEXT@
1321+FGREP = @FGREP@
1322+GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
1323+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
1324+GMSGFMT = @GMSGFMT@
1325+GMSGFMT_015 = @GMSGFMT_015@
1326+GREP = @GREP@
1327+GTK_CFLAGS = @GTK_CFLAGS@
1328+GTK_LIBS = @GTK_LIBS@
1329+INSTALL = @INSTALL@
1330+INSTALL_DATA = @INSTALL_DATA@
1331+INSTALL_PROGRAM = @INSTALL_PROGRAM@
1332+INSTALL_SCRIPT = @INSTALL_SCRIPT@
1333+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
1334+INTLLIBS = @INTLLIBS@
1335+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
1336+INTLTOOL_MERGE = @INTLTOOL_MERGE@
1337+INTLTOOL_PERL = @INTLTOOL_PERL@
1338+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
1339+INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
1340+LD = @LD@
1341+LDFLAGS = @LDFLAGS@
1342+LIBICONV = @LIBICONV@
1343+LIBINTL = @LIBINTL@
1344+LIBOBJS = @LIBOBJS@
1345+LIBS = @LIBS@
1346+LIBTOOL = @LIBTOOL@
1347+LIPO = @LIPO@
1348+LN_S = @LN_S@
1349+LTLIBICONV = @LTLIBICONV@
1350+LTLIBINTL = @LTLIBINTL@
1351+LTLIBOBJS = @LTLIBOBJS@
1352+MAINT = @MAINT@
1353+MAKEINFO = @MAKEINFO@
1354+MKDIR_P = @MKDIR_P@
1355+MSGFMT = @MSGFMT@
1356+MSGFMT_015 = @MSGFMT_015@
1357+MSGMERGE = @MSGMERGE@
1358+NM = @NM@
1359+NMEDIT = @NMEDIT@
1360+OBJDUMP = @OBJDUMP@
1361+OBJEXT = @OBJEXT@
1362+OTOOL = @OTOOL@
1363+OTOOL64 = @OTOOL64@
1364+PACKAGE = @PACKAGE@
1365+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
1366+PACKAGE_NAME = @PACKAGE_NAME@
1367+PACKAGE_STRING = @PACKAGE_STRING@
1368+PACKAGE_TARNAME = @PACKAGE_TARNAME@
1369+PACKAGE_URL = @PACKAGE_URL@
1370+PACKAGE_VERSION = @PACKAGE_VERSION@
1371+PANEL_CFLAGS = @PANEL_CFLAGS@
1372+PANEL_LIBS = @PANEL_LIBS@
1373+PATH_SEPARATOR = @PATH_SEPARATOR@
1374+PKG_CONFIG = @PKG_CONFIG@
1375+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
1376+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
1377+POSUB = @POSUB@
1378+PYGOBJECT_CODEGEN = @PYGOBJECT_CODEGEN@
1379+PYGOBJECT_DEFSDIR = @PYGOBJECT_DEFSDIR@
1380+PYGOBJECT_H2DEF = @PYGOBJECT_H2DEF@
1381+PYGTK_DEFS_DIR = @PYGTK_DEFS_DIR@
1382+PYTHON = @PYTHON@
1383+PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
1384+PYTHON_INCLUDES = @PYTHON_INCLUDES@
1385+PYTHON_PLATFORM = @PYTHON_PLATFORM@
1386+PYTHON_PREFIX = @PYTHON_PREFIX@
1387+PYTHON_VERSION = @PYTHON_VERSION@
1388+RANLIB = @RANLIB@
1389+SED = @SED@
1390+SET_MAKE = @SET_MAKE@
1391+SHELL = @SHELL@
1392+STRIP = @STRIP@
1393+USE_NLS = @USE_NLS@
1394+VERSION = @VERSION@
1395+XGETTEXT = @XGETTEXT@
1396+XGETTEXT_015 = @XGETTEXT_015@
1397+XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
1398+abs_builddir = @abs_builddir@
1399+abs_srcdir = @abs_srcdir@
1400+abs_top_builddir = @abs_top_builddir@
1401+abs_top_srcdir = @abs_top_srcdir@
1402+ac_ct_CC = @ac_ct_CC@
1403+ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
1404+am__include = @am__include@
1405+am__leading_dot = @am__leading_dot@
1406+am__quote = @am__quote@
1407+am__tar = @am__tar@
1408+am__untar = @am__untar@
1409+bindir = @bindir@
1410+build = @build@
1411+build_alias = @build_alias@
1412+build_cpu = @build_cpu@
1413+build_os = @build_os@
1414+build_vendor = @build_vendor@
1415+builddir = @builddir@
1416+datadir = @datadir@
1417+datarootdir = @datarootdir@
1418+docdir = @docdir@
1419+dvidir = @dvidir@
1420+exec_prefix = @exec_prefix@
1421+host = @host@
1422+host_alias = @host_alias@
1423+host_cpu = @host_cpu@
1424+host_os = @host_os@
1425+host_vendor = @host_vendor@
1426+htmldir = @htmldir@
1427+includedir = @includedir@
1428+infodir = @infodir@
1429+install_sh = @install_sh@
1430+libdir = @libdir@
1431+libexecdir = @libexecdir@
1432+localedir = @localedir@
1433+localstatedir = @localstatedir@
1434+lt_ECHO = @lt_ECHO@
1435+mandir = @mandir@
1436+mkdir_p = @mkdir_p@
1437+oldincludedir = @oldincludedir@
1438+pdfdir = @pdfdir@
1439+pixmapsdir = @pixmapsdir@
1440+pkgpyexecdir = @pkgpyexecdir@
1441+pkgpythondir = @pkgpythondir@
1442+prefix = @prefix@
1443+program_transform_name = @program_transform_name@
1444+psdir = @psdir@
1445+pyexecdir = @pyexecdir@
1446+pythondir = @pythondir@
1447+sbindir = @sbindir@
1448+sharedstatedir = @sharedstatedir@
1449+srcdir = @srcdir@
1450+sysconfdir = @sysconfdir@
1451+target_alias = @target_alias@
1452+top_build_prefix = @top_build_prefix@
1453+top_builddir = @top_builddir@
1454+top_srcdir = @top_srcdir@
1455+SUBDIRS = desktop pixmaps po ubiquity src
1456+ACLOCAL_AMFLAGS = -I m4
1457+EXTRA_DIST = m4/ChangeLog
1458+DISTCLEANFILES = intltool-extract intltool-merge intltool-update
1459+all: config.h
1460+ $(MAKE) $(AM_MAKEFLAGS) all-recursive
1461+
1462+.SUFFIXES:
1463+am--refresh:
1464+ @:
1465+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
1466+ @for dep in $?; do \
1467+ case '$(am__configure_deps)' in \
1468+ *$$dep*) \
1469+ echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
1470+ $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
1471+ && exit 0; \
1472+ exit 1;; \
1473+ esac; \
1474+ done; \
1475+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
1476+ $(am__cd) $(top_srcdir) && \
1477+ $(AUTOMAKE) --foreign Makefile
1478+.PRECIOUS: Makefile
1479+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
1480+ @case '$?' in \
1481+ *config.status*) \
1482+ echo ' $(SHELL) ./config.status'; \
1483+ $(SHELL) ./config.status;; \
1484+ *) \
1485+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
1486+ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
1487+ esac;
1488+
1489+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
1490+ $(SHELL) ./config.status --recheck
1491+
1492+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
1493+ $(am__cd) $(srcdir) && $(AUTOCONF)
1494+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
1495+ $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
1496+$(am__aclocal_m4_deps):
1497+
1498+config.h: stamp-h1
1499+ @if test ! -f $@; then \
1500+ rm -f stamp-h1; \
1501+ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
1502+ else :; fi
1503+
1504+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
1505+ @rm -f stamp-h1
1506+ cd $(top_builddir) && $(SHELL) ./config.status config.h
1507+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
1508+ ($(am__cd) $(top_srcdir) && $(AUTOHEADER))
1509+ rm -f stamp-h1
1510+ touch $@
1511+
1512+distclean-hdr:
1513+ -rm -f config.h stamp-h1
1514+
1515+mostlyclean-libtool:
1516+ -rm -f *.lo
1517+
1518+clean-libtool:
1519+ -rm -rf .libs _libs
1520+
1521+distclean-libtool:
1522+ -rm -f libtool config.lt
1523+
1524+# This directory's subdirectories are mostly independent; you can cd
1525+# into them and run `make' without going through this Makefile.
1526+# To change the values of `make' variables: instead of editing Makefiles,
1527+# (1) if the variable is set in `config.status', edit `config.status'
1528+# (which will cause the Makefiles to be regenerated when you run `make');
1529+# (2) otherwise, pass the desired values on the `make' command line.
1530+$(RECURSIVE_TARGETS):
1531+ @fail= failcom='exit 1'; \
1532+ for f in x $$MAKEFLAGS; do \
1533+ case $$f in \
1534+ *=* | --[!k]*);; \
1535+ *k*) failcom='fail=yes';; \
1536+ esac; \
1537+ done; \
1538+ dot_seen=no; \
1539+ target=`echo $@ | sed s/-recursive//`; \
1540+ list='$(SUBDIRS)'; for subdir in $$list; do \
1541+ echo "Making $$target in $$subdir"; \
1542+ if test "$$subdir" = "."; then \
1543+ dot_seen=yes; \
1544+ local_target="$$target-am"; \
1545+ else \
1546+ local_target="$$target"; \
1547+ fi; \
1548+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
1549+ || eval $$failcom; \
1550+ done; \
1551+ if test "$$dot_seen" = "no"; then \
1552+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
1553+ fi; test -z "$$fail"
1554+
1555+$(RECURSIVE_CLEAN_TARGETS):
1556+ @fail= failcom='exit 1'; \
1557+ for f in x $$MAKEFLAGS; do \
1558+ case $$f in \
1559+ *=* | --[!k]*);; \
1560+ *k*) failcom='fail=yes';; \
1561+ esac; \
1562+ done; \
1563+ dot_seen=no; \
1564+ case "$@" in \
1565+ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
1566+ *) list='$(SUBDIRS)' ;; \
1567+ esac; \
1568+ rev=''; for subdir in $$list; do \
1569+ if test "$$subdir" = "."; then :; else \
1570+ rev="$$subdir $$rev"; \
1571+ fi; \
1572+ done; \
1573+ rev="$$rev ."; \
1574+ target=`echo $@ | sed s/-recursive//`; \
1575+ for subdir in $$rev; do \
1576+ echo "Making $$target in $$subdir"; \
1577+ if test "$$subdir" = "."; then \
1578+ local_target="$$target-am"; \
1579+ else \
1580+ local_target="$$target"; \
1581+ fi; \
1582+ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
1583+ || eval $$failcom; \
1584+ done && test -z "$$fail"
1585+tags-recursive:
1586+ list='$(SUBDIRS)'; for subdir in $$list; do \
1587+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
1588+ done
1589+ctags-recursive:
1590+ list='$(SUBDIRS)'; for subdir in $$list; do \
1591+ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
1592+ done
1593+
1594+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
1595+ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
1596+ unique=`for i in $$list; do \
1597+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1598+ done | \
1599+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
1600+ END { if (nonempty) { for (i in files) print i; }; }'`; \
1601+ mkid -fID $$unique
1602+tags: TAGS
1603+
1604+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
1605+ $(TAGS_FILES) $(LISP)
1606+ set x; \
1607+ here=`pwd`; \
1608+ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
1609+ include_option=--etags-include; \
1610+ empty_fix=.; \
1611+ else \
1612+ include_option=--include; \
1613+ empty_fix=; \
1614+ fi; \
1615+ list='$(SUBDIRS)'; for subdir in $$list; do \
1616+ if test "$$subdir" = .; then :; else \
1617+ test ! -f $$subdir/TAGS || \
1618+ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
1619+ fi; \
1620+ done; \
1621+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
1622+ unique=`for i in $$list; do \
1623+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1624+ done | \
1625+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
1626+ END { if (nonempty) { for (i in files) print i; }; }'`; \
1627+ shift; \
1628+ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
1629+ test -n "$$unique" || unique=$$empty_fix; \
1630+ if test $$# -gt 0; then \
1631+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
1632+ "$$@" $$unique; \
1633+ else \
1634+ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
1635+ $$unique; \
1636+ fi; \
1637+ fi
1638+ctags: CTAGS
1639+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
1640+ $(TAGS_FILES) $(LISP)
1641+ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
1642+ unique=`for i in $$list; do \
1643+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
1644+ done | \
1645+ $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
1646+ END { if (nonempty) { for (i in files) print i; }; }'`; \
1647+ test -z "$(CTAGS_ARGS)$$unique" \
1648+ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
1649+ $$unique
1650+
1651+GTAGS:
1652+ here=`$(am__cd) $(top_builddir) && pwd` \
1653+ && $(am__cd) $(top_srcdir) \
1654+ && gtags -i $(GTAGS_ARGS) "$$here"
1655+
1656+distclean-tags:
1657+ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
1658+
1659+distdir: $(DISTFILES)
1660+ $(am__remove_distdir)
1661+ test -d "$(distdir)" || mkdir "$(distdir)"
1662+ @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
1663+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
1664+ list='$(DISTFILES)'; \
1665+ dist_files=`for file in $$list; do echo $$file; done | \
1666+ sed -e "s|^$$srcdirstrip/||;t" \
1667+ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
1668+ case $$dist_files in \
1669+ */*) $(MKDIR_P) `echo "$$dist_files" | \
1670+ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
1671+ sort -u` ;; \
1672+ esac; \
1673+ for file in $$dist_files; do \
1674+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
1675+ if test -d $$d/$$file; then \
1676+ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
1677+ if test -d "$(distdir)/$$file"; then \
1678+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1679+ fi; \
1680+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
1681+ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
1682+ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
1683+ fi; \
1684+ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
1685+ else \
1686+ test -f "$(distdir)/$$file" \
1687+ || cp -p $$d/$$file "$(distdir)/$$file" \
1688+ || exit 1; \
1689+ fi; \
1690+ done
1691+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
1692+ if test "$$subdir" = .; then :; else \
1693+ test -d "$(distdir)/$$subdir" \
1694+ || $(MKDIR_P) "$(distdir)/$$subdir" \
1695+ || exit 1; \
1696+ fi; \
1697+ done
1698+ @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
1699+ if test "$$subdir" = .; then :; else \
1700+ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
1701+ $(am__relativize); \
1702+ new_distdir=$$reldir; \
1703+ dir1=$$subdir; dir2="$(top_distdir)"; \
1704+ $(am__relativize); \
1705+ new_top_distdir=$$reldir; \
1706+ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
1707+ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
1708+ ($(am__cd) $$subdir && \
1709+ $(MAKE) $(AM_MAKEFLAGS) \
1710+ top_distdir="$$new_top_distdir" \
1711+ distdir="$$new_distdir" \
1712+ am__remove_distdir=: \
1713+ am__skip_length_check=: \
1714+ am__skip_mode_fix=: \
1715+ distdir) \
1716+ || exit 1; \
1717+ fi; \
1718+ done
1719+ -test -n "$(am__skip_mode_fix)" \
1720+ || find "$(distdir)" -type d ! -perm -755 \
1721+ -exec chmod u+rwx,go+rx {} \; -o \
1722+ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
1723+ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
1724+ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
1725+ || chmod -R a+r "$(distdir)"
1726+dist-gzip: distdir
1727+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
1728+ $(am__remove_distdir)
1729+
1730+dist-bzip2: distdir
1731+ tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
1732+ $(am__remove_distdir)
1733+
1734+dist-lzma: distdir
1735+ tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
1736+ $(am__remove_distdir)
1737+
1738+dist-xz: distdir
1739+ tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
1740+ $(am__remove_distdir)
1741+
1742+dist-tarZ: distdir
1743+ tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
1744+ $(am__remove_distdir)
1745+
1746+dist-shar: distdir
1747+ shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
1748+ $(am__remove_distdir)
1749+
1750+dist-zip: distdir
1751+ -rm -f $(distdir).zip
1752+ zip -rq $(distdir).zip $(distdir)
1753+ $(am__remove_distdir)
1754+
1755+dist dist-all: distdir
1756+ tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
1757+ $(am__remove_distdir)
1758+
1759+# This target untars the dist file and tries a VPATH configuration. Then
1760+# it guarantees that the distribution is self-contained by making another
1761+# tarfile.
1762+distcheck: dist
1763+ case '$(DIST_ARCHIVES)' in \
1764+ *.tar.gz*) \
1765+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
1766+ *.tar.bz2*) \
1767+ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
1768+ *.tar.lzma*) \
1769+ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
1770+ *.tar.xz*) \
1771+ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
1772+ *.tar.Z*) \
1773+ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
1774+ *.shar.gz*) \
1775+ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
1776+ *.zip*) \
1777+ unzip $(distdir).zip ;;\
1778+ esac
1779+ chmod -R a-w $(distdir); chmod a+w $(distdir)
1780+ mkdir $(distdir)/_build
1781+ mkdir $(distdir)/_inst
1782+ chmod a-w $(distdir)
1783+ test -d $(distdir)/_build || exit 0; \
1784+ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
1785+ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
1786+ && am__cwd=`pwd` \
1787+ && $(am__cd) $(distdir)/_build \
1788+ && ../configure --srcdir=.. --prefix="$$dc_install_base" \
1789+ $(DISTCHECK_CONFIGURE_FLAGS) \
1790+ && $(MAKE) $(AM_MAKEFLAGS) \
1791+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
1792+ && $(MAKE) $(AM_MAKEFLAGS) check \
1793+ && $(MAKE) $(AM_MAKEFLAGS) install \
1794+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
1795+ && $(MAKE) $(AM_MAKEFLAGS) uninstall \
1796+ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
1797+ distuninstallcheck \
1798+ && chmod -R a-w "$$dc_install_base" \
1799+ && ({ \
1800+ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
1801+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
1802+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
1803+ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
1804+ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
1805+ } || { rm -rf "$$dc_destdir"; exit 1; }) \
1806+ && rm -rf "$$dc_destdir" \
1807+ && $(MAKE) $(AM_MAKEFLAGS) dist \
1808+ && rm -rf $(DIST_ARCHIVES) \
1809+ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
1810+ && cd "$$am__cwd" \
1811+ || exit 1
1812+ $(am__remove_distdir)
1813+ @(echo "$(distdir) archives ready for distribution: "; \
1814+ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
1815+ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
1816+distuninstallcheck:
1817+ @$(am__cd) '$(distuninstallcheck_dir)' \
1818+ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
1819+ || { echo "ERROR: files left after uninstall:" ; \
1820+ if test -n "$(DESTDIR)"; then \
1821+ echo " (check DESTDIR support)"; \
1822+ fi ; \
1823+ $(distuninstallcheck_listfiles) ; \
1824+ exit 1; } >&2
1825+distcleancheck: distclean
1826+ @if test '$(srcdir)' = . ; then \
1827+ echo "ERROR: distcleancheck can only run from a VPATH build" ; \
1828+ exit 1 ; \
1829+ fi
1830+ @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
1831+ || { echo "ERROR: files left in build directory after distclean:" ; \
1832+ $(distcleancheck_listfiles) ; \
1833+ exit 1; } >&2
1834+check-am: all-am
1835+check: check-recursive
1836+all-am: Makefile config.h
1837+installdirs: installdirs-recursive
1838+installdirs-am:
1839+install: install-recursive
1840+install-exec: install-exec-recursive
1841+install-data: install-data-recursive
1842+uninstall: uninstall-recursive
1843+
1844+install-am: all-am
1845+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
1846+
1847+installcheck: installcheck-recursive
1848+install-strip:
1849+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
1850+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
1851+ `test -z '$(STRIP)' || \
1852+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
1853+mostlyclean-generic:
1854+
1855+clean-generic:
1856+
1857+distclean-generic:
1858+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
1859+ -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
1860+ -test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)
1861+
1862+maintainer-clean-generic:
1863+ @echo "This command is intended for maintainers to use"
1864+ @echo "it deletes files that may require special tools to rebuild."
1865+clean: clean-recursive
1866+
1867+clean-am: clean-generic clean-libtool mostlyclean-am
1868+
1869+distclean: distclean-recursive
1870+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
1871+ -rm -f Makefile
1872+distclean-am: clean-am distclean-generic distclean-hdr \
1873+ distclean-libtool distclean-tags
1874+
1875+dvi: dvi-recursive
1876+
1877+dvi-am:
1878+
1879+html: html-recursive
1880+
1881+html-am:
1882+
1883+info: info-recursive
1884+
1885+info-am:
1886+
1887+install-data-am:
1888+
1889+install-dvi: install-dvi-recursive
1890+
1891+install-dvi-am:
1892+
1893+install-exec-am:
1894+
1895+install-html: install-html-recursive
1896+
1897+install-html-am:
1898+
1899+install-info: install-info-recursive
1900+
1901+install-info-am:
1902+
1903+install-man:
1904+
1905+install-pdf: install-pdf-recursive
1906+
1907+install-pdf-am:
1908+
1909+install-ps: install-ps-recursive
1910+
1911+install-ps-am:
1912+
1913+installcheck-am:
1914+
1915+maintainer-clean: maintainer-clean-recursive
1916+ -rm -f $(am__CONFIG_DISTCLEAN_FILES)
1917+ -rm -rf $(top_srcdir)/autom4te.cache
1918+ -rm -f Makefile
1919+maintainer-clean-am: distclean-am maintainer-clean-generic
1920+
1921+mostlyclean: mostlyclean-recursive
1922+
1923+mostlyclean-am: mostlyclean-generic mostlyclean-libtool
1924+
1925+pdf: pdf-recursive
1926+
1927+pdf-am:
1928+
1929+ps: ps-recursive
1930+
1931+ps-am:
1932+
1933+uninstall-am:
1934+
1935+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
1936+ ctags-recursive install-am install-strip tags-recursive
1937+
1938+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
1939+ all all-am am--refresh check check-am clean clean-generic \
1940+ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \
1941+ dist-gzip dist-lzma dist-shar dist-tarZ dist-xz dist-zip \
1942+ distcheck distclean distclean-generic distclean-hdr \
1943+ distclean-libtool distclean-tags distcleancheck distdir \
1944+ distuninstallcheck dvi dvi-am html html-am info info-am \
1945+ install install-am install-data install-data-am install-dvi \
1946+ install-dvi-am install-exec install-exec-am install-html \
1947+ install-html-am install-info install-info-am install-man \
1948+ install-pdf install-pdf-am install-ps install-ps-am \
1949+ install-strip installcheck installcheck-am installdirs \
1950+ installdirs-am maintainer-clean maintainer-clean-generic \
1951+ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \
1952+ ps ps-am tags tags-recursive uninstall uninstall-am
1953+
1954+
1955+# Tell versions [3.59,3.63) of GNU make to not export all variables.
1956+# Otherwise a system limit (for SysV at least) may be exceeded.
1957+.NOEXPORT:
1958
1959=== renamed file 'Makefile.in' => 'Makefile.in.moved'
1960=== added file 'aclocal.m4'
1961--- aclocal.m4 1970-01-01 00:00:00 +0000
1962+++ aclocal.m4 2011-01-31 11:12:59 +0000
1963@@ -0,0 +1,1597 @@
1964+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
1965+
1966+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
1967+# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
1968+# This file is free software; the Free Software Foundation
1969+# gives unlimited permission to copy and/or distribute it,
1970+# with or without modifications, as long as this notice is preserved.
1971+
1972+# This program is distributed in the hope that it will be useful,
1973+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
1974+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1975+# PARTICULAR PURPOSE.
1976+
1977+m4_ifndef([AC_AUTOCONF_VERSION],
1978+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
1979+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.67],,
1980+[m4_warning([this file was generated for autoconf 2.67.
1981+You have another version of autoconf. It may work, but is not guaranteed to.
1982+If you have problems, you may need to regenerate the build system entirely.
1983+To do so, use the procedure documented by the package, typically `autoreconf'.])])
1984+
1985+# Configure paths for GTK+
1986+# Owen Taylor 1997-2001
1987+
1988+dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
1989+dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES,
1990+dnl pass to pkg-config
1991+dnl
1992+AC_DEFUN([AM_PATH_GTK_2_0],
1993+[dnl
1994+dnl Get the cflags and libraries from pkg-config
1995+dnl
1996+AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
1997+ , enable_gtktest=yes)
1998+
1999+ pkg_config_args=gtk+-2.0
2000+ for module in . $4
2001+ do
2002+ case "$module" in
2003+ gthread)
2004+ pkg_config_args="$pkg_config_args gthread-2.0"
2005+ ;;
2006+ esac
2007+ done
2008+
2009+ no_gtk=""
2010+
2011+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
2012+
2013+ if test x$PKG_CONFIG != xno ; then
2014+ if pkg-config --atleast-pkgconfig-version 0.7 ; then
2015+ :
2016+ else
2017+ echo "*** pkg-config too old; version 0.7 or better required."
2018+ no_gtk=yes
2019+ PKG_CONFIG=no
2020+ fi
2021+ else
2022+ no_gtk=yes
2023+ fi
2024+
2025+ min_gtk_version=ifelse([$1], ,2.0.0,$1)
2026+ AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
2027+
2028+ if test x$PKG_CONFIG != xno ; then
2029+ ## don't try to run the test against uninstalled libtool libs
2030+ if $PKG_CONFIG --uninstalled $pkg_config_args; then
2031+ echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
2032+ enable_gtktest=no
2033+ fi
2034+
2035+ if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
2036+ :
2037+ else
2038+ no_gtk=yes
2039+ fi
2040+ fi
2041+
2042+ if test x"$no_gtk" = x ; then
2043+ GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
2044+ GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
2045+ gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
2046+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
2047+ gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
2048+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
2049+ gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
2050+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
2051+ if test "x$enable_gtktest" = "xyes" ; then
2052+ ac_save_CFLAGS="$CFLAGS"
2053+ ac_save_LIBS="$LIBS"
2054+ CFLAGS="$CFLAGS $GTK_CFLAGS"
2055+ LIBS="$GTK_LIBS $LIBS"
2056+dnl
2057+dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
2058+dnl checks the results of pkg-config to some extent)
2059+dnl
2060+ rm -f conf.gtktest
2061+ AC_TRY_RUN([
2062+#include <gtk/gtk.h>
2063+#include <stdio.h>
2064+#include <stdlib.h>
2065+
2066+int
2067+main ()
2068+{
2069+ int major, minor, micro;
2070+ char *tmp_version;
2071+
2072+ fclose (fopen ("conf.gtktest", "w"));
2073+
2074+ /* HP/UX 9 (%@#!) writes to sscanf strings */
2075+ tmp_version = g_strdup("$min_gtk_version");
2076+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
2077+ printf("%s, bad version string\n", "$min_gtk_version");
2078+ exit(1);
2079+ }
2080+
2081+ if ((gtk_major_version != $gtk_config_major_version) ||
2082+ (gtk_minor_version != $gtk_config_minor_version) ||
2083+ (gtk_micro_version != $gtk_config_micro_version))
2084+ {
2085+ printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
2086+ $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
2087+ gtk_major_version, gtk_minor_version, gtk_micro_version);
2088+ printf ("*** was found! If pkg-config was correct, then it is best\n");
2089+ printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
2090+ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
2091+ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
2092+ printf("*** required on your system.\n");
2093+ printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
2094+ printf("*** to point to the correct configuration files\n");
2095+ }
2096+ else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
2097+ (gtk_minor_version != GTK_MINOR_VERSION) ||
2098+ (gtk_micro_version != GTK_MICRO_VERSION))
2099+ {
2100+ printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
2101+ GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
2102+ printf("*** library (version %d.%d.%d)\n",
2103+ gtk_major_version, gtk_minor_version, gtk_micro_version);
2104+ }
2105+ else
2106+ {
2107+ if ((gtk_major_version > major) ||
2108+ ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
2109+ ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
2110+ {
2111+ return 0;
2112+ }
2113+ else
2114+ {
2115+ printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
2116+ gtk_major_version, gtk_minor_version, gtk_micro_version);
2117+ printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
2118+ major, minor, micro);
2119+ printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
2120+ printf("***\n");
2121+ printf("*** If you have already installed a sufficiently new version, this error\n");
2122+ printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
2123+ printf("*** being found. The easiest way to fix this is to remove the old version\n");
2124+ printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
2125+ printf("*** correct copy of pkg-config. (In this case, you will have to\n");
2126+ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
2127+ printf("*** so that the correct libraries are found at run-time))\n");
2128+ }
2129+ }
2130+ return 1;
2131+}
2132+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
2133+ CFLAGS="$ac_save_CFLAGS"
2134+ LIBS="$ac_save_LIBS"
2135+ fi
2136+ fi
2137+ if test "x$no_gtk" = x ; then
2138+ AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
2139+ ifelse([$2], , :, [$2])
2140+ else
2141+ AC_MSG_RESULT(no)
2142+ if test "$PKG_CONFIG" = "no" ; then
2143+ echo "*** A new enough version of pkg-config was not found."
2144+ echo "*** See http://pkgconfig.sourceforge.net"
2145+ else
2146+ if test -f conf.gtktest ; then
2147+ :
2148+ else
2149+ echo "*** Could not run GTK+ test program, checking why..."
2150+ ac_save_CFLAGS="$CFLAGS"
2151+ ac_save_LIBS="$LIBS"
2152+ CFLAGS="$CFLAGS $GTK_CFLAGS"
2153+ LIBS="$LIBS $GTK_LIBS"
2154+ AC_TRY_LINK([
2155+#include <gtk/gtk.h>
2156+#include <stdio.h>
2157+], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
2158+ [ echo "*** The test program compiled, but did not run. This usually means"
2159+ echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
2160+ echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
2161+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
2162+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
2163+ echo "*** is required on your system"
2164+ echo "***"
2165+ echo "*** If you have an old version installed, it is best to remove it, although"
2166+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
2167+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
2168+ echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
2169+ CFLAGS="$ac_save_CFLAGS"
2170+ LIBS="$ac_save_LIBS"
2171+ fi
2172+ fi
2173+ GTK_CFLAGS=""
2174+ GTK_LIBS=""
2175+ ifelse([$3], , :, [$3])
2176+ fi
2177+ AC_SUBST(GTK_CFLAGS)
2178+ AC_SUBST(GTK_LIBS)
2179+ rm -f conf.gtktest
2180+])
2181+
2182+# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
2183+# serial 1 (pkg-config-0.24)
2184+#
2185+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
2186+#
2187+# This program is free software; you can redistribute it and/or modify
2188+# it under the terms of the GNU General Public License as published by
2189+# the Free Software Foundation; either version 2 of the License, or
2190+# (at your option) any later version.
2191+#
2192+# This program is distributed in the hope that it will be useful, but
2193+# WITHOUT ANY WARRANTY; without even the implied warranty of
2194+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2195+# General Public License for more details.
2196+#
2197+# You should have received a copy of the GNU General Public License
2198+# along with this program; if not, write to the Free Software
2199+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
2200+#
2201+# As a special exception to the GNU General Public License, if you
2202+# distribute this file as part of a program that contains a
2203+# configuration script generated by Autoconf, you may include it under
2204+# the same distribution terms that you use for the rest of that program.
2205+
2206+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
2207+# ----------------------------------
2208+AC_DEFUN([PKG_PROG_PKG_CONFIG],
2209+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
2210+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
2211+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
2212+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
2213+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
2214+
2215+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
2216+ AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
2217+fi
2218+if test -n "$PKG_CONFIG"; then
2219+ _pkg_min_version=m4_default([$1], [0.9.0])
2220+ AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
2221+ if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
2222+ AC_MSG_RESULT([yes])
2223+ else
2224+ AC_MSG_RESULT([no])
2225+ PKG_CONFIG=""
2226+ fi
2227+fi[]dnl
2228+])# PKG_PROG_PKG_CONFIG
2229+
2230+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
2231+#
2232+# Check to see whether a particular set of modules exists. Similar
2233+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
2234+#
2235+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
2236+# only at the first occurence in configure.ac, so if the first place
2237+# it's called might be skipped (such as if it is within an "if", you
2238+# have to call PKG_CHECK_EXISTS manually
2239+# --------------------------------------------------------------
2240+AC_DEFUN([PKG_CHECK_EXISTS],
2241+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
2242+if test -n "$PKG_CONFIG" && \
2243+ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
2244+ m4_default([$2], [:])
2245+m4_ifvaln([$3], [else
2246+ $3])dnl
2247+fi])
2248+
2249+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
2250+# ---------------------------------------------
2251+m4_define([_PKG_CONFIG],
2252+[if test -n "$$1"; then
2253+ pkg_cv_[]$1="$$1"
2254+ elif test -n "$PKG_CONFIG"; then
2255+ PKG_CHECK_EXISTS([$3],
2256+ [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
2257+ [pkg_failed=yes])
2258+ else
2259+ pkg_failed=untried
2260+fi[]dnl
2261+])# _PKG_CONFIG
2262+
2263+# _PKG_SHORT_ERRORS_SUPPORTED
2264+# -----------------------------
2265+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
2266+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
2267+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
2268+ _pkg_short_errors_supported=yes
2269+else
2270+ _pkg_short_errors_supported=no
2271+fi[]dnl
2272+])# _PKG_SHORT_ERRORS_SUPPORTED
2273+
2274+
2275+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
2276+# [ACTION-IF-NOT-FOUND])
2277+#
2278+#
2279+# Note that if there is a possibility the first call to
2280+# PKG_CHECK_MODULES might not happen, you should be sure to include an
2281+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
2282+#
2283+#
2284+# --------------------------------------------------------------
2285+AC_DEFUN([PKG_CHECK_MODULES],
2286+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
2287+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
2288+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
2289+
2290+pkg_failed=no
2291+AC_MSG_CHECKING([for $1])
2292+
2293+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
2294+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
2295+
2296+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
2297+and $1[]_LIBS to avoid the need to call pkg-config.
2298+See the pkg-config man page for more details.])
2299+
2300+if test $pkg_failed = yes; then
2301+ AC_MSG_RESULT([no])
2302+ _PKG_SHORT_ERRORS_SUPPORTED
2303+ if test $_pkg_short_errors_supported = yes; then
2304+ $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
2305+ else
2306+ $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
2307+ fi
2308+ # Put the nasty error message in config.log where it belongs
2309+ echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
2310+
2311+ m4_default([$4], [AC_MSG_ERROR(
2312+[Package requirements ($2) were not met:
2313+
2314+$$1_PKG_ERRORS
2315+
2316+Consider adjusting the PKG_CONFIG_PATH environment variable if you
2317+installed software in a non-standard prefix.
2318+
2319+_PKG_TEXT])dnl
2320+ ])
2321+elif test $pkg_failed = untried; then
2322+ AC_MSG_RESULT([no])
2323+ m4_default([$4], [AC_MSG_FAILURE(
2324+[The pkg-config script could not be found or is too old. Make sure it
2325+is in your PATH or set the PKG_CONFIG environment variable to the full
2326+path to pkg-config.
2327+
2328+_PKG_TEXT
2329+
2330+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl
2331+ ])
2332+else
2333+ $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
2334+ $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
2335+ AC_MSG_RESULT([yes])
2336+ $3
2337+fi[]dnl
2338+])# PKG_CHECK_MODULES
2339+
2340+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
2341+#
2342+# This file is free software; the Free Software Foundation
2343+# gives unlimited permission to copy and/or distribute it,
2344+# with or without modifications, as long as this notice is preserved.
2345+
2346+# AM_AUTOMAKE_VERSION(VERSION)
2347+# ----------------------------
2348+# Automake X.Y traces this macro to ensure aclocal.m4 has been
2349+# generated from the m4 files accompanying Automake X.Y.
2350+# (This private macro should not be called outside this file.)
2351+AC_DEFUN([AM_AUTOMAKE_VERSION],
2352+[am__api_version='1.11'
2353+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
2354+dnl require some minimum version. Point them to the right macro.
2355+m4_if([$1], [1.11.1], [],
2356+ [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
2357+])
2358+
2359+# _AM_AUTOCONF_VERSION(VERSION)
2360+# -----------------------------
2361+# aclocal traces this macro to find the Autoconf version.
2362+# This is a private macro too. Using m4_define simplifies
2363+# the logic in aclocal, which can simply ignore this definition.
2364+m4_define([_AM_AUTOCONF_VERSION], [])
2365+
2366+# AM_SET_CURRENT_AUTOMAKE_VERSION
2367+# -------------------------------
2368+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
2369+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
2370+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
2371+[AM_AUTOMAKE_VERSION([1.11.1])dnl
2372+m4_ifndef([AC_AUTOCONF_VERSION],
2373+ [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
2374+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
2375+
2376+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
2377+
2378+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
2379+#
2380+# This file is free software; the Free Software Foundation
2381+# gives unlimited permission to copy and/or distribute it,
2382+# with or without modifications, as long as this notice is preserved.
2383+
2384+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
2385+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
2386+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
2387+#
2388+# Of course, Automake must honor this variable whenever it calls a
2389+# tool from the auxiliary directory. The problem is that $srcdir (and
2390+# therefore $ac_aux_dir as well) can be either absolute or relative,
2391+# depending on how configure is run. This is pretty annoying, since
2392+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
2393+# source directory, any form will work fine, but in subdirectories a
2394+# relative path needs to be adjusted first.
2395+#
2396+# $ac_aux_dir/missing
2397+# fails when called from a subdirectory if $ac_aux_dir is relative
2398+# $top_srcdir/$ac_aux_dir/missing
2399+# fails if $ac_aux_dir is absolute,
2400+# fails when called from a subdirectory in a VPATH build with
2401+# a relative $ac_aux_dir
2402+#
2403+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
2404+# are both prefixed by $srcdir. In an in-source build this is usually
2405+# harmless because $srcdir is `.', but things will broke when you
2406+# start a VPATH build or use an absolute $srcdir.
2407+#
2408+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
2409+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
2410+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
2411+# and then we would define $MISSING as
2412+# MISSING="\${SHELL} $am_aux_dir/missing"
2413+# This will work as long as MISSING is not called from configure, because
2414+# unfortunately $(top_srcdir) has no meaning in configure.
2415+# However there are other variables, like CC, which are often used in
2416+# configure, and could therefore not use this "fixed" $ac_aux_dir.
2417+#
2418+# Another solution, used here, is to always expand $ac_aux_dir to an
2419+# absolute PATH. The drawback is that using absolute paths prevent a
2420+# configured tree to be moved without reconfiguration.
2421+
2422+AC_DEFUN([AM_AUX_DIR_EXPAND],
2423+[dnl Rely on autoconf to set up CDPATH properly.
2424+AC_PREREQ([2.50])dnl
2425+# expand $ac_aux_dir to an absolute path
2426+am_aux_dir=`cd $ac_aux_dir && pwd`
2427+])
2428+
2429+# AM_CONDITIONAL -*- Autoconf -*-
2430+
2431+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
2432+# Free Software Foundation, Inc.
2433+#
2434+# This file is free software; the Free Software Foundation
2435+# gives unlimited permission to copy and/or distribute it,
2436+# with or without modifications, as long as this notice is preserved.
2437+
2438+# serial 9
2439+
2440+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
2441+# -------------------------------------
2442+# Define a conditional.
2443+AC_DEFUN([AM_CONDITIONAL],
2444+[AC_PREREQ(2.52)dnl
2445+ ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])],
2446+ [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
2447+AC_SUBST([$1_TRUE])dnl
2448+AC_SUBST([$1_FALSE])dnl
2449+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
2450+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
2451+m4_define([_AM_COND_VALUE_$1], [$2])dnl
2452+if $2; then
2453+ $1_TRUE=
2454+ $1_FALSE='#'
2455+else
2456+ $1_TRUE='#'
2457+ $1_FALSE=
2458+fi
2459+AC_CONFIG_COMMANDS_PRE(
2460+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
2461+ AC_MSG_ERROR([[conditional "$1" was never defined.
2462+Usually this means the macro was only invoked conditionally.]])
2463+fi])])
2464+
2465+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
2466+# Free Software Foundation, Inc.
2467+#
2468+# This file is free software; the Free Software Foundation
2469+# gives unlimited permission to copy and/or distribute it,
2470+# with or without modifications, as long as this notice is preserved.
2471+
2472+# serial 10
2473+
2474+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
2475+# written in clear, in which case automake, when reading aclocal.m4,
2476+# will think it sees a *use*, and therefore will trigger all it's
2477+# C support machinery. Also note that it means that autoscan, seeing
2478+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
2479+
2480+
2481+# _AM_DEPENDENCIES(NAME)
2482+# ----------------------
2483+# See how the compiler implements dependency checking.
2484+# NAME is "CC", "CXX", "GCJ", or "OBJC".
2485+# We try a few techniques and use that to set a single cache variable.
2486+#
2487+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
2488+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
2489+# dependency, and given that the user is not expected to run this macro,
2490+# just rely on AC_PROG_CC.
2491+AC_DEFUN([_AM_DEPENDENCIES],
2492+[AC_REQUIRE([AM_SET_DEPDIR])dnl
2493+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
2494+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
2495+AC_REQUIRE([AM_DEP_TRACK])dnl
2496+
2497+ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
2498+ [$1], CXX, [depcc="$CXX" am_compiler_list=],
2499+ [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
2500+ [$1], UPC, [depcc="$UPC" am_compiler_list=],
2501+ [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
2502+ [depcc="$$1" am_compiler_list=])
2503+
2504+AC_CACHE_CHECK([dependency style of $depcc],
2505+ [am_cv_$1_dependencies_compiler_type],
2506+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
2507+ # We make a subdir and do the tests there. Otherwise we can end up
2508+ # making bogus files that we don't know about and never remove. For
2509+ # instance it was reported that on HP-UX the gcc test will end up
2510+ # making a dummy file named `D' -- because `-MD' means `put the output
2511+ # in D'.
2512+ mkdir conftest.dir
2513+ # Copy depcomp to subdir because otherwise we won't find it if we're
2514+ # using a relative directory.
2515+ cp "$am_depcomp" conftest.dir
2516+ cd conftest.dir
2517+ # We will build objects and dependencies in a subdirectory because
2518+ # it helps to detect inapplicable dependency modes. For instance
2519+ # both Tru64's cc and ICC support -MD to output dependencies as a
2520+ # side effect of compilation, but ICC will put the dependencies in
2521+ # the current directory while Tru64 will put them in the object
2522+ # directory.
2523+ mkdir sub
2524+
2525+ am_cv_$1_dependencies_compiler_type=none
2526+ if test "$am_compiler_list" = ""; then
2527+ am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
2528+ fi
2529+ am__universal=false
2530+ m4_case([$1], [CC],
2531+ [case " $depcc " in #(
2532+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
2533+ esac],
2534+ [CXX],
2535+ [case " $depcc " in #(
2536+ *\ -arch\ *\ -arch\ *) am__universal=true ;;
2537+ esac])
2538+
2539+ for depmode in $am_compiler_list; do
2540+ # Setup a source with many dependencies, because some compilers
2541+ # like to wrap large dependency lists on column 80 (with \), and
2542+ # we should not choose a depcomp mode which is confused by this.
2543+ #
2544+ # We need to recreate these files for each test, as the compiler may
2545+ # overwrite some of them when testing with obscure command lines.
2546+ # This happens at least with the AIX C compiler.
2547+ : > sub/conftest.c
2548+ for i in 1 2 3 4 5 6; do
2549+ echo '#include "conftst'$i'.h"' >> sub/conftest.c
2550+ # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
2551+ # Solaris 8's {/usr,}/bin/sh.
2552+ touch sub/conftst$i.h
2553+ done
2554+ echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
2555+
2556+ # We check with `-c' and `-o' for the sake of the "dashmstdout"
2557+ # mode. It turns out that the SunPro C++ compiler does not properly
2558+ # handle `-M -o', and we need to detect this. Also, some Intel
2559+ # versions had trouble with output in subdirs
2560+ am__obj=sub/conftest.${OBJEXT-o}
2561+ am__minus_obj="-o $am__obj"
2562+ case $depmode in
2563+ gcc)
2564+ # This depmode causes a compiler race in universal mode.
2565+ test "$am__universal" = false || continue
2566+ ;;
2567+ nosideeffect)
2568+ # after this tag, mechanisms are not by side-effect, so they'll
2569+ # only be used when explicitly requested
2570+ if test "x$enable_dependency_tracking" = xyes; then
2571+ continue
2572+ else
2573+ break
2574+ fi
2575+ ;;
2576+ msvisualcpp | msvcmsys)
2577+ # This compiler won't grok `-c -o', but also, the minuso test has
2578+ # not run yet. These depmodes are late enough in the game, and
2579+ # so weak that their functioning should not be impacted.
2580+ am__obj=conftest.${OBJEXT-o}
2581+ am__minus_obj=
2582+ ;;
2583+ none) break ;;
2584+ esac
2585+ if depmode=$depmode \
2586+ source=sub/conftest.c object=$am__obj \
2587+ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
2588+ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
2589+ >/dev/null 2>conftest.err &&
2590+ grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
2591+ grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
2592+ grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
2593+ ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
2594+ # icc doesn't choke on unknown options, it will just issue warnings
2595+ # or remarks (even with -Werror). So we grep stderr for any message
2596+ # that says an option was ignored or not supported.
2597+ # When given -MP, icc 7.0 and 7.1 complain thusly:
2598+ # icc: Command line warning: ignoring option '-M'; no argument required
2599+ # The diagnosis changed in icc 8.0:
2600+ # icc: Command line remark: option '-MP' not supported
2601+ if (grep 'ignoring option' conftest.err ||
2602+ grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
2603+ am_cv_$1_dependencies_compiler_type=$depmode
2604+ break
2605+ fi
2606+ fi
2607+ done
2608+
2609+ cd ..
2610+ rm -rf conftest.dir
2611+else
2612+ am_cv_$1_dependencies_compiler_type=none
2613+fi
2614+])
2615+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
2616+AM_CONDITIONAL([am__fastdep$1], [
2617+ test "x$enable_dependency_tracking" != xno \
2618+ && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
2619+])
2620+
2621+
2622+# AM_SET_DEPDIR
2623+# -------------
2624+# Choose a directory name for dependency files.
2625+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
2626+AC_DEFUN([AM_SET_DEPDIR],
2627+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
2628+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
2629+])
2630+
2631+
2632+# AM_DEP_TRACK
2633+# ------------
2634+AC_DEFUN([AM_DEP_TRACK],
2635+[AC_ARG_ENABLE(dependency-tracking,
2636+[ --disable-dependency-tracking speeds up one-time build
2637+ --enable-dependency-tracking do not reject slow dependency extractors])
2638+if test "x$enable_dependency_tracking" != xno; then
2639+ am_depcomp="$ac_aux_dir/depcomp"
2640+ AMDEPBACKSLASH='\'
2641+fi
2642+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
2643+AC_SUBST([AMDEPBACKSLASH])dnl
2644+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
2645+])
2646+
2647+# Generate code to set up dependency tracking. -*- Autoconf -*-
2648+
2649+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
2650+# Free Software Foundation, Inc.
2651+#
2652+# This file is free software; the Free Software Foundation
2653+# gives unlimited permission to copy and/or distribute it,
2654+# with or without modifications, as long as this notice is preserved.
2655+
2656+#serial 5
2657+
2658+# _AM_OUTPUT_DEPENDENCY_COMMANDS
2659+# ------------------------------
2660+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
2661+[{
2662+ # Autoconf 2.62 quotes --file arguments for eval, but not when files
2663+ # are listed without --file. Let's play safe and only enable the eval
2664+ # if we detect the quoting.
2665+ case $CONFIG_FILES in
2666+ *\'*) eval set x "$CONFIG_FILES" ;;
2667+ *) set x $CONFIG_FILES ;;
2668+ esac
2669+ shift
2670+ for mf
2671+ do
2672+ # Strip MF so we end up with the name of the file.
2673+ mf=`echo "$mf" | sed -e 's/:.*$//'`
2674+ # Check whether this is an Automake generated Makefile or not.
2675+ # We used to match only the files named `Makefile.in', but
2676+ # some people rename them; so instead we look at the file content.
2677+ # Grep'ing the first line is not enough: some people post-process
2678+ # each Makefile.in and add a new line on top of each file to say so.
2679+ # Grep'ing the whole file is not good either: AIX grep has a line
2680+ # limit of 2048, but all sed's we know have understand at least 4000.
2681+ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
2682+ dirpart=`AS_DIRNAME("$mf")`
2683+ else
2684+ continue
2685+ fi
2686+ # Extract the definition of DEPDIR, am__include, and am__quote
2687+ # from the Makefile without running `make'.
2688+ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
2689+ test -z "$DEPDIR" && continue
2690+ am__include=`sed -n 's/^am__include = //p' < "$mf"`
2691+ test -z "am__include" && continue
2692+ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
2693+ # When using ansi2knr, U may be empty or an underscore; expand it
2694+ U=`sed -n 's/^U = //p' < "$mf"`
2695+ # Find all dependency output files, they are included files with
2696+ # $(DEPDIR) in their names. We invoke sed twice because it is the
2697+ # simplest approach to changing $(DEPDIR) to its actual value in the
2698+ # expansion.
2699+ for file in `sed -n "
2700+ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
2701+ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
2702+ # Make sure the directory exists.
2703+ test -f "$dirpart/$file" && continue
2704+ fdir=`AS_DIRNAME(["$file"])`
2705+ AS_MKDIR_P([$dirpart/$fdir])
2706+ # echo "creating $dirpart/$file"
2707+ echo '# dummy' > "$dirpart/$file"
2708+ done
2709+ done
2710+}
2711+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
2712+
2713+
2714+# AM_OUTPUT_DEPENDENCY_COMMANDS
2715+# -----------------------------
2716+# This macro should only be invoked once -- use via AC_REQUIRE.
2717+#
2718+# This code is only required when automatic dependency tracking
2719+# is enabled. FIXME. This creates each `.P' file that we will
2720+# need in order to bootstrap the dependency handling code.
2721+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
2722+[AC_CONFIG_COMMANDS([depfiles],
2723+ [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
2724+ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
2725+])
2726+
2727+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
2728+# Free Software Foundation, Inc.
2729+#
2730+# This file is free software; the Free Software Foundation
2731+# gives unlimited permission to copy and/or distribute it,
2732+# with or without modifications, as long as this notice is preserved.
2733+
2734+# serial 8
2735+
2736+# AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS.
2737+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
2738+
2739+# Do all the work for Automake. -*- Autoconf -*-
2740+
2741+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
2742+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
2743+#
2744+# This file is free software; the Free Software Foundation
2745+# gives unlimited permission to copy and/or distribute it,
2746+# with or without modifications, as long as this notice is preserved.
2747+
2748+# serial 16
2749+
2750+# This macro actually does too much. Some checks are only needed if
2751+# your package does certain things. But this isn't really a big deal.
2752+
2753+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
2754+# AM_INIT_AUTOMAKE([OPTIONS])
2755+# -----------------------------------------------
2756+# The call with PACKAGE and VERSION arguments is the old style
2757+# call (pre autoconf-2.50), which is being phased out. PACKAGE
2758+# and VERSION should now be passed to AC_INIT and removed from
2759+# the call to AM_INIT_AUTOMAKE.
2760+# We support both call styles for the transition. After
2761+# the next Automake release, Autoconf can make the AC_INIT
2762+# arguments mandatory, and then we can depend on a new Autoconf
2763+# release and drop the old call support.
2764+AC_DEFUN([AM_INIT_AUTOMAKE],
2765+[AC_PREREQ([2.62])dnl
2766+dnl Autoconf wants to disallow AM_ names. We explicitly allow
2767+dnl the ones we care about.
2768+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
2769+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
2770+AC_REQUIRE([AC_PROG_INSTALL])dnl
2771+if test "`cd $srcdir && pwd`" != "`pwd`"; then
2772+ # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
2773+ # is not polluted with repeated "-I."
2774+ AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
2775+ # test to see if srcdir already configured
2776+ if test -f $srcdir/config.status; then
2777+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
2778+ fi
2779+fi
2780+
2781+# test whether we have cygpath
2782+if test -z "$CYGPATH_W"; then
2783+ if (cygpath --version) >/dev/null 2>/dev/null; then
2784+ CYGPATH_W='cygpath -w'
2785+ else
2786+ CYGPATH_W=echo
2787+ fi
2788+fi
2789+AC_SUBST([CYGPATH_W])
2790+
2791+# Define the identity of the package.
2792+dnl Distinguish between old-style and new-style calls.
2793+m4_ifval([$2],
2794+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
2795+ AC_SUBST([PACKAGE], [$1])dnl
2796+ AC_SUBST([VERSION], [$2])],
2797+[_AM_SET_OPTIONS([$1])dnl
2798+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
2799+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
2800+ [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
2801+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
2802+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
2803+
2804+_AM_IF_OPTION([no-define],,
2805+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
2806+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
2807+
2808+# Some tools Automake needs.
2809+AC_REQUIRE([AM_SANITY_CHECK])dnl
2810+AC_REQUIRE([AC_ARG_PROGRAM])dnl
2811+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
2812+AM_MISSING_PROG(AUTOCONF, autoconf)
2813+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
2814+AM_MISSING_PROG(AUTOHEADER, autoheader)
2815+AM_MISSING_PROG(MAKEINFO, makeinfo)
2816+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
2817+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
2818+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
2819+# We need awk for the "check" target. The system "awk" is bad on
2820+# some platforms.
2821+AC_REQUIRE([AC_PROG_AWK])dnl
2822+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
2823+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
2824+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
2825+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
2826+ [_AM_PROG_TAR([v7])])])
2827+_AM_IF_OPTION([no-dependencies],,
2828+[AC_PROVIDE_IFELSE([AC_PROG_CC],
2829+ [_AM_DEPENDENCIES(CC)],
2830+ [define([AC_PROG_CC],
2831+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
2832+AC_PROVIDE_IFELSE([AC_PROG_CXX],
2833+ [_AM_DEPENDENCIES(CXX)],
2834+ [define([AC_PROG_CXX],
2835+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
2836+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
2837+ [_AM_DEPENDENCIES(OBJC)],
2838+ [define([AC_PROG_OBJC],
2839+ defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
2840+])
2841+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
2842+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
2843+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro
2844+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
2845+AC_CONFIG_COMMANDS_PRE(dnl
2846+[m4_provide_if([_AM_COMPILER_EXEEXT],
2847+ [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
2848+])
2849+
2850+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not
2851+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
2852+dnl mangled by Autoconf and run in a shell conditional statement.
2853+m4_define([_AC_COMPILER_EXEEXT],
2854+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
2855+
2856+
2857+# When config.status generates a header, we must update the stamp-h file.
2858+# This file resides in the same directory as the config header
2859+# that is generated. The stamp files are numbered to have different names.
2860+
2861+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
2862+# loop where config.status creates the headers, so we can generate
2863+# our stamp files there.
2864+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
2865+[# Compute $1's index in $config_headers.
2866+_am_arg=$1
2867+_am_stamp_count=1
2868+for _am_header in $config_headers :; do
2869+ case $_am_header in
2870+ $_am_arg | $_am_arg:* )
2871+ break ;;
2872+ * )
2873+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
2874+ esac
2875+done
2876+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
2877+
2878+# Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc.
2879+#
2880+# This file is free software; the Free Software Foundation
2881+# gives unlimited permission to copy and/or distribute it,
2882+# with or without modifications, as long as this notice is preserved.
2883+
2884+# AM_PROG_INSTALL_SH
2885+# ------------------
2886+# Define $install_sh.
2887+AC_DEFUN([AM_PROG_INSTALL_SH],
2888+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
2889+if test x"${install_sh}" != xset; then
2890+ case $am_aux_dir in
2891+ *\ * | *\ *)
2892+ install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
2893+ *)
2894+ install_sh="\${SHELL} $am_aux_dir/install-sh"
2895+ esac
2896+fi
2897+AC_SUBST(install_sh)])
2898+
2899+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
2900+#
2901+# This file is free software; the Free Software Foundation
2902+# gives unlimited permission to copy and/or distribute it,
2903+# with or without modifications, as long as this notice is preserved.
2904+
2905+# serial 2
2906+
2907+# Check whether the underlying file-system supports filenames
2908+# with a leading dot. For instance MS-DOS doesn't.
2909+AC_DEFUN([AM_SET_LEADING_DOT],
2910+[rm -rf .tst 2>/dev/null
2911+mkdir .tst 2>/dev/null
2912+if test -d .tst; then
2913+ am__leading_dot=.
2914+else
2915+ am__leading_dot=_
2916+fi
2917+rmdir .tst 2>/dev/null
2918+AC_SUBST([am__leading_dot])])
2919+
2920+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
2921+# From Jim Meyering
2922+
2923+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
2924+# Free Software Foundation, Inc.
2925+#
2926+# This file is free software; the Free Software Foundation
2927+# gives unlimited permission to copy and/or distribute it,
2928+# with or without modifications, as long as this notice is preserved.
2929+
2930+# serial 5
2931+
2932+# AM_MAINTAINER_MODE([DEFAULT-MODE])
2933+# ----------------------------------
2934+# Control maintainer-specific portions of Makefiles.
2935+# Default is to disable them, unless `enable' is passed literally.
2936+# For symmetry, `disable' may be passed as well. Anyway, the user
2937+# can override the default with the --enable/--disable switch.
2938+AC_DEFUN([AM_MAINTAINER_MODE],
2939+[m4_case(m4_default([$1], [disable]),
2940+ [enable], [m4_define([am_maintainer_other], [disable])],
2941+ [disable], [m4_define([am_maintainer_other], [enable])],
2942+ [m4_define([am_maintainer_other], [enable])
2943+ m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
2944+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
2945+ dnl maintainer-mode's default is 'disable' unless 'enable' is passed
2946+ AC_ARG_ENABLE([maintainer-mode],
2947+[ --][am_maintainer_other][-maintainer-mode am_maintainer_other make rules and dependencies not useful
2948+ (and sometimes confusing) to the casual installer],
2949+ [USE_MAINTAINER_MODE=$enableval],
2950+ [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
2951+ AC_MSG_RESULT([$USE_MAINTAINER_MODE])
2952+ AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
2953+ MAINT=$MAINTAINER_MODE_TRUE
2954+ AC_SUBST([MAINT])dnl
2955+]
2956+)
2957+
2958+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
2959+
2960+# Check to see how 'make' treats includes. -*- Autoconf -*-
2961+
2962+# Copyright (C) 2001, 2002, 2003, 2005, 2009 Free Software Foundation, Inc.
2963+#
2964+# This file is free software; the Free Software Foundation
2965+# gives unlimited permission to copy and/or distribute it,
2966+# with or without modifications, as long as this notice is preserved.
2967+
2968+# serial 4
2969+
2970+# AM_MAKE_INCLUDE()
2971+# -----------------
2972+# Check to see how make treats includes.
2973+AC_DEFUN([AM_MAKE_INCLUDE],
2974+[am_make=${MAKE-make}
2975+cat > confinc << 'END'
2976+am__doit:
2977+ @echo this is the am__doit target
2978+.PHONY: am__doit
2979+END
2980+# If we don't find an include directive, just comment out the code.
2981+AC_MSG_CHECKING([for style of include used by $am_make])
2982+am__include="#"
2983+am__quote=
2984+_am_result=none
2985+# First try GNU make style include.
2986+echo "include confinc" > confmf
2987+# Ignore all kinds of additional output from `make'.
2988+case `$am_make -s -f confmf 2> /dev/null` in #(
2989+*the\ am__doit\ target*)
2990+ am__include=include
2991+ am__quote=
2992+ _am_result=GNU
2993+ ;;
2994+esac
2995+# Now try BSD make style include.
2996+if test "$am__include" = "#"; then
2997+ echo '.include "confinc"' > confmf
2998+ case `$am_make -s -f confmf 2> /dev/null` in #(
2999+ *the\ am__doit\ target*)
3000+ am__include=.include
3001+ am__quote="\""
3002+ _am_result=BSD
3003+ ;;
3004+ esac
3005+fi
3006+AC_SUBST([am__include])
3007+AC_SUBST([am__quote])
3008+AC_MSG_RESULT([$_am_result])
3009+rm -f confinc confmf
3010+])
3011+
3012+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
3013+
3014+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
3015+# Free Software Foundation, Inc.
3016+#
3017+# This file is free software; the Free Software Foundation
3018+# gives unlimited permission to copy and/or distribute it,
3019+# with or without modifications, as long as this notice is preserved.
3020+
3021+# serial 6
3022+
3023+# AM_MISSING_PROG(NAME, PROGRAM)
3024+# ------------------------------
3025+AC_DEFUN([AM_MISSING_PROG],
3026+[AC_REQUIRE([AM_MISSING_HAS_RUN])
3027+$1=${$1-"${am_missing_run}$2"}
3028+AC_SUBST($1)])
3029+
3030+
3031+# AM_MISSING_HAS_RUN
3032+# ------------------
3033+# Define MISSING if not defined so far and test if it supports --run.
3034+# If it does, set am_missing_run to use it, otherwise, to nothing.
3035+AC_DEFUN([AM_MISSING_HAS_RUN],
3036+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
3037+AC_REQUIRE_AUX_FILE([missing])dnl
3038+if test x"${MISSING+set}" != xset; then
3039+ case $am_aux_dir in
3040+ *\ * | *\ *)
3041+ MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
3042+ *)
3043+ MISSING="\${SHELL} $am_aux_dir/missing" ;;
3044+ esac
3045+fi
3046+# Use eval to expand $SHELL
3047+if eval "$MISSING --run true"; then
3048+ am_missing_run="$MISSING --run "
3049+else
3050+ am_missing_run=
3051+ AC_MSG_WARN([`missing' script is too old or missing])
3052+fi
3053+])
3054+
3055+# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
3056+#
3057+# This file is free software; the Free Software Foundation
3058+# gives unlimited permission to copy and/or distribute it,
3059+# with or without modifications, as long as this notice is preserved.
3060+
3061+# AM_PROG_MKDIR_P
3062+# ---------------
3063+# Check for `mkdir -p'.
3064+AC_DEFUN([AM_PROG_MKDIR_P],
3065+[AC_PREREQ([2.60])dnl
3066+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
3067+dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P,
3068+dnl while keeping a definition of mkdir_p for backward compatibility.
3069+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
3070+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
3071+dnl Makefile.ins that do not define MKDIR_P, so we do our own
3072+dnl adjustment using top_builddir (which is defined more often than
3073+dnl MKDIR_P).
3074+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
3075+case $mkdir_p in
3076+ [[\\/$]]* | ?:[[\\/]]*) ;;
3077+ */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
3078+esac
3079+])
3080+
3081+# Helper functions for option handling. -*- Autoconf -*-
3082+
3083+# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc.
3084+#
3085+# This file is free software; the Free Software Foundation
3086+# gives unlimited permission to copy and/or distribute it,
3087+# with or without modifications, as long as this notice is preserved.
3088+
3089+# serial 4
3090+
3091+# _AM_MANGLE_OPTION(NAME)
3092+# -----------------------
3093+AC_DEFUN([_AM_MANGLE_OPTION],
3094+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
3095+
3096+# _AM_SET_OPTION(NAME)
3097+# ------------------------------
3098+# Set option NAME. Presently that only means defining a flag for this option.
3099+AC_DEFUN([_AM_SET_OPTION],
3100+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
3101+
3102+# _AM_SET_OPTIONS(OPTIONS)
3103+# ----------------------------------
3104+# OPTIONS is a space-separated list of Automake options.
3105+AC_DEFUN([_AM_SET_OPTIONS],
3106+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
3107+
3108+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
3109+# -------------------------------------------
3110+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
3111+AC_DEFUN([_AM_IF_OPTION],
3112+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
3113+
3114+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008, 2009
3115+# Free Software Foundation, Inc.
3116+#
3117+# This file is free software; the Free Software Foundation
3118+# gives unlimited permission to copy and/or distribute it,
3119+# with or without modifications, as long as this notice is preserved.
3120+
3121+# AM_PATH_PYTHON([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
3122+# ---------------------------------------------------------------------------
3123+# Adds support for distributing Python modules and packages. To
3124+# install modules, copy them to $(pythondir), using the python_PYTHON
3125+# automake variable. To install a package with the same name as the
3126+# automake package, install to $(pkgpythondir), or use the
3127+# pkgpython_PYTHON automake variable.
3128+#
3129+# The variables $(pyexecdir) and $(pkgpyexecdir) are provided as
3130+# locations to install python extension modules (shared libraries).
3131+# Another macro is required to find the appropriate flags to compile
3132+# extension modules.
3133+#
3134+# If your package is configured with a different prefix to python,
3135+# users will have to add the install directory to the PYTHONPATH
3136+# environment variable, or create a .pth file (see the python
3137+# documentation for details).
3138+#
3139+# If the MINIMUM-VERSION argument is passed, AM_PATH_PYTHON will
3140+# cause an error if the version of python installed on the system
3141+# doesn't meet the requirement. MINIMUM-VERSION should consist of
3142+# numbers and dots only.
3143+AC_DEFUN([AM_PATH_PYTHON],
3144+ [
3145+ dnl Find a Python interpreter. Python versions prior to 2.0 are not
3146+ dnl supported. (2.0 was released on October 16, 2000).
3147+ m4_define_default([_AM_PYTHON_INTERPRETER_LIST],
3148+ [python python2 python3 python3.0 python2.5 python2.4 python2.3 python2.2 dnl
3149+python2.1 python2.0])
3150+
3151+ m4_if([$1],[],[
3152+ dnl No version check is needed.
3153+ # Find any Python interpreter.
3154+ if test -z "$PYTHON"; then
3155+ AC_PATH_PROGS([PYTHON], _AM_PYTHON_INTERPRETER_LIST, :)
3156+ fi
3157+ am_display_PYTHON=python
3158+ ], [
3159+ dnl A version check is needed.
3160+ if test -n "$PYTHON"; then
3161+ # If the user set $PYTHON, use it and don't search something else.
3162+ AC_MSG_CHECKING([whether $PYTHON version >= $1])
3163+ AM_PYTHON_CHECK_VERSION([$PYTHON], [$1],
3164+ [AC_MSG_RESULT(yes)],
3165+ [AC_MSG_ERROR(too old)])
3166+ am_display_PYTHON=$PYTHON
3167+ else
3168+ # Otherwise, try each interpreter until we find one that satisfies
3169+ # VERSION.
3170+ AC_CACHE_CHECK([for a Python interpreter with version >= $1],
3171+ [am_cv_pathless_PYTHON],[
3172+ for am_cv_pathless_PYTHON in _AM_PYTHON_INTERPRETER_LIST none; do
3173+ test "$am_cv_pathless_PYTHON" = none && break
3174+ AM_PYTHON_CHECK_VERSION([$am_cv_pathless_PYTHON], [$1], [break])
3175+ done])
3176+ # Set $PYTHON to the absolute path of $am_cv_pathless_PYTHON.
3177+ if test "$am_cv_pathless_PYTHON" = none; then
3178+ PYTHON=:
3179+ else
3180+ AC_PATH_PROG([PYTHON], [$am_cv_pathless_PYTHON])
3181+ fi
3182+ am_display_PYTHON=$am_cv_pathless_PYTHON
3183+ fi
3184+ ])
3185+
3186+ if test "$PYTHON" = :; then
3187+ dnl Run any user-specified action, or abort.
3188+ m4_default([$3], [AC_MSG_ERROR([no suitable Python interpreter found])])
3189+ else
3190+
3191+ dnl Query Python for its version number. Getting [:3] seems to be
3192+ dnl the best way to do this; it's what "site.py" does in the standard
3193+ dnl library.
3194+
3195+ AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version],
3196+ [am_cv_python_version=`$PYTHON -c "import sys; sys.stdout.write(sys.version[[:3]])"`])
3197+ AC_SUBST([PYTHON_VERSION], [$am_cv_python_version])
3198+
3199+ dnl Use the values of $prefix and $exec_prefix for the corresponding
3200+ dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made
3201+ dnl distinct variables so they can be overridden if need be. However,
3202+ dnl general consensus is that you shouldn't need this ability.
3203+
3204+ AC_SUBST([PYTHON_PREFIX], ['${prefix}'])
3205+ AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}'])
3206+
3207+ dnl At times (like when building shared libraries) you may want
3208+ dnl to know which OS platform Python thinks this is.
3209+
3210+ AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform],
3211+ [am_cv_python_platform=`$PYTHON -c "import sys; sys.stdout.write(sys.platform)"`])
3212+ AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform])
3213+
3214+
3215+ dnl Set up 4 directories:
3216+
3217+ dnl pythondir -- where to install python scripts. This is the
3218+ dnl site-packages directory, not the python standard library
3219+ dnl directory like in previous automake betas. This behavior
3220+ dnl is more consistent with lispdir.m4 for example.
3221+ dnl Query distutils for this directory. distutils does not exist in
3222+ dnl Python 1.5, so we fall back to the hardcoded directory if it
3223+ dnl doesn't work.
3224+ AC_CACHE_CHECK([for $am_display_PYTHON script directory],
3225+ [am_cv_python_pythondir],
3226+ [if test "x$prefix" = xNONE
3227+ then
3228+ am_py_prefix=$ac_default_prefix
3229+ else
3230+ am_py_prefix=$prefix
3231+ fi
3232+ am_cv_python_pythondir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(0,0,prefix='$am_py_prefix'))" 2>/dev/null ||
3233+ echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
3234+ case $am_cv_python_pythondir in
3235+ $am_py_prefix*)
3236+ am__strip_prefix=`echo "$am_py_prefix" | sed 's|.|.|g'`
3237+ am_cv_python_pythondir=`echo "$am_cv_python_pythondir" | sed "s,^$am__strip_prefix,$PYTHON_PREFIX,"`
3238+ ;;
3239+ *)
3240+ case $am_py_prefix in
3241+ /usr|/System*) ;;
3242+ *)
3243+ am_cv_python_pythondir=$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages
3244+ ;;
3245+ esac
3246+ ;;
3247+ esac
3248+ ])
3249+ AC_SUBST([pythondir], [$am_cv_python_pythondir])
3250+
3251+ dnl pkgpythondir -- $PACKAGE directory under pythondir. Was
3252+ dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is
3253+ dnl more consistent with the rest of automake.
3254+
3255+ AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE])
3256+
3257+ dnl pyexecdir -- directory for installing python extension modules
3258+ dnl (shared libraries)
3259+ dnl Query distutils for this directory. distutils does not exist in
3260+ dnl Python 1.5, so we fall back to the hardcoded directory if it
3261+ dnl doesn't work.
3262+ AC_CACHE_CHECK([for $am_display_PYTHON extension module directory],
3263+ [am_cv_python_pyexecdir],
3264+ [if test "x$exec_prefix" = xNONE
3265+ then
3266+ am_py_exec_prefix=$am_py_prefix
3267+ else
3268+ am_py_exec_prefix=$exec_prefix
3269+ fi
3270+ am_cv_python_pyexecdir=`$PYTHON -c "import sys; from distutils import sysconfig; sys.stdout.write(sysconfig.get_python_lib(1,0,prefix='$am_py_exec_prefix'))" 2>/dev/null ||
3271+ echo "$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages"`
3272+ case $am_cv_python_pyexecdir in
3273+ $am_py_exec_prefix*)
3274+ am__strip_prefix=`echo "$am_py_exec_prefix" | sed 's|.|.|g'`
3275+ am_cv_python_pyexecdir=`echo "$am_cv_python_pyexecdir" | sed "s,^$am__strip_prefix,$PYTHON_EXEC_PREFIX,"`
3276+ ;;
3277+ *)
3278+ case $am_py_exec_prefix in
3279+ /usr|/System*) ;;
3280+ *)
3281+ am_cv_python_pyexecdir=$PYTHON_EXEC_PREFIX/lib/python$PYTHON_VERSION/site-packages
3282+ ;;
3283+ esac
3284+ ;;
3285+ esac
3286+ ])
3287+ AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir])
3288+
3289+ dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE)
3290+
3291+ AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE])
3292+
3293+ dnl Run any user-specified action.
3294+ $2
3295+ fi
3296+
3297+])
3298+
3299+
3300+# AM_PYTHON_CHECK_VERSION(PROG, VERSION, [ACTION-IF-TRUE], [ACTION-IF-FALSE])
3301+# ---------------------------------------------------------------------------
3302+# Run ACTION-IF-TRUE if the Python interpreter PROG has version >= VERSION.
3303+# Run ACTION-IF-FALSE otherwise.
3304+# This test uses sys.hexversion instead of the string equivalent (first
3305+# word of sys.version), in order to cope with versions such as 2.2c1.
3306+# This supports Python 2.0 or higher. (2.0 was released on October 16, 2000).
3307+AC_DEFUN([AM_PYTHON_CHECK_VERSION],
3308+ [prog="import sys
3309+# split strings by '.' and convert to numeric. Append some zeros
3310+# because we need at least 4 digits for the hex conversion.
3311+# map returns an iterator in Python 3.0 and a list in 2.x
3312+minver = list(map(int, '$2'.split('.'))) + [[0, 0, 0]]
3313+minverhex = 0
3314+# xrange is not present in Python 3.0 and range returns an iterator
3315+for i in list(range(0, 4)): minverhex = (minverhex << 8) + minver[[i]]
3316+sys.exit(sys.hexversion < minverhex)"
3317+ AS_IF([AM_RUN_LOG([$1 -c "$prog"])], [$3], [$4])])
3318+
3319+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
3320+#
3321+# This file is free software; the Free Software Foundation
3322+# gives unlimited permission to copy and/or distribute it,
3323+# with or without modifications, as long as this notice is preserved.
3324+
3325+# AM_RUN_LOG(COMMAND)
3326+# -------------------
3327+# Run COMMAND, save the exit status in ac_status, and log it.
3328+# (This has been adapted from Autoconf's _AC_RUN_LOG macro.)
3329+AC_DEFUN([AM_RUN_LOG],
3330+[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD
3331+ ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD
3332+ ac_status=$?
3333+ echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
3334+ (exit $ac_status); }])
3335+
3336+# Check to make sure that the build environment is sane. -*- Autoconf -*-
3337+
3338+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
3339+# Free Software Foundation, Inc.
3340+#
3341+# This file is free software; the Free Software Foundation
3342+# gives unlimited permission to copy and/or distribute it,
3343+# with or without modifications, as long as this notice is preserved.
3344+
3345+# serial 5
3346+
3347+# AM_SANITY_CHECK
3348+# ---------------
3349+AC_DEFUN([AM_SANITY_CHECK],
3350+[AC_MSG_CHECKING([whether build environment is sane])
3351+# Just in case
3352+sleep 1
3353+echo timestamp > conftest.file
3354+# Reject unsafe characters in $srcdir or the absolute working directory
3355+# name. Accept space and tab only in the latter.
3356+am_lf='
3357+'
3358+case `pwd` in
3359+ *[[\\\"\#\$\&\'\`$am_lf]]*)
3360+ AC_MSG_ERROR([unsafe absolute working directory name]);;
3361+esac
3362+case $srcdir in
3363+ *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*)
3364+ AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
3365+esac
3366+
3367+# Do `set' in a subshell so we don't clobber the current shell's
3368+# arguments. Must try -L first in case configure is actually a
3369+# symlink; some systems play weird games with the mod time of symlinks
3370+# (eg FreeBSD returns the mod time of the symlink's containing
3371+# directory).
3372+if (
3373+ set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
3374+ if test "$[*]" = "X"; then
3375+ # -L didn't work.
3376+ set X `ls -t "$srcdir/configure" conftest.file`
3377+ fi
3378+ rm -f conftest.file
3379+ if test "$[*]" != "X $srcdir/configure conftest.file" \
3380+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
3381+
3382+ # If neither matched, then we have a broken ls. This can happen
3383+ # if, for instance, CONFIG_SHELL is bash and it inherits a
3384+ # broken ls alias from the environment. This has actually
3385+ # happened. Such a system could not be considered "sane".
3386+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
3387+alias in your environment])
3388+ fi
3389+
3390+ test "$[2]" = conftest.file
3391+ )
3392+then
3393+ # Ok.
3394+ :
3395+else
3396+ AC_MSG_ERROR([newly created file is older than distributed files!
3397+Check your system clock])
3398+fi
3399+AC_MSG_RESULT(yes)])
3400+
3401+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
3402+#
3403+# This file is free software; the Free Software Foundation
3404+# gives unlimited permission to copy and/or distribute it,
3405+# with or without modifications, as long as this notice is preserved.
3406+
3407+# AM_PROG_INSTALL_STRIP
3408+# ---------------------
3409+# One issue with vendor `install' (even GNU) is that you can't
3410+# specify the program used to strip binaries. This is especially
3411+# annoying in cross-compiling environments, where the build's strip
3412+# is unlikely to handle the host's binaries.
3413+# Fortunately install-sh will honor a STRIPPROG variable, so we
3414+# always use install-sh in `make install-strip', and initialize
3415+# STRIPPROG with the value of the STRIP variable (set by the user).
3416+AC_DEFUN([AM_PROG_INSTALL_STRIP],
3417+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
3418+# Installed binaries are usually stripped using `strip' when the user
3419+# run `make install-strip'. However `strip' might not be the right
3420+# tool to use in cross-compilation environments, therefore Automake
3421+# will honor the `STRIP' environment variable to overrule this program.
3422+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
3423+if test "$cross_compiling" != no; then
3424+ AC_CHECK_TOOL([STRIP], [strip], :)
3425+fi
3426+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
3427+AC_SUBST([INSTALL_STRIP_PROGRAM])])
3428+
3429+# Copyright (C) 2006, 2008 Free Software Foundation, Inc.
3430+#
3431+# This file is free software; the Free Software Foundation
3432+# gives unlimited permission to copy and/or distribute it,
3433+# with or without modifications, as long as this notice is preserved.
3434+
3435+# serial 2
3436+
3437+# _AM_SUBST_NOTMAKE(VARIABLE)
3438+# ---------------------------
3439+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
3440+# This macro is traced by Automake.
3441+AC_DEFUN([_AM_SUBST_NOTMAKE])
3442+
3443+# AM_SUBST_NOTMAKE(VARIABLE)
3444+# ---------------------------
3445+# Public sister of _AM_SUBST_NOTMAKE.
3446+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
3447+
3448+# Check how to create a tarball. -*- Autoconf -*-
3449+
3450+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
3451+#
3452+# This file is free software; the Free Software Foundation
3453+# gives unlimited permission to copy and/or distribute it,
3454+# with or without modifications, as long as this notice is preserved.
3455+
3456+# serial 2
3457+
3458+# _AM_PROG_TAR(FORMAT)
3459+# --------------------
3460+# Check how to create a tarball in format FORMAT.
3461+# FORMAT should be one of `v7', `ustar', or `pax'.
3462+#
3463+# Substitute a variable $(am__tar) that is a command
3464+# writing to stdout a FORMAT-tarball containing the directory
3465+# $tardir.
3466+# tardir=directory && $(am__tar) > result.tar
3467+#
3468+# Substitute a variable $(am__untar) that extract such
3469+# a tarball read from stdin.
3470+# $(am__untar) < result.tar
3471+AC_DEFUN([_AM_PROG_TAR],
3472+[# Always define AMTAR for backward compatibility.
3473+AM_MISSING_PROG([AMTAR], [tar])
3474+m4_if([$1], [v7],
3475+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
3476+ [m4_case([$1], [ustar],, [pax],,
3477+ [m4_fatal([Unknown tar format])])
3478+AC_MSG_CHECKING([how to create a $1 tar archive])
3479+# Loop over all known methods to create a tar archive until one works.
3480+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
3481+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
3482+# Do not fold the above two line into one, because Tru64 sh and
3483+# Solaris sh will not grok spaces in the rhs of `-'.
3484+for _am_tool in $_am_tools
3485+do
3486+ case $_am_tool in
3487+ gnutar)
3488+ for _am_tar in tar gnutar gtar;
3489+ do
3490+ AM_RUN_LOG([$_am_tar --version]) && break
3491+ done
3492+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
3493+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
3494+ am__untar="$_am_tar -xf -"
3495+ ;;
3496+ plaintar)
3497+ # Must skip GNU tar: if it does not support --format= it doesn't create
3498+ # ustar tarball either.
3499+ (tar --version) >/dev/null 2>&1 && continue
3500+ am__tar='tar chf - "$$tardir"'
3501+ am__tar_='tar chf - "$tardir"'
3502+ am__untar='tar xf -'
3503+ ;;
3504+ pax)
3505+ am__tar='pax -L -x $1 -w "$$tardir"'
3506+ am__tar_='pax -L -x $1 -w "$tardir"'
3507+ am__untar='pax -r'
3508+ ;;
3509+ cpio)
3510+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
3511+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
3512+ am__untar='cpio -i -H $1 -d'
3513+ ;;
3514+ none)
3515+ am__tar=false
3516+ am__tar_=false
3517+ am__untar=false
3518+ ;;
3519+ esac
3520+
3521+ # If the value was cached, stop now. We just wanted to have am__tar
3522+ # and am__untar set.
3523+ test -n "${am_cv_prog_tar_$1}" && break
3524+
3525+ # tar/untar a dummy directory, and stop if the command works
3526+ rm -rf conftest.dir
3527+ mkdir conftest.dir
3528+ echo GrepMe > conftest.dir/file
3529+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
3530+ rm -rf conftest.dir
3531+ if test -s conftest.tar; then
3532+ AM_RUN_LOG([$am__untar <conftest.tar])
3533+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
3534+ fi
3535+done
3536+rm -rf conftest.dir
3537+
3538+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
3539+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
3540+AC_SUBST([am__tar])
3541+AC_SUBST([am__untar])
3542+]) # _AM_PROG_TAR
3543+
3544+m4_include([m4/am-check-python-headers.m4])
3545+m4_include([m4/gettext.m4])
3546+m4_include([m4/iconv.m4])
3547+m4_include([m4/intlmacosx.m4])
3548+m4_include([m4/intltool.m4])
3549+m4_include([m4/lib-ld.m4])
3550+m4_include([m4/lib-link.m4])
3551+m4_include([m4/lib-prefix.m4])
3552+m4_include([m4/libtool.m4])
3553+m4_include([m4/ltoptions.m4])
3554+m4_include([m4/ltsugar.m4])
3555+m4_include([m4/ltversion.m4])
3556+m4_include([m4/lt~obsolete.m4])
3557+m4_include([m4/nls.m4])
3558+m4_include([m4/po.m4])
3559+m4_include([m4/progtest.m4])
3560+m4_include([m4/ubiquity-python.m4])
3561
3562=== renamed file 'aclocal.m4' => 'aclocal.m4.moved'
3563=== added file 'autogen.sh'
3564--- autogen.sh 1970-01-01 00:00:00 +0000
3565+++ autogen.sh 2011-01-31 11:12:59 +0000
3566@@ -0,0 +1,10 @@
3567+#! /bin/sh -e
3568+if ! type intltool-update >/dev/null 2>&1; then
3569+ echo "Install intltool and try again." >&2
3570+ exit 1
3571+fi
3572+AUTOMAKE=automake-1.11 ACLOCAL=aclocal-1.11 autoreconf -I m4 -fi
3573+intltoolize --copy --force --automake
3574+# We want to keep po/ubiquity.pot in the source package.
3575+sed -i '/rm .*\$(GETTEXT_PACKAGE)\.pot/s/ \$(GETTEXT_PACKAGE)\.pot//' \
3576+ po/Makefile.in.in
3577
3578=== renamed file 'autogen.sh' => 'autogen.sh.moved'
3579=== added directory 'bin'
3580=== renamed directory 'bin' => 'bin.moved'
3581=== added file 'bin/oem-config-firstboot'
3582--- bin/oem-config-firstboot 1970-01-01 00:00:00 +0000
3583+++ bin/oem-config-firstboot 2011-01-31 11:12:59 +0000
3584@@ -0,0 +1,123 @@
3585+#! /bin/bash
3586+# Run oem-config on the first boot after shipping to the end user.
3587+set -e
3588+
3589+DEBUG=
3590+if [ "$1" = '--debug' ]; then
3591+ DEBUG=--debug
3592+fi
3593+
3594+# KDM stores the default user here, and apparently gets upset that we've
3595+# just removed its previous default user.
3596+rm -f /var/lib/kdm/kdmsts
3597+# Revert to creating a user at uid 1000.
3598+echo RESET passwd/user-uid | debconf-communicate >/dev/null
3599+# These two templates have been preseeded, which does nasty things to their
3600+# templates. It's probably a bug in cdebconf's debconf-copydb that they end
3601+# up still registered to debian-installer/dummy at this point, but let's
3602+# just work around it for now so that we get sensible translated
3603+# descriptions.
3604+for q in passwd/user-fullname passwd/username; do
3605+ echo REGISTER "$q" "$q"
3606+ echo RESET "$q"
3607+done | debconf-communicate oem-config >/dev/null
3608+# Remove the oem-config-prepare menu item.
3609+rm -f /usr/share/applications/oem-config-prepare-gtk.desktop \
3610+ /usr/share/applications/kde4/oem-config-prepare-kde.desktop
3611+# Adjust fontconfig configuration, if possible.
3612+if type fontconfig-voodoo >/dev/null 2>&1; then
3613+ RET="$(echo GET debian-installer/locale | debconf-communicate)"
3614+ if [ "${RET%% *}" = 0 ]; then
3615+ LC_ALL="${RET#* }" fontconfig-voodoo --auto --force --quiet \
3616+ || true
3617+ fi
3618+fi
3619+# Run a command just before starting oem-config.
3620+RET="$(echo GET oem-config/early_command | debconf-communicate)" || true
3621+if [ "${RET%% *}" = 0 ]; then
3622+ command="${RET#* }"
3623+ log-output sh -c "$command" || true
3624+fi
3625+
3626+# TODO: will this work for X-based frontends when X isn't up yet?
3627+FRONTEND="$(/usr/sbin/oem-config -q)"
3628+
3629+if [ ! -e '/var/log/installer' ]; then
3630+ mkdir -p /var/log/installer
3631+fi
3632+
3633+if [ "$DEBUG" ]; then
3634+ TRY=1
3635+else
3636+ TRY=5
3637+fi
3638+for try in $(seq 1 $TRY); do
3639+ CODE=0
3640+ if [ "$FRONTEND" = debconf_ui ]; then
3641+ plymouth quit || true
3642+ LANG=en_US.UTF-8 FRONTEND="$FRONTEND" \
3643+ /usr/sbin/oem-config-wrapper $DEBUG --only \
3644+ 2>>/var/log/oem-config.log \
3645+ || CODE=$?
3646+ else
3647+ FRONTEND="$FRONTEND" \
3648+ /usr/bin/ubiquity-dm vt7 :0 oem \
3649+ /usr/sbin/oem-config-wrapper $DEBUG --only || CODE=$?
3650+ fi
3651+ if [ "$CODE" -eq 0 ]; then
3652+ exit 0
3653+ elif [ "$CODE" -eq 10 ]; then
3654+ cat <<EOF
3655+Your system is not yet configured. Press 'a' to try again, 's' for a
3656+recovery shell, or 'r' to reboot.
3657+EOF
3658+ while :; do
3659+ read -p '[asr] ' -n 1 REPLY
3660+ echo
3661+ case $REPLY in
3662+ A|a) continue 2 ;;
3663+ S|s)
3664+ cat <<EOF
3665+After you type 'exit', your system will reboot.
3666+EOF
3667+ bash
3668+ reboot
3669+ sleep 3600
3670+ exit 1
3671+ ;;
3672+ R|r) reboot; sleep 3600; exit 1 ;;
3673+ esac
3674+ done
3675+ exit 1
3676+ fi
3677+done
3678+
3679+if [ -z "$DEBUG" ]; then
3680+ # Panic. At this point, probably the best thing we can do is drop to
3681+ # a shell so that the user has some hope of fixing things up.
3682+ cat <<EOF
3683+ERROR: The OEM installer failed. Your system may not be usable yet. Please
3684+report this as a bug to your vendor.
3685+
3686+To create a user so that you can use your new system normally, type:
3687+
3688+ adduser USERNAME
3689+
3690+... replacing USERNAME with the username you would like to use (your first
3691+name in lower case is normally a reasonable choice), and follow the prompts.
3692+If this succeeds, type 'exit' to reboot the system.
3693+
3694+EOF
3695+ bash
3696+
3697+ # Don't run again.
3698+ rm -f /var/lib/oem-config/run
3699+ RET="$(echo GET oem-config/remove | debconf-communicate)"
3700+ if [ "${RET#* }" = true ]; then
3701+ apt-get -y purge ubiquity >>/var/log/oem-config.log 2>&1
3702+ fi
3703+
3704+ reboot
3705+fi
3706+
3707+exit 0
3708
3709=== added file 'bin/oem-config-prepare'
3710--- bin/oem-config-prepare 1970-01-01 00:00:00 +0000
3711+++ bin/oem-config-prepare 2011-01-31 11:12:59 +0000
3712@@ -0,0 +1,79 @@
3713+#! /bin/sh
3714+set -e
3715+
3716+# Try to detect which frontend will be used by looking for a frontend
3717+# module.
3718+frontend=
3719+for f in gtk_ui kde_ui debconf_ui; do
3720+ if [ -f "/usr/lib/ubiquity/ubiquity/frontend/$f.py" ]; then
3721+ frontend="$f"
3722+ break
3723+ fi
3724+done
3725+
3726+if [ "$(id -u)" = 0 ]; then
3727+ # no privilege escalation required
3728+ :
3729+else
3730+ case $frontend in
3731+ gtk_ui)
3732+ exec gksudo --desktop /usr/share/applications/oem-config-prepare-gtk.desktop -- "$0" "$@"
3733+ ;;
3734+ kde_ui)
3735+ echo kde_ui
3736+ kdesu=
3737+ #kdesudo seems to have issues with this, so default to the original kdesu
3738+ if [ -x /usr/lib/kde4/libexec/kdesu.distrib ]; then
3739+ kdesu=/usr/lib/kde4/libexec/kdesu.distrib
3740+ elif [ -x /usr/lib/kde4/libexec/kdesu ]; then
3741+ kdesu=/usr/lib/kde4/libexec/kdesu
3742+ fi
3743+ if [ "$kdesu" ]; then
3744+ exec $kdesu -- "$0" "$@"
3745+ else
3746+ exec sudo "$0" "$@"
3747+ fi
3748+ ;;
3749+ *)
3750+ exec sudo "$0" "$@"
3751+ ;;
3752+ esac
3753+fi
3754+
3755+quiet=
3756+if [ "$1" = --quiet ]; then
3757+ quiet=1
3758+ shift
3759+fi
3760+
3761+# Machine-specific, so remove in case this system is going to be cloned.
3762+# These will be regenerated on the first boot.
3763+rm -f /etc/udev/rules.d/70-persistent-cd.rules \
3764+ /etc/udev/rules.d/70-persistent-net.rules
3765+
3766+# Potentially sensitive.
3767+rm -f /home/oem/.ssh/known_hosts
3768+
3769+touch /var/lib/oem-config/run
3770+
3771+if [ -z "$quiet" ]; then
3772+ MESSAGE='oem-config will run the next time the system boots.'
3773+ case $frontend in
3774+ gtk_ui)
3775+ if [ "$DISPLAY" ] && type zenity >/dev/null 2>&1; then
3776+ zenity --title oem-config-prepare --info --text \
3777+ "$MESSAGE"
3778+ exit 0
3779+ fi
3780+ ;;
3781+ kde_ui)
3782+ if [ "$DISPLAY" ] && type kdialog >/dev/null 2>&1; then
3783+ kdialog --title oem-config-prepare --msgbox "$MESSAGE"
3784+ exit 0
3785+ fi
3786+ ;;
3787+ esac
3788+ echo "$MESSAGE"
3789+fi
3790+
3791+exit 0
3792
3793=== added file 'bin/oem-config-remaster'
3794--- bin/oem-config-remaster 1970-01-01 00:00:00 +0000
3795+++ bin/oem-config-remaster 2011-01-31 11:12:59 +0000
3796@@ -0,0 +1,121 @@
3797+#!/bin/sh
3798+#
3799+# «oem-config-remaster» - Remaster an Ubuntu ISO with an additional repository
3800+# and preseed data for oem-config.
3801+#
3802+# Copyright (C) 2010 Canonical Ltd.
3803+#
3804+# Authors:
3805+#
3806+# - Evan Dandrea <evand@ubuntu.com>
3807+#
3808+# This program is free software: you can redistribute it and/or modify it under
3809+# the terms of the GNU General Public License as published by the Free Software
3810+# Foundation, either version 3 of the License, or (at your option) any later
3811+# version.
3812+#
3813+# This program is distributed in the hope that it will be useful, but WITHOUT
3814+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
3815+# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
3816+# details.
3817+#
3818+# You should have received a copy of the GNU General Public License along with
3819+# this program. If not, see <http://www.gnu.org/licenses/>.
3820+
3821+set -e
3822+
3823+if ! [ -w / ]; then
3824+ echo "This program must be run as root."
3825+ exit 1
3826+fi
3827+cleanup() {
3828+ echo "Cleaning up."
3829+ set +e
3830+ if [ -n "$cd_writable" ]; then
3831+ (umount $cd_writable && rm -rf $cd_backing $cd_writable) || \
3832+ rmdir $cd_writable $cd_backing
3833+ fi
3834+ if [ -n "$writable" ]; then
3835+ (umount $writable && rm -rf $backing $writable) || \
3836+ rmdir $writable $backing
3837+ fi
3838+ if [ -n "$squash" ]; then
3839+ (umount $squash && rm -rf $squash) || \
3840+ rmdir $squash
3841+ fi
3842+ if [ -n "$iso" ]; then
3843+ (umount $iso && rm -rf $iso) || \
3844+ rmdir $iso
3845+ fi
3846+ echo "All done."
3847+}
3848+usage() {
3849+ echo "Usage: $0 [-i gpg-key-id] [-t cd-title] [-o output-file] [-r extra-repository] [-e early-command] [-l late-command] cd-image packages"
3850+}
3851+set -- $(getopt i:t:o:r:e: "$@")
3852+if [ $# -lt 2 ]; then
3853+ usage
3854+fi
3855+# TODO: Support passing an argument for packages to explicitly not include
3856+# (with the assumption being that they'll be downloaded from the network in
3857+# oem-config).
3858+while [ $# -gt 0 ]; do
3859+ case "$1" in
3860+ -i) KEY_ID="$2"; shift;;
3861+ -t) CD_TITLE="$2"; shift;;
3862+ -o) CD_FILE="$2"; shift;;
3863+ -r) REPO="$2"; shift;;
3864+ -e) EARLY="$2"; shift;;
3865+ -l) LATE="$2"; shift;;
3866+ --) shift; break;;
3867+ -*) usage;;
3868+ *) break;;
3869+ esac
3870+ shift
3871+done
3872+trap cleanup EXIT HUP INT QUIT TERM
3873+image="$1"
3874+pkgs="$2"
3875+
3876+iso=$(mktemp -d)
3877+mount -o loop $image $iso
3878+s="$iso/casper/filesystem.squashfs"
3879+if ! [ -e "$s" ]; then
3880+ echo "Could not find the squashfs at '$s'."
3881+ umount $iso || true
3882+ exit 1
3883+fi
3884+cd_backing=$(mktemp -d)
3885+cd_writable=$(mktemp -d)
3886+mount -t aufs -o br=$cd_backing:$iso none $cd_writable
3887+
3888+squash=$(mktemp -d)
3889+mount -o loop $s $squash
3890+backing=$(mktemp -d)
3891+writable=$(mktemp -d)
3892+mount -t aufs -o br=$backing:$squash none $writable
3893+
3894+# TODO: Support additional sources.
3895+sed -i 's/main /main universe multiverse /g' $writable/etc/apt/sources.list
3896+cp /etc/resolv.conf $writable/etc
3897+chroot $writable apt-get update #|| true
3898+chroot $writable apt-get -d -y install $pkgs
3899+mkdir $cd_writable/extra
3900+find $writable/var/cache/apt/archives -name "*.deb" -exec cp {} $cd_writable/extra \;
3901+apt-ftparchive packages $cd_writable/extra >$cd_writable/extra/Packages
3902+apt-ftparchive release $cd_writable/extra >$cd_writable/extra/Release
3903+gpg_args="-abs"
3904+[ -n "$KEY_ID" ] && gpg_args="$gpg_args --default-key $KEY_ID"
3905+gpg $gpg_args -o $cd_writable/extra/Release.gpg $cd_writable/extra/Release
3906+gpg --export --armor $KEY_ID > $cd_writable/extra/key.pub
3907+cat >> $cd_writable/preseed/ubuntu.seed << EOF
3908+oem-config oem-config/key string /cdrom/extra/key.pub
3909+oem-config oem-config/repository string $REPO
3910+oem-config oem-config/extra_packages string $pkgs
3911+oem-config oem-config/early_command string $EARLY
3912+oem-config oem-config/late_command string $LATE
3913+EOF
3914+save=$(pwd)
3915+cd $cd_writable
3916+mkisofs -D -r -V "${CD_TITLE:-Ubuntu}" -cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o "$save/${CD_FILE:-custom.iso}" .
3917+cd $save
3918
3919=== added file 'bin/oem-config-remove'
3920--- bin/oem-config-remove 1970-01-01 00:00:00 +0000
3921+++ bin/oem-config-remove 2011-01-31 11:12:59 +0000
3922@@ -0,0 +1,27 @@
3923+#! /bin/sh
3924+# Remove oem-config.
3925+# TODO: all of this should be moved into oem-config itself, but that's far
3926+# too risky for 10.04 LTS since we have to be very careful not to open any
3927+# files shipped by any ubiquity binary package after removing them.
3928+set -e
3929+
3930+case $1 in
3931+ '')
3932+ eval "$(debconf-apt-progress --config)"
3933+ "$0" debconf
3934+ ;;
3935+ debconf)
3936+ . /usr/share/debconf/confmodule
3937+
3938+ db_progress START 0 100 oem-config/removing
3939+ db_progress INFO debconf-apt-progress/preparing
3940+
3941+ debconf-apt-progress --from 0 --to 100 \
3942+ --logfile /var/log/oem-config.log -- \
3943+ apt-get -y purge ubiquity ubiquity-casper ubiquity-ubuntu-artwork ubiquity-slideshow-ubuntu
3944+
3945+ debconf-apt-progress --stop
3946+ ;;
3947+esac
3948+
3949+exit 0
3950
3951=== added file 'bin/oem-config-remove-gtk'
3952--- bin/oem-config-remove-gtk 1970-01-01 00:00:00 +0000
3953+++ bin/oem-config-remove-gtk 2011-01-31 11:12:59 +0000
3954@@ -0,0 +1,74 @@
3955+#!/usr/bin/python
3956+## -*- coding: utf-8 -*-
3957+#
3958+# «oem-config-remove-gtk» - remove-oem-config after completing
3959+#
3960+# Copyright (C) 2010, Mario Limonciello
3961+# Copyright (C) 2010, Sebastian Heinlein
3962+#
3963+#
3964+# Ubiquity is free software; you can redistribute it and/or modify it under
3965+# the terms of the GNU General Public License as published by the Free
3966+# Software Foundation; either version 2 of the License, or at your option)
3967+# any later version.
3968+#
3969+# This program is distributed in the hope that it will be useful,
3970+# but WITHOUT ANY WARRANTY; without even the implied warranty of
3971+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3972+# GNU General Public License for more details.
3973+#
3974+# You should have received a copy of the GNU General Public License along
3975+# with this application; if not, write to the Free Software Foundation, Inc., 51
3976+# Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
3977+################################################################################
3978+
3979+import os
3980+import sys
3981+
3982+from aptdaemon import client, enums
3983+from aptdaemon.gtkwidgets import AptProgressDialog
3984+import gobject
3985+import gtk
3986+
3987+loop = gobject.MainLoop()
3988+
3989+def _on_failure(error):
3990+ dia = gtk.MessageDialog(type=gtk.MESSAGE_ERROR,
3991+ buttons=gtk.BUTTONS_CLOSE,
3992+ message_format=error.message)
3993+ dia.run()
3994+ dia.hide()
3995+ loop.quit()
3996+ sys.exit(1)
3997+
3998+def _on_finished(dia):
3999+ loop.quit()
4000+ if dia._transaction.exit == enums.EXIT_SUCCESS:
4001+ sys.exit(0)
4002+ else:
4003+ sys.exit(1)
4004+
4005+def _on_transaction(trans):
4006+ apt_dialog = AptProgressDialog(trans)
4007+ theme = gtk.icon_theme_get_default()
4008+ apt_dialog.set_icon(icon = theme.load_icon("update-manager", 16, 0))
4009+ apt_dialog.set_position('center-always')
4010+ apt_dialog.run()
4011+ apt_dialog.connect("finished", _on_finished)
4012+
4013+def main():
4014+ purge = []
4015+ for pkg in ('ubiquity', 'ubiquity-casper',
4016+ 'ubiquity-ubuntu-artwork', 'ubiquity-slideshow-ubuntu'):
4017+ if os.path.exists("/var/lib/dpkg/info/%s.list" % pkg):
4018+ purge.append(pkg)
4019+
4020+ ac = client.AptClient()
4021+ ac.commit_packages(install=[], reinstall=[], remove=[], purge=purge, upgrade=[],
4022+ downgrade=[],
4023+ error_handler=_on_failure,
4024+ reply_handler=_on_transaction)
4025+ loop.run()
4026+
4027+if __name__ == "__main__":
4028+ main()
4029
4030=== added file 'bin/oem-config-wrapper'
4031--- bin/oem-config-wrapper 1970-01-01 00:00:00 +0000
4032+++ bin/oem-config-wrapper 2011-01-31 11:12:59 +0000
4033@@ -0,0 +1,49 @@
4034+#! /bin/sh
4035+# Run oem-config, plus other things that need to run after it in X.
4036+set -e
4037+
4038+oem-config "$@"
4039+
4040+# 'set -e' will cause us to exit if oem-config fails. Otherwise:
4041+
4042+# Don't run again.
4043+rm -f /var/lib/oem-config/run
4044+
4045+# Remove the temporary OEM configuration user, if possible.
4046+if getent passwd oem >/dev/null; then
4047+ userdel --force --remove oem || true
4048+fi
4049+
4050+# Cleanup from anything the early command prepared
4051+RET="$(echo GET oem-config/late_command | debconf-communicate)" || true
4052+if [ "${RET%% *}" = 0 ]; then
4053+ command="${RET#* }"
4054+ log-output sh -c "$command" || true
4055+fi
4056+RET="$(echo GET oem-config/remove | debconf-communicate)"
4057+if [ "${RET#* }" = true ]; then
4058+ #debconf crashes with this set (LP: #641478)
4059+ unset DBUS_SESSION_BUS_ADDRESS
4060+ #mandb postinst doesn't like not knowing the locale
4061+ if [ -r /etc/default/locale ]; then
4062+ . /etc/default/locale
4063+ export LANG LANGUAGE
4064+ fi
4065+ # We're about to pull the rug out from under our own feet, so this
4066+ # has to run very late.
4067+ case $FRONTEND in
4068+ debconf_ui)
4069+ export DEBIAN_FRONTEND=dialog
4070+ oem-config-remove || true
4071+ ;;
4072+ gtk_ui)
4073+ oem-config-remove-gtk || true
4074+ ;;
4075+ kde_ui)
4076+ export DEBIAN_FRONTEND=kde
4077+ oem-config-remove || true
4078+ ;;
4079+ esac
4080+fi
4081+
4082+exit 0
4083
4084=== added file 'bin/ubiquity'
4085--- bin/ubiquity 1970-01-01 00:00:00 +0000
4086+++ bin/ubiquity 2011-01-31 11:12:59 +0000
4087@@ -0,0 +1,535 @@
4088+#!/usr/bin/python
4089+
4090+'''
4091+Installer
4092+
4093+This is a installer program for a Ubuntu or Metadistros Live system.
4094+This is the main program, but there are also a couple of libraries to
4095+help it to work, such as the frontend.
4096+The way it works is simple. It detects the frontend to use, then
4097+load the module for that frontend. After that, it makes some calls
4098+through the frontend in order to get the info necessary to install.
4099+
4100+Once it has the info, partitioning, format, copy the distro to the disk
4101+and configure everything.
4102+'''
4103+
4104+import sys
4105+import os
4106+import errno
4107+import fcntl
4108+import shutil
4109+import syslog
4110+import atexit
4111+import optparse
4112+import subprocess
4113+
4114+sys.path.insert(0, '/usr/lib/ubiquity')
4115+
4116+from ubiquity import misc
4117+from ubiquity import im_switch
4118+from ubiquity import osextras
4119+
4120+VERSION = '@VERSION@'
4121+TARGET = '/target'
4122+LOCKFILE = '/var/lock/ubiquity'
4123+lock = None
4124+
4125+def distribution():
4126+ """Returns the name of the running distribution."""
4127+
4128+ proc = subprocess.Popen(['lsb_release', '-is'], stdout=subprocess.PIPE)
4129+ return proc.communicate()[0].strip()
4130+
4131+def disable_autologin():
4132+ import traceback
4133+
4134+ # Reverse actions of user-setup-apply.
4135+ for name in ('/etc/gdm/custom.conf', '/etc/kde4/kdm/kdmrc'):
4136+ if os.path.exists('%s.oem' % name):
4137+ try:
4138+ os.rename('%s.oem' % name, name)
4139+ except OSError:
4140+ traceback.print_exc()
4141+
4142+def open_terminal():
4143+ """Set up the terminal to run ubiquity's debconf frontend."""
4144+
4145+ # Set up a framebuffer and start bterm if debian-installer/framebuffer
4146+ # says to do so. See
4147+ # rootskel/src/lib/debian-installer-startup.d/S40framebuffer-module-linux-x86.
4148+ # TODO: more careful architecture handling
4149+
4150+ import debconf
4151+
4152+ # Start a new session and start a controlling terminal. Approach loosely
4153+ # borrowed from util-linux.
4154+
4155+ if 'UBIQUITY_CTTY' not in os.environ:
4156+ os.environ['UBIQUITY_CTTY'] = '1'
4157+
4158+ import termios
4159+
4160+ try:
4161+ os.setsid()
4162+ except OSError:
4163+ pass
4164+
4165+ ttyn = os.ttyname(0)
4166+ tty = os.open(ttyn, os.O_RDWR | os.O_NONBLOCK)
4167+ flags = fcntl.fcntl(tty, fcntl.F_GETFL)
4168+ fcntl.fcntl(tty, fcntl.F_SETFL, flags)
4169+ # Leave stderr alone in the following; it's already redirected to
4170+ # our log file.
4171+ for i in range(tty):
4172+ if i != 2:
4173+ os.close(i)
4174+ for i in range(2):
4175+ if tty != i:
4176+ os.dup2(tty, i)
4177+ if tty >= 3:
4178+ os.close(tty)
4179+
4180+ fcntl.ioctl(0, termios.TIOCSCTTY, 1)
4181+
4182+ if 'UBIQUITY_BTERM' not in os.environ:
4183+ os.environ['UBIQUITY_BTERM'] = '1'
4184+
4185+ framebuffer = False
4186+ dccomm = subprocess.Popen(['debconf-communicate',
4187+ '-fnoninteractive', 'ubiquity'],
4188+ stdin=subprocess.PIPE,
4189+ stdout=subprocess.PIPE, close_fds=True)
4190+ try:
4191+ dc = debconf.Debconf(read=dccomm.stdout, write=dccomm.stdin)
4192+ try:
4193+ if dc.get('debian-installer/framebuffer') == 'true':
4194+ framebuffer = True
4195+ except debconf.DebconfError:
4196+ pass
4197+ finally:
4198+ dccomm.stdin.close()
4199+ dccomm.wait()
4200+
4201+ if framebuffer:
4202+ def fb_has(substring):
4203+ try:
4204+ fb = open('/proc/fb')
4205+ except IOError:
4206+ return False
4207+ try:
4208+ for line in fb:
4209+ if substring in line:
4210+ return True
4211+ finally:
4212+ fb.close()
4213+ return False
4214+
4215+ got_fb = False
4216+ if fb_has('VESA'):
4217+ got_fb = True
4218+
4219+ devnull = open('/dev/null', 'w')
4220+
4221+ if not got_fb:
4222+ subprocess.call(['modprobe', '-q', 'vesafb'],
4223+ stdout=devnull, stderr=devnull)
4224+ if fb_has(''):
4225+ got_fb = True
4226+
4227+ if not got_fb:
4228+ subprocess.call(['modprobe', '-q', 'vga16fb'],
4229+ stdout=devnull, stderr=devnull)
4230+ if fb_has(''):
4231+ got_fb = True
4232+
4233+ if got_fb:
4234+ if not os.path.isdir('/sys/class/graphics/fbcon'):
4235+ subprocess.call(['modprobe', '-q', 'fbcon'],
4236+ stdout=devnull, stderr=devnull)
4237+
4238+ # TODO: import debian-installer-utils and use update-dev?
4239+ subprocess.call(['udevadm', 'settle'])
4240+
4241+ devnull.close()
4242+
4243+ if os.path.exists('/dev/fb0'):
4244+ bterm_args = ['bterm',
4245+ '-f', '/usr/share/ubiquity/unifont.bgf', '--']
4246+ bterm_args.extend(sys.argv)
4247+ os.execvp('bterm', bterm_args)
4248+
4249+def start_debconf():
4250+ """debconf_ui needs to run within a debconf frontend."""
4251+
4252+ if 'DEBIAN_HAS_FRONTEND' in os.environ:
4253+ # debconf already started, so just clean up the configuration file
4254+ # if any (debconf has already read it by now).
4255+ if 'DEBCONF_SYSTEMRC' in os.environ:
4256+ osextras.unlink_force(os.environ['DEBCONF_SYSTEMRC'])
4257+ return
4258+
4259+ print >>sys.stderr, "debconf_ui selected; starting debconf frontend"
4260+
4261+ if 'DEBCONF_USE_CDEBCONF' not in os.environ:
4262+ # This is rather unsatisfactory. Perhaps it would be better to
4263+ # have a custom debconf program, a bit like dpkg-reconfigure.
4264+ import tempfile
4265+ debconfrc_fd, debconfrc = tempfile.mkstemp()
4266+ os.chmod(debconfrc, 0644)
4267+ debconfrc_file = os.fdopen(debconfrc_fd, 'w')
4268+ orig_debconfrc = open('/etc/debconf.conf')
4269+ state = 0
4270+ for line in orig_debconfrc:
4271+ if (state == 0 and
4272+ line.rstrip('\n') and not line.startswith('#')):
4273+ state = 1
4274+ elif state == 1 and not line.rstrip('\n'):
4275+ print >>debconfrc_file, 'Reshow: true'
4276+ state = 2
4277+ print >>debconfrc_file, line,
4278+ orig_debconfrc.close()
4279+ debconfrc_file.close()
4280+ os.environ['DEBCONF_SYSTEMRC'] = debconfrc
4281+
4282+ os.environ['DEBCONF_PACKAGE'] = 'ubiquity'
4283+ else:
4284+ os.environ['DEBCONF_SHOWOLD'] = 'true'
4285+ # TODO: need to set owner somehow
4286+
4287+ import debconf
4288+ debconf.runFrontEnd() # re-execs this program
4289+
4290+def install(frontend=None, query=False):
4291+ '''install(frontend=None) -> none
4292+
4293+ Get the type of frontend to use and load the module for that.
4294+ If frontend is None, defaults to the first of
4295+ gtk_ui, kde_ui, and debconf_ui that exists.
4296+ '''
4297+ if frontend is None:
4298+ frontends = ['gtk_ui', 'kde_ui', 'debconf_ui']
4299+ else:
4300+ frontends = [frontend]
4301+ chosen = None
4302+ mod = __import__('ubiquity.frontend', globals(), locals(), frontends)
4303+ for f in frontends:
4304+ if hasattr(mod, f):
4305+ chosen = f
4306+ ui = getattr(mod, f)
4307+ # Noninteractive implies automatic mode.
4308+ if f == 'noninteractive':
4309+ os.environ['UBIQUITY_AUTOMATIC'] = '1'
4310+ # Migration Assistant does not support KDE.
4311+ if f == 'kde_ui':
4312+ if 'UBIQUITY_MIGRATION_ASSISTANT' in os.environ:
4313+ del os.environ['UBIQUITY_MIGRATION_ASSISTANT']
4314+ break
4315+ else:
4316+ raise AttributeError('No frontend available; tried %s' %
4317+ ', '.join(frontends))
4318+ os.environ['UBIQUITY_FRONTEND'] = chosen
4319+ if query:
4320+ print >> sys.__stdout__, os.environ['UBIQUITY_FRONTEND']
4321+ sys.exit(0)
4322+
4323+ unmount_target()
4324+ distro = distribution().lower()
4325+ wizard = ui.Wizard(distro)
4326+ if os.environ['UBIQUITY_FRONTEND'] == 'debconf_ui':
4327+ open_terminal()
4328+ start_debconf()
4329+ ret = wizard.run()
4330+ wizard.stop_debconf()
4331+ if ret != 10 and 'UBIQUITY_GREETER' in os.environ:
4332+ import traceback
4333+ try:
4334+ apply_keyboard()
4335+ except:
4336+ traceback.print_exc()
4337+ copy_debconf()
4338+ unmount_target()
4339+ if ret == 10:
4340+ wizard.do_reboot()
4341+ if ret == 11:
4342+ wizard.do_shutdown()
4343+
4344+
4345+@misc.raise_privileges
4346+def apply_keyboard():
4347+ '''Set the keyboard layout to the default layout for the language selected.
4348+ If a user wants a different layout, they can be reasonably expected to
4349+ change it in System -> Preferences -> Keyboard.'''
4350+
4351+ # Mostly taken from ubi-console-setup.
4352+
4353+ # We need to get rid of /etc/default/keyboard, or keyboard-configuration
4354+ # will think it's already configured and behave differently. Try to save
4355+ # the old file for interest's sake, but it's not a big deal if we can't.
4356+ osextras.unlink_force('/etc/default/keyboard.pre-ubiquity')
4357+ try:
4358+ os.rename('/etc/default/keyboard',
4359+ '/etc/default/keyboard.pre-ubiquity')
4360+ except OSError:
4361+ osextras.unlink_force('/etc/default/keyboard')
4362+
4363+ import debconf
4364+ dccomm = subprocess.Popen(['debconf-communicate',
4365+ '-fnoninteractive', 'ubiquity'],
4366+ stdin=subprocess.PIPE,
4367+ stdout=subprocess.PIPE, close_fds=True)
4368+ try:
4369+ dc = debconf.Debconf(read=dccomm.stdout, write=dccomm.stdin)
4370+ try:
4371+ # Make sure debconf doesn't do anything with crazy "preseeded"
4372+ # answers to these questions. If you want to preseed these, use the
4373+ # *code variants.
4374+ dc.fset('keyboard-configuration/layout', 'seen', 'false')
4375+ dc.fset('keyboard-configuration/variant', 'seen', 'false')
4376+ dc.fset('keyboard-configuration/model', 'seen', 'false')
4377+ dc.fset('console-setup/codeset47', 'seen', 'false')
4378+ except debconf.DebconfError:
4379+ return
4380+ finally:
4381+ dccomm.stdin.close()
4382+ dccomm.wait()
4383+
4384+ # Accept all the defaults, given the preseeded language.
4385+ child_env = dict(os.environ)
4386+ child_env['OVERRIDE_ALLOW_PRESEEDING'] = '1'
4387+ subprocess.call(['dpkg-reconfigure', '-fnoninteractive',
4388+ 'keyboard-configuration'],
4389+ env=child_env)
4390+ misc.execute('setupcon', '--save-only')
4391+ # Reprocess /lib/udev/rules.d/64-xorg-xkb.rules
4392+ misc.execute('udevadm', 'trigger', '--subsystem-match=input',
4393+ '--action=change')
4394+ misc.execute('udevadm', 'settle')
4395+
4396+def copy_debconf():
4397+ """Copy a few important questions into the installed system."""
4398+ if not TARGET:
4399+ return
4400+ targetdb = TARGET + '/var/cache/debconf/config.dat'
4401+ for q in ('^keyboard-configuration/', '^console-setup/', '^oem-config/'):
4402+ misc.execute_root('debconf-copydb', 'configdb', 'targetdb', '-p', q,
4403+ '--config=Name:targetdb', '--config=Driver:File',
4404+ '--config=Filename:%s' % targetdb)
4405+
4406+def unmount_target():
4407+ if not TARGET:
4408+ return
4409+ paths = []
4410+ mounts = open('/proc/mounts')
4411+ for line in mounts:
4412+ path = line.split(' ')[1]
4413+ if path == TARGET or path.startswith(TARGET + '/'):
4414+ paths.append(path)
4415+ mounts.close()
4416+ paths.sort()
4417+ paths.reverse()
4418+ for path in paths:
4419+ misc.execute_root('umount', path)
4420+
4421+def prepend_path(directory):
4422+ if 'PATH' in os.environ and os.environ['PATH'] != '':
4423+ os.environ['PATH'] = '%s:%s' % (directory, os.environ['PATH'])
4424+ else:
4425+ os.environ['PATH'] = directory
4426+
4427+def release_lock():
4428+ global lock
4429+ osextras.unlink_force(LOCKFILE)
4430+ if lock is not None:
4431+ lock.close()
4432+ lock = None
4433+
4434+def acquire_lock():
4435+ global lock
4436+ lock = open(LOCKFILE, 'w')
4437+ try:
4438+ fcntl.flock(lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
4439+ except IOError, e:
4440+ if e.errno in (errno.EACCES, errno.EAGAIN, errno.EWOULDBLOCK):
4441+ print "Ubiquity is already running!"
4442+ sys.exit(1)
4443+ raise
4444+ atexit.register(release_lock)
4445+ fcntl.fcntl(lock, fcntl.F_SETFD, fcntl.FD_CLOEXEC)
4446+ print >>lock, os.getpid()
4447+ lock.flush()
4448+ os.fsync(lock.fileno())
4449+
4450+def run_oem_hooks():
4451+ """Run hook scripts from /usr/lib/oem-config/post-install."""
4452+
4453+ hookdir = '/usr/lib/oem-config/post-install'
4454+
4455+ if os.path.isdir(hookdir):
4456+ # Exclude hooks containing '.', so that *.dpkg-* et al are avoided.
4457+ hooks = filter(lambda entry: '.' not in entry, os.listdir(hookdir))
4458+ child_env = dict(os.environ)
4459+ child_env['DEBIAN_FRONTEND'] = 'noninteractive'
4460+ if 'DEBIAN_HAS_FRONTEND' in child_env:
4461+ del child_env['DEBIAN_HAS_FRONTEND']
4462+ for hookentry in hooks:
4463+ hook = os.path.join(hookdir, hookentry)
4464+ if os.access(hook, os.X_OK):
4465+ # Errors are ignored at present, although this may change.
4466+ subprocess.call([hook], env=child_env)
4467+
4468+def main(oem_config):
4469+ usage = '%prog [options] [frontend]'
4470+ parser = optparse.OptionParser(usage=usage, version=VERSION)
4471+ parser.set_defaults(
4472+ debug=('UBIQUITY_DEBUG' in os.environ),
4473+ debug_pdb=False,
4474+ cdebconf=False,
4475+ automatic=False,
4476+ query=False,
4477+ migration_assistant=(not oem_config))
4478+ parser.add_option('-d', '--debug', dest='debug', action='store_true',
4479+ help='debug mode (warning: passwords will be logged!)')
4480+ parser.add_option('--pdb', dest='debug_pdb', action='store_true',
4481+ help='drop into Python debugger on a crash')
4482+ parser.add_option('--cdebconf', dest='cdebconf', action='store_true',
4483+ help='use cdebconf instead of debconf (experimental)')
4484+ if not oem_config:
4485+ parser.add_option('--no-migration-assistant', dest='migration_assistant',
4486+ action='store_false',
4487+ help='disable Migration Assistant')
4488+ parser.add_option('--automatic', dest='automatic', action='store_true',
4489+ help='do not ignore the "seen" flag (useful for ' \
4490+ 'unattended installations).')
4491+ parser.add_option('--only', dest='only', action='store_true',
4492+ help='tell the application that it is the only desktop ' \
4493+ 'program running so that it can customize its UI to ' \
4494+ 'better suit a minimal environment.')
4495+ parser.add_option('-q', '--query', dest='query', action='store_true',
4496+ help='find out which frontend will be used by default')
4497+ parser.add_option('-g', '--greeter', dest='greeter', action='store_true',
4498+ help='allow the user to leave the installer and enter ' \
4499+ 'a live desktop (for the initial boot).')
4500+ parser.add_option('-b', '--no-bootloader', dest='bootloader',
4501+ action='store_true',
4502+ help='Do not install a bootloader.')
4503+ (options, args) = parser.parse_args()
4504+
4505+ if options.debug:
4506+ os.environ['UBIQUITY_DEBUG'] = '1'
4507+
4508+ if options.debug_pdb:
4509+ os.environ['UBIQUITY_DEBUG_PDB'] = '1'
4510+
4511+ if options.cdebconf:
4512+ # Note that this needs to be set before DebconfCommunicate is
4513+ # imported by anything.
4514+ os.environ['DEBCONF_USE_CDEBCONF'] = '1'
4515+ prepend_path('/usr/lib/cdebconf')
4516+ prepend_path('/usr/lib/ubiquity/compat')
4517+
4518+ if options.automatic:
4519+ os.environ['UBIQUITY_AUTOMATIC'] = '1'
4520+
4521+ if options.migration_assistant:
4522+ os.environ['UBIQUITY_MIGRATION_ASSISTANT'] = '1'
4523+
4524+ if options.greeter:
4525+ os.environ['UBIQUITY_GREETER'] = '1'
4526+
4527+ if options.only:
4528+ os.environ['UBIQUITY_ONLY'] = '1'
4529+
4530+ if options.bootloader:
4531+ os.environ['UBIQUITY_NO_BOOTLOADER'] = '1'
4532+
4533+ if oem_config:
4534+ os.environ['UBIQUITY_OEM_USER_CONFIG'] = '1'
4535+ global TARGET
4536+ TARGET = ''
4537+
4538+ acquire_lock()
4539+
4540+ try:
4541+ os.makedirs('/var/log/installer')
4542+ except OSError, e:
4543+ # be happy if someone already created the path
4544+ if e.errno != errno.EEXIST:
4545+ raise
4546+ syslog.openlog('ubiquity', syslog.LOG_NOWAIT | syslog.LOG_PID)
4547+
4548+ if oem_config:
4549+ syslog.syslog("Ubiquity %s (oem-config)" % VERSION)
4550+ else:
4551+ syslog.syslog("Ubiquity %s" % VERSION)
4552+ version_file = open('/var/log/installer/version', 'w')
4553+ print >>version_file, 'ubiquity %s' % VERSION
4554+ version_file.close()
4555+
4556+ if 'UBIQUITY_DEBUG' in os.environ:
4557+ if 'UBIQUITY_DEBUG_CORE' not in os.environ:
4558+ os.environ['UBIQUITY_DEBUG_CORE'] = '1'
4559+ if 'DEBCONF_DEBUG' not in os.environ:
4560+ os.environ['DEBCONF_DEBUG'] = 'developer'
4561+ # The frontend should take care of displaying a helpful message if
4562+ # we are being run without root privileges.
4563+ if not (options.query and args and args[0] == 'noninteractive'):
4564+ try:
4565+ if oem_config:
4566+ logfile = '/var/log/oem-config.log'
4567+ else:
4568+ logfile = '/var/log/installer/debug'
4569+ log = os.open(logfile, os.O_WRONLY | os.O_CREAT | os.O_APPEND,
4570+ 0644)
4571+ os.dup2(log, 2)
4572+ os.close(log)
4573+ sys.stderr = os.fdopen(2, 'a', 1)
4574+ if oem_config:
4575+ print >>sys.stderr, "Ubiquity %s (oem-config)" % VERSION
4576+ else:
4577+ print >>sys.stderr, "Ubiquity %s" % VERSION
4578+ except (IOError, OSError), err:
4579+ if err.errno != errno.EACCES:
4580+ raise
4581+
4582+ # Default to enabling internal (non-debconf) debugging except for when
4583+ # using --automatic.
4584+ if 'UBIQUITY_DEBUG_CORE' not in os.environ:
4585+ if options.automatic:
4586+ os.environ['UBIQUITY_DEBUG_CORE'] = '1'
4587+
4588+ # Initialise cdebconf if necessary, to work around
4589+ # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=451130.
4590+ if options.cdebconf:
4591+ for package in ('ubiquity', 'keyboard-configuration', 'console-setup'):
4592+ subprocess.call(['debconf-loadtemplate', package,
4593+ '/var/lib/dpkg/info/%s.templates' % package])
4594+
4595+ # Clean up old state.
4596+ for name in ('apt-installed', 'apt-install-direct', 'remove-kernels', 'apt-removed'):
4597+ osextras.unlink_force(os.path.join('/var/lib/ubiquity', name))
4598+ shutil.rmtree("/var/lib/partman", ignore_errors=True)
4599+ misc.remove_os_prober_cache()
4600+
4601+ if oem_config and not options.query:
4602+ disable_autologin()
4603+
4604+ if args:
4605+ install(args[0], query=options.query)
4606+ else:
4607+ install(query=options.query)
4608+
4609+ if oem_config:
4610+ run_oem_hooks()
4611+ im_switch.kill_im()
4612+
4613+if __name__ == '__main__':
4614+ # Are we running as ubiquity or oem-config?
4615+ oem_config = False
4616+ script_name = os.path.basename(sys.argv[0])
4617+ if script_name == 'oem-config':
4618+ oem_config = True
4619+
4620+ main(oem_config)
4621+
4622+# vim:ai:et:sts=4:tw=80:sw=4:
4623
4624=== added file 'bin/ubiquity-dm'
4625--- bin/ubiquity-dm 1970-01-01 00:00:00 +0000
4626+++ bin/ubiquity-dm 2011-01-31 11:12:59 +0000
4627@@ -0,0 +1,556 @@
4628+#!/usr/bin/python
4629+
4630+import os
4631+import sys
4632+import subprocess
4633+import time
4634+import signal
4635+import errno
4636+import imp
4637+import grp
4638+
4639+import debconf
4640+
4641+sys.path.insert(0, '/usr/lib/ubiquity')
4642+
4643+import ubiquity.frontend
4644+import pwd
4645+
4646+from ubiquity import osextras
4647+from ubiquity.misc import create_bool
4648+from ubiquity.casper import get_casper
4649+from ubiquity.debconfcommunicator import DebconfCommunicator
4650+
4651+background = '/usr/share/backgrounds/warty-final-ubuntu.png'
4652+
4653+def ck_open_session(uid):
4654+ import dbus
4655+ bus = dbus.SystemBus ()
4656+ manager_obj = bus.get_object ('org.freedesktop.ConsoleKit',
4657+ '/org/freedesktop/ConsoleKit/Manager')
4658+ manager = dbus.Interface (manager_obj, 'org.freedesktop.ConsoleKit.Manager')
4659+ params = dbus.Array ([], signature = "(sv)")
4660+ params.append(("unix-user", dbus.Int32(uid)))
4661+ params.append(("session-type", dbus.String("")))
4662+ params.append(("x11-display", dbus.String(os.environ['DISPLAY'])))
4663+ params.append(("x11-display-device", dbus.String('/dev/tty7')))
4664+ params.append(("is-local", dbus.Boolean(True)))
4665+ cookie = manager.OpenSessionWithParameters(params)
4666+ os.environ['XDG_SESSION_COOKIE'] = cookie
4667+
4668+def set_locale():
4669+ db = DebconfCommunicator('ubiquity', cloexec=True)
4670+ locale = ''
4671+ try:
4672+ locale = db.get('debian-installer/locale')
4673+ except debconf.DebconfError:
4674+ pass
4675+ db.shutdown()
4676+
4677+ if not locale:
4678+ return
4679+
4680+ default_locale = open('/etc/default/locale', 'w')
4681+ print >>default_locale, 'LANG="%s"' % locale
4682+ default_locale.close()
4683+
4684+ environment = open('/etc/environment')
4685+ environment_lines = environment.readlines()
4686+ environment.close()
4687+ environment = open('/etc/environment', 'w')
4688+ seen_lang = False
4689+ for line in environment_lines:
4690+ if line.startswith('LANG='):
4691+ print >>environment, 'LANG="%s"' % locale
4692+ seen_lang = True
4693+ else:
4694+ print >>environment, line.rstrip('\n')
4695+ if not seen_lang:
4696+ print >>environment, 'LANG="%s"' % locale
4697+ environment.close()
4698+
4699+ locale_gen = open('/etc/locale.gen', 'w')
4700+ print >>locale_gen, '%s UTF-8' % locale
4701+ locale_gen.close()
4702+
4703+ logfile = open('/var/log/installer/dm', 'a')
4704+ subprocess.call(['/usr/sbin/locale-gen', locale],
4705+ stdout=logfile, stderr=logfile)
4706+ logfile.close()
4707+
4708+class XStartupError(EnvironmentError):
4709+ pass
4710+
4711+class MissingProgramError(EnvironmentError):
4712+ pass
4713+
4714+class DM:
4715+ def __init__(self, vt, display, default_username):
4716+ self.vt = vt
4717+ self.display = display
4718+ self.server_started = False
4719+
4720+ self.username = get_casper('USERNAME', default_username)
4721+ try:
4722+ self.uid, self.gid = pwd.getpwnam(self.username)[2:4]
4723+ except KeyError:
4724+ import syslog
4725+ syslog.syslog('Could not find %s, falling back to root.' %
4726+ self.username)
4727+ self.username = 'root'
4728+ self.uid, self.gid = 0, 0
4729+ self.homedir = pwd.getpwnam(self.username)[5]
4730+ self.uid = int(self.uid)
4731+ self.gid = int(self.gid)
4732+ self.groups = []
4733+ for g in grp.getgrall():
4734+ if self.username in g[3] or g[0] == self.username:
4735+ self.groups.append(g[2])
4736+
4737+ # Look for a frontend module; we won't actually use it (yet), but
4738+ # this lets us find out which window manager etc. to launch. Be
4739+ # careful that importing this here will cause the underlying library
4740+ # to try to talk to the X server, which won't go well.
4741+ frontend_names = ['gtk_ui', 'kde_ui']
4742+ self.frontend = None
4743+ for f in frontend_names:
4744+ try:
4745+ imp.find_module(f, ubiquity.frontend.__path__)
4746+ self.frontend = f
4747+ break
4748+ except ImportError:
4749+ pass
4750+ else:
4751+ raise AttributeError('No frontend available; tried %s' %
4752+ ', '.join(frontend_names))
4753+
4754+ db = DebconfCommunicator('ubiquity', cloexec=True)
4755+ try:
4756+ self.force_failsafe = create_bool(db.get('ubiquity/force_failsafe_graphics'))
4757+ except debconf.DebconfError:
4758+ self.force_failsafe = False
4759+ db.shutdown()
4760+
4761+ def sigusr1_handler(self, signum, frame):
4762+ self.server_started = True
4763+
4764+ def active_vt(self):
4765+ import fcntl
4766+ import array
4767+
4768+ console = os.open('/dev/tty0', os.O_RDONLY | os.O_NOCTTY)
4769+ try:
4770+ VT_GETSTATE = 0x5603
4771+ vt_stat = array.array('H', [0, 0, 0])
4772+ fcntl.ioctl(console, VT_GETSTATE, vt_stat)
4773+ return vt_stat[0]
4774+ finally:
4775+ os.close(console)
4776+
4777+ def drop_privileges(self):
4778+ os.setgroups(self.groups)
4779+ os.setgid(self.gid)
4780+ os.setuid(self.uid)
4781+
4782+ def server_preexec(self):
4783+ signal.signal(signal.SIGUSR1, signal.SIG_IGN)
4784+
4785+ def run(self, *program):
4786+ null = open('/dev/null', 'w')
4787+ try:
4788+ os.makedirs('/var/log/installer')
4789+ except OSError, e:
4790+ # be happy if someone already created the path
4791+ if e.errno != errno.EEXIST:
4792+ raise
4793+ logfile = open('/var/log/installer/dm', 'w')
4794+
4795+ signal.signal(signal.SIGUSR1, self.sigusr1_handler)
4796+ signal.signal(signal.SIGTTIN, signal.SIG_IGN)
4797+ signal.signal(signal.SIGTTOU, signal.SIG_IGN)
4798+
4799+ servercommand = ['X', '-br', '-ac', '-noreset', '-nolisten', 'tcp']
4800+
4801+ try:
4802+ plymouth_running = subprocess.call(['plymouth', '--ping']) == 0
4803+ except OSError:
4804+ plymouth_running = False
4805+ if plymouth_running:
4806+ subprocess.call(['plymouth', 'deactivate'])
4807+ if subprocess.call(['plymouth', '--has-active-vt']) == 0:
4808+ self.vt = 'vt%d' % self.active_vt()
4809+ servercommand.append('-nr')
4810+ else:
4811+ subprocess.call(['plymouth', 'quit'])
4812+ plymouth_running = False
4813+
4814+ servercommand.extend([self.vt, self.display])
4815+
4816+ for attempt in ('main', 'failsafe'):
4817+ command = list(servercommand)
4818+ if attempt == 'main' and self.force_failsafe:
4819+ continue
4820+ elif attempt == 'failsafe':
4821+ # TODO cjwatson 2010-02-11: This is a bodge. The
4822+ # duplication is nasty, but fortunately bullet-proof X
4823+ # actually turns out not to be very complicated nowadays.
4824+ # Most of the complexity is in the fallback session, which I
4825+ # haven't attempted to integrate here, so you won't get
4826+ # things like interactive reconfiguration. I believe Evan
4827+ # is working on doing that, but is blocked on a couple of
4828+ # Upstart bugs; once all that's resolved, we should back
4829+ # this out.
4830+ if os.path.exists('/dev/fb0'):
4831+ driver = 'fbdev'
4832+ else:
4833+ driver = 'vesa'
4834+ xorg_conf_failsafe = '/etc/X11/xorg.conf.failsafe'
4835+ command.extend(['-config', xorg_conf_failsafe])
4836+ command.extend(['-logfile', '/var/log/Xorg.failsafe.log'])
4837+
4838+ if not os.path.exists(xorg_conf_failsafe):
4839+ xorg_conf_failsafe_file = open(xorg_conf_failsafe, 'w')
4840+ print >>xorg_conf_failsafe_file, '''\
4841+Section "Device"
4842+ Identifier "Configured Video Device"
4843+ Driver "%s"
4844+EndSection
4845+
4846+Section "Monitor"
4847+ Identifier "Configured Monitor"
4848+EndSection
4849+
4850+Section "Screen"
4851+ Identifier "Default Screen"
4852+ Monitor "Configured Monitor"
4853+ Device "Configured Video Device"
4854+EndSection
4855+''' % driver
4856+ xorg_conf_failsafe_file.close()
4857+
4858+ server = subprocess.Popen(
4859+ command, stdin=null, stdout=logfile, stderr=logfile,
4860+ preexec_fn=self.server_preexec)
4861+
4862+ # Really we should select on a pipe or something, but it's not
4863+ # worth the effort for now.
4864+ try:
4865+ timeout = 60
4866+ while not self.server_started:
4867+ status = server.poll()
4868+ if type(status) is int and status != 0:
4869+ if plymouth_running:
4870+ subprocess.call(['plymouth', 'quit'])
4871+ raise XStartupError('X server exited with return code '
4872+ + str(status))
4873+ if timeout == 0:
4874+ if plymouth_running:
4875+ subprocess.call(['plymouth', 'quit'])
4876+ raise XStartupError('X server failed to start after 60'
4877+ ' seconds')
4878+ time.sleep(1)
4879+ timeout -= 1
4880+ if plymouth_running:
4881+ subprocess.call(['plymouth', 'quit', '--retain-splash'])
4882+ except XStartupError:
4883+ if attempt == 'failsafe':
4884+ raise
4885+
4886+ if self.server_started:
4887+ break
4888+
4889+ os.environ['DISPLAY'] = self.display
4890+ os.environ['HOME'] = self.homedir
4891+ # Give ubiquity a UID and GID that it can drop privileges to.
4892+ os.environ['SUDO_UID'] = str(self.uid)
4893+ os.environ['SUDO_GID'] = str(self.gid)
4894+ os.environ['GVFS_DISABLE_FUSE' ] = '1'
4895+
4896+ ck_open_session(self.uid)
4897+
4898+ # Session bus, apparently needed by most interfaces now
4899+ if ('DBUS_SESSION_BUS_ADDRESS' not in os.environ and
4900+ osextras.find_on_path('dbus-launch')):
4901+ dbus_subp = subprocess.Popen(
4902+ ['dbus-launch', '--exit-with-session'],
4903+ stdin=null, stdout=subprocess.PIPE, stderr=logfile,
4904+ preexec_fn=self.drop_privileges)
4905+ for line in dbus_subp.stdout:
4906+ try:
4907+ name, value = line.rstrip('\n').split('=', 1)
4908+ os.environ[name] = value
4909+ except ValueError:
4910+ pass
4911+ dbus_subp.stdout.close()
4912+ dbus_subp.wait()
4913+
4914+ gconfd_running = False
4915+ if (self.frontend == 'gtk_ui' and
4916+ osextras.find_on_path('gconftool-2')):
4917+ subprocess.call(['gconftool-2', '--spawn'],
4918+ stdin=null, stdout=logfile, stderr=logfile,
4919+ preexec_fn=self.drop_privileges)
4920+ gconfd_running = True
4921+
4922+ extras = []
4923+ if self.frontend == 'gtk_ui':
4924+ gconf_dir = ('xml:readwrite:%s' %
4925+ os.path.expanduser('~%s/.gconf' %
4926+ self.username))
4927+ accessibility = 'false'
4928+ if osextras.find_on_path('gconftool-2'):
4929+ subprocess.call(
4930+ ['gconftool-2', '--config-source', gconf_dir,
4931+ '--type', 'int', '--set',
4932+ '/apps/metacity/general/num_workspaces', '1',
4933+ '--type', 'boolean', '--set',
4934+ '/desktop/gnome/lockdown/disable_user_switching', 'true',
4935+ '--type', 'boolean', '--set',
4936+ '/desktop/gnome/lockdown/disable_lock_screen', 'true'],
4937+ stdin=null, stdout=logfile, stderr=logfile,
4938+ preexec_fn=self.drop_privileges)
4939+ subp = subprocess.Popen(
4940+ ['gconftool-2', '--config-source', gconf_dir,
4941+ '--get', '/desktop/gnome/interface/accessibility'],
4942+ stdout=subprocess.PIPE, stderr=subprocess.PIPE,
4943+ preexec_fn=self.drop_privileges)
4944+ accessibility = subp.communicate()[0].rstrip('\n')
4945+ # Accessibility infrastructure
4946+ if accessibility == 'true':
4947+ if os.path.exists('/usr/lib/at-spi/at-spi-registryd'):
4948+ extras.append(subprocess.Popen(
4949+ ['/usr/lib/at-spi/at-spi-registryd'],
4950+ stdin=null, stdout=logfile, stderr=logfile))
4951+ os.environ['GTK_MODULES'] = 'gail:atk-bridge'
4952+
4953+ maybe_drop_privileges = {}
4954+ if accessibility != 'true':
4955+ maybe_drop_privileges['preexec_fn'] = self.drop_privileges
4956+
4957+ # Don't show the background image in v1 accessibility profile. It
4958+ # is not shown in the GNOME desktop after all.
4959+ fp = open('/proc/cmdline', 'r')
4960+ if (os.access(background, os.R_OK) and
4961+ not 'access=v1' in fp.readline()):
4962+ import gtk
4963+ pixbuf = gtk.gdk.pixbuf_new_from_file(background)
4964+ root = gtk.gdk.get_default_root_window()
4965+ (root_width, root_height) = root.get_size()
4966+ scaled = pixbuf.scale_simple(root_width, root_height, gtk.gdk.INTERP_BILINEAR)
4967+ (pixmap, mask) = scaled.render_pixmap_and_mask(0)
4968+ root.set_back_pixmap(pixmap, False)
4969+ root.clear()
4970+ gtk.gdk.flush()
4971+ fp.close()
4972+
4973+ if self.frontend == 'gtk_ui':
4974+ if gconfd_running and osextras.find_on_path('metacity'):
4975+ wm_cmd = ['metacity', '--sm-disable']
4976+ elif osextras.find_on_path('xfwm4'):
4977+ wm_cmd = ['xfwm4']
4978+ elif osextras.find_on_path('matchbox-window-manager'):
4979+ wm_cmd = ['matchbox-window-manager']
4980+ elif osextras.find_on_path('openbox-lubuntu'):
4981+ wm_cmd = ['openbox-lubuntu']
4982+ else:
4983+ raise MissingProgramError('No window manager found (tried '
4984+ 'metacity, xfwm4, matchbox-window-manager, '
4985+ 'openbox-lubuntu)')
4986+ wm = subprocess.Popen(wm_cmd,
4987+ stdin=null, stdout=logfile, stderr=logfile,
4988+ **maybe_drop_privileges)
4989+
4990+ if os.path.exists('/usr/lib/gnome-settings-daemon/gnome-settings-daemon'):
4991+ proc = subprocess.Popen(
4992+ ['/usr/lib/gnome-settings-daemon/gnome-settings-daemon'],
4993+ stdin=null, stdout=logfile, stderr=logfile,
4994+ **maybe_drop_privileges)
4995+ proc.wait()
4996+ extras.append(proc)
4997+
4998+ if os.path.exists('/usr/bin/xfsettingsd'):
4999+ extras.append(subprocess.Popen(
5000+ ['xsetroot', '-solid', 'black'],
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches

to all changes: