info > COWPOKE

🐄 NAME

cowpoke - Build a Debian source package in a remote cowbuilder instance

🚀 Quick Reference

Use CaseCommandDescription
Build a package on remote cowbuildercowpoke [options] packagename.dscđŸ“Ļ Upload source package and build it, optionally sign and upload results
Build for specific architecturescowpoke --arch="amd64 i386" packagename.dscđŸ—ī¸ Build for multiple architectures in one pass
Build for specific distributionscowpoke --dist="sid squeeze" packagename.dscđŸ“Ļ Build for multiple distributions in one pass
Create chroot if missingcowpoke --create packagename.dsc🆕 Create cowbuilder root if it does not exist
Return build results to a directorycowpoke --return=/path/to/results packagename.dsc📂 Copy build artifacts to local path
Sign and upload packagescowpoke --sign=KEYID --upload=QUEUE packagename.dsc🔑 Sign packages and upload via dput

📖 SYNOPSIS

cowpoke [options] packagename.dsc

📝 DESCRIPTION

Uploads a Debian source package to a cowbuilder host and builds it, optionally also signing and uploading the result to an incoming queue.

âš™ī¸ OPTIONS

🔧 CONFIGURATION OPTIONS

When cowpoke is run the following configuration options are read from global, per-user, and per-project configuration files if present. File paths may be absolute or relative, the latter being relative to the BUILDD_USER's home directory. Since the paths are typically quoted when used, tilde expansion will not be performed on them.

🌐 Global defaults

These apply to every arch and dist in a single cowpoke invocation.

🔧 Arch and dist specific options

These are variables of the form: $arch_$dist_VAR which apply only for a particular target arch/dist build.

📁 CONFIGURATION FILES

đŸ› ī¸ COWBUILDER CONFIGURATION

There is nothing particularly special required to configure a cowbuilder instance for use with cowpoke. Simply create them in the flavour you require with cowbuilder --create according to the cowbuilder documentation, then configure cowpoke with the user, arch, and path information required to access it, on the machines you wish to invoke it from (or alternatively configure cowpoke with the path, arch and distribution information and pass the --create option to it on the first invocation). The build host running cowbuilder does not require cowpoke installed locally.

The build machine should have the lintian and devscripts packages installed for post-build sanity checking. Upon completion, the build log and the results of automated checks will be recorded in the INCOMING_DIR. If you wish to upload signed packages the build machine will also need dput(1) installed and configured to use the 'host' alias specified by UPLOAD_QUEUE. If rsync(1) is available on both the local and build machine, then it will be used to transfer the source package (this may save on some transfers of the orig.tar.* when building subsequent Debian revisions).

The user executing cowpoke must have SSH access to the build machine as the BUILDD_USER. That user must be able to invoke cowbuilder as root by using the BUILDD_ROOTCMD. Signing keys are not required to be installed on the build machine (and will be ignored there if they are). If the package is signed, keys will be expected on the machine that executes cowpoke.

When cowpoke is invoked, it will first attempt to update the cowbuilder image if that has not already been done on the same day. This is checked by the presence or absence of a cowbuilder-$arch-$dist-update-log-$date file in the INCOMING_DIR. You may move, remove, or touch this file if you wish the image to be updated more or less often than that. Its contents log the output of cowbuilder during the update (or creation) of the build root.

📌 NOTES

Since cowbuilder creates a chroot, and to do that you need root, cowpoke also requires some degree of root access. So all the horrible things that can go wrong with that may well one day rain down upon you. cowbuilder has been known to accidentally wipe out bind-mounted filesystems outside the chroot, and worse than that can easily happen. So be careful, keep good backups of things you don't want to lose on your build machine, and use cowpoke to keep all that on a machine that isn't your bleeding edge dev box with your last few hours of uncommitted work.

📚 SEE ALSO

cowbuilder(1), pbuilder(1), ssh-agent(1), sudoers(5)

👤 AUTHOR

cowpoke was written by Ron <ron AT debian.org>.

April 28, 2008

COWPOKE
🐄 NAME 🚀 Quick Reference 📖 SYNOPSIS 📝 DESCRIPTION âš™ī¸ OPTIONS 🔧 CONFIGURATION OPTIONS
🌐 Global defaults 🔧 Arch and dist specific options
📁 CONFIGURATION FILES đŸ› ī¸ COWBUILDER CONFIGURATION 📌 NOTES 📚 SEE ALSO 👤 AUTHOR

Generated by phpman v4.9.26-1-g511901d Author: Che Dong Under GNU General Public License
2026-08-09 09:14 @2600:1f28:365:80b0:50b3:453e:ff52:20f7
CrawledBy CCBot/2.0 (https://commoncrawl.org/faq/)
Valid XHTML 1.0 Transitional!Valid CSS!
Enhanced by LLM: deepseek-v4-flash / taotoken.net / www.chedong.com - original format