# Various Notes and reminders Copyright 2024 Bruno Herbelin ## Publishing new a release - Update `share/metainfo/io.github.brunoherbelin.Vimix.metainfo.xml` Add a ``, with date and version number - Update `snap/snapcraft.yaml` Change version string - commit to Beta - Test the flatpack for Beta - 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 Document new features and major bugfixes - Edit the Json on Set vimix git Tag and Commit # Merge pull-request after successful flathubbot compilation (delete branch) - Follow-up status of flathub package build on (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' - POST INSTALL DMG SIGNING AND NOTARIZATION 1. SIGN DMG ```bash codesign --force --sign "Developer ID Application: " ``` verify with: ```bash codesign --verify --verbose=2 ``` 2. SUBMIT TO NOTARIZATION ```bash xcrun notarytool submit --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: 3. STAPLE THE TICKET TO THE DISK IMAGE ```bash xcrun stapler staple ``` 4. VERIFY NOTARIZATION ```bash spctl -a -vv -t install ``` NB: more info at ## flatpack Development The flatpak manifest for flathub is at 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", } ] } ``` ## 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 ./vimix perf 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 ## 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 ```