diff --git a/sys-fs/fstools/fstools-1.0~git.recipe b/sys-fs/fstools/fstools-1.0~git.recipe new file mode 100644 index 000000000..c3e070bd6 --- /dev/null +++ b/sys-fs/fstools/fstools-1.0~git.recipe @@ -0,0 +1,64 @@ +SUMMARY="Apple's fsx and fstorture programs" +DESCRIPTION="Apple's fsx and fstorture programs. They are very good at finding\ + issues with various system calls and in particular overlapping reads/writes." +HOMEPAGE="https://github.com/thedrgreenthumb/fstools/" +COPYRIGHT="1998 Christian Starkjohann + 1998-2001, 2009 Apple Inc. + " +LICENSE=" + GNU GPL v2 + APSL v2 + " +REVISION="1" +srcGitRev="d8fd8ae20a0d3bfe4695b0a6e0a6b45a456eb15b" +SOURCE_URI="https://github.com/thedrgreenthumb/fstools/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="d50cfdfc7d15d39dc9dde3ccf5cafb74f4667f58d995159607528e5cb0123967" +SOURCE_DIR="fstools-$srcGitRev" +PATCHES="fstools-$portVersion.patchset" + +ARCHITECTURES="!x86_gcc2 x86 x86_64" +if [ "$targetArchitecture" = x86_gcc2 ]; then +SECONDARY_ARCHITECTURES="x86" +fi + +# On x86_gcc2 we don't want to install the commands in bin//, but in bin/. +commandBinDir=$binDir +if [ "$targetArchitecture" = x86_gcc2 ]; then + commandBinDir=$prefix/bin +fi + +PROVIDES=" + fstools$secondaryArchSuffix = $portVersion + cmd:fstorture = $portVersion + cmd:fsx = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libuuid$secondaryArchSuffix + " +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + devel:libuuid$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + makefile_engine + cmd:gcc$secondaryArchSuffix + cmd:make + " + +BUILD() +{ + cd src/fstorture + make $jobArgs + cd ../fsx + make $jobArgs +} + +INSTALL() +{ + mkdir -p $commandBinDir + cd src/fstorture + cp fstorture $commandBinDir/ + cd ../fsx + cp objects*/fsx $commandBinDir/ +} diff --git a/sys-fs/fstools/licenses/APSL v2 b/sys-fs/fstools/licenses/APSL v2 new file mode 100644 index 000000000..ab463a237 --- /dev/null +++ b/sys-fs/fstools/licenses/APSL v2 @@ -0,0 +1,335 @@ +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. + +Apple Note: In January 2007, Apple changed its corporate name from "Apple +Computer, Inc." to "Apple Inc." This change has been reflected below and +copyright years updated, but no other changes have been made to the APSL 2.0. + +1. General; Definitions. This License applies to any program or other +work which Apple 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", "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 exigé que le +présent contrat et tous les documents connexes soient rédigés en anglais. + +EXHIBIT A. + +"Portions Copyright (c) 1999-2007 Apple 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." + diff --git a/sys-fs/fstools/patches/fstools-1.0~git.patchset b/sys-fs/fstools/patches/fstools-1.0~git.patchset new file mode 100644 index 000000000..fcdc964e9 --- /dev/null +++ b/sys-fs/fstools/patches/fstools-1.0~git.patchset @@ -0,0 +1,329 @@ +From 3be3acc20d541981156ce7b058db57293f289b47 Mon Sep 17 00:00:00 2001 +From: Jerome Duval +Date: Thu, 4 Jul 2019 10:36:20 +0200 +Subject: Haiku patch. + + +diff --git a/src/fstorture/cmpdir.h b/src/fstorture/cmpdir.h +index c3df7a0..3b00b01 100644 +--- a/src/fstorture/cmpdir.h ++++ b/src/fstorture/cmpdir.h +@@ -20,7 +20,9 @@ + /* ------------------------------------------------------------------------- */ + + #include "basictypes.h" ++#ifndef __HAIKU__ + #include ++#endif + + #define CMPDIR_MAX_FILES 10 + +diff --git a/src/fstorture/cmpfile.h b/src/fstorture/cmpfile.h +index 8b03014..57dec92 100644 +--- a/src/fstorture/cmpfile.h ++++ b/src/fstorture/cmpfile.h +@@ -31,7 +31,9 @@ value is 1 on success, 0 on failure. + /* ------------------------------------------------------------------------- */ + + #include "basictypes.h" ++#ifndef __HAIKU__ + #include ++#endif + + #define THREADS 5 + +diff --git a/src/fstorture/fstorture.c b/src/fstorture/fstorture.c +index e291bcb..2af9f49 100644 +--- a/src/fstorture/fstorture.c ++++ b/src/fstorture/fstorture.c +@@ -47,7 +47,11 @@ static btbool WinVolume = 0; + static btbool noStats = 0; + static btbool noPerms = 0; + static btbool softlinks = 1; ++#ifdef __HAIKU__ ++static btbool hardlinks = 0; ++#else + static btbool hardlinks = 1; ++#endif + static btbool sleepy = 0; + static btbool acl = 0; + static btbool nocache = 0; +@@ -739,7 +743,9 @@ int main(int argc, char **argv) + { + int n, i; + struct stat sbuf; ++#ifndef __HAIKU__ + struct statfs st; ++#endif + int dirs = 0; + + if(argc < 4) +diff --git a/src/fstorture/stdheaders.h b/src/fstorture/stdheaders.h +index 94d84d5..14f3eb0 100644 +--- a/src/fstorture/stdheaders.h ++++ b/src/fstorture/stdheaders.h +@@ -33,11 +33,21 @@ This header includes all system headers that are needed. + #include + #include + #include ++#ifndef __HAIKU__ + #include ++#endif + #include ++#ifndef __HAIKU__ + #include ++#else ++#include ++#endif + #include + + #ifdef NeXT + # include + #endif ++ ++#ifdef __HAIKU__ ++# include ++#endif +diff --git a/src/fsx/Makefile b/src/fsx/Makefile +index e1ee651..7257a27 100644 +--- a/src/fsx/Makefile ++++ b/src/fsx/Makefile +@@ -1,7 +1,128 @@ +-# $FreeBSD$ ++## Haiku Generic Makefile v2.6 ## + +-PROG= fsx ++## Fill in this file to specify the project being created, and the referenced ++## Makefile-Engine will do all of the hard work for you. This handles any ++## architecture of Haiku. + +-MAN= ++# The name of the binary. ++NAME = fsx + +-.include ++# The type of binary, must be one of: ++# APP: Application ++# SHARED: Shared library or add-on ++# STATIC: Static library archive ++# DRIVER: Kernel driver ++TYPE = APP ++ ++# If you plan to use localization, specify the application's MIME signature. ++APP_MIME_SIG = ++ ++# The following lines tell Pe and Eddie where the SRCS, RDEFS, and RSRCS are ++# so that Pe and Eddie can fill them in for you. ++#%{ ++# @src->@ ++ ++# Specify the source files to use. Full paths or paths relative to the ++# Makefile can be included. All files, regardless of directory, will have ++# their object files created in the common object directory. Note that this ++# means this Makefile will not work correctly if two source files with the ++# same name (source.c or source.cpp) are included from different directories. ++# Also note that spaces in folder names do not work well with this Makefile. ++SRCS = fsx.c ++ ++# Specify the resource definition files to use. Full or relative paths can be ++# used. ++RDEFS = ++ ++# Specify the resource files to use. Full or relative paths can be used. ++# Both RDEFS and RSRCS can be utilized in the same Makefile. ++RSRCS = ++ ++# End Pe/Eddie support. ++# @<-src@ ++#%} ++ ++# Specify libraries to link against. ++# There are two acceptable forms of library specifications: ++# - if your library follows the naming pattern of libXXX.so or libXXX.a, ++# you can simply specify XXX for the library. (e.g. the entry for ++# "libtracker.so" would be "tracker") ++# ++# - for GCC-independent linking of standard C++ libraries, you can use ++# $(STDCPPLIBS) instead of the raw "stdc++[.r4] [supc++]" library names. ++# ++# - if your library does not follow the standard library naming scheme, ++# you need to specify the path to the library and it's name. ++# (e.g. for mylib.a, specify "mylib.a" or "path/mylib.a") ++LIBS = ++ ++# Specify additional paths to directories following the standard libXXX.so ++# or libXXX.a naming scheme. You can specify full paths or paths relative ++# to the Makefile. The paths included are not parsed recursively, so ++# include all of the paths where libraries must be found. Directories where ++# source files were specified are automatically included. ++LIBPATHS = ++ ++# Additional paths to look for system headers. These use the form ++# "#include
". Directories that contain the files in SRCS are ++# NOT auto-included here. ++SYSTEM_INCLUDE_PATHS = ++ ++# Additional paths paths to look for local headers. These use the form ++# #include "header". Directories that contain the files in SRCS are ++# automatically included. ++LOCAL_INCLUDE_PATHS = ++ ++# Specify the level of optimization that you want. Specify either NONE (O0), ++# SOME (O1), FULL (O2), or leave blank (for the default optimization level). ++OPTIMIZE := ++ ++# Specify the codes for languages you are going to support in this ++# application. The default "en" one must be provided too. "make catkeys" ++# will recreate only the "locales/en.catkeys" file. Use it as a template ++# for creating catkeys for other languages. All localization files must be ++# placed in the "locales" subdirectory. ++LOCALES = ++ ++# Specify all the preprocessor symbols to be defined. The symbols will not ++# have their values set automatically; you must supply the value (if any) to ++# use. For example, setting DEFINES to "DEBUG=1" will cause the compiler ++# option "-DDEBUG=1" to be used. Setting DEFINES to "DEBUG" would pass ++# "-DDEBUG" on the compiler's command line. ++DEFINES = ++ ++# Specify the warning level. Either NONE (suppress all warnings), ++# ALL (enable all warnings), or leave blank (enable default warnings). ++WARNINGS = ++ ++# With image symbols, stack crawls in the debugger are meaningful. ++# If set to "TRUE", symbols will be created. ++SYMBOLS := ++ ++# Includes debug information, which allows the binary to be debugged easily. ++# If set to "TRUE", debug info will be created. ++DEBUGGER := ++ ++# Specify any additional compiler flags to be used. ++COMPILER_FLAGS = ++ ++# Specify any additional linker flags to be used. ++LINKER_FLAGS = ++ ++# Specify the version of this binary. Example: ++# -app 3 4 0 d 0 -short 340 -long "340 "`echo -n -e '\302\251'`"1999 GNU GPL" ++# This may also be specified in a resource. ++APP_VERSION := ++ ++# (Only used when "TYPE" is "DRIVER"). Specify the desired driver install ++# location in the /dev hierarchy. Example: ++# DRIVER_PATH = video/usb ++# will instruct the "driverinstall" rule to place a symlink to your driver's ++# binary in ~/add-ons/kernel/drivers/dev/video/usb, so that your driver will ++# appear at /dev/video/usb when loaded. The default is "misc". ++DRIVER_PATH = ++ ++## Include the Makefile-Engine ++DEVEL_DIRECTORY := \ ++ $(shell findpaths -r "makefile_engine" B_FIND_PATH_DEVELOP_DIRECTORY) ++include $(DEVEL_DIRECTORY)/etc/makefile-engine +diff --git a/src/fsx/fsx.c b/src/fsx/fsx.c +index 00ad178..dfc5d51 100644 +--- a/src/fsx/fsx.c ++++ b/src/fsx/fsx.c +@@ -50,7 +50,9 @@ + #endif + #include + #include ++#ifndef __HAIKU__ + #include ++#endif + #include + #ifndef MAP_FILE + # define MAP_FILE 0 +@@ -103,9 +105,11 @@ char *temp_buf; /* a pointer to the current data */ + char *fname; /* name of our test file */ + int fd; /* fd for our test file */ + int ea = 0; /* -e flag */ ++#ifndef __HAIKU__ + int ea_lastwrite = 0; /* Size of the last EA Write */ + char eaname[MAXPATHLEN]; /* Name of the EA key */ + int eanamespace = EXTATTR_NAMESPACE_USER; ++#endif + + off_t file_size = 0; + off_t biggest = 0; +@@ -462,8 +466,10 @@ doread(unsigned offset, unsigned size) + off_t ret; + unsigned iret; + ++#ifndef __HAIKU__ + if (ea) + size = ea_lastwrite; ++#endif + + offset -= offset % readbdy; + if (size == 0 && !ea) { +@@ -502,7 +508,9 @@ doread(unsigned offset, unsigned size) + } + iret = read(fd, temp_buf, size); + } else { ++#ifndef __HAIKU__ + iret = extattr_get_fd(fd, eanamespace, eaname, temp_buf, size); ++#endif + } + + if (iret != size) { +@@ -665,6 +673,7 @@ dowrite(unsigned offset, unsigned size) + } + iret = write(fd, good_buf + offset, size); + } else { ++#ifndef __HAIKU__ + if (random() % 100 == 0) { + iret = extattr_delete_fd(fd, eanamespace, eaname); + if (iret != 0) { +@@ -680,6 +689,7 @@ dowrite(unsigned offset, unsigned size) + } + iret = extattr_set_fd(fd, eanamespace, eaname, good_buf, size); + ea_lastwrite = size; ++#endif + } + + if (iret != size) { +@@ -1043,7 +1053,9 @@ main(int argc, char **argv) + char goodfile[1024]; + char logfile[1024]; + ++#ifndef __HAIKU__ + sprintf(eaname, "%d_%s", getpid(), argv[0]); ++#endif + + goodfile[0] = 0; + logfile[0] = 0; +@@ -1078,6 +1090,7 @@ main(int argc, char **argv) + debug = 1; + break; + case 'e': ++#ifndef __HAIKU__ + ea = 1; + mapped_writes = 0; + mapped_reads = 0; +@@ -1086,6 +1099,10 @@ main(int argc, char **argv) + maxoplen = getnum(optarg, &endp); + maxfilelen = maxoplen; + printf("Writing into extended attribute maxoplen = %d\n", maxoplen); ++#else ++ printf("Extended attribute disabled\n"); ++ usage(); ++#endif + break; + case 'i': + invlprob = getnum(optarg, &endp); +@@ -1223,8 +1240,10 @@ main(int argc, char **argv) + exit(91); + } + ++#ifndef __HAIKU__ + if(ea) + extattr_set_fd(fd, 1, eaname, NULL, 0); ++#endif + + strncat(goodfile, fname, 256); + strcat (goodfile, ".fsxgood"); +-- +2.21.0 +