* Restore Azure macOS dist scripts * Move steps to workflow for testing * Always upload to GitHub * Add codesign ID * Echo codesign ID * Add cert import code * Stub file for Mac * Self-install pyyaml and choco * Auto add env var on Windows * Auto add CMAKE_PREFIX_PATH to .zshrc * Shorter var names * Append env var instead of replace * Only set env var if not CI * Improve function names and print output * Simplify Linux package command * Support continuation sequence * Add note about Windows * Remove dead doc file * Tidy up version file and move to .env format * Use Python venv for deps * Only use venv on Mac * Rename package script for all OS * Add package and dist steps, and use common upload * Remove version source * Fixed vars not available * Fixed python paths * Use RuntimeError which is sufficient * Remove dead code * Add extras command for Linux * Always install deps on Linux * Move Python deps to CI * More env bootstrapping, ugh * Forgot to return! * Simplify code * Use shell * Simplify command * Skip sudo if no sudo * Update package managers * Fixed Fedora package name * Tidy up commands * Use newer upload artifact * Strip don't trim! * Check for version file and reduce log verbosity * Remove CentOS 7.6 * Print more info about return code and log more to stderr * Install certificate on macOS * Better errors for no env var * Implement Mac signing and notary * Move dmgbuild load * Simplify notary * Rename dist files to same as dest * Fixed paths for dist * Move checked-in dist files to res (dist is meant to be a temp dir) * Fixed Mac path in CMake * Fixed dmg path * Format Python * Ignore import warnings and move function * Fixed cmake paths * Add missing env var secrets * Remove extensions from GH upload * Make deps.yml general purpose config * Add cspell config * Pass codesign ID * Use new general config file * Sign bundle on Mac * Move imports to functions * Escape chars in docs * Fixed config key accessor * Change module import order * Move file to tmp dir in workflow dir * Persist temp dir * Add tmp dir to ignore * Flush stdio before running process * Trying quotes around env values * Add codesigning certificate validation for Mac signing * Revert "Trying quotes around env values" This reverts commit 0dd741e8cd6fde21e69d4fb871e835a5f4fa1a23. * Extract codesign verify * Fixed version number * Ignore .cache dir * Fix macro name * Package name with version number and arch * Improve package function readability * Change order of vars * Testing upload to GDrive * Add missing return code * Use positional args and declare error * Use machine instead of arch and remove build from filename * Remove redundant build jobs * Replace massively over-complicated `build_version.py` script * Move version info to env module * Use version info script * Fixed: too many values to unpack * Chmod version script * Use shebang * Don't check return code on Linux * Fixed function name * Convert to GitHub specific script * Env vars must be after configure * Fixed Windows env var command * Remove && from deps command so it's not conditional * Fixed position of set env * Change order of env script * Only upload when not draft * Test * Tweak config * Fixed if condition * Don't package in draft (Windows and Linux)
150 lines
4 KiB
Python
150 lines
4 KiB
Python
# -*- coding: utf-8 -*-
|
|
from __future__ import unicode_literals
|
|
|
|
import os.path
|
|
|
|
# Use like this: dmgbuild -s settings.py "Test Volume" test.dmg
|
|
# dmgbuild -s settings.py -D app=/path/to/My.app "My Application" MyApp.dmg
|
|
|
|
# .. Useful stuff ..............................................................
|
|
|
|
app = defines.get("app")
|
|
app_basename = os.path.basename(app)
|
|
|
|
# .. Basics ....................................................................
|
|
|
|
# Volume format (see hdiutil create -help)
|
|
format = defines.get("format", "UDBZ")
|
|
|
|
# Volume size
|
|
size = defines.get("size", None)
|
|
|
|
# Files to include
|
|
files = [app]
|
|
|
|
# Symlinks to create
|
|
symlinks = {"Applications": "/Applications"}
|
|
|
|
# Volume icon
|
|
#
|
|
# You can either define icon, in which case that icon file will be copied to the
|
|
# image, *or* you can define badge_icon, in which case the icon file you specify
|
|
# will be used to badge the system's Removable Disk icon
|
|
#
|
|
icon = os.path.join(app, "Contents/Resources/VolumeIcon.icns")
|
|
|
|
# Where to put the icons
|
|
icon_locations = {
|
|
app_basename: (144, 190),
|
|
"Applications": (455, 190),
|
|
".background.tiff": (150, 450),
|
|
".VolumeIcon.icns": (455, 450),
|
|
}
|
|
|
|
# .. Window configuration ......................................................
|
|
|
|
# Background
|
|
#
|
|
# This is a STRING containing any of the following:
|
|
#
|
|
# #3344ff - web-style RGB color
|
|
# #34f - web-style RGB color, short form (#34f == #3344ff)
|
|
# rgb(1,0,0) - RGB color, each value is between 0 and 1
|
|
# hsl(120,1,.5) - HSL (hue saturation lightness) color
|
|
# hwb(300,0,0) - HWB (hue whiteness blackness) color
|
|
# cmyk(0,1,0,0) - CMYK color
|
|
# goldenrod - X11/SVG named color
|
|
# builtin-arrow - A simple built-in background with a blue arrow
|
|
# /foo/bar/baz.png - The path to an image file
|
|
#
|
|
# The hue component in hsl() and hwb() may include a unit; it defaults to
|
|
# degrees ('deg'), but also supports radians ('rad') and gradians ('grad'
|
|
# or 'gon').
|
|
#
|
|
# Other color components may be expressed either in the range 0 to 1, or
|
|
# as percentages (e.g. 60% is equivalent to 0.6).
|
|
background = os.path.join(app, "Contents/Resources/.background.tiff")
|
|
|
|
show_status_bar = False
|
|
show_tab_view = False
|
|
show_toolbar = False
|
|
show_pathbar = False
|
|
show_sidebar = False
|
|
sidebar_width = 180
|
|
|
|
# Window position in ((x, y), (w, h)) format
|
|
window_rect = ((200, 120), (620, 420))
|
|
|
|
# Select the default view; must be one of
|
|
#
|
|
# 'icon-view'
|
|
# 'list-view'
|
|
# 'column-view'
|
|
# 'coverflow'
|
|
#
|
|
default_view = "icon-view"
|
|
|
|
# General view configuration
|
|
show_icon_preview = False
|
|
|
|
# Set these to True to force inclusion of icon/list view settings (otherwise
|
|
# we only include settings for the default view)
|
|
include_icon_view_settings = "auto"
|
|
include_list_view_settings = "auto"
|
|
|
|
# .. Icon view configuration ...................................................
|
|
|
|
arrange_by = None
|
|
grid_offset = (0, 0)
|
|
grid_spacing = 100
|
|
scroll_position = (0, 0)
|
|
label_pos = "bottom" # or 'right'
|
|
text_size = 16
|
|
icon_size = 100
|
|
|
|
# .. List view configuration ...................................................
|
|
|
|
# Column names are as follows:
|
|
#
|
|
# name
|
|
# date-modified
|
|
# date-created
|
|
# date-added
|
|
# date-last-opened
|
|
# size
|
|
# kind
|
|
# label
|
|
# version
|
|
# comments
|
|
#
|
|
list_icon_size = 16
|
|
list_text_size = 12
|
|
list_scroll_position = (0, 0)
|
|
list_sort_by = "name"
|
|
list_use_relative_dates = True
|
|
list_calculate_all_sizes = (False,)
|
|
list_columns = ("name", "date-modified", "size", "kind", "date-added")
|
|
list_column_widths = {
|
|
"name": 300,
|
|
"date-modified": 181,
|
|
"date-created": 181,
|
|
"date-added": 181,
|
|
"date-last-opened": 181,
|
|
"size": 97,
|
|
"kind": 115,
|
|
"label": 100,
|
|
"version": 75,
|
|
"comments": 300,
|
|
}
|
|
list_column_sort_directions = {
|
|
"name": "ascending",
|
|
"date-modified": "descending",
|
|
"date-created": "descending",
|
|
"date-added": "descending",
|
|
"date-last-opened": "descending",
|
|
"size": "descending",
|
|
"kind": "ascending",
|
|
"label": "ascending",
|
|
"version": "ascending",
|
|
"comments": "ascending",
|
|
}
|