User Tools

Site Tools


developingpld:builderscript

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
developingpld:builderscript [2006-09-12 20:59]
root recovered entry
developingpld:builderscript [2010-05-02 13:09]
grizz SPECS -> packages
Line 1: Line 1:
- 
- 
-====== The builder script ====== 
-Before you can use ''​builder''​ script, You should have  [[:​DevelopingPLD:​PreparingWorkingEnvironment| working build environment]] setup. ​ 
- 
- 
- 
-===== Using the script ===== 
-You can invoke ''​builder''​ (note that as the script is now in ''​rpm-build-tools'',​ you no longer need to change the working directory) to see the list of possible parameters: ​ 
- 
- 
- 
-<​file>​$ builder 
-</​file>​ 
-The general syntax is as follows: ​ 
- 
- 
- 
-<​file>​$ builder [options] package[.spec] 
-</​file>​ 
-The ''​.spec''​ file extension is optional, ''​builder''​ will append it for you if needed. ​ 
- 
-Most common options are:  
- 
- 
-  * ''​-bb''​ to build only binary packages (omits creating source RPM packages) ​ 
-  * ''​-bc''​ to cleanup after successfully building a package (removes the packaging directory as it is no longer needed) ​ 
-  * ''​--date DATE''​ to build a specific release from the past (to make sure you also get proper SOURCES) ​ 
-  * ''​-r BRANCH''​ to use a specific branch or revision of the given package (available branches are listed at the beginning of the building process) ​ 
-  * ''​-U''​ to fetch all the sources and update their MD5 hashes in the ''​spec''​ file  
-  * ''​-5''​ to update MD5 hashes using locally fetched sources ​ 
-  * ''​--with FEATURE''​ or ''​--without FEATURE''​ to do a non-standard build (available features are listed at the beginning of the building process) ​ 
-  * ''​-R''​ to fetch dependant buildrequires. it is suggested that you install ''​rpm-getdeps''​ package for best results ​ 
-''​builder''​ automatically fetches all files (including the ''​spec''​ file itself) needed to build the given package (if file license permits, otherwise you will need to manually download and save remaining files to your //​~/​rpm/​SOURCES//​ directory). After all file requirements are satisfied, ''​builder''​ launches the ''​rpmbuild''​ binary that initializes the build process. ''​rpmbuild''​ starts by checking for unsatisfied package dependencies needed to perform a successful build. If it finds any, ''​builder''​ will exit giving you a full list of needed packages. You can use ''​poldek''​ to download and install these. ​ 
- 
-After the build process is complete, all binary RPM files are immediately available in your //​~/​rpm/​RPMS//​ directory and source RPM packages (if any) are saved to //​~/​rpm/​SRPMS//​. ​ 
- 
-**Warning:​** all PLD packages are prepared to be built from a regular user account (without special priviledges) and you should //never use your root account// to build packages for security reasons. Keep in mind that a malfunctioning script has full write access to all your filesystems and can accidentally damage things. This is especially important when working on your own ''​spec''​ files as a little mistake can cost you hours or days of work.  
- 
- 
- 
-===== Examples of common use ===== 
-To do a normal (binary) build of //foo// package: ​ 
- 
- 
- 
-<​file>​$ builder -bb -bc -R foo 
-</​file>​ 
-To perform a full build of a package that is currently being developed on the //DEVEL// branch: ​ 
- 
- 
- 
-<​file>​$ builder -bc -r DEVEL foo 
-</​file>​ 
-To update MD5 hashes after making changes to the above ''​spec''​ file:  
- 
- 
- 
-<​file>​$ builder -r DEVEL -U foo 
-</​file>​ 
  
developingpld/builderscript.txt ยท Last modified: 2010-05-02 13:09 by grizz