2,324 bytes added
, 00:30, 2 July 2013
== Summary ==
The document describes package specification files format which is a superset on top of the [[Sugar Network]] [[Sugar_Network/Recipe_Specification|recipe specification]]. This is an attempt to implement a kind of ''meta-packaging'' spec file for Sugar Labs [[Platform_Team/Open_Build_Service|instance]] of the [http://openbuildservice.org/ Open Build Service]. The important note regarding this section is that such ''meta-packaging'' is very limited by design (in comparison with regular GNU/Linux distribution spec files) and is not assumed to go far from the standard {{Code|./configure && make && make install}}. The main purpose is making possible to build binaries on all [[Sweets_Distribution/Supported_platforms|supported]] GNU/Linux distributions from the same [simple] spec file.
=== [Package] ===
All packaging related configuration happens in this section.
<div id="source"></div>
'''source''' = ''FILENAME''
Required. The filename with sources bundle.
<div id="conflicts"></div>
'''conflicts''' = ''PACKAGE'' [; ...]
Optional. The list of package names, i.e., names from a particular GNU/Linux distribution, that conflict with the recipe and cannot be installed at the same time.
<div id="install"></div>
'''install''' = ''SHELL_COMMAND''
Optional. The command that will be executed after installing the binary package composed from this recipe.
<div id="uninstall"></div>
'''uninstall''' = ''SHELL_COMMAND''
Optional. The command that will be executed after uninstalling the binary package composed from this recipe.
== Predefined constants ==
In addition to the already [[Sugar_Network/Recipe_Specification#Predefined_constants|existing]] predefined constants, there are several new defines that make sense only for packages:
* {{Code|EXEC_PREFIX}};
* {{Code|BINDIR}};
* {{Code|SBINDIR}};
* {{Code|SYSCONFDIR}};
* {{Code|DATADIR}};
* {{Code|INCLUDEDIR}};
* {{Code|LIBDIR}};
* {{Code|LIBEXECDIR}};
* {{Code|LOCALSTATEDIR}};
* {{Code|MANDIR}};
* {{Code|INFODIR}};
* {{Code|PYTHONSITEDIR}}, equal to Python's {{Code|PYTHONPATH}} environment variable;
* {{Code|LUACPATHDIR}}, equal to Lua's {{Code|LUA_CPATH}} environment variable;
* {{Code|LUAPATHDIR}}, equal to Lua's {{Code|LUA_PATH}} environment variable;
* {{Code|LUAINCDIR}}, path to a directory with Lua's C header file;