SliTaz GNU/Linux official and community documentation wiki.
.png

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
en:cookbook:wok [2012/04/06 13:04]
linea Start to update
en:cookbook:wok [2017/04/17 18:31] (current)
hgt create package after writing recipe
Line 11: Line 11:
 === Wok Structure and Organisation === === Wok Structure and Organisation ===
  
-The //wok// is a directory structure that houses all the available packages. Each directory contains at least one receipt to download, unpack, compile and generate a package. Cookutils also needs to create a directory to store downloaded sources (//​$SOURCES_REPOSITORY//,​ usually ///​home/​slitaz/​src//​) and a repository of generated packages (//​$PACKAGES_REPOSITORY//,​ usually ///​home/​slitaz/​packages//​);​ these values can be configured in the ///etc/cookutils.conf// file.+The //wok// is a directory structure that houses all the available packages. Each directory contains at least one receipt to download, unpack, compile and generate a package. Cookutils also needs to create a directory to store downloaded sources (//​$SOURCES_REPOSITORY//,​ usually ///​home/​slitaz/​src//​) and a repository of generated packages (//​$PACKAGES_REPOSITORY//,​ usually ///​home/​slitaz/​packages//​);​ these values can be configured in the ///etc/slitaz/cook.conf// file.
  
 There is more than one Wok on the [[http://​hg.slitaz.org|Mercurial repositories]]:​ There is more than one Wok on the [[http://​hg.slitaz.org|Mercurial repositories]]:​
Line 39: Line 39:
 </​code>​ </​code>​
  
-More information on the use of the Mercurial VCS is available from its [[http://​mercurial.selenic.com/|website]] and the "​[[http://​hgbook.red-bean.com/​|Hg Book]]"​.+More information on the use of the Mercurial VCS is available from its [[http://​mercurial-scm.org/|website]] and the "​[[http://​hgbook.red-bean.com/​|Hg Book]]"​.
  
 === Cloning the Wok === === Cloning the Wok ===
Line 48: Line 48:
  
 <​code>​ <​code>​
- $ hg clone http://​hg.slitaz.org/​wok/​ /​home/​slitaz/​wok + # cook setup --wok
 </​code>​ </​code>​
  
Line 68: Line 68:
 The process for generating a SliTaz package from source can be summarised thus: [[http://​www.tuxfiles.org/​linuxhelp/​softinstall.html#​s2|configure]],​ [[http://​www.tuxfiles.org/​linuxhelp/​softinstall.html#​s3|compile]] & [[http://​linux.die.net/​man/​1/​strip|strip]]. The process for generating a SliTaz package from source can be summarised thus: [[http://​www.tuxfiles.org/​linuxhelp/​softinstall.html#​s2|configure]],​ [[http://​www.tuxfiles.org/​linuxhelp/​softinstall.html#​s3|compile]] & [[http://​linux.die.net/​man/​1/​strip|strip]].
  
-<​note>​We do not carry out the '//​make install//'​-style step ourselves; the built files are not to be installed in the system but left in the output directory (_pkg), ready for packaging.</​note>​+<​note>​We do not carry out the '//​make install//'​-style step ourselves; the built files are not to be installed in the system but left in the output directory ($DESTDIR), ready for packaging.</​note>​
  
 When generating your first package, it is advisable to [[http://​doc.slitaz.org/​en:​cookbook:​devcorner#​kiss-comply-to-standards|keep it simple]] and build your package without changing its receipt or seeking dependencies. M4 is an ideal candidate for your first //cook//: When generating your first package, it is advisable to [[http://​doc.slitaz.org/​en:​cookbook:​devcorner#​kiss-comply-to-standards|keep it simple]] and build your package without changing its receipt or seeking dependencies. M4 is an ideal candidate for your first //cook//:
Line 76: Line 76:
 When Cookutils has finished building M4, its package is placed in the directory specified by the configuration file (///​home/​slitaz///​packages by default). If all went well, you can install the package on the host system or use it to generate a LiveCD distribution via Tazlito! When Cookutils has finished building M4, its package is placed in the directory specified by the configuration file (///​home/​slitaz///​packages by default). If all went well, you can install the package on the host system or use it to generate a LiveCD distribution via Tazlito!
  
-When you are familiar with [[en:​cookbook:​receipt|receipts]] and the compilation process, you can use the following command to create a new package interactively ​before ​writing its receipt:+When you are familiar with [[en:​cookbook:​receipt|receipts]] and the compilation process, you can use the following command to create a new package, after interactively writing its receipt:
  
 <​code>​ # cook new <​packageName>​ --interactive </​code>​ <​code>​ # cook new <​packageName>​ --interactive </​code>​
  
 Be sure to read the documentation on the options provided by the [[en:​cookbook:​receipt|receipt]] and the [[en:​guides:​tazwoktips|Tazwok Tips]] to avoid frustration! Be sure to read the documentation on the options provided by the [[en:​cookbook:​receipt|receipt]] and the [[en:​guides:​tazwoktips|Tazwok Tips]] to avoid frustration!
 +
 +=== Cooking Multiple Packages with a cook list ===
 +
 +Cookutils can compile several packages with a single command. This is achieved with a //cooking list//, a text file of one package per line. Cookutils can accept a cook-list with the command of the same name; for example, to cook the //mypkgs// cook-list:
 +
 +<​code>​ # cook list mypkgs.cooklist </​code>​
  
 ===== Package Compilation Options ===== ===== Package Compilation Options =====
Line 94: Line 100:
 === Optimization === === Optimization ===
  
-The official SliTaz packages are optimized for **i486**, the optimization arguments used to configure are specified in **/etc/cookutils.conf** and can be called via the variable $CONFIGURE_ARGS. If you want to compile a package with different arguments, you can modify the Cookutils configuration file:+The official SliTaz packages are optimized for **i486**, the optimization arguments used to configure are specified in **/etc/slitaz/cook.conf** and can be called via the variable $CONFIGURE_ARGS. If you want to compile a package with different arguments, you can modify the Cookutils configuration file:
  
-<​file>​+<​file ​bash>
 CONFIGURE_ARGS="​--build=i486-pc-linux-gnu --host=i486-pc-linux-gnu"​ CONFIGURE_ARGS="​--build=i486-pc-linux-gnu --host=i486-pc-linux-gnu"​
 </​file>​ </​file>​
 
en/cookbook/wok.1333710244.txt.gz ยท Last modified: 2012/04/06 13:04 by linea