Page MenuHomePhabricator

Using cowbuilder for build-steps.d/1200_create-debian-packages?
Closed, ResolvedPublic

Description

migrated from github:
https://github.com/Whonix/Whonix/issues/356

I am considering to revise build-steps.d/1200_create-debian-packages.

Current issues:

  • dpkg-buildpackage unfortunately does not support a --outputdir option (feature request), so .deb packages end up in ../ or in other words in whonix_source_folder/packages directory.
  • When creating a package, debhelper creates temporary files within whonix_source_folder/packages/$package_name/debian and as far I know this cannot be prevented either.
  • Needless to say, having temporary and binary (.deb's) within Whonix source folder is non-ideal. (Risk of custom builders committing them to git or asking when/how/if they can be deleted.)
  • Therefore an ugly cleanup step is required, which risks wiping files which others added in meanwhile.

Unfortunately, this task will have to wait, because cowbuilder does not produce deterministic builds in neither wheezy nor jessie.

Produced a work in progress cowbuilder branch:
https://github.com/Whonix/Whonix/tree/cowbuilder

That modifies:
https://github.com/Whonix/Whonix/blob/cowbuilder/build-steps.d/1200_create-debian-packages

There is a new function create_whonix_debian_packages_using_cowbuilder:
https://github.com/Whonix/Whonix/blob/cowbuilder/build-steps.d/1200_create-debian-packages#L250

Unfortunately, this task will have to wait, because cowbuilder does not produce deterministic builds in neither wheezy nor jessie.

No upstream bugreport necessary, because it is fixed in sid + reproducible builds custom build environment (https://wiki.debian.org/ReproducibleBuilds#Custom_build_environment). I guess this will be possible in jessie + 1 (Debian version 9 codename Stretch).

Details

Impact
Normal

Event Timeline

JasonJAyalaP updated the task description. (Show Details)Jan 12 2015, 8:29 PM
JasonJAyalaP created this task.
JasonJAyalaP raised the priority of this task from to Needs Triage.
JasonJAyalaP triaged this task as Low priority.
Patrick updated the task description. (Show Details)Jan 12 2015, 10:11 PM
JasonJAyalaP raised the priority of this task from Low to Normal.Jan 12 2015, 10:38 PM
Patrick updated the task description. (Show Details)Mar 29 2015, 7:29 PM
Patrick updated the task description. (Show Details)
Patrick updated the task description. (Show Details)Jun 9 2015, 2:11 PM
Patrick set Impact to Needs Triage.
Patrick changed Impact from Needs Triage to Normal.
Patrick added a subscriber: HulaHoop.
Patrick closed this task as Resolved.Jan 20 2017, 1:47 PM
Patrick claimed this task.

Using cowbuilder now. Origin and debian archives as well as (much more importantly) Whonix debian packages are deterministic when being build inside two different VMs. However, to claim full reproducibility, more work is required. Follow up task: T615


https://github.com/Whonix/genmkfile/commit/b919fd8fb05c69c0245bd922ab76bd1f943565d7
https://github.com/Whonix/genmkfile/commit/0228b6e57c810979a8e616479e84c886a107c60e
https://github.com/Whonix/genmkfile/commit/87d8bfac5841c40d3c958323f2fedb699063268b
https://github.com/Whonix/genmkfile/commit/cf76682b8bc3dc4544c66b82838f0e8ad128175f
https://github.com/Whonix/genmkfile/commit/b9cfe434424acda481c77d8cda55a54810967d7b
https://github.com/Whonix/genmkfile/commit/d0fa541d94174abc19da61632ea8bca493d8c1e2
https://github.com/Whonix/genmkfile/commit/99ae35a14d55a77a2118d3a9ccac222c24521cab
https://github.com/Whonix/genmkfile/commit/2915c81f71ee6d775cd0c7a393b52d2c95f2f378
https://github.com/Whonix/genmkfile/commit/0fe840b4dd3c82b88a2d62550de94d11c3f5731d
https://github.com/Whonix/genmkfile/commit/9be69e85ec5344c804bf4d94b5fc7365e01f8a6c
https://github.com/Whonix/genmkfile/commit/b9c2df4a290064aaa6f64156237545f8e927568e
https://github.com/Whonix/genmkfile/commit/d91eef7154e28d141b301a13c50ee17865afce34
https://github.com/Whonix/genmkfile/commit/3b52c8ed69c1a95d32705bad749e9864d6c25bd6
https://github.com/Whonix/genmkfile/commit/762fadce053464ba0687ac2ccde4e44807c3253c
https://github.com/Whonix/genmkfile/commit/f8615d73f1f110132bf7f8c7bb94ff4b02385126
https://github.com/Whonix/genmkfile/commit/3073894b6ac8b44d4472f7e70bc9b0cf9c2303fb
https://github.com/Whonix/genmkfile/commit/2ed270f729a8baac9ed7360c26118711ebbae0d2

https://github.com/Whonix/Whonix/commit/5b7abae678fdc3932f7be85fe061ff41144033bc
https://github.com/Whonix/Whonix/commit/179af7f9c2da0c78bd63e553c78c3c31ba588150
https://github.com/Whonix/Whonix/commit/cc94059795af9fe83abca1355cf554f054d71f18
https://github.com/Whonix/Whonix/commit/718ddec27ced37074f7f1e9b4bf6cba355f09b4a
https://github.com/Whonix/Whonix/commit/8eef504afdd3f17dc649f5ee2e8c5bbb33c21d57
https://github.com/Whonix/Whonix/commit/9002f2d06f8cb372ee62710270d10202a2e40500
https://github.com/Whonix/Whonix/commit/87c458d837a1d20cde04a476a9b72233f9809ecd