motofan logo
46 страниц V « < 31 32 33 34 35 > »         
> 

Софт для ZN5 и прочих MotoMAGX: MGX и PEP, Разработка, портирование и обсуждение нативного софта

EXL
сообщение 26.8.2011, 12:34 Закрепленное сообщение!


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4654



Мануал: Компиляция приложений для MotoMAGX OS, создание пакетов

Прикрепленное изображение

Для портирования и сборки приложений для нашей платформы в первую очередь нам нужны:

1. Компьютер с Linux OS. Или Windows OS с установленным Virtual BOX/VMware Player, в крайнем случае под виндой можно воспользоваться AndLinux'ом или Cygwin'ом.
2. SDK & Toolchains для MotoMagX + Исходники программ/приложений.
3. Программист/Разработчик или начинающий программист (1 шт.).

Я рассмотрю наиболее приемлемый многим начинающим разработчикам способ, с использованием популярного дистрибутива Ubuntu 11 (Linux OS) в виртуальной машине VMware Player в Windows OS. Те пользователи, у которых стоит Linux OS на компе, могут скачать SDK & Toolchains | Зеркало | Зеркало | Зеркало и сразу перескочить на пункт #4.

Итак, начнём:

1. Загрузка необходимых для разработки инструментов и файлов:

1.1. Скачиваем ISO-образ диска Ubuntu 11. Я качал себе в городской сетке, пошарьтесь в своих тоже, может найдёте. На всякий случай, ссылка: [Download | Скачать] на скачивание с официального сайта: http://www.ubuntu.com Там вы можете выбрать любую конфигурацию под свой компьютер (amd/i386) и т.д.

1.2. Скачиваем VMware Player - Скачать можно с официального сайта: [Download | Скачать] или тут: [Mirror | Зеркало]

1.3. Скачиваем SDK & Toolchains для MotoMagX. [Download | Скачать] - полная версия, включающая в себя 2 тулчейна SDL (От испанцев) + QT (От Ant-On'a) а также python, bennugd, boost и множество различных библиотек. Инструкция по установке есть внутри или ниже можно прочитать подробно.
Тем, кто хочет разрабатывать приложения на SDL, можно скачать небольшой тулчейн для сборки приложений: [Download | Скачать] [Mirror | Зеркало]

2. Мануалы по установке VMware, Ubuntu и SDK & Toolchains в картинках:*
* - картинки открывать лучше всего в новом окне, нажав колёсико мышки. После открытия воспользуйтесь масштабированием, например, в стандартном просмоторщике картинок.

2.1. Установка программы VMware для самых маленьких.
2.2. Установка Linux OS в программу VMware, на примере Ubuntu 11.
2.3. Установка дополнительных инструментов (VMware-tools) в Ubuntu 11. Необходимо для перемещения файлов между Ubuntu в виртуальной машине и виндой.

2.1.:    2.2.:    2.3.:

Прикрепленное изображение Прикрепленное изображение Прикрепленное изображение

3. Мануалы по установке, текстом.

3.1. Установка VMware-tools для Ubuntu 11.
3.1.1. Стартуем Ubuntu 11, вверху нажимаем "Virtual Machine", затем "Install VMware Tools...
3.1.2. Ждём загрузки инструментов (нужно подключение к интернету!), затем снова вверху нажимаем "Virtual Machine" -> "Install VMware Tools...
3.1.3. С открывшегося диска копируем архив в формате *.tar.gz например в /home/user (user - ваше имя при установке Ubuntu), распаковываем его.
3.1.4. Запускаем терминал и выполняем в нём следующее:
Код

cd /home/user/vmware-tools-distrib
sudo ./vmware-install.pl

После команды sudo надо ввести пароль, который мы указывали при установке Ubuntu.
3.1.5. Умный скрипт сам предложит вам вводить нужные значения (в квадратных скобках), вводите их.
3.1.6. После успешной установки инструментов, перезагрузите компьютер.
3.1.7. Данные инструменты помогут с лёгкостью переносить файлы из Windows в Linux Ubuntu, просто копируя их или перенося из окна в окно, как вы это делали в Windows. Кроме того, появится множество разрешений для экрана системы.

3.2. Общие папки между системами для обмена файлами.
3.2.1. Стартуем Ubuntu 11, вверху нажимаем "Virtual Machine", затем "Virtual Machine Settings"
3.2.2. Переходим на вкладку "Options", выбираем "Shared Folders"
3.2.3. Переключатель "Folder sharing" ставим в положение "Always enabled", нажимаем кнопку "Add".
3.2.4. На компьютере выбираем любую папку, добавляем её, жмём ОК.
3.2.5. Теперь в Ubunte, в папке /mnt/hgfs видим добавленную нами папку из Windows.

4. Установка SDK & Toolchains.

4.1. Скачиваем архив тулчейна (*.tar.gz), перемещаем его в папку /home/user (user - ник при установке Ubuntu).
4.2. Выполняем команды, новая строка - Enter, вместо user естественно пишем своё имя, после команды sudo потребуется ввести пароль, который мы указывали при установке Ubuntu.
Код

sudo mkdir /mmc
sudo chown user -R /opt
sudo chown user -R /home
sudo chown user -R /mmc
sudo ln -s -d /opt/toolchains/motomagx/arm-eabi -t /
mkdir /opt/toolchains
mkdir /home/z6
mkdir /mmc/mmca1
tar -C /opt/toolchains -xzvf /home/user/motomagx-toolchains_12_08_2011.tar.gz
cp /opt/toolchains/motomagx/setenv-z6.sh /home/z6
cp /opt/toolchains/motomagx/setenv-z6-2.sh /home/z6

4.3. Обратите внимание на имя скаченного вами архива с тулчейном! Именно его нужно вводить в восьмой строке кода, приведённого выше!
4.4. Установленный тулчейн:
Прикрепленное изображение

5. Запуск окружения, компиляция программ и helloworld'a.

5.1. Чтобы запустить окружение для компиляции под MotoMagx, достаточно выполнить в терминале следующее:
Код

cd /home/z6
. setenv-z6.sh

После этого, компиляторы, библиотеки и хэдеры будут браться из нашего тулчейна, а не с компьютера.

5.2. HelloWorld.
5.2.1. Создаём пустой файл с именем hello.c в папке /home/z6 (Правой клавишей по пустому месту, "Create Document" -> "Empty File")
5.2.2. Редактируем его содержимое следующим образом, сохраняем:
Код

// Hello World for Motorola Magx!

#include <stdio.h>

int main(void)
{
    printf ("Hello Moto!!!\n");
    return 0;
}

5.2.3. Компилируем:
Код

cd /home/z6
arm-linux-gnueabi-gcc hello.c -o hello

5.2.4. Полученный исполнительный файл "hello" кидаем на телефон и запускаем через телнет!
Код

Mobilinux(TM) 4.1
Welcome 2 Motorola ZN5!
[root@Symbiosis ~]
#> /mmc/mmca1/hello
Hello Moto!!!


5.3. Работа с утилитой Make* и SDL библиотекой.
* - Утилита Make позволяет компилировать достаточно сложные проекты. Подробнее тут: http://ru.wikipedia.org/wiki/Make
5.3.1. Скачиваем следующие исходники, распаковываем в папку /home/z6:
Прикрепленный файл ballgame_src.tar.gz   ( 34 килобайт ) Кол-во скачиваний: 21670

5.3.2. Запускаем терминал и окружение для компиляции, переходим в папку с проектом, выполняем команду make:
Код

cd /home/z6/ballgame_src
make

После выполнения команды будет выполнена компиляция проекта и создан mgx пакет. Для очистки проекта от объектного кода и бинарников, следует выполнить make clean. Для создание mgx пакета - команду make mgx.
5.3.3. Теперь можно кинуть пакет на карту памяти и попробовать запустить. (Для SDL приложений вам потребуется установленные SDL-библиотеки!)
5.3.4. Структура простейшего Makefile для компиляции HelloWorld'a:
Код

# MakeFile for HelloWorld
# Motorola MotoMAGX

CC = arm-linux-gnueabi-gcc  
STRIP = arm-linux-gnueabi-strip
  
CFLAGS = # Необходимые флаги
LDFLAGS = # Необходимые флаги
OPTIMIZATION = -march=armv6j -mtune=arm1136jf-s -mfpu=vfp -O2 # Оптимизация под процессор

INCLUDE = $(CFLAGS) $(OPTIMIZATION) -I/dir # Путь к нужным хэдэрам.
LIBS = $(LDFLAGS) -L/dir # Путь к нужным либам

BIN = hello # Бинарник

all:
    $(CC) -c hello.c -o hello.o $(INCLUDE)
    $(CC) -o $(BIN) hello.o $(LIBS)
    $(STRIP) $(BIN)
clean:
    rm -f ./*.o $(BIN)

Если положить данный Makefile рядом с hello.c, и выполнить make, получим исполнительный файл.
5.3.5. Замена строк, для портирования SDL проектов:
Код

CC:=gcc ---> CC:=arm-linux-gnueabi-gcc
cc=gcc ---> CC=arm-linux-gnueabi-gcc
cxx=g++ ---> CXX=arm-linux-gnueabi-g++
ld=ld ---> LD=arm-linux-gnueabi-ld
ar=ar ---> AR=arm-linux-gnueabi-ar
as=as---> AS=arm-linux-gnueabi-as
oc=oc ---> OC=arm-linux-gnueabi-objcopy
ranlib=ranlib ---> RANLIB=arm-linux-gnueabi-ranlib
strip=strip ---> STRIP=arm-linux-gnueabi-strip
В INCLUDE или CFLAGS добавляем `sdl-config --cflags`
В LIBS или LDFLAGS добавляем `sdl-config --libs` -lнеобходимая_библиотека


5.4. Работа с утилитой configure* и SDL библиотекой.
* - Скрипт configure создаёт Makefile и позволяет компилировать сложные проекты, состоящие из множества файлов. Подробнее тут: http://en.wikipedia.org/wiki/Configure_script
5.4.1. Пример работы. Скачиваем исходники, распаковываем в папку /home/z6:
Прикрепленный файл PTC-demos.tar.gz   ( 33.29 килобайт ) Кол-во скачиваний: 21785

5.4.2. Выполняем следующее:
Код

cd /home/z6/PTC-demos
./configure --host=arm-linux-gnueabi
make

После этих команд у нас появятся исполнительные файлы Fire и Tunnel. Копируем их в корень карточки телефона.
5.4.3. Запускаем через телнет следующим образом:
Код

export LD_LIBRARY_PATH=/mmc/mmca1/games/lib:$LD_LIBRARY_PATH
chmod +x /mmc/mmca1/Fire
/mmc/mmca1/Fire

5.4.4. Для установки файлов в нужную директорию используется prefix и команда make install:
Код

mkdir /home/z6/test
cd /home/z6/PTC-demos
./configure --host=arm-linux-gnueabi --prefix=/home/z6/test
make
make install

После этого нужные нам файлы будут в папке /home/z6/test.
5.4.5. Для чистки объектного кода и бинарников используется команда make clean, для удаления сконфигурированных Makefile'ов используется команда make distclean (полная очистка).

5.5. Деббагер "Segmentation fault"
5.5.1. Качаем gdb и распаковываем архив на карту памяти, в папку /mmc/mmca1/games
Исполнительные файлы должны быть собраны с префиксом '-g' и не должны быть пострипаные
5.5.2. Выполняем (gdb):
Код

ulimit -c unlimited
./<bin_app>
Segmentation fault (core dumped)
файл <core> будет создан
../bin/gdb ./<bin_app> <core>

5.5.3 Выполняем (strace):
Код

../bin/strace ./<bin_app>


5.6. Скрипт запуска для SDL приложений:
Код

#!/bin/sh
mypath=${0%/*}
LIBDIR1=/ezxlocal/download/mystuff/games/lib
LIBDIR2=/mmc/mmca1/games/lib
LIBDIR3=$mypath/lib
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$LIBDIR1:$LIBDIR2:$LIBDIR3
export HOME=$mypath
export SDL_QT_INVERT_ROTATION=1
cd $mypath
sleep 1

exec $mypath/<bin_app>

5.6.1. Если нужен вывод лога в файл, заменяем последнюю строку в скрипте на
Код
exec $mypath/bin_app >$mypath/stdout.txt 2>$mypath/stderr.txt


5.7. HelloWorld с использованием GUI и функций телефона.
5.7.1. Скачиваем архив, распаковываем в /home/z6:
Прикрепленный файл Helloworld_GUI.tar.gz   ( 80.01 килобайт ) Кол-во скачиваний: 21974

5.7.2. Выполняем:
Код

cd /home/z6/папка с нужным проектом
make PLATFORM=EZX-ZN5

или просто make
5.7.3. Кидаем исполнительные файлы на телефон и пробуем запустить, должно получиться что-то типа этого:
Прикрепленное изображение

5.8. Собираем MgxBox.
5.8.1. Скачиваем архив, распаковываем в /home/z6:
Прикрепленный файл MgxBox.tar.gz   ( 5.23 мегабайт ) Кол-во скачиваний: 23235

5.8.2. Выполняем:
Код

cd /home/z6/MgxBox/MgxBox_GUI_ru
make PLATFORM=EZX-ZN5
cd /home/z6/MgxBox/p7zip_9.20.1
make all2
make install
cp -r /mmc/mmca1/p7zip/lib/p7zip /home/z6/MgxBox/Release/app/p7zip

5.8.3. Кидаем папку /home/z6/MgxBox/Release на телефон и пробуем запустить бинарник в папке Release/app, если всё нормально, должно получиться что-то типа этого:
Прикрепленное изображение

6. Создание пакетов вручную.

6.1. Создание MGX пакета:
6.1.1. Создаём папку, помещаем в нее необходимые файлы (дата файлы приложения, исполнительные файлы, скрипт запуска, иконку).
6.1.2. Создаём в папке файл "Имя папки".cfg, редактируем его содержимое следующим образом:
Код

Name = Test
Exec = run.sh
Icon = icon.png
Author = Ant-ON
Version = 1.0
Comment = Port for ZN5 by EXL

Где, Name - имя программы, Exec - запускаемый файл, Icon - иконка, Author - Автор программы, Version - Версия программы, Comment - Комментарий.
6.1.3. Запаковываем папку в любой удобный вам архив (RAR, TAR, GZ, 7Z, ZIP), и переименовываем в "имя программы".mgx

6.2. Создание PEP пакета:
6.2.1. Создаём папку с именем "app", помещаем в нее необходимые файлы (дата файлы приложения, исполнительные файлы, скрипт запуска).
6.2.2. Создаём рядом с папкой файл "description.ini", редактируем его содержимое следующим образом:
Код

[Actions]
Silent=0
InstallApp = 1  
AddAppToMenu = 1

[InstallApp]
Name = Jump n Blob
Exec = run.sh
InstallPath = ../../mmc/mmca1/.Programs/jump_n_blob/
AppLockable = 1
Author = http://www.2d-retroperspectives.org | Philipp. Port by -=Strelok=-, EXL (c) MotoFan.Ru 08.01.2010
Version = 0.1
Daemon = 1
BigIcon= icon.png
AniIcon= icon.png
Icon= icon.png

[AddAppToMenu]
ParentFolder= root

Где, Name - имя программы, Exec - запускаемый файл, Icon | AniIcon | BigIcon - иконка, Author - Автор программы, Version - Версия программы, InstallPath - Путь установки.
6.2.3. Создаём иконку, рядом с папкой "app" и "description.ini".
6.2.4. Запаковываем иконку, папку "app" и "description.ini" в архив формата TAR, затем сжимаем его в GZ переименовываем в "имя программы".pep

7. Полезные ссылки, документация, наши проекты.

7.1. Исходники, сайты с исходниками. Множество интересных проектов есть на code.google.com и sf.net
7.1.1. Исходники проектов, базирующихся на SDL:
libsdl.org/games
libsdl.org/demos
http://dl.openhandhelds.org/cgi-bin/gp2x.cgi?0,0,0,0,46
http://dl.openhandhelds.org/cgi-bin/dingoo.cgi?0,0,0,0,46
7.1.2. Исходники проектов, базирующихся на QT:
http://www.elsix.org/index.php?w=browse - В основном там под Sharp Zaurus, но идеи создания приложений и сорцы найти можно.

7.2. Документация, темы для прочтения:
Пробуем портировать игры и проги сами
Разработка софта под MOTOMAGX, начну небольшой HOWTO
Компиляция нативных приложений под E6/A1200, Создание окружения для компиляции
SDL библиотека
http://plg.lrn.ru/wiki/Заглавная_Страница
http://plg.lrn.ru/doc/sdl/index.html
http://doc.qt.nokia.com

7.3. Проекты:
http://code.google.com/p/open-mgx/ - исходники программ от Ant-On'a
http://code.google.com/p/sdl-magx/ - библиотека SDL HW для MotoMAgx от Ant-On'a
http://code.google.com/p/zmessanger/ - нативная аська, автор Ant-On
http://sourceforge.net/projects/qte2console/ - qte2console от DoomChisel
http://code.google.com/p/motocakerteam/ - исходники программ от испанцев MotoCakerTeam
http://code.google.com/p/zsoft/

8. Мануалы данной темы:

Если кто не может запустить ZN5Encoder в Magic box - пост #290
Нативные заставки на основе портированных мной и Neomoto демок! - пост #291
Мануал по установке Tmake в тулчейн, и правки созданного им MakeFile - пост #484
Изучение разделяемых библиотек (so) - пост #1440
Эмуляция нажатия клавиш на Motorola ZN5 - пост #1684


© EXL for MotoFan.Ru 27.08.2011
Прикрепленный файл ballgame_src.tar.gz   ( 34 килобайт ) Кол-во скачиваний: 21670
Прикрепленный файл PTC-demos.tar.gz   ( 33.29 килобайт ) Кол-во скачиваний: 21785
Прикрепленный файл Helloworld_GUI.tar.gz   ( 80.01 килобайт ) Кол-во скачиваний: 21974
Прикрепленный файл MgxBox.tar.gz   ( 5.23 мегабайт ) Кол-во скачиваний: 23235
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 3.6.2017, 19:57


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



VINRARUS,
Так тут как я говорю, разница изза того что 05r вышла намного праньше 2cr, от того и нестыковка.
Возьми к примеру 05r от 64мб и 17r от 128, они ближе по датам и разнциы почти нету.

А когда вышла 2cr под 128, для 64 уже ничего неделали, она так и осталась со старым функционалом.

Добавлено позже (3.6.2017, 21:03):
Немного попили дальше пакмжна, вроди установка прог работает, все 3 пакета pep,mpkg,mgx
Функционал примерно уровнял, и там и там есть запуск скриптов до и после установки ну и все остальное.

Также допилил установку плагинов, вроди пашет, на SAmod если. Правдо нужно придумать как быть если к плагину требуются доп файлы. Типо как фоновая картинка погодника.
Пакет с погодником для теста прилагается

Сообщение отредактировал fill.sa - 10.6.2017, 0:21
Прикрепленный файл DeskWeather_plugin.mpkg   ( 34.94 килобайт ) Кол-во скачиваний: 174
Прикрепленный файл PackMan.zip   ( 45.25 килобайт ) Кол-во скачиваний: 57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Unreal_man
сообщение 4.6.2017, 0:39


Гуру
******

Группа: Разработчики
Сообщений: 732
Регистрация: 16.12.2009
Из: Другого Края Земли
Пользователь №: 211 211
Модель телефона: Motorola Moto Z Play


Настроение:
:-I



Рейтинг: 607



fill.sa, погодник по-прежнему не работает на несаедишн?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 4.6.2017, 4:21


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(Unreal_man @ 4.6.2017, 1:39) *

fill.sa, погодник по-прежнему не работает на несаедишн?

Не знаю я не проверял. Винрарус же там пару сообщений назад смотрел - вываливается ошибка.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 4.7.2017, 13:21


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Шото не выходит скомпилить iconv. wacko.gif
Вроди бы ошыбок нет, но финального бинарника не нахожу.
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 4.7.2017, 15:21


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4654



VINRARUS,
Собрал: http://esxi.z-lab.me:666/~exl_lab/magx/ico...JUL-2017.tar.xz

Код

./configure --host=arm-linux-gnueabi --enable-static --disable-shared --prefix=/home/exl/Downloads/iconv_magx
make
make install
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 4.7.2017, 16:50


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



EXL, пасиба, не думал шо make install это обязательно...

Добавлено позже (4.7.2017, 20:27):
Другим компилятором компилил компиляцию? А то у меня на 200 кб больше размером.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 5.7.2017, 1:33


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4654



Цитата(VINRARUS @ Вчера, 23:50)
* Другим компилятором компилил компиляцию? А то у меня на 200 кб больше размером.

Сделал arm-....-strip -s iconv

Добавлено позже (5.7.2017, 8:35):
Цитата(VINRARUS @ Вчера, 23:50)
* не думал шо make install это обязательно...

Вообще не обязательно. Просто собранный бинарь iconv либо лежал в скрытой директории, либо поиск файла в KDE/Dolphin забагованный.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 9.7.2017, 10:56


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Помогите написать нативную програмку-кукушку, аналогичную по функционалу (и с минимальной нагрузкой на ЦП):
Код
while true
do
usleep $1
echo 0
done

То есть она должна в цыкле вечно выводить символ "0" через заданое количество милисекунд.
Чето искал в нете, там #gstremer какой то, и у нас его не находит. not_i.gif

Просто постоянно в новом процесе запускать usleep вредно для здоровья.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.7.2017, 17:14


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4654



Такое что-то нужно?

Код

// koo.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
    if (argc != 3) {
        fprintf(stderr, "Usage:\n\t./koo 100 c\n");
        return 1;
    }
    int it = atoi(argv[1]);
    if (it <= 0) it = 100;
    while(1) {
        fprintf(stderr, argv[2]);
        usleep(it * 1000);
    }
    return 0;
}


Компилировать и запускать так:
Код
$ arm-linux-gnueabi-gcc koo.c -o koo
$ ./koo 100 0
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 9.7.2017, 18:26


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(EXL @ Сегодня, 20:14)
* usleep(it * 1000)

Правильно ли я понимаю шо каждый проход оно опять будет умножать заново? Это доп. нагрузка же. blind.gif
Цитата(EXL @ Сегодня, 20:14)
* fprintf(stderr

Не понял юмора, почему канал ошибок, а не первый?
Цитата(EXL @ Сегодня, 20:14)
* fprintf(stderr, argv[2]);

Как перенос строки добавить?

Сообщение отредактировал VINRARUS - 9.7.2017, 18:30
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 9.7.2017, 19:05


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4654



Цитата(VINRARUS @ Сегодня, 1:26)
* Правильно ли я понимаю шо каждый проход оно опять будет умножать заново? Это доп. нагрузка же.


Операция умножения одна из самых быстрых инструкций и в сравнении с вызовом fprintf время выполнения * 1000 настолько ничтожно мало, что им по сути можно полностью пренебречь. Разница во времени между вызовом функции и крошечной инструкцией, думаю в несколько десятков тысяч порядков. Но да, можно немного "оптимизировать", если, конечно, компилятор сам этого не сделал, я не смотрел ассемблерный листинг.

Цитата(VINRARUS @ Сегодня, 1:26)
* Не понял юмора, почему канал ошибок, а не первый?

Потому что канал ошибок не буферизируется, в отличие от stdout. Если писать в канал вывода, то его нужно будет постоянно сбрасывать, в отличие от stderr. А это довольно ресурсоёмкая операция.

Цитата(VINRARUS @ Сегодня, 1:26)
* Как перенос строки добавить?

Поправил вариант программы с выводом в stdout

Код
// koo.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
    if (argc != 3) {
        fprintf(stdout, "Usage:\n\t./koo 100 c\n");
        return 1;
    }
    int it = atoi(argv[1]);
    if (it <= 0)
        it = 100 * 1000;
    else
        it *= 1000;
    while(1) {
        fprintf(stdout, "%s\n", argv[2]);
        fflush(stdout);
        usleep(it);
    }
    return 0;
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 9.7.2017, 20:42


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(EXL @ Сегодня, 22:05)
* Операция умножения одна из самых быстрых инструкций и в сравнении с вызовом fprintf время выполнения * 1000 настолько ничтожно мало, что им по сути можно полностью пренебречь. Разница во времени между вызовом функции и крошечной инструкцией, думаю в несколько десятков тысяч порядков. Но да, можно немного "оптимизировать", если, конечно, компилятор сам этого не сделал, я не смотрел ассемблерный листинг.

Я ж шельщик, у меня так логика работает. laugh.gif
Цитата(EXL @ Сегодня, 22:05)
* Потому что канал ошибок не буферизируется, в отличие от stdout.

Так вот от чего я забираю в натива вывод с задержками!
Я так понимаю банальным 1>&2 проблему не решыть там?
Цитата(EXL @ Сегодня, 22:05)
* Если писать в канал вывода, то его нужно будет постоянно сбрасывать, в отличие от stderr. А это довольно ресурсоёмкая операция.

Ок, юзаю тогда
Код
    while(1) {
        fprintf(stderr, "%s\n", argv[2]);
        usleep(it);
    }

и
Код
кoo 100 0 2>&1

Пасиба за помощь, странно шо какой то "yes" есть в утилитах, а подобного интервала нету.

Сообщение отредактировал VINRARUS - 9.7.2017, 21:36
Прикрепленный файл zInterval.7z   ( 3.38 килобайт ) Кол-во скачиваний: 83
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
EXL
сообщение 10.7.2017, 0:04


Rock The Microphone
********

Группа: Администраторы
Сообщений: 3 140
Регистрация: 12.5.2007
Из: г. Новосибирск
Пользователь №: 134 652

Рейтинг: 4654



Цитата(VINRARUS @ Сегодня, 3:42)
* Я так понимаю банальным 1>&2 проблему не решыть там?


Перенаправление потоков по идее тоже ресурсоёмкая операция. Попробуй такое решение:

Код
// koo.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main(int argc, char *argv[]) {
    setbuf(stdout, NULL);
    if (argc != 3) {
        fprintf(stdout, "Usage:\n\t./koo 100 c\n");
        return 1;
    }
    int it = atoi(argv[1]);
    if (it <= 0)
        it = 100 * 1000;
    else
        it *= 1000;
    while(1) {
        fprintf(stdout, "%s\n", argv[2]);
        usleep(it);
    }
    return 0;
}


Не уверен, будет ли оно работать на ZN5, но на десктопном Linux'е работает.

И ещё можешь сделать arm-linux-gnueabi-strip -s koo чтобы сократить размер бинарника.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 10.7.2017, 0:38


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(EXL @ Сегодня, 3:04)
* Не уверен, будет ли оно работать на ZN5, но на десктопном Linux'е работает.

Работает.
Цитата(EXL @ Сегодня, 3:04)
* И ещё можешь сделать arm-linux-gnueabi-strip -s koo чтобы сократить размер бинарника.

Люблю архиваторы. dribble.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 10.7.2017, 13:24


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ 10.7.2017, 1:38) *

Цитата(EXL @ Сегодня, 3:04)
* Не уверен, будет ли оно работать на ZN5, но на десктопном Linux'е работает.

Работает.
Цитата(EXL @ Сегодня, 3:04)
* И ещё можешь сделать arm-linux-gnueabi-strip -s koo чтобы сократить размер бинарника.

Люблю архиваторы. dribble.gif


Это не архиватор и даже отдаленно не он.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 10.7.2017, 16:52


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(fill.sa @ Сегодня, 16:24)
* Это не архиватор и даже отдаленно не он.

От перестановки доданкив сума не меняется. grin.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 11.7.2017, 5:39


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ 10.7.2017, 17:52) *

Цитата(fill.sa @ Сегодня, 16:24)
* Это не архиватор и даже отдаленно не он.

От перестановки доданкив сума не меняется. grin.gif

В данном случае еще как меняется, это как отпилить ногу и сказать что ничего неменяется )
в некоторых случаях после стрипа могут даже баги быть.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ant-ON
сообщение 17.7.2017, 18:06


Гуру
******

Группа: Разработчики
Сообщений: 1 329
Регистрация: 22.8.2005
Из: Екатеринбург
Пользователь №: 49 304
Модель телефона: N5 / Defy / VE66
Прошивка: CM12 / CM10 / PM2
Финалист Конкурса 2010

Рейтинг: 1850



Цитата(VINRARUS @ 10.7.2017, 5:38) *

Цитата(EXL @ Сегодня, 3:04)
* И ещё можешь сделать arm-linux-gnueabi-strip -s koo чтобы сократить размер бинарника.

Люблю архиваторы. dribble.gif

Это удаление отладочной информации из бинарников. Архивирование тут не при чем. И это не имеет ничего общего с упаковка бинарников (например, всякие upx-ы в винде).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 17.7.2017, 21:14


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(Ant-ON @ Вчера, 21:06)
* Это удаление отладочной информации из бинарников.

Мусора то скоко в нативе. laugh.gif
Цитата(Ant-ON @ Вчера, 21:06)
* например, всякие upx-ы в винде

Думал его аналог.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 26.7.2017, 23:18


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Надо бы структуру установочного пакета с плагином продумать. Есть в этом еще заинтересованы? какие будут идеи?
Пакет будет mpkg, храниться будут конфиги, сами файлы плагина и доп содержимое(типо оформления и тд)

Сообщение отредактировал fill.sa - 26.7.2017, 23:19
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Claus398
сообщение 27.7.2017, 10:12


Авторитет
********

Группа: Контент-менеджеры
Сообщений: 12 345
Регистрация: 6.7.2007
Из: Украина. Кривой Рог
Пользователь №: 140 536
Модель телефона: Motorola ROKR E1
Прошивка: My skins mod

Рейтинг: 3125.5



Цитата(fill.sa @ Сегодня, 2:18)
* Надо бы структуру установочного пакета с плагином продумать.

хорошая идея.
Цитата(fill.sa @ Сегодня, 2:18)
* Есть в этом еще заинтересованы? какие будут идеи?

сделать окно, по типу как в винде. с описанием действия, выбором и условием?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 27.7.2017, 12:47


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(fill.sa @ Сегодня, 2:18)
* Надо бы структуру установочного пакета с плагином продумать. Есть в этом еще заинтересованы? какие будут идеи?

Чем тебе Антоновые плагины в РЕР пакете не нравятся?
Цитата(fill.sa @ Сегодня, 2:18)
* Пакет будет mpkg

Который половина модов не сможет установить.
Мой то сможет, но из за несовместимости твого плагина толку 0.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Claus398
сообщение 27.7.2017, 13:30


Авторитет
********

Группа: Контент-менеджеры
Сообщений: 12 345
Регистрация: 6.7.2007
Из: Украина. Кривой Рог
Пользователь №: 140 536
Модель телефона: Motorola ROKR E1
Прошивка: My skins mod

Рейтинг: 3125.5



Цитата(VINRARUS @ Сегодня, 15:47)
* Чем тебе Антоновые плагины в РЕР пакете не нравятся?

Цитата(VINRARUS @ Сегодня, 15:47)
* Который половина модов не сможет установить.

именно в таком порядке. лично у меня всегда с pep была проблема.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 27.7.2017, 14:17


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(Claus398 @ Сегодня, 16:30)
* именно в таком порядке. лично у меня всегда с pep была проблема.

РЕМ он и в африке РЕМ, и устанавливает одинаково. Чего нельзя сказать о mpkg, который даже не откроется на большынстве модов.

Добавлено позже (27.7.2017, 18:23):
MGX я б ещо понял, но mpkg на зине не распространен, от этого поддержка в модах никакая.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Claus398
сообщение 27.7.2017, 17:54


Авторитет
********

Группа: Контент-менеджеры
Сообщений: 12 345
Регистрация: 6.7.2007
Из: Украина. Кривой Рог
Пользователь №: 140 536
Модель телефона: Motorola ROKR E1
Прошивка: My skins mod

Рейтинг: 3125.5



с mgs и mgx так же на всех прошивках проблем не было.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 27.7.2017, 19:22


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(Claus398 @ Сегодня, 20:54)
* с mgs и mgx так же на всех прошивках проблем не было.

А у меня были с mgx, потому шо некоторые разрабы жостко прописывали путь /mmc/mmca1/mgxbox.

Но вообще mgx пакеты и не пакеты даже, а просто примитивные контейнеры.
В то время как РЕР это серьйозный инструмент с поддержкой пред и пост настройки устанавливаемой програмы на лету.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 27.7.2017, 20:24


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ Сегодня, 15:17)
* MGX я б ещо понял, но mpkg на зине не распространен, от этого поддержка в модах никакая.


А суть не в его распространнности, а вего адеватности. У него самая адекватная и легко реализуемая структура. Причем возможности этого пакета можно чуть ли не бесконечно расширять.

Что до поддержки, так его и так и так не сможет не один прежний установщик установить, я ведь и предлагаю придумать структура пакета, чтобы потом реазилозовать в установщике весь функционал.

На данный момент я пробовал такую реализаци. В папке файл плагина, который копируется в установочню папку, потом возник вопрос, как быть с доп файлами, типо оформления итд. Дальше возник вопрос с конфигами который так или иначе идут с плагинам. А потом возник вопрос что если плагин разнес на несколько файлов.

Вообщем вот такие вопросы
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 27.7.2017, 21:20


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(fill.sa @ Вчера, 23:24)
* А суть не в его распространнности, а вего адеватности. У него самая адекватная и легко реализуемая структура. Причем возможности этого пакета можно чуть ли не бесконечно расширять.

Что до поддержки, так его и так и так не сможет не один прежний установщик установить, я ведь и предлагаю придумать структура пакета, чтобы потом реазилозовать в установщике весь функционал.

Всё ещо не понимаю чем тебе РЕР не подходит. Там можна хоть каждому файлу свой относительный путь прописать, при чем при установке пакета можна спросить куда его ставить (да хоть в /ezxlocal хоть по сети отправить).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 30.7.2017, 6:28


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ 27.7.2017, 22:20) *

Цитата(fill.sa @ Вчера, 23:24)
* А суть не в его распространнности, а вего адеватности. У него самая адекватная и легко реализуемая структура. Причем возможности этого пакета можно чуть ли не бесконечно расширять.

Что до поддержки, так его и так и так не сможет не один прежний установщик установить, я ведь и предлагаю придумать структура пакета, чтобы потом реазилозовать в установщике весь функционал.

Всё ещо не понимаю чем тебе РЕР не подходит. Там можна хоть каждому файлу свой относительный путь прописать, при чем при установке пакета можна спросить куда его ставить (да хоть в /ezxlocal хоть по сети отправить).

Ну во первых там калечно сделано, что сперва тебе нужно в Actions указывать с какими дальше секциями тебе работать. Для чего это лишнее действие непонятно и в придачу это заметно услажняет код установщика, причем чем больше в Actions пунктов тем сложнее.
Насчет куда ставить, может я конечно чего-то незнаю, но на сколько я вижу во всех прогах там жесткий путь по установке InstallPath = ../../mmc/mmca1/.Programs/timeout/ , никаикх тебе выборов на флэху или в память ставить.
Далее калечно, то что , вроди как установочные файлы лежат в папке app, но в тоже время иконки лежат в отдельной папке, опять непонятно зачем и опять таки усложнение кода программы из-за этого.
ну т.д Хорошо хоть там тар рахивы, а не 7зип ))
В принципе весь функционал ты скидывал тут
Софт для Motorola ZN5 и прочих MotoMAGX (~.mgx и ~.pep)

mpkg всех этих болячек лишен, от того и проще с ним работать. К тому же более родной формат под ezx-magx.



Сообщение отредактировал fill.sa - 30.7.2017, 6:31
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 30.7.2017, 9:13


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(fill.sa @ Сегодня, 9:28)
* Насчет куда ставить, может я конечно чего-то незнаю, но на сколько я вижу во всех прогах там жесткий путь по установке InstallPath = ../../mmc/mmca1/.Programs/timeout/ , никаикх тебе выборов на флэху или в память ставить.

Для этого есть PreInstall скрипт который исполнит любую твою фантазию на этапе распаковки.
Если просто нужен динамический путь то делаем InstallPath = ../../tmp/link/ и на этапе распаковки просто меняем симлинк куда нада.
Перенос такого безграничного функционала на плечи автора пакета сильно упрощает код установщика. grin.gif
Цитата(fill.sa @ Сегодня, 9:28)
* Далее калечно, то что , вроди как установочные файлы лежат в папке app, но в тоже время иконки лежат в отдельной папке, опять непонятно зачем и опять таки усложнение кода программы из-за этого.

Да ладно. Банальный mv ../icon.png $APP_DIR/ это такое сильное усложнение кода?
Цитата(fill.sa @ Сегодня, 9:28)
* mpkg всех этих болячек лишен, от того и проще с ним работать. К тому же более родной формат под ezx-magx.

Ты ж понимаеш шо это будет пакет только для твоего мода? Zorge в z-mod уже делал свои пакеты, и кроме патчей мода нигде больше не использовались.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 30.7.2017, 12:01


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ Сегодня, 10:13)
* Для этого есть PreInstall скрипт который исполнит любую твою фантазию на этапе распаковки.

Это уже костыль получается.
Цитата(VINRARUS @ Сегодня, 10:13)
* Да ладно. Банальный mv ../icon.png $APP_DIR/ это такое сильное усложнение кода?

Да ладно, а ничего что icon.png нету, есть иконки у которых постоянно разные названия.
Типо mplayer_big_usr.png или mplayer_small_usr.png, а кроме имени еще и формат другой бывает типо jpg.
Ты то должен был знать это про пеп пакеты.
Так что все сложнее.

Цитата(VINRARUS @ Сегодня, 10:13)
* Ты ж понимаеш шо это будет пакет только для твоего мода?

Вообще не вижу никакой связи между структурой пакета и модом. Опять таки пеп это пакеты для Project Evaluation мода, от того и название PEP, но ты же ими пользуешься.

Добавлено позже (30.7.2017, 13:02):
Лучшеб вместо спора, предложил структуру. Как с конфигами лучше поработать, как м доп материалом и тд, то о чем я выше писал.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 31.7.2017, 22:12


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(fill.sa @ 30.7.2017, 15:01)
* Это уже костыль получается.

buba.gif Ты страный чювак: то ругаеш пакет за лишние настройки усложняющие код установщика, то ругаеш пакет за отсутствие левых функций прямо в установщике.
Костыль это "шобы установить этот пакет сначала установите установщик для пакета через другой установщих пакетов", а тут документированная возможность расшырить функции в любую сторону, хоть в пол.
Цитата(fill.sa @ 30.7.2017, 15:01)
* Да ладно, а ничего что icon.png нету, есть иконки у которых постоянно разные названия.

Да ладно, точное имя картинки записано в конфиг пакета.
Цитата(fill.sa @ 30.7.2017, 15:01)
* Вообще не вижу никакой связи между структурой пакета и модом. Опять таки пеп это пакеты для Project Evaluation мода, от того и название PEP, но ты же ими пользуешься.

Когда зина начала ковыряться стандарт PEP уже был готов и стоял у истоков модостроения.
Твой же пакет должен выйти на закате MAGX, без шансов появиться в других модах.
Цитата(fill.sa @ 30.7.2017, 15:01)
* Лучшеб вместо спора, предложил структуру.

Лучще б вместо проэктирования улучшеного 5 колесного велосипеда занялся софтом для людей, например человеческого секундомера или какого то порта web браузера.
Цитата(fill.sa @ 30.7.2017, 15:01)
* Как с конфигами лучше поработать, как м доп материалом и тд, то о чем я выше писал.

От куда я знаю как нужно устанавливать твой плагин если я его в глаза не видел? Те компоненты которые вмешываются в систему должны хранилься вне фата, иначе будет висяк после ЮСБ.
Если б Антоновские плагины были грамотно упакованы в РЕР пакеты то я мог бы их как пример привести, но к сожалению Антон там тоже свой самокат при установке добавил, и он под горку не едет, токо с горки.
Путь такой: /ezxlocal/plugins/Name
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ant-ON
сообщение 1.8.2017, 16:31


Гуру
******

Группа: Разработчики
Сообщений: 1 329
Регистрация: 22.8.2005
Из: Екатеринбург
Пользователь №: 49 304
Модель телефона: N5 / Defy / VE66
Прошивка: CM12 / CM10 / PM2
Финалист Конкурса 2010

Рейтинг: 1850



Цитата(VINRARUS @ 1.8.2017, 3:12) *

От куда я знаю как нужно устанавливать твой плагин если я его в глаза не видел? Те компоненты которые вмешываются в систему должны хранилься вне фата, иначе будет висяк после ЮСБ.
Если б Антоновские плагины были грамотно упакованы в РЕР пакеты то я мог бы их как пример привести, но к сожалению Антон там тоже свой самокат при установке добавил, и он под горку не едет, токо с горки.
Путь такой: /ezxlocal/plugins/Name


Если б можно было без велосипедов - сделал без них. Но увы и ах. Для установки писал спец прогу. Исходники в аттаче.
Прикрепленный файл ZPlgInstaller.zip   ( 8.56 килобайт ) Кол-во скачиваний: 76
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 1.8.2017, 16:55


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(Ant-ON @ Сегодня, 19:31)
* Если б можно было без велосипедов - сделал без них. Но увы и ах. Для установки писал спец прогу. Исходники в аттаче.

Просто с ней есть проблемы, если ставить 2 плагина не соблюдая последовательность то какой то из них работать не будет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Ant-ON
сообщение 1.8.2017, 16:58


Гуру
******

Группа: Разработчики
Сообщений: 1 329
Регистрация: 22.8.2005
Из: Екатеринбург
Пользователь №: 49 304
Модель телефона: N5 / Defy / VE66
Прошивка: CM12 / CM10 / PM2
Финалист Конкурса 2010

Рейтинг: 1850



Цитата(VINRARUS @ 1.8.2017, 21:55) *

Цитата(Ant-ON @ Сегодня, 19:31)
* Если б можно было без велосипедов - сделал без них. Но увы и ах. Для установки писал спец прогу. Исходники в аттаче.

Просто с ней есть проблемы, если ставить 2 плагина не соблюдая последовательность то какой то из них работать не будет.

Там приоритеты или индексы надо правильно расставлять, тогда будут работать оба, если нет конфликта в областях вывода. Была ещё прога zPlgManager (или тип того), но я её не дописал вроде.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 1.8.2017, 18:00


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ Вчера, 23:12)
* точное имя картинки записано в конфиг пакета.

ну так вот именно, я про что и писал что нужно усложнять код тем что нужно сперва почитать конфиг, найти имя и копировать уже это имя. Одни сплошные усложнения.

Цитата(VINRARUS @ Вчера, 23:12)
* Твой же пакет должен выйти на закате MAGX, без шансов появиться в других модах.

Опять таки прежний вопрос, где связь между структурой пакета и модом?

Цитата(VINRARUS @ Вчера, 23:12)
* Ты страный чювак:

Цитата(VINRARUS @ Вчера, 23:12)
* к сожалению Антон там тоже свой самокат при установке добавил,

Да ты всеми недоволен, как помочь так нехочешь, зато флуд в каждой теме тебе не лень разводить.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 1.8.2017, 19:09


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(Ant-ON @ Сегодня, 19:58)
* Там приоритеты или индексы надо правильно расставлять, тогда будут работать оба, если нет конфликта в областях вывода.

Всё проще, пакет zDeskClock_0_3_ZN5_by_Ant-ON.pep не добавляется в авторан, но создаёт конфиги. От этого ZDeskLauncher_0_2_ZN5 тоже в авторан не добавляется.

Хотя если ZDeskLauncher_0_2_ZN5 установить первым то он добавится в авторан, и за ним можна ставить zDeskClock_0_3_ZN5_by_Ant-ON.pep.

По моему банальная ошыбка в самокате zDeskClock_0_3_ZN5_by_Ant-ON.pep.
По этому предлагаю взять самокат от ZDeskLauncher и засунуть его в пакет zDeskClock, тем более zDeskClock отсутствует в теме с пакетами.
Наверно сам и сделаю это.
Цитата(fill.sa @ Сегодня, 21:00)
* ну так вот именно, я про что и писал что нужно усложнять код тем что нужно сперва почитать конфиг, найти имя и копировать уже это имя. Одни сплошные усложнения.

Зачем тебе этот сложный C+-, пиши на shell, там такое 1й строчкой кода делается. grin.gif

Делалось по аналогии с стандартным методом имени картинки в иконрезе. Можна и стандартное имя для всех было бы.
Цитата(fill.sa @ Сегодня, 21:00)
* где связь между структурой пакета и модом?

В наличии установщика этого пакета в моде, я ж написал.
Цитата(fill.sa @ Сегодня, 21:00)
* Да ты всеми недоволен, как помочь так нехочешь, зато флуд в каждой теме тебе не лень разводить.

Я могу помочь с РЕР пакетами, если у тебя с ними нету опыта. Благодаря пре и пост инстал могу помочь решить почти любую задачу самой извращённой установки.

В конце концов могу помоч РЕМ нормально работать на твоем моде и научить его работать с другими пакетами.

Но как помочь тебе шобы и установщик ничего не делал и пакет магическим образом сам по себе ставился и прописывался куда нада я не знаю. Тогда просто добавь для mgx прописи в конфиги главного меню и будет тебе макарэна.
Ну или вообще без конфига со стандартными именами картинок и исполняемого файла, а название по названии пакета, если такую лажу тебе позволит внутренний програмист.

Сообщение отредактировал VINRARUS - 1.8.2017, 19:27
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 2.10.2017, 7:37


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Еще один тупняк pep пакетов, в установочном файле путь указывается вида ../../Бла-бла/ (в конце обязательно наклонная)
Но при этом при установке в базу путь должен прописываться без наклонной в конце и без ../../
Вообщем очередное лишнее действие при установке идет по удалению точек и последней наклонной.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
VINRARUS
сообщение 2.10.2017, 10:54


Термоядерный
********

Группа: Пользователи
Сообщений: 3 496
Регистрация: 12.12.2009
Из: Чорнобиль
Пользователь №: 211 044
Модель телефона: WX160 & L7 & Z6 & ZN5-128
Прошивка: 740 MHz: Z6 and ZN5


Настроение:
youtu.be/A_yQLYLiSGQ



Рейтинг: 1211



Цитата(fill.sa @ Сегодня, 10:37)
* Еще один тупняк pep пакетов, в установочном файле путь указывается вида ../../Бла-бла/ (в конце обязательно наклонная)
Но при этом при установке в базу путь должен прописываться без наклонной в конце и без ../../

Ну в системе по дефолту домашняя папка /usr/SYSqtapp/, и ../../ выводит в корень.
Цитата
[0dac11b4-28e2-4e3a-930c-16b3cd92006f]
AniIcon = /mmc/mmca1/.Programs/LOL/LOL_usr.png
AppID = {0dac11b4-28e2-4e3a-930c-16b3cd92006f}
Args =
Attribute = 1
Author = VINRARUS
BigIcon = /mmc/mmca1/.Programs/LOL/LOL_usr.png
Daemon = 0
Directory = ../../mmc/mmca1/.Programs/LOL/
Eraseable = 1
Exec = LOL.sh
FixedAllPosition = 0
FixedPosition = 0
GroupID = root
IMEI = ага, щаз
Icon = /mmc/mmca1/.Programs/LOL/LOL_usr1.png
InstalledDate = 2016/09/02
LockEnabled = 1
LockValue = 0
MassStorageStatus = 1
Name = LOL
NameResourceId =
SVGIcon = /mmc/mmca1/.Programs/LOL/LOL_usr1.png
SimpleIcon = /mmc/mmca1/.Programs/LOL/LOL_usr1.png
Type = 2
UserID = root
Version = 1.4
Visible = 1

А с двойной // в пути запуска есть косяк в РЕМ.
Код
2291 root       3108 S   /bin/sh /usr/SYSqtapp/../../mmc/mmca1/.Programs/LOL//LOL.sh


Сообщение отредактировал VINRARUS - 2.10.2017, 10:58
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fill.sa
сообщение 2.10.2017, 12:54


Гуру
******

Группа: Разработчики
Сообщений: 1 240
Регистрация: 8.2.2011
Из: Беларусь
Пользователь №: 223 758
Модель телефона: z6 V8
Прошивка: Linux SAedition MOD

Рейтинг: 400



Цитата(VINRARUS @ Сегодня, 11:54)
* Ну в системе по дефолту домашняя папка

Как таковой домашней папки у нас и нету, по большей части ее суть сведена в /ezxlocal , частично в /home и /root

Добавлено позже (2.10.2017, 13:56):
Цитата(VINRARUS @ Сегодня, 11:54)
* и ../../ выводит в корень.

да оно как таковое и ненужно, система вроди номально и так понимает польный путь. Смысл выходить назад и потом опять возвращаться.
А вообще Directory = ../../mmc/mmca1/.Programs/LOL/ это неправильная запить. am сам доставляет еще одну наклонную и потом валит ошибки на это, просто мы этого не видем.

Сообщение отредактировал fill.sa - 2.10.2017, 12:57
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Софт для ZN5 и прочих MotoMAGX: MGX и PEP, Разработка, портирование и обсуждение нативного софта · Motorola ZINE ZN5, ZN5 T-Mobile · Forum
 

46 страниц V « < 31 32 33 34 35 > » 
Ответ в темуСоздание новой темы
6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 14.6.2025, 17:46

Форум живёт: