Difference between revisions of "Bering-uClibc 6.x - Developer Guide - The Release Process"

From bering-uClibc
Jump to: navigation, search
m (Upload files to SF FRS)
(Sign packages with GPG maintainer key)
(9 intermediate revisions by the same user not shown)
Line 20: Line 20:
 
  ./tools/buildall.sh
 
  ./tools/buildall.sh
  
To compile build environments and packages for all supported architectures in one go, the shell script <code class="filename">build_all_archs</code> has been added in the ''tools'' directory.
+
To compile build environments and packages for all supported architectures in one go, the shell script <code class="filename">build_all_archs.sh</code> has been added in the ''tools'' directory.
To save time, it is also possible to blacklist packages that are known not to build or only necessaryfor special tasks (e.g. <code class="filename">valgrind.lrp<code>.
+
To save time, it is also possible to blacklist packages that are known fail to build or only necessary for special tasks (e.g. <code class="filename">valgrind.lrp</code>).
  
==Commit Packages to SF SCM==
+
==Sign Packages with GPG maintainer key==
Copy all generated lrp packages to [path to git]/leaf/bering-uclibc5/bin/packages.
+
Starting with LEAF Bering-uClibc 6.2.2 we do provide gpg-signed Packages.
Commit and push into the git repository:
+
  
[path to git]/leaf/bering-uclibc6/bin/packages git commit *
+
The Packages are signed with a maintainer key.
[path to git]/leaf/bering-uclibc6/bin/packages git push
+
The available and valid keys are collected in <code class="filename">/root/.gnupg/LEAF_sigkeys.gpg</code>.
 +
 
 +
<code class="filename">initrd.lrp</code> has to be signed with an external signature, all other Packages are signed with an inline signature.
 +
 
 +
To accomplish that task, run:
 +
 
 +
tbd
  
 
==Create images and source tarball==
 
==Create images and source tarball==
Line 47: Line 52:
 
  git archive --format=tgz -9 HEAD -o [your/upload-dir]/Bering-uClibc_6.0.0-nn_src.tgz
 
  git archive --format=tgz -9 HEAD -o [your/upload-dir]/Bering-uClibc_6.0.0-nn_src.tgz
  
==Tag release in SCM==
+
==Tag release in LEAF Bering-uClibc git repository==
  
 
  [path to git]/leaf/bering-uclibc# git tag -a -m "Release of LEAF Bering-uClibc 6.0.0-nn" v6.0.0-nn
 
  [path to git]/leaf/bering-uclibc# git tag -a -m "Release of LEAF Bering-uClibc 6.0.0-nn" v6.0.0-nn
 
  [path to git]/leaf/bering-uclibc# git push origin v6.0.0-nn
 
  [path to git]/leaf/bering-uclibc# git push origin v6.0.0-nn
  
==Create README and Announcement==
+
==Create Readme (and Announcement)==
 +
This should be obvious.
 +
Announcements are not made on a regular basis though. We do have a Changelog in this wiki, and when releasing at SF a note will be send to subscribed users if a new release is available..
 +
 
 
==Upload files to SF FRS==
 
==Upload files to SF FRS==
  
Line 59: Line 67:
 
Create New Folder, named with the release version.
 
Create New Folder, named with the release version.
  
Change to the created folder and upload Readme and all the images.
+
Change to the created folder and upload Readme, the Images and the source tarball.
 +
 
 +
==Commit Packages to SF SCM with release-to-git.sh==
 +
tbd
  
==Create Packages page==
 
==Wiki Changes==
 
===Known Issues===
 
===Changelog===
 
 
----
 
----
 
{| summary="Navigation footer" width="100%"
 
{| summary="Navigation footer" width="100%"

Revision as of 18:44, 24 August 2019

The Release Process
Prev Bering-uClibc 6.x - Developer Guide

Introduction

The target audience for this page are LEAF maintainers and admins.

The page describes the release process, mostly as reminder. Note: Various steps require (different) administrator privileges.

Rebuild new release from source

It is recommended to do a completly fresh build from the sources. Use the command:

./buildtool distclean

Compile the build environment and all packages.

./tools/buildall.sh

To compile build environments and packages for all supported architectures in one go, the shell script build_all_archs.sh has been added in the tools directory. To save time, it is also possible to blacklist packages that are known fail to build or only necessary for special tasks (e.g. valgrind.lrp).

Sign Packages with GPG maintainer key

Starting with LEAF Bering-uClibc 6.2.2 we do provide gpg-signed Packages.

The Packages are signed with a maintainer key. The available and valid keys are collected in /root/.gnupg/LEAF_sigkeys.gpg.

initrd.lrp has to be signed with an external signature, all other Packages are signed with an inline signature.

To accomplish that task, run:

tbd

Create images and source tarball

Create the images:

fakeroot ./buildimage.pl --kernel-arch geode --image-type syslinux --variant serial
fakeroot ./buildimage.pl --kernel-arch i486  --image-type isolinux --variant vga
fakeroot ./buildimage.pl --kernel-arch i486  --image-type syslinux --variant serial
fakeroot ./buildimage.pl --kernel-arch i486  --image-type syslinux --variant vga
fakeroot ./buildimage.pl --kernel-arch i686  --image-type syslinux --variant vga
fakeroot ./buildimage.pl --kernel-arch i686  --image-type isolinux --variant vga
...

It is a good idea to finally test the newly build version with qemu:

qemu-system-i386 -enable-kvm -m 512 -cdrom image/Bering-uClibc_6.0.0-nn_i486_isolinux_vga.iso 

Create the sources tarball as required by SF policy:

cd [path to git]bering-uclibc$ 
git archive --format=tgz -9 HEAD -o [your/upload-dir]/Bering-uClibc_6.0.0-nn_src.tgz

Tag release in LEAF Bering-uClibc git repository

[path to git]/leaf/bering-uclibc# git tag -a -m "Release of LEAF Bering-uClibc 6.0.0-nn" v6.0.0-nn
[path to git]/leaf/bering-uclibc# git push origin v6.0.0-nn

Create Readme (and Announcement)

This should be obvious. Announcements are not made on a regular basis though. We do have a Changelog in this wiki, and when releasing at SF a note will be send to subscribed users if a new release is available..

Upload files to SF FRS

Login to SF FRS

Create New Folder, named with the release version.

Change to the created folder and upload Readme, the Images and the source tarball.

Commit Packages to SF SCM with release-to-git.sh

tbd


Prev Up