File: notes.md

package info (click to toggle)
vimix 0.9.0%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 90,688 kB
  • sloc: cpp: 98,036; ansic: 34,427; makefile: 373; objc: 97; xml: 95; sh: 49; python: 20
file content (143 lines) | stat: -rw-r--r-- 4,263 bytes parent folder | download
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
```