Add and update README.md files for CI script removal

This commit is contained in:
James Monteath 2021-05-28 19:46:53 +02:00
parent fc2b56e68c
commit 74c7e21f6c
6 changed files with 32 additions and 150 deletions

View File

@ -1,70 +1,5 @@
Blender Buildbot
================
Moved Scripts
=============
Code signing
------------
Code signing is done as part of INSTALL target, which makes it possible to sign
files which are aimed into a bundle and coming from a non-signed source (such as
libraries SVN).
This is achieved by specifying `worker_codesign.cmake` as a post-install script
run by CMake. This CMake script simply involves an utility script written in
Python which takes care of an actual signing.
### Configuration
Client configuration doesn't need anything special, other than variable
`SHARED_STORAGE_DIR` pointing to a location which is watched by a server.
This is done in `config_builder.py` file and is stored in Git (which makes it
possible to have almost zero-configuration buildbot machines).
Server configuration requires copying `config_server_template.py` under the
name of `config_server.py` and tweaking values, which are platform-specific.
#### Windows configuration
There are two things which are needed on Windows in order to have code signing
to work:
- `TIMESTAMP_AUTHORITY_URL` which is most likely set http://timestamp.digicert.com
- `CERTIFICATE_FILEPATH` which is a full file path to a PKCS #12 key (.pfx).
## Tips
### Self-signed certificate on Windows
It is easiest to test configuration using self-signed certificate.
The certificate manipulation utilities are coming with Windows SDK.
Unfortunately, they are not added to PATH. Here is an example of how to make
sure they are easily available:
```
set PATH=C:\Program Files (x86)\Windows Kits\10\App Certification Kit;%PATH%
set PATH=C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64;%PATH%
```
Generate CA:
```
makecert -r -pe -n "CN=Blender Test CA" -ss CA -sr CurrentUser -a sha256 ^
-cy authority -sky signature -sv BlenderTestCA.pvk BlenderTestCA.cer
```
Import the generated CA:
```
certutil -user -addstore Root BlenderTestCA.cer
```
Create self-signed certificate and pack it into PKCS #12:
```
makecert -pe -n "CN=Blender Test SPC" -a sha256 -cy end ^
-sky signature ^
-ic BlenderTestCA.cer -iv BlenderTestCA.pvk ^
-sv BlenderTestSPC.pvk BlenderTestSPC.cer
pvk2pfx -pvk BlenderTestSPC.pvk -spc BlenderTestSPC.cer -pfx BlenderTestSPC.pfx
```
Scripts have been moved to own git repo
Only configurations remain here and is used with new pipeline

View File

@ -0,0 +1,9 @@
Pipeline Config
===============
Scripts have been moved to own git repo
This branched based confiration is used by the new build pipeline for the `update-code` step
It will soon be user ../utils/make_update.py script
Both buildbot and developers will use the same conconfigurations.

View File

@ -0,0 +1,5 @@
Make Utility Scripts
====================
Scripts used only by developers for now

5
release/darwin/README.md Normal file
View File

@ -0,0 +1,5 @@
Moved Scripts
=============
Scripts have been moved to own git repo
Only configurations remain here and is used with new pipeline

View File

@ -0,0 +1,5 @@
Moved Scripts
=============
Scripts have been moved to own git repo
Only configurations remain here and is used with new pipeline

View File

@ -1,82 +1,5 @@
create_msix_package
===================
Moved Scripts
=============
This tool is used to create MSIX packages from a given ZiP archive. The MSIX
package is distributed mainly through the Microsoft Store. It can also be
installed when downloaded from blender.org. For that to work the MSIX package
needs to be signed.
Requirements
============
* MakeAppX.exe - this tool is distributed with the Windows 10 SDK and is used to build the .appx package.
* MakePri.exe - this tool is distributed with the Windows 10 SDK and is used to generate a resources file.
* SignTool.exe - this tool is distributed with the Windows 10 SDK and is used to sign the .appx package.
* Python 3 (3.7 or later tested) - to run the create_msix_package.py script
* requests module - can be installed with `pip install requests`
* PFX file (optional, but strongly recommended) - for signing the resulting MSIX
package. **NOTE:** If the MSIX package is not signed when uploaded to the Microsoft
store the validation and certification process can take up to three full
business day.
Usage
=====
On the command-line:
```batch
set VERSION=2.83.4.0
set URL=https://download.blender.org/release/Blender2.83/blender-2.83.4-windows64.zip
set PUBID=CN=PUBIDHERE
set PFX=X:\path\to\cert.pfx
set PFXPW=pwhere
python create_msix_package.py --version %VERSION% --url %URL% --publisher %PUBID% --pfx %PFX% --password %PFXPW%
```
Result will be a MSIX package with the name `blender-2.83.4-windows64.msix`.
With the above usage it will be signed. If the signing options are left out the
package will not be signed.
Optional arguments
==================
In support of testing and developing the manifest and scripts there are a few
optional arguments:
* `--skipdl` : If a `blender.zip` is available already next to the tool use this
to skip actual downloading of the archive designated by `--url`. The latter
option is still required
* `--overwrite` : When script fails the final clean-up may be incomplete leaving
the `Content` folder with its structure. Specify this argument to automatically
clean up this folder before starting to seed the `Content` folder
* `--leavezip` : When specified leave the `blender.zip` file while cleaning up
all other intermediate files, including the `Content` folder. This is useful
to not have to re-download the same archive from `--url` on each usage
What it does
============
The tool creates in the directory it lives a subfolder called `Content`. This is
where all necessary files are placed.
The `Assets` folder is copied to the `Content` folder.
From the application manifest template a version with necessary parts replaced as
their actual values as specified on the command-line is realized. This manifest controls the packaging of Blender into the MSIX format.
Next the tool downloads the designated ZIP archive locally as blender.zip. From
this archive the files are extracted into the `Content\Blender` folder, but skip
the leading part of paths in the ZIP. We want to write the files to the
content_blender_folder where blender.exe ends up as
`Content\Blender\blender.exe`, and not
`Content\Blender\blender-2.83.4-windows64\blender.exe`
Once the extraction is completed the MakeAppX tool is executed with the `Content`
folder as input. The result will be the MSIX package with the name in the form
`blender-X.YY.Z-windows64.msix`.
If the PFX file and its password are given on the command-line this MSIX package
will be signed.
All intermediate files and directories will be removed.
Scripts have been moved to own git repo
Only configurations remain here and is used with new pipeline