PSARC/2012/123 Replace slocate(1) with mlocate(1)
15803513 SUNBT7183731 mlocate should be added to the Userland consolidation
--- /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/mlocate@$(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
+@@ -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
+@@ -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
+@@ -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
+@@ -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
+@@ -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"
+@@ -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 */
+@@ -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)
+@@ -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;
+@@ -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
+@@ -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
+@@ -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)
+@@ -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)
+@@ -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
+@@ -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);