Changes

Created page with "== Summary == The document describes package specification files format which is a superset on top of the Sugar Network [[Sugar_Network/Recipe_Specification|recipe specif..."
== 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;