aboutsummaryrefslogtreecommitdiff
path: root/Makefile
AgeCommit message (Collapse)Author
2018-07-14Fix generated Debian package names ("_" is illegal).Rob Austein
2018-06-17Packaging voodoo to support same code version on multiple releases.Rob Austein
reprepro strictly follows the Debian package rule that two package files which have the same name must have identical content. Which is fine, except when we want to support the same version of a package on multiple releases of the same Debian-flavored operating system. The usual hack for this is to add a release-specific tag to the end of the version string. The brute force way of doing this requires modifying the source package for each release, but there's an obscure hack which lets us augment the binary package versions directly.
2018-06-15Add host builds for Debian Stretch and Ubuntu Bionic.Rob Austein
NB: this change is not by itself enough to prep the build environment for new platforms, one must also (manually): a) Update the conf/distributions files in the reprepro repositories to include the new codenames; b) Install an updated version of the debootstrap package on the build machine so that it knows how to construct the base environment for the new codenames; and c) Create the initial pbuilder environments fot the new codenames using `pbuilder-dist create`. There may be other steps I've forgotten, it's been a while since we last added a new codename. Per recommendation in the Debian Wiki, the debootstrap package I expect to use for this was manually backported (so that our existing build machine can know how to build for codenames newer than what the build machine itself is running). In this case I'm using the stretch-backports version (to get Ubuntu Bionic).
2017-12-15Makefile cleanup.Rob Austein
2017-12-14Don't "tidy" the pbuilder marker.Rob Austein
2017-09-21Auto-update the pbuilder environments.Rob Austein
2017-05-11Fix --conflicts inconsistency between build scripts and Makefile.Rob Austein
scripts/build-*.py were treating --conflicts as a sequence of arguments while Makefile was treating as a single argument whose value might contain whitespace. No big deal either way for the scripts, and Makefile is complicated enough, so go with Makefile's approach. Add some pedantic quoting to Makefile while we're at this, out of general paranoia and because the inconsistencies were puzzling.
2017-05-09Bump version number, pull in README updates.Rob Austein
2017-04-14Target to restore staging repository after an oops.Rob Austein
2017-04-14Use correct options to "git clean", sigh.Rob Austein
2017-04-14Add "tidy" target, like clean but leaves firmware build tree alone.Rob Austein
2016-12-14Fix Homebrew formula class name.Rob Austein
Apparently Homebrew expects the formula class name to match the name of the recipe, and gets tetchy when they do not. Minimal fix, wires in assumptions about how we punctuate package names, but simple and should suffice for now. While we were at this, changed argument parsing for build-homebrew-formula.py to use named (--foo) rather than positional arguments.
2016-12-14Minor tweaks to branch-based package conflict hacks.Rob Austein
Get conflict indentation right in generated Homebrew formula. Consider remote branches as well as local ones when constructing conflict list, so that we don't omit a conflicting package just because we've never checked it out in this build tree.
2016-12-14Support multiple packages corresponding to multiple releng branches.Rob Austein
We want to be able to provide packaged builds of development branches. The most straightforward way to do this is a 1:1 correspondence between branches in the releng tree and variant package names. We adopt a simple convention: the base package name corresponds to the master branch, all other branches are named with the base package name followed by the branch name. So the master branch is the cryptech-alpha package, the ksng branch is the cryptech-alpha-ksng branch, and so forth. This isn't a perfect solution, but it's probably good enough. In order to do this, we need to generate the debian/control file at build-time, so that we can generate the list of conflicting packages. This commit also pulls in a few changes that had collected on the master branches of various repositories, chiefly because a few of them were necessary to get it the build to run at all.
2016-08-10Updated tamper code; new port of libcli; libhal / PKCS #11 bugfixes.Rob Austein
2016-07-12Simplify command for normal pull/build/upload cycle.Rob Austein
2016-07-11Clean up old Homebrew source package tarballs.Rob Austein
2016-07-08clean target has to remove "tap" explicitly, "git clean -dfx" won't touch it.Rob Austein
2016-07-03Oops, lost trivial bugfix to upload command.Rob Austein
2016-07-03Simplify version numbering, add preliminary Homebrew support.Rob Austein
2016-06-29Tweak ownerships and permissions in firmware tarball.Rob Austein
2016-06-29Make sure we regenerate the changelog when generating a new source package.Rob Austein
In the long run, once this stablizes into a normal set of Debian packages with human maintainer(s), this business of constructing the package changelog automatically will go away, but as long as we're automating this, we need to be consistant in our automation.
2016-06-29Add tamper.hex to firmware tarball; start adding support scripts; more minor ↵Rob Austein
build process cleanup.
2016-06-28Tweak build-shadow-tree.py to adjust an existing tree as well as creating a ↵Rob Austein
new one. Original design intent was that the build tree be created once then left alone, but this turns out to be short-sighted: we really don't want to have to re-synthesize all of the Verilog code just because somebody added a new C file to the firmware.
2016-06-27Mostly working. A few scripts still missing from binary packages, and no ↵Rob Austein
Homebrew yet.
2016-06-27First cut at consolidated alpha releng.Rob Austein
Undoubtedly doesn't work yet, and still needs doc, but perhaps now ready for testing on build machine.