Dev/Redistribution

From Kicksecure
< Dev

Introduction[edit]

Developers only!

These are notes for producing official downloadable binary Kicksecure ™ images.

Pre Building[edit]

Only required if you want to redistribute (official) Kicksecure ™ builds.

Clean source code

  • [1]
  • [2]
  • You can get a list of unwanted files with git clean -dfxn and remove them with git clean -dfx.
  • Update Kicksecure ™ debian package repository.
  • add your own default-key to your own /home/user/.gnupg/gpg.conf.
  • Check that all packages point to a signed git commit and signed git tag.

~/derivative-maker/packages/kicksecure/developer-meta-files/debug-steps/packaging-helper-script pkg_verify_signed_commit_and_tag

  • push the source code to github

git push origin master

  • Check, that the current git commit is a signed. [3]

git log --show-signature HEAD^..HEAD

Or use the generic makefile as a shortcut.

make git-commit-verify

  • Create an OpenPGP signed git tag. This will also be used as Kicksecure ™ version number.

git tag -s version

  • Make sure the current git head is a signed git commit and signed git tag.

To simplify this, you could use the generic makefile.

make git-verify

  • Push the OpenPGP signed git tag to github.

git push origin version

  • Enable Kicksecure ™ stable repository by default.

export DERIVATIVE_APT_REPOSITORY_OPTS='--enable --repository stable'

  • And use sudo -E so above environment is kept.

Building[edit]

Build[edit]

Build Kicksecure ™. For example Kicksecure ™ with XFCE for VirtualBox.

sudo -E ./derivative-maker --build --repo true --target virtualbox --flavor whonix-gateway-xfce

Build Kicksecure ™. For example Kicksecure ™ with XFCE for VirtualBox.

sudo -E ./derivative-maker --build --repo true --target virtualbox --flavor whonix-workstation-xfce

For other options and platforms also see build documentation.

Post Building[edit]

Only required if you want to redistribute (official) Kicksecure ™ builds.

Image Signing

  • A) own custom builds: Optionally sign the images.
  • B) official Kicksecure ™ builds: Mandatory sign the images.
  • OpenPGP sign the images.

~/derivative-maker/packages/kicksecure/developer-meta-files/release/prepare_release --flavor whonix-workstation --target virtualbox --build

Only required if you want to redistribute (official) Kicksecure ™ builds.

  • Upload the images.

~/derivative-maker/packages/kicksecure/developer-meta-files/release/upload_images

Testing[edit]

  • /usr/share/whonix-ws-firewall/unit_tests/stream_isolation_test
  • At least a few testers should test final releases before posting a news. Testers may be found by posting a news.
  • LeakTests!
  • Test the images before final release! (Testers-only releases can be uploaded straight away.)

Update Permanent Links[edit]

Update permalinks.

sudoedit /etc/nginx/conf.d/download_redirects
cacheclear-minimal

(ticket)

Git Tag[edit]

Create -testers-only or -stable git tag.

Announcement Text Creation[edit]

Create Changelog and Announcement.

./debug-steps/packaging-helper-script pkg_git_packages_git_log_writer

Wiki Page Updates[edit]

Only required if you want to redistribute (official) Kicksecure ™ builds.

Misc[edit]

Announcement[edit]

Only required if you want to redistribute (official) Kicksecure ™ builds.

Contents

  • introduction (what is Kicksecure ™) (The release announcement may be the first thing that new people who learn about Kicksecure ™ see.)
  • similar to https://forums.whonix.org/t/whonix-14-has-been-released
  • deprecation notice of old Kicksecure ™ version with date of deprecation

Where

Cleanup[edit]

  • any deprecated repositories (none at time of writing)

Related[edit]

Footnotes[edit]

  1. get rid of .directory files inside the source code: thunarpreferencesgeneralbehavioruse common view properties for all folders
  2. Get rid of ~backup files. In other words, get rid of files starting with ~.
    find ./ -name '*~' | xargs trash-put
  3. You might wish using a git or bash alias to safe typing.


Unfinished: This wiki is a work in progress. Please do not report broken links until this notice is removed, use Search Engines First and contribute improving this wiki.