Skip to content

Commit 58d44dc

Browse files
authored
Merge pull request #45 from Project-Ro-ASD/codex/qml-lint-bindings
feat: improve driver workflow and clean QML linting
2 parents ebe68a4 + a71ba2a commit 58d44dc

27 files changed

Lines changed: 923 additions & 498 deletions

.vscode/settings.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,11 @@
1010
"qt-qml.qmlls.enabled": true,
1111
"qt-qml.qmlls.useQmlImportPathEnvVar": true,
1212
"qt-qml.qmlls.additionalImportPaths": [
13+
"/opt/homebrew/share/qt/qml",
1314
"${workspaceFolder}/src/qml",
1415
"${workspaceFolder}/src/qml/pages",
15-
"${workspaceFolder}/build/rocontrol"
16+
"${workspaceFolder}/build/rocontrol",
17+
"${workspaceFolder}/build-copilot/rocontrol",
18+
"${workspaceFolder}/build-codex/rocontrol"
1619
]
1720
}

docs/BUILDING.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
This guide covers building ro-Control from source on Linux systems with Qt 6 and CMake.
44
The primary target is Fedora KDE Desktop, with official release artifacts for
55
`x86_64`, `aarch64`, `noarch`, and `src`.
6+
For Ro-ASD ISO integration, package validation should be treated as Fedora 43 KDE specific.
67

78
---
89

@@ -49,6 +50,8 @@ sudo dnf install \
4950

5051
Official release outputs do not include `i686`. Driver install/update/remove
5152
workflows are supported on `x86_64` and `aarch64` release builds.
53+
RPM validation for repo publication should be performed in a Fedora 43 build
54+
environment so no newer Qt ABI leaks into the package metadata.
5255

5356
Runtime tools used by diagnostics and driver operations:
5457

docs/PACKAGING-FEDORA43.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Fedora 43 Packaging Contract
2+
3+
This note captures the packaging requirements for publishing `ro-control` into
4+
the Ro-ASD repository for direct ISO installation.
5+
6+
## Target environment
7+
8+
- Fedora 43 KDE
9+
- Install path must work with:
10+
11+
```bash
12+
dnf -y --refresh --setopt=install_weak_deps=False install ro-control
13+
rpm -q ro-control
14+
command -v ro-control
15+
```
16+
17+
## Required package shape
18+
19+
- `ro-control.<arch>` must provide `/usr/bin/ro-control`
20+
- `ro-control-common.noarch` must contain shared assets only
21+
- `ro-control.<arch>` may depend on `ro-control-common = %{version}-%{release}`
22+
23+
## Forbidden ABI dependencies
24+
25+
These must not appear in `rpm -qpR ro-control-*.rpm`:
26+
27+
- `Qt_6.10`
28+
- `Qt_6.10_PRIVATE_API`
29+
- any `PRIVATE_API` symbol requirement
30+
31+
## Build rules
32+
33+
- Build in Fedora 43, not `fedora:latest`, Fedora 44, or Rawhide
34+
- Do not add Qt private module link targets
35+
- Do not include `#include <private/...>` headers
36+
- Do not require `qt6-qtbase-private-devel` unless the code proves it is needed
37+
38+
## Acceptance checks
39+
40+
```bash
41+
dnf clean all
42+
dnf -y --refresh --setopt=install_weak_deps=False install ro-control
43+
rpm -q ro-control
44+
command -v ro-control
45+
ldd -r /usr/bin/ro-control
46+
rpm -q --whatprovides /usr/bin/ro-control
47+
rpm -qpR ro-control-*.rpm
48+
rpm -qpl ro-control-*.rpm | grep /usr/bin/ro-control
49+
```
50+
51+
Expected provider for `/usr/bin/ro-control`:
52+
53+
```text
54+
ro-control
55+
```

i18n/ro-control_tr.ts

Lines changed: 90 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
</message>
2525
<message>
2626
<location filename="../src/qml/pages/DriverPage.qml" line="191" />
27-
<source>I reviewed the NVIDIA license terms</source>
28-
<translation>NVIDIA lisans kosullarini inceledim</translation>
27+
<source>I reviewed the official NVIDIA license outside ro-Control</source>
28+
<translation>Resmi NVIDIA lisansını ro-Control dışında inceledim</translation>
2929
</message>
3030
<message>
3131
<location filename="../src/qml/pages/DriverPage.qml" line="175" />
@@ -75,18 +75,18 @@
7575
</message>
7676
<message>
7777
<location filename="../src/qml/pages/DriverPage.qml" line="116" />
78-
<source>Not Detected</source>
79-
<translation>Algilanmadi</translation>
78+
<source>No NVIDIA GPU</source>
79+
<translation>NVIDIA GPU bulunamadı</translation>
8080
</message>
8181
<message>
8282
<location filename="../src/qml/pages/DriverPage.qml" line="136" />
83-
<source>Latest: %1</source>
84-
<translation>En guncel: %1</translation>
83+
<source>Official latest: %1</source>
84+
<translation>Resmi en güncel sürüm: %1</translation>
8585
</message>
8686
<message>
8787
<location filename="../src/qml/pages/DriverPage.qml" line="136" />
88-
<source>Latest: Unknown</source>
89-
<translation>En guncel: Bilinmiyor</translation>
88+
<source>Official latest: Unavailable</source>
89+
<translation>Resmi en güncel sürüm: Kullanılamıyor</translation>
9090
</message>
9191
<message>
9292
<location filename="../src/qml/pages/DriverPage.qml" line="153" />
@@ -100,13 +100,17 @@
100100
</message>
101101
<message>
102102
<location filename="../src/qml/pages/DriverPage.qml" line="155" />
103-
<source>Secure Boot: Disabled / Unknown</source>
104-
<translation>Secure Boot: Kapali / Bilinmiyor</translation>
103+
<source>Secure Boot: Disabled</source>
104+
<translation>Secure Boot: Kapalı</translation>
105+
</message>
106+
<message>
107+
<source>Secure Boot: Unknown</source>
108+
<translation>Secure Boot: Bilinmiyor</translation>
105109
</message>
106110
<message>
107111
<location filename="../src/qml/pages/DriverPage.qml" line="183" />
108-
<source>Use safe guided operations for install, update, and cleanup.</source>
109-
<translation>Kurulum, guncelleme ve temizlik icin guvenli yonlendirilmis islemleri kullanin.</translation>
112+
<source>Latest version information is resolved from the official NVIDIA Unix driver page. Fedora workflow guidance follows the official NVIDIA Fedora installation guide.</source>
113+
<translation>En güncel sürüm bilgisi resmi NVIDIA Unix sürücü sayfasından alınır. Fedora akışı resmi NVIDIA Fedora kurulum rehberini takip eder.</translation>
110114
</message>
111115
<message>
112116
<location filename="../src/qml/pages/DriverPage.qml" line="202" />
@@ -159,13 +163,13 @@
159163
</message>
160164
<message>
161165
<location filename="../src/qml/pages/DriverPage.qml" line="247" />
162-
<source>Checking repository for updates...</source>
163-
<translation>Depo guncellemeleri denetleniyor...</translation>
166+
<source>Checking official NVIDIA driver sources...</source>
167+
<translation>Resmi NVIDIA sürücü kaynakları denetleniyor...</translation>
164168
</message>
165169
<message>
166170
<location filename="../src/qml/pages/DriverPage.qml" line="257" />
167-
<source>Applying latest online version...</source>
168-
<translation>En guncel cevrimici surum uygulaniyor...</translation>
171+
<source>Applying latest available driver...</source>
172+
<translation>Mevcut en güncel sürücü uygulanıyor...</translation>
169173
</message>
170174
<message>
171175
<location filename="../src/qml/pages/DriverPage.qml" line="279" />
@@ -201,18 +205,38 @@
201205
<message>
202206
<location filename="../src/qml/pages/DriverPage.qml" line="254" />
203207
<source>Install Latest</source>
204-
<translation>En Günceli Kur</translation>
208+
<translation>En Son Sürümü Kur</translation>
205209
</message>
206210
<message>
207211
<location filename="../src/qml/pages/DriverPage.qml" line="254" />
208212
<source>Apply Latest</source>
209213
<translation>En Son Sürümü Uygula</translation>
210214
</message>
215+
<message>
216+
<source>Install Latest (%1)</source>
217+
<translation>En Son Sürümü Kur (%1)</translation>
218+
</message>
219+
<message>
220+
<source>Apply Latest (%1)</source>
221+
<translation>En Son Sürümü Uygula (%1)</translation>
222+
</message>
211223
<message>
212224
<location filename="../src/qml/pages/DriverPage.qml" line="276" />
213225
<source>Apply Selected</source>
214226
<translation>Seçileni Uygula</translation>
215227
</message>
228+
<message>
229+
<source>Version Selection</source>
230+
<translation>Sürüm Seçimi</translation>
231+
</message>
232+
<message>
233+
<source>Use this area to test or switch to an older repository version.</source>
234+
<translation>Bu alanı eski bir depo sürümünü denemek veya ona geçmek için kullanın.</translation>
235+
</message>
236+
<message>
237+
<source>Maintenance</source>
238+
<translation>Bakım</translation>
239+
</message>
216240
<message>
217241
<location filename="../src/qml/pages/DriverPage.qml" line="234" />
218242
<source>Deep Clean</source>
@@ -331,22 +355,40 @@
331355
</message>
332356
<message>
333357
<location filename="../src/qml/pages/MonitorPage.qml" line="151" />
334-
<source>Refresh</source>
335-
<translation>Yenile</translation>
358+
<source>GPU telemetry is unavailable on this architecture unless nvidia-smi or DRM hwmon metrics are exposed.</source>
359+
<translation>Bu mimaride `nvidia-smi` veya DRM hwmon metrikleri sunulmadıkça GPU telemetrisi kullanılamaz.</translation>
360+
</message>
361+
<message>
362+
<source>GPU telemetry is unavailable because nvidia-smi or DRM hwmon metrics could not be read.</source>
363+
<translation>`nvidia-smi` veya DRM hwmon metrikleri okunamadığı için GPU telemetrisi kullanılamıyor.</translation>
364+
</message>
365+
<message>
366+
<source>GPU telemetry is being read from DRM and hwmon fallbacks.</source>
367+
<translation>GPU telemetrisi DRM ve hwmon yedek kaynaklarından okunuyor.</translation>
368+
</message>
369+
<message>
370+
<source>GPU telemetry output could not be parsed.</source>
371+
<translation>GPU telemetri çıktısı ayrıştırılamadı.</translation>
372+
</message>
373+
<message>
374+
<source>GPU telemetry output did not contain usable metrics.</source>
375+
<translation>GPU telemetri çıktısı kullanılabilir metrikler içermiyor.</translation>
376+
</message>
377+
<message>
378+
<source>GPU telemetry is being read from nvidia-smi.</source>
379+
<translation>GPU telemetrisi `nvidia-smi` üzerinden okunuyor.</translation>
336380
</message>
337381
</context>
338382
<context>
339383
<name>NvidiaDetector</name>
340384
<message>
341385
<location filename="../src/backend/nvidia/detector.cpp" line="49" />
342-
<source>Not Installed / Unknown</source>
343-
<translation>Kurulu Değil / Bilinmiyor</translation>
386+
<source>Not Installed</source>
387+
<translation>Kurulu Değil</translation>
344388
</message>
345389
<message>
346-
<location filename="../src/backend/nvidia/detector.cpp" line="53" />
347-
<location filename="../src/backend/nvidia/detector.cpp" line="55" />
348-
<source>None</source>
349-
<translation>Yok</translation>
390+
<source>Unavailable</source>
391+
<translation>Kullanılamıyor</translation>
350392
</message>
351393
<message>
352394
<location filename="../src/backend/nvidia/detector.cpp" line="43" />
@@ -390,8 +432,8 @@ Yedek Acik Surucu: %6</translation>
390432
</message>
391433
<message>
392434
<location filename="../src/backend/nvidia/detector.cpp" line="62" />
393-
<source>Disabled / Unknown</source>
394-
<translation>Devre Dışı / Bilinmiyor</translation>
435+
<source>Unknown</source>
436+
<translation>Bilinmiyor</translation>
395437
</message>
396438
<message>
397439
<location filename="../src/backend/nvidia/detector.cpp" line="63" />
@@ -423,8 +465,8 @@ Yedek Acik Surucu: %6</translation>
423465
</message>
424466
<message>
425467
<location filename="../src/backend/nvidia/installer.cpp" line="155" />
426-
<source>The proprietary NVIDIA driver is subject to NVIDIA's software license. Review the official NVIDIA license before installation: %1</source>
427-
<translation>Kapali kaynak NVIDIA surucusu, NVIDIA yazilim lisansina tabidir. Kurulumdan once resmi NVIDIA lisansini inceleyin: %1</translation>
468+
<source>The proprietary NVIDIA driver is subject to NVIDIA's software license. ro-Control cannot audit or review the closed-source license text for you. Review the official NVIDIA license before installation: %1</source>
469+
<translation>Kapalı kaynak NVIDIA sürücüsü NVIDIA yazılım lisansına tabidir. ro-Control kapalı kaynak lisans metnini sizin için denetleyemez veya inceleyemez. Kurulumdan önce resmi NVIDIA lisansını inceleyin: %1</translation>
428470
</message>
429471
<message>
430472
<location filename="../src/backend/nvidia/installer.cpp" line="167" />
@@ -568,8 +610,8 @@ Yedek Acik Surucu: %6</translation>
568610
<name>LanguageManager</name>
569611
<message>
570612
<location filename="../src/backend/system/languagemanager.cpp" line="28" />
571-
<source>System Default</source>
572-
<translation>Sistem Varsayilani</translation>
613+
<source>System</source>
614+
<translation>Sistem</translation>
573615
</message>
574616
<message>
575617
<location filename="../src/backend/system/languagemanager.cpp" line="31" />
@@ -589,7 +631,7 @@ Yedek Acik Surucu: %6</translation>
589631
<message>
590632
<location filename="../src/backend/system/languagemanager.cpp" line="40" />
591633
<source>Turkish</source>
592-
<translation>Turkce</translation>
634+
<translation>Türkçe</translation>
593635
</message>
594636
</context>
595637
<context>
@@ -612,18 +654,26 @@ Yedek Acik Surucu: %6</translation>
612654
</message>
613655
<message>
614656
<location filename="../src/backend/nvidia/updater.cpp" line="137" />
615-
<source>Online NVIDIA packages were found. You can download and install the driver now.</source>
616-
<translation>Çevrimiçi NVIDIA paketleri bulundu. Sürücüyü şimdi indirip kurabilirsiniz.</translation>
657+
<source>Official NVIDIA driver sources are reachable. You can install the driver now.</source>
658+
<translation>Resmi NVIDIA sürücü kaynaklarına erişilebiliyor. Sürücüyü şimdi kurabilirsiniz.</translation>
617659
</message>
618660
<message>
619661
<location filename="../src/backend/nvidia/updater.cpp" line="139" />
620-
<source>Online NVIDIA driver found. Latest remote version: %1</source>
621-
<translation>Çevrimiçi NVIDIA sürücüsü bulundu. En güncel uzak sürüm: %1</translation>
662+
<source>Latest official NVIDIA driver version: %1</source>
663+
<translation>Resmi en güncel NVIDIA sürümü: %1</translation>
622664
</message>
623665
<message>
624666
<location filename="../src/backend/nvidia/updater.cpp" line="143" />
625-
<source>No online NVIDIA package catalog was found. RPM Fusion may not be configured yet.</source>
626-
<translation>Çevrimiçi NVIDIA paket kataloğu bulunamadı. RPM Fusion henüz yapılandırılmamış olabilir.</translation>
667+
<source>No official NVIDIA driver version could be retrieved.</source>
668+
<translation>Resmi NVIDIA sürüm bilgisi alınamadı.</translation>
669+
</message>
670+
<message>
671+
<source>Official NVIDIA update found: %1</source>
672+
<translation>Resmi NVIDIA güncellemesi bulundu: %1</translation>
673+
</message>
674+
<message>
675+
<source>Driver matches the latest official NVIDIA production branch.</source>
676+
<translation>Sürücü resmi NVIDIA üretim dalındaki en güncel sürümle eşleşiyor.</translation>
627677
</message>
628678
<message>
629679
<location filename="../src/backend/nvidia/updater.cpp" line="162" />
@@ -684,15 +734,6 @@ Yedek Acik Surucu: %6</translation>
684734
</message>
685735
<message>
686736
<location filename="../src/backend/nvidia/updater.cpp" line="400" />
687-
<source>No available versions found.</source>
688-
<translation>Hiçbir uygun sürüm bulunamadı.</translation>
689-
</message>
690-
<message>
691-
<location filename="../src/backend/nvidia/updater.cpp" line="401" />
692-
<source>Available versions: %1</source>
693-
<translation>Mevcut sürümler: %1</translation>
694-
</message>
695-
<message>
696737
<location filename="../src/backend/nvidia/updater.cpp" line="411" />
697738
<source>Starting update check...</source>
698739
<translation>Güncelleme denetimi başlatılıyor...</translation>
@@ -742,8 +783,8 @@ Yedek Acik Surucu: %6</translation>
742783
<name>UiPreferencesManager</name>
743784
<message>
744785
<location filename="../src/backend/system/uipreferencesmanager.cpp" line="20" />
745-
<source>Follow System</source>
746-
<translation>Sistemi Takip Et</translation>
786+
<source>System</source>
787+
<translation>Sistem</translation>
747788
</message>
748789
<message>
749790
<location filename="../src/backend/system/uipreferencesmanager.cpp" line="23" />

0 commit comments

Comments
 (0)