************************ elbe-control ************************ .. __name: NAME ==== elbe-control - Low level interface to elbe Soap Daemon running in initvm .. __synopsis: SYNOPSIS ======== :: elbe control [options] list_projects elbe control [options] create_project elbe control [options] build_sysroot elbe control [options] build_cdroms elbe control [options] set_pdebuild elbe control [options] get_files elbe control [options] build_chroot_tarball elbe control [options] build_sdk elbe control [options] set_orig elbe control [options] set_cdrom elbe control [options] reset_project elbe control [options] list_users elbe control [options] wait_busy elbe control [options] set_xml elbe control [options] del_project elbe control [options] build_pbuilder elbe control [options] build elbe control [options] rm_log elbe control [options] get_file elbe control [options] dump_file elbe control [options] shutdown_initvm elbe control [options] install_elbe_version .. __description: DESCRIPTION =========== Low Level interface to control an elbe daemon running inside an initvm. It allows one to submit xml files etc. For the high level interface, see *elbe initvm* Please take notice, that a single user can only have a single project opened inside the soap server. So it is not possible to have a single user build 2 projects at once. You can only wait on the project, that you are currently building. .. __options: OPTIONS ======= --host ip or hostname of the elbe-deamon (defaults to localhost, which is the default, where an initvm would be listening). --port Port of the soap interface on the elbe-daemon. --user Username to use for login (defaults to root). --pass Password for login (defaults to *foo*). --retries How many times to retry the connection to the server before giving up (default is 10 times, yielding 10 seconds). --build-bin Build binary repository CDROM, for exact reproduction. --build-sources Build source CDROM. --output Output downloaded files to . --pbuilder-only Only list/download pbuilder files. --profile Specify pbuilder profile(s) to build. Provide multiple profiles as a comma separated list. .. __commands: COMMANDS ======== *list_projects* List projects available on the elbe daemon. *create_project* Create a new project on soap server. a new build-dir is created. The name of the created is printed to stdout, for further reference in subsequent commands. *build_sysroot* Build a sysroot for the specified project. The sysroot can be used with a toolchain for cross-compiles. *build_cdroms* Build ISO images containing the Debian binary or source packages used by the given build-dir. Either --build-bin or --build-sources or both needs to be specified. *set_pdebuild* Build a Debian Project using a pbuilder. The pdebuild file needs to be a .tar.gz archive of a project containing a ./debian folder with a valid debianization. + The generated debian packages are stored inside the initvm. + Use get_files to retrieve them. *get_files* Get list of files in the . If the --output option is specified, the files are downloaded to the directory specified in the option. If the --matches option is specified only files matching the wildcard expression are shown/downloaded. Note that you have to put the wildcard expression in quotation marks. *build_chroot_tarball* Creates a tarball of the chroot environment in . *build_sdk* Creates a yocto-style SDK. *set_orig* Uploads a quilt orig-file to the initvm. This command shall be run before building a Debian package with ``elbe pbuilder build`` if the package is given in the quilt source format. *set_cdrom* Set the cdrom iso image. The is uploaded into the intivm. And the source.xml in the is modified, that it builds from the cdrom mirror now. *reset_project* Reset project database status for . When the database becomes inconsistent, this allows us to access an otherwise blocked project again. Use with care. *list_users* List configured users. Only admins may use this command. *add_user* Create a user inside the initvm. The user is not an Admin user. When the user already exists, nothing is done. Only admins may use this command. *wait_busy* Wait, while is busy. *set_xml* Upload a new xml File into the given . This is most likely going to change the status of the project to *needs_rebuild*. *del_project* Delete project in *build_pbuilder* Build a pbuilder environment for the given project . *build* Trigger building the project. Status will change to busy. *rm_log* Deletes log file for the given project *get_file* Download a single file from the project. *dump_file* Dump a single File from the project to stdout. *shutdown_initvm* Make the initvm shutdown. *install_elbe_version* [version] Make the initvm install a specific elbe version. Defaults to the version of the elbe executable. This requires, that the initvm has package sources configured properly. .. __examples: Examples ======== - List current Projects :: $ elbe control list_projects /var/cache/elbe/982d64de-e69f-48c7-8942-66d8d480f3dc rescue image 1.0 build_done 2015-06-08 15:29:29.613620 /var/cache/elbe/dd37a03e-31bd-45db-afd4-fc51d51fa90a rescue image 1.0 build_done 2015-06-09 08:53:26.658500 /var/cache/elbe/8d62928f-4e75-47cf-aec9-d2365ca59003 rescue image 1.0 build_done 2015-06-09 09:14:15.371456 - Create a new Project, trigger build, and wait till it finishes. :: $ elbe control create_project examples/rescue.xml /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f $ elbe control build /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f $ elbe control wait_busy /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f project still busy, waiting project still busy, waiting ... project still busy, waiting $ elbe control get_files /var/cache/elbe/f310dcbc-f5fc-423e-99e4-fb72d7b9dd5f source.xml (Current source.xml of the project) rescue.cpio (Image) validation.txt (Package list validation result) elbe-report.txt (Report) log.txt (Log file) .. __see_also: SEE ALSO ======== elbe-initvm1 git-daemon1 .. __elbe: ELBE ==== Part of the elbe1 suite