PSARC/2012/123 Replace slocate(1) with mlocate(1) s11-update
authorEdwin Beasant <Edwin.Beasant@oracle.com>
Thu, 04 Apr 2013 20:41:44 +0100
branchs11-update
changeset 2549 66da0486207a
parent 2542 0c4450823548
child 2550 02b339f70efd
PSARC/2012/123 Replace slocate(1) with mlocate(1) 15803513 SUNBT7183731 mlocate should be added to the Userland consolidation
components/mlocate/Makefile
components/mlocate/files/updatedb.conf
components/mlocate/mlocate.license
components/mlocate/mlocate.p5m
components/mlocate/patches/ac_lang_quoted.patch
components/mlocate/patches/getmntent-gnulib.patch
components/mlocate/patches/htonll-configure.patch
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/Makefile	Thu Apr 04 20:41:44 2013 +0100
@@ -0,0 +1,64 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+#
+
+include ../../make-rules/shared-macros.mk
+
+COMPONENT_NAME=         mlocate
+COMPONENT_VERSION=      0.25
+COMPONENT_PROJECT_URL=  https://fedorahosted.org/mlocate
+COMPONENT_SRC=          $(COMPONENT_NAME)-$(COMPONENT_VERSION)
+COMPONENT_ARCHIVE=      $(COMPONENT_SRC).tar.xz
+COMPONENT_ARCHIVE_HASH= \
+    sha256:ab95c111f9dba35b5690896180dd0a7639dbf07d70b862fcb0731264d9273951
+COMPONENT_ARCHIVE_URL=  https://fedorahosted.org/releases/m/l/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
+
+COMPONENT_BUGDB = utility/mlocate
+
+include ../../make-rules/prep.mk
+include ../../make-rules/configure.mk
+include ../../make-rules/ips.mk
+
+CONFIGURE_OPTIONS.64 +=    CC="$(CC) -m64"
+CONFIGURE_OPTIONS += --localstatedir="/var/cache"
+CONFIGURE_OPTIONS += --sysconfdir="/etc"
+
+COMPONENT_PREP_ACTION = (cd $(@D) ; autoreconf -f && automake)
+COMPONENT_POST_INSTALL_ACTION= \
+    @$(MKDIR) -p $(PROTO_DIR)/etc/; \
+    $(CP) files/updatedb.conf $(PROTO_DIR)/etc/ 
+
+# Enable aslr for this component
+ASLR_MODE = $(ASLR_ENABLE)
+
+# common targets
+build:		$(BUILD_64) 
+
+install:	$(INSTALL_64) 
+		
+test:		$(NO_TESTS)
+
+BUILD_PKG_DEPENDENCIES =	$(BUILD_TOOLS)
+
+include ../../make-rules/depend.mk
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/files/updatedb.conf	Thu Apr 04 20:41:44 2013 +0100
@@ -0,0 +1,8 @@
+# This file sets environment variables which are used by updatedb
+
+# filesystems which are pruned from updatedb database
+PRUNEFS="autofs ctfs dev fd hsfs lofs mntfs nfs objfs proc smbfs tmpfs uvfs"
+
+# paths which are pruned from updatedb database
+PRUNEPATHS="/cdrom /media /tmp /var/tmp"
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/mlocate.license	Thu Apr 04 20:41:44 2013 +0100
@@ -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.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/mlocate.p5m	Thu Apr 04 20:41:44 2013 +0100
@@ -0,0 +1,166 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+#
+
+<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
+set name=pkg.fmri \
+    value=pkg:/file/[email protected]$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
+set name=pkg.summary value="Merging fast file location utility"
+set name=pkg.description \
+    value="mlocate is a 'merging' implementation of locate(1), the fast file location utility. The 'm' stands for 'merging': updatedb tool reuses the existing database to avoid rereading most of the file system, which makes updatedb faster."
+set name=info.classification \
+    value="org.opensolaris.category.2008:Applications/System Utilities"
+set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
+set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
+set name=org.opensolaris.arc-caseid value=PSARC/2012/123
+set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
+file path=etc/updatedb.conf mode=0644 overlay=allow preserve=true
+dir  path=usr
+dir  path=usr/bin
+file usr/bin/$(MACH64)/locate path=usr/bin/locate group=mlocate mode=2555
+file usr/bin/$(MACH64)/updatedb path=usr/sbin/updatedb group=mlocate mode=2555
+dir  path=usr/share
+dir  path=usr/share/locale
+dir  path=usr/share/locale/ar
+dir  path=usr/share/locale/ar/LC_MESSAGES
+file path=usr/share/locale/ar/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/as
+dir  path=usr/share/locale/as/LC_MESSAGES
+file path=usr/share/locale/as/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ast
+dir  path=usr/share/locale/ast/LC_MESSAGES
+file path=usr/share/locale/ast/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/bg
+dir  path=usr/share/locale/bg/LC_MESSAGES
+file path=usr/share/locale/bg/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/bs
+dir  path=usr/share/locale/bs/LC_MESSAGES
+file path=usr/share/locale/bs/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ca
+dir  path=usr/share/locale/ca/LC_MESSAGES
+file path=usr/share/locale/ca/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/cs
+dir  path=usr/share/locale/cs/LC_MESSAGES
+file path=usr/share/locale/cs/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/da
+dir  path=usr/share/locale/da/LC_MESSAGES
+file path=usr/share/locale/da/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/de
+dir  path=usr/share/locale/de/LC_MESSAGES
+file path=usr/share/locale/de/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/el
+dir  path=usr/share/locale/el/LC_MESSAGES
+file path=usr/share/locale/el/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/en_GB
+dir  path=usr/share/locale/en_GB/LC_MESSAGES
+file path=usr/share/locale/en_GB/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/es
+dir  path=usr/share/locale/es/LC_MESSAGES
+file path=usr/share/locale/es/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/et
+dir  path=usr/share/locale/et/LC_MESSAGES
+file path=usr/share/locale/et/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/fa
+dir  path=usr/share/locale/fa/LC_MESSAGES
+file path=usr/share/locale/fa/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/fi
+dir  path=usr/share/locale/fi/LC_MESSAGES
+file path=usr/share/locale/fi/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/fr
+dir  path=usr/share/locale/fr/LC_MESSAGES
+file path=usr/share/locale/fr/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/gu
+dir  path=usr/share/locale/gu/LC_MESSAGES
+file path=usr/share/locale/gu/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/hu
+dir  path=usr/share/locale/hu/LC_MESSAGES
+file path=usr/share/locale/hu/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/it
+dir  path=usr/share/locale/it/LC_MESSAGES
+file path=usr/share/locale/it/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ja
+dir  path=usr/share/locale/ja/LC_MESSAGES
+file path=usr/share/locale/ja/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ko
+dir  path=usr/share/locale/ko/LC_MESSAGES
+file path=usr/share/locale/ko/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/lv
+dir  path=usr/share/locale/lv/LC_MESSAGES
+file path=usr/share/locale/lv/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ms
+dir  path=usr/share/locale/ms/LC_MESSAGES
+file path=usr/share/locale/ms/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/nds
+dir  path=usr/share/locale/nds/LC_MESSAGES
+file path=usr/share/locale/nds/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/nl
+dir  path=usr/share/locale/nl/LC_MESSAGES
+file path=usr/share/locale/nl/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/pl
+dir  path=usr/share/locale/pl/LC_MESSAGES
+file path=usr/share/locale/pl/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/pt
+dir  path=usr/share/locale/pt/LC_MESSAGES
+file path=usr/share/locale/pt/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/pt_BR
+dir  path=usr/share/locale/pt_BR/LC_MESSAGES
+file path=usr/share/locale/pt_BR/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ru
+dir  path=usr/share/locale/ru/LC_MESSAGES
+file path=usr/share/locale/ru/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/sr
+dir  path=usr/share/locale/sr/LC_MESSAGES
+file path=usr/share/locale/sr/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/[email protected]
+dir  path=usr/share/locale/[email protected]/LC_MESSAGES
+file path=usr/share/locale/[email protected]/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/sv
+dir  path=usr/share/locale/sv/LC_MESSAGES
+file path=usr/share/locale/sv/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/ta
+dir  path=usr/share/locale/ta/LC_MESSAGES
+file path=usr/share/locale/ta/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/tr
+dir  path=usr/share/locale/tr/LC_MESSAGES
+file path=usr/share/locale/tr/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/uk
+dir  path=usr/share/locale/uk/LC_MESSAGES
+file path=usr/share/locale/uk/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/zh_CN
+dir  path=usr/share/locale/zh_CN/LC_MESSAGES
+file path=usr/share/locale/zh_CN/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/locale/zh_TW
+dir  path=usr/share/locale/zh_TW/LC_MESSAGES
+file path=usr/share/locale/zh_TW/LC_MESSAGES/mlocate.mo
+dir  path=usr/share/man
+dir  path=usr/share/man/man1
+file path=usr/share/man/man1/locate.1
+dir  path=usr/share/man/man5
+file path=usr/share/man/man5/mlocate.db.5
+file path=usr/share/man/man5/updatedb.conf.5
+dir  path=usr/share/man/man8
+file path=usr/share/man/man8/updatedb.8
+dir  path=var
+dir  path=var/cache
+dir  path=var/cache/mlocate group=mlocate
+group groupname=mlocate gid=95
+license mlocate.license license=GPLv2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/patches/ac_lang_quoted.patch	Thu Apr 04 20:41:44 2013 +0100
@@ -0,0 +1,30 @@
+This patch fixes the lack of AC_LANG_PROGRAM in conditionals that contain
+raw code, which generates errors from autoconf when re-run on the package.
+We have upstream support ticket #12 to track the Solaris port, available
+at: https://fedorahosted.org/mlocate/ticket/12
+diff -rupN mlocate-0.25-clean/gnulib/m4/include_next.m4 mlocate-0.25/gnulib/m4/include_next.m4
+--- mlocate-0.25-clean/gnulib/m4/include_next.m4	2010-03-26 19:38:17.000000000 +0000
++++ mlocate-0.25/gnulib/m4/include_next.m4	2013-02-18 19:01:29.072014923 +0000
[email protected]@ -30,7 +30,7 @@ EOF
+ EOF
+      save_CPPFLAGS="$CPPFLAGS"
+      CPPFLAGS="$CPPFLAGS -Iconftestd1 -Iconftestd2"
+-     AC_COMPILE_IFELSE([#include <conftest.h>],
++     AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <conftest.h>])],
+        [gl_cv_have_include_next=yes],
+        [gl_cv_have_include_next=no])
+      CPPFLAGS="$save_CPPFLAGS"
+diff -rupN mlocate-0.25-clean/gnulib/m4/wchar.m4 mlocate-0.25/gnulib/m4/wchar.m4
+--- mlocate-0.25-clean/gnulib/m4/wchar.m4	2010-03-26 19:38:18.000000000 +0000
++++ mlocate-0.25/gnulib/m4/wchar.m4	2013-02-18 19:03:20.362999117 +0000
[email protected]@ -14,8 +14,8 @@ AC_DEFUN([gl_WCHAR_H],
+   AC_REQUIRE([gl_WCHAR_H_DEFAULTS])
+   AC_CACHE_CHECK([whether <wchar.h> is standalone],
+     [gl_cv_header_wchar_h_standalone],
+-    [AC_COMPILE_IFELSE([[#include <wchar.h>
+-wchar_t w;]],
++    [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <wchar.h>
++wchar_t w;])],
+       [gl_cv_header_wchar_h_standalone=yes],
+       [gl_cv_header_wchar_h_standalone=no])])
+   if test $gl_cv_header_wchar_h_standalone != yes; then
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/patches/getmntent-gnulib.patch	Thu Apr 04 20:41:44 2013 +0100
@@ -0,0 +1,433 @@
+This patch adds the configure rules and the conditional compilation to
+allow the code to be compiled on Solaris 11, which uses a 2 argument
+version of getmntent()
+We have upstream support ticket #12 to track the Solaris port, available
+at: https://fedorahosted.org/mlocate/ticket/12
+diff -rupN mlocate-0.25-htonll/configure.ac mlocate-0.25/configure.ac
+--- mlocate-0.25-htonll/configure.ac	2013-02-18 22:18:47.880624254 +0000
++++ mlocate-0.25/configure.ac	2013-02-18 22:38:01.215736074 +0000
[email protected]@ -55,6 +55,8 @@ AC_FUNC_GETMNTENT
+ # Checks for system services.
+ AC_SYS_LARGEFILE
+ 
++gl_LIST_MOUNTED_FILE_SYSTEMS
++
+ AC_CACHE_CHECK([for mounted filesystem table in /proc],
+ 	       [mitr_cv_sys_proc_mounts],
+ [mitr_cv_sys_proc_mounts=no
+diff -rupN mlocate-0.25-htonll/gnulib/m4/ls-mntd-fs.m4 mlocate-0.25/gnulib/m4/ls-mntd-fs.m4
+--- mlocate-0.25-htonll/gnulib/m4/ls-mntd-fs.m4	1970-01-01 01:00:00.000000000 +0100
++++ mlocate-0.25/gnulib/m4/ls-mntd-fs.m4	2013-02-18 22:38:13.068889474 +0000
[email protected]@ -0,0 +1,337 @@
++#serial 26
++# How to list mounted file systems.
++
++# Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 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.
++
++dnl From Jim Meyering.
++dnl
++dnl This is not pretty.  I've just taken the autoconf code and wrapped
++dnl it in an AC_DEFUN and made some other fixes.
++dnl
++
++# Replace Autoconf's AC_FUNC_GETMNTENT to work around a bug in Autoconf
++# through Autoconf 2.59.  We can remove this once we assume Autoconf 2.60
++# or later.
++AC_DEFUN([AC_FUNC_GETMNTENT],
++[# getmntent is in the standard C library on UNICOS, in -lsun on Irix 4,
++# -lseq on Dynix/PTX, -lgen on Unixware.
++AC_SEARCH_LIBS(getmntent, [sun seq gen])
++AC_CHECK_FUNCS(getmntent)
++])
++
++# gl_LIST_MOUNTED_FILE_SYSTEMS([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
++AC_DEFUN([gl_LIST_MOUNTED_FILE_SYSTEMS],
++  [
++AC_CHECK_FUNCS(listmntent getmntinfo)
++AC_CHECK_HEADERS_ONCE(sys/param.h sys/statvfs.h)
++
++# We must include grp.h before ucred.h on OSF V4.0, since ucred.h uses
++# NGROUPS (as the array dimension for a struct member) without a definition.
++AC_CHECK_HEADERS(sys/ucred.h, [], [], [#include <grp.h>])
++
++AC_CHECK_HEADERS(sys/mount.h, [], [],
++  [AC_INCLUDES_DEFAULT
++   [#if HAVE_SYS_PARAM_H
++     #include <sys/param.h>
++    #endif]])
++
++AC_CHECK_HEADERS(mntent.h sys/fs_types.h)
++    getfsstat_includes="\
++$ac_includes_default
++#if HAVE_SYS_PARAM_H
++# include <sys/param.h> /* needed by powerpc-apple-darwin1.3.7 */
++#endif
++#if HAVE_SYS_UCRED_H
++# include <grp.h> /* needed for definition of NGROUPS */
++# include <sys/ucred.h> /* needed by powerpc-apple-darwin1.3.7 */
++#endif
++#if HAVE_SYS_MOUNT_H
++# include <sys/mount.h>
++#endif
++#if HAVE_SYS_FS_TYPES_H
++# include <sys/fs_types.h> /* needed by powerpc-apple-darwin1.3.7 */
++#endif
++"
++AC_CHECK_MEMBERS([struct fsstat.f_fstypename],,,[$getfsstat_includes])
++
++# Determine how to get the list of mounted file systems.
++ac_list_mounted_fs=
++
++# If the getmntent function is available but not in the standard library,
++# make sure LIBS contains the appropriate -l option.
++AC_FUNC_GETMNTENT
++
++# This test must precede the ones for getmntent because Unicos-9 is
++# reported to have the getmntent function, but its support is incompatible
++# with other getmntent implementations.
++
++# NOTE: Normally, I wouldn't use a check for system type as I've done for
++# `CRAY' below since that goes against the whole autoconf philosophy.  But
++# I think there is too great a chance that some non-Cray system has a
++# function named listmntent to risk the false positive.
++
++if test -z "$ac_list_mounted_fs"; then
++  # Cray UNICOS 9
++  AC_MSG_CHECKING([for listmntent of Cray/Unicos-9])
++  AC_CACHE_VAL(fu_cv_sys_mounted_cray_listmntent,
++    [fu_cv_sys_mounted_cray_listmntent=no
++      AC_EGREP_CPP(yes,
++        [#ifdef _CRAY
++yes
++#endif
++        ], [test $ac_cv_func_listmntent = yes \
++	    && fu_cv_sys_mounted_cray_listmntent=yes]
++      )
++    ]
++  )
++  AC_MSG_RESULT($fu_cv_sys_mounted_cray_listmntent)
++  if test $fu_cv_sys_mounted_cray_listmntent = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_LISTMNTENT, 1,
++      [Define if there is a function named listmntent that can be used to
++       list all mounted file systems.  (UNICOS)])
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # AIX.
++  AC_MSG_CHECKING([for mntctl function and struct vmount])
++  AC_CACHE_VAL(fu_cv_sys_mounted_vmount,
++  [AC_TRY_CPP([#include <fshelp.h>],
++    fu_cv_sys_mounted_vmount=yes,
++    fu_cv_sys_mounted_vmount=no)])
++  AC_MSG_RESULT($fu_cv_sys_mounted_vmount)
++  if test $fu_cv_sys_mounted_vmount = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_VMOUNT, 1,
++	[Define if there is a function named mntctl that can be used to read
++         the list of mounted file systems, and there is a system header file
++         that declares `struct vmount.'  (AIX)])
++  fi
++fi
++
++if test $ac_cv_func_getmntent = yes; then
++
++  # This system has the getmntent function.
++  # Determine whether it's the one-argument variant or the two-argument one.
++
++  if test -z "$ac_list_mounted_fs"; then
++    # 4.3BSD, SunOS, HP-UX, Dynix, Irix
++    AC_MSG_CHECKING([for one-argument getmntent function])
++    AC_CACHE_VAL(fu_cv_sys_mounted_getmntent1,
++		 [AC_TRY_COMPILE([
++/* SunOS 4.1.x /usr/include/mntent.h needs this for FILE */
++#include <stdio.h>
++
++#include <mntent.h>
++#if !defined MOUNTED
++# if defined _PATH_MOUNTED	/* GNU libc  */
++#  define MOUNTED _PATH_MOUNTED
++# endif
++# if defined MNT_MNTTAB	/* HP-UX.  */
++#  define MOUNTED MNT_MNTTAB
++# endif
++# if defined MNTTABNAME	/* Dynix.  */
++#  define MOUNTED MNTTABNAME
++# endif
++#endif
++],
++                    [ struct mntent *mnt = 0; char *table = MOUNTED;
++		      if (sizeof mnt && sizeof table) return 0;],
++		    fu_cv_sys_mounted_getmntent1=yes,
++		    fu_cv_sys_mounted_getmntent1=no)])
++    AC_MSG_RESULT($fu_cv_sys_mounted_getmntent1)
++    if test $fu_cv_sys_mounted_getmntent1 = yes; then
++      ac_list_mounted_fs=found
++      AC_DEFINE(MOUNTED_GETMNTENT1, 1,
++        [Define if there is a function named getmntent for reading the list
++         of mounted file systems, and that function takes a single argument.
++         (4.3BSD, SunOS, HP-UX, Dynix, Irix)])
++    fi
++  fi
++
++  if test -z "$ac_list_mounted_fs"; then
++    # SVR4
++    AC_MSG_CHECKING([for two-argument getmntent function])
++    AC_CACHE_VAL(fu_cv_sys_mounted_getmntent2,
++    [AC_EGREP_HEADER(getmntent, sys/mnttab.h,
++      fu_cv_sys_mounted_getmntent2=yes,
++      fu_cv_sys_mounted_getmntent2=no)])
++    AC_MSG_RESULT($fu_cv_sys_mounted_getmntent2)
++    if test $fu_cv_sys_mounted_getmntent2 = yes; then
++      ac_list_mounted_fs=found
++      AC_DEFINE(MOUNTED_GETMNTENT2, 1,
++        [Define if there is a function named getmntent for reading the list of
++         mounted file systems, and that function takes two arguments.  (SVR4)])
++      AC_CHECK_FUNCS(hasmntopt)
++    fi
++  fi
++
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # DEC Alpha running OSF/1, and Apple Darwin 1.3.
++  # powerpc-apple-darwin1.3.7 needs sys/param.h sys/ucred.h sys/fs_types.h
++
++  AC_MSG_CHECKING([for getfsstat function])
++  AC_CACHE_VAL(fu_cv_sys_mounted_getfsstat,
++  [AC_TRY_LINK([
++#include <sys/types.h>
++#if HAVE_STRUCT_FSSTAT_F_FSTYPENAME
++# define FS_TYPE(Ent) ((Ent).f_fstypename)
++#else
++# define FS_TYPE(Ent) mnt_names[(Ent).f_type]
++#endif
++]$getfsstat_includes
++,
++  [struct statfs *stats;
++   int numsys = getfsstat ((struct statfs *)0, 0L, MNT_WAIT);
++   char *t = FS_TYPE (*stats); ],
++    fu_cv_sys_mounted_getfsstat=yes,
++    fu_cv_sys_mounted_getfsstat=no)])
++  AC_MSG_RESULT($fu_cv_sys_mounted_getfsstat)
++  if test $fu_cv_sys_mounted_getfsstat = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_GETFSSTAT, 1,
++	      [Define if there is a function named getfsstat for reading the
++               list of mounted file systems.  (DEC Alpha running OSF/1)])
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # SVR3
++  AC_MSG_CHECKING([for FIXME existence of three headers])
++  AC_CACHE_VAL(fu_cv_sys_mounted_fread_fstyp,
++    [AC_TRY_CPP([
++#include <sys/statfs.h>
++#include <sys/fstyp.h>
++#include <mnttab.h>],
++		fu_cv_sys_mounted_fread_fstyp=yes,
++		fu_cv_sys_mounted_fread_fstyp=no)])
++  AC_MSG_RESULT($fu_cv_sys_mounted_fread_fstyp)
++  if test $fu_cv_sys_mounted_fread_fstyp = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_FREAD_FSTYP, 1,
++      [Define if (like SVR2) there is no specific function for reading the
++       list of mounted file systems, and your system has these header files:
++       <sys/fstyp.h> and <sys/statfs.h>.  (SVR3)])
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # 4.4BSD and DEC OSF/1.
++  AC_MSG_CHECKING([for getmntinfo function])
++  AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo,
++    [
++      test "$ac_cv_func_getmntinfo" = yes \
++	  && fu_cv_sys_mounted_getmntinfo=yes \
++	  || fu_cv_sys_mounted_getmntinfo=no
++    ])
++  AC_MSG_RESULT($fu_cv_sys_mounted_getmntinfo)
++  if test $fu_cv_sys_mounted_getmntinfo = yes; then
++    AC_MSG_CHECKING([whether getmntinfo returns statvfs structures])
++    AC_CACHE_VAL(fu_cv_sys_mounted_getmntinfo2,
++      [
++        AC_TRY_COMPILE([
++#if HAVE_SYS_PARAM_H
++# include <sys/param.h>
++#endif
++#include <sys/types.h>
++#if HAVE_SYS_MOUNT_H
++# include <sys/mount.h>
++#endif
++#if HAVE_SYS_STATVFS_H
++# include <sys/statvfs.h>
++#endif
++extern int getmntinfo (struct statfs **, int);
++          ], [],
++          [fu_cv_sys_mounted_getmntinfo2=no],
++          [fu_cv_sys_mounted_getmntinfo2=yes])
++      ])
++    AC_MSG_RESULT([$fu_cv_sys_mounted_getmntinfo2])
++    if test $fu_cv_sys_mounted_getmntinfo2 = no; then
++      ac_list_mounted_fs=found
++      AC_DEFINE(MOUNTED_GETMNTINFO, 1,
++	        [Define if there is a function named getmntinfo for reading the
++                 list of mounted file systems and it returns an array of
++                 'struct statfs'.  (4.4BSD, Darwin)])
++    else
++      ac_list_mounted_fs=found
++      AC_DEFINE(MOUNTED_GETMNTINFO2, 1,
++	        [Define if there is a function named getmntinfo for reading the
++                 list of mounted file systems and it returns an array of
++                 'struct statvfs'.  (NetBSD 3.0)])
++    fi
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # Ultrix
++  AC_MSG_CHECKING([for getmnt function])
++  AC_CACHE_VAL(fu_cv_sys_mounted_getmnt,
++    [AC_TRY_CPP([
++#include <sys/fs_types.h>
++#include <sys/mount.h>],
++		fu_cv_sys_mounted_getmnt=yes,
++		fu_cv_sys_mounted_getmnt=no)])
++  AC_MSG_RESULT($fu_cv_sys_mounted_getmnt)
++  if test $fu_cv_sys_mounted_getmnt = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_GETMNT, 1,
++      [Define if there is a function named getmnt for reading the list of
++       mounted file systems.  (Ultrix)])
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # BeOS
++  AC_CHECK_FUNCS(next_dev fs_stat_dev)
++  AC_CHECK_HEADERS(fs_info.h)
++  AC_MSG_CHECKING([for BEOS mounted file system support functions])
++  if test $ac_cv_header_fs_info_h = yes \
++      && test $ac_cv_func_next_dev = yes \
++	&& test $ac_cv_func_fs_stat_dev = yes; then
++    fu_result=yes
++  else
++    fu_result=no
++  fi
++  AC_MSG_RESULT($fu_result)
++  if test $fu_result = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_FS_STAT_DEV, 1,
++      [Define if there are functions named next_dev and fs_stat_dev for
++       reading the list of mounted file systems.  (BeOS)])
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  # SVR2
++  AC_MSG_CHECKING([whether it is possible to resort to fread on /etc/mnttab])
++  AC_CACHE_VAL(fu_cv_sys_mounted_fread,
++    [AC_TRY_CPP([#include <mnttab.h>],
++		fu_cv_sys_mounted_fread=yes,
++		fu_cv_sys_mounted_fread=no)])
++  AC_MSG_RESULT($fu_cv_sys_mounted_fread)
++  if test $fu_cv_sys_mounted_fread = yes; then
++    ac_list_mounted_fs=found
++    AC_DEFINE(MOUNTED_FREAD, 1,
++	      [Define if there is no specific function for reading the list of
++               mounted file systems.  fread will be used to read /etc/mnttab.
++               (SVR2) ])
++  fi
++fi
++
++if test -z "$ac_list_mounted_fs"; then
++  AC_MSG_ERROR([could not determine how to read list of mounted file systems])
++  # FIXME -- no need to abort building the whole package
++  # Can't build mountlist.c or anything that needs its functions
++fi
++
++AS_IF([test $ac_list_mounted_fs = found], [$1], [$2])
++
++  ])
+diff -rupN mlocate-0.25-htonll/src/updatedb.c mlocate-0.25/src/updatedb.c
+--- mlocate-0.25-htonll/src/updatedb.c	2011-12-11 23:13:18.000000000 +0000
++++ mlocate-0.25/src/updatedb.c	2013-02-18 22:37:53.812745988 +0000
[email protected]@ -36,7 +36,15 @@ Author: Miloslav Trmac <[email protected]>
+ #include <sys/time.h>
+ #include <unistd.h>
+ 
++#if defined (MOUNTED_GETMNTENT1)
+ #include <mntent.h>
++#else
++#if defined (MOUNTED_GETMNTENT2)
++#include <sys/mnttab.h>
++#else
++#error "No valid getmntent() #include defined"
++#endif
++#endif
+ #include "error.h"
+ #include "fwriteerror.h"
+ #include "obstack.h"
[email protected]@ -53,7 +61,11 @@ Author: Miloslav Trmac <[email protected]>
+ #ifdef PROC_MOUNTS_PATH
+ #define MOUNT_TABLE_PATH PROC_MOUNTS_PATH
+ #else
++#ifdef _PATH_MOUNTED
+ #define MOUNT_TABLE_PATH _PATH_MOUNTED
++#else
++#define MOUNT_TABLE_PATH MNTTAB
++#endif
+ #endif
+ 
+ /* A directory entry in memory */
[email protected]@ -334,7 +346,21 @@ filesystem_is_excluded (const char *path
+   static size_t type_size; /* = 0; */
+ 
+   FILE *f;
++#if defined (MOUNTED_GETMNTENT1)
+   struct mntent *me;
++#else
++#if defined (MOUNTED_GETMNTENT2)
++  struct mnttab me_local;
++  /* Convenience pointer */
++  struct mnttab *me = &me_local;
++  /* Macro substitution to make the structure members correct */
++#define mnt_type mnt_fstype
++#define mnt_dir mnt_mountp
++  /* setmntent() and endmntent() are undefined in this envonronment */
++#define setmntent(x,y) fopen(x,y)
++#define endmntent(x) fclose(x)
++#endif
++#endif
+   bool res;
+ 
+   if (conf_debug_pruning != false)
[email protected]@ -344,7 +370,13 @@ filesystem_is_excluded (const char *path
+   f = setmntent (MOUNT_TABLE_PATH, "r");
+   if (f == NULL)
+     goto err;
++#if defined (MOUNTED_GETMNTENT1)
+   while ((me = getmntent (f)) != NULL)
++#else
++#if defined (MOUNTED_GETMNTENT2)
++  while ((getmntent (f, me)) == 0)
++#endif
++#endif
+     {
+       char *p;
+       size_t size;
[email protected]@ -367,7 +399,6 @@ filesystem_is_excluded (const char *path
+ 	  dir = canonicalize_file_name (me->mnt_dir);
+ 	  if (dir == NULL)
+ 	    dir = me->mnt_dir;
+-#else
+ 	  /* Paths in /proc/self/mounts contain no symbolic links.  Besides
+ 	     avoiding a few system calls, avoiding the realpath () avoids hangs
+ 	     if the filesystem is unavailable hard-mounted NFS. */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/mlocate/patches/htonll-configure.patch	Thu Apr 04 20:41:44 2013 +0100
@@ -0,0 +1,64 @@
+This patch removes htonll/ntohll substitution on platforms that already
+support it.
+We have upstream support ticket #12 to track the Solaris port, available
+at: https://fedorahosted.org/mlocate/ticket/12
+diff -rupN mlocate-0.25-clean/configure.ac mlocate-0.25/configure.ac
+--- mlocate-0.25-clean/configure.ac	2012-03-03 04:58:54.000000000 +0000
++++ mlocate-0.25/configure.ac	2013-02-18 20:09:21.901723375 +0000
[email protected]@ -48,6 +48,8 @@ AM_GNU_GETTEXT_VERSION([0.17])
+ # Checks for library functions.
+ ## getopt_long () availability should be checked here
+ AC_CHECK_FUNCS_ONCE([fdopendir])
++AC_CHECK_FUNCS_ONCE([htonll])
++AC_CHECK_FUNCS_ONCE([ntohll])
+ AC_FUNC_GETMNTENT
+ 
+ # Checks for system services.
+diff -rupN mlocate-0.25-clean/src/lib.c mlocate-0.25/src/lib.c
+--- mlocate-0.25-clean/src/lib.c	2011-04-28 16:20:42.000000000 +0100
++++ mlocate-0.25/src/lib.c	2013-02-18 20:09:43.618165760 +0000
[email protected]@ -36,6 +36,7 @@ Author: Miloslav Trmac <[email protected]>
+ #include "db.h"
+ #include "lib.h"
+ 
++#if !defined (HAVE_HTONLL)
+ /* Convert VAL to big endian */
+ uint64_t
+ htonll (uint64_t val)
[email protected]@ -50,7 +51,9 @@ htonll (uint64_t val)
+   memcpy ((unsigned char *)&ret + sizeof (high), &low, sizeof (low));
+   return ret;
+ }
++#endif
+ 
++#if !defined (HAVE_NTOHLL)
+ /* Convert VAL from big endian */
+ uint64_t
+ ntohll (uint64_t val)
[email protected]@ -62,6 +65,7 @@ ntohll (uint64_t val)
+   memcpy (&low, (unsigned char *)&val + sizeof (high), sizeof (low));
+   return (uint64_t)ntohl (high) << 32 | ntohl (low);
+ }
++#endif
+ 
+ /* A mapping table for dir_path_cmp: '\0' < '/' < anything else */
+ static unsigned char dir_path_cmp_table[UCHAR_MAX + 1];
+diff -rupN mlocate-0.25-clean/src/lib.h mlocate-0.25/src/lib.h
+--- mlocate-0.25-clean/src/lib.h	2011-03-29 22:59:00.000000000 +0100
++++ mlocate-0.25/src/lib.h	2013-02-18 20:09:43.619270168 +0000
[email protected]@ -41,11 +41,15 @@ Author: Miloslav Trmac <[email protected]>
+ /* Number of entries in ARRAY */
+ #define ARRAY_SIZE(array) (sizeof (array) / sizeof (*array))
+ 
++#if !defined (HAVE_HTONLL)
+ /* Convert VAL to big endian */
+ extern uint64_t htonll (uint64_t val);
++#endif
+ 
++#if !defined (HAVE_NTOHLL)
+ /* Convert VAL from big endian */
+ extern uint64_t ntohll (uint64_t val);
++#endif
+ 
+ /* Initialize dir_path_cmp_table */
+ extern void dir_path_cmp_init (void);