Changes between Version 3 and Version 4 of HaikuPorterForPM
- Timestamp:
- 06/12/13 10:34:59 (2 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
HaikuPorterForPM
v3 v4 20 20 Contains recipe files for all the ports to be built 21 21 22 == [wiki:HaikuPorterForPM/BuildRecipes Build Recipe Files]==22 == Build Recipe Files == 23 23 24 For a particular version of a port a build recipe file specifies what packages shall be built for that port and the build recipe provides all required information for that purpose. 24 For a particular version of a port a build recipe file specifies what packages shall be built for that port and the build recipe provides all required information for that purpose. 25 25 26 == [wiki:HaikuPorterForPM/PortsAndPackages Ports and Packages] == 26 More info on build recipes is available on this subpage: [wiki:HaikuPorterForPM/BuildRecipes Build Recipe Files] 27 28 == Ports and Packages == 27 29 28 30 Each port will produce a set of packages, typically a base package containing the main binaries/libraries of the port plus a source and a debug package. Ports that provide libraries will usually provide an additional development package, too. … … 30 32 All the packages built by !HaikuPorter are being collected in the 'packages'-folder of the ports tree. 31 33 32 == [wiki:HaikuPorterForPM/Repository The Package Repository] == 34 More info on ports and their packages is available on this subpage: [wiki:HaikuPorterForPM/PortsAndPackages Ports and Packages] 33 35 34 For each port, the most current version that has been marked as stable for the Haiku platform !HaikuPorter is running on will be considered the active one. For all active ports, a [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages#The.PackageInfo .PackageInfo]-file will be put into the `repository`-folder of the ports tree. Only this set of active package-infos will be considered during dependency resolution. 36 == The Repository == 35 37 36 The 'repository' folder defines which set of packages will finally be uploaded into the corresponding package repository (from where packages will be downloaded). Because of that, it is important that the set of packages in the repository folder is consistent with respect to declaration of provides, requires, conflicts, etc.38 For each port, the most current version that has been marked as stable for the Haiku platform !HaikuPorter is running on will be considered the active one. For all active ports, a [http://dev.haiku-os.org/wiki/PackageManagement/BuildingPackages#The.PackageInfo .PackageInfo]-file representing that to-be-built package will be put into the `repository`-folder of the ports tree. Only this set of active package-infos will be considered during dependency resolution among ports. 37 39 38 Packages for other versions of a port can be built, but only if their dependencies can be resolved by the repository. If that is not the case and you really need to build a specific version of a package, then you can do so by checking out a (git-)revision of the ports tree where that package version was the active one. 40 More info on the repository is available on this subpage: [wiki:HaikuPorterForPM/Repository The Repository] 39 41 40 == [wiki:HaikuPorterForPM/HandlingRequirements]==42 == Handling Requirements == 41 43 42 44 === !HaikuPorter === … … 53 55 * XZ-utils (for a port that comes as a '*.xz' archive) 54 56 * the sources of ports are only available as VCS-checkout, so any of these VCS might be required: 55 * bzr 56 * CVS57 * bzr/Bazaar 58 * cvs 57 59 * fossil 58 60 * hg/Mercurial … … 61 63 === Requirements defined by a recipe file === 62 64 63 All packages listed as requirements in a port's RecipeFile will be resolved automatically by !HaikuPorter and the ports will be built in the correct order.65 In order to be able to automatically resolve dependencies and build ports in the correct order, !HaikuPorter relies on the build recipe files to actually declare those dependencies. Haiku's [http://dev.haiku-os.org/wiki/PackageManagement/PackagingPolicy packaging policy] strongly advises packagers to declare dependencies on specific commands and libraries, not on other packages. 64 66 65 == [wiki:HaikuPorterForPM/Usage Usage] == 67 More info on how to handle requirements is available on this subpage: [wiki:HaikuPorterForPM/HandlingRequirements Handling Requirements] 66 68 67 'haikuporter -h' will show usage info. 69 == Usage of !HaikuPorter == 70 71 `haikuporter -h` will show usage info, more detailed usage information is given on this subpage: [wiki:HaikuPorterForPM/Usage Usage]. 68 72 69 73 In order to build a port, just use 'haikuporter <portName>'
