[22516] trunk/dports/net
source_changes at macosforge.org
source_changes at macosforge.org
Sat Mar 3 17:17:55 PST 2007
Revision: 22516
http://trac.macosforge.org/projects/macports/changeset/22516
Author: css at macports.org
Date: 2007-03-03 17:17:54 -0800 (Sat, 03 Mar 2007)
Log Message:
-----------
Additional rsync port with LART patches for better extended attribute support. Includes Apple's copyfile.h in its patches. (#6436)
Added Paths:
-----------
trunk/dports/net/rsync-lart/
trunk/dports/net/rsync-lart/Portfile
trunk/dports/net/rsync-lart/files/
trunk/dports/net/rsync-lart/files/APPLE_LICENSE.txt
trunk/dports/net/rsync-lart/files/copyfile.h
trunk/dports/net/rsync-lart/files/patch-config.h.in.diff
trunk/dports/net/rsync-lart/files/patch-configure.diff
trunk/dports/net/rsync-lart/files/patch-configure.in.diff
trunk/dports/net/rsync-lart/files/patch-darwin6-configure.diff
trunk/dports/net/rsync-lart/files/patch-flist.c.diff
trunk/dports/net/rsync-lart/files/patch-generator.c.diff
trunk/dports/net/rsync-lart/files/patch-main.c.diff
trunk/dports/net/rsync-lart/files/patch-options.c.diff
trunk/dports/net/rsync-lart/files/patch-proto.h.diff
trunk/dports/net/rsync-lart/files/patch-receiver.c.diff
trunk/dports/net/rsync-lart/files/patch-rsync.1.diff
trunk/dports/net/rsync-lart/files/patch-rsync.c.diff
trunk/dports/net/rsync-lart/files/patch-rsync.h.diff
trunk/dports/net/rsync-lart/files/patch-rsync.yo.diff
trunk/dports/net/rsync-lart/files/patch-sender.c.diff
trunk/dports/net/rsync-lart/files/patch-syscall.c.diff
trunk/dports/net/rsync-lart/files/patch-t_unsafe.c.diff
trunk/dports/net/rsync-lart/files/patch-tls.c.diff
trunk/dports/net/rsync-lart/files/patch-trimslash.c.diff
Added: trunk/dports/net/rsync-lart/Portfile
===================================================================
--- trunk/dports/net/rsync-lart/Portfile (rev 0)
+++ trunk/dports/net/rsync-lart/Portfile 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,87 @@
+# $Id: Portfile,v 1.23 2005/07/29 05:22:32 mww Exp $
+
+PortSystem 1.0
+
+name rsync-lart
+version 2.6.6
+categories net
+maintainers css at macports.org
+description rsync with LART extended attributes support patches
+platforms darwin freebsd
+long_description rsync is a file transfer program for Unix systems. \
+ rsync uses the 'rsync algorithm' which provides a very fast \
+ method for bringing remote files into sync. It does this by \
+ sending just the differences in the files across the link, \
+ without requiring that both sets of files are present at one \
+ of the ends of the link beforehand. NOTE This version of \
+ rsync adds extended attribute support from Apple as well as \
+ third party fixes from http://www.lartmaker.nl/rsync/
+
+# Related pages:
+# http://www.lartmaker.nl/rsync/
+# http://www.opensource.apple.com/darwinsource/10.4.3/rsync-20/
+# http://www.opensource.apple.com/darwinsource/10.4.3/rsync-20/patches/
+
+homepage http://www.lartmaker.nl/rsync/
+master_sites http://samba.org/ftp/rsync/old-versions/ \
+ ftp://samba.anu.edu.au/pub/rsync/old-versions/ \
+ ftp://sunsite.auc.dk/pub/unix/rsync/old-versions/ \
+ ftp://ftp.sunet.se/pub/unix/admin/rsync/old-versions/ \
+ ftp://ftp.fu-berlin.de/pub/unix/network/rsync/old-versions/
+distname rsync-${version}
+checksums md5 30c4e2849cbeae93f55548453865c2f2
+platforms darwin freebsd sunos
+
+depends_lib port:popt
+
+# These patches include Apple's EA and PR-3945747-endian patches as well
+# as Tiger rsync fixes from http://www.lartmaker.nl/rsync/
+patchfiles patch-config.h.in.diff \
+ patch-configure.diff \
+ patch-configure.in.diff \
+ patch-flist.c.diff \
+ patch-generator.c.diff \
+ patch-main.c.diff \
+ patch-options.c.diff \
+ patch-proto.h.diff \
+ patch-receiver.c.diff \
+ patch-rsync.1.diff \
+ patch-rsync.c.diff \
+ patch-rsync.h.diff \
+ patch-rsync.yo.diff \
+ patch-sender.c.diff \
+ patch-syscall.c.diff \
+ patch-t_unsafe.c.diff \
+ patch-tls.c.diff \
+ patch-trimslash.c.diff
+
+configure.args --mandir=${prefix}/share/man \
+ --with-rsyncd-conf=${prefix}/etc/rsyncd.conf \
+ --enable-ea-support
+configure.env CPPFLAGS=-I${prefix}/include \
+ LDFLAGS=-L${prefix}/lib
+
+build.type gnu
+
+platform darwin 6 {
+ patchfiles-append patch-darwin6-configure.diff
+}
+
+# Activate Apple's copyfile.h header by copying it into the
+# worksrcpath, then modify the configure command to locate it.
+platform darwin 8 {
+ # Copy Apple's copyfile.h for use on Mac OS X 10.4 and higher.
+ # See APPLE_LICENSE.txt for license and copying information.
+ post-patch {
+ file copy ${portpath}/${filesdir}/copyfile.h ${worksrcpath}
+ }
+ configure.env-delete "CPPFLAGS=-I${prefix}/include"
+ configure.env-append "CPPFLAGS='-I${prefix}/include -I${worksrcpath}'"
+}
+
+post-destroot {
+ xinstall -m 755 -d ${destroot}${prefix}/share/doc/${name}
+ xinstall -m 644 -W ${worksrcpath} COPYING INSTALL NEWS OLDNEWS TODO \
+ README doc/README-SGML doc/profile.txt doc/rsync.sgml \
+ ${destroot}${prefix}/share/doc/${name}
+}
Added: trunk/dports/net/rsync-lart/files/APPLE_LICENSE.txt
===================================================================
--- trunk/dports/net/rsync-lart/files/APPLE_LICENSE.txt (rev 0)
+++ trunk/dports/net/rsync-lart/files/APPLE_LICENSE.txt 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,367 @@
+APPLE PUBLIC SOURCE LICENSE
+Version 2.0 - August 6, 2003
+
+Please read this License carefully before downloading this software.
+By downloading or using this software, you are agreeing to be bound by
+the terms of this License. If you do not or cannot agree to the terms
+of this License, please do not download or use the software.
+
+1. General; Definitions. This License applies to any program or other
+work which Apple Computer, Inc. ("Apple") makes publicly available and
+which contains a notice placed by Apple identifying such program or
+work as "Original Code" and stating that it is subject to the terms of
+this Apple Public Source License version 2.0 ("License"). As used in
+this License:
+
+1.1 "Applicable Patent Rights" mean: (a) in the case where Apple is
+the grantor of rights, (i) claims of patents that are now or hereafter
+acquired, owned by or assigned to Apple and (ii) that cover subject
+matter contained in the Original Code, but only to the extent
+necessary to use, reproduce and/or distribute the Original Code
+without infringement; and (b) in the case where You are the grantor of
+rights, (i) claims of patents that are now or hereafter acquired,
+owned by or assigned to You and (ii) that cover subject matter in Your
+Modifications, taken alone or in combination with Original Code.
+
+1.2 "Contributor" means any person or entity that creates or
+contributes to the creation of Modifications.
+
+1.3 "Covered Code" means the Original Code, Modifications, the
+combination of Original Code and any Modifications, and/or any
+respective portions thereof.
+
+1.4 "Externally Deploy" means: (a) to sublicense, distribute or
+otherwise make Covered Code available, directly or indirectly, to
+anyone other than You; and/or (b) to use Covered Code, alone or as
+part of a Larger Work, in any way to provide a service, including but
+not limited to delivery of content, through electronic communication
+with a client other than You.
+
+1.5 "Larger Work" means a work which combines Covered Code or portions
+thereof with code not governed by the terms of this License.
+
+1.6 "Modifications" mean any addition to, deletion from, and/or change
+to, the substance and/or structure of the Original Code, any previous
+Modifications, the combination of Original Code and any previous
+Modifications, and/or any respective portions thereof. When code is
+released as a series of files, a Modification is: (a) any addition to
+or deletion from the contents of a file containing Covered Code;
+and/or (b) any new file or other representation of computer program
+statements that contains any part of Covered Code.
+
+1.7 "Original Code" means (a) the Source Code of a program or other
+work as originally made available by Apple under this License,
+including the Source Code of any updates or upgrades to such programs
+or works made available by Apple under this License, and that has been
+expressly identified by Apple as such in the header file(s) of such
+work; and (b) the object code compiled from such Source Code and
+originally made available by Apple under this License.
+
+1.8 "Source Code" means the human readable form of a program or other
+work that is suitable for making modifications to it, including all
+modules it contains, plus any associated interface definition files,
+scripts used to control compilation and installation of an executable
+(object code).
+
+1.9 "You" or "Your" means an individual or a legal entity exercising
+rights under this License. For legal entities, "You" or "Your"
+includes any entity which controls, is controlled by, or is under
+common control with, You, where "control" means (a) the power, direct
+or indirect, to cause the direction or management of such entity,
+whether by contract or otherwise, or (b) ownership of fifty percent
+(50%) or more of the outstanding shares or beneficial ownership of
+such entity.
+
+2. Permitted Uses; Conditions & Restrictions. Subject to the terms
+and conditions of this License, Apple hereby grants You, effective on
+the date You accept this License and download the Original Code, a
+world-wide, royalty-free, non-exclusive license, to the extent of
+Apple's Applicable Patent Rights and copyrights covering the Original
+Code, to do the following:
+
+2.1 Unmodified Code. You may use, reproduce, display, perform,
+internally distribute within Your organization, and Externally Deploy
+verbatim, unmodified copies of the Original Code, for commercial or
+non-commercial purposes, provided that in each instance:
+
+(a) You must retain and reproduce in all copies of Original Code the
+copyright and other proprietary notices and disclaimers of Apple as
+they appear in the Original Code, and keep intact all notices in the
+Original Code that refer to this License; and
+
+(b) You must include a copy of this License with every copy of Source
+Code of Covered Code and documentation You distribute or Externally
+Deploy, and You may not offer or impose any terms on such Source Code
+that alter or restrict this License or the recipients' rights
+hereunder, except as permitted under Section 6.
+
+2.2 Modified Code. You may modify Covered Code and use, reproduce,
+display, perform, internally distribute within Your organization, and
+Externally Deploy Your Modifications and Covered Code, for commercial
+or non-commercial purposes, provided that in each instance You also
+meet all of these conditions:
+
+(a) You must satisfy all the conditions of Section 2.1 with respect to
+the Source Code of the Covered Code;
+
+(b) You must duplicate, to the extent it does not already exist, the
+notice in Exhibit A in each file of the Source Code of all Your
+Modifications, and cause the modified files to carry prominent notices
+stating that You changed the files and the date of any change; and
+
+(c) If You Externally Deploy Your Modifications, You must make
+Source Code of all Your Externally Deployed Modifications either
+available to those to whom You have Externally Deployed Your
+Modifications, or publicly available. Source Code of Your Externally
+Deployed Modifications must be released under the terms set forth in
+this License, including the license grants set forth in Section 3
+below, for as long as you Externally Deploy the Covered Code or twelve
+(12) months from the date of initial External Deployment, whichever is
+longer. You should preferably distribute the Source Code of Your
+Externally Deployed Modifications electronically (e.g. download from a
+web site).
+
+2.3 Distribution of Executable Versions. In addition, if You
+Externally Deploy Covered Code (Original Code and/or Modifications) in
+object code, executable form only, You must include a prominent
+notice, in the code itself as well as in related documentation,
+stating that Source Code of the Covered Code is available under the
+terms of this License with information on how and where to obtain such
+Source Code.
+
+2.4 Third Party Rights. You expressly acknowledge and agree that
+although Apple and each Contributor grants the licenses to their
+respective portions of the Covered Code set forth herein, no
+assurances are provided by Apple or any Contributor that the Covered
+Code does not infringe the patent or other intellectual property
+rights of any other entity. Apple and each Contributor disclaim any
+liability to You for claims brought by any other entity based on
+infringement of intellectual property rights or otherwise. As a
+condition to exercising the rights and licenses granted hereunder, You
+hereby assume sole responsibility to secure any other intellectual
+property rights needed, if any. For example, if a third party patent
+license is required to allow You to distribute the Covered Code, it is
+Your responsibility to acquire that license before distributing the
+Covered Code.
+
+3. Your Grants. In consideration of, and as a condition to, the
+licenses granted to You under this License, You hereby grant to any
+person or entity receiving or distributing Covered Code under this
+License a non-exclusive, royalty-free, perpetual, irrevocable license,
+under Your Applicable Patent Rights and other intellectual property
+rights (other than patent) owned or controlled by You, to use,
+reproduce, display, perform, modify, sublicense, distribute and
+Externally Deploy Your Modifications of the same scope and extent as
+Apple's licenses under Sections 2.1 and 2.2 above.
+
+4. Larger Works. You may create a Larger Work by combining Covered
+Code with other code not governed by the terms of this License and
+distribute the Larger Work as a single product. In each such instance,
+You must make sure the requirements of this License are fulfilled for
+the Covered Code or any portion thereof.
+
+5. Limitations on Patent License. Except as expressly stated in
+Section 2, no other patent rights, express or implied, are granted by
+Apple herein. Modifications and/or Larger Works may require additional
+patent licenses from Apple which Apple may grant in its sole
+discretion.
+
+6. Additional Terms. You may choose to offer, and to charge a fee for,
+warranty, support, indemnity or liability obligations and/or other
+rights consistent with the scope of the license granted herein
+("Additional Terms") to one or more recipients of Covered Code.
+However, You may do so only on Your own behalf and as Your sole
+responsibility, and not on behalf of Apple or any Contributor. You
+must obtain the recipient's agreement that any such Additional Terms
+are offered by You alone, and You hereby agree to indemnify, defend
+and hold Apple and every Contributor harmless for any liability
+incurred by or claims asserted against Apple or such Contributor by
+reason of any such Additional Terms.
+
+7. Versions of the License. Apple may publish revised and/or new
+versions of this License from time to time. Each version will be given
+a distinguishing version number. Once Original Code has been published
+under a particular version of this License, You may continue to use it
+under the terms of that version. You may also choose to use such
+Original Code under the terms of any subsequent version of this
+License published by Apple. No one other than Apple has the right to
+modify the terms applicable to Covered Code created under this
+License.
+
+8. NO WARRANTY OR SUPPORT. The Covered Code may contain in whole or in
+part pre-release, untested, or not fully tested works. The Covered
+Code may contain errors that could cause failures or loss of data, and
+may be incomplete or contain inaccuracies. You expressly acknowledge
+and agree that use of the Covered Code, or any portion thereof, is at
+Your sole and entire risk. THE COVERED CODE IS PROVIDED "AS IS" AND
+WITHOUT WARRANTY, UPGRADES OR SUPPORT OF ANY KIND AND APPLE AND
+APPLE'S LICENSOR(S) (COLLECTIVELY REFERRED TO AS "APPLE" FOR THE
+PURPOSES OF SECTIONS 8 AND 9) AND ALL CONTRIBUTORS EXPRESSLY DISCLAIM
+ALL WARRANTIES AND/OR CONDITIONS, EXPRESS OR IMPLIED, INCLUDING, BUT
+NOT LIMITED TO, THE IMPLIED WARRANTIES AND/OR CONDITIONS OF
+MERCHANTABILITY, OF SATISFACTORY QUALITY, OF FITNESS FOR A PARTICULAR
+PURPOSE, OF ACCURACY, OF QUIET ENJOYMENT, AND NONINFRINGEMENT OF THIRD
+PARTY RIGHTS. APPLE AND EACH CONTRIBUTOR DOES NOT WARRANT AGAINST
+INTERFERENCE WITH YOUR ENJOYMENT OF THE COVERED CODE, THAT THE
+FUNCTIONS CONTAINED IN THE COVERED CODE WILL MEET YOUR REQUIREMENTS,
+THAT THE OPERATION OF THE COVERED CODE WILL BE UNINTERRUPTED OR
+ERROR-FREE, OR THAT DEFECTS IN THE COVERED CODE WILL BE CORRECTED. NO
+ORAL OR WRITTEN INFORMATION OR ADVICE GIVEN BY APPLE, AN APPLE
+AUTHORIZED REPRESENTATIVE OR ANY CONTRIBUTOR SHALL CREATE A WARRANTY.
+You acknowledge that the Covered Code is not intended for use in the
+operation of nuclear facilities, aircraft navigation, communication
+systems, or air traffic control machines in which case the failure of
+the Covered Code could lead to death, personal injury, or severe
+physical or environmental damage.
+
+9. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY LAW, IN NO
+EVENT SHALL APPLE OR ANY CONTRIBUTOR BE LIABLE FOR ANY INCIDENTAL,
+SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES ARISING OUT OF OR RELATING
+TO THIS LICENSE OR YOUR USE OR INABILITY TO USE THE COVERED CODE, OR
+ANY PORTION THEREOF, WHETHER UNDER A THEORY OF CONTRACT, WARRANTY,
+TORT (INCLUDING NEGLIGENCE), PRODUCTS LIABILITY OR OTHERWISE, EVEN IF
+APPLE OR SUCH CONTRIBUTOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY
+REMEDY. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF LIABILITY OF
+INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THIS LIMITATION MAY NOT APPLY
+TO YOU. In no event shall Apple's total liability to You for all
+damages (other than as may be required by applicable law) under this
+License exceed the amount of fifty dollars ($50.00).
+
+10. Trademarks. This License does not grant any rights to use the
+trademarks or trade names "Apple", "Apple Computer", "Mac", "Mac OS",
+"QuickTime", "QuickTime Streaming Server" or any other trademarks,
+service marks, logos or trade names belonging to Apple (collectively
+"Apple Marks") or to any trademark, service mark, logo or trade name
+belonging to any Contributor. You agree not to use any Apple Marks in
+or as part of the name of products derived from the Original Code or
+to endorse or promote products derived from the Original Code other
+than as expressly permitted by and in strict compliance at all times
+with Apple's third party trademark usage guidelines which are posted
+at http://www.apple.com/legal/guidelinesfor3rdparties.html.
+
+11. Ownership. Subject to the licenses granted under this License,
+each Contributor retains all rights, title and interest in and to any
+Modifications made by such Contributor. Apple retains all rights,
+title and interest in and to the Original Code and any Modifications
+made by or on behalf of Apple ("Apple Modifications"), and such Apple
+Modifications will not be automatically subject to this License. Apple
+may, at its sole discretion, choose to license such Apple
+Modifications under this License, or on different terms from those
+contained in this License or may choose not to license them at all.
+
+12. Termination.
+
+12.1 Termination. This License and the rights granted hereunder will
+terminate:
+
+(a) automatically without notice from Apple if You fail to comply with
+any term(s) of this License and fail to cure such breach within 30
+days of becoming aware of such breach;
+
+(b) immediately in the event of the circumstances described in Section
+13.5(b); or
+
+(c) automatically without notice from Apple if You, at any time during
+the term of this License, commence an action for patent infringement
+against Apple; provided that Apple did not first commence
+an action for patent infringement against You in that instance.
+
+12.2 Effect of Termination. Upon termination, You agree to immediately
+stop any further use, reproduction, modification, sublicensing and
+distribution of the Covered Code. All sublicenses to the Covered Code
+which have been properly granted prior to termination shall survive
+any termination of this License. Provisions which, by their nature,
+should remain in effect beyond the termination of this License shall
+survive, including but not limited to Sections 3, 5, 8, 9, 10, 11,
+12.2 and 13. No party will be liable to any other for compensation,
+indemnity or damages of any sort solely as a result of terminating
+this License in accordance with its terms, and termination of this
+License will be without prejudice to any other right or remedy of
+any party.
+
+13. Miscellaneous.
+
+13.1 Government End Users. The Covered Code is a "commercial item" as
+defined in FAR 2.101. Government software and technical data rights in
+the Covered Code include only those rights customarily provided to the
+public as defined in this License. This customary commercial license
+in technical data and software is provided in accordance with FAR
+12.211 (Technical Data) and 12.212 (Computer Software) and, for
+Department of Defense purchases, DFAR 252.227-7015 (Technical Data --
+Commercial Items) and 227.7202-3 (Rights in Commercial Computer
+Software or Computer Software Documentation). Accordingly, all U.S.
+Government End Users acquire Covered Code with only those rights set
+forth herein.
+
+13.2 Relationship of Parties. This License will not be construed as
+creating an agency, partnership, joint venture or any other form of
+legal association between or among You, Apple or any Contributor, and
+You will not represent to the contrary, whether expressly, by
+implication, appearance or otherwise.
+
+13.3 Independent Development. Nothing in this License will impair
+Apple's right to acquire, license, develop, have others develop for
+it, market and/or distribute technology or products that perform the
+same or similar functions as, or otherwise compete with,
+Modifications, Larger Works, technology or products that You may
+develop, produce, market or distribute.
+
+13.4 Waiver; Construction. Failure by Apple or any Contributor to
+enforce any provision of this License will not be deemed a waiver of
+future enforcement of that or any other provision. Any law or
+regulation which provides that the language of a contract shall be
+construed against the drafter will not apply to this License.
+
+13.5 Severability. (a) If for any reason a court of competent
+jurisdiction finds any provision of this License, or portion thereof,
+to be unenforceable, that provision of the License will be enforced to
+the maximum extent permissible so as to effect the economic benefits
+and intent of the parties, and the remainder of this License will
+continue in full force and effect. (b) Notwithstanding the foregoing,
+if applicable law prohibits or restricts You from fully and/or
+specifically complying with Sections 2 and/or 3 or prevents the
+enforceability of either of those Sections, this License will
+immediately terminate and You must immediately discontinue any use of
+the Covered Code and destroy all copies of it that are in your
+possession or control.
+
+13.6 Dispute Resolution. Any litigation or other dispute resolution
+between You and Apple relating to this License shall take place in the
+Northern District of California, and You and Apple hereby consent to
+the personal jurisdiction of, and venue in, the state and federal
+courts within that District with respect to this License. The
+application of the United Nations Convention on Contracts for the
+International Sale of Goods is expressly excluded.
+
+13.7 Entire Agreement; Governing Law. This License constitutes the
+entire agreement between the parties with respect to the subject
+matter hereof. This License shall be governed by the laws of the
+United States and the State of California, except that body of
+California law concerning conflicts of law.
+
+Where You are located in the province of Quebec, Canada, the following
+clause applies: The parties hereby confirm that they have requested
+that this License and all related documents be drafted in English. Les
+parties ont exige que le present contrat et tous les documents
+connexes soient rediges en anglais.
+
+EXHIBIT A.
+
+"Portions Copyright (c) 1999-2003 Apple Computer, Inc. All Rights
+Reserved.
+
+This file contains Original Code and/or Modifications of Original Code
+as defined in and that are subject to the Apple Public Source License
+Version 2.0 (the 'License'). You may not use this file except in
+compliance with the License. Please obtain a copy of the License at
+http://www.opensource.apple.com/apsl/ and read it before using this
+file.
+
+The Original Code and all software distributed under the License are
+distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+Please see the License for the specific language governing rights and
+limitations under the License."
Added: trunk/dports/net/rsync-lart/files/copyfile.h
===================================================================
--- trunk/dports/net/rsync-lart/files/copyfile.h (rev 0)
+++ trunk/dports/net/rsync-lart/files/copyfile.h 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,86 @@
+/*
+ * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
+ *
+ * @APPLE_LICENSE_HEADER_START@
+ *
+ * This file contains Original Code and/or Modifications of Original Code
+ * as defined in and that are subject to the Apple Public Source License
+ * Version 2.0 (the 'License'). You may not use this file except in
+ * compliance with the License. Please obtain a copy of the License at
+ * http://www.opensource.apple.com/apsl/ and read it before using this
+ * file.
+ *
+ * The Original Code and all software distributed under the License are
+ * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
+ * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
+ * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
+ * Please see the License for the specific language governing rights and
+ * limitations under the License.
+ *
+ * @APPLE_LICENSE_HEADER_END@
+ */
+#ifndef _COPYFILE_H_ /* version 0.1 */
+#define _COPYFILE_H_
+
+/*
+ * this is a proposed API to add to libSystem to faciliatate copying
+ * of files and their associated metadata. There are several open
+ * source projects that need modifications to support preserving
+ * extended attributes and acls and this API collapses several hundred
+ * lines of modifications into one or two calls.
+ *
+ * This implementation is incomplete and the interface may change in a
+ * future release.
+ */
+
+/* private */
+#include <stdint.h>
+struct _copyfile_state;
+typedef struct _copyfile_state * copyfile_state_t;
+typedef uint32_t copyfile_flags_t;
+
+/* public */
+
+/* receives:
+ * from path to source file system object
+ * to path to destination file system object
+ * state opaque blob for future extensibility
+ * Must be NULL in current implementation
+ * flags (described below)
+ * returns:
+ * int negative for error
+ */
+
+int copyfile(const char *from, const char *to, copyfile_state_t state, copyfile_flags_t flags);
+int copyfile_free(copyfile_state_t);
+copyfile_state_t copyfile_init(void);
+
+/* Flag for clients to disable their use of copyfile() */
+#define COPYFILE_DISABLE_VAR "COPY_EXTENDED_ATTRIBUTES_DISABLE"
+
+/* flags for copyfile */
+
+#define COPYFILE_ACL (1<<0)
+#define COPYFILE_STAT (1<<1)
+#define COPYFILE_XATTR (1<<2)
+#define COPYFILE_DATA (1<<3)
+
+#define COPYFILE_SECURITY (COPYFILE_STAT | COPYFILE_ACL)
+#define COPYFILE_METADATA (COPYFILE_SECURITY | COPYFILE_XATTR)
+#define COPYFILE_ALL (COPYFILE_METADATA | COPYFILE_DATA)
+
+#define COPYFILE_CHECK (1<<16) /* return flags for xattr or acls if set */
+#define COPYFILE_EXCL (1<<17) /* fail if destination exists */
+#define COPYFILE_NOFOLLOW_SRC (1<<18) /* don't follow if source is a symlink */
+#define COPYFILE_NOFOLLOW_DST (1<<19) /* don't follow if dst is a symlink */
+#define COPYFILE_MOVE (1<<20) /* unlink src after copy */
+#define COPYFILE_UNLINK (1<<21) /* unlink dst before copy */
+#define COPYFILE_NOFOLLOW (COPYFILE_NOFOLLOW_SRC | COPYFILE_NOFOLLOW_DST)
+
+#define COPYFILE_PACK (1<<22)
+#define COPYFILE_UNPACK (1<<23)
+
+#define COPYFILE_VERBOSE (1<<30)
+
+#endif /* _COPYFILE_H_ */
Added: trunk/dports/net/rsync-lart/files/patch-config.h.in.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-config.h.in.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-config.h.in.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,25 @@
+--- config.h.in.orig 2006-01-09 12:35:37.000000000 -0600
++++ config.h.in 2006-01-09 12:35:51.000000000 -0600
+@@ -14,6 +14,9 @@
+ /* Define to 1 if using `alloca.c'. */
+ #undef C_ALLOCA
+
++/* true if ea support enabled */
++#undef EA_SUPPORT
++
+ /* Define to the type of elements in the array set by `getgroups'. Usually
+ this is either `int' or `gid_t'. */
+ #undef GETGROUPS_T
+@@ -55,6 +58,12 @@
+ /* Define to 1 if you have the "connect" function */
+ #undef HAVE_CONNECT
+
++/* Define to 1 if you have the `copyfile' function. */
++#undef HAVE_COPYFILE
++
++/* Define to 1 if you have the <copyfile.h> header file. */
++#undef HAVE_COPYFILE_H
++
+ /* Define to 1 if you have the <ctype.h> header file. */
+ #undef HAVE_CTYPE_H
+
Added: trunk/dports/net/rsync-lart/files/patch-configure.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-configure.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-configure.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,1214 @@
+--- configure.orig 2006-01-09 12:35:38.000000000 -0600
++++ configure 2006-01-09 12:35:51.000000000 -0600
+@@ -853,6 +853,8 @@
+ --disable-largefile omit support for large files
+ --disable-ipv6 don't even try to use IPv6
+ --disable-locale turn off locale features
++ --enable-ea-support allow support for copying extended attributes
++ (default no)
+
+ Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+@@ -2004,7 +2006,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2062,7 +2065,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2178,7 +2182,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2232,7 +2237,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2277,7 +2283,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -2321,7 +2328,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3027,7 +3035,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3056,7 +3065,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3126,7 +3136,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3178,7 +3189,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3249,7 +3261,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3301,7 +3314,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3594,7 +3608,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3648,7 +3663,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3732,7 +3748,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3774,7 +3791,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3831,7 +3849,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -3964,7 +3983,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4036,7 +4056,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4090,7 +4111,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4161,7 +4183,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4215,7 +4238,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4282,7 +4306,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4352,7 +4377,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4416,7 +4442,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4586,7 +4613,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4683,7 +4711,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4827,7 +4856,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -4884,7 +4914,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5031,7 +5062,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5182,7 +5214,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5244,7 +5277,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5284,7 +5318,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5340,7 +5375,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5380,7 +5416,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5444,7 +5481,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5475,8 +5513,10 @@
+ esac
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
++ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -5588,7 +5628,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5650,7 +5691,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5690,7 +5732,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5746,7 +5789,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5786,7 +5830,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5850,7 +5895,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -5881,8 +5927,10 @@
+ esac
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
++ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -5994,7 +6042,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6056,7 +6105,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6096,7 +6146,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6152,7 +6203,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6192,7 +6244,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6256,7 +6309,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6287,8 +6341,10 @@
+ esac
+ else
+ if test "$cross_compiling" = yes; then
+- { { echo "$as_me:$LINENO: error: internal error: not reached in cross-compile" >&5
+-echo "$as_me: error: internal error: not reached in cross-compile" >&2;}
++ { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&5
++echo "$as_me: error: cannot run test program while cross compiling
++See \`config.log' for more details." >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ cat >conftest.$ac_ext <<_ACEOF
+@@ -6400,7 +6456,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6462,7 +6519,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6558,7 +6616,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6598,7 +6657,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6662,7 +6722,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6806,7 +6867,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -6964,7 +7026,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7004,7 +7067,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7068,7 +7132,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7212,7 +7277,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7274,7 +7340,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7370,7 +7437,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7474,7 +7542,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7616,7 +7685,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7691,7 +7761,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7762,7 +7833,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7861,7 +7933,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -7926,7 +7999,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8056,7 +8130,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8207,7 +8282,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8390,7 +8466,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8464,7 +8541,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8572,7 +8650,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8646,7 +8725,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8722,7 +8802,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8798,7 +8879,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8874,7 +8956,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -8960,7 +9043,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9065,7 +9149,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9175,7 +9260,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9323,7 +9409,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9381,7 +9468,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9489,7 +9577,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9584,7 +9673,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9749,7 +9839,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -9992,7 +10083,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -10115,7 +10207,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -10500,7 +10593,8 @@
+ cat conftest.err >&5
+ echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); } &&
+- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
+ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+ (eval $ac_try) 2>&5
+ ac_status=$?
+@@ -11926,6 +12020,278 @@
+
+
+
++
++#################################################
++# check for extended attribute support
++echo "$as_me:$LINENO: checking whether to support extended attributes" >&5
++echo $ECHO_N "checking whether to support extended attributes... $ECHO_C" >&6
++# Check whether --enable-ea-support or --disable-ea-support was given.
++if test "${enable_ea_support+set}" = set; then
++ enableval="$enable_ea_support"
++
++fi;
++echo "$as_me:$LINENO: result: $enable_ea_support" >&5
++echo "${ECHO_T}$enable_ea_support" >&6
++if test x"$enable_ea_support" == x"yes"; then
++
++cat >>confdefs.h <<\_ACEOF
++#define EA_SUPPORT 1
++_ACEOF
++
++
++for ac_func in copyfile
++do
++as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
++echo "$as_me:$LINENO: checking for $ac_func" >&5
++echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
++if eval "test \"\${$as_ac_var+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
++ For example, HP-UX 11i <limits.h> declares gettimeofday. */
++#define $ac_func innocuous_$ac_func
++
++/* System header to define __stub macros and hopefully few prototypes,
++ which can conflict with char $ac_func (); below.
++ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
++ <limits.h> exists even on freestanding compilers. */
++
++#ifdef __STDC__
++# include <limits.h>
++#else
++# include <assert.h>
++#endif
++
++#undef $ac_func
++
++/* Override any gcc2 internal prototype to avoid an error. */
++#ifdef __cplusplus
++extern "C"
++{
++#endif
++/* We use char because int might match the return type of a gcc2
++ builtin and then its argument prototype would still apply. */
++char $ac_func ();
++/* The GNU C library defines this for functions which it implements
++ to always fail with ENOSYS. Some functions are actually named
++ something starting with __ and the normal name is an alias. */
++#if defined (__stub_$ac_func) || defined (__stub___$ac_func)
++choke me
++#else
++char (*f) () = $ac_func;
++#endif
++#ifdef __cplusplus
++}
++#endif
++
++int
++main ()
++{
++return f != $ac_func;
++ ;
++ return 0;
++}
++_ACEOF
++rm -f conftest.$ac_objext conftest$ac_exeext
++if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
++ (eval $ac_link) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest$ac_exeext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ eval "$as_ac_var=yes"
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++eval "$as_ac_var=no"
++fi
++rm -f conftest.err conftest.$ac_objext \
++ conftest$ac_exeext conftest.$ac_ext
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
++if test `eval echo '${'$as_ac_var'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++done
++
++
++for ac_header in copyfile.h
++do
++as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++else
++ # Is the header compilable?
++echo "$as_me:$LINENO: checking $ac_header usability" >&5
++echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++$ac_includes_default
++#include <$ac_header>
++_ACEOF
++rm -f conftest.$ac_objext
++if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
++ (eval $ac_compile) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } &&
++ { ac_try='test -z "$ac_c_werror_flag"
++ || test ! -s conftest.err'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; } &&
++ { ac_try='test -s conftest.$ac_objext'
++ { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
++ (eval $ac_try) 2>&5
++ ac_status=$?
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); }; }; then
++ ac_header_compiler=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ac_header_compiler=no
++fi
++rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
++echo "${ECHO_T}$ac_header_compiler" >&6
++
++# Is the header present?
++echo "$as_me:$LINENO: checking $ac_header presence" >&5
++echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
++cat >conftest.$ac_ext <<_ACEOF
++/* confdefs.h. */
++_ACEOF
++cat confdefs.h >>conftest.$ac_ext
++cat >>conftest.$ac_ext <<_ACEOF
++/* end confdefs.h. */
++#include <$ac_header>
++_ACEOF
++if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
++ (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
++ ac_status=$?
++ grep -v '^ *+' conftest.er1 >conftest.err
++ rm -f conftest.er1
++ cat conftest.err >&5
++ echo "$as_me:$LINENO: \$? = $ac_status" >&5
++ (exit $ac_status); } >/dev/null; then
++ if test -s conftest.err; then
++ ac_cpp_err=$ac_c_preproc_warn_flag
++ ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
++ else
++ ac_cpp_err=
++ fi
++else
++ ac_cpp_err=yes
++fi
++if test -z "$ac_cpp_err"; then
++ ac_header_preproc=yes
++else
++ echo "$as_me: failed program was:" >&5
++sed 's/^/| /' conftest.$ac_ext >&5
++
++ ac_header_preproc=no
++fi
++rm -f conftest.err conftest.$ac_ext
++echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
++echo "${ECHO_T}$ac_header_preproc" >&6
++
++# So? What about this header?
++case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
++ yes:no: )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
++echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
++ ac_header_preproc=yes
++ ;;
++ no:yes:* )
++ { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
++echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
++echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
++echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
++echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
++echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
++ { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
++echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
++ (
++ cat <<\_ASBOX
++## ------------------------------------------ ##
++## Report this to the AC_PACKAGE_NAME lists. ##
++## ------------------------------------------ ##
++_ASBOX
++ ) |
++ sed "s/^/$as_me: WARNING: /" >&2
++ ;;
++esac
++echo "$as_me:$LINENO: checking for $ac_header" >&5
++echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
++if eval "test \"\${$as_ac_Header+set}\" = set"; then
++ echo $ECHO_N "(cached) $ECHO_C" >&6
++else
++ eval "$as_ac_Header=\$ac_header_preproc"
++fi
++echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
++echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
++
++fi
++if test `eval echo '${'$as_ac_Header'}'` = yes; then
++ cat >>confdefs.h <<_ACEOF
++#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
++_ACEOF
++
++fi
++
++done
++
++fi
++
+ ac_config_files="$ac_config_files Makefile lib/dummy zlib/dummy popt/dummy shconfig"
+
+ cat >confcache <<\_ACEOF
+@@ -12742,6 +13108,11 @@
+ *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
+ esac
+
++ if test x"$ac_file" != x-; then
++ { echo "$as_me:$LINENO: creating $ac_file" >&5
++echo "$as_me: creating $ac_file" >&6;}
++ rm -f "$ac_file"
++ fi
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+@@ -12780,12 +13151,6 @@
+ fi;;
+ esac
+ done` || { (exit 1); exit 1; }
+-
+- if test x"$ac_file" != x-; then
+- { echo "$as_me:$LINENO: creating $ac_file" >&5
+-echo "$as_me: creating $ac_file" >&6;}
+- rm -f "$ac_file"
+- fi
+ _ACEOF
+ cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
Added: trunk/dports/net/rsync-lart/files/patch-configure.in.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-configure.in.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-configure.in.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,24 @@
+--- configure.in.orig 2006-01-09 12:35:38.000000000 -0600
++++ configure.in 2006-01-09 12:35:51.000000000 -0600
+@@ -745,6 +745,21 @@
+ AC_SUBST(CC_SHOBJ_FLAG)
+ AC_SUBST(BUILD_POPT)
+
++
++#################################################
++# check for extended attribute support
++AC_MSG_CHECKING(whether to support extended attributes)
++AC_ARG_ENABLE(ea-support,
++ AC_HELP_STRING([--enable-ea-support],
++ [allow support for copying extended attributes (default no)]),
++ [], [])
++AC_MSG_RESULT($enable_ea_support)
++if test x"$enable_ea_support" == x"yes"; then
++ AC_DEFINE(EA_SUPPORT, 1, [true if ea support enabled])
++ AC_CHECK_FUNCS(copyfile)
++ AC_CHECK_HEADERS(copyfile.h)
++fi
++
+ AC_CONFIG_FILES([Makefile lib/dummy zlib/dummy popt/dummy shconfig])
+ AC_OUTPUT
+
Added: trunk/dports/net/rsync-lart/files/patch-darwin6-configure.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-darwin6-configure.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-darwin6-configure.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,15 @@
+--- configure Fri Apr 30 20:02:43 2004
++++ configure.new Tue May 4 23:00:27 2004
+@@ -7979,12 +7979,7 @@
+ yes
+ #endif
+ _ACEOF
+-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+- $EGREP "yes" >/dev/null 2>&1; then
+ rsync_cv_HAVE_GETADDR_DEFINES=yes
+-else
+- rsync_cv_HAVE_GETADDR_DEFINES=no
+-fi
+ rm -f conftest*
+
+ fi
Added: trunk/dports/net/rsync-lart/files/patch-flist.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-flist.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-flist.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,94 @@
+--- flist.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ flist.c 2006-01-09 12:35:51.000000000 -0600
+@@ -27,6 +27,10 @@
+
+ #include "rsync.h"
+
++#ifdef HAVE_COPYFILE_H
++#include <copyfile.h>
++#endif
++
+ extern int verbose;
+ extern int dry_run;
+ extern int list_only;
+@@ -65,6 +69,10 @@
+ extern struct filter_list_struct filter_list;
+ extern struct filter_list_struct server_filter_list;
+
++#ifdef EA_SUPPORT
++extern int extended_attributes;
++#endif
++
+ int io_error;
+ dev_t filesystem_dev; /* used to implement -x */
+
+@@ -982,6 +990,54 @@
+ if (file->basename[0]) {
+ flist->files[flist->count++] = file;
+ send_file_entry(file, f, base_flags);
++#ifdef EA_SUPPORT
++ /* If the file doesn't begin with "._", and has
++ * either acls or extended attributes, serialize
++ * the data out and add a fake file to the file
++ * list with the "._" prepended to the basename.
++ * of the original source.
++ */
++ if (extended_attributes) {
++#ifdef HAVE_COPYFILE
++ if(strncmp(file->basename, "._", 2)
++ && copyfile(fname, NULL, 0,
++ COPYFILE_CHECK | COPYFILE_METADATA)) {
++ char *bp;
++ struct file_struct *file2 = NULL;
++ int alloc_len;
++
++ if (verbose > 4)
++ rprintf(FINFO, "added synthetic file for: %s\n", fname);
++
++ alloc_len = file_struct_len
++ + strlen(file->basename) + 1 + 2 // + strlen("._")
++ + MD4_SUM_LENGTH;
++
++ bp = pool_alloc(flist->file_pool, alloc_len, "receive_metadata_entry");
++
++ file2 = (struct file_struct *)bp;
++ memcpy(bp, file, file_struct_len);
++ bp += file_struct_len;
++
++ file2->basename = bp;
++ memcpy(bp + 2, file->basename, strlen(file->basename) + 1);
++ file2->basename[0] = '.';
++ file2->basename[1] = '_';
++ file2->length = 1;
++ file2->mode = S_IFREG | S_IRUSR;
++
++ flist_expand(flist);
++ flist->files[flist->count++] = file2;
++
++ if (f != -1)
++ write_byte(f, 1);
++ send_file_entry(file2, f, base_flags);
++ }
++#endif
++ if (f != -1)
++ write_byte(f, 0);
++ }
++#endif
+ }
+ return file;
+ }
+@@ -1318,6 +1374,14 @@
+ flags |= read_byte(f) << 8;
+ file = receive_file_entry(flist, flags, f);
+
++#ifdef EA_SUPPORT
++ if (extended_attributes && read_byte(f))
++ if (verbose > 4)
++ rprintf(FINFO, "receiving synthetic file entry for: %s/%s\n",
++ flist->files[flist->count]->dirname ? flist->files[flist->count]->dirname : ".",
++ flist->files[flist->count]->basename);
++#endif
++
+ if (S_ISREG(file->mode))
+ stats.total_size += file->length;
+
Added: trunk/dports/net/rsync-lart/files/patch-generator.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-generator.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-generator.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,150 @@
+--- generator.c.orig 2006-01-09 13:04:42.000000000 -0600
++++ generator.c 2006-01-09 13:09:18.000000000 -0600
+@@ -23,6 +23,10 @@
+
+ #include "rsync.h"
+
++#ifdef HAVE_COPYFILE
++#include <libgen.h>
++#endif
++
+ extern int verbose;
+ extern int dry_run;
+ extern int do_xfers;
+@@ -89,6 +93,10 @@
+ extern struct file_list *the_file_list;
+ extern struct filter_list_struct server_filter_list;
+
++#ifdef EA_SUPPORT
++extern int extended_attributes;
++#endif
++
+ static int deletion_count = 0; /* used to implement --max-delete */
+
+
+@@ -125,6 +133,18 @@
+ deletion_count--;
+ return 0;
+ }
++#ifdef EA_SUPPORT
++ /* Prevent flooding the syslog when trying to delete the
++ synthetic (= fake) file containing extended attributes. */
++#ifdef HAVE_COPYFILE
++ if (errno == ENOENT && extended_attributes
++ && !strncmp(basename(fname), "._", 2)) {
++ if (verbose)
++ rprintf(FINFO, "synthetic file %s could not be deleted\n",
++ safe_fname(fname));
++ } else
++#endif
++#endif
+ rsyserr(FERROR, errno, "delete_file: unlink %s failed",
+ full_fname(fname));
+ return -1;
+@@ -1152,6 +1172,10 @@
+ int save_opt_ignore_existing = opt_ignore_existing;
+ int save_do_progress = do_progress;
+ int save_make_backups = make_backups;
++#ifdef HAVE_COPYFILE
++ int ea_map[flist->count];
++ int ea_saved = -1;
++#endif
+
+ if (protocol_version >= 29) {
+ itemizing = 1;
+@@ -1195,9 +1219,77 @@
+ * notice that and let us know via the redo pipe (or its closing). */
+ ignore_timeout = 1;
+
++#ifdef HAVE_COPYFILE
++ /* APPLE: extended attribute files (._foo) need to be transferred
++ * after the corresponding file (foo). This creates a map the size
++ * of flist with the number of the file that preempts the current
++ * file's delivery. Set to -1 if there's nothing to do.
++ */
++ if (extended_attributes) {
++ int j;
++ struct file_struct *file2;
++ struct file_struct *file3;
++
++ if (verbose > 3)
++ rprintf(FINFO,"initializing extended attribute map\n");
++
++ for (i = 0; i < flist->count; ++i) {
++ ea_map[i] = -1;
++ file2 = flist->files[i];
++
++ if (!file2->basename || strncmp(file2->basename, "._", 2))
++ continue;
++
++ for (j = i; j < flist->count; ++j) {
++ file3 = flist->files[j];
++
++ if (!file3->basename)
++ continue;
++
++ if(!(file2->dirname || file3->dirname)
++ || (file2->dirname && file3->dirname &&
++ !strcmp(file3->dirname, file2->dirname))) {
++
++ if(!strcmp(file3->basename, file2->basename + 2)) {
++ ea_map[i] = j;
++
++ if (verbose > 4)
++ rprintf(FINFO,"mapped %s/%s (%d) -> %s/%s (%d)\n",
++ (file2->dirname) ? file2->dirname : ".",
++ file2->basename, i,
++ (file2->dirname) ? file2->dirname : ".",
++ file3->basename, j);
++ break;
++ }
++ }
++ }
++ }
++ }
++#endif
++
+ for (i = 0; i < flist->count; i++) {
+ struct file_struct *file = flist->files[i];
+
++#ifdef HAVE_COPYFILE
++ if (extended_attributes) {
++ if(ea_map[i] < -1)
++ continue;
++
++ if(ea_map[i] > 0) {
++ /* save the current index and set it to the
++ * file to skip to
++ */
++ if (verbose > 4)
++ rprintf(FINFO,"skipping from %d to %d\n", i, ea_map[i]);
++
++ ea_saved = i;
++ i = ea_map[i];
++ ea_map[i] = -1;
++ }
++next: file = flist->files[i];
++ }
++#endif
++
+ if (!file->basename)
+ continue;
+
+@@ -1227,6 +1319,17 @@
+ maybe_send_keepalive();
+ else if (!(i % 200))
+ maybe_flush_socket();
++
++#ifdef HAVE_COPYFILE
++ if (extended_attributes) {
++ if(ea_saved > -1) {
++ ea_map[i] = -2;
++ i = ea_saved;
++ ea_saved = -1;
++ goto next;
++ }
++ }
++#endif
+ }
+ recv_generator(NULL, NULL, 0, 0, 0, code, -1);
+ if (delete_during)
Added: trunk/dports/net/rsync-lart/files/patch-main.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-main.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-main.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,38 @@
+--- main.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ main.c 2006-01-09 12:35:51.000000000 -0600
+@@ -57,6 +57,9 @@
+ extern int batch_fd;
+ extern int batch_gen_fd;
+ extern int filesfrom_fd;
++#ifdef EA_SUPPORT
++extern int extended_attributes;
++#endif
+ extern pid_t cleanup_child_pid;
+ extern struct stats stats;
+ extern char *filesfrom_host;
+@@ -407,6 +410,12 @@
+ }
+ return NULL;
+ }
++#ifdef EA_SUPPORT
++ if (extended_attributes) {
++ if(flist->count == 2 && !strncmp(flist->files[0]->basename, "._", 2))
++ return name;
++ }
++#endif
+ if (flist->count > 1) {
+ rprintf(FERROR,"ERROR: destination must be a directory when copying more than 1 file\n");
+ exit_cleanup(RERR_FILESELECT);
+@@ -414,6 +423,12 @@
+ return name;
+ }
+
++#ifdef EA_SUPPORT
++ if (extended_attributes) {
++ if(flist->count == 2 && !strncmp(flist->files[0]->basename, "._", 2))
++ return name;
++ }
++#endif
+ if (flist->count <= 1 && ((e = strlen(name)) <= 1 || name[e-1] != '/'))
+ return name;
+
Added: trunk/dports/net/rsync-lart/files/patch-options.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-options.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-options.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,43 @@
+--- options.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ options.c 2006-01-09 12:35:51.000000000 -0600
+@@ -107,6 +107,9 @@
+ int delay_updates = 0;
+ long block_size = 0; /* "long" because popt can't set an int32. */
+
++#ifdef EA_SUPPORT
++int extended_attributes = 0;
++#endif
+
+ /** Network address family. **/
+ #ifdef INET6
+@@ -352,6 +355,9 @@
+ rprintf(F," -4, --ipv4 prefer IPv4\n");
+ rprintf(F," -6, --ipv6 prefer IPv6\n");
+ #endif
++#ifdef EA_SUPPORT
++ rprintf(F," -E, --extended-attributes copy extended attributes\n");
++#endif
+ rprintf(F," --version print version number\n");
+ rprintf(F," -h, --help show this help screen\n");
+
+@@ -460,6 +466,9 @@
+ {"no-implied-dirs", 0, POPT_ARG_VAL, &implied_dirs, 0, 0, 0 },
+ {"protocol", 0, POPT_ARG_INT, &protocol_version, 0, 0, 0 },
+ {"checksum-seed", 0, POPT_ARG_INT, &checksum_seed, 0, 0, 0 },
++#ifdef EA_SUPPORT
++ {"extended-attributes", 'E', POPT_ARG_NONE, &extended_attributes, 0, 0, 0 },
++#endif
+ #ifdef INET6
+ {"ipv4", '4', POPT_ARG_VAL, &default_af_hint, AF_INET, 0, 0 },
+ {"ipv6", '6', POPT_ARG_VAL, &default_af_hint, AF_INET6, 0, 0 },
+@@ -1310,6 +1319,10 @@
+ argstr[x++] = 'S';
+ if (do_compression)
+ argstr[x++] = 'z';
++#ifdef EA_SUPPORT
++ if (extended_attributes)
++ argstr[x++] = 'E';
++#endif
+
+ /* This is a complete hack - blame Rusty. FIXME!
+ * This hack is only needed for older rsync versions that
Added: trunk/dports/net/rsync-lart/files/patch-proto.h.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-proto.h.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-proto.h.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,10 @@
+--- proto.h.orig 2006-01-09 12:35:38.000000000 -0600
++++ proto.h 2006-01-09 12:35:51.000000000 -0600
+@@ -211,6 +211,7 @@
+ int (*child_main)(int, char*[]));
+ void end_progress(OFF_T size);
+ void show_progress(OFF_T ofs, OFF_T size);
++int get_tmpname(char *fnametmp, char *fname);
+ int recv_files(int f_in, struct file_list *flist, char *local_name);
+ void free_sums(struct sum_struct *s);
+ int set_perms(char *fname,struct file_struct *file,STRUCT_STAT *st,
Added: trunk/dports/net/rsync-lart/files/patch-receiver.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-receiver.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-receiver.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,61 @@
+--- receiver.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ receiver.c 2006-01-09 12:35:51.000000000 -0600
+@@ -20,6 +20,10 @@
+
+ #include "rsync.h"
+
++#ifdef HAVE_COPYFILE
++#include <libgen.h>
++#endif
++
+ extern int verbose;
+ extern int do_xfers;
+ extern int am_daemon;
+@@ -56,6 +60,9 @@
+ extern char *basis_dir[];
+ extern struct file_list *the_file_list;
+ extern struct filter_list_struct server_filter_list;
++#ifdef HAVE_COPYFILE
++extern int extended_attributes;
++#endif
+
+ #define SLOT_SIZE (16*1024) /* Desired size in bytes */
+ #define PER_SLOT_BITS (SLOT_SIZE * 8) /* Number of bits per slot */
+@@ -143,7 +150,7 @@
+ * As long as it's unique, rsync will work.
+ */
+
+-static int get_tmpname(char *fnametmp, char *fname)
++int get_tmpname(char *fnametmp, char *fname)
+ {
+ char *f;
+ int length = 0;
+@@ -426,7 +433,27 @@
+ continue;
+
+ file = flist->files[i];
+- fname = local_name ? local_name : f_name_to(file, fbuf);
++ if (local_name)
++#ifdef HAVE_COPYFILE
++ {
++ if (extended_attributes
++ && !strncmp(file->basename, "._", 2)) {
++ if (dirname(local_name)) {
++ snprintf(fbuf, MAXPATHLEN, "%s/._%s",
++ dirname(local_name), basename(local_name));
++ } else {
++ snprintf(fbuf, MAXPATHLEN, "._%s", local_name);
++ errno = 0;
++ }
++ fname = fbuf;
++ } else
++ fname = local_name;
++ }
++#else
++ fname = local_name;
++#endif
++ else
++ fname = f_name_to(file, fbuf);
+
+ if (verbose > 2)
+ rprintf(FINFO, "recv_files(%s)\n", safe_fname(fname));
Added: trunk/dports/net/rsync-lart/files/patch-rsync.1.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-rsync.1.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-rsync.1.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,22 @@
+--- rsync.1.orig 2006-01-09 12:35:38.000000000 -0600
++++ rsync.1 2006-01-09 12:35:51.000000000 -0600
+@@ -439,6 +439,7 @@
+ --checksum-seed=NUM set block/file checksum seed (advanced)
+ -4, --ipv4 prefer IPv4
+ -6, --ipv6 prefer IPv6
++ -E --extended-attributes copy extended attributes, resource forks
+ --version print version number
+ -h, --help show this help screen
+ .fi
+@@ -1531,6 +1532,11 @@
+ in the case where the user wants a more random checksum seed\&.
+ Note that setting NUM to 0 causes rsync to use the default of time()
+ for checksum seed\&.
++.IP
++.IP "\fB-E, --extended-attributes\fP"
++Apple specific option to copy
++extended attributes, resource forks, and ACLs\&. Requires at least
++Mac OS X 10\&.4 or suitably patched rsync\&.
+ .PP
+ .SH "DAEMON OPTIONS"
+ .PP
Added: trunk/dports/net/rsync-lart/files/patch-rsync.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-rsync.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-rsync.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,69 @@
+--- rsync.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ rsync.c 2006-01-09 12:35:51.000000000 -0600
+@@ -22,6 +22,10 @@
+
+ #include "rsync.h"
+
++#ifdef HAVE_COPYFILE
++#include <libgen.h>
++#endif
++
+ extern int verbose;
+ extern int dry_run;
+ extern int daemon_log_format_has_i;
+@@ -39,6 +43,10 @@
+ extern int make_backups;
+ extern struct stats stats;
+
++#ifdef EA_SUPPORT
++extern int extended_attributes;
++#endif
++
+
+ /*
+ free a sums struct
+@@ -170,6 +178,9 @@
+ int ok_to_set_time, int overwriting_basis)
+ {
+ int ret;
++#ifdef HAVE_COPYFILE
++ char fnamereal[MAXPATHLEN];
++#endif
+
+ if (inplace) {
+ if (verbose > 2)
+@@ -198,10 +209,33 @@
+ }
+ if (ret == 0) {
+ /* The file was moved into place (not copied), so it's done. */
+- return;
++ goto do_fix_extfile_mtime;
+ }
+ do_set_perms:
+ set_perms(fname, file, NULL, ok_to_set_time ? 0 : PERMS_SKIP_MTIME);
++
++ do_fix_extfile_mtime:
++#ifdef EA_SUPPORT
++ /* JDB: When rsync'ing data with extended attributes TO a machine
++ supporting copyfile, moving the synthetic file into place will
++ change the mtime of the 'real' file. Since the code in generator.c
++ guarantees that the synthetic file will be transferred after the
++ real file, it is sufficient (although kludgy) to re-adjust
++ the mtime of the real file here. */
++#ifdef HAVE_COPYFILE
++ if (extended_attributes) {
++ if (!strncmp(basename(fname), "._", 2) && ok_to_set_time) {
++ snprintf(fnamereal, MAXPATHLEN, "%s/%s",
++ dirname(fname), basename(fname) + 2);
++ if (set_modtime(fnamereal, file->modtime) != 0) {
++ rsyserr(FERROR, errno, "failed to set times for real file of %s",
++ full_fname(fname));
++ }
++ }
++ }
++#endif
++#endif
++ return;
+ }
+
+ const char *who_am_i(void)
Added: trunk/dports/net/rsync-lart/files/patch-rsync.h.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-rsync.h.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-rsync.h.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,12 @@
+--- rsync.h.orig 2006-01-09 12:35:38.000000000 -0600
++++ rsync.h 2006-01-09 12:35:51.000000000 -0600
+@@ -864,3 +864,9 @@
+ #define UNUSED(x) x __attribute__((__unused__))
+
+ extern const char *io_write_phase, *io_read_phase;
++ /* hack for building fat on Mac OS X */
++
++#if defined(__APPLE__) && defined(WORDS_BIGENDIAN)
++#undef WORDS_BIGENDIAN
++#define WORDS_BIGENDIAN __BIG_ENDIAN__
++#endif
Added: trunk/dports/net/rsync-lart/files/patch-rsync.yo.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-rsync.yo.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-rsync.yo.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,21 @@
+--- rsync.yo.orig 2006-01-09 12:35:38.000000000 -0600
++++ rsync.yo 2006-01-09 12:35:51.000000000 -0600
+@@ -384,6 +384,7 @@
+ --checksum-seed=NUM set block/file checksum seed (advanced)
+ -4, --ipv4 prefer IPv4
+ -6, --ipv6 prefer IPv6
++ -E --extended-attributes copy extended attributes, resource forks
+ --version print version number
+ -h, --help show this help screen)
+
+@@ -1331,6 +1332,10 @@
+ for checksum seed.
+ enddit()
+
++dit(bf(-E, --extended-attributes)) Apple specific option to copy
++extended attributes, resource forks, and ACLs. Requires at least
++Mac OS X 10.4 or suitably patched rsync.
++
+ manpagesection(DAEMON OPTIONS)
+
+ The options allowed when starting an rsync daemon are as follows:
Added: trunk/dports/net/rsync-lart/files/patch-sender.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-sender.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-sender.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,65 @@
+--- sender.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ sender.c 2006-01-09 12:35:52.000000000 -0600
+@@ -19,6 +19,10 @@
+
+ #include "rsync.h"
+
++#ifdef HAVE_COPYFILE_H
++#include <copyfile.h>
++#endif
++
+ extern int verbose;
+ extern int do_xfers;
+ extern int am_server;
+@@ -41,6 +45,9 @@
+ extern struct file_list *the_file_list;
+ extern char *log_format;
+
++#ifdef EA_SUPPORT
++extern int extended_attributes;
++#endif
+
+ /**
+ * @file
+@@ -286,6 +293,41 @@
+ return;
+ }
+
++#ifdef HAVE_COPYFILE
++ if (extended_attributes
++ && !strncmp(file->basename, "._", 2)) {
++ char fname_tmp[MAXPATHLEN];
++ char fname_src[MAXPATHLEN];
++ extern char *tmpdir;
++
++ if (tmpdir == NULL)
++ tmpdir = "/tmp";
++
++ strlcpy(fname_src, fname, MAXPATHLEN);
++
++ if (file->dirname)
++ sprintf(fname_src + offset, "%s/%s",
++ file->dirname, file->basename + 2);
++ else
++ strlcpy(fname_src + offset, file->basename + 2, MAXPATHLEN);
++
++ if(!get_tmpname(fname_tmp, file->basename))
++ continue;
++
++ if(mktemp(fname_tmp)
++ && !copyfile(fname_src, fname_tmp, NULL,
++ COPYFILE_PACK | COPYFILE_METADATA)) {
++ fd = do_open(fname_tmp, O_RDONLY, 0);
++ unlink(fname_tmp);
++ }
++ else
++ {
++ rprintf(FERROR, "send_files failed to open %s: %s\n",
++ full_fname(fname_tmp), strerror(errno));
++ continue;
++ }
++ } else
++#endif
+ fd = do_open(fname, O_RDONLY, 0);
+ if (fd == -1) {
+ if (errno == ENOENT) {
Added: trunk/dports/net/rsync-lart/files/patch-syscall.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-syscall.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-syscall.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,41 @@
+--- syscall.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ syscall.c 2006-01-09 12:35:52.000000000 -0600
+@@ -30,10 +30,18 @@
+ #include <sys/un.h>
+ #endif
+
++#ifdef HAVE_COPYFILE_H
++#include <libgen.h>
++#include <copyfile.h>
++#endif
++
+ extern int dry_run;
+ extern int read_only;
+ extern int list_only;
+ extern int preserve_perms;
++#ifdef EA_SUPPORT
++extern int extended_attributes;
++#endif
+
+ #define RETURN_ERROR_IF(x,e) \
+ do { \
+@@ -148,6 +156,19 @@
+ {
+ if (dry_run) return 0;
+ RETURN_ERROR_IF_RO_OR_LO;
++#ifdef HAVE_COPYFILE
++ if(extended_attributes)
++ {
++ char dst_fname[MAXPATHLEN];
++ if(!strncmp(basename(fname1), ".._", 3))
++ {
++ snprintf(dst_fname, MAXPATHLEN, "%s/%s", dirname(fname2), basename(fname2) + 2);
++ if(copyfile(fname1, dst_fname, 0,
++ COPYFILE_UNPACK | COPYFILE_METADATA) == 0)
++ return unlink(fname1);
++ }
++ }
++#endif
+ return rename(fname1, fname2);
+ }
+
Added: trunk/dports/net/rsync-lart/files/patch-t_unsafe.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-t_unsafe.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-t_unsafe.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,12 @@
+--- t_unsafe.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ t_unsafe.c 2006-01-09 12:35:52.000000000 -0600
+@@ -29,6 +29,9 @@
+
+ int dry_run, read_only, list_only, verbose;
+ int preserve_perms = 0;
++#ifdef EA_SUPPORT
++int extended_attributes = 0;
++#endif
+
+
+ int
Added: trunk/dports/net/rsync-lart/files/patch-tls.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-tls.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-tls.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,12 @@
+--- tls.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ tls.c 2006-01-09 12:35:52.000000000 -0600
+@@ -47,6 +47,9 @@
+ int read_only = 1;
+ int list_only = 0;
+ int preserve_perms = 0;
++#ifdef EA_SUPPORT
++int extended_attributes = 0;
++#endif
+
+
+ static void failed(char const *what, char const *where)
Added: trunk/dports/net/rsync-lart/files/patch-trimslash.c.diff
===================================================================
--- trunk/dports/net/rsync-lart/files/patch-trimslash.c.diff (rev 0)
+++ trunk/dports/net/rsync-lart/files/patch-trimslash.c.diff 2007-03-04 01:17:54 UTC (rev 22516)
@@ -0,0 +1,12 @@
+--- trimslash.c.orig 2006-01-09 12:35:38.000000000 -0600
++++ trimslash.c 2006-01-09 12:35:52.000000000 -0600
+@@ -23,6 +23,9 @@
+ int read_only = 1;
+ int list_only = 0;
+ int preserve_perms = 0;
++#ifdef EA_SUPPORT
++int extended_attributes = 0;
++#endif
+
+ /**
+ * @file trimslash.c
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20070303/f3f090b6/attachment.html
More information about the macports-changes
mailing list