Imported from SRPM

This commit is contained in:
Aleksandr Proklov 2023-11-07 20:08:33 +09:00
commit 9d862b3c58
3 changed files with 388 additions and 0 deletions

2
.abf.yml Normal file
View file

@ -0,0 +1,2 @@
sources:
IMSProg-1.0.27.tar: 1afc9ab1bf5deb0eb2984193be608ae99739a8fe

285
IMSProg-1.0.27-alt1.patch Normal file
View file

@ -0,0 +1,285 @@
.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

101
IMSProg.spec Normal file
View file

@ -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)