1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
# Various Notes and reminders
Copyright 2024 Bruno Herbelin
## Publishing new a release
- Update `share/metainfo/io.github.brunoherbelin.Vimix.metainfo.xml`Add a `<release>`, with date and version number
- Update `snap/snapcraft.yaml`Change version string
- commit to Beta
- Test the flatpack for Beta[https://github.com/brunoherbelin/vimix/tree/master/flatpak](https://github.com/brunoherbelin/vimix/tree/master/flatpak)
- Test the snap for Beta
```bash
$ snap remove vimix$ snapcraft pack (from vimix base dir)$ snap install ./vimix_0.X.Y_amd64.snap --devmode$ snap connections vimix
```
- Merge Beta into origin/master
- push origin/master
- Create Release & Tag in [https://github.com/brunoherbelin/vimix](https://github.com/brunoherbelin/vimix)Document new features and major bugfixes
- Edit the Json on [https://github.com/flathub/io.github.brunoherbelin.Vimix](https://github.com/flathub/io.github.brunoherbelin.Vimix)Set vimix git Tag and Commit #Merge pull-request after successful flathubbot compilation(delete branch)
- Follow-up status of flathub package build on [https://buildbot.flathub.org](https://buildbot.flathub.org)(link is sent by email)
## Mac OSX specificities
- Settings are saved in `/Users/[username]/Library/Application Support/vimix`Instructions to reset in finder, do "Go to folder" (shift+command+G),enter `/Users/[username]/Library/Application Support/vimix` and delete the folder 'vimix'
- Generate and sign package
- `cd build`
`cpack`
`cd ..`
`cmake --build build --target notarize`
- POST INSTALL DMG SIGNING AND NOTARIZATION (done by --target notarize)
1. SIGN DMG
```bash
codesign --force --sign "Developer ID Application: <identityIdentifier>" <pathToDMG>
```
verify with:
```bash
codesign --verify --verbose=2 <pathToDMG>
```
2. SUBMIT TO NOTARIZATION
```bash
xcrun notarytool submit <pathToDMG> --keychain-profile "vimix" --wait
```
verify with:
```bash
xcrun notarytool log xxxx-xxxx-xxx --keychain-profile "vimix"
```
NB: "vimix" is the name of the app-specific password in keychain generated online: [https://support.apple.com/en-us/102654](https://support.apple.com/en-us/102654)
3. STAPLE THE TICKET TO THE DISK IMAGE
```bash
xcrun stapler staple <pathToDMG>
```
4. VERIFY NOTARIZATION
```bash
spctl -a -vv -t install <pathToDMG>
```
NB: more info at [https://wiki.lazarus.freepascal.org/Notarization_for_macOS_10.14.5%2B](https://wiki.lazarus.freepascal.org/Notarization_for_macOS_10.14.5%2B)
## flatpack Development
The flatpak manifest for flathub is at [https://github.com/flathub/io.github.brunoherbelin.Vimix](https://github.com/flathub/io.github.brunoherbelin.Vimix)
To build the vimix flatpak with code from local folder (debugging), change the following:
```json
{ "name": "vimix", "buildsystem": "cmake", "config-opts": [ "-DCMAKE_BUILD_TYPE=Release" ], "sources": [ { "type":"dir", "path": "[your_development_dir]/vimix", } ]}
```
Run this to use the custom local desc
```
flatpak-builder --user --install --force-clean build [your_development_dir]/flatpak/io.github.brunoherbelin.Vimix.json
```
## Testing performance
Linux perf command
- Allow perf on your system
```bash
sudo sysctl -w kernel.perf_event_paranoid=-1
```
- Launch command to record
```bash
perf record ./vimixperf record --pid=XXXXX
```
e.g.;
```bash
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia perf record --call-graph dwarf ./build/src/vimix
```
- Analyse using [https://github.com/KDAB/hotspot](https://github.com/KDAB/hotspot)
## Memcheck
To generate memory usage plots in [massif format](https://valgrind.org/docs/manual/ms-manual.html):
```bash
G_SLICE=always-malloc valgrind --tool=massif ./vimix
```
To check for memory leaks:
```bash
G_SLICE=always-malloc valgrind --leak-check=full --log-file=vimix_mem.txt ./vimix
```
|