diff --git a/AUTHORS b/AUTHORS index 6837f5811..33763f9da 100644 --- a/AUTHORS +++ b/AUTHORS @@ -18,7 +18,7 @@ Further patches have been submitted by: Karel Zak Damien Durand Charles Coffing - + Mark Cave-Ayland <...send a patch & get your name here...> diff --git a/COPYING-DOCS b/COPYING-DOCS new file mode 100644 index 000000000..b42936beb --- /dev/null +++ b/COPYING-DOCS @@ -0,0 +1,355 @@ + GNU Free Documentation License + Version 1.1, March 2000 + + Copyright (C) 2000 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +written document "free" in the sense of freedom: to assure everyone +the effective freedom to copy and redistribute it, with or without +modifying it, either commercially or noncommercially. Secondarily, +this License preserves for the author and publisher a way to get +credit for their work, while not being considered responsible for +modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work that contains a +notice placed by the copyright holder saying it can be distributed +under the terms of this License. The "Document", below, refers to any +such manual or work. Any member of the public is a licensee, and is +addressed as "you". + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (For example, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, whose contents can be viewed and edited directly and +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup has been designed to thwart or discourage +subsequent modification by readers is not Transparent. A copy that is +not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML designed for human modification. Opaque formats include +PostScript, PDF, proprietary formats that can be read and edited only +by proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML produced by some word processors for output +purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies of the Document numbering more than 100, +and the Document's license notice requires Cover Texts, you must enclose +the copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a publicly-accessible computer-network location containing a complete +Transparent copy of the Document, free of added material, which the +general network-using public has access to download anonymously at no +charge using public-standard network protocols. If you use the latter +option, you must take reasonably prudent steps, when you begin +distribution of Opaque copies in quantity, to ensure that this +Transparent copy will remain thus accessible at the stated location +until at least one year after the last time you distribute an Opaque +copy (directly or through your agents or retailers) of that edition to +the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has less than five). +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section entitled "History", and its title, and add to + it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. In any section entitled "Acknowledgements" or "Dedications", + preserve the section's title, and preserve in the section all the + substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section as "Endorsements" + or to conflict in title with any Invariant Section. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections entitled "History" +in the various original documents, forming one section entitled +"History"; likewise combine any sections entitled "Acknowledgements", +and any sections entitled "Dedications". You must delete all sections +entitled "Endorsements." + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, does not as a whole count as a Modified Version +of the Document, provided no compilation copyright is claimed for the +compilation. Such a compilation is called an "aggregate", and this +License does not apply to the other self-contained works thus compiled +with the Document, on account of their being thus compiled, if they +are not themselves derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one quarter +of the entire aggregate, the Document's Cover Texts may be placed on +covers that surround only the Document within the aggregate. +Otherwise they must appear on covers around the whole aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License provided that you also include the +original English version of this License. In case of a disagreement +between the translation and the original English version of this +License, the original English version will prevail. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.1 + or any later version published by the Free Software Foundation; + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + A copy of the license is included in the section entitled "GNU + Free Documentation License". + +If you have no Invariant Sections, write "with no Invariant Sections" +instead of saying which ones are invariant. If you have no +Front-Cover Texts, write "no Front-Cover Texts" instead of +"Front-Cover Texts being LIST"; likewise for Back-Cover Texts. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. diff --git a/Makefile.am b/Makefile.am index 27512f658..9f4c697ad 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ ACLOCAL_AMFLAGS = -I m4/ -SUBDIRS = src pixmaps po +SUBDIRS = src pixmaps po help -EXTRA_DIST = @PACKAGE@.spec +EXTRA_DIST = @PACKAGE@.spec COPYING-DOCS xmldocs.make omf.make DISTCLEAN_FILES = @PACKAGE@.spec diff --git a/configure.ac b/configure.ac index 607d81bc9..0a228df3a 100644 --- a/configure.ac +++ b/configure.ac @@ -9,6 +9,17 @@ AC_PYTHON_DEVEL([>= '2.3.4']) PKG_CHECK_MODULES(PYGTK2, pygtk-2.0 >= 1.99.11) PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.2.0) +dnl ==================================== +dnl = Begin tests for scrollkeeper +dnl ==================================== +AC_PATH_PROG(SCROLLKEEPER_CONFIG, scrollkeeper-config,no) +if test x$SCROLLKEEPER_CONFIG = xno; then + AC_MSG_ERROR(Couldn't find scrollkeeper-config. Please install the scrollkeeper package: http://scrollkeeper.sourceforge.net) +fi +dnl ==================================== +dnl = End tests for scrollkeeper +dnl ==================================== + AC_OUTPUT(Makefile pixmaps/Makefile po/Makefile @@ -16,4 +27,7 @@ AC_OUTPUT(Makefile src/virtManager/Makefile src/vncViewer/Makefile src/graphWidgets/Makefile - virt-manager.spec) + virt-manager.spec + help/Makefile + help/virt-manager/Makefile + help/virt-manager/C/Makefile) diff --git a/help/Makefile.am b/help/Makefile.am new file mode 100644 index 000000000..a07d5517e --- /dev/null +++ b/help/Makefile.am @@ -0,0 +1,2 @@ +SUBDIRS = \ + virt-manager diff --git a/help/virt-manager/C/Makefile.am b/help/virt-manager/C/Makefile.am new file mode 100644 index 000000000..f512ca935 --- /dev/null +++ b/help/virt-manager/C/Makefile.am @@ -0,0 +1,7 @@ +figdir = figures +docname = virt-manager +lang = C +omffile = virt-manager-C.omf +entities = fdl-appendix.xml legal.xml +include $(top_srcdir)/xmldocs.make +dist-hook: app-dist-hook diff --git a/help/virt-manager/C/fdl-appendix.xml b/help/virt-manager/C/fdl-appendix.xml new file mode 100644 index 000000000..707ea9941 --- /dev/null +++ b/help/virt-manager/C/fdl-appendix.xml @@ -0,0 +1,667 @@ + + + + + + Version 1.1, March 2000 + + + 2000Free Software Foundation, Inc. + + + +
Free Software Foundation, Inc. 59 Temple Place, + Suite 330, Boston, MA + 02111-1307 USA
+ Everyone is permitted to copy and distribute verbatim copies of this + license document, but changing it is not allowed. +
+
+
+ GNU Free Documentation License + + + 0. PREAMBLE + + The purpose of this License is to make a manual, textbook, or + other written document free in the sense of + freedom: to assure everyone the effective freedom to copy and + redistribute it, with or without modifying it, either + commercially or noncommercially. Secondarily, this License + preserves for the author and publisher a way to get credit for + their work, while not being considered responsible for + modifications made by others. + + + + This License is a kind of copyleft, which means + that derivative works of the document must themselves be free in + the same sense. It complements the GNU General Public License, + which is a copyleft license designed for free software. + + + + We have designed this License in order to use it for manuals for + free software, because free software needs free documentation: a + free program should come with manuals providing the same + freedoms that the software does. But this License is not limited + to software manuals; it can be used for any textual work, + regardless of subject matter or whether it is published as a + printed book. We recommend this License principally for works + whose purpose is instruction or reference. + + + + 1. APPLICABILITY AND DEFINITIONS + + This License applies to any manual or other work that contains a + notice placed by the copyright holder saying it can be + distributed under the terms of this License. The + Document, below, refers to any such manual or + work. Any member of the public is a licensee, and is addressed + as you. + + + + A Modified Version of the Document means any work + containing the Document or a portion of it, either copied + verbatim, or with modifications and/or translated into another + language. + + + + A Secondary Section is a named appendix or a + front-matter section of the Document that deals exclusively + with the relationship of the publishers or authors of the + Document to the Document's overall subject (or to related + matters) and contains nothing that could fall directly within + that overall subject. (For example, if the Document is in part a + textbook of mathematics, a Secondary Section may not explain any + mathematics.) The relationship could be a matter of historical + connection with the subject or with related matters, or of + legal, commercial, philosophical, ethical or political position + regarding them. + + + + The Invariant Sections are certain Secondary Sections whose titles + are designated, as being those of Invariant Sections, in the + notice that says that the Document is released under this + License. + + + + The Cover Texts are certain short passages of + text that are listed, as Front-Cover Texts or Back-Cover Texts, + in the notice that says that the Document is released under this + License. + + + + A Transparent copy of the Document means a machine-readable + copy, represented in a format whose specification is available + to the general public, whose contents can be viewed and edited + directly and straightforwardly with generic text editors or (for + images composed of pixels) generic paint programs or (for + drawings) some widely available drawing editor, and that is + suitable for input to text formatters or for automatic + translation to a variety of formats suitable for input to text + formatters. A copy made in an otherwise Transparent file format + whose markup has been designed to thwart or discourage + subsequent modification by readers is not Transparent. A copy + that is not Transparent is called + Opaque. + + + + Examples of suitable formats for Transparent copies include + plain ASCII without markup, Texinfo input format, LaTeX input + format, SGML or XML using a publicly available DTD, and + standard-conforming simple HTML designed for human + modification. Opaque formats include PostScript, PDF, + proprietary formats that can be read and edited only by + proprietary word processors, SGML or XML for which the DTD + and/or processing tools are not generally available, and the + machine-generated HTML produced by some word processors for + output purposes only. + + + + The Title Page means, for a printed book, the + title page itself, plus such following pages as are needed to + hold, legibly, the material this License requires to appear in + the title page. For works in formats which do not have any title + page as such, Title Page means the text near the + most prominent appearance of the work's title, preceding the + beginning of the body of the text. + + + + + 2. VERBATIM COPYING + + You may copy and distribute the Document in any medium, either + commercially or noncommercially, provided that this License, the + copyright notices, and the license notice saying this License + applies to the Document are reproduced in all copies, and that + you add no other conditions whatsoever to those of this + License. You may not use technical measures to obstruct or + control the reading or further copying of the copies you make or + distribute. However, you may accept compensation in exchange for + copies. If you distribute a large enough number of copies you + must also follow the conditions in section 3. + + + + You may also lend copies, under the same conditions stated + above, and you may publicly display copies. + + + + + 3. COPYING IN QUANTITY + + If you publish printed copies of the Document numbering more than 100, + and the Document's license notice requires Cover Texts, you must enclose + the copies in covers that carry, clearly and legibly, all these + Cover Texts: Front-Cover Texts on the front cover, and + Back-Cover Texts on the back cover. Both covers must also + clearly and legibly identify you as the publisher of these + copies. The front cover must present the full title with all + words of the title equally prominent and visible. You may add + other material on the covers in addition. Copying with changes + limited to the covers, as long as they preserve the title of the + Document and satisfy these + conditions, can be treated as verbatim copying in other + respects. + + + + If the required texts for either cover are too voluminous to fit + legibly, you should put the first ones listed (as many as fit + reasonably) on the actual cover, and continue the rest onto + adjacent pages. + + + + If you publish or distribute Opaque copies of the Document numbering more than 100, + you must either include a machine-readable Transparent copy along with + each Opaque copy, or state in or with each Opaque copy a + publicly-accessible computer-network location containing a + complete Transparent copy of the Document, free of added + material, which the general network-using public has access to + download anonymously at no charge using public-standard network + protocols. If you use the latter option, you must take + reasonably prudent steps, when you begin distribution of Opaque + copies in quantity, to ensure that this Transparent copy will + remain thus accessible at the stated location until at least one + year after the last time you distribute an Opaque copy (directly + or through your agents or retailers) of that edition to the + public. + + + + It is requested, but not required, that you contact the authors + of the Document well before + redistributing any large number of copies, to give them a chance + to provide you with an updated version of the Document. + + + + + 4. MODIFICATIONS + + You may copy and distribute a Modified Version of the Document under the conditions of + sections 2 and 3 above, provided that you release + the Modified Version under precisely this License, with the + Modified Version filling the role of the Document, thus + licensing distribution and modification of the Modified Version + to whoever possesses a copy of it. In addition, you must do + these things in the Modified Version: + + + + + + A + + Use in the Title + Page (and on the covers, if any) a title distinct + from that of the Document, and from those of + previous versions (which should, if there were any, be + listed in the History section of the Document). You may + use the same title as a previous version if the original + publisher of that version gives permission. + + + + + + + B + + List on the Title + Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the + Modified Version, + together with at least five of the principal authors of + the Document (all of + its principal authors, if it has less than five). + + + + + + + C + + State on the Title + Page the name of the publisher of the Modified Version, as the + publisher. + + + + + + + D + + Preserve all the copyright notices of the Document. + + + + + + + E + + Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. + + + + + + + F + + Include, immediately after the copyright notices, a + license notice giving the public permission to use the + Modified Version under + the terms of this License, in the form shown in the + Addendum below. + + + + + + + G + + Preserve in that license notice the full lists of Invariant Sections and + required Cover + Texts given in the Document's license notice. + + + + + + + H + + Include an unaltered copy of this License. + + + + + + + I + + Preserve the section entitled History, and + its title, and add to it an item stating at least the + title, year, new authors, and publisher of the Modified Version as given on + the Title Page. If + there is no section entitled History in the + Document, create one + stating the title, year, authors, and publisher of the + Document as given on its Title Page, then add an item + describing the Modified Version as stated in the previous + sentence. + + + + + + + J + + Preserve the network location, if any, given in the Document for public access + to a Transparent + copy of the Document, and likewise the network locations + given in the Document for previous versions it was based + on. These may be placed in the History + section. You may omit a network location for a work that + was published at least four years before the Document + itself, or if the original publisher of the version it + refers to gives permission. + + + + + + + K + + In any section entitled Acknowledgements or + Dedications, preserve the section's title, + and preserve in the section all the substance and tone of + each of the contributor acknowledgements and/or + dedications given therein. + + + + + + + L + + Preserve all the Invariant + Sections of the Document, unaltered in their + text and in their titles. Section numbers or the + equivalent are not considered part of the section titles. + + + + + + + M + + Delete any section entitled + Endorsements. Such a section may not be + included in the Modified + Version. + + + + + + + N + + Do not retitle any existing section as + Endorsements or to conflict in title with + any Invariant + Section. + + + + + + + If the Modified Version + includes new front-matter sections or appendices that qualify as + Secondary Sections and + contain no material copied from the Document, you may at your + option designate some or all of these sections as invariant. To + do this, add their titles to the list of Invariant Sections in the + Modified Version's license notice. These titles must be + distinct from any other section titles. + + + + You may add a section entitled Endorsements, + provided it contains nothing but endorsements of your Modified Version by various + parties--for example, statements of peer review or that the text + has been approved by an organization as the authoritative + definition of a standard. + + + + You may add a passage of up to five words as a Front-Cover Text, and a passage + of up to 25 words as a Back-Cover Text, to the end of + the list of Cover Texts + in the Modified Version. + Only one passage of Front-Cover Text and one of Back-Cover Text + may be added by (or through arrangements made by) any one + entity. If the Document + already includes a cover text for the same cover, previously + added by you or by arrangement made by the same entity you are + acting on behalf of, you may not add another; but you may + replace the old one, on explicit permission from the previous + publisher that added the old one. + + + + The author(s) and publisher(s) of the Document do not by this License + give permission to use their names for publicity for or to + assert or imply endorsement of any Modified Version . + + + + + 5. COMBINING DOCUMENTS + + You may combine the Document + with other documents released under this License, under the + terms defined in section 4 + above for modified versions, provided that you include in the + combination all of the Invariant + Sections of all of the original documents, unmodified, + and list them all as Invariant Sections of your combined work in + its license notice. + + + + The combined work need only contain one copy of this License, + and multiple identical Invariant + Sections may be replaced with a single copy. If there are + multiple Invariant Sections with the same name but different + contents, make the title of each such section unique by adding + at the end of it, in parentheses, the name of the original + author or publisher of that section if known, or else a unique + number. Make the same adjustment to the section titles in the + list of Invariant Sections in the license notice of the combined + work. + + + + In the combination, you must combine any sections entitled + History in the various original documents, + forming one section entitled History; likewise + combine any sections entitled Acknowledgements, + and any sections entitled Dedications. You must + delete all sections entitled Endorsements. + + + + + 6. COLLECTIONS OF DOCUMENTS + + You may make a collection consisting of the Document and other documents + released under this License, and replace the individual copies + of this License in the various documents with a single copy that + is included in the collection, provided that you follow the + rules of this License for verbatim copying of each of the + documents in all other respects. + + + + You may extract a single document from such a collection, and + dispbibute it individually under this License, provided you + insert a copy of this License into the extracted document, and + follow this License in all other respects regarding verbatim + copying of that document. + + + + + 7. AGGREGATION WITH INDEPENDENT WORKS + + A compilation of the Document or its derivatives with + other separate and independent documents or works, in or on a + volume of a storage or distribution medium, does not as a whole + count as a Modified Version + of the Document, provided no compilation copyright is claimed + for the compilation. Such a compilation is called an + aggregate, and this License does not apply to the + other self-contained works thus compiled with the Document , on + account of their being thus compiled, if they are not themselves + derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these + copies of the Document, then if the Document is less than one + quarter of the entire aggregate, the Document's Cover Texts may + be placed on covers that surround only the Document within the + aggregate. Otherwise they must appear on covers around the whole + aggregate. + + + + + 8. TRANSLATION + + Translation is considered a kind of modification, so you may + distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with + translations requires special permission from their copyright + holders, but you may include translations of some or all + Invariant Sections in addition to the original versions of these + Invariant Sections. You may include a translation of this + License provided that you also include the original English + version of this License. In case of a disagreement between the + translation and the original English version of this License, + the original English version will prevail. + + + + + 9. TERMINATION + + You may not copy, modify, sublicense, or distribute the Document except as expressly + provided for under this License. Any other attempt to copy, + modify, sublicense or distribute the Document is void, and will + automatically terminate your rights under this License. However, + parties who have received copies, or rights, from you under this + License will not have their licenses terminated so long as such + parties remain in full compliance. + + + + + 10. FUTURE REVISIONS OF THIS LICENSE + + The Free Software + Foundation may publish new, revised versions of the GNU + Free Documentation License from time to time. Such new versions + will be similar in spirit to the present version, but may differ + in detail to address new problems or concerns. See http://www.gnu.org/copyleft/. + + + + Each version of the License is given a distinguishing version + number. If the Document + specifies that a particular numbered version of this License + or any later version applies to it, you have the + option of following the terms and conditions either of that + specified version or of any later version that has been + published (not as a draft) by the Free Software Foundation. If + the Document does not specify a version number of this License, + you may choose any version ever published (not as a draft) by + the Free Software Foundation. + + + + + Addendum + + To use this License in a document you have written, include a copy of + the License in the document and put the following copyright and + license notices just after the title page: + + +
+ + Copyright YEAR YOUR NAME. + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the + Free Software Foundation; with the Invariant Sections being LIST + THEIR TITLES, with the Front-Cover Texts being LIST, + and with the Back-Cover + Texts being LIST. A copy of the license is included in + the section entitled GNU Free Documentation + License. + +
+ + + If you have no Invariant + Sections, write with no Invariant Sections + instead of saying which ones are invariant. If you have no + Front-Cover Texts, write + no Front-Cover Texts instead of + Front-Cover Texts being LIST; likewise for Back-Cover Texts. + + + + If your document contains nontrivial examples of program code, + we recommend releasing these examples in parallel under your + choice of free software license, such as the GNU General Public + License, to permit their use in free software. + +
+
+ + diff --git a/help/virt-manager/C/figures/vm-connection-window.png b/help/virt-manager/C/figures/vm-connection-window.png new file mode 100755 index 000000000..749a18752 Binary files /dev/null and b/help/virt-manager/C/figures/vm-connection-window.png differ diff --git a/help/virt-manager/C/figures/vm-manager-window.png b/help/virt-manager/C/figures/vm-manager-window.png new file mode 100755 index 000000000..16ab33c8b Binary files /dev/null and b/help/virt-manager/C/figures/vm-manager-window.png differ diff --git a/help/virt-manager/C/legal.xml b/help/virt-manager/C/legal.xml new file mode 100644 index 000000000..ac97e1de4 --- /dev/null +++ b/help/virt-manager/C/legal.xml @@ -0,0 +1,76 @@ + + + Permission is granted to copy, distribute and/or modify this + document under the terms of the GNU Free Documentation + License (GFDL), Version 1.1 or any later version published + by the Free Software Foundation with no Invariant Sections, + no Front-Cover Texts, and no Back-Cover Texts. You can find + a copy of the GFDL at this link or in the file COPYING-DOCS + distributed with this manual. + + This manual is part of a collection of GNOME manuals + distributed under the GFDL. If you want to distribute this + manual separately from the collection, you can do so by + adding a copy of the license to the manual, as described in + section 6 of the license. + + + + Many of the names used by companies to distinguish their + products and services are claimed as trademarks. Where those + names appear in any GNOME documentation, and the members of + the GNOME Documentation Project are made aware of those + trademarks, then the names are in capital letters or initial + capital letters. + + + + DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED + UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE + WITH THE FURTHER UNDERSTANDING THAT: + + + + DOCUMENT IS PROVIDED ON AN "AS IS" BASIS, + WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR + IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES + THAT THE DOCUMENT OR MODIFIED VERSION OF THE + DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR + A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE + RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE + OF THE DOCUMENT OR MODIFIED VERSION OF THE + DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR + MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, + YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY + CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY + SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER + OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS + LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED + VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER + EXCEPT UNDER THIS DISCLAIMER; AND + + + + UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL + THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), + CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, + INITIAL WRITER, ANY CONTRIBUTOR, OR ANY + DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION + OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH + PARTIES, BE LIABLE TO ANY PERSON FOR ANY + DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR + CONSEQUENTIAL DAMAGES OF ANY CHARACTER + INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS + OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR + MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR + LOSSES ARISING OUT OF OR RELATING TO USE OF THE + DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, + EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF + THE POSSIBILITY OF SUCH DAMAGES. + + + + + + diff --git a/help/virt-manager/C/virt-manager-C.omf b/help/virt-manager/C/virt-manager-C.omf new file mode 100644 index 000000000..2756999c6 --- /dev/null +++ b/help/virt-manager/C/virt-manager-C.omf @@ -0,0 +1,27 @@ + + + + + hbrock@redhat.com (Hugh Brock) + + + Virtual Machine Manager Manual + + + 2007-03-01 + + + + + This is the manual for the Virtual Machine Manager application. + + + manual + + + + + + + + diff --git a/help/virt-manager/C/virt-manager.xml b/help/virt-manager/C/virt-manager.xml new file mode 100644 index 000000000..1af21658d --- /dev/null +++ b/help/virt-manager/C/virt-manager.xml @@ -0,0 +1,519 @@ + + + + + + + +]> + + + + + + + + +
+ + + + + Virtual Machine Manager Manual + + 2007 + Red Hat Inc., and Hugh Brock + + + + + + Red Hat Inc. + + + &legal; + + + + + Hugh + Brock + + Red Hat Inc. +
hbrock@redhat.com
+
+
+ + Daniel + Berrange + + Red Hat Inc. +
berrange@redhat.com
+
+
+ +
+ + + + + + + + + + + + + + + This manual describes how to manage virtual machines + with the Virtual Machine Manager program. + + + Feedback + To report a bug or make a suggestion regarding this package or + this manual, follow the directions in the + GNOME Feedback Page. + + + +
+ + + + + Introduction + + + About <application>&app;</application> + + virt-manager + About + + + &app; is a GUI tool for managing virtual + machines. It helps you create, destroy, edit, monitor, save, restore, + pause, and use the console on virtual machines running on multiple + hypervisors (and, soon, multiple physical hosts). Because + &app; relies entirely on + libvirt (http://libvirt.org), the platform- and + hypervisor-independent virtualization library, it is insulated from + hypervisor API changes and virtualization system changes. + + + &app; is released under the GNU General Public + License. Contributions of source code patches are welcome and encouraged + at virt-manager.org, where you will + also find plans for future development. + + + + About this Document + + This document is released under the GNU Free Documentation + License. Corrections are welcome and encouraged at virt-manager.org. + + + + + + Getting Started + + + This section describes the different ways to start + &app;, the command-line options that are + available, and the various options in the Connection window. + + + Starting virt-manager + You can start + virt-manager from the Applications menu or from the command + line + + + From the Applications menu: + + Choose System + ToolsVirtual Machine Manager. + + + + From the command line: + + Execute the following command: virt-manager + + + + + + + The Connection Window + The connection window + lets you choose the type of hypervisor to connect to, and also + whether to connect locally or to a remote machine. + When you start &app;, the following window is displayed: + +
+ Connection Window + + + + + + Shows &app; connection window. + + + +
+ + The Connection Window contains the following + elements: + + Hypervisor pull-down + + The Hypervisor pull-down lets you choose a supported hypervisor to + connect to. The hypervisor must be started before you can connect to it. + + + "Host Type" radio buttons + + The "Host Type" radio buttons let you choose whether to connect to + a hypervisor on the local physical host, or (soon) a hypervisor on a + remote physical host. + + + The "Host" box lets you enter the hostname of a remote host to + connect to. + + + Read-only connection + + Checking "Read-only connection" will allow you to + monitor a hypervisor's virtual machines, but not make any changes to + them. If you are running as an unprivileged user, you may only be able + to connect to certain hypervisors read-only. + + + +
+ + Command-line Options + If you run &app; from the command line, you can specify a hypervisor + URI to connect to, bypassing the Connection Window. You can also make + specific &app; windows appear using the command line, if you have already + established a connection to a hypervisor. The command line options are: + + -h, --help: show command line help and exit + + + --profile=FILE: Generate runtime performance profile stats + + + -c URI, --connect=URI: Connect to hypervisor at + URI + + + --no-dbus: Disable DBus service for controlling + UI + + + --show-domain-creator: Create a new virtual + machine + + + --show-domain-editor=UUID: Edit a domain + configuration + + + --show-domain-performance=UUID: Show a domain + performance + + + --show-domain-console=UUID: Show a domain + console + + + --show-host-summary: Show a host summary + + + + Hypervisor URIs and the test hypervisor To connect to + a local Xen hypervisor, the URI is simply "xen" (the + default). To connect to a local QEMU session, the URI is + "qemu:///session". There is also a test hypervisor that is + handy if you are trying to test a new &app; feature you have added. Its + URI is "test:///default". + + +
+ + + The Manager Window + The manager window gives you a quick snapshot of the virtual machines + that are available on your physical host. It displays both the virtual + machines that are actually running + on your physical host, and also the virtual machines for which it finds + config information even though they are not running. For running virtual + machines, the manager window displays the resources those running VMs are + consuming. The manager window is customizable as described below. + +
+ Manager Window + + + + + + Shows a typical Manager Window. + + + +
+ + + The Virtual Machine List + The manager window is dominated by a list of the virtual machines on your + physical host. By default, the list has six columns of information: + + ID + + The arbitrarily assigned ID number for the + virtual machine. Guaranteed unique only while a virtual machine is + running, and only to that particular host. + + + Name + + The name of the virtual machine. Like the ID, guaranteed unique + only among running virtual machines on a particular host. + + + Status + + The virtual machine's status. One of Running, + Paused, Shutdown, + Shutoff, or Crashed. + + + CPU Usage + + The virtual machine's CPU usage, as a percentage of total CPU + usage and as a running graph. + + + VCPUs + + The number of VCPUs currently assigned to the guest. This + allocation can be changed on the fly for paravirtualized + guests. + + + Memory Usage + + The amount of memory allocated to the virtual machine, and the percentage + of total physical RAM on the host that the virtual machine is actually + using (the percentage will be zero if the guest is not currently + running). Note: The amount of memory for a virtual machine is the + amount it is currently allocated, not the maximum it could be + allocated. See the help for the . + + + + + + + File Menu Choices + The File menu in the Manager window gives you the following + options: + + New machine... + Starts the virtual machine creation wizard. Clicking the + New button at the bottom of the window has the + same effect. + + + Restore saved machine... + Restores a previously saved virtual machine. You must + choose the memory image of a previously saved virtual machine in the + dialog that will follow. + + + Open connection... + Brings up the connection window again. You can connect to + multiple hypervisors at the same time with + &app;. At this writing opening a new + connection brings up a new manager window; soon the manager window will + display multiple connections to multiple machines. + + + Close + Closes the Manager window. Any other + &app; windows you have open will remain open. + + + Quit + Closes the Manager window and any other open windows and + stops the application. Note that any virtual machines running on the + host will continue running regardless of whether + &app; is running or not. + + + + + + + Edit Menu Choices + The choices on the Edit menu are for working with + a specific machine, or for changing &app; + preferences. + + Machine details... + Opens the Details window for the virtual machine you have + highlighted in the list. + + + Delete machine + Deletes the configuration of an inactive virtual machine you have + highlighted in the list. Note that this does not touch the virtual + machine's disk storage. + + + Preferences + Brings up the + + + + + + View Menu Choices + The View Menu choices toggle on and off the virtual machine list + columns that are described above. + +
+ + + The Details Window + You manage the details of a specific virtual machine here + + + + The Console Window + You view the console of a specific virtual machine here + + + + The Preferences Window + You set application preferences here + + + + The Create Wizard + You create new virtual machines here + + The System Name screen + Choose a name for your virtual system. The name must be non-blank, + alphanumeric (plus underscores), contain at least one letter, and be less + than 50 characters. + + + + The Virtualization Method screen + Choose a virtualization method for your new system. + + + + The Installation Media screens + Choose installation media for your new system. + + + + The Storage Space screen + Assign storage space for your new system. + + + + The Memory And CPU screen + Choose memory and cpu for your new system + + + + The Validation screen + Verify the setup for your new system. If you need to, back up and + make changes. Clicking "Finish" will begin creating your virtual + machine. + + + + &GFDL; + +
+ + diff --git a/help/virt-manager/Makefile.am b/help/virt-manager/Makefile.am new file mode 100644 index 000000000..42ffacc26 --- /dev/null +++ b/help/virt-manager/Makefile.am @@ -0,0 +1 @@ +SUBDIRS = C diff --git a/omf.make b/omf.make new file mode 100644 index 000000000..3261e0015 --- /dev/null +++ b/omf.make @@ -0,0 +1,53 @@ +# +# No modifications of this Makefile should be necessary. +# +# This file contains the build instructions for installing OMF files. It is +# generally called from the makefiles for particular formats of documentation. +# +# Note that you must configure your package with --localstatedir=/var/lib +# so that the scrollkeeper-update command below will update the database +# in the standard scrollkeeper directory. +# +# If it is impossible to configure with --localstatedir=/var/lib, then +# modify the definition of scrollkeeper_localstate_dir so that +# it points to the correct location. Note that you must still use +# $(localstatedir) in this or when people build RPMs it will update +# the real database on their system instead of the one under RPM_BUILD_ROOT. +# +# Note: This make file is not incorporated into xmldocs.make because, in +# general, there will be other documents install besides XML documents +# and the makefiles for these formats should also include this file. +# +# About this file: +# This file was taken from scrollkeeper_example2, a package illustrating +# how to install documentation and OMF files for use with ScrollKeeper +# 0.3.x and 0.4.x. For more information, see: +# http://scrollkeeper.sourceforge.net/ +# Version: 0.1.2 (last updated: March 20, 2002) +# + +omf_dest_dir=$(datadir)/omf/@PACKAGE@ +scrollkeeper_localstate_dir = $(localstatedir)/scrollkeeper + +omf: omf_timestamp + +omf_timestamp: $(omffile) + -for file in $(omffile); do \ + scrollkeeper-preinstall $(docdir)/$(docname).xml $(srcdir)/$$file $$file.out; \ + done + touch omf_timestamp + +install-data-hook-omf: + $(mkinstalldirs) $(DESTDIR)$(omf_dest_dir) + for file in $(omffile); do \ + $(INSTALL_DATA) $$file.out $(DESTDIR)$(omf_dest_dir)/$$file; \ + done + -scrollkeeper-update -p $(scrollkeeper_localstate_dir) -o $(DESTDIR)$(omf_dest_dir) + +uninstall-local-omf: + -for file in $(srcdir)/*.omf; do \ + basefile=`basename $$file`; \ + rm -f $(omf_dest_dir)/$$basefile; \ + done + -rmdir $(omf_dest_dir) + -scrollkeeper-update -p $(scrollkeeper_localstate_dir) diff --git a/src/Makefile.am b/src/Makefile.am index bee992b7d..f136c7495 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -46,6 +46,7 @@ EXTRA_DIST = $(bin_SOURCES) $(desktop_SOURCES) $(dbus_SOURCES) $(python_SOURCES) -e "s,::ASSETDIR::,$(pkgdatadir)," \ -e "s,::PYLIBDIR::,$(pkgdatadir)," \ -e "s,::GETTEXTDIR::,$(datadir)/locale," \ + -e "s,::DATADIR::,$(datadir)," \ -e "s,::PYARCHLIBDIR::,$(pkglibdir)," < $< > $@ $(PACKAGE): $(srcdir)/$(PACKAGE).in diff --git a/src/virt-manager.py.in b/src/virt-manager.py.in index c254190ac..94ca6d764 100755 --- a/src/virt-manager.py.in +++ b/src/virt-manager.py.in @@ -81,12 +81,15 @@ glade_dir = asset_dir icon_dir = asset_dir + "/pixmaps" pylib_dir = "::PYLIBDIR::" pyarchlib_dir = "::PYARCHLIBDIR::" +data_dir = "::DATADIR::" # Hack for dev purposes if os.path.exists(os.getcwd() + "/src/vmm-about.glade"): glade_dir = os.getcwd() + "/src" if os.path.exists(os.getcwd() + "/pixmaps/icon_run.png"): icon_dir = os.getcwd() + "/pixmaps" +if os.path.exists(os.getcwd() + "../gnome/help/virt-manager/C/virt-manager.xml"): + data_dir = os.getcwd() + "../" if os.path.exists(os.getcwd() + "/src/virt-manager.py"): sys.path.insert(0, os.getcwd() + "/src/graphWidgets/.libs") @@ -168,7 +171,7 @@ def main(): if options.show and options.uri==None: raise OptionValueError("can't use --show-* options without --connect") - config = vmmConfig(appname, appversion, gconf_dir, glade_dir, icon_dir) + config = vmmConfig(appname, appversion, gconf_dir, glade_dir, icon_dir, data_dir) engine = vmmEngine(config) if not(options.nodbus) and not( (os.getenv("DBUS_SESSION_BUS_ADDRESS") is None ) and ( os.getenv("DBUS_STARTER_ADDRESS") is None ) ): try: diff --git a/src/virtManager/config.py b/src/virtManager/config.py index c8fab3b01..af648832c 100644 --- a/src/virtManager/config.py +++ b/src/virtManager/config.py @@ -33,7 +33,7 @@ CONSOLE_KEYGRAB_FULLSCREEN = 1 CONSOLE_KEYGRAB_MOUSEOVER = 2 class vmmConfig: - def __init__(self, appname, appversion, gconf_dir, glade_dir, icon_dir): + def __init__(self, appname, appversion, gconf_dir, glade_dir, icon_dir, data_dir): self.appname = appname self.appversion = appversion self.conf_dir = gconf_dir @@ -43,6 +43,7 @@ class vmmConfig: self.glade_dir = glade_dir self.icon_dir = icon_dir + self.data_dir = data_dir # We don't create it straight away, since we don't want # to block the app pending user authorizaation to access # the keyring @@ -76,6 +77,9 @@ class vmmConfig: def get_icon_dir(self): return self.icon_dir + def get_data_dir(self): + return self.data_dir + def is_vmlist_domain_id_visible(self): return self.conf.get_bool(self.conf_dir + "/vmlist-fields/domain_id") diff --git a/src/virtManager/engine.py b/src/virtManager/engine.py index 6d84fb7d8..57f4a2688 100644 --- a/src/virtManager/engine.py +++ b/src/virtManager/engine.py @@ -21,6 +21,7 @@ import gtk import sys import libvirt import logging +import gnome from virtManager.about import vmmAbout from virtManager.connect import vmmConnect @@ -166,6 +167,8 @@ class vmmEngine: self.show_details(uri, uuid) def _do_show_create(self, src, uri): self.show_create(uri) + def _do_show_help(self, src, index): + self.show_help(index) def _do_show_console(self, src, uri, uuid): self.show_console(uri, uuid) def _do_show_terminal(self, src, uri, uuid): @@ -180,6 +183,15 @@ class vmmEngine: self.windowAbout = vmmAbout(self.get_config()) self.windowAbout.show() + def show_help(self, index): + try: + props = { gnome.PARAM_APP_DATADIR : self.config.get_data_dir()} + prog = gnome.program_init(self.config.get_appname(), self.config.get_appversion(), \ + properties=props) + gnome.help_display(self.config.get_appname(), index) + except gobject.GError, e: + logging.error((("Unable to display documentation:\n%s") % e)) + def show_preferences(self): if self.windowPreferences == None: self.windowPreferences = vmmPreferences(self.get_config()) @@ -247,6 +259,7 @@ class vmmEngine: manager.connect("action-show-details", self._do_show_details) manager.connect("action-show-preferences", self._do_show_preferences) manager.connect("action-show-create", self._do_show_create) + manager.connect("action-show-help", self._do_show_help) manager.connect("action-show-about", self._do_show_about) manager.connect("action-show-connect", self._do_show_connect) self.connections[uri]["windowManager"] = manager diff --git a/src/virtManager/manager.py b/src/virtManager/manager.py index ae55ad45f..3580fc64a 100644 --- a/src/virtManager/manager.py +++ b/src/virtManager/manager.py @@ -23,6 +23,7 @@ import gtk.glade import threading import sparkline +import libvirt from virtManager.asyncjob import vmmAsyncJob @@ -48,7 +49,10 @@ class vmmManager(gobject.GObject): "action-show-preferences": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, []), "action-show-create": (gobject.SIGNAL_RUN_FIRST, + gobject.TYPE_NONE, [str]), + "action-show-help": (gobject.SIGNAL_RUN_FIRST, gobject.TYPE_NONE, [str]),} + def __init__(self, config, connection): self.__gobject_init__() self.window = gtk.glade.XML(config.get_glade_dir() + "/vmm-manager.glade", "vmm-manager", domain="virt-manager") @@ -86,10 +90,49 @@ class vmmManager(gobject.GObject): self.window.get_widget("vm-view").set_active(0) + self.vmmenu_icons = {} + self.vmmenu_icons["run"] = gtk.Image() + self.vmmenu_icons["run"].set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(self.config.get_icon_dir() + "/icon_run.png", 18, 18)) + self.vmmenu_icons["pause"] = gtk.Image() + self.vmmenu_icons["pause"].set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(self.config.get_icon_dir() + "/icon_pause.png", 18, 18)) + self.vmmenu_icons["resume"] = gtk.Image() + self.vmmenu_icons["resume"].set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(self.config.get_icon_dir() + "/icon_pause.png", 18, 18)) + self.vmmenu_icons["shutdown"] = gtk.Image() + self.vmmenu_icons["shutdown"].set_from_pixbuf(gtk.gdk.pixbuf_new_from_file_at_size(self.config.get_icon_dir() + "/icon_shutdown.png", 18, 18)) + self.vmmenu = gtk.Menu() self.vmmenu_items = {} - self.vmmenu_items["details"] = gtk.MenuItem("_Details") + self.vmmenu_items["run"] = gtk.ImageMenuItem("_Run") + self.vmmenu_items["run"].set_image(self.vmmenu_icons["run"]) + self.vmmenu_items["run"].show() + self.vmmenu_items["run"].connect("activate", self.start_vm) + self.vmmenu.add(self.vmmenu_items["run"]) + + self.vmmenu_items["pause"] = gtk.ImageMenuItem("_Pause") + self.vmmenu_items["pause"].set_image(self.vmmenu_icons["pause"]) + self.vmmenu_items["pause"].set_sensitive(False) + self.vmmenu_items["pause"].show() + self.vmmenu_items["pause"].connect("activate", self.pause_vm) + self.vmmenu.add(self.vmmenu_items["pause"]) + + self.vmmenu_items["resume"] = gtk.ImageMenuItem("_Resume") + self.vmmenu_items["resume"].set_image(self.vmmenu_icons["resume"]) + self.vmmenu_items["resume"].show() + self.vmmenu_items["resume"].connect("activate", self.resume_vm) + self.vmmenu.add(self.vmmenu_items["resume"]) + + self.vmmenu_items["shutdown"] = gtk.ImageMenuItem("_Shutdown") + self.vmmenu_items["shutdown"].set_image(self.vmmenu_icons["shutdown"]) + self.vmmenu_items["shutdown"].show() + self.vmmenu_items["shutdown"].connect("activate", self.stop_vm) + self.vmmenu.add(self.vmmenu_items["shutdown"]) + + self.vmmenu_items["hsep"] = gtk.SeparatorMenuItem() + self.vmmenu_items["hsep"].show(); + self.vmmenu.add(self.vmmenu_items["hsep"]) + + self.vmmenu_items["details"] = gtk.ImageMenuItem("_Details") self.vmmenu_items["details"].connect("activate", self.show_vm_details) self.vmmenu_items["details"].show() self.vmmenu.add(self.vmmenu_items["details"]) @@ -99,7 +142,7 @@ class vmmManager(gobject.GObject): self.vmmenu_items["open"].show() self.vmmenu.add(self.vmmenu_items["open"]) - self.vmmenu.show_all() + self.vmmenu.show() # Mapping of VM UUID -> tree model rows to # allow O(1) access instead of O(n) @@ -134,6 +177,7 @@ class vmmManager(gobject.GObject): "on_menu_edit_preferences_activate": self.show_preferences, "on_menu_help_about_activate": self.show_about, + "on_menu_help_activate": self.show_help, }) self.vm_selected(None) @@ -402,12 +446,45 @@ class vmmManager(gobject.GObject): def popup_vm_menu(self, widget, event): vm = self.current_vm() if vm != None: + + # Update popup menu based upon vm status + if vm.is_read_only() == True: + self.vmmenu_items["run"].set_sensitive(False) + self.vmmenu_items["pause"].set_sensitive(False) + self.vmmenu_items["resume"].hide() + self.vmmenu_items["resume"].set_sensitive(False) + self.vmmenu_items["shutdown"].set_sensitive(False) + else: + if vm.status() == libvirt.VIR_DOMAIN_SHUTOFF: + self.vmmenu_items["run"].set_sensitive(True) + self.vmmenu_items["pause"].set_sensitive(False) + self.vmmenu_items["resume"].hide() + self.vmmenu_items["resume"].set_sensitive(False) + self.vmmenu_items["shutdown"].set_sensitive(False) + elif vm.status() == libvirt.VIR_DOMAIN_RUNNING: + self.vmmenu_items["run"].set_sensitive(False) + self.vmmenu_items["pause"].set_sensitive(True) + self.vmmenu_items["resume"].hide() + self.vmmenu_items["resume"].set_sensitive(False) + self.vmmenu_items["shutdown"].set_sensitive(True) + elif vm.status() == libvirt.VIR_DOMAIN_PAUSED: + self.vmmenu_items["run"].set_sensitive(False) + self.vmmenu_items["pause"].hide() + self.vmmenu_items["pause"].set_sensitive(False) + self.vmmenu_items["resume"].show() + self.vmmenu_items["resume"].set_sensitive(True) + self.vmmenu_items["shutdown"].set_sensitive(True) + if event.button == 3: self.vmmenu.popup(None, None, None, 0, event.time) def show_about(self, src): self.emit("action-show-about") + def show_help(self, src): + # From the manager window, show the help document from the beginning + self.emit("action-show-help", None) #No 'id', load the front page + def show_preferences(self, src): self.emit("action-show-preferences") @@ -597,4 +674,21 @@ class vmmManager(gobject.GObject): data.reverse() cell.set_property('data_array', data) + def start_vm(self, ignore): + vm = self.current_vm() + vm.startup() + + def stop_vm(self, ignore): + vm = self.current_vm() + vm.shutdown() + + def pause_vm(self, ignore): + vm = self.current_vm() + vm.suspend() + + def resume_vm(self, ignore): + vm = self.current_vm() + vm.resume() + + gobject.type_register(vmmManager) diff --git a/src/vmm-create.glade.orig b/src/vmm-create.glade.orig new file mode 100644 index 000000000..078d0fe22 --- /dev/null +++ b/src/vmm-create.glade.orig @@ -0,0 +1,4381 @@ + + + + + + + True + Create a new virtual system + GTK_WINDOW_TOPLEVEL + GTK_WIN_POS_NONE + False + True + False + True + False + False + GDK_WINDOW_TYPE_HINT_NORMAL + GDK_GRAVITY_NORTH_WEST + True + False + + + + + True + False + 0 + + + + 2 + True + True + True + True + GTK_POS_TOP + False + False + + + + + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Creating a new virtual system </span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + This assistant will guide you through creating a new virtual system. You will be asked for some information about the virtual system you'd like to create, such as: + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 20 + 10 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 25 + 0 + + + + True + 5 + 2 + False + 13 + 8 + + + + True + A <b>name</b> for your new virtual system + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 6 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + + + + + + + True + The <b>location</b> of the files necessary for installing an operating system on the virtual system + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 6 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + <b>Storage</b> details - which disk partitions or files the system should use + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 6 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + + True + <b>Memory</b> and <b>CPU</b> allocation + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 6 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + fill + + + + + + + True + Whether the system will be <b>fully virtualized</b> or <b>para-virtualized</b> + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 6 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + fill + + + + + + + True + <small>●</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + <small>●</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + <small>●</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + <small>●</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + <small>●</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 4 + 5 + fill + + + + + + + + 0 + True + True + + + + + 0 + True + True + + + + + False + True + + + + + + True + Intro + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Naming your virtual system </span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + Please choose a name for your virtual system: + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 20 + 10 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 25 + 0 + + + + True + 2 + 2 + False + 3 + 4 + + + + True + System _Name: + True + True + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 0 + 0 + create-vm-name + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + False + 0 + + + + True + 4 + gtk-info + 0.5 + 0.5 + 0 + 0 + + + 0 + False + True + + + + + + True + <b>Example:</b> system1 + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 7 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 1 + 2 + 1 + 2 + fill + fill + + + + + + True + True + True + True + 50 + + True + + False + + + 1 + 2 + 0 + 1 + + + + + + + + 0 + True + True + + + + + 0 + True + True + + + + + False + True + + + + + + True + Name + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Choosing a virtualization method</span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + You will need to choose a virtualization method for your new system: + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 20 + 10 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 25 + 0 + + + + True + False + 0 + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + True + True + _Paravirtualized: + True + GTK_RELIEF_NORMAL + True + True + False + True + + + + + 0 + True + True + + + + + + True + Lightweight method of virtualizing machines. Limits operating system choices because the OS must be specially modified to support paravirtualization. Better performance than fully virtualized systems. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 21 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0 + 1 + 0 + 5 + 0 + 0 + 0 + + + + True + True + F_ully Virtualized: + True + GTK_RELIEF_NORMAL + True + False + False + True + virt-method-pv + + + + + 0 + True + True + + + + + + True + Involves hardware simulation, allowing for a greater range of operating systems (does not require OS modification). Slower than paravirtualized systems. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 21 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + False + 0 + + + + True + 0.5 + 0.10000000149 + 1 + 0.10000000149 + 0 + 0 + 5 + 0 + + + + True + gtk-dialog-info + 4 + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 3 + 0 + + + + True + <small><b>Note:</b> The host CPU(s) in this machine do not have support for full virtualization.</small> + False + True + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + 0 + False + False + + + + + 4 + False + False + + + + + + True + False + 0 + + + + True + 0.5 + 0.10000000149 + 1 + 0.10000000149 + 0 + 0 + 5 + 0 + + + + True + gtk-dialog-warning + 4 + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 3 + 0 + + + + True + <small><b>Note:</b> The host CPU(s) in this machine support full virtualization, but it is not enabled by the BIOS.</small> + False + True + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + 0 + False + False + + + + + 4 + True + True + + + + + + + 0 + False + True + + + + + 0 + True + True + + + + + False + True + + + + + + True + Type + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Locating installation media</span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + Please indicate where installation media is available for the operating system you would like to install on this <b>fully virtualized</b> virtual system: + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 20 + 10 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 25 + 0 + + + + True + 5 + 3 + False + 2 + 0 + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 1 + 1 + 2 + fill + fill + + + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + True + True + _ISO Image Location: + True + GTK_RELIEF_NORMAL + True + True + False + True + + + + + + 0 + 2 + 0 + 1 + fill + fill + + + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + True + True + _CD-ROM or DVD: + True + GTK_RELIEF_NORMAL + True + False + False + True + media-iso-image + + + + + + 0 + 3 + 3 + 4 + fill + fill + + + + + + True + False + 0 + + + + True + True + True + True + 0 + + True + + False + + + 0 + True + True + + + + + + True + True + _Browse... + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + 2 + 3 + 1 + 2 + fill + fill + + + + + + True + ISO _Location: + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + 3 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + fill + + + + + + + True + False + 0 + + + + True + _Path to install media: + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 5 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + False + True + + + + 0 + True + True + + + + + 1 + 3 + 4 + 5 + fill + + + + + + + 0 + False + True + + + + + 0 + True + True + + + + + False + True + + + + + + True + 14 + 15 + 5 + + + True + 3 + 2 + 5 + + + True + 0.000000 + Please choose the type of guest operating system you will be installing. + True + True + + + 2 + GTK_EXPAND + + + + + True + 1.000000 + OS _Type: + True + os-type + + + 1 + 2 + GTK_FILL + + + + + + True + 1.000000 + OS _Variant: + True + os-variant + + + 2 + 3 + + + + + + + True + + + + 1 + 2 + 1 + 2 + + + + + + True + + + + 1 + 2 + 2 + 3 + + + + + + + + 2 + + + + + True + FV install + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Locating installation media</span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + Please indicate where installation media is available for the operating system you would like to install on this <b>paravirtualized</b> virtual system. Optionally you can provide the URL for a kickstart file that describes your system: + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 20 + 10 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 25 + 15 + + + + True + 5 + 3 + False + 2 + 0 + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 1 + 0 + 1 + fill + fill + + + + + + True + Install Media _URL: + True + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 4 + 0 + pv-media-url + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + fill + + + + + + + True + False + 0 + + + + True + 4 + gtk-info + 0.5 + 0.5 + 0 + 0 + + + 0 + False + True + + + + + + True + <small><b>Example:</b> http://servername.example.com/distro/i386/tree</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 7 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 2 + 3 + 1 + 2 + fill + + + + + + True + Kickstart U_RL: + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 4 + 0 + pv-ks-url + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + + True + False + 0 + + + + True + 4 + gtk-info + 0.5 + 0.5 + 0 + 0 + + + 0 + False + True + + + + + + True + <small><b>Example:</b> ftp://hostname.example.com/ks/ks.cfg</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 7 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 2 + 3 + 4 + 5 + fill + + + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 3 + 2 + 3 + fill + fill + + + + + + True + 0 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + False + True + True + + + + + + 2 + 3 + 0 + 1 + fill + + + + + + + True + 0 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + False + True + True + + + + + + 2 + 3 + 3 + 4 + fill + + + + + + + + 0 + False + True + + + + + 0 + True + True + + + + + False + True + + + + + + True + PVinstall + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Assigning storage space</span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + 0 + False + True + + + + + + True + False + 0 + + + + True + Please indicate how you'd like to assign space on this physical host system for your new virtual system. This space will be used to install the virtual system's operating system. + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 20 + 10 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 25 + 15 + + + + True + 9 + 5 + False + 2 + 0 + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + + + + 0 + 1 + 1 + 2 + fill + fill + + + + + + True + P_artition: + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 4 + 0 + storage-partition-address + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 1 + 2 + fill + + + + + + + True + False + 0 + + + + True + 4 + gtk-info + 0.5 + 0.5 + 0 + 0 + + + 0 + False + True + + + + + + True + <small><b>Example:</b> /dev/hdc2</small> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 7 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 3 + 4 + 2 + 3 + fill + + + + + + True + File _Location: + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 4 + 0 + storage-file-address + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 5 + 6 + fill + + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 3 + 4 + 3 + 4 + fill + + + + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + True + True + Normal Disk _Partition: + True + GTK_RELIEF_NORMAL + True + True + False + True + + + + + + 0 + 5 + 0 + 1 + fill + fill + + + + + + True + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + + + + True + True + Simple F_ile: + True + GTK_RELIEF_NORMAL + True + False + False + True + storage-partition + + + + + + 0 + 5 + 4 + 5 + fill + fill + + + + + + True + False + 0 + + + + True + True + True + True + 0 + + True + + False + + + 0 + True + True + + + + + + True + True + Browse... + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + 3 + 5 + 1 + 2 + fill + fill + + + + + + True + False + 0 + + + + True + True + True + True + 0 + + True + + False + + + + 0 + True + True + + + + + + True + True + Browse... + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + 3 + 5 + 5 + 6 + fill + fill + + + + + + True + File _Size: + True + True + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 4 + 0 + storage-file-size + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 6 + 7 + fill + + + + + + + True + False + 0 + + + + True + 0 + 0.5 + 0 + 1 + 0 + 0 + 0 + 0 + + + + True + False + True + 1 + 0 + True + GTK_UPDATE_ALWAYS + True + False + 500 0 16000 100 500 500 + + + + + + 0 + False + True + + + + + + True + MB + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + True + + + + + + + + + 3 + 4 + 6 + 7 + fill + fill + + + + + + True + False + 0 + + + + True + 4 + gtk-dialog-warning + 0.5 + 0 + 0 + 0 + + + 0 + False + True + + + + + + True + <small><b>Warning:</b> If you do not allocate the entire disk at VM creation, space will be allocated as needed while the guest is running. If sufficient free space is not available on the host, this may result in data corruption on the guest.</small> + False + True + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 7 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + 2 + 5 + 8 + 9 + fill + + + + + + True + True + Allocate entire virtual disk now? + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 3 + 4 + 7 + 8 + fill + + + + + + + + 0 + False + True + + + + + + True + 0.5 + 0.5 + 1 + 1 + 7 + 10 + 20 + 0 + + + + True + False + 0 + + + + True + 4 + gtk-info + 0.5 + 0 + 0 + 0 + + + 0 + False + True + + + + + + True + <small><b>Tip:</b> You may add additional storage, including network-mounted storage, to your virtual system after it has been created using the same tools you would on a physical system.</small> + False + True + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 7 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + 0 + False + True + + + + + 0 + True + True + + + + + False + True + + + + + + True + Disk + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Allocate memory and CPU</span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + 6 + True + 11 + 3 + False + 0 + 0 + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 5 + 6 + fill + + + + + + + True + <b>Memory:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 10 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 2 + 0 + 1 + fill + + + + + + + True + <b>CPUs:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 1 + 10 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 2 + 6 + 7 + fill + + + + + + + True + VM _Startup Memory (MB): + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 3 + 0 + create-memory-startup + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + fill + + + + + + + True + VM _Max Memory (MB): + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 3 + 0 + create-memory-max + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + fill + + + + + + + True + Logical host CPUs: + False + True + GTK_JUSTIFY_RIGHT + False + False + 1 + 0.5 + 3 + 4 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 8 + 9 + fill + + + + + + + True + 256 + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 4 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 8 + 9 + fill + + + + + + + True + Please enter the memory configuration for this VM. You can specify the maximum amount of memory the VM should be able to use, and optionally a lower amount to grab on startup. Warning: setting VM memory too high will cause out-of-memory errors in your host domain! + False + True + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 3 + 1 + 2 + 4 + fill + + + + + + + True + Total memory on host machine: + False + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 3 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + 4 + fill + + + + + + + True + _VCPUs: + True + False + GTK_JUSTIFY_LEFT + False + False + 1 + 0.5 + 0 + 0 + create-vcpus + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 9 + 10 + 3 + fill + + + + + + + True + Please enter the number of virtual CPUs this VM should start up with. + True + True + GTK_JUSTIFY_LEFT + True + False + 0 + 1 + 5 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 3 + 7 + 8 + fill + + + + + + + True + False + 0 + + + + True + 0.5 + 0.10000000149 + 1 + 0.10000000149 + 0 + 0 + 5 + 0 + + + + True + gtk-info + 4 + 0.5 + 0.5 + 0 + 0 + + + + + 0 + False + False + + + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 3 + 0 + + + + True + <small><b>Tip:</b> For best performance, the number of virtual CPUs should be less than (or equal to) the number of logical CPUs on the host system.</small> + False + True + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + 0 + False + False + + + + + 1 + 3 + 10 + 11 + fill + fill + + + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 10 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + 2 GB + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 3 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 2 + 3 + 2 + 3 + + + + + + + True + 0 + 0.5 + 0 + 1 + 0 + 0 + 3 + 0 + + + + True + True + 1 + 0 + True + GTK_UPDATE_ALWAYS + False + False + 249 50 32000 5 10 10 + + + + + + 2 + 3 + 3 + 4 + fill + + + + + + + True + 0 + 0.5 + 0 + 1 + 0 + 0 + 3 + 0 + + + + True + True + 1 + 0 + True + GTK_UPDATE_ALWAYS + False + False + 244 50 32000 5 10 10 + + + + + 2 + 3 + 4 + 5 + fill + + + + + + + True + 0 + 0.5 + 0 + 1 + 0 + 0 + 3 + 0 + + + + True + True + 1 + 0 + True + GTK_UPDATE_IF_VALID + True + False + 1 1 32 1 2 2 + + + + + 2 + 3 + 9 + 10 + fill + + + + + + 0 + True + True + + + + + False + True + + + + + + True + CPU/memory + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + + 1 + True + False + 0 + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 0 + 0 + + + + True + True + False + + + + True + <span weight="heavy" size="xx-large" foreground="#FFF">Ready to begin installation</span> + False + True + GTK_JUSTIFY_FILL + False + False + 0 + 0 + 5 + 6 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + + + + + 0 + False + True + + + + + + True + 0.10000000149 + 0.10000000149 + 1 + 0 + 6 + 6 + 6 + 6 + + + + True + False + 0 + + + + 6 + True + 0 + 0.5 + GTK_SHADOW_NONE + + + + True + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 + + + + 6 + True + 9 + 2 + False + 3 + 3 + + + + True + <b>Machine name:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + <b>Installation source:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + <b>Kickstart source:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + <b>Disk image:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 4 + 5 + fill + + + + + + + True + <b>Disk size:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 5 + 6 + fill + + + + + + + True + <b>Maximum memory:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 6 + 7 + fill + + + + + + + True + <b>Initial memory:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 7 + 8 + fill + + + + + + + True + <b>Virtualization method:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + <b>Virtual CPUs:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + 1 + 8 + 9 + fill + + + + + + + True + demo + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 0 + 1 + + + + + + + True + para + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 1 + 2 + + + + + + + True + http:// + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_MIDDLE + -1 + False + 0 + + + 1 + 2 + 2 + 3 + + + + + + + True + http:// + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_MIDDLE + -1 + False + 0 + + + 1 + 2 + 3 + 4 + + + + + + + True + /xen/demo.img + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_MIDDLE + -1 + False + 0 + + + 1 + 2 + 4 + 5 + + + + + + + True + 5 GB + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 5 + 6 + + + + + + + True + 500 MB + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 6 + 7 + + + + + + + True + 400 MB + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 7 + 8 + + + + + + + True + 5 + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 1 + 2 + 8 + 9 + + + + + + + + + + + True + <b>Summary:</b> + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + label_item + + + + + 0 + True + True + + + + + + True + Press finish to create a new virtual machine with + this configuration & display the virtual console. + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + 0 + True + True + + + + + False + True + + + + + + True + Complete + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + tab + + + + + 0 + True + True + + + + + + True + False + 10 + + + + True + + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + True + False + + + + + + True + True + gtk-cancel + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + + True + True + gtk-go-back + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + + True + True + gtk-go-forward + True + GTK_RELIEF_NORMAL + True + + + + 0 + False + False + + + + + + True + GTK_RELIEF_NORMAL + True + + + + + True + 0.5 + 0.5 + 0 + 0 + 0 + 0 + 0 + 0 + + + + True + False + 2 + + + + True + gtk-quit + 4 + 0.5 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + _Finish + True + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + PANGO_ELLIPSIZE_NONE + -1 + False + 0 + + + 0 + False + False + + + + + + + + + 0 + False + False + + + + + 0 + False + True + + + + + + + diff --git a/src/vmm-manager.glade b/src/vmm-manager.glade index 7e63f34fa..9af70a28e 100644 --- a/src/vmm-manager.glade +++ b/src/vmm-manager.glade @@ -52,7 +52,7 @@ - + True gtk-new 1 @@ -75,7 +75,7 @@ - + True gtk-open 1 @@ -102,7 +102,7 @@ - + True gtk-connect 1 @@ -160,7 +160,7 @@ - + True gtk-properties 1 @@ -181,7 +181,7 @@ - + True gtk-delete 1 @@ -305,6 +305,15 @@ + + + True + gtk-help + True + + + + True diff --git a/virt-manager.spec.in b/virt-manager.spec.in index 415781875..4ef79589d 100644 --- a/virt-manager.spec.in +++ b/virt-manager.spec.in @@ -49,6 +49,7 @@ BuildRequires: pygtk2-devel BuildRequires: gtk2-devel BuildRequires: python-devel BuildRequires: gettext +BuildRequires: scrollkeeper Requires(pre): GConf2 Requires(post): GConf2 @@ -91,9 +92,13 @@ gconftool-2 --makefile-install-rule \ update-desktop-database %{_datadir}/applications +if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update -q -o %{_datadir}/omf/%{name}; fi + %postun update-desktop-database %{_datadir}/applications +if which scrollkeeper-update>/dev/null 2>&1; then scrollkeeper-update -q; fi + %preun if [ "$1" -eq 0 ]; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` @@ -103,7 +108,7 @@ fi %files -f %{name}.lang %defattr(-,root,root,-) -%doc README COPYING AUTHORS ChangeLog NEWS +%doc README COPYING COPYING-DOCS AUTHORS ChangeLog NEWS %{_sysconfdir}/gconf/schemas/%{name}.schemas %{_bindir}/%{name} %{_libexecdir}/%{name}-launch @@ -125,6 +130,8 @@ fi %{_datadir}/%{name}/vncViewer/*.pyc %{_datadir}/%{name}/vncViewer/*.pyo +%{_datadir}/omf/%{name} +%{_datadir}/gnome/help %{_datadir}/applications/%{name}.desktop %{_datadir}/dbus-1/services/%{name}.service diff --git a/xmldocs.make b/xmldocs.make new file mode 100644 index 000000000..1d60c3c2e --- /dev/null +++ b/xmldocs.make @@ -0,0 +1,96 @@ +# +# No modifications of this Makefile should be necessary. +# +# To use this template: +# 1) Define: figdir, docname, lang, omffile, and entities in +# your Makefile.am file for each document directory, +# although figdir, omffile, and entities may be empty +# 2) Make sure the Makefile in (1) also includes +# "include $(top_srcdir)/xmldocs.make" and +# "dist-hook: app-dist-hook". +# 3) Optionally define 'entities' to hold xml entities which +# you would also like installed +# 4) Figures must go under $(figdir)/ and be in PNG format +# 5) You should only have one document per directory +# 6) Note that the figure directory, $(figdir)/, should not have its +# own Makefile since this Makefile installs those figures. +# +# example Makefile.am: +# figdir = figures +# docname = scrollkeeper-manual +# lang = C +# omffile=scrollkeeper-manual-C.omf +# entities = fdl.xml +# include $(top_srcdir)/xmldocs.make +# dist-hook: app-dist-hook +# +# About this file: +# This file was taken from scrollkeeper_example2, a package illustrating +# how to install documentation and OMF files for use with ScrollKeeper +# 0.3.x and 0.4.x. For more information, see: +# http://scrollkeeper.sourceforge.net/ +# Version: 0.1.2 (last updated: March 20, 2002) +# + + +# ************* Begin of section some packagers may need to modify ************** +# This variable (docdir) specifies where the documents should be installed. +# This default value should work for most packages. +# docdir = $(datadir)/@PACKAGE@/doc/$(docname)/$(lang) +docdir = $(datadir)/gnome/help/@PACKAGE@/$(lang) + +# ************** You should not have to edit below this line ******************* +xml_files = $(entities) $(docname).xml + +EXTRA_DIST = $(xml_files) $(omffile) +CLEANFILES = omf_timestamp + +# If the following file is in a subdir (like help/) you need to add that to the path +include $(top_srcdir)/omf.make + +all: omf + +$(docname).xml: $(entities) + -ourdir=`pwd`; \ + cd $(srcdir); \ + cp $(entities) $$ourdir + +app-dist-hook: + if test "$(figdir)"; then \ + $(mkinstalldirs) $(distdir)/$(figdir); \ + for file in $(srcdir)/$(figdir)/*.png; do \ + basefile=`echo $$file | sed -e 's,^.*/,,'`; \ + $(INSTALL_DATA) $$file $(distdir)/$(figdir)/$$basefile; \ + done \ + fi + +install-data-local: omf + $(mkinstalldirs) $(DESTDIR)$(docdir) + for file in $(xml_files); do \ + cp $(srcdir)/$$file $(DESTDIR)$(docdir); \ + done + if test "$(figdir)"; then \ + $(mkinstalldirs) $(DESTDIR)$(docdir)/$(figdir); \ + for file in $(srcdir)/$(figdir)/*.png; do \ + basefile=`echo $$file | sed -e 's,^.*/,,'`; \ + $(INSTALL_DATA) $$file $(DESTDIR)$(docdir)/$(figdir)/$$basefile; \ + done \ + fi + +install-data-hook: install-data-hook-omf + +uninstall-local: uninstall-local-doc uninstall-local-omf + +uninstall-local-doc: + -if test "$(figdir)"; then \ + for file in $(srcdir)/$(figdir)/*.png; do \ + basefile=`echo $$file | sed -e 's,^.*/,,'`; \ + rm -f $(docdir)/$(figdir)/$$basefile; \ + done; \ + rmdir $(DESTDIR)$(docdir)/$(figdir); \ + fi + -for file in $(xml_files); do \ + rm -f $(DESTDIR)$(docdir)/$$file; \ + done + -rmdir $(DESTDIR)$(docdir) +