=== added directory '.bzr-builddeb'
=== renamed directory '.bzr-builddeb' => '.bzr-builddeb.moved'
=== added file '.bzr-builddeb/default.conf'
--- .bzr-builddeb/default.conf	1970-01-01 00:00:00 +0000
+++ .bzr-builddeb/default.conf	2010-08-01 23:35:56 +0000
@@ -0,0 +1,2 @@
+[BUILDDEB]
+native = True

=== added file 'ABOUT-NLS'
--- ABOUT-NLS	1970-01-01 00:00:00 +0000
+++ ABOUT-NLS	2010-08-01 23:35:56 +0000
@@ -0,0 +1,226 @@
+Notes on the Free Translation Project
+*************************************
+
+   Free software is going international!  The Free Translation Project
+is a way to get maintainers of free software, translators, and users all
+together, so that will gradually become able to speak many languages.
+A few packages already provide translations for their messages.
+
+   If you found this `ABOUT-NLS' file inside a distribution, you may
+assume that the distributed package does use GNU `gettext' internally,
+itself available at your nearest GNU archive site.  But you do *not*
+need to install GNU `gettext' prior to configuring, installing or using
+this package with messages translated.
+
+   Installers will find here some useful hints.  These notes also
+explain how users should proceed for getting the programs to use the
+available translations.  They tell how people wanting to contribute and
+work at translations should contact the appropriate team.
+
+   When reporting bugs in the `intl/' directory or bugs which may be
+related to internationalization, you should tell about the version of
+`gettext' which is used.  The information can be found in the
+`intl/VERSION' file, in internationalized packages.
+
+One advise in advance
+=====================
+
+   If you want to exploit the full power of internationalization, you
+should configure it using
+
+     ./configure --with-included-gettext
+
+to force usage of internationalizing routines provided within this
+package, despite the existence of internationalizing capabilities in the
+operating system where this package is being installed.  So far, only
+the `gettext' implementation in the GNU C library version 2 provides as
+many features (such as locale alias or message inheritance) as the
+implementation here.  It is also not possible to offer this additional
+functionality on top of a `catgets' implementation.  Future versions of
+GNU `gettext' will very likely convey even more functionality.  So it
+might be a good idea to change to GNU `gettext' as soon as possible.
+
+   So you need not provide this option if you are using GNU libc 2 or
+you have installed a recent copy of the GNU gettext package with the
+included `libintl'.
+
+INSTALL Matters
+===============
+
+   Some packages are "localizable" when properly installed; the
+programs they contain can be made to speak your own native language.
+Most such packages use GNU `gettext'.  Other packages have their own
+ways to internationalization, predating GNU `gettext'.
+
+   By default, this package will be installed to allow translation of
+messages.  It will automatically detect whether the system provides
+usable `catgets' (if using this is selected by the installer) or
+`gettext' functions.  If neither is available, the GNU `gettext' own
+library will be used.  This library is wholly contained within this
+package, usually in the `intl/' subdirectory, so prior installation of
+the GNU `gettext' package is *not* required.  Installers may use
+special options at configuration time for changing the default
+behaviour.  The commands:
+
+     ./configure --with-included-gettext
+     ./configure --with-catgets
+     ./configure --disable-nls
+
+will respectively bypass any pre-existing `catgets' or `gettext' to use
+the internationalizing routines provided within this package, enable
+the use of the `catgets' functions (if found on the locale system), or
+else, *totally* disable translation of messages.
+
+   When you already have GNU `gettext' installed on your system and run
+configure without an option for your new package, `configure' will
+probably detect the previously built and installed `libintl.a' file and
+will decide to use this.  This might be not what is desirable.  You
+should use the more recent version of the GNU `gettext' library.  I.e.
+if the file `intl/VERSION' shows that the library which comes with this
+package is more recent, you should use
+
+     ./configure --with-included-gettext
+
+to prevent auto-detection.
+
+   By default the configuration process will not test for the `catgets'
+function and therefore they will not be used.  The reasons are already
+given above: the emulation on top of `catgets' cannot provide all the
+extensions provided by the GNU `gettext' library.  If you nevertheless
+want to use the `catgets' functions use
+
+     ./configure --with-catgets
+
+to enable the test for `catgets' (this causes no harm if `catgets' is
+not available on your system).  If you really select this option we
+would like to hear about the reasons because we cannot think of any
+good one ourself.
+
+   Internationalized packages have usually many `po/LL.po' files, where
+LL gives an ISO 639 two-letter code identifying the language.  Unless
+translations have been forbidden at `configure' time by using the
+`--disable-nls' switch, all available translations are installed
+together with the package.  However, the environment variable `LINGUAS'
+may be set, prior to configuration, to limit the installed set.
+`LINGUAS' should then contain a space separated list of two-letter
+codes, stating which languages are allowed.
+
+Using This Package
+==================
+
+   As a user, if your language has been installed for this package, you
+only have to set the `LANG' environment variable to the appropriate
+ISO 639 `LL' two-letter code prior to using the programs in the
+package.  For example, let's suppose that you speak German.  At the
+shell prompt, merely execute `setenv LANG de' (in `csh'),
+`export LANG; LANG=de' (in `sh') or `export LANG=de' (in `bash').  This
+can be done from your `.login' or `.profile' file, once and for all.
+
+   An operating system might already offer message localization for
+many of its programs, while other programs have been installed locally
+with the full capabilities of GNU `gettext'.  Just using `gettext'
+extended syntax for `LANG' would break proper localization of already
+available operating system programs.  In this case, users should set
+both `LANGUAGE' and `LANG' variables in their environment, as programs
+using GNU `gettext' give preference to `LANGUAGE'.  For example, some
+Swedish users would rather read translations in German than English for
+when Swedish is not available.  This is easily accomplished by setting
+`LANGUAGE' to `sv:de' while leaving `LANG' to `sv'.
+
+Translating Teams
+=================
+
+   For the Free Translation Project to be a success, we need interested
+people who like their own language and write it well, and who are also
+able to synergize with other translators speaking the same language.
+Each translation team has its own mailing list, courtesy of Linux
+International.  You may reach your translation team at the address
+`LL@li.org', replacing LL by the two-letter ISO 639 code for your
+language.  Language codes are *not* the same as the country codes given
+in ISO 3166.  The following translation teams exist, as of December
+1997:
+
+     Chinese `zh', Czech `cs', Danish `da', Dutch `nl', English `en',
+     Esperanto `eo', Finnish `fi', French `fr', German `de', Hungarian
+     `hu', Irish `ga', Italian `it', Indonesian `id', Japanese `ja',
+     Korean `ko', Latin `la', Norwegian `no', Persian `fa', Polish
+     `pl', Portuguese `pt', Russian `ru', Slovenian `sl', Spanish `es',
+     Swedish `sv', and Turkish `tr'.
+
+For example, you may reach the Chinese translation team by writing to
+`zh@li.org'.
+
+   If you'd like to volunteer to *work* at translating messages, you
+should become a member of the translating team for your own language.
+The subscribing address is *not* the same as the list itself, it has
+`-request' appended.  For example, speakers of Swedish can send a
+message to `sv-request@li.org', having this message body:
+
+     subscribe
+
+   Keep in mind that team members are expected to participate
+*actively* in translations, or at solving translational difficulties,
+rather than merely lurking around.  If your team does not exist yet and
+you want to start one, or if you are unsure about what to do or how to
+get started, please write to `translation@iro.umontreal.ca' to reach the
+coordinator for all translator teams.
+
+   The English team is special.  It works at improving and uniformizing
+the terminology in use.  Proven linguistic skill are praised more than
+programming skill, here.
+
+Available Packages
+==================
+
+   Languages are not equally supported in all packages.  The following
+matrix shows the current state of internationalization, as of December
+1997.  The matrix shows, in regard of each package, for which languages
+PO files have been submitted to translation coordination.
+
+     Ready PO files    cs da de en es fi fr it ja ko nl no pl pt ru sl sv
+                     .----------------------------------------------------.
+     bash            |       []          []          []                   |  3
+     bison           |       []          []          []                   |  3
+     clisp           |       [] [] []    []                               |  4
+     cpio            |       []    []    []       [] []    []             |  6
+     diffutils       |       []    []    []                []          [] |  5
+     enscript        |       []    [] [] []          []             []    |  6
+     fileutils       | []    []    []    []       [] []    [] []    [] [] | 10
+     findutils       |       []    []    [] []    [] []    []    []    [] |  9
+     flex            |             []    []       []                   [] |  4
+     gcal            |       []          []          []    []          [] |  5
+     gettext         |    [] []    []    []       [] [] [] [] []    [] [] | 12
+     grep            |       []    []    []       [] [] [] []    [] [] [] | 10
+     hello           |    [] []    []    []       [] [] [] [] []    [] [] | 11
+     id-utils        |       []          []                []             |  3
+     indent          |    [] []                   []       []    []       |  5
+     libc            |       []    []    []       [] []    []          [] |  7
+     m4              |       []          []    []    []          []    [] |  6
+     make            |       []    []    []       [] []    []             |  6
+     music           |                   []                []             |  2
+     ptx             |       []    []    []          [] [] [] []       [] |  8
+     recode          |    [] []    []    []          []    [] []    [] [] |  9
+     sh-utils        |       []    []    []          [] [] [] []       [] |  8
+     sharutils       | []    []    []    []          []                [] |  6
+     tar             | []    []          [] []    [] [] [] [] []    [] [] | 11
+     texinfo         | []    []          []                               |  3
+     textutils       | []    []    []    []       [] [] [] []          [] |  9
+     wdiff           | []    []    []    []          [] [] []          [] |  8
+                     `----------------------------------------------------'
+       17 languages    cs da de en es fi fr it ja ko nl no pl pt ru sl sv
+       27 packages      6  4 25  1 18  1 26  2  1 12 20  9 19  7  4  7 17  179
+
+   Some counters in the preceding matrix are higher than the number of
+visible blocks let us expect.  This is because a few extra PO files are
+used for implementing regional variants of languages, or language
+dialects.
+
+   For a PO file in the matrix above to be effective, the package to
+which it applies should also have been internationalized and
+distributed as such by its maintainer.  There might be an observable
+lag between the mere existence a PO file and its wide availability in a
+distribution.
+
+   If December 1997 seems to be old, you may fetch a more recent copy
+of this `ABOUT-NLS' file on most GNU archive sites.
+

=== renamed file 'ABOUT-NLS' => 'ABOUT-NLS.moved'
=== added file 'AUTHORS'
--- AUTHORS	1970-01-01 00:00:00 +0000
+++ AUTHORS	2010-08-01 23:35:56 +0000
@@ -0,0 +1,16 @@
+Principal author:
+Alfredo Kojima <kojima@groovynet.org>
+
+Current Maintainer(s):
+Michael Vogt <mvo@debian.org>
+Gustavo Niemeyer <niemeyer@conectiva.com>
+
+Debtag support: 
+Enrico Zini <enrico@debian.org>
+
+Lots of improvements with the glade interface and usability:
+Sebastian Heinlein <sebastian.heinlein@web.de>
+
+Lots of small fixes/improvements:
+Panu Matilainen <pmatilai@welho.com>
+

=== renamed file 'AUTHORS' => 'AUTHORS.moved'
=== added file 'BUGS'
--- BUGS	1970-01-01 00:00:00 +0000
+++ BUGS	2010-08-01 23:35:56 +0000
@@ -0,0 +1,14 @@
+* "<,>" charackters in section of a pkg make the pkgsection view fail
+
+* the intro dialog is non-modal but blocks interface
+
+* reinstall, setCanidateVersion() installs not supported by
+  RPackageLister::{read,write}Selections()
+
+> I think there is a bug (debian-specific ?):
+>   In preferences I told Synaptic to completely remove packages
+> including configuration files, but when the removal or installation of a
+> package marks another package to be removed, the configuration files are
+> always left on the system (residual config). Marking a package for
+> complete removal works as expected. No big deal...
+

=== renamed file 'BUGS' => 'BUGS.moved'
=== added file 'COPYING'
--- COPYING	1970-01-01 00:00:00 +0000
+++ COPYING	2010-08-01 23:35:56 +0000
@@ -0,0 +1,340 @@
+		    GNU GENERAL PUBLIC LICENSE
+		       Version 2, June 1991
+
+ Copyright (C) 1989, 1991 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.
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+		    GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program 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.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public 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.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+			    NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+		     END OF TERMS AND CONDITIONS
+
+	    How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year  name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.

=== renamed file 'COPYING' => 'COPYING.moved'
=== added file 'ChangeLog'
--- ChangeLog	1970-01-01 00:00:00 +0000
+++ ChangeLog	2010-08-01 23:35:56 +0000
@@ -0,0 +1,1416 @@
+2003-01-21 12:47  mvogt
+
+	* po/: zh_CN.po, zh_HK.po, zh_TW.po: * some po updates from Anthony
+	Fok
+
+2003-01-21 12:41  mvogt
+
+	* gtk/rgfetchprogress.cc: * progress bar uses the same font as the
+	rest of the window now
+
+2003-01-21 12:28  mvogt
+
+	* TODO, common/rpackage.cc, common/rpackage.h,
+	gtk/rgconfigwindow.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgwindow.cc, gtk/window_main.glade,
+	gtk/window_main.glade.strings, po/cat-id-tbl.c: * toolbar can now
+	be: pixmap, text, both, hide * some minor bugfixes
+
+2003-01-21 11:03  svd
+
+	* gtk/rgwindow.cc: Fixed segfault in RGWindow::RGWindow on
+	gfree(filename)
+
+2003-01-20 17:47  yeupou
+
+	* ChangeLog, po/fr.po: update french i18n
+
+2003-01-20 14:40  svd
+
+	* common/rpackagecache.cc, common/rpackagelister.cc,
+	common/rpackagelister.h, gtk/gsynaptic.cc, gtk/rgmainwindow.cc,
+	gtk/rgmainwindow.h: Fixed behaviour when pkglist broken on
+	rpm-based systems
+
+2003-01-20 13:44  mvogt
+
+	* po/: zh_CN.po, zh_HK.po, zh_TW.po: * updated po files
+
+2003-01-20 13:28  svd
+
+	* common/: rpackagecache.cc, rpackagecache.h, rpackagelister.cc:
+	Fix segfault in operations with sourcelist on rpm-based systems
+
+2003-01-20 13:24  svd
+
+	* gtk/rgmainwindow.cc: Allow use RGZvtInstallProgress for rpm
+	systems
+
+2003-01-20 12:14  mvogt
+
+	* configure.in, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/ru.po, po/tr.po, po/zh_CN.po, po/zh_HK.po,
+	po/zh_TW.po: * added libpango to configure.in test
+
+2003-01-19 21:55  mvogt
+
+	* gtk/: rgfetchprogress.cc, rgfetchprogress.h: * fixed a small
+	resource leak with the new pango code
+
+2003-01-19 21:40  mvogt
+
+	* gtk/: rgaboutpanel.cc, rgfetchprogress.cc, rgmainwindow.cc,
+	window_options.glade, window_options.glade.strings: * removed some
+	dead code from rgaboutpanel * converted some code from
+	gdk_draw_string to pango * fixed a typo (thanks Anthony Fok)
+
+2003-01-17 23:55  mvogt
+
+	* gtk/: synaptic.glade, synaptic.glade.strings, synaptic.gladep: *
+	big synaptic.glade is replaced with multiple small glade files
+
+2003-01-17 23:50  mvogt
+
+	* NEWS, common/rpackage.cc, common/rpackage.h, gtk/Makefile.am,
+	gtk/rgmainwindow.cc, gtk/rgsummarywindow.cc, gtk/rgwindow.cc,
+	gtk/window_about.glade, gtk/window_about.glade.strings,
+	gtk/window_about.gladep, gtk/window_fetch.glade,
+	gtk/window_fetch.glade.strings, gtk/window_fetch.gladep,
+	gtk/window_find.glade, gtk/window_find.glade.strings,
+	gtk/window_find.gladep, gtk/window_install_progress.glade,
+	gtk/window_install_progress.glade.strings,
+	gtk/window_install_progress.gladep, gtk/window_main.glade,
+	gtk/window_main.glade.strings, gtk/window_main.gladep,
+	gtk/window_options.glade, gtk/window_options.glade.strings,
+	gtk/window_options.gladep, gtk/window_procceed.glade,
+	gtk/window_procceed.glade.strings, gtk/window_procceed.gladep,
+	po/POTFILES.in, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/tr.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: *
+	split up the glade file into multiple ones (should be nicer for the
+	translators) * fixed a resize bug in RGSummaryWindow
+
+2003-01-15 15:16  svd
+
+	* po/ru.po: Updated russian translation
+
+2003-01-13 12:41  mvogt
+
+	* po/README: * added README that explains some problems with glade
+
+2003-01-12 23:19  yeupou
+
+	* ChangeLog, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/ru.po, po/tr.po, po/zh_CN.po, po/zh_HK.po,
+	po/zh_TW.po: make update-po + update french strings
+
+2003-01-10 23:33  mvogt
+
+	* configure.in, common/rpackagefilter.cc, gtk/rgfiltermanager.cc,
+	gtk/rgfiltermanager.h, gtk/rgfilterwindow.cc, gtk/rgfilterwindow.h,
+	gtk/rgmainwindow.cc, gtk/synaptic.glade,
+	gtk/synaptic.glade.strings, po/cat-id-tbl.c: * fixed some small
+	bugs * removed some dead code (was #if 0) left from pre glade days
+
+2003-01-10 15:25  mvogt
+
+	* NEWS: * updated NEWS file
+
+2003-01-10 15:21  mvogt
+
+	* README: * removed the commets about gksu for now
+
+2003-01-10 15:19  mvogt
+
+	* data/synaptic.desktop, po/de.po, po/es.po, po/fr.po, po/pt_BR.po,
+	po/ru.po, po/tr.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: *
+	changed back to xsu as default way to do su, because gksu has some
+	flaws
+
+2003-01-10 15:01  mvogt
+
+	* common/rpackagefilter.cc, po/cat-id-tbl.c, po/de.po, po/es.po,
+	po/fr.po, po/pt_BR.po, po/ru.po, po/tr.po, po/zh_CN.po,
+	po/zh_HK.po, po/zh_TW.po: * fixed a bug in rpackagefilter, now all
+	patternfilters are used,   not only the first one :)
+
+2003-01-09 22:34  mvogt
+
+	* po/ru.po: * updates to the russian translation
+
+2003-01-09 18:20  mvogt
+
+	* gtk/synaptic.glade, gtk/synaptic.glade.strings,
+	gtk/synaptic.gladep, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/ru.po, po/tr.po, po/zh_CN.po, po/zh_HK.po,
+	po/zh_TW.po: * updated turkish translation (thanks to Rail Aliev)
+
+2003-01-09 05:18  mvogt
+
+	* gtk/rgfindwindow.cc: * fixed a minor bug in findwindow
+
+2003-01-08 20:16  mvogt
+
+	* NEWS, TODO, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/tr.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: *
+	small documentation updates
+
+2003-01-08 19:39  mvogt
+
+	* gtk/: rgfindwindow.cc, rgfindwindow.h, rgmainwindow.cc,
+	synaptic.glade: * small fixes for the new search windo
+
+2003-01-08 16:30  mvogt
+
+	* configure.in, common/i18n.h, gtk/synaptic.glade, po/ru.po: *
+	added russian translation
+
+2003-01-08 12:48  mvogt
+
+	* po/: cat-id-tbl.c, de.po, es.po, fr.po, pt_BR.po, tr.po,
+	zh_CN.po, zh_HK.po, zh_TW.po: * some minor corrections (missing "
+	at end of line etc)
+
+2003-01-08 03:32  mvogt
+
+	* config.h.in, configure.in, gtk/rgmainwindow.cc, po/cat-id-tbl.c:
+	* removed --with-dwww-help, this is autodetected at runtime
+
+2003-01-08 03:27  mvogt
+
+	* common/rpackagefilter.h, gtk/Makefile.am, gtk/rgfindwindow.cc,
+	gtk/rgfindwindow.h, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgwindow.cc, gtk/synaptic.glade, po/cat-id-tbl.c: * added find
+	menu for easy searching for name/description
+
+2003-01-07 22:33  yeupou
+
+	* ChangeLog, po/fr.po: update french i18n strings
+
+2003-01-07 14:39  mvogt
+
+	* README, config.h.in, configure.in, common/rpackagefilter.cc,
+	data/synaptic.desktop, gtk/Makefile.am, gtk/rgfiltereditor.cc,
+	gtk/rgfiltermanager.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgsummarywindow.cc, gtk/synaptic.glade, po/cat-id-tbl.c,
+	po/de.po, po/es.po, po/fr.po, po/pt_BR.po, po/tr.po, po/zh_CN.po,
+	po/zh_HK.po, po/zh_TW.po: * added (crude) purge and search pkg
+	description support * added --with-dwww-help configure switch
+	(enables Pkg Help button) * some resizing fixes
+
+2003-01-04 17:08  mvogt
+
+	* NEWS, TODO, configure.in, common/raptoptions.h,
+	common/rpackage.cc, common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc, gtk/Makefile.am,
+	gtk/gsynaptic.cc, gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h,
+	gtk/rgmainwindow.cc, gtk/rgmainwindow.h, gtk/synaptic.glade,
+	po/POTFILES.in, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/tr.po, po/zh_CN.po, po/zh_HK.po, po/zh_TW.po: *
+	added residual config filter * added chinese translation
+
+2002-12-27 13:28  mvogt
+
+	* gtk/rgmainwindow.cc: * fixed a problem with the new filters menu
+
+2002-12-27 02:37  mvogt
+
+	* NEWS, README, README.scripting, TODO, common/rpackage.cc,
+	common/rpackage.h, gtk/rgmainwindow.cc, gtk/synaptic.glade,
+	po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po, po/pt_BR.po,
+	po/tr.po: * small gui + documentation updates
+
+2002-12-26 23:20  mvogt
+
+	* TODO, gtk/rgaboutpanel.cc, gtk/rgmainwindow.cc,
+	gtk/rgmainwindow.h, gtk/synaptic.glade: * added filters menu
+
+2002-12-20 00:48  mvogt
+
+	* TODO, common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, gtk/rgaboutpanel.cc,
+	gtk/rgfiltereditor.cc, gtk/rgwindow.cc, gtk/rgwindow.h,
+	gtk/synaptic.glade, pixmaps/Makefile.am, po/cat-id-tbl.c, po/de.po,
+	po/es.po, po/fr.po, po/pt_BR.po, po/tr.po: * some more filter like
+	depends on, reverse depends on, conflicts work now
+
+2002-12-17 19:46  mvogt
+
+	* gtk/: rgmainwindow.cc, synaptic.glade: * a fix for _depListL
+	handling
+
+2002-12-16 16:11  mvogt
+
+	* TODO, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/synaptic.glade: * save windows size and vpaned position between
+	sessions * (re)added tooltips to all buttons (there is a bug in
+	libglade2 for toolbar	buttons, a patch to the maintainer is
+	submited)
+
+2002-12-15 11:36  mvogt
+
+	* common/rpackage.cc, gtk/Makefile.am, gtk/rgmainwindow.cc,
+	gtk/synaptic.glade, pixmaps/Makefile.am,
+	pixmaps/distupgrade_small.xpm, pixmaps/proceed_small.xpm,
+	pixmaps/update_small.xpm, pixmaps/upgrade_small.xpm: * more fixes
+	for the new gui. should be complette now
+
+2002-12-13 22:38  mvogt
+
+	* gtk/rgmainwindow.cc, gtk/rgmainwindow.h, gtk/rgwindow.cc,
+	gtk/synaptic.glade, po/cat-id-tbl.c: * more fixes for the new gui
+
+2002-12-12 18:37  mvogt
+
+	* Makefile.am, acconfig.h, config.h.in, configure.in,
+	common/rrepositoryfile.cc, common/rrepositoryfile.h,
+	common/rsources.cc, gtk/Makefile.am, gtk/rgmainwindow.cc,
+	gtk/rgmainwindow.h, gtk/rgsourceswindow.cc, gtk/rgsourceswindow.h,
+	gtk/rgsrcwindow.cc, gtk/rgwindow.cc, gtk/rgwindow.h,
+	gtk/synaptic.glade, gtk/synaptic.glade.strings,
+	gtk/synaptic.gladep, po/cat-id-tbl.c: * switched to the new gui
+	(should basicly work, but lots of rough edges) * removed unused
+	files
+
+2002-12-06 09:16  mvogt
+
+	* NEWS, TODO, configure.in, common/rpackagelister.cc,
+	common/rpackagelister.h, gtk/Makefile.am, gtk/galertpanel.c,
+	gtk/rgfetchprogress.cc, gtk/rgfetchprogress.h,
+	gtk/rgfiltermanager.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgsrcwindow.cc, gtk/rgsummarywindow.cc, gtk/rgsummarywindow.h,
+	gtk/rgvendorswindow.cc, gtk/rgzvtinstallprogress.cc,
+	gtk/rgzvtinstallprogress.h, pixmaps/synaptic_mini.xpm,
+	po/cat-id-tbl.c: * complette port to gtk2
+
+2002-12-03 12:13  mvogt
+
+	* gtk/rgzvtinstallprogress.cc: * always set TERM to xterm
+
+2002-11-29 21:08  mvogt
+
+	* pixmaps/Makefile.am, po/de.po, po/es.po, po/fr.po, po/pt_BR.po,
+	po/tr.po: * minor makefile fix
+
+2002-11-29 13:15  mvogt
+
+	* gtk/rgmainwindow.cc, man/Makefile.am: * rgmainwindow.cc: small
+	setIcon() fix * man/Makefile.am: add french and turkish man page to
+	tgz
+
+2002-11-29 13:02  mvogt
+
+	* NEWS: * credits
+
+2002-11-29 03:35  mvogt
+
+	* Makefile.am, NEWS, README, configure.in, data/Makefile.am,
+	data/synaptic.desktop, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	pixmaps/Makefile.am, pixmaps/synaptic_48x48.png,
+	pixmaps/synaptic_mini.xpm, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po, po/tr.po: * some icons * a desktop entry for gnome
+	(uses xsu for now) * a wm icon (should work for both gnome/kde)
+
+2002-11-28 10:54  mvogt
+
+	* common/rpackagefilter.cc, gtk/rgfetchprogress.cc,
+	gtk/rgfiltereditor.cc, gtk/rgfiltermanager.cc, gtk/rgmainwindow.cc,
+	gtk/rgsrcwindow.cc, gtk/rgsummarywindow.cc, gtk/rgvendorswindow.cc,
+	po/cat-id-tbl.c: * applied a i18n patch from Rail Aliev (thanks!)
+
+2002-11-25 23:26  mvogt
+
+	* man/synaptic.tr.8: * added turkish man-page (thanks to Rail
+	Aliev)
+
+2002-11-25 23:06  mvogt
+
+	* configure.in, po/tr.po: * added turkish translation (thanks to
+	Rail Aliev)
+
+2002-11-25 14:40  mvogt
+
+	* gtk/rgfiltereditor.h: * fixed a filter bug in rgfiltereditor
+	(thanks to Sviatoslav Sviridov)
+
+2002-11-23 19:19  mvogt
+
+	* gtk/gsynaptic.cc: * commited setlocale->gtk_set_locale() patch
+	from Sviatoslav Sviridou (thanks!)
+
+2002-11-19 17:34  mvogt
+
+	* man/Makefile.am: * added Makefile.am
+
+2002-11-19 17:26  yeupou
+
+	* ChangeLog, man/synaptic.fr.8: Add french man page
+
+2002-11-12 12:53  mvogt
+
+	* common/raptoptions.cc: * improved the popen() call to deborphan a
+	bit
+
+2002-11-10 15:03  mvogt
+
+	* NEWS, common/rpackagelister.cc, gtk/rgsrcwindow.h,
+	gtk/rgvendorswindow.h, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: *
+	minor build fixes (for make distcheck)
+
+2002-11-09 14:09  mvogt
+
+	* configure.in, common/rpackage.cc, common/rpackagelister.cc: *
+	fixed a nasty memory leak in openCache()
+
+2002-11-09 01:45  mvogt
+
+	* NEWS, TODO, common/raptoptions.cc, common/raptoptions.h,
+	common/rpackage.cc, common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc,
+	gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h, gtk/rgmainwindow.cc,
+	gtk/rgsummarywindow.cc, gtk/rgsummarywindow.h, po/cat-id-tbl.c,
+	po/de.po, po/es.po, po/fr.po, po/pt_BR.po: * reworked the
+	rgsummarywindow dialog, added a gtktree for the   "to be removed,
+	to be installed" etc packages * added deborphan functionalty
+	(debian only)
+
+2002-11-06 16:40  mvogt
+
+	* Makefile.am, TODO, configure.in: * added the makefile for the
+	man-page
+
+2002-11-04 00:59  mvogt
+
+	* gtk/: gsynaptic.cc, rgmainwindow.cc: * added some more
+	translateable strings
+
+2002-11-04 00:51  mvogt
+
+	* TODO, configure.in, common/rconfiguration.cc, common/rpackage.cc,
+	common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc,
+	gtk/rgconfigwindow.h, gtk/rgfiltereditor.cc,
+	gtk/rgfiltermanager.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	pixmaps/holdM.xpm, po/cat-id-tbl.c: * cleanups
+
+2002-11-02 22:11  yeupou
+
+	* po/: fr.po, fr.po: fix minor typo
+
+2002-11-02 21:57  yeupou
+
+	* ChangeLog, po/fr.po: fix typo
+
+2002-11-02 21:51  yeupou
+
+	* ChangeLog, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: upgrade
+	french i18n (typo + new stings)
+
+2002-10-30 11:55  mvogt
+
+	* gtk/rgconfigwindow.cc: * removed another gtk_set_usize() :)
+
+2002-10-28 14:41  mvogt
+
+	* gtk/rgmainwindow.cc: * and another small ui thing
+
+2002-10-28 14:37  mvogt
+
+	* gtk/rgmainwindow.cc, man/synaptic.8: * another minor resizing fix
+
+2002-10-28 14:11  mvogt
+
+	* TODO, gtk/rgmainwindow.cc: * fixed a nasty UI resizing problem *
+	small improvement for the GtkCList
+
+2002-10-28 12:47  mvogt
+
+	* NEWS, TODO, configure.in, gtk/rgconfigwindow.cc,
+	gtk/rgmainwindow.cc, gtk/rgmainwindow.h, gtk/synapticinterface.cc,
+	man/synaptic.8, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po: * added a manpage * added ColorStatus in the main
+	GtkCList * added option to switch colors on/off
+
+2002-10-27 10:56  mvogt
+
+	* gtk/rgsummarywindow.cc: * small ui improvements
+
+2002-10-09 18:27  mvogt
+
+	* TODO, gtk/rgmainwindow.cc: * minor documentation updates
+
+2002-10-09 10:18  mvogt
+
+	* gtk/rgmainwindow.cc: * some more usize fixes (still far from
+	perfect)
+
+2002-10-09 01:55  mvogt
+
+	* acconfig.h, config.h.in, configure.in, gtk/Makefile.am,
+	gtk/rgfetchprogress.cc, gtk/rgmainwindow.cc, po/de.po, po/es.po,
+	po/fr.po, po/pt_BR.po: * gtk/Makefile.am should work now with both
+	automake1.4 and automake1.6 * removed --new-gui (never quite there
+	anyway)
+
+2002-10-09 00:43  mvogt
+
+	* po/: de.po, fr.po: * fixed a bug for 8bit charackters
+
+2002-10-09 00:30  mvogt
+
+	* po/de.po: * added a german "umlaut"
+
+2002-10-06 17:03  mvogt
+
+	* configure.in: * fixed a bug in swig test
+
+2002-10-04 03:12  niemeyer
+
+	* gtk/: Makefile.am, rgmainwindow.cc, rgmainwindow.h,
+	synapticinterface.cc: - Do not expose internal interface of
+	RGMainWindow.  - Minor changes for automake 1.6 conformance.
+
+2002-10-04 02:40  niemeyer
+
+	* README.scripting: Minor typo fixes.
+
+2002-10-03 22:52  mvogt
+
+	* Makefile.am, NEWS, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: *
+	minor cleanups * documentation update
+
+2002-10-03 21:56  mvogt
+
+	* README.scripting, gtk/synapticinterface.cc,
+	gtk/synapticinterface.h: * some more code for the scripting
+	interface * added a basic README for the scripting stuff along with
+	a simple example
+
+2002-10-03 18:39  mvogt
+
+	* TODO, gtk/Makefile.am, po/de.po, po/es.po, po/fr.po, po/pt_BR.po:
+	* fixed the makefile for building the python module
+
+2002-10-03 15:28  mvogt
+
+	* macros/Makefile.am: * python.m4 file is removed from
+	macros/Makefile.am (it never worked)
+
+2002-10-03 15:25  mvogt
+
+	* Makefile.am, NEWS, TODO, acinclude.m4, configure.in,
+	gtk/Makefile.am, gtk/rgmainwindow.h, gtk/synapticinterface.cc,
+	gtk/synapticinterface.h, gtk/synapticinterface.i,
+	macros/Makefile.am, macros/Makefile.in: * added python interface
+	for synaptic
+
+2002-10-02 15:29  mvogt
+
+	* NEWS, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgvendorswindow.cc: * cleanups * removed _tempKludge as it's
+	not needed with the current code * reworked "installSelected"
+	Suggestions/Recommandation
+
+2002-10-02 11:34  mvogt
+
+	* README, gtk/gsynaptic.cc, gtk/rgmainwindow.cc: * removed some
+	debug messages * changed the names of the command line arguments  
+	(initialFilter -> initial-filter / filterFile -> filter-file)	to
+	match it with apt
+
+2002-10-01 16:18  mvogt
+
+	* README: * added some info about the multiple selection feature
+
+2002-10-01 15:53  mvogt
+
+	* NEWS, TODO, gtk/gsynaptic.cc, gtk/rgmainwindow.cc,
+	gtk/rgmainwindow.h, po/cat-id-tbl.c: * multiple selection of
+	packages is possible now (use SHIFT/CTRL in the clist)
+
+2002-10-01 13:41  mvogt
+
+	* gtk/rgaboutpanel.cc: * added Gustavo to authors
+
+2002-09-30 22:48  mvogt
+
+	* NEWS, README, common/rconfiguration.cc, gtk/rgmainwindow.cc,
+	gtk/rgmainwindow.h: * cosmetic stuff * fixed a bug in save/restore
+	state ("synaptic::" -> "Synaptic::", I wonder	why this ever
+	worked (: ) * updated the README file. It now point to the savannah
+	page
+
+2002-09-30 16:57  mvogt
+
+	* common/rconfiguration.cc, gtk/gsynaptic.cc: * fixed warnings if
+	files in /root/.synaptic are not there (the files are	just
+	created)
+
+2002-09-30 15:44  mvogt
+
+	* NEWS, README, TODO, configure.in, common/raptoptions.cc,
+	common/rconfiguration.cc, common/rpackage.h,
+	common/rpackagelister.cc, common/rpackagelister.h,
+	gtk/gsynaptic.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h: *
+	reworked the "new" packages in list detection (much saner now) *
+	added some commandline options (alternative filterFile,
+	inititalFilter)
+
+2002-09-27 10:54  mvogt
+
+	* configure.in, common/raptoptions.cc: * version is now 0.24.1 *
+	the non-existance of /etc/apt/preferences is now ignored
+
+2002-09-27 01:05  mvogt
+
+	* Makefile.am, configure.in, common/raptoptions.cc: * two small
+	fixes (thanks to Richard Bos)
+
+2002-09-26 16:27  mvogt
+
+	* common/raptoptions.h, po/de.po, po/es.po, po/fr.po, po/pt_BR.po:
+	* fixed a g++-3.2 problem
+
+2002-09-26 16:06  mvogt
+
+	* gtk/rgsrcwindow.cc, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: *
+	changed "none" to "no vendor" in rgsrcwindow option menu
+
+2002-09-26 15:37  mvogt
+
+	* README, gtk/rgmainwindow.cc, pixmaps/Makefile.am,
+	po/cat-id-tbl.c: * keybinding for "update" is CTRL-u * added the
+	new pixmaps to extra_dist in pixmaps/Makefile.am
+
+2002-09-26 15:00  niemeyer
+
+	* AUTHORS, NEWS, gtk/rgvendorswindow.cc, gtk/rgvendorswindow.h: -
+	Oops, forgot to add vendors.list specific files.  - Included myself
+	in the AUTHORS file.  - 2 new entries for NEWS file.
+
+2002-09-25 22:20  niemeyer
+
+	* common/rsources.cc, common/rsources.h, gtk/Makefile.am,
+	gtk/rgsrcwindow.cc, gtk/rgsrcwindow.h: - Implemented full vendors
+	support.  - Fixed some minor bugs.  - Reworked sources list
+	interface (again).
+
+2002-09-25 16:09  niemeyer
+
+	* gtk/: rgsrcwindow.cc, rgsrcwindow.h: Reworked sources window.
+
+2002-09-25 14:54  niemeyer
+
+	* gtk/galertpanel.c: Fixed warning issued when first parameter of
+	gtk_run_alert_panel() was NULL (e.g. when running as a non-root
+	user).
+
+2002-09-25 14:48  niemeyer
+
+	* gtk/rgmainwindow.cc: Rolling back text changes introduced in
+	revision 1.37.
+
+2002-09-25 11:43  mvogt
+
+	* TODO: * some radom ideas
+
+2002-09-24 13:53  mvogt
+
+	* gtk/rgmainwindow.cc, po/cat-id-tbl.c: * minor correction for the
+	new/hold icons
+
+2002-09-24 13:48  mvogt
+
+	* gtk/rgmainwindow.cc, pixmaps/holdM.xpm, pixmaps/newM.xpm: * "new"
+	and "hold" packages have icons now * added pixmaps/newM.xpm and
+	pixmaps/holdM.xpm (ugly!)
+
+2002-09-24 12:29  mvogt
+
+	* gtk/galertpanel.c: * gtk/galertpanel.c: make the dialog transtent
+	to the parent
+
+2002-09-24 12:13  mvogt
+
+	* NEWS, acconfig.h, config.h.in, configure.in, gtk/rgmainwindow.cc:
+	* hold feature is enabled with "--with-pkg-hold" and the #define is
+	changed   to SYNAPTIC_PKG_HOLD. so the meaning is clearer IMHO.
+
+2002-09-24 11:52  mvogt
+
+	* INSTALL, NEWS, README, acconfig.h, config.h.in, configure.in,
+	gtk/Makefile.am, gtk/rgmainwindow.cc, wings/Makefile.am: * WINGs
+	version no longer build by default and renamed to "wsynaptic" *
+	Gtk+ version renamed to "synaptic" * added configure switch
+	"--with-hold" that enables a "hold" package feature * some
+	documentation updates regarding the changes to configure
+
+2002-09-24 00:47  mvogt
+
+	* common/rinstallprogress.cc, common/rpackagelister.cc,
+	gtk/rgzvtinstallprogress.cc, gtk/rgzvtinstallprogress.h,
+	po/cat-id-tbl.c: * keep RGZvtInstallProgress window open if
+	something goes wrong with   the installation so that the user can
+	inspect it
+
+2002-09-23 23:49  niemeyer
+
+	* common/: indexcopy.cc, rcdscanner.h, rconfiguration.cc,
+	rconfiguration.h, rpackagefilter.h, rpackagelister.cc: Minor
+	changes fixing compilation with GCC 3.2.
+
+2002-09-19 23:41  mvogt
+
+	* gtk/rgfetchprogress.cc, po/cat-id-tbl.c: * fixed a memory leask
+	in RGFetchProgress::refreshTable()
+
+2002-09-19 11:37  mvogt
+
+	* gtk/rgmainwindow.cc: * minor text changes (cosmetic)
+
+2002-09-19 00:48  mvogt
+
+	* common/rpackage.cc: * change permissions of the updateed
+	/etc/apt/preferences to 644
+
+2002-09-06 20:59  mvogt
+
+	* gtk/rgsrcwindow.cc, po/cat-id-tbl.c: * minor fix for the dialog
+
+2002-09-05 23:26  niemeyer
+
+	* common/rsources.cc, common/rsources.h, gtk/rgsrcwindow.cc,
+	gtk/rgsrcwindow.h: Added basic vendor support.
+
+2002-09-05 17:07  niemeyer
+
+	* gtk/rgmainwindow.cc: - Minor text changes.  - Reordered entries
+	in dependency combo box.
+
+2002-09-05 02:32  mvogt
+
+	* gtk/rgmainwindow.cc, po/cat-id-tbl.c: * more cosmetic fixes for
+	the hold feature
+
+2002-09-05 00:14  mvogt
+
+	* gtk/rgmainwindow.cc, po/cat-id-tbl.c: * the _holdB button has a
+	new home, I hope it looks better now
+
+2002-09-05 00:06  mvogt
+
+	* gtk/rgmainwindow.cc: minor cleanups
+
+2002-09-04 23:46  mvogt
+
+	* common/raptoptions.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc,
+	gtk/rgmainwindow.cc, po/cat-id-tbl.c: * fixed some Hold related
+	bugs
+
+2002-08-29 00:21  mvogt
+
+	* gtk/rgmainwindow.cc: * fixed a bug in "Dependecies of available
+	package"
+
+2002-08-29 00:06  mvogt
+
+	* NEWS: * new for version 0.24
+
+2002-08-28 22:38  mvogt
+
+	* gtk/rgfilterwindow.cc, po/cat-id-tbl.c: * changed order of
+	buttons in rgfilterwindow
+
+2002-08-28 22:26  mvogt
+
+	* gtk/rgmainwindow.cc: * removed a debug statement
+
+2002-08-28 22:21  mvogt
+
+	* common/raptoptions.cc, common/raptoptions.h, common/rpackage.cc,
+	common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc,
+	gtk/gsynaptic.cc, gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h,
+	gtk/rgmainwindow.cc, po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po: * implemented "Hold" feature using apt "pin"
+
+2002-08-26 14:34  mvogt
+
+	* common/rconfiguration.cc, gtk/rgmainwindow.cc, po/cat-id-tbl.c: *
+	windowsize is now saved/restored
+
+2002-08-26 14:03  mvogt
+
+	* TODO, configure.in, common/raptoptions.cc, common/raptoptions.h,
+	common/rconfiguration.cc, common/rconfiguration.h,
+	common/rpackage.h, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	po/cat-id-tbl.c: * raptoptions is now persistent and saves/restores
+	the "Locked" and   "New" Packages * "New" Packages are saved until
+	the next succesfull update * "Hold" is enabled in GUI, but still
+	not working. It's enabled for testing	the raptoptions
+	store/restore functions
+
+2002-08-25 13:32  mvogt
+
+	* po/: POTFILES.in, de.po, es.po, fr.po, pt_BR.po: * rgsrcwindow is
+	now in POTFILES
+
+2002-08-24 17:35  mvogt
+
+	* TODO: * nothing really
+
+2002-08-24 13:17  mvogt
+
+	* gtk/: rgfiltermanager.cc, rgfiltermanager.h, rgfilterwindow.cc,
+	rgfilterwindow.h, rgwindow.cc: * fixed a bug in delete-event of
+	rgfiltermanager/rgfilterwindow
+
+2002-08-23 20:08  mvogt
+
+	* TODO, common/rpackagelister.cc, gtk/rgfiltereditor.cc,
+	gtk/rgfiltermanager.cc, gtk/rgfiltermanager.h,
+	gtk/rgfilterwindow.cc, gtk/rgmainwindow.cc: * trying to fix a bug
+	in rgfiltermanager (unsuccessfull so far)
+
+2002-08-23 15:12  mvogt
+
+	* common/rpackage.cc, gtk/rgsrcwindow.cc: * -Wall cleanups
+
+2002-08-23 13:40  mvogt
+
+	* gtk/rgsrcwindow.cc: * cleanups/ui improvements for the GTK_CLIST
+
+2002-08-22 22:03  mvogt
+
+	* common/: raptoptions.h, rsources.h: * g++-3.0 fixes
+
+2002-08-22 18:18  mvogt
+
+	* NEWS, TODO: * documentation updates
+
+2002-08-22 13:57  mvogt
+
+	* common/rsources.cc, common/rsources.h, gtk/rgsrcwindow.cc,
+	gtk/rgsrcwindow.h: * cleaned up rsource.{cc,h} it now uses a STL
+	list * small ui improvement for rgsrcwindow.cc
+
+2002-08-21 02:59  mvogt
+
+	* common/rsources.cc: * added a FIXME for the rsource class. I will
+	rewrite it with a   STL list instead of the crappy (and buggy)
+	hand-coded one
+
+2002-08-20 21:20  niemeyer
+
+	* common/rsources.cc, common/rsources.h, gtk/rgsrcwindow.cc: -
+	Added rpm/rpm-src support in repositories dialog - Fixed bug which
+	was crashing repository updates (s/delete/delete []/).
+
+2002-08-20 01:03  mvogt
+
+	* common/rsources.cc, gtk/rgmainwindow.cc, gtk/rgsrcwindow.cc: *
+	some bugfixes in the new edit sources.list stuff
+
+2002-08-20 00:33  mvogt
+
+	* NEWS, configure.in, common/Makefile.am, common/rpackage.cc,
+	common/rsources.cc, common/rsources.h, gtk/Makefile.am,
+	gtk/rgmainwindow.cc, gtk/rgsourceswindow.cc, gtk/rgsourceswindow.h,
+	gtk/rgsrcwindow.cc, gtk/rgsrcwindow.h, po/cat-id-tbl.c: * added
+	sourceslist dialog (ported from deity)
+
+2002-07-27 16:07  mvogt
+
+	* common/Makefile.am, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: *
+	ups, bug in common/Makefile.am
+
+2002-07-27 15:57  mvogt
+
+	* configure.in, common/Makefile.am, common/rpackage.cc,
+	common/rpackagelister.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgzvtinstallprogress.cc: * some work on the new held feature,
+	but unfinished, because there	are some problems. I think I will
+	give the apt Pin feature a try
+
+2002-07-27 05:45  mvogt
+
+	* README, TODO, gtk/rgmainwindow.cc: * added CTRL-q keybinding to
+	quit and documented it * some updates to the TODO file
+
+2002-07-27 05:27  mvogt
+
+	* gtk/rgconfigwindow.cc: * no real changes
+
+2002-07-27 05:25  mvogt
+
+	* gtk/: rgconfigwindow.cc, rgzvtinstallprogress.cc: * the state of
+	"closeZvtOnFinish" is now saved
+
+2002-07-27 01:33  mvogt
+
+	* gtk/: rgzvtinstallprogress.cc, rgzvtinstallprogress.h: * more
+	fixes to rgzvtinstallprogress
+
+2002-07-27 01:17  mvogt
+
+	* common/rinstallprogress.cc, common/rinstallprogress.h,
+	gtk/rgconfigwindow.cc, gtk/rgdummyinstallprogress.h,
+	gtk/rgmainwindow.cc, gtk/rgzvtinstallprogress.cc,
+	gtk/rgzvtinstallprogress.h, po/cat-id-tbl.c: * improved the
+	tgzvtinstallwindow
+
+2002-07-26 03:33  mvogt
+
+	* common/indexcopy.cc, gtk/rgzvtinstallprogress.cc,
+	wings/rwaboutpanel.h, wings/rwconfigwindow.cc,
+	wings/rwconfigwindow.h, wings/rwfetchprogress.cc,
+	wings/rwfiltereditor.cc, wings/rwfiltermanager.cc,
+	wings/rwfiltermanager.h, wings/rwinstallprogress.cc,
+	wings/rwinstallprogress.h, wings/rwmainwindow.cc,
+	wings/rwmainwindow.h, wings/rwsourceswindow.h,
+	wings/rwsummarywindow.h, wings/rwwindow.h: * more work to make
+	synaptic g++-3.0 and "-Wall" clean
+
+2002-07-25 22:47  mvogt
+
+	* configure.in, common/indexcopy.cc, common/rconfiguration.cc,
+	common/rinstallprogress.cc, common/rinstallprogress.h,
+	common/rpackage.cc, common/rpackagecache.cc,
+	common/rpackagecache.h, common/rpackagefilter.cc,
+	common/rpackagelister.cc, gtk/gsynaptic.cc, gtk/rgmainwindow.cc,
+	po/cat-id-tbl.c, po/de.po, po/es.po, po/fr.po, po/pt_BR.po,
+	wings/Makefile.am, wings/synaptic.cc: * applied a APT-RPM patch
+	from Gustavo Niemeyer <niemeyer@connectiva.com> * increased version
+	to 0.23
+
+2002-07-24 22:19  mvogt
+
+	* configure.in: * bumped version to 0.22
+
+2002-07-24 20:22  mvogt
+
+	* NEWS, gtk/rgfiltermanager.cc: * fixed a bug in the
+	rgfiltermanager
+
+2002-07-24 11:31  mvogt
+
+	* common/rcdscanner.cc, common/rpackagefilter.cc,
+	gtk/rgzvtinstallprogress.cc: * made synaptic g++-3.0 clean (again)
+
+2002-07-23 16:42  mvogt
+
+	* TODO, gtk/rgmainwindow.cc: * cosmetic change in rgmainwindow
+
+2002-07-23 11:32  mvogt
+
+	* NEWS, TODO, configure.in, common/rcdscanner.cc,
+	common/rpackage.cc, common/rpackagecache.cc,
+	common/rpackagefilter.cc, common/rpackagefilter.h,
+	common/rpackagelister.cc, common/rpackagelister.h,
+	gtk/rgaboutpanel.h, gtk/rgconfigwindow.cc, gtk/rgconfigwindow.h,
+	gtk/rgfetchprogress.cc, gtk/rgfiltereditor.cc,
+	gtk/rgfiltermanager.cc, gtk/rgfiltermanager.h,
+	gtk/rginstallprogress.cc, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	gtk/rgwindow.h, gtk/rgzvtinstallprogress.cc, po/de.po, po/es.po,
+	po/fr.po, po/pt_BR.po: * increased version to 0.22pre1 * made
+	synaptic (mostly) -Wall clean * fixed bugs in the new
+	"Recommends/Suggests" menu
+
+2002-07-22 14:24  mvogt
+
+	* TODO, common/rpackage.cc, common/rpackage.h, gtk/rgmainwindow.cc,
+	gtk/rgmainwindow.h, po/cat-id-tbl.c: * fixed suggests/recommends
+	tab * added new "Dependencies of available package" * added
+	"install recommended", "install suggested", "install selected"	
+	commands
+
+2002-07-19 13:18  mvogt
+
+	* README, configure.in: * bumped version to 0.21 * added a small
+	section about filters in the README
+
+2002-07-19 13:13  mvogt
+
+	* README, TODO: * better documentation, more TODO items
+
+2002-07-19 01:56  mvogt
+
+	* common/rpackagelister.cc, gtk/rgfiltermanager.cc: * fixed a
+	segfault in rgfiltermanager.cc
+
+2002-07-17 12:49  mvogt
+
+	* po/de.po, po/es.po, po/fr.po, po/pt_BR.po,
+	wings/rwfetchprogress.cc: * another cosmetic fix in rwfetchprogress
+
+2002-07-17 12:22  mvogt
+
+	* gtk/rgsummarywindow.cc: * cosemtic fix for rgsummarywindow (left
+	align a label)
+
+2002-07-16 15:30  mvogt
+
+	* po/de.po, po/es.po, po/fr.po, po/pt_BR.po,
+	wings/rwfetchprogress.cc: * cosmetic change in
+	wings/rwfetchprogress.cc
+
+2002-07-16 14:59  mvogt
+
+	* configure.in, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: *
+	version is now 0.20 * no real changes since 0.20pre8, I think it's
+	ready now!
+
+2002-07-15 13:41  mvogt
+
+	* gtk/rgfetchprogress.cc, po/de.po, po/es.po, po/fr.po,
+	po/pt_BR.po: * cosmetic change in rgfetchprogress (label now left
+	alligned)
+
+2002-07-15 00:06  mvogt
+
+	* TODO: * minor todo update
+
+2002-07-15 00:05  mvogt
+
+	* INSTALL, README, TODO: * more documentation
+
+2002-07-14 23:52  mvogt
+
+	* configure.in: * no real change
+
+2002-07-14 23:49  mvogt
+
+	* NEWS, README: * added some documentation in preparation of the
+	0.20 version
+
+2002-07-14 23:41  mvogt
+
+	* README, gtk/rgmainwindow.cc: * added some keyboard shortcuts *
+	documented keyboard shortcuts in README * _statusL is now left
+	allignent
+
+2002-07-14 16:27  mvogt
+
+	* gtk/rgfetchprogress.cc: * fixed minor bug in rgfetchprogress
+
+2002-07-14 12:47  mvogt
+
+	* common/rinstallprogress.cc, common/rinstallprogress.h,
+	gtk/rgzvtinstallprogress.cc: * added my copyright on some files I
+	worked on
+
+2002-07-14 02:33  mvogt
+
+	* gtk/rgfetchprogress.cc: * experienced a bit with the hide()
+	problem (see rgfetchprogress::hide()),	 but found no solution
+
+2002-07-14 02:13  mvogt
+
+	* common/rinstallprogress.cc, common/rpackage.h, gtk/gsynaptic.cc,
+	gtk/rgfetchprogress.cc, gtk/rgmainwindow.cc: * if rgfetchprogress
+	is finished, but only one package is deleted,	rgfetchprogress
+	will not be hiden. I added a sleep(1)	[and this really sucks]
+
+2002-07-13 22:00  mvogt
+
+	* configure.in, gtk/rgfiltermanager.cc: * reanmed version to
+	0.20pre8 (but will not yet release) * fixed a bug in
+	rgfiltermanager.cc: if you clicked at delete and then save   (on
+	the last filter), it segfaults
+
+2002-07-13 21:48  mvogt
+
+	* acconfig.h, config.h.in, configure.in, common/rpackage.cc: *
+	renamed new-description-parser to debian-description-parser *
+	reworked the description parser (once again!)
+
+2002-07-12 20:55  mvogt
+
+	* common/rpackage.cc, po/de.po, po/es.po, po/fr.po, po/pt_BR.po: *
+	improved the NEW_DESCRIPTION_PARSER a bit (far from perfect,
+	though)
+
+2002-07-11 15:00  mvogt
+
+	* common/rinstallprogress.cc, gtk/rgzvtinstallprogress.cc,
+	po/cat-id-tbl.c, wings/rwfiltereditor.cc, wings/rwfiltereditor.h: *
+	removed filter option "New Package" from WINGs, as it's not
+	supported there   (and maybe never will) * removed some debug
+	output from rgzvtinstallprogress.cc, rinstallprogress.cc
+
+2002-07-11 13:56  mvogt
+
+	* common/Makefile.am, common/rrepositoryfile.cc,
+	common/rrepositoryfile.h, po/POTFILES.in, po/de.po, po/es.po,
+	po/fr.po, po/pt_BR.po: * removed rrepostoryfile.cc from
+	po/POTFILES.in as it's not ready yet
+
+2002-07-11 13:08  mvogt
+
+	* configure.in, gtk/rgfetchprogress.cc: * changed version to
+	0.20pre7
+
+2002-07-10 20:05  mvogt
+
+	* gtk/rgfetchprogress.cc, po/cat-id-tbl.c: * better rgfetchprogress
+	handling
+
+2002-07-10 19:10  mvogt
+
+	* gtk/: rgfetchprogress.cc, rgzvtinstallprogress.cc: * fixes for
+	rgfetprogress * fixes for rgzvtinstallprogress
+
+2002-07-10 10:59  mvogt
+
+	* NEWS, acconfig.h, config.h.in, configure.in, gtk/Makefile.am,
+	gtk/rgdummyinstallprogress.cc, gtk/rgdummyinstallprogress.h,
+	gtk/rginstallprogress.h, gtk/rgmainwindow.cc,
+	gtk/rgzvtinstallprogress.cc, gtk/rgzvtinstallprogress.h,
+	wings/Makefile.am: * GTK_CFLAGS, GTK_LIBS, WINGS_HDRS, WINDGS_LIBS
+	are now set in configure.in   (got rid of `gtk-config` on every
+	invocation of gcc * added configure option "--with-zvt" to enable
+	terminal widget * added rgzvtinstallprogress.{cc,h} with initial
+	support for libzvt   as terminal
+
+2002-07-10 01:45  mvogt
+
+	* configure: * more files that shouldn't be in CVS
+
+2002-07-10 01:44  mvogt
+
+	* Makefile.in, NEWS, aclocal.m4, stamp-h.in, common/Makefile.in,
+	gtk/Makefile.in, pixmaps/Makefile.in, po/de.po, po/stamp-cat-id,
+	wings/Makefile.in: * removed some files that should never had made
+	it into cvs :)
+
+2002-07-09 23:32  mvogt
+
+	* configure, common/rinstallprogress.cc, common/rinstallprogress.h,
+	gtk/rgdummyinstallprogress.cc, gtk/rgdummyinstallprogress.h,
+	gtk/rgsummarywindow.cc, po/de.po, po/es.po, po/fr.po, po/pt_BR.po:
+	* removed some gtk_set_usize() * prepeared for libzvt as
+	output-terminal
+
+2002-07-07 13:18  egon
+
+	* configure.in: * we're at version 0.20pre6 now
+
+2002-07-07 12:03  egon
+
+	* configure, configure.in, po/POTFILES.in, po/cat-id-tbl.c,
+	po/de.po, po/es.po, po/fr.po, po/pt_BR.po: * completeted german
+	translation
+
+2002-07-06 20:18  egon
+
+	* po/: es.po, fr.po, pt_BR.po: * added fr.po
+
+2002-07-03 21:32  egon
+
+	* configure, configure.in: * made version 0.20pre5
+
+2002-07-03 21:28  egon
+
+	* TODO, common/i18n.h, common/indexcopy.cc, common/indexcopy.h,
+	common/rcdscanner.cc, common/rcdscanner.h,
+	common/rconfiguration.cc, common/rconfiguration.h,
+	common/rdependency.h, common/rinstallprogress.cc,
+	common/rinstallprogress.h, common/rpackage.cc, common/rpackage.h,
+	common/rpackagefilter.cc, common/rpackagefilter.h,
+	common/rpackagelister.cc, common/rpackagelister.h,
+	common/rpmindexcopy.cc, common/rrepositoryfile.cc,
+	common/rrepositoryfile.h, gtk/galertpanel.c, gtk/galertpanel.h,
+	gtk/rgaboutpanel.cc, gtk/rgaboutpanel.h, gtk/rgcacheprogress.cc,
+	gtk/rgcacheprogress.h, gtk/rgconfigwindow.cc, gtk/rgconfigwindow.h,
+	gtk/rgdummyinstallprogress.cc, gtk/rgdummyinstallprogress.h,
+	gtk/rgfetchprogress.cc, gtk/rgfetchprogress.h,
+	gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h,
+	gtk/rgfiltermanager.cc, gtk/rgfiltermanager.h,
+	gtk/rgfilterwindow.cc, gtk/rgfilterwindow.h,
+	gtk/rginstallprogress.cc, gtk/rginstallprogress.h,
+	gtk/rgmainwindow.cc, gtk/rgmainwindow.h, gtk/rgsourceswindow.cc,
+	gtk/rgsourceswindow.h, gtk/rgsummarywindow.cc,
+	gtk/rgsummarywindow.h, gtk/rguserdialog.h, gtk/rgwindow.cc,
+	gtk/rgwindow.h, wings/rwaboutpanel.cc, wings/rwaboutpanel.h,
+	wings/rwcacheprogress.cc, wings/rwcacheprogress.h,
+	wings/rwconfigwindow.cc, wings/rwconfigwindow.h,
+	wings/rwdummyinstallprogress.cc, wings/rwdummyinstallprogress.h,
+	wings/rwfetchprogress.cc, wings/rwfetchprogress.h,
+	wings/rwfiltereditor.cc, wings/rwfiltereditor.h,
+	wings/rwfiltermanager.cc, wings/rwfiltermanager.h,
+	wings/rwfilterwindow.cc, wings/rwfilterwindow.h,
+	wings/rwinstallprogress.cc, wings/rwinstallprogress.h,
+	wings/rwmainwindow.cc, wings/rwsourceswindow.cc,
+	wings/rwsourceswindow.h, wings/rwsummarywindow.cc,
+	wings/rwsummarywindow.h, wings/rwuserdialog.h, wings/rwwindow.cc,
+	wings/rwwindow.h: * added copyright notic on every file
+
+2002-07-01 02:58  egon
+
+	* common/rpackage.cc, common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagelister.cc, gtk/rgfetchprogress.cc,
+	gtk/rgsummarywindow.cc, po/es.po, po/pt_BR.po: * fixed flickering
+	bug * fixed filter read/write bug (well, hopefully :)
+
+2002-07-01 02:58  egon
+
+	* configure, configure.in: * made 0.20pre4
+
+2002-07-01 01:41  egon
+
+	* po/synaptic.pot: * removed pot file (is recreated automaticly)
+
+2002-07-01 01:41  egon
+
+	* common/rpackagefilter.cc, gtk/rgmainwindow.cc, po/synaptic.pot: *
+	minor bugfix for the "new package" option
+
+2002-07-01 01:18  egon
+
+	* common/rpackage.h, gtk/rgmainwindow.cc, gtk/rgmainwindow.h,
+	po/synaptic.pot, wings/rwfilterwindow.cc: * a different approach to
+	refreshTable (stupid this time, but faster   than before?)
+
+2002-07-01 00:48  egon
+
+	* common/rpackage.cc, common/rpackage.h, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc,
+	gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h, gtk/rgfilterwindow.cc,
+	gtk/rgmainwindow.cc, gtk/rgmainwindow.h, po/cat-id-tbl.c,
+	po/synaptic.pot, wings/rwfiltereditor.cc, wings/rwfiltereditor.h: *
+	reworked refreshTable (should be faster, but isn't :-/ * added
+	"newPackage" status (will only last until the next update)
+
+2002-06-27 15:17  egon
+
+	* TODO, configure, configure.in, common/rpackagefilter.cc,
+	common/rpackagefilter.h, common/rpackagelister.cc,
+	gtk/galertpanel.c, gtk/rgfetchprogress.cc, gtk/rgfiltermanager.cc,
+	gtk/rgfilterwindow.cc, gtk/rgmainwindow.cc, gtk/rgsourceswindow.cc,
+	po/es.po, po/pt_BR.po, po/synaptic.pot, wings/rwfiltermanager.cc,
+	wings/rwfilterwindow.cc, wings/rwmainwindow.cc: * released 0.20pre3
+
+2002-06-22 14:26  egon
+
+	* po/pt_BR.gmo: * remoed pt_BR.gmo
+
+2002-06-22 14:25  egon
+
+	* po/: es.po, pt_BR.gmo, pt_BR.po: * nothing
+
+2002-06-22 14:14  egon
+
+	* gtk/: galertpanel.c, rgmainwindow.cc: * fixed a bug that caused
+	alert_panel to run twice
+
+2002-06-22 12:12  egon
+
+	* common/indexcopy.h, common/rconfiguration.h, common/rpackage.cc,
+	common/rpackage.h, common/rpackagefilter.h,
+	common/rpackagelister.cc, common/rpackagelister.h,
+	gtk/rgmainwindow.cc, gtk/rgwindow.h, po/synaptic.pot,
+	wings/rwmainwindow.cc, wings/rwwindow.h: * g++-3.0 clean
+
+2002-06-21 23:41  egon
+
+	* Makefile.in, aclocal.m4, configure, configure.in,
+	common/Makefile.in, gtk/Makefile.in, gtk/rgmainwindow.cc,
+	pixmaps/Makefile.in, po/es.po, po/pt_BR.gmo, po/pt_BR.po,
+	wings/Makefile.in: * new pre2
+
+2002-06-21 22:53  egon
+
+	* gtk/: rgaboutpanel.cc, rgmainwindow.cc, rgsummarywindow.cc: *
+	added myself to authors and copyright * added scrolled view for
+	_depList, _rdepList
+
+2002-06-21 15:25  egon
+
+	* configure, configure.in, common/rpackage.cc,
+	gtk/rgfetchprogress.cc, gtk/rgmainwindow.cc, po/synaptic.pot: *
+	fixed ugly bug in RPackage::isShallowDependency()
+
+2002-06-19 01:47  egon
+
+	* common/rconfiguration.cc, common/rpackage.cc,
+	common/rpackagefilter.cc, common/rpackagelister.cc,
+	gtk/rgfetchprogress.cc, gtk/rgfiltereditor.cc, gtk/rgmainwindow.cc,
+	po/es.po, po/pt_BR.gmo, po/pt_BR.po, po/synaptic.pot: * completted
+	saving of user defined rules (not perfect though)
+
+2002-06-19 01:46  egon
+
+	* acconfig.h, config.h.in, configure, configure.in: * added
+	--with-new-description-parser
+
+2002-06-18 13:06  egon
+
+	* common/rconfiguration.cc, common/rpackagefilter.cc,
+	common/rpackagelister.cc, gtk/rgfetchprogress.cc,
+	gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h,
+	gtk/rgfiltermanager.cc, gtk/rgmainwindow.cc, po/synaptic.pot: *
+	finished filter dialog (include/exclude pattern stuff) * started
+	work on loading the filters (writen out correctly, parse looks
+	wrong)
+
+2002-06-18 13:05  egon
+
+	* ChangeLog: * wrote some sort of changelog
+
+2002-06-16 21:35  egon
+
+	* gtk/: rgfiltermanager.cc, rgfiltermanager.h: * nearly finished
+	port of gtk/rgfiltermanager.{cc,h}
+
+2002-06-13 14:12  egon
+
+	* Makefile.am, Makefile.in, NEWS, README, TODO, aclocal.m4,
+	configure, configure.in, install-sh, missing, mkinstalldirs,
+	ABOUT-NLS, AUTHORS, COPYING, ChangeLog, INSTALL, acconfig.h,
+	acinclude.m4, autogen.sh, config.h.in, stamp-h.in, synaptic.spec,
+	common/Makefile.am, common/Makefile.in, common/i18n.h,
+	common/indexcopy.cc, common/indexcopy.h, common/raptoptions.cc,
+	common/raptoptions.h, common/rcdscanner.cc, common/rcdscanner.h,
+	common/rconfiguration.cc, common/rconfiguration.h,
+	common/rdependency.h, common/rinstallprogress.cc,
+	common/rinstallprogress.h, common/rpackage.cc, common/rpackage.h,
+	common/rpackagecache.cc, common/rpackagecache.h,
+	common/rpackagefilter.cc, common/rpackagefilter.h,
+	common/rpackagelister.cc, common/rpackagelister.h,
+	common/rpmindexcopy.cc, common/rpmindexcopy.h,
+	common/rrepositoryfile.cc, common/rrepositoryfile.h,
+	gtk/Makefile.am, gtk/Makefile.in, gtk/galertpanel.c,
+	gtk/galertpanel.h, gtk/gsynaptic.cc, gtk/rgaboutpanel.cc,
+	gtk/rgaboutpanel.h, gtk/rgcacheprogress.cc, gtk/rgcacheprogress.h,
+	gtk/rgconfigwindow.cc, gtk/rgconfigwindow.h,
+	gtk/rgdummyinstallprogress.cc, gtk/rgdummyinstallprogress.h,
+	gtk/rgfetchprogress.cc, gtk/rgfetchprogress.h,
+	gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h,
+	gtk/rgfiltermanager.cc, gtk/rgfiltermanager.h,
+	gtk/rgfilterwindow.cc, gtk/rgfilterwindow.h,
+	gtk/rginstallprogress.cc, gtk/rginstallprogress.h,
+	gtk/rgmainwindow.cc, gtk/rgmainwindow.h, gtk/rgsourceswindow.cc,
+	gtk/rgsourceswindow.h, gtk/rgsummarywindow.cc,
+	gtk/rgsummarywindow.h, gtk/rguserdialog.h, gtk/rgwindow.cc,
+	gtk/rgwindow.h, intl/ChangeLog, intl/Makefile.in,
+	intl/bindtextdom.c, intl/cat-compat.c, intl/dcgettext.c,
+	intl/dgettext.c, intl/explodename.c, intl/finddomain.c,
+	intl/gettext.c, intl/gettext.h, intl/gettextP.h,
+	intl/hash-string.h, intl/intl-compat.c, intl/l10nflist.c,
+	intl/libgettext.h, intl/linux-msg.sed, intl/loadinfo.h,
+	intl/loadmsgcat.c, intl/localealias.c, intl/po2tbl.sed.in,
+	intl/textdomain.c, intl/xopen-msg.sed, macros/Makefile,
+	macros/Makefile.am, macros/Makefile.in, macros/aclocal-include.m4,
+	macros/autogen.sh, macros/compiler-flags.m4, macros/curses.m4,
+	macros/gnome-bonobo-check.m4, macros/gnome-common.m4,
+	macros/gnome-fileutils.m4, macros/gnome-gettext.m4,
+	macros/gnome-ghttp-check.m4, macros/gnome-gnorba-check.m4,
+	macros/gnome-guile-checks.m4, macros/gnome-libgtop-check.m4,
+	macros/gnome-objc-checks.m4, macros/gnome-orbit-check.m4,
+	macros/gnome-print-check.m4, macros/gnome-pthread-check.m4,
+	macros/gnome-support.m4, macros/gnome-undelfs.m4,
+	macros/gnome-vfs.m4, macros/gnome-x-checks.m4,
+	macros/gnome-xml-check.m4, macros/gnome.m4, macros/gperf-check.m4,
+	macros/linger.m4, macros/need-declaration.m4, pixmaps/Makefile.am,
+	pixmaps/Makefile.in, pixmaps/alert.xpm, pixmaps/alertM.xpm,
+	pixmaps/brokenM.xpm, pixmaps/cdrom.xpm, pixmaps/cnc.xpm,
+	pixmaps/cnc2.xpm, pixmaps/deb.xpm, pixmaps/distupgrade.xpm,
+	pixmaps/down.xpm, pixmaps/downgradeM.xpm, pixmaps/filter.xpm,
+	pixmaps/find.xpm, pixmaps/fixbroken.xpm, pixmaps/heldM.xpm,
+	pixmaps/installM.xpm, pixmaps/keepM.xpm, pixmaps/logo.xpm,
+	pixmaps/options.xpm, pixmaps/proceed.xpm, pixmaps/removeM.xpm,
+	pixmaps/sources.xpm, pixmaps/stop.xpm, pixmaps/up.xpm,
+	pixmaps/update.xpm, pixmaps/upgrade.xpm, pixmaps/upgradeM.xpm,
+	po/Makefile.in.in, po/POTFILES.in, po/cat-id-tbl.c, po/es.po,
+	po/pt_BR.gmo, po/pt_BR.po, po/stamp-cat-id, po/synaptic.pot,
+	wings/Makefile.am, wings/Makefile.in, wings/rwaboutpanel.cc,
+	wings/rwaboutpanel.h, wings/rwcacheprogress.cc,
+	wings/rwcacheprogress.h, wings/rwconfigwindow.cc,
+	wings/rwconfigwindow.h, wings/rwdummyinstallprogress.cc,
+	wings/rwdummyinstallprogress.h, wings/rwfetchprogress.cc,
+	wings/rwfetchprogress.h, wings/rwfiltereditor.cc,
+	wings/rwfiltereditor.h, wings/rwfiltermanager.cc,
+	wings/rwfiltermanager.h, wings/rwfilterwindow.cc,
+	wings/rwfilterwindow.h, wings/rwinstallprogress.cc,
+	wings/rwinstallprogress.h, wings/rwmainwindow.cc,
+	wings/rwmainwindow.h, wings/rwsourceswindow.cc,
+	wings/rwsourceswindow.h, wings/rwsummarywindow.cc,
+	wings/rwsummarywindow.h, wings/rwuserdialog.h, wings/rwwindow.cc,
+	wings/rwwindow.h, wings/synaptic.cc: initial checkin
+
+2002-06-13 14:12  egon
+
+	* Makefile.am, Makefile.in, NEWS, README, TODO, aclocal.m4,
+	configure, configure.in, install-sh, missing, mkinstalldirs,
+	ABOUT-NLS, AUTHORS, COPYING, ChangeLog, INSTALL, acconfig.h,
+	acinclude.m4, autogen.sh, config.h.in, stamp-h.in, synaptic.spec,
+	common/Makefile.am, common/Makefile.in, common/i18n.h,
+	common/indexcopy.cc, common/indexcopy.h, common/raptoptions.cc,
+	common/raptoptions.h, common/rcdscanner.cc, common/rcdscanner.h,
+	common/rconfiguration.cc, common/rconfiguration.h,
+	common/rdependency.h, common/rinstallprogress.cc,
+	common/rinstallprogress.h, common/rpackage.cc, common/rpackage.h,
+	common/rpackagecache.cc, common/rpackagecache.h,
+	common/rpackagefilter.cc, common/rpackagefilter.h,
+	common/rpackagelister.cc, common/rpackagelister.h,
+	common/rpmindexcopy.cc, common/rpmindexcopy.h,
+	common/rrepositoryfile.cc, common/rrepositoryfile.h,
+	gtk/Makefile.am, gtk/Makefile.in, gtk/galertpanel.c,
+	gtk/galertpanel.h, gtk/gsynaptic.cc, gtk/rgaboutpanel.cc,
+	gtk/rgaboutpanel.h, gtk/rgcacheprogress.cc, gtk/rgcacheprogress.h,
+	gtk/rgconfigwindow.cc, gtk/rgconfigwindow.h,
+	gtk/rgdummyinstallprogress.cc, gtk/rgdummyinstallprogress.h,
+	gtk/rgfetchprogress.cc, gtk/rgfetchprogress.h,
+	gtk/rgfiltereditor.cc, gtk/rgfiltereditor.h,
+	gtk/rgfiltermanager.cc, gtk/rgfiltermanager.h,
+	gtk/rgfilterwindow.cc, gtk/rgfilterwindow.h,
+	gtk/rginstallprogress.cc, gtk/rginstallprogress.h,
+	gtk/rgmainwindow.cc, gtk/rgmainwindow.h, gtk/rgsourceswindow.cc,
+	gtk/rgsourceswindow.h, gtk/rgsummarywindow.cc,
+	gtk/rgsummarywindow.h, gtk/rguserdialog.h, gtk/rgwindow.cc,
+	gtk/rgwindow.h, intl/ChangeLog, intl/Makefile.in,
+	intl/bindtextdom.c, intl/cat-compat.c, intl/dcgettext.c,
+	intl/dgettext.c, intl/explodename.c, intl/finddomain.c,
+	intl/gettext.c, intl/gettext.h, intl/gettextP.h,
+	intl/hash-string.h, intl/intl-compat.c, intl/l10nflist.c,
+	intl/libgettext.h, intl/linux-msg.sed, intl/loadinfo.h,
+	intl/loadmsgcat.c, intl/localealias.c, intl/po2tbl.sed.in,
+	intl/textdomain.c, intl/xopen-msg.sed, macros/Makefile,
+	macros/Makefile.am, macros/Makefile.in, macros/aclocal-include.m4,
+	macros/autogen.sh, macros/compiler-flags.m4, macros/curses.m4,
+	macros/gnome-bonobo-check.m4, macros/gnome-common.m4,
+	macros/gnome-fileutils.m4, macros/gnome-gettext.m4,
+	macros/gnome-ghttp-check.m4, macros/gnome-gnorba-check.m4,
+	macros/gnome-guile-checks.m4, macros/gnome-libgtop-check.m4,
+	macros/gnome-objc-checks.m4, macros/gnome-orbit-check.m4,
+	macros/gnome-print-check.m4, macros/gnome-pthread-check.m4,
+	macros/gnome-support.m4, macros/gnome-undelfs.m4,
+	macros/gnome-vfs.m4, macros/gnome-x-checks.m4,
+	macros/gnome-xml-check.m4, macros/gnome.m4, macros/gperf-check.m4,
+	macros/linger.m4, macros/need-declaration.m4, pixmaps/Makefile.am,
+	pixmaps/Makefile.in, pixmaps/alert.xpm, pixmaps/alertM.xpm,
+	pixmaps/brokenM.xpm, pixmaps/cdrom.xpm, pixmaps/cnc.xpm,
+	pixmaps/cnc2.xpm, pixmaps/deb.xpm, pixmaps/distupgrade.xpm,
+	pixmaps/down.xpm, pixmaps/downgradeM.xpm, pixmaps/filter.xpm,
+	pixmaps/find.xpm, pixmaps/fixbroken.xpm, pixmaps/heldM.xpm,
+	pixmaps/installM.xpm, pixmaps/keepM.xpm, pixmaps/logo.xpm,
+	pixmaps/options.xpm, pixmaps/proceed.xpm, pixmaps/removeM.xpm,
+	pixmaps/sources.xpm, pixmaps/stop.xpm, pixmaps/up.xpm,
+	pixmaps/update.xpm, pixmaps/upgrade.xpm, pixmaps/upgradeM.xpm,
+	po/Makefile.in.in, po/POTFILES.in, po/cat-id-tbl.c, po/es.po,
+	po/pt_BR.gmo, po/pt_BR.po, po/stamp-cat-id, po/synaptic.pot,
+	wings/Makefile.am, wings/Makefile.in, wings/rwaboutpanel.cc,
+	wings/rwaboutpanel.h, wings/rwcacheprogress.cc,
+	wings/rwcacheprogress.h, wings/rwconfigwindow.cc,
+	wings/rwconfigwindow.h, wings/rwdummyinstallprogress.cc,
+	wings/rwdummyinstallprogress.h, wings/rwfetchprogress.cc,
+	wings/rwfetchprogress.h, wings/rwfiltereditor.cc,
+	wings/rwfiltereditor.h, wings/rwfiltermanager.cc,
+	wings/rwfiltermanager.h, wings/rwfilterwindow.cc,
+	wings/rwfilterwindow.h, wings/rwinstallprogress.cc,
+	wings/rwinstallprogress.h, wings/rwmainwindow.cc,
+	wings/rwmainwindow.h, wings/rwsourceswindow.cc,
+	wings/rwsourceswindow.h, wings/rwsummarywindow.cc,
+	wings/rwsummarywindow.h, wings/rwuserdialog.h, wings/rwwindow.cc,
+	wings/rwwindow.h, wings/synaptic.cc: Initial revision
+

=== renamed file 'ChangeLog' => 'ChangeLog.moved'
=== added file 'DEBUG'
--- DEBUG	1970-01-01 00:00:00 +0000
+++ DEBUG	2010-08-01 23:35:56 +0000
@@ -0,0 +1,6 @@
+Synaptic supports some debug helpers.
+Run them like this
+# synaptic -o Debug::Synaptic::View=true
+
+Currently the following are supported:
+Debug::Synaptic::View - Debug switching/updating the package views
\ No newline at end of file

=== renamed file 'DEBUG' => 'DEBUG.moved'
=== added file 'FAQ'
--- FAQ	1970-01-01 00:00:00 +0000
+++ FAQ	2010-08-01 23:35:56 +0000
@@ -0,0 +1,30 @@
+Some FAQs:
+
+Q: Synaptic segfaults when I click on the "Repository" Window. I run Fedora
+   Core1.
+A: This may be caused by some ABI changes in used apt version. Please try
+   to recompile synaptic and see if the problem goes away. If not, please
+   mail us!
+
+
+Q: How can I change the font in synaptic
+A: 1. You are not running gnome:
+   Edit your /root/.gtkrc-2.0 and add the following line:
+   gtk-font-name = "Sans 14"
+
+   2. You use gnome 2.x:
+   Go to Applications/Desktop Preferences/Font and choose whatever you like.
+
+
+Q: Synaptic crashes with the following messages:
+   (synaptic:1316): Gdk-WARNING **: locale not supported by Xlib
+   (synaptic:1316): ZVT-WARNING **: Cannot get required fonts from "monospace 13"  
+   (synaptic:1316): ZVT-WARNING **: Failed to load any required font, so crash will  occur..check X11 font pathes and etc/pangox.alias file
+   [crash]
+A: This is most likley caused by incorrect locales. Try to set the locales
+   with "dpkg-reconfigure locales" or set it to something like:
+   $ export LC_ALL=it_IT
+   or
+   $ export LC_ALL=it_IT@euro
+   
+   

=== renamed file 'FAQ' => 'FAQ.moved'
=== added file 'INSTALL'
--- INSTALL	1970-01-01 00:00:00 +0000
+++ INSTALL	2010-08-01 23:35:56 +0000
@@ -0,0 +1,236 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005 Free
+Software Foundation, Inc.
+
+This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+These are generic installation instructions.
+
+   The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation.  It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions.  Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+   It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring.  (Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.)
+
+   If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release.  If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+   The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'.  You only need
+`configure.ac' if you want to change it or regenerate `configure' using
+a newer version of `autoconf'.
+
+The simplest way to compile this package is:
+
+  1. `cd' to the directory containing the package's source code and type
+     `./configure' to configure the package for your system.  If you're
+     using `csh' on an old version of System V, you might need to type
+     `sh ./configure' instead to prevent `csh' from trying to execute
+     `configure' itself.
+
+     Running `configure' takes awhile.  While running, it prints some
+     messages telling which features it is checking for.
+
+  2. Type `make' to compile the package.
+
+  3. Optionally, type `make check' to run any self-tests that come with
+     the package.
+
+  4. Type `make install' to install the programs and any data files and
+     documentation.
+
+  5. You can remove the program binaries and object files from the
+     source code directory by typing `make clean'.  To also remove the
+     files that `configure' created (so you can compile the package for
+     a different kind of computer), type `make distclean'.  There is
+     also a `make maintainer-clean' target, but that is intended mainly
+     for the package's developers.  If you use it, you may have to get
+     all sorts of other programs in order to regenerate files that came
+     with the distribution.
+
+Compilers and Options
+=====================
+
+Some systems require unusual options for compilation or linking that the
+`configure' script does not know about.  Run `./configure --help' for
+details on some of the pertinent environment variables.
+
+   You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment.  Here
+is an example:
+
+     ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
+
+   *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory.  To do this, you must use a version of `make' that
+supports the `VPATH' variable, such as GNU `make'.  `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script.  `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+   If you have to use a `make' that does not support the `VPATH'
+variable, you have to compile the package for one architecture at a
+time in the source code directory.  After you have installed the
+package for one architecture, use `make distclean' before reconfiguring
+for another architecture.
+
+Installation Names
+==================
+
+By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc.  You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+   You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files.  If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+   In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files.  Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+   If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System).  The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+   For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Specifying the System Type
+==========================
+
+There may be some features `configure' cannot figure out automatically,
+but needs to determine by the type of machine the package will run on.
+Usually, assuming the package is built to be run on the _same_
+architectures, `configure' can figure that out, but if it prints a
+message saying it cannot guess the machine type, give it the
+`--build=TYPE' option.  TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+     CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+     OS KERNEL-OS
+
+   See the file `config.sub' for the possible values of each field.  If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+   If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+   If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+If you want to set default values for `configure' scripts to share, you
+can create a site shell script called `config.site' that gives default
+values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists.  Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+Variables not defined in a site shell script can be set in the
+environment passed to `configure'.  However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost.  In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'.  For example:
+
+     ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).  Here is a another example:
+
+     /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+Here the `CONFIG_SHELL=/bin/bash' operand causes subsequent
+configuration-related scripts to be executed by `/bin/bash'.
+
+`configure' Invocation
+======================
+
+`configure' recognizes the following options to control how it operates.
+
+`--help'
+`-h'
+     Print a summary of the options to `configure', and exit.
+
+`--version'
+`-V'
+     Print the version of Autoconf used to generate the `configure'
+     script, and exit.
+
+`--cache-file=FILE'
+     Enable the cache: use and save the results of the tests in FILE,
+     traditionally `config.cache'.  FILE defaults to `/dev/null' to
+     disable caching.
+
+`--config-cache'
+`-C'
+     Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+     Do not print messages saying which checks are being made.  To
+     suppress all normal output, redirect it to `/dev/null' (any error
+     messages will still be shown).
+
+`--srcdir=DIR'
+     Look for the package's source code in directory DIR.  Usually
+     `configure' can determine that directory automatically.
+
+`configure' also accepts some other, not widely useful, options.  Run
+`configure --help' for more details.
+

=== renamed file 'INSTALL' => 'INSTALL.moved'
=== added file 'Makefile.am'
--- Makefile.am	1970-01-01 00:00:00 +0000
+++ Makefile.am	2010-08-01 23:35:56 +0000
@@ -0,0 +1,11 @@
+# synaptic makefile
+
+SUBDIRS = data common gtk tests man pixmaps po help doc
+
+EXTRA_DIST = config.h.in \
+	     synaptic.spec synaptic-suse.spec synaptic-redhat.spec \
+             intltool-extract.in intltool-merge.in intltool-update.in \
+	     README.debtags FAQ \
+             TRANSLATORS README.tasks README.supported \
+             po/synaptic.pot po-manual/synaptic-manual.pot
+

=== renamed file 'Makefile.am' => 'Makefile.am.moved'
=== added file 'Makefile.in'
--- Makefile.in	1970-01-01 00:00:00 +0000
+++ Makefile.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,732 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# synaptic makefile
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = .
+DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
+	$(top_srcdir)/configure ABOUT-NLS AUTHORS COPYING ChangeLog \
+	INSTALL NEWS TODO depcomp install-sh missing mkinstalldirs
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
+ configure.lineno config.status.lineno
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
+	html-recursive info-recursive install-data-recursive \
+	install-dvi-recursive install-exec-recursive \
+	install-html-recursive install-info-recursive \
+	install-pdf-recursive install-ps-recursive install-recursive \
+	installcheck-recursive installdirs-recursive pdf-recursive \
+	ps-recursive uninstall-recursive
+RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
+  distclean-recursive maintainer-clean-recursive
+AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
+	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+	distdir dist dist-all distcheck
+ETAGS = etags
+CTAGS = ctags
+DIST_SUBDIRS = $(SUBDIRS)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+am__remove_distdir = \
+  { test ! -d "$(distdir)" \
+    || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
+         && rm -fr "$(distdir)"; }; }
+am__relativize = \
+  dir0=`pwd`; \
+  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
+  sed_rest='s,^[^/]*/*,,'; \
+  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
+  sed_butlast='s,/*[^/]*$$,,'; \
+  while test -n "$$dir1"; do \
+    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
+    if test "$$first" != "."; then \
+      if test "$$first" = ".."; then \
+        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
+        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
+      else \
+        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
+        if test "$$first2" = "$$first"; then \
+          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
+        else \
+          dir2="../$$dir2"; \
+        fi; \
+        dir0="$$dir0"/"$$first"; \
+      fi; \
+    fi; \
+    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
+  done; \
+  reldir="$$dir2"
+DIST_ARCHIVES = $(distdir).tar.gz
+GZIP_ENV = --best
+distuninstallcheck_listfiles = find . -type f -print
+distcleancheck_listfiles = find . -type f -print
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_gtk = @BUILD_gtk@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEB_HDRS = @DEB_HDRS@
+DEB_LIBS = @DEB_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+LDFLAGS = @LDFLAGS@
+LIBEPT_CFLAGS = @LIBEPT_CFLAGS@
+LIBEPT_LIBS = @LIBEPT_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LP_CFLAGS = @LP_CFLAGS@
+LP_LIBS = @LP_LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
+PACKAGE_LIBS = @PACKAGE_LIBS@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+RPM_HDRS = @RPM_HDRS@
+RPM_LIBS = @RPM_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VTE_CFLAGS = @VTE_CFLAGS@
+VTE_LIBS = @VTE_LIBS@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+synapticlocaledir = @synapticlocaledir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+SUBDIRS = data common gtk tests man pixmaps po help doc
+EXTRA_DIST = config.h.in \
+	     synaptic.spec synaptic-suse.spec synaptic-redhat.spec \
+             intltool-extract.in intltool-merge.in intltool-update.in \
+	     README.debtags FAQ \
+             TRANSLATORS README.tasks README.supported \
+             po/synaptic.pot po-manual/synaptic-manual.pot
+
+all: config.h
+	$(MAKE) $(AM_MAKEFLAGS) all-recursive
+
+.SUFFIXES:
+am--refresh:
+	@:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \
+	      $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \
+		&& exit 0; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    echo ' $(SHELL) ./config.status'; \
+	    $(SHELL) ./config.status;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	$(SHELL) ./config.status --recheck
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	$(am__cd) $(srcdir) && $(AUTOCONF)
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
+$(am__aclocal_m4_deps):
+
+config.h: stamp-h1
+	@if test ! -f $@; then \
+	  rm -f stamp-h1; \
+	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
+	else :; fi
+
+stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
+	@rm -f stamp-h1
+	cd $(top_builddir) && $(SHELL) ./config.status config.h
+$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps) 
+	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
+	rm -f stamp-h1
+	touch $@
+
+distclean-hdr:
+	-rm -f config.h stamp-h1
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+#     (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+$(RECURSIVE_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	target=`echo $@ | sed s/-recursive//`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    dot_seen=yes; \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done; \
+	if test "$$dot_seen" = "no"; then \
+	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+	fi; test -z "$$fail"
+
+$(RECURSIVE_CLEAN_TARGETS):
+	@fail= failcom='exit 1'; \
+	for f in x $$MAKEFLAGS; do \
+	  case $$f in \
+	    *=* | --[!k]*);; \
+	    *k*) failcom='fail=yes';; \
+	  esac; \
+	done; \
+	dot_seen=no; \
+	case "$@" in \
+	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
+	  *) list='$(SUBDIRS)' ;; \
+	esac; \
+	rev=''; for subdir in $$list; do \
+	  if test "$$subdir" = "."; then :; else \
+	    rev="$$subdir $$rev"; \
+	  fi; \
+	done; \
+	rev="$$rev ."; \
+	target=`echo $@ | sed s/-recursive//`; \
+	for subdir in $$rev; do \
+	  echo "Making $$target in $$subdir"; \
+	  if test "$$subdir" = "."; then \
+	    local_target="$$target-am"; \
+	  else \
+	    local_target="$$target"; \
+	  fi; \
+	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+	  || eval $$failcom; \
+	done && test -z "$$fail"
+tags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+	done
+ctags-recursive:
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
+	done
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
+	  include_option=--etags-include; \
+	  empty_fix=.; \
+	else \
+	  include_option=--include; \
+	  empty_fix=; \
+	fi; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test ! -f $$subdir/TAGS || \
+	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
+	  fi; \
+	done; \
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	$(am__remove_distdir)
+	test -d "$(distdir)" || mkdir "$(distdir)"
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    test -d "$(distdir)/$$subdir" \
+	    || $(MKDIR_P) "$(distdir)/$$subdir" \
+	    || exit 1; \
+	  fi; \
+	done
+	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
+	  if test "$$subdir" = .; then :; else \
+	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
+	    $(am__relativize); \
+	    new_distdir=$$reldir; \
+	    dir1=$$subdir; dir2="$(top_distdir)"; \
+	    $(am__relativize); \
+	    new_top_distdir=$$reldir; \
+	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
+	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
+	    ($(am__cd) $$subdir && \
+	      $(MAKE) $(AM_MAKEFLAGS) \
+	        top_distdir="$$new_top_distdir" \
+	        distdir="$$new_distdir" \
+		am__remove_distdir=: \
+		am__skip_length_check=: \
+		am__skip_mode_fix=: \
+	        distdir) \
+	      || exit 1; \
+	  fi; \
+	done
+	-test -n "$(am__skip_mode_fix)" \
+	|| find "$(distdir)" -type d ! -perm -755 \
+		-exec chmod u+rwx,go+rx {} \; -o \
+	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
+	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
+	|| chmod -R a+r "$(distdir)"
+dist-gzip: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+dist-bzip2: distdir
+	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
+	$(am__remove_distdir)
+
+dist-lzma: distdir
+	tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma
+	$(am__remove_distdir)
+
+dist-xz: distdir
+	tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz
+	$(am__remove_distdir)
+
+dist-tarZ: distdir
+	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
+	$(am__remove_distdir)
+
+dist-shar: distdir
+	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
+	$(am__remove_distdir)
+
+dist-zip: distdir
+	-rm -f $(distdir).zip
+	zip -rq $(distdir).zip $(distdir)
+	$(am__remove_distdir)
+
+dist dist-all: distdir
+	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
+	$(am__remove_distdir)
+
+# This target untars the dist file and tries a VPATH configuration.  Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+	case '$(DIST_ARCHIVES)' in \
+	*.tar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
+	*.tar.bz2*) \
+	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
+	*.tar.lzma*) \
+	  lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
+	*.tar.xz*) \
+	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
+	*.tar.Z*) \
+	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
+	*.shar.gz*) \
+	  GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
+	*.zip*) \
+	  unzip $(distdir).zip ;;\
+	esac
+	chmod -R a-w $(distdir); chmod a+w $(distdir)
+	mkdir $(distdir)/_build
+	mkdir $(distdir)/_inst
+	chmod a-w $(distdir)
+	test -d $(distdir)/_build || exit 0; \
+	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
+	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
+	  && am__cwd=`pwd` \
+	  && $(am__cd) $(distdir)/_build \
+	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
+	    $(DISTCHECK_CONFIGURE_FLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) \
+	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
+	  && $(MAKE) $(AM_MAKEFLAGS) check \
+	  && $(MAKE) $(AM_MAKEFLAGS) install \
+	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
+	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
+	        distuninstallcheck \
+	  && chmod -R a-w "$$dc_install_base" \
+	  && ({ \
+	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
+	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
+	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
+	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
+	  && rm -rf "$$dc_destdir" \
+	  && $(MAKE) $(AM_MAKEFLAGS) dist \
+	  && rm -rf $(DIST_ARCHIVES) \
+	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
+	  && cd "$$am__cwd" \
+	  || exit 1
+	$(am__remove_distdir)
+	@(echo "$(distdir) archives ready for distribution: "; \
+	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
+	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
+distuninstallcheck:
+	@$(am__cd) '$(distuninstallcheck_dir)' \
+	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
+	   || { echo "ERROR: files left after uninstall:" ; \
+	        if test -n "$(DESTDIR)"; then \
+	          echo "  (check DESTDIR support)"; \
+	        fi ; \
+	        $(distuninstallcheck_listfiles) ; \
+	        exit 1; } >&2
+distcleancheck: distclean
+	@if test '$(srcdir)' = . ; then \
+	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
+	  exit 1 ; \
+	fi
+	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
+	  || { echo "ERROR: files left in build directory after distclean:" ; \
+	       $(distcleancheck_listfiles) ; \
+	       exit 1; } >&2
+check-am: all-am
+check: check-recursive
+all-am: Makefile config.h
+installdirs: installdirs-recursive
+installdirs-am:
+install: install-recursive
+install-exec: install-exec-recursive
+install-data: install-data-recursive
+uninstall: uninstall-recursive
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-recursive
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-recursive
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic distclean-hdr distclean-tags
+
+dvi: dvi-recursive
+
+dvi-am:
+
+html: html-recursive
+
+html-am:
+
+info: info-recursive
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-recursive
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-recursive
+
+install-html-am:
+
+install-info: install-info-recursive
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-recursive
+
+install-pdf-am:
+
+install-ps: install-ps-recursive
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-recursive
+	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
+	-rm -rf $(top_srcdir)/autom4te.cache
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-recursive
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-recursive
+
+pdf-am:
+
+ps: ps-recursive
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \
+	ctags-recursive install-am install-strip tags-recursive
+
+.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
+	all all-am am--refresh check check-am clean clean-generic \
+	ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
+	dist-lzma dist-shar dist-tarZ dist-xz dist-zip distcheck \
+	distclean distclean-generic distclean-hdr distclean-tags \
+	distcleancheck distdir distuninstallcheck dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs installdirs-am maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am tags tags-recursive uninstall uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

=== added file 'NEWS'
--- NEWS	1970-01-01 00:00:00 +0000
+++ NEWS	2010-08-01 23:35:56 +0000
@@ -0,0 +1,370 @@
+0.57.3:
+ - bugfixes
+ - updated Lithuanian translation (thanks to ygimantas Beruka)
+0.57.2:
+ - bugfixes
+  * updated Hungarian translation (thanks to Gabor Kelemen)
+0.57.1:
+ - if no changes are detected in the terminal window in 
+   rgdebinstallprogress after a certain timeout the expander 
+   is opened (assuming that something hangs inside)
+ - updated Chinese/Traditional translation (thanks to Woodman Tuen)
+ - updated Bulgarian translation (thanks to Yavor Doganov)
+ - updated Catalan translation (thanks to Jordi)
+0.57:
+ - updated Bulgarian translation (thanks to Yavor Doganov)
+ - updated Spanish translation (thanks to Jorge Bernal)
+ - updated Brasilian translation (thanks to Andre Luis Lopes)
+ - set title in repository window
+ - various bugfixes (should build on rpm fine again)
+ - dist-upgrade is default when when hiting upgrade 
+0.56.1:
+ - minor bugfix
+0.56
+ - "History" added (log of what changed)
+ - Sources in the sources.list editor can be moved Up and Down
+   (thanks to Norberto Lopes)
+ - new configure switch "--with-apt-authentication"
+ - new configure switch "--with-nice-dpkg-status"
+ - HIGified the old "Expert" Preferences 
+ - switched to gtk2.4 file dialogs
+ - new runtime switch "--add-cdrom /dev/xxx"
+ - new runtime switch "--dist-upgrade-mode"
+ - new runtime switch "--update-at-startup"
+ - autoclean cache by default now 
+ - Translation updates:
+   * Danish (da): Thanks to Morten Brix Pedersen
+   * Dutch (nl): Thanks to Vincent van Adrighem 
+   * Greek (el): Thanks to Kostas Papadimas 
+   * Italian (it): Thanks to Marco Colombo
+   * Catalan (ca): Thanks to Jordi Mallach
+   * Hungarian (hu): Thanks to Gabor Kelemen
+   * Spanish (es): Thanks to Jorge Bernal
+   * Lithuanian (lt): Thanks to Zygimantas Berucka 
+   * Russian (ru): Thanks to Vitaly Lipatov
+   * Chinese (zh_CN): Thanks to Liu Songhe
+   * Turkish (tr): Thanks to  Erin EKER
+   * Macedonian (mk): Thanks to Arangel Angov
+   * French (fr): Thanks to Jean-Luc Coulon
+   * Xhosa (xh): Thanks to Canonical Ltd 
+
+0.55
+ - new columns: "component", "section", "suppported"
+ - support to mark packages as supported by the distribution,
+   see README.supported for details
+ - AND/OR mode for pattern filter has gui support now
+ - Auto install for recommended packages is back
+ - When the find window is opened, the current text is selected
+ - Views looks a bit more like in Evolution 
+
+0.53.4
+ - Added AND/OR mode for the filters
+ - Updated the manual to reflect version 0.53.4 (Thanks to Gaetan de Menten)
+ - Show "no package is selected" in the desc. field
+ - Use a icon with a higher resolution for the app 
+ - Fixed typos
+ - Fixed sections that include a "<" in the name
+ - Added Spanish translation of the manual by Francisco Javier F. Serrador
+ - Added Norwegian translation by Vidar Braut Haarr
+ - Updated  Portuguese translation by Andre Luis Lopes
+ - Updated Spanish translation by Francisco Javier F. Serrador
+ - Updated Italian translation by Mauro Colorio
+ - Updated German translation by Sebastian Heinlein (Thanks to Michael Groe)
+
+0.53
+ - sort by Available Version and Installed Version 
+ - task support (if distribution supports it)
+ - GPG-Check button in Summary Window for RPM systems
+ - Properties of the package can optionally be shown in main window
+ - reworked the column editor (thanks Sebastian)
+ - various bugfixes
+ - updated Spanish translation (thanks to Francisco Javier F. Serrador)
+ - updated Frensh translation (thanks to Julien Louis)
+ - updated German translation (thanks to Sebastian Heinlein)
+ - updated Turkish translation (thanks to Erin EKER)
+ - updated Chinese translation (thanks to jack liu)
+ - updated Dutch translation (thanks to Vincent van Adrighem)
+ - updated Hungarian translation (thanks to  Kelemen Gbor)
+ - updated Catalan translation (thanks to Jordi Mallach)
+ - updated Danish translation (thanks to Morten Brix Pedersen)
+
+0.52 
+ - reenable package "hold" 
+ - reenable "install spefific version" 
+ - alpha/amd64 64bit fixes (thanks to Ronald Murray)
+ - updated Turkish translation (thanks to Erin EKER)
+ - updated Chinese translation (thanks to liu jack)
+ - updated Spanish translation (thanks to Francisco Javier F. Serrador)
+ - updated German translation (thanks to Sebastian Heinlein)
+ - updated Polish translation (thanks to Emil Nowak)
+ - updated Hungarian translation (thanks to  Kelemen Gbor)
+ - updated Brazilian Portuguese translation (thanks to Andre Luis Lopes)
+ - updated Catalan translation (thanks to Jordi)
+ - updated Hebrew translation (thanks to Lior Kaplan)
+ - updated Frensh translation (thanks to Julien Louis)
+
+0.51
+ - enabled sorting on status (order: new, upgrable, installed, not installed)
+ - interactive search bound on CTRL-s 
+ - package details window is now non-modal 
+ - updated Japanese translation (thanks to  Daisuke SUZUKI)
+ - updated Hebrew translation (thanks to Lior Kaplan)
+ - updated Hungarian translation (thanks to Gbor Kelemen)
+ - updated Catalan translation (thanks to Jordi Mallach)
+ - updated Czech translation (thanks  Kapica Ales)
+ - updated German translation (thanks to Sebastian Heinlein)
+ - updated Danish translation (thanks to Morten Brix Pedersen)
+
+0.50
+ - new GUI (thanks to Gustavo and Sebastian for there _great_ work)
+ - removed "hold" support (used to be implemented via apt pins, may
+   come back later)
+ - removed debtags support (will come back later)
+ - much improved vte terminal support
+ - Package list is much faster now when compiled with gtk-2.4
+ - Debian: Recommended/Suggested can be installed by right-click menu now
+
+0.48 
+ - reworked the status code and put new icons in (thanks to Sebastian)
+   (unfortunally this change will reset any local changes to the colors
+    used in the package list. sorry for this inconvenience)
+ - default gnome colors are used to indicate the package status
+ - right-click popup-menu now also works with multiple selected packages
+ - the fetch dialog is nicer now (thanks Sebastian)
+ - Icon Legend dialog added 
+ - welcome dialog added
+ - bugfixes
+ - "Fix broken packages" works now as in apt-get (thanks Panu Matilainen)
+
+0.47
+ - Fixed many i18n issues (thanks to Ales Kapica and Jean-Michel Poure)
+ - New Czech translation (thanks to Ales Kapica)
+ - New Arabic translation (thanks to Ossama Khayat)
+ - Updated Polish translation (thanks to Emil Nowak)
+ - Updated Spanish translation (thanks to Francisco J. Fernandez)
+ - Updated French translation (thanks to Jean-Michel Poure)
+ - Updated Japanese translation (thanks to Daisuke Suzuki)
+ - Updated Chinese translation (thanks to Liu Jack)
+ - Updated German translation 
+ - Minor documentation updates (thanks Sebastian)
+ - Reworked the context menu for packages
+ - Some ui improvements in the common tab
+ - Use units according to the SI spec now (thanks to  Alexander Winston)
+ - New summary window (thanks Sebastian)
+ - A lot of minor bug and typo fixes
+
+0.46
+ - font selection added for default interface font and terminal
+ - better support for translated descriptions (thanks johnnybgate)
+ - dist-upgrade is gone from the menu, the user is asked what kind of upgrade
+   he wants now
+ - toolbar has a new style (text beside buttons) now
+ - real docbook help added (yeah! thanks SEBASTIAN)
+ - "hold" button gone from the gui, moved to men
+ - sections can translated and a more descriptive description is used
+ - rpm-src-dir support added (thanks to Panu Matilainen)
+
+0.45 
+ - proxy can be configured with the gui now
+ - updated japanese translation (thanks to Daisuke SUZUKI)
+ - new preferences dialog layout (thanks Sebastian Heinlein)
+ - new filter dialog layout  (thanks Sebastian Heinlein)
+ - when adding filter, they are called "New Filter 1", "New Filter 2" etc
+ - added "search lack", so that the interactive search does not start 
+   immediately
+ - new quit dialog
+ - speedup for the pattern filters
+ - small ui-enhancements in the filter dialog
+ - basic support for distribution selection (if you have more than one
+   distro in your sources.list, you can choose which to use by default)
+ - new about dialog (thanks Sebastian)
+ - support to choose between different versions of a given package 
+
+0.44
+ - two alternative main layouts can be choosen now
+ - "clean cache now" implemented" in preferences window
+ - the search entry in the main window is interactive again 
+ - much improved preferences dialog (thanks to Sebastian Heinlein)
+ - new italian translation (thanks  Mauro Colorio and  Luigi Maselli)
+ - updated spanish translation (thanks Fco. Javier Fernandez)
+ - updated russian translation (thanks  Sviatoslav Sviridov)
+ - new belarussian translation (thanks Vital Khilko)
+ - updated chinese translation (thanks liu jack)
+ - improved main window design (thanks Sebastian Heinlein)
+ - added "rpm-dir" repository support (thanks Panu)
+ - prepeared a lot of strings for better i18n (thanks Jean-Michel POURE)
+
+0.43
+ - the descriptionParser for rpm has changed
+   (the actuall parser is configurable now)
+ - new find and changes dialog layout, more HIG compliant 
+   (thanks to Sebastian Heinlein)
+ - more bugfixes in the PkgTreeView and the new sorting code
+
+0.42
+ - download percentage is now always calculated correctly 
+   (thanks to David Wilson)
+ - save selection on "pin", "update" and "proceed" now
+ - some bugs fixed in the new sortable tree/list
+ - the order of the columns in the treeview is configurable now
+ - updated german translation (thanks to Sebastian Heinlein)
+ - updated spanish translation (thanks to Javier Serrador)
+ - updated japanese translation (thanks to Daisuke SUZUKI)
+
+0.41
+ - updated russian translation
+ - [debian only] debian package tags support
+ - sortable installed size column added
+ - "Information" tab now scrollable
+    
+0.40
+ - updated japanese translation
+ - new status "Obsolete and locally installed" for status view
+ - added depends and provides to the "Find tool" window
+ - more predefined filters (new, residual config, debconf)
+ - added "provides" tab
+ - added "remove with dependencies" feature
+ - default action for delete button can be configured
+
+0.39
+ - "Installed Files" tab (debian only)
+ - added tooltips to status filter tab
+ - reworked search dialog, it's possible to search for 
+   "name, version, description, maintainer" now
+ - better checking if a pkg is not installable 
+ - location of the synaptic.desktop file has changed to better integrate  
+   with the desktop enviroment
+
+0.38 
+ - updated russian translation
+ - works on older distros (gtk2.0 and gcc-2.95+ fixes) for real this time :)
+ - better man-page
+ - if a pkg is not installable, the user gets a warning if the tries to 
+   install it
+ - improved "by Status" tree-view, displays now by:
+   "installed, installed and upgradeable, new in archive, not installed,
+    not installed but residual config"
+ - sources.list reading is more robust. invalid records are ignored and 
+   commented out, comments inside a line are allowed now
+   (e.g. "deb http://ftp.debian.org/debian unstable main # my main source")
+
+0.37
+ - optimisation of the package view, should be faster now 
+   (especially the flat list) 
+ - the "update" button for the rgfiltermanager dialog is gone,
+   all changes to the filters are tracked automaticly
+ - the repository dialog is glade based now
+ - some basic support for sources.list.d (thanks Panu)
+ - load/save changes is implemeted (you can save your changes and 
+   later reload them) 
+ - should build with gtk2.0 again (for all people that use RH8.x or 
+   UnitedLinux 1.0)
+ - a new "not installable" filter was added
+ - search for multiple words improved
+
+0.36
+ - new filter dialog
+ - each filter can have a different view now
+ - more easy way to intall suggested/recommended packages
+ - dialog to auto install recommended/suggested packages
+
+0.35
+ - Synaptic uses a tree view now. Users may select from
+   "Section tree", "Alphabetic tree", "Status tree", or
+   "Raw list" views.
+ - "What will change" dialog, informing how the current selection
+   will change, if the user try to do some action in a package
+   that would require further changes in the current selection.
+ - Now it's possible to include APT-enabled CDROMs in the database
+   using synaptic (apt-cdrom like).
+ - Undo/Redo implemented, allowing one to rollback changes in the
+   selection.
+ - Filter and button for debconf packages (debian only).
+ - Improved progress dialog for rpm installation.
+ - If --with-zvt was used, terminal vizualization during package
+   manager action is now runtime configurable.
+ - Many minor improvements in the user interface, including great
+   new icons.
+ - applied a patch from Mike Snitzer to make it possible to search for 
+   versions.
+ - Bugfixes.
+
+0.32
+ - bugfixes 
+ - translation updates 
+ - toolbar buttons can be configured now
+
+0.31
+ - added residual config filter
+ - added "purge" menu item (basic support)
+ - added easy way to search for pkg name or description 
+ - russian translation, chinese translation 
+   (thanks to Sviatoslav Sviridov and Anthony Fok)
+ - fixed some resize problems (thanks to Laurent Bonnaud)
+ - fixed some problems with the pattern filter (thanks to Scomodo)
+
+0.30
+ - ported to gtk2/libglade2, new gui - no new features
+
+0.28
+ - fixed a bug for rpm users (thanks to Sviatoslav Sviridou)
+ - added turkish translation (thanks to Rail Aliev)
+ - added handleBox for the main button bar
+ - added synaptic desktop file for gnome (needs xsu to work)
+ - added wm icon
+
+0.27:
+ - added tooltip for hold-button
+ - [debian only] added "orphaned" filter (using deborphan)
+ - reworked the rgsummarywindow dialog, nicer now
+ - fixed a nasty memory leak in openCache()
+
+0.26:
+ - SummaryWindow is a bigger now
+ - a man-page was added
+ - colors are now used in the main clist
+
+0.25:
+ - cleanups for the "new" packages filter
+ - added command line arguments (see README for details)
+ - removed some warning if no synaptic files can be found in ~/.synaptic
+ - multiple selection of packages is possible now (use SHIFT/CTRL)
+ - some internal code cleanups
+ - SWIG support for synaptic! a python module with the interface described 
+   in gtk/synapticinterface.h is generated and can be used to script synaptic
+   with python (see README.scripting for details)
+
+0.24:
+ - "hold" feature implemented. If you mark a package as "hold" no
+   upgrade will ever performed on this package 
+   (enable this with "--with-pkg-hold" in configure)
+ - "New Packages" filter improvments (now persistent to a certain extend)
+ - bugfixes and a fix for a nasty memory leak
+ - WINGs version no longer build by default and renamed to wsynaptic
+   (enable it with "--with-wings")
+ - GTK version now called "synaptic"
+ - Implemented vendors.list edition support
+ - Reworked sources.list edition dialog.
+
+0.23:
+ - new repository dialog 
+   (shamelessly stolen from deity-gtk, thanks to Patrick Cole <z@amused.net>)
+ - small ui improvements
+
+0.22:
+ - added working "Suggestions/Recommendations"
+ - added Dependencies display of the available version 
+   (to preview if the newest available version has different dependencies)
+
+0.21:
+ - bugfix in rgfiltermanager.cc
+ - documentation updates
+
+0.20:
+ - filter save/restore works
+ - gtk gui
+ - gtk keybindings
+ - simple "new packages" filter (very basic currently)
+ - support for output into a zvt terminal window (--with-zvt)
+ - new description parser optimized for debian
+ - double click cycle implemented in gtk version

=== renamed file 'NEWS' => 'NEWS.moved'
=== added file 'README'
--- README	1970-01-01 00:00:00 +0000
+++ README	2010-08-01 23:35:56 +0000
@@ -0,0 +1,102 @@
+Synaptic
+========
+
+Synaptic is a graphical package management program for apt. It
+provides the same features as the apt-get command line utility with a
+GUI front-end based on Gtk+ or WINGs.
+
+Synaptic was developed by Alfredo K. Kojima <kojima@conectiva.com.br>
+from Connectiva. His last offical released was 0.16. I took over his
+CVS version, where he added a nearly complette port to Gtk+. I
+completted the port and add some new features. See the NEWS file for
+the user visible changes from that point on. Connectiva is still
+supporting the development of synaptic. Gustavo Niemeyer
+<niemeyer@conectiva.com> is a active developer of synaptic.
+
+If you want to use synaptic from the gnome menu, you should use gksu
+(default) to obtain root privileges. Get it from gksu from
+http://www.nongnu.org/gksu/.
+
+Synaptic can display a "Pkg Help" button on debian systems. If you have 
+installed and configured dwww, a help will be display and if you click 
+on it, a browser is opend. 
+
+It is also possible on debian systems to reconfigure debconf packages.
+This is done with the help of libgnome2-perl that needs to be installed.
+
+On a debian system, you can have more than one "release" in your
+sources.list file. You can choose which one to use in the "expert" tab
+in the preferences dialog. 
+
+All development is done at http://savannah.gnu.org/projects/synaptic
+
+Tutorial:
+---------
+Synaptic is used very much like apt-get. Usually you do a 
+"update" which will update the package list from the servers in your
+sources.list file. Note that no packages are updated in this step,
+only information about the packages. Now you can view what packages
+are "upgradeable". To do this, just click on the filter "Upgradeable".
+The main list will change and you will see only those packages where
+a new version is available on the server. You can now upgrade
+inidiviual packages by selecting them and then clicking on the small
+"upgrade" button on the left (or double click in the gtk-version) or
+thos to upgrade all packages by clicking on the big "Upgrade" button
+on the top. No packages will downloaded/upgraded yet, they are only
+marked as to be upgraded. You may want to change the filter again to
+"Expected Changes" to see what will happen if you continue. If you
+like what you see, click "Proceed!" and synaptic will download the
+packages and install them. 
+
+
+Filters:
+--------
+Synaptic display the main package list according to the filter you
+selected. The most simple filter is of course "All packages". But
+there are much more filters than that :) You can view the predefiend
+filters and make your own filters by clicking on "Filters" above the
+main package list. 
+
+Keybindings:
+------------
+From version 0.20 on, the gtk has some global keybings:
+* ALT-k  keep
+* ALT-i  install
+* ALT-r  remove
+* ALT-u  Update individual package
+* ALT-l  Update Package List
+* ALT-g  upgrade
+* ALT-d  DistUpgrade
+* ALT-p  proceed
+* CTRL-f find
+
+Command line options:
+---------------------
+From version 0.25 on, synaptic supports the following command line
+options:
+ '-f <filename>' or "--filter-file <filename>" = give a alternative filter file
+ '-i <int>' or "--initial-filter <int>" = start with filter nr. <int>
+ '-r' = open repository screen on startup
+ '-o <option>' or "--option <option>" = set a synaptic/apt option (expert only)
+ '--set-selections' = feed packages inside synaptic (format is like
+                      dpkg --get-selections)
+ '--non-interactive' = non-interactive mode (this will also prevent saving 
+                       of configuration options)
+
+Selecting Multiple Packages
+----------------------------
+From 0.25 on, you can select more than one package at a time. You have to
+use SHIFT or CTRL to select multiple packages. If you click on a action 
+(install/upgrade/remove) for multiple packages, the action will be performed
+for each package (as you probably already guessed (: ).
+
+
+Contacting me
+-------------
+If you have any questions, suggestions or bugreports, send a email
+to synaptic-devel@mail.freesoftware.fsf.org or directly to me (mvo@debian.org).
+
+
+Have fun with synaptic,
+ Michael Vogt
+

=== added file 'README.debtags'
--- README.debtags	1970-01-01 00:00:00 +0000
+++ README.debtags	2010-08-01 23:35:56 +0000
@@ -0,0 +1,45 @@
+
+To write debtags support again:
+TagDB::outputPatched()
+-> reads data and merge patched 
+   (file:///usr/share/doc/libdebtags-dev/html/classDebtags_1_1TagDB.html)
+-> use InputMerger<string, Tag> as a consumer from libtagcoll
+   (should have it all:  
+    file:///usr/share/doc/libtagcoll-dev/html/classTagcoll_1_1InputMerger.html)
+
+
+
+Synaptic debtags support
+------------------------
+
+From version 0.41 on synaptic has experimental support for the debtag
+system. The debtag system is the work of Erich Schubert and Enrico
+Zini and has a website at:
+http://deb-usability.alioth.debian.org/debtags/
+
+The current synaptic implementation is mostly the work of Enrico Zini
+<enrico@debian.org>. Thanks! 
+
+In a nutshell the system helps to organize the huge collection of
+debian software by extending the traditional section scheme. Instead
+of putting a package into a section (base, net, etc), you can put
+arbitrary "tags" on it. Mutt for example has:
+"client, mail, mail::imap, mail::pop, net, netcomm, protocols"
+
+This makes searching and displaying the packages more flexible. With
+the new "by tag" tab in the filter editor you can add a filter that
+search for packages that e.g. inludes the tags "mail, client" and
+exludes "ui::qt" if you look for a email client that does not use Qt. 
+
+You can also browse the tag hirarchy (that is actually not a real
+hirarchy) with the new "tag tree" view. 
+
+Limitations:
+------------
+The current debtag support is not complete. You have to update the tag
+database by hand (using "debtags update") for now. It's in general
+more experimental than the rest of synaptic. 
+
+I'm looking for help with the debtags integration. Please help by
+filling bugreports and sending patches :) 
+

=== renamed file 'README.debtags' => 'README.debtags.moved'
=== renamed file 'README' => 'README.moved'
=== added file 'README.supported'
--- README.supported	1970-01-01 00:00:00 +0000
+++ README.supported	2010-08-01 23:35:56 +0000
@@ -0,0 +1,55 @@
+Task support for synaptic
+-------------------------
+
+
+Synaptic works on quite a few distributions. To make support for the
+various task systems easy synaptic needs a helper application called
+"tasksel" (or any other helper that can be speficified with 
+"-o Synaptic::taskHelperProg=prog"). It has to support the following
+commands:
+
+--list-tasks: returns a list of the format
+              "$installed $taskname\t$task-short-description" 
+	      where $installed can be 'i' (installed) or 'u' (uninstalled)
+
+--task-packages $task: list the packages included in the given task
+                       this option can be used more than once for
+                       different tasks
+
+--task-desc $task: print a long description about the given task
+
+
+Examples:
+
+$ tasksel --list-tasks
+database-server SQL database
+i desktop Desktop environment
+u dns-server      DNS server
+u file-server     File server
+u mail-server     Mail server
+u print-server    Print server
+u web-server      Web server
+
+$ tasksel --task-packages dns-server --task-packages print-server
+bind9
+bind9-doc
+dlint
+dnsutils
+lwresd
+cupsys
+cupsys-bsd
+cupsys-client
+cupsys-driver-gimpprint
+foomatic-db-engine
+foomatic-db-hpijs
+foomatic-filters-ppds
+foomatic-gui
+samba
+samba-doc
+smbclient
+smbfs
+swat
+
+$ tasksel --task-desc desktop           
+This task provides basic "desktop" software, including a variety of session managers, file managers and web browsers. It incorporates both the GNOME and KDE desktops, and provides a display manager which lets the user choose between the two.
+

=== renamed file 'README.supported' => 'README.supported.moved'
=== added file 'README.tasks'
--- README.tasks	1970-01-01 00:00:00 +0000
+++ README.tasks	2010-08-01 23:35:56 +0000
@@ -0,0 +1,55 @@
+Task support for synaptic
+-------------------------
+
+
+Synaptic works on quite a few distributions. To make support for the
+various task systems easy synaptic needs a helper application called
+"tasksel" (or any other helper that can be speficified with 
+"-o Synaptic::taskHelperProg=prog"). It has to support the following
+commands:
+
+--list-tasks: returns a list of the format
+              "$installed $taskname\t$task-short-description" 
+	      where $installed can be 'i' (installed) or 'u' (uninstalled)
+
+--task-packages $task: list the packages included in the given task
+                       this option can be used more than once for
+                       different tasks
+
+--task-desc $task: print a long description about the given task
+
+
+Examples:
+
+$ tasksel --list-tasks
+database-server SQL database
+i desktop Desktop environment
+u dns-server      DNS server
+u file-server     File server
+u mail-server     Mail server
+u print-server    Print server
+u web-server      Web server
+
+$ tasksel --task-packages dns-server --task-packages print-server
+bind9
+bind9-doc
+dlint
+dnsutils
+lwresd
+cupsys
+cupsys-bsd
+cupsys-client
+cupsys-driver-gimpprint
+foomatic-db-engine
+foomatic-db-hpijs
+foomatic-filters-ppds
+foomatic-gui
+samba
+samba-doc
+smbclient
+smbfs
+swat
+
+$ tasksel --task-desc desktop           
+This task provides basic "desktop" software, including a variety of session managers, file managers and web browsers. It incorporates both the GNOME and KDE desktops, and provides a display manager which lets the user choose between the two.
+

=== renamed file 'README.tasks' => 'README.tasks.moved'
=== added file 'TODO'
--- TODO	1970-01-01 00:00:00 +0000
+++ TODO	2010-08-01 23:35:56 +0000
@@ -0,0 +1,249 @@
+Nice dpkg status output:
+ - try to detect reads attempts of the child (via select() on _child_control?)
+ - implement cancel as a last resort
+ 
+
+Misc:
+ - check download size against statvfs against /var/cache
+   and in generate download script on the target location
+
+ - preferences: HIG instant apply only(fast enough for e.g. pkglist changes?)
+ - human readable repositories (ubuntu bug #1347)
+ - proxy username/password does not work with synaptic preferences 
+   (add apt PROXY_USER PROXY_PASSWORD style variables into a special
+    expoert dialog in preferences)
+ - > I've a question: I want to install a package and it suggestes some
+   >other ones. I'd like to be able to display info for the suggested
+   >packages in as simple way as possible. The best would'be if I could
+   >filter out all but the one pacakge being installed (the best would be a
+   >context-menu entry "Display Suggested/Recommanded/Required") and those
+   >it does suggest, so I could browse through the list, learn what is every
+   >suggested package good for and decide whether or not to install
+   >it. 
+ - Scroll-bug (Eric Freyens, 25.10.2004)
+ - add "pause download" feature (possible with the fetchers?)
+ - integrate apt-get.org/fedoratracker.org into synaptic (savannah bug
+   #10544), a "server list" similar to amule (or gnutella, etc).
+ - Mail von Vidar Haar (9.Aug.2004): neues summary layout/
+   check for diskspace before downloading/executing
+ - make log-file [done] with optinal dpkg-output logging
+
+HIG-2 (thanks to Sebastian for his analysis):
+ - "Force Version" should be a radiobutton not a combobox 
+ - "View-menu"? > View
+                > |-> Toolbar
+	        > |-> Dock properties window
+	        > |-> Reload
+   (sucky?)
+ - "find" -> "search" (and Ctrl->S shortcut, current Ctrl-s->Shift-Ctrl-S)
+ - update task dialog ( http://developer.gnome.org/projects/gup/hig/2.0/images/controls-list-checkbox.png)
+  - "Custom fonts": use radio-buttons, not checkboxes
+    >  o Use theme font
+    >  x use this font [font sel]
+  
+
+ 
+User-Mode:
+----------
+ - split into user and root mode. User mode does all the changes and for
+   the final installation runs (with gksu or libgksu): 
+   # synaptic --set-selection --non-interactive --hide-main-window --dont-write-any-config
+   ( --dont-write-any-config needs to be implemented)
+   -> MOST infrastructure is there. 
+      Problems: * set-version is not in selection file
+                * all settings are in in $USER/.synaptic (use
+                  --preserve-env?)
+		* proxy settings and stuff needs to be preserved/passed 
+		  "run-as-root synaptic"
+   root is needed for:
+      - update: could be solved by making the /var/lib/apt/lists/ dir
+                group writeable for a desktop-group 
+      - edit sources.list
+
+ - Need far better state saving:
+   - save selected distribution when doing a "save selection"
+   - when using "force version" save this as well
+   - when "open cache" is called, make sure that the correct distribution 
+     is selected for save/restore
+
+      
+Misc:
+-----
+ - network proxy detection if gnome/kde is installed/run (can be
+   solved with user-mode?!?)
+ - re-enable "default remove action" in the preferences window
+ - > > (synaptic:24143): Gtk-CRITICAL **: file gtkwidget.c: line 1827
+   > > (gtk_widget_hide): assertion `GTK_IS_WIDGET (widget)' failed
+   auf RPM
+ - search in name+provides in search-dialog
+ - In the change log view, link "bug" references to the actual bug report
+
+Usability issues:
+ - Rework repository and vendor dialog
+ - Disable "Undo" and "Redo" if there is no action to perform
+ - Think about implementing a summary of changes in the upgrade dialog
+ - Use HIGified common dialogs (alignments and message text!)
+ - Use a tree view for sections containing a separator "/" (e.g. SuSE, RedHat)
+ - Merge the message about failed downloads and the "ignore failed downloads"
+   dialog
+ - Do not show "0 broken" and other "0" messages in the status bar
+ - Use a warning or error icon in the status bar to get the users attention
+   (e.g. in the case of broken packages)
+ - Always show the progress bar in the main window and move it to left side
+   (this is the default position in GNOME)
+ - Make the status message more contextual: 
+ 	* show available upgrades after refresh
+	* if there are broken packages, this is the only relevant message
+ - Replace the "Running..." label in the "Apply changes" dialog with a
+   progress bar and use a busy cursor (?)
+
+Translation issues:
+ - Use plural gettext in the status message
+
+Unsorted:
+ - possibility to resume failed installation of half installed packages
+   Execute should be available if there are outstanding packages 
+   (difficult!)
+ - Please add hyperlink support in package info for example BTS entry
+ - Please allow users to delete default filters and add an option to
+   restore in prefs (or make them not deletable at all)
+ - "crash handler" that automatically save the selections on a synaptic
+   segfault (and present a dialog to reread them on the next start)
+ - copy desktop file to the KDE menu - $KDEPREFIX/applnk/Settingsmenu
+   "kde-config --prefix"
+ - ask on debian-deity if it is possible to get a "DeletePin" function.
+   this way, we can do default release pining without rereading the cache
+   (see policy.cc:pkgPolicy::pkgPolicy())
+
+Configure:
+   - allways give the correct path in the synaptic.desktop file
+     (currently hardcoded)
+
+GUI:
+   - Icons should be themable: gtkiconfactory
+   - allow clicking in the depedency list so that the click takes
+     you to the package
+   - add native debconf reconfigure frontend using the cmdpipe interface
+     to debconf (cool!)
+   - try to get synaptic into base-config
+   - add something that lets the user see if a certain package is already
+     in the cache
+   - add reduced view? (always ignore this package)
+   - add ignore option for unwanted packages (use RPackageView?!)
+   - add context menu in the dependency list to install/remove/upgrade
+   - changesWindow should also support installing recommends/suggested pkgs
+   - add a sources.list wizard for debian (like base-config)?
+
+Filter:
+   - add "immutable" filters that can be configured via /etc/synaptic/filters
+   - dependencies of selected package
+   - dependents of selected package
+
+General:
+   - add something like aptitude Last-change support, so that you can
+     track what pkgs where installed to fullfill some dependencies
+     (and have the option to remove them again automatically)
+     [might be enough to use "remove with dependencies" ?]
+   - make deporhan a native synaptic filter (should be easy)
+   - implement raptoptions save/restore for getFlags/setFlags [not needed?]
+
+Done: 
+ - current task support is broken, try to fix it
+ - add TaskView view to show tasks [done with tasksel window]
+ - if download failed, use a special dialog to show it [done I think]
+ - Add comments for translators [mostly done]
+ - Reword unclear messages [mostly done]
+ - Pressing a key should jump to the first package with the same
+   inital letter [fixed with gtk2.6]
+ - Use new column editor in the preferences
+ - Disable search button in the search dialog until an expresseion was entered
+ - Separate sections from package list [can be archived with sorting
+   for section]
+ - "held back" is a bad term (ubuntu bug #1309)
+ - think about how to simplify the "reload" step for new users
+   (see mail from Philippe Cloutier, 16.Sep.2004)
+   [package list outdated dialog takes care of this]
+ - after changes in the repositories editor, ask for a update of
+   the package list
+ - download window scrollbar shouldn't always scroll, make two areas,
+   one with active jobs and one with completted jobs?  (see mail from
+   Adam Lydick, 20.10.2004)
+ - Shortcut for force-version (for Redhat people) 
+ - "Refresh" must be "reload"
+ - readd "UseRecommends" to auto-install recommended packages (done)
+ - sorting by versions
+ - redesign the columns (drag 'n drop?)
+ - "pin/hold" support (-)
+ - "install-this-versioN" (-) 
+ - make a the used font in the treeview configurable 
+ - when searching and then switching view-mode, go to the last selected
+   pkg (maybe do that every time the view is switched?)
+ - think about using a package details dialog
+ - add reinstall
+ - Add konqueror and opera to the list of help browser
+ - do not use ithe same sentence for singular and plural in summary
+ - icons in status list
+ - enable glade support in download and execute window
+ - implement font size choser [half-done see FAQ]
+ - add a button to undo all programmed changes 
+	(do we need this now that we have a "real" undo?)
+ - hide seperator_hold on rpm based systems, too (?)
+ - deactivate "do not modify" in the package menu if no modification was
+   queued or no package is selected
+ - split up the label_info (main window) into several labels
+ - implement new glade version of dialog_summary
+ - disable all package actions if "hold current version" is activated
+ - "hold current version" in the package menu should represent the hold status
+   (it is already an "Ankreuzfeld")
+ - deactivate font selector in the prefs if user defined font is not activated
+ - add context-menu on right-click (del/inst/upgr/show descr in own window,
+ - context menus in the package list
+ - GtkTextView for package name and short desc (textview_pkgcommon)
+ - add a dialog that show what dependency is unmet if a pkg can not be
+   installed (like ShowBroken() in apt-get.cc)
+ - add a tab that shows all version of the package 
+   (like apt-cache showpkg)
+ - enable different sorting methods for the tree (e.g. size)
+ - implement proxy settings 
+ - implement a new (interactive) search function
+ - config option what the default action of ("delete") button is
+ - "removed but residual config" should win against 
+   "obsolete or locally installed" in by status view
+ - add remove with deps menu entry 
+ - add "Provides" tab (done)
+ - obsolete packages (installed, but no install version available)
+   (named "not installable")
+ - add missing functionality in rpackagefilter line 183 (Provides filter)
+ - display all files of a installed packages (like dpkg -L or apt-file) 
+   [can't do this in a portable way]
+ - add easy way to install suggested/recommended
+ - convert all GtkCList to GtkTreeView (done)
+ - make it possible to filter for maintainer
+ - make a options to install recommended package automatically or
+   semi-automatically with a dialog (done)
+ - add something that adds cdrom uris to the sources
+ - implement "undo" :) 
+ - configure whether we want text under icons or not (done)
+ - problem if a pkglist is not available on startup (rpm only)
+ - implement some kind of deborphan functionality (make it a filter)
+ - filter for "residual configuration" (removed, but still configuration)
+ - make a extra warning if packages are deleted (via Summary Window)
+ - label with short description resizes the gui (ugly)
+ - add filters to menu (done)
+ - make easy way to filter for description 
+ - make more than one package selectable and allow "install", "keep" etc
+   on this groups (done)
+ - remove the update button in rgsrcwindow.cc (done)
+ - add more key-shortcuts (done)
+ - add repository dialog (done)
+ - new packages in repository (done)
+ - add cmdline argument for selecting a initial filter (done)
+ - test for "swig" in configure.in (done)
+ - get rid of all gtk_widget_set_usize() [mostly gone]
+ - use colors to show different stuff about the package 
+   (e.g. blue if upgradeable, red if broken etc) [done]
+ - some online-help/mini-tutorial (partly done)
+ - handle "|" case in WDepends (partly)
+ - implement "Hold package" (partly)   
+ - add man-page and localised man-page (done)
+

=== renamed file 'TODO' => 'TODO.moved'
=== added file 'TRANSLATORS'
--- TRANSLATORS	1970-01-01 00:00:00 +0000
+++ TRANSLATORS	2010-08-01 23:35:56 +0000
@@ -0,0 +1,86 @@
+Arabic:
+	Ossama M. Khayat <okhayat@yahoo.com>
+
+Bulgarian:
+	Alexander Shopov <ash@contact.bg>
+
+Belarusian:
+	Sviatoslav Sviridov <svd@altlinux.ru>
+	Vitaly Lipatov <lav@altlinux.ru>
+
+Bulgarian:
+	Vladimir Petkov <vpetkov@i-space.org>
+
+Catalan:
+	Jordi Mallach <jordi@debian.org>
+
+Chinese:
+	Liu Songhe <jackliu9999@msn.com> (Simplified)
+	Anthony Fok <anthony@thizlinux.com> (Traditional)
+
+Czech:
+	Keny Otter <keny@email.cz>
+
+Danish:
+	Morten Brix Pedersen <morten@wtf.dk>
+	Keld Simonsen <keld@dkuug.dk>
+
+Dutch:
+	Vincent van Adrighem <V.vanAdrighem@dirck.mine.nu>
+
+German:
+	Sebastian Heinlein <sebastian.heinlein@web.de>
+	Hendrik Brandt <eru@gmx.li>
+	Alwin Meschede <ameschede@gmx.de>
+	Michael Vogt <mvo@ping.de>
+
+Spanish:
+	Francisco Javier F. Serrador <serrador@cvs.gnome.org>
+
+Slovenian:
+	Roman Maurer <roman@lugos.si>
+
+French:
+	Jean-Michel Pouré <jm@poure.com>
+
+Hebrew:
+	Diego Iastrubni <elcuco@kdemail.net>
+
+Hungarian
+	Gabor Kelemen <kg0021@stud.unideb.hu
+
+Italian:
+	Mauro Colorio <linuxbox@interfree.it>
+	Luigi Maselli <metnik at tiscali it>
+
+Japanese:
+	Daisuke Suzuki <daisuke@linux.or.jp>
+
+Korean:
+	Son, Kyeong-uk <hey@gnome.or.kr>
+
+Norwegian:
+	Vidar Braut Haarr <mabus_at_q1n_org>
+
+Polish:
+	Emil Nowak <emil5@go2.pl>
+
+Portugese 
+	Flávio Moringa <flavio.moringa@caixamagica.pt>
+
+Portugese (Brazilan)
+	Marcia Norie Nakaza <norie@conectiva.com.br>
+	Arnaldo Carvalho de Melo <acme@conectiva.com.br>
+	Leonardo F. S. Boiko <leoboiko@fastmail.fm>
+
+Russian:
+	Sviatoslav Sviridov <svd@altlinux.ru>
+	Vitaly Lipatov <lav@altlinux.ru>
+	Kate <kate@lrn.ru>
+
+Serbian:
+	Слободан Средојевић <ssl@uns.ns.ac.yu>
+
+Turkish:
+	Rail Aliev <rail@iqchoice.com>
+	Erçin Eker <erc.caldera@gmx.net>

=== renamed file 'TRANSLATORS' => 'TRANSLATORS.moved'
=== added file 'acinclude.m4'
--- acinclude.m4	1970-01-01 00:00:00 +0000
+++ acinclude.m4	2010-08-01 23:35:56 +0000
@@ -0,0 +1,394 @@
+dnl aclocal.m4 generated automatically by aclocal 1.2f
+
+dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+dnl This Makefile.in is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+dnl PARTICULAR PURPOSE.
+
+
+
+# progtest.m4 from gettext 0.32
+# Search path for a program which passes the given test.
+# Ulrich Drepper <drepper@cygnus.com>, 1996.
+#
+# This file file be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 1
+
+dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+AC_DEFUN(AM_PATH_PROG_WITH_TEST,
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+	ac_cv_path_$1="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test -n "[$]$1"; then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+
+# lcmessage.m4 from gettext 0.32
+# Check whether LC_MESSAGES is available in <locale.h>.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+#
+# This file file be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 1
+
+AC_DEFUN(AM_LC_MESSAGES,
+  [if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES)
+    fi
+  fi])
+
+
+
+# gettext.m4 from gettext 0.32
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+#
+# This file file be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 3
+
+AC_DEFUN(AM_WITH_NLS,
+  [AC_MSG_CHECKING([whether NLS is requested])
+    dnl Default is enabled NLS
+    AC_ARG_ENABLE(nls,
+      [  --disable-nls           do not use Native Language Support],
+      USE_NLS=$enableval, USE_NLS=yes)
+    AC_MSG_RESULT($USE_NLS)
+    AC_SUBST(USE_NLS)
+
+    USE_INCLUDED_LIBINTL=no
+
+    dnl If we use NLS figure out what method
+    if test "$USE_NLS" = "yes"; then
+      AC_DEFINE(ENABLE_NLS)
+      AC_MSG_CHECKING([whether included gettext is requested])
+      AC_ARG_WITH(included-gettext,
+        [  --with-included-gettext use the GNU gettext library included here],
+        nls_cv_force_use_gnu_gettext=$withval,
+        nls_cv_force_use_gnu_gettext=no)
+      AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+        dnl User does not insist on using GNU NLS library.  Figure out what
+        dnl to use.  If gettext or catgets are available (in this order) we
+        dnl use this.  Else we have to fall back to GNU NLS library.
+	dnl catgets is only used if permitted by option --with-catgets.
+	nls_cv_header_intl=
+	nls_cv_header_libgt=
+	CATOBJEXT=NONE
+
+	AC_CHECK_HEADER(libintl.h,
+	  [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
+	    [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
+	       gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
+
+	   if test "$gt_cv_func_gettext_libc" != "yes"; then
+	     AC_CHECK_LIB(intl, bindtextdomain,
+	       [AC_CACHE_CHECK([for gettext in libintl],
+		 gt_cv_func_gettext_libintl,
+		 [AC_TRY_LINK([], [return (int) gettext ("")],
+		 gt_cv_func_gettext_libintl=yes,
+		 gt_cv_func_gettext_libintl=no)])])
+	   fi
+
+	   if test "$gt_cv_func_gettext_libc" = "yes" \
+	      || test "$gt_cv_func_gettext_libintl" = "yes"; then
+	      AC_DEFINE(HAVE_GETTEXT)
+	      AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+		[test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
+	      if test "$MSGFMT" != "no"; then
+		AC_CHECK_FUNCS(dcgettext)
+		AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+		AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+		  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+		AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
+			       return _nl_msg_cat_cntr],
+		  [CATOBJEXT=.gmo
+		   DATADIRNAME=share],
+		  [CATOBJEXT=.mo
+		   DATADIRNAME=lib])
+		INSTOBJEXT=.mo
+	      fi
+	    fi
+	])
+
+        if test "$CATOBJEXT" = "NONE"; then
+	  AC_MSG_CHECKING([whether catgets can be used])
+	  AC_ARG_WITH(catgets,
+	    [  --with-catgets          use catgets functions if available],
+	    nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
+	  AC_MSG_RESULT($nls_cv_use_catgets)
+
+	  if test "$nls_cv_use_catgets" = "yes"; then
+	    dnl No gettext in C library.  Try catgets next.
+	    AC_CHECK_LIB(i, main)
+	    AC_CHECK_FUNC(catgets,
+	      [AC_DEFINE(HAVE_CATGETS)
+	       INTLOBJS="\$(CATOBJS)"
+	       AC_PATH_PROG(GENCAT, gencat, no)dnl
+	       if test "$GENCAT" != "no"; then
+		 AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
+		 if test "$GMSGFMT" = "no"; then
+		   AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
+		    [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
+		 fi
+		 AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+		   [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+		 USE_INCLUDED_LIBINTL=yes
+		 CATOBJEXT=.cat
+		 INSTOBJEXT=.cat
+		 DATADIRNAME=lib
+		 INTLDEPS='$(top_builddir)/intl/libintl.a'
+		 INTLLIBS=$INTLDEPS
+		 LIBS=`echo $LIBS | sed -e 's/-lintl//'`
+		 nls_cv_header_intl=intl/libintl.h
+		 nls_cv_header_libgt=intl/libgettext.h
+	       fi])
+	  fi
+        fi
+
+        if test "$CATOBJEXT" = "NONE"; then
+	  dnl Neither gettext nor catgets in included in the C library.
+	  dnl Fall back on GNU gettext library.
+	  nls_cv_use_gnu_gettext=yes
+        fi
+      fi
+
+      if test "$nls_cv_use_gnu_gettext" = "yes"; then
+        dnl Mark actions used to generate GNU NLS library.
+        INTLOBJS="\$(GETTOBJS)"
+        AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+	  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
+        AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+        AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+	  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+        AC_SUBST(MSGFMT)
+	USE_INCLUDED_LIBINTL=yes
+        CATOBJEXT=.gmo
+        INSTOBJEXT=.mo
+        DATADIRNAME=share
+	INTLDEPS='$(top_builddir)/intl/libintl.a'
+	INTLLIBS=$INTLDEPS
+	LIBS=`echo $LIBS | sed -e 's/-lintl//'`
+        nls_cv_header_intl=intl/libintl.h
+        nls_cv_header_libgt=intl/libgettext.h
+      fi
+
+      dnl Test whether we really found GNU xgettext.
+      if test "$XGETTEXT" != ":"; then
+	dnl If it is no GNU xgettext we define it as : so that the
+	dnl Makefiles still can work.
+	if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+	  : ;
+	else
+	  AC_MSG_RESULT(
+	    [found xgettext programs is not GNU xgettext; ignore it])
+	  XGETTEXT=":"
+	fi
+      fi
+
+      # We need to process the po/ directory.
+      POSUB=po
+    else
+      DATADIRNAME=share
+      nls_cv_header_intl=intl/libintl.h
+      nls_cv_header_libgt=intl/libgettext.h
+    fi
+
+    # If this is used in GNU gettext we have to set USE_NLS to `yes'
+    # because some of the sources are only built for this goal.
+    if test "$PACKAGE" = gettext; then
+      USE_NLS=yes
+      USE_INCLUDED_LIBINTL=yes
+    fi
+
+    dnl These rules are solely for the distribution goal.  While doing this
+    dnl we only have to keep exactly one list of the available catalogs
+    dnl in configure.in.
+    for lang in $ALL_LINGUAS; do
+      GMOFILES="$GMOFILES $lang.gmo"
+      POFILES="$POFILES $lang.po"
+    done
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(USE_INCLUDED_LIBINTL)
+    AC_SUBST(CATALOGS)
+    AC_SUBST(CATOBJEXT)
+    AC_SUBST(DATADIRNAME)
+    AC_SUBST(GMOFILES)
+    AC_SUBST(INSTOBJEXT)
+    AC_SUBST(INTLDEPS)
+    AC_SUBST(INTLLIBS)
+    AC_SUBST(INTLOBJS)
+    AC_SUBST(POFILES)
+    AC_SUBST(POSUB)
+  ])
+
+AC_DEFUN(AM_GNU_GETTEXT,
+  [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+   AC_REQUIRE([AC_PROG_CC])dnl
+   AC_REQUIRE([AC_PROG_RANLIB])dnl
+   AC_REQUIRE([AC_ISC_POSIX])dnl
+   AC_REQUIRE([AC_HEADER_STDC])dnl
+   AC_REQUIRE([AC_C_CONST])dnl
+   AC_REQUIRE([AC_C_INLINE])dnl
+   AC_REQUIRE([AC_TYPE_OFF_T])dnl
+   AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+   AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+   AC_REQUIRE([AC_FUNC_MMAP])dnl
+
+   AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
+unistd.h values.h sys/param.h])
+   AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+   if test "${ac_cv_func_stpcpy+set}" != "set"; then
+     AC_CHECK_FUNCS(stpcpy)
+   fi
+   if test "${ac_cv_func_stpcpy}" = "yes"; then
+     AC_DEFINE(HAVE_STPCPY)
+   fi
+
+   AM_LC_MESSAGES
+   AM_WITH_NLS
+
+   if test "x$CATOBJEXT" != "x"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       AC_MSG_CHECKING(for catalogs to be installed)
+       NEW_LINGUAS=
+       for lang in ${LINGUAS=$ALL_LINGUAS}; do
+         case "$ALL_LINGUAS" in
+          *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+         esac
+       done
+       LINGUAS=$NEW_LINGUAS
+       AC_MSG_RESULT($LINGUAS)
+     fi
+
+     dnl Construct list of names of catalog files to be constructed.
+     if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+   dnl The reference to <locale.h> in the installed <libintl.h> file
+   dnl must be resolved because we cannot expect the users of this
+   dnl to define HAVE_LOCALE_H.
+   if test $ac_cv_header_locale_h = yes; then
+     INCLUDE_LOCALE_H="#include <locale.h>"
+   else
+     INCLUDE_LOCALE_H="\
+/* The system does not provide the header <locale.h>.  Take care yourself.  */"
+   fi
+   AC_SUBST(INCLUDE_LOCALE_H)
+
+   dnl Determine which catalog format we have (if any is needed)
+   dnl For now we know about two different formats:
+   dnl   Linux libc-5 and the normal X/Open format
+   test -d intl || mkdir intl
+   if test "$CATOBJEXT" = ".cat"; then
+     AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
+
+     dnl Transform the SED scripts while copying because some dumb SEDs
+     dnl cannot handle comments.
+     sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
+   fi
+   dnl po2tbl.sed is always needed.
+   sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
+     $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
+
+   dnl In the intl/Makefile.in we have a special dependency which makes
+   dnl only sense for gettext.  We comment this out for non-gettext
+   dnl packages.
+   if test "$PACKAGE" = "gettext"; then
+     GT_NO="#NO#"
+     GT_YES=
+   else
+     GT_NO=
+     GT_YES="#YES#"
+   fi
+   AC_SUBST(GT_NO)
+   AC_SUBST(GT_YES)
+
+   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+   dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
+   dnl Try to locate is.
+   MKINSTALLDIRS=
+   if test -z "$MKINSTALLDIRS"; then
+     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+   fi
+   AC_SUBST(MKINSTALLDIRS)
+
+   dnl *** For now the libtool support in intl/Makefile is not for real.
+   l=
+   AC_SUBST(l)
+
+   dnl Generate list of files to be processed by xgettext which will
+   dnl be included in po/Makefile.
+   test -d po || mkdir po
+   if test "x$srcdir" != "x."; then
+     if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+       posrcprefix="$srcdir/"
+     else
+       posrcprefix="../$srcdir/"
+     fi
+   else
+     posrcprefix="../"
+   fi
+   rm -f po/POTFILES
+   sed -e "/^#/d" -e "/^\$/d" -e "s,.*,	$posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+	< $srcdir/po/POTFILES.in > po/POTFILES
+  ])
+

=== renamed file 'acinclude.m4' => 'acinclude.m4.moved'
=== added file 'aclocal.m4'
--- aclocal.m4	1970-01-01 00:00:00 +0000
+++ aclocal.m4	2010-08-01 23:35:56 +0000
@@ -0,0 +1,1854 @@
+# generated automatically by aclocal 1.11.1 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007, 2008, 2009  Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
+[m4_warning([this file was generated for autoconf 2.65.
+You have another version of autoconf.  It may work, but is not guaranteed to.
+If you have problems, you may need to regenerate the build system entirely.
+To do so, use the procedure documented by the package, typically `autoreconf'.])])
+
+# Copyright (C) 1995-2002 Free Software Foundation, Inc.
+# Copyright (C) 2001-2003,2004 Red Hat, Inc.
+#
+# This file is free software, distributed under the terms of the GNU
+# General Public License.  As a special exception to the GNU General
+# Public License, this file may be distributed as part of a program
+# that contains a configuration script generated by Autoconf, under
+# the same distribution terms as the rest of that program.
+#
+# This file can be copied and used freely without restrictions.  It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+#
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995, 1996
+#
+# Modified to never use included libintl. 
+# Owen Taylor <otaylor@redhat.com>, 12/15/1998
+#
+# Major rework to remove unused code
+# Owen Taylor <otaylor@redhat.com>, 12/11/2002
+#
+# Added better handling of ALL_LINGUAS from GNU gettext version 
+# written by Bruno Haible, Owen Taylor <otaylor.redhat.com> 5/30/3002
+#
+# Modified to require ngettext
+# Matthias Clasen <mclasen@redhat.com> 08/06/2004
+#
+# We need this here as well, since someone might use autoconf-2.5x
+# to configure GLib then an older version to configure a package
+# using AM_GLIB_GNU_GETTEXT
+AC_PREREQ(2.53)
+
+dnl
+dnl We go to great lengths to make sure that aclocal won't 
+dnl try to pull in the installed version of these macros
+dnl when running aclocal in the glib directory.
+dnl
+m4_copy([AC_DEFUN],[glib_DEFUN])
+m4_copy([AC_REQUIRE],[glib_REQUIRE])
+dnl
+dnl At the end, if we're not within glib, we'll define the public
+dnl definitions in terms of our private definitions.
+dnl
+
+# GLIB_LC_MESSAGES
+#--------------------
+glib_DEFUN([GLIB_LC_MESSAGES],
+  [AC_CHECK_HEADERS([locale.h])
+    if test $ac_cv_header_locale_h = yes; then
+    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
+      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
+       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
+    if test $am_cv_val_LC_MESSAGES = yes; then
+      AC_DEFINE(HAVE_LC_MESSAGES, 1,
+        [Define if your <locale.h> file defines LC_MESSAGES.])
+    fi
+  fi])
+
+# GLIB_PATH_PROG_WITH_TEST
+#----------------------------
+dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
+dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
+glib_DEFUN([GLIB_PATH_PROG_WITH_TEST],
+[# Extract the first word of "$2", so it can be a program name with args.
+set dummy $2; ac_word=[$]2
+AC_MSG_CHECKING([for $ac_word])
+AC_CACHE_VAL(ac_cv_path_$1,
+[case "[$]$1" in
+  /*)
+  ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in ifelse([$5], , $PATH, [$5]); do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if [$3]; then
+	ac_cv_path_$1="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+dnl If no 4th arg is given, leave the cache variable unset,
+dnl so AC_PATH_PROGS will keep looking.
+ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
+])dnl
+  ;;
+esac])dnl
+$1="$ac_cv_path_$1"
+if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
+  AC_MSG_RESULT([$]$1)
+else
+  AC_MSG_RESULT(no)
+fi
+AC_SUBST($1)dnl
+])
+
+# GLIB_WITH_NLS
+#-----------------
+glib_DEFUN([GLIB_WITH_NLS],
+  dnl NLS is obligatory
+  [USE_NLS=yes
+    AC_SUBST(USE_NLS)
+
+    gt_cv_have_gettext=no
+
+    CATOBJEXT=NONE
+    XGETTEXT=:
+    INTLLIBS=
+
+    AC_CHECK_HEADER(libintl.h,
+     [gt_cv_func_dgettext_libintl="no"
+      libintl_extra_libs=""
+
+      #
+      # First check in libc
+      #
+      AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc,
+        [AC_TRY_LINK([
+#include <libintl.h>
+],
+         [return !ngettext ("","", 1)],
+	  gt_cv_func_ngettext_libc=yes,
+          gt_cv_func_ngettext_libc=no)
+        ])
+  
+      if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+	      AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc,
+        	[AC_TRY_LINK([
+#include <libintl.h>
+],
+	          [return !dgettext ("","")],
+		  gt_cv_func_dgettext_libc=yes,
+	          gt_cv_func_dgettext_libc=no)
+        	])
+      fi
+  
+      if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+        AC_CHECK_FUNCS(bind_textdomain_codeset)
+      fi
+
+      #
+      # If we don't have everything we want, check in libintl
+      #
+      if test "$gt_cv_func_dgettext_libc" != "yes" \
+	 || test "$gt_cv_func_ngettext_libc" != "yes" \
+         || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
+        
+        AC_CHECK_LIB(intl, bindtextdomain,
+	    [AC_CHECK_LIB(intl, ngettext,
+		    [AC_CHECK_LIB(intl, dgettext,
+			          gt_cv_func_dgettext_libintl=yes)])])
+
+	if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
+	  AC_MSG_CHECKING([if -liconv is needed to use gettext])
+	  AC_MSG_RESULT([])
+  	  AC_CHECK_LIB(intl, ngettext,
+          	[AC_CHECK_LIB(intl, dcgettext,
+		       [gt_cv_func_dgettext_libintl=yes
+			libintl_extra_libs=-liconv],
+			:,-liconv)],
+		:,-liconv)
+        fi
+
+        #
+        # If we found libintl, then check in it for bind_textdomain_codeset();
+        # we'll prefer libc if neither have bind_textdomain_codeset(),
+        # and both have dgettext and ngettext
+        #
+        if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
+          glib_save_LIBS="$LIBS"
+          LIBS="$LIBS -lintl $libintl_extra_libs"
+          unset ac_cv_func_bind_textdomain_codeset
+          AC_CHECK_FUNCS(bind_textdomain_codeset)
+          LIBS="$glib_save_LIBS"
+
+          if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
+            gt_cv_func_dgettext_libc=no
+          else
+            if test "$gt_cv_func_dgettext_libc" = "yes" \
+		&& test "$gt_cv_func_ngettext_libc" = "yes"; then
+              gt_cv_func_dgettext_libintl=no
+            fi
+          fi
+        fi
+      fi
+
+      if test "$gt_cv_func_dgettext_libc" = "yes" \
+	|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
+        gt_cv_have_gettext=yes
+      fi
+  
+      if test "$gt_cv_func_dgettext_libintl" = "yes"; then
+        INTLLIBS="-lintl $libintl_extra_libs"
+      fi
+  
+      if test "$gt_cv_have_gettext" = "yes"; then
+	AC_DEFINE(HAVE_GETTEXT,1,
+	  [Define if the GNU gettext() function is already present or preinstalled.])
+	GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+	  [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
+	if test "$MSGFMT" != "no"; then
+          glib_save_LIBS="$LIBS"
+          LIBS="$LIBS $INTLLIBS"
+	  AC_CHECK_FUNCS(dcgettext)
+	  MSGFMT_OPTS=
+	  AC_MSG_CHECKING([if msgfmt accepts -c])
+	  GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: test 1.0\n"
+"PO-Revision-Date: 2007-02-15 12:01+0100\n"
+"Last-Translator: test <foo@bar.xx>\n"
+"Language-Team: C <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])])
+	  AC_SUBST(MSGFMT_OPTS)
+	  AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+	  GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+	    [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+	  AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
+			 return _nl_msg_cat_cntr],
+	    [CATOBJEXT=.gmo 
+             DATADIRNAME=share],
+	    [case $host in
+	    *-*-solaris*)
+	    dnl On Solaris, if bind_textdomain_codeset is in libc,
+	    dnl GNU format message catalog is always supported,
+            dnl since both are added to the libc all together.
+	    dnl Hence, we'd like to go with DATADIRNAME=share and
+	    dnl and CATOBJEXT=.gmo in this case.
+            AC_CHECK_FUNC(bind_textdomain_codeset,
+	      [CATOBJEXT=.gmo 
+               DATADIRNAME=share],
+	      [CATOBJEXT=.mo
+               DATADIRNAME=lib])
+	    ;;
+	    *)
+	    CATOBJEXT=.mo
+            DATADIRNAME=lib
+	    ;;
+	    esac])
+          LIBS="$glib_save_LIBS"
+	  INSTOBJEXT=.mo
+	else
+	  gt_cv_have_gettext=no
+	fi
+      fi
+    ])
+
+    if test "$gt_cv_have_gettext" = "yes" ; then
+      AC_DEFINE(ENABLE_NLS, 1,
+        [always defined to indicate that i18n is enabled])
+    fi
+
+    dnl Test whether we really found GNU xgettext.
+    if test "$XGETTEXT" != ":"; then
+      dnl If it is not GNU xgettext we define it as : so that the
+      dnl Makefiles still can work.
+      if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+        : ;
+      else
+        AC_MSG_RESULT(
+	  [found xgettext program is not GNU xgettext; ignore it])
+        XGETTEXT=":"
+      fi
+    fi
+
+    # We need to process the po/ directory.
+    POSUB=po
+
+    AC_OUTPUT_COMMANDS(
+      [case "$CONFIG_FILES" in *po/Makefile.in*)
+        sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
+      esac])
+
+    dnl These rules are solely for the distribution goal.  While doing this
+    dnl we only have to keep exactly one list of the available catalogs
+    dnl in configure.in.
+    for lang in $ALL_LINGUAS; do
+      GMOFILES="$GMOFILES $lang.gmo"
+      POFILES="$POFILES $lang.po"
+    done
+
+    dnl Make all variables we use known to autoconf.
+    AC_SUBST(CATALOGS)
+    AC_SUBST(CATOBJEXT)
+    AC_SUBST(DATADIRNAME)
+    AC_SUBST(GMOFILES)
+    AC_SUBST(INSTOBJEXT)
+    AC_SUBST(INTLLIBS)
+    AC_SUBST(PO_IN_DATADIR_TRUE)
+    AC_SUBST(PO_IN_DATADIR_FALSE)
+    AC_SUBST(POFILES)
+    AC_SUBST(POSUB)
+  ])
+
+# AM_GLIB_GNU_GETTEXT
+# -------------------
+# Do checks necessary for use of gettext. If a suitable implementation 
+# of gettext is found in either in libintl or in the C library,
+# it will set INTLLIBS to the libraries needed for use of gettext
+# and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable
+# gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST()
+# on various variables needed by the Makefile.in.in installed by 
+# glib-gettextize.
+dnl
+glib_DEFUN([GLIB_GNU_GETTEXT],
+  [AC_REQUIRE([AC_PROG_CC])dnl
+   AC_REQUIRE([AC_HEADER_STDC])dnl
+   
+   GLIB_LC_MESSAGES
+   GLIB_WITH_NLS
+
+   if test "$gt_cv_have_gettext" = "yes"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       AC_MSG_CHECKING(for catalogs to be installed)
+       NEW_LINGUAS=
+       for presentlang in $ALL_LINGUAS; do
+         useit=no
+         if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
+           desiredlanguages="$LINGUAS"
+         else
+           desiredlanguages="$ALL_LINGUAS"
+         fi
+         for desiredlang in $desiredlanguages; do
+ 	   # Use the presentlang catalog if desiredlang is
+           #   a. equal to presentlang, or
+           #   b. a variant of presentlang (because in this case,
+           #      presentlang can be used as a fallback for messages
+           #      which are not translated in the desiredlang catalog).
+           case "$desiredlang" in
+             "$presentlang"*) useit=yes;;
+           esac
+         done
+         if test $useit = yes; then
+           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+         fi
+       done
+       LINGUAS=$NEW_LINGUAS
+       AC_MSG_RESULT($LINGUAS)
+     fi
+
+     dnl Construct list of names of catalog files to be constructed.
+     if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+   dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+   dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
+   dnl Try to locate is.
+   MKINSTALLDIRS=
+   if test -n "$ac_aux_dir"; then
+     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+   fi
+   if test -z "$MKINSTALLDIRS"; then
+     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+   fi
+   AC_SUBST(MKINSTALLDIRS)
+
+   dnl Generate list of files to be processed by xgettext which will
+   dnl be included in po/Makefile.
+   test -d po || mkdir po
+   if test "x$srcdir" != "x."; then
+     if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+       posrcprefix="$srcdir/"
+     else
+       posrcprefix="../$srcdir/"
+     fi
+   else
+     posrcprefix="../"
+   fi
+   rm -f po/POTFILES
+   sed -e "/^#/d" -e "/^\$/d" -e "s,.*,	$posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+	< $srcdir/po/POTFILES.in > po/POTFILES
+  ])
+
+# AM_GLIB_DEFINE_LOCALEDIR(VARIABLE)
+# -------------------------------
+# Define VARIABLE to the location where catalog files will
+# be installed by po/Makefile.
+glib_DEFUN([GLIB_DEFINE_LOCALEDIR],
+[glib_REQUIRE([GLIB_GNU_GETTEXT])dnl
+glib_save_prefix="$prefix"
+glib_save_exec_prefix="$exec_prefix"
+glib_save_datarootdir="$datarootdir"
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+test "x$exec_prefix" = xNONE && exec_prefix=$prefix
+datarootdir=`eval echo "${datarootdir}"`
+if test "x$CATOBJEXT" = "x.mo" ; then
+  localedir=`eval echo "${libdir}/locale"`
+else
+  localedir=`eval echo "${datadir}/locale"`
+fi
+prefix="$glib_save_prefix"
+exec_prefix="$glib_save_exec_prefix"
+datarootdir="$glib_save_datarootdir"
+AC_DEFINE_UNQUOTED($1, "$localedir",
+  [Define the location where the catalogs will be installed])
+])
+
+dnl
+dnl Now the definitions that aclocal will find
+dnl
+ifdef(glib_configure_in,[],[
+AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)])
+AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)])
+])dnl
+
+# GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL])
+# 
+# Create a temporary file with TEST-FILE as its contents and pass the
+# file name to PROGRAM.  Perform ACTION-IF-PASS if PROGRAM exits with
+# 0 and perform ACTION-IF-FAIL for any other exit status.
+AC_DEFUN([GLIB_RUN_PROG],
+[cat >conftest.foo <<_ACEOF
+$2
+_ACEOF
+if AC_RUN_LOG([$1 conftest.foo]); then
+  m4_ifval([$3], [$3], [:])
+m4_ifvaln([$4], [else $4])dnl
+echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD
+sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD
+fi])
+
+
+
+dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml])
+# serial 40 IT_PROG_INTLTOOL
+AC_DEFUN([IT_PROG_INTLTOOL], [
+AC_PREREQ([2.50])dnl
+AC_REQUIRE([AM_NLS])dnl
+
+case "$am__api_version" in
+    1.[01234])
+	AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool])
+    ;;
+    *)
+    ;;
+esac
+
+if test -n "$1"; then
+    AC_MSG_CHECKING([for intltool >= $1])
+
+    INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+    INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+    [INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+    ]
+    AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found])
+    test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+	AC_MSG_ERROR([Your intltool is too old.  You need intltool $1 or later.])
+fi
+
+AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update])
+AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge])
+AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract])
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
+    AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.])
+fi
+
+  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< [$]@'
+     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< [$]@' 
+      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' 
+    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@'
+
+_IT_SUBST(INTLTOOL_DESKTOP_RULE)
+_IT_SUBST(INTLTOOL_DIRECTORY_RULE)
+_IT_SUBST(INTLTOOL_KEYS_RULE)
+_IT_SUBST(INTLTOOL_PROP_RULE)
+_IT_SUBST(INTLTOOL_OAF_RULE)
+_IT_SUBST(INTLTOOL_PONG_RULE)
+_IT_SUBST(INTLTOOL_SERVER_RULE)
+_IT_SUBST(INTLTOOL_SHEET_RULE)
+_IT_SUBST(INTLTOOL_SOUNDLIST_RULE)
+_IT_SUBST(INTLTOOL_UI_RULE)
+_IT_SUBST(INTLTOOL_XAM_RULE)
+_IT_SUBST(INTLTOOL_KBD_RULE)
+_IT_SUBST(INTLTOOL_XML_RULE)
+_IT_SUBST(INTLTOOL_XML_NOMERGE_RULE)
+_IT_SUBST(INTLTOOL_CAVES_RULE)
+_IT_SUBST(INTLTOOL_SCHEMAS_RULE)
+_IT_SUBST(INTLTOOL_THEME_RULE)
+_IT_SUBST(INTLTOOL_SERVICE_RULE)
+_IT_SUBST(INTLTOOL_POLICY_RULE)
+
+# Check the gettext tools to make sure they are GNU
+AC_PATH_PROG(XGETTEXT, xgettext)
+AC_PATH_PROG(MSGMERGE, msgmerge)
+AC_PATH_PROG(MSGFMT, msgfmt)
+AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+    AC_MSG_ERROR([GNU gettext tools not found; required for intltool])
+fi
+
+AC_PATH_PROG(INTLTOOL_PERL, perl)
+if test -z "$INTLTOOL_PERL"; then
+   AC_MSG_ERROR([perl not found])
+fi
+AC_MSG_CHECKING([for perl >= 5.8.1])
+$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+   AC_MSG_ERROR([perl 5.8.1 is required for intltool])
+else
+   IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+   AC_MSG_RESULT([$IT_PERL_VERSION])
+fi
+if test "x$2" != "xno-xml"; then
+   AC_MSG_CHECKING([for XML::Parser])
+   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+       AC_MSG_RESULT([ok])
+   else
+       AC_MSG_ERROR([XML::Parser perl module is required for intltool])
+   fi
+fi
+
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
+AC_SUBST(ALL_LINGUAS)
+
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
+  AC_LINK_IFELSE(
+    [AC_LANG_PROGRAM([[]],
+                     [[extern int _nl_msg_cat_cntr;
+                       return _nl_msg_cat_cntr]])],
+    [DATADIRNAME=share],
+    [case $host in
+    *-*-solaris*)
+    dnl On Solaris, if bind_textdomain_codeset is in libc,
+    dnl GNU format message catalog is always supported,
+    dnl since both are added to the libc all together.
+    dnl Hence, we'd like to go with DATADIRNAME=share
+    dnl in this case.
+    AC_CHECK_FUNC(bind_textdomain_codeset,
+      [DATADIRNAME=share], [DATADIRNAME=lib])
+    ;;
+    *)
+    [DATADIRNAME=lib]
+    ;;
+    esac])
+fi
+AC_SUBST(DATADIRNAME)
+
+IT_PO_SUBDIR([po])
+
+])
+
+
+# IT_PO_SUBDIR(DIRNAME)
+# ---------------------
+# All po subdirs have to be declared with this macro; the subdir "po" is
+# declared by IT_PROG_INTLTOOL.
+#
+AC_DEFUN([IT_PO_SUBDIR],
+[AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS.
+dnl
+dnl The following CONFIG_COMMANDS should be executed at the very end
+dnl of config.status.
+AC_CONFIG_COMMANDS_PRE([
+  AC_CONFIG_COMMANDS([$1/stamp-it], [
+    if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then
+       AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.])
+    fi
+    rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp"
+    >"$1/stamp-it.tmp"
+    [sed '/^#/d
+	 s/^[[].*] *//
+	 /^[ 	]*$/d
+	'"s|^|	$ac_top_srcdir/|" \
+      "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES"
+    ]
+    [sed '/^POTFILES =/,/[^\\]$/ {
+		/^POTFILES =/!d
+		r $1/POTFILES
+	  }
+	 ' "$1/Makefile.in" >"$1/Makefile"]
+    rm -f "$1/Makefile.tmp"
+    mv "$1/stamp-it.tmp" "$1/stamp-it"
+  ])
+])dnl
+])
+
+# _IT_SUBST(VARIABLE)
+# -------------------
+# Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST
+#
+AC_DEFUN([_IT_SUBST],
+[
+AC_SUBST([$1])
+m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])])
+]
+)
+
+# deprecated macros
+AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL])
+# A hint is needed for aclocal from Automake <= 1.9.4:
+# AC_DEFUN([AC_PROG_INTLTOOL], ...)
+
+
+# LIBEPT_DEFS([LIBEPT_REQS=libtagcoll2])
+# ---------------------------------------
+AC_DEFUN([LIBEPT_DEFS],
+[
+	dnl Import libtagcoll data
+	PKG_CHECK_MODULES(LIBEPT,m4_default([$1], libept))
+	AC_SUBST(LIBEPT_CFLAGS)
+	AC_SUBST(LIBEPT_LIBS)
+])
+
+# nls.m4 serial 3 (gettext-0.15)
+dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+dnl
+dnl This file can can be used in projects which are not available under
+dnl the GNU General Public License or the GNU Library General Public
+dnl License but which still want to provide support for the GNU gettext
+dnl functionality.
+dnl Please note that the actual code of the GNU gettext library is covered
+dnl by the GNU Library General Public License, and the rest of the GNU
+dnl gettext package package is covered by the GNU General Public License.
+dnl They are *not* in the public domain.
+
+dnl Authors:
+dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
+dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
+
+AC_PREREQ(2.50)
+
+AC_DEFUN([AM_NLS],
+[
+  AC_MSG_CHECKING([whether NLS is requested])
+  dnl Default is enabled NLS
+  AC_ARG_ENABLE(nls,
+    [  --disable-nls           do not use Native Language Support],
+    USE_NLS=$enableval, USE_NLS=yes)
+  AC_MSG_RESULT($USE_NLS)
+  AC_SUBST(USE_NLS)
+])
+
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+# 
+# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=m4_default([$1], [0.9.0])
+	AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		AC_MSG_RESULT([yes])
+	else
+		AC_MSG_RESULT([no])
+		PKG_CONFIG=""
+	fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
+		     [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+   	AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1`
+        else 
+	        $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+	m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])dnl
+        ])
+elif test $pkg_failed = untried; then
+     	AC_MSG_RESULT([no])
+	m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])dnl
+        ])
+else
+	$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+	$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+	$3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+# (This private macro should not be called outside this file.)
+AC_DEFUN([AM_AUTOMAKE_VERSION],
+[am__api_version='1.11'
+dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
+dnl require some minimum version.  Point them to the right macro.
+m4_if([$1], [1.11.1], [],
+      [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
+])
+
+# _AM_AUTOCONF_VERSION(VERSION)
+# -----------------------------
+# aclocal traces this macro to find the Autoconf version.
+# This is a private macro too.  Using m4_define simplifies
+# the logic in aclocal, which can simply ignore this definition.
+m4_define([_AM_AUTOCONF_VERSION], [])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
+# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+[AM_AUTOMAKE_VERSION([1.11.1])dnl
+m4_ifndef([AC_AUTOCONF_VERSION],
+  [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
+_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
+
+# AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'.  In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory.  The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run.  This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+#    fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+#    fails if $ac_aux_dir is absolute,
+#    fails when called from a subdirectory in a VPATH build with
+#          a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir.  In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir.  That would be:
+#   am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+#   MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH.  The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# This was merged into AC_PROG_CC in Autoconf.
+
+AU_DEFUN([AM_PROG_CC_STDC],
+[AC_PROG_CC
+AC_DIAGNOSE([obsolete], [$0:
+	your code should no longer depend upon `am_cv_prog_cc_stdc', but upon
+	`ac_cv_prog_cc_stdc'.  Remove this warning and the assignment when
+	you adjust the code.  You can also remove the above call to
+	AC_PROG_CC if you already called it elsewhere.])
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+])
+AU_DEFUN([fp_PROG_CC_STDC])
+
+# AM_CONDITIONAL                                            -*- Autoconf -*-
+
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 9
+
+# AM_CONDITIONAL(NAME, SHELL-CONDITION)
+# -------------------------------------
+# Define a conditional.
+AC_DEFUN([AM_CONDITIONAL],
+[AC_PREREQ(2.52)dnl
+ ifelse([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
+	[$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
+AC_SUBST([$1_TRUE])dnl
+AC_SUBST([$1_FALSE])dnl
+_AM_SUBST_NOTMAKE([$1_TRUE])dnl
+_AM_SUBST_NOTMAKE([$1_FALSE])dnl
+m4_define([_AM_COND_VALUE_$1], [$2])dnl
+if $2; then
+  $1_TRUE=
+  $1_FALSE='#'
+else
+  $1_TRUE='#'
+  $1_FALSE=
+fi
+AC_CONFIG_COMMANDS_PRE(
+[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
+  AC_MSG_ERROR([[conditional "$1" was never defined.
+Usually this means the macro was only invoked conditionally.]])
+fi])])
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 10
+
+# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
+# written in clear, in which case automake, when reading aclocal.m4,
+# will think it sees a *use*, and therefore will trigger all it's
+# C support machinery.  Also note that it means that autoscan, seeing
+# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
+
+
+# _AM_DEPENDENCIES(NAME)
+# ----------------------
+# See how the compiler implements dependency checking.
+# NAME is "CC", "CXX", "GCJ", or "OBJC".
+# We try a few techniques and use that to set a single cache variable.
+#
+# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was
+# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular
+# dependency, and given that the user is not expected to run this macro,
+# just rely on AC_PROG_CC.
+AC_DEFUN([_AM_DEPENDENCIES],
+[AC_REQUIRE([AM_SET_DEPDIR])dnl
+AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl
+AC_REQUIRE([AM_MAKE_INCLUDE])dnl
+AC_REQUIRE([AM_DEP_TRACK])dnl
+
+ifelse([$1], CC,   [depcc="$CC"   am_compiler_list=],
+       [$1], CXX,  [depcc="$CXX"  am_compiler_list=],
+       [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'],
+       [$1], UPC,  [depcc="$UPC"  am_compiler_list=],
+       [$1], GCJ,  [depcc="$GCJ"  am_compiler_list='gcc3 gcc'],
+                   [depcc="$$1"   am_compiler_list=])
+
+AC_CACHE_CHECK([dependency style of $depcc],
+               [am_cv_$1_dependencies_compiler_type],
+[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_$1_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp`
+  fi
+  am__universal=false
+  m4_case([$1], [CC],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac],
+    [CXX],
+    [case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac])
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_$1_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_$1_dependencies_compiler_type=none
+fi
+])
+AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type])
+AM_CONDITIONAL([am__fastdep$1], [
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_$1_dependencies_compiler_type" = gcc3])
+])
+
+
+# AM_SET_DEPDIR
+# -------------
+# Choose a directory name for dependency files.
+# This macro is AC_REQUIREd in _AM_DEPENDENCIES
+AC_DEFUN([AM_SET_DEPDIR],
+[AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl
+])
+
+
+# AM_DEP_TRACK
+# ------------
+AC_DEFUN([AM_DEP_TRACK],
+[AC_ARG_ENABLE(dependency-tracking,
+[  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors])
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
+AC_SUBST([AMDEPBACKSLASH])dnl
+_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl
+])
+
+# Generate code to set up dependency tracking.              -*- Autoconf -*-
+
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+#serial 5
+
+# _AM_OUTPUT_DEPENDENCY_COMMANDS
+# ------------------------------
+AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+[{
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`AS_DIRNAME("$mf")`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`AS_DIRNAME(["$file"])`
+      AS_MKDIR_P([$dirpart/$fdir])
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+# AM_OUTPUT_DEPENDENCY_COMMANDS
+# -----------------------------
+# This macro should only be invoked once -- use via AC_REQUIRE.
+#
+# This code is only required when automatic dependency tracking
+# is enabled.  FIXME.  This creates each `.P' file that we will
+# need in order to bootstrap the dependency handling code.
+AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
+[AC_CONFIG_COMMANDS([depfiles],
+     [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
+     [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
+])
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 8
+
+# AM_CONFIG_HEADER is obsolete.  It has been replaced by AC_CONFIG_HEADERS.
+AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)])
+
+# Do all the work for Automake.                             -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 16
+
+# This macro actually does too much.  Some checks are only needed if
+# your package does certain things.  But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out.  PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition.  After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.62])dnl
+dnl Autoconf wants to disallow AM_ names.  We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT.
+m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,,
+  [m4_fatal([AC_INIT should be called with package and version arguments])])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+	      [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+			     [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+		  [_AM_DEPENDENCIES(CC)],
+		  [define([AC_PROG_CC],
+			  defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+		  [_AM_DEPENDENCIES(CXX)],
+		  [define([AC_PROG_CXX],
+			  defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_OBJC],
+		  [_AM_DEPENDENCIES(OBJC)],
+		  [define([AC_PROG_OBJC],
+			  defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl
+])
+_AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl
+dnl The `parallel-tests' driver may need to know about EXEEXT, so add the
+dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen.  This macro
+dnl is hooked onto _AC_COMPILER_EXEEXT early, see below.
+AC_CONFIG_COMMANDS_PRE(dnl
+[m4_provide_if([_AM_COMPILER_EXEEXT],
+  [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl
+])
+
+dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion.  Do not
+dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further
+dnl mangled by Autoconf and run in a shell conditional statement.
+m4_define([_AC_COMPILER_EXEEXT],
+m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated.  The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_arg=$1
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot.  For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
+# From Jim Meyering
+
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_MAINTAINER_MODE([DEFAULT-MODE])
+# ----------------------------------
+# Control maintainer-specific portions of Makefiles.
+# Default is to disable them, unless `enable' is passed literally.
+# For symmetry, `disable' may be passed as well.  Anyway, the user
+# can override the default with the --enable/--disable switch.
+AC_DEFUN([AM_MAINTAINER_MODE],
+[m4_case(m4_default([$1], [disable]),
+       [enable], [m4_define([am_maintainer_other], [disable])],
+       [disable], [m4_define([am_maintainer_other], [enable])],
+       [m4_define([am_maintainer_other], [enable])
+        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
+AC_MSG_CHECKING([whether to am_maintainer_other maintainer-specific portions of Makefiles])
+  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
+  AC_ARG_ENABLE([maintainer-mode],
+[  --][am_maintainer_other][-maintainer-mode  am_maintainer_other make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer],
+      [USE_MAINTAINER_MODE=$enableval],
+      [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
+  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
+  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
+  MAINT=$MAINTAINER_MODE_TRUE
+  AC_SUBST([MAINT])dnl
+]
+)
+
+AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
+
+# Check to see how 'make' treats includes.	            -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2009  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MAKE_INCLUDE()
+# -----------------
+# Check to see how make treats includes.
+AC_DEFUN([AM_MAKE_INCLUDE],
+[am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+AC_MSG_CHECKING([for style of include used by $am_make])
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+AC_SUBST([am__include])
+AC_SUBST([am__quote])
+AC_MSG_RESULT([$_am_result])
+rm -f confinc confmf
+])
+
+# Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 6
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+AC_REQUIRE_AUX_FILE([missing])dnl
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005, 2006  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check for `mkdir -p'.
+AC_DEFUN([AM_PROG_MKDIR_P],
+[AC_PREREQ([2.60])dnl
+AC_REQUIRE([AC_PROG_MKDIR_P])dnl
+dnl Automake 1.8 to 1.9.6 used to define mkdir_p.  We now use MKDIR_P,
+dnl while keeping a definition of mkdir_p for backward compatibility.
+dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile.
+dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of
+dnl Makefile.ins that do not define MKDIR_P, so we do our own
+dnl adjustment using top_builddir (which is defined more often than
+dnl MKDIR_P).
+AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl
+case $mkdir_p in
+  [[\\/$]]* | ?:[[\\/]]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+])
+
+# Helper functions for option handling.                     -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME.  Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane.    -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 5
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[[\\\"\#\$\&\'\`$am_lf]]*)
+    AC_MSG_ERROR([unsafe absolute working directory name]);;
+esac
+case $srcdir in
+  *[[\\\"\#\$\&\'\`$am_lf\ \	]]*)
+    AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$[*]" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$[*]" != "X $srcdir/configure conftest.file" \
+      && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      AC_MSG_ERROR([ls -t appears to fail.  Make sure there is not a broken
+alias in your environment])
+   fi
+
+   test "$[2]" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries.  This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+  AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Copyright (C) 2006, 2008  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
+# This macro is traced by Automake.
+AC_DEFUN([_AM_SUBST_NOTMAKE])
+
+# AM_SUBST_NOTMAKE(VARIABLE)
+# ---------------------------
+# Public sister of _AM_SUBST_NOTMAKE.
+AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
+
+# Check how to create a tarball.                            -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005  Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+#     tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+#     $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+     [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+     [m4_case([$1], [ustar],, [pax],,
+              [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+  case $_am_tool in
+  gnutar)
+    for _am_tar in tar gnutar gtar;
+    do
+      AM_RUN_LOG([$_am_tar --version]) && break
+    done
+    am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+    am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+    am__untar="$_am_tar -xf -"
+    ;;
+  plaintar)
+    # Must skip GNU tar: if it does not support --format= it doesn't create
+    # ustar tarball either.
+    (tar --version) >/dev/null 2>&1 && continue
+    am__tar='tar chf - "$$tardir"'
+    am__tar_='tar chf - "$tardir"'
+    am__untar='tar xf -'
+    ;;
+  pax)
+    am__tar='pax -L -x $1 -w "$$tardir"'
+    am__tar_='pax -L -x $1 -w "$tardir"'
+    am__untar='pax -r'
+    ;;
+  cpio)
+    am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+    am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+    am__untar='cpio -i -H $1 -d'
+    ;;
+  none)
+    am__tar=false
+    am__tar_=false
+    am__untar=false
+    ;;
+  esac
+
+  # If the value was cached, stop now.  We just wanted to have am__tar
+  # and am__untar set.
+  test -n "${am_cv_prog_tar_$1}" && break
+
+  # tar/untar a dummy directory, and stop if the command works
+  rm -rf conftest.dir
+  mkdir conftest.dir
+  echo GrepMe > conftest.dir/file
+  AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+  rm -rf conftest.dir
+  if test -s conftest.tar; then
+    AM_RUN_LOG([$am__untar <conftest.tar])
+    grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+  fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])

=== added file 'autogen.sh'
--- autogen.sh	1970-01-01 00:00:00 +0000
+++ autogen.sh	2010-08-01 23:35:56 +0000
@@ -0,0 +1,23 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+
+REQUIRED_AUTOMAKE_VERSION=1.7
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+PKG_NAME="synaptic"
+
+(test -f $srcdir/configure.in \
+  && test -f $srcdir/ChangeLog \
+  && test -d $srcdir/gtk) || {
+    echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
+    echo " top-level $PKG_NAME directory"
+    exit 1
+}
+
+which gnome-autogen.sh || {
+    echo "You need to install gnome-common from the GNOME CVS"
+    exit 1
+}
+USE_GNOME2_MACROS=1 .  gnome-autogen.sh

=== renamed file 'autogen.sh' => 'autogen.sh.moved'
=== added directory 'common'
=== renamed directory 'common' => 'common.moved'
=== added file 'common/Makefile.am'
--- common/Makefile.am	1970-01-01 00:00:00 +0000
+++ common/Makefile.am	2010-08-01 23:35:56 +0000
@@ -0,0 +1,54 @@
+
+
+noinst_LIBRARIES = libsynaptic.a
+
+INCLUDES = -I/usr/include/apt-pkg @RPM_HDRS@ @DEB_HDRS@ @PACKAGE_CFLAGS@ \
+	$(LIBEPT_CFLAGS) \
+	-DSYNAPTICLOCALEDIR=\""$(synapticlocaledir)"\" \
+	-DSYNAPTICSTATEDIR=\""$(localstatedir)"\"
+
+libsynaptic_a_SOURCES =\
+	pkg_acqfile.cc\
+	pkg_acqfile.h\
+	rconfiguration.cc\
+	rconfiguration.h\
+	rinstallprogress.cc\
+	rinstallprogress.h\
+	rpackage.cc\
+	rpackage.h\
+	rpackagestatus.cc\
+	rpackagestatus.h\
+	rpackagecache.cc\
+	rpackagecache.h\
+	rpackagefilter.cc\
+	rpackagefilter.h\
+	rpackagelister.cc\
+	rpackagelister.h\
+	rpackageview.cc\
+	rpackageview.h\
+	rcdscanner.cc\
+	rcdscanner.h\
+	indexcopy.cc\
+	indexcopy.h\
+	rpmindexcopy.cc \
+	rpmindexcopy.h \
+	raptoptions.cc \
+	raptoptions.h\
+	rsources.cc \
+	rsources.h \
+	rcacheactor.cc \
+	rcacheactor.h \
+	rpackagelistactor.cc \
+	rpackagelistactor.h \
+	rtagcollbuilder.cc \
+	rtagcollbuilder.h \
+	i18n.h \
+	sections_trans.h \
+	rtagcollfilter.cc \
+	rtagcollfilter.h \
+	ruserdialog.h \
+	ruserdialog.cc \
+	sections_trans.h \
+	sections_trans.cc 
+
+

=== added file 'common/Makefile.in'
--- common/Makefile.in	1970-01-01 00:00:00 +0000
+++ common/Makefile.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,545 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = common
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
+AR = ar
+ARFLAGS = cru
+libsynaptic_a_AR = $(AR) $(ARFLAGS)
+libsynaptic_a_LIBADD =
+am_libsynaptic_a_OBJECTS = pkg_acqfile.$(OBJEXT) \
+	rconfiguration.$(OBJEXT) rinstallprogress.$(OBJEXT) \
+	rpackage.$(OBJEXT) rpackagestatus.$(OBJEXT) \
+	rpackagecache.$(OBJEXT) rpackagefilter.$(OBJEXT) \
+	rpackagelister.$(OBJEXT) rpackageview.$(OBJEXT) \
+	rcdscanner.$(OBJEXT) indexcopy.$(OBJEXT) \
+	rpmindexcopy.$(OBJEXT) raptoptions.$(OBJEXT) \
+	rsources.$(OBJEXT) rcacheactor.$(OBJEXT) \
+	rpackagelistactor.$(OBJEXT) rtagcollbuilder.$(OBJEXT) \
+	rtagcollfilter.$(OBJEXT) ruserdialog.$(OBJEXT) \
+	sections_trans.$(OBJEXT)
+libsynaptic_a_OBJECTS = $(am_libsynaptic_a_OBJECTS)
+DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
+depcomp = $(SHELL) $(top_srcdir)/depcomp
+am__depfiles_maybe = depfiles
+am__mv = mv -f
+CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
+CXXLD = $(CXX)
+CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
+	-o $@
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
+SOURCES = $(libsynaptic_a_SOURCES)
+DIST_SOURCES = $(libsynaptic_a_SOURCES)
+ETAGS = etags
+CTAGS = ctags
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_gtk = @BUILD_gtk@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEB_HDRS = @DEB_HDRS@
+DEB_LIBS = @DEB_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+LDFLAGS = @LDFLAGS@
+LIBEPT_CFLAGS = @LIBEPT_CFLAGS@
+LIBEPT_LIBS = @LIBEPT_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LP_CFLAGS = @LP_CFLAGS@
+LP_LIBS = @LP_LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
+PACKAGE_LIBS = @PACKAGE_LIBS@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+RPM_HDRS = @RPM_HDRS@
+RPM_LIBS = @RPM_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VTE_CFLAGS = @VTE_CFLAGS@
+VTE_LIBS = @VTE_LIBS@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+synapticlocaledir = @synapticlocaledir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+noinst_LIBRARIES = libsynaptic.a
+INCLUDES = -I/usr/include/apt-pkg @RPM_HDRS@ @DEB_HDRS@ @PACKAGE_CFLAGS@ \
+	$(LIBEPT_CFLAGS) \
+	-DSYNAPTICLOCALEDIR=\""$(synapticlocaledir)"\" \
+	-DSYNAPTICSTATEDIR=\""$(localstatedir)"\"
+
+libsynaptic_a_SOURCES = \
+	pkg_acqfile.cc\
+	pkg_acqfile.h\
+	rconfiguration.cc\
+	rconfiguration.h\
+	rinstallprogress.cc\
+	rinstallprogress.h\
+	rpackage.cc\
+	rpackage.h\
+	rpackagestatus.cc\
+	rpackagestatus.h\
+	rpackagecache.cc\
+	rpackagecache.h\
+	rpackagefilter.cc\
+	rpackagefilter.h\
+	rpackagelister.cc\
+	rpackagelister.h\
+	rpackageview.cc\
+	rpackageview.h\
+	rcdscanner.cc\
+	rcdscanner.h\
+	indexcopy.cc\
+	indexcopy.h\
+	rpmindexcopy.cc \
+	rpmindexcopy.h \
+	raptoptions.cc \
+	raptoptions.h\
+	rsources.cc \
+	rsources.h \
+	rcacheactor.cc \
+	rcacheactor.h \
+	rpackagelistactor.cc \
+	rpackagelistactor.h \
+	rtagcollbuilder.cc \
+	rtagcollbuilder.h \
+	i18n.h \
+	sections_trans.h \
+	rtagcollfilter.cc \
+	rtagcollfilter.h \
+	ruserdialog.h \
+	ruserdialog.cc \
+	sections_trans.h \
+	sections_trans.cc 
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .cc .o .obj
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu common/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu common/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+
+clean-noinstLIBRARIES:
+	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
+libsynaptic.a: $(libsynaptic_a_OBJECTS) $(libsynaptic_a_DEPENDENCIES) 
+	-rm -f libsynaptic.a
+	$(libsynaptic_a_AR) libsynaptic.a $(libsynaptic_a_OBJECTS) $(libsynaptic_a_LIBADD)
+	$(RANLIB) libsynaptic.a
+
+mostlyclean-compile:
+	-rm -f *.$(OBJEXT)
+
+distclean-compile:
+	-rm -f *.tab.c
+
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/indexcopy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pkg_acqfile.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raptoptions.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcacheactor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcdscanner.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rconfiguration.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rinstallprogress.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackage.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackagecache.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackagefilter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackagelistactor.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackagelister.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackagestatus.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpackageview.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rpmindexcopy.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rsources.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtagcollbuilder.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rtagcollfilter.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ruserdialog.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sections_trans.Po@am__quote@
+
+.cc.o:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<
+
+.cc.obj:
+@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
+@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
+	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	mkid -fID $$unique
+tags: TAGS
+
+TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	set x; \
+	here=`pwd`; \
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	shift; \
+	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
+	  test -n "$$unique" || unique=$$empty_fix; \
+	  if test $$# -gt 0; then \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      "$$@" $$unique; \
+	  else \
+	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
+	      $$unique; \
+	  fi; \
+	fi
+ctags: CTAGS
+CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
+		$(TAGS_FILES) $(LISP)
+	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
+	unique=`for i in $$list; do \
+	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+	  done | \
+	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
+	      END { if (nonempty) { for (i in files) print i; }; }'`; \
+	test -z "$(CTAGS_ARGS)$$unique" \
+	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
+	     $$unique
+
+GTAGS:
+	here=`$(am__cd) $(top_builddir) && pwd` \
+	  && $(am__cd) $(top_srcdir) \
+	  && gtags -i $(GTAGS_ARGS) "$$here"
+
+distclean-tags:
+	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(LIBRARIES)
+installdirs:
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic clean-noinstLIBRARIES mostlyclean-am
+
+distclean: distclean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+distclean-am: clean-am distclean-compile distclean-generic \
+	distclean-tags
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am:
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -rf ./$(DEPDIR)
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-compile mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am:
+
+.MAKE: install-am install-strip
+
+.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
+	clean-noinstLIBRARIES ctags distclean distclean-compile \
+	distclean-generic distclean-tags distdir dvi dvi-am html \
+	html-am info info-am install install-am install-data \
+	install-data-am install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-man install-pdf install-pdf-am \
+	install-ps install-ps-am install-strip installcheck \
+	installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-compile \
+	mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+	uninstall-am
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

=== added file 'common/i18n.h'
--- common/i18n.h	1970-01-01 00:00:00 +0000
+++ common/i18n.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,58 @@
+/* i18n.h
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef _I18N_H_
+#define _I18N_H_
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#ifdef ENABLE_NLS
+#include <locale.h>
+# include <libintl.h>
+# define _(String) gettext (String)
+# ifdef gettext_noop
+#  define N_(String) gettext_noop (String)
+# else
+#  define N_(String) (String)
+# endif
+#else
+/* Stubs that do something close enough.  */
+# undef  textdomain
+# define textdomain(String) (String)
+# undef  gettext
+# define gettext(String) (String)
+# undef  dgettext
+# define dgettext(Domain,Message) (Message)
+# undef  dcgettext
+# define dcgettext(Domain,Message,Type) (Message)
+# undef  bindtextdomain
+# define bindtextdomain(Domain,Directory) (Domain)
+# undef  _
+# define _(String) (String)
+# undef  N_
+# define N_(String) (String)
+#endif
+
+
+#endif

=== added file 'common/indexcopy.cc'
--- common/indexcopy.cc	1970-01-01 00:00:00 +0000
+++ common/indexcopy.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,511 @@
+// -*- mode: cpp; mode: fold -*-
+// Description                                                          /*{{{*/
+// $Id: indexcopy.cc,v 1.2 2002/07/25 18:07:18 niemeyer Exp $
+/* ######################################################################
+
+   Index Copying - Aid for copying and verifying the index files
+   
+   This class helps apt-cache reconstruct a damaged index files. 
+   
+   ##################################################################### */
+                                                                        /*}}} */
+// Include Files                                                        /*{{{*/
+#include "indexcopy.h"
+#include "i18n.h"
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/progress.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/tagfile.h>
+
+#include <iostream>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <stdio.h>
+                                                                        /*}}} */
+
+using namespace std;
+
+// IndexCopy::CopyPackages - Copy the package files from the CD         /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool IndexCopy::CopyPackages(string CDROM, string Name,
+                             vector<string> &List)
+{
+   if (List.size() == 0)
+      return true;
+
+   OpTextProgress Progress;
+
+   bool NoStat = _config->FindB("APT::CDROM::Fast", false);
+   bool Debug = _config->FindB("Debug::aptcdrom", false);
+
+   // Prepare the progress indicator
+   unsigned long TotalSize = 0;
+   for (vector<string>::iterator I = List.begin(); I != List.end(); I++) {
+      struct stat Buf;
+      if (stat(string(*I + GetFileName()).c_str(), &Buf) != 0 &&
+          stat(string(*I + GetFileName() + ".gz").c_str(), &Buf) != 0)
+         return _error->Errno("stat", _("Stat failed for %s"),
+                              string(*I + GetFileName()).c_str());
+      TotalSize += Buf.st_size;
+   }
+
+   unsigned long CurrentSize = 0;
+   unsigned int NotFound = 0;
+   unsigned int WrongSize = 0;
+   unsigned int Packages = 0;
+   for (vector<string>::iterator I = List.begin(); I != List.end(); I++) {
+      string OrigPath = string(*I, CDROM.length());
+      unsigned long FileSize = 0;
+
+      // Open the package file
+      FileFd Pkg;
+      if (FileExists(*I + GetFileName()) == true) {
+         Pkg.Open(*I + GetFileName(), FileFd::ReadOnly);
+         FileSize = Pkg.Size();
+      } else {
+         FileFd From(*I + GetFileName() + ".gz", FileFd::ReadOnly);
+         if (_error->PendingError() == true)
+            return false;
+         FileSize = From.Size();
+
+         // Get a temp file
+         FILE *tmp = tmpfile();
+         if (tmp == 0)
+            return _error->Errno("tmpfile", _("Unable to create a tmp file"));
+         Pkg.Fd(dup(fileno(tmp)));
+         fclose(tmp);
+
+         // Fork gzip
+         int Process = fork();
+         if (Process < 0)
+            return _error->Errno("fork",
+                                 "Internal Error: Couldn't fork gzip. Please report.");
+
+         // The child
+         if (Process == 0) {
+            dup2(From.Fd(), STDIN_FILENO);
+            dup2(Pkg.Fd(), STDOUT_FILENO);
+            SetCloseExec(STDIN_FILENO, false);
+            SetCloseExec(STDOUT_FILENO, false);
+
+            const char *Args[3];
+            string Tmp = _config->Find("Dir::bin::gzip", "gzip");
+            Args[0] = Tmp.c_str();
+            Args[1] = "-d";
+            Args[2] = 0;
+            execvp(Args[0], (char **)Args);
+            exit(100);
+         }
+         // Wait for gzip to finish
+         if (ExecWait
+             (Process, _config->Find("Dir::bin::gzip", "gzip").c_str(),
+              false) == false)
+            return _error->Error(_("gzip failed, perhaps the disk is full."));
+
+         Pkg.Seek(0);
+      }
+      pkgTagFile Parser(&Pkg);
+      if (_error->PendingError() == true)
+         return false;
+
+      // Open the output file
+      char S[400];
+      snprintf(S, sizeof(S), "cdrom:[%s]/%s%s", Name.c_str(),
+               (*I).c_str() + CDROM.length(), GetFileName());
+      string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
+      TargetF += URItoFileName(S);
+      if (_config->FindB("APT::CDROM::NoAct", false) == true)
+         TargetF = "/dev/null";
+      FileFd Target(TargetF, FileFd::WriteEmpty);
+      FILE *TargetFl = fdopen(dup(Target.Fd()), "w");
+      if (_error->PendingError() == true)
+         return false;
+      if (TargetFl == 0)
+         return _error->Errno("fdopen", _("Failed to reopen fd"));
+
+      // Setup the progress meter
+      Progress.OverallProgress(CurrentSize, TotalSize, FileSize,
+                               string("Reading ") + Type() + " Indexes");
+
+      // Parse
+      Progress.SubProgress(Pkg.Size());
+      pkgTagSection Section;
+      this->Section = &Section;
+      string Prefix;
+      unsigned long Hits = 0;
+      unsigned long Chop = 0;
+      while (Parser.Step(Section) == true) {
+         Progress.Progress(Parser.Offset());
+         string File;
+         unsigned long Size;
+         if (GetFile(File, Size) == false) {
+            fclose(TargetFl);
+            return false;
+         }
+
+         if (Chop != 0)
+            File = OrigPath + ChopDirs(File, Chop);
+
+         // See if the file exists
+         bool Mangled = false;
+         if (NoStat == false || Hits < 10) {
+            // Attempt to fix broken structure
+            if (Hits == 0) {
+               if (ReconstructPrefix(Prefix, OrigPath, CDROM, File) == false &&
+                   ReconstructChop(Chop, *I, File) == false) {
+                  if (Debug == true)
+                     clog << "Missed: " << File << endl;
+                  NotFound++;
+                  continue;
+               }
+               if (Chop != 0)
+                  File = OrigPath + ChopDirs(File, Chop);
+            }
+            // Get the size
+            struct stat Buf;
+            if (stat(string(CDROM + Prefix + File).c_str(), &Buf) != 0 ||
+                Buf.st_size == 0) {
+               // Attempt to fix busted symlink support for one instance
+               string OrigFile = File;
+               string::size_type Start = File.find("binary-");
+               string::size_type End = File.find("/", Start + 3);
+               if (Start != string::npos && End != string::npos) {
+                  File.replace(Start, End - Start, "binary-all");
+                  Mangled = true;
+               }
+
+               if (Mangled == false ||
+                   stat(string(CDROM + Prefix + File).c_str(), &Buf) != 0) {
+                  if (Debug == true)
+                     clog << "Missed(2): " << OrigFile << endl;
+                  NotFound++;
+                  continue;
+               }
+            }
+            // Size match
+            if ((unsigned)Buf.st_size != Size) {
+               if (Debug == true)
+                  clog << "Wrong Size: " << File << endl;
+               WrongSize++;
+               continue;
+            }
+         }
+
+         Packages++;
+         Hits++;
+
+         if (RewriteEntry(TargetFl, File) == false) {
+            fclose(TargetFl);
+            return false;
+         }
+      }
+      fclose(TargetFl);
+
+      if (Debug == true)
+         cout << " Processed by using Prefix '" << Prefix <<
+            "' and chop " << Chop << endl;
+
+      if (_config->FindB("APT::CDROM::NoAct", false) == false) {
+         // Move out of the partial directory
+         Target.Close();
+         string FinalF = _config->FindDir("Dir::State::lists");
+         FinalF += URItoFileName(S);
+         if (rename(TargetF.c_str(), FinalF.c_str()) != 0)
+            return _error->Errno("rename", _("Failed to rename"));
+
+         // Copy the release file
+         snprintf(S, sizeof(S), "cdrom:[%s]/%sRelease", Name.c_str(),
+                  (*I).c_str() + CDROM.length());
+         string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
+         TargetF += URItoFileName(S);
+         if (FileExists(*I + "Release") == true) {
+            FileFd Target(TargetF, FileFd::WriteEmpty);
+            FileFd Rel(*I + "Release", FileFd::ReadOnly);
+            if (_error->PendingError() == true)
+               return false;
+
+            if (CopyFile(Rel, Target) == false)
+               return false;
+         } else {
+            // Empty release file
+            FileFd Target(TargetF, FileFd::WriteEmpty);
+         }
+
+         // Rename the release file
+         FinalF = _config->FindDir("Dir::State::lists");
+         FinalF += URItoFileName(S);
+         if (rename(TargetF.c_str(), FinalF.c_str()) != 0)
+            return _error->Errno("rename", _("Failed to rename"));
+      }
+
+      /* Mangle the source to be in the proper notation with
+         prefix dist [component] */
+      *I = string(*I, Prefix.length());
+      ConvertToSourceList(CDROM, *I);
+      *I = Prefix + ' ' + *I;
+
+      CurrentSize += FileSize;
+   }
+   Progress.Done();
+
+   // Some stats
+   cout << "Wrote " << Packages << " records";
+   if (NotFound != 0)
+      cout << " with " << NotFound << " missing files";
+   if (NotFound != 0 && WrongSize != 0)
+      cout << " and";
+   if (WrongSize != 0)
+      cout << " with " << WrongSize << " mismatched files";
+   cout << '.' << endl;
+
+   if (Packages == 0)
+      _error->Warning(_("No valid records were found."));
+
+   if (NotFound + WrongSize > 10)
+      cout << "Alot of entries were discarded, something may be wrong." <<
+         endl;
+
+   return true;
+}
+
+                                                                        /*}}} */
+// IndexCopy::ChopDirs - Chop off the leading directory components      /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+string IndexCopy::ChopDirs(string Path, unsigned int Depth)
+{
+   string::size_type I = 0;
+   do {
+      I = Path.find('/', I + 1);
+      Depth--;
+   }
+   while (I != string::npos && Depth != 0);
+
+   if (I == string::npos)
+      return string();
+
+   return string(Path, I + 1);
+}
+
+                                                                        /*}}} */
+// IndexCopy::ReconstructPrefix - Fix strange prefixing                 /*{{{*/
+// ---------------------------------------------------------------------
+/* This prepends dir components from the path to the package files to
+   the path to the deb until it is found */
+bool IndexCopy::ReconstructPrefix(string &Prefix, string OrigPath, string CD,
+                                  string File)
+{
+   bool Debug = _config->FindB("Debug::aptcdrom", false);
+   unsigned int Depth = 1;
+   string MyPrefix = Prefix;
+   while (1) {
+      struct stat Buf;
+      if (stat(string(CD + MyPrefix + File).c_str(), &Buf) != 0) {
+         if (Debug == true)
+            cout << "Failed, " << CD + MyPrefix + File << endl;
+         if (GrabFirst(OrigPath, MyPrefix, Depth++) == true)
+            continue;
+
+         return false;
+      } else {
+         Prefix = MyPrefix;
+         return true;
+      }
+   }
+   return false;
+}
+
+                                                                        /*}}} */
+// IndexCopy::ReconstructChop - Fixes bad source paths                  /*{{{*/
+// ---------------------------------------------------------------------
+/* This removes path components from the filename and prepends the location
+   of the package files until a file is found */
+bool IndexCopy::ReconstructChop(unsigned long &Chop, string Dir, string File)
+{
+   // Attempt to reconstruct the filename
+   unsigned long Depth = 0;
+   while (1) {
+      struct stat Buf;
+      if (stat(string(Dir + File).c_str(), &Buf) != 0) {
+         File = ChopDirs(File, 1);
+         Depth++;
+         if (File.empty() == false)
+            continue;
+         return false;
+      } else {
+         Chop = Depth;
+         return true;
+      }
+   }
+   return false;
+}
+
+                                                                        /*}}} */
+// IndexCopy::ConvertToSourceList - Convert a Path to a sourcelist      /*{{{*/
+// ---------------------------------------------------------------------
+/* We look for things in dists/ notation and convert them to 
+   <dist> <component> form otherwise it is left alone. This also strips
+   the CD path. 
+ 
+   This implements a regex sort of like: 
+    (.*)/dists/([^/]*)/(.*)/binary-* 
+     ^          ^      ^- Component
+     |          |-------- Distribution
+     |------------------- Path
+   
+   It was deciced to use only a single word for dist (rather than say
+   unstable/non-us) to increase the chance that each CD gets a single
+   line in sources.list.
+ */
+void IndexCopy::ConvertToSourceList(string CD, string &Path)
+{
+   char S[300];
+   snprintf(S, sizeof(S), "binary-%s",
+            _config->Find("Apt::Architecture").c_str());
+
+   // Strip the cdrom base path
+   Path = string(Path, CD.length());
+   if (Path.empty() == true)
+      Path = "/";
+
+   // Too short to be a dists/ type
+   if (Path.length() < strlen("dists/"))
+      return;
+
+   // Not a dists type.
+   if (stringcmp(Path.c_str(), Path.c_str() + strlen("dists/"), "dists/") != 0)
+      return;
+
+   // Isolate the dist
+   string::size_type Slash = strlen("dists/");
+   string::size_type Slash2 = Path.find('/', Slash + 1);
+   if (Slash2 == string::npos || Slash2 + 2 >= Path.length())
+      return;
+   string Dist = string(Path, Slash, Slash2 - Slash);
+
+   // Isolate the component
+   Slash = Slash2;
+   for (unsigned I = 0; I != 10; I++) {
+      Slash = Path.find('/', Slash + 1);
+      if (Slash == string::npos || Slash + 2 >= Path.length())
+         return;
+      string Comp = string(Path, Slash2 + 1, Slash - Slash2 - 1);
+
+      // Verify the trailing binary- bit
+      string::size_type BinSlash = Path.find('/', Slash + 1);
+      if (Slash == string::npos)
+         return;
+      string Binary = string(Path, Slash + 1, BinSlash - Slash - 1);
+
+      if (Binary != S && Binary != "source")
+         continue;
+
+      Path = Dist + ' ' + Comp;
+      return;
+   }
+}
+
+                                                                        /*}}} */
+// IndexCopy::GrabFirst - Return the first Depth path components        /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool IndexCopy::GrabFirst(string Path, string &To, unsigned int Depth)
+{
+   string::size_type I = 0;
+   do {
+      I = Path.find('/', I + 1);
+      Depth--;
+   }
+   while (I != string::npos && Depth != 0);
+
+   if (I == string::npos)
+      return false;
+
+   To = string(Path, 0, I + 1);
+   return true;
+}
+
+                                                                        /*}}} */
+// PackageCopy::GetFile - Get the file information from the section     /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool PackageCopy::GetFile(string &File, unsigned long &Size)
+{
+   File = Section->FindS("Filename");
+   Size = Section->FindI("Size");
+   if (File.empty() || Size == 0)
+      return _error->Error(_("Cannot find filename or size tag"));
+   return true;
+}
+
+                                                                        /*}}} */
+// PackageCopy::RewriteEntry - Rewrite the entry with a new filename    /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool PackageCopy::RewriteEntry(FILE *Target, string File)
+{
+   TFRewriteData Changes[] = { {"Filename", File.c_str()}
+   ,
+   {}
+   };
+
+   if (TFRewrite(Target, *Section, TFRewritePackageOrder, Changes) == false)
+      return false;
+   fputc('\n', Target);
+   return true;
+}
+
+                                                                        /*}}} */
+// SourceCopy::GetFile - Get the file information from the section      /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool SourceCopy::GetFile(string &File, unsigned long &Size)
+{
+   string Files = Section->FindS("Files");
+   if (Files.empty() == true)
+      return false;
+
+   // Stash the / terminated directory prefix
+   string Base = Section->FindS("Directory");
+   if (Base.empty() == false && Base[Base.length() - 1] != '/')
+      Base += '/';
+
+   // Read the first file triplet
+   const char *C = Files.c_str();
+   string sSize;
+   string MD5Hash;
+
+   // Parse each of the elements
+   if (ParseQuoteWord(C, MD5Hash) == false ||
+       ParseQuoteWord(C, sSize) == false || ParseQuoteWord(C, File) == false)
+      return _error->Error(_("Error parsing file record"));
+
+   // Parse the size and append the directory
+   Size = atoi(sSize.c_str());
+   File = Base + File;
+   return true;
+}
+
+                                                                        /*}}} */
+// SourceCopy::RewriteEntry - Rewrite the entry with a new filename     /*{{{*/
+// ---------------------------------------------------------------------
+/* */
+bool SourceCopy::RewriteEntry(FILE *Target, string File)
+{
+   string Dir(File, 0, File.rfind('/'));
+   TFRewriteData Changes[] = { {"Directory", Dir.c_str()}
+   ,
+   {}
+   };
+
+   if (TFRewrite(Target, *Section, TFRewriteSourceOrder, Changes) == false)
+      return false;
+   fputc('\n', Target);
+   return true;
+}
+
+                                                                        /*}}} */

=== added file 'common/indexcopy.h'
--- common/indexcopy.h	1970-01-01 00:00:00 +0000
+++ common/indexcopy.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,74 @@
+// -*- mode: cpp; mode: fold -*-
+// Description                                                          /*{{{*/
+// $Id: indexcopy.h,v 1.1 2002/07/23 17:54:52 niemeyer Exp $
+/* ######################################################################
+
+   Index Copying - Aid for copying and verifying the index files
+   
+   ##################################################################### */
+                                                                        /*}}} */
+#ifndef INDEXCOPY_H
+#define INDEXCOPY_H
+
+#include <vector>
+#include <string>
+#include <stdio.h>
+
+using std::string;
+using std::vector;
+
+class pkgTagSection;
+class FileFd;
+
+class IndexCopy {
+ protected:
+
+   pkgTagSection *Section;
+
+   string ChopDirs(string Path, unsigned int Depth);
+   bool ReconstructPrefix(string &Prefix, string OrigPath, string CD,
+                          string File);
+   bool ReconstructChop(unsigned long &Chop, string Dir, string File);
+   void ConvertToSourceList(string CD, string &Path);
+   bool GrabFirst(string Path, string &To, unsigned int Depth);
+   virtual bool GetFile(string &Filename, unsigned long &Size) = 0;
+   virtual bool RewriteEntry(FILE *Target, string File) = 0;
+   virtual const char *GetFileName() = 0;
+   virtual const char *Type() = 0;
+
+ public:
+
+   bool CopyPackages(string CDROM, string Name, vector<string> &List);
+};
+
+class PackageCopy:public IndexCopy {
+ protected:
+
+   virtual bool GetFile(string &Filename, unsigned long &Size);
+   virtual bool RewriteEntry(FILE *Target, string File);
+   virtual const char *GetFileName() {
+      return "Packages";
+   };
+   virtual const char *Type() {
+      return "Package";
+   };
+
+ public:
+};
+
+class SourceCopy:public IndexCopy {
+ protected:
+
+   virtual bool GetFile(string &Filename, unsigned long &Size);
+   virtual bool RewriteEntry(FILE *Target, string File);
+   virtual const char *GetFileName() {
+      return "Sources";
+   };
+   virtual const char *Type() {
+      return "Source";
+   };
+
+ public:
+};
+
+#endif

=== added file 'common/pkg_acqfile.cc'
--- common/pkg_acqfile.cc	1970-01-01 00:00:00 +0000
+++ common/pkg_acqfile.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,150 @@
+// pkg_acqfile.cc
+//
+//  Copyright 2002 Daniel Burrows
+//
+//  This program is free software; you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation; either version 2 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program; see the file COPYING.  If not, write to
+//  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+//  Boston, MA 02111-1307, USA.
+
+// (based on pkg_changelog)
+//
+// mvo: taken from aptitude with a big _thankyou_ 
+
+#include "pkg_acqfile.h"
+
+#include "config.h"
+#include "i18n.h"
+
+#include <stdio.h>
+#include <errno.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <signal.h>
+#include <sys/stat.h>
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/acquire-item.h>
+#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/strutl.h>
+
+// Let's all sing a song about apt-pkg's brokenness..
+
+pkgAcqFileSane::pkgAcqFileSane(pkgAcquire *Owner, string URI,
+			       string Description, string ShortDesc,
+			       string filename):
+  Item(Owner)
+{
+  Retries=_config->FindI("Acquire::Retries",0);
+  DestFile=filename;
+
+  Desc.URI=URI;
+  Desc.Description=Description;
+  Desc.Owner=this;
+  Desc.ShortDesc=ShortDesc;
+
+  QueueURI(Desc);
+}
+
+// Straight from acquire-item.cc
+/* Here we try other sources */
+void pkgAcqFileSane::Failed(string Message,pkgAcquire::MethodConfig *Cnf)
+{
+  ErrorText = LookupTag(Message,"Message");
+
+  // This is the retry counter
+  if (Retries != 0 &&
+      Cnf->LocalOnly == false &&
+      StringToBool(LookupTag(Message,"Transient-Failure"),false) == true)
+    {
+      Retries--;
+      QueueURI(Desc);
+      return;
+    }
+
+  Item::Failed(Message,Cnf);
+}
+
+// Mostly copied from pkgAcqArchive.
+bool get_archive(pkgAcquire *Owner, pkgSourceList *Sources,
+		 pkgRecords *Recs, pkgCache::VerIterator const &Version,
+		 string directory, string &StoreFilename)
+{
+  pkgCache::VerFileIterator Vf=Version.FileList();
+
+  if(Version.Arch()==0)
+    return _error->Error(_("I wasn't able to locate a file for the %s package. "
+			   "This might mean you need to manually fix this package. (due to missing arch)"),
+			 Version.ParentPkg().Name());
+
+  /* We need to find a filename to determine the extension. We make the
+     assumption here that all the available sources for this version share
+     the same extension.. */
+  // Skip not source sources, they do not have file fields.
+  for (; Vf.end() == false; Vf++)
+    {
+      if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0)
+	continue;
+      break;
+    }
+
+  // Does not really matter here.. we are going to fail out below
+  if (Vf.end() != true)
+    {     
+      // If this fails to get a file name we will bomb out below.
+      pkgRecords::Parser &Parse = Recs->Lookup(Vf);
+      if (_error->PendingError() == true)
+	return false;
+            
+      // Generate the final file name as: package_version_arch.foo
+      StoreFilename = QuoteString(Version.ParentPkg().Name(),"_:") + '_' +
+	QuoteString(Version.VerStr(),"_:") + '_' +
+	QuoteString(Version.Arch(),"_:.") + 
+	"." + flExtension(Parse.FileName());
+    }
+
+   for (; Vf.end() == false; Vf++)
+   {
+      // Ignore not source sources
+      if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0)
+         continue;
+
+      // Try to cross match against the source list
+      pkgIndexFile *Index;
+      if (Sources->FindIndex(Vf.File(),Index) == false)
+            continue;
+      
+      // Grab the text package record
+      pkgRecords::Parser &Parse = Recs->Lookup(Vf);
+      if (_error->PendingError() == true)
+         return false;
+
+      string PkgFile = Parse.FileName();
+      if (PkgFile.empty() == true)
+         return _error->Error(_("The package index files are corrupted. No Filename: "
+                              "field for package %s."),
+                              Version.ParentPkg().Name());
+
+      string DestFile = directory + "/" + flNotDir(StoreFilename);
+
+      // Create the item
+      new pkgAcqFileSane(Owner, Index->ArchiveURI(PkgFile),
+			 Index->ArchiveInfo(Version),
+			 Version.ParentPkg().Name(), DestFile);
+
+      Vf++;
+      return true;
+   }
+   return false;
+}

=== added file 'common/pkg_acqfile.h'
--- common/pkg_acqfile.h	1970-01-01 00:00:00 +0000
+++ common/pkg_acqfile.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,32 @@
+// pkg_acqfile.h
+//
+//  File acquirers that Don't Suck.
+//
+// mvo: taken from aptitude with a big _thankyou_ 
+
+#include <apt-pkg/acquire-item.h>
+
+class pkgAcqFileSane:public pkgAcquire::Item
+// This is frustrating: pkgAcqFile is **almost** good enough, but has some
+// hardcoded stuff that makes it not quite work.
+//
+//  Based heavily on that class, though.
+{
+  pkgAcquire::ItemDesc Desc;
+  string Md5Hash;
+  unsigned int Retries;
+
+public:
+  pkgAcqFileSane(pkgAcquire *Owner, string URI,
+		 string Description, string ShortDesc, string filename);
+
+  void Failed(string Message, pkgAcquire::MethodConfig *Cnf);
+  string MD5Sum() {return Md5Hash;}
+  string DescURI() {return Desc.URI;}
+  virtual ~pkgAcqFileSane() {}
+};
+
+// Hack around the broken pkgAcqArchive.
+bool get_archive(pkgAcquire *Owner, pkgSourceList *Sources,
+		 pkgRecords *Recs, pkgCache::VerIterator const &Version,
+		 std::string directory, std::string &StoreFilename);

=== added file 'common/raptoptions.cc'
--- common/raptoptions.cc	1970-01-01 00:00:00 +0000
+++ common/raptoptions.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,318 @@
+/* raptoptions.cc - configuration handling
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+#include "config.h"
+#include <fstream>
+#include <sstream>
+#include <dirent.h>
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/tagfile.h>
+#include <apt-pkg/policy.h>
+#include <apt-pkg/sptr.h>
+#include <apt-pkg/strutl.h>
+
+#include "rconfiguration.h"
+#include "raptoptions.h"
+
+#include "i18n.h"
+
+
+RAPTOptions *_roptions = new RAPTOptions;
+
+using namespace std;
+
+ostream &operator<<(ostream &os, const RAPTOptions::packageOptions &o)
+{
+   os << o.isNew;
+   return os;
+}
+
+istream &operator>>(istream &is, RAPTOptions::packageOptions &o)
+{
+   is >> o.isNew;
+   return is;
+}
+
+
+bool RAPTOptions::store()
+{
+   ofstream out;
+   if (!RPackageOptionsFile(out))
+      return false;
+
+   for (packageOptionsIter it = _roptions->_packageOptions.begin();
+        it != _roptions->_packageOptions.end(); it++) {
+      // we only write out if it's new and the pkgname is not empty
+      if ((*it).second.isNew && !(*it).first.empty())
+         out << (*it).first << " " << (*it).second << endl;
+   }
+   return true;
+}
+
+
+bool RAPTOptions::restore()
+{
+   string pkg, line;
+   packageOptions o;
+
+   //cout << "bool RAPTOptions::restore()" << endl;
+
+   ifstream in;
+   if (!RPackageOptionsFile(in))
+      return false;
+
+   // new stuff
+   while (!in.eof()) {
+      getline(in, line);
+      istringstream strstr(line.c_str());
+      strstr >> pkg >> o >> ws;
+      _packageOptions[pkg] = o;
+   }
+
+   // upgrade code for older synaptic versions, can go away in the future
+   if(FileExists(RConfDir()+"/preferences"))
+      rename(string(RConfDir()+"/preferences").c_str(),
+	     string(RStateDir()+"/preferences").c_str());
+
+
+   // pining stuff
+   string File = RStateDir() + "/preferences";
+
+   if (!FileExists(File))
+      return true;
+
+   FileFd Fd(File, FileFd::ReadOnly);
+   pkgTagFile TF(&Fd);
+   if (_error->PendingError() == true) {
+      return false;
+   }
+   pkgTagSection Tags;
+   while (TF.Step(Tags) == true) {
+      string Name = Tags.FindS("Package");
+      if (Name.empty() == true)
+         return _error->
+            Error(_
+                  ("Invalid record in the preferences file, no Package header"));
+      if (Name == "*")
+         Name = string();
+
+      const char *Start;
+      const char *End;
+      if (Tags.Find("Pin", Start, End) == false)
+         continue;
+
+      const char *Word = Start;
+      for (; Word != End && isspace(*Word) == 0; Word++);
+
+      // Parse the type, we are only interesseted in "version" for now
+      pkgVersionMatch::MatchType Type;
+      if (stringcasecmp(Start, Word, "version") == 0 && Name.empty() == false)
+         Type = pkgVersionMatch::Version;
+      else
+         continue;
+      for (; Word != End && isspace(*Word) != 0; Word++);
+
+      setPackageLock(Name.c_str(), true);
+   }
+
+   // deborphan stuff
+   rereadOrphaned();
+
+   // debconf stuff
+   rereadDebconf();
+
+   return true;
+}
+
+bool RAPTOptions::getPackageDebconf(const char *package)
+{
+   string tmp = string(package);
+
+   if (_packageOptions.find(tmp) == _packageOptions.end())
+      return false;
+
+   //cout << "getPackageOrphaned("<<package<<") called"<<endl;
+   return _packageOptions[tmp].isDebconf;
+}
+
+
+void RAPTOptions::setPackageDebconf(const char *package, bool flag)
+{
+   //cout << "debconf called pkg: " << package << endl;
+   _packageOptions[string(package)].isDebconf = flag;
+}
+
+void RAPTOptions::rereadDebconf()
+{
+   //cout << "void RAPTOptions::rereadDebconf()" << endl;
+
+   // forget about any previously debconf packages
+   for (packageOptionsIter it = _roptions->_packageOptions.begin();
+        it != _roptions->_packageOptions.end(); it++) {
+      (*it).second.isDebconf = false;
+   }
+
+   // read dir
+   const char infodir[] = "/var/lib/dpkg/info";
+   const char configext[] = ".config";
+
+   DIR *dir;
+   struct dirent *dent;
+   char *point;
+
+   if ((dir = opendir(infodir)) == NULL) {
+      //cerr << "Error opening " << infodir << endl;
+      return;
+   }
+   for (int i = 3; (dent = readdir(dir)); i++) {
+      if ((point = strrchr(dent->d_name, '.')) == NULL)
+         continue;
+      if (strcmp(point, configext) == 0) {
+         bzero(point, strlen(point));
+         //cout << (dent->d_name) << endl;
+         setPackageDebconf(dent->d_name, true);
+      }
+   }
+   closedir(dir);
+}
+
+void RAPTOptions::rereadOrphaned()
+{
+   // forget about any previously orphaned packages
+   for (packageOptionsIter it = _roptions->_packageOptions.begin();
+        it != _roptions->_packageOptions.end(); it++) {
+      (*it).second.isOrphaned = false;
+   }
+
+   //mvo: call deborphan and read package list from it
+   //     TODO: make deborphan a library to make this cleaner
+   FILE *fp;
+   char buf[255];
+   char cmd[] = "/usr/bin/deborphan";
+   //FIXME: fail silently if deborphan is not installed - change this?
+   if (!FileExists(cmd))
+      return;
+   fp = popen(cmd, "r");
+   if (fp == NULL) {
+      //cerr << "deborphan failed" << endl;
+      return;
+   }
+   while (fgets(buf, 254, fp) != NULL) {
+      //mvo: FIXME this sucks (remove newline at end)
+      buf[strlen(buf) - 1] = 0;
+      //cout << "buf: " << buf << endl;
+      setPackageOrphaned(buf, true);
+   }
+   pclose(fp);
+}
+
+
+bool RAPTOptions::getPackageOrphaned(const char *package)
+{
+   string tmp = string(package);
+
+   if (_packageOptions.find(tmp) == _packageOptions.end())
+      return false;
+
+   //cout << "getPackageOrphaned("<<package<<") called"<<endl;
+   return _packageOptions[tmp].isOrphaned;
+}
+
+
+void RAPTOptions::setPackageOrphaned(const char *package, bool flag)
+{
+   //cout << "orphaned called pkg: " << package << endl;
+   _packageOptions[string(package)].isOrphaned = flag;
+}
+
+
+bool RAPTOptions::getPackageLock(const char *package)
+{
+   string tmp = string(package);
+
+   if (_packageOptions.find(tmp) == _packageOptions.end())
+      return false;
+
+   return _packageOptions[tmp].isLocked;
+}
+
+
+void RAPTOptions::setPackageLock(const char *package, bool lock)
+{
+   _packageOptions[string(package)].isLocked = lock;
+}
+
+bool RAPTOptions::getPackageNew(const char *package)
+{
+   string tmp = string(package);
+
+   if (_packageOptions.find(tmp) == _packageOptions.end())
+      return false;
+
+   return _packageOptions[tmp].isNew;
+}
+
+void RAPTOptions::setPackageNew(const char *package, bool lock)
+{
+   _packageOptions[string(package)].isNew = lock;
+}
+
+void RAPTOptions::forgetNewPackages()
+{
+   for (packageOptionsIter it = _roptions->_packageOptions.begin();
+        it != _roptions->_packageOptions.end(); it++) {
+      (*it).second.isNew = false;
+   }
+}
+
+bool RAPTOptions::getFlag(const char *key)
+{
+   if (_options.find(key) != _options.end())
+      return _options[string(key)] == "true";
+   else
+      return false;
+}
+
+
+string RAPTOptions::getString(const char *key)
+{
+   if (_options.find(key) != _options.end())
+      return _options[string(key)];
+   else
+      return "";
+}
+
+
+void RAPTOptions::setFlag(const char *key, bool value)
+{
+   _options[string(key)] = string(value ? "true" : "false");
+}
+
+
+void RAPTOptions::setString(const char *key, string value)
+{
+   _options[string(key)] = value;
+}

=== added file 'common/raptoptions.h'
--- common/raptoptions.h	1970-01-01 00:00:00 +0000
+++ common/raptoptions.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,85 @@
+/* raptoptions.h - configuration handling
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef _RAPTOPTIONS_H_
+#define _RAPTOPTIONS_H_
+
+#include <map>
+#include <string>
+#include <apt-pkg/configuration.h>
+
+using namespace std;
+
+class RAPTOptions {
+ public:
+
+   class packageOptions {
+    public:
+      packageOptions()
+    :   
+      isLocked(false), isOrphaned(false), isNew(false),
+      isDebconf(false) {
+      };
+      bool isLocked;
+      bool isOrphaned;
+      bool isNew;
+      bool isDebconf;
+   };
+
+   bool store();
+   bool restore();
+
+   bool getPackageLock(const char *package);
+   void setPackageLock(const char *package, bool lock);
+
+   bool getPackageDebconf(const char *package);
+   void setPackageDebconf(const char *package, bool flag = true);
+   void rereadDebconf();
+
+   bool getPackageOrphaned(const char *package);
+   void setPackageOrphaned(const char *package, bool flag = true);
+   void rereadOrphaned();
+
+   bool getPackageNew(const char *package);
+   void setPackageNew(const char *package, bool flag = true);
+   void forgetNewPackages();
+
+   bool getFlag(const char *key);
+   string getString(const char *key);
+
+   void setFlag(const char *key, bool value);
+   void setString(const char *key, string value);
+
+ private:
+   map<string, packageOptions> _packageOptions;
+   map<string, string> _options;
+};
+
+extern RAPTOptions *_roptions;
+
+typedef map<string, RAPTOptions::packageOptions>::iterator packageOptionsIter;
+
+ostream &operator<<(ostream &os, const RAPTOptions::packageOptions &);
+istream &operator>>(istream &is, RAPTOptions::packageOptions &o);
+
+#endif

=== added file 'common/rcacheactor.cc'
--- common/rcacheactor.cc	1970-01-01 00:00:00 +0000
+++ common/rcacheactor.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,199 @@
+
+#include "rcacheactor.h"
+#include "rpackagelister.h"
+#include "i18n.h"
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/tagfile.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/configuration.h>
+#include <algorithm>
+#include <fnmatch.h>
+
+void RCacheActor::notifyCachePostChange()
+{
+   //cout << "RCacheActor::notifyCachePostChange()" << endl;
+   vector<RPackage *> toKeep;
+   vector<RPackage *> toInstall;
+   vector<RPackage *> toReInstall; 
+   vector<RPackage *> toUpgrade;
+   vector<RPackage *> toRemove;
+   vector<RPackage *> toDowngrade;
+   vector<RPackage *> notAuthenticated;
+   vector<RPackage *> exclude;        // empty
+
+   //cout << "_laststate: " << _laststate << endl;
+   if (_laststate == NULL)
+      return;
+
+   if (_lister->getStateChanges(*_laststate, toKeep, toInstall, toReInstall,
+                                toUpgrade, toRemove, toDowngrade,
+				notAuthenticated,
+                                exclude, false)) {
+      if (toKeep.empty() == false)
+         run(toKeep, ACTION_KEEP);
+      if (toInstall.empty() == false)
+         run(toInstall, ACTION_INSTALL);
+      if (toReInstall.empty() == false)
+         run(toReInstall, ACTION_REINSTALL);
+      if (toUpgrade.empty() == false)
+         run(toUpgrade, ACTION_INSTALL);
+      if (toDowngrade.empty() == false)
+         run(toDowngrade, ACTION_INSTALL);
+      if (toRemove.empty() == false)
+         run(toRemove, ACTION_REMOVE);
+   }
+}
+
+
+
+
+
+RCacheActorRecommends::RCacheActorRecommends(RPackageLister *lister,
+                                             string FileName)
+: RCacheActor(lister)
+{
+   FileFd F(FileName, FileFd::ReadOnly);
+   if (_error->PendingError()) {
+      _error->Error("could not open recommends file %s", FileName.c_str());
+      return;
+   }
+   pkgTagFile Tags(&F);
+   pkgTagSection Section;
+
+   string Name;
+   string Match;
+   string Recommends;
+   while (Tags.Step(Section)) {
+      string Name = Section.FindS("Name");
+      string Match = Section.FindS("Match");
+      string Recommends = Section.FindS("Recommends");
+      if (Name.empty() == true || Recommends.empty() == true)
+         continue;
+
+      ListType *List = NULL;
+      if (Match.empty() == true || Match == "exact") {
+         List = &_map[Name];
+      } else if (Match == "wildcard") {
+         List = &_map_wildcard[Name];
+      } else if (Match == "regex") {
+         regex_t *ptrn = new regex_t;
+         if (regcomp(ptrn, Name.c_str(),
+                     REG_EXTENDED | REG_ICASE | REG_NOSUB) != 0) {
+            _error->
+               Warning("Bad regular expression '%s' in Recommends file.",
+                       Name.c_str());
+            delete ptrn;
+         } else
+            List = &_map_regex[ptrn];
+      }
+
+      if (List != NULL) {
+         const char *C = Recommends.c_str();
+         string S;
+         while (*C != 0) {
+            if (ParseQuoteWord(C, S))
+               List->push_back(S);
+         }
+      }
+   }
+}
+
+RCacheActorRecommends::~RCacheActorRecommends()
+{
+   for (RegexMapType::const_iterator RMapI = _map_regex.begin();
+        RMapI != _map_regex.end(); RMapI++) {
+      delete RMapI->first;
+   }
+}
+
+void RCacheActorRecommends::setLanguageCache()
+{
+   string LangList = _config->Find("Volatile::Languages", "");
+   if (LangList == _langLast)
+      return;
+
+   _langCache.clear();
+
+   if (LangList.empty())
+      return;
+
+   _langLast = LangList;
+
+   const char *C = LangList.c_str();
+   string S;
+   while (*C != 0) {
+      if (ParseQuoteWord(C, S)) {
+         string::size_type end;
+         end = S.find('@');
+         if (end != string::npos)
+            S.erase(end, string::npos);
+         _langCache.push_back(S);
+         end = S.rfind('_');
+         if (end != string::npos) {
+            S.erase(end, string::npos);
+            _langCache.push_back(S);
+         }
+      }
+   }
+}
+
+void RCacheActorRecommends::notifyCachePostChange()
+{
+   if (_config->FindB("Synaptic::UseRecommends", true) == true)
+      RCacheActor::notifyCachePostChange();
+}
+
+void RCacheActorRecommends::run(vector<RPackage *> &PkgList, int Action)
+{
+   setLanguageCache();
+   const char *name;
+   const ListType *List;
+   MapType::const_iterator MapI;
+   for (vector<RPackage *>::const_iterator PkgI = PkgList.begin();
+        PkgI != PkgList.end(); PkgI++) {
+      name = (*PkgI)->name();
+      List = NULL;
+      MapI = _map.find(name);
+      if (MapI != _map.end()) {
+         List = &MapI->second;
+      } else {
+         if (_map_wildcard.empty() == false) {
+            for (MapI = _map_wildcard.begin();
+                 MapI != _map_wildcard.end(); MapI++) {
+               if (fnmatch(MapI->first.c_str(), name, 0) == 0) {
+                  List = &MapI->second;
+                  break;
+               }
+            }
+         }
+         if (List == NULL && _map_regex.empty() == false) {
+            for (RegexMapType::const_iterator RMapI = _map_regex.begin();
+                 RMapI != _map_regex.end(); RMapI++) {
+               if (regexec(RMapI->first, name, 0, 0, 0) == 0) {
+                  List = &RMapI->second;
+                  break;
+               }
+            }
+         }
+      }
+      if (List != NULL) {
+         for (ListType::const_iterator ListI = List->begin();
+              ListI != List->end(); ListI++) {
+            const string &Recommends = *ListI;
+            if (actOnPkg(Recommends, Action) == false
+                && Recommends.find("$(LANG)") != string::npos) {
+               for (vector < string >::const_iterator LI = _langCache.begin();
+                    LI != _langCache.end(); LI++) {
+                  string Parsed = SubstVar(Recommends, "$(LANG)", *LI);
+                  actOnPkg(Parsed, Action);
+               }
+            }
+         }
+      }
+   }
+}
+
+
+
+// vim:sts=3:sw=3

=== added file 'common/rcacheactor.h'
--- common/rcacheactor.h	1970-01-01 00:00:00 +0000
+++ common/rcacheactor.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,123 @@
+/* rcacheactor.h
+ * 
+ * Copyright (c) 2000-2003 Conectiva S/A 
+ *               2002 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ * 
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef RCACHEACTOR_H
+#define RCACHEACTOR_H
+
+#include "rpackagelister.h"
+#include <regex.h>
+
+class RCacheActor:public RCacheObserver {
+ public:
+
+   enum Action {
+      ACTION_KEEP,
+      ACTION_INSTALL,
+      ACTION_REINSTALL,
+      ACTION_REMOVE
+   };
+
+ protected:
+
+   RPackageLister *_lister;
+   RPackageLister::pkgState *_laststate;
+
+ public:
+
+   virtual void run(vector<RPackage *> &List, int Action) = 0;
+
+   virtual void notifyCachePreChange() {
+      updateState();
+   };
+
+   virtual void notifyCachePostChange();
+
+   virtual void notifyCacheOpen() {
+   };
+
+   virtual void updateState() {
+      delete _laststate;
+      _laststate = new RPackageLister::pkgState;
+      _lister->saveState(*_laststate);
+   };
+
+   RCacheActor(RPackageLister *lister)
+ :   _lister(lister), _laststate(0) {
+      _lister->registerCacheObserver(this);
+   };
+
+   virtual ~ RCacheActor() {
+      _lister->unregisterCacheObserver(this);
+   };
+};
+
+class RCacheActorRecommends:public RCacheActor {
+ protected:
+
+   typedef vector<string> ListType;
+   typedef map<string, ListType> MapType;
+   typedef map<regex_t *, ListType> RegexMapType;
+
+   MapType _map;
+   MapType _map_wildcard;
+   RegexMapType _map_regex;
+
+   string _langLast;
+   ListType _langCache;
+
+   void setLanguageCache();
+
+   inline bool actOnPkg(string name, int Action) {
+      RPackage *Pkg = _lister->getPackage(name);
+      if (Pkg != NULL) {
+         switch (Action) {
+            case ACTION_KEEP:
+               Pkg->setKeep();
+               break;
+            case ACTION_INSTALL:
+               Pkg->setInstall();
+               break;
+            case ACTION_REMOVE:
+               Pkg->setRemove();
+               break;
+         }
+         return true;
+      }
+      return false;
+   };
+
+
+ public:
+
+   virtual void run(vector<RPackage *> &List, int Action);
+
+   virtual void notifyCachePostChange();
+
+   RCacheActorRecommends(RPackageLister *lister, string FileName);
+   virtual ~RCacheActorRecommends();
+};
+
+#endif
+
+// vim:sts=3:sw=3

=== added file 'common/rcdscanner.cc'
--- common/rcdscanner.cc	1970-01-01 00:00:00 +0000
+++ common/rcdscanner.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,731 @@
+/* rcdscanner.cc
+ *
+ * Copyright (c) 2000-2003 Conectiva S/A
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include<config.h>
+#ifndef HAVE_APTPKG_CDROM
+
+#include <sys/stat.h>
+#include <sys/fcntl.h>
+#include <dirent.h>
+#include <unistd.h>
+#include <iostream>
+#include <fstream>
+#include <algorithm>
+#include <cstdio>
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/cdromutl.h>
+#include <apt-pkg/strutl.h>
+
+#include "i18n.h"
+#include "rcdscanner.h"
+
+#ifdef HAVE_RPM
+#include "rpmindexcopy.h"
+#else
+#include "indexcopy.h"
+#endif
+
+using namespace std;
+
+// ReduceSourceList - Takes the path list and reduces it                /*{{{*/
+// ---------------------------------------------------------------------
+/* This takes the list of source list expressed entires and collects
+   similar ones to form a single entry for each dist */
+void ReduceSourcelist(string CD, vector<string> &List)
+{
+   sort(List.begin(), List.end());
+
+   // Collect similar entries
+   for (vector<string>::iterator I = List.begin(); I != List.end(); I++) {
+      // Find a space..
+      string::size_type Space = (*I).find(' ');
+      if (Space == string::npos)
+         continue;
+      string::size_type SSpace = (*I).find(' ', Space + 1);
+      if (SSpace == string::npos)
+         continue;
+
+      string Word1 = string(*I, Space, SSpace - Space);
+      string Prefix = string(*I, 0, Space);
+      for (vector<string>::iterator J = List.begin(); J != I; J++) {
+         // Find a space..
+         string::size_type Space2 = (*J).find(' ');
+         if (Space2 == string::npos)
+            continue;
+         string::size_type SSpace2 = (*J).find(' ', Space2 + 1);
+         if (SSpace2 == string::npos)
+            continue;
+
+         if (string(*J, 0, Space2) != Prefix)
+            continue;
+         if (string(*J, Space2, SSpace2 - Space2) != Word1)
+            continue;
+
+         *J += string(*I, SSpace);
+         *I = string();
+      }
+   }
+
+   // Wipe erased entries
+   for (unsigned int I = 0; I < List.size();) {
+      if (List[I].empty() == false)
+         I++;
+      else
+         List.erase(List.begin() + I);
+   }
+}
+
+                                                                        /*}}} */
+bool RCDScanner::writeDatabase()
+{
+   _database->Set("CD::" + _cdId, _cdName);
+
+   string DFile = _config->FindFile("Dir::State::cdroms");
+   string NewFile = DFile + ".new";
+
+   unlink(NewFile.c_str());
+   ofstream Out(NewFile.c_str());
+   if (!Out)
+      return _error->Errno("ofstream::ofstream",
+                           _("Failed to open %s.new"), DFile.c_str());
+
+   /* Write out all of the configuration directives by walking the
+      configuration tree */
+   const Configuration::Item *Top = _database->Tree(0);
+   for (; Top != 0;) {
+      // Print the config entry
+      if (Top->Value.empty() == false)
+         Out << Top->FullTag() + " \"" << Top->Value << "\";" << endl;
+
+      if (Top->Child != 0) {
+         Top = Top->Child;
+         continue;
+      }
+
+      while (Top != 0 && Top->Next == 0)
+         Top = Top->Parent;
+      if (Top != 0)
+         Top = Top->Next;
+   }
+
+   Out.close();
+
+   rename(DFile.c_str(), string(DFile + '~').c_str());
+   if (rename(NewFile.c_str(), DFile.c_str()) != 0)
+      return _error->Errno("rename", _("Failed to rename %s.new to %s"),
+                           DFile.c_str(), DFile.c_str());
+
+   return true;
+}
+
+bool RCDScanner::writeSourceList(vector<string> &list, bool pkg)
+{
+   // copy&paste from apt-cdrom
+
+   if (list.size() == 0)
+      return true;
+
+   string File = _config->FindFile("Dir::Etc::sourcelist");
+
+   // Open the stream for reading 
+   ifstream F((FileExists(File) ? File.c_str() : "/dev/null"), ios::in);
+   if (!F != 0)
+      return _error->Errno("ifstream::ifstream", "Opening %s", File.c_str());
+
+   string NewFile = File + ".new";
+   unlink(NewFile.c_str());
+   ofstream Out(NewFile.c_str());
+   if (!Out)
+      return _error->Errno("ofstream::ofstream",
+                           _("Failed to open %s.new"), File.c_str());
+
+   // Create a short uri without the path
+   string ShortURI = "cdrom:[" + _cdName + "]/";
+   string ShortURI2 = "cdrom:" + _cdName + "/"; // For Compatibility
+
+   string ShortOldURI;
+   string ShortOldURI2;
+   if (_cdOldName.empty() == false) {
+      ShortOldURI = "cdrom:[" + _cdOldName + "]/";
+      ShortOldURI2 = "cdrom:" + _cdOldName + "/";
+   }
+
+   string Type;
+
+   if (pkg)
+      Type = pkgSourceType().c_str();
+   else
+      Type = srcSourceType().c_str();
+
+   char Buffer[300];
+   int CurLine = 0;
+   bool First = true;
+   while (F.eof() == false) {
+      F.getline(Buffer, sizeof(Buffer));
+      CurLine++;
+      _strtabexpand(Buffer, sizeof(Buffer));
+      _strstrip(Buffer);
+
+      // Comment or blank
+      if (Buffer[0] == '#' || Buffer[0] == 0) {
+         Out << Buffer << endl;
+         continue;
+      }
+
+      if (First == true) {
+         for (vector<string>::iterator I = list.begin(); I != list.end();
+              I++) {
+            string::size_type Space = (*I).find(' ');
+            if (Space == string::npos)
+               return _error->Error(_("Internal error"));
+            Out << Type << " cdrom:[" << _cdName << "]/" << string(*I, 0,
+                                                                   Space) <<
+               " " << string(*I, Space + 1) << endl;
+         }
+      }
+      First = false;
+
+      // Grok it
+      string cType;
+      string URI;
+      const char *C = Buffer;
+      if (ParseQuoteWord(C, cType) == false || ParseQuoteWord(C, URI) == false) {
+         Out << Buffer << endl;
+         continue;
+      }
+      // Omit lines like this one
+      if (cType != Type
+          || (string(URI, 0, ShortURI.length()) != ShortURI &&
+              string(URI, 0, ShortURI.length()) != ShortURI2 &&
+              (_cdOldName.empty()
+               || (string(URI, 0, ShortOldURI.length()) != ShortOldURI &&
+                   string(URI, 0, ShortOldURI.length()) != ShortOldURI2)))) {
+         Out << Buffer << endl;
+         continue;
+      }
+   }
+
+   // Just in case the file was empty
+   if (First == true) {
+      for (vector<string>::iterator I = list.begin(); I != list.end(); I++) {
+         string::size_type Space = (*I).find(' ');
+         if (Space == string::npos)
+            return _error->Error(_("Internal error"));
+
+         Out << Type << " cdrom:[" << _cdName << "]/" << string(*I, 0,
+                                                                Space) << " "
+            << string(*I, Space + 1) << endl;
+      }
+   }
+
+   Out.close();
+
+   rename(File.c_str(), string(File + '~').c_str());
+   if (rename(NewFile.c_str(), File.c_str()) != 0)
+      return _error->Errno("rename", _("Failed to rename %s.new to %s"),
+                           File.c_str(), File.c_str());
+
+   return true;
+}
+
+
+bool RCDScanner::start(RCDScanProgress *progress)
+{
+   _cdName = "";
+   _scannedOk = false;
+
+   progress->setTotal(STEP_LAST);
+   progress->update(_("Preparing..."), STEP_PREPARE);
+
+   // Startup
+   string CDROM = _config->FindDir("Acquire::cdrom::mount", "/cdrom/");
+   if (CDROM[0] == '.')
+      CDROM = SafeGetCWD() + '/' + CDROM;
+
+   if (!_database)
+      _database = new Configuration();
+
+   string DFile = _config->FindFile("Dir::State::cdroms");
+   if (FileExists(DFile) == true) {
+      if (ReadConfigFile(*_database, DFile) == false) {
+         return _error->Error(_("Unable to read the cdrom database %s"),
+                              DFile.c_str());
+      }
+   }
+   // Unmount the CD and get the user to put in the one they want
+   _cdromMounted = false;
+   if (_config->FindB("APT::CDROM::NoMount", false) == false) {
+      progress->update(_("Unmounting CD-ROM..."), STEP_UNMOUNT);
+      UnmountCdrom(CDROM);
+
+      progress->update(_("Waiting for disc..."), STEP_WAIT);
+      if (_userDialog->proceed(_("Insert a disc in the drive.")) == false)
+         return false;
+
+      // Mount the new CDROM
+      progress->update(_("Mounting CD-ROM..."), STEP_MOUNT);
+
+      if (MountCdrom(CDROM) == false)
+         return _error->Error(_("Failed to mount the cdrom."));
+      _cdromMounted = true;
+   }
+
+   progress->update(_("Identifying disc..."), STEP_IDENT);
+
+   if (!IdentCdrom(CDROM, _cdId)) {
+      return _error->Error(_("Couldn't identify disc."));
+   }
+
+   progress->update(_("Scanning disc..."), STEP_SCAN);
+
+   string cwd = SafeGetCWD();
+
+   _pkgList.clear();
+   _srcList.clear();
+   _infoDir = "";
+
+   if (!scanDirectory(CDROM, progress)) {
+      chdir(cwd.c_str());
+      return false;
+   }
+
+   chdir(cwd.c_str());
+
+   progress->update(_("Cleaning package lists..."), STEP_CLEAN);
+
+   cleanPkgList(_pkgList);
+   cleanSrcList(_srcList);
+
+   if (_pkgList.size() == 0 && _srcList.size() == 0) {
+      progress->update(_("Unmounting CD-ROM..."), STEP_UNMOUNT2);
+
+      if (_cdromMounted
+          && _config->FindB("APT::CDROM::NoMount", false) == false) {
+         UnmountCdrom(CDROM);
+         _cdromMounted = false;
+      }
+      return _error->Error(_("Unable to locate any package files. "
+                             "Perhaps this is not an APT enabled disc."));
+   }
+
+   _scannedOk = true;
+   return true;
+}
+
+void RCDScanner::countLists(int &pkgLists, int &srcLists)
+{
+   pkgLists = _pkgList.size();
+   srcLists = _srcList.size();
+}
+
+string RCDScanner::getDiscName()
+{
+   string name = "";
+
+   if (_database->Exists("CD::" + _cdId)) {
+      name = _database->Find("CD::" + _cdId, "");
+      _cdOldName = name;
+   } else if (!_infoDir.empty() && FileExists(_infoDir + "/info")) {
+      ifstream F(string(_infoDir + "/info").c_str());
+      if (!F == 0)
+         getline(F, name);
+
+      if (name.empty() == false) {
+         // Escape special characters
+         string::iterator J = name.begin();
+         for (; J != name.end(); J++)
+            if (*J == '"' || *J == ']' || *J == '[')
+               *J = '_';
+      }
+   }
+
+   return name;
+}
+
+bool RCDScanner::setDiscName(string name)
+{
+   if (name.empty() == true ||
+       name.find('"') != string::npos ||
+       name.find('[') != string::npos || name.find(']') != string::npos)
+      return false;
+   _cdName = name;
+   return true;
+}
+
+bool RCDScanner::finish(RCDScanProgress *progress)
+{
+   if (_scannedOk == false) {
+      return _error->Error(_("Disc not successfully scanned."));
+   }
+
+   if (_cdName.empty() == true) {
+      return _error->Error(_("Empty disc name."));
+   }
+
+   progress->update(_("Registering disc..."), STEP_REGISTER);
+
+   if (writeDatabase() == false) {
+      return false;
+   }
+   // Copy the package files to the state directory
+#ifdef HAVE_RPM
+   RPMPackageCopy Copy;
+   RPMSourceCopy SrcCopy;
+#else
+   PackageCopy Copy;
+   SourceCopy SrcCopy;
+#endif
+
+   progress->update(_("Copying package lists..."), STEP_COPY);
+
+   string CDROM = _config->FindDir("Acquire::cdrom::mount", "/cdrom/");
+
+   if (Copy.CopyPackages(CDROM, _cdName, _pkgList) == false ||
+       SrcCopy.CopyPackages(CDROM, _cdName, _srcList) == false) {
+      return false;
+   }
+
+   progress->update(_("Writing sources list..."), STEP_WRITE);
+
+   ReduceSourcelist(CDROM, _pkgList);
+   ReduceSourcelist(CDROM, _srcList);
+
+   if (!writeSourceList(_pkgList, true)
+       || !writeSourceList(_srcList, false)) {
+      return false;
+   }
+
+   if (_cdromMounted) {
+      progress->update(_("Unmounting CD-ROM..."), STEP_UNMOUNT3);
+      UnmountCdrom(CDROM);
+   }
+
+   progress->update(_("Done!"), STEP_LAST);
+
+   return true;
+}
+
+void RCDScanner::unmount()
+{
+   string CDROM = _config->FindDir("Acquire::cdrom::mount", "/cdrom/");
+   if (_cdromMounted)
+      UnmountCdrom(CDROM);
+}
+
+// DropBinaryArch - Dump dirs with a string like /binary-<foo>/         /*{{{*/
+// ---------------------------------------------------------------------
+/* Here we drop everything that is not this machines arch */
+bool DropBinaryArch(vector<string> &List)
+{
+   char S[300];
+   snprintf(S, sizeof(S), "/binary-%s/",
+            _config->Find("Apt::Architecture").c_str());
+
+   for (unsigned int I = 0; I < List.size(); I++) {
+      const char *Str = List[I].c_str();
+
+      const char *Res;
+      if ((Res = strstr(Str, "/binary-")) == 0)
+         continue;
+
+      // Weird, remove it.
+      if (strlen(Res) < strlen(S)) {
+         List.erase(List.begin() + I);
+         I--;
+         continue;
+      }
+      // See if it is our arch
+      if (stringcmp(Res, Res + strlen(S), S) == 0)
+         continue;
+
+      // Erase it
+      List.erase(List.begin() + I);
+      I--;
+   }
+
+   return true;
+}
+
+                                                                        /*}}} */
+// Score - We compute a 'score' for a path                              /*{{{*/
+// ---------------------------------------------------------------------
+/* Paths are scored based on how close they come to what I consider
+   normal. That is ones that have 'dist' 'stable' 'frozen' will score
+   higher than ones without. */
+int Score(string Path)
+{
+   int Res = 0;
+#ifdef HAVE_RPM
+   if (Path.find("base/") != string::npos)
+      Res = 1;
+#else
+   if (Path.find("stable/") != string::npos)
+      Res += 29;
+   if (Path.find("/binary-") != string::npos)
+      Res += 20;
+   if (Path.find("frozen/") != string::npos)
+      Res += 28;
+   if (Path.find("unstable/") != string::npos)
+      Res += 27;
+   if (Path.find("/dists/") != string::npos)
+      Res += 40;
+   if (Path.find("/main/") != string::npos)
+      Res += 20;
+   if (Path.find("/contrib/") != string::npos)
+      Res += 20;
+   if (Path.find("/non-free/") != string::npos)
+      Res += 20;
+   if (Path.find("/non-US/") != string::npos)
+      Res += 20;
+   if (Path.find("/source/") != string::npos)
+      Res += 10;
+   if (Path.find("/debian/") != string::npos)
+      Res -= 10;
+#endif
+   return Res;
+}
+
+                                                                        /*}}} */
+// DropRepeats - Drop repeated files resulting from symlinks            /*{{{*/
+// ---------------------------------------------------------------------
+/* Here we go and stat every file that we found and strip dup inodes. */
+bool DropRepeats(vector<string> &List, const char *Name)
+{
+   // Get a list of all the inodes
+   ino_t *Inodes = new ino_t[List.size()];
+   for (unsigned int I = 0; I != List.size(); I++) {
+      struct stat Buf;
+      if (stat((List[I]).c_str(), &Buf) != 0 &&
+          stat((List[I] + Name).c_str(), &Buf) != 0 &&
+          stat((List[I] + Name + ".gz").c_str(), &Buf) != 0)
+         _error->Errno("stat", _("Failed to stat %s%s"), List[I].c_str(),
+                       Name);
+      Inodes[I] = Buf.st_ino;
+   }
+
+   if (_error->PendingError() == true)
+      return false;
+
+   // Look for dups
+   for (unsigned int I = 0; I != List.size(); I++) {
+      for (unsigned int J = I + 1; J < List.size(); J++) {
+         // No match
+         if (Inodes[J] != Inodes[I])
+            continue;
+
+         // We score the two paths.. and erase one
+         int ScoreA = Score(List[I]);
+         int ScoreB = Score(List[J]);
+         if (ScoreA < ScoreB) {
+            List[I] = string();
+            break;
+         }
+
+         List[J] = string();
+      }
+   }
+
+   // Wipe erased entries
+   for (unsigned int I = 0; I < List.size();) {
+      if (List[I].empty() == false)
+         I++;
+      else
+         List.erase(List.begin() + I);
+   }
+
+   return true;
+}
+
+void RCDScanner::cleanPkgList(vector<string> &list)
+{
+#ifdef HAVE_RPM
+   DropRepeats(list, "pkglist");
+#else
+   DropBinaryArch(list);
+   DropRepeats(list, "Packages");
+#endif
+}
+
+void RCDScanner::cleanSrcList(vector<string> &list)
+{
+#ifdef HAVE_RPM
+   DropRepeats(list, "srclist");
+#else
+   DropRepeats(list, "Sources");
+#endif
+}
+
+string RCDScanner::pkgSourceType() const
+{
+#ifdef HAVE_RPM
+   return "rpm";
+#else
+   return "deb";
+#endif
+}
+
+string RCDScanner::srcSourceType() const
+{
+#ifdef HAVE_RPM
+   return "rpm-src";
+#else
+   return "deb-src";
+#endif
+}
+
+#if 0
+static int strrcmp_(const char *a, const char *b)
+{
+   int la = strlen(a);
+   int lb = strlen(b);
+
+   if (la == 0 || lb == 0)
+      return 0;
+
+   if (la > lb)
+      return strcmp(&a[la - lb], b);
+   else
+      return strcmp(&b[lb - la], a);
+}
+#endif
+
+bool RCDScanner::scanDirectory(string CD, RCDScanProgress *progress,
+                               int Depth)
+{
+   static ino_t Inodes[9];
+   if (Depth >= 7)
+      return true;
+
+   if (CD[CD.length() - 1] != '/')
+      CD += '/';
+
+   if (chdir(CD.c_str()) != 0)
+      return _error->Errno("chdir", _("Unable to change to %s"), CD.c_str());
+
+   // Look for a .disk subdirectory
+   struct stat Buf;
+   if (stat(".disk", &Buf) == 0) {
+      if (_infoDir.empty() == true)
+         _infoDir = CD + ".disk/";
+   }
+   // Don't look into directories that have been marked to ingore.
+   if (stat(".aptignr", &Buf) == 0)
+      return true;
+
+#ifdef HAVE_RPM
+   bool Found = false;
+   if (stat("release", &Buf) == 0)
+      Found = true;
+#else
+   /* Aha! We found some package files. We assume that everything under 
+      this dir is controlled by those package files so we don't look down
+      anymore */
+   if (stat("Packages", &Buf) == 0 || stat("Packages.gz", &Buf) == 0) {
+      _pkgList.push_back(CD);
+
+      // Continue down if thorough is given
+      if (_config->FindB("APT::CDROM::Thorough", false) == false)
+         return true;
+   }
+   if (stat("Sources.gz", &Buf) == 0 || stat("Sources", &Buf) == 0) {
+      _srcList.push_back(CD);
+
+      // Continue down if thorough is given
+      if (_config->FindB("APT::CDROM::Thorough", false) == false)
+         return true;
+   }
+#endif
+
+   DIR *D = opendir(".");
+   if (D == 0)
+      return _error->Errno("opendir", _("Unable to read %s"), CD.c_str());
+
+   // Run over the directory
+   for (struct dirent * Dir = readdir(D); Dir != 0; Dir = readdir(D)) {
+      // Skip some files..
+      if (strcmp(Dir->d_name, ".") == 0 || strcmp(Dir->d_name, "..") == 0 ||
+          //strcmp(Dir->d_name,"source") == 0 ||
+          strcmp(Dir->d_name, ".disk") == 0 ||
+#ifdef HAVE_RPM
+          strncmp(Dir->d_name, "RPMS", 4) == 0 ||
+          strncmp(Dir->d_name, "doc", 3) == 0)
+#else
+          strcmp(Dir->d_name, "experimental") == 0 ||
+          strcmp(Dir->d_name, "binary-all") == 0)
+#endif
+         continue;
+
+#ifdef HAVE_RPM
+      if (strncmp(Dir->d_name, "pkglist.", 8) == 0 &&
+          strcmp(Dir->d_name + strlen(Dir->d_name) - 4, ".bz2") == 0) {
+         _pkgList.push_back(CD + string(Dir->d_name));
+         Found = true;
+         continue;
+      }
+      if (strncmp(Dir->d_name, "srclist.", 8) == 0 &&
+          strcmp(Dir->d_name + strlen(Dir->d_name) - 4, ".bz2") == 0) {
+         _srcList.push_back(CD + string(Dir->d_name));
+         Found = true;
+         continue;
+      }
+      if (_config->FindB("APT::CDROM::Thorough", false) == false &&
+          Found == true)
+         continue;
+#endif
+
+      // See if the name is a sub directory
+      struct stat Buf;
+      if (stat(Dir->d_name, &Buf) != 0)
+         continue;
+
+      if (S_ISDIR(Buf.st_mode) == 0)
+         continue;
+
+      int I;
+      for (I = 0; I != Depth; I++)
+         if (Inodes[I] == Buf.st_ino)
+            break;
+      if (I != Depth)
+         continue;
+
+      // Store the inodes weve seen
+      Inodes[Depth] = Buf.st_ino;
+
+      // Descend
+      if (scanDirectory(CD + Dir->d_name, progress, Depth + 1) == false)
+         break;
+
+      if (chdir(CD.c_str()) != 0)
+         return _error->Errno("chdir", _("Unable to change to %s"),
+                              CD.c_str());
+   }
+
+   closedir(D);
+
+   return !_error->PendingError();
+}
+
+#endif
+// vim:sts=4:sw=4

=== added file 'common/rcdscanner.h'
--- common/rcdscanner.h	1970-01-01 00:00:00 +0000
+++ common/rcdscanner.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,114 @@
+/* rcdscanner.h
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef _RCDSCANNER_H_
+#define _RCDSCANNER_H_
+
+#include<config.h>
+#ifndef HAVE_APTPKG_CDROM
+
+#include <vector>
+#include <string>
+
+#include "rpackagelister.h"
+
+using namespace std;
+
+class Configuration;
+
+
+class RCDScanProgress {
+
+ protected:
+   int _total;
+
+ public:
+   void setTotal(int total) {
+      _total = total;
+   };
+
+   virtual void update(string text, int current) = 0;
+};
+
+class RCDScanner {
+
+   Configuration *_database;
+
+   RUserDialog *_userDialog;
+
+ protected:
+
+   enum {
+      STEP_PREPARE = 1,
+      STEP_UNMOUNT,
+      STEP_WAIT,
+      STEP_MOUNT,
+      STEP_IDENT,
+      STEP_SCAN,
+      STEP_CLEAN,
+      STEP_UNMOUNT2,
+      STEP_REGISTER,
+      STEP_COPY,
+      STEP_WRITE,
+      STEP_UNMOUNT3,
+      STEP_LAST
+   };
+
+   vector<string> _pkgList;
+   vector<string> _srcList;
+   string _infoDir;
+
+   string _cdId;
+   string _cdName;
+   string _cdOldName;
+
+   bool _cdromMounted;
+   bool _scannedOk;
+
+   string pkgSourceType() const;
+   string srcSourceType() const;
+   bool scanDirectory(string path, RCDScanProgress *progress, int depth = 0);
+
+   void cleanPkgList(vector<string> &list);
+   void cleanSrcList(vector<string> &list);
+
+   bool writeDatabase();
+   bool writeSourceList(vector<string> &list, bool pkg);
+
+ public:
+   bool start(RCDScanProgress *progress);
+   bool finish(RCDScanProgress *progress);
+   void unmount();
+
+   string getDiscName();
+   bool setDiscName(string name);
+
+   void countLists(int &pkgLists, int &srcLists);
+
+   RCDScanner(RUserDialog *userDialog)
+ :   _database(0), _userDialog(userDialog), _cdromMounted(0), _scannedOk(0) {
+   };
+};
+
+#endif
+#endif

=== added file 'common/rconfiguration.cc'
--- common/rconfiguration.cc	1970-01-01 00:00:00 +0000
+++ common/rconfiguration.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,310 @@
+/* rconfiguration.cc
+ *
+ * Copyright (c) 2000-2003 Conectiva S/A
+ *               2002 Michael Vogt <mvo@debian.org>
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include "config.h"
+
+#include <pwd.h>
+#include <sys/types.h>
+
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <apt-pkg/init.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/configuration.h>
+
+#include "rconfiguration.h"
+
+#include "i18n.h"
+
+static string ConfigFilePath;
+static string ConfigFileDir;
+
+
+// #ifndef HAVE_RPM
+// bool _ReadConfigFile(Configuration &Conf,string FName,bool AsSectional = false,
+//                  unsigned Depth = 0);
+// #endif
+
+static void dumpToFile(const Configuration::Item *Top, ostream &out,
+                       string pad)
+{
+   while (Top) {
+      out << pad << Top->Tag << " \"" << Top->Value << "\"";
+
+      if (Top->Child) {
+         out << " {" << endl;
+         dumpToFile(Top->Child, out, pad + "  ");
+         out << pad << "};" << endl;
+
+         if (Top->Next)
+            out << endl;
+      } else {
+         out << ";" << endl;
+      }
+
+      if (pad.empty())
+         break;                 // dump only synaptic section
+
+      Top = Top->Next;
+   }
+}
+
+
+
+bool RWriteConfigFile(Configuration &Conf)
+{
+   const Configuration::Item *Synaptic;
+
+   // when running non-interactivly don't save any config (there should be no 
+   // need)
+   if(_config->FindB("Volatile::Non-Interactive", false) == true) 
+      return true;
+
+   // store option 'consider recommended packages as dependencies'
+   // to config of apt if we run as root
+   if (getuid() == 0) {
+      // FIXME: use findDir
+      string aptConfPath = _config->Find("Dir", "/")
+                         + _config->Find("Dir::Etc", "etc/apt/")
+                         + _config->Find("Dir::Etc:parts", "apt.conf.d")
+                         + "/99synaptic";
+      ofstream aptfile(aptConfPath.c_str(), ios::out);
+      if (!aptfile != 0) {
+         cerr << "cannot open " << aptConfPath.c_str() <<
+                 " to write APT::Install-Recommends" << endl;
+      } else {
+         if (_config->FindB("APT::Install-Recommends", false))
+            aptfile << "APT::Install-Recommends \"true\";" << endl;
+         else
+            aptfile << "APT::Install-Recommends \"false\";" << endl;
+         aptfile.close();
+      }
+   }
+   // and backup Install-Recommends to config of synaptic
+   _config->Set("Synaptic::Install-Recommends",
+                _config->FindB("APT::Install-Recommends",
+                _config->FindB("Synaptic::Install-Recommends",
+                false)));
+
+   ofstream cfile(ConfigFilePath.c_str(), ios::out);
+   if (!cfile != 0)
+      return _error->Errno("ofstream",
+                           _("ERROR: couldn't open %s for writing"),
+                           ConfigFilePath.c_str());
+
+   Synaptic = Conf.Tree(0);
+   while (Synaptic) {
+      if (Synaptic->Tag == "Synaptic")
+         break;
+      Synaptic = Synaptic->Next;
+   }
+   dumpToFile(Synaptic, cfile, "");
+
+   cfile.close();
+
+   return true;
+}
+
+
+static bool checkConfigDir(string &path)
+{
+   struct stat stbuf;
+   struct passwd *pwd;
+
+   pwd = getpwuid(getuid());
+   if (!pwd) {
+      return _error->Errno("getpwuid",
+                           _
+                           ("ERROR: Could not get password entry for superuser"));
+   }
+   path = string(pwd->pw_dir) + "/.synaptic";
+   //path = "/etc/synaptic";
+
+   if (stat(path.c_str(), &stbuf) < 0) {
+      if (mkdir(path.c_str(), 0700) < 0) {
+         return _error->Errno("mkdir",
+                              _
+                              ("ERROR: could not create configuration directory %s"),
+                              path.c_str());
+      }
+   }
+   return true;
+}
+
+
+string RConfDir()
+{
+   static string confDir;
+   if (!checkConfigDir(confDir))
+      cerr << "checkConfigDir() failed! please report to mvo@debian.org" <<
+         endl;
+   return confDir;
+}
+
+string RStateDir()
+{
+   struct stat stbuf;
+   static string stateDir = string(SYNAPTICSTATEDIR);
+   if (stat(stateDir.c_str(), &stbuf) < 0) {
+      if (mkdir(stateDir.c_str(), 0755) < 0) {
+	 _error->Errno("mkdir",
+		       _("ERROR: could not create state directory %s"),
+		       stateDir.c_str());
+	 return "";
+      }
+   }
+
+   return stateDir;
+}
+
+// we use the ConfDir for now to store very small tmpfiles
+string RTmpDir()
+{
+   struct stat stbuf;
+   static string tmpDir = RConfDir() + string("/tmp/");
+   if (stat(tmpDir.c_str(), &stbuf) < 0) {
+      if (mkdir(tmpDir.c_str(), 0700) < 0) {
+	 _error->Errno("mkdir",
+		       _("ERROR: could not create tmp directory %s"),
+		       tmpDir.c_str());
+	 return "";
+      }
+   }
+
+   return tmpDir;
+}
+
+
+string RLogDir()
+{
+   struct stat stbuf;
+   static string logDir = RConfDir() + string("/log/");
+
+   if (stat(logDir.c_str(), &stbuf) < 0) {
+      if (mkdir(logDir.c_str(), 0700) < 0) {
+	 _error->Errno("mkdir",
+		       _("ERROR: could not create log directory %s"),
+		       logDir.c_str());
+	 return "";
+      }
+   }
+
+   return logDir;
+}
+
+
+bool RInitConfiguration(string confFileName)
+{
+   string configDir;
+
+   if (!pkgInitConfig(*_config))
+      return false;
+
+   _config->Set("Program", "synaptic");
+
+   if (!pkgInitSystem(*_config, _system))
+      return false;
+
+   if (!checkConfigDir(configDir))
+      return false;
+
+   ConfigFilePath = configDir + "/" + confFileName;
+   ConfigFileDir = configDir;
+
+   if (!ReadConfigFile(*_config, ConfigFilePath)) {
+      _error->Discard();
+   }
+
+   // read Install-Recommends, preferably from APT:: if we run as root
+   // or from Synaptic:: otherwise
+   if(getuid() == 0) {
+      _config->Set("APT::Install-Recommends",
+                   _config->FindB("APT::Install-Recommends",
+                   _config->FindB("Synaptic::Install-Recommends",
+                   false)));
+   } else {
+      _config->Set("APT::Install-Recommends",
+                   _config->FindB("Synaptic::Install-Recommends",
+                   _config->FindB("APT::Install-Recommends",
+                   false)));
+   }
+
+   return true;
+}
+
+
+bool RReadFilterData(Configuration &config)
+{
+   string defaultPath = ConfigFileDir + "/filters";
+   string path = _config->Find("Volatile::filterFile", defaultPath.c_str());
+
+   if (!FileExists(path)) {
+      return false;
+   }
+
+   if (!ReadConfigFile(config, path, true)) {
+      _error->DumpErrors();
+      _error->Discard();
+      return false;
+   }
+   return true;
+}
+
+bool RPackageOptionsFile(ofstream &out)
+{
+   string path = ConfigFileDir + "/options";
+   out.open(path.c_str());
+   if (!out != 0)
+      return _error->Errno("ofstream",
+                           _("ERROR: couldn't open %s for writing"),
+                           path.c_str());
+   return true;
+}
+
+bool RPackageOptionsFile(ifstream &in)
+{
+   string path = ConfigFileDir + "/options";
+   in.open(path.c_str());
+   if (!in != 0)
+      return false;
+//      return _error->Errno("ifstream", _("ERROR: couldn't open %s for reading"),
+//                           path.c_str());
+   return true;
+}
+
+
+bool RFilterDataOutFile(ofstream &out)
+{
+   string defaultPath = ConfigFileDir + "/filters";
+   string path = _config->Find("Volatile::filterFile", defaultPath.c_str());
+
+   out.open(path.c_str(), ios::out);
+
+   if (!out != 0)
+      return _error->Errno("ofstream", _("couldn't open %s for writing"),
+                           path.c_str());
+
+   return true;
+}

=== added file 'common/rconfiguration.h'
--- common/rconfiguration.h	1970-01-01 00:00:00 +0000
+++ common/rconfiguration.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,61 @@
+/* rconfiguration.h
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *               2002 Michael Vogt <mvo@debian.org>
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef _RCONFIGURATION_H_
+#define _RCONFIGURATION_H_
+
+#include <string>
+#include <fstream>
+
+using namespace std;
+
+class Configuration;
+
+bool RWriteConfigFile(Configuration &Conf);
+
+bool RInitConfiguration(string confFileName);
+
+bool RReadFilterData(Configuration &config);
+bool RFilterDataOutFile(ofstream &out);
+
+bool RPackageOptionsFile(ofstream &out);
+bool RPackageOptionsFile(ifstream &in);
+
+
+// get the default conf dir
+string RConfDir();
+
+// this needs to be a safe tmp dir (like /root/.synaptic/tmp) to store
+// small files like changelogs or pinfiles (preferences)
+string RTmpDir();
+
+// state dir - we store the locked packages (preferences file) here
+//             possible other stuff in the future
+string RStateDir();
+
+// we store the commit history here
+string RLogDir();
+
+#endif

=== added file 'common/rdependency.h'
--- common/rdependency.h	1970-01-01 00:00:00 +0000
+++ common/rdependency.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,44 @@
+/* rdependency.h
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef _RDEPENDENCY_H_
+#define _RDEPENDENCY_H_
+
+#include <apt-pkg/pkgcache.h>
+
+
+class pkgCache;
+struct pkgCache::Dependency;
+
+
+class RDependency {
+ private:
+   pkgCache::DepIterator *_dep;
+
+ public:
+   const char *type();
+
+   bool isWeak();
+};
+
+
+#endif

=== added file 'common/rinstallprogress.cc'
--- common/rinstallprogress.cc	1970-01-01 00:00:00 +0000
+++ common/rinstallprogress.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,147 @@
+/* rinstallprogress.cc
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *                     2002 Michael Vogt
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include "config.h"
+
+#include <unistd.h>
+#include <sys/fcntl.h>
+#include <sys/types.h>
+#include <sys/wait.h>
+#include <iostream>
+#include <cstdio>
+#include <apt-pkg/error.h>
+#ifdef HAVE_RPM
+#include <apt-pkg/configuration.h>
+#endif
+
+#include "rinstallprogress.h"
+
+#include "i18n.h"
+string RInstallProgress::finishMsg = _("\nSuccessfully applied all changes. You can close the window now.");
+string RInstallProgress::errorMsg = _("\nNot all changes and updates succeeded. For further details of the failure, please expand the 'Details' panel below.");
+string RInstallProgress::incompleteMsg = 
+      _("\nSuccessfully installed all packages of the current medium. "
+	"To continue the installation with the next medium close "
+	"this window.");
+
+const char* RInstallProgress::getResultStr(pkgPackageManager::OrderResult res)
+{
+   int size;
+   switch( res ) {
+   case 0: // completed
+      return finishMsg.c_str();
+      break;
+   case 1: // failed 
+      return errorMsg.c_str();
+      break;
+   case 2: // incomplete
+      return incompleteMsg.c_str();
+      break;
+   }
+
+   return "Unknown install result.";
+}
+
+
+pkgPackageManager::OrderResult RInstallProgress::start(pkgPackageManager *pm,
+                                                       int numPackages,
+                                                       int numPackagesTotal)
+{
+   void *dummy;
+   pkgPackageManager::OrderResult res;
+   int ret;
+   pid_t _child_id;
+
+   //cout << "RInstallProgress::start()" << endl;
+
+#ifdef HAVE_RPM
+
+   _config->Set("RPM::Interactive", "false");
+
+   res = pm->DoInstallPreFork();
+   if (res == pkgPackageManager::Failed)
+       return res;
+
+   /*
+    * This will make a pipe from where we can read child's output
+    */
+   int fd[2];
+   pipe(fd);
+
+   _child_id = fork();
+
+   if (_child_id == 0) {
+      // make the write end of the pipe to the child become the new stdout 
+      // and stderr (for the child)
+      dup2(fd[1], 1);
+      dup2(1, 2);
+      close(fd[0]);
+      close(fd[1]);
+
+      res = pm->DoInstallPostFork();
+      // dump errors into cerr (pass it to the parent process)	
+      _error->DumpErrors();
+      _exit(res);
+   }
+   // this is where we read stuff from the child
+   _childin = fd[0];
+   close(fd[1]);
+
+   // make it nonblocking
+   fcntl(_childin, F_SETFL, O_NONBLOCK);
+
+   _donePackages = 0;
+   _numPackages = numPackages;
+   _numPackagesTotal = numPackagesTotal;
+
+#else
+
+   res = pm->DoInstallPreFork();
+   if (res == pkgPackageManager::Failed)
+       return res;
+
+   _child_id = fork();
+
+   if (_child_id == 0) {
+      res = pm->DoInstallPostFork();
+      _exit(res);
+   }
+#endif
+
+   startUpdate();
+   while (waitpid(_child_id, &ret, WNOHANG) == 0)
+      updateInterface();
+
+   res = (pkgPackageManager::OrderResult) WEXITSTATUS(ret);
+
+   finishUpdate();
+
+#ifdef HAVE_RPM
+   close(_childin);
+#endif
+
+   return res;
+}
+
+// vim:sts=4:sw=4

=== added file 'common/rinstallprogress.h'
--- common/rinstallprogress.h	1970-01-01 00:00:00 +0000
+++ common/rinstallprogress.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,69 @@
+/* rinstallprogress.h
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *                     2002 Michael Vogt
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef _RINSTALLPROGRESS_H_
+#define _RINSTALLPROGRESS_H_
+
+#include <apt-pkg/packagemanager.h>
+#include "config.h"
+
+class RInstallProgress {
+ protected:
+   int _stdout;
+   int _stderr;
+   int _childin;
+
+   int _donePackages;
+   int _numPackages;
+   int _donePackagesTotal;
+   int _numPackagesTotal;
+
+   // update is finished, we can close the window
+   bool _updateFinished;
+
+   static string finishMsg;
+   static string errorMsg;
+   static string incompleteMsg; 
+
+   virtual void startUpdate() {
+   };
+   virtual void updateInterface() {
+   };
+   virtual void finishUpdate() {
+   };
+
+ public:
+   // get a str feed to the user with the result of the install run
+   virtual const char* getResultStr(pkgPackageManager::OrderResult);
+   virtual pkgPackageManager::OrderResult start(pkgPackageManager *pm,
+                                                int numPackages = 0,
+                                                int numPackagesTotal = 0);
+
+
+   RInstallProgress():_donePackagesTotal(0), _numPackagesTotal(0),_updateFinished(false) {};
+};
+
+
+#endif

=== added file 'common/rpackage.cc'
--- common/rpackage.cc	1970-01-01 00:00:00 +0000
+++ common/rpackage.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,1490 @@
+/* rpackage.cc - wrapper for accessing package information
+ * 
+ * Copyright (c) 2000-2003 Conectiva S/A 
+ *               2002 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ * 
+ * Portions Taken from Gnome APT
+ *   Copyright (C) 1998 Havoc Pennington <hp@pobox.com>
+ * 
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#include "config.h"
+
+#include "rpackage.h"
+#include "rpackagelister.h"
+#include "pkg_acqfile.h"
+
+#include "i18n.h"
+
+#include <map>
+#include <algorithm>
+#include <fstream>
+#include <cstdio>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <assert.h>
+#include <sstream>
+
+
+
+#include <apt-pkg/pkgrecords.h>
+#include <apt-pkg/depcache.h>
+#include <apt-pkg/srcrecords.h>
+#include <apt-pkg/algorithms.h>
+#include <apt-pkg/error.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/tagfile.h>
+#include <apt-pkg/policy.h>
+#include <apt-pkg/sptr.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/cacheiterators.h>
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/versionmatch.h>
+#include <apt-pkg/version.h>
+#include <apt-pkg/policy.h>
+
+#ifdef WITH_LUA
+#include <apt-pkg/luaiface.h>
+#endif
+
+#include "raptoptions.h"
+
+static int descrBufferSize = 4096;
+static char *descrBuffer = new char[descrBufferSize];
+
+static char *parseDescription(string descr);
+
+
+RPackage::RPackage(RPackageLister *lister, pkgDepCache *depcache,
+                   pkgRecords *records, pkgCache::PkgIterator &pkg)
+: _lister(lister), _records(records), _depcache(depcache),
+  _notify(true), _boolFlags(0)
+{
+   _package = new pkgCache::PkgIterator(pkg);
+
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandVersion != NULL)
+      _defaultCandVer = State.CandVersion;
+}
+
+
+RPackage::~RPackage()
+{
+   delete _package;
+}
+
+#if 0
+void RPackage::addVirtualPackage(pkgCache::PkgIterator dep)
+{
+   _virtualPackages.push_back(dep);
+   _provides.push_back(dep.Name());
+}
+#endif
+
+const char *RPackage::section()
+{
+   const char *s = _package->Section();
+   if (s != NULL)
+      return s;
+   else
+      return _("Unknown");
+}
+
+const char *RPackage::srcPackage()
+{
+   static string _srcPkg;
+
+   pkgCache::VerIterator ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   pkgRecords::Parser &rec=_records->Lookup(ver.FileList());
+   _srcPkg = rec.SourcePkg().empty()?name():rec.SourcePkg();
+ 
+   return _srcPkg.c_str();
+}
+
+
+const char *RPackage::summary()
+{
+   static string _summary;
+
+   pkgCache::VerIterator ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if (!ver.end()) {
+      pkgCache::DescIterator Desc = ver.TranslatedDescription();
+      pkgRecords::Parser & parser = _records->Lookup(Desc.FileList());
+      _summary = parser.ShortDesc();
+      return _summary.c_str();
+   }
+   return "";
+}
+
+
+const char *RPackage::maintainer()
+{
+   static string _maintainer;
+   pkgCache::VerIterator ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if (!ver.end()) {
+      pkgRecords::Parser & parser = _records->Lookup(ver.FileList());
+      _maintainer = parser.Maintainer();
+      return _maintainer.c_str();
+   }
+   return "";
+}
+
+
+const char *RPackage::vendor()
+{
+   return "dunno";
+}
+
+const char *RPackage::installedVersion()
+{
+   if ((*_package)->CurrentVer == 0)
+      return NULL;
+   return _package->CurrentVer().VerStr();
+}
+
+const char *RPackage::availableVersion()
+{
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0)
+      return NULL;
+   return State.CandidateVerIter(*_depcache).VerStr();
+}
+
+const char *RPackage::priority()
+{
+   pkgCache::VerIterator ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if (ver != 0)
+      return ver.PriorityType();
+   else
+      return NULL;
+}
+
+#ifndef HAVE_RPM
+const char *RPackage::installedFiles()
+{
+   static string filelist;
+   vector<string> sV;
+   string s;
+
+   filelist.erase(filelist.begin(), filelist.end());
+
+   string f = "/var/lib/dpkg/info/" + string(name()) + ".list";
+   if (FileExists(f)) {
+      ifstream in(f.c_str());
+      if (!in != 0)
+         return "";
+      while (in.eof() == false) {
+         getline(in, s);
+         sV.push_back( s );
+      }
+      sort(sV.begin(), sV.end());
+      for (unsigned int i = 1; i < sV.size(); i++)
+         filelist += sV[i] + "\n";
+
+      return filelist.c_str();
+   }
+   filelist = _("The list of installed files is only available for installed packages");
+
+   return filelist.c_str();
+}
+#else
+const char *RPackage::installedFiles()
+{
+   return "";
+}
+#endif
+
+
+const char *RPackage::description()
+{
+   static string _description;
+   pkgCache::VerIterator ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+
+   if (!ver.end()) {
+      pkgCache::DescIterator Desc = ver.TranslatedDescription();
+      pkgRecords::Parser & parser = _records->Lookup(Desc.FileList());
+      _description = parseDescription(parser.LongDesc());
+      return _description.c_str();
+   } else {
+      return "";
+   }
+}
+
+string RPackage::getRawRecord(bool useCandidateVersion)
+{
+   pkgCache::VerIterator ver;
+   if(!useCandidateVersion)
+      ver = (*_depcache)[*_package].InstVerIter(*_depcache);
+   if(useCandidateVersion || ver.end())
+      ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if(ver.end() == false) {
+      const char *start, *stop;
+      unsigned long len;
+      pkgRecords::Parser &rec=_records->Lookup(ver.FileList());
+      rec.GetRec(start, stop);
+      len = stop-start;
+      return string(start, len);
+   }
+   return string();
+}
+
+string RPackage::findTagFromPkgRecord(const char *tag)
+{
+   pkgCache::VerIterator ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+
+   if (!ver.end()) {
+      const char *start, *stop;
+      pkgTagSection sec;
+      unsigned long len;
+
+      pkgRecords::Parser &rec=_records->Lookup(ver.FileList());
+      rec.GetRec(start, stop);
+      len = stop-start;
+      // add +1 to ensure we have the double lineline in the buffer
+      if (start && sec.Scan(start, len+1))
+	 return sec.FindS(tag);
+   } 
+
+   return string();
+}
+
+
+long RPackage::installedSize()
+{
+   pkgCache::VerIterator ver = _package->CurrentVer();
+
+   if (!ver.end())
+      return ver->InstalledSize;
+   else
+      return -1;
+}
+
+long RPackage::availableInstalledSize()
+{
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0)
+      return -1;
+   return State.CandidateVerIter(*_depcache)->InstalledSize;
+}
+
+long RPackage::availablePackageSize()
+{
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0)
+      return -1;
+   return State.CandidateVerIter(*_depcache)->Size;
+}
+
+int RPackage::getFlags()
+{
+   int flags = 0;
+
+   pkgDepCache::StateCache &state = (*_depcache)[*_package];
+   pkgCache::VerIterator ver = _package->CurrentVer();
+
+   if (state.Install())
+      flags |= FInstall;
+
+   if (state.iFlags & pkgDepCache::ReInstall) {
+      flags |= FReInstall;
+   } else if (state.NewInstall()) { // Order matters here.
+      flags |= FNewInstall;
+   } else if (state.Upgrade()) {
+      flags |= FUpgrade;
+   } else if (state.Downgrade()) {
+      flags |= FDowngrade;
+   } else if (state.Delete()) {
+      flags |= FRemove;
+      if (state.iFlags & pkgDepCache::Purge)
+         flags |= FPurge;
+   } else if (state.Keep()) {
+      flags |= FKeep;
+   }
+
+   if (!ver.end()) {
+      flags |= FInstalled;
+
+      if (state.Upgradable() && state.CandidateVer != NULL) {
+         flags |= FOutdated;
+         if (state.Keep())
+            flags |= FHeld;
+      }
+
+      if (state.Downgrade())
+         flags |= FDowngrade;
+   }
+
+   if (state.NowBroken())
+      flags |= FNowBroken;
+
+   if (state.InstBroken())
+      flags |= FInstBroken;
+
+   if ((*_package)->Flags & (pkgCache::Flag::Important |
+                             pkgCache::Flag::Essential))
+      flags |= FImportant;
+
+   if ((*_package)->CurrentState == pkgCache::State::ConfigFiles)
+      flags |= FResidualConfig;
+
+   if (state.CandidateVer == 0 ||
+       !state.CandidateVerIter(*_depcache).Downloadable())
+      flags |= FNotInstallable;
+
+   if (state.Flags & pkgCache::Flag::Auto)
+      flags |= FIsAuto;
+
+   if (state.Garbage)
+      flags |= FIsGarbage;
+
+   if (state.NowPolicyBroken())
+      flags |= FNowPolicyBroken;
+
+   if (state.InstPolicyBroken())
+      flags |= FInstPolicyBroken;
+
+   return flags | _boolFlags;
+}
+
+const char* RPackage::name()
+{ 
+   const char *s = _package->Name(); 
+   if (s == NULL)
+      return "";
+   return s;
+};
+
+#if 0
+bool RPackage::isWeakDep(pkgCache::DepIterator &dep)
+{
+   if (dep->Type != pkgCache::Dep::Suggests
+       && dep->Type != pkgCache::Dep::Recommends)
+      return false;
+   else
+      return true;
+}
+
+
+bool RPackage::enumWDeps(const char *&type, const char *&what,
+                         bool &satisfied)
+{
+   pkgCache::VerIterator ver;
+   pkgDepCache::StateCache & state = (*_depcache)[*_package];
+
+
+   if (state.Keep() || state.Held()) {
+      ver = (*_depcache)[*_package].InstVerIter(*_depcache);
+
+      if (ver.end())
+         ver = _package->VersionList();
+   } else {
+      ver = _package->VersionList();
+   }
+   if (ver.end())
+      return false;
+
+   _wdepI = ver.DependsList();
+   // uninitialized but doesn't matter, they just have to be equal
+   _wdepStart = _wdepEnd;
+
+   return nextWDeps(type, what, satisfied);
+}
+
+
+bool RPackage::nextWDeps(const char *&type, const char *&what,
+                         bool &satisfied)
+{
+   static char buffer[32];
+
+   while (1) {
+      if (_wdepStart == _wdepEnd) {
+         if (_wdepI.end())
+            return false;
+
+         _wdepI.GlobOr(_wdepStart, _wdepEnd);
+
+         snprintf(buffer, sizeof(buffer), "%s", _wdepEnd.DepType());
+      } else {
+         _wdepStart++;
+
+         snprintf(buffer, sizeof(buffer), "| %s", _wdepEnd.DepType());
+      }
+
+      satisfied = false;
+      if (!isWeakDep(_wdepEnd))
+         continue;
+
+      if (((*_depcache)[_wdepStart] & pkgDepCache::DepGInstall) ==
+          pkgDepCache::DepGInstall)
+         satisfied = true;
+
+      type = buffer;
+
+      pkgCache::PkgIterator depPkg = _wdepStart.TargetPkg();
+      what = depPkg.Name();
+
+      break;
+   }
+   return true;
+}
+#endif
+
+vector<DepInformation> RPackage::enumRDeps()
+{
+   vector<DepInformation> deps;
+   DepInformation dep;
+   pkgCache::VerIterator Cur;
+
+   for(pkgCache::DepIterator D = _package->RevDependsList(); D.end() != true; D++) {
+      // clear old values
+      dep.isOr=dep.isVirtual=false;
+      dep.name=dep.version=dep.versionComp=NULL;
+
+      // check target and or-depends status
+      pkgCache::PkgIterator Trg = D.TargetPkg();
+      if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or) {
+	 dep.version = _("or dependency");
+	 dep.versionComp = "";
+      }
+
+      // HACK: we (ab)use the DepType for the dependency type,
+      //       but add our own RDepends type that is always the
+      //       last element of DepTypeStr[] 
+      // FIXME: make this less hacky
+      int nr_elements = sizeof(DepTypeStr)/sizeof(char*);
+      dep.type = (pkgCache::Dep::DepType)(nr_elements-1);
+      dep.name = D.ParentPkg().Name();
+
+      if(Trg->VersionList == 0)
+	 dep.isVirtual=true;
+
+      deps.push_back(dep);
+   }
+   return deps;
+}
+
+#if 0
+bool RPackage::enumRDeps(const char *&dep, const char *&what)
+{
+   _rdepI = _package->RevDependsList();
+
+   _vpackI = 0;
+
+   return nextRDeps(dep, what);
+}
+
+
+bool RPackage::nextRDeps(const char *&dep, const char *&what)
+{
+   while (_rdepI.end()) {
+      if ((unsigned)_vpackI == _virtualPackages.size())
+         return false;
+
+      _rdepI = _virtualPackages[_vpackI].RevDependsList();
+      _vpackI++;
+   }
+   what = _rdepI.TargetPkg().Name();
+   dep = _rdepI.ParentPkg().Name();
+
+   _rdepI++;
+
+   return true;
+}
+#endif
+
+#if 0
+bool RPackage::enumAvailDeps(const char *&type, const char *&what,
+                             const char *&pkg, const char *&which,
+                             char *&summary, bool &satisfied)
+{
+   pkgCache::VerIterator ver;
+   //   pkgDepCache::StateCache & state = (*_depcache)[*_package];
+
+   //ver = _package->VersionList();
+   ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+
+   if (ver.end())
+      return false;
+
+   _depI = ver.DependsList();
+   // uninitialized but doesn't matter, they just have to be equal    
+   _depStart = _depEnd;
+
+   return nextDeps(type, what, pkg, which, summary, satisfied);
+}
+
+
+vector<RPackage *> RPackage::getInstalledDeps()
+{
+   vector < RPackage *>deps;
+   pkgCache::VerIterator ver;
+
+   ver = (*_depcache)[*_package].InstVerIter(*_depcache);
+
+   if (ver.end())
+      ver = _package->VersionList();
+
+   if (ver.end())
+      return deps;
+
+   _depI = ver.DependsList();
+   // uninitialized but doesn't matter, they just have to be equal    
+
+   pkgCache::DepIterator depIter = _depI;
+   while (!depIter.end()) {
+      pkgCache::PkgIterator depPkg = depIter.TargetPkg();
+      string name = depPkg.Name();
+      deps.push_back(_lister->getPackage(name));
+      depIter++;
+   }
+
+   return deps;
+}
+
+#endif
+
+
+
+/* Mostly taken from apt-get.cc:ShowBroken() */
+string RPackage::showWhyInstBroken()
+{
+   pkgCache::DepIterator depI;
+   pkgCache::VerIterator Ver;
+   bool First = true;
+   ostringstream out;
+
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   Ver = State.CandidateVerIter(*_depcache);
+
+   // check if there is actually something to install
+   if (Ver == 0) {
+      ioprintf(out,
+               _
+               ("\nPackage %s has no available version, but exists in the database.\n"
+                "This typically means that the package was mentioned in a dependency and "
+                "never uploaded, has been obsoleted or is not available with the contents "
+                "of sources.list\n"), _package->Name());
+      return out.str();
+   }
+
+   for (pkgCache::DepIterator D = Ver.DependsList(); D.end() == false;) {
+      // Compute a single dependency element (glob or)
+      pkgCache::DepIterator Start;
+      pkgCache::DepIterator End;
+      D.GlobOr(Start, End);
+
+      if (_depcache->IsImportantDep(End) == false)
+         continue;
+
+      if (((*_depcache)[End] & pkgDepCache::DepGInstall) ==
+          pkgDepCache::DepGInstall)
+         continue;
+
+      bool FirstOr = true;
+      while (1) {
+         /* Show a summary of the target package if possible. In the case
+            of virtual packages we show nothing */
+         pkgCache::PkgIterator Targ = Start.TargetPkg();
+         if (Targ->ProvidesList == 0) {
+            ioprintf(out, " ");
+            pkgCache::VerIterator Ver =
+               (*_depcache)[Targ].InstVerIter(*_depcache);
+	    // add minimal version information
+	    string requiredVersion;
+	    if(Start.TargetVer() != 0)
+	       requiredVersion = "("+string(Start.CompType())+string(Start.TargetVer())+")";
+            if (Ver.end() == false) {
+               if (FirstOr == false)
+		  // TRANSLATORS: dependency error message, example:
+		  // "apt 0.5.4 but 0.5.3 is to be installed"
+                  ioprintf(out, _("\t%s %s but %s is to be installed"),
+                           Start.TargetPkg().Name(), requiredVersion.c_str(),
+			   Ver.VerStr());
+               else
+		  // TRANSLATORS: dependency error message, example:
+		  // "Depends: apt 0.5.4 but 0.5.3 is to be installed"
+                  ioprintf(out, _(" %s: %s %s but %s is to be installed"),
+                           End.DepType(), Start.TargetPkg().Name(),
+			   requiredVersion.c_str(), Ver.VerStr());
+            } else {
+               if ((*_depcache)[Targ].CandidateVerIter(*_depcache).end() ==
+                   true) {
+                  if (Targ->ProvidesList == 0)
+                     if (FirstOr == false)
+			// TRANSLATORS: dependency error message, example:
+			// "apt 0.5.4 but it is not installable"
+                        ioprintf(out, _("\t%s %s but it is not installable"),
+                                 Start.TargetPkg().Name(), 
+				 requiredVersion.c_str());
+                     else
+			// TRANSLATORS: dependency error message, example:
+			// "Depends: apt 0.5.4  but it is not installable",
+                        ioprintf(out, "%s: %s %s but it is not installable",
+                                 End.DepType(), Start.TargetPkg().Name(),
+				 requiredVersion.c_str());
+                  else if (FirstOr == false)
+		     // TRANSLATORS: dependency error message, example:
+		     // "apt but it is a virtual package"
+                     ioprintf(out, _("\t%s but it is a virtual package"),
+                              Start.TargetPkg().Name());
+                  else
+		     // TRANSLATORS: dependency error message, example:
+		     // "Depends: apt but it is a virtual package"
+                     ioprintf(out, _("%s: %s but it is a virtual package"),
+                              End.DepType(), Start.TargetPkg().Name());
+               } else if (FirstOr == false)
+		  // TRANSLATORS: dependency error message, example:
+		  // "apt but it is not going to be installed"
+                  ioprintf(out, _("\t%s but it is not going to be installed"),
+                           Start.TargetPkg().Name());
+               else
+		  // TRANSLATORS: dependency error message, example:
+		  // "Depends: apt but it is not going to be installed"
+                  ioprintf(out, _("%s: %s but it is not going to be installed"),
+                           End.DepType(), Start.TargetPkg().Name());
+            }
+         } else {
+            // virtual pkgs
+            if (FirstOr == false)
+               ioprintf(out, "\t%s", Start.TargetPkg().Name());
+            else
+               ioprintf(out, " %s: %s", End.DepType(),
+                        Start.TargetPkg().Name());
+            // Show a quick summary of the version requirements
+            if (Start.TargetVer() != 0)
+               ioprintf(out, " (%s %s)", Start.CompType(), Start.TargetVer());
+         }
+
+         First = false;
+         FirstOr = false;
+
+         if (Start != End)
+            ioprintf(out, _(" or"));
+         ioprintf(out, "\n");
+
+         if (Start == End)
+            break;
+         Start++;
+      }
+   }
+   return out.str();
+}
+
+
+vector<DepInformation> RPackage::enumDeps(bool useCanidateVersion)
+{
+   vector<DepInformation> deps;
+   DepInformation dep;
+   pkgCache::VerIterator Cur;
+
+   if(!useCanidateVersion)
+      Cur = (*_depcache)[*_package].InstVerIter(*_depcache);
+   if(useCanidateVersion || Cur.end())
+      Cur = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+
+   // no information found 
+   if(Cur.end())
+      return deps;
+
+   for(pkgCache::DepIterator D = Cur.DependsList(); D.end() != true; D++) {
+
+      // clear old values
+      dep.isOr=dep.isVirtual=dep.isSatisfied=false;
+      dep.name=dep.version=dep.versionComp=NULL;
+
+      // check target and or-depends status
+      pkgCache::PkgIterator Trg = D.TargetPkg();
+      if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+	 dep.isOr=true;
+
+      // common information
+      dep.type = (pkgCache::Dep::DepType)D->Type;
+      dep.name = Trg.Name();
+
+      // satisfied
+      if (((*_depcache)[D] & pkgDepCache::DepGInstall) ==
+          pkgDepCache::DepGInstall)
+         dep.isSatisfied = true;
+      if (Trg->VersionList == 0) {
+	 dep.isVirtual = true;
+      } else {
+	 dep.version=D.TargetVer();
+	 dep.versionComp=D.CompType();
+      }
+      deps.push_back(dep);
+   }
+
+   return deps;
+}
+
+bool RPackage::dependsOn(const char *pkgname)
+{
+   vector<DepInformation> deps = enumDeps();
+   for(unsigned int i=0;i<deps.size();i++)
+      if(strcmp(pkgname, deps[i].name) == 0)
+	 return true;
+   return false;
+}
+
+#ifdef WITH_APT_AUTH
+bool RPackage::isTrusted()
+{
+   pkgCache::VerIterator Ver;
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   Ver = State.CandidateVerIter(*_depcache);
+   if (Ver == 0) {
+      //cerr << "CanidateVer == 0" << endl;
+      return false;
+   }
+   pkgSourceList *Sources=_lister->getCache()->list();
+   for (pkgCache::VerFileIterator i = Ver.FileList(); i.end() == false; i++)
+   {
+      pkgIndexFile *Index;
+      if (Sources->FindIndex(i.File(),Index) == false)
+         continue;
+      if (_config->FindB("Debug::pkgAcquire::Auth", false))
+      {
+         std::cerr << "Checking index: " << Index->Describe()
+                   << "(Trusted=" << Index->IsTrusted() << ")\n";
+      }
+      if (Index->IsTrusted())
+         return true;
+   }
+   
+   return false;
+}
+#else
+// with apt-authentication we always trust that the package come from
+// a trusted source
+bool RPackage::isTrusted() 
+{ 
+   return true; 
+};
+#endif
+
+bool RPackage::wouldBreak()
+{
+   int flags = getFlags();
+   if ((flags & FRemove) || (!(flags & FInstalled) && (flags & FKeep)))
+      return false;
+   return flags & FInstBroken;
+}
+
+void RPackage::setNotify(bool flag)
+{
+   _notify = flag;
+}
+
+void RPackage::setAuto(bool flag)
+{
+   _depcache->MarkAuto(*_package, flag);
+}
+
+
+void RPackage::setKeep()
+{
+   _depcache->MarkKeep(*_package, false);
+   if (_notify)
+      _lister->notifyChange(this);
+   setReInstall(false);
+}
+
+
+void RPackage::setInstall()
+{
+   _depcache->MarkInstall(*_package, true);
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+
+   // FIXME: can't we get rid of it here?
+   // if there is something wrong, try to fix it
+   if (!State.Install() || _depcache->BrokenCount() > 0) {
+      pkgProblemResolver Fix(_depcache);
+      Fix.Clear(*_package);
+      Fix.Protect(*_package);
+      Fix.Resolve(true);
+   }
+
+
+#ifdef WITH_LUA
+   _lua->SetDepCache(_depcache);
+   _lua->SetGlobal("package", ((pkgCache::Package *) * _package));
+   _lua->RunScripts("Scripts::Synaptic::SetInstall", true);
+   _lua->ResetGlobals();
+   _lua->ResetCaches();
+#endif
+
+   if (_notify)
+      _lister->notifyChange(this);
+}
+
+void RPackage::setReInstall(bool flag)
+{
+    _depcache->SetReInstall(*_package, flag);
+    if (_notify)
+	_lister->notifyChange(this);
+}
+
+
+void RPackage::setRemove(bool purge)
+{
+   pkgProblemResolver Fix(_depcache);
+
+   Fix.Clear(*_package);
+   Fix.Protect(*_package);
+   Fix.Remove(*_package);
+
+   Fix.InstallProtect();
+   Fix.Resolve(true);
+
+   _depcache->SetReInstall(*_package, false);
+   _depcache->MarkDelete(*_package, purge);
+
+   if (_notify)
+      _lister->notifyChange(this);
+}
+
+string RPackage::getScreenshotFile(pkgAcquire *fetcher, bool thumb)
+{
+   string descr("Screenshot for ");
+   descr+=name();
+
+   string verstr;
+   if(availableVersion() != NULL) 
+      verstr = availableVersion();
+   
+   if(verstr.find(':')!=verstr.npos)
+      verstr=string(verstr, verstr.find(':')+1);
+   char uri[512];
+   if(thumb)
+      snprintf(uri,512,"http://screenshots.debian.net/thumbnail/%s", name());
+   else
+      snprintf(uri,512,"http://screenshots.debian.net/screenshot/%s", name());
+
+   //cerr << "uri is: " << uri << endl;
+
+   string filename = RTmpDir()+"/tmp_sh";
+   unlink(filename.c_str());
+   new pkgAcqFileSane(fetcher, uri, descr, name(), filename);
+
+   int res = fetcher->Run();
+   //cerr << "res: " << res << endl;
+
+   return filename;
+}
+
+string RPackage::getChangelogURI() 
+{
+   char uri[512];
+   //FIXME: get the supportedOrigins from pkgStatus
+   if(origin() == "Debian") {
+      string prefix;
+      string srcpkg = srcPackage();
+
+      string src_section=section();
+      if(src_section.find('/')!=src_section.npos)
+         src_section=string(src_section, 0, src_section.find('/'));
+      else
+         src_section="main";
+
+      prefix+=srcpkg[0];
+      if(srcpkg.size()>3 && srcpkg[0]=='l' && srcpkg[1]=='i' && srcpkg[2]=='b')
+         prefix=std::string("lib")+srcpkg[3];
+
+      string verstr;
+      if(availableVersion() != NULL) 
+         verstr = availableVersion();
+      
+      if(verstr.find(':')!=verstr.npos)
+         verstr=string(verstr, verstr.find(':')+1);
+
+      snprintf(uri,512,"http://packages.debian.org/changelogs/pool/%s/%s/%s/%s_%s/changelog",
+                               src_section.c_str(),
+                               prefix.c_str(),
+                               srcpkg.c_str(),
+                               srcpkg.c_str(),
+                               verstr.c_str());
+   } else {
+       string pkgfilename = findTagFromPkgRecord("Filename");
+       pkgfilename = pkgfilename.substr(0, pkgfilename.find_last_of('.')) + ".changelog";
+       snprintf(uri,512,"http://%s/%s",
+               getCandidateOriginSiteUrl().c_str(),
+               pkgfilename.c_str());
+   }
+   return string(uri);
+}
+
+string RPackage::getChangelogFile(pkgAcquire *fetcher)
+{
+   string descr("Changelog for ");
+   descr+=name();
+
+   string uri = getChangelogURI();
+   // no need to translate this, the changelog is in english anyway
+   string filename = RTmpDir()+"/tmp_cl";
+
+   new pkgAcqFileSane(fetcher, uri, descr, name(), filename);
+   //cerr << "**DEBUG** origin: " << origin() << endl;
+   //cerr << "**DEBUG** uri: " << uri << endl;
+   //cerr << "**DEBUG** filename: " << filename << endl;
+
+   ofstream out(filename.c_str());
+   if(fetcher->Run() == pkgAcquire::Failed) {
+      out << "Failed to download the list of changes. " << endl;
+      out << "Please check your Internet connection." << endl;
+      // FIXME: Need to dequeue the item
+   } else {
+      struct stat filestatus;
+      stat(filename.c_str(), &filestatus );
+      if (filestatus.st_size == 0) {
+         out << "This change is not coming from a source that supports changelogs.\n" << endl;
+         out << "Failed to fetch the changelog for " << name() << endl;
+         out << "URI was: " << uri << endl;
+      }
+   };
+   out.close();
+
+   return filename;
+}
+
+string RPackage::getCandidateOriginStr()
+{
+   pkgCache::VerIterator Ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if(Ver.end())
+      return "";
+   pkgCache::VerFileIterator VF = Ver.FileList();
+   if(!VF.end() && VF.File() && VF.File().Origin())
+      return VF.File().Origin();
+   return "";
+}
+
+string RPackage::getCandidateOriginSuite()
+{
+   pkgCache::VerIterator Ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if(Ver.end())
+      return "";
+   pkgCache::VerFileIterator VF = Ver.FileList();
+   if(!VF.end() && VF.File() && VF.File().Archive())
+      return VF.File().Archive();
+   return "";
+}
+
+string RPackage::getCandidateOriginSiteUrl()
+{
+   pkgCache::VerIterator Ver = (*_depcache)[*_package].CandidateVerIter(*_depcache);
+   if(Ver.end())
+      return "";
+   pkgCache::VerFileIterator VF = Ver.FileList();
+   if(!VF.end() && VF.File() && VF.File().Site())
+      return VF.File().Site();
+   return "";
+}
+
+
+void RPackage::setPinned(bool flag)
+{
+   FILE *out;
+   struct stat stat_buf;
+
+   string File =RStateDir() + "/preferences";
+
+   _boolFlags = flag ? (_boolFlags | FPinned) : (_boolFlags & FPinned);
+
+   if (flag) {
+      // pkg already in pin-file
+      if (_roptions->getPackageLock(name()))
+         return;
+
+      // write to pin-file
+      ofstream out(File.c_str(), ios::app);
+      out << "Package: " << name() << endl;
+      // if the package is not installed, we pin it to the available version
+      // and prevent installation of this package this way
+      if(installedVersion() != NULL) 
+	 out << "Pin: version " << installedVersion() << endl;
+      else
+	 out << "Pin: version " << " 0.0 " << endl;
+      out << "Pin-Priority: "
+         << _config->FindI("Synaptic::DefaultPinPriority", 1001)
+         << endl << endl;
+   } else {
+      // delete package from pinning file
+      stat(File.c_str(), &stat_buf);
+      // create a tmp_pin file in the internal dir
+      string filename = RStateDir() + "/.tmp_preferences";
+      FILE *out = fopen(filename.c_str(),"w");
+      if (out == NULL)
+         cerr << "error opening tmpfile: " << filename << endl;
+      FileFd Fd(File, FileFd::ReadOnly);
+      pkgTagFile TF(&Fd);
+      if (_error->PendingError() == true)
+         return;
+      pkgTagSection Tags;
+      while (TF.Step(Tags) == true) {
+         string Name = Tags.FindS("Package");
+         if (Name.empty() == true) {
+            _error->
+               Error(_
+                     ("Invalid record in the preferences file, no Package header"));
+            return;
+         }
+         if (Name != name()) {
+            TFRewriteData tfrd;
+            tfrd.Tag = 0;
+            tfrd.Rewrite = 0;
+            tfrd.NewTag = 0;
+            TFRewrite(out, Tags, TFRewritePackageOrder, &tfrd);
+            fprintf(out, "\n");
+         }
+      }
+      fflush(out);
+      rename(filename.c_str(), File.c_str());
+      chmod(File.c_str(), stat_buf.st_mode);
+      fclose(out);
+   }
+}
+
+
+// FIXME: this function is broken right now (and it never really wasn't :/
+bool RPackage::isShallowDependency(RPackage *pkg)
+{
+#if 0
+   pkgCache::DepIterator rdepI;
+
+   // check whether someone else depends on a virtual pkg of this
+   for (int i = -1; i < (int)pkg->_virtualPackages.size(); i++) {
+      if (i < 0) {
+         rdepI = pkg->_package->RevDependsList();
+      } else {
+         pkgCache::PkgIterator it = pkg->_virtualPackages[i];
+         rdepI = it.RevDependsList();
+      }
+
+      while (!rdepI.end()) {
+
+         // check whether the dependant is installed
+         if (rdepI.ParentPkg().CurrentVer().end()) {    // not installed
+            // XXX check whether its marked for install
+            rdepI++;
+            continue;
+         }
+         // check whether the dependant isn't the own package
+         if (rdepI.ParentPkg() == *_package) {
+            rdepI++;
+            continue;
+         }
+         // XXX should check for dependencies that depend on
+         // dependencies of the same package
+
+         return false;
+      }
+   }
+
+   return true;
+#endif
+}
+
+// format: first version, second archives
+vector<pair<string, string> > RPackage::getAvailableVersions()
+{
+   string VerTag;
+   vector<pair<string, string> > versions;
+
+   // Get available Versions.
+   for (pkgCache::VerIterator Ver = _package->VersionList();
+        Ver.end() == false; Ver++) {
+
+      // We always take the first available version.
+      pkgCache::VerFileIterator VF = Ver.FileList();
+      if (!VF.end()) {
+         pkgCache::PkgFileIterator File = VF.File();
+
+         if (File->Archive != 0)
+            versions.push_back(pair < string,
+                               string > (Ver.VerStr(), File.Archive()));
+         else
+            versions.push_back(pair < string,
+                               string > (Ver.VerStr(), File.Site()));
+      }
+   }
+
+   return versions;
+}
+
+
+bool RPackage::setVersion(string verTag)
+{
+   pkgVersionMatch Match(verTag, pkgVersionMatch::Version);
+   pkgCache::VerIterator Ver = Match.Find(*_package);
+
+   if (Ver.end() == true)
+      return false;
+
+   _depcache->SetCandidateVersion(Ver);
+
+   _boolFlags |= FOverrideVersion;
+
+   return true;
+}
+ 
+void RPackage::unsetVersion() 
+{ 
+   //cout << "set version to " << _defaultCandVer << endl;
+   setVersion(_defaultCandVer); 
+   _boolFlags &= ~FOverrideVersion;
+}
+
+vector<string> RPackage::provides()
+{
+   vector<string> provides;
+
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0)
+      return provides;
+
+   for (pkgCache::PrvIterator Prv =
+        State.CandidateVerIter(*_depcache).ProvidesList(); Prv.end() != true;
+        Prv++) {
+      provides.push_back(Prv.Name());
+   }
+
+   return provides;
+}
+
+/* mvo: actually shallow = false does not make a lot of sense as it
+ *      will remove packages very brutally (like removing libc6)
+ */
+void RPackage::setRemoveWithDeps(bool shallow, bool purge)
+{
+   setRemove();
+
+   // remove packages that this one depends on, including this
+   pkgCache::DepIterator deps = _package->VersionList().DependsList();
+   pkgCache::DepIterator start, end;
+
+   deps.GlobOr(start, end);
+
+   while (1) {
+      if (start == end) {
+         deps++;
+         if (deps.end())
+            break;
+         deps.GlobOr(start, end);
+      } else {
+         start++;
+      }
+
+      if (!_depcache->IsImportantDep(start))
+         continue;
+
+
+      pkgCache::PkgIterator depPkg = start.TargetPkg();
+
+      // get the real package, in case this is a virtual pkg
+      // mvo: does this actually work :) ?
+      if (depPkg->VersionList == 0) {
+         if (depPkg->ProvidesList != 0) {
+            depPkg = depPkg.ProvidesList().OwnerPkg();
+         } else {
+            continue;
+         }
+      }
+
+      RPackage *depackage = _lister->getPackage(depPkg);
+      //cout << "testing(RPackage): " << depackage->name() << endl;
+
+      if (!depackage)
+         continue;
+
+      // skip important packages
+      if (depackage->getFlags() & FImportant)
+         continue;
+
+      // skip dependencies that are dependants of other packages
+      // if shallow=true
+      if (shallow && !isShallowDependency(depackage)) {
+         continue;
+      }
+      // set this package for removal
+      depackage->setRemove(purge);
+   }
+}
+
+
+// description parser stuff
+static char *debParser(string descr)
+{
+   unsigned int i;
+   string::size_type nlpos=0;
+
+   nlpos = descr.find('\n');
+   // delete first line
+   if (nlpos != string::npos)
+      descr.erase(0, nlpos + 2);        // del "\n " too
+
+   while (nlpos < descr.length()) {
+      nlpos = descr.find('\n', nlpos);
+      if (nlpos == string::npos)
+         break;
+
+      i = nlpos;
+      // del char after '\n' (always " ")
+      i++;
+      descr.erase(i, 1);
+
+      // delete lines likes this: " .", makeing it a \n
+      if (descr[i] == '.') {
+         descr.erase(i, 1);
+         nlpos++;
+         continue;
+      }
+      // skip ws
+      while (descr[++i] == ' ');
+
+//      // not a list, erase nl
+//       if(!(descr[i] == '*' || descr[i] == '-' || descr[i] == 'o'))
+//      descr.erase(nlpos,1);
+
+      nlpos++;
+   }
+   strcpy(descrBuffer, descr.c_str());
+   return descrBuffer;
+}
+static char *rpmParser(string descr)
+{
+   string::size_type pos = descr.find('\n');
+   // delete first line
+   if (pos != string::npos)
+      descr.erase(0, pos + 2);  // del "\n " too
+
+   strcpy(descrBuffer, descr.c_str());
+   return descrBuffer;
+}
+
+static char *stripWsParser(string descr)
+{
+   const char *end;
+   const char *p;
+
+   p = descr.c_str();
+   end = p + descr.size();      // mvo: hackish, but works
+
+
+   int state = 0;
+   char *pp = (char *)descrBuffer;
+
+   while (p != end) {
+      switch (state) {
+         case 0:
+            if (*p == '\n')
+               state = 1;
+            else
+               *pp++ = *p;
+            break;
+
+         case 1:
+            if (*p == ' ')
+               state = 2;
+            else {
+               *pp++ = *p;
+               state = 0;
+            }
+            break;
+
+         case 2:
+            if (!(*p == '\n' || *p == '.')) {
+               *pp++ = ' ';
+               *pp++ = *p;
+            }
+            state = 0;
+            break;
+      }
+      p++;
+   }
+   *pp = '\0';
+
+   return descrBuffer;
+}
+
+
+static char *parseDescription(string descr)
+{
+
+   if (descr.size() + 1 > descrBufferSize) {
+      delete[] descrBuffer;
+      descrBufferSize = descr.size() + 1;
+      descrBuffer = new char[descrBufferSize];
+   }
+#ifdef HAVE_RPM
+   int parser = _config->FindI("Synaptic::descriptionParser", NO_PARSER);
+#else
+   int parser = _config->FindI("Synaptic::descriptionParser", DEB_PARSER);
+#endif
+   switch (parser) {
+      case DEB_PARSER:
+         return debParser(descr);
+      case STRIP_WS_PARSER:
+         return stripWsParser(descr);
+      case RPM_PARSER:
+         return rpmParser(descr);
+      case NO_PARSER:
+      default:
+         strcpy(descrBuffer, descr.c_str());
+         return descrBuffer;
+   }
+}
+
+string RPackage::component()
+{
+   string res;
+#ifdef WITH_APT_AUTH
+   // the apt-secure patch breaks File.Component
+   const char *s = _package->Section();
+   if(s == NULL)
+      return "";
+
+   string src_section(s);
+   if(src_section.find('/')!=src_section.npos)
+      src_section=string(src_section, 0, src_section.find('/'));
+   else
+      src_section="main";
+   res = src_section;
+#else
+   pkgCache::VerIterator Ver;
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0) {
+      //cout << "CanidateVer == 0" << endl;
+      return "";
+   }
+   Ver = State.CandidateVerIter(*_depcache);
+   pkgCache::VerFileIterator VF = Ver.FileList();
+   pkgCache::PkgFileIterator File = VF.File();
+
+   if(File.Component() == NULL) {
+      //cout << "File.Component() == NULL" << endl;
+      return "";
+   }
+
+   res = File.Component();
+#endif
+   return res;
+}
+
+
+
+string RPackage::label()
+{
+   string res;
+   pkgCache::VerIterator Ver;
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0) {
+      //cout << "CanidateVer == 0" << endl;
+      return "";
+   }
+   Ver = State.CandidateVerIter(*_depcache);
+   pkgCache::VerFileIterator VF = Ver.FileList();
+   pkgCache::PkgFileIterator File = VF.File();
+
+   if(File.Label() == NULL) {
+      //cout << "File.Component() == NULL" << endl;
+      return "";
+   }
+
+   res = File.Label();
+
+   return res;
+}
+
+string RPackage::origin()
+{
+   string res;
+   pkgCache::VerIterator Ver;
+   pkgDepCache::StateCache & State = (*_depcache)[*_package];
+   if (State.CandidateVer == 0) {
+      return "";
+   }
+   Ver = State.CandidateVerIter(*_depcache);
+   pkgCache::VerFileIterator VF = Ver.FileList();
+   pkgCache::PkgFileIterator File = VF.File();
+
+   if(File.Origin() == NULL) {
+      return "";
+   }
+
+   res = File.Origin();
+
+   return res;
+}
+
+static pkgCache::PkgFileIterator
+_searchPkgFileIter(pkgCache::PkgIterator *Pkg, string label, string release)
+{
+   pkgCache::VerIterator Ver;
+   pkgCache::VerFileIterator VF;
+   pkgCache::PkgFileIterator PF;
+
+   for(Ver = Pkg->VersionList();!Ver.end();Ver++) {
+      for(VF = Ver.FileList();!VF.end(); VF++) {
+	 for(PF = VF.File(); !PF.end(); PF++) {
+	    if(!PF.end() && 
+	       PF.Label() && string(PF.Label()) == label &&
+	       PF.Origin() && string(PF.Origin()) == label &&
+	       PF.Archive() && PF.Archive() == release) {
+	       //cerr << "found: " << PF.FileName() << endl;
+	       return PF;
+	    }
+	 }
+      }
+   }
+   PF = pkgCache::PkgFileIterator(*Pkg->Cache());
+   return PF;
+}
+
+// look for a release file that matches the given label and origin string
+string RPackage::getReleaseFileForOrigin(string label, string release)
+{
+   pkgIndexFile *index;
+   pkgCache::PkgFileIterator found = _searchPkgFileIter(_package, label, string(release));
+   if (found.end())
+      return "";
+   
+   // search for the matching meta-index
+   pkgSourceList *list = _lister->getCache()->list();
+   if(list->FindIndex(found, index)) {
+      vector<metaIndex *>::const_iterator I;
+      for(I=list->begin(); I != list->end(); I++) {
+	 vector<pkgIndexFile *>  *ifv = (*I)->GetIndexFiles();
+	 if(find(ifv->begin(), ifv->end(), index) != ifv->end()) {
+	    string uri = _config->FindDir("Dir::State::lists");
+	    uri += URItoFileName((*I)->GetURI());
+	    uri += "dists_";
+	    uri += (*I)->GetDist();
+	    uri += "_Release";
+	    return uri;
+	 }
+      }
+   }
+
+   return "";
+}
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackage.h'
--- common/rpackage.h	1970-01-01 00:00:00 +0000
+++ common/rpackage.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,255 @@
+/* rpackage.h - wrapper for accessing package information
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ *               2002 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ * 
+ * Portions Taken from Gnome APT
+ *   Copyright (C) 1998 Havoc Pennington <hp@pobox.com>
+ * 
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+#ifndef _RPACKAGE_H_
+#define _RPACKAGE_H_
+
+#include <vector>
+
+#include <apt-pkg/pkgcache.h>
+#include <apt-pkg/acquire.h>
+#include "rconfiguration.h"
+#include "i18n.h"
+
+using namespace std;
+
+class pkgDepCache;
+class RPackageLister;
+class pkgRecords;
+
+enum { NO_PARSER, DEB_PARSER, STRIP_WS_PARSER, RPM_PARSER };
+
+// taken from apt (pkgcache.cc) to make our life easier 
+// (and added "RDepends" as last element)
+static const char *DepTypeStr[] = 
+   {"",
+    _("Depends"),
+    _("PreDepends"),
+    _("Suggests"),
+    _("Recommends"),
+    _("Conflicts"),
+    _("Replaces"),
+    _("Obsoletes"), 
+    _("Breaks"),
+    _("Enhances"),
+    /* padding */
+    "", 
+    "",
+    "",
+    "",
+    "",
+    // make sure this is always the last member
+    _("Dependency of"),
+};
+
+typedef struct  {
+   pkgCache::Dep::DepType type; // type as enum
+   const char* name;            // target pkg name
+   const char* version;         // target version  
+   const char* versionComp;     // target version compare type ( << , > etc)
+   bool isSatisfied;            // dependecy is satified 
+   bool isVirtual;              // package is virtual
+   bool isOr;                   // or dependency (with next pkg)
+} DepInformation;
+
+
+class RPackage {
+
+ public:
+   RPackageLister *_lister;
+
+   protected:
+
+
+   pkgRecords *_records;
+   pkgDepCache *_depcache;
+   pkgCache::PkgIterator *_package;
+
+
+   // save the default candidate version to undo version selection
+   string _defaultCandVer;
+
+   bool _notify;
+
+   // Virtual pkgs provided by this one.
+   // FIXME: broken right now 
+   bool isShallowDependency(RPackage *pkg);
+   int _boolFlags;
+
+ public:
+
+   enum Flags {
+      FKeep             = 1 << 0,
+      FInstall          = 1 << 1,
+      FNewInstall       = 1 << 2,
+      FReInstall        = 1 << 3,
+      FUpgrade          = 1 << 4,
+      FDowngrade        = 1 << 5,
+      FRemove           = 1 << 6,
+      FHeld             = 1 << 7,
+      FInstalled        = 1 << 8,
+      FOutdated         = 1 << 9,
+      FNowBroken        = 1 << 10,
+      FInstBroken       = 1 << 11,
+      FOrphaned         = 1 << 12,
+      FPinned           = 1 << 13,
+      FNew              = 1 << 14,
+      FResidualConfig   = 1 << 15,
+      FNotInstallable   = 1 << 16,
+      FPurge            = 1 << 17,
+      FImportant        = 1 << 18,
+      FOverrideVersion  = 1 << 19,
+      FIsAuto           = 1 << 20,
+      FIsGarbage        = 1 << 21,
+      FNowPolicyBroken  = 1 << 22,
+      FInstPolicyBroken  = 1 << 23,
+   };
+
+   enum UpdateImportance {
+      IUnknown,
+      INormal,
+      ICritical,
+      ISecurity
+   };
+
+   pkgCache::PkgIterator *package() { return _package; };
+
+   const char *name();
+
+   const char *section();
+   const char *priority();
+
+   const char *summary();
+   const char *description();
+   const char *installedFiles();
+
+   // get changelog file from the debian server 
+   string getChangelogFile(pkgAcquire *fetcher);
+   // get screenshot file from the debian server 
+   string getScreenshotFile(pkgAcquire *fetcher, bool thumb = true);
+
+   vector<string> provides();
+
+   // get all available versions (version, release)
+   vector<pair<string, string> > getAvailableVersions();
+
+   // get origin url of the package 
+   string getCandidateOriginSiteUrl();
+   // get origin "archive" release header (e.g. karmic, karmic-updates)
+   string getCandidateOriginSuite();
+   // get origin "origin" release header (e.g. Ubuntu, 
+   string getCandidateOriginStr();
+
+   // get the release file for the givel origin label string
+   string getReleaseFileForOrigin(string label, string release);
+
+   // get installed component (like main, contrib, non-free)
+   string component();
+   
+   // get label of download site
+   string label();
+
+   // get origin (Origin tag from the release file)
+   string origin();
+   
+   const char *maintainer();
+   const char *vendor();
+
+   const char *installedVersion();
+   long installedSize();
+
+   // get tag from pkg record
+   string findTagFromPkgRecord(const char *tag);
+
+   // get the raw package record
+   string getRawRecord(bool useCandidateVersion=true);
+
+   // sourcepkg
+   const char *srcPackage();
+
+   // relative to version that would be installed
+   const char *availableVersion();
+   long availableInstalledSize();
+   long availablePackageSize();
+
+   // does the pkg depends on this one?
+   bool dependsOn(const char *pkgname);
+
+   // getDeps of installed pkg
+   vector<DepInformation> enumDeps(bool useCanidateVersion=false);
+
+   // reverse dependencies
+   vector<DepInformation> enumRDeps();
+
+   int getFlags();
+
+   bool wouldBreak();
+
+   bool isTrusted();
+
+   void setKeep();
+   void setInstall();
+   void setReInstall(bool flag);
+   void setRemove(bool purge = false);
+
+   void setPinned(bool flag);
+
+   void setNew(bool flag = true) {
+      _boolFlags = flag ? (_boolFlags | FNew) : (_boolFlags & ~FNew);
+   };
+   void setOrphaned(bool flag = true) {
+      _boolFlags = flag ? (_boolFlags | FOrphaned) : (_boolFlags & ~FOrphaned);
+   };
+
+   // set/unset the auto-installed flag
+   void setAuto(bool flag = true);
+
+   void setNotify(bool flag = true);
+
+   // Shallow doesnt remove things other pkgs depend on.
+   void setRemoveWithDeps(bool shallow, bool purge = false);
+
+   // mainpulate the candiate version
+   bool setVersion(string verTag);
+   void unsetVersion(); 
+   string showWhyInstBroken();
+
+   RPackage(RPackageLister *lister, pkgDepCache *depcache,
+            pkgRecords *records, pkgCache::PkgIterator &pkg);
+   ~RPackage();
+
+   private:
+   string getChangelogURI();
+};
+
+
+#endif
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackagecache.cc'
--- common/rpackagecache.cc	1970-01-01 00:00:00 +0000
+++ common/rpackagecache.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,164 @@
+/* rpackagecache.cc - package cache wrapper
+ * 
+ * Copyright (c) 2000-2003 Conectiva S/A 
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#include "config.h"
+
+#include "rpackagecache.h"
+#include "rconfiguration.h"
+#include "i18n.h"
+
+#include <assert.h>
+#include <algorithm>
+#include <apt-pkg/error.h>
+#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/pkgcachegen.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/policy.h>
+
+
+
+bool RPackageCache::open(OpProgress &progress, bool locking)
+{
+   if(locking)
+      lock();
+
+   if (_error->PendingError())
+      return false;
+
+   // delete any old structures
+   if(_dcache)
+      delete _dcache;
+   if(_policy)
+      delete _policy;
+   if(_cache)
+      delete _cache;
+   if(_map)
+      delete _map;
+
+   // Read the source list
+   //pkgSourceList list;
+   assert(_list != NULL);
+   if (!_list->ReadMainList())
+      return _error->Error(_("The list of sources could not be read.\n"
+			     "Go to the repository dialog to correct the problem."));
+
+   if(locking)
+      pkgMakeStatusCache(*_list, progress);
+   else
+      pkgMakeStatusCache(*_list, progress, 0, true);
+
+   if (_error->PendingError())
+      return _error->
+         Error(_
+               ("The package lists or status file could not be parsed or opened."));
+
+   // Open the cache file
+   FileFd File;
+   File.Open(_config->FindFile("Dir::Cache::pkgcache"), FileFd::ReadOnly);
+   if (_error->PendingError())
+      return false;
+
+   _map = new MMap(File, MMap::Public | MMap::ReadOnly);
+   if (_error->PendingError())
+      return false;
+
+   // Create the dependency cache
+   _cache = new pkgCache(_map);
+   if (_error->PendingError())
+      return false;
+
+   _policy = new pkgPolicy(_cache);
+   if (_error->PendingError() == true)
+      return false;
+   if (ReadPinFile(*_policy) == false)
+      return false;
+
+   if (ReadPinFile(*_policy, RStateDir() + "/preferences") == false)
+      return false;
+
+   _dcache = new pkgDepCache(_cache, _policy);
+   _dcache->Init(&progress);
+
+   //progress.Done();
+   if (_error->PendingError())
+      return false;
+
+   // Check that the system is OK
+   if (_dcache->DelCount() != 0 || _dcache->InstCount() != 0)
+      return _error->Error(_("Internal Error, non-zero counts"));
+
+   return true;
+}
+
+vector<string> RPackageCache::getPolicyArchives(bool filenames_only=false)
+{
+   //std::cout << "RPackageCache::getPolicyComponents() " << std::endl;
+
+   vector<string> archives;
+   for (pkgCache::PkgFileIterator F = _cache->FileBegin(); F.end() == false;
+        F++) {
+      pkgIndexFile *Indx;
+      _list->FindIndex(F, Indx);
+      _system->FindIndex(F, Indx);
+
+      if(filenames_only) {
+	 if(F.FileName())
+	    archives.push_back(F.FileName());
+      } else {
+	 if (!F.RelStr().empty()) {
+	    //printf("Archive: %s, Origin: %s, Component: %s, Filename: %s\n", 
+	    //       F.Archive(), F.Origin(), F.Component(), F.FileName());
+	    if (F.Archive() != NULL) {
+	       if (find(archives.begin(), archives.end(), F.Archive())
+		   == archives.end()) {
+		  archives.push_back(F.Archive());
+	       }
+	    }
+	 }
+      }
+   }
+   return archives;
+}
+
+
+bool RPackageCache::lock()
+{
+   if (_locked)
+      return true;
+
+   _system->Lock();
+   _locked = true;
+
+   //FIXME: should depend on the result of _system->lock()
+   return true;
+}
+
+
+void RPackageCache::releaseLock()
+{
+   if (!_locked)
+      return;
+
+   _system->UnLock();
+   _locked = false;
+}

=== added file 'common/rpackagecache.h'
--- common/rpackagecache.h	1970-01-01 00:00:00 +0000
+++ common/rpackagecache.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,76 @@
+/* rpackagecache.h - package cache wrapper
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef _RPACKAGECACHE_H_
+#define _RPACKAGECACHE_H_
+
+
+
+#include <apt-pkg/depcache.h>
+#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/pkgsystem.h>
+#include <apt-pkg/policy.h>
+
+class OpProgress;
+
+class pkgCache;
+
+
+class RPackageCache {
+   MMap *_map;
+
+   pkgCache *_cache;
+   pkgPolicy *_policy;
+
+   pkgDepCache *_dcache;
+   pkgSourceList *_list;
+
+   bool _locked;
+
+ public:
+   inline pkgDepCache *deps() {
+      return _dcache;
+   };
+   inline pkgSourceList *list() {
+      return _list;
+   };
+
+   bool open(OpProgress &progress, bool lock=true);
+
+   vector<string> getPolicyArchives(bool filenames_only);
+
+   bool lock();
+   void releaseLock();
+
+   RPackageCache() 
+     : _map(0), _cache(0), _policy(0), _dcache(0), _locked(false) 
+   {
+      _list = new pkgSourceList();
+   };
+   ~RPackageCache() {
+      delete _list;
+   };
+};
+
+
+#endif

=== added file 'common/rpackagefilter.cc'
--- common/rpackagefilter.cc	1970-01-01 00:00:00 +0000
+++ common/rpackagefilter.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,948 @@
+/* rpackagefilter.cc - filters for package listing
+ * 
+ * Copyright (c) 2000-2003 Conectiva S/A 
+ *               2002,2003 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include "config.h"
+
+#include <iostream>
+#include <algorithm>
+#include <cstdio>
+#include <fnmatch.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/error.h>
+
+#include "rpackagefilter.h"
+#include "rpackagelister.h"
+#include "rpackage.h"
+
+#include "i18n.h"
+
+using namespace std;
+
+const char *RPatternPackageFilter::TypeName[] = {
+   N_("Name"),
+   N_("Description"),
+   N_("Maintainer"),
+   N_("Version"),
+   N_("Depends"),
+   N_("Provides"),
+   N_("Conflicts"),
+   N_("Replaces"),
+   N_("Recommends"),
+   N_("Suggests"),
+   N_("ReverseDepends"),
+   N_("Origin"),
+   N_("Component"),
+   NULL
+};
+
+
+const char *RPFStatus = _("Status");
+const char *RPFPattern = _("Pattern");
+const char *RPFSection = _("Section");
+const char *RPFPriority = _("Priority");
+const char *RPFReducedView = _("ReducedView");
+const char *RPFFile = _("File");
+
+int RSectionPackageFilter::count()
+{
+   return _groups.size();
+}
+
+
+bool RSectionPackageFilter::inclusive()
+{
+   return _inclusive;
+}
+
+
+string RSectionPackageFilter::section(int index)
+{
+   return _groups[index];
+}
+
+
+void RSectionPackageFilter::clear()
+{
+   //_groups.erase(_groups.begin(), _groups.end());
+   _groups.clear();
+}
+
+
+bool RSectionPackageFilter::filter(RPackage *pkg)
+{
+   string sec;
+
+   if (pkg->section() == NULL)
+      return _inclusive ? false : true;
+
+   sec = pkg->section();
+
+   for (vector<string>::const_iterator iter = _groups.begin();
+        iter != _groups.end(); iter++) {
+      if (sec == (*iter)) {
+         return _inclusive ? true : false;
+      }
+   }
+
+   return _inclusive ? false : true;
+}
+
+
+bool RSectionPackageFilter::write(ofstream &out, string pad)
+{
+   out << pad + "inclusive " << (_inclusive ? "true;" : "false;") << endl;
+
+   out << pad + "sections {" << endl;
+
+   for (int i = 0; i < count(); i++) {
+      out << pad + "  \"" << section(i) << "\"; " << endl;
+   }
+
+   out << pad + "};" << endl;
+   return true;
+}
+
+
+bool RSectionPackageFilter::read(Configuration &conf, string key)
+{
+   const Configuration::Item *top;
+
+   reset();
+
+   _inclusive = conf.FindB(key + "::inclusive", _inclusive);
+
+   top = conf.Tree(string(key + "::sections").c_str());
+   if (top != NULL) {
+      for (top = top->Child; top != NULL; top = top->Next)
+	 addSection(top->Value);
+   }
+
+   return true;
+}
+
+
+bool RPatternPackageFilter::filterName(Pattern pat, RPackage *pkg)
+{
+   bool found=true;
+
+   const char *name = pkg->name();
+// if we want "real" nouseregexp support, we need to split the string
+// here like we do with regexp
+//              if(!useregexp) {
+//                  if(strcasestr(name, iter->pattern.c_str()) == NULL) {
+//                      found = false;
+//                  } 
+   for (unsigned int i = 0; i < pat.regexps.size(); i++) {
+      if (regexec(pat.regexps[i], name, 0, NULL, 0) == 0)
+	 found &= true;
+      else
+	 found = false;
+   }
+   return found;
+}
+
+
+bool RPatternPackageFilter::filterVersion(Pattern pat, RPackage *pkg)
+{
+   bool found = true;
+
+   const char *version = pkg->availableVersion();
+   if (version == NULL) {
+      version = pkg->installedVersion();
+   } 
+   
+   if(version != NULL) {
+      for (unsigned int i = 0; i < pat.regexps.size(); i++) {
+	 if (regexec(pat.regexps[i], version, 0, NULL, 0) == 0)
+	    found &= true;
+	 else
+	    found = false;
+      }
+   } else {
+      found = false;
+   }
+   return found;
+}
+
+bool RPatternPackageFilter::filterDescription(Pattern pat, RPackage *pkg)
+{
+   bool found=true;
+   const char *s1 = pkg->summary();
+   const char *s2 = pkg->description();
+   for (unsigned int i = 0; i < pat.regexps.size(); i++) {
+      if (regexec(pat.regexps[i], s1, 0, NULL, 0) == 0) {
+	 found &= true;
+      } else {
+	 if (regexec(pat.regexps[i], s2, 0, NULL, 0) == 0)
+	    found &= true;
+	 else
+	    found = false;
+      }
+   }
+   return found;
+}
+
+bool RPatternPackageFilter::filterMaintainer(Pattern pat, RPackage *pkg)
+{
+   bool found=true;
+   const char *maint = pkg->maintainer();
+   for (unsigned int i = 0; i < pat.regexps.size(); i++) {
+      if (regexec(pat.regexps[i], maint, 0, NULL, 0) == 0) {
+	 found &= true;
+      } else {
+	 found = false;
+      }
+   }
+   return found;
+}
+
+bool RPatternPackageFilter::filterDepends(Pattern pat, RPackage *pkg,
+					  pkgCache::Dep::DepType filterType)
+{
+   vector<DepInformation> deps = pkg->enumDeps();
+
+   if (pat.regexps.size() == 0) {
+      return true;
+   }
+   
+   for(unsigned int i=0;i<deps.size();i++) {
+      if(deps[i].type == filterType) {
+	    if (regexec(pat.regexps[0], deps[i].name, 0, NULL, 0) == 0) {
+	       return true;
+	    }
+      }
+   }
+   return false;
+}
+
+bool RPatternPackageFilter::filterProvides(Pattern pat, RPackage *pkg)
+{
+   bool found = false;
+   vector<string> provides = pkg->provides();
+
+   if (pat.regexps.size() == 0) {
+      return true;
+   }
+   
+   for (unsigned int i = 0; i < provides.size(); i++) {
+      if (regexec(pat.regexps[0], provides[i].c_str(), 0, NULL, 0) == 0) {
+	 found = true;
+	 break;
+      }
+   }
+   return found;
+}
+
+#if 0
+bool RPatternPackageFilter::filterWeakDepends(Pattern pat, RPackage *pkg)
+{
+
+   bool found = false;
+   const char *depType, *depPkg, *depName;
+   bool ok;
+   if (pkg->enumWDeps(depType, depPkg, ok)) {
+      do {
+	 if (regexec(pat.regexps[0], depPkg, 0, NULL, 0) == 0) {
+	    found = true;
+	    break;
+	 }
+      } while (pkg->nextWDeps(depName, depPkg, ok));
+   }
+   return found;
+}
+#endif
+
+bool RPatternPackageFilter::filterRDepends(Pattern pat, RPackage *pkg)
+{
+   vector<DepInformation> deps = pkg->enumRDeps();
+
+   if (pat.regexps.size() == 0) {
+      return true;
+   }
+   
+   for(unsigned int i=0;i<deps.size();i++) {
+      if (regexec(pat.regexps[0], deps[i].name, 0, NULL, 0) == 0) {
+	 return true;
+      }
+   }
+   return false;
+}
+bool RPatternPackageFilter::filterOrigin(Pattern pat, RPackage *pkg)
+{
+   bool found = false;
+   string origin;
+   origin = pkg->getCandidateOriginSiteUrl();
+
+   if (pat.regexps.size() == 0) {
+      return true;
+   }
+   
+   if(regexec(pat.regexps[0],origin.c_str(), 0, NULL, 0) == 0) {
+      found = true;
+   } 
+
+   return found;
+}
+
+bool RPatternPackageFilter::filterComponent(Pattern pat, RPackage *pkg)
+{
+   bool found = false;
+   string origin;
+   origin = pkg->component();
+
+   if (pat.regexps.size() == 0) {
+      return true;
+   }
+   
+   if(regexec(pat.regexps[0],origin.c_str(), 0, NULL, 0) == 0) {
+      found = true;
+   } 
+
+   return found;
+}
+
+bool RPatternPackageFilter::filter(RPackage *pkg)
+{
+   bool found;
+   //   bool and_mode = _config->FindB("Synaptic::Filters::andMode", true);
+   bool globalfound = and_mode;
+   bool useregexp = _config->FindB("Synaptic::UseRegexp", false);
+
+   if (_patterns.size() == 0)
+      return true;
+
+   for (vector<Pattern>::const_iterator iter = _patterns.begin();
+        iter != _patterns.end(); iter++) {
+      
+      Pattern pat = (*iter);
+      switch(iter->where) {
+      case Name:
+	 found = filterName(pat, pkg);
+	 break;
+      case Description:
+	 found = filterDescription(pat, pkg);
+	 break;
+      case Maintainer:
+	 found = filterMaintainer(pat, pkg);
+	 break;
+      case Version:
+	 found = filterVersion(pat,pkg);
+	 break;
+      case Depends:
+	 found = filterDepends(pat, pkg, pkgCache::Dep::Depends);
+	 break;
+      case Conflicts:
+	 found = filterDepends(pat, pkg, pkgCache::Dep::Conflicts);
+	 break;
+      case Replaces:
+	 found = filterDepends(pat, pkg, pkgCache::Dep::Replaces);
+	 break;
+      case Recommends:
+	 found =  filterDepends(pat, pkg, pkgCache::Dep::Recommends);
+	 break;
+      case Suggests:
+	 found = filterDepends(pat, pkg, pkgCache::Dep::Suggests);
+	 break;
+      case Provides:
+	 found = filterProvides(pat, pkg);
+	 break;
+      case RDepends:
+	 found = filterRDepends(pat, pkg);
+	 break;
+      case Origin:
+	 found = filterOrigin(pat, pkg);
+	 break;
+      case Component:
+	 found = filterComponent(pat, pkg);
+	 break;
+      default:
+	 cerr << "unknown pattern package filter (shouldn't happen) " << endl;
+      }
+
+      // each filter is applied in AND fasion
+      // that means a include depends "mono" and include name "sharp"
+      // results in all packages that depends on "mono" AND have sharp in name
+      if (iter->exclusive) {
+         found = !found;
+      }
+
+      if(and_mode)
+	 globalfound &= found;
+      else
+	 globalfound |= found;
+   }
+
+   return globalfound;
+}
+
+
+void RPatternPackageFilter::addPattern(DepType type, string pattern,
+                                       bool exclusive)
+{
+   //cout << "adding pattern: " << pattern << endl;
+   Pattern pat;
+   pat.where = type;
+   pat.pattern = pattern;
+   pat.exclusive = exclusive;
+
+   // compile the regexps
+   string S;
+   const char *C = pattern.c_str();
+
+   vector<regex_t *> regexps;
+   while (*C != 0) {
+      if (ParseQuoteWord(C, S) == true) {
+         regex_t *reg = new regex_t;
+         if (regcomp(reg, S.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB) !=
+             0) {
+            cerr << "regexp compilation error" << endl;
+            for (unsigned int i = 0; i < regexps.size(); i++) {
+               regfree(regexps[i]);
+            }
+            return;
+         }
+         regexps.push_back(reg);
+      }
+   }
+   pat.regexps = regexps;
+
+   _patterns.push_back(pat);
+}
+
+
+bool RPatternPackageFilter::write(ofstream &out, string pad)
+{
+   DepType type;
+   string pat;
+   bool excl;
+
+   out << pad + "andMode " << and_mode << ";" << endl;
+
+   out << pad + "patterns {" << endl;
+
+   for (int i = 0; i < count(); i++) {
+      getPattern(i, type, pat, excl);
+      out << pad + "  " + TypeName[(int)type] + ";"
+         << " \"" << pat << "\"; " << (excl ? "true;" : "false;") << endl;
+   }
+
+   out << pad + "};" << endl;
+
+   return true;
+}
+
+
+bool RPatternPackageFilter::read(Configuration &conf, string key)
+{
+   const Configuration::Item *top;
+   DepType type;
+   string pat;
+   bool excl;
+
+   and_mode = conf.FindB(key + "::andMode", true);
+
+   top = conf.Tree(string(key + "::patterns").c_str());
+   if (top == NULL)
+      return true;
+
+   top = top->Child;
+   while (top) {
+      int i;
+      for (i = 0; TypeName[i] && top->Value != TypeName[i]; i++) 
+	 /* nothing */
+	 ;
+
+      type = (DepType) i;
+      top = top->Next;
+      pat = top->Value;
+      top = top->Next;
+      excl = top->Value == "true";
+      top = top->Next;
+
+      if(TypeName[i] != NULL)
+	 addPattern(type, pat, excl);
+      
+   }
+
+   return true;
+}
+
+// copy constructor
+RPatternPackageFilter::RPatternPackageFilter(RPatternPackageFilter &f)
+{
+   //cout << "RPatternPackageFilter(&RPatternPackageFilter f)" << endl;
+   for (unsigned int i = 0; i < f._patterns.size(); i++) {
+      addPattern(f._patterns[i].where,
+                 f._patterns[i].pattern, f._patterns[i].exclusive);
+   }
+   f.and_mode = and_mode;
+}
+
+void RPatternPackageFilter::clear()
+{
+   // give back all the memory
+   for (unsigned int i = 0; i < _patterns.size(); i++) {
+      for (unsigned int j = 0; j < _patterns[i].regexps.size(); j++) {
+         regfree(_patterns[i].regexps[j]);
+         delete(regex_t *) _patterns[i].regexps[j];
+      }
+   }
+
+   _patterns.erase(_patterns.begin(), _patterns.end());
+}
+
+
+RPatternPackageFilter::~RPatternPackageFilter()
+{
+   //cout << "RPatternPackageFilter::~RPatternPackageFilter()" << endl;
+
+   this->clear();
+}
+
+
+
+
+bool RStatusPackageFilter::filter(RPackage *pkg)
+{
+   int flags = pkg->getFlags();
+
+   if (_status & MarkKeep) {
+      if (flags & RPackage::FKeep)
+         return true;
+   }
+
+   if (_status & MarkInstall) {
+      // this is a bit of a hack (to include reinstall here)
+      // it would be better to seperate this 
+      if ((flags & RPackage::FInstall) || (flags & RPackage::FReInstall))
+         return true;
+   }
+
+   if (_status & MarkRemove) {
+      if (flags & RPackage::FRemove)
+         return true;
+   }
+
+   if (_status & Installed) {
+      if (flags & RPackage::FInstalled)
+         return true;
+   }
+
+   if (_status & NotInstalled) {
+      if (!(flags & RPackage::FInstalled))
+         return true;
+   }
+
+   if (_status & Broken) {
+      if (flags & RPackage::FNowBroken || pkg->wouldBreak())
+         return true;
+   }
+
+   if (_status & Upgradable) {
+      if (flags & RPackage::FOutdated)
+         return true;
+   }
+
+   if (_status & UpstreamUpgradable) {
+      if (flags & RPackage::FOutdated) {
+	 char *s;
+	 char instVer[301];
+	 char availVer[301];
+	 strncpy(instVer, pkg->installedVersion(), 300);
+	 strncpy(availVer, pkg->availableVersion(), 300);
+	 
+	 // strip from last "-" on
+	 s = rindex(instVer,'-');
+	 if(s != NULL)
+	    *s = '\0';
+	 s = rindex(availVer,'-');
+	 if(s != NULL)
+	    *s = '\0';
+
+	 if(strcmp(instVer,availVer) != 0)
+	    return true;
+      }
+   }
+
+   if (_status & NewPackage) {
+      if (flags & RPackage::FNew)
+         return true;
+   }
+
+   if (_status & OrphanedPackage) {
+      if (flags & RPackage::FOrphaned)
+         return true;
+   }
+
+   if (_status & PinnedPackage) {
+      if (flags & RPackage::FPinned)
+         return true;
+   }
+
+   if (_status & ResidualConfig) {
+      if (flags & RPackage::FResidualConfig) {
+         return true;
+      }
+   }
+
+   if (_status & NotInstallable) {
+      if (flags & RPackage::FNotInstallable)
+         return true;
+   }
+
+   if (_status & AutoInstalled) {
+      if (flags & RPackage::FIsAuto)
+         return true;
+   }
+
+   if (_status & Garbage) {
+      if (flags & RPackage::FIsGarbage)
+         return true;
+   }
+
+   if (_status & NowPolicyBroken) {
+      if (!(flags & RPackage::FInstalled))
+      {
+	 pkgCache::DepIterator D;
+	 bool inOr = false;
+	 // FIXME: or-dependencies are not considered properly
+	 for (D = pkg->package()->RevDependsList(); D.end() == false; D++)
+	 {	    
+	    if ((D->CompareOp & pkgCache::Dep::Or) == pkgCache::Dep::Or)
+	       inOr = true;
+	    else
+	       inOr = false;
+	    pkgCache::PkgIterator parent = D.ParentPkg();
+	    if(parent->CurrentVer != 0)
+	    {
+	       RPackage *p = pkg->_lister->getPackage(parent);
+	       if(p != NULL)
+		  if(p->getFlags() & RPackage::FNowPolicyBroken)
+		     return true;
+	    }
+	 }
+      }
+   }
+
+   if (_status & ManualInstalled) {
+      if ( !(flags & RPackage::FIsAuto) && 
+            (flags & RPackage::FInstalled))
+         return true;
+   }
+
+   return false;
+}
+
+
+bool RStatusPackageFilter::write(ofstream &out, string pad)
+{
+   char buf[16];
+
+   snprintf(buf, sizeof(buf), "0x%x", _status);
+
+   out << pad + "flags" + " " << buf << ";" << endl;
+   return true;
+}
+
+bool RStatusPackageFilter::read(Configuration &conf, string key)
+{
+   _status = conf.FindI(key + "::flags", 0xffffff);
+   return true;
+}
+
+
+bool RPriorityPackageFilter::filter(RPackage *pkg)
+{
+   return true;
+}
+
+// mvo: FIXME!
+bool RPriorityPackageFilter::write(ofstream &out, string pad)
+{
+   return true;
+}
+
+// mvo: FIXME!
+bool RPriorityPackageFilter::read(Configuration &conf, string key)
+{
+   return true;
+}
+
+RReducedViewPackageFilter::~RReducedViewPackageFilter()
+{
+   if (_hide_regex.empty() == false) {
+      for (vector<regex_t *>::const_iterator I = _hide_regex.begin();
+           I != _hide_regex.end(); I++) {
+         delete *I;
+      }
+   }
+}
+
+// Filter out all packages for which there are ShowDependencies that
+// are not installed.
+bool RReducedViewPackageFilter::filter(RPackage *pkg)
+{
+   const char *name = pkg->name();
+   if (_hide.empty() == false && _hide.find(name) != _hide.end())
+      return false;
+   if (_hide_wildcard.empty() == false) {
+      for (vector<string>::const_iterator I = _hide_wildcard.begin();
+           I != _hide_wildcard.end(); I++) {
+         if (fnmatch(I->c_str(), name, 0) == 0)
+            return false;
+      }
+   }
+   if (_hide_regex.empty() == false) {
+      for (vector<regex_t *>::const_iterator I = _hide_regex.begin();
+           I != _hide_regex.end(); I++) {
+         if (regexec(*I, name, 0, 0, 0) == 0)
+            return false;
+      }
+   }
+   return true;
+}
+
+void RReducedViewPackageFilter::addFile(string FileName)
+{
+   FileFd F(FileName, FileFd::ReadOnly);
+   if (_error->PendingError()) {
+      _error->Error("Internal Error: Could not open ReducedView file %s",
+                    FileName.c_str());
+      return;
+   }
+   pkgTagFile Tags(&F);
+   pkgTagSection Section;
+
+   string S;
+   const char *C;
+   while (Tags.Step(Section)) {
+      string Name = Section.FindS("Name");
+      string Match = Section.FindS("Match");
+      string ReducedView = Section.FindS("ReducedView");
+      if (Name.empty() == true || ReducedView.empty() == true)
+         continue;
+
+      C = ReducedView.c_str();
+      if (ParseQuoteWord(C, S) && S == "hide") {
+         if (Match.empty() == true || Match == "exact") {
+            _hide.insert(Name);
+         } else if (Match == "wildcard") {
+            _hide_wildcard.push_back(Name);
+         } else if (Match == "regex") {
+            regex_t *ptrn = new regex_t;
+            if (regcomp(ptrn, Name.c_str(),
+                        REG_EXTENDED | REG_ICASE | REG_NOSUB) != 0) {
+               _error->
+                  Warning(_
+                          ("Bad regular expression '%s' in ReducedView file."),
+                          Name.c_str());
+               delete ptrn;
+            } else
+               _hide_regex.push_back(ptrn);
+         }
+      }
+   }
+}
+
+bool RReducedViewPackageFilter::write(ofstream &out, string pad)
+{
+   out << pad + "enabled " << (_enabled ? "true" : "false") << ";" << endl;
+   return true;
+}
+
+bool RReducedViewPackageFilter::read(Configuration &conf, string key)
+{
+   _enabled = conf.FindB(key + "::enabled");
+   if (_enabled == true) {
+      string FileName = _config->Find("Synaptic::ReducedViewFile",
+                                      "/etc/apt/metadata");
+      if (FileExists(FileName))
+         addFile(FileName);
+   }
+   return true;
+}
+
+bool RFilePackageFilter::addFile(string file)
+{
+  char str[255];
+  filename = file;
+  ifstream in(file.c_str());
+  if(!in) 
+     return false;
+  while(in) {
+     in.getline(str, 255);  
+     pkgs.insert(pkgs.begin(), string(str));
+  }
+  in.close();
+}
+
+bool RFilePackageFilter::filter(RPackage *pkg)
+{
+   if (pkgs.size() == 0)
+      return true;
+   return pkgs.find(pkg->name()) != pkgs.end();
+}
+
+bool RFilePackageFilter::write(ofstream &out, string pad)
+{
+   out << pad + "file {" << endl;
+   out << pad + "  \"" << filename << "\"; " << endl;
+   out << pad + "};" << endl;
+   return true;
+}
+
+bool RFilePackageFilter::read(Configuration &conf, string key)
+{
+   const Configuration::Item *top;
+
+   reset();
+
+   top = conf.Tree(string(key + "::file").c_str());
+   if (top != NULL) {
+      for (top = top->Child; top != NULL; top = top->Next)
+	 filename = top->Value;
+   }
+
+   return true;
+}
+
+bool RFilter::apply(RPackage *package)
+{
+   if (!status.filter(package))
+      return false;
+
+   if (!pattern.filter(package))
+      return false;
+
+   if (!section.filter(package))
+      return false;
+
+   if (!priority.filter(package))
+      return false;
+
+   if (!reducedview.filter(package))
+      return false;
+
+   if (!file.filter(package))
+      return false;
+
+   return true;
+}
+
+
+void RFilter::reset()
+{
+   section.reset();
+   status.reset();
+   pattern.reset();
+   priority.reset();
+   reducedview.reset();
+}
+
+void RFilter::setName(string s)
+{
+   if (s.empty()) {
+      cerr <<
+         "Internal Error: empty filter name!? should _never_ happen, please report"
+         << endl;
+      name = "unknown";
+   } else {
+      if (s.length() > 55) {
+         cerr << "Internal Error: filter name is longer than 55 chars!? "
+            "Will be truncated.Please report" << endl;
+         s.resize(55);
+         name = s;
+      } else {
+         name = s;
+      }
+   }
+}
+
+string RFilter::getName()
+{
+   // Return name with i18n conversion. Filters names are saved without i18n.
+   return _(name.c_str());
+}
+
+bool RFilter::read(Configuration &conf, string key)
+{
+   bool res = true;
+
+   //cout << "reading filter "<< name << endl;
+
+   res &= section.read(conf, key + "::section");
+   res &= status.read(conf, key + "::status");
+   res &= pattern.read(conf, key + "::pattern");
+   res &= priority.read(conf, key + "::priority");
+   res &= reducedview.read(conf, key + "::reducedview");
+
+   return res;
+}
+
+
+bool RFilter::write(ofstream &out)
+{
+   bool res = true;
+
+   //cout <<"writing filter: \""<<name<<"\""<<endl;
+
+   if (name.empty()) {
+      if (getenv("DEBUG_SYNAPTIC"))
+         abort();
+
+      name = "?";
+   }
+
+   out << "filter \"" << name << "\" {" << endl;
+   string pad = "  ";
+
+   out << pad + "section {" << endl;
+   res &= section.write(out, pad + "  ");
+   out << pad + "};" << endl;
+
+   out << pad + "status {" << endl;
+   res &= status.write(out, pad + "  ");
+   out << pad + "};" << endl;
+
+   out << pad + "pattern {" << endl;
+   res &= pattern.write(out, pad + "  ");
+   out << pad + "};" << endl;
+
+   out << pad + "priority {" << endl;
+   res &= priority.write(out, pad + "  ");
+   out << pad + "};" << endl;
+
+   out << pad + "reducedview {" << endl;
+   res &= reducedview.write(out, pad + "  ");
+   out << pad + "};" << endl;
+
+   out << "};" << endl;
+
+   return res;
+}
+
+
+
+// vim:sts=3:sw=3

=== added file 'common/rpackagefilter.h'
--- common/rpackagefilter.h	1970-01-01 00:00:00 +0000
+++ common/rpackagefilter.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,326 @@
+/* rpackagefilter.h - filters for package listing
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ *               2002 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef _RPACKAGEFILTER_H_
+#define _RPACKAGEFILTER_H_
+
+#include <set>
+#include <vector>
+#include <string>
+#include <fstream>
+#include <iostream>
+#include <apt-pkg/tagfile.h>
+
+#include <regex.h>
+
+#include "rpackagelister.h"
+
+using namespace std;
+
+class RPackage;
+class RPackageLister;
+
+class Configuration;
+
+
+class RPackageFilter {
+
+
+   public:
+
+   virtual const char *type() = 0;
+
+   virtual bool filter(RPackage *pkg) = 0;
+   virtual void reset() = 0;
+
+   virtual bool read(Configuration &conf, string key) = 0;
+   virtual bool write(ofstream &out, string pad) = 0;
+
+   RPackageFilter() {};
+   virtual ~RPackageFilter() {};
+};
+
+
+extern const char *RPFSection;
+
+class RSectionPackageFilter : public RPackageFilter {
+   
+   protected:
+
+   vector<string> _groups;
+   bool _inclusive;             // include or exclude the packages
+
+   public:
+
+   RSectionPackageFilter() : _inclusive(false) {};
+   virtual ~RSectionPackageFilter() {};
+
+   inline virtual void reset() {
+      clear();
+      _inclusive = false;
+   };
+
+   inline virtual const char *type() { return RPFSection; };
+
+   void setInclusive(bool flag) { _inclusive = flag; };
+   bool inclusive();
+
+   inline void addSection(string group) { _groups.push_back(group); };
+   int count();
+   string section(int index);
+   void clear();
+
+   virtual bool filter(RPackage *pkg);
+   virtual bool read(Configuration &conf, string key);
+   virtual bool write(ofstream &out, string pad);
+};
+
+extern const char *RPFPattern;
+
+class RPatternPackageFilter : public RPackageFilter {
+ public:
+   typedef enum {
+      Name,
+      Description,
+      Maintainer,
+      Version,
+      Depends,
+      Provides,
+      Conflicts,
+      Replaces,                 // (or obsoletes)
+      Recommends,
+      Suggests,
+      RDepends,                  // reverse depends
+      Origin,                   // package origin (like security.debian.org)
+      Component                   // package component (e.g. main)
+   } DepType;
+
+   
+ protected:
+   struct Pattern {
+      DepType where;
+      string pattern;
+      bool exclusive;
+        vector<regex_t *> regexps;
+   };
+   vector<Pattern> _patterns;
+   
+   bool and_mode; // patterns are applied in "AND" mode if true, "OR" if false
+
+   inline bool filterName(Pattern pat, RPackage *pkg);
+   inline bool filterVersion(Pattern pat, RPackage *pkg);
+   inline bool filterDescription(Pattern pat, RPackage *pkg);
+   inline bool filterMaintainer(Pattern pat, RPackage *pkg);
+   inline bool filterDepends(Pattern pat, RPackage *pkg, 
+			     pkgCache::Dep::DepType filterType);
+   inline bool filterProvides(Pattern pat, RPackage *pkg);
+   inline bool filterRDepends(Pattern pat, RPackage *pkg);
+   inline bool filterOrigin(Pattern pat, RPackage *pkg);
+   inline bool filterComponent(Pattern pat, RPackage *pkg);
+
+ public:
+
+   static const char *TypeName[];
+
+   RPatternPackageFilter() : and_mode(true) {};
+   RPatternPackageFilter(RPatternPackageFilter &f);
+   virtual ~RPatternPackageFilter();
+
+   inline virtual void reset() { clear(); };
+
+   inline virtual const char *type() { return RPFPattern; };
+
+   void addPattern(DepType type, string pattern, bool exclusive);
+   inline int count() { return _patterns.size(); };
+   inline void getPattern(int index, DepType &type, string &pattern,
+                          bool &exclusive) {
+      type = _patterns[index].where;
+      pattern = _patterns[index].pattern;
+      exclusive = _patterns[index].exclusive;
+   };
+   void clear();
+   bool getAndMode() { return and_mode; };
+   void setAndMode(bool b) { and_mode=b; };
+
+   virtual bool filter(RPackage *pkg);
+   virtual bool read(Configuration &conf, string key);
+   virtual bool write(ofstream &out, string pad);
+};
+
+
+extern const char *RPFStatus;
+
+class RStatusPackageFilter : public RPackageFilter {
+
+   protected:
+      
+   int _status;
+
+   public:
+
+   enum Types {
+      Installed = 1 << 0,
+      Upgradable = 1 << 1,      // installed but upgradable
+      Broken = 1 << 2,          // installed but dependencies are broken
+      NotInstalled = 1 << 3,
+      MarkInstall = 1 << 4,
+      MarkRemove = 1 << 5,
+      MarkKeep = 1 << 6,
+      NewPackage = 1 << 7,      // new Package (after update)
+      PinnedPackage = 1 << 8,   // pinned Package (never upgrade)
+      OrphanedPackage = 1 << 9, // orphaned (identfied with deborphan)
+      ResidualConfig = 1 << 10, // not installed but has config left
+      NotInstallable = 1 << 11,  // the package is not aviailable in repository
+      UpstreamUpgradable = 1 << 12, // new upstream version
+      AutoInstalled = 1 << 13, // automatically installed
+      Garbage = 1 << 14, // automatically installed and no longer required
+      NowPolicyBroken = 1 << 15,
+      ManualInstalled = 1 << 16,  // !AutoInstalled
+   };
+
+   RStatusPackageFilter() : _status(~0)
+   {};
+   inline virtual void reset() { _status = ~0; };
+
+   inline virtual const char *type() { return RPFStatus; };
+
+   inline void setStatus(int status) { _status = status; };
+   inline int status() { return _status; };
+
+   virtual bool filter(RPackage *pkg);
+   virtual bool read(Configuration &conf, string key);
+   virtual bool write(ofstream &out, string pad);
+};
+
+
+extern const char *RPFPriority;
+
+class RPriorityPackageFilter:public RPackageFilter {
+
+   public:
+
+   RPriorityPackageFilter()  {};
+
+   inline virtual void reset() {};
+
+   inline virtual const char *type() { return RPFPriority; };
+
+   virtual bool filter(RPackage *pkg);
+   virtual bool read(Configuration &conf, string key);
+   virtual bool write(ofstream &out, string pad);
+};
+
+
+extern const char *RPFReducedView;
+
+class RReducedViewPackageFilter : public RPackageFilter {
+
+   protected:
+
+   bool _enabled;
+
+   set<string> _hide;
+   vector<string> _hide_wildcard;
+   vector<regex_t *> _hide_regex;
+
+   void addFile(string FileName);
+
+   public:
+
+   RReducedViewPackageFilter() : _enabled(false) {};
+   ~RReducedViewPackageFilter();
+
+   inline virtual void reset() { _hide.clear(); };
+
+   inline virtual const char *type() { return RPFReducedView; };
+
+   virtual bool filter(RPackage *pkg);
+   virtual bool read(Configuration &conf, string key);
+   virtual bool write(ofstream &out, string pad);
+
+   void enable() { _enabled = true; };
+   void disable() { _enabled = false; };
+};
+
+extern const char *RPFFile;
+
+class RFilePackageFilter : public RPackageFilter {
+   
+   protected:
+
+   string filename;
+   set<string> pkgs;
+
+   public:
+
+   RFilePackageFilter() {};
+   virtual ~RFilePackageFilter() {};
+
+   inline virtual void reset() {};
+   inline virtual const char *type() { return RPFFile; };
+
+   bool addFile(string file);
+
+   virtual bool filter(RPackage *pkg);
+   virtual bool read(Configuration &conf, string key);
+   virtual bool write(ofstream &out, string pad);
+};
+
+
+struct RFilter {
+
+   public:
+
+   RFilter()
+      :   section(), pattern(), status(),
+          priority(), reducedview(), preset()
+   {};
+
+   void setName(string name);
+   string getName();
+
+   bool read(Configuration &conf, string key);
+   bool write(ofstream &out);
+   bool apply(RPackage *package);
+   void reset();
+
+   RSectionPackageFilter section;
+   RPatternPackageFilter pattern;
+   RStatusPackageFilter status;
+   RPriorityPackageFilter priority;
+   RReducedViewPackageFilter reducedview;
+   RFilePackageFilter file;
+
+   bool preset;
+
+   protected:
+
+   string name;
+};
+
+
+#endif
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackagelistactor.cc'
--- common/rpackagelistactor.cc	1970-01-01 00:00:00 +0000
+++ common/rpackagelistactor.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,37 @@
+
+#include "rpackagelistactor.h"
+#include "rpackagelister.h"
+#include "i18n.h"
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/tagfile.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/configuration.h>
+#include <algorithm>
+#include <fnmatch.h>
+
+void RPackageListActor::notifyPostFilteredChange()
+{
+   vector<RPackage *> removedList;
+   vector<RPackage *> insertedList;
+
+   const vector<RPackage *> &currentList = _lister->getViewPackages();
+
+   removedList = _lastDisplayList;
+
+   vector<RPackage *>::iterator I;
+   for (unsigned int i = 0; i < currentList.size(); i++) {
+      I = find(removedList.begin(), removedList.end(), currentList[i]);
+      if (I != removedList.end())
+	 removedList.erase(I);
+      else
+         insertedList.push_back(currentList[i]);
+   }
+
+   if (removedList.empty() == false)
+      run(removedList, PKG_REMOVED);
+   if (insertedList.empty() == false)
+      run(insertedList, PKG_ADDED);
+}
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackagelistactor.h'
--- common/rpackagelistactor.h	1970-01-01 00:00:00 +0000
+++ common/rpackagelistactor.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,71 @@
+/* rcacheactor.h
+ * 
+ * Copyright (c) 2003 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Michael Vogt <mvo@debian.org>
+ * 
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef RPACKAGELISTACTOR_H
+#define RPACKAGELISTACTOR_H
+
+#include "rpackagelister.h"
+#include <iostream>
+
+class RPackageListActor : public RPackageObserver {
+
+   public:
+
+   enum listEvent {
+      PKG_ADDED,
+      PKG_REMOVED
+   };
+
+   protected:
+
+   RPackageLister *_lister;
+   vector<RPackage *> _lastDisplayList;
+
+   public:
+
+   virtual void run(vector<RPackage *> &List, int listEvent) = 0;
+
+   virtual void notifyPreFilteredChange() {
+      updateState();
+   };
+
+   virtual void notifyPostFilteredChange();
+   virtual void notifyChange(RPackage *pkg) {};
+
+   virtual void updateState() {
+      _lastDisplayList = _lister->getPackages();
+   };
+
+   RPackageListActor(RPackageLister *lister)
+         : _lister(lister) {
+      _lister->registerObserver(this);
+   };
+
+   virtual ~RPackageListActor() {
+      _lister->unregisterObserver(this);
+   };
+};
+
+
+#endif
+
+// vim:sts=3:sw=3

=== added file 'common/rpackagelister.cc'
--- common/rpackagelister.cc	1970-01-01 00:00:00 +0000
+++ common/rpackagelister.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,2073 @@
+/* rpackagelister.cc - package cache and list manipulation
+ * 
+ * Copyright (c) 2000-2003 Conectiva S/A 
+ *               2002-2004 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ * 
+ * Portions Taken from apt-get
+ *   Copyright (C) Jason Gunthorpe
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include "config.h"
+
+#include <cassert>
+#include <stdlib.h>
+#include <unistd.h>
+#include <map>
+#include <sstream>
+#include <dirent.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <time.h>
+#include <algorithm>
+
+#include "rpackagelister.h"
+#include "rpackagecache.h"
+#include "rpackagefilter.h"
+#include "rconfiguration.h"
+#include "raptoptions.h"
+#include "rinstallprogress.h"
+#include "rcacheactor.h"
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/progress.h>
+#include <apt-pkg/algorithms.h>
+#include <apt-pkg/pkgrecords.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/acquire.h>
+#include <apt-pkg/acquire-item.h>
+#include <apt-pkg/clean.h>
+#include <apt-pkg/version.h>
+
+#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/pkgsystem.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/md5.h>
+#ifndef HAVE_RPM
+#include <apt-pkg/debfile.h>
+#endif
+
+#ifdef WITH_LUA
+#include <apt-pkg/luaiface.h>
+#endif
+
+#include <algorithm>
+#include <cstdio>
+
+#include "sections_trans.h"
+
+#include "i18n.h"
+
+using namespace std;
+
+RPackageLister::RPackageLister()
+   : _records(0), _progMeter(new OpProgress)
+#ifdef WITH_EPT
+   , _xapianDatabase(0)
+#endif
+{
+   _cache = new RPackageCache();
+
+   _searchData.pattern = NULL;
+   _searchData.isRegex = false;
+   _viewMode = _config->FindI("Synaptic::ViewMode", 0);
+   _updating = true;
+   _sortMode = LIST_SORT_DEFAULT;
+
+   // keep order in sync with rpackageview.h 
+   _views.push_back(new RPackageViewSections(_packages));
+   _views.push_back(new RPackageViewStatus(_packages));
+   _views.push_back(new RPackageViewOrigin(_packages));
+   _filterView = new RPackageViewFilter(_packages);
+   _views.push_back(_filterView);
+   _searchView =  new RPackageViewSearch(_packages);
+   _views.push_back(_searchView);
+   //_views.push_back(new RPackageViewAlphabetic(_packages));
+#ifdef WITH_EPT
+   openXapianIndex();
+#endif
+
+   if (_viewMode >= _views.size())
+      _viewMode = 0;
+   _selectedView = _views[_viewMode];
+
+   memset(&_searchData, 0, sizeof(_searchData));
+
+   _pkgStatus.init();
+
+   cleanCommitLog();
+#if 0
+   string Recommends = _config->Find("Synaptic::RecommendsFile",
+                                     "/etc/apt/metadata");
+   if (FileExists(Recommends))
+      _actors.push_back(new RCacheActorRecommends(this, Recommends));
+#endif
+}
+
+RPackageLister::~RPackageLister()
+{
+   for (vector<RCacheActor *>::iterator I = _actors.begin();
+        I != _actors.end(); I++)
+      delete(*I);
+
+   delete _cache;
+}
+
+void RPackageLister::setView(unsigned int index)
+{
+   // only save this config if it is not a search
+   if(index != PACKAGE_VIEW_SEARCH)
+      _config->Set("Synaptic::ViewMode", index);
+
+   if(index < _views.size())
+      _selectedView = _views[index];
+   else
+      _selectedView = _views[0];
+}
+
+vector<string> RPackageLister::getViews()
+{
+   vector<string> views;
+   for (unsigned int i = 0; i != _views.size(); i++)
+      views.push_back(_views[i]->getName());
+   return views;
+}
+
+vector<string> RPackageLister::getSubViews()
+{
+   return _selectedView->getSubViews();
+}
+
+bool RPackageLister::setSubView(string newSubView)
+{
+   if(_config->FindB("Debug::Synaptic::View",false))
+      ioprintf(clog, "RPackageLister::setSubView(): newSubView '%s'\n", 
+	       newSubView.size() > 0 ? newSubView.c_str() : "(empty)");
+
+   if(newSubView.empty())
+      _selectedView->showAll();
+   else
+      _selectedView->setSelected(newSubView);
+
+   notifyChange(NULL);
+
+   if(_config->FindB("Debug::Synaptic::View",false))
+      ioprintf(clog, "/RPackageLister::setSubView(): newSubView '%s'\n", 
+	       newSubView.size() > 0 ? newSubView.c_str() : "(empty)");
+
+   return true;
+}
+
+static string getServerErrorMessage(string errm)
+{
+   string msg;
+   string::size_type pos = errm.find("server said");
+   if (pos != string::npos) {
+      msg = string(errm.c_str() + pos + sizeof("server said"));
+      if (msg[0] == ' ')
+         msg = msg.c_str() + 1;
+   }
+   return msg;
+}
+
+void RPackageLister::notifyPreChange(RPackage *pkg)
+{
+   for (vector<RPackageObserver *>::const_iterator I =
+        _packageObservers.begin(); I != _packageObservers.end(); I++) {
+      (*I)->notifyPreFilteredChange();
+   }
+}
+
+void RPackageLister::notifyPostChange(RPackage *pkg)
+{
+   if(_config->FindB("Debug::Synaptic::View",false))
+      ioprintf(clog, "RPackageLister::notifyPostChange(): '%s'\n",
+	       pkg == NULL ? "NULL" : pkg->name());
+
+   reapplyFilter();
+
+   for (vector<RPackageObserver *>::const_iterator I =
+        _packageObservers.begin(); I != _packageObservers.end(); I++) {
+      (*I)->notifyPostFilteredChange();
+   }
+
+   if (pkg != NULL) {
+      for (vector<RPackageObserver *>::const_iterator I =
+           _packageObservers.begin(); I != _packageObservers.end(); I++) {
+         (*I)->notifyChange(pkg);
+      }
+   }
+}
+
+void RPackageLister::notifyChange(RPackage *pkg)
+{
+   notifyPreChange(pkg);
+   notifyPostChange(pkg);
+}
+
+void RPackageLister::unregisterObserver(RPackageObserver *observer)
+{
+
+   vector<RPackageObserver *>::iterator I;
+   I = find(_packageObservers.begin(), _packageObservers.end(), observer);
+   if (I != _packageObservers.end())
+      _packageObservers.erase(I);
+}
+
+void RPackageLister::registerObserver(RPackageObserver *observer)
+{
+   _packageObservers.push_back(observer);
+}
+
+
+void RPackageLister::notifyCacheOpen()
+{
+   undoStack.clear();
+   redoStack.clear();
+   for (vector<RCacheObserver *>::const_iterator I =
+        _cacheObservers.begin(); I != _cacheObservers.end(); I++) {
+      (*I)->notifyCacheOpen();
+   }
+
+}
+
+void RPackageLister::notifyCachePreChange()
+{
+   for (vector<RCacheObserver *>::const_iterator I =
+        _cacheObservers.begin(); I != _cacheObservers.end(); I++) {
+      (*I)->notifyCachePreChange();
+   }
+}
+
+void RPackageLister::notifyCachePostChange()
+{
+   for (vector<RCacheObserver *>::const_iterator I =
+        _cacheObservers.begin(); I != _cacheObservers.end(); I++) {
+      (*I)->notifyCachePostChange();
+   }
+}
+
+void RPackageLister::unregisterCacheObserver(RCacheObserver *observer)
+{
+   vector<RCacheObserver *>::iterator I;
+   I = find(_cacheObservers.begin(), _cacheObservers.end(), observer);
+   if (I != _cacheObservers.end())
+      _cacheObservers.erase(I);
+}
+
+void RPackageLister::registerCacheObserver(RCacheObserver *observer)
+{
+   _cacheObservers.push_back(observer);
+}
+
+bool RPackageLister::check()
+{
+   if (_cache->deps() == NULL)
+      return false;
+   // Nothing is broken
+   if (_cache->deps()->BrokenCount() != 0) {
+      return false;
+   }
+
+   return true;
+}
+
+bool RPackageLister::upgradable()
+{
+   return _cache != NULL && _cache->deps() != NULL;
+}
+
+bool RPackageLister::openCache()
+{
+   static bool firstRun = true;
+
+   if(_config->FindB("Debug::Synaptic::View",false))
+      clog << "RPackageLister::openCache()" << endl;
+
+   // Flush old errors
+   _error->Discard();
+
+   // only lock if we run as root
+   bool lock = true;
+   if(getuid() != 0)
+      lock = false;
+
+   if (!_cache->open(*_progMeter,lock)) {
+      _progMeter->Done();
+      _cacheValid = false;
+      return _error->Error("_cache->open() failed, please report.");
+   }
+   _progMeter->Done();
+
+   pkgDepCache *deps = _cache->deps();
+
+   // Apply corrections for half-installed packages
+   if (pkgApplyStatus(*deps) == false) {
+      _cacheValid = false;
+      return _error->Error(_("Internal error opening cache (%d). "
+                             "Please report."), 1);
+   }
+
+   if (_error->PendingError()) {
+      _cacheValid = false;
+      return _error->Error(_("Internal error opening cache (%d). "
+                             "Please report."), 2);
+   }
+
+   if (_records)
+      delete _records;
+   _records = new pkgRecords(*deps);
+
+   if (_error->PendingError()) {
+      _cacheValid = false;
+      return _error->Error(_("Internal error opening cache (%d). "
+                             "Please report."), 3);
+   }
+
+   for (vector<RPackage *>::iterator I = _packages.begin();
+        I != _packages.end(); I++)
+      delete (*I);
+
+   int packageCount = deps->Head().PackageCount;
+   _packages.resize(packageCount);
+
+   _packagesIndex.clear();
+   _packagesIndex.resize(packageCount, -1);
+
+   string pkgName;
+   int count = 0;
+
+   _installedCount = 0;
+
+   map<string, RPackage *> pkgmap;
+   set<string> sectionSet;
+
+   for (unsigned int i = 0; i != _views.size(); i++)
+      _views[i]->clear();
+
+   pkgCache::PkgIterator I;
+   for (I = deps->PkgBegin(); I.end() != true; I++) {
+
+      if (I->CurrentVer != 0)
+         _installedCount++;
+      else if (I->VersionList == 0)
+         continue; // Exclude virtual packages.
+
+      RPackage *pkg = new RPackage(this, deps, _records, I);
+      _packagesIndex[I->ID] = count;
+      _packages[count++] = pkg;
+
+      pkgName = pkg->name();
+
+      pkgmap[pkgName] = pkg;
+
+      // Find out about new packages.
+      if (firstRun) {
+         packageNames.insert(pkgName);
+	 // check for saved-new status
+	 if (_roptions->getPackageNew(pkgName.c_str()))
+	    pkg->setNew(true);
+      } else if (packageNames.find(pkgName) == packageNames.end()) {
+         pkg->setNew();
+         _roptions->setPackageNew(pkgName.c_str());
+         packageNames.insert(pkgName);
+      } else  if (_roptions->getPackageNew(pkgName.c_str())) {
+	 pkg->setNew(true);
+      }
+
+      if (_roptions->getPackageLock(pkgName.c_str())) 
+	 pkg->setPinned(true);
+
+      // Gather list of sections.
+      if (I.Section())
+         sectionSet.insert(I.Section());
+#if 0 // may confuse users
+      else
+         cerr << "Package " << I.Name() << " has no section?!" << endl;
+#endif
+   }
+
+   // Truncate due to virtual packages which were skipped above.
+   _packages.resize(count);
+
+   // refresh the views
+   for (unsigned int i = 0; i != _views.size(); i++)
+      _views[i]->refresh();
+
+   applyInitialSelection();
+
+   _updating = false;
+
+   reapplyFilter();
+
+   // mvo: put it here for now
+   notifyCacheOpen();
+
+   firstRun = false;
+
+   _cacheValid = true;
+   return true;
+}
+
+#ifdef WITH_EPT
+bool RPackageLister::xapianIndexNeedsUpdate()
+{
+   struct stat buf;
+   
+   if(_config->FindB("Debug::Synaptic::Xapian",false))
+      std::cerr << "xapainIndexNeedsUpdate()" << std::endl;
+
+   // check the xapian index
+   if(FileExists("/usr/sbin/update-apt-xapian-index") && 
+      (!_xapianDatabase )) {
+      if(_config->FindB("Debug::Synaptic::Xapian",false))
+	 std::cerr << "xapain index not build yet" << std::endl;
+      return true;
+   } 
+
+   // compare timestamps, rebuild everytime, its now cheap(er) 
+   // because we use u-a-x-i --update
+   stat(_config->FindFile("Dir::Cache::pkgcache").c_str(), &buf);
+   if(ept::axi::timestamp() < buf.st_mtime) {
+      if(_config->FindB("Debug::Synaptic::Xapian",false))
+	 std::cerr << "xapian outdated " 
+		   << buf.st_mtime - ept::axi::timestamp()  << std::endl;
+      return true;
+   }
+
+   return false;
+}
+
+bool RPackageLister::openXapianIndex()
+{
+   if(_xapianDatabase)
+      delete _xapianDatabase;
+   try {
+      _xapianDatabase = new Xapian::Database(ept::axi::path_db());
+   } catch (Xapian::DatabaseOpeningError) {
+      return false;
+   };
+   return true;
+}
+#endif
+
+void RPackageLister::applyInitialSelection()
+{
+   _roptions->rereadOrphaned();
+   _roptions->rereadDebconf();
+
+   for (unsigned i = 0; i < _packages.size(); i++) {
+
+      if (_roptions->getPackageOrphaned(_packages[i]->name()))
+         _packages[i]->setOrphaned(true);
+   }
+}
+
+RPackage *RPackageLister::getPackage(pkgCache::PkgIterator &iter)
+{
+   int index = _packagesIndex[iter->ID];
+   if (index != -1)
+      return _packages[index];
+   return NULL;
+}
+
+RPackage *RPackageLister::getPackage(string name)
+{
+   pkgCache::PkgIterator pkg = _cache->deps()->FindPkg(name);
+   if (pkg.end() == false)
+      return getPackage(pkg);
+   return NULL;
+}
+
+int RPackageLister::getPackageIndex(RPackage *pkg)
+{
+   return _packagesIndex[(*pkg->package())->ID];
+}
+
+int RPackageLister::getViewPackageIndex(RPackage *pkg)
+{
+   return _viewPackagesIndex[(*pkg->package())->ID];
+}
+
+bool RPackageLister::fixBroken()
+{
+   if (_cache->deps() == NULL)
+      return false;
+
+   if (_cache->deps()->BrokenCount() == 0)
+      return true;
+
+   if (pkgFixBroken(*_cache->deps()) == false
+       || _cache->deps()->BrokenCount() != 0)
+      return _error->Error(_("Unable to correct dependencies"));
+   if (pkgMinimizeUpgrade(*_cache->deps()) == false)
+      return _error->Error(_("Unable to mark upgrades\nCheck your system for errors."));
+
+   reapplyFilter();
+
+   return true;
+}
+
+
+bool RPackageLister::upgrade()
+{
+   if (pkgAllUpgrade(*_cache->deps()) == false) {
+      return _error->
+         Error(_("Internal Error, AllUpgrade broke stuff. Please report."));
+   }
+#ifdef WITH_LUA
+   _lua->SetDepCache(_cache->deps());
+   _lua->RunScripts("Scripts::Synaptic::Upgrade", false);
+   _lua->ResetCaches();
+#endif
+
+   //reapplyFilter();
+   notifyChange(NULL);
+
+   return true;
+}
+
+
+bool RPackageLister::distUpgrade()
+{
+   if (pkgDistUpgrade(*_cache->deps()) == false) {
+      cout << _("dist upgrade Failed") << endl;
+      return false;
+   }
+#ifdef WITH_LUA
+   _lua->SetDepCache(_cache->deps());
+   _lua->RunScripts("Scripts::Synaptic::DistUpgrade", false);
+   _lua->ResetCaches();
+#endif
+
+   //reapplyFilter();
+   notifyChange(NULL);
+
+   return true;
+}
+
+void RPackageLister::reapplyFilter()
+{
+   // PORTME
+   if (_updating)
+      return;
+
+   if(_config->FindB("Debug::Synaptic::View",false))
+      clog << "RPackageLister::reapplyFilter()" << endl;
+
+   _selectedView->refresh();
+   _viewPackages.clear();
+   _viewPackagesIndex.clear();
+   _viewPackagesIndex.resize(_packagesIndex.size(), -1);
+
+   for (RPackageView::iterator I = _selectedView->begin();
+        I != _selectedView->end(); I++) {
+      if (*I) {
+         _viewPackagesIndex[(*(*I)->package())->ID] = _viewPackages.size();
+         _viewPackages.push_back(*I);
+      }
+   }
+
+
+   sortPackages(_sortMode);
+}
+
+static const int status_sort_magic = (  RPackage::FInstalled 
+				      | RPackage::FOutdated 
+				      | RPackage::FNew);
+struct statusSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return (x->getFlags() & (status_sort_magic))  <
+	     (y->getFlags() & (status_sort_magic));
+}};
+
+struct instSizeSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return x->installedSize() < y->installedSize();
+}};
+
+struct dlSizeSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return x->availablePackageSize() < y->availablePackageSize();
+}};
+
+struct componentSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return x->component() < y->component();
+}};
+
+struct sectionSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return std::strcmp(x->section(), y->section())<0;
+}};
+
+// version string compare
+int verstrcmp(const char *x, const char *y)
+{
+   if(x && y) 
+      return _system->VS->CmpVersion(x, y) < 0;
+   
+   // if we compare with a non-existring version
+   if(y == NULL)
+      return false;
+   return true;
+}
+
+struct versionSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return verstrcmp(y->availableVersion(),
+		       x->availableVersion());
+   }
+};
+
+struct instVersionSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return verstrcmp(y->installedVersion(),
+		       x->installedVersion());
+}};
+
+struct supportedSortFunc {
+ protected:
+   bool _ascent;
+   RPackageStatus _status;
+ public:
+   supportedSortFunc(bool ascent, RPackageStatus &s) 
+      : _ascent(ascent), _status(s) {};
+   bool operator() (RPackage *x, RPackage *y) {
+      if(_ascent)
+	 return _status.isSupported(y) < _status.isSupported(x);
+      else
+	 return _status.isSupported(y) > _status.isSupported(x);
+   }
+};
+
+struct nameSortFunc {
+   bool operator() (RPackage *x, RPackage *y) {
+      return std::strcmp(x->name(), y->name())<0;
+}};
+
+
+
+void RPackageLister::sortPackages(vector<RPackage *> &packages, 
+				  listSortMode mode)
+{
+   _sortMode = mode;
+   if (packages.empty())
+      return;
+
+   if(_config->FindB("Debug::Synaptic::View",false))
+      clog << "RPackageLister::sortPackages(): " << packages.size() << endl;
+
+   /* Always sort by name to have packages ordered inside another sort 
+    * criteria */
+   sort(packages.begin(), packages.end(), 
+      sortFunc<nameSortFunc>(true));
+
+   switch(mode) {
+   case LIST_SORT_NAME_ASC:
+   case LIST_SORT_DEFAULT:
+      // Do nothing, already done
+      break;
+   case LIST_SORT_NAME_DES:
+      sort(packages.begin(), packages.end(), 
+		  sortFunc<nameSortFunc>(false));
+      break;
+   case LIST_SORT_SIZE_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<instSizeSortFunc>(true));
+      break;
+   case LIST_SORT_SIZE_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<instSizeSortFunc>(false));
+      break;
+   case LIST_SORT_DLSIZE_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<dlSizeSortFunc>(true));
+      break;
+   case LIST_SORT_DLSIZE_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<dlSizeSortFunc>(false));
+      break;
+   case LIST_SORT_COMPONENT_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<componentSortFunc>(true));
+      break;
+   case LIST_SORT_COMPONENT_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<componentSortFunc>(false));
+      break;
+   case LIST_SORT_SECTION_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<sectionSortFunc>(true));
+      break;
+   case LIST_SORT_SECTION_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<sectionSortFunc>(false));
+      break;
+   case LIST_SORT_STATUS_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<statusSortFunc>(true));
+      break;
+   case LIST_SORT_STATUS_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<statusSortFunc>(false));
+      break;
+   case LIST_SORT_SUPPORTED_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  supportedSortFunc(true, _pkgStatus));
+      break;
+   case LIST_SORT_SUPPORTED_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  supportedSortFunc(false, _pkgStatus));
+      break;
+   case LIST_SORT_VERSION_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<versionSortFunc>(true));
+      break;
+   case LIST_SORT_VERSION_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<versionSortFunc>(false));
+      break;
+   case LIST_SORT_INST_VERSION_ASC:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<instVersionSortFunc>(true));
+      break;
+   case LIST_SORT_INST_VERSION_DES:
+      stable_sort(packages.begin(), packages.end(), 
+		  sortFunc<instVersionSortFunc>(false));
+      break;
+   }
+}
+
+int RPackageLister::findPackage(const char *pattern)
+{
+   if (_searchData.isRegex)
+      regfree(&_searchData.regex);
+
+   if (_searchData.pattern)
+      free(_searchData.pattern);
+
+   _searchData.pattern = strdup(pattern);
+
+   if (!_config->FindB("Synaptic::UseRegexp", false) ||
+       regcomp(&_searchData.regex, pattern, REG_EXTENDED | REG_ICASE) != 0) {
+      _searchData.isRegex = false;
+   } else {
+      _searchData.isRegex = true;
+   }
+   _searchData.last = -1;
+
+   return findNextPackage();
+}
+
+
+int RPackageLister::findNextPackage()
+{
+   if (!_searchData.pattern) {
+      if (_searchData.last >= (int)_viewPackages.size())
+         _searchData.last = -1;
+      return ++_searchData.last;
+   }
+
+   int len = strlen(_searchData.pattern);
+
+   for (unsigned i = _searchData.last + 1; i < _viewPackages.size(); i++) {
+      if (_searchData.isRegex) {
+         if (regexec(&_searchData.regex, _viewPackages[i]->name(),
+                     0, NULL, 0) == 0) {
+            _searchData.last = i;
+            return i;
+         }
+      } else {
+         if (strncasecmp(_searchData.pattern, _viewPackages[i]->name(),
+                         len) == 0) {
+            _searchData.last = i;
+            return i;
+         }
+      }
+   }
+   return -1;
+}
+
+void RPackageLister::getStats(int &installed, int &broken,
+                              int &toInstall, int &toReInstall,
+			      int &toRemove,  double &sizeChange)
+{
+   pkgDepCache *deps = _cache->deps();
+
+   if (deps != NULL) {
+      sizeChange = deps->UsrSize();
+      
+      //FIXME: toReInstall not reported?
+      installed = _installedCount;
+      broken = deps->BrokenCount();
+      toInstall = deps->InstCount();
+      toRemove = deps->DelCount();
+   } else
+      sizeChange = installed = broken = toInstall = toRemove = 0;
+}
+
+
+void RPackageLister::getDownloadSummary(int &dlCount, double &dlSize)
+{
+   dlCount = 0;
+   dlSize = _cache->deps()->DebSize();
+
+   pkgAcquire Fetcher;
+   pkgPackageManager *PM = _system->CreatePM(_cache->deps());
+   if (!PM->GetArchives(&Fetcher, _cache->list(), _records)) {
+      delete PM;
+      return;
+   }
+   dlSize = Fetcher.FetchNeeded();
+   delete PM;
+}
+
+
+void RPackageLister::getSummary(int &held, int &kept, int &essential,
+                                int &toInstall, int &toReInstall,
+				int &toUpgrade, int &toRemove,
+                                int &toDowngrade, int &unauthenticated,
+				double &sizeChange)
+{
+   pkgDepCache *deps = _cache->deps();
+   unsigned i;
+
+   held = 0;
+   kept = 0;
+   essential = 0;
+   toInstall = 0;
+   toReInstall = 0;
+   toUpgrade = 0;
+   toDowngrade = 0;
+   toRemove = 0;
+   unauthenticated =0;
+
+   for (i = 0; i < _packages.size(); i++) {
+      int flags = _packages[i]->getFlags();
+
+      // These flags will never be set together.
+      int status = flags & (RPackage::FKeep |
+                            RPackage::FNewInstall |
+                            RPackage::FReInstall |
+                            RPackage::FUpgrade |
+                            RPackage::FDowngrade |
+                            RPackage::FRemove);
+
+#ifdef WITH_APT_AUTH
+      switch(status) {
+      case RPackage::FNewInstall:
+      case RPackage::FInstall:
+      case RPackage::FReInstall:
+      case RPackage::FUpgrade:
+	 if(!_packages[i]->isTrusted()) 
+	    unauthenticated++;
+	 break;
+      }
+#endif
+
+      switch (status) {
+         case RPackage::FKeep:
+            if (flags & RPackage::FHeld)
+               held++;
+            else
+               kept++;
+            break;
+         case RPackage::FNewInstall:
+            toInstall++;
+            break;
+         case RPackage::FReInstall:
+            toReInstall++;
+            break;
+         case RPackage::FUpgrade:
+            toUpgrade++;
+            break;
+         case RPackage::FDowngrade:
+            toDowngrade++;
+            break;
+         case RPackage::FRemove:
+            if (flags & RPackage::FImportant)
+               essential++;
+            toRemove++;
+            break;
+      }
+   }
+
+   sizeChange = deps->UsrSize();
+}
+
+
+
+struct bla:public binary_function<RPackage *, RPackage *, bool> {
+   bool operator() (RPackage *a, RPackage *b) {
+      return strcmp(a->name(), b->name()) < 0;
+   }
+};
+
+void RPackageLister::saveUndoState(pkgState &state)
+{
+   undoStack.push_front(state);
+   redoStack.clear();
+
+#ifdef HAVE_RPM
+   unsigned int maxStackSize = _config->FindI("Synaptic::undoStackSize", 3);
+#else
+   unsigned int maxStackSize = _config->FindI("Synaptic::undoStackSize", 20);
+#endif
+   while (undoStack.size() > maxStackSize)
+      undoStack.pop_back();
+}
+
+void RPackageLister::saveUndoState()
+{
+   pkgState state;
+   saveState(state);
+   saveUndoState(state);
+}
+
+
+void RPackageLister::undo()
+{
+   pkgState state;
+   if (undoStack.empty())
+      return;
+
+   saveState(state);
+   redoStack.push_front(state);
+
+   state = undoStack.front();
+   undoStack.pop_front();
+
+   restoreState(state);
+}
+
+void RPackageLister::redo()
+{
+   //cout << "RPackageLister::redo()" << endl;
+   pkgState state;
+   if (redoStack.empty()) {
+      //cout << "redoStack empty" << endl;
+      return;
+   }
+   saveState(state);
+   undoStack.push_front(state);
+
+   state = redoStack.front();
+   redoStack.pop_front();
+   restoreState(state);
+}
+
+
+#ifdef HAVE_RPM
+void RPackageLister::saveState(RPackageLister::pkgState &state)
+{
+   state.Save(_cache->deps());
+}
+
+void RPackageLister::restoreState(RPackageLister::pkgState &state)
+{
+   state.Restore();
+}
+
+bool RPackageLister::getStateChanges(RPackageLister::pkgState &state,
+                                     vector<RPackage *> &toKeep,
+                                     vector<RPackage *> &toInstall,
+                                     vector<RPackage *> &toReInstall,
+                                     vector<RPackage *> &toUpgrade,
+                                     vector<RPackage *> &toRemove,
+                                     vector<RPackage *> &toDowngrade,
+				     vector<RPackage *> &notAuthenticated,
+                                     vector<RPackage *> &exclude,
+                                     bool sorted)
+{
+   bool changed = false;
+
+   state.UnIgnoreAll();
+   if (exclude.empty() == false) {
+      for (vector<RPackage *>::iterator I = exclude.begin();
+           I != exclude.end(); I++)
+         state.Ignore(*(*I)->package());
+   }
+
+   pkgDepCache &Cache = *_cache->deps();
+   for (unsigned int i = 0; i != _packages.size(); i++) {
+      RPackage *RPkg = _packages[i];
+      pkgCache::PkgIterator &Pkg = *RPkg->package();
+      pkgDepCache::StateCache & PkgState = Cache[Pkg];
+      if (PkgState.Mode != state[Pkg].Mode && state.Ignored(Pkg) == false) {
+         if (PkgState.Upgrade()) {
+            toUpgrade.push_back(RPkg);
+            changed = true;
+         } else if (PkgState.NewInstall()) {
+            toInstall.push_back(RPkg);
+            changed = true;
+         } else if (PkgState.Install()) {
+	     toReInstall.push_back(RPkg);
+	     changed = true;
+	 } else if (PkgState.Delete()) {
+            toRemove.push_back(RPkg);
+            changed = true;
+         } else if (PkgState.Keep()) {
+            toKeep.push_back(RPkg);
+            changed = true;
+         } else if (PkgState.Downgrade()) {
+            toDowngrade.push_back(RPkg);
+            changed = true;
+         }
+      }
+   }
+
+   if (sorted == true && changed == true) {
+      if (toKeep.empty() == false)
+         sort(toKeep.begin(), toKeep.end(), bla());
+      if (toInstall.empty() == false)
+         sort(toInstall.begin(), toInstall.end(), bla());
+      if (toReInstall.empty() == false)
+         sort(toReInstall.begin(), toReInstall.end(), bla());
+      if (toUpgrade.empty() == false)
+         sort(toUpgrade.begin(), toUpgrade.end(), bla());
+      if (toRemove.empty() == false)
+         sort(toRemove.begin(), toRemove.end(), bla());
+      if (toDowngrade.empty() == false)
+         sort(toDowngrade.begin(), toDowngrade.end(), bla());
+   }
+
+   return changed;
+}
+#else
+void RPackageLister::saveState(RPackageLister::pkgState &state)
+{
+   //cout << "RPackageLister::saveState()" << endl;
+   state.clear();
+   state.reserve(_packages.size());
+   for (unsigned i = 0; i < _packages.size(); i++) {
+      state.push_back(_packages[i]->getFlags());
+   }
+}
+
+void RPackageLister::restoreState(RPackageLister::pkgState &state)
+{
+   pkgDepCache *deps = _cache->deps();
+   pkgDepCache::ActionGroup group(*deps);
+
+   for (unsigned i = 0; i < _packages.size(); i++) {
+      RPackage *pkg = _packages[i];
+      int flags = pkg->getFlags();
+      int oldflags = state[i];
+
+      if (oldflags != flags) {
+         if (oldflags & RPackage::FReInstall) {
+            deps->MarkInstall(*(pkg->package()), true);
+            deps->SetReInstall(*(pkg->package()), false);
+         } else if (oldflags & RPackage::FInstall) {
+            deps->MarkInstall(*(pkg->package()), true);
+         } else if (oldflags & RPackage::FRemove) {
+            deps->MarkDelete(*(pkg->package()), oldflags & RPackage::FPurge);
+         } else if (oldflags & RPackage::FKeep) {
+            deps->MarkKeep(*(pkg->package()), false);
+	 }
+	 // fix the auto flag
+	 deps->MarkAuto(*pkg->package(), (oldflags & RPackage::FIsAuto));
+      }
+   }
+   notifyChange(NULL);
+}
+
+
+bool RPackageLister::getStateChanges(RPackageLister::pkgState &state,
+                                     vector<RPackage *> &toKeep,
+                                     vector<RPackage *> &toInstall,
+                                     vector<RPackage *> &toReInstall,
+                                     vector<RPackage *> &toUpgrade,
+                                     vector<RPackage *> &toRemove,
+                                     vector<RPackage *> &toDowngrade,
+				     vector<RPackage *> &notAuthenticated,
+                                     vector<RPackage *> &exclude,
+                                     bool sorted)
+{
+   bool changed = false;
+
+   for (unsigned i = 0; i < _packages.size(); i++) {
+      int flags = _packages[i]->getFlags();
+
+      if (state[i] != flags) {
+
+         // These flags will never be set together.
+         int status = flags & (RPackage::FHeld |
+                               RPackage::FNewInstall |
+                               RPackage::FReInstall |
+                               RPackage::FUpgrade |
+                               RPackage::FDowngrade |
+                               RPackage::FRemove);
+
+	 // add packages to the not-authenticated list if they are going to
+	 // be installed in some way
+	 switch(status) {
+	 case RPackage::FNewInstall:
+	 case RPackage::FReInstall:
+	 case RPackage::FUpgrade:
+	 case RPackage::FDowngrade:
+	    if(!_packages[i]->isTrusted()) {
+	       notAuthenticated.push_back(_packages[i]);
+	       changed = true;
+	    }
+	 }
+	 
+	 if(find(exclude.begin(), exclude.end(),_packages[i]) != exclude.end())
+	    continue;
+
+         switch (status) {
+            case RPackage::FNewInstall:
+               toInstall.push_back(_packages[i]);
+               changed = true;
+               break;
+
+            case RPackage::FReInstall:
+               toReInstall.push_back(_packages[i]);
+               changed = true;
+               break;
+
+            case RPackage::FUpgrade:
+               toUpgrade.push_back(_packages[i]);
+               changed = true;
+               break;
+
+            case RPackage::FRemove:
+               toRemove.push_back(_packages[i]);
+               changed = true;
+               break;
+
+            case RPackage::FKeep:
+               toKeep.push_back(_packages[i]);
+               changed = true;
+               break;
+
+            case RPackage::FDowngrade:
+               toDowngrade.push_back(_packages[i]);
+               changed = true;
+               break;
+         }
+      }
+   }
+
+   if (sorted == true && changed == true) {
+      if (toKeep.empty() == false)
+         sort(toKeep.begin(), toKeep.end(), bla());
+      if (toInstall.empty() == false)
+         sort(toInstall.begin(), toInstall.end(), bla());
+      if (toReInstall.empty() == false)
+         sort(toReInstall.begin(), toReInstall.end(), bla());
+      if (toUpgrade.empty() == false)
+         sort(toUpgrade.begin(), toUpgrade.end(), bla());
+      if (toRemove.empty() == false)
+         sort(toRemove.begin(), toRemove.end(), bla());
+      if (toDowngrade.empty() == false)
+         sort(toDowngrade.begin(), toDowngrade.end(), bla());
+
+   }
+
+   return changed;
+}
+#endif
+
+void RPackageLister::getDetailedSummary(vector<RPackage *> &held,
+                                        vector<RPackage *> &kept,
+                                        vector<RPackage *> &essential,
+                                        vector<RPackage *> &toInstall,
+                                        vector<RPackage *> &toReInstall,
+                                        vector<RPackage *> &toUpgrade,
+                                        vector<RPackage *> &toRemove,
+                                        vector<RPackage *> &toPurge,
+                                        vector<RPackage *> &toDowngrade,
+#ifdef WITH_APT_AUTH
+					vector<string> &notAuthenticated,
+#endif
+                                        double &sizeChange)
+{
+   pkgDepCache *deps = _cache->deps();
+
+   for (unsigned int i = 0; i < _packages.size(); i++) {
+      RPackage *pkg = _packages[i];
+      int flags = pkg->getFlags();
+
+      // These flags will never be set together.
+      int status = flags & (RPackage::FKeep |
+                            RPackage::FNewInstall |
+                            RPackage::FReInstall |
+                            RPackage::FUpgrade |
+                            RPackage::FDowngrade |
+                            RPackage::FRemove);
+
+      switch (status) {
+
+         case RPackage::FKeep:
+            if (flags & RPackage::FHeld)
+               held.push_back(pkg);
+            else
+               kept.push_back(pkg);
+            break;
+
+         case RPackage::FNewInstall:
+            toInstall.push_back(pkg);
+            break;
+
+         case RPackage::FReInstall:
+            toReInstall.push_back(pkg);
+            break;
+
+         case RPackage::FUpgrade:
+            toUpgrade.push_back(pkg);
+            break;
+
+         case RPackage::FDowngrade:
+            toDowngrade.push_back(pkg);
+            break;
+
+         case RPackage::FRemove:
+            if (flags & RPackage::FImportant)
+               essential.push_back(pkg);
+            else if(flags & RPackage::FPurge)
+	       toPurge.push_back(pkg);
+	    else
+               toRemove.push_back(pkg);
+            break;
+      }
+   }
+
+   sort(kept.begin(), kept.end(), bla());
+   sort(toInstall.begin(), toInstall.end(), bla());
+   sort(toReInstall.begin(), toReInstall.end(), bla());
+   sort(toUpgrade.begin(), toUpgrade.end(), bla());
+   sort(essential.begin(), essential.end(), bla());
+   sort(toRemove.begin(), toRemove.end(), bla());
+   sort(toPurge.begin(), toPurge.end(), bla());
+   sort(held.begin(), held.end(), bla());
+#ifdef WITH_APT_AUTH
+   pkgAcquire Fetcher(NULL);
+   pkgPackageManager *PM = _system->CreatePM(_cache->deps());
+   if (!PM->GetArchives(&Fetcher, _cache->list(), _records)) {
+      delete PM;
+      return;
+   }
+   for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin(); 
+	I < Fetcher.ItemsEnd(); ++I) {
+      if (!(*I)->IsTrusted()) {
+         notAuthenticated.push_back(string((*I)->ShortDesc()));
+      }
+   }
+   delete PM;
+#endif
+   sizeChange = deps->UsrSize();
+}
+
+bool RPackageLister::updateCache(pkgAcquireStatus *status, string &error)
+{
+   assert(_cache->list() != NULL);
+   // Get the source list
+   //pkgSourceList List;
+   _cache->list()->ReadMainList();
+
+   // Lock the list directory
+   FileFd Lock;
+   if (_config->FindB("Debug::NoLocking", false) == false) {
+      Lock.Fd(GetLock(_config->FindDir("Dir::State::Lists") + "lock"));
+      //cout << "lock in : " << _config->FindDir("Dir::State::Lists") << endl;
+      if (_error->PendingError() == true)
+         return _error->Error(_("Unable to lock the list directory"));
+   }
+
+   _updating = true;
+
+
+#ifndef HAVE_RPM
+// apt-0.7.10 has the new UpdateList code in algorithms, we use it
+   string s;
+   bool res = ListUpdate(*status, *_cache->list(), 5000);
+   if(res == false)
+   {
+      while(!_error->empty())
+      {
+	 bool isError = _error->PopMessage(s);
+	 error += s;
+      }
+   }
+   return res;
+#else
+   // Create the download object
+   pkgAcquire Fetcher(status);
+
+   bool Failed = false;
+
+   if (_cache->list()->GetReleases(&Fetcher) == false)
+      return false;
+   Fetcher.Run();
+   for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin();
+        I != Fetcher.ItemsEnd(); I++) {
+      if ((*I)->Status == pkgAcquire::Item::StatDone)
+         continue;
+      (*I)->Finished();
+      Failed = true;
+   }
+   if (Failed == true)
+      _error->Warning(_("Release files for some repositories could not be "
+                        "retrieved or authenticated. Such repositories are "
+                        "being ignored."));
+
+   if (!_cache->list()->GetIndexes(&Fetcher))
+      return false;
+
+   // Run it
+   if (Fetcher.Run() == pkgAcquire::Failed)
+      return false;
+
+   //bool AuthFailed = false;
+   Failed = false;
+   string failedURI;/* = _("Some index files failed to download, they "
+			"have been ignored, or old ones used instead:\n");
+		    */
+   for (pkgAcquire::ItemIterator I = Fetcher.ItemsBegin();
+        I != Fetcher.ItemsEnd(); I++) {
+      if ((*I)->Status == pkgAcquire::Item::StatDone)
+         continue;
+      (*I)->Finished();
+      if((*I)->ErrorText.empty())
+	 failedURI += (*I)->DescURI() + "\n";
+      else
+	 failedURI += (*I)->DescURI() + ": " + (*I)->ErrorText + "\n";
+      Failed = true;
+   }
+
+   // Clean out any old list files
+   if (!Failed && _config->FindB("APT::Get::List-Cleanup", true) == true) {
+      if (Fetcher.Clean(_config->FindDir("Dir::State::lists")) == false ||
+          Fetcher.Clean(_config->FindDir("Dir::State::lists") + "partial/") ==
+          false)
+         return false;
+   }
+   if (Failed == true) {
+      //cout << failedURI << endl;
+      error = failedURI;
+      //_error->Error(failedURI.c_str());
+      return false; 
+   }
+   return true;
+#endif
+}
+
+bool RPackageLister::getDownloadUris(vector<string> &uris)
+{
+   pkgAcquire fetcher;
+   pkgPackageManager *PM = _system->CreatePM(_cache->deps());
+   if (!PM->GetArchives(&fetcher, _cache->list(), _records)) {
+      delete PM;
+      return false;
+   }
+   for (pkgAcquire::ItemIterator I = fetcher.ItemsBegin();
+	I != fetcher.ItemsEnd(); I++) {
+      uris.push_back((*I)->DescURI());
+   }
+
+   delete PM;
+   return true;
+}
+
+bool RPackageLister::commitChanges(pkgAcquireStatus *status,
+                                   RInstallProgress *iprog)
+{
+   FileFd lock;
+   int numPackages = 0;
+   int numPackagesTotal;
+   bool Ret = true;
+
+   _updating = true;
+
+   if (!lockPackageCache(lock))
+      return false;
+
+   if(_config->FindB("Synaptic::Log::Changes",true))
+      makeCommitLog();
+
+   pkgAcquire fetcher(status);
+
+   assert(_cache->list() != NULL);
+   // Read the source list
+   if (_cache->list()->ReadMainList() == false) {
+      _userDialog->
+         warning(_("Ignoring invalid record(s) in sources.list file!"));
+   }
+
+   pkgPackageManager *rPM;
+   rPM = _system->CreatePM(_cache->deps());
+
+   if (!rPM->GetArchives(&fetcher, _cache->list(), _records) ||
+       _error->PendingError())
+      goto gave_wood;
+
+   // ripped from apt-get
+   while (1) {
+      bool Transient = false;
+
+#ifdef HAVE_RPM
+      if (fetcher.Run() == pkgAcquire::Failed)
+	 goto gave_wood;
+#else
+      if (fetcher.Run(50000) == pkgAcquire::Failed)
+	 goto gave_wood;
+#endif
+
+      string serverError;
+
+      numPackagesTotal = 0;
+
+      // Print out errors
+      bool Failed = false;
+      for (pkgAcquire::ItemIterator I = fetcher.ItemsBegin();
+           I != fetcher.ItemsEnd(); I++) {
+
+         numPackagesTotal += 1;
+         
+         if ((*I)->Status == pkgAcquire::Item::StatDone && (*I)->Complete) {
+            numPackages += 1;
+            continue;
+         }
+
+         if ((*I)->Status == pkgAcquire::Item::StatIdle) {
+            Transient = true;
+            continue;
+         }
+
+	 (*I)->Finished();
+
+         string errm = (*I)->ErrorText;
+	 ostringstream tmp;
+    // TRANSLATORS: Error message after a failed download.
+    //              The first %s is the URL and the second 
+    //              one is a detailed error message that
+    //              is provided by apt
+	 ioprintf(tmp, _("Failed to fetch %s\n  %s\n\n"), 
+		  (*I)->DescURI().c_str(), errm.c_str());
+
+         serverError = getServerErrorMessage(errm);
+
+         _error->Warning("%s", tmp.str().c_str());
+         Failed = true;
+      }
+
+      if (_config->FindB("Volatile::Download-Only", false)) {
+         _updating = false;
+         return !Failed;
+      }
+
+      if (Failed) {
+         string message;
+
+         if (Transient)
+            goto gave_wood;
+
+	 if (numPackages == 0)
+	     goto gave_wood;
+
+         message =
+            _("Some of the packages could not be retrieved from the server(s).\n");
+         if (!serverError.empty())
+            message += "(" + serverError + ")\n";
+         message += _("Do you want to continue, ignoring these packages?");
+
+         if (!_userDialog->confirm(message.c_str()))
+            goto gave_wood;
+      }
+      // Try to deal with missing package files
+      if (Failed == true && rPM->FixMissing() == false) {
+         _error->Error(_("Unable to correct missing packages"));
+         goto gave_wood;
+      }
+      // need this so that we first fetch everything and then install (for CDs)
+      if (Transient == false
+          || _config->FindB("Acquire::CDROM::Copy-All", false) == false) {
+
+         if (Transient == true) {
+            // We must do that in a system independent way. */
+            _config->Set("RPM::Install-Options::", "--nodeps");
+         }
+
+         _cache->releaseLock();
+         pkgPackageManager::OrderResult Res =
+                   iprog->start(rPM, numPackages, numPackagesTotal);
+         if (Res == pkgPackageManager::Failed || _error->PendingError()) {
+            if (Transient == false)
+               goto gave_wood;
+            Ret = false;
+            // TODO: We must not discard errors here. The right
+            //       solution is to use an "error stack", as
+            //       implemented in apt-rpm.
+            //_error->DumpErrors();
+            _error->Discard();
+         }
+         if (Res == pkgPackageManager::Completed)
+            break;
+
+         numPackages = 0;
+
+         _cache->lock();
+      }
+      // Reload the fetcher object and loop again for media swapping
+      fetcher.Shutdown();
+
+      if (!rPM->GetArchives(&fetcher, _cache->list(), _records))
+         goto gave_wood;
+   }
+
+   //cout << _("Finished.")<<endl;
+
+
+   // erase downloaded packages
+   cleanPackageCache();
+
+   if(_config->FindB("Synaptic::Log::Changes",true))
+      writeCommitLog();
+
+   delete rPM;
+   return Ret;
+
+ gave_wood:
+   delete rPM;
+   return false;
+}
+
+void RPackageLister::writeCommitLog()
+{
+   struct tm *t = localtime(&_logTime);
+   ostringstream tmp;
+   ioprintf(tmp, "%.4i-%.2i-%.2i.%.2i%.2i%.2i.log", 1900+t->tm_year, 
+	    t->tm_mon+1, t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec);
+
+   string logfile = RLogDir() + tmp.str();
+   FILE *f = fopen(logfile.c_str(),"w+");
+   if(f == NULL) {
+      _error->Error("Failed to write commit log");
+      return;
+   }
+   fputs(_logEntry.c_str(), f);
+   fclose(f);
+
+}
+
+void RPackageLister::cleanCommitLog()
+{
+   int maxKeep = _config->FindI("Synaptic::delHistory", -1);
+   //cout << "RPackageLister::cleanCommitLog(): " << maxKeep << endl;
+   if(maxKeep < 0)
+      return;
+   
+   string logfile, entry;
+   struct stat buf;
+   struct dirent *dent;
+   time_t now = time(NULL);
+   DIR *dir = opendir(RLogDir().c_str());
+   while((dent=readdir(dir)) != NULL) {
+      entry = string(dent->d_name);
+      if(logfile == "." || logfile == "..")
+	 continue;
+      logfile = RLogDir()+entry;
+      if(stat(logfile.c_str(), &buf) != 0) {
+	 cerr << "logfile: " << logfile << endl;
+	 perror("cleanCommitLog(), stat: ");
+	 continue;
+      }
+      if((buf.st_mtime+(60*60*24*maxKeep)) < now) {
+// 	 cout << "older than " << maxKeep << " days: " << logfile << endl;
+// 	 cout << "now: " << now 
+// 	      << " ctime: " << buf.st_mtime+(60*60*24*maxKeep) << endl;
+	 unlink(logfile.c_str());
+      }
+
+   }
+   closedir(dir);
+}
+
+void RPackageLister::makeCommitLog()
+{
+   time(&_logTime);
+   _logEntry = string("Commit Log for ") + string(ctime(&_logTime)) + string("\n");
+   _logEntry.reserve(2*8192); // make it big by default 
+
+   vector<RPackage *> held;
+   vector<RPackage *> kept;
+   vector<RPackage *> essential;
+   vector<RPackage *> toInstall;
+   vector<RPackage *> toReInstall;
+   vector<RPackage *> toUpgrade;
+   vector<RPackage *> toRemove;
+   vector<RPackage *> toPurge;
+   vector<RPackage *> toDowngrade;
+#ifdef WITH_APT_AUTH
+   vector<string> notAuthenticated;
+#endif
+
+   double sizeChange;
+
+   getDetailedSummary(held, kept, essential,
+		      toInstall,toReInstall,toUpgrade, 
+		      toRemove, toPurge, toDowngrade, 
+#ifdef WITH_APT_AUTH
+		      notAuthenticated,
+#endif
+		      sizeChange);
+
+   if(essential.size() > 0) {
+      //_logEntry += _("\n<b>Removed the following ESSENTIAL packages:</b>\n");
+      _logEntry += _("\nRemoved the following ESSENTIAL packages:\n");
+      for (vector<RPackage *>::const_iterator p = essential.begin();
+	   p != essential.end(); p++) {
+	 _logEntry += (*p)->name() + string("\n");
+      }
+   }
+   
+   if(toDowngrade.size() > 0) {
+      //_logEntry += _("\n<b>Downgraded the following packages:</b>\n");
+      _logEntry += _("\nDowngraded the following packages:\n");
+      for (vector<RPackage *>::const_iterator p = toDowngrade.begin();
+	   p != toDowngrade.end(); p++) {
+	 _logEntry += (*p)->name() + string("\n");
+      }
+   }
+
+   if(toPurge.size() > 0) {
+      //_logEntry += _("\n<b>Completely removed the following packages:</b>\n");
+      _logEntry += _("\nCompletely removed the following packages:\n");
+      for (vector<RPackage *>::const_iterator p = toPurge.begin();
+	   p != toPurge.end(); p++) {
+	 _logEntry += (*p)->name() + string("\n");
+      }
+   }
+
+   if(toRemove.size() > 0) {
+      //_logEntry += _("\n<b>Removed the following packages:</b>\n");
+      _logEntry += _("\nRemoved the following packages:\n");
+      for (vector<RPackage *>::const_iterator p = toRemove.begin();
+	   p != toRemove.end(); p++) {
+	 _logEntry += (*p)->name() + string("\n");
+      }
+   }
+
+   if(toUpgrade.size() > 0) {
+      //_logEntry += _("\n<b>Upgraded the following packages:</b>\n");
+      _logEntry += _("\nUpgraded the following packages:\n");
+      for (vector<RPackage *>::const_iterator p = toUpgrade.begin();
+	   p != toUpgrade.end(); p++) {
+	 _logEntry += (*p)->name() + string(" (") + (*p)->installedVersion() 
+	    + string(")") + string(" to ") + (*p)->availableVersion() 
+	    + string("\n");
+      }
+   }
+
+   if(toInstall.size() > 0) {
+      //_logEntry += _("\n<b>Installed the following packages:</b>\n");
+      _logEntry += _("\nInstalled the following packages:\n");
+      for (vector<RPackage *>::const_iterator p = toInstall.begin();
+	   p != toInstall.end(); p++) {
+	 _logEntry += (*p)->name() + string(" (") + (*p)->availableVersion() 
+	    + string(")") + string("\n");
+      }
+   }
+
+   if(toReInstall.size() > 0) {
+      //_logEntry += _("\n<b>Reinstalled the following packages:</b>\n");
+      _logEntry += _("\nReinstalled the following packages:\n");
+      for (vector<RPackage*>::const_iterator p = toReInstall.begin(); 
+	   p != toReInstall.end(); p++) {
+	 _logEntry += (*p)->name() + string(" (") + (*p)->availableVersion() 
+	    + string(")") + string("\n");
+      }
+   }
+}
+
+bool RPackageLister::lockPackageCache(FileFd &lock)
+{
+   // Lock the archive directory
+
+   if (_config->FindB("Debug::NoLocking", false) == false) {
+      lock.Fd(GetLock(_config->FindDir("Dir::Cache::Archives") + "lock"));
+      //cout << "lock is: " << _config->FindDir("Dir::Cache::Archives") << endl;
+      if (_error->PendingError() == true)
+         return _error->Error(_("Unable to lock the download directory"));
+   }
+
+   return true;
+}
+
+
+bool RPackageLister::cleanPackageCache(bool forceClean)
+{
+   FileFd lock;
+
+   if (_config->FindB("Synaptic::CleanCache", false) || forceClean) {
+
+      lockPackageCache(lock);
+
+      pkgAcquire Fetcher;
+      Fetcher.Clean(_config->FindDir("Dir::Cache::archives"));
+      Fetcher.Clean(_config->FindDir("Dir::Cache::archives") + "partial/");
+   } else if (_config->FindB("Synaptic::AutoCleanCache", false)) {
+
+      lockPackageCache(lock);
+
+      pkgArchiveCleaner cleaner;
+
+      bool res;
+
+      res = cleaner.Go(_config->FindDir("Dir::Cache::archives"),
+                       *_cache->deps());
+
+      if (!res)
+         return false;
+
+      res = cleaner.Go(_config->FindDir("Dir::Cache::archives") + "partial/",
+                       *_cache->deps());
+
+      if (!res)
+         return false;
+
+   } else {
+      // mvo: nothing?
+   }
+
+   return true;
+}
+
+void RPackageLister::refreshView()
+{
+   _selectedView->refresh();
+}
+
+bool RPackageLister::writeSelections(ostream &out, bool fullState)
+{
+   for (unsigned i = 0; i < _packages.size(); i++) {
+      int flags = _packages[i]->getFlags();
+
+      // Full state saves all installed packages.
+      if (flags & RPackage::FInstall ||
+          fullState && (flags &RPackage::FInstalled)) {
+         out << _packages[i]->name() << "\t\tinstall" << endl;
+      } else if (flags & RPackage::FRemove) {
+         out << _packages[i]->name() << "\t\tdeinstall" << endl;
+      }
+   }
+
+   return true;
+}
+
+bool RPackageLister::readSelections(istream &in)
+{
+   char Buffer[300];
+   int CurLine = 0;
+   enum Action {
+      ACTION_INSTALL,
+      ACTION_UNINSTALL
+   };
+   map<string, int> actionMap;
+   pkgDepCache::ActionGroup group(*_cache->deps());
+
+   while (in.eof() == false) {
+
+      in.getline(Buffer, sizeof(Buffer));
+      CurLine++;
+
+      if (in.fail() && !in.eof())
+         return _error->Error(_("Line %u too long in markings file."),
+                              CurLine);
+
+      _strtabexpand(Buffer, sizeof(Buffer));
+      _strstrip(Buffer);
+
+      const char *C = Buffer;
+
+      // Comment or blank
+      if (C[0] == '#' || C[0] == 0)
+         continue;
+
+      string PkgName;
+      if (ParseQuoteWord(C, PkgName) == false)
+         return _error->Error(_("Malformed line %u in markings file"),
+                              CurLine);
+      string Action;
+      if (ParseQuoteWord(C, Action) == false)
+         return _error->Error(_("Malformed line %u in markings file"),
+                              CurLine);
+
+      if (Action[0] == 'i') {
+         actionMap[PkgName] = ACTION_INSTALL;
+      } else if (Action[0] == 'u' || Action[0] == 'd') {
+         actionMap[PkgName] = ACTION_UNINSTALL;
+      }
+   }
+
+   if (actionMap.empty() == false) {
+      int Size = actionMap.size();
+      _progMeter->OverallProgress(0, Size, Size, _("Setting markings..."));
+      _progMeter->SubProgress(Size);
+      pkgDepCache &Cache = *_cache->deps();
+      pkgProblemResolver Fix(&Cache);
+      // XXX Should protect whatever is already selected in the cache.
+      pkgCache::PkgIterator Pkg;
+      int Pos = 0;
+      for (map<string, int>::const_iterator I = actionMap.begin();
+           I != actionMap.end(); I++) {
+         Pkg = Cache.FindPkg((*I).first);
+         if (Pkg.end() == false) {
+	    Fix.Clear(Pkg);
+	    Fix.Protect(Pkg);
+            switch ((*I).second) {
+               case ACTION_INSTALL:
+		  if(_config->FindB("Volatile::SetSelectionDoReInstall",false))
+		     Cache.SetReInstall(Pkg, true);
+		  if(_config->FindB("Volatile::SetSelectionsNoFix",false))
+		     Cache.MarkInstall(Pkg, false);
+		  else
+		     Cache.MarkInstall(Pkg, true);
+                  break;
+
+               case ACTION_UNINSTALL:
+		  Fix.Remove(Pkg);
+                  Cache.MarkDelete(Pkg, false);
+                  break;
+            }
+         }
+         if ((Pos++) % 5 == 0)
+            _progMeter->Progress(Pos);
+      }
+#ifdef WITH_LUA
+      _lua->SetDepCache(_cache->deps());
+      _lua->RunScripts("Scripts::Synaptic::ReadSelections", false);
+      _lua->ResetCaches();
+#endif
+      _progMeter->Done();
+      Fix.InstallProtect();
+      Fix.Resolve(true);
+   }
+
+   return true;
+}
+
+bool RPackageLister::addArchiveToCache(string archive, string &pkgname)
+{
+#ifndef HAVE_RPM
+   //cout << "addArchiveToCache() " << archive << endl;
+
+   // do sanity checking on the file (do we need this 
+   // version, arch, or a different one etc)
+   FileFd in(archive, FileFd::ReadOnly);
+   debDebFile deb(in);
+   debDebFile::MemControlExtract Extract("control");
+   if(!Extract.Read(deb)) {
+      cerr << "read failed" << endl;
+      return false;
+   }
+   pkgTagSection tag;
+   if(!tag.Scan(Extract.Control,Extract.Length+2)) {
+      cerr << "scan failed" << endl;
+      return false;
+   }
+   // do we have the pkg
+   pkgname = tag.FindS("Package");
+   RPackage *pkg = this->getPackage(pkgname);
+   if(pkg == NULL) {
+      cerr << "Can't find pkg " << pkgname << endl;
+      return false;
+   }
+   // is it the right architecture?
+   if(tag.FindS("Architecture") != "all" &&
+      tag.FindS("Architecture") != _config->Find("APT::Architecture")) {
+      cerr << "Ignoring different architecture for " << pkgname << endl;
+      return false;
+   }
+   
+   // correct version?
+   string debVer = tag.FindS("Version");
+   string candVer = "_invalid_";
+   if(pkg->availableVersion() != NULL)
+      candVer = pkg->availableVersion();
+   if(debVer != candVer) {
+      cerr << "Ignoring " << pkgname << " (different versions: "
+	   << debVer << " != " << candVer  << endl;
+      return false;
+   }
+
+   // md5sum check
+   // first get the md5 of the candidate
+   pkgDepCache *dcache = _cache->deps();
+   pkgCache::VerIterator ver = dcache->GetCandidateVer(*pkg->package());
+   pkgCache::VerFileIterator Vf = ver.FileList(); 
+   pkgRecords::Parser &Parse = _records->Lookup(Vf);
+   string MD5 = Parse.MD5Hash();
+   // then calc the md5 of the pkg
+   MD5Summation debMD5;
+   in.Seek(0);
+   debMD5.AddFD(in.Fd(),in.Size());
+   if(MD5 != debMD5.Result().Value()) {
+      cerr << "Ignoring " << pkgname << " MD5 does not match"<< endl;
+      return false;
+   }
+      
+   // copy to the cache
+   in.Seek(0);
+   FileFd out(_config->FindDir("Dir::Cache::archives")+string(flNotDir(archive)),
+	      FileFd::WriteAny);
+   CopyFile(in, out);
+
+   return true;
+#else
+   return false;
+#endif
+}
+
+
+#ifdef WITH_EPT
+bool RPackageLister::limitBySearch(string searchString)
+{
+   //cerr << "limitBySearch(): " << searchString << endl;
+    if (ept::axi::timestamp() == 0)
+        return false;
+   return xapianSearch(searchString);
+}
+
+bool RPackageLister::xapianSearch(string unsplitSearchString)
+{
+   //std::cerr << "RPackageLister::xapianSearch()" << std::endl;
+   static const int defaultQualityCutoff = 15;
+   int qualityCutoff = _config->FindI("Synaptic::Xapian::qualityCutoff", 
+                                      defaultQualityCutoff);
+    if (ept::axi::timestamp() == 0) 
+        return false;
+
+   try {
+      int maxItems = _xapianDatabase->get_doccount();
+      Xapian::Enquire enquire(*_xapianDatabase);
+      Xapian::QueryParser parser;
+      parser.set_database(*_xapianDatabase);
+      parser.add_prefix("name","XP");
+      parser.add_prefix("section","XS");
+      // default op is AND to narrow down the resultset
+      parser.set_default_op( Xapian::Query::OP_AND );
+   
+      /* Workaround to allow searching an hyphenated package name using a prefix (name:)
+       * LP: #282995
+       * Xapian currently doesn't support wildcard for boolean prefix and 
+       * doesn't handle implicit wildcards at the end of hypenated phrases.
+       *
+       * e.g searching for name:ubuntu-res will be equivalent to 'name:ubuntu res*'
+       * however 'name:(ubuntu* res*) won't return any result because the 
+       * index is built with the full package name
+       */
+      // Always search for the package name
+      string xpString = "name:";
+      string::size_type pos = unsplitSearchString.find_first_of(" ,;");
+      if (pos > 0) {
+          xpString += unsplitSearchString.substr(0,pos);
+      } else {
+          xpString += unsplitSearchString;
+      }
+      Xapian::Query xpQuery = parser.parse_query(xpString);
+
+      pos = 0;
+      while ( (pos = unsplitSearchString.find("-", pos)) != string::npos ) {
+         unsplitSearchString.replace(pos, 1, " ");
+         pos+=1;
+      }
+
+      if(_config->FindB("Debug::Synaptic::Xapian",false)) 
+         std::cerr << "searching for : " << unsplitSearchString << std::endl;
+      
+      // Build the query
+      // apply a weight factor to XP term to increase relevancy on package name
+      Xapian::Query query = parser.parse_query(unsplitSearchString, 
+         Xapian::QueryParser::FLAG_WILDCARD |
+         Xapian::QueryParser::FLAG_BOOLEAN |
+         Xapian::QueryParser::FLAG_PARTIAL);
+      query = Xapian::Query(Xapian::Query::OP_OR, query, 
+              Xapian::Query(Xapian::Query::OP_SCALE_WEIGHT, xpQuery, 3));
+      enquire.set_query(query);
+      Xapian::MSet matches = enquire.get_mset(0, maxItems);
+
+      if(_config->FindB("Debug::Synaptic::Xapian",false)) {
+         cerr << "enquire: " << enquire.get_description() << endl;
+         cerr << "matches estimated: " << matches.get_matches_estimated() << " results found" << endl;
+      }
+
+      // Retrieve the results
+      int top_percent = 0;
+      _viewPackages.clear();
+      for (Xapian::MSetIterator i = matches.begin(); i != matches.end(); ++i)
+      {
+         RPackage* pkg = getPackage(i.get_document().get_data());
+         // Filter out results that apt doesn't know
+         if (!pkg || !_selectedView->hasPackage(pkg))
+            continue;
+
+         // Save the confidence interval of the top value, to use it as
+         // a reference to compute an adaptive quality cutoff
+         if (top_percent == 0)
+            top_percent = i.get_percent();
+   
+         // Stop producing if the quality goes below a cutoff point
+         if (i.get_percent() < qualityCutoff * top_percent / 100)
+         {
+            cerr << "Discarding: " << i.get_percent() << " over " << qualityCutoff * top_percent / 100 << endl;
+            break;
+         }
+   
+         if(_config->FindB("Debug::Synaptic::Xapian",false)) 
+            cerr << i.get_rank() + 1 << ": " << i.get_percent() << "% docid=" << *i << "	[" << i.get_document().get_data() << "]" << endl;
+         _viewPackages.push_back(pkg);
+         }
+      // re-apply sort criteria only if an explicit search is set
+      if (_sortMode != LIST_SORT_DEFAULT)
+          sortPackages(_sortMode);
+      return true;
+   } catch (const Xapian::Error & error) {
+      /* We are here if a Xapian call failed. The main cause is a parser exception.
+       * The error message is always in English currently. 
+       * The possible parser errors are:
+       *    Unknown range operation
+       *    parse error
+       *    Syntax: <expression> AND <expression>
+       *    Syntax: <expression> AND NOT <expression>
+       *    Syntax: <expression> NOT <expression>
+       *    Syntax: <expression> OR <expression>
+       *    Syntax: <expression> XOR <expression>
+       */
+      cerr << "Exception in RPackageLister::xapianSearch():" << error.get_msg() << endl;
+      return false;
+   }
+}
+#else
+bool RPackageLister::limitBySearch(string searchString)
+{
+   return false;
+}
+
+bool RPackageLister::xapianSearch(string searchString) 
+{ 
+   return false; 
+}
+#endif
+
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackagelister.h'
--- common/rpackagelister.h	1970-01-01 00:00:00 +0000
+++ common/rpackagelister.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,354 @@
+/* rpackagelister.h - package cache and list manipulation
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ *               2002 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+
+#ifndef _RPACKAGELISTER_H_
+#define _RPACKAGELISTER_H_
+
+
+#include <vector>
+#include <list>
+#include <map>
+#include <set>
+#include <regex.h>
+#include <apt-pkg/depcache.h>
+#include <apt-pkg/acquire.h>
+
+#ifdef WITH_EPT
+#include <ept/axi/axi.h>
+#endif
+
+#include "rpackagecache.h"
+#include "rpackage.h"
+#include "rpackagestatus.h"
+#include "rpackageview.h"
+#include "ruserdialog.h"
+#include "config.h"
+
+using namespace std;
+
+class OpProgress;
+class RPackageCache;
+class RPackageFilter;
+class RCacheActor;
+class RPackageViewFilter;
+class RPackageViewSearch;
+class pkgRecords;
+class pkgAcquireStatus;
+class pkgPackageManager;
+
+
+struct RFilter;
+class RPackageView;
+
+class RInstallProgress;
+
+class RPackageObserver {
+ public:
+   virtual void notifyChange(RPackage *pkg) = 0;
+   virtual void notifyPreFilteredChange() = 0;
+   virtual void notifyPostFilteredChange() = 0;
+};
+
+class RCacheObserver {
+ public:
+   virtual void notifyCacheOpen() = 0;
+   virtual void notifyCachePreChange() = 0;
+   virtual void notifyCachePostChange() = 0;
+};
+
+// base sort class
+// for a example use see sortPackages()
+template<class T>
+class sortFunc {
+ protected:
+   bool _ascent;
+   T cmp;
+ public:
+   sortFunc(bool ascent) : _ascent(ascent) {};
+   bool operator() (RPackage *x, RPackage *y) {
+      if(_ascent) 
+	 return cmp(x,y);
+      else
+	 return cmp(y,x);
+   }
+};
+
+
+class RPackageLister {
+
+   protected:
+
+   // Internal APT stuff.
+   RPackageCache * _cache;
+   pkgRecords *_records;
+   OpProgress *_progMeter;
+
+#ifdef WITH_EPT
+   Xapian::Database *_xapianDatabase;
+#endif
+
+
+   // Other members.
+   vector<RPackage *> _packages;
+   vector<int> _packagesIndex;
+
+   vector<RPackage *> _viewPackages;
+   vector<int> _viewPackagesIndex;
+
+   // It shouldn't be needed to control this inside this class. -- niemeyer
+   bool _updating;
+
+   // all known packages (needed identifing "new" pkgs)
+   set<string> packageNames; 
+
+   bool _cacheValid;            // is the cache valid?
+
+   int _installedCount;         // # of installed packages
+
+   vector<RCacheActor *> _actors;
+
+   RPackageViewFilter *_filterView; // the package view that does the filtering
+   RPackageViewSearch *_searchView; // the package view that does the (simple) search
+
+   // helper for the limitBySearch() code
+   bool xapianSearch(string searchString);
+
+   public:
+
+   unsigned int _viewMode;
+
+   typedef enum {
+      LIST_SORT_DEFAULT,
+      LIST_SORT_NAME_ASC,
+      LIST_SORT_NAME_DES,
+      LIST_SORT_SIZE_ASC,
+      LIST_SORT_SIZE_DES,
+      LIST_SORT_SUPPORTED_ASC,
+      LIST_SORT_SUPPORTED_DES,
+      LIST_SORT_SECTION_ASC,
+      LIST_SORT_SECTION_DES,
+      LIST_SORT_COMPONENT_ASC,
+      LIST_SORT_COMPONENT_DES,
+      LIST_SORT_DLSIZE_ASC,
+      LIST_SORT_DLSIZE_DES,
+      LIST_SORT_STATUS_ASC,
+      LIST_SORT_STATUS_DES,
+      LIST_SORT_VERSION_ASC,
+      LIST_SORT_VERSION_DES,
+      LIST_SORT_INST_VERSION_ASC,
+      LIST_SORT_INST_VERSION_DES
+   } listSortMode;
+   listSortMode _sortMode;
+
+#ifdef HAVE_RPM
+   typedef pkgDepCache::State pkgState;
+#else
+   typedef vector<int> pkgState;
+#endif
+
+   private:
+
+   vector<RPackageView *> _views;
+   RPackageView *_selectedView;
+   RPackageStatus _pkgStatus;
+   
+   void applyInitialSelection();
+
+   bool lockPackageCache(FileFd &lock);
+
+   void sortPackages(vector<RPackage *> &packages,listSortMode mode);
+
+   struct {
+      char *pattern;
+      regex_t regex;
+      bool isRegex;
+      int last;
+   } _searchData;
+
+   vector<RPackageObserver *> _packageObservers;
+   vector<RCacheObserver *> _cacheObservers;
+
+   RUserDialog *_userDialog;
+
+   void makeCommitLog();
+   void writeCommitLog();
+   string _logEntry;
+   time_t _logTime;
+
+   // undo/redo stuff
+   list<pkgState> undoStack;
+   list<pkgState> redoStack;
+
+   public:
+   // limit what the current view displays
+   bool limitBySearch(string searchString);
+
+   // clean files older than "Synaptic::delHistory"
+   void cleanCommitLog();
+
+   void sortPackages(listSortMode mode) {
+      sortPackages(_viewPackages, mode);
+   };
+
+   void setView(unsigned int index);
+   vector<string> getViews();
+   vector<string> getSubViews();
+
+   // set subView (if newView is empty, set to all packages)
+   bool setSubView(string newView="");
+
+   // this needs a different name, something like refresh
+   void reapplyFilter();
+   
+   // refresh view 
+   void refreshView();
+
+   // is is exposed for the stuff like filter manager window
+   RPackageViewFilter *filterView() { return _filterView; };
+   RPackageViewSearch *searchView() { return _searchView; };
+
+   // find 
+   int findPackage(const char *pattern);
+   int findNextPackage();
+
+   const vector<RPackage *> &getPackages() { return _packages; };
+   const vector<RPackage *> &getViewPackages() { return _viewPackages; };
+   RPackage *getPackage(int index) { return _packages.at(index); };
+   RPackage *getViewPackage(int index) { return _viewPackages.at(index); };
+   RPackage *getPackage(pkgCache::PkgIterator &pkg);
+   RPackage *getPackage(string name);
+   int getPackageIndex(RPackage *pkg);
+   int getViewPackageIndex(RPackage *pkg);
+
+   int packagesSize() { return _packages.size(); };
+   int viewPackagesSize() { return _updating ? 0 : _viewPackages.size(); };
+
+   void getStats(int &installed, int &broken, int &toInstall, int &toReInstall,
+		 int &toRemove, double &sizeChange);
+
+   void getSummary(int &held, int &kept, int &essential,
+                   int &toInstall, int &toReInstall, int &toUpgrade, 
+		   int &toRemove,  int &toDowngrade, 
+		   int &unAuthenticated,  double &sizeChange);
+
+
+   void getDetailedSummary(vector<RPackage *> &held,
+                           vector<RPackage *> &kept,
+                           vector<RPackage *> &essential,
+                           vector<RPackage *> &toInstall,
+                           vector<RPackage *> &toReInstall,
+                           vector<RPackage *> &toUpgrade,
+                           vector<RPackage *> &toRemove,
+                           vector<RPackage *> &toPurge,
+                           vector<RPackage *> &toDowngrade,
+#ifdef WITH_APT_AUTH
+			   vector<string> &notAuthenticated,
+#endif
+                           double &sizeChange);
+
+   void getDownloadSummary(int &dlCount, double &dlSize);
+
+   void saveUndoState(pkgState &state);
+   void saveUndoState();
+   void undo();
+   void redo();
+   void saveState(pkgState &state);
+   void restoreState(pkgState &state);
+   bool getStateChanges(pkgState &state,
+                        vector<RPackage *> &kept,
+                        vector<RPackage *> &toInstall,
+			vector<RPackage *> &toReInstall,
+                        vector<RPackage *> &toUpgrade,
+                        vector<RPackage *> &toRemove,
+                        vector<RPackage *> &toDowngrade,
+			vector<RPackage *> &notAuthenticated,
+                        vector<RPackage *> &exclude, bool sorted = true);
+
+   // open (lock if run as root)
+   bool openCache();
+   bool fixBroken();
+   bool check();
+   bool upgradable();
+   bool upgrade();
+   bool distUpgrade();
+   bool cleanPackageCache(bool forceClean = false);
+   bool updateCache(pkgAcquireStatus *status, string &error);
+   bool commitChanges(pkgAcquireStatus *status, RInstallProgress *iprog);
+
+   // some information
+   bool getDownloadUris(vector<string> &uris);
+   bool addArchiveToCache(string archiveDir, string &pkgname);
+
+   void setProgressMeter(OpProgress *progMeter) {
+      if(_progMeter != NULL)
+	 delete _progMeter;
+      _progMeter = progMeter;
+   };
+
+   void setUserDialog(RUserDialog *dialog) {
+      _userDialog = dialog;
+   };
+
+   // policy stuff                             
+   vector<string> getPolicyArchives(bool filenames_only=false) {
+      if (_cacheValid)
+         return _cache->getPolicyArchives(filenames_only);
+      else
+         return vector<string>();
+   };
+
+   // notification stuff about changes in packages
+   void notifyPreChange(RPackage *pkg);
+   void notifyPostChange(RPackage *pkg);
+   void notifyChange(RPackage *pkg);
+   void registerObserver(RPackageObserver *observer);
+   void unregisterObserver(RPackageObserver *observer);
+
+   // notification stuff about changes in cache
+   void notifyCacheOpen();
+   void notifyCachePreChange();
+   void notifyCachePostChange();
+   void registerCacheObserver(RCacheObserver *observer);
+   void unregisterCacheObserver(RCacheObserver *observer);
+
+   bool readSelections(istream &in);
+   bool writeSelections(ostream &out, bool fullState);
+
+   RPackageCache* getCache() { return _cache; };
+#ifdef WITH_EPT
+   Xapian::Database* xapiandatabase() { return _xapianDatabase; }
+   bool xapianIndexNeedsUpdate();
+   bool openXapianIndex();
+#endif
+
+   RPackageLister();
+   ~RPackageLister();
+};
+
+
+#endif
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackagemanager.h'
--- common/rpackagemanager.h	1970-01-01 00:00:00 +0000
+++ common/rpackagemanager.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,79 @@
+/* rpackagemanager.h
+ *
+ * Copyright (c) 2000, 2001 Conectiva S/A
+ *                     2002 Michael Vogt
+ *
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+// We need a different package manager, since we need to do the
+// DoInstall() process in two steps when forking. Without that,
+// the forked package manager would be updated with the new
+// information, and the original Synaptic process wouldn't be
+// aware about it.
+//
+// Very unfortunately, we *do* need to access stuff which is 
+// declared as protected in the packagemanager.h header. To do
+// that, we need this awful hack. Make sure to include all headers
+// included by packagemanager.h before the hack, so that we reduce
+// the impact of it. In the future, we must ask the APT maintainers
+// to export the functionality we need, so that we may avoid this
+// ugly hack.
+
+#include <string>
+#include <apt-pkg/pkgcache.h>
+
+#define protected public
+#include <apt-pkg/packagemanager.h>
+#undef protected
+
+#ifndef RPACKAGEMANAGER_H
+#define RPACKAGEMANAGER_H
+
+class RPackageManager {
+
+   protected:
+
+   pkgPackageManager::OrderResult Res;
+   
+   public:
+
+   pkgPackageManager *pm;
+
+   pkgPackageManager::OrderResult DoInstallPreFork() {
+      Res = pm->OrderInstall();
+      return Res;
+   };
+#ifdef WITH_DPKG_STATUSFD
+   pkgPackageManager::OrderResult DoInstallPostFork(int statusFd=-1) {
+      return (pm->Go(statusFd) == false) ? pkgPackageManager::Failed : Res;
+   };
+#else
+   pkgPackageManager::OrderResult DoInstallPostFork() {
+      return (pm->Go() == false) ? pkgPackageManager::Failed : Res;
+   };
+#endif
+
+   RPackageManager(pkgPackageManager *pm) : pm(pm) {};
+   
+};
+
+#endif
+
+// vim:ts=3:sw=3:et

=== added file 'common/rpackagestatus.cc'
--- common/rpackagestatus.cc	1970-01-01 00:00:00 +0000
+++ common/rpackagestatus.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,220 @@
+/* rpackagestatus.cc - wrapper for accessing packagestatus information
+ * 
+ * Copyright (c) 2000-2003 Conectiva S/A 
+ *               2002-2008 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ * 
+ * Portions Taken from Gnome APT
+ *   Copyright (C) 1998 Havoc Pennington <hp@pobox.com>
+ * 
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include <apt-pkg/tagfile.h>
+#include <apt-pkg/strutl.h>
+#include "rpackagestatus.h"
+
+// init the static release array so that we need to
+// run lsb_release only once
+char RPackageStatus::release[255] = {0,};
+
+// class that finds out what do display to get user
+void RPackageStatus::init()
+{
+   const char *status_short[N_STATUS_COUNT] = {
+      "install", "reinstall", "upgrade", "downgrade", "remove",
+      "purge", "available", "available-locked",
+      "installed-updated", "installed-outdated", "installed-locked",
+      "broken", "new"
+   };
+   memcpy(PackageStatusShortString, status_short, sizeof(status_short));
+
+   const char *status_long[N_STATUS_COUNT] = {
+      _("Marked for installation"),
+      _("Marked for re-installation"),
+      _("Marked for upgrade"),
+      _("Marked for downgrade"),
+      _("Marked for removal"),
+      _("Marked for complete removal"),
+      _("Not installed"),
+      _("Not installed (locked)"),
+      _("Installed"),
+      _("Installed (upgradable)"),
+      _("Installed (locked to the current version)"),
+      _("Broken"),
+      _("Not installed (new in repository)")
+   };
+   memcpy(PackageStatusLongString, status_long, sizeof(status_long));
+
+
+   // check for unsupported stuff
+   if(_config->FindB("Synaptic::mark-unsupported", true)) {
+      string s, labels, origin, components;
+      markUnsupported = true;
+
+      // read supported labels
+      labels = _config->Find("Synaptic::supported-label", "Debian Debian-Security");
+      stringstream sst1(labels);
+      while(!sst1.eof()) {
+	 sst1 >> s;
+	 supportedLabels.push_back(s);
+      }
+
+      // read supported origins
+      origin = _config->Find("Synaptic::supported-origins", "Debian");
+      stringstream sst2(origin);
+      while(!sst2.eof()) {
+	 sst2 >> s;
+	 supportedOrigins.push_back(s);
+      }
+      
+      // read supported components
+      components = _config->Find("Synaptic::supported-components", "main updates/main");
+      stringstream sst3(components);
+      while(!sst3.eof()) {
+	 sst3 >> s;
+	 supportedComponents.push_back(s);
+      }
+   } 
+
+   // init the static release once
+   FILE *fp = popen("lsb_release -c -s","r");
+   if(fp) {
+      fgets((char *)RPackageStatus::release, 255, fp);
+      pclose(fp);
+      _strstrip(release);
+   } 
+}
+
+bool RPackageStatus::isSupported(RPackage *pkg) 
+{
+   bool res = true;
+
+   if(markUnsupported) {
+      bool sc, sl, so;
+
+      sc=sl=so=false;
+
+      string component = pkg->component();
+      string label = pkg->label();
+      string origin = pkg->origin();
+
+      for(unsigned int i=0;i<supportedComponents.size();i++) {
+	 if(supportedComponents[i] == component) {
+	    sc = true;
+	    break;
+	 }
+      }
+      for(unsigned int i=0;i<supportedLabels.size();i++) {
+	 if(supportedLabels[i] == label) {
+	    sl = true;
+	    break;
+	 }
+      }
+      for(unsigned int i=0;i<supportedOrigins.size();i++) {
+	 if(supportedOrigins[i] == origin) {
+	    so = true;
+	    break;
+	 }
+      }
+
+      res = (sc & sl & so & pkg->isTrusted());
+   }
+
+   return res;
+}
+
+int RPackageStatus::getStatus(RPackage *pkg)
+{
+   int flags = pkg->getFlags();
+   int ret = NotInstalled;
+
+   if (pkg->wouldBreak()) {
+      ret = IsBroken;
+   } else if (flags & RPackage::FNewInstall) {
+      ret = ToInstall;
+   } else if (flags & RPackage::FUpgrade) {
+      ret = ToUpgrade;
+   } else if (flags & RPackage::FReInstall) {
+      ret = ToReInstall;
+   } else if (flags & RPackage::FDowngrade) {
+      ret = ToDowngrade;
+   } else if (flags & RPackage::FPurge) {
+      ret = ToPurge;
+   } else if (flags & RPackage::FRemove) {
+      ret = ToRemove;
+   } else if (flags & RPackage::FInstalled) {
+      if (flags & RPackage::FPinned)
+         ret = InstalledLocked;
+      else if (flags & RPackage::FOutdated)
+         ret = InstalledOutdated;
+      else
+         ret = InstalledUpdated;
+   } else {
+      if (flags & RPackage::FPinned)
+         ret = NotInstalledLocked;
+      else if (flags & RPackage::FNew)
+         ret = IsNew;
+      else
+         ret = NotInstalled;
+   }
+
+   return ret;
+}
+
+bool RPackageStatus::maintenanceEndTime(RPackage *pkg, struct tm *res) 
+{
+   //cerr << "RPackageStatus::maintenanceEndTime()" << std::endl;
+
+   pkgTagSection sec;
+   time_t release_date = -1;
+
+   string distro = _config->Find("Synaptic::supported-label");
+   string releaseFile = pkg->getReleaseFileForOrigin(distro, release);
+   if(!FileExists(releaseFile)) {
+      // happens e.g. when there is no release file and is harmless
+      //cerr << "mainenanceEndTime(): can not find file: " << releaseFile << endl;
+      return false;
+   }
+   
+   // read the relase file
+   FileFd fd(releaseFile, FileFd::ReadOnly);
+   pkgTagFile t(&fd);
+   t.Step(sec);
+
+   // get the time_t form the string
+   if(!StrToTime(sec.FindS("Date"), release_date))
+      return false;
+
+   // if its not a supported package, return 0 
+   if(!isSupported(pkg))
+      return false;
+
+   // now calculate the time until there is support
+   gmtime_r(&release_date, res);
+   
+   const int support_time =_config->FindI("Synaptic::supported-month", 0);
+   if (support_time <= 0)
+      return false;
+
+   res->tm_year += (support_time / 12) + ((res->tm_mon + support_time % 12) / 12);
+   res->tm_mon = (res->tm_mon + support_time) % 12;
+
+   return true;
+}

=== added file 'common/rpackagestatus.h'
--- common/rpackagestatus.h	1970-01-01 00:00:00 +0000
+++ common/rpackagestatus.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,96 @@
+/* rpackagestatus.h - wrapper for accessing packagestatus information
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ *               2002-2008 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ * 
+ * Portions Taken from Gnome APT
+ *   Copyright (C) 1998 Havoc Pennington <hp@pobox.com>
+ * 
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef _RPACKAGESTATUS_H_
+#define _RPACKAGESTATUS_H_
+
+#include <time.h>
+#include <vector>
+#include <string>
+#include <sstream>
+#include <apt-pkg/configuration.h>
+
+#include "i18n.h"
+#include "rpackage.h"
+
+using namespace std;
+
+class RPackageStatus {
+ public:
+   enum PkgStatus {
+      ToInstall, ToReInstall, ToUpgrade, ToDowngrade, ToRemove, ToPurge,
+      NotInstalled, NotInstalledLocked,
+      InstalledUpdated, InstalledOutdated, InstalledLocked,
+      IsBroken, IsNew,
+      N_STATUS_COUNT
+   };
+
+ protected:
+   static char release[255];
+
+   // the supported archive-labels and components
+   vector<string> supportedLabels;
+   vector<string> supportedOrigins;
+   vector<string> supportedComponents;
+   bool markUnsupported;
+
+   // this is the short string to load the icons
+   const char *PackageStatusShortString[N_STATUS_COUNT];
+   // this is the long string for the gui description of the state
+   const char *PackageStatusLongString[N_STATUS_COUNT];
+
+   // this does the actual work
+   int getStatus(RPackage *pkg);
+
+
+ public:
+   RPackageStatus() : markUnsupported(false) {};
+   virtual ~RPackageStatus() {};
+
+   // this reads the pixmaps and the colors
+   virtual void init();
+
+   // here we get the description for the States
+   const char *getLongStatusString(int i) {
+      return PackageStatusLongString[i];
+   };
+   const char *getLongStatusString(RPackage *pkg) {
+      return PackageStatusLongString[getStatus(pkg)];
+   };
+
+   const char *getShortStatusString(int i) {
+      return PackageStatusShortString[i];
+   };
+
+   bool isSupported(RPackage *pkg);
+
+   // return the time until the package is supported
+   bool maintenanceEndTime(RPackage *pkg, struct tm *support_end_tm);
+};
+
+#endif

=== added file 'common/rpackageview.cc'
--- common/rpackageview.cc	1970-01-01 00:00:00 +0000
+++ common/rpackageview.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,604 @@
+/* rpackageview.cc - Package sectioning system
+ * 
+ * Copyright (c) 2000, 2001 Conectiva S/A 
+ *               2002 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include <apt-pkg/pkgrecords.h>
+#include <apt-pkg/configuration.h>
+#include <rpackage.h>
+#include <rpackageview.h>
+#include <rconfiguration.h>
+
+#include <map>
+#include <vector>
+#include <sstream>
+#include <algorithm>
+
+#include "sections_trans.h"
+
+using namespace std;
+
+bool RPackageView::setSelected(string name)
+{
+   map<string, vector<RPackage *> >::iterator I = _view.find(name);
+   if (I != _view.end()) {
+      _hasSelection = true;
+      _selectedName = name;
+      _selectedView = (*I).second;
+   } else {
+      clearSelection();
+   }
+   return _hasSelection;
+}
+
+vector<string> RPackageView::getSubViews()
+{
+   vector<string> subViews;
+   for (map<string, vector<RPackage *> >::iterator I = _view.begin();
+        I != _view.end(); I++)
+      subViews.push_back((*I).first);
+   return subViews;
+}
+
+void RPackageView::clear()
+{
+   clearSelection();
+   _view.clear();
+}
+
+bool RPackageView::hasPackage(RPackage *pkg)
+{
+   return find(_selectedView.begin(), _selectedView.end(), pkg)  != _selectedView.end();
+}
+
+void RPackageView::clearSelection()
+{
+   _hasSelection = false;
+   _selectedName.clear();
+   _selectedView.clear();
+}
+
+void RPackageView::refresh()
+{
+   if(_config->FindB("Debug::Synaptic::View",false))
+      ioprintf(clog, "RPackageView::refresh(): '%s'\n",
+	       getName().c_str());
+
+   _view.clear();
+   for(unsigned int i=0;i<_all.size();i++) {
+      if(_all[i])
+	 addPackage(_all[i]);
+   }
+}
+
+void RPackageViewSections::addPackage(RPackage *package)
+{
+   string str = trans_section(package->section());
+   _view[str].push_back(package);
+};
+
+RPackageViewStatus::RPackageViewStatus(vector<RPackage *> &allPkgs) 
+   : RPackageView(allPkgs), markUnsupported(false)
+{
+   if(_config->FindB("Synaptic::mark-unsupported",false)) {
+      markUnsupported = true;
+      string components = _config->Find("Synaptic::supported-components", "main updates/main");
+
+      stringstream sstream(components);
+      string s;
+      while(!sstream.eof()) {
+	 sstream >> s;
+	 supportedComponents.push_back(s);
+      }
+   }
+};
+
+void RPackageViewStatus::addPackage(RPackage *pkg)
+{
+   string str;
+   int flags = pkg->getFlags();
+   string component = pkg->component();
+   bool unsupported = false;
+   
+   // we mark packages as unsupported if requested
+   if(markUnsupported) {
+      unsupported = true;
+      for(unsigned int i=0;i<supportedComponents.size();i++) {
+	 if(supportedComponents[i] == component) {
+	    unsupported = false;
+	    break;
+	 }
+      }
+   }
+
+   if(flags & RPackage::FInstalled) {
+      if( !(flags & RPackage::FNotInstallable) && unsupported)
+	 str = _("Installed (unsupported)");
+      else 
+	 str = _("Installed");
+   } else {
+      if( unsupported )
+	 str = _("Not installed (unsupported)");
+      else
+	 str = _("Not installed");
+   }
+   _view[str].push_back(pkg);
+
+   if ((flags & RPackage::FInstalled) &&
+       (flags & RPackage::FIsGarbage))
+   {
+      str = _("Installed (auto removable)");
+      _view[str].push_back(pkg);
+   }
+
+   if ((flags & RPackage::FInstalled) &&
+       !(flags & RPackage::FIsAuto))
+   {
+      str = _("Installed (manual)");
+      _view[str].push_back(pkg);
+   }
+
+   str.clear();
+   if (flags & RPackage::FNowBroken)
+      str = _("Broken dependencies");
+   else if (flags & RPackage::FNew)
+      str = _("New in repository");
+   else if (flags & RPackage::FPinned) 
+      str = _("Pinned");
+   else if ((flags & RPackage::FNotInstallable) &&
+	    !(flags & RPackage::FResidualConfig) &&
+	    (flags & RPackage::FInstalled))
+      str = _("Installed (local or obsolete)");
+   else if (flags & RPackage::FInstalled) {
+      if (flags & RPackage::FOutdated)
+	 str = _("Installed (upgradable)");
+   } else {
+      if (flags & RPackage::FResidualConfig)
+	 str = _("Not installed (residual config)");
+   }
+
+   if(!str.empty())
+      _view[str].push_back(pkg);
+}
+
+
+//------------------------------------------------------------------
+
+void RPackageViewSearch::addPackage(RPackage *pkg)
+{
+   string str;
+   const char *tmp=NULL;
+   bool global_found=true;
+
+   if(!pkg || _currentSearchItem.searchStrings.empty())
+      return;
+
+   // build the string
+   switch(_currentSearchItem.searchType) {
+   case RPatternPackageFilter::Name:
+      tmp = pkg->name();
+      break;
+   case RPatternPackageFilter::Version:
+      tmp = pkg->availableVersion();
+      break;
+   case RPatternPackageFilter::Description:
+      str = pkg->name();
+      str += string(pkg->summary());
+      str += string(pkg->description());
+      break;
+   case RPatternPackageFilter::Maintainer:
+      tmp = pkg->maintainer();
+      break;
+   case RPatternPackageFilter::Depends: 
+      {
+	 vector<DepInformation> d = pkg->enumDeps(true);
+	 for(unsigned int i=0;i<d.size();i++)
+	    str += string(d[i].name);
+	 break; 
+      }
+   case RPatternPackageFilter::Provides: 
+      {
+	 vector<string> d = pkg->provides();
+	 for(unsigned int i=0;i<d.size();i++)
+	    str += d[i];
+	 break;
+      }
+   }
+
+   if(tmp!=NULL)
+      str = tmp;
+      
+   // find the search pattern in the string "str"
+   for(unsigned int i=0;i<_currentSearchItem.searchStrings.size();i++) {
+      string searchString = _currentSearchItem.searchStrings[i];
+
+      if(!str.empty() && strcasestr(str.c_str(), searchString.c_str())) {
+	 global_found &= true;
+      } else {
+	 global_found &= false;
+      }
+   }
+   if(global_found) {
+      _view[_currentSearchItem.searchName].push_back(pkg);
+      found++;
+   }
+
+   // FIXME: we push a _lot_ of empty pkgs here :(
+   // push a empty package in the view to make sure that the view is actually
+   // displayed
+   //_view[searchString].push_back(NULL);
+}
+
+bool RPackageViewSearch::setSelected(string name)
+{
+   // if we do not have the search name in the current view, 
+   // check if we only have it in the searchHistory and if so,
+   // redo the search
+   if (_view.find(name) == _view.end()) {
+      map<string, searchItem>::iterator J = searchHistory.find(name);
+      if (J != searchHistory.end()) {
+	 //cerr << "found in search history, reapplying search" << endl;
+	 string s;
+	 OpProgress progress;
+	 for(int i=0;i < (*J).second.searchStrings.size();i++)
+	    s += string(" ") + (*J).second.searchStrings[i];
+	 // do search but do not add to history (we have it there already)
+	 setSearch((*J).second.searchName, (*J).second.searchType, s, 
+		   // FIXME: re-use progress from setSearch()
+		   progress);
+      }
+   }
+
+   // call parent
+   return RPackageView::setSelected(name);
+}
+
+vector<string> RPackageViewSearch::getSubViews()
+{
+   vector<string> subviews;
+   for(map<string, searchItem>::iterator I = searchHistory.begin();
+       I != searchHistory.end();
+       I++)
+     subviews.push_back((*I).first);
+   return subviews;
+}
+
+int RPackageViewSearch::setSearch(string aSearchName, 
+				  int type, 
+				  string searchString, 
+				  OpProgress &searchProgress)
+{
+   found = 0;
+
+   _currentSearchItem.searchType = type;
+   _currentSearchItem.searchName = aSearchName;
+
+   _view[_currentSearchItem.searchName].clear();
+   _currentSearchItem.searchStrings.clear();
+
+   // tokenize the str and add to the searchString vector
+   stringstream sstream(searchString);
+   string s;
+   while(!sstream.eof()) {
+      sstream >> s;
+      _currentSearchItem.searchStrings.push_back(s);
+   }
+
+   // overwrite existing ones
+   searchHistory[aSearchName] =  _currentSearchItem;
+   
+   // setup search progress (0 done, _all.size() in total, 1 subtask)
+   searchProgress.OverallProgress(0, _all.size(), 1, _("Searching"));
+   // reapply search when a new search strng is given
+   for(unsigned int i=0;i<_all.size();i++) 
+     if(_all[i]) {
+       searchProgress.Progress(i);
+       addPackage(_all[i]);
+     }
+   searchProgress.Done();
+   return found;
+}
+//------------------------------------------------------------------
+
+RPackageViewFilter::RPackageViewFilter(vector<RPackage *> &allPkgs) 
+   : RPackageView(allPkgs)
+{
+   // restore the filters
+   restoreFilters();
+
+   refreshFilters();
+}
+
+void RPackageViewFilter::refreshFilters()
+{
+   _view.clear();
+
+   // create a empty sub-views for each filter
+   for (vector<RFilter *>::iterator I = _filterL.begin();
+	I != _filterL.end(); I++) {
+      _view[(*I)->getName()].push_back(NULL);
+   }
+}
+
+int RPackageViewFilter::getFilterIndex(RFilter *filter)
+{
+  if (filter == NULL)
+     filter = findFilter(_selectedName);
+  for(unsigned int i=0;i<_filterL.size();i++)  {
+    if(filter == _filterL[i])
+      return i;
+  }
+  return -1;
+}
+
+
+RPackageViewFilter::iterator RPackageViewFilter::begin() 
+{ 
+//    cout << "RPackageViewFilter::begin() " << _selectedName <<  endl;
+
+   string name = _selectedName;
+   RFilter *filter = findFilter(name);
+
+   if(filter != NULL) {
+      _view[name].clear();
+
+      for(unsigned int i=0;i<_all.size();i++) {
+	 if(_all[i] && filter->apply(_all[i]))
+	    _view[name].push_back(_all[i]);
+      }
+      _selectedView = _view[name];
+   }
+
+   return _selectedView.begin(); 
+}
+
+void RPackageViewFilter::refresh()
+{
+   //cout << "RPackageViewFilter::refresh() " << endl;
+
+   refreshFilters();
+}
+
+
+vector<string> RPackageViewFilter::getFilterNames()
+{
+   vector<string> filters;
+   for (unsigned int i = 0; i != _filterL.size(); i++)
+      filters.push_back(_filterL[i]->getName());
+   return filters;
+}
+
+
+void RPackageViewFilter::addPackage(RPackage *pkg)
+{
+   // nothing to do for now, may add some sort of caching later
+}
+
+const set<string>& RPackageViewFilter::getSections() 
+{ 
+   if(_sectionList.empty())
+      for(unsigned int i=0;i<_all.size();i++)
+	 if(_all[i])
+	    _sectionList.insert(_all[i]->section());
+   return _sectionList; 
+};
+
+
+void RPackageViewFilter::storeFilters()
+{
+   ofstream out;
+
+   if (!RFilterDataOutFile(out))
+      return;
+
+   for (vector<RFilter *>::const_iterator iter = _filterL.begin();
+        iter != _filterL.end(); iter++) {
+
+      (*iter)->write(out);
+   }
+
+   out.close();
+}
+
+void RPackageViewFilter::restoreFilters()
+{
+   Configuration config;
+   RReadFilterData(config);
+
+   RFilter *filter;
+   const Configuration::Item *top = config.Tree("filter");
+   for (top = (top == 0 ? 0 : top->Child); top != 0; top = top->Next) {
+      filter = new RFilter();
+      filter->setName(top->Tag);
+
+      string filterkey = "filter::" + top->Tag;
+      if (filter->read(config, filterkey)) {
+         registerFilter(filter);
+      } else {
+         delete filter;
+      }
+   }
+
+   // Introduce new preset filters in the current config file.
+   // Already existent filters will be ignored, since the name
+   // will clash.
+   makePresetFilters();
+}
+
+bool RPackageViewFilter::registerFilter(RFilter *filter)
+{
+   string Name = filter->getName();
+   for (vector<RFilter *>::const_iterator I = _filterL.begin();
+        I != _filterL.end(); I++) {
+      if ((*I)->getName() == Name) {
+         delete filter;
+         return false;
+      }
+   }
+   _filterL.push_back(filter);
+   return true;
+}
+
+void RPackageViewFilter::unregisterFilter(RFilter *filter)
+{
+   for (vector<RFilter *>::iterator I = _filterL.begin();
+        I != _filterL.end(); I++) {
+      if (*I == filter) {
+         _filterL.erase(I);
+         return;
+      }
+   }
+}
+
+RFilter* RPackageViewFilter::findFilter(string name)
+{
+   RFilter *filter=NULL;
+   // find filter
+   for (vector<RFilter *>::iterator I = _filterL.begin();
+	I != _filterL.end(); I++) {
+      if((*I)->getName() == name) {
+	 filter = (*I);
+      }
+   }
+   return filter;
+}
+
+// we make only preset filters that are not covered by the status view
+void RPackageViewFilter::makePresetFilters()
+{
+   RFilter *filter;
+
+   // Notice that there's a little hack in filter names below. They're
+   // saved *without* i18n, but there's an i18n version for i18n. This
+   // allows i18n to be done in RFilter.getName().
+   {
+      filter = new RFilter();
+      filter->preset = true;
+      filter->setName("Search Filter");
+      _("Search Filter");
+      registerFilter(filter);
+   }
+#ifdef HAVE_RPM
+   {
+      filter = new RFilter();
+      filter->pattern.addPattern(RPatternPackageFilter::Name,
+                                 "^task-.*", false);
+      filter->setName("Tasks"); _("Tasks");
+      registerFilter(filter);
+   }
+   {
+      filter = new RFilter();
+      filter->reducedview.enable();
+      filter->setName("Reduced View"); _("Reduced View");
+      registerFilter(filter);
+   }
+#endif
+   {
+      filter = new RFilter();
+      filter->preset = true;
+      filter->status.setStatus(RStatusPackageFilter::Broken);
+      filter->setName("Broken"); _("Broken");
+      registerFilter(filter);
+   }
+   {
+      filter = new RFilter();
+      filter->preset = true;
+      filter->status.setStatus(RStatusPackageFilter::MarkInstall
+                               | RStatusPackageFilter::MarkRemove
+                               | RStatusPackageFilter::Broken);
+      filter->setName("Marked Changes"); _("Marked Changes");
+      registerFilter(filter);
+   }
+#ifndef HAVE_RPM
+   {
+      filter = new RFilter();
+      filter->preset = true;
+      filter->pattern.addPattern(RPatternPackageFilter::Depends,
+                                 "^debconf", false);
+      // TRANSLATORS: This is a filter that will give you all packages
+      // with debconf support (that can be reconfigured with debconf)
+      filter->setName("Package with Debconf"); _("Package with Debconf");
+      registerFilter(filter);
+   }
+#endif
+   filter = new RFilter();
+   filter->preset = true;
+   filter->status.setStatus(RStatusPackageFilter::UpstreamUpgradable);
+   filter->setName("Upgradable (upstream)"); _("Upgradable (upstream)");
+   registerFilter(filter);
+
+   filter = new RFilter();
+   filter->preset = true;
+   filter->pattern.addPattern(RPatternPackageFilter::Component,
+			      "main", true);
+   filter->pattern.addPattern(RPatternPackageFilter::Component,
+			      "restricted", true);
+   filter->pattern.addPattern(RPatternPackageFilter::Origin,
+			      "Ubuntu", false);
+   filter->pattern.setAndMode(true);
+   filter->status.setStatus(RStatusPackageFilter::Installed);
+   filter->setName("Community Maintained (installed)"); _("Community Maintained (installed)");
+   registerFilter(filter);
+
+   filter = new RFilter();
+   filter->preset = true;
+   filter->status.setStatus(RStatusPackageFilter::NowPolicyBroken);
+   filter->setName("Missing Recommends"); _("Missing Recommends");
+   registerFilter(filter);
+}
+
+void RPackageViewOrigin::addPackage(RPackage *package)
+{
+   string subview;
+   string component =  package->component();
+   string origin_url = package->getCandidateOriginSiteUrl();
+   string suite  = package->getCandidateOriginSuite();
+   string origin_str  = package->getCandidateOriginStr();
+
+   // local origins are all put under local (no matter what component, section)
+   if(origin_url == "") {
+      origin_url = _("Local");
+      _view[origin_url].push_back(package);
+      return;
+   }
+
+   // PPAs are special too
+   if(origin_str.find("LP-PPA-") != string::npos) {
+     _view[origin_str+"/"+suite].push_back(package);
+     return;
+   }
+
+   if(component == "")
+      component = _("Unknown");
+   if(suite == "now")
+      suite = "";
+
+   subview = suite+"/"+component+" ("+origin_url+")";
+   _view[subview].push_back(package);
+ };
+
+
+
+
+
+
+// vim:sts=3:sw=3

=== added file 'common/rpackageview.h'
--- common/rpackageview.h	1970-01-01 00:00:00 +0000
+++ common/rpackageview.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,235 @@
+/* rpackageview.h - Package sectioning system
+ * 
+ * Copyright (c) 2004 Conectiva S/A 
+ *               2004 Michael Vogt <mvo@debian.org>
+ * 
+ * Author: Gustavo Niemeyer
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+
+#ifndef RPACKAGEVIEW_H
+#define RPACKAGEVIEW_H
+
+#include <string>
+#include <map>
+
+#ifdef WITH_EPT
+#include <ept/axi/axi.h>
+#endif
+
+#include "rpackage.h"
+#include "rpackagefilter.h"
+
+#include "i18n.h"
+
+using namespace std;
+
+struct RFilter;
+
+enum {PACKAGE_VIEW_SECTION,
+      PACKAGE_VIEW_STATUS,
+      PACKAGE_VIEW_ORIGIN,
+      PACKAGE_VIEW_CUSTOM,
+      PACKAGE_VIEW_SEARCH,
+      N_PACKAGE_VIEWS
+};
+
+class RPackageView {
+ protected:
+
+   map<string, vector<RPackage *> > _view;
+
+   bool _hasSelection;
+   string _selectedName;
+
+   // packages in selected
+   vector<RPackage *> _selectedView;
+
+   // all packages in current global filter
+   vector<RPackage *> &_all;
+
+ public:
+   RPackageView(vector<RPackage *> &allPackages): _all(allPackages) {};
+   virtual ~RPackageView() {};
+
+   bool hasSelection() { return _hasSelection; };
+   string getSelected() { return _selectedName; };
+   bool hasPackage(RPackage *pkg);
+   virtual bool setSelected(string name);
+
+   void showAll() { 
+      _selectedView = _all; 
+      _hasSelection = false;
+      _selectedName.clear();
+   };
+
+   virtual vector<string> getSubViews();
+
+   virtual string getName() = 0;
+   virtual void addPackage(RPackage *package) = 0;
+
+   typedef vector<RPackage *>::iterator iterator;
+
+   virtual iterator begin() { return _selectedView.begin(); };
+   virtual iterator end() { return _selectedView.end(); };
+
+   virtual void clear();
+   virtual void clearSelection();
+
+   virtual void refresh();
+};
+
+
+
+class RPackageViewSections : public RPackageView {
+ public:
+   RPackageViewSections(vector<RPackage *> &allPkgs) : RPackageView(allPkgs) {};
+
+   string getName() {
+      return _("Sections");
+   };
+
+   void addPackage(RPackage *package);
+};
+
+class RPackageViewAlphabetic : public RPackageView {
+ public:
+   RPackageViewAlphabetic(vector<RPackage *> &allPkgs) : RPackageView(allPkgs) {};
+   string getName() {
+      return _("Alphabetic");
+   };
+
+   void addPackage(RPackage *package) {
+      char letter[2] = { ' ', '\0' };
+      letter[0] = toupper(package->name()[0]);
+      _view[letter].push_back(package);
+   };
+};
+
+class RPackageViewOrigin : public RPackageView {
+ public:
+   RPackageViewOrigin(vector<RPackage *> &allPkgs) : RPackageView(allPkgs) {};
+   string getName() {
+      return _("Origin");
+   };
+
+   void addPackage(RPackage *package);
+};
+
+class RPackageViewStatus:public RPackageView {
+ protected:
+   // mark the software as unsupported in status view
+   bool markUnsupported;
+   vector<string> supportedComponents;
+
+ public:
+   RPackageViewStatus(vector<RPackage *> &allPkgs);
+
+   string getName() {
+      return _("Status");
+   };
+
+   void addPackage(RPackage *package);
+};
+
+class RPackageViewSearch : public RPackageView {
+   struct searchItem {
+      vector<string> searchStrings;
+      string searchName;
+      int searchType;
+   };
+   // the search history
+   map<string, searchItem> searchHistory;
+   searchItem _currentSearchItem;
+   int found; // nr of found pkgs for the last search
+
+   bool xapianSearch();
+
+ public:
+ RPackageViewSearch(vector<RPackage *> &allPkgs) 
+    : RPackageView(allPkgs), found(0) {};
+
+   int setSearch(string searchName, int type, string searchString, 
+		 OpProgress &searchProgress);
+
+   string getName() {
+      return _("Search History");
+   };
+
+   // return search history here
+   virtual vector<string> getSubViews();
+   virtual bool setSelected(string name);
+
+   void addPackage(RPackage *package);
+
+   // no-op
+   virtual void refresh() {};
+};
+
+
+class RPackageViewFilter : public RPackageView {
+ protected:
+   vector<RFilter *> _filterL;
+   set<string> _sectionList;   // list of all available package sections
+
+ public:
+   void storeFilters();
+   void restoreFilters();
+   // called after the filtereditor was run
+   void refreshFilters();
+   void refresh();
+
+   bool registerFilter(RFilter *filter);
+   void unregisterFilter(RFilter *filter);
+
+   void makePresetFilters();
+
+   RFilter* findFilter(string name);
+   unsigned int nrOfFilters() { return _filterL.size(); };
+   RFilter *findFilter(unsigned int index) {
+      if (index > _filterL.size())
+         return NULL;
+      else
+         return _filterL[index];
+   };
+
+   // used by kynaptic
+   int getFilterIndex(RFilter *filter);
+
+   vector<string> getFilterNames();
+   const set<string> &getSections();
+
+   RPackageViewFilter(vector<RPackage *> &allPkgs);
+
+   // build packages list on "demand"
+   virtual iterator begin();
+
+   // we never need to clear because we build the view "on-demand"
+   virtual void clear() {clearSelection();};
+
+   string getName() {
+      return _("Custom");
+   };
+
+   void addPackage(RPackage *package);
+};
+
+#endif
+
+// vim:sts=3:sw=3

=== added file 'common/rpmindexcopy.cc'
--- common/rpmindexcopy.cc	1970-01-01 00:00:00 +0000
+++ common/rpmindexcopy.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,233 @@
+
+#include <apt-pkg/error.h>
+#include <apt-pkg/progress.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/tagfile.h>
+
+#include <iostream>
+#include <map>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <stdio.h>
+
+#include "rpmindexcopy.h"
+
+#include "i18n.h"
+
+using namespace std;
+
+string RPMIndexCopy::RipComponent(string Path)
+{
+   const char *begin;
+   const char *end;
+
+   end = strrchr(Path.c_str(), '.');
+   begin = strchr(strrchr(Path.c_str(), '/'), '.') + 1;
+   if (begin < strrchr(end, '/'))
+      return string(end + 1);
+
+   return string(begin, end);
+}
+
+
+string RPMIndexCopy::RipDistro(string Path)
+{
+   return string(Path, 0, Path.find("base") - 1);
+}
+
+
+string RPMIndexCopy::RipDirectory(string Path)
+{
+   return string(Path, 0, Path.rfind('/'));
+}
+
+#if 0
+static int strrcmp_(const char *a, const char *b)
+{
+   int la = strlen(a);
+   int lb = strlen(b);
+
+   if (la == 0 || lb == 0)
+      return 0;
+
+   if (la > lb)
+      return strcmp(&a[la - lb], b);
+   else
+      return strcmp(&b[lb - la], a);
+}
+#endif
+
+bool RPMIndexCopy::CopyPackages(string CDROM, string Name,
+                                vector<string> &List)
+{
+   OpTextProgress Progress;
+
+   if (List.size() == 0)
+      return true;
+
+   // Prepare the progress indicator
+   unsigned long TotalSize = 0;
+   for (vector<string>::iterator I = List.begin(); I != List.end(); I++) {
+      struct stat Buf;
+      if (stat((*I).c_str(), &Buf) != 0)
+         return _error->Errno("stat", _("Stat failed for %s"), (*I).c_str());
+      TotalSize += Buf.st_size;
+   }
+
+   unsigned long CurrentSize = 0;
+
+   // Keep track of global release processing
+   map<string, bool> GlobalReleases;
+
+   for (vector<string>::iterator I = List.begin(); I != List.end(); I++) {
+      string OrigPath = string(*I, CDROM.length());
+      unsigned long FileSize = 0;
+
+      // Open the package file
+      FileFd Pkg;
+      string File = *I;
+
+      if (strcmp(File.c_str() + File.length() - 4, ".bz2") == 0)
+         File = string(File, 0, File.length() - 4);
+
+      if (FileExists(File) == true) {
+         Pkg.Open(File, FileFd::ReadOnly);
+         FileSize = Pkg.Size();
+      } else {
+         FileFd From(*I, FileFd::ReadOnly);
+         if (_error->PendingError() == true)
+            return false;
+         FileSize = From.Size();
+
+         // Get a temp file
+         FILE *tmp = tmpfile();
+         if (tmp == 0)
+            return _error->Errno("tmpfile", _("Unable to create a tmp file"));
+         Pkg.Fd(dup(fileno(tmp)));
+         fclose(tmp);
+
+         // Fork bzip2
+         int Process = fork();
+         if (Process < 0)
+            return _error->Errno("fork",
+                                 "Internal Error: couldn't fork bzip2. Please report.");
+
+         // The child
+         if (Process == 0) {
+            dup2(From.Fd(), STDIN_FILENO);
+            dup2(Pkg.Fd(), STDOUT_FILENO);
+            SetCloseExec(STDIN_FILENO, false);
+            SetCloseExec(STDOUT_FILENO, false);
+
+            const char *Args[3];
+            Args[0] = _config->Find("Dir::Bin::bzip2", "bzip2").c_str();
+            Args[1] = "-d";
+            Args[2] = 0;
+            execvp(Args[0], (char **)Args);
+            exit(100);
+         }
+         // Wait for gzip to finish
+         if (ExecWait
+             (Process, _config->Find("Dir::Bin::bzip2", "bzip2").c_str(),
+              false) == false)
+            return _error->Error(_("bzip2 failed, perhaps the disk is full."));
+
+         Pkg.Seek(0);
+      }
+      if (_error->PendingError() == true)
+         return false;
+
+      // Open the output file
+      char S[400];
+      sprintf(S, "cdrom:[%s]/%s", Name.c_str(), File.c_str() + CDROM.length());
+      string TargetF = _config->FindDir("Dir::State::lists") + "partial/";
+      TargetF += URItoFileName(S);
+      if (_config->FindB("APT::CDROM::NoAct", false) == true)
+         TargetF = "/dev/null";
+      FileFd Target(TargetF, FileFd::WriteEmpty);
+      if (_error->PendingError() == true)
+         return false;
+
+      // Setup the progress meter
+      Progress.OverallProgress(CurrentSize, TotalSize, FileSize,
+                               string("Reading Indexes"));
+
+      // Parse
+      Progress.SubProgress(Pkg.Size());
+
+      if (!CopyFile(Pkg, Target))
+         return false;
+
+      if (_config->FindB("APT::CDROM::NoAct", false) == false) {
+         // Move out of the partial directory
+         Target.Close();
+         string FinalF = _config->FindDir("Dir::State::lists");
+         FinalF += URItoFileName(S);
+         if (rename(TargetF.c_str(), FinalF.c_str()) != 0)
+            return _error->Errno("rename", _("Failed to rename"));
+
+         // Two release steps, one for global, one for component
+         string release = "release";
+         for (int Step = 0; Step != 2; Step++) {
+            if (Step == 0) {
+               if (GlobalReleases.find(*I) != GlobalReleases.end())
+                  continue;
+               GlobalReleases[*I] = true;
+            } else
+               release += "." + RipComponent(*I);
+
+            // Copy the component release file
+            sprintf(S, "cdrom:[%s]/%s/%s", Name.c_str(),
+                    RipDirectory(*I).c_str() + CDROM.length(),
+                    release.c_str());
+            string TargetF =
+               _config->FindDir("Dir::State::lists") + "partial/";
+            TargetF += URItoFileName(S);
+            if (FileExists(RipDirectory(*I) + release) == true) {
+               FileFd Target(TargetF, FileFd::WriteEmpty);
+               FileFd Rel(RipDirectory(*I) + release, FileFd::ReadOnly);
+               if (_error->PendingError() == true)
+                  return false;
+
+               if (CopyFile(Rel, Target) == false)
+                  return false;
+            } else {
+               // Empty release file
+               FileFd Target(TargetF, FileFd::WriteEmpty);
+            }
+
+            // Rename the release file
+            FinalF = _config->FindDir("Dir::State::lists");
+            FinalF += URItoFileName(S);
+            if (rename(TargetF.c_str(), FinalF.c_str()) != 0)
+               return _error->Errno("rename", _("Failed to rename"));
+         }
+      }
+
+      string Prefix = "";
+      /* Mangle the source to be in the proper notation with
+         prefix dist [component] */
+//      *I = string(*I,Prefix.length());
+      ConvertToSourceList(CDROM, *I);
+      *I = Prefix + ' ' + *I;
+
+      CurrentSize += FileSize;
+   }
+   Progress.Done();
+
+   return true;
+}
+
+
+
+
+void RPMIndexCopy::ConvertToSourceList(string CD, string &Path)
+{
+   Path = string(Path, CD.length());
+
+   Path = RipDistro(Path) + " " + RipComponent(Path);
+}
+
+// vim:sts=3:sw=3

=== added file 'common/rpmindexcopy.h'
--- common/rpmindexcopy.h	1970-01-01 00:00:00 +0000
+++ common/rpmindexcopy.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,39 @@
+
+/* ######################################################################
+
+   Index Copying - Aid for copying and verifying the index files
+   
+   ##################################################################### 
+ */
+
+#ifndef RPMINDEXCOPY_H
+#define RPMINDEXCOPY_H
+
+#include <vector>
+#include <string>
+
+class pkgTagSection;
+class FileFd;
+
+class RPMIndexCopy {
+ protected:
+
+   string RipComponent(string Path);
+   string RipDirectory(string Path);
+   string RipDistro(string Path);
+
+   void ConvertToSourceList(string CD, string &Path);
+
+ public:
+
+   bool CopyPackages(string CDROM, string Name, vector<string> &List);
+};
+
+
+class RPMPackageCopy:public RPMIndexCopy {
+};
+
+class RPMSourceCopy:public RPMIndexCopy {
+};
+
+#endif

=== added file 'common/rsources.cc'
--- common/rsources.cc	1970-01-01 00:00:00 +0000
+++ common/rsources.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,563 @@
+/* rsource.cc - access the sources.list file
+ * 
+ * Copyright (c) 1999 Patrick Cole <z@amused.net>
+ *           (c) 2002 Synaptic development team          
+ * 
+ * Author: Patrick Cole <z@amused.net>
+ *         Michael Vogt <mvo@debian.org>
+ *         Gustavo Niemeyer <niemeyer@conectiva.com>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include <sys/stat.h>
+#include <dirent.h>
+
+#include "rsources.h"
+#include <apt-pkg/configuration.h>
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/sourcelist.h>
+#include <apt-pkg/strutl.h>
+#include <apt-pkg/error.h>
+#include <algorithm>
+#include <fstream>
+#include "config.h"
+#include "i18n.h"
+
+SourcesList::~SourcesList()
+{
+   for (list<SourceRecord *>::iterator it = SourceRecords.begin();
+        it != SourceRecords.end(); it++)
+      delete *it;
+   for (list<VendorRecord *>::iterator it = VendorRecords.begin();
+        it != VendorRecords.end(); it++)
+      delete *it;
+}
+
+SourcesList::SourceRecord *SourcesList::AddSourceNode(SourceRecord &rec)
+{
+   SourceRecord *newrec = new SourceRecord;
+   *newrec = rec;
+   SourceRecords.push_back(newrec);
+
+   return newrec;
+}
+
+bool SourcesList::ReadSourcePart(string listpath)
+{
+   //cout << "SourcesList::ReadSourcePart() "<< listpath  << endl;
+   char buf[512];
+   const char *p;
+   ifstream ifs(listpath.c_str(), ios::in);
+   bool record_ok = true;
+
+   // cannot open file
+   if (!ifs != 0)
+      return _error->Error(_("Can't read %s"), listpath.c_str());
+
+   while (ifs.eof() == false) {
+      p = buf;
+      SourceRecord rec;
+      string Type;
+      string Section;
+      string VURI;
+
+      ifs.getline(buf, sizeof(buf));
+
+      rec.SourceFile = listpath;
+      while (isspace(*p))
+         p++;
+      if (*p == '#') {
+         rec.Type = Disabled;
+         p++;
+         while (isspace(*p))
+            p++;
+      }
+
+      if (*p == '\r' || *p == '\n' || *p == 0) {
+         rec.Type = Comment;
+         rec.Comment = p;
+
+         AddSourceNode(rec);
+         continue;
+      }
+
+      bool Failed = true;
+      if (ParseQuoteWord(p, Type) == true &&
+          rec.SetType(Type) == true && ParseQuoteWord(p, VURI) == true) {
+         if (VURI[0] == '[') {
+            rec.VendorID = VURI.substr(1, VURI.length() - 2);
+            if (ParseQuoteWord(p, VURI) == true && rec.SetURI(VURI) == true)
+               Failed = false;
+         } else if (rec.SetURI(VURI) == true) {
+            Failed = false;
+         }
+         if (Failed == false && ParseQuoteWord(p, rec.Dist) == false)
+            Failed = true;
+      }
+
+      if (Failed == true) {
+         if (rec.Type == Disabled) {
+            // treat as a comment field
+            rec.Type = Comment;
+            rec.Comment = buf;
+         } else {
+            // syntax error on line
+            rec.Type = Comment;
+            string s = "#" + string(buf);
+            rec.Comment = s;
+            record_ok = false;
+            //return _error->Error(_("Syntax error in line %s"), buf);
+         }
+      }
+#ifndef HAVE_RPM
+      // check for absolute dist
+      if (rec.Dist.empty() == false && rec.Dist[rec.Dist.size() - 1] == '/') {
+         // make sure there's no section
+         if (ParseQuoteWord(p, Section) == true)
+            return _error->Error(_("Syntax error in line %s"), buf);
+
+         rec.Dist = SubstVar(rec.Dist, "$(ARCH)",
+                             _config->Find("APT::Architecture"));
+
+         AddSourceNode(rec);
+         continue;
+      }
+#endif
+
+      const char *tmp = p;
+      rec.NumSections = 0;
+      while (ParseQuoteWord(p, Section) == true)
+         rec.NumSections++;
+      if (rec.NumSections > 0) {
+         p = tmp;
+         rec.Sections = new string[rec.NumSections];
+         rec.NumSections = 0;
+         while (ParseQuoteWord(p, Section) == true) {
+            // comments inside the record are preserved
+            if (Section[0] == '#') {
+               SourceRecord rec;
+               string s = Section + string(p);
+               rec.Type = Comment;
+               rec.Comment = s;
+               rec.SourceFile = listpath;
+               AddSourceNode(rec);
+               break;
+            } else {
+               rec.Sections[rec.NumSections++] = Section;
+            }
+         }
+      }
+      AddSourceNode(rec);
+   }
+
+   ifs.close();
+   return record_ok;
+}
+
+bool SourcesList::ReadSourceDir(string Dir)
+{
+   //cout << "SourcesList::ReadSourceDir() " << Dir  << endl;
+
+   DIR *D = opendir(Dir.c_str());
+   if (D == 0)
+      return _error->Errno("opendir", _("Unable to read %s"), Dir.c_str());
+
+   vector<string> List;
+   for (struct dirent * Ent = readdir(D); Ent != 0; Ent = readdir(D)) {
+      if (Ent->d_name[0] == '.')
+         continue;
+
+      // Skip bad file names ala run-parts
+      const char *C = Ent->d_name;
+      for (; *C != 0; C++)
+         if (isalpha(*C) == 0 && isdigit(*C) == 0
+             && *C != '_' && *C != '-' && *C != '.')
+            break;
+      if (*C != 0)
+         continue;
+
+      // Only look at files ending in .list to skip .rpmnew etc files
+      if (strcmp(Ent->d_name + strlen(Ent->d_name) - 5, ".list") != 0)
+         continue;
+
+      // Make sure it is a file and not something else
+      string File = flCombine(Dir, Ent->d_name);
+      struct stat St;
+      if (stat(File.c_str(), &St) != 0 || S_ISREG(St.st_mode) == 0)
+         continue;
+      List.push_back(File);
+
+   }
+   closedir(D);
+
+   sort(List.begin(), List.end());
+
+   // Read the files
+   for (vector<string>::const_iterator I = List.begin(); I != List.end();
+        I++)
+      if (ReadSourcePart(*I) == false)
+         return false;
+   return true;
+}
+
+
+bool SourcesList::ReadSources()
+{
+   //cout << "SourcesList::ReadSources() " << endl;
+
+   bool Res = true;
+
+   string Parts = _config->FindDir("Dir::Etc::sourceparts");
+   if (FileExists(Parts) == true)
+      Res &= ReadSourceDir(Parts);
+   string Main = _config->FindFile("Dir::Etc::sourcelist");
+   if (FileExists(Main) == true)
+      Res &= ReadSourcePart(Main);
+
+   return Res;
+}
+
+SourcesList::SourceRecord *SourcesList::AddEmptySource()
+{
+   SourceRecord rec;
+#ifdef HAVE_RPM
+   rec.Type = Rpm;
+#else
+   rec.Type = Deb;
+#endif
+   rec.VendorID = "";
+   rec.SourceFile = _config->FindFile("Dir::Etc::sourcelist");
+   rec.Dist = "";
+   rec.NumSections = 0;
+   return AddSourceNode(rec);
+}
+
+SourcesList::SourceRecord *SourcesList::AddSource(RecType Type,
+                                                   string VendorID, string URI,
+                                                   string Dist,
+                                                   string *Sections,
+                                                   unsigned short count,
+                                                   string SourceFile)
+{
+   SourceRecord rec;
+   rec.Type = Type;
+   rec.VendorID = VendorID;
+   rec.SourceFile = SourceFile;
+
+   if (rec.SetURI(URI) == false) {
+      return NULL;
+   }
+   rec.Dist = Dist;
+   rec.NumSections = count;
+   rec.Sections = new string[count];
+   for (unsigned int i = 0; i < count; i++)
+      rec.Sections[i] = Sections[i];
+
+   return AddSourceNode(rec);
+}
+
+void SourcesList::RemoveSource(SourceRecord *&rec)
+{
+   SourceRecords.remove(rec);
+   delete rec;
+   rec = 0;
+}
+
+void SourcesList::SwapSources( SourceRecord *&rec_one, SourceRecord *&rec_two )
+{
+  list<SourceRecord *>::iterator rec_p;
+  list<SourceRecord *>::iterator rec_n;
+
+  rec_p = find( SourceRecords.begin(), SourceRecords.end(), rec_one );
+  rec_n = find( SourceRecords.begin(), SourceRecords.end(), rec_two );
+  
+  SourceRecords.insert( rec_p, rec_two );
+  SourceRecords.erase( rec_n );
+}
+
+bool SourcesList::UpdateSources()
+{
+   list<string> filenames;
+   for (list<SourceRecord *>::iterator it = SourceRecords.begin();
+        it != SourceRecords.end(); it++) {
+      if ((*it)->SourceFile == "")
+         continue;
+      filenames.push_front((*it)->SourceFile);
+   }
+   filenames.sort();
+   filenames.unique();
+
+   for (list<string>::iterator fi = filenames.begin();
+        fi != filenames.end(); fi++) {
+      ofstream ofs((*fi).c_str(), ios::out);
+      if (!ofs != 0)
+         return false;
+
+      for (list<SourceRecord *>::iterator it = SourceRecords.begin();
+           it != SourceRecords.end(); it++) {
+         if ((*fi) != (*it)->SourceFile)
+            continue;
+         string S;
+         if (((*it)->Type & Comment) != 0) {
+            S = (*it)->Comment;
+         } else if ((*it)->URI.empty() || (*it)->Dist.empty()) {
+            continue;
+         } else {
+            if (((*it)->Type & Disabled) != 0)
+               S = "# ";
+
+            S += (*it)->GetType() + " ";
+
+            if ((*it)->VendorID.empty() == false)
+               S += "[" + (*it)->VendorID + "] ";
+
+            S += (*it)->URI + " ";
+            S += (*it)->Dist + " ";
+
+            for (unsigned int J = 0; J < (*it)->NumSections; J++)
+               S += (*it)->Sections[J] + " ";
+         }
+         ofs << S << endl;
+      }
+      ofs.close();
+   }
+   return true;
+}
+
+bool SourcesList::SourceRecord::SetType(string S)
+{
+   if (S == "deb")
+      Type |= Deb;
+   else if (S == "deb-src")
+      Type |= DebSrc;
+   else if (S == "rpm")
+      Type |= Rpm;
+   else if (S == "rpm-src")
+      Type |= RpmSrc;
+   else if (S == "rpm-dir")
+      Type |= RpmDir;
+   else if (S == "rpm-src-dir")
+      Type |= RpmSrcDir;
+   else if (S == "repomd")
+      Type |= Repomd;
+   else if (S == "repomd-src")
+      Type |= RepomdSrc;
+   else
+      return false;
+   //cout << S << " settype " << (Type | Repomd) << endl;
+   return true;
+}
+
+string SourcesList::SourceRecord::GetType()
+{
+   if ((Type & Deb) != 0)
+      return "deb";
+   else if ((Type & DebSrc) != 0)
+      return "deb-src";
+   else if ((Type & Rpm) != 0)
+      return "rpm";
+   else if ((Type & RpmSrc) != 0)
+      return "rpm-src";
+   else if ((Type & RpmDir) != 0)
+      return "rpm-dir";
+   else if ((Type & RpmSrcDir) != 0)
+      return "rpm-src-dir";
+   else if ((Type & Repomd) != 0)
+      return "repomd";
+   else if ((Type & RepomdSrc) != 0)
+      return "repomd-src";
+   //cout << "type " << (Type & Repomd) << endl;
+   return "unknown";
+}
+
+bool SourcesList::SourceRecord::SetURI(string S)
+{
+   if (S.empty() == true)
+      return false;
+   if (S.find(':') == string::npos)
+      return false;
+
+   S = SubstVar(S, "$(ARCH)", _config->Find("APT::Architecture"));
+   S = SubstVar(S, "$(VERSION)", _config->Find("APT::DistroVersion"));
+   URI = S;
+
+   // append a / to the end if one is not already there
+   if (URI[URI.size() - 1] != '/')
+      URI += '/';
+
+   return true;
+}
+
+SourcesList::SourceRecord &SourcesList::SourceRecord::
+operator=(const SourceRecord &rhs)
+{
+   // Needed for a proper deep copy of the record; uses the string operator= to properly copy the strings
+   Type = rhs.Type;
+   VendorID = rhs.VendorID;
+   URI = rhs.URI;
+   Dist = rhs.Dist;
+   Sections = new string[rhs.NumSections];
+   for (unsigned int I = 0; I < rhs.NumSections; I++)
+      Sections[I] = rhs.Sections[I];
+   NumSections = rhs.NumSections;
+   Comment = rhs.Comment;
+   SourceFile = rhs.SourceFile;
+
+   return *this;
+}
+
+SourcesList::VendorRecord *SourcesList::AddVendorNode(VendorRecord &rec)
+{
+   VendorRecord *newrec = new VendorRecord;
+   *newrec = rec;
+   VendorRecords.push_back(newrec);
+
+   return newrec;
+}
+
+bool SourcesList::ReadVendors()
+{
+   Configuration Cnf;
+
+   string CnfFile = _config->FindFile("Dir::Etc::vendorlist");
+   if (FileExists(CnfFile) == true)
+      if (ReadConfigFile(Cnf, CnfFile, true) == false)
+         return false;
+
+   for (list<VendorRecord *>::const_iterator I = VendorRecords.begin();
+        I != VendorRecords.end(); I++)
+      delete *I;
+   VendorRecords.clear();
+
+   // Process 'simple-key' type sections
+   const Configuration::Item *Top = Cnf.Tree("simple-key");
+   for (Top = (Top == 0 ? 0 : Top->Child); Top != 0; Top = Top->Next) {
+      Configuration Block(Top);
+      VendorRecord Vendor;
+
+      Vendor.VendorID = Top->Tag;
+      Vendor.FingerPrint = Block.Find("Fingerprint");
+      Vendor.Description = Block.Find("Name");
+
+      char *buffer = new char[Vendor.FingerPrint.length() + 1];
+      char *p = buffer;;
+      for (string::const_iterator I = Vendor.FingerPrint.begin();
+           I != Vendor.FingerPrint.end(); I++) {
+         if (*I != ' ' && *I != '\t')
+            *p++ = *I;
+      }
+      *p = 0;
+      Vendor.FingerPrint = buffer;
+      delete[]buffer;
+
+      if (Vendor.FingerPrint.empty() == true ||
+          Vendor.Description.empty() == true) {
+         _error->Error(_("Vendor block %s is invalid"),
+                       Vendor.VendorID.c_str());
+         continue;
+      }
+
+      AddVendorNode(Vendor);
+   }
+
+   return !_error->PendingError();
+}
+
+SourcesList::VendorRecord *SourcesList::AddVendor(string VendorID,
+                                                  string FingerPrint,
+                                                  string Description)
+{
+   VendorRecord rec;
+   rec.VendorID = VendorID;
+   rec.FingerPrint = FingerPrint;
+   rec.Description = Description;
+   return AddVendorNode(rec);
+}
+
+bool SourcesList::UpdateVendors()
+{
+   ofstream ofs(_config->FindFile("Dir::Etc::vendorlist").c_str(), ios::out);
+   if (!ofs != 0)
+      return false;
+
+   for (list<VendorRecord *>::iterator it = VendorRecords.begin();
+        it != VendorRecords.end(); it++) {
+      ofs << "simple-key \"" << (*it)->VendorID << "\" {" << endl;
+      ofs << "\tFingerPrint \"" << (*it)->FingerPrint << "\";" << endl;
+      ofs << "\tName \"" << (*it)->Description << "\";" << endl;
+      ofs << "}" << endl;
+   }
+
+   ofs.close();
+   return true;
+}
+
+
+void SourcesList::RemoveVendor(VendorRecord *&rec)
+{
+   VendorRecords.remove(rec);
+   delete rec;
+   rec = 0;
+}
+
+ostream &operator<<(ostream &os, const SourcesList::SourceRecord &rec)
+{
+   os << "Type: ";
+   if ((rec.Type & SourcesList::Comment) != 0)
+      os << "Comment ";
+   if ((rec.Type & SourcesList::Disabled) != 0)
+      os << "Disabled ";
+   if ((rec.Type & SourcesList::Deb) != 0)
+      os << "Deb";
+   if ((rec.Type & SourcesList::DebSrc) != 0)
+      os << "DebSrc";
+   if ((rec.Type & SourcesList::Rpm) != 0)
+      os << "Rpm";
+   if ((rec.Type & SourcesList::RpmSrc) != 0)
+      os << "RpmSrc";
+   if ((rec.Type & SourcesList::RpmDir) != 0)
+      os << "RpmDir";
+   if ((rec.Type & SourcesList::RpmSrcDir) != 0)
+      os << "RpmSrcDir";
+   if ((rec.Type & SourcesList::Repomd) != 0)
+      os << "Repomd";
+   if ((rec.Type & SourcesList::RepomdSrc) != 0)
+      os << "RepomdSrc";
+   os << endl;
+   os << "SourceFile: " << rec.SourceFile << endl;
+   os << "VendorID: " << rec.VendorID << endl;
+   os << "URI: " << rec.URI << endl;
+   os << "Dist: " << rec.Dist << endl;
+   os << "Section(s):" << endl;
+#if 0
+   for (unsigned int J = 0; J < rec.NumSections; J++) {
+      cout << "\t" << rec.Sections[J] << endl;
+   }
+#endif
+   os << endl;
+   return os;
+}
+
+ostream &operator<<(ostream &os, const SourcesList::VendorRecord &rec)
+{
+   os << "VendorID: " << rec.VendorID << endl;
+   os << "FingerPrint: " << rec.FingerPrint << endl;
+   os << "Description: " << rec.Description << endl;
+   return os;
+}
+
+// vim:sts=4:sw=4

=== added file 'common/rsources.h'
--- common/rsources.h	1970-01-01 00:00:00 +0000
+++ common/rsources.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,113 @@
+/* rsource.h - access the sources.list file
+ * 
+ * Copyright (c) 1999 Patrick Cole <z@amused.net>
+ *           (c) 2002 Synaptic development team      
+ * 
+ * Author: Patrick Cole <z@amused.net>
+ *         Michael Vogt <mvo@debian.org>
+ *         Gustavo Niemeyer <niemeyer@conectiva.com>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef _RSOURCES_H
+#define _RSOURCES_H
+
+#include <string>
+#include <list>
+
+using namespace std;
+
+class SourcesList {
+ public:
+   enum RecType {
+      Deb = 1 << 0,
+      DebSrc = 1 << 1,
+      Rpm = 1 << 2,
+      RpmSrc = 1 << 3,
+      Disabled = 1 << 4,
+      Comment = 1 << 5,
+      RpmDir = 1 << 6,
+      RpmSrcDir = 1 << 7,
+      Repomd = 1 << 8,
+      RepomdSrc = 1 << 9
+   };
+
+   struct SourceRecord {
+      unsigned int Type;
+      string VendorID;
+      string URI;
+      string Dist;
+      string *Sections;
+      unsigned short NumSections;
+      string Comment;
+      string SourceFile;
+
+      bool SetType(string);
+      string GetType();
+      bool SetURI(string);
+
+        SourceRecord():Type(0), Sections(0), NumSections(0) {
+      };
+      ~SourceRecord() {
+         if (Sections)
+            delete[]Sections;
+      };
+      SourceRecord &operator=(const SourceRecord &);
+   };
+
+   struct VendorRecord {
+      string VendorID;
+      string FingerPrint;
+      string Description;
+   };
+
+   list<SourceRecord *> SourceRecords;
+   list<VendorRecord *> VendorRecords;
+
+ private:
+   SourceRecord *AddSourceNode(SourceRecord &);
+   VendorRecord *AddVendorNode(VendorRecord &);
+
+ public:
+   SourceRecord *AddSource(RecType Type,
+                           string VendorID,
+                           string URI,
+                           string Dist,
+                           string *Sections,
+                           unsigned short count, string SourceFile);
+   SourceRecord *AddEmptySource();
+   void RemoveSource(SourceRecord *&);
+   void SwapSources( SourceRecord *&, SourceRecord *& );
+   bool ReadSourcePart(string listpath);
+   bool ReadSourceDir(string Dir);
+   bool ReadSources();
+   bool UpdateSources();
+
+   VendorRecord *AddVendor(string VendorID,
+                           string FingerPrint, string Description);
+   void RemoveVendor(VendorRecord *&);
+   bool ReadVendors();
+   bool UpdateVendors();
+
+   SourcesList() {
+   };
+   ~SourcesList();
+};
+
+ostream &operator <<(ostream &, const SourcesList::SourceRecord &);
+
+#endif

=== added file 'common/rswig.cc'
--- common/rswig.cc	1970-01-01 00:00:00 +0000
+++ common/rswig.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,9 @@
+// 
+
+#include "rswig.h"
+
+bool RInitSystem()
+{
+   return pkgInitConfig(*_config) && pkgInitSystem(*_config,_system);
+
+}

=== added file 'common/rswig.h'
--- common/rswig.h	1970-01-01 00:00:00 +0000
+++ common/rswig.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,80 @@
+// helper code for the swig generated bindings
+
+#include<apt-pkg/configuration.h>
+#include<apt-pkg/init.h>
+#include<apt-pkg/progress.h>
+#include<apt-pkg/acquire.h>
+#include "rinstallprogress.h"
+
+bool RInitSystem();
+
+class SwigOpProgress : public OpProgress {
+ protected:
+   virtual void Update() { UpdateStatus(Percent); };
+ public:
+   virtual void UpdateStatus(float p) {};
+   virtual void Done() {};
+};
+
+
+class SwigInstallProgress : public RInstallProgress {
+ public:
+   virtual void startUpdate() {
+   };
+   virtual void updateInterface() {
+   };
+   virtual void finishUpdate() {
+   };
+   // get a str feed to the user with the result of the install run
+   virtual const char* getResultStr(pkgPackageManager::OrderResult r) {
+      RInstallProgress::getResultStr(r);
+   };
+   virtual pkgPackageManager::OrderResult start(RPackageManager *pm,
+                                                int numPackages = 0,
+                                                int numPackagesTotal = 0) 
+   {
+      return RInstallProgress::start(pm,numPackages,numPackagesTotal);
+   };
+};
+
+class pkgAcquire;
+class pkgAcquireStatus;
+class Item;
+struct ItemDesc
+{
+   string URI;
+   string Description;
+   string ShortDesc;
+   Item *Owner;
+};
+
+class SwigAcquireStatus : public pkgAcquireStatus 
+{
+ protected:
+   virtual bool Pulse(pkgAcquire *Owner) {
+      pkgAcquireStatus::Pulse(Owner);
+      UpdatePulse(FetchedBytes, CurrentCPS, CurrentItems);
+   };
+ public:
+   // Called by items when they have finished a real download
+   virtual void Fetched(unsigned long Size,unsigned long ResumePoint) {
+      pkgAcquireStatus::Fetched(Size, ResumePoint);
+   };
+   
+   // Called to change media
+   virtual bool MediaChange(string Media,string Drive) = 0;
+   
+   // Each of these is called by the workers when an event occures
+   virtual void IMSHit(ItemDesc &/*Itm*/) {};
+   virtual void Fetch(ItemDesc &/*Itm*/) {};
+   virtual void Done(ItemDesc &/*Itm*/) {};
+   virtual void Fail(ItemDesc &/*Itm*/) {};
+   virtual void UpdatePulse(double FetchedBytes, double CurrentCPS, unsigned long CurrentItems) {};
+   virtual void Start() {
+      pkgAcquireStatus::Start();
+   };
+   virtual void Stop() {
+      pkgAcquireStatus::Stop();
+   };
+
+};

=== added file 'common/rtagcollbuilder.cc'
--- common/rtagcollbuilder.cc	1970-01-01 00:00:00 +0000
+++ common/rtagcollbuilder.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,23 @@
+/*
+ * TagcollConsumer that builds a tagged collection
+ * 
+ * Copyright (C) 2003  Enrico Zini <enrico@debian.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ */
+
+//#pragma implementation
+
+#include "rtagcollbuilder.h"

=== added file 'common/rtagcollbuilder.h'
--- common/rtagcollbuilder.h	1970-01-01 00:00:00 +0000
+++ common/rtagcollbuilder.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,93 @@
+#ifndef RTAGCOLL_BUILDER_H
+#define RTAGCOLL_BUILDER_H
+
+/*
+ * TagcollConsumer that builds a tagged collection
+ * 
+ * Copyright (C) 2003  Enrico Zini <enrico@debian.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ */
+
+#if 0 // PORTME
+#ifdef HAVE_DEBTAGS
+//#pragma interface
+
+#include <HandleMaker.h>
+#include <TagcollConsumer.h>
+#include <TagCollection.h>
+#include "rpackage.h"
+#include "rpackagelister.h"
+
+// TagcollConsumer that builds a tagged collection for synaptic
+class RTagcollBuilder:public TagcollConsumer<std::string> {
+ protected:
+   HandleMaker<RPackage *> &handleMaker;
+   TagCollection<int> coll;
+   RPackageLister *_lister;
+
+   int getHandle(const std::string &str) throw() {
+      RPackage *pkg = _lister->getElement(str);
+      return handleMaker.getHandle(pkg);
+   }
+
+   OpSet<int> itemsToHandles(const OpSet<std::string> &ts) throw() {
+      OpSet<int> res;
+      for (OpSet<std::string>::const_iterator i = ts.begin();
+           i != ts.end(); i++)
+         res += getHandle(*i);
+      return res;
+   }
+
+ public:
+   RTagcollBuilder(HandleMaker<RPackage *> &handleMaker,
+                   RPackageLister *l) throw()
+ :   handleMaker(handleMaker), _lister(l) {
+   }
+   virtual ~ RTagcollBuilder()throw() {
+   }
+
+   virtual void consume(const std::string &item) throw() {
+      coll.add(getHandle(item));
+   }
+
+   virtual void consume(const std::string &item,
+                        const OpSet<std::string> &tags) throw() {
+      coll.add(tags, getHandle(item));
+   }
+
+   virtual void consume(const OpSet<std::string> &items) throw() {
+      coll.add(itemsToHandles(items));
+   }
+
+   virtual void consume(const OpSet<std::string> &items,
+                        const OpSet<std::string> &tags) throw() {
+      coll.add(tags, itemsToHandles(items));
+   }
+
+   // Retrieve the resulting collection
+   TagCollection<int> collection() throw() {
+      return coll;
+   }
+   const TagCollection<int> collection() const throw() {
+      return coll;
+   }
+};
+
+#endif //HAVE_DEBTAGS
+
+// vim:set ts=4 sw=4:
+#endif
+#endif

=== added file 'common/rtagcollfilter.cc'
--- common/rtagcollfilter.cc	1970-01-01 00:00:00 +0000
+++ common/rtagcollfilter.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,23 @@
+/*
+ * Filter interface for a stream of tagged items
+ *
+ * Copyright (C) 2003  Enrico Zini <enrico@debian.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ */
+
+//#pragma implementation
+
+#include "rtagcollfilter.h"

=== added file 'common/rtagcollfilter.h'
--- common/rtagcollfilter.h	1970-01-01 00:00:00 +0000
+++ common/rtagcollfilter.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,64 @@
+#ifndef RTAGCOLFILTER_H
+#define RTAGCOLFILTER_H
+
+#ifdef HAVE_DEBTAG
+
+/*
+ * Represent a list of tag substitutions to apply as a TagcollFilter
+ *
+ * Copyright (C) 2003  Enrico Zini <enrico@debian.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
+ */
+
+//#pragma interface
+
+#include <TagcollConsumer.h>
+#include <TagcollFilter.h>
+
+#include <map>
+#include <string>
+#include "rpackage.h"
+#include "rpackagelister.h"
+
+class RTagcollFilter:public TagcollFilter<std::string> {
+ protected:
+   RPackageLister *_lister;
+
+ public:
+   RTagcollFilter(RPackageLister *lister) throw()
+ :   _lister(lister) {
+   }
+
+   virtual void consume(const std::string &item) throw() {
+      // make sure that only elements we know about are displayed
+      // this should really use getElementInDisplayList
+      if (_lister->getElement(item) != NULL)
+         consumer->consume(item);
+   }
+
+   virtual void consume(const std::string &item,
+                        const OpSet<std::string> &tags) throw() {
+      // make sure that only elements we know about are displayed
+      // this should really use getElementInDisplayList
+      if (_lister->getElement(item) != NULL)
+         consumer->consume(item, tags);
+   }
+};
+
+// vim:set ts=4 sw=4:
+
+#endif // HAVE_DEBTAGS
+#endif

=== added file 'common/ruserdialog.cc'
--- common/ruserdialog.cc	1970-01-01 00:00:00 +0000
+++ common/ruserdialog.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,52 @@
+/* ruserdialog.cc
+ * 
+ * Copyright (c) 2003 Conectiva S/A 
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#include <apt-pkg/error.h>
+#include <string>
+#include <ruserdialog.h>
+
+bool RUserDialog::showErrors()
+{
+   if (_error->empty())
+      return false;
+
+   while (!_error->empty()) {
+      std::string message;
+      bool iserror = _error->PopMessage(message);
+
+      // Ignore some stupid error messages.
+      if (message == "Tried to dequeue a fetching object")
+         continue;
+
+      if (!message.empty()) {
+         if (iserror)
+            error(message.c_str());
+         else
+            warning(message.c_str());
+      }
+   }
+
+   return true;
+}
+
+// vim:ts=3:sw=3:et

=== added file 'common/ruserdialog.h'
--- common/ruserdialog.h	1970-01-01 00:00:00 +0000
+++ common/ruserdialog.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,71 @@
+/* ruserdialog.h
+ * 
+ * Copyright (c) 2003 Conectiva S/A 
+ * 
+ * Author: Alfredo K. Kojima <kojima@conectiva.com.br>
+ *         Michael Vogt <mvo@debian.org>
+ *
+ * This program is free software; you can redistribute it and/or 
+ * modify it under the terms of the GNU General Public License as 
+ * published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
+ * USA
+ */
+
+#ifndef RUSERDIALOG_H
+#define RUSERDIALOG_H
+
+class RUserDialog {
+ public:
+   enum ButtonsType {
+      ButtonsDefault,
+      ButtonsOk,
+      ButtonsOkCancel,
+      ButtonsYesNo
+   };
+
+   enum DialogType {
+      DialogInfo,
+      DialogWarning,
+      DialogQuestion,
+      DialogError
+   };
+
+   virtual bool message(const char *msg,
+                        DialogType dialog = DialogInfo,
+                        ButtonsType buttons = ButtonsDefault,
+                        bool defres = true) = 0;
+
+   virtual bool confirm(const char *msg, bool defres = true) {
+      return message(msg, DialogQuestion, ButtonsYesNo, defres);
+   };
+
+   virtual bool proceed(const char *msg, bool defres = true) {
+      return message(msg, DialogInfo, ButtonsOkCancel, defres);
+   };
+
+   virtual bool warning(const char *msg, bool nocancel = true) {
+      return nocancel ? message(msg, DialogWarning)
+         : message(msg, DialogWarning, ButtonsOkCancel, false);
+   };
+
+   virtual void error(const char *msg) {
+      message(msg, DialogError);
+   };
+
+   virtual bool showErrors();
+
+};
+
+#endif
+
+// vim:sts=4:sw=4

=== added file 'common/sections_trans.cc'
--- common/sections_trans.cc	1970-01-01 00:00:00 +0000
+++ common/sections_trans.cc	2010-08-01 23:35:56 +0000
@@ -0,0 +1,184 @@
+/* sections_trans.cc - translate debian sections into friendlier names
+ *  (c) 2004 Michael Vogt 
+ *  
+ */
+
+#include <libintl.h>
+
+#include "sections_trans.h"
+
+const char *transtable[][2] = {
+   // TRANSLATORS: Alias for the Debian package section "admin"
+   {"admin", _("System Administration")},
+   // TRANSLATORS: Alias for the Debian package section "base"
+   {"base", _("Base System")},
+   // TRANSLATORS: Alias for the Debian package section "cli-mono"
+   {"cli-mono", _("Mono/CLI Infrastructure")},
+   // TRANSLATORS: Alias for the Debian package section "comm"
+   {"comm", _("Communication")},
+   // TRANSLATORS: Alias for the Debian package section "database"
+   {"database", _("Databases")},
+   // TRANSLATORS: Alias for the Debian package section "devel"
+   {"devel", _("Development")},
+   // TRANSLATORS: Alias for the Debian package section "doc"
+   {"doc", _("Documentation")},
+   // TRANSLATORS: Alias for the Debian package section "debug"
+   {"debug", _("Debug")},
+   // TRANSLATORS: Alias for the Debian package section "editors"
+   {"editors", _("Editors")},
+   // TRANSLATORS: Alias for the Debian package section "electronics"
+   {"electronics", _("Electronics")},
+   // TRANSLATORS: Alias for the Debian package section "embedded"
+   {"embedded", _("Embedded Devices")},
+   // TRANSLATORS: Alias for the Debian package section "fonts"
+   {"fonts", _("Fonts")},
+   // TRANSLATORS: Alias for the Debian package section "games"
+   {"games", _("Games and Amusement")},
+   // TRANSLATORS: Alias for the Debian package section "gnome"
+   {"gnome", _("GNOME Desktop Environment")},
+   // TRANSLATORS: Alias for the Debian package section "graphics"
+   {"graphics", _("Graphics")},
+   // TRANSLATORS: Alias for the Debian package section "gnu-r"
+   {"gnu-r", _("GNU R statistical system")},
+   // TRANSLATORS: Alias for the Debian package section "gnustep"
+   {"gnustep", _("Gnustep Desktop Environment")},
+   // TRANSLATORS: Alias for the Debian package section "hamradio"
+   {"hamradio", _("Amateur Radio")},
+   // TRANSLATORS: Alias for the Debian package section "haskell"
+   {"haskell", _("Haskell Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "httpd"
+   {"httpd", _("Web servers")},
+   // TRANSLATORS: Alias for the Debian package section "interpreters"
+   {"interpreters", _("Interpreted Computer Languages")},
+   // TRANSLATORS: Alias for the Debian package section "java"
+   {"java", _("Java Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "KDE"
+   {"kde", _("KDE Desktop Environment")},
+   // TRANSLATORS: Alias for the Debian package section "kernel"
+   {"kernel", _("Kernel and modules")},
+   // TRANSLATORS: Alias for the Debian package section "libdevel"
+   {"libdevel", _("Libraries - Development")},
+   // TRANSLATORS: Alias for the Debian package section "libs"
+   {"libs", _("Libraries")},
+   // TRANSLATORS: Alias for the Debian package section "lisp"
+   {"lisp", _("Lisp Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "localization"
+   {"localization", _("Localization")},
+   // TRANSLATORS: Alias for the Debian package section "mail"
+   {"mail", _("Email")},
+   // TRANSLATORS: Alias for the Debian package section "math"
+   {"math", _("Mathematics")},
+   // TRANSLATORS: Alias for the Debian package section "misc"
+   {"misc", _("Miscellaneous - Text Based")},
+   // TRANSLATORS: Alias for the Debian package section "net"
+   {"net", _("Networking")},
+   // TRANSLATORS: Alias for the Debian package section "news"
+   {"news", _("Newsgroup")},
+   // TRANSLATORS: Alias for the Debian package section "ocaml"
+   {"ocaml", _("OCaml Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "oldlibs"
+   {"oldlibs", _("Libraries - Old")},
+   // TRANSLATORS: Alias for the Debian package section "otherosfs"
+   {"otherosfs", _("Cross Platform")},
+   // TRANSLATORS: Alias for the Debian package section "perl"
+   {"perl", _("Perl Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "php"
+   {"php", _("PHP Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "python"
+   {"python", _("Python Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "ruby"
+   {"ruby", _("Ruby Programming Language")},
+   // TRANSLATORS: Alias for the Debian package section "science"
+   {"science", _("Science")},
+   // TRANSLATORS: Alias for the Debian package section "shells"
+   {"shells", _("Shells")},
+   // TRANSLATORS: Alias for the Debian package section "sound"
+   {"sound", _("Multimedia")},
+   // TRANSLATORS: Alias for the Debian package section "tex"
+   {"tex", _("TeX Authoring")},
+   // TRANSLATORS: Alias for the Debian package section "text"
+   {"text", _("Word Processing")},
+   // TRANSLATORS: Alias for the Debian package section "utils"
+   {"utils", _("Utilities")},
+   // TRANSLATORS: Alias for the Debian package section "vcs"
+   {"vcs", _("Version Control Systems")},
+   // TRANSLATORS: Alias for the Debian package section "video"
+   {"video", _("Video software")},
+   // TRANSLATORS: Alias for the Debian package section "web"
+   {"web", _("World Wide Web")},
+   // TRANSLATORS: Alias for the Debian package section "x11"
+   {"x11", _("Miscellaneous  - Graphical")},
+   // TRANSLATORS: Alias for the Debian package section "xfce"
+   {"xfce", _("Xfce Desktop Environment")},
+   // TRANSLATORS: Alias for the Debian package section "zope"
+   {"zope", _("Zope/Plone Environment")},
+   // TRANSLATORS: The section of the package is not known
+   {"unknown", _("Unknown")},
+   // TRANSLATORS: Alias for the Debian package section "alien"
+   {"alien", _("Converted From RPM by Alien")},
+   // TRANSLATORS: Ubuntu translations section
+   {"translations", _("Internationalization and localization")},
+   // TRANSLATORS: Ubuntu metapackages section
+   {"metapackages", _("Meta Packages")},
+
+   // TRANSLATORS: Alias for the Debian package section "non-US"
+   //              Export to the outside of the USA is not allowed
+   //              or restricted
+   {"non-US", _("Restricted On Export")},
+   // TRANSLATORS: Alias for the Debian package section "non free"
+   {"non-free", _("non free")},
+   // TRANSLATORS: Alias for the Debian package section "contrib"
+   //              Free software that depends on non-free software
+   {"contrib", _("contrib")},
+   //{"non-free",_("<i>(non free)</i>")},
+   //{"contrib",_("<i>(contrib)</i>")},
+   {NULL, NULL}
+};
+
+#ifndef HAVE_RPM
+string trans_section(string sec)
+{
+   string str = sec;
+   string suffix;
+   // baaaa, special case for stupid debian package naming
+   if (str == "non-US/non-free") {
+      str = _("Restricted On Export");
+      suffix = _("non free");
+   }
+   if (str == "non-US/non-free") {
+      str = _("Restricted On Export");
+      suffix = _("contrib");
+   }
+   // if we have something like "contrib/web", make "contrib" the 
+   // suffix and translate it independently
+   string::size_type n = str.find("/");
+   if (n != string::npos) {
+      suffix = str.substr(0, n);
+      str.erase(0, n + 1);
+      for (int i = 0; transtable[i][0] != NULL; i++) {
+         if (suffix == transtable[i][0]) {
+            suffix = _(transtable[i][1]);
+            break;
+         }
+      }
+   }
+   for (int i = 0; transtable[i][0] != NULL; i++) {
+      if (str == transtable[i][0]) {
+         str = _(transtable[i][1]);
+         break;
+      }
+   }
+   // if we have a suffix, add it
+   if (!suffix.empty()) {
+      ostringstream out;
+      ioprintf(out, "%s (%s)", str.c_str(), suffix.c_str());
+      str = out.str();
+   }
+   return str;
+}
+#else
+string trans_section(string sec)
+{
+   return dgettext("rpm", sec.c_str());
+}
+#endif

=== added file 'common/sections_trans.h'
--- common/sections_trans.h	1970-01-01 00:00:00 +0000
+++ common/sections_trans.h	2010-08-01 23:35:56 +0000
@@ -0,0 +1,18 @@
+/* Translation table for debian sections
+ * (c) 2004 Michael Vogt
+ */
+
+#ifndef _HAVE_SECTIONS_TRANS_H
+#define _HAVE_SECTIONS_TRANS_H
+
+#include <string>
+#include <sstream>
+#include <iostream>
+#include <apt-pkg/strutl.h>
+#include "i18n.h"
+
+using namespace std;
+
+string trans_section(string sec);
+
+#endif

=== added file 'config.h.in'
--- config.h.in	1970-01-01 00:00:00 +0000
+++ config.h.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,137 @@
+/* config.h.in.  Generated from configure.in by autoheader.  */
+
+/* always defined to indicate that i18n is enabled */
+#undef ENABLE_NLS
+
+/* description */
+#undef GETTEXT_PACKAGE
+
+/* whether apt-pkg/cdrom.h is present */
+#undef HAVE_APTPKG_CDROM
+
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+#undef HAVE_BIND_TEXTDOMAIN_CODESET
+
+/* Define to 1 if you have the `dcgettext' function. */
+#undef HAVE_DCGETTEXT
+
+/* build with debtags support */
+#undef HAVE_DEBTAGS
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#undef HAVE_GETTEXT
+
+/* Define to 1 if you have the `iconv' function. */
+#undef HAVE_ICONV
+
+/* Define to 1 if you have the <iconv.h> header file. */
+#undef HAVE_ICONV_H
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#undef HAVE_INTTYPES_H
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#undef HAVE_LC_MESSAGES
+
+/* Define to 1 if you have the <libintl.h> header file. */
+#undef HAVE_LIBINTL_H
+
+/* Define to 1 if you have the <locale.h> header file. */
+#undef HAVE_LOCALE_H
+
+/* Define to 1 if you have the <memory.h> header file. */
+#undef HAVE_MEMORY_H
+
+/* Define to 1 if you have the `regcomp' function. */
+#undef HAVE_REGCOMP
+
+/* wheter RPM is present */
+#undef HAVE_RPM
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#undef HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#undef HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strcoll' function and it is properly defined.
+   */
+#undef HAVE_STRCOLL
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#undef HAVE_STRING_H
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#undef HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#undef HAVE_SYS_TYPES_H
+
+/* build with a terminal widget */
+#undef HAVE_TERMINAL
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#undef HAVE_UNISTD_H
+
+/* build with VTE as output terminal */
+#undef HAVE_VTE
+
+/* Name of package */
+#undef PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#undef PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#undef PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#undef PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#undef PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#undef PACKAGE_URL
+
+/* Define to the version of this package. */
+#undef PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#undef STDC_HEADERS
+
+/* build with package pin feature */
+#undef SYNAPTIC_PKG_HOLD
+
+/* Version number of package */
+#undef VERSION
+
+/* build with apt auth support */
+#undef WITH_APT_AUTH
+
+/* build with dpkg progress bar */
+#undef WITH_DPKG_STATUSFD
+
+/* Define if you want to enable the ept functions. */
+#undef WITH_EPT
+
+/* build with launchpad-integration */
+#undef WITH_LAUNCHPAD_INTEGRATION
+
+/* Define if you want to enable the extension system. */
+#undef WITH_LUA
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#undef const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+   calls it, or to nothing if 'inline' is not supported under any name.  */
+#ifndef __cplusplus
+#undef inline
+#endif

=== renamed file 'config.h.in' => 'config.h.in.moved'
=== added file 'configure'
--- configure	1970-01-01 00:00:00 +0000
+++ configure	2010-08-01 23:35:56 +0000
@@ -0,0 +1,10297 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.65.
+#
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
+# Inc.
+#
+#
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+if test "x$CONFIG_SHELL" = x; then
+  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '\${1+\"\$@\"}'='\"\$@\"'
+  setopt NO_GLOB_SUBST
+else
+  case \`(set -o) 2>/dev/null\` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+"
+  as_required="as_fn_return () { (exit \$1); }
+as_fn_success () { as_fn_return 0; }
+as_fn_failure () { as_fn_return 1; }
+as_fn_ret_success () { return 0; }
+as_fn_ret_failure () { return 1; }
+
+exitcode=0
+as_fn_success || { exitcode=1; echo as_fn_success failed.; }
+as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
+as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
+as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
+if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
+
+else
+  exitcode=1; echo positional parameters were not saved.
+fi
+test x\$exitcode = x0 || exit 1"
+  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
+  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
+  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
+  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
+test \$(( 1 + 1 )) = 2 || exit 1"
+  if (eval "$as_required") 2>/dev/null; then :
+  as_have_required=yes
+else
+  as_have_required=no
+fi
+  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
+
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_found=false
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  as_found=:
+  case $as_dir in #(
+	 /*)
+	   for as_base in sh bash ksh sh5; do
+	     # Try only shells that exist, to save several forks.
+	     as_shell=$as_dir/$as_base
+	     if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+		    { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  CONFIG_SHELL=$as_shell as_have_required=yes
+		   if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
+  break 2
+fi
+fi
+	   done;;
+       esac
+  as_found=false
+done
+$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
+	      { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
+  CONFIG_SHELL=$SHELL as_have_required=yes
+fi; }
+IFS=$as_save_IFS
+
+
+      if test "x$CONFIG_SHELL" != x; then :
+  # We cannot yet assume a decent shell, so we have to provide a
+	# neutralization value for shells without unset; and this also
+	# works around shells that cannot unset nonexistent variables.
+	BASH_ENV=/dev/null
+	ENV=/dev/null
+	(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
+	export CONFIG_SHELL
+	exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+    if test x$as_have_required = xno; then :
+  $as_echo "$0: This script requires a shell more modern than all"
+  $as_echo "$0: the shells that I found on your system."
+  if test x${ZSH_VERSION+set} = xset ; then
+    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
+    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
+  else
+    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
+$0: including any error possibly output before this
+$0: message. Then install a modern shell, or manually run
+$0: the script under such a shell if you do have one."
+  fi
+  exit 1
+fi
+fi
+fi
+SHELL=${CONFIG_SHELL-/bin/sh}
+export SHELL
+# Unset more variables known to interfere with behavior of common tools.
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+
+## --------------------- ##
+## M4sh Shell Functions. ##
+## --------------------- ##
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+
+  as_lineno_1=$LINENO as_lineno_1a=$LINENO
+  as_lineno_2=$LINENO as_lineno_2a=$LINENO
+  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
+  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
+  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
+  sed -n '
+    p
+    /[$]LINENO/=
+  ' <$as_myself |
+    sed '
+      s/[$]LINENO.*/&-/
+      t lineno
+      b
+      :lineno
+      N
+      :loop
+      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+      t loop
+      s/-\n.*//
+    ' >$as_me.lineno &&
+  chmod +x "$as_me.lineno" ||
+    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
+
+  # Don't try to exec as it changes $[0], causing all sort of problems
+  # (the dirname of $[0] is not the place where we might find the
+  # original and so on.  Autoconf is especially sensitive to this).
+  . "./$as_me.lineno"
+  # Exit status is that of the last command.
+  exit
+}
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+test -n "$DJDIR" || exec 7<&0 </dev/null
+exec 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+PACKAGE_URL=
+
+ac_unique_file="configure.in"
+# Factoring default headers for most tests.
+ac_includes_default="\
+#include <stdio.h>
+#ifdef HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#ifdef STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# ifdef HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#ifdef HAVE_STRING_H
+# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#ifdef HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>
+#endif
+#ifdef HAVE_STDINT_H
+# include <stdint.h>
+#endif
+#ifdef HAVE_UNISTD_H
+# include <unistd.h>
+#endif"
+
+ac_subst_vars='am__EXEEXT_FALSE
+am__EXEEXT_TRUE
+LTLIBOBJS
+LIBOBJS
+VTE_LIBS
+VTE_CFLAGS
+CXXCPP
+LIBEPT_LIBS
+LIBEPT_CFLAGS
+LP_LIBS
+LP_CFLAGS
+DEB_LIBS
+DEB_HDRS
+WITH_LUA_FALSE
+WITH_LUA_TRUE
+RPM_HDRS
+RPM_LIBS
+BUILD_gtk
+PACKAGE_LIBS
+PACKAGE_CFLAGS
+PKG_CONFIG_LIBDIR
+PKG_CONFIG_PATH
+PKG_CONFIG
+synapticlocaledir
+ALL_LINGUAS
+INTLTOOL_PERL
+MSGMERGE
+INTLTOOL_POLICY_RULE
+INTLTOOL_SERVICE_RULE
+INTLTOOL_THEME_RULE
+INTLTOOL_SCHEMAS_RULE
+INTLTOOL_CAVES_RULE
+INTLTOOL_XML_NOMERGE_RULE
+INTLTOOL_XML_RULE
+INTLTOOL_KBD_RULE
+INTLTOOL_XAM_RULE
+INTLTOOL_UI_RULE
+INTLTOOL_SOUNDLIST_RULE
+INTLTOOL_SHEET_RULE
+INTLTOOL_SERVER_RULE
+INTLTOOL_PONG_RULE
+INTLTOOL_OAF_RULE
+INTLTOOL_PROP_RULE
+INTLTOOL_KEYS_RULE
+INTLTOOL_DIRECTORY_RULE
+INTLTOOL_DESKTOP_RULE
+INTLTOOL_EXTRACT
+INTLTOOL_MERGE
+INTLTOOL_UPDATE
+GETTEXT_PACKAGE
+MKINSTALLDIRS
+POSUB
+POFILES
+PO_IN_DATADIR_FALSE
+PO_IN_DATADIR_TRUE
+INTLLIBS
+INSTOBJEXT
+GMOFILES
+DATADIRNAME
+CATOBJEXT
+CATALOGS
+XGETTEXT
+GMSGFMT
+MSGFMT_OPTS
+MSGFMT
+USE_NLS
+RANLIB
+am__fastdepCXX_FALSE
+am__fastdepCXX_TRUE
+CXXDEPMODE
+ac_ct_CXX
+CXXFLAGS
+CXX
+EGREP
+GREP
+CPP
+am__fastdepCC_FALSE
+am__fastdepCC_TRUE
+CCDEPMODE
+AMDEPBACKSLASH
+AMDEP_FALSE
+AMDEP_TRUE
+am__quote
+am__include
+DEPDIR
+OBJEXT
+EXEEXT
+ac_ct_CC
+CPPFLAGS
+LDFLAGS
+CFLAGS
+CC
+MAINT
+MAINTAINER_MODE_FALSE
+MAINTAINER_MODE_TRUE
+am__untar
+am__tar
+AMTAR
+am__leading_dot
+SET_MAKE
+AWK
+mkdir_p
+MKDIR_P
+INSTALL_STRIP_PROGRAM
+STRIP
+install_sh
+MAKEINFO
+AUTOHEADER
+AUTOMAKE
+AUTOCONF
+ACLOCAL
+VERSION
+PACKAGE
+CYGPATH_W
+am__isrc
+INSTALL_DATA
+INSTALL_SCRIPT
+INSTALL_PROGRAM
+target_alias
+host_alias
+build_alias
+LIBS
+ECHO_T
+ECHO_N
+ECHO_C
+DEFS
+mandir
+localedir
+libdir
+psdir
+pdfdir
+dvidir
+htmldir
+infodir
+docdir
+oldincludedir
+includedir
+localstatedir
+sharedstatedir
+sysconfdir
+datadir
+datarootdir
+libexecdir
+sbindir
+bindir
+program_transform_name
+prefix
+exec_prefix
+PACKAGE_URL
+PACKAGE_BUGREPORT
+PACKAGE_STRING
+PACKAGE_VERSION
+PACKAGE_TARNAME
+PACKAGE_NAME
+PATH_SEPARATOR
+SHELL'
+ac_subst_files=''
+ac_user_opts='
+enable_option_checking
+enable_maintainer_mode
+enable_dependency_tracking
+enable_nls
+enable_scripts
+with_launchpad_integration
+enable_ept
+with_pkg_hold
+with_apt_authentication
+with_nice_dpkg_status
+with_debtags
+with_vte
+'
+      ac_precious_vars='build_alias
+host_alias
+target_alias
+CC
+CFLAGS
+LDFLAGS
+LIBS
+CPPFLAGS
+CPP
+CXX
+CXXFLAGS
+CCC
+PKG_CONFIG
+PKG_CONFIG_PATH
+PKG_CONFIG_LIBDIR
+PACKAGE_CFLAGS
+PACKAGE_LIBS
+LP_CFLAGS
+LP_LIBS
+LIBEPT_CFLAGS
+LIBEPT_LIBS
+CXXCPP
+VTE_CFLAGS
+VTE_LIBS'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+ac_unrecognized_opts=
+ac_unrecognized_sep=
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+  # If the previous option needs an argument, assign it.
+  if test -n "$ac_prev"; then
+    eval $ac_prev=\$ac_option
+    ac_prev=
+    continue
+  fi
+
+  case $ac_option in
+  *=*)	ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+  *)	ac_optarg=yes ;;
+  esac
+
+  # Accept the important Cygnus configure options, so we can diagnose typos.
+
+  case $ac_dashdash$ac_option in
+  --)
+    ac_dashdash=yes ;;
+
+  -bindir | --bindir | --bindi | --bind | --bin | --bi)
+    ac_prev=bindir ;;
+  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+    bindir=$ac_optarg ;;
+
+  -build | --build | --buil | --bui | --bu)
+    ac_prev=build_alias ;;
+  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+    build_alias=$ac_optarg ;;
+
+  -cache-file | --cache-file | --cache-fil | --cache-fi \
+  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+    ac_prev=cache_file ;;
+  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+    cache_file=$ac_optarg ;;
+
+  --config-cache | -C)
+    cache_file=config.cache ;;
+
+  -datadir | --datadir | --datadi | --datad)
+    ac_prev=datadir ;;
+  -datadir=* | --datadir=* | --datadi=* | --datad=*)
+    datadir=$ac_optarg ;;
+
+  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+  | --dataroo | --dataro | --datar)
+    ac_prev=datarootdir ;;
+  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+    datarootdir=$ac_optarg ;;
+
+  -disable-* | --disable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=no ;;
+
+  -docdir | --docdir | --docdi | --doc | --do)
+    ac_prev=docdir ;;
+  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+    docdir=$ac_optarg ;;
+
+  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+    ac_prev=dvidir ;;
+  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+    dvidir=$ac_optarg ;;
+
+  -enable-* | --enable-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid feature name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"enable_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval enable_$ac_useropt=\$ac_optarg ;;
+
+  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+  | --exec | --exe | --ex)
+    ac_prev=exec_prefix ;;
+  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+  | --exec=* | --exe=* | --ex=*)
+    exec_prefix=$ac_optarg ;;
+
+  -gas | --gas | --ga | --g)
+    # Obsolete; use --with-gas.
+    with_gas=yes ;;
+
+  -help | --help | --hel | --he | -h)
+    ac_init_help=long ;;
+  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+    ac_init_help=recursive ;;
+  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+    ac_init_help=short ;;
+
+  -host | --host | --hos | --ho)
+    ac_prev=host_alias ;;
+  -host=* | --host=* | --hos=* | --ho=*)
+    host_alias=$ac_optarg ;;
+
+  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+    ac_prev=htmldir ;;
+  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+  | --ht=*)
+    htmldir=$ac_optarg ;;
+
+  -includedir | --includedir | --includedi | --included | --include \
+  | --includ | --inclu | --incl | --inc)
+    ac_prev=includedir ;;
+  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+  | --includ=* | --inclu=* | --incl=* | --inc=*)
+    includedir=$ac_optarg ;;
+
+  -infodir | --infodir | --infodi | --infod | --info | --inf)
+    ac_prev=infodir ;;
+  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+    infodir=$ac_optarg ;;
+
+  -libdir | --libdir | --libdi | --libd)
+    ac_prev=libdir ;;
+  -libdir=* | --libdir=* | --libdi=* | --libd=*)
+    libdir=$ac_optarg ;;
+
+  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+  | --libexe | --libex | --libe)
+    ac_prev=libexecdir ;;
+  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+  | --libexe=* | --libex=* | --libe=*)
+    libexecdir=$ac_optarg ;;
+
+  -localedir | --localedir | --localedi | --localed | --locale)
+    ac_prev=localedir ;;
+  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+    localedir=$ac_optarg ;;
+
+  -localstatedir | --localstatedir | --localstatedi | --localstated \
+  | --localstate | --localstat | --localsta | --localst | --locals)
+    ac_prev=localstatedir ;;
+  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+    localstatedir=$ac_optarg ;;
+
+  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+    ac_prev=mandir ;;
+  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+    mandir=$ac_optarg ;;
+
+  -nfp | --nfp | --nf)
+    # Obsolete; use --without-fp.
+    with_fp=no ;;
+
+  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+  | --no-cr | --no-c | -n)
+    no_create=yes ;;
+
+  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+    no_recursion=yes ;;
+
+  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+  | --oldin | --oldi | --old | --ol | --o)
+    ac_prev=oldincludedir ;;
+  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+    oldincludedir=$ac_optarg ;;
+
+  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+    ac_prev=prefix ;;
+  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+    prefix=$ac_optarg ;;
+
+  -program-prefix | --program-prefix | --program-prefi | --program-pref \
+  | --program-pre | --program-pr | --program-p)
+    ac_prev=program_prefix ;;
+  -program-prefix=* | --program-prefix=* | --program-prefi=* \
+  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+    program_prefix=$ac_optarg ;;
+
+  -program-suffix | --program-suffix | --program-suffi | --program-suff \
+  | --program-suf | --program-su | --program-s)
+    ac_prev=program_suffix ;;
+  -program-suffix=* | --program-suffix=* | --program-suffi=* \
+  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+    program_suffix=$ac_optarg ;;
+
+  -program-transform-name | --program-transform-name \
+  | --program-transform-nam | --program-transform-na \
+  | --program-transform-n | --program-transform- \
+  | --program-transform | --program-transfor \
+  | --program-transfo | --program-transf \
+  | --program-trans | --program-tran \
+  | --progr-tra | --program-tr | --program-t)
+    ac_prev=program_transform_name ;;
+  -program-transform-name=* | --program-transform-name=* \
+  | --program-transform-nam=* | --program-transform-na=* \
+  | --program-transform-n=* | --program-transform-=* \
+  | --program-transform=* | --program-transfor=* \
+  | --program-transfo=* | --program-transf=* \
+  | --program-trans=* | --program-tran=* \
+  | --progr-tra=* | --program-tr=* | --program-t=*)
+    program_transform_name=$ac_optarg ;;
+
+  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+    ac_prev=pdfdir ;;
+  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+    pdfdir=$ac_optarg ;;
+
+  -psdir | --psdir | --psdi | --psd | --ps)
+    ac_prev=psdir ;;
+  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+    psdir=$ac_optarg ;;
+
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil)
+    silent=yes ;;
+
+  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+    ac_prev=sbindir ;;
+  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+  | --sbi=* | --sb=*)
+    sbindir=$ac_optarg ;;
+
+  -sharedstatedir | --sharedstatedir | --sharedstatedi \
+  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+  | --sharedst | --shareds | --shared | --share | --shar \
+  | --sha | --sh)
+    ac_prev=sharedstatedir ;;
+  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+  | --sha=* | --sh=*)
+    sharedstatedir=$ac_optarg ;;
+
+  -site | --site | --sit)
+    ac_prev=site ;;
+  -site=* | --site=* | --sit=*)
+    site=$ac_optarg ;;
+
+  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+    ac_prev=srcdir ;;
+  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+    srcdir=$ac_optarg ;;
+
+  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+  | --syscon | --sysco | --sysc | --sys | --sy)
+    ac_prev=sysconfdir ;;
+  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+    sysconfdir=$ac_optarg ;;
+
+  -target | --target | --targe | --targ | --tar | --ta | --t)
+    ac_prev=target_alias ;;
+  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+    target_alias=$ac_optarg ;;
+
+  -v | -verbose | --verbose | --verbos | --verbo | --verb)
+    verbose=yes ;;
+
+  -version | --version | --versio | --versi | --vers | -V)
+    ac_init_version=: ;;
+
+  -with-* | --with-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=\$ac_optarg ;;
+
+  -without-* | --without-*)
+    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+    # Reject names that are not valid shell variable names.
+    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
+      as_fn_error "invalid package name: $ac_useropt"
+    ac_useropt_orig=$ac_useropt
+    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
+    case $ac_user_opts in
+      *"
+"with_$ac_useropt"
+"*) ;;
+      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
+	 ac_unrecognized_sep=', ';;
+    esac
+    eval with_$ac_useropt=no ;;
+
+  --x)
+    # Obsolete; use --with-x.
+    with_x=yes ;;
+
+  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+  | --x-incl | --x-inc | --x-in | --x-i)
+    ac_prev=x_includes ;;
+  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+    x_includes=$ac_optarg ;;
+
+  -x-libraries | --x-libraries | --x-librarie | --x-librari \
+  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+    ac_prev=x_libraries ;;
+  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+    x_libraries=$ac_optarg ;;
+
+  -*) as_fn_error "unrecognized option: \`$ac_option'
+Try \`$0 --help' for more information."
+    ;;
+
+  *=*)
+    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+    # Reject names that are not valid shell variable names.
+    case $ac_envvar in #(
+      '' | [0-9]* | *[!_$as_cr_alnum]* )
+      as_fn_error "invalid variable name: \`$ac_envvar'" ;;
+    esac
+    eval $ac_envvar=\$ac_optarg
+    export $ac_envvar ;;
+
+  *)
+    # FIXME: should be removed in autoconf 3.0.
+    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+    : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+    ;;
+
+  esac
+done
+
+if test -n "$ac_prev"; then
+  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+  as_fn_error "missing argument to $ac_option"
+fi
+
+if test -n "$ac_unrecognized_opts"; then
+  case $enable_option_checking in
+    no) ;;
+    fatal) as_fn_error "unrecognized options: $ac_unrecognized_opts" ;;
+    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
+  esac
+fi
+
+# Check all directory arguments for consistency.
+for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
+		datadir sysconfdir sharedstatedir localstatedir includedir \
+		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+		libdir localedir mandir
+do
+  eval ac_val=\$$ac_var
+  # Remove trailing slashes.
+  case $ac_val in
+    */ )
+      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
+      eval $ac_var=\$ac_val;;
+  esac
+  # Be sure to have absolute directory names.
+  case $ac_val in
+    [\\/$]* | ?:[\\/]* )  continue;;
+    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+  esac
+  as_fn_error "expected an absolute directory name for --$ac_var: $ac_val"
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+  if test "x$build_alias" = x; then
+    cross_compiling=maybe
+    $as_echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+    If a cross compiler is detected then cross compile mode will be used." >&2
+  elif test "x$build_alias" != "x$host_alias"; then
+    cross_compiling=yes
+  fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+  as_fn_error "working directory cannot be determined"
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+  as_fn_error "pwd does not report name of working directory"
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+  ac_srcdir_defaulted=yes
+  # Try the directory containing this script, then the parent directory.
+  ac_confdir=`$as_dirname -- "$as_myself" ||
+$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_myself" : 'X\(//\)[^/]' \| \
+	 X"$as_myself" : 'X\(//\)$' \| \
+	 X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_myself" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  srcdir=$ac_confdir
+  if test ! -r "$srcdir/$ac_unique_file"; then
+    srcdir=..
+  fi
+else
+  ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+  as_fn_error "cannot find sources ($ac_unique_file) in $srcdir"
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+	cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error "$ac_msg"
+	pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+  srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+  eval ac_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_env_${ac_var}_value=\$${ac_var}
+  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+  eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+  # Omit some internal or obsolete options to make the list less imposing.
+  # This message is too long to be a string in the A/UX 3.1 sh.
+  cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE.  See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+  -h, --help              display this help and exit
+      --help=short        display options specific to this package
+      --help=recursive    display the short help of all the included packages
+  -V, --version           display version information and exit
+  -q, --quiet, --silent   do not print \`checking...' messages
+      --cache-file=FILE   cache test results in FILE [disabled]
+  -C, --config-cache      alias for \`--cache-file=config.cache'
+  -n, --no-create         do not create output files
+      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+  --prefix=PREFIX         install architecture-independent files in PREFIX
+                          [$ac_default_prefix]
+  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
+                          [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+  --bindir=DIR            user executables [EPREFIX/bin]
+  --sbindir=DIR           system admin executables [EPREFIX/sbin]
+  --libexecdir=DIR        program executables [EPREFIX/libexec]
+  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
+  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
+  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
+  --libdir=DIR            object code libraries [EPREFIX/lib]
+  --includedir=DIR        C header files [PREFIX/include]
+  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
+  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
+  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
+  --infodir=DIR           info documentation [DATAROOTDIR/info]
+  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
+  --mandir=DIR            man documentation [DATAROOTDIR/man]
+  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
+  --htmldir=DIR           html documentation [DOCDIR]
+  --dvidir=DIR            dvi documentation [DOCDIR]
+  --pdfdir=DIR            pdf documentation [DOCDIR]
+  --psdir=DIR             ps documentation [DOCDIR]
+_ACEOF
+
+  cat <<\_ACEOF
+
+Program names:
+  --program-prefix=PREFIX            prepend PREFIX to installed program names
+  --program-suffix=SUFFIX            append SUFFIX to installed program names
+  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+  cat <<\_ACEOF
+
+Optional Features:
+  --disable-option-checking  ignore unrecognized --enable/--with options
+  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
+  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
+  --enable-maintainer-mode  enable make rules and dependencies not useful
+			  (and sometimes confusing) to the casual installer
+  --disable-dependency-tracking  speeds up one-time build
+  --enable-dependency-tracking   do not reject slow dependency extractors
+  --disable-nls           do not use Native Language Support
+  --enable-scripts        enable the extension system
+  --enable-ept            enable libept functionality
+
+Optional Packages:
+  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
+  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
+--launchpad-integration   build with launchpad-integration
+--with-pkg-hold   build with experimental package "hold" feature
+--with-apt-authentication  build with support for apt authentication
+--with-nice-dpkg-status build with support for dpkg progress bar
+--with-debtags-support   build with experimental debtags support
+--with-vte  compile with libvte support (terminal output)
+
+Some influential environment variables:
+  CC          C compiler command
+  CFLAGS      C compiler flags
+  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
+              nonstandard directory <lib dir>
+  LIBS        libraries to pass to the linker, e.g. -l<library>
+  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
+              you have headers in a nonstandard directory <include dir>
+  CPP         C preprocessor
+  CXX         C++ compiler command
+  CXXFLAGS    C++ compiler flags
+  PKG_CONFIG  path to pkg-config utility
+  PKG_CONFIG_PATH
+              directories to add to pkg-config's search path
+  PKG_CONFIG_LIBDIR
+              path overriding pkg-config's built-in search path
+  PACKAGE_CFLAGS
+              C compiler flags for PACKAGE, overriding pkg-config
+  PACKAGE_LIBS
+              linker flags for PACKAGE, overriding pkg-config
+  LP_CFLAGS   C compiler flags for LP, overriding pkg-config
+  LP_LIBS     linker flags for LP, overriding pkg-config
+  LIBEPT_CFLAGS
+              C compiler flags for LIBEPT, overriding pkg-config
+  LIBEPT_LIBS linker flags for LIBEPT, overriding pkg-config
+  CXXCPP      C++ preprocessor
+  VTE_CFLAGS  C compiler flags for VTE, overriding pkg-config
+  VTE_LIBS    linker flags for VTE, overriding pkg-config
+
+Use these variables to override the choices made by `configure' or to help
+it to find libraries and programs with nonstandard names/locations.
+
+Report bugs to the package provider.
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+  # If there are subdirs, report their specific --help.
+  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+    test -d "$ac_dir" ||
+      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
+      continue
+    ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+    cd "$ac_dir" || { ac_status=$?; continue; }
+    # Check for guested configure.
+    if test -f "$ac_srcdir/configure.gnu"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+    elif test -f "$ac_srcdir/configure"; then
+      echo &&
+      $SHELL "$ac_srcdir/configure" --help=recursive
+    else
+      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+    fi || ac_status=$?
+    cd "$ac_pwd" || { ac_status=$?; break; }
+  done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+  cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.65
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+  exit
+fi
+
+## ------------------------ ##
+## Autoconf initialization. ##
+## ------------------------ ##
+
+# ac_fn_c_try_compile LINENO
+# --------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_compile
+
+# ac_fn_c_try_link LINENO
+# -----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_link ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext conftest$ac_exeext
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext && {
+	 test "$cross_compiling" = yes ||
+	 $as_test_x conftest$ac_exeext
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
+  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
+  # interfere with the next link command; also delete a directory that is
+  # left behind by Apple's compiler.  We do this before executing the actions.
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_link
+
+# ac_fn_c_try_cpp LINENO
+# ----------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_c_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } >/dev/null && {
+	 test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_cpp
+
+# ac_fn_c_try_run LINENO
+# ----------------------
+# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
+# that executables *can* be run.
+ac_fn_c_try_run ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: program exited with status $ac_status" >&5
+       $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+       ac_retval=$ac_status
+fi
+  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_c_try_run
+
+# ac_fn_cxx_try_compile LINENO
+# ----------------------------
+# Try to compile conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  rm -f conftest.$ac_objext
+  if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_compile
+
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_mongrel
+
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
+# ac_fn_c_check_func LINENO FUNC VAR
+# ----------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_c_check_func ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+    which can conflict with char $2 (); below.
+    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+    <limits.h> exists even on freestanding compilers.  */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  eval "$3=yes"
+else
+  eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_func
+
+# ac_fn_cxx_try_cpp LINENO
+# ------------------------
+# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
+ac_fn_cxx_try_cpp ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { { ac_try="$ac_cpp conftest.$ac_ext"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    grep -v '^ *+' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+    mv -f conftest.er1 conftest.err
+  fi
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; } >/dev/null && {
+	 test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       }; then :
+  ac_retval=0
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+    ac_retval=1
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+  as_fn_set_status $ac_retval
+
+} # ac_fn_cxx_try_cpp
+
+# ac_fn_cxx_check_header_mongrel LINENO HEADER VAR INCLUDES
+# ---------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_cxx_check_header_mongrel ()
+{
+  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+  if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+  # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_header_compiler=yes
+else
+  ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <$2>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  ac_header_preproc=yes
+else
+  ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So?  What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_cxx_preproc_warn_flag in #((
+  yes:no: )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+  no:yes:* )
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2:     check for missing prerequisite headers?" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2:     section \"Present But Cannot Be Compiled\"" >&2;}
+    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+    ;;
+esac
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+	       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+  eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_cxx_check_header_mongrel
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
+
+/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
+/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
+/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
+/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
+/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    $as_echo "PATH: $as_dir"
+  done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+  for ac_arg
+  do
+    case $ac_arg in
+    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+    | -silent | --silent | --silen | --sile | --sil)
+      continue ;;
+    *\'*)
+      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    case $ac_pass in
+    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
+    2)
+      as_fn_append ac_configure_args1 " '$ac_arg'"
+      if test $ac_must_keep_next = true; then
+	ac_must_keep_next=false # Got value, back to normal.
+      else
+	case $ac_arg in
+	  *=* | --config-cache | -C | -disable-* | --disable-* \
+	  | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+	  | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+	  | -with-* | --with-* | -without-* | --without-* | --x)
+	    case "$ac_configure_args0 " in
+	      "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+	    esac
+	    ;;
+	  -* ) ac_must_keep_next=true ;;
+	esac
+      fi
+      as_fn_append ac_configure_args " '$ac_arg'"
+      ;;
+    esac
+  done
+done
+{ ac_configure_args0=; unset ac_configure_args0;}
+{ ac_configure_args1=; unset ac_configure_args1;}
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log.  We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+  # Save into config.log some information that might help in debugging.
+  {
+    echo
+
+    cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+    echo
+    # The following way of writing the cache mishandles newlines in values,
+(
+  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+  (set) 2>&1 |
+    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      sed -n \
+	"s/'\''/'\''\\\\'\'''\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+      ;; #(
+    *)
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+)
+    echo
+
+    cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+    echo
+    for ac_var in $ac_subst_vars
+    do
+      eval ac_val=\$$ac_var
+      case $ac_val in
+      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+      esac
+      $as_echo "$ac_var='\''$ac_val'\''"
+    done | sort
+    echo
+
+    if test -n "$ac_subst_files"; then
+      cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+      echo
+      for ac_var in $ac_subst_files
+      do
+	eval ac_val=\$$ac_var
+	case $ac_val in
+	*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+	esac
+	$as_echo "$ac_var='\''$ac_val'\''"
+      done | sort
+      echo
+    fi
+
+    if test -s confdefs.h; then
+      cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+      echo
+      cat confdefs.h
+      echo
+    fi
+    test "$ac_signal" != 0 &&
+      $as_echo "$as_me: caught signal $ac_signal"
+    $as_echo "$as_me: exit $exit_status"
+  } >&5
+  rm -f core *.core core.conftest.* &&
+    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+    exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+$as_echo "/* confdefs.h */" > confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_URL "$PACKAGE_URL"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer an explicitly selected file to automatically selected ones.
+ac_site_file1=NONE
+ac_site_file2=NONE
+if test -n "$CONFIG_SITE"; then
+  ac_site_file1=$CONFIG_SITE
+elif test "x$prefix" != xNONE; then
+  ac_site_file1=$prefix/share/config.site
+  ac_site_file2=$prefix/etc/config.site
+else
+  ac_site_file1=$ac_default_prefix/share/config.site
+  ac_site_file2=$ac_default_prefix/etc/config.site
+fi
+for ac_site_file in "$ac_site_file1" "$ac_site_file2"
+do
+  test "x$ac_site_file" = xNONE && continue
+  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
+$as_echo "$as_me: loading site script $ac_site_file" >&6;}
+    sed 's/^/| /' "$ac_site_file" >&5
+    . "$ac_site_file"
+  fi
+done
+
+if test -r "$cache_file"; then
+  # Some versions of bash will fail to source /dev/null (special files
+  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
+  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
+$as_echo "$as_me: loading cache $cache_file" >&6;}
+    case $cache_file in
+      [\\/]* | ?:[\\/]* ) . "$cache_file";;
+      *)                      . "./$cache_file";;
+    esac
+  fi
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
+$as_echo "$as_me: creating cache $cache_file" >&6;}
+  >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+  eval ac_old_set=\$ac_cv_env_${ac_var}_set
+  eval ac_new_set=\$ac_env_${ac_var}_set
+  eval ac_old_val=\$ac_cv_env_${ac_var}_value
+  eval ac_new_val=\$ac_env_${ac_var}_value
+  case $ac_old_set,$ac_new_set in
+    set,)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,set)
+      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
+$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+      ac_cache_corrupted=: ;;
+    ,);;
+    *)
+      if test "x$ac_old_val" != "x$ac_new_val"; then
+	# differences in whitespace do not lead to failure.
+	ac_old_val_w=`echo x $ac_old_val`
+	ac_new_val_w=`echo x $ac_new_val`
+	if test "$ac_old_val_w" != "$ac_new_val_w"; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
+$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+	  ac_cache_corrupted=:
+	else
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
+$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
+	  eval $ac_var=\$ac_old_val
+	fi
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
+$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
+	{ $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
+$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
+      fi;;
+  esac
+  # Pass precious variables to config.status.
+  if test "$ac_new_set" = set; then
+    case $ac_new_val in
+    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+    *) ac_arg=$ac_var=$ac_new_val ;;
+    esac
+    case " $ac_configure_args " in
+      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
+      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
+    esac
+  fi
+done
+if $ac_cache_corrupted; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
+$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+  as_fn_error "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
+fi
+## -------------------- ##
+## Main body of script. ##
+## -------------------- ##
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+am__api_version='1.11'
+
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+  for ac_t in install-sh install.sh shtool; do
+    if test -f "$ac_dir/$ac_t"; then
+      ac_aux_dir=$ac_dir
+      ac_install_sh="$ac_aux_dir/$ac_t -c"
+      break 2
+    fi
+  done
+done
+if test -z "$ac_aux_dir"; then
+  as_fn_error "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
+
+
+# Find a good install program.  We prefer a C program (faster),
+# so one script is as good as another.  But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+# Reject install programs that cannot install multiple files.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
+$as_echo_n "checking for a BSD-compatible install... " >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in #((
+  ./ | .// | /[cC]/* | \
+  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
+  /usr/ucb/* ) ;;
+  *)
+    # OSF1 and SCO ODT 3.0 have their own names for install.
+    # Don't use installbsd from OSF since it installs stuff as root
+    # by default.
+    for ac_prog in ginstall scoinst install; do
+      for ac_exec_ext in '' $ac_executable_extensions; do
+	if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+	  if test $ac_prog = install &&
+	    grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # AIX install.  It has an incompatible calling convention.
+	    :
+	  elif test $ac_prog = install &&
+	    grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+	    # program-specific install script used by HP pwplus--don't use.
+	    :
+	  else
+	    rm -rf conftest.one conftest.two conftest.dir
+	    echo one > conftest.one
+	    echo two > conftest.two
+	    mkdir conftest.dir
+	    if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
+	      test -s conftest.one && test -s conftest.two &&
+	      test -s conftest.dir/conftest.one &&
+	      test -s conftest.dir/conftest.two
+	    then
+	      ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+	      break 3
+	    fi
+	  fi
+	fi
+      done
+    done
+    ;;
+esac
+
+  done
+IFS=$as_save_IFS
+
+rm -rf conftest.one conftest.two conftest.dir
+
+fi
+  if test "${ac_cv_path_install+set}" = set; then
+    INSTALL=$ac_cv_path_install
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for INSTALL within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    INSTALL=$ac_install_sh
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
+$as_echo "$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5
+$as_echo_n "checking whether build environment is sane... " >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Reject unsafe characters in $srcdir or the absolute working directory
+# name.  Accept space and tab only in the latter.
+am_lf='
+'
+case `pwd` in
+  *[\\\"\#\$\&\'\`$am_lf]*)
+    as_fn_error "unsafe absolute working directory name" "$LINENO" 5;;
+esac
+case $srcdir in
+  *[\\\"\#\$\&\'\`$am_lf\ \	]*)
+    as_fn_error "unsafe srcdir value: \`$srcdir'" "$LINENO" 5;;
+esac
+
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments.  Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+   set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null`
+   if test "$*" = "X"; then
+      # -L didn't work.
+      set X `ls -t "$srcdir/configure" conftest.file`
+   fi
+   rm -f conftest.file
+   if test "$*" != "X $srcdir/configure conftest.file" \
+      && test "$*" != "X conftest.file $srcdir/configure"; then
+
+      # If neither matched, then we have a broken ls.  This can happen
+      # if, for instance, CONFIG_SHELL is bash and it inherits a
+      # broken ls alias from the environment.  This has actually
+      # happened.  Such a system could not be considered "sane".
+      as_fn_error "ls -t appears to fail.  Make sure there is not a broken
+alias in your environment" "$LINENO" 5
+   fi
+
+   test "$2" = conftest.file
+   )
+then
+   # Ok.
+   :
+else
+   as_fn_error "newly created file is older than distributed files!
+Check your system clock" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+test "$program_prefix" != NONE &&
+  program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $.
+# By default was `s,x,x', remove it if useless.
+ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
+program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+if test x"${MISSING+set}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;;
+  *)
+    MISSING="\${SHELL} $am_aux_dir/missing" ;;
+  esac
+fi
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+  am_missing_run="$MISSING --run "
+else
+  am_missing_run=
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`missing' script is too old or missing" >&5
+$as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if test x"${install_sh}" != xset; then
+  case $am_aux_dir in
+  *\ * | *\	*)
+    install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;;
+  *)
+    install_sh="\${SHELL} $am_aux_dir/install-sh"
+  esac
+fi
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'.  However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+  if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$STRIP"; then
+  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
+$as_echo "$STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+  ac_ct_STRIP=$STRIP
+  # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_STRIP"; then
+  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_STRIP="strip"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
+$as_echo "$ac_ct_STRIP" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_STRIP" = x; then
+    STRIP=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    STRIP=$ac_ct_STRIP
+  fi
+else
+  STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5
+$as_echo_n "checking for a thread-safe mkdir -p... " >&6; }
+if test -z "$MKDIR_P"; then
+  if test "${ac_cv_path_mkdir+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in mkdir gmkdir; do
+	 for ac_exec_ext in '' $ac_executable_extensions; do
+	   { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue
+	   case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #(
+	     'mkdir (GNU coreutils) '* | \
+	     'mkdir (coreutils) '* | \
+	     'mkdir (fileutils) '4.1*)
+	       ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext
+	       break 3;;
+	   esac
+	 done
+       done
+  done
+IFS=$as_save_IFS
+
+fi
+
+  test -d ./--version && rmdir ./--version
+  if test "${ac_cv_path_mkdir+set}" = set; then
+    MKDIR_P="$ac_cv_path_mkdir -p"
+  else
+    # As a last resort, use the slow shell script.  Don't cache a
+    # value for MKDIR_P within a source directory, because that will
+    # break other packages using the cache if that directory is
+    # removed, or if the value is a relative name.
+    MKDIR_P="$ac_install_sh -d"
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5
+$as_echo "$MKDIR_P" >&6; }
+
+mkdir_p="$MKDIR_P"
+case $mkdir_p in
+  [\\/$]* | ?:[\\/]*) ;;
+  */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;;
+esac
+
+for ac_prog in gawk mawk nawk awk
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$AWK"; then
+  ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_AWK="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
+$as_echo "$AWK" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$AWK" && break
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+  am__leading_dot=.
+else
+  am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+if test "`cd $srcdir && pwd`" != "`pwd`"; then
+  # Use -I$(srcdir) only when $(srcdir) != ., so that make's output
+  # is not polluted with repeated "-I."
+  am__isrc=' -I$(srcdir)'
+  # test to see if srcdir already configured
+  if test -f $srcdir/config.status; then
+    as_fn_error "source directory already configured; run \"make distclean\" there first" "$LINENO" 5
+  fi
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+  if (cygpath --version) >/dev/null 2>/dev/null; then
+    CYGPATH_W='cygpath -w'
+  else
+    CYGPATH_W=echo
+  fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=synaptic
+ VERSION=0.63.1
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+# We need awk for the "check" target.  The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+ac_config_headers="$ac_config_headers config.h"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
+$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
+    # Check whether --enable-maintainer-mode was given.
+if test "${enable_maintainer_mode+set}" = set; then :
+  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
+else
+  USE_MAINTAINER_MODE=no
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
+$as_echo "$USE_MAINTAINER_MODE" >&6; }
+   if test $USE_MAINTAINER_MODE = yes; then
+  MAINTAINER_MODE_TRUE=
+  MAINTAINER_MODE_FALSE='#'
+else
+  MAINTAINER_MODE_TRUE='#'
+  MAINTAINER_MODE_FALSE=
+fi
+
+  MAINT=$MAINTAINER_MODE_TRUE
+
+
+
+DEPDIR="${am__leading_dot}deps"
+
+ac_config_commands="$ac_config_commands depfiles"
+
+
+am_make=${MAKE-make}
+cat > confinc << 'END'
+am__doit:
+	@echo this is the am__doit target
+.PHONY: am__doit
+END
+# If we don't find an include directive, just comment out the code.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
+$as_echo_n "checking for style of include used by $am_make... " >&6; }
+am__include="#"
+am__quote=
+_am_result=none
+# First try GNU make style include.
+echo "include confinc" > confmf
+# Ignore all kinds of additional output from `make'.
+case `$am_make -s -f confmf 2> /dev/null` in #(
+*the\ am__doit\ target*)
+  am__include=include
+  am__quote=
+  _am_result=GNU
+  ;;
+esac
+# Now try BSD make style include.
+if test "$am__include" = "#"; then
+   echo '.include "confinc"' > confmf
+   case `$am_make -s -f confmf 2> /dev/null` in #(
+   *the\ am__doit\ target*)
+     am__include=.include
+     am__quote="\""
+     _am_result=BSD
+     ;;
+   esac
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
+$as_echo "$_am_result" >&6; }
+rm -f confinc confmf
+
+# Check whether --enable-dependency-tracking was given.
+if test "${enable_dependency_tracking+set}" = set; then :
+  enableval=$enable_dependency_tracking;
+fi
+
+if test "x$enable_dependency_tracking" != xno; then
+  am_depcomp="$ac_aux_dir/depcomp"
+  AMDEPBACKSLASH='\'
+fi
+ if test "x$enable_dependency_tracking" != xno; then
+  AMDEP_TRUE=
+  AMDEP_FALSE='#'
+else
+  AMDEP_TRUE='#'
+  AMDEP_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
+# Try to create an executable without -o first, disregard a.out.
+# It will help us diagnose broken compilers, and finding out an intuition
+# of exeext.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
+$as_echo_n "checking whether the C compiler works... " >&6; }
+ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
+
+# The possible output files:
+ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
+
+ac_rmfiles=
+for ac_file in $ac_files
+do
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
+  esac
+done
+rm -f $ac_rmfiles
+
+if { { ac_try="$ac_link_default"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link_default") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
+# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
+# in a Makefile.  We should not override ac_cv_exeext if it was cached,
+# so that the user can short-circuit this test for compilers unknown to
+# Autoconf.
+for ac_file in $ac_files ''
+do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
+	;;
+    [ab].out )
+	# We found the default executable, but exeext='' is most
+	# certainly right.
+	break;;
+    *.* )
+	if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
+	then :; else
+	   ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	fi
+	# We set ac_cv_exeext here because the later test for it is not
+	# safe: cross compilers may not add the suffix if given an `-o'
+	# argument, so we may need to know it at that point already.
+	# Even if this section looks crufty: it has the advantage of
+	# actually working.
+	break;;
+    * )
+	break;;
+  esac
+done
+test "$ac_cv_exeext" = no && ac_cv_exeext=
+
+else
+  ac_file=''
+fi
+if test -z "$ac_file"; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+$as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+{ as_fn_set_status 77
+as_fn_error "C compiler cannot create executables
+See \`config.log' for more details." "$LINENO" 5; }; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
+$as_echo_n "checking for C compiler default output file name... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
+$as_echo "$ac_file" >&6; }
+ac_exeext=$ac_cv_exeext
+
+rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
+$as_echo_n "checking for suffix of executables... " >&6; }
+if { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  # If both `conftest.exe' and `conftest' are `present' (well, observable)
+# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
+# work properly (i.e., refer to `conftest.exe'), while it won't with
+# `rm'.
+for ac_file in conftest.exe conftest conftest.*; do
+  test -f "$ac_file" || continue
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
+    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
+	  break;;
+    * ) break;;
+  esac
+done
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of executables: cannot compile and link
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest conftest$ac_cv_exeext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
+$as_echo "$ac_cv_exeext" >&6; }
+
+rm -f conftest.$ac_ext
+EXEEXT=$ac_cv_exeext
+ac_exeext=$EXEEXT
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdio.h>
+int
+main ()
+{
+FILE *f = fopen ("conftest.out", "w");
+ return ferror (f) || fclose (f) != 0;
+
+  ;
+  return 0;
+}
+_ACEOF
+ac_clean_files="$ac_clean_files conftest.out"
+# Check that the compiler produces executables we can run.  If not, either
+# the compiler is broken, or we cross compile.
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
+$as_echo_n "checking whether we are cross compiling... " >&6; }
+if test "$cross_compiling" != yes; then
+  { { ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+  if { ac_try='./conftest$ac_cv_exeext'
+  { { case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; }; then
+    cross_compiling=no
+  else
+    if test "$cross_compiling" = maybe; then
+	cross_compiling=yes
+    else
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot run C compiled programs.
+If you meant to cross compile, use \`--host'.
+See \`config.log' for more details." "$LINENO" 5; }
+    fi
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
+$as_echo "$cross_compiling" >&6; }
+
+rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
+ac_clean_files=$ac_clean_files_save
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
+$as_echo_n "checking for suffix of object files... " >&6; }
+if test "${ac_cv_objext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.o conftest.obj
+if { { ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compile") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then :
+  for ac_file in conftest.o conftest.obj conftest.*; do
+  test -f "$ac_file" || continue;
+  case $ac_file in
+    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
+    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
+       break;;
+  esac
+done
+else
+  $as_echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "cannot compute suffix of object files: cannot compile
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+rm -f conftest.$ac_cv_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
+$as_echo "$ac_cv_objext" >&6; }
+OBJEXT=$ac_cv_objext
+ac_objext=$OBJEXT
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing strerror" >&5
+$as_echo_n "checking for library containing strerror... " >&6; }
+if test "${ac_cv_search_strerror+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_func_search_save_LIBS=$LIBS
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char strerror ();
+int
+main ()
+{
+return strerror ();
+  ;
+  return 0;
+}
+_ACEOF
+for ac_lib in '' cposix; do
+  if test -z "$ac_lib"; then
+    ac_res="none required"
+  else
+    ac_res=-l$ac_lib
+    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
+  fi
+  if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_search_strerror=$ac_res
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext
+  if test "${ac_cv_search_strerror+set}" = set; then :
+  break
+fi
+done
+if test "${ac_cv_search_strerror+set}" = set; then :
+
+else
+  ac_cv_search_strerror=no
+fi
+rm conftest.$ac_ext
+LIBS=$ac_func_search_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_strerror" >&5
+$as_echo "$ac_cv_search_strerror" >&6; }
+ac_res=$ac_cv_search_strerror
+if test "$ac_res" != no; then :
+  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_CC"; then
+  ac_ct_CC=$CC
+  # Extract the first word of "gcc", so it can be a program name with args.
+set dummy gcc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="gcc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+else
+  CC="$ac_cv_prog_CC"
+fi
+
+if test -z "$CC"; then
+          if test -n "$ac_tool_prefix"; then
+    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
+set dummy ${ac_tool_prefix}cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="${ac_tool_prefix}cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  fi
+fi
+if test -z "$CC"; then
+  # Extract the first word of "cc", so it can be a program name with args.
+set dummy cc; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+  ac_prog_rejected=no
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
+       ac_prog_rejected=yes
+       continue
+     fi
+    ac_cv_prog_CC="cc"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+if test $ac_prog_rejected = yes; then
+  # We found a bogon in the path, so make sure we never use it.
+  set dummy $ac_cv_prog_CC
+  shift
+  if test $# != 0; then
+    # We chose a different compiler from the bogus one.
+    # However, it has the same basename, so the bogon will be chosen
+    # first if we set CC to just the basename; use the full file name.
+    shift
+    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
+  fi
+fi
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$CC"; then
+  if test -n "$ac_tool_prefix"; then
+  for ac_prog in cl.exe
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CC"; then
+  ac_cv_prog_CC="$CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CC=$ac_cv_prog_CC
+if test -n "$CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
+$as_echo "$CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CC" && break
+  done
+fi
+if test -z "$CC"; then
+  ac_ct_CC=$CC
+  for ac_prog in cl.exe
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CC+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CC"; then
+  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CC="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CC=$ac_cv_prog_ac_ct_CC
+if test -n "$ac_ct_CC"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
+$as_echo "$ac_ct_CC" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CC" && break
+done
+
+  if test "x$ac_ct_CC" = x; then
+    CC=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CC=$ac_ct_CC
+  fi
+fi
+
+fi
+
+
+test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "no acceptable C compiler found in \$PATH
+See \`config.log' for more details." "$LINENO" 5; }
+
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
+$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
+if test "${ac_cv_c_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_c_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
+$as_echo "$ac_cv_c_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GCC=yes
+else
+  GCC=
+fi
+ac_test_CFLAGS=${CFLAGS+set}
+ac_save_CFLAGS=$CFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
+$as_echo_n "checking whether $CC accepts -g... " >&6; }
+if test "${ac_cv_prog_cc_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_c_werror_flag=$ac_c_werror_flag
+   ac_c_werror_flag=yes
+   ac_cv_prog_cc_g=no
+   CFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+else
+  CFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+
+else
+  ac_c_werror_flag=$ac_save_c_werror_flag
+	 CFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_c_werror_flag=$ac_save_c_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
+$as_echo "$ac_cv_prog_cc_g" >&6; }
+if test "$ac_test_CFLAGS" = set; then
+  CFLAGS=$ac_save_CFLAGS
+elif test $ac_cv_prog_cc_g = yes; then
+  if test "$GCC" = yes; then
+    CFLAGS="-g -O2"
+  else
+    CFLAGS="-g"
+  fi
+else
+  if test "$GCC" = yes; then
+    CFLAGS="-O2"
+  else
+    CFLAGS=
+  fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
+$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
+if test "${ac_cv_prog_cc_c89+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_prog_cc_c89=no
+ac_save_CC=$CC
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdarg.h>
+#include <stdio.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
+struct buf { int x; };
+FILE * (*rcsopen) (struct buf *, struct stat *, int);
+static char *e (p, i)
+     char **p;
+     int i;
+{
+  return p[i];
+}
+static char *f (char * (*g) (char **, int), char **p, ...)
+{
+  char *s;
+  va_list v;
+  va_start (v,p);
+  s = g (p, va_arg (v,int));
+  va_end (v);
+  return s;
+}
+
+/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
+   function prototypes and stuff, but not '\xHH' hex character constants.
+   These don't provoke an error unfortunately, instead are silently treated
+   as 'x'.  The following induces an error, until -std is added to get
+   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
+   array size at least.  It's necessary to write '\x00'==0 to get something
+   that's true only with -std.  */
+int osf4_cc_array ['\x00' == 0 ? 1 : -1];
+
+/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
+   inside strings and character constants.  */
+#define FOO(x) 'x'
+int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
+
+int test (int i, double x);
+struct s1 {int (*f) (int a);};
+struct s2 {int (*f) (double a);};
+int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
+int argc;
+char **argv;
+int
+main ()
+{
+return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
+  ;
+  return 0;
+}
+_ACEOF
+for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
+	-Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
+do
+  CC="$ac_save_CC $ac_arg"
+  if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_prog_cc_c89=$ac_arg
+fi
+rm -f core conftest.err conftest.$ac_objext
+  test "x$ac_cv_prog_cc_c89" != "xno" && break
+done
+rm -f conftest.$ac_ext
+CC=$ac_save_CC
+
+fi
+# AC_CACHE_VAL
+case "x$ac_cv_prog_cc_c89" in
+  x)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
+$as_echo "none needed" >&6; } ;;
+  xno)
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
+$as_echo "unsupported" >&6; } ;;
+  *)
+    CC="$CC $ac_cv_prog_cc_c89"
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
+$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
+esac
+if test "x$ac_cv_prog_cc_c89" != xno; then :
+
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CC"   am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CC_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CC_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CC_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
+CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then
+  am__fastdepCC_TRUE=
+  am__fastdepCC_FALSE='#'
+else
+  am__fastdepCC_TRUE='#'
+  am__fastdepCC_FALSE=
+fi
+
+
+
+am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+  CPP=
+fi
+if test -z "$CPP"; then
+  if test "${ac_cv_prog_CPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CPP needs to be expanded
+    for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CPP=$CPP
+
+fi
+  CPP=$ac_cv_prog_CPP
+else
+  ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$GREP"; then
+  ac_path_GREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in grep ggrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+  # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'GREP' >> "conftest.nl"
+    "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_GREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_GREP="$ac_path_GREP"
+      ac_path_GREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_GREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_GREP"; then
+    as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+   then ac_cv_path_EGREP="$GREP -E"
+   else
+     if test -z "$EGREP"; then
+  ac_path_EGREP_found=false
+  # Loop through the user's path and test for each of PROGNAME-LIST
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_prog in egrep; do
+    for ac_exec_ext in '' $ac_executable_extensions; do
+      ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+      { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+  # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+  ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+  ac_count=0
+  $as_echo_n 0123456789 >"conftest.in"
+  while :
+  do
+    cat "conftest.in" "conftest.in" >"conftest.tmp"
+    mv "conftest.tmp" "conftest.in"
+    cp "conftest.in" "conftest.nl"
+    $as_echo 'EGREP' >> "conftest.nl"
+    "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+    diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+    as_fn_arith $ac_count + 1 && ac_count=$as_val
+    if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+      # Best one so far, save it but keep looking for a better one
+      ac_cv_path_EGREP="$ac_path_EGREP"
+      ac_path_EGREP_max=$ac_count
+    fi
+    # 10*(2^10) chars as input seems more than enough
+    test $ac_count -gt 10 && break
+  done
+  rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+      $ac_path_EGREP_found && break 3
+    done
+  done
+  done
+IFS=$as_save_IFS
+  if test -z "$ac_cv_path_EGREP"; then
+    as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+  fi
+else
+  ac_cv_path_EGREP=$EGREP
+fi
+
+   fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+if test -z "$CXX"; then
+  if test -n "$CCC"; then
+    CXX=$CCC
+  else
+    if test -n "$ac_tool_prefix"; then
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+  do
+    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
+set dummy $ac_tool_prefix$ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$CXX"; then
+  ac_cv_prog_CXX="$CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_CXX="$ac_tool_prefix$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+CXX=$ac_cv_prog_CXX
+if test -n "$CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5
+$as_echo "$CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+    test -n "$CXX" && break
+  done
+fi
+if test -z "$CXX"; then
+  ac_ct_CXX=$CXX
+  for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC
+do
+  # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_CXX"; then
+  ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_CXX="$ac_prog"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_CXX=$ac_cv_prog_ac_ct_CXX
+if test -n "$ac_ct_CXX"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5
+$as_echo "$ac_ct_CXX" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+  test -n "$ac_ct_CXX" && break
+done
+
+  if test "x$ac_ct_CXX" = x; then
+    CXX="g++"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    CXX=$ac_ct_CXX
+  fi
+fi
+
+  fi
+fi
+# Provide some information about the compiler.
+$as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5
+set X $ac_compile
+ac_compiler=$2
+for ac_option in --version -v -V -qversion; do
+  { { ac_try="$ac_compiler $ac_option >&5"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
+$as_echo "$ac_try_echo"; } >&5
+  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
+  ac_status=$?
+  if test -s conftest.err; then
+    sed '10a\
+... rest of stderr output deleted ...
+         10q' conftest.err >conftest.er1
+    cat conftest.er1 >&5
+  fi
+  rm -f conftest.er1 conftest.err
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }
+done
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5
+$as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; }
+if test "${ac_cv_cxx_compiler_gnu+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __GNUC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_compiler_gnu=yes
+else
+  ac_compiler_gnu=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+ac_cv_cxx_compiler_gnu=$ac_compiler_gnu
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5
+$as_echo "$ac_cv_cxx_compiler_gnu" >&6; }
+if test $ac_compiler_gnu = yes; then
+  GXX=yes
+else
+  GXX=
+fi
+ac_test_CXXFLAGS=${CXXFLAGS+set}
+ac_save_CXXFLAGS=$CXXFLAGS
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5
+$as_echo_n "checking whether $CXX accepts -g... " >&6; }
+if test "${ac_cv_prog_cxx_g+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_save_cxx_werror_flag=$ac_cxx_werror_flag
+   ac_cxx_werror_flag=yes
+   ac_cv_prog_cxx_g=no
+   CXXFLAGS="-g"
+   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+else
+  CXXFLAGS=""
+      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+
+else
+  ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+	 CXXFLAGS="-g"
+	 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_compile "$LINENO"; then :
+  ac_cv_prog_cxx_g=yes
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+   ac_cxx_werror_flag=$ac_save_cxx_werror_flag
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5
+$as_echo "$ac_cv_prog_cxx_g" >&6; }
+if test "$ac_test_CXXFLAGS" = set; then
+  CXXFLAGS=$ac_save_CXXFLAGS
+elif test $ac_cv_prog_cxx_g = yes; then
+  if test "$GXX" = yes; then
+    CXXFLAGS="-g -O2"
+  else
+    CXXFLAGS="-g"
+  fi
+else
+  if test "$GXX" = yes; then
+    CXXFLAGS="-O2"
+  else
+    CXXFLAGS=
+  fi
+fi
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+depcc="$CXX"  am_compiler_list=
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
+$as_echo_n "checking dependency style of $depcc... " >&6; }
+if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then
+  # We make a subdir and do the tests there.  Otherwise we can end up
+  # making bogus files that we don't know about and never remove.  For
+  # instance it was reported that on HP-UX the gcc test will end up
+  # making a dummy file named `D' -- because `-MD' means `put the output
+  # in D'.
+  mkdir conftest.dir
+  # Copy depcomp to subdir because otherwise we won't find it if we're
+  # using a relative directory.
+  cp "$am_depcomp" conftest.dir
+  cd conftest.dir
+  # We will build objects and dependencies in a subdirectory because
+  # it helps to detect inapplicable dependency modes.  For instance
+  # both Tru64's cc and ICC support -MD to output dependencies as a
+  # side effect of compilation, but ICC will put the dependencies in
+  # the current directory while Tru64 will put them in the object
+  # directory.
+  mkdir sub
+
+  am_cv_CXX_dependencies_compiler_type=none
+  if test "$am_compiler_list" = ""; then
+     am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
+  fi
+  am__universal=false
+  case " $depcc " in #(
+     *\ -arch\ *\ -arch\ *) am__universal=true ;;
+     esac
+
+  for depmode in $am_compiler_list; do
+    # Setup a source with many dependencies, because some compilers
+    # like to wrap large dependency lists on column 80 (with \), and
+    # we should not choose a depcomp mode which is confused by this.
+    #
+    # We need to recreate these files for each test, as the compiler may
+    # overwrite some of them when testing with obscure command lines.
+    # This happens at least with the AIX C compiler.
+    : > sub/conftest.c
+    for i in 1 2 3 4 5 6; do
+      echo '#include "conftst'$i'.h"' >> sub/conftest.c
+      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
+      # Solaris 8's {/usr,}/bin/sh.
+      touch sub/conftst$i.h
+    done
+    echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf
+
+    # We check with `-c' and `-o' for the sake of the "dashmstdout"
+    # mode.  It turns out that the SunPro C++ compiler does not properly
+    # handle `-M -o', and we need to detect this.  Also, some Intel
+    # versions had trouble with output in subdirs
+    am__obj=sub/conftest.${OBJEXT-o}
+    am__minus_obj="-o $am__obj"
+    case $depmode in
+    gcc)
+      # This depmode causes a compiler race in universal mode.
+      test "$am__universal" = false || continue
+      ;;
+    nosideeffect)
+      # after this tag, mechanisms are not by side-effect, so they'll
+      # only be used when explicitly requested
+      if test "x$enable_dependency_tracking" = xyes; then
+	continue
+      else
+	break
+      fi
+      ;;
+    msvisualcpp | msvcmsys)
+      # This compiler won't grok `-c -o', but also, the minuso test has
+      # not run yet.  These depmodes are late enough in the game, and
+      # so weak that their functioning should not be impacted.
+      am__obj=conftest.${OBJEXT-o}
+      am__minus_obj=
+      ;;
+    none) break ;;
+    esac
+    if depmode=$depmode \
+       source=sub/conftest.c object=$am__obj \
+       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
+       $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \
+         >/dev/null 2>conftest.err &&
+       grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 &&
+       grep $am__obj sub/conftest.Po > /dev/null 2>&1 &&
+       ${MAKE-make} -s -f confmf > /dev/null 2>&1; then
+      # icc doesn't choke on unknown options, it will just issue warnings
+      # or remarks (even with -Werror).  So we grep stderr for any message
+      # that says an option was ignored or not supported.
+      # When given -MP, icc 7.0 and 7.1 complain thusly:
+      #   icc: Command line warning: ignoring option '-M'; no argument required
+      # The diagnosis changed in icc 8.0:
+      #   icc: Command line remark: option '-MP' not supported
+      if (grep 'ignoring option' conftest.err ||
+          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
+        am_cv_CXX_dependencies_compiler_type=$depmode
+        break
+      fi
+    fi
+  done
+
+  cd ..
+  rm -rf conftest.dir
+else
+  am_cv_CXX_dependencies_compiler_type=none
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CXX_dependencies_compiler_type" >&5
+$as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; }
+CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type
+
+ if
+  test "x$enable_dependency_tracking" != xno \
+  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then
+  am__fastdepCXX_TRUE=
+  am__fastdepCXX_FALSE='#'
+else
+  am__fastdepCXX_TRUE='#'
+  am__fastdepCXX_FALSE=
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; }
+set x ${MAKE-make}
+ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+	@echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+  *@@@%%%=?*=@@@%%%*)
+    eval ac_cv_prog_make_${ac_make}_set=yes;;
+  *)
+    eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+  SET_MAKE=
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+  SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
+set dummy ${ac_tool_prefix}ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$RANLIB"; then
+  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+RANLIB=$ac_cv_prog_RANLIB
+if test -n "$RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
+$as_echo "$RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_RANLIB"; then
+  ac_ct_RANLIB=$RANLIB
+  # Extract the first word of "ranlib", so it can be a program name with args.
+set dummy ranlib; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test -n "$ac_ct_RANLIB"; then
+  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_prog_ac_ct_RANLIB="ranlib"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
+if test -n "$ac_ct_RANLIB"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
+$as_echo "$ac_ct_RANLIB" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_ct_RANLIB" = x; then
+    RANLIB=":"
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    RANLIB=$ac_ct_RANLIB
+  fi
+else
+  RANLIB="$ac_cv_prog_RANLIB"
+fi
+
+
+ALL_LINGUAS="ar br pt_BR es et eu fr gl de tr zh_CN zh_TW ru nl ja be be@latin it pl cs hu sr sr@Latn da he ca ko bg no nb sl pt lt el xh mk ro hi sk sv fi th uk"
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+   for ac_header in locale.h
+do :
+  ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default"
+if test "x$ac_cv_header_locale_h" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_LOCALE_H 1
+_ACEOF
+
+fi
+
+done
+
+    if test $ac_cv_header_locale_h = yes; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5
+$as_echo_n "checking for LC_MESSAGES... " >&6; }
+if test "${am_cv_val_LC_MESSAGES+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <locale.h>
+int
+main ()
+{
+return LC_MESSAGES
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  am_cv_val_LC_MESSAGES=yes
+else
+  am_cv_val_LC_MESSAGES=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5
+$as_echo "$am_cv_val_LC_MESSAGES" >&6; }
+    if test $am_cv_val_LC_MESSAGES = yes; then
+
+$as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h
+
+    fi
+  fi
+     USE_NLS=yes
+
+
+    gt_cv_have_gettext=no
+
+    CATOBJEXT=NONE
+    XGETTEXT=:
+    INTLLIBS=
+
+    ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default"
+if test "x$ac_cv_header_libintl_h" = x""yes; then :
+  gt_cv_func_dgettext_libintl="no"
+      libintl_extra_libs=""
+
+      #
+      # First check in libc
+      #
+      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5
+$as_echo_n "checking for ngettext in libc... " >&6; }
+if test "${gt_cv_func_ngettext_libc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+
+int
+main ()
+{
+return !ngettext ("","", 1)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_ngettext_libc=yes
+else
+  gt_cv_func_ngettext_libc=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5
+$as_echo "$gt_cv_func_ngettext_libc" >&6; }
+
+      if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+	      { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5
+$as_echo_n "checking for dgettext in libc... " >&6; }
+if test "${gt_cv_func_dgettext_libc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+#include <libintl.h>
+
+int
+main ()
+{
+return !dgettext ("","")
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  gt_cv_func_dgettext_libc=yes
+else
+  gt_cv_func_dgettext_libc=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5
+$as_echo "$gt_cv_func_dgettext_libc" >&6; }
+      fi
+
+      if test "$gt_cv_func_ngettext_libc" = "yes" ; then
+        for ac_func in bind_textdomain_codeset
+do :
+  ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+_ACEOF
+
+fi
+done
+
+      fi
+
+      #
+      # If we don't have everything we want, check in libintl
+      #
+      if test "$gt_cv_func_dgettext_libc" != "yes" \
+	 || test "$gt_cv_func_ngettext_libc" != "yes" \
+         || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
+
+        { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5
+$as_echo_n "checking for bindtextdomain in -lintl... " >&6; }
+if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char bindtextdomain ();
+int
+main ()
+{
+return bindtextdomain ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_intl_bindtextdomain=yes
+else
+  ac_cv_lib_intl_bindtextdomain=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5
+$as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; }
+if test "x$ac_cv_lib_intl_bindtextdomain" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5
+$as_echo_n "checking for ngettext in -lintl... " >&6; }
+if test "${ac_cv_lib_intl_ngettext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ngettext ();
+int
+main ()
+{
+return ngettext ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_intl_ngettext=yes
+else
+  ac_cv_lib_intl_ngettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5
+$as_echo "$ac_cv_lib_intl_ngettext" >&6; }
+if test "x$ac_cv_lib_intl_ngettext" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5
+$as_echo_n "checking for dgettext in -lintl... " >&6; }
+if test "${ac_cv_lib_intl_dgettext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dgettext ();
+int
+main ()
+{
+return dgettext ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_intl_dgettext=yes
+else
+  ac_cv_lib_intl_dgettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5
+$as_echo "$ac_cv_lib_intl_dgettext" >&6; }
+if test "x$ac_cv_lib_intl_dgettext" = x""yes; then :
+  gt_cv_func_dgettext_libintl=yes
+fi
+
+fi
+
+fi
+
+
+	if test "$gt_cv_func_dgettext_libintl" != "yes" ; then
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5
+$as_echo_n "checking if -liconv is needed to use gettext... " >&6; }
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5
+$as_echo "" >&6; }
+  	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5
+$as_echo_n "checking for ngettext in -lintl... " >&6; }
+if test "${ac_cv_lib_intl_ngettext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl -liconv $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char ngettext ();
+int
+main ()
+{
+return ngettext ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_intl_ngettext=yes
+else
+  ac_cv_lib_intl_ngettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5
+$as_echo "$ac_cv_lib_intl_ngettext" >&6; }
+if test "x$ac_cv_lib_intl_ngettext" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5
+$as_echo_n "checking for dcgettext in -lintl... " >&6; }
+if test "${ac_cv_lib_intl_dcgettext+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lintl -liconv $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char dcgettext ();
+int
+main ()
+{
+return dcgettext ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_intl_dcgettext=yes
+else
+  ac_cv_lib_intl_dcgettext=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5
+$as_echo "$ac_cv_lib_intl_dcgettext" >&6; }
+if test "x$ac_cv_lib_intl_dcgettext" = x""yes; then :
+  gt_cv_func_dgettext_libintl=yes
+			libintl_extra_libs=-liconv
+else
+  :
+fi
+
+else
+  :
+fi
+
+        fi
+
+        #
+        # If we found libintl, then check in it for bind_textdomain_codeset();
+        # we'll prefer libc if neither have bind_textdomain_codeset(),
+        # and both have dgettext and ngettext
+        #
+        if test "$gt_cv_func_dgettext_libintl" = "yes" ; then
+          glib_save_LIBS="$LIBS"
+          LIBS="$LIBS -lintl $libintl_extra_libs"
+          unset ac_cv_func_bind_textdomain_codeset
+          for ac_func in bind_textdomain_codeset
+do :
+  ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+_ACEOF
+
+fi
+done
+
+          LIBS="$glib_save_LIBS"
+
+          if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then
+            gt_cv_func_dgettext_libc=no
+          else
+            if test "$gt_cv_func_dgettext_libc" = "yes" \
+		&& test "$gt_cv_func_ngettext_libc" = "yes"; then
+              gt_cv_func_dgettext_libintl=no
+            fi
+          fi
+        fi
+      fi
+
+      if test "$gt_cv_func_dgettext_libc" = "yes" \
+	|| test "$gt_cv_func_dgettext_libintl" = "yes"; then
+        gt_cv_have_gettext=yes
+      fi
+
+      if test "$gt_cv_func_dgettext_libintl" = "yes"; then
+        INTLLIBS="-lintl $libintl_extra_libs"
+      fi
+
+      if test "$gt_cv_have_gettext" = "yes"; then
+
+$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h
+
+	# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$MSGFMT" in
+  /*)
+  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
+	ac_cv_path_MSGFMT="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no"
+  ;;
+esac
+fi
+MSGFMT="$ac_cv_path_MSGFMT"
+if test "$MSGFMT" != "no"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+	if test "$MSGFMT" != "no"; then
+          glib_save_LIBS="$LIBS"
+          LIBS="$LIBS $INTLLIBS"
+	  for ac_func in dcgettext
+do :
+  ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext"
+if test "x$ac_cv_func_dcgettext" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define HAVE_DCGETTEXT 1
+_ACEOF
+
+fi
+done
+
+	  MSGFMT_OPTS=
+	  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5
+$as_echo_n "checking if msgfmt accepts -c... " >&6; }
+	  cat >conftest.foo <<_ACEOF
+
+msgid ""
+msgstr ""
+"Content-Type: text/plain; charset=UTF-8\n"
+"Project-Id-Version: test 1.0\n"
+"PO-Revision-Date: 2007-02-15 12:01+0100\n"
+"Last-Translator: test <foo@bar.xx>\n"
+"Language-Team: C <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+_ACEOF
+if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5
+  ($MSGFMT -c -o /dev/null conftest.foo) 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+echo "$as_me: failed input was:" >&5
+sed 's/^/| /' conftest.foo >&5
+fi
+
+	  # Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GMSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+	  # Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case "$XGETTEXT" in
+  /*)
+  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  IFS="${IFS= 	}"; ac_save_ifs="$IFS"; IFS="${IFS}:"
+  for ac_dir in $PATH; do
+    test -z "$ac_dir" && ac_dir=.
+    if test -f $ac_dir/$ac_word; then
+      if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
+	ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
+	break
+      fi
+    fi
+  done
+  IFS="$ac_save_ifs"
+  test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
+  ;;
+esac
+fi
+XGETTEXT="$ac_cv_path_XGETTEXT"
+if test "$XGETTEXT" != ":"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+	  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+extern int _nl_msg_cat_cntr;
+			 return _nl_msg_cat_cntr
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  CATOBJEXT=.gmo
+             DATADIRNAME=share
+else
+  case $host in
+	    *-*-solaris*)
+	    	                	    	                ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
+  CATOBJEXT=.gmo
+               DATADIRNAME=share
+else
+  CATOBJEXT=.mo
+               DATADIRNAME=lib
+fi
+
+	    ;;
+	    *)
+	    CATOBJEXT=.mo
+            DATADIRNAME=lib
+	    ;;
+	    esac
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+          LIBS="$glib_save_LIBS"
+	  INSTOBJEXT=.mo
+	else
+	  gt_cv_have_gettext=no
+	fi
+      fi
+
+fi
+
+
+
+    if test "$gt_cv_have_gettext" = "yes" ; then
+
+$as_echo "#define ENABLE_NLS 1" >>confdefs.h
+
+    fi
+
+        if test "$XGETTEXT" != ":"; then
+                  if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+        : ;
+      else
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5
+$as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; }
+        XGETTEXT=":"
+      fi
+    fi
+
+    # We need to process the po/ directory.
+    POSUB=po
+
+    ac_config_commands="$ac_config_commands default-1"
+
+
+                for lang in $ALL_LINGUAS; do
+      GMOFILES="$GMOFILES $lang.gmo"
+      POFILES="$POFILES $lang.po"
+    done
+
+
+
+
+
+
+
+
+
+
+
+
+
+   if test "$gt_cv_have_gettext" = "yes"; then
+     if test "x$ALL_LINGUAS" = "x"; then
+       LINGUAS=
+     else
+       { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
+$as_echo_n "checking for catalogs to be installed... " >&6; }
+       NEW_LINGUAS=
+       for presentlang in $ALL_LINGUAS; do
+         useit=no
+         if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then
+           desiredlanguages="$LINGUAS"
+         else
+           desiredlanguages="$ALL_LINGUAS"
+         fi
+         for desiredlang in $desiredlanguages; do
+ 	   # Use the presentlang catalog if desiredlang is
+           #   a. equal to presentlang, or
+           #   b. a variant of presentlang (because in this case,
+           #      presentlang can be used as a fallback for messages
+           #      which are not translated in the desiredlang catalog).
+           case "$desiredlang" in
+             "$presentlang"*) useit=yes;;
+           esac
+         done
+         if test $useit = yes; then
+           NEW_LINGUAS="$NEW_LINGUAS $presentlang"
+         fi
+       done
+       LINGUAS=$NEW_LINGUAS
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
+$as_echo "$LINGUAS" >&6; }
+     fi
+
+          if test -n "$LINGUAS"; then
+       for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+     fi
+   fi
+
+            MKINSTALLDIRS=
+   if test -n "$ac_aux_dir"; then
+     MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+   fi
+   if test -z "$MKINSTALLDIRS"; then
+     MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+   fi
+
+
+         test -d po || mkdir po
+   if test "x$srcdir" != "x."; then
+     if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+       posrcprefix="$srcdir/"
+     else
+       posrcprefix="../$srcdir/"
+     fi
+   else
+     posrcprefix="../"
+   fi
+   rm -f po/POTFILES
+   sed -e "/^#/d" -e "/^\$/d" -e "s,.*,	$posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+	< $srcdir/po/POTFILES.in > po/POTFILES
+
+GETTEXT_PACKAGE=synaptic
+
+
+cat >>confdefs.h <<_ACEOF
+#define GETTEXT_PACKAGE "$GETTEXT_PACKAGE"
+_ACEOF
+
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
+$as_echo_n "checking whether NLS is requested... " >&6; }
+    # Check whether --enable-nls was given.
+if test "${enable_nls+set}" = set; then :
+  enableval=$enable_nls; USE_NLS=$enableval
+else
+  USE_NLS=yes
+fi
+
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5
+$as_echo "$USE_NLS" >&6; }
+
+
+
+
+case "$am__api_version" in
+    1.01234)
+	as_fn_error "Automake 1.5 or newer is required to use intltool" "$LINENO" 5
+    ;;
+    *)
+    ;;
+esac
+
+if test -n "0.23"; then
+    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.23" >&5
+$as_echo_n "checking for intltool >= 0.23... " >&6; }
+
+    INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.23 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+    INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3`
+    INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'`
+
+    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5
+$as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; }
+    test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" ||
+	as_fn_error "Your intltool is too old.  You need intltool 0.23 or later." "$LINENO" 5
+fi
+
+# Extract the first word of "intltool-update", so it can be a program name with args.
+set dummy intltool-update; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_INTLTOOL_UPDATE+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $INTLTOOL_UPDATE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE
+if test -n "$INTLTOOL_UPDATE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5
+$as_echo "$INTLTOOL_UPDATE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "intltool-merge", so it can be a program name with args.
+set dummy intltool-merge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_INTLTOOL_MERGE+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $INTLTOOL_MERGE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE
+if test -n "$INTLTOOL_MERGE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5
+$as_echo "$INTLTOOL_MERGE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "intltool-extract", so it can be a program name with args.
+set dummy intltool-extract; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_INTLTOOL_EXTRACT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $INTLTOOL_EXTRACT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT
+if test -n "$INTLTOOL_EXTRACT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5
+$as_echo "$INTLTOOL_EXTRACT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then
+    as_fn_error "The intltool scripts were not found. Please install intltool." "$LINENO" 5
+fi
+
+  INTLTOOL_DESKTOP_RULE='%.desktop:   %.desktop.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+     INTLTOOL_KEYS_RULE='%.keys:      %.keys.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+     INTLTOOL_PROP_RULE='%.prop:      %.prop.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+      INTLTOOL_OAF_RULE='%.oaf:       %.oaf.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -p $(top_srcdir)/po $< $@'
+     INTLTOOL_PONG_RULE='%.pong:      %.pong.in      $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+   INTLTOOL_SERVER_RULE='%.server:    %.server.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+    INTLTOOL_SHEET_RULE='%.sheet:     %.sheet.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+       INTLTOOL_UI_RULE='%.ui:        %.ui.in        $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+      INTLTOOL_XML_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+      INTLTOOL_XML_NOMERGE_RULE='%.xml:       %.xml.in       $(INTLTOOL_MERGE) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u /tmp $< $@'
+      INTLTOOL_XAM_RULE='%.xam:       %.xml.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+      INTLTOOL_KBD_RULE='%.kbd:       %.kbd.in       $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+    INTLTOOL_CAVES_RULE='%.caves:     %.caves.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+  INTLTOOL_SCHEMAS_RULE='%.schemas:   %.schemas.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+    INTLTOOL_THEME_RULE='%.theme:     %.theme.in     $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+    INTLTOOL_SERVICE_RULE='%.service: %.service.in   $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+   INTLTOOL_POLICY_RULE='%.policy:    %.policy.in    $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Check the gettext tools to make sure they are GNU
+# Extract the first word of "xgettext", so it can be a program name with args.
+set dummy xgettext; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_XGETTEXT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $XGETTEXT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+XGETTEXT=$ac_cv_path_XGETTEXT
+if test -n "$XGETTEXT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5
+$as_echo "$XGETTEXT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "msgmerge", so it can be a program name with args.
+set dummy msgmerge; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGMERGE+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MSGMERGE in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MSGMERGE=$ac_cv_path_MSGMERGE
+if test -n "$MSGMERGE"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5
+$as_echo "$MSGMERGE" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "msgfmt", so it can be a program name with args.
+set dummy msgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MSGFMT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $MSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MSGFMT=$ac_cv_path_MSGFMT
+if test -n "$MSGFMT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5
+$as_echo "$MSGFMT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "gmsgfmt", so it can be a program name with args.
+set dummy gmsgfmt; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_GMSGFMT+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $GMSGFMT in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
+  ;;
+esac
+fi
+GMSGFMT=$ac_cv_path_GMSGFMT
+if test -n "$GMSGFMT"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5
+$as_echo "$GMSGFMT" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then
+    as_fn_error "GNU gettext tools not found; required for intltool" "$LINENO" 5
+fi
+xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`"
+mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`"
+mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`"
+if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then
+    as_fn_error "GNU gettext tools not found; required for intltool" "$LINENO" 5
+fi
+
+# Extract the first word of "perl", so it can be a program name with args.
+set dummy perl; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_INTLTOOL_PERL+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $INTLTOOL_PERL in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL
+if test -n "$INTLTOOL_PERL"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5
+$as_echo "$INTLTOOL_PERL" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+if test -z "$INTLTOOL_PERL"; then
+   as_fn_error "perl not found" "$LINENO" 5
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5
+$as_echo_n "checking for perl >= 5.8.1... " >&6; }
+$INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1
+if test $? -ne 0; then
+   as_fn_error "perl 5.8.1 is required for intltool" "$LINENO" 5
+else
+   IT_PERL_VERSION="`$INTLTOOL_PERL -e \"printf '%vd', $^V\"`"
+   { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5
+$as_echo "$IT_PERL_VERSION" >&6; }
+fi
+if test "x" != "xno-xml"; then
+   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5
+$as_echo_n "checking for XML::Parser... " >&6; }
+   if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then
+       { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
+$as_echo "ok" >&6; }
+   else
+       as_fn_error "XML::Parser perl module is required for intltool" "$LINENO" 5
+   fi
+fi
+
+# Substitute ALL_LINGUAS so we can use it in po/Makefile
+
+
+# Set DATADIRNAME correctly if it is not set yet
+# (copied from glib-gettext.m4)
+if test -z "$DATADIRNAME"; then
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+extern int _nl_msg_cat_cntr;
+                       return _nl_msg_cat_cntr
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  DATADIRNAME=share
+else
+  case $host in
+    *-*-solaris*)
+                        ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset"
+if test "x$ac_cv_func_bind_textdomain_codeset" = x""yes; then :
+  DATADIRNAME=share
+else
+  DATADIRNAME=lib
+fi
+
+    ;;
+    *)
+    DATADIRNAME=lib
+    ;;
+    esac
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+fi
+
+
+
+
+
+synapticlocaledir='${prefix}/${DATADIRNAME}/locale'
+
+
+
+
+
+	pkg_modules="gtk+-2.0 >= 2.4.0, libglade-2.0 >= 2.0.0, pango >= 1.0.0, glib-2.0"
+
+
+
+
+
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+	if test -n "$ac_tool_prefix"; then
+  # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
+set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_PKG_CONFIG+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+PKG_CONFIG=$ac_cv_path_PKG_CONFIG
+if test -n "$PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
+$as_echo "$PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_path_PKG_CONFIG"; then
+  ac_pt_PKG_CONFIG=$PKG_CONFIG
+  # Extract the first word of "pkg-config", so it can be a program name with args.
+set dummy pkg-config; ac_word=$2
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  case $ac_pt_PKG_CONFIG in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+  done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
+if test -n "$ac_pt_PKG_CONFIG"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
+$as_echo "$ac_pt_PKG_CONFIG" >&6; }
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+  if test "x$ac_pt_PKG_CONFIG" = x; then
+    PKG_CONFIG=""
+  else
+    case $cross_compiling:$ac_tool_warned in
+yes:)
+{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
+$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
+ac_tool_warned=yes ;;
+esac
+    PKG_CONFIG=$ac_pt_PKG_CONFIG
+  fi
+else
+  PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
+fi
+
+fi
+if test -n "$PKG_CONFIG"; then
+	_pkg_min_version=0.9.0
+	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
+$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
+	if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	else
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+		PKG_CONFIG=""
+	fi
+fi
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for PACKAGE" >&5
+$as_echo_n "checking for PACKAGE... " >&6; }
+
+if test -n "$PACKAGE_CFLAGS"; then
+    pkg_cv_PACKAGE_CFLAGS="$PACKAGE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PACKAGE_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$PACKAGE_LIBS"; then
+    pkg_cv_PACKAGE_LIBS="$PACKAGE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_PACKAGE_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        PACKAGE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1`
+        else
+	        PACKAGE_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$PACKAGE_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements ($pkg_modules) were not met:
+
+$PACKAGE_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables PACKAGE_CFLAGS
+and PACKAGE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables PACKAGE_CFLAGS
+and PACKAGE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	PACKAGE_CFLAGS=$pkg_cv_PACKAGE_CFLAGS
+	PACKAGE_LIBS=$pkg_cv_PACKAGE_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+	BUILD_gtk="gtk"
+
+
+
+
+
+if test x"$GTK" = xno; then
+	as_fn_error " Gtk is not installed, you need to install it to get a GUI" "$LINENO" 5
+fi
+
+
+
+
+rpm_version="none"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking RPM version" >&5
+$as_echo_n "checking RPM version... " >&6; }
+SAVE_LIBS="$LIBS"
+SAVE_CPPFLAGS="$CPPFLAGS"
+
+RPM_HDRS=""
+LIBS="$SAVE_LIBS -lrpmio -lrpmdb -lpopt"
+CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+ac_fn_c_check_header_mongrel "$LINENO" "rpm/rpmlib.h" "ac_cv_header_rpm_rpmlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_rpm_rpmlib_h" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpmdbInitIterator in -lrpm" >&5
+$as_echo_n "checking for rpmdbInitIterator in -lrpm... " >&6; }
+if test "${ac_cv_lib_rpm_rpmdbInitIterator+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrpm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char rpmdbInitIterator ();
+int
+main ()
+{
+return rpmdbInitIterator ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_rpm_rpmdbInitIterator=yes
+else
+  ac_cv_lib_rpm_rpmdbInitIterator=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rpm_rpmdbInitIterator" >&5
+$as_echo "$ac_cv_lib_rpm_rpmdbInitIterator" >&6; }
+if test "x$ac_cv_lib_rpm_rpmdbInitIterator" = x""yes; then :
+
+$as_echo "#define HAVE_RPM 1" >>confdefs.h
+
+         RPM_LIBS="-lrpm -lrpmio -lrpmdb -lpopt"
+         SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+	 RPM_HDRS="-I/usr/include/rpm"
+         rpm_version="4"
+fi
+
+fi
+
+
+
+if test $rpm_version = "none"; then
+LIBS="$SAVE_LIBS -lpopt"
+CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+ac_fn_c_check_header_mongrel "$LINENO" "rpm/rpmlib.h" "ac_cv_header_rpm_rpmlib_h" "$ac_includes_default"
+if test "x$ac_cv_header_rpm_rpmlib_h" = x""yes; then :
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for rpmdbOpen in -lrpm" >&5
+$as_echo_n "checking for rpmdbOpen in -lrpm... " >&6; }
+if test "${ac_cv_lib_rpm_rpmdbOpen+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrpm  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char rpmdbOpen ();
+int
+main ()
+{
+return rpmdbOpen ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_rpm_rpmdbOpen=yes
+else
+  ac_cv_lib_rpm_rpmdbOpen=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rpm_rpmdbOpen" >&5
+$as_echo "$ac_cv_lib_rpm_rpmdbOpen" >&6; }
+if test "x$ac_cv_lib_rpm_rpmdbOpen" = x""yes; then :
+
+$as_echo "#define HAVE_RPM 1" >>confdefs.h
+
+         RPM_LIBS="-lrpm -lpopt"
+         SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+	 RPM_HDRS="-I/usr/include/rpm"
+         rpm_version="3"
+fi
+
+fi
+
+
+fi
+
+
+
+CPPFLAGS="$SAVE_CPPFLAGS"
+LIBS="$SAVE_LIBS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: \"RPM version is $rpm_version\"" >&5
+$as_echo "\"RPM version is $rpm_version\"" >&6; }
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-scripts" >&5
+$as_echo_n "checking for --enable-scripts... " >&6; }
+# Check whether --enable-scripts was given.
+if test "${enable_scripts+set}" = set; then :
+  enableval=$enable_scripts; enable_scripts="$enableval"
+else
+  enable_scripts="no"
+fi
+
+if test "$enable_scripts" != "no"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+$as_echo "#define WITH_LUA 1" >>confdefs.h
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+ if test "$enable_scripts" != "no"; then
+  WITH_LUA_TRUE=
+  WITH_LUA_FALSE='#'
+else
+  WITH_LUA_TRUE='#'
+  WITH_LUA_FALSE=
+fi
+
+
+DEB_HDRS=""
+
+DEB_LIBS="-lapt-inst"
+
+
+# launchpad integration
+
+# Check whether --with-launchpad-integration was given.
+if test "${with_launchpad_integration+set}" = set; then :
+  withval=$with_launchpad_integration;
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LP" >&5
+$as_echo_n "checking for LP... " >&6; }
+
+if test -n "$LP_CFLAGS"; then
+    pkg_cv_LP_CFLAGS="$LP_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\"launchpad-integration\"\""; } >&5
+  ($PKG_CONFIG --exists --print-errors ""launchpad-integration"") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LP_CFLAGS=`$PKG_CONFIG --cflags ""launchpad-integration"" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$LP_LIBS"; then
+    pkg_cv_LP_LIBS="$LP_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\"launchpad-integration\"\""; } >&5
+  ($PKG_CONFIG --exists --print-errors ""launchpad-integration"") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LP_LIBS=`$PKG_CONFIG --libs ""launchpad-integration"" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        LP_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors ""launchpad-integration"" 2>&1`
+        else
+	        LP_PKG_ERRORS=`$PKG_CONFIG --print-errors ""launchpad-integration"" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LP_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements (\"launchpad-integration\") were not met:
+
+$LP_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables LP_CFLAGS
+and LP_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables LP_CFLAGS
+and LP_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	LP_CFLAGS=$pkg_cv_LP_CFLAGS
+	LP_LIBS=$pkg_cv_LP_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+$as_echo "#define WITH_LAUNCHPAD_INTEGRATION 1" >>confdefs.h
+
+
+
+fi
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for --enable-ept" >&5
+$as_echo_n "checking for --enable-ept... " >&6; }
+# Check whether --enable-ept was given.
+if test "${enable_ept+set}" = set; then :
+  enableval=$enable_ept; enable_ept="$enableval"
+else
+  enable_ept="yes"
+fi
+
+if test "$enable_ept" != "no"; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+$as_echo "#define WITH_EPT 1" >>confdefs.h
+
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBEPT" >&5
+$as_echo_n "checking for LIBEPT... " >&6; }
+
+if test -n "$LIBEPT_CFLAGS"; then
+    pkg_cv_LIBEPT_CFLAGS="$LIBEPT_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libept\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libept") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBEPT_CFLAGS=`$PKG_CONFIG --cflags "libept" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$LIBEPT_LIBS"; then
+    pkg_cv_LIBEPT_LIBS="$LIBEPT_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libept\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libept") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_LIBEPT_LIBS=`$PKG_CONFIG --libs "libept" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        LIBEPT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "libept" 2>&1`
+        else
+	        LIBEPT_PKG_ERRORS=`$PKG_CONFIG --print-errors "libept" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$LIBEPT_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements (libept) were not met:
+
+$LIBEPT_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables LIBEPT_CFLAGS
+and LIBEPT_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables LIBEPT_CFLAGS
+and LIBEPT_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	LIBEPT_CFLAGS=$pkg_cv_LIBEPT_CFLAGS
+	LIBEPT_LIBS=$pkg_cv_LIBEPT_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+
+
+else
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_header_stdc=yes
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then :
+  :
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+  ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+
+for ac_header in unistd.h libintl.h iconv.h
+do :
+  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
+eval as_val=\$$as_ac_Header
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5
+$as_echo_n "checking how to run the C++ preprocessor... " >&6; }
+if test -z "$CXXCPP"; then
+  if test "${ac_cv_prog_CXXCPP+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+      # Double quotes because CXXCPP needs to be expanded
+    for CXXCPP in "$CXX -E" "/lib/cpp"
+    do
+      ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+  break
+fi
+
+    done
+    ac_cv_prog_CXXCPP=$CXXCPP
+
+fi
+  CXXCPP=$ac_cv_prog_CXXCPP
+else
+  ac_cv_prog_CXXCPP=$CXXCPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5
+$as_echo "$CXXCPP" >&6; }
+ac_preproc_ok=false
+for ac_cxx_preproc_warn_flag in '' yes
+do
+  # Use a header file that comes with gcc, so configuring glibc
+  # with a fresh cross-compiler works.
+  # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+  # <limits.h> exists even on freestanding compilers.
+  # On the NeXT, cc -E runs the code through the compiler's parser,
+  # not just through cpp. "Syntax error" is here to catch this case.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+		     Syntax error
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+
+else
+  # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+  # OK, works on sane cases.  Now check whether nonexistent headers
+  # can be detected and how.
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_cxx_try_cpp "$LINENO"; then :
+  # Broken: success on invalid input.
+continue
+else
+  # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C++ preprocessor \"$CXXCPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
+ac_fn_cxx_check_header_mongrel "$LINENO" "apt-pkg/configuration.h" "ac_cv_header_apt_pkg_configuration_h" "$ac_includes_default"
+if test "x$ac_cv_header_apt_pkg_configuration_h" = x""yes; then :
+
+fi
+
+
+
+if test x$ac_cv_header_apt_pkg_configuration_h != xyes; then
+	as_fn_error "You need the apt-pkg headers installed to compile synaptic." "$LINENO" 5
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5
+$as_echo_n "checking for an ANSI C-conforming const... " >&6; }
+if test "${ac_cv_c_const+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+int
+main ()
+{
+/* FIXME: Include the comments suggested by Paul. */
+#ifndef __cplusplus
+  /* Ultrix mips cc rejects this.  */
+  typedef int charset[2];
+  const charset cs;
+  /* SunOS 4.1.1 cc rejects this.  */
+  char const *const *pcpcc;
+  char **ppc;
+  /* NEC SVR4.0.2 mips cc rejects this.  */
+  struct point {int x, y;};
+  static struct point const zero = {0,0};
+  /* AIX XL C 1.02.0.0 rejects this.
+     It does not let you subtract one const X* pointer from another in
+     an arm of an if-expression whose if-part is not a constant
+     expression */
+  const char *g = "string";
+  pcpcc = &g + (g ? g-g : 0);
+  /* HPUX 7.0 cc rejects these. */
+  ++pcpcc;
+  ppc = (char**) pcpcc;
+  pcpcc = (char const *const *) ppc;
+  { /* SCO 3.2v4 cc rejects this.  */
+    char *t;
+    char const *s = 0 ? (char *) 0 : (char const *) 0;
+
+    *t++ = 0;
+    if (s) return 0;
+  }
+  { /* Someone thinks the Sun supposedly-ANSI compiler will reject this.  */
+    int x[] = {25, 17};
+    const int *foo = &x[0];
+    ++foo;
+  }
+  { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
+    typedef const int *iptr;
+    iptr p = 0;
+    ++p;
+  }
+  { /* AIX XL C 1.02.0.0 rejects this saying
+       "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
+    struct s { int j; const int *ap[3]; };
+    struct s *b; b->j = 5;
+  }
+  { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
+    const int foo = 10;
+    if (!foo) return 0;
+  }
+  return !cs[0] && !zero.x;
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_const=yes
+else
+  ac_cv_c_const=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5
+$as_echo "$ac_cv_c_const" >&6; }
+if test $ac_cv_c_const = no; then
+
+$as_echo "#define const /**/" >>confdefs.h
+
+fi
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5
+$as_echo_n "checking for inline... " >&6; }
+if test "${ac_cv_c_inline+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_cv_c_inline=no
+for ac_kw in inline __inline__ __inline; do
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+#ifndef __cplusplus
+typedef int foo_t;
+static $ac_kw foo_t static_foo () {return 0; }
+$ac_kw foo_t foo () {return 0; }
+#endif
+
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+  ac_cv_c_inline=$ac_kw
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+  test "$ac_cv_c_inline" != no && break
+done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5
+$as_echo "$ac_cv_c_inline" >&6; }
+
+case $ac_cv_c_inline in
+  inline | yes) ;;
+  *)
+    case $ac_cv_c_inline in
+      no) ac_val=;;
+      *) ac_val=$ac_cv_c_inline;;
+    esac
+    cat >>confdefs.h <<_ACEOF
+#ifndef __cplusplus
+#define inline $ac_val
+#endif
+_ACEOF
+    ;;
+esac
+
+
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working strcoll" >&5
+$as_echo_n "checking for working strcoll... " >&6; }
+if test "${ac_cv_func_strcoll_works+set}" = set; then :
+  $as_echo_n "(cached) " >&6
+else
+  if test "$cross_compiling" = yes; then :
+  ac_cv_func_strcoll_works=no
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+return (strcoll ("abc", "def") >= 0 ||
+	 strcoll ("ABC", "DEF") >= 0 ||
+	 strcoll ("123", "456") >= 0)
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+  ac_cv_func_strcoll_works=yes
+else
+  ac_cv_func_strcoll_works=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_strcoll_works" >&5
+$as_echo "$ac_cv_func_strcoll_works" >&6; }
+if test $ac_cv_func_strcoll_works = yes; then
+
+$as_echo "#define HAVE_STRCOLL 1" >>confdefs.h
+
+fi
+
+for ac_func in regcomp strdup iconv
+do :
+  as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
+eval as_val=\$$as_ac_var
+   if test "x$as_val" = x""yes; then :
+  cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
+
+# Check whether --with-pkg-hold was given.
+if test "${with_pkg_hold+set}" = set; then :
+  withval=$with_pkg_hold;
+$as_echo "#define SYNAPTIC_PKG_HOLD 1" >>confdefs.h
+
+
+fi
+
+
+
+# Check whether --with-apt-authentication was given.
+if test "${with_apt_authentication+set}" = set; then :
+  withval=$with_apt_authentication;
+$as_echo "#define WITH_APT_AUTH 1" >>confdefs.h
+
+
+fi
+
+
+
+# Check whether --with-nice-dpkg-status was given.
+if test "${with_nice_dpkg_status+set}" = set; then :
+  withval=$with_nice_dpkg_status; pkg_modules="vte >= 0.10.11"
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VTE" >&5
+$as_echo_n "checking for VTE... " >&6; }
+
+if test -n "$VTE_CFLAGS"; then
+    pkg_cv_VTE_CFLAGS="$VTE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_VTE_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$VTE_LIBS"; then
+    pkg_cv_VTE_LIBS="$VTE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_VTE_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        VTE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1`
+        else
+	        VTE_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$VTE_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements ($pkg_modules) were not met:
+
+$VTE_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables VTE_CFLAGS
+and VTE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables VTE_CFLAGS
+and VTE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	VTE_CFLAGS=$pkg_cv_VTE_CFLAGS
+	VTE_LIBS=$pkg_cv_VTE_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+$as_echo "#define WITH_DPKG_STATUSFD 1" >>confdefs.h
+
+
+
+fi
+
+
+
+
+# Check whether --with-debtags was given.
+if test "${with_debtags+set}" = set; then :
+  withval=$with_debtags;
+$as_echo "#define HAVE_DEBTAGS 1" >>confdefs.h
+
+	LIBTAGCOLL_DEFS
+
+
+fi
+
+
+
+# Check whether --with-vte was given.
+if test "${with_vte+set}" = set; then :
+  withval=$with_vte; pkg_modules="vte >= 0.10.11"
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for VTE" >&5
+$as_echo_n "checking for VTE... " >&6; }
+
+if test -n "$VTE_CFLAGS"; then
+    pkg_cv_VTE_CFLAGS="$VTE_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_VTE_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$VTE_LIBS"; then
+    pkg_cv_VTE_LIBS="$VTE_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_VTE_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null`
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+   	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        VTE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1`
+        else
+	        VTE_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$VTE_PKG_ERRORS" >&5
+
+	as_fn_error "Package requirements ($pkg_modules) were not met:
+
+$VTE_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+Alternatively, you may set the environment variables VTE_CFLAGS
+and VTE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details." "$LINENO" 5
+elif test $pkg_failed = untried; then
+     	{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+Alternatively, you may set the environment variables VTE_CFLAGS
+and VTE_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.
+See \`config.log' for more details." "$LINENO" 5; }
+else
+	VTE_CFLAGS=$pkg_cv_VTE_CFLAGS
+	VTE_LIBS=$pkg_cv_VTE_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+fi
+
+$as_echo "#define HAVE_VTE 1" >>confdefs.h
+
+
+$as_echo "#define HAVE_TERMINAL 1" >>confdefs.h
+
+
+
+
+
+fi
+
+
+ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+ac_fn_cxx_check_header_mongrel "$LINENO" "apt-pkg/cdrom.h" "ac_cv_header_apt_pkg_cdrom_h" "$ac_includes_default"
+if test "x$ac_cv_header_apt_pkg_cdrom_h" = x""yes; then :
+
+$as_echo "#define HAVE_APTPKG_CDROM 1" >>confdefs.h
+
+fi
+
+
+
+
+ac_config_files="$ac_config_files tests/Makefile common/Makefile gtk/Makefile gtk/glade/Makefile data/Makefile man/Makefile pixmaps/Makefile pixmaps/hicolor/Makefile pixmaps/hicolor/16x16/Makefile pixmaps/hicolor/24x24/Makefile po/Makefile.in help/Makefile help/C/Makefile help/es/Makefile help/sv/Makefile doc/Makefile doc/html/Makefile doc/html/C/Makefile doc/html/es/Makefile doc/html/sv/Makefile Makefile"
+
+ac_config_commands="$ac_config_commands default"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems.  If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+    eval ac_val=\$$ac_var
+    case $ac_val in #(
+    *${as_nl}*)
+      case $ac_var in #(
+      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
+$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
+      esac
+      case $ac_var in #(
+      _ | IFS | as_nl) ;; #(
+      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
+      *) { eval $ac_var=; unset $ac_var;} ;;
+      esac ;;
+    esac
+  done
+
+  (set) 2>&1 |
+    case $as_nl`(ac_space=' '; set) 2>&1` in #(
+    *${as_nl}ac_space=\ *)
+      # `set' does not quote correctly, so add quotes: double-quote
+      # substitution turns \\\\ into \\, and sed turns \\ into \.
+      sed -n \
+	"s/'/'\\\\''/g;
+	  s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+      ;; #(
+    *)
+      # `set' quotes correctly as required by POSIX, so do not add quotes.
+      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+      ;;
+    esac |
+    sort
+) |
+  sed '
+     /^ac_cv_env_/b end
+     t clear
+     :clear
+     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+     t end
+     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+     :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+  if test -w "$cache_file"; then
+    test "x$cache_file" != "x/dev/null" &&
+      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
+$as_echo "$as_me: updating cache $cache_file" >&6;}
+    cat confcache >$cache_file
+  else
+    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
+$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+  fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+DEFS=-DHAVE_CONFIG_H
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+  # 1. Remove the extension, and $U if already installed.
+  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
+  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
+  #    will be set to the directory where LIBOBJS objects are built.
+  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+ if test -n "$EXEEXT"; then
+  am__EXEEXT_TRUE=
+  am__EXEEXT_FALSE='#'
+else
+  am__EXEEXT_TRUE='#'
+  am__EXEEXT_FALSE=
+fi
+
+if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
+  as_fn_error "conditional \"MAINTAINER_MODE\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then
+  as_fn_error "conditional \"AMDEP\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then
+  as_fn_error "conditional \"am__fastdepCC\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then
+  as_fn_error "conditional \"am__fastdepCXX\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+  ac_config_commands="$ac_config_commands po/stamp-it"
+
+
+if test -z "${WITH_LUA_TRUE}" && test -z "${WITH_LUA_FALSE}"; then
+  as_fn_error "conditional \"WITH_LUA\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+
+: ${CONFIG_STATUS=./config.status}
+ac_write_fail=0
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
+$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
+as_write_fail=0
+cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+
+SHELL=\${CONFIG_SHELL-$SHELL}
+export SHELL
+_ASEOF
+cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
+## -------------------- ##
+## M4sh Initialization. ##
+## -------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
+  emulate sh
+  NULLCMD=:
+  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
+  # is contrary to our usage.  Disable this feature.
+  alias -g '${1+"$@"}'='"$@"'
+  setopt NO_GLOB_SUBST
+else
+  case `(set -o) 2>/dev/null` in #(
+  *posix*) :
+    set -o posix ;; #(
+  *) :
+     ;;
+esac
+fi
+
+
+as_nl='
+'
+export as_nl
+# Printing a long string crashes Solaris 7 /usr/bin/printf.
+as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
+as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
+# Prefer a ksh shell builtin over an external printf program on Solaris,
+# but without wasting forks for bash or zsh.
+if test -z "$BASH_VERSION$ZSH_VERSION" \
+    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='print -r --'
+  as_echo_n='print -rn --'
+elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
+  as_echo='printf %s\n'
+  as_echo_n='printf %s'
+else
+  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
+    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
+    as_echo_n='/usr/ucb/echo -n'
+  else
+    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
+    as_echo_n_body='eval
+      arg=$1;
+      case $arg in #(
+      *"$as_nl"*)
+	expr "X$arg" : "X\\(.*\\)$as_nl";
+	arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
+      esac;
+      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
+    '
+    export as_echo_n_body
+    as_echo_n='sh -c $as_echo_n_body as_echo'
+  fi
+  export as_echo_body
+  as_echo='sh -c $as_echo_body as_echo'
+fi
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+  PATH_SEPARATOR=:
+  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
+    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
+      PATH_SEPARATOR=';'
+  }
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order.  Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+IFS=" ""	$as_nl"
+
+# Find who we are.  Look in the path if we contain no directory separator.
+case $0 in #((
+  *[\\/]* ) as_myself=$0 ;;
+  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+  done
+IFS=$as_save_IFS
+
+     ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+  as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+  exit 1
+fi
+
+# Unset variables that we do not need and which cause bugs (e.g. in
+# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
+# suppresses any "Segmentation fault" message there.  '((' could
+# trigger a bug in pdksh 5.2.14.
+for as_var in BASH_ENV ENV MAIL MAILPATH
+do eval test x\${$as_var+set} = xset \
+  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+LC_ALL=C
+export LC_ALL
+LANGUAGE=C
+export LANGUAGE
+
+# CDPATH.
+(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
+
+
+# as_fn_error ERROR [LINENO LOG_FD]
+# ---------------------------------
+# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
+# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
+# script with status $?, using 1 if that was 0.
+as_fn_error ()
+{
+  as_status=$?; test $as_status -eq 0 && as_status=1
+  if test "$3"; then
+    as_lineno=${as_lineno-"$2"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+    $as_echo "$as_me:${as_lineno-$LINENO}: error: $1" >&$3
+  fi
+  $as_echo "$as_me: error: $1" >&2
+  as_fn_exit $as_status
+} # as_fn_error
+
+
+# as_fn_set_status STATUS
+# -----------------------
+# Set $? to STATUS, without forking.
+as_fn_set_status ()
+{
+  return $1
+} # as_fn_set_status
+
+# as_fn_exit STATUS
+# -----------------
+# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
+as_fn_exit ()
+{
+  set +e
+  as_fn_set_status $1
+  exit $1
+} # as_fn_exit
+
+# as_fn_unset VAR
+# ---------------
+# Portably unset VAR.
+as_fn_unset ()
+{
+  { eval $1=; unset $1;}
+}
+as_unset=as_fn_unset
+# as_fn_append VAR VALUE
+# ----------------------
+# Append the text in VALUE to the end of the definition contained in VAR. Take
+# advantage of any shell optimizations that allow amortized linear growth over
+# repeated appends, instead of the typical quadratic growth present in naive
+# implementations.
+if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
+  eval 'as_fn_append ()
+  {
+    eval $1+=\$2
+  }'
+else
+  as_fn_append ()
+  {
+    eval $1=\$$1\$2
+  }
+fi # as_fn_append
+
+# as_fn_arith ARG...
+# ------------------
+# Perform arithmetic evaluation on the ARGs, and store the result in the
+# global $as_val. Take advantage of shells that can avoid forks. The arguments
+# must be portable across $(()) and expr.
+if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
+  eval 'as_fn_arith ()
+  {
+    as_val=$(( $* ))
+  }'
+else
+  as_fn_arith ()
+  {
+    as_val=`expr "$@" || test $? -eq 1`
+  }
+fi # as_fn_arith
+
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+   test "X`expr 00001 : '.*\(...\)'`" = X001; then
+  as_expr=expr
+else
+  as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+  as_basename=basename
+else
+  as_basename=false
+fi
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+  as_dirname=dirname
+else
+  as_dirname=false
+fi
+
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+	 X"$0" : 'X\(//\)$' \| \
+	 X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X/"$0" |
+    sed '/^.*\/\([^/][^/]*\)\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\/\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in #(((((
+-n*)
+  case `echo 'xy\c'` in
+  *c*) ECHO_T='	';;	# ECHO_T is single tab character.
+  xy)  ECHO_C='\c';;
+  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
+       ECHO_T='	';;
+  esac;;
+*)
+  ECHO_N='-n';;
+esac
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+  rm -f conf$$.dir/conf$$.file
+else
+  rm -f conf$$.dir
+  mkdir conf$$.dir 2>/dev/null
+fi
+if (echo >conf$$.file) 2>/dev/null; then
+  if ln -s conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s='ln -s'
+    # ... but there are two gotchas:
+    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+    # In both cases, we have to default to `cp -p'.
+    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+      as_ln_s='cp -p'
+  elif ln conf$$.file conf$$ 2>/dev/null; then
+    as_ln_s=ln
+  else
+    as_ln_s='cp -p'
+  fi
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+
+# as_fn_mkdir_p
+# -------------
+# Create "$as_dir" as a directory, including parents if necessary.
+as_fn_mkdir_p ()
+{
+
+  case $as_dir in #(
+  -*) as_dir=./$as_dir;;
+  esac
+  test -d "$as_dir" || eval $as_mkdir_p || {
+    as_dirs=
+    while :; do
+      case $as_dir in #(
+      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
+      *) as_qdir=$as_dir;;
+      esac
+      as_dirs="'$as_qdir' $as_dirs"
+      as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$as_dir" : 'X\(//\)[^/]' \| \
+	 X"$as_dir" : 'X\(//\)$' \| \
+	 X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$as_dir" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      test -d "$as_dir" && break
+    done
+    test -z "$as_dirs" || eval "mkdir $as_dirs"
+  } || test -d "$as_dir" || as_fn_error "cannot create directory $as_dir"
+
+
+} # as_fn_mkdir_p
+if mkdir -p . 2>/dev/null; then
+  as_mkdir_p='mkdir -p "$as_dir"'
+else
+  test -d ./-p && rmdir ./-p
+  as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+  as_test_x='test -x'
+else
+  if ls -dL / >/dev/null 2>&1; then
+    as_ls_L_option=L
+  else
+    as_ls_L_option=
+  fi
+  as_test_x='
+    eval sh -c '\''
+      if test -d "$1"; then
+	test -d "$1/.";
+      else
+	case $1 in #(
+	-*)set "./$1";;
+	esac;
+	case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #((
+	???[sx]*):;;*)false;;esac;fi
+    '\'' sh
+  '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+## ----------------------------------- ##
+## Main body of $CONFIG_STATUS script. ##
+## ----------------------------------- ##
+_ASEOF
+test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# Save the log message, to keep $0 and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.65.  Invocation command line was
+
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+case $ac_config_files in *"
+"*) set x $ac_config_files; shift; ac_config_files=$*;;
+esac
+
+case $ac_config_headers in *"
+"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
+esac
+
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+# Files that config.status was made for.
+config_files="$ac_config_files"
+config_headers="$ac_config_headers"
+config_commands="$ac_config_commands"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+ac_cs_usage="\
+\`$as_me' instantiates files and other configuration actions
+from templates according to the current configuration.  Unless the files
+and actions are specified as TAGs, all are instantiated by default.
+
+Usage: $0 [OPTION]... [TAG]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number and configuration settings, then exit
+      --config     print configuration, then exit
+  -q, --quiet, --silent
+                   do not print progress messages
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+      --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+      --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to the package provider."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.65,
+  with options \\"\$ac_cs_config\\"
+
+Copyright (C) 2009 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+MKDIR_P='$MKDIR_P'
+AWK='$AWK'
+test -n "\$AWK" || AWK=awk
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# The default lists apply if the user does not specify any file.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "X$1" : 'X\([^=]*\)='`
+    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+    ac_shift=:
+    ;;
+  *)
+    ac_option=$1
+    ac_optarg=$2
+    ac_shift=shift
+    ;;
+  esac
+
+  case $ac_option in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    ac_cs_recheck=: ;;
+  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+    $as_echo "$ac_cs_version"; exit ;;
+  --config | --confi | --conf | --con | --co | --c )
+    $as_echo "$ac_cs_config"; exit ;;
+  --debug | --debu | --deb | --de | --d | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_FILES " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    $ac_shift
+    case $ac_optarg in
+    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
+    esac
+    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
+    ac_need_defaults=false;;
+  --he | --h)
+    # Conflict between --help and --header
+    as_fn_error "ambiguous option: \`$1'
+Try \`$0 --help' for more information.";;
+  --help | --hel | -h )
+    $as_echo "$ac_cs_usage"; exit ;;
+  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+  | -silent | --silent | --silen | --sile | --sil | --si | --s)
+    ac_cs_silent=: ;;
+
+  # This is an error.
+  -*) as_fn_error "unrecognized option: \`$1'
+Try \`$0 --help' for more information." ;;
+
+  *) as_fn_append ac_config_targets " $1"
+     ac_need_defaults=false ;;
+
+  esac
+  shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+  exec 6>/dev/null
+  ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+if \$ac_cs_recheck; then
+  set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+  shift
+  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
+  CONFIG_SHELL='$SHELL'
+  export CONFIG_SHELL
+  exec "\$@"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+exec 5>>config.log
+{
+  echo
+  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+  $as_echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+#
+# INIT-COMMANDS
+#
+AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
+
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+  case $ac_config_target in
+    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;;
+    "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;;
+    "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;;
+    "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;;
+    "common/Makefile") CONFIG_FILES="$CONFIG_FILES common/Makefile" ;;
+    "gtk/Makefile") CONFIG_FILES="$CONFIG_FILES gtk/Makefile" ;;
+    "gtk/glade/Makefile") CONFIG_FILES="$CONFIG_FILES gtk/glade/Makefile" ;;
+    "data/Makefile") CONFIG_FILES="$CONFIG_FILES data/Makefile" ;;
+    "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;;
+    "pixmaps/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/Makefile" ;;
+    "pixmaps/hicolor/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/hicolor/Makefile" ;;
+    "pixmaps/hicolor/16x16/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/hicolor/16x16/Makefile" ;;
+    "pixmaps/hicolor/24x24/Makefile") CONFIG_FILES="$CONFIG_FILES pixmaps/hicolor/24x24/Makefile" ;;
+    "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;;
+    "help/Makefile") CONFIG_FILES="$CONFIG_FILES help/Makefile" ;;
+    "help/C/Makefile") CONFIG_FILES="$CONFIG_FILES help/C/Makefile" ;;
+    "help/es/Makefile") CONFIG_FILES="$CONFIG_FILES help/es/Makefile" ;;
+    "help/sv/Makefile") CONFIG_FILES="$CONFIG_FILES help/sv/Makefile" ;;
+    "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+    "doc/html/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/Makefile" ;;
+    "doc/html/C/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/C/Makefile" ;;
+    "doc/html/es/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/es/Makefile" ;;
+    "doc/html/sv/Makefile") CONFIG_FILES="$CONFIG_FILES doc/html/sv/Makefile" ;;
+    "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+    "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+    "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;;
+
+  *) as_fn_error "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
+  esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Have a temporary directory for convenience.  Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+  tmp=
+  trap 'exit_status=$?
+  { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+  trap 'as_fn_exit 1' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=./conf$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} || as_fn_error "cannot create a temporary directory in ." "$LINENO" 5
+
+# Set up the scripts for CONFIG_FILES section.
+# No need to generate them if there are no CONFIG_FILES.
+# This happens for instance with `./config.status config.h'.
+if test -n "$CONFIG_FILES"; then
+
+
+ac_cr=`echo X | tr X '\015'`
+# On cygwin, bash can eat \r inside `` if the user requested igncr.
+# But we know of no other shell where ac_cr would be empty at this
+# point, so we can use a bashism as a fallback.
+if test "x$ac_cr" = x; then
+  eval ac_cr=\$\'\\r\'
+fi
+ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
+if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
+  ac_cs_awk_cr='\r'
+else
+  ac_cs_awk_cr=$ac_cr
+fi
+
+echo 'BEGIN {' >"$tmp/subs1.awk" &&
+_ACEOF
+
+
+{
+  echo "cat >conf$$subs.awk <<_ACEOF" &&
+  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
+  echo "_ACEOF"
+} >conf$$subs.sh ||
+  as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'`
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+  . ./conf$$subs.sh ||
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+
+  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
+  if test $ac_delim_n = $ac_delim_num; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_STATUS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+rm -f conf$$subs.sh
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&
+_ACEOF
+sed -n '
+h
+s/^/S["/; s/!.*/"]=/
+p
+g
+s/^[^!]*!//
+:repl
+t repl
+s/'"$ac_delim"'$//
+t delim
+:nl
+h
+s/\(.\{148\}\)..*/\1/
+t more1
+s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
+p
+n
+b repl
+:more1
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t nl
+:delim
+h
+s/\(.\{148\}\)..*/\1/
+t more2
+s/["\\]/\\&/g; s/^/"/; s/$/"/
+p
+b
+:more2
+s/["\\]/\\&/g; s/^/"/; s/$/"\\/
+p
+g
+s/.\{148\}//
+t delim
+' <conf$$subs.awk | sed '
+/^[^""]/{
+  N
+  s/\n//
+}
+' >>$CONFIG_STATUS || ac_write_fail=1
+rm -f conf$$subs.awk
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+_ACAWK
+cat >>"\$tmp/subs1.awk" <<_ACAWK &&
+  for (key in S) S_is_set[key] = 1
+  FS = ""
+
+}
+{
+  line = $ 0
+  nfields = split(line, field, "@")
+  substed = 0
+  len = length(field[1])
+  for (i = 2; i < nfields; i++) {
+    key = field[i]
+    keylen = length(key)
+    if (S_is_set[key]) {
+      value = S[key]
+      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
+      len += length(value) + length(field[++i])
+      substed = 1
+    } else
+      len += 1 + keylen
+  }
+
+  print line
+}
+
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
+  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
+else
+  cat
+fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \
+  || as_fn_error "could not setup config files machinery" "$LINENO" 5
+_ACEOF
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+  ac_vpsub='/^[	 ]*VPATH[	 ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[	 ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[	 ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+fi # test -n "$CONFIG_FILES"
+
+# Set up the scripts for CONFIG_HEADERS section.
+# No need to generate them if there are no CONFIG_HEADERS.
+# This happens for instance with `./config.status Makefile'.
+if test -n "$CONFIG_HEADERS"; then
+cat >"$tmp/defines.awk" <<\_ACAWK ||
+BEGIN {
+_ACEOF
+
+# Transform confdefs.h into an awk script `defines.awk', embedded as
+# here-document in config.status, that substitutes the proper values into
+# config.h.in to produce config.h.
+
+# Create a delimiter string that does not exist in confdefs.h, to ease
+# handling of long lines.
+ac_delim='%!_!# '
+for ac_last_try in false false :; do
+  ac_t=`sed -n "/$ac_delim/p" confdefs.h`
+  if test -z "$ac_t"; then
+    break
+  elif $ac_last_try; then
+    as_fn_error "could not make $CONFIG_HEADERS" "$LINENO" 5
+  else
+    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+  fi
+done
+
+# For the awk script, D is an array of macro values keyed by name,
+# likewise P contains macro parameters if any.  Preserve backslash
+# newline sequences.
+
+ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
+sed -n '
+s/.\{148\}/&'"$ac_delim"'/g
+t rset
+:rset
+s/^[	 ]*#[	 ]*define[	 ][	 ]*/ /
+t def
+d
+:def
+s/\\$//
+t bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3"/p
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2"/p
+d
+:bsnl
+s/["\\]/\\&/g
+s/^ \('"$ac_word_re"'\)\(([^()]*)\)[	 ]*\(.*\)/P["\1"]="\2"\
+D["\1"]=" \3\\\\\\n"\\/p
+t cont
+s/^ \('"$ac_word_re"'\)[	 ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
+t cont
+d
+:cont
+n
+s/.\{148\}/&'"$ac_delim"'/g
+t clear
+:clear
+s/\\$//
+t bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/"/p
+d
+:bsnlc
+s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
+b cont
+' <confdefs.h | sed '
+s/'"$ac_delim"'/"\\\
+"/g' >>$CONFIG_STATUS || ac_write_fail=1
+
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  for (key in D) D_is_set[key] = 1
+  FS = ""
+}
+/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
+  line = \$ 0
+  split(line, arg, " ")
+  if (arg[1] == "#") {
+    defundef = arg[2]
+    mac1 = arg[3]
+  } else {
+    defundef = substr(arg[1], 2)
+    mac1 = arg[2]
+  }
+  split(mac1, mac2, "(") #)
+  macro = mac2[1]
+  prefix = substr(line, 1, index(line, defundef) - 1)
+  if (D_is_set[macro]) {
+    # Preserve the white space surrounding the "#".
+    print prefix "define", macro P[macro] D[macro]
+    next
+  } else {
+    # Replace #undef with comments.  This is necessary, for example,
+    # in the case of _POSIX_SOURCE, which is predefined and required
+    # on some systems where configure will not decide to define it.
+    if (defundef == "undef") {
+      print "/*", prefix defundef, macro, "*/"
+      next
+    }
+  }
+}
+{ print }
+_ACAWK
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+  as_fn_error "could not setup config headers machinery" "$LINENO" 5
+fi # test -n "$CONFIG_HEADERS"
+
+
+eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
+shift
+for ac_tag
+do
+  case $ac_tag in
+  :[FHLC]) ac_mode=$ac_tag; continue;;
+  esac
+  case $ac_mode$ac_tag in
+  :[FHL]*:*);;
+  :L* | :C*:*) as_fn_error "invalid tag \`$ac_tag'" "$LINENO" 5;;
+  :[FH]-) ac_tag=-:-;;
+  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+  esac
+  ac_save_IFS=$IFS
+  IFS=:
+  set x $ac_tag
+  IFS=$ac_save_IFS
+  shift
+  ac_file=$1
+  shift
+
+  case $ac_mode in
+  :L) ac_source=$1;;
+  :[FH])
+    ac_file_inputs=
+    for ac_f
+    do
+      case $ac_f in
+      -) ac_f="$tmp/stdin";;
+      *) # Look for the file first in the build tree, then in the source tree
+	 # (if the path is not absolute).  The absolute path cannot be DOS-style,
+	 # because $ac_f cannot contain `:'.
+	 test -f "$ac_f" ||
+	   case $ac_f in
+	   [\\/$]*) false;;
+	   *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+	   esac ||
+	   as_fn_error "cannot find input file: \`$ac_f'" "$LINENO" 5;;
+      esac
+      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
+      as_fn_append ac_file_inputs " '$ac_f'"
+    done
+
+    # Let's still pretend it is `configure' which instantiates (i.e., don't
+    # use $as_me), people would be surprised to read:
+    #    /* config.h.  Generated by config.status.  */
+    configure_input='Generated from '`
+	  $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
+	`' by configure.'
+    if test x"$ac_file" != x-; then
+      configure_input="$ac_file.  $configure_input"
+      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
+$as_echo "$as_me: creating $ac_file" >&6;}
+    fi
+    # Neutralize special characters interpreted by sed in replacement strings.
+    case $configure_input in #(
+    *\&* | *\|* | *\\* )
+       ac_sed_conf_input=`$as_echo "$configure_input" |
+       sed 's/[\\\\&|]/\\\\&/g'`;; #(
+    *) ac_sed_conf_input=$configure_input;;
+    esac
+
+    case $ac_tag in
+    *:-:* | *:-) cat >"$tmp/stdin" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5 ;;
+    esac
+    ;;
+  esac
+
+  ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$ac_file" : 'X\(//\)[^/]' \| \
+	 X"$ac_file" : 'X\(//\)$' \| \
+	 X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+  as_dir="$ac_dir"; as_fn_mkdir_p
+  ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
+  # A ".." for each directory in $ac_dir_suffix.
+  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
+  case $ac_top_builddir_sub in
+  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+  esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+  .)  # We are building in place.
+    ac_srcdir=.
+    ac_top_srcdir=$ac_top_builddir_sub
+    ac_abs_top_srcdir=$ac_pwd ;;
+  [\\/]* | ?:[\\/]* )  # Absolute name.
+    ac_srcdir=$srcdir$ac_dir_suffix;
+    ac_top_srcdir=$srcdir
+    ac_abs_top_srcdir=$srcdir ;;
+  *) # Relative name.
+    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+    ac_top_srcdir=$ac_top_build_prefix$srcdir
+    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+  case $ac_mode in
+  :F)
+  #
+  # CONFIG_FILE
+  #
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+  esac
+  ac_MKDIR_P=$MKDIR_P
+  case $MKDIR_P in
+  [\\/$]* | ?:[\\/]* ) ;;
+  */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;;
+  esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+ac_sed_dataroot='
+/datarootdir/ {
+  p
+  q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p'
+case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+  ac_datarootdir_hack='
+  s&@datadir@&$datadir&g
+  s&@docdir@&$docdir&g
+  s&@infodir@&$infodir&g
+  s&@localedir@&$localedir&g
+  s&@mandir@&$mandir&g
+  s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
+ac_sed_extra="$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s|@configure_input@|$ac_sed_conf_input|;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@top_build_prefix@&$ac_top_build_prefix&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+s&@MKDIR_P@&$ac_MKDIR_P&;t t
+$ac_datarootdir_hack
+"
+eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+  { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+  { ac_out=`sed -n '/^[	 ]*datarootdir[	 ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&5
+$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined.  Please make sure it is defined." >&2;}
+
+  rm -f "$tmp/stdin"
+  case $ac_file in
+  -) cat "$tmp/out" && rm -f "$tmp/out";;
+  *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";;
+  esac \
+  || as_fn_error "could not create $ac_file" "$LINENO" 5
+ ;;
+  :H)
+  #
+  # CONFIG_HEADER
+  #
+  if test x"$ac_file" != x-; then
+    {
+      $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs"
+    } >"$tmp/config.h" \
+      || as_fn_error "could not create $ac_file" "$LINENO" 5
+    if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then
+      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
+$as_echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file" \
+	|| as_fn_error "could not create $ac_file" "$LINENO" 5
+    fi
+  else
+    $as_echo "/* $configure_input  */" \
+      && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \
+      || as_fn_error "could not create -" "$LINENO" 5
+  fi
+# Compute "$ac_file"'s index in $config_headers.
+_am_arg="$ac_file"
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+  case $_am_header in
+    $_am_arg | $_am_arg:* )
+      break ;;
+    * )
+      _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+  esac
+done
+echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" ||
+$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$_am_arg" : 'X\(//\)[^/]' \| \
+	 X"$_am_arg" : 'X\(//\)$' \| \
+	 X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$_am_arg" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`/stamp-h$_am_stamp_count
+ ;;
+
+  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
+$as_echo "$as_me: executing $ac_file commands" >&6;}
+ ;;
+  esac
+
+
+  case $ac_file$ac_mode in
+    "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+  # Autoconf 2.62 quotes --file arguments for eval, but not when files
+  # are listed without --file.  Let's play safe and only enable the eval
+  # if we detect the quoting.
+  case $CONFIG_FILES in
+  *\'*) eval set x "$CONFIG_FILES" ;;
+  *)   set x $CONFIG_FILES ;;
+  esac
+  shift
+  for mf
+  do
+    # Strip MF so we end up with the name of the file.
+    mf=`echo "$mf" | sed -e 's/:.*$//'`
+    # Check whether this is an Automake generated Makefile or not.
+    # We used to match only the files named `Makefile.in', but
+    # some people rename them; so instead we look at the file content.
+    # Grep'ing the first line is not enough: some people post-process
+    # each Makefile.in and add a new line on top of each file to say so.
+    # Grep'ing the whole file is not good either: AIX grep has a line
+    # limit of 2048, but all sed's we know have understand at least 4000.
+    if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+      dirpart=`$as_dirname -- "$mf" ||
+$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$mf" : 'X\(//\)[^/]' \| \
+	 X"$mf" : 'X\(//\)$' \| \
+	 X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$mf" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+    else
+      continue
+    fi
+    # Extract the definition of DEPDIR, am__include, and am__quote
+    # from the Makefile without running `make'.
+    DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+    test -z "$DEPDIR" && continue
+    am__include=`sed -n 's/^am__include = //p' < "$mf"`
+    test -z "am__include" && continue
+    am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+    # When using ansi2knr, U may be empty or an underscore; expand it
+    U=`sed -n 's/^U = //p' < "$mf"`
+    # Find all dependency output files, they are included files with
+    # $(DEPDIR) in their names.  We invoke sed twice because it is the
+    # simplest approach to changing $(DEPDIR) to its actual value in the
+    # expansion.
+    for file in `sed -n "
+      s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+	 sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+      # Make sure the directory exists.
+      test -f "$dirpart/$file" && continue
+      fdir=`$as_dirname -- "$file" ||
+$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+	 X"$file" : 'X\(//\)[^/]' \| \
+	 X"$file" : 'X\(//\)$' \| \
+	 X"$file" : 'X\(/\)' \| . 2>/dev/null ||
+$as_echo X"$file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)[^/].*/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\/\)$/{
+	    s//\1/
+	    q
+	  }
+	  /^X\(\/\).*/{
+	    s//\1/
+	    q
+	  }
+	  s/.*/./; q'`
+      as_dir=$dirpart/$fdir; as_fn_mkdir_p
+      # echo "creating $dirpart/$file"
+      echo '# dummy' > "$dirpart/$file"
+    done
+  done
+}
+ ;;
+    "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*)
+        sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile
+      esac ;;
+    "default":C) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile ;;
+    "po/stamp-it":C)
+    if  ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then
+       as_fn_error "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5
+    fi
+    rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp"
+    >"po/stamp-it.tmp"
+    sed '/^#/d
+	 s/^[[].*] *//
+	 /^[ 	]*$/d
+	'"s|^|	$ac_top_srcdir/|" \
+      "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES"
+
+    sed '/^POTFILES =/,/[^\\]$/ {
+		/^POTFILES =/!d
+		r po/POTFILES
+	  }
+	 ' "po/Makefile.in" >"po/Makefile"
+    rm -f "po/Makefile.tmp"
+    mv "po/stamp-it.tmp" "po/stamp-it"
+   ;;
+
+  esac
+done # for ac_tag
+
+
+as_fn_exit 0
+_ACEOF
+ac_clean_files=$ac_clean_files_save
+
+test $ac_write_fail = 0 ||
+  as_fn_error "write failure creating $CONFIG_STATUS" "$LINENO" 5
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded.  So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status.  When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+  ac_cs_success=:
+  ac_config_status_args=
+  test "$silent" = yes &&
+    ac_config_status_args="$ac_config_status_args --quiet"
+  exec 5>/dev/null
+  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+  exec 5>>config.log
+  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+  # would make configure fail if this is the last instruction.
+  $ac_cs_success || as_fn_exit $?
+fi
+if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
+  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
+$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
+fi
+
+
+

=== added file 'configure.in'
--- configure.in	1970-01-01 00:00:00 +0000
+++ configure.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,238 @@
+dnl Process this file with autoconf to produce a configure script.
+AC_INIT(configure.in)
+
+AM_INIT_AUTOMAKE(synaptic, 0.63.1)
+AM_CONFIG_HEADER(config.h)
+AM_MAINTAINER_MODE
+
+dnl Checks for programs.
+AC_ISC_POSIX
+AC_PROG_CC
+AM_PROG_CC_STDC
+AC_HEADER_STDC
+AC_PROG_CXX
+AC_PROG_MAKE_SET
+AC_PROG_RANLIB
+
+dnl i18n
+ALL_LINGUAS="ar br pt_BR es et eu fr gl de tr zh_CN zh_TW ru nl ja be be@latin it pl cs hu sr sr@Latn da he ca ko bg no nb sl pt lt el xh mk ro hi sk sv fi th uk"
+AM_GLIB_GNU_GETTEXT
+GETTEXT_PACKAGE=synaptic
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, "$GETTEXT_PACKAGE",[description])
+AC_PROG_INTLTOOL([0.23])
+synapticlocaledir='${prefix}/${DATADIRNAME}/locale'
+AC_SUBST(synapticlocaledir)
+     
+
+dnl ask for wings
+dnl AC_ARG_WITH(wings,
+dnl 	[--with-wings   build with WINGs gui (obsolete)],
+dnl	[AC_CHECK_PROG(WINGS, get-wings-flags, yes, no)
+dnl	if test x"$WINGS" == xno; then
+dnl	   AC_MSG_ERROR([WINGs is not installed])
+dnl	fi
+dnl	]
+dnl )
+dnl if test x"$WINGS" = xyes; then
+dnl	BUILD_wings="wings"
+dnl 	WINGS_LIBS=`get-wings-flags --ldflags`
+dnl	WINGS_LIBS="$GUI_LIBS `get-wings-flags --libs`"
+dnl	WINGS_HDRS=`get-wings-flags --cflags`
+dnl	AC_SUBST(WINGS_LIBS)
+dnl	AC_SUBST(WINGS_HDRS)
+dnl fi
+dnl AC_SUBST(BUILD_wings)
+
+
+dnl Checks for gtk
+dnl if test -z "$BUILD_wings" ; then
+	pkg_modules="gtk+-2.0 >= 2.4.0, libglade-2.0 >= 2.0.0, pango >= 1.0.0, glib-2.0"
+	PKG_CHECK_MODULES(PACKAGE, [$pkg_modules])
+	BUILD_gtk="gtk"	
+dnl fi
+
+AC_SUBST(PACKAGE_CFLAGS)
+AC_SUBST(PACKAGE_LIBS)
+AC_SUBST(BUILD_gtk)
+
+dnl if test x"$WINGS" = xno; then
+if test x"$GTK" = xno; then
+	AC_MSG_ERROR([ Gtk is not installed, you need to install it to get a GUI])
+fi
+dnl fi
+
+
+
+
+dnl Check for rpm version 
+dnl =====================
+rpm_version="none"
+AC_MSG_CHECKING(RPM version)
+SAVE_LIBS="$LIBS"
+SAVE_CPPFLAGS="$CPPFLAGS"
+
+RPM_HDRS=""
+LIBS="$SAVE_LIBS -lrpmio -lrpmdb -lpopt"
+CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+AC_CHECK_HEADER(rpm/rpmlib.h,
+      [AC_CHECK_LIB(rpm,rpmdbInitIterator,
+        [AC_DEFINE(HAVE_RPM, 1, [whether RPM is present]) 
+         RPM_LIBS="-lrpm -lrpmio -lrpmdb -lpopt"
+         SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+	 RPM_HDRS="-I/usr/include/rpm"
+         rpm_version="4"])])
+
+if test $rpm_version = "none"; then
+LIBS="$SAVE_LIBS -lpopt"
+CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+AC_CHECK_HEADER(rpm/rpmlib.h,
+      [AC_CHECK_LIB(rpm,rpmdbOpen,
+        [AC_DEFINE(HAVE_RPM, 1, [wheter RPM is present]) 
+         RPM_LIBS="-lrpm -lpopt"
+         SAVE_CPPFLAGS="$SAVE_CPPFLAGS -I/usr/include/rpm"
+	 RPM_HDRS="-I/usr/include/rpm"
+         rpm_version="3"])])
+fi
+
+AC_SUBST(RPM_LIBS)
+AC_SUBST(RPM_HDRS)
+CPPFLAGS="$SAVE_CPPFLAGS"
+LIBS="$SAVE_LIBS"
+AC_MSG_RESULT("RPM version is $rpm_version")
+
+AC_MSG_CHECKING(for --enable-scripts)
+AC_ARG_ENABLE([scripts],
+	      AC_HELP_STRING(--enable-scripts, enable the extension system),
+	      [enable_scripts="$enableval"],[enable_scripts="no"])
+if test "$enable_scripts" != "no"; then
+  AC_MSG_RESULT(no)
+  AC_DEFINE(WITH_LUA, 1, 
+	    [Define if you want to enable the extension system.]) 
+else
+  AC_MSG_RESULT(yes)
+fi
+AM_CONDITIONAL(WITH_LUA, test "$enable_scripts" != "no")
+
+DEB_HDRS=""
+AC_SUBST(DEB_HDRS)
+DEB_LIBS="-lapt-inst"
+AC_SUBST(DEB_LIBS)
+
+# launchpad integration
+AC_ARG_WITH(launchpad-integration,
+ 	[--launchpad-integration   build with launchpad-integration],
+	[PKG_CHECK_MODULES(LP, ["launchpad-integration"])
+	 AC_DEFINE(WITH_LAUNCHPAD_INTEGRATION, 1, [build with launchpad-integration] )
+	]
+)
+AC_SUBST(LP_CFLAGS)
+AC_SUBST(LP_LIBS)
+
+AC_MSG_CHECKING(for --enable-ept)
+AC_ARG_ENABLE([ept],
+             AC_HELP_STRING(--enable-ept, enable libept functionality),
+             [enable_ept="$enableval"],[enable_ept="yes"])
+if test "$enable_ept" != "no"; then
+  AC_MSG_RESULT(no)
+  AC_DEFINE(WITH_EPT, 1, 
+           [Define if you want to enable the ept functions.]) 
+  LIBEPT_DEFS
+else
+  AC_MSG_RESULT(yes)
+fi
+
+
+dnl Checks for header files.
+AC_HEADER_STDC
+
+AC_CHECK_HEADERS(unistd.h libintl.h iconv.h)
+
+AC_LANG_CPLUSPLUS
+AC_CHECK_HEADER(apt-pkg/configuration.h)
+
+if test x$ac_cv_header_apt_pkg_configuration_h != xyes; then
+	AC_ERROR([You need the apt-pkg headers installed to compile synaptic.])
+fi
+
+AC_LANG_C
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+AC_C_CONST
+AC_C_INLINE
+
+
+
+dnl Checks for library functions.
+AC_FUNC_STRCOLL
+AC_CHECK_FUNCS(regcomp strdup iconv)
+
+AC_ARG_WITH(pkg-hold, 
+	[--with-pkg-hold   build with experimental package "hold" feature],
+        AC_DEFINE(SYNAPTIC_PKG_HOLD, 1, [build with package pin feature] )
+)
+
+AC_ARG_WITH(apt-authentication, 
+	[--with-apt-authentication  build with support for apt authentication],
+        AC_DEFINE(WITH_APT_AUTH, 1, [build with apt auth support] )
+)
+
+AC_ARG_WITH(nice-dpkg-status, 
+	[--with-nice-dpkg-status build with support for dpkg progress bar],
+	[pkg_modules="vte >= 0.10.11"
+	PKG_CHECK_MODULES(VTE, [$pkg_modules])
+        AC_DEFINE(WITH_DPKG_STATUSFD, 1, [build with dpkg progress bar] )
+	]
+)
+
+
+AC_ARG_WITH(debtags, 
+	[--with-debtags-support   build with experimental debtags support],
+        [AC_DEFINE(HAVE_DEBTAGS, 1, [build with debtags support])
+	LIBTAGCOLL_DEFS
+	]
+)
+
+dnl check for libvte
+AC_ARG_WITH(vte, 
+	      [--with-vte  compile with libvte support (terminal output)], 
+	      [pkg_modules="vte >= 0.10.11"
+	      PKG_CHECK_MODULES(VTE, [$pkg_modules])
+	      AC_DEFINE(HAVE_VTE, 1, [build with VTE as output terminal])
+	      AC_DEFINE(HAVE_TERMINAL, 1, [build with a terminal widget]) 
+	      AC_SUBST(VTE_CFLAGS)
+	      AC_SUBST(VTE_LIBS)
+	      ]
+	      )
+
+AC_LANG([C++])
+AC_CHECK_HEADER(apt-pkg/cdrom.h, 
+                AC_DEFINE(HAVE_APTPKG_CDROM, 1, 
+		[whether apt-pkg/cdrom.h is present]) )
+
+
+AC_OUTPUT([
+tests/Makefile 
+common/Makefile 
+gtk/Makefile
+gtk/glade/Makefile
+data/Makefile
+man/Makefile
+pixmaps/Makefile 
+pixmaps/hicolor/Makefile 
+pixmaps/hicolor/16x16/Makefile 
+pixmaps/hicolor/24x24/Makefile 
+po/Makefile.in
+help/Makefile
+help/C/Makefile
+help/es/Makefile
+help/sv/Makefile
+doc/Makefile
+doc/html/Makefile
+doc/html/C/Makefile
+doc/html/es/Makefile
+doc/html/sv/Makefile
+Makefile
+],[sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
+
+

=== renamed file 'configure.in' => 'configure.in.moved'
=== added directory 'data'
=== renamed directory 'data' => 'data.moved'
=== added file 'data/Makefile.am'
--- data/Makefile.am	1970-01-01 00:00:00 +0000
+++ data/Makefile.am	2010-08-01 23:35:56 +0000
@@ -0,0 +1,14 @@
+@INTLTOOL_DESKTOP_RULE@
+
+desktopdir       = $(datadir)/applications
+desktop_in_files = synaptic.desktop.in
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+
+kdeappdir       = $(datadir)/applications
+kdeapp_in_files = synaptic-kde.desktop.in
+kdeapp_DATA     = $(kdeapp_in_files:.desktop.in=.desktop)
+
+EXTRA_DIST = $(desktop_in_files) \
+		$(desktop_DATA) \
+		$(kdeapp_in_files) \
+		$(kdeapp_DATA) 
\ No newline at end of file

=== added file 'data/Makefile.in'
--- data/Makefile.in	1970-01-01 00:00:00 +0000
+++ data/Makefile.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,442 @@
+# Makefile.in generated by automake 1.11.1 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
+# Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+VPATH = @srcdir@
+pkgdatadir = $(datadir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkglibexecdir = $(libexecdir)/@PACKAGE@
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = data
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+	$(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+	$(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_HEADER = $(top_builddir)/config.h
+CONFIG_CLEAN_FILES =
+CONFIG_CLEAN_VPATH_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__installdirs = "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(kdeappdir)"
+DATA = $(desktop_DATA) $(kdeapp_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+ACLOCAL = @ACLOCAL@
+ALL_LINGUAS = @ALL_LINGUAS@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+BUILD_gtk = @BUILD_gtk@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CCDEPMODE = @CCDEPMODE@
+CFLAGS = @CFLAGS@
+CPP = @CPP@
+CPPFLAGS = @CPPFLAGS@
+CXX = @CXX@
+CXXCPP = @CXXCPP@
+CXXDEPMODE = @CXXDEPMODE@
+CXXFLAGS = @CXXFLAGS@
+CYGPATH_W = @CYGPATH_W@
+DATADIRNAME = @DATADIRNAME@
+DEB_HDRS = @DEB_HDRS@
+DEB_LIBS = @DEB_LIBS@
+DEFS = @DEFS@
+DEPDIR = @DEPDIR@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+EGREP = @EGREP@
+EXEEXT = @EXEEXT@
+GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GREP = @GREP@
+INSTALL = @INSTALL@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+INSTOBJEXT = @INSTOBJEXT@
+INTLLIBS = @INTLLIBS@
+INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
+INTLTOOL_MERGE = @INTLTOOL_MERGE@
+INTLTOOL_PERL = @INTLTOOL_PERL@
+INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
+LDFLAGS = @LDFLAGS@
+LIBEPT_CFLAGS = @LIBEPT_CFLAGS@
+LIBEPT_LIBS = @LIBEPT_LIBS@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LP_CFLAGS = @LP_CFLAGS@
+LP_LIBS = @LP_LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAINT = @MAINT@
+MAKEINFO = @MAKEINFO@
+MKDIR_P = @MKDIR_P@
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+MSGFMT_OPTS = @MSGFMT_OPTS@
+MSGMERGE = @MSGMERGE@
+OBJEXT = @OBJEXT@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_CFLAGS = @PACKAGE_CFLAGS@
+PACKAGE_LIBS = @PACKAGE_LIBS@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_URL = @PACKAGE_URL@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+PKG_CONFIG = @PKG_CONFIG@
+PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
+PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
+POFILES = @POFILES@
+POSUB = @POSUB@
+PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
+PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
+RANLIB = @RANLIB@
+RPM_HDRS = @RPM_HDRS@
+RPM_LIBS = @RPM_LIBS@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+USE_NLS = @USE_NLS@
+VERSION = @VERSION@
+VTE_CFLAGS = @VTE_CFLAGS@
+VTE_LIBS = @VTE_LIBS@
+XGETTEXT = @XGETTEXT@
+abs_builddir = @abs_builddir@
+abs_srcdir = @abs_srcdir@
+abs_top_builddir = @abs_top_builddir@
+abs_top_srcdir = @abs_top_srcdir@
+ac_ct_CC = @ac_ct_CC@
+ac_ct_CXX = @ac_ct_CXX@
+am__include = @am__include@
+am__leading_dot = @am__leading_dot@
+am__quote = @am__quote@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+builddir = @builddir@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+srcdir = @srcdir@
+synapticlocaledir = @synapticlocaledir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+top_build_prefix = @top_build_prefix@
+top_builddir = @top_builddir@
+top_srcdir = @top_srcdir@
+desktopdir = $(datadir)/applications
+desktop_in_files = synaptic.desktop.in
+desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
+kdeappdir = $(datadir)/applications
+kdeapp_in_files = synaptic-kde.desktop.in
+kdeapp_DATA = $(kdeapp_in_files:.desktop.in=.desktop)
+EXTRA_DIST = $(desktop_in_files) \
+		$(desktop_DATA) \
+		$(kdeapp_in_files) \
+		$(kdeapp_DATA) 
+
+all: all-am
+
+.SUFFIXES:
+$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
+	@for dep in $?; do \
+	  case '$(am__configure_deps)' in \
+	    *$$dep*) \
+	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
+	        && { if test -f $@; then exit 0; else break; fi; }; \
+	      exit 1;; \
+	  esac; \
+	done; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu data/Makefile'; \
+	$(am__cd) $(top_srcdir) && \
+	  $(AUTOMAKE) --gnu data/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+	@case '$?' in \
+	  *config.status*) \
+	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+	  *) \
+	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+	esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
+	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(am__aclocal_m4_deps):
+install-desktopDATA: $(desktop_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"
+	@list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \
+	done
+
+uninstall-desktopDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(desktopdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(desktopdir)" && rm -f $$files
+install-kdeappDATA: $(kdeapp_DATA)
+	@$(NORMAL_INSTALL)
+	test -z "$(kdeappdir)" || $(MKDIR_P) "$(DESTDIR)$(kdeappdir)"
+	@list='$(kdeapp_DATA)'; test -n "$(kdeappdir)" || list=; \
+	for p in $$list; do \
+	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+	  echo "$$d$$p"; \
+	done | $(am__base_list) | \
+	while read files; do \
+	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(kdeappdir)'"; \
+	  $(INSTALL_DATA) $$files "$(DESTDIR)$(kdeappdir)" || exit $$?; \
+	done
+
+uninstall-kdeappDATA:
+	@$(NORMAL_UNINSTALL)
+	@list='$(kdeapp_DATA)'; test -n "$(kdeappdir)" || list=; \
+	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+	test -n "$$files" || exit 0; \
+	echo " ( cd '$(DESTDIR)$(kdeappdir)' && rm -f" $$files ")"; \
+	cd "$(DESTDIR)$(kdeappdir)" && rm -f $$files
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
+	list='$(DISTFILES)'; \
+	  dist_files=`for file in $$list; do echo $$file; done | \
+	  sed -e "s|^$$srcdirstrip/||;t" \
+	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
+	case $$dist_files in \
+	  */*) $(MKDIR_P) `echo "$$dist_files" | \
+			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
+			   sort -u` ;; \
+	esac; \
+	for file in $$dist_files; do \
+	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+	  if test -d $$d/$$file; then \
+	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
+	    if test -d "$(distdir)/$$file"; then \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
+	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
+	    fi; \
+	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
+	  else \
+	    test -f "$(distdir)/$$file" \
+	    || cp -p $$d/$$file "$(distdir)/$$file" \
+	    || exit 1; \
+	  fi; \
+	done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+	for dir in "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(kdeappdir)"; do \
+	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
+	done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+	  `test -z '$(STRIP)' || \
+	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+
+maintainer-clean-generic:
+	@echo "This command is intended for maintainers to use"
+	@echo "it deletes files that may require special tools to rebuild."
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+	-rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+html-am:
+
+info: info-am
+
+info-am:
+
+install-data-am: install-desktopDATA install-kdeappDATA
+
+install-dvi: install-dvi-am
+
+install-dvi-am:
+
+install-exec-am:
+
+install-html: install-html-am
+
+install-html-am:
+
+install-info: install-info-am
+
+install-info-am:
+
+install-man:
+
+install-pdf: install-pdf-am
+
+install-pdf-am:
+
+install-ps: install-ps-am
+
+install-ps-am:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+	-rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-desktopDATA uninstall-kdeappDATA
+
+.MAKE: install-am install-strip
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+	distclean-generic distdir dvi dvi-am html html-am info info-am \
+	install install-am install-data install-data-am \
+	install-desktopDATA install-dvi install-dvi-am install-exec \
+	install-exec-am install-html install-html-am install-info \
+	install-info-am install-kdeappDATA install-man install-pdf \
+	install-pdf-am install-ps install-ps-am install-strip \
+	installcheck installcheck-am installdirs maintainer-clean \
+	maintainer-clean-generic mostlyclean mostlyclean-generic pdf \
+	pdf-am ps ps-am uninstall uninstall-am uninstall-desktopDATA \
+	uninstall-kdeappDATA
+
+@INTLTOOL_DESKTOP_RULE@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:

=== added file 'data/synaptic-kde.desktop.in'
--- data/synaptic-kde.desktop.in	1970-01-01 00:00:00 +0000
+++ data/synaptic-kde.desktop.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,11 @@
+[Desktop Entry]
+_Name=Synaptic Package Manager
+_GenericName=Package Manager
+_Comment=Install, remove and upgrade software packages
+Exec=synaptic
+Icon=synaptic
+Terminal=false
+Type=Application
+Categories=PackageManager;System;
+X-KDE-SubstituteUID=true
+OnlyShowIn=KDE;

=== added file 'data/synaptic.desktop.in'
--- data/synaptic.desktop.in	1970-01-01 00:00:00 +0000
+++ data/synaptic.desktop.in	2010-08-01 23:35:56 +0000
@@ -0,0 +1,10 @@
+[Desktop Entry]
+_Name=Synaptic Package Manager
+_GenericName=Package Manager
+_Comment=Install, remove and upgrade software packages
+Exec=su-to-root -X -c /usr/sbin/synaptic
+Icon=synaptic
+Terminal=false
+Type=Application
+Categories=PackageManager;GTK;System;Settings;
+NotShowIn=KDE;

=== added directory 'debian'
=== renamed directory 'debian' => 'debian.moved'
=== added file 'debian/NEWS.Debian'
--- debian/NEWS.Debian	1970-01-01 00:00:00 +0000
+++ debian/NEWS.Debian	2010-08-01 23:35:56 +0000
@@ -0,0 +1,50 @@
+synaptic (0.50-1) unstable; urgency=low
+
+  Synaptic is no longer is build with "package hold" support. This used
+  to be implemented using apt pins but debian apt maintainer says that
+  this is not the right way (see #235841 for details). If you used to
+  "hold" packages with synaptic, please remove the pins by editing 
+  /etc/apt/preferences.
+
+  Debtags support is no longer available but it will be readded once it's
+  ported to the new code. 
+
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 20 May 2004 18:07:24 +0200
+
+synaptic (0.48-1) unstable; urgency=low
+
+  The format of the color configuration changed for version 0.48. This 
+  means that if you have customized the colors in synaptic, you will 
+  have to do it once again. Sorry for this inconvenience.
+
+ -- Michael Vogt <mvo@debian.org>  Sat,  3 Jan 2004 03:01:49 +0100
+
+synaptic (0.41-1) unstable; urgency=low
+
+  There is a additional package now called "synaptic-debtags" that can
+  be installed instead of synaptic. This package includes support for
+  the new "debtags" system that makes searching and displaying of the
+  packages much more flexible. The package is a bit more experimental
+  than plain synaptic and there is some work to be done, but IMHO it's
+  very promising. More information about synaptic-debtags can be found 
+  at /usr/share/doc/synaptic-debtags/README.debtags.
+
+  More information about debtags in general is available at:
+  http://deb-usability.alioth.debian.org/debtags/
+
+  Thanks to Enrico Zini for implementing debtag support in synaptic
+  and Erich Schubert for building the debtag database!
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 12 Jul 2003 11:32:47 +0200
+
+synaptic (0.40-1) unstable; urgency=low
+
+  The debconf filter has changed. It is no longer a button in the status
+  filter tab but a simple pattern filter ("<Inlcude> <depends on> 
+  "debconf"). Because of this filters that use the "Not (no longer) 
+  installable" status button will need to be rechecked by hand. Sorry 
+  for the inconvenience. 
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 12 Jul 2003 11:32:47 +0200
+

=== added file 'debian/README.Debian'
--- debian/README.Debian	1970-01-01 00:00:00 +0000
+++ debian/README.Debian	2010-08-01 23:35:56 +0000
@@ -0,0 +1,10 @@
+synaptic for Debian
+-------------------
+
+This is a graphical frontend for apt.
+
+If you want to use the "orphan" filter, you need deborphan. It's 
+"Recommended" in the control file, but not a dependency (as synaptic works
+perfectly well without it).
+
+ -- Michael Vogt <mvo@debian.org>, Thu Feb 17 15:10:01 2005

=== added file 'debian/changelog'
--- debian/changelog	1970-01-01 00:00:00 +0000
+++ debian/changelog	2010-08-01 23:35:56 +0000
@@ -0,0 +1,2407 @@
+synaptic (0.63.1ubuntu13) maverick; urgency=low
+
+  [ Michael Vogt ]
+  * rebuild against latest libapt, libept
+  * common/rpackagelister.{cc,h}:
+    - move quality cutoff into the .cc file to workaround ld crash
+  * gtk/rgpackagestatus.cc:
+    - remove no longer needed gdkx.h include (that causes compiler
+      failures with the latest libapt)
+
+  [ Bilal Akhtar ]
+  * debian/patches/11-lp-155930:
+    - Modify gtk/rgmainwindow.cc to populate package list again after 
+     'Unmark All' is selected. (LP: #155930)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 29 Jul 2010 14:13:46 +0200
+
+synaptic (0.63.1ubuntu12) maverick; urgency=low
+
+  * gtk/rgfetchprogress.cc:
+    - do less redrawing in the pulse() code
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 09 Jul 2010 13:09:42 +0200
+
+synaptic (0.63.1ubuntu11) maverick; urgency=low
+
+  [ Martin Pitt ]
+  * debian/control: Replace obsolete scrollkeeper package with rarian-compat,
+    and drop it from Depends to Recommends.
+  
+  [ Jean-Baptiste Lallement ]
+  * port to libept 1.0
+  
+  [ Michael Vogt ]
+  * limit amount of calls to set_fraction() to avoid too high cpu
+    usage on nouveau
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 09 Jul 2010 10:06:55 +0200
+
+synaptic (0.63.1ubuntu10) maverick; urgency=low
+
+  [ Michael Vogt ]
+  * po/uk.po:
+    - updated, thanks to Serhij Dubyk 
+  
+  [ Jean-Baptiste Lallement ]
+  * Fix sorting issues of the package list
+    - Fix sort by name and by section (LP: #518509)
+    - Improve sort by column performance
+  * sort 'installed files' list in alphabetical order (LP: #32550)
+  * Set version labels selectable in package properties (LP: #76568)
+  * disable 'Lock Version' and 'Automatically installed' menu entries for a
+    normal user (LP: #309906)
+  * common/rpackagelister.cc:
+    - in RPackageLister::xapianSearch() catch xapian exception to
+      prevent crash when xapian interprets search string as a syntax 
+      error
+    - fix sorting in xapian search mode (LP: #508220)
+  * gtk/gsynaptic.cc
+    - Start with focus set on fast search entry (LP: #326155)
+  * Select first subview on view change (LP: #403165)
+  * Fix Gtk-CRITICAL when the fast search entry is cleared (LP: #385739)
+  * Ignore DEL accelerator when fast search has focus (LP: #294178)
+  * Do not start help viewer as root but as SUDO_USER (LP: #110224)
+  * wrap lines in textarea of dialog_update_failed (LP: #237455)
+  * set textarea read-only in generic error dialog (LP: #403100)
+  * Change 'Icon Legend' dialog to fixed size (LP: #374376)
+  * add tooltip to 'properties' and 'search' buttons (LP: #202681)
+  * gtk/glade/window_main.glade:
+    - put the fastsearch entry out of the toolbar (LP: #502582)
+    - move the fastsearch entry to the upper-right (LP: #290524)
+  * gtk/rgfetchprogress.cc:
+    - change "Download rate: unknown" to "Download rate: ..." 
+      (LP: #393358)
+  * Sort by relevancy when doing quicksearch and no search column is set.
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 21 Jun 2010 13:12:54 +0200
+
+synaptic (0.63.1ubuntu7) lucid-proposed; urgency=low
+
+  [ Michael Vogt ]
+  * common/rpackageview.cc:
+    - silence debug output (thanks to Bob Huffman)
+  
+  [ Jean-Baptiste Lallement ]
+  * gtk/rgmainwindow.cc, gtk/rgutils.{cc,h}:
+    - un/escape markup when getting/setting subviews name to avoid markup
+      insertion in GtkTree items (LP: #567172) 
+  * gtk/rgmainwindow.cc:
+    - fix force version. regression over beta2 (LP: #568925)
+  * gtk/rgmainwindow.cc:
+    - fix double-click doesn't unmark a previously marked for install/upgrade
+      package. regression over beta2 (LP: #566779)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 04 May 2010 17:10:50 +0200
+
+synaptic (0.63.1ubuntu6) lucid; urgency=low
+
+  [ Jean-Baptiste Lallement ]  
+  * gtk/rgmainwindow.cc:
+    - fix 'broken package installation' regression over beta2 (LP: #565816)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 19 Apr 2010 11:24:00 +0200
+  
+synaptic (0.63.1ubuntu5) lucid; urgency=low
+
+  [ Jean-Baptiste Lallement ]
+  * gtk/rgmainwindow.cc: 
+    - Fix 'Mark for upgrade' regression over beta2 (LP: #564320)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 16 Apr 2010 12:04:36 +0200
+
+synaptic (0.63.1ubuntu4) lucid; urgency=low
+
+  [ Michael Vogt ]
+  * po/it.po:
+    - updated, thanks to Milo Casagrande  (closes: #575685)
+  
+  [ Jean-Baptiste Lallement ]
+  * common/rpackage.{cc,h}:
+    - Use simplified URI for third party changelogs (LP: #45129)
+  * debian/patches/01_ubuntu_changelog.dpatch:
+    - update patch to support third party changelogs
+  * common/rpackage.{cc,h}:
+    - Support third party changelogs by using ArchiveURI() (LP: #153966)
+    - Display LP links when changelog is not available for download 
+      (LP: #452564)
+  * gtk/rgmainwindow.cc: 
+    - check package flags when applying an action to a package list
+      (LP: #513460)
+  * common/rpackagelister.cc
+    - workaround to allow searching for terms with an hyphen (LP: #282995)
+  * common/rpackagelister.cc:
+    - xapianSearch: do not expand the first term when replacing the hyphen
+    to reduce size of the resultse
+  
+  [ Oliver Joos ]
+  * common/rconfiguration.cc:
+    - Fix to store setting "Consider recommended packages as dependencies"
+      (closes debian #440027 and LP: #154349)
+  
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 15 Apr 2010 01:59:51 +0200
+  
+synaptic (0.63.1ubuntu3) lucid; urgency=low
+
+  [ Jean-Baptiste Lallement ]
+  * * gtk/rgpreferenceswindow.cc: escape '@/:%' in proxy auth string (LP: 130289)
+  * Sort by relevancy when doing quicksearch and no search column is set.
+  * debian/patches/10_ubuntu_maintenance_gui.dpatch:
+  - Fix mixed-language maintenance status when LC_TIME differs from LC_MESSAGES
+    (LP: 511890)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 31 Mar 2010 22:59:36 +0200
+
+synaptic (0.63.1ubuntu2) lucid; urgency=low
+
+  [ Michael Vogt ]
+  * po/uk.po:
+    - updated, thanks to Serhij Dubyk 
+  * build from the lp:~ubuntu-core-dev/synaptic/lucid branch
+  
+  [ Jean-Baptiste Lallement ]
+  * Fix sorting issues of the package list
+    - Fix sort by name and by section (LP: #518509)
+    - Improve sort by column performance
+  * sort 'installed files' list in alphabetical order (LP: #32550)
+  * Set version labels selectable in package properties (LP: #76568)
+  * disable 'Lock Version' and 'Automatically installed' menu entries for a
+    normal user (LP: #309906)
+  * common/rpackagelister.cc:
+    - in RPackageLister::xapianSearch() catch xapian exception to
+      prevent crash when xapian interprets search string as a syntax 
+      error
+    - fix sorting in xapian search mode (LP: #508220)
+  * gtk/gsynaptic.cc
+    - Start with focus set on fast search entry (LP: #326155)
+  * Select first subview on view change (LP: #403165)
+  * Fix Gtk-CRITICAL when the fast search entry is cleared (LP: #385739)
+  * Ignore DEL accelerator when fast search has focus (LP: #294178)
+  * Do not start help viewer as root but as SUDO_USER (LP: #110224)
+  * wrap lines in textarea of dialog_update_failed (LP: #237455)
+  * set textarea read-only in generic error dialog (LP: #403100)
+  * Change 'Icon Legend' dialog to fixed size (LP: #374376)
+ 
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 16 Feb 2010 11:13:45 +0100
+
+synaptic (0.63.1ubuntu1) lucid; urgency=low
+
+  [ Michael Vogt ]
+  * po/uk.po:
+    - updated, thanks to Serhij Dubyk 
+  
+  [ Jean-Baptiste Lallement ]
+  * Fix sorting issues of the package list
+    - Fix sort by name and by section (LP: #518509)
+    - Improve sort by column performance
+  * sort 'installed files' list in alphabetical order (LP: #32550)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 17 Feb 2010 23:27:47 +0100
+
+synaptic (0.63.1) unstable; urgency=low
+
+  * po/pt_BR.po:
+    - Updated pt_BR.po, thanks to Sergio Cipolla (closes: #561853)
+  * po/sk.po:
+    - Updated sk.po, thanks to helix84 (closes: #559283)
+  * po/uk.po
+    - add ukrainian translation, thanks to Serhij Dubyk 
+  * common/rpackageview.{cc,h}:
+    - remember search history accross package transactions
+  * make the origin filter more fine grained
+  * gtk/rgsummarywindow.cc:
+    - move the gtk_tree_view_set_model() down to speed up the
+      operation
+  * gtk/rgdebinstallprogress.cc:
+    - on error, set error string into status label
+    - when the recovery is run (dpkg --configure -a) display a 
+      proper status label for that
+  * gtk/rgaboutpanel.cc:
+    - fix FTBFS with gcc-4.5 (closes: #565077)
+  * additions to the (internal) API
+  * gtk/rgdebinstallprogress.cc:
+    - make the dpkg progress code less cpu intensive
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 11 Feb 2010 19:58:40 +0100
+
+synaptic (0.63ubuntu4) lucid; urgency=low
+
+  * gtk/rgdebinstallprogress.cc:
+    - make the dpkg progress code less cpu intensive
+  * po/uk.po
+    - add ukrainian translation, thanks to Serhij Dubyk 
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 11 Feb 2010 15:23:38 +0100
+
+synaptic (0.63ubuntu3) lucid; urgency=low
+
+  * gtk/rgsummarywindow.cc:
+    - move the gtk_tree_view_set_model() down to speed up the
+      operation
+  * gtk/rgdebinstallprogress.cc:
+    - on error, set error string into status label
+    - when the recovery is run (dpkg --configure -a) display a 
+      proper status label for that
+  * gtk/rgaboutpanel.cc:
+    - fix FTBFS with gcc-4.5 (closes: #565077)
+  * additions to the (internal) API
+  * debian/patches/10_ubuntu_maintenance_gui.dpatch:
+    - updated to support LTS and new "Supported" flags 
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 25 Jan 2010 09:58:35 +0100
+
+synaptic (0.63ubuntu2) lucid; urgency=low
+
+  * po/pt_BR.po:
+    - Updated pt_BR.po, thanks to Sergio Cipolla (closes: #561853)
+  * po/sk.po:
+    - Updated sk.po, thanks to helix84 (closes: #559283)
+  * common/rpackageview.{cc,h}:
+    - remember search history accross package transactions
+  * make the origin filter more fine grained
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 23 Dec 2009 15:30:54 +0100
+
+synaptic (0.63ubuntu1) lucid; urgency=low
+
+  * merged from debian, remaining changes:
+    - ubuntu icons for supported applications
+    - launchpad-integration
+    - ubuntu changelog download support
+    - support section metapackages
+    - merged ept branch
+    - x-ubuntu-gettext-domain in desktop file
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 11 Nov 2009 14:10:05 +0100
+
+synaptic (0.63) unstable; urgency=low
+
+  * common/rpackage.h:
+    - fix segfault with latest apt
+  * common/sections_trans.cc:
+    - fix typo in gnu-r section description
+  * po/fr.po:
+    - updated, thanks to Stéphane Blondon, closes: #543981
+  * po/sl.po:
+    - updated, thanks to Matej Urbančič
+  * take the "Origin" field from the release file into account
+    when looking for supported packages
+  * gtk/rgfetchprogress.{cc,h}:
+    - remove the custom progress rendering and replace with
+      stock gtk progress
+  * gtk/glade/dialog_conffile.glade:
+    - make the conffile dialog resizable (LP: #228928)
+  * gtk/rgdebinstallprogress.cc:
+    - use fixed size font on conffile changes
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 21 Oct 2009 11:19:56 +0200
+
+synaptic (0.62.8) unstable; urgency=low
+
+  * debian/control:
+    - add build-conflict against librpm-dev
+    - recommends gksu|kdebase-bin (kdsu is fine too) 
+      closes: #442421
+  * add filter for manual installed packages (LP: #122047)
+  * fix typo (thanks to Florentin Duneau), closes: #542122
+  * po/pt_BR.po:
+    - updated translation, thanks to Sergio Cipolla 
+      (closes: #532473)
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 27 Aug 2009 10:00:10 +0200
+
+synaptic (0.62.7ubuntu7~ppa1) karmic; urgency=low
+
+  * gtk/rgfetchprogress.{cc,h}:
+    - remove the custom progress rendering and replace with
+      stock gtk progress
+  * gtk/rgmainwindow.cc:
+    - use yellowish background in quick search mode
+    - reset quick search when the find dialog is popped up
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 21 Oct 2009 11:03:54 +0200
+
+synaptic (0.62.7ubuntu6) karmic; urgency=low
+
+  * gtk/glade/window_fetch.glade:
+    - add default_width to avoid fetch window resizing 
+      (LP: #450451)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 15 Oct 2009 10:13:17 +0200
+
+synaptic (0.62.7ubuntu5) karmic; urgency=low
+
+  * rebuild against latest libapt
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 25 Sep 2009 22:35:18 +0200
+
+synaptic (0.62.7ubuntu4) karmic; urgency=low
+
+  * common/sections_trans.cc:
+    - fix typo in gnu-r section description
+  * po/fr.po:
+    - updated, thanks to Stéphane Blondon, closes: #543981
+  * po/sl.po:
+    - updated, thanks to Matej Urbančič
+  * take the "Origin" field from the release file into account
+    when looking for supported packages
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 22 Sep 2009 17:49:45 +0200
+
+synaptic (0.62.7ubuntu3) karmic; urgency=low
+
+  * common/rpackagelister.cc:
+    - add prefixes for "name" and "section" in the quick search
+      This allows "name:apt" or "section:devel" searches
+  * debian/control:
+    - recommends gksu|kdebase-bin (kdsu is fine too) 
+      closes: #442421
+  * add filter for manual installed packages (LP: #122047)
+  * fix typo (thanks to Florentin Duneau), closes: #542122
+  * po/pt_BR.po:
+    - updated translation, thanks to Sergio Cipolla
+      (closes: #532473)
+  * common/rpackage.{cc,h}:
+    - fix potential segfault
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 04 Sep 2009 11:52:17 +0200
+
+synaptic (0.62.7ubuntu2) karmic; urgency=low
+
+  * common/rpackagelister.cc:
+    - fixes in the xapian search (thanks to seb128)
+    - more debug output with Debug::Synaptic::Xapian=true
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 15 Jul 2009 16:14:50 +0200
+
+synaptic (0.62.7ubuntu1) karmic; urgency=low
+
+  * merged from debian
+  * debian/control:
+    - add build-conflict against librpm-dev
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 10 Jul 2009 14:35:17 +0200
+
+synaptic (0.62.7) unstable; urgency=low
+
+  * show progress when searching and not not block the UI
+    (LP: #24188)
+  * gtk/glade/dialog_authentication.glade:
+    - add two missing "translatable" entries, thanks to 
+      Daniele Forsi)
+  * po/sk.po:
+    - updated translation, thanks to helix84, closes: #532790 
+  * po/it.po:
+    - updated translation, thanks to Milo Casagrande, closes: #534351
+  * po/es.po:
+    - updated translation, thanks to Francisco Javier Cuadrado, 
+      closes: #533322
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 25 Jun 2009 16:17:56 +0200
+
+synaptic (0.62.6ubuntu3) karmic; urgency=low
+
+  * common/rpackagelister.cc:
+    - remove all fuzzy matching in xapianIndexNeedsUpdate()
+  * gtk/rgmainwindow.cc:
+    - run update-apt-xapian-index --udpate under ionice, rebuild
+      the index every time the timestamps do not match
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 10 Jul 2009 13:00:47 +0200
+
+synaptic (0.62.6ubuntu2) karmic; urgency=low
+
+  * show progress when searching and not not block the UI
+    (LP: #24188)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 15 Jun 2009 17:17:28 +0200
+
+synaptic (0.62.6ubuntu1) karmic; urgency=low
+
+  * merge from Debian/unstable, remaining changes:
+    - ubuntu icons for supported applications
+    - launchpad-integration
+    - ubuntu changelog download support
+    - support section metapackages
+    - merged ept branch
+    - x-ubuntu-gettext-domain in desktop file
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 08 Jun 2009 10:47:19 +0200
+
+synaptic (0.62.6) unstable; urgency=low
+
+  * po/th.po:
+    - updated Thai translation,
+      thanks to Theppiak Karoonboonyanan, closes: #512605, #441571
+  * po/br.po:
+    - updated breton translation, 
+      thanks to Denis ARNAUD
+  * po/sk.po:
+    - updated Slovak translation,
+      thanks to Ivan Masár, closes: #531063
+  * po/es.po:
+    - updated Spanish translation,
+      thanks to Francisco Javier Cuadrado, closes: #500400
+  * po/tr.po:
+    - updated Turkish translation,
+      thanks to Mert Dirik, closes: #488995
+  * po/eu.po:
+    - updated Basque translation,
+      thanks to Piarres Beobide, closes: #476438
+  * po/ja.po:
+    - updated Japanese translation,
+      thanks to Kenshi Muto, closes: #455209
+  * po/ko.po:
+    - updated Korean translation,
+      thanks to Changwoo Ryu, closes: #416194
+  * po/fr.po:
+    - updated French translation,
+      thanks to Jean-Luc Coulon, closes: #406882
+  * po/sv.po:
+    - updated Swedish translation,
+      thanks to Daniel Nylander, closes: #384107
+  * gtk/rgdebinstallprogress.cc:
+    - if forkpty() show a propper error message
+      (thanks to Evan) 
+  * gtk/rgfetchprogress.cc:
+    - if the ETA is huge report it as unknown (LP: #322871)
+  * debian/control:
+    - add depends to hicolor-icon-theme
+  * common/sections_trans.cc:
+    - updated for the new section (like httpd, vcs, ...)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 05 Jun 2009 16:22:48 +0200
+
+synaptic (0.62.5ubuntu3) jaunty-proposed; urgency=low
+
+  * improve the logic when the xapian index needs
+    rebuilding by checking the xapian document count
+    against the available packages (LP: #365151)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 17 Apr 2009 16:14:30 +0200
+
+synaptic (0.62.5ubuntu2) jaunty; urgency=low
+
+  * No-change upload to strip translations from .desktop files. (LP: #348225)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Mon, 30 Mar 2009 12:57:47 +0200
+
+synaptic (0.62.5ubuntu1) jaunty; urgency=low
+
+  * po/th.po:
+    - updated Thai translation (closes: #512605)
+  * gtk/rgdebinstallprogress.cc:
+    - if forkpty() show a propper error message
+      (thanks to Evan) 
+  * gtk/rgfetchprogress.cc:
+    - if the ETA is huge report it as unknown (LP: #322871)
+  * debian/control:
+    - add depends to hicolor-icon-theme
+    - rebuild against latest libapt/libept
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 09 Feb 2009 16:03:03 +0100
+
+synaptic (0.62.5) unstable; urgency=low
+
+  * gtk/rgsummarywindow.cc:
+    - fix "Show details" button label (LP: #4055)
+  * gtk/glade/window_summary.glade:
+    - fix layout issues (LP: #314905), thanks to
+      Gabor Kelemen
+  * po/sk.po:
+    - updated Slovak translation, closes: #500957
+  * po/br.po:
+    - add Breton language
+  * data/synaptic.desktop.in:
+    - desktop file cleanups (thanks to Chris Coulson)
+      LP: #298172
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 20 Jan 2009 09:45:41 +0100
+
+synaptic (0.62.4) unstable; urgency=low
+
+  * help/C/synaptic.xml:
+    -  "preferences" -> "settings", closes: #406430
+  * po/sk.po:
+    - added Slovak translation, closes: #500957)
+  * po/zh_CN.po:
+    - updated translation, thanks to Deng Xiyue
+      closes: #458423
+  * po/fr.po: 
+    - fixed typo, thanks to Philippe Cloutier
+      closes: #440971
+    - fixed typo, thanks to Christophe Combelles
+      closes: #357302
+    - fixed typos, thanks to Filipus Klutiero
+      closes: #342643, #339134
+   * po/ca.po:
+     - fix catalan translation, closes: #383450
+   * typo fix, thanks to Philip Miller, closes: #358694
+   * typo and de.po fixes (thanks to Jens Seidel),
+     closes: #313831
+  * common/rinstallprogress.cc:
+    - fix typo and incorrect message (LP: #139760)
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 07 Jan 2009 20:17:12 +0100
+
+synaptic (0.62.3) unstable; urgency=low
+
+  * gtk/rgpkgdetails.{cc,h}:
+    - download/show big image when clicking on the
+      thumbnail 
+  * debian/rules, .bzr-builddeb/default.conf
+    - bybye arch-build, hello "bzr-buildpackage"
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 18 Nov 2008 20:35:18 +0100
+
+synaptic (0.62.2ubuntu2) jaunty; urgency=low
+
+  * gtk/rgpkgdetails.{cc,h}:
+    - download/show big image when clicking on the
+      thumbnail 
+  * debian/rules, .bzr-builddeb/default.conf
+    - bybye arch-build, hello "bzr-buildpackage"
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 18 Nov 2008 19:21:16 +0100
+
+synaptic (0.62.2ubuntu1) jaunty; urgency=low
+
+  * Merge from debian, remaining changes:
+    - ubuntu icons for supported applications
+    - launchpad-integration
+    - support section metapackages
+    - x-ubuntu-gettext-domain in desktop file
+    - support end time calculation
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 14 Nov 2008 12:42:42 +0100
+
+synaptic (0.62.2) unstable; urgency=low
+
+  * po/es.po:
+    - updated spanish translation (thanks to 
+      Francisco Javier Cuadrado)
+  * po/cz.po: 
+    - updated Czech translation (thanks to Kamil Páral)
+  * gtk/glade/dialog_upgrade.glade:
+    - provide a mnemonics in the upgrade dialog,
+      closes: #491179 (thanks to Matt Kraai)
+  * gtk/glade/window_fetch.glade:
+    - dialog fix (thanks to Oded Arbel) (LP: #228127)
+  * gtk/rgdebinstallprogress.cc:
+    - intercept ctrl-c in the terminal window and ask
+      if that is really the desired action
+    - make sure that SIGCHLD is not blocked to work around
+      kdesudo (LP: #156041)
+  * gtk/rgmainwindow.cc:
+    - fix "Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper"
+      assertion failure error (LP: #38397, closes: #341645)
+  * common/rpackageview.cc:
+    - add new "Missing Recommends" default filter
+  * common/rpackage.cc:
+    - fix code to get candidate origin
+    - support getting the candidate release file name
+  * common/rpackagestatus.cc:
+    - support maintenanceEndTime() (if the distro supports that)
+  * gtk/rgpkgdetails.{cc,h}, common/rpackage.{cc,h}:
+    - add "Get Screenshot" button that talks to screenshots.debian.net
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 14 Nov 2008 11:44:43 +0100
+
+synaptic (0.62.1ubuntu10) intrepid; urgency=low
+
+  * common/rpackagelister.cc:
+    - add special handling for "-" char in the xapian
+      search (thanks to kiko)
+    - fix hang in quick search for huge result lists 
+     (like "li") LP: #282188
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 21 Oct 2008 15:19:02 +0200
+
+synaptic (0.62.1ubuntu9) intrepid; urgency=low
+
+  * gtk/rgmainwindow.cc:
+    - only xapian search when more than one char is used
+      in the search querry (LP: #260739)
+  * common/rpackagelister.{cc,h}:
+    - expand partial strings in search as you type so that
+      "ged" finds "gedit" (LP: #261423)
+  * 10_ubuntu_maintenance_gui.dpatch:
+    - make sure to look only for immutable release files
+      when calculating the support time
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 22 Sep 2008 15:57:58 +0200
+
+synaptic (0.62.1ubuntu8) intrepid; urgency=low
+
+  * common/rpackageview.cc:
+    - add new "Missing Recommends" default filter
+  * common/rpackage.cc:
+    - fix code to get candidate origin
+    - support getting the candidate release file name
+  * common/rpackagestatus.cc:
+    - support maintenanceEndTime() (if the distro supports that)
+  * 10_ubuntu_maintenance_gui.dpatch:
+    - add support for displaying when the maintaince ends
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 22 Aug 2008 12:40:10 +0200
+
+synaptic (0.62.1ubuntu7) intrepid; urgency=low
+
+  * debian/control:
+    - add apt-xapian-index to the recommends again, we have some
+      space on the CDs again (thanks to Steve Langasek)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 19 Jun 2008 14:45:42 +0200
+
+synaptic (0.62.1ubuntu6) intrepid; urgency=low
+
+  * gtk/rgdebinstallprogress.cc:
+    - make sure that SIGCHLD is not blocked to work around
+      kdesudo (LP: #156041)
+  * common/rpackageview.cc:
+    - add new "Missing Recommends" default filter
+    - fix incorrect display of the "Community Maintained" filter
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 14 Aug 2008 12:01:56 +0200
+
+synaptic (0.62.1ubuntu5) intrepid; urgency=low
+
+  * debian/control: 
+    - make deborphan and apt-xapian-index suggests instead of recommends
+      to save space on the CD - this means we loose the quick search
+      feature in the default install
+  * po/es.po:
+    - updated spanish translation (thanks to 
+      Francisco Javier Cuadrado)
+  * gtk/glade/dialog_upgrade.glade:
+    - provide a mnemonics in the upgrade dialog,
+      closes: #491179 (thanks to Matt Kraai)
+  * gtk/glade/window_fetch.glade:
+    - dialog fix (thanks to Oded Arbel) (LP: #228127)
+  * gtk/rgdebinstallprogress.cc:
+    - intercept ctrl-c in the terminal window and ask
+      if that is really the desired action
+  * gtk/rgmainwindow.cc:
+    - fix "Gtk-CRITICAL **: gtk_tree_view_unref_tree_helper"
+      assertion failure error (LP: #38397, closes: #341645)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 01 Aug 2008 13:50:48 +0200
+
+synaptic (0.62.1ubuntu4) intrepid; urgency=low
+
+  * improve the search as you type to weight packagename in the
+    search heigher
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 16 Jul 2008 16:00:26 +0100
+
+synaptic (0.62.1ubuntu3) intrepid; urgency=low
+
+  * do not run the index update when called in backend 
+    (non-interactive) mode
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 03 Jul 2008 21:58:28 +0200
+
+synaptic (0.62.1ubuntu2) intrepid; urgency=low
+
+  * added support for quick search using xapian (thanks to
+    Enrico Zini for his help)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 17 Jun 2008 14:37:19 +0200
+
+synaptic (0.62.1ubuntu1) intrepid; urgency=low
+
+  * merge from debian, remaining changes:
+    - ubuntu icons for supported applications
+    - launchpad-integration
+    - build against latest apt in ubuntu
+    - support section metapackages
+    - x-ubuntu-gettext-domain in desktop file
+
+  * po/es.po:
+    - updated Spanish translation (thanks to
+       Francisco Javier Cuadrado)
+  * debian/control:
+    - added "menu" to the recommends (closes: #478250)
+  * gtk/glade/window_main.glade:
+    - make the main vpane shinkable
+  * gtk/rgmainwindow.cc:
+    - do not loose the keyboard focus after a package 
+      action in the listview
+  * debian/control:
+    - switch bzr branch to bzr.debian.org
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 12 Jun 2008 15:57:44 +0200
+
+synaptic (0.62.1) unstable; urgency=low
+
+  * po/es.po:
+    - updated Spanish translation (thanks to
+       Francisco Javier Cuadrado)
+  * debian/control:
+    - added "menu" to the recommends (closes: #478250)
+  * gtk/glade/window_main.glade:
+    - make the main vpane shinkable
+  * gtk/rgmainwindow.cc:
+    - do not loose the keyboard focus after a package 
+      action in the listview
+  * debian/control:
+    - switch bzr branch to bzr.debian.org
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 18 Jun 2008 10:17:31 +0200
+
+synaptic (0.62) unstable; urgency=low
+
+  [ Michael Vogt]
+  * debian/rules, debian/control:
+    - use dh_icons and add appropriate b-d on debhelper
+  * g++ 4.3 fixes (closes: #456044)
+  * desktop-file-validate does not complain anymore
+    (LP: #33598)
+  * gtk/rgmainwindow.cc:
+    - wording fixes (thanks to Matthew Paul Thomas)
+  * po/he.po:
+    - translation update (thanks to Lior Kaplan, closes: #461139)
+  * po/pl.po:
+    - translation update (thanks to Tomasz Argasiński)
+  * po/cs.po:
+    - translation update (thanks to Kamil Páral)
+  * gtk/gsynaptic.cc:
+    - fix typo (thanks to  Sarah Hobbs)
+  * gtk/rgsummarywindow.cc:
+    - code cleanup and fix potential endless loop (thanks to
+      Sebastien Bacher)
+
+  [ Brian Murray ]
+  * typo fixes (LP: #64482, LP: #157850, LP: #179914, LP: #179912, LP: #179909)
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 26 Apr 2008 10:50:53 +0200
+
+synaptic (0.61+nmu1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Fix FTBFS with gcc-4.3. Thanks to Cyril Brulebois for the patch. (Closes:
+    #456044)
+  * Lintian cleanups:
+    - Correct the format of the NEWS file.
+    - Use su-to-root instead of gksu for the desktop file.
+    - Remove the empty /usr/bin directory from synaptic.dirs.
+    - Do not ignore errors from make clean.
+    - Use Vcs-Bzr instead of XS-Vcs-Bzr.
+
+ -- James Vega <jamessan@debian.org>  Sat, 05 Apr 2008 18:58:52 -0400
+
+synaptic (0.61ubuntu9) hardy; urgency=low
+
+  * po/cs.po:
+    - translation update (thanks to Kamil Páral)
+  * rebuild for liblaunchpad-integration change
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 10 Apr 2008 16:25:00 +0200
+
+synaptic (0.61ubuntu8) hardy; urgency=low
+
+  * pixmaps/hicolor/16x16/package-purge.png:
+    - make the icon different from the "remove" icon
+  * gtk/rgsummarywindow.cc:
+    - code cleanup and fix potential endless loop (thanks to
+      Sebastien Bacher)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 01 Apr 2008 14:39:18 +0200
+
+synaptic (0.61ubuntu7) hardy; urgency=low
+
+  * do not auto-close on package install errors when run with
+    closeZvt=true (LP: #183209)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 03 Mar 2008 15:05:55 +0100
+
+synaptic (0.61ubuntu6) hardy; urgency=low
+
+  * recommend software-properties-gtk
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 21 Feb 2008 11:33:11 +0100
+
+synaptic (0.61ubuntu5) hardy; urgency=low
+
+  [ Brian Murray ]
+  * typo fixes (LP: #64482, LP: #157850, LP: #179914, LP: #179912, LP: #179909)
+
+  [ Michael Vogt ]
+  * add new RFilePackageFilter 
+  * added default custom filter that shows installed community software
+  
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 12 Feb 2008 22:54:39 +0100
+
+synaptic (0.61ubuntu4) hardy; urgency=low
+
+  * fix incorect transient settings when run with --no-main-window
+    (thanks to Robert Colins for reporting)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 31 Jan 2008 10:51:31 +0100
+
+synaptic (0.61ubuntu3) hardy; urgency=low
+
+  * use new ListUpdate() code from apt
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 07 Jan 2008 21:20:49 +0100
+
+synaptic (0.61ubuntu2) hardy; urgency=low
+
+  [ Michael Vogt]
+  * debian/rules, debian/control:
+    - use dh_icons and add appropriate b-d on debhelper
+  * g++ 4.3 fixes (closes: #456044)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 13 Dec 2007 20:48:57 +0100
+
+synaptic (0.61ubuntu1) hardy; urgency=low
+
+  * merged from debian/unstable, remaining changes:
+    - ubuntu icons for supported applications
+    - maintained filed changed
+    - launchpad-integration
+    - build against latest apt in ubuntu
+    - support section metapackages
+    - x-ubuntu-gettext-domain in desktop file
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 13 Dec 2007 15:49:12 +0100
+
+synaptic (0.61) unstable; urgency=low
+
+  [ Michael Vogt ]
+  * fix missing Basque translation (closes: #429460)
+  * updatd Basque translation (thanks to mikel paskual)
+  * update galician translation (thanks to Ignacio Casal)
+  * updated Czech translation (thanks to Vit Pelcak)
+  * updated Finish translation (thanks to Timo Jyrinki)
+  * po/POTFILES.in, po/POTFILES.skip:
+    - updated so that intltool-update -m is happy again (thanks
+      to Nacho)
+  * po/be@latin.po:
+    - merged translation from Ihar H
+  * po/cs.po:
+    - bugfixes by Vít Pelčák
+  * gtk/rgmainwindow.cc:
+    - add missing space in the wget script (thanks to Avi Rozen)
+      (closes: #435682)
+  * make it build with g++ 4.3
+  * debian/synaptic.menu:
+    - fix menu section (thanks to Bill Allomber, closes: #445025)
+  * gtk/rgmainwindow.cc:
+    - fix crash in cbInstallFromVersion()
+  * gtk/rgfetchprogress.{cc,h}:
+    - fix crash in download progress on theme changes
+  * added XS-Vcs-Bzr header
+
+  [ Diego Escalante Urrelo ]
+  * The menu entry for Synaptic is back in System->Administration. It also  
+    removes the legacy Applications category.
+    closes: #429895
+
+  [ Loic Minier ]
+  * Set has_focus on the close button of the welcome dialog; closes: #148695.
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 06 Dec 2007 16:00:51 +0100
+
+synaptic (0.60ubuntu5.1) gutsy-proposed; urgency=low
+
+  * gtk/rgfetchprogress.{cc,h}:
+    - fix crash in download progress on theme changes (LP: #67995)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 17 Oct 2007 11:14:03 +0200
+
+synaptic (0.60ubuntu5) gutsy; urgency=low
+  
+  [ Loic Minier ]
+  * Set has_focus on the close button of the welcome dialog; LP: #148695.
+  
+  [ Michael Vogt ]
+  * gtk/rgmainwindow.cc:
+    - fix crash in cbInstallFromVersion() (LP: #145685)
+
+ -- Loic Minier <lool@dooz.org>  Wed, 03 Oct 2007 22:33:28 +0200
+
+synaptic (0.60ubuntu3) gutsy; urgency=low
+
+  * build against latest apt
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 03 Aug 2007 21:15:40 +0200
+
+synaptic (0.60ubuntu2) gutsy; urgency=low
+
+  * debian/control:
+    - added XS-Vcs-Bzr field
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 30 Jul 2007 15:04:48 +0200
+
+synaptic (0.60ubuntu1) gutsy; urgency=low
+
+  * merged from debian/unstable, remaining changes:
+    - 01_ubuntu_changelog: 
+      + default to changelogs.ubuntu.com
+    - 03_hide_browse_documentation:
+      + don't show the dwww documentation button
+    - 04_ubuntu_lpi:
+      + launchpad integration added
+    - 06_ubuntu_su_to_root:
+      + use gksu instead of su-to-root
+    - ubuntu branding icon
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 18 Jun 2007 15:08:09 +0200
+
+synaptic (0.60) unstable; urgency=low
+
+  * moved most icons use the icontheme
+  * support repmod on rpm systems
+  * when switching views, don't autoselect "AlL"
+  * gtk/gsyncaptic.cc:
+    - fix in the checking for already runing synaptic (lp: 62754)
+  * gtk/rgfilterwindow.cc:
+    - fix i18n problem in the filter settings 
+      (thanks to Alexander Bart)
+  * help/sv:
+    - added swedish manual (thanks to Daniel Nylander)
+      closes: #384388
+  * added support for GUI configuraton of http proxy
+  * translation updates:
+    - cs.po: thanks to Vít Pelcak
+  * debian/rules: 
+    - fix automatic version number generation
+  * make description buffer dynamic (thanks to Benjamin Jacobs)
+  * added component filter
+  * added emblem in the description to show support status
+  * move the desktop file out of settings because it does no longer
+    fit there with the new control center in gnome 2.17
+  * build with gcc 4.3 (closes: #413419)
+  * do not return a NULL pointer in name() 
+  * when generating the wget script, use wget -c
+  * po/cs.po:
+    - updated (thanks to Vit Pelcak)
+  * gtk/rguserdialog.cc, gtk/rggladewindow.cc:
+    - do not crash for invalid parent-window-ids
+  * gtk/rgpreferenceswindow.cc:
+    - overwrite the http_proxy environ when the user set the proxy
+      explicitely (thanks to Berend De Schouwer)
+  * common/rpackagelister.cc:
+    - added "Volatile::SetSelectionDoReInstall" to support 
+      reinstalling from --set-selections too
+  * common/rpackage.cc:
+    - only show a package as supported if it is authenticated
+  * po/eu.po:
+    - updated (thanks to dooteo, closes: #368951)
+  * merged gcc 4.3 compiler fix, closes: #413419
+    (thanks to Martin Michlmayr)
+  * merged support for translated package description
+  * merged support for automatic removal of unused dependencies
+  * merged support for native apts install-recommends feature
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  6 Mar 2007 17:22:30 +0100
+
+synaptic (0.57.11.1ubuntu15) gutsy; urgency=low
+
+  * gtk/rgpreferenceswindow.cc:
+    - overwrite the http_proxy environ when the user set the proxy
+      explicitely (thanks to Berend De Schouwer, LP#105515)
+  * common/rpackagelister.cc:
+    - added "Volatile::SetSelectionDoReInstall" to support 
+      reinstalling from --set-selections too
+  * common/rpackage.cc:
+    - only show a package as supported if it is authenticated
+  * po/eu.po:
+    - updated (thanks to dooteo, closes: #368951)
+  * gtk/rguserdialog.cc, gtk/rggladewindow.cc:
+    - do not crash for invalid parent-window-ids
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 11 Apr 2007 11:16:31 +0200
+
+synaptic (0.57.11.1ubuntu14) feisty; urgency=low
+
+  * gtk/rgchangeswindow.cc:
+    - fix crash in confirm changes (LP#80922) 
+      Thanks to John Millikin for the instructions how to reproduce the
+      bug
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed,  4 Apr 2007 13:01:23 +0200
+
+synaptic (0.57.11.1ubuntu13) feisty; urgency=low
+
+  * when generating the wget script, use wget -c (LP#76462)
+  * po/cs.po:
+    - updated (thanks to Vit Pelcak)
+  * gtk/rgpkgdetails.cc:
+    - fix chinese descriptions display, thanks to Liu Qishuai 
+      (LP#102228)
+  * fix drop down boxes in preferences (LP#100072)
+  * fix terminal window (LP#99877)
+  * show error and exit if opening the cache fails (LP#90016)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  3 Apr 2007 22:23:48 +0200
+
+synaptic (0.57.11.1ubuntu12) feisty; urgency=low
+
+  * data/synaptic.desktop.in:
+    - fix in the Category to make it show up in g-a-i (LP#88877)
+  * common/rpackageview.cc:
+    - fix in the getSections() code (LP##91888)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 13 Mar 2007 20:18:09 +0100
+
+synaptic (0.57.11.1ubuntu11) feisty; urgency=low
+
+  * build with gcc 4.3 (closes: #413419)
+  * do not return a NULL pointer in name() 
+  * remove unneeded pkgActionGroup that seems to cause havoc
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  6 Mar 2007 19:02:44 +0100
+
+synaptic (0.57.11.1ubuntu10) feisty; urgency=low
+
+  * debian/control:
+    - changed ubuntu maintainer 
+    - added XS-Vcs-Bzr
+  * gtk/rgpreferenceswindow.cc:
+    - fix proxy authentication (thanks to Jan de Mooij) 
+      (LP#86769)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 27 Feb 2007 12:34:12 +0100
+
+synaptic (0.57.11.1ubuntu9) feisty; urgency=low
+
+  * remove file descriptor resource leak 
+  * depend on latest apt (needs rebuild to fix resource leak)
+  * fix crash in "Add downloaded packages" (LP#85934)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 26 Feb 2007 14:31:31 +0100
+
+synaptic (0.57.11.1ubuntu8) feisty; urgency=low
+
+  * move the desktop file back into new control center as it confused
+    too many people and we want to get rid of Applications/System Tools
+    (LP: #84984)
+  * fixed memory corruption problem on reopening the cache
+    (LP#81624)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 19 Feb 2007 10:33:32 +0100
+
+synaptic (0.57.11.1ubuntu7) feisty; urgency=low
+
+  * really use software-properties-gtk if available (LP#84248)
+  * move the desktop file out of settings because it does no longer
+    fit there with the new control center in gnome 2.17
+    (LP: #83658)
+  * fix version number generation for the about dialog (lp: #84626)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 12 Feb 2007 19:05:35 +0100
+
+synaptic (0.57.11.1ubuntu6) feisty; urgency=low
+
+  * use software-properties-gtk if available
+  * rebuild against latest apt version
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  6 Feb 2007 16:37:48 +0100
+
+synaptic (0.57.11.1ubuntu5) feisty; urgency=low
+
+  * fix corner-case bug in --set-selections, --non-interactive (lp: #81428)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 26 Jan 2007 10:41:48 +0100
+
+synaptic (0.57.11.1ubuntu4) feisty; urgency=low
+
+  * debian/rules: 
+    - fix automatic version number generation
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 22 Jan 2007 15:27:59 +0100
+
+synaptic (0.57.11.1ubuntu2) feisty; urgency=low
+
+  * added "Origins" view (AlwaysEnableUniverseMultiverse spec)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 20 Dec 2006 19:05:08 +0100
+
+synaptic (0.57.11.1ubuntu1) feisty; urgency=low
+
+  * merged with debian
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 20 Dec 2006 17:30:46 +0100
+
+synaptic (0.57.11.1) unstable; urgency=high
+
+  * gtk/rgmainwindow.cc:
+    - fix crash in "Lock package"
+  * gtk/rgpreferenceswindow.cc:
+    - add default font to fix crash
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 18 Dec 2006 10:52:08 +0100
+
+synaptic (0.57.11ubuntu13) edgy; urgency=low
+
+  * gtk/rgmainwindow.cc:
+    - fix crash in "Lock package" (lp: 64005)
+  * gtk/rgpreferenceswindow.cc:
+    - add default font to fix crash (lp: 65553)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 23 Oct 2006 16:12:55 +0200
+
+synaptic (0.57.11ubuntu12) edgy; urgency=low
+
+  * gtk/gsyncaptic.cc:
+    - fix in the checking for already runing synaptic (lp: 62754)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 11 Oct 2006 18:09:16 +0200
+
+synaptic (0.57.11ubuntu11) edgy; urgency=low
+
+  * common/rpackagelister.cc:
+    - use pkgActionGroup to fix performance regression in setSelection()
+  * performance regression fixes (lp: #63171)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 10 Oct 2006 13:57:42 +0200
+
+synaptic (0.57.11ubuntu10) edgy; urgency=low
+
+  * common/rpackagelister.cc:
+    - run refresh() after re-adjusting the size of the packages (lp: #62298)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 26 Sep 2006 17:33:28 +0200
+
+synaptic (0.57.11ubuntu9) edgy; urgency=low
+
+  * fix problem with pkgs disappering from the current view when
+    certain auto-removable packages are marked for removal
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 21 Sep 2006 13:39:35 +0200
+
+synaptic (0.57.11ubuntu8) edgy; urgency=low
+
+  * redo the auto flag on "restoreState()" too
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 21 Sep 2006 00:55:16 +0200
+
+synaptic (0.57.11ubuntu7) edgy; urgency=low
+
+  * auto install/garbage filter added
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 20 Sep 2006 15:04:36 +0200
+
+synaptic (0.57.11ubuntu6) edgy; urgency=low
+
+  * fix mark/unmark auto 
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 20 Sep 2006 14:18:43 +0200
+
+synaptic (0.57.11ubuntu5) edgy; urgency=low
+
+  * fix performance regression when canceling a operation
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 11 Sep 2006 11:52:30 +0200
+
+synaptic (0.57.11ubuntu4) edgy; urgency=low
+
+  * when switching views, don't autoselect "All"
+  * support the "metapackages" section
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed,  6 Sep 2006 20:30:45 +0200
+
+synaptic (0.57.11ubuntu3) edgy; urgency=low
+
+  * make "Fix Missing" and "Set Selections" faster (thanks to seb128
+    for discovering this problem)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  4 Sep 2006 15:59:20 +0200
+
+synaptic (0.57.11ubuntu2) edgy; urgency=low
+
+  * merged the ddtp support
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 14 Aug 2006 16:26:28 +0200
+
+synaptic (0.57.11ubuntu1) edgy; urgency=low
+
+  * merged with debian
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 27 Jul 2006 15:17:03 +0200
+
+synaptic (0.57.11) unstable; urgency=low
+
+  * po/ja.po: updated japanese translation (thanks to Daisuke SUZUKI)
+  * po/sv.po: updated translation (thanks to Daniel Nylander)
+  * UI and string fixes (thanks to Sebastian Heinlein)
+  * show broken packages in the status view as well
+  * don't show a download window if nothing is going to be downloaded
+  * return non-zero exit code on error
+  * po-manual/synaptic-manual.pot:
+    - updated (thanks to Sebastian Heinlein)
+  
+ -- Michael Vogt <mvo@debian.org>  Thu, 27 Jul 2006 15:12:31 +0200
+
+synaptic (0.57.10ubuntu3) edgy; urgency=low
+
+  * show broken packages in the status view as well
+  * don't show a download window if nothing is going to be downloaded
+  * cleanups
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 21 Jul 2006 11:47:31 +0200
+
+synaptic (0.57.10ubuntu2) edgy; urgency=low
+
+  * fixed FTBFS
+  * build-dep on latest vte
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  4 Jul 2006 16:17:25 +0200
+
+synaptic (0.57.10ubuntu1) edgy; urgency=low
+
+  * po/ja.po: updated japanese translation (thanks to Daisuke SUZUKI)
+  * po/sv.po: updated translation (thanks to Daniel Nylander)
+  * UI and string fixes (thanks to Sebastian Heinlein)
+  * merged with debian
+  * merged simple support for the apt auto-mark of automatic dependencies
+    feature (new "Installed (auto removable)" status)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  3 Jul 2006 21:38:16 +0200
+
+synaptic (0.57.10) unstable; urgency=low
+
+  * fix a bug in the skip-taskbar handling (thanks to seb128)
+  * fix the column sorting (closes: #361070)
+  * use the urgency hint for the conffile prompt (ubuntu: #21898)
+  * better handling of the automatic terminal expanding (ubuntu: #38935)
+  * g++-4.1 fixes (thanks to Martin Michlmayr) (closes: #357863)
+  * added some documentation for the 'Add downloaded packages' option
+    (closes: #365446)
+
+ -- Michael Vogt <mvo@debian.org>  Tue,  9 May 2006 09:50:02 +0200
+
+synaptic (0.57.9) unstable; urgency=low
+
+  * fix more set_transient() problems with run with --parent-window-id
+  * fix problem with fetch window not centered on parent (thanks to
+    seb128 and glatzor)
+  * if no terminal activity is detected and the terminal is expanded
+    set the urgency hint as well (ubuntu: #31436)
+  * remove http:// when it was entered as part of the proxy uri
+  * include reinstall markings in the "changes" filter
+  * fix memory corruption problem
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 28 Feb 2006 09:44:42 +0100
+
+synaptic (0.57.8ubuntu11) dapper; urgency=low
+
+  * fix bug that the window is not visisble in the tasklist when run 
+    in "install all upgrades" mode from update-notifier (thanks to
+    seb128 for reporting)
+  * hide the "auto-close" checkbutton when runing non-interactively,
+    because synaptic won't save options then (Ubuntu: #28250)
+  * better deal with invalid utf8 in the package descriptions 
+    (Ubuntu: #37050, #38399)
+  * increase the size of the diff dialog textview (ubuntu: #44012)
+  * search in summary too (ubuntu: #32337)
+  * fix focus problem (ubuntu: #39971)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 18 May 2006 11:41:18 +0200
+
+synaptic (0.57.8ubuntu10) dapper; urgency=low
+
+  * g++-4.1 fixes (thanks to Martin Michlmayr) (closes: 357863)
+  * fix the invocation of the external software-properties
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 21 Apr 2006 10:02:28 +0200
+
+synaptic (0.57.8ubuntu9) dapper; urgency=low
+
+  * fix a bug in the skip-taskbar handling (thanks to seb128)
+  * fix the column sorting (closes: #361070)
+  * use the urgency hint for the conffile prompt (ubuntu: #21898)
+  * better handling of the automatic terminal expanding (ubuntu: #38935)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 12 Apr 2006 20:43:23 +0200
+
+synaptic (0.57.8ubuntu8) dapper; urgency=low
+
+  * fix memory corruption problem (ubuntu #37817, #37987)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  4 Apr 2006 19:59:35 +0200
+
+synaptic (0.57.8ubuntu7) dapper; urgency=low
+
+  * gtk/window_changes.glade:
+    - make the dialog icon "info" instead of "warning" (ubuntu: #17085)
+  * remove http:// when it was entered as part of the proxy uri 
+    (ubuntu: #18038)
+  * if a dpkg error happens during install run "dpkg --configure -a" 
+    to recover as much as possible (ubuntu: #19021)
+  * if no terminal activity is detected and the terminal is expanded
+    set the urgency hint as well (ubuntu: #31436)
+  * remove http:// when it was entered as part of the proxy uri
+  * include reinstall markings in the "changes" filter
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Sun,  2 Apr 2006 11:40:45 +0200
+
+synaptic (0.57.8ubuntu6) dapper; urgency=low
+
+  * wording fix (ubuntu #36488)
+  * if no terminal activity is detected and the terminal is expanded
+    set the urgency hint as well (ubuntu: #31436)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 29 Mar 2006 14:33:19 +0200
+
+synaptic (0.57.8ubuntu5) dapper; urgency=low
+
+  * fix problem with fetch window not centered on parent (thanks to
+    seb128 and glatzor)
+  * fix a missing set_transient() problem (ubuntu #36030)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 23 Mar 2006 00:10:25 +0100
+
+synaptic (0.57.8ubuntu4) dapper; urgency=low
+
+  * fix another set_transient() problem with run with --parent-window-id
+    (ubuntu #33406)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu,  2 Mar 2006 15:38:08 +0100
+
+synaptic (0.57.8ubuntu3) dapper; urgency=low
+
+  * data/synaptic.desktop.in: set X-Ubuntu-Gettext-Domain
+  * make "mark" the default response in the "Mark change dialog" (ubuntu #31189)
+  * don't fail if run as non-root, just explain what's wrong
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 24 Feb 2006 10:35:43 +0100
+
+synaptic (0.57.8ubuntu2) dapper; urgency=low
+
+  * po/th.po: updated Thai Translation (thanks to Isriya Paireepairit)
+  * po/el.po: updated Greek translation (thanks to Kostas Papadimas)
+  * only clean the list dir if a update was successful
+  * fix problem that some windows have a skip taskbar hint but no
+    transient parent (thanks to Seb128 for reporting the problem)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 21 Feb 2006 18:59:52 +0100
+
+synaptic (0.57.8) unstable; urgency=low
+
+  * po/pl.po: updated Polish translation (thanks to Emilian Nowak)
+  * po/it.pl: updated Italian translation (thanks to Marco Colombo)
+  * po/ko.pl: updated Korean translation (thanks to Changwoo Ryu)
+    (closes: #346546)
+  * typo fix in debian/NEWS.Debian (closes: #346130)
+  * po/zh_HK.po: removed as requested by Anthony Fok (closes: #346081)
+  * typo fix in po/fr.po, thanks to  Filipus Klutiero  (closes: #336999)
+  * po/gl.po: added Galician translation (thanks to Nacho Resa)
+  * po/es.po: updated Spanish translation 
+    (thanks to Francisco Javier F. Serrador)
+  * po/th.po: updated Thai Translation (thanks to Isriya Paireepairit)
+  * po/fi.po: updated Finnish translation (thanks to Ilkka Tuohela)
+  * po/el.po: updated Greek translation (thanks to Kostas Papadimas)
+  * fix version number in about dialog (and make sure this is done
+    automatically in the future) (closes: #348839)
+  * applied patch from Robert Chéramy to fix un-lock problem
+    (closes: #334168)
+  * added --parent-window-id to make embedding easier
+  * wording fixes (malone #22090)
+  * only clean the list dir if a update was successful
+  * make "mark" the default response in the "Mark change dialog"
+  
+ -- Michael Vogt <mvo@debian.org>  Tue, 28 Feb 2006 09:44:42 +0100
+
+synaptic (0.57.7) unstable; urgency=low
+
+  * po/fi.po: added Finnish translation (thanks to Ilkka Tuohela)
+  * po/lt.po: updated Lithuanian translation (thanks to Zygimantas Berucka)
+  * po/ja.po: updated Japanese translation (thanks to AWASHIRO Ikuya)
+  * po/bg.po: updated Bulgarian translation (thanks to Yavor Doganov) 
+    (closes: #335032)
+  * po/ca.po: updated Catalan translation (thanks to Jordi Mallach)
+  * po/sv.po: updated Swedish translation (thanks to Daniel Nylander)
+    (closes: #339821)
+  * simple generation of download script added
+  * add externaly downloaded debs command added
+  * report correctly the required download size
+  * bugfix in the filter code (thanks to Yann Verley)
+  * renamed pt_PT.po to pt.po
+  * make sure to display valid utf8 when displaying messages from apt
+    (closes: #337739, #338922)
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  2 Jan 2006 11:20:27 +0100
+
+synaptic (0.57.6) unstable; urgency=low
+
+  * po/ja.po:
+    - updated Japanese translation (thanks to AWASHIRO Ikuya)
+  * po/sv.po:
+    - new swedish translation (thanks to Daniel Nylander)
+      (closes: #339370)
+  * always use pkgSourceList::ReadMainList() 
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 23 Nov 2005 12:35:26 +0100
+
+synaptic (0.57.5.1) unstable; urgency=low
+
+  * re-build in pbuilder, this fixes a build against a wrong libapt
+    version *cough* (closes: #332340, #332348)
+
+ -- Michael Vogt <mvo@debian.org>  Thu,  6 Oct 2005 07:10:35 +0200
+
+synaptic (0.57.5) unstable; urgency=low
+
+  * common/rpackage.cc:
+    - always get the candidate version for the description (closes: #325819)
+  * po/es.po:
+    - updated Spanish translation (thanks to Francisco Javier F. Serrador)
+  * po/ro.po:
+    - added Romanian translation (thanks to Dan Damian)
+  * po/hi.po:
+    - added Hindi translation (thanks to Vivek Rai)
+  * improved the support for error and conffile handling from
+    apt/dpkg
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 5 Oct 2005 16:23:15 +0200 
+
+synaptic (0.57.4) unstable; urgency=low
+
+  * added support for the new (apt >= 0.6.40) progress reporting
+    code
+
+ -- Michael Vogt <mvo@debian.org>  Fri,  5 Aug 2005 15:35:23 +0200
+
+synaptic (0.57.3) unstable; urgency=low
+
+  * support for load/save the last search options added (ubuntu #11822)
+  * fix a UI problem in rgdebinstallprogress. A error dialog
+    was sometimes not visible over the parent window (ubuntu #12533)
+  * build against current libapt (closes: #320715)
+  * compiles cleanly on amd64 now (closes: #297970)
+  * updated Hungarian translation (thanks to Gabor Kelemen)
+  * updated Lithuanian translation (thanks to Žygimantas Beručka)
+  * only skip_taskbar for modal windows (ubuntu #12640)
+  * relocated to gnome 2.10 System menu (closes: #314453)
+  * is a native debian package now (make more sense this way)
+  
+ -- Michael Vogt <mvo@debian.org>  Mon,  1 Aug 2005 14:05:10 +0200
+
+synaptic (0.57.2-1) unstable; urgency=low
+
+  * new upstream release, i18n updates, small bugfixes
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  4 Jul 2005 14:55:19 +0200
+
+synaptic (0.57.1-1) unstable; urgency=low
+
+  * new upstream release
+  * make use of the new dpkg and apt 
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 18 Jun 2005 12:19:00 +0200
+
+synaptic (0.57-2) unstable; urgency=low
+
+  * don't hide the desktop file in a kde enviroment 
+    (closes: #313309)
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 13 Jun 2005 11:29:38 +0200
+
+synaptic (0.57-1ubuntu1) breezy; urgency=low
+
+  * added intltool-update -p in build target (to make langpacks happy)
+  * don't hide the desktop file in a kde enviroment
+    (closes: #313309)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 10 Jun 2005 12:50:27 +0200
+
+synaptic (0.57-1) unstable; urgency=low
+
+  * new upstream version
+  * fixes ubuntu:
+    - #10592 (month sorting)
+    - #10756 (repositories lacks heading)
+    - #10793 (quick intro should not be opened by default)
+    - #10762 (can't purge when remove is already selected)
+    - #10752 (should install into /usr/share/applications)
+    - #8522 (synaptic uses su-to-root instead of gksudo in menu)
+    - #7822 ("X" (window manager close) won't close install dialog) 
+    - #11029 (synaptic exits silently if another synaptic is running)
+  * fixes debian:
+    - closes: #308474 (can't purge a package that is marked for removal)
+    - closes: #242037 (don't understand the difference between 
+                       smart upgrade and upgrade)
+    - closes: #296551 (unresolved dependency error omits version information)
+    - closes: #292034 (icon toolbar does not display)
+    - closes: #291195 (text beside icons does not work)
+    - closes: #290348 (gcc-4.0 build problem)
+    - closes: #277475,#277474,#277473 (scrolling in download window)
+    - closes: #275099 (visualisation problem)
+  * updated i18n:
+    - pt_BR, bg
+
+ -- Michael Vogt <mvo@debian.org>  Wed,  8 Jun 2005 13:41:53 +0200
+
+synaptic (0.55+cvs20050406-1) hoary; urgency=low
+
+  * translation updates for: fr, es, lt
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed,  6 Apr 2005 00:39:52 +0200
+
+synaptic (0.55+cvs20050404-1) hoary; urgency=low
+  
+  * New snapshot, xh translation added
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  4 Apr 2005 22:46:33 +0200
+
+synaptic (0.55+cvs20050330-1) hoary; urgency=low
+
+  * debian/control:
+    - gksu is recommended only (to make it kde friendlier)
+  * new desktop file for kde (#7395)
+  * fix a problem in the weekday calculation in logviewer 
+    (libc<->glib incompatibility)
+  * fix in the synaptic doc OMF file to make it show the correct
+    version in yelp (#8194)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 30 Mar 2005 17:11:33 +0200
+
+synaptic (0.55+cvs20050328-1) hoary; urgency=low
+
+  * New snapshot, fixes a utf8 problem in the logviewer (#8279)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 28 Mar 2005 17:36:25 +0200
+
+synaptic (0.55+cvs20050323-1) hoary; urgency=low
+  
+  * new snapshot, expose the preferences file (used for version 
+    locking) so that update-notifer/update-manager can use it too
+  * use 8pt font in the (hidden) terminal window in the installprogress
+    window
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Wed, 23 Mar 2005 15:53:29 +0100
+
+synaptic (0.55+cvs20050318-1) hoary; urgency=low
+
+  * New snapshot, fix for a locking problem when adding a cdrom
+    and instaling immediately
+  * make text in conf-file dialog non-editable and cursor invisible
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 18 Mar 2005 15:25:37 +0100
+
+synaptic (0.55+cvs20050311-1) hoary; urgency=low
+  
+  * New svn snapshot, bugfixes and translation updates:
+    - fix for a potential file descriptor leak
+    - be more clever when it comes to adding cdroms 
+      (don't load the cache before)
+    - make the "To be removed" column header in the changes
+      window bold (thanks to jdub for this idea)
+    - make the pulse step slower in the install preparation step 
+      (closes: #7212)
+    - make it possible to cancel when asking for cdrom 
+    - only switch cursor if the window is actual maped (causes some
+      gtk warnings to go away)
+    - fix a problem in the defaultDistro saving (closes: #6512)
+    - fix a problem that the fetch window is not correctly exapanded 
+    - translation updates for: ca, el, es, lt, ru, zh_CN
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri, 11 Mar 2005 18:31:42 +0100
+
+synaptic (0.55+cvs20050228-1) hoary; urgency=low
+  
+  * New svn snapshot
+  * make use of the new pkgAcquire::Run(pulseInterval) feature (#5879)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 28 Feb 2005 14:46:12 +0100
+
+synaptic (0.55+cvs20050224-1) hoary; urgency=low
+
+  * New svn snapshot
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Thu, 24 Feb 2005 14:02:49 +0100
+
+synaptic (0.55+cvs20050218-1) hoary; urgency=low
+  
+  * restored the ubuntu icon, there was a quoting error in the 
+    debian/rules file
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Sun, 20 Feb 2005 11:31:20 +0100
+
+synaptic (0.55+cvs20050215-1) hoary; urgency=low
+
+  * new svn snapshot, fixes: 
+    - point to changelogs.ubuntu.com (#6540)
+    - don't issue a warning when a new source.list is added (#6312)
+    - allow only one instance of synaptic (#4533)
+    - save settings again (#6512,#6511,#6436)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 15 Feb 2005 16:31:39 +0100
+
+synaptic (0.55+cvs20050208-1) hoary; urgency=low
+
+  * New snapshop with changes, needed for latest update-manager
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  8 Feb 2005 21:45:21 +0100
+
+synaptic (0.55+cvs20050207-1) hoary; urgency=low
+  
+  * New svn snapshot, build-depends on libapt-pkg-dev 0.6.31 and 
+    will use the new add-cdrom interface
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon,  7 Feb 2005 12:46:55 +0100
+
+synaptic (0.55+cvs20050204-1) hoary; urgency=low
+
+  * New svn snapshot
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Fri,  4 Feb 2005 23:58:24 +0100
+
+synaptic (0.55+cvs20050201-1) hoary; urgency=low
+  
+  * New svn snapshot
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue,  1 Feb 2005 15:55:20 +0100
+
+synaptic (0.55+cvs20050131-1) hoary; urgency=low
+
+  * New svn snapshot
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 31 Jan 2005 23:02:50 +0100
+
+synaptic (0.55+cvs20050125-1) hoary; urgency=low
+
+  * New svn snapshot
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Tue, 25 Jan 2005 16:35:03 +0100
+
+synaptic (0.55+cvs20050119-1) hoary; urgency=low
+
+  * New svn snapshot
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 19 Jan 2005 22:47:37 +0100
+
+synaptic (0.55+cvs20050107-2) hoary; urgency=low
+
+  * added "restricted" to supported components (was there before, got
+    droped somehow)
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 10 Jan 2005 10:35:41 +0100
+
+synaptic (0.55+cvs20050107-1) hoary; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Fri,  7 Jan 2005 10:01:46 +0100
+
+synaptic (0.55+cvs20041228-2) hoary; urgency=low
+
+  * apt-0.6 breaks PackageFile.Component(). work around that problem
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 29 Dec 2004 22:05:43 +0100
+
+synaptic (0.55+cvs20041228-1) hoary; urgency=low
+
+  * New cvs snapshot
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 29 Dec 2004 11:28:11 +0100
+
+synaptic (0.55+cvs20041213-1ubuntu1) hoary; urgency=low
+
+  * corrected build-depends (>= 0.6.27)
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 13 Dec 2004 19:19:22 +0100
+
+synaptic (0.55+cvs20041213-1) hoary; urgency=low
+
+  * New cvs snapshot
+  * build against current apt-0.6
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 13 Dec 2004 16:55:13 +0100
+
+synaptic (0.55+cvs20041119-1ubuntu4) hoary; urgency=low
+
+  * added "--update-at-startup" cmdline option (for upgrade-notifier and update-manager)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 28 Nov 2004 13:52:33 +0100
+
+synaptic (0.55+cvs20041119-1ubuntu3) hoary; urgency=low
+
+  * added "sharutils" to build-depends :/
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 22 Nov 2004 14:15:02 +0100
+
+synaptic (0.55+cvs20041119-1ubuntu2) hoary; urgency=low
+
+  * fixed the location of the synaptic.desktop file
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 22 Nov 2004 11:24:24 +0100
+
+synaptic (0.55+cvs20041119-1ubuntu1) hoary; urgency=low
+
+  * added the ubuntu-patches again
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 19 Nov 2004 22:49:56 +0100
+
+synaptic (0.55-4) unstable; urgency=low
+
+  * fixed a spacing issue in the rgfetchdialog
+  * added missing README.supported (closes: #279688)
+
+ -- Michael Vogt <mvo@debian.org>  Thu,  4 Nov 2004 18:25:00 +0100
+
+synaptic (0.55-3) unstable; urgency=low
+
+  * added dialog_update_outdated.glade (fixes: #279573)
+
+ -- Michael Vogt <mvo@debian.org>  Wed,  3 Nov 2004 23:00:33 +0100
+
+synaptic (0.55-2) unstable; urgency=low
+
+  * fix for a ugly free() error message on startup
+
+ -- Michael Vogt <mvo@debian.org>  Tue,  2 Nov 2004 10:41:21 +0100
+
+synaptic (0.55-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Tue,  2 Nov 2004 09:16:18 +0100
+
+synaptic (0.53.4-6) unstable; urgency=medium
+
+  * one-line fix for a problem when adding a new cdrom
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 19 Oct 2004 22:52:20 +0200
+
+synaptic (0.53.4-5) unstable; urgency=medium
+
+  * one-line fix for a problem on ppc
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 14 Oct 2004 13:31:55 +0200
+
+synaptic (0.53.4-4) unstable; urgency=medium
+
+  * fixed a problem that can cause libglade to enter a infinite
+    loop and make synaptic unusable 
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  4 Oct 2004 13:46:32 +0200
+
+synaptic (0.53.4-3) unstable; urgency=medium
+
+  * rebuild. no changes. I uploaded a incomplete 0.53.4-2
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 25 Sep 2004 23:56:15 +0200
+
+synaptic (0.53.4-2) unstable; urgency=medium
+
+  * fixed a error in pl.po file
+  * added the sl.po translation
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 25 Sep 2004 22:52:33 +0200
+
+synaptic (0.53.4-1) unstable; urgency=medium
+
+  * New upstream release
+  * no code changes, only translation and documentation updates
+  * urgency set to medium in hope to get it into sarge 
+  
+ -- Michael Vogt <mvo@debian.org>  Sat, 18 Sep 2004 00:15:59 +0200
+
+synaptic (0.53.3-2) unstable; urgency=medium
+
+  * changed order to initialize stuff to work around a gtk problem
+    (closes: #270309)
+  * urgency set to medium in hope to get it into sarge 
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  6 Sep 2004 22:01:19 +0200
+
+synaptic (0.53.3-1) unstable; urgency=medium
+
+  * New upstream release
+  * minimal code change (fix a segfault) 
+  * updated Danish translation (thanks to Morten Brix Pedersen)
+  * synaptic.xpm updated to biger size (closes: #268293)
+  * urgency set to medium in hope to get it into sarge 
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 27 Aug 2004 12:09:27 +0200
+
+synaptic (0.53.2-1) unstable; urgency=medium
+
+  * New upstream release (no code changes, only some build fixes and 
+    and i18n updates)
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 26 Aug 2004 13:14:36 +0200
+
+synaptic (0.53.1-2) unstable; urgency=medium
+
+  * added pt_BR translation (thanks to Andre Luis Lopes)
+    (closes: #266880)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 20 Aug 2004 12:38:02 +0200
+
+synaptic (0.53.1-1) unstable; urgency=medium
+
+  * New upstream release, no changes only added spanish documentation
+    (a _big_ thanks to Francisco Javier F. Serrador)
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 17 Aug 2004 13:12:30 +0200
+
+synaptic (0.53-1) unstable; urgency=low
+
+  * new upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 14 Aug 2004 20:57:29 +0200
+
+synaptic (0.53-0.2) unstable; urgency=low
+
+  * second testrelease for new upstream
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  2 Aug 2004 22:41:05 +0200
+
+synaptic (0.53-0.1) unstable; urgency=medium
+
+  * new upstream version
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 1 Aug 2004 01:29:30 +0200
+
+synaptic (0.52-2) unstable; urgency=medium
+
+  * changed su-to-root to /usr/sbin/su-to-root (closes: #262422)
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 31 Jul 2004 01:29:30 +0200
+
+synaptic (0.52-1) unstable; urgency=low
+
+  * new upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  5 Jul 2004 18:42:50 +0200
+
+synaptic (0.52-0.5) unstable; urgency=low
+
+  * another test-release
+
+ -- Michael Vogt <mvo@debian.org>  Fri,  2 Jul 2004 00:02:29 +0200
+
+synaptic (0.52-0.4) unstable; urgency=low
+
+  * next test-release
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 29 Jun 2004 12:37:53 +0200
+
+synaptic (0.52-0.3) unstable; urgency=low
+
+  * third test-release
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 28 Jun 2004 12:30:37 +0200
+
+synaptic (0.52-0.2) unstable; urgency=low
+
+  * second test-release
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 27 Jun 2004 19:24:57 +0200
+
+synaptic (0.52-0.1) unstable; urgency=low
+
+  * first test-release
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 25 Jun 2004 17:48:18 +0200
+
+synaptic (0.51-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 21 Jun 2004 23:34:00 +0200
+
+synaptic (0.50-2) unstable; urgency=low
+
+  * build without --with-pkg-hold
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 16 Jun 2004 17:17:53 +0200
+
+synaptic (0.50-1) unstable; urgency=low
+
+  * initial upload into debian/unstable
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 15 Jun 2004 22:53:38 +0200
+
+synaptic (0.50-0.7) unstable; urgency=low
+
+  * and a new one
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 10 Jun 2004 20:19:18 +0200
+
+synaptic (0.50-0.6) unstable; urgency=low
+
+  * more pre-releases
+
+ -- Michael Vogt <mvo@debian.org>  Wed,  9 Jun 2004 23:17:59 +0200
+
+synaptic (0.50-0.5) unstable; urgency=low
+
+  * another testrelease
+
+ -- Michael Vogt <mvo@debian.org>  Sat,  5 Jun 2004 20:49:44 +0200
+
+synaptic (0.50-0.4) unstable; urgency=low
+
+  * and the next testrelease
+
+ -- Michael Vogt <mvo@debian.org>  Fri,  4 Jun 2004 00:01:53 +0200
+
+synaptic (0.50-0.3) unstable; urgency=low
+
+  * third testrelease
+
+ -- Michael Vogt <mvo@debian.org>  Wed,  2 Jun 2004 14:49:00 +0200
+
+synaptic (0.50-0.2) unstable; urgency=low
+
+  * second testrelease
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 30 May 2004 15:00:53 +0200
+
+synaptic (0.50-0.1) unstable; urgency=low
+
+  * First testrelease
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 20 May 2004 18:07:24 +0200
+
+synaptic (0.48.2-6) unstable; urgency=low
+
+  * use su-to-root for the menu file
+  * added local dtd to maunal
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 20 Apr 2004 21:44:06 +0200
+
+synaptic (0.48.2-4) unstable; urgency=medium
+
+  * fix for a LANG=non-C problem
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 19 Apr 2004 12:46:04 +0200
+
+synaptic (0.48.2-3) unstable; urgency=low
+
+  * archive of -2 was bad, rebuild
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 17 Apr 2004 08:55:35 +0200
+
+synaptic (0.48.2-2) unstable; urgency=medium
+
+  * updated french man-page (thanks to Julien Louis)
+    (closes: #231585)
+  * a workaround or a wired zvt terminal bug (I _hate_ libzvt)
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 12 Apr 2004 20:32:30 +0200
+
+synaptic (0.48.2-1) unstable; urgency=medium
+
+  * New upstream release
+  * sudo-mozilla-eats bookmarks bug fixed (thanks to hugo vanwoerkom)
+    (closes: #242053)
+  * converted png to xpm for debian menu (closes: #237748)
+  * fixed bad german translation (closes: #237758)
+  * added updated frensh man-page (closes: #231585)
+  
+ -- Michael Vogt <mvo@debian.org>  Sun, 14 Mar 2004 13:33:04 +0100
+
+synaptic (0.48.1-1) unstable; urgency=low
+
+  * New upstream release
+  * suggests changed to libgnome2-perl (for dpkg-reconfigure -f gnome) 
+    (closes: #237549)
+  * added suggestions for apt-watch
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 12 Mar 2004 08:58:56 +0100
+
+synaptic (0.48-2) unstable; urgency=medium
+
+  * rebuild against a correct apt 
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 11 Mar 2004 10:24:31 +0100
+
+synaptic (0.48-1) unstable; urgency=low
+
+  * New upstream release
+  * purge and delete are different now (closes: #191822)
+  * search dialog now closes when pressing the enter key (closes: #224532)
+  * synaptic now longer hangs when closing the changes window (closes: 224731) 
+  * broken sources.list are now longer accepted (closes: #187971)
+  * some tag fixes (closes: #225891)
+  * a typo fix for the description (closes: #219083)
+
+ -- Michael Vogt <mvo@debian.org>  Sat,  3 Jan 2004 03:01:49 +0100
+
+synaptic (0.47-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 20 Nov 2003 15:39:24 +0100
+
+synaptic (0.46-2) unstable; urgency=low
+
+  * added dependency to scrollkeeper (closes: #221157)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 16 Nov 2003 23:44:04 +0100
+
+synaptic (0.46-1) unstable; urgency=low
+
+  * New upstream release
+  * fixes a segfault when versionless packages used (closes: #219934)
+  * terminal font can be selected by users now (closes: #217089)
+  * pt_BT update (thanks to Leonardo Boiko) (closes: #218003)
+  * advanced search is no ddtp friendly (closes: #218825)
+  * synaptic desktop menu has moved (closes:  #219358)
+  * gui font can be selected now (closes: #218147)
+  
+ -- Michael Vogt <mvo@debian.org>  Thu,  6 Nov 2003 12:09:09 +0100
+
+synaptic (0.45-2) unstable; urgency=low
+
+  * minor debian description fix (closes: #219083)
+    (thanks Alfie)
+  * update to for pt_BT (closes: #218003)
+    (thanks Leonardo Boik)
+  * searching in translated descriptions is possible now (closes: #218825)
+    (thanks johnnybgate)
+
+ -- Michael Vogt <mvo@debian.org>  Tue,  4 Nov 2003 12:30:47 +0100
+
+synaptic (0.45-1) unstable; urgency=low
+
+  * New upstream release
+  * typo fixed (closes: #213095);
+  * workaround for buggy libzvt focus handling (closes: #215280)
+  * resizing of the terminal window no longer possible because of the
+    buggy libzvt resize handling (closes: #215513)
+  * correct spanish man-page included (closes: #215303)
+  * typo in preferences window fixed (closes: #215312)
+  * typo in pt_BR.po fixed (closes: #214959)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 28 Sep 2003 14:07:29 +0200
+
+synaptic (0.44-1) unstable; urgency=low
+
+  * New upstream release
+  * finally put translated man-pages to the correct location
+    (closes: #166303, #176923, #207334)
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  1 Sep 2003 11:15:05 +0200
+
+synaptic (0.43-2) unstable; urgency=low
+
+  * mini-patch to update to 0.43.1
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 16 Aug 2003 21:26:36 +0200
+
+synaptic (0.43-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 12 Aug 2003 00:18:41 +0200
+
+synaptic (0.42-1) unstable; urgency=low
+
+  * New upstream release
+  * saves selections on "pin", "update", "proceed" (closes: #191090)
+  * fixed a segfault (closes: #204809, #204864)
+  * fixed a sorting problem (closes: #204755)
+  
+ -- Michael Vogt <mvo@debian.org>  Thu,  7 Aug 2003 01:23:54 +0200
+
+synaptic (0.41-1) unstable; urgency=low
+
+  * New upstream release
+  * build new synaptic-debtags package as well
+  * added scrollbar in information tab (closes: #189428)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 27 Jul 2003 21:56:08 +0200
+
+synaptic (0.40-1) unstable; urgency=low
+
+  * New upstream release
+  * depends on gksu now (this used to be recommends) (closes: #189435)
+  * updated pt_br translation (thanks to Andre Luis Lopes <andrelop@ig.com.br>)
+    (closes:  #189924)
+  * synaptic now suggests libgnome-perl to allow debconf-reconfiguring using
+    a nice frontend (closes: #189849)
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 12 Jul 2003 11:32:47 +0200
+
+synaptic (0.39-2) unstable; urgency=low
+
+  * added libgnome-perl to suggests. libgnome-perl is needed to get 
+    gui dpkg-reconfigure support in synaptic (closes: #189849)
+
+ -- Michael Vogt <mvo@debian.org>  Tue,  8 Jul 2003 18:17:15 +0200
+
+synaptic (0.39-1) unstable; urgency=low
+
+  * New upstream release
+  * fixed location of the .desktop file (closes: #198423, #199080)
+  
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 28 Jun 2003 21:08:50 +0200
+
+synaptic (0.38-2) unstable; urgency=low
+
+  * place desktop file in /usr/share/applications now (closes: #198423)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 22 Jun 2003 22:58:42 +0200
+
+synaptic (0.38-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 20 Jun 2003 20:22:47 +0200
+
+synaptic (0.37-1) unstable; urgency=low
+
+  * new upstream release
+  * cache behaviour should work now (closes: #192766)
+  * url in copyright file corrected (closes: #195320)
+  * "hit" is displayed as 100% in download dialog (closes: #195284)
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  13 Jun 2003 23:30:12 +0200
+
+synaptic (0.36-6) unstable; urgency=low
+
+  * start making synaptic g++-3.3 clean
+  * moved all "<assert.h>" to "<cassert>" (closes: 196716)
+
+ -- Michael Vogt <mvo@debian.org>  Mon,  9 Jun 2003 23:30:12 +0200
+
+synaptic (0.36-5) unstable; urgency=low
+
+  * the menu file still used xsu, this is changed to gksu now (closes: #192593)
+  * synaptic now uses g++-3.2 as apt now uses it as well (closes: #185118)
+  * changed build-dep for libapt-pkg to libapt-pkg (>= 0.5.5)
+  * segfault on startup was fixed in 0.36-2 (closes: #189385, #189596, #189423)
+  * "download only mode" is working (closes: #191827)
+  * location for the synaptic.desktop file is changed to 
+    /usr/share/applications
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 13 May 2003 09:02:23 +0200
+
+synaptic (0.36-4) unstable; urgency=low
+
+  * droped build-depend for g++-2.95 (*oops*) (closes: #192475)
+  * removed a single "cout" from the code 
+    (don't know how this build on my machine) 
+
+ -- Michael Vogt <mvo@debian.org>  Fri,  9 May 2003 10:21:20 +0200
+
+synaptic (0.36-3) unstable; urgency=low
+
+  * rebuild for apt 0.5.5
+
+ -- Michael Vogt <mvo@debian.org>  Thu,  8 May 2003 11:21:50 +0200
+
+synaptic (0.36-2) unstable; urgency=low
+
+  * applied a patch to fix a segfault on startup when there are packages
+    without section in a apt list (closes: ##189385, #189596, #189423)
+    (thanks to all the bugreporters for helping me finding this bug)
+  * debconf filter+button is added (closes: #182761)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 20 Apr 2003 12:30:26 +0200
+
+synaptic (0.36-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Sat, 29 Mar 2003 14:50:33 +0100
+
+synaptic (0.35-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 25 Feb 2003 01:53:05 +0100
+
+synaptic (0.32-2) unstable; urgency=low
+
+  * recommends gksu now (closes: #178714)
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 29 Jan 2003 23:49:43 +0100
+
+synaptic (0.32-1) unstable; urgency=low
+
+  * New upstream release
+  * closing FTBFS bug that was fixed in 0.31-3 (closes: #176529)
+  * resizing of RGSummaryWindow works correct now (closes: #175445)
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 15 Jan 2003 15:22:00 +0100
+
+synaptic (0.31-3) unstable; urgency=low
+
+  * fixed build-depends for m68k
+
+ -- Michael Vogt <mvo@debian.org>  Mon, 13 Jan 2003 16:45:44 +0100
+
+synaptic (0.31-2) unstable; urgency=low
+
+  * ups, xsu was in recommended list, it's suggested now
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 10 Jan 2003 22:35:16 +0100
+
+synaptic (0.31-1) unstable; urgency=low
+
+  * New upstream release
+  * resize bugs fixed (closes: #175445)
+  * description buffer increased (closes:  #174922)
+  * locales problem fixed (closes: #175668)
+  * easy way to filter for description added (closes: #175045)
+  * added QUIT button (closes: #171822)
+
+ -- Michael Vogt <mvo@debian.org>  Sat,  4 Jan 2003 21:36:50 +0100
+
+synaptic (0.30-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 27 Dec 2002 01:48:54 +0100
+
+synaptic (0.28-1) unstable; urgency=low
+
+  * New upstream release
+  * added menu file (closes: #170289)
+  * added recommend to xsu
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 26 Nov 2002 01:17:14 +0100
+
+synaptic (0.27-1) unstable; urgency=low
+
+  * New upstream release
+  * comiled with "--with-pkg-hold" (please report any problems with this
+    option)
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 12 Nov 2002 15:19:34 +0100
+
+synaptic (0.26-1) unstable; urgency=low
+
+  * New upstream release
+  * show details window has a better size now (closes: #165902)
+
+ -- Michael Vogt <mvo@debian.org>  Wed,  6 Nov 2002 16:45:43 +0100
+
+synaptic (0.25-2) unstable; urgency=low
+
+  * g++ 3.0 fixes (closes: #163982)
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 10 Oct 2002 12:52:42 +0200
+
+synaptic (0.25-1) unstable; urgency=low
+
+  * New upstream release
+  * no more messages on startup (closes: #123310)
+  * problem with 8bit locales fixed (closes: #162901)
+  * no quit button, but keyboard shortcut (closes: #150733)
+  
+ -- Michael Vogt <mvo@debian.org>  Wed,  9 Oct 2002 00:50:42 +0200
+
+synaptic (0.24.1-1) unstable; urgency=low
+
+  * New upstream release (bugfix release for 0.24, no new features)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 27 Sep 2002 11:03:30 +0200
+
+synaptic (0.24-1) unstable; urgency=low
+
+  * New upstream release
+  * already closed in last release (but a typo) (closes: #157160)
+
+ -- Michael Vogt <mvo@debian.org>  Thu, 26 Sep 2002 16:39:49 +0200
+
+synaptic (0.23-1) unstable; urgency=low
+
+  * new upstream release
+  * added scrollbar for "Dependencies of the available package"
+    (closes: * #157160)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 25 Aug 2002 13:16:59 +0200
+
+synaptic (0.22-2) unstable; urgency=low
+
+  * ups, I overlooked a g++-3.0 problem. fixed now
+    (closes: #154299)
+
+ -- Michael Vogt <mvo@debian.org>  Sun, 18 Aug 2002 12:09:59 +0200
+
+synaptic (0.22-1) unstable; urgency=low
+
+  * new upstream version
+  * added libzvt-dev to build-depends
+  * fixed g++-3.0 errors (closes: #154082)
+  * added tab to show dependencies of the latest
+    available version (closes: #153614)
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 24 Jul 2002 23:06:52 +0200
+
+synaptic (0.21-2) unstable; urgency=low
+
+  * fixed a potential segfault in rgfiltermanager.cc
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 19 Jul 2002 13:44:18 +0200
+
+synaptic (0.21-1) unstable; urgency=low
+
+  * new upstream version
+  * better description parser for debian (closes:  #145893)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 19 Jul 2002 13:20:18 +0200
+
+synaptic (0.20-2) unstable; urgency=low
+
+  * fixed a bug in rgfiltereditor.cc (gtk-version)
+    (closes: #153505)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 19 Jul 2002 01:58:13 +0200
+
+synaptic (0.20-1) unstable; urgency=low
+
+  * new upstream version (and new upstream maintainer)
+  * no more error messages upon startup (closes: #123705)
+  * double click cycle now implemented (closes: #123877)
+  * synaptic segfault fixed (closes: #123705)
+  * filters are saved now (closes: #150731,#146970)
+  * added option to see new packages (closes: #150732)
+  * added zvt as output terminal
+  * some keybings for the Gtk+ version
+  * two packages are generated from the source now: 
+    synaptic (WINGs) and gsynaptic (gtk)
+  
+ -- Michael Vogt <mvo@debian.org>  Tue, 16 Jul 2002 15:02:32 +0200
+
+synaptic (0.16-6) unstable; urgency=low
+
+  * improved the description (closes: #133982)
+
+ -- Michael Vogt <mvo@debian.org>  Thu,  4 Apr 2002 12:23:30 +0200
+
+synaptic (0.16-5) unstable; urgency=low
+
+  * applied patch from LaMont Jones <lamont@smallone.fc.hp.com>
+    to make synaptic compile on hppa (g++-3.0)
+    (closes: #126771)
+
+ -- Michael Vogt <mvo@debian.org>  Fri, 28 Dec 2001 23:16:42 +0100
+
+synaptic (0.16-4) unstable; urgency=low
+
+  * corrected some spelling mistakes (closes: #125628)
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 18 Dec 2001 06:13:08 +0100
+
+synaptic (0.16-3) unstable; urgency=low
+
+  * added build-depend to hermes1-dev (closes: #121378)
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 27 Nov 2001 12:28:09 +0100
+
+synaptic (0.16-2) unstable; urgency=low
+
+  * removed "conflict: apt-listchanges", because apt-listchanges can
+    be configured in a way that works with synaptic
+    (thanks to Paul Seelig)
+
+ -- Michael Vogt <mvo@debian.org>  Wed, 14 Nov 2001 23:42:32 +0100
+
+synaptic (0.16-1) unstable; urgency=low
+
+  * Initial Release (closes: #115167)
+
+ -- Michael Vogt <mvo@debian.org>  Tue, 13 Nov 2001 23:17:20 +0100
+

=== added file 'debian/compat'
--- debian/compat	1970-01-01 00:00:00 +0000
+++ debian/compat	2010-08-01 23:35:56 +0000
@@ -0,0 +1,1 @@
+5
\ No newline at end of file

=== added file 'debian/control'
--- debian/control	1970-01-01 00:00:00 +0000
+++ debian/control	2010-08-01 23:35:56 +0000
@@ -0,0 +1,33 @@
+Source: synaptic
+Section: admin
+Priority: optional
+Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Michael Vogt <mvo@debian.org>
+Build-Depends: debhelper (>= 5.0.51), libapt-pkg-dev (>= 0.7.26~exp10), gettext, libgtk2.0-dev, libvte-dev (>= 0.11.11), libglade2-dev, libxft2-dev, rarian-compat, intltool, xmlto, libsm-dev , sharutils, dpatch, lsb-release, dpkg (>= 1.13.9), liblaunchpad-integration-dev, libept-dev (>= 1.0.1build1)
+Build-Conflicts: librpm-dev
+Standards-Version: 3.7.2.2
+Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-core-dev/synaptic/lucid
+XS-Original-Vcs-Bzr: http://bzr.debian.org/synaptic/synaptic/debian-sid
+
+Package: synaptic
+Architecture: any
+Depends: ${shlibs:Depends}, hicolor-icon-theme
+Provides: gsynaptic
+Replaces: gsynaptic
+Conflicts: gsynaptic, menu (<< 2.1.11)
+Recommends: gksu|kdebase-bin, libgnome2-perl, rarian-compat, software-properties-gtk, apt-xapian-index
+Suggests: dwww, menu, deborphan
+Description: Graphical package manager 
+ Synaptic is a graphical package management tool based on GTK+ and APT.
+ Synaptic enables you to install, upgrade and remove software packages in
+ a user friendly way.
+ .
+ Besides these basic functions the following features are provided:
+  * Search and filter the list of available packages
+  * Perform smart system upgrades
+  * Fix broken package dependencies
+  * Edit the list of used repositories (sources.list)
+  * Download the latest changelog of a package
+  * Configure packages through the debconf system
+  * Browse all available documentation related to a package (dwww is required)
+

=== added file 'debian/copyright'
--- debian/copyright	1970-01-01 00:00:00 +0000
+++ debian/copyright	2010-08-01 23:35:56 +0000
@@ -0,0 +1,13 @@
+This package was debianized by Michael Vogt <mvo@debian.org> on
+Tue, 13 Nov 2001 23:17:20 +0100.
+
+It was downloaded from 
+http://www.nongnu.org/synaptic
+
+Upstream Authors: "Alfredo K. Kojima" <kojima@conectiva.com.br>
+		  "Michael Vogt" <mvo@debian.org>
+
+Copyright:
+
+GNU GENERAL PUBLIC LICENSE,                                                     
+see /usr/share/common-licenses/GPL     

=== added file 'debian/package-supported.png.uu'
--- debian/package-supported.png.uu	1970-01-01 00:00:00 +0000
+++ debian/package-supported.png.uu	2010-08-01 23:35:56 +0000
@@ -0,0 +1,20 @@
+begin 644 package-supported.png
+MB5!.1PT*&@H````-24A$4@```!`````0"`8````?\_]A````!F)+1T0`_P#_
+M`/^@O:>3````"7!(67,```]A```/80&H/Z=I````!W1)344'U`D3$C`=J25#
+MK0```GA)1$%4>-J%DUM(5&$0QW_?.6=WL337-A<C)#6$B*`>I-*B"Y)&]=I#
+M)@6!3T$0!`4%/522#VD4=*.')**2BB(A,;4+^516$!1=UBZ&ZU+8;KIZ])SO
+MFU[,Q+;ZPS#,,`S_F?F/$A$RX5=6`6;")SN[DB8]1-ZFS6'+M@%P^`O,R!"Z
+M[[7H>"\J',4=A'AU-5K[Z.9FB6[?KC(V,("88=S;I\2Y<("0!B\:06\^"C@8
+M?,0WD_5_-/"?-8KTM1,H.X1_,XJ=_HZ52A+Z?(_H^4;\X6%RJ\HGZ]74'?C]
+MCX4;ZU&NB]EP%C]4ANTXX'MX#UNP7MPEZ+J,9643JN]HL&=%]B,BB`A:!+=M
+MFT@#XIV+BM??+4:$J3;2>EJ\-8B_$G%O-8D1P3%C:=SK)P0WC;-H*3IX#;.P
+MEL#<"J6FC1?<6*?<QRT2['F*?MN#`1SO>6?2.7,01F%\7SW!>8NQ\DI1&<YJ
+M*P=GST6\1#\J.Q<E!DL5E.`5%:(+(]ASPJBA!"8=G]#![_VHB2B^]Q!]FVI(
+M'#L)*"RG:'$XV-2-=?8)5N`]]K<XZLT5=#(F3..1ZNR0D:N7,7T?"13D8RF%
+M8P%6?J$2P/NQ7"0`=N(=WJ<V_/&M@W;(*E,"J=8[L8%=N[$\'XGD,WO'SFDZ
+M$,$IW:+TDBZ1@4=(UC(^KEN;IX:2,8S&'TR14UN#RLDA5+&*K)+B/Y5H*06K
+MCROC)F2@\1+ZU4ML0`.1IB-$*[Y`ZCU27I=92%,Q\B$FZ?L/\'M[878!X:HY
+MA-IK8!1TY4$"*PZK?S[3C.(%:D;Q@LE8CR;$GU^)C'[%*MKX?P:9WEN,A\@X
+;ECUS\CX_`4&C,>`7?>FF`````$E%3D2N0F""
+`
+end

=== added directory 'debian/patches'
=== added file 'debian/patches/00list'
--- debian/patches/00list	1970-01-01 00:00:00 +0000
+++ debian/patches/00list	2010-08-01 23:35:56 +0000
@@ -0,0 +1,6 @@
+01_ubuntu_changelog
+02_ubuntu_desktop_file
+03_hide_browse_documentation
+04_ubuntu_lpi
+06_ubuntu_su_to_root
+10_ubuntu_maintenance_gui

=== added file 'debian/patches/00list.Debian'
=== added file 'debian/patches/00list.Ubuntu'
--- debian/patches/00list.Ubuntu	1970-01-01 00:00:00 +0000
+++ debian/patches/00list.Ubuntu	2010-08-01 23:35:56 +0000
@@ -0,0 +1,6 @@
+01_ubuntu_changelog
+02_ubuntu_desktop_file
+03_hide_browse_documentation
+04_ubuntu_lpi
+06_ubuntu_su_to_root
+10_ubuntu_maintenance_gui

=== added file 'debian/patches/01_ubuntu_changelog.dpatch'
--- debian/patches/01_ubuntu_changelog.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/01_ubuntu_changelog.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,85 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 01_ubuntu_changelog.dpatch by  <egon@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad bug.153966.452564~/common/rpackage.cc bug.153966.452564/common/rpackage.cc
+--- bug.153966.452564~/common/rpackage.cc	2010-04-14 00:16:09.000000000 +0200
++++ bug.153966.452564/common/rpackage.cc	2010-04-14 00:20:52.000000000 +0200
+@@ -896,7 +896,7 @@
+ {
+    char uri[512];
+    //FIXME: get the supportedOrigins from pkgStatus
+-   if(origin() == "Debian") {
++   if(origin() == "Ubuntu") {
+       string prefix;
+       string srcpkg = srcPackage();
+ 
+@@ -917,7 +917,7 @@
+       if(verstr.find(':')!=verstr.npos)
+          verstr=string(verstr, verstr.find(':')+1);
+ 
+-      snprintf(uri,512,"http://packages.debian.org/changelogs/pool/%s/%s/%s/%s_%s/changelog",
++      snprintf(uri,512,"http://changelogs.ubuntu.com/changelogs/pool/%s/%s/%s/%s_%s/changelog",
+                                src_section.c_str(),
+                                prefix.c_str(),
+                                srcpkg.c_str(),
+@@ -956,9 +956,23 @@
+       struct stat filestatus;
+       stat(filename.c_str(), &filestatus );
+       if (filestatus.st_size == 0) {
+-         out << "This change is not coming from a source that supports changelogs.\n" << endl;
+-         out << "Failed to fetch the changelog for " << name() << endl;
+-         out << "URI was: " << uri << endl;
++      // FIXME: Use supportedOrigins
++         if(origin() == "Ubuntu") {
++            string verstr;
++            if(availableVersion() != NULL) 
++               verstr = availableVersion();
++            
++            if(verstr.find(':')!=verstr.npos)
++               verstr=string(verstr, verstr.find(':')+1);
++            out << "The list of changes is not available yet.\n" << endl;
++            out << "Please use http://launchpad.net/ubuntu/+source/"<< srcPackage() << 
++                "/" << verstr << "/+changelog" << endl;
++            out << "until the changes become available or try again later." << endl;
++         } else {
++            out << "This change is not coming from a source that supports changelogs.\n" << endl;
++            out << "Failed to fetch the changelog for " << name() << endl;
++            out << "URI was: " << uri << endl;
++         }
+       }
+    };
+    out.close();
+diff -urNad bug.153966.452564~/common/rpackagestatus.cc bug.153966.452564/common/rpackagestatus.cc
+--- bug.153966.452564~/common/rpackagestatus.cc	2010-04-13 23:31:39.000000000 +0200
++++ bug.153966.452564/common/rpackagestatus.cc	2010-04-14 00:18:59.000000000 +0200
+@@ -69,7 +69,7 @@
+       markUnsupported = true;
+ 
+       // read supported labels
+-      labels = _config->Find("Synaptic::supported-label", "Debian Debian-Security");
++      labels = _config->Find("Synaptic::supported-label", "Ubuntu");
+       stringstream sst1(labels);
+       while(!sst1.eof()) {
+ 	 sst1 >> s;
+@@ -77,7 +77,7 @@
+       }
+ 
+       // read supported origins
+-      origin = _config->Find("Synaptic::supported-origins", "Debian");
++      origin = _config->Find("Synaptic::supported-origins", "Ubuntu");
+       stringstream sst2(origin);
+       while(!sst2.eof()) {
+ 	 sst2 >> s;
+@@ -85,7 +85,7 @@
+       }
+       
+       // read supported components
+-      components = _config->Find("Synaptic::supported-components", "main updates/main");
++      components = _config->Find("Synaptic::supported-components", "main updates/main restricted");
+       stringstream sst3(components);
+       while(!sst3.eof()) {
+ 	 sst3 >> s;

=== added file 'debian/patches/02_ubuntu_desktop_file.dpatch'
--- debian/patches/02_ubuntu_desktop_file.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/02_ubuntu_desktop_file.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,22 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 02_ubuntu_desktop_file.dpatch by  <egon@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad bug298172~/data/synaptic.desktop.in bug298172/data/synaptic.desktop.in
+--- bug298172~/data/synaptic.desktop.in	2009-01-14 19:39:05.000000000 +0000
++++ bug298172/data/synaptic.desktop.in	2009-01-14 20:49:18.000000000 +0000
+@@ -2,9 +2,10 @@
+ _Name=Synaptic Package Manager
+ _GenericName=Package Manager
+ _Comment=Install, remove and upgrade software packages
+-Exec=su-to-root -X -c /usr/sbin/synaptic
++Exec=gksu --description /usr/share/applications/synaptic.desktop /usr/sbin/synaptic
+ Icon=synaptic
+ Terminal=false
+ Type=Application
+ Categories=PackageManager;GTK;System;Settings;
+ NotShowIn=KDE;
++X-Ubuntu-Gettext-Domain=synaptic

=== added file 'debian/patches/03_hide_browse_documentation.dpatch'
--- debian/patches/03_hide_browse_documentation.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/03_hide_browse_documentation.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_hide_browse_documentation.dpatch by  <egon@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad synaptic-0.56/gtk/glade/window_main.glade /tmp/dpep.hoGkKb/synaptic-0.56/gtk/glade/window_main.glade
+--- synaptic-0.56/gtk/glade/window_main.glade	2005-02-18 10:44:52.000000000 +0100
++++ /tmp/dpep.hoGkKb/synaptic-0.56/gtk/glade/window_main.glade	2005-02-18 14:44:24.133618576 +0100
+@@ -547,7 +547,7 @@
+ 
+ 		  <child>
+ 		    <widget class="GtkMenuItem" id="menu_documentation">
+-		      <property name="visible">True</property>
++		      <property name="visible">False</property>
+ 		      <property name="label" translatable="yes">_Browse Documentation</property>
+ 		      <property name="use_underline">True</property>
+ 		      <signal name="activate" handler="on_button_pkghelp_clicked" last_modification_time="Tue, 18 May 2004 11:14:00 GMT"/>

=== added file 'debian/patches/03_ubuntu_hide_browse_documentation.dpatch'
--- debian/patches/03_ubuntu_hide_browse_documentation.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/03_ubuntu_hide_browse_documentation.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_hide_browse_documentation.dpatch by  <egon@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad synaptic-0.56/gtk/window_main.glade /tmp/dpep.hoGkKb/synaptic-0.56/gtk/window_main.glade
+--- synaptic-0.56/gtk/window_main.glade	2005-02-18 10:44:52.000000000 +0100
++++ /tmp/dpep.hoGkKb/synaptic-0.56/gtk/window_main.glade	2005-02-18 14:44:24.133618576 +0100
+@@ -547,7 +547,7 @@
+ 
+ 		  <child>
+ 		    <widget class="GtkMenuItem" id="menu_documentation">
+-		      <property name="visible">True</property>
++		      <property name="visible">False</property>
+ 		      <property name="label" translatable="yes">_Browse Documentation</property>
+ 		      <property name="use_underline">True</property>
+ 		      <signal name="activate" handler="on_button_pkghelp_clicked" last_modification_time="Tue, 18 May 2004 11:14:00 GMT"/>

=== added file 'debian/patches/04_ubuntu_lpi.dpatch'
--- debian/patches/04_ubuntu_lpi.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/04_ubuntu_lpi.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,28 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 04_lpi.dpatch by Sebastien Bacher <seb128@debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad --exclude=CVS --exclude=.svn ./gtk/rgmainwindow.cc /tmp/dpep-work.0mVKd2/synaptic-0.57.4.1/gtk/rgmainwindow.cc
+--- ./gtk/rgmainwindow.cc	2005-08-01 13:18:06.000000000 +0200
++++ /tmp/dpep-work.0mVKd2/synaptic-0.57.4.1/gtk/rgmainwindow.cc	2005-08-11 17:35:42.000000000 +0200
+@@ -45,6 +45,8 @@
+ #include <apt-pkg/configuration.h>
+ #include <pwd.h>
+ 
++#include <launchpad-integration.h>
++
+ #include "raptoptions.h"
+ #include "rconfiguration.h"
+ #include "rgmainwindow.h"
+@@ -1017,6 +1019,8 @@
+       gtk_window_maximize(GTK_WINDOW(_win));
+    RGFlushInterface();
+ 
++   widget = glade_xml_get_widget (_gladeXML, "help1_menu");
++   launchpad_integration_add_items (widget, -1, TRUE, TRUE);
+ 
+    glade_xml_signal_connect_data(_gladeXML,
+                                  "on_about_activate",

=== added file 'debian/patches/06_ubuntu_su_to_root.dpatch'
--- debian/patches/06_ubuntu_su_to_root.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/06_ubuntu_su_to_root.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,16 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 06_ubuntu_su_to_root.dpatch by  <egon@localhost.localdomain>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: don't use su, use gksudo instead
+
+@DPATCH@
+diff -urNad trunk/debian/synaptic.menu /tmp/dpep.6IQ8sl/trunk/debian/synaptic.menu
+--- trunk/debian/synaptic.menu	2005-04-06 00:39:28.000000000 +0200
++++ /tmp/dpep.6IQ8sl/trunk/debian/synaptic.menu	2005-05-06 10:33:58.259284776 +0200
+@@ -1,4 +1,4 @@
+ ?package(synaptic):needs="X11" section="Apps/System"\
+   title="Synaptic Package Manager" \
+   icon="/usr/share/synaptic/pixmaps/synaptic_32x32.xpm"\
+-  command="/usr/bin/su-to-root -X -c /usr/sbin/synaptic"
++  command="/usr/bin/gksu /usr/sbin/synaptic"

=== added file 'debian/patches/10_ubuntu_maintenance_gui.dpatch'
--- debian/patches/10_ubuntu_maintenance_gui.dpatch	1970-01-01 00:00:00 +0000
+++ debian/patches/10_ubuntu_maintenance_gui.dpatch	2010-08-01 23:35:56 +0000
@@ -0,0 +1,194 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 10_foo.dpatch
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+@DPATCH@
+diff -urNad ubuntu~/common/rpackagestatus.cc ubuntu/common/rpackagestatus.cc
+--- ubuntu~/common/rpackagestatus.cc	2010-02-24 12:30:23.000000000 +0100
++++ ubuntu/common/rpackagestatus.cc	2010-02-24 12:30:23.000000000 +0100
+@@ -185,7 +185,8 @@
+    pkgTagSection sec;
+    time_t release_date = -1;
+ 
+-   string distro = _config->Find("Synaptic::supported-label");
++   // FIXME: make this use the "labels" vector in the future
++   string distro = _config->Find("Synaptic::supported-label","Ubuntu");
+    string releaseFile = pkg->getReleaseFileForOrigin(distro, release);
+    if(!FileExists(releaseFile)) {
+       // happens e.g. when there is no release file and is harmless
+@@ -209,10 +210,26 @@
+    // now calculate the time until there is support
+    gmtime_r(&release_date, res);
+    
+-   const int support_time =_config->FindI("Synaptic::supported-month", 0);
++   int support_time =_config->FindI("Synaptic::supported-month", 18);
+    if (support_time <= 0)
+       return false;
+ 
++   // check if the package overwrites the support time, this has the
++   // format "5y", "18m" etc
++   string support_time_str = pkg->findTagFromPkgRecord("Supported");
++   size_t len = support_time_str.length();
++   if(len > 1) {
++      int factor = 1;
++      if (support_time_str[len-1] == 'y')
++	 factor = 12;
++      else if (support_time_str[len-1] == 'm')
++	 factor = 1;
++      else 
++	 cerr << "Unknown support tag: " << support_time_str  << endl;
++      // and covert to an integer (skipping the last char 'y')
++      support_time = factor * atoi(support_time_str.substr(0, len-1).c_str());
++   }
++
+    res->tm_year += (support_time / 12) + ((res->tm_mon + support_time % 12) / 12);
+    res->tm_mon = (res->tm_mon + support_time) % 12;
+ 
+diff -urNad ubuntu~/gtk/glade/window_main.glade ubuntu/gtk/glade/window_main.glade
+--- ubuntu~/gtk/glade/window_main.glade	2010-02-24 12:30:23.000000000 +0100
++++ ubuntu/gtk/glade/window_main.glade	2010-02-24 12:30:23.000000000 +0100
+@@ -1351,8 +1351,8 @@
+ 			      <property name="pixels_above_lines">3</property>
+ 			      <property name="pixels_below_lines">3</property>
+ 			      <property name="pixels_inside_wrap">0</property>
+-			      <property name="left_margin">3</property>
+-			      <property name="right_margin">3</property>
++			      <property name="left_margin">12</property>
++			      <property name="right_margin">12</property>
+ 			      <property name="indent">0</property>
+ 			      <property name="text" translatable="yes"></property>
+ 			    </widget>
+diff -urNad ubuntu~/gtk/rgpkgdetails.cc ubuntu/gtk/rgpkgdetails.cc
+--- ubuntu~/gtk/rgpkgdetails.cc	2010-02-24 12:26:40.000000000 +0100
++++ ubuntu/gtk/rgpkgdetails.cc	2010-02-24 12:31:01.000000000 +0100
+@@ -24,6 +24,8 @@
+ #include "config.h"
+ 
+ #include <cassert>
++#include <langinfo.h>
++
+ #include "rgwindow.h"
+ #include "rgmainwindow.h"
+ #include "rgpkgdetails.h"
+@@ -191,33 +193,17 @@
+ 				 "scale", 1.1, 
+ 				 NULL);
+    }
++   if(gtk_text_tag_table_lookup(tag_table, "gray") == NULL) {
++      gtk_text_buffer_create_tag(buf, "gray", 
++				 "foreground", "darkgray", 
++				 NULL);
++   }
+    // set summary
+    s = utf8(pkg->summary());
+    gtk_text_buffer_get_start_iter(buf, &it);
+    gtk_text_buffer_insert(buf, &it, s, -1);
+    gtk_text_buffer_get_start_iter(buf, &start);
+    gtk_text_buffer_apply_tag_by_name(buf, "bold", &start, &it);
+-   // set emblems 
+-   GdkPixbuf *pixbuf = RGPackageStatus::pkgStatus.getSupportedPix(pkg);
+-   if(pixbuf != NULL) {
+-      // insert space
+-      gtk_text_buffer_insert(buf, &it, " ", 1);
+-      // make image
+-      emblem = gtk_image_new_from_pixbuf(pixbuf);
+-      gtk_image_set_pixel_size(GTK_IMAGE(emblem), 16);
+-      // set eventbox and tooltip
+-      GtkWidget *event = gtk_event_box_new();
+-      GtkStyle *style = gtk_widget_get_style(textview);
+-      gtk_widget_modify_bg(event, GTK_STATE_NORMAL, 
+-			   &style->base[GTK_STATE_NORMAL]);
+-      gtk_container_add(GTK_CONTAINER(event), emblem);
+-      gtk_tooltips_set_tip(tips, event, _("This application is supported by the distribution"), "");
+-      // create anchor
+-      GtkTextChildAnchor *anchor = gtk_text_buffer_create_child_anchor(buf, &it);
+-      gtk_text_view_add_child_at_anchor(GTK_TEXT_VIEW(textview), event, anchor);
+-      gtk_widget_show_all(event);
+-   }
+-
+    // add button to get screenshot
+    gtk_text_buffer_insert(buf, &it, "\n", 1);
+    GtkTextChildAnchor *anchor = gtk_text_buffer_create_child_anchor(buf, &it);
+@@ -237,6 +223,58 @@
+    s = utf8(pkg->description());
+    gtk_text_buffer_insert(buf, &it, s, -1);
+    
++   // now check if we have a support time
++   gchar *maint_str = NULL;
++   struct tm end_time;
++   if(pkg->label() == "Ubuntu" && pkg->origin() == "Ubuntu") {
++      gchar *old_lctime = g_strdup(setlocale(LC_TIME, NULL));
++      gchar *new_lctime = g_strdup(setlocale(LC_MESSAGES, NULL));
++      if(RGPackageStatus::pkgStatus.maintenanceEndTime(pkg, &end_time)) {
++         setlocale(LC_TIME, new_lctime);
++ 	 if (pkg->component() == "main")
++ 	    maint_str = g_strdup_printf(_("\n\n"
++ 	    "Canonical provides critical updates for %s "
++ 	    "until %s %i."), 
++ 	    pkg->name(), 
++ 	    nl_langinfo(MON_1+end_time.tm_mon), 
++ 	    end_time.tm_year + 1900);
++ 	 else if (pkg->component() == "restricted")
++ 	    maint_str = g_strdup_printf(_("\n\n"
++ 	    "Canonical provides critical updates "
++ 	    "supplied by the developers of %s "
++ 	    "until %s %i."),
++ 	    pkg->name(), 
++ 	    nl_langinfo(MON_1+end_time.tm_mon), 
++ 	    end_time.tm_year + 1900);
++      } else {
++ 	 if (pkg->component() == "main")
++ 	    maint_str = g_strdup_printf(_("\n\n"
++ 	    "Canonical provides critical updates for %s."),
++ 	    pkg->name());
++ 	 else if (pkg->component() == "restricted")
++ 	    maint_str = g_strdup_printf(_("\n\n"
++ 	    "Canonical provides critical updates "
++ 	    "supplied by the developers of %s."),
++ 	    pkg->name());
++ 	 else if (pkg->component() == "universe" ||
++ 	 pkg->component() == "multiverse") 
++ 	    maint_str = g_strdup_printf(_("\n\n"
++ 	    "Canonical does not provide "
++ 	    "updates for %s. "
++ 	    "Some updates may be provided "
++ 	    "by the Ubuntu community."),
++ 	    pkg->name());
++      }
++      // Restore old locale settings
++      setlocale(LC_TIME, old_lctime);
++      g_free(old_lctime);
++      g_free(new_lctime);
++   }
++   if(maint_str)
++      gtk_text_buffer_insert_with_tags_by_name(buf, 
++      &it, maint_str, -1, 
++      "gray", NULL);
++   g_free(maint_str);
+ 
+    // build dependency lists
+    vector<DepInformation> deps;
+diff -urNad ubuntu~/tests/test_rpackage.cc ubuntu/tests/test_rpackage.cc
+--- ubuntu~/tests/test_rpackage.cc	2010-02-24 12:26:40.000000000 +0100
++++ ubuntu/tests/test_rpackage.cc	2010-02-24 12:30:23.000000000 +0100
+@@ -17,6 +17,7 @@
+    RPackage *pkg = lister->getPackage("eog");
+    cerr << "pkg: " << pkg->name() << endl;
+    cerr << "Bugs: " << pkg->findTagFromPkgRecord("Bugs") << endl;
++   cerr << "Supported: " << pkg->findTagFromPkgRecord("Supported") << endl;
+ 
+    vector<DepInformation> deps = pkg->enumDeps();
+    for(unsigned int i=0;i<deps.size();i++) {
+@@ -37,4 +38,10 @@
+       s = all[i]->getRawRecord();
+    }
+    cerr << "iterating each record: " << float(clock()-now)/CLOCKS_PER_SEC << endl;
++   // read supported info
++   cerr << "Checking for supported info:" << endl;
++   for(int i=0;i<all.size();i++) {
++      if(all[i]->findTagFromPkgRecord("Supported").empty() == false)
++	 cerr << "pkg: " << all[i]->name() << " has support info" << endl;
++   }
+ }

=== added file 'debian/rules'
--- debian/rules	1970-01-01 00:00:00 +0000
+++ debian/rules	2010-08-01 23:35:56 +0000
@@ -0,0 +1,133 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+
+PKG=synaptic
+DEBVER=$(shell dpkg-parsechangelog |sed -n -e '/^Version:/s/^Version: //p')
+CONFVER=$(shell  sed -n -e 's/AM_INIT_AUTOMAKE(synaptic, \(.*\))/\1/p' configure.in)
+DEB_BUILD_PROG:=debuild --preserve-envvar PATH --preserve-envvar CCACHE_DIR -us -uc $(DEB_BUILD_PROG_OPTS)
+
+
+# Rebuild configure.in to have the correct version from the change log
+ifneq ($(DEBVER),$(CONFVER))
+ifneq ($(DEBVER),)
+.PHONY: configure.in
+configure.in:
+	sed -ie 's/$(CONFVER)/$(DEBVER)/' $@ 
+endif
+else
+configure.in:
+endif
+
+# make the package build on ubuntu and debian
+DIST = $(shell lsb_release -i -s)
+COMMON_FLAGS= --prefix=/usr \
+	      --mandir=\$${prefix}/share/man \
+	      --infodir=\$${prefix}/share/info \
+	      --localstatedir=/var/lib/synaptic \
+	      --sysconfdir=/etc --with-vte --with-pkg-hold \
+	      --with-apt-authentication \
+              --enable-ept \
+	      --with-nice-dpkg-status
+
+CREATE_SUPPORTED_PIXMAP="true"
+CONFIGURE_FLAGS = $(COMMON_FLAGS)
+
+# special case for ubuntu
+ifeq "$(DIST)" "Ubuntu"
+	CONFIGURE_FLAGS = $(COMMON_FLAGS) --with-launchpad-integration
+	CREATE_SUPPORTED_PIXMAP=uudecode debian/package-supported.png.uu -o $(CURDIR)/debian/synaptic/usr/share/icons/hicolor/16x16/actions/package-supported.png
+endif
+
+
+configure: configure.in
+configure-stamp:
+	dh_testdir
+	./configure  $(CONFIGURE_FLAGS) 
+	touch $@
+
+build: build-stamp 
+build-stamp: configure-stamp patch
+	dh_testdir
+	$(MAKE)
+	(cd po;intltool-update -p --verbose)
+	touch build-stamp
+
+
+clean: clean1 unpatch
+clean1: 
+	dh_testdir
+	dh_testroot
+	rm -f configure-stamp build-stamp install-stamp 
+	if [ -f Makefile ]; then $(MAKE) distclean; fi
+	dh_clean
+
+install: install-stamp
+install-stamp: build-stamp
+	dh_testdir
+	dh_testroot
+	dh_clean -k
+	dh_installdirs -psynaptic
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/synaptic	
+	$(CREATE_SUPPORTED_PIXMAP)
+	cp debian/synaptic_32x32.xpm $(CURDIR)/debian/synaptic/usr/share/synaptic/pixmaps
+
+
+# Build architecture-independent files here.
+binary-indep: build install
+# We have nothing to do here
+
+# Build architecture-dependent files here.
+binary-arch: build install synaptic 
+
+
+synaptic: build
+	dh_testdir -psynaptic
+	dh_testroot -psynaptic
+	dh_installdocs -psynaptic
+	dh_scrollkeeper -psynaptic
+	dh_installman -psynaptic man/synaptic.es.8 man/synaptic.fr.8 man/synaptic.tr.8 man/synaptic.pt_BR.8
+	dh_installmenu -psynaptic
+	dh_installchangelogs ChangeLog -psynaptic
+	dh_icons -psynaptic
+	dh_link -psynaptic
+	dh_strip -psynaptic
+	dh_compress -psynaptic
+	dh_fixperms -psynaptic
+	dh_installdeb -psynaptic
+	dh_shlibdeps -psynaptic
+	dh_gencontrol -psynaptic
+	dh_md5sums -psynaptic
+	dh_builddeb -psynaptic
+
+
+patch: patch-stamp
+patch-stamp:
+	cp debian/patches/00list.$(DIST) debian/patches/00list
+	dpatch apply-all
+	touch patch-stamp
+
+unpatch:
+	cp debian/patches/00list.$(DIST) debian/patches/00list
+	dpatch deapply-all
+	rm -rf patch-stamp debian/patched
+
+#svn-build: configure.in
+#	rm -rf debian/svn-build
+#	mkdir -p debian/svn-build/synaptic-$(S_DEBVER)
+#	svn ls -R | xargs tar --no-recursion -c -v -f -  | (cd debian/svn-build/synaptic-$(S_DEBVER) ; tar xf -)
+#	debian/svn-build/synaptic-$(S_DEBVER)/autogen.sh
+#	(cd debian/svn-build/synaptic-$(S_DEBVER); $(DEB_BUILD_PROG))
+
+#arch-build: configure.in
+#	rm -rf debian/arch-build
+#	mkdir -p debian/arch-build/$(PKG)-$(DEBVER)
+#	tar -c --exclude=arch-build -f - `bzr inventory` | (cd debian/arch-build/$(PKG)-$(DEBVER);tar xf -)
+#	debian/arch-build/$(PKG)-$(DEBVER)/autogen.sh
+#	(cd debian/arch-build/$(PKG)-$(DEBVER) && $(DEB_BUILD_PROG))
+
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install patch unpatch

=== added file 'debian/rules.debian'
--- debian/rules.debian	1970-01-01 00:00:00 +0000
+++ debian/rules.debian	2010-08-01 23:35:56 +0000
@@ -0,0 +1,114 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This is the debhelper compatability version to use.
+export DH_COMPAT=3
+
+build: build-stamp
+build-stamp: patch
+	dh_testdir
+	./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --sysconfdir=/etc --with-vte --with-pkg-hold 
+	$(MAKE)
+	touch build-stamp
+
+
+#build-debtags: build-debtags-stamp
+#build-debtags-stamp:
+#	dh_testdir 
+#	./configure --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info --sysconfdir=/etc --with-vte --with-debian-description-parser --with-pkg-hold --with-debtags
+#	$(MAKE)
+#	touch build-debtags-stamp
+
+
+clean: clean1 unpatch
+clean1: 
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp build-debtags-stamp install-stamp install-debtags-stamp
+	-$(MAKE) distclean
+	dh_clean
+
+#clean-debtags:
+#	dh_testdir
+#	dh_testroot
+#	rm -f build-stamp build-debtags-stamp install-stamp install-debtags-stamp
+#	dh_clean -k
+
+install: install-stamp
+in