4.2 KiB
Various Notes and reminders
Copyright 2024 Bruno Herbelin
Publishing new a release
-
Update
share/metainfo/io.github.brunoherbelin.Vimix.metainfo.xmlAdd a<release>, with date and version number -
Update
snap/snapcraft.yamlChange version string -
commit to Beta
-
Test the flatpack for Betahttps://github.com/brunoherbelin/vimix/tree/master/flatpak
-
Test the snap for Beta
$ 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/vimixDocument new features and major bugfixes
-
Edit the Json on https://github.com/flathub/io.github.brunoherbelin.VimixSet 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(link is sent by email)
Mac OSX specificities
-
Settings are saved in
/Users/[username]/Library/Application Support/vimixInstructions to reset in finder, do "Go to folder" (shift+command+G),enter/Users/[username]/Library/Application Support/vimixand delete the folder 'vimix' -
Generate and sign package
-
cd buildcpackcd ..cmake --build build --target notarize
-
-
POST INSTALL DMG SIGNING AND NOTARIZATION (done by --target notarize)
-
SIGN DMG
codesign --force --sign "Developer ID Application: <identityIdentifier>" <pathToDMG>verify with:
codesign --verify --verbose=2 <pathToDMG> -
SUBMIT TO NOTARIZATION
xcrun notarytool submit <pathToDMG> --keychain-profile "vimix" --waitverify with:
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
-
STAPLE THE TICKET TO THE DISK IMAGE
xcrun stapler staple <pathToDMG> -
VERIFY NOTARIZATION
spctl -a -vv -t install <pathToDMG>NB: more info at 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
To build the vimix flatpak with code from local folder (debugging), change the following:
{ "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
sudo sysctl -w kernel.perf_event_paranoid=-1 -
Launch command to record
perf record ./vimixperf record --pid=XXXXXe.g.;
__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
Memcheck
To generate memory usage plots in massif format:
G_SLICE=always-malloc valgrind --tool=massif ./vimix
To check for memory leaks:
G_SLICE=always-malloc valgrind --leak-check=full --log-file=vimix_mem.txt ./vimix