IMSProg/IMSProg-1.0.27-alt1.patch
2023-11-07 20:08:33 +09:00

285 lines
13 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

.gear/IMSProg.spec | 101 ++++++++++++++++++++++++++++
.gear/rules | 3 +
.gear/tags/list | 1 +
.gear/upstream/remotes | 3 +
IMSProg_editor/CMakeLists.txt | 15 ++---
IMSProg_editor/main.cpp | 2 +-
IMSProg_editor/other/IMSProg_editor.desktop | 7 +-
IMSProg_programmer/CMakeLists.txt | 17 +++--
IMSProg_programmer/main.cpp | 2 +-
IMSProg_programmer/mainwindow.cpp | 11 +--
IMSProg_programmer/other/IMSProg.desktop | 5 +-
11 files changed, 132 insertions(+), 35 deletions(-)
diff --git a/.gear/IMSProg.spec b/.gear/IMSProg.spec
new file mode 100644
index 0000000..0a33fd2
--- /dev/null
+++ b/.gear/IMSProg.spec
@@ -0,0 +1,101 @@
+# Unpackaged files in buildroot should terminate build
+%define _unpackaged_files_terminate_build 1
+
+Name: IMSProg
+Version: 1.0.27
+Release: alt1
+
+Summary: I2C, SPI and MicroWire EEPROM/Flash chip programmer for CH341a devices
+Summary(ru_RU.UTF-8): I2C, SPI and MicroWire EEPROM/Flash программатор для CH341a устройств
+License: GPL-3.0-or-later
+Group: Engineering
+
+Url: https://github.com/bigbigmdm/IMSProg
+Source: %name-%version.tar
+Patch: %name-%version-%release.patch
+
+BuildRequires(pre): rpm-macros-cmake
+BuildRequires: cmake gcc-c++
+BuildRequires: qt5-base-devel
+BuildRequires: qt5-tools
+BuildRequires: pkgconfig(libusb-1.0)
+
+%description
+IMSProg - Linux IMSProg - I2C, SPI and MicroWire EEPROM/Flash chip programmer
+for CH341a devices. The IMSProm is a free I2C EEPROM programmer tool for
+CH341A device based on QhexEdit2 and modify SNANDer programmer.
+
+This is a GUI program used widget QhexEditor. For setting the SPI chip
+parameters you can use the Detect button for reading chip parameters
+(JEDEC information reading) or manually setting it. The I2C and MicroWire
+EEPROM only manually selected.
+
+The chip database format is clone with EZP2019, EZP2020, EZP2023, Minpro I,
+XP866+ programmers. You can edit the database use the EZP Chip data Editor.
+
+%description -l ru_RU.UTF-8
+IMSProg - Linux IMSProg - I2C, SPI and MicroWire EEPROM/Flash программатор
+для CH341a устройств. IMSProm является бесплатной утилитой для
+использования CH341A устройств в качестве программатора микросхем. Основана на
+QhexEdit2 и модифицированном программаторе SNANDer.
+
+Графический интерфейс программы использует виджеты QhexEditor. Для настройки
+параметров чипа SPI вы можете использовать кнопку «Поиск» для чтения параметров
+чипа (считывание информации JEDEC) или настроить его вручную. I2C и MicroWire
+EEPROM выбираются только вручную.
+
+Формат базы данных чипов клонируется программаторами EZP2019, EZP2020, EZP2023,
+Minpro I, XP866+. Вы можете редактировать базу данных с помощью редактора данных
+EZP Chip.
+
+%prep
+%setup
+%patch -p1
+
+# update translations
+lrelease-qt5 IMSProg_editor/language/*.ts
+lrelease-qt5 IMSProg_programmer/language/*.ts
+
+%build
+pushd IMSProg_editor
+%cmake
+%cmake_build
+popd
+
+pushd IMSProg_programmer
+%cmake
+%cmake_build
+popd
+
+%install
+pushd IMSProg_editor
+%cmake_install
+popd
+
+pushd IMSProg_programmer
+%cmake_install
+popd
+
+# move udev rules to %_udevrulesdir
+mkdir -p %buildroot%_udevrulesdir
+mv %buildroot%_sysconfdir/udev/rules.d/99-CH341.rules \
+ %buildroot%_udevrulesdir/99-CH341.rules
+
+# rename README
+cp IMSProg_editor/README.md IMSProg_editor.md
+cp IMSProg_programmer/README.md IMSProg_programmer.md
+
+%files
+%doc README.md IMSProg_editor.md IMSProg_programmer.md
+%_bindir/%name
+%_bindir/%{name}_editor
+%_datadir/%name
+%_desktopdir/%name.desktop
+%_desktopdir/%{name}_editor.desktop
+%_udevrulesdir/99-CH341.rules
+%_iconsdir/hicolor/64x64/apps/%{name}_editor.png
+%_iconsdir/hicolor/64x64/apps/%name.png
+
+%changelog
+* Fri Oct 13 2023 Anton Midyukov <antohami@altlinux.org> 1.0.27-alt1
+- initial build (Closes: 47993)
diff --git a/.gear/rules b/.gear/rules
new file mode 100644
index 0000000..05e5dc2
--- /dev/null
+++ b/.gear/rules
@@ -0,0 +1,3 @@
+tar: upstream:. exclude=release exclude=img
+diff: upstream:. . exclude=release exclude=img
+spec: .gear/IMSProg.spec
diff --git a/.gear/tags/list b/.gear/tags/list
new file mode 100644
index 0000000..57c5b79
--- /dev/null
+++ b/.gear/tags/list
@@ -0,0 +1 @@
+5699c8c134d175bbadbdb0c88ac495b6546fb2dc upstream
diff --git a/.gear/upstream/remotes b/.gear/upstream/remotes
new file mode 100644
index 0000000..3f0dc3e
--- /dev/null
+++ b/.gear/upstream/remotes
@@ -0,0 +1,3 @@
+[remote "upstream"]
+ url = https://github.com/bigbigmdm/IMSProg
+ fetch = +refs/heads/*:refs/remotes/upstream/*
diff --git a/IMSProg_editor/CMakeLists.txt b/IMSProg_editor/CMakeLists.txt
index 426fb2b..54163cd 100644
--- a/IMSProg_editor/CMakeLists.txt
+++ b/IMSProg_editor/CMakeLists.txt
@@ -32,13 +32,12 @@ target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})
target_link_libraries(${PROJECT_NAME} Qt5::Core)
target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
-install(TARGETS ${PROJECT_NAME} DESTINATION /opt/IMSProg)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg_editor.desktop" DESTINATION /opt/IMSProg)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg_editor.desktop" DESTINATION /usr/share/applications)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/chipEdit64.png" DESTINATION /opt/IMSProg)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_ru_RU.qm" DESTINATION /opt/IMSProg/language)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_de_DE.qm" DESTINATION /opt/IMSProg/language)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_es_ES.qm" DESTINATION /opt/IMSProg/language)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_zn_CH.qm" DESTINATION /opt/IMSProg/language)
+install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg_editor.desktop" DESTINATION ${SHARE_INSTALL_PREFIX}/applications)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/chipEdit64.png" DESTINATION ${SHARE_INSTALL_PREFIX}/icons/hicolor/64x64/apps RENAME IMSProg_editor.png)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_ru_RU.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_de_DE.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_es_ES.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipEditor_zn_CH.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
diff --git a/IMSProg_editor/main.cpp b/IMSProg_editor/main.cpp
index d05d6ec..25c6d7d 100644
--- a/IMSProg_editor/main.cpp
+++ b/IMSProg_editor/main.cpp
@@ -8,7 +8,7 @@ int main(int argc, char *argv[])
QApplication a(argc, argv);
QTranslator translator;
QString translateName = "chipEditor_" + QLocale::system().name();
- if(translator.load(translateName, "language/")) a.installTranslator(&translator);
+ if(translator.load(translateName, "/usr/share/IMSProg/language/")) a.installTranslator(&translator);
a.installTranslator(&translator);
MainWindow w;
w.show();
diff --git a/IMSProg_editor/other/IMSProg_editor.desktop b/IMSProg_editor/other/IMSProg_editor.desktop
index 6e9c120..6ac235e 100644
--- a/IMSProg_editor/other/IMSProg_editor.desktop
+++ b/IMSProg_editor/other/IMSProg_editor.desktop
@@ -2,10 +2,9 @@
Version=1.0
Type=Application
Name=IMSProg_editor
-Comment=Chip Database Editor
-Exec=/opt/IMSProg/IMSProg_editor
-Icon=/opt/IMSProg/chipEdit64.png
-Path=/opt/IMSProg
+Comment=Chip Database Editor
+Exec=IMSProg_editor
+Icon=IMSProg_editor
Terminal=false
Encoding=UTF-8
Categories=Electronics;Development;
diff --git a/IMSProg_programmer/CMakeLists.txt b/IMSProg_programmer/CMakeLists.txt
index 6eb9b00..5f6a0ed 100644
--- a/IMSProg_programmer/CMakeLists.txt
+++ b/IMSProg_programmer/CMakeLists.txt
@@ -82,13 +82,12 @@ target_link_libraries(${PROJECT_NAME} Qt5::Core)
#target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
target_link_libraries(${PROJECT_NAME} Qt5::Widgets ${LibUSB_LIBRARIES})
-install(TARGETS ${PROJECT_NAME} DESTINATION /opt/IMSProg)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg.desktop" DESTINATION /opt/IMSProg)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg.desktop" DESTINATION /usr/share/applications)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/write64.png" DESTINATION /opt/IMSProg)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/database/IMSProg.Dat" DESTINATION /opt/IMSProg)
+install(TARGETS ${PROJECT_NAME} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/IMSProg.desktop" DESTINATION ${SHARE_INSTALL_PREFIX}/applications)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/img/write64.png" DESTINATION ${SHARE_INSTALL_PREFIX}/icons/hicolor/64x64/apps RENAME IMSProg.png)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/database/IMSProg.Dat" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/other/99-CH341.rules" DESTINATION /etc/udev/rules.d)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_ru_RU.qm" DESTINATION /opt/IMSProg/language)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_es_ES.qm" DESTINATION /opt/IMSProg/language)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_de_DE.qm" DESTINATION /opt/IMSProg/language)
-install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_zn_CH.qm" DESTINATION /opt/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_ru_RU.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_es_ES.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_de_DE.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/language/chipProgrammer_zn_CH.qm" DESTINATION ${SHARE_INSTALL_PREFIX}/IMSProg/language)
diff --git a/IMSProg_programmer/main.cpp b/IMSProg_programmer/main.cpp
index 4addf5c..c5db922 100644
--- a/IMSProg_programmer/main.cpp
+++ b/IMSProg_programmer/main.cpp
@@ -25,7 +25,7 @@ int main(int argc, char *argv[])
QApplication a(argc, argv);
QTranslator translator;
QString translateName = "chipProgrammer_" + QLocale::system().name();
- if(translator.load(translateName, "language/")) a.installTranslator(&translator);
+ if(translator.load(translateName, "/usr/share/IMSProg/language/")) a.installTranslator(&translator);
a.installTranslator(&translator);
MainWindow w;
w.show();
diff --git a/IMSProg_programmer/mainwindow.cpp b/IMSProg_programmer/mainwindow.cpp
index fc87a7d..084be24 100644
--- a/IMSProg_programmer/mainwindow.cpp
+++ b/IMSProg_programmer/mainwindow.cpp
@@ -126,7 +126,7 @@ MainWindow::MainWindow(QWidget *parent) :
hexEdit->setHexFontColor(defaultTextColor);
//opening chip database file
ui->statusBar->showMessage(tr("Opening DAT file"));
- QFile datfile("IMSProg.Dat");
+ QFile datfile("/usr/share/IMSProg/IMSProg.Dat");
QByteArray dataChips;
if (!datfile.open(QIODevice::ReadOnly))
{
@@ -1223,14 +1223,7 @@ void MainWindow::on_actionChecksum_calculate_triggered()
void MainWindow::on_actionEdit_chips_Database_triggered()
{
- if(QFileInfo::exists("IMSProg_editor") && !QDir("IMSProg_editor").exists()){
- //The file exists and is not a folder
- QProcess::execute("IMSProg_editor");
- }
- else {
- //The file doesn't exist, either the path doesn't exist or is the path of a folder
- QMessageBox::about(this, tr("Error"), tr("Not found file `IMSProg_editor`!"));
- }
+ QProcess::execute("IMSProg_editor");
}
void MainWindow::doNotDisturb()
diff --git a/IMSProg_programmer/other/IMSProg.desktop b/IMSProg_programmer/other/IMSProg.desktop
index df1a761..d192d0b 100644
--- a/IMSProg_programmer/other/IMSProg.desktop
+++ b/IMSProg_programmer/other/IMSProg.desktop
@@ -2,9 +2,8 @@
Version=1.0
Type=Application
Name=IMSProg
-Icon=/opt/IMSProg/write64.png
-Exec=/opt/IMSProg/IMSProg
-Path=/opt/IMSProg/
+Icon=IMSProg
+Exec=IMSProg
NoDisplay=false
Categories=Electronics;Development;
StartupNotify=true