Board.KolibriOS.org

Official KolibriOS board
It is currently Sat Oct 19, 2019 12:54 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 98 posts ]  Go to page 1 2 3 4 57 Next
Author Message
 Post subject: Упаковщик KPack
PostPosted: Mon Jan 09, 2006 12:52 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Мною написан новый упаковщик программ для Menuet/Kolibri. На большинстве программ работает лучше уже существующих.
Пока не обрабатывает использование командной строки и/или полного пути.
Брать здесь: http://shade.msu.ru/~msu-se/mtappack.exe


Top
   
 Post subject:
PostPosted: Thu Jan 12, 2006 12:22 am 
diamond
Очень хорошо. Прогресс. :-)
1) А нельзя ли портировать в саму Колибри, было бы очень кстати.
2) В чем сложность реализации поддержки реализации пути для приложений запускаемых с параметрами?


Top
   
 Post subject:
PostPosted: Thu Jan 12, 2006 12:15 pm 
1) Нельзя, поскольку используется хотя и бесплатная, но не open-source библиотека aplib.


Top
   
 Post subject:
PostPosted: Mon Jan 16, 2006 3:54 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
2) Командная строка уже реализована в версии 0.2, которую, надеюсь, halyavin (которому я ее уже послал) скоро выложит. Теперь работает со всеми приложениями из дистриба 0.5.2.0 (естественно после распаковки или перекомпиляции). При этом из 147 приложений 33 слишком малы и не пакуются ничем, а из оставшихся 114 MtApPack лидирует на 112. (Две оставшихся - это docpak, почти целиком состоящий из текстовых документов, и free3d04, большую часть которой занимает уже упакованный GIF-файл).
1) Можно, если надо. Сама библиотека не использует ничего Windows-специфичного, а с тем, что она поставляется в виде obj и lib-файлов, можно, немного извратившись, работать. В общем, я займусь этим.


Top
   
 Post subject:
PostPosted: Wed Jan 18, 2006 2:31 pm 
http://shade.msu.ru/~msu-se/mtappack.exe


Top
   
 Post subject:
PostPosted: Fri Jan 20, 2006 8:18 pm 
diamond
Еще лучше.
Конечно, надо под саму ОС и конечно желательно, чтобы GPL иначе возможность распространения вместе с дистрибутивом под вопросом. Но даже если формат лицензии будет другой, то все равно надо.
Удачи.


Top
   
 Post subject:
PostPosted: Mon Jan 23, 2006 6:08 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Переписал под Колибри. Хорошая программа должна быть самоприменима :-) Заодно дописал некоторый код в Windows-версии - на новую версию не тянет, в некоторых случаях позволяет выиграть от 2 до 5 байт. По поводу выкладывания - обращайтесь к halyavin'у, я думаю, он выложит и сообщит.
По поводу лицензии: во-первых, лично мне было всегда наплевать на лицензии, во-вторых, своих исходников мне не жалко. Так что можно считать лицензию какой вам угодно. А по поводу исходников - если кто-нибудь соберется их разбирать, это будут его проблемы. Исходники на MASM'е (код основной программы, код загрузчиков все же на FASM'е. Кстати, есть 6 немного различающихся загрузчиков) - это позволяет забыть про проблемы с библиотекой упаковки. На случай, если кому-нибудь интересно, каким образом на выходе получается Kolibri-exe'шник, сообщаю: ассемблер генерирует PE-файл, который таковым является только формально: есть только одна секция, в начале которой стоит сигнатура 'MENUET01' (и т.д и т.п.), причем секция размещается по виртуальному адресу 0, нет таблицы импорта, зато есть куча вызовов int 40h. Так что на последнем шаге остается сбросить на диск единственную секцию, что тривиально. Лицензия самой библиотеки aPLib позволяет свободное ее использование в некоммерческих целях, под использованием подразумевается использование любой части кроме распаковщиков, что применительно к данному случаю означает, что я не могу объявить mtappack коммерческим продуктом (чего я делать и не собираюсь), а на программы, упакованные mtappack'ом, ограничений не накладывается.
Если кто-то еще не испугался моего описания исходников, мне несложно выслать их (этому кому-то или сразу halyavin'у, выкладывающему mtappack и прочие мои программы, если он согласится).


Top
   
 Post subject:
PostPosted: Mon Jan 23, 2006 7:14 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Кстати, не рекомендуется запускать mtappack из-под mfar'а. Упаковщик-то ведет себя правильно, но mfar передает в качестве указателя на командную строку значение 1, которое система понимает как "ENUET01$". Естественно, упаковщик не сможет открыть файл "ENUET01$".


Top
   
 Post subject:
PostPosted: Mon Jan 23, 2006 7:16 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Это давний баг MFAR'а, там в структуре, которая передаётся в 58-ю функцию при запуске приложения, не обнуляется указатель на строку параметров... Я решил не исправлять, так как всё равно щас новая версия в разработке


Top
   
 Post subject:
PostPosted: Mon Jan 23, 2006 9:58 pm 
diamond
Очень хорошо, что ты проделал такую великую работу! Сделан еще один шаг к самодостаточности ОС.
Если не лень, то слей мне на мыло mario79[dog]bk[dot]ru.

mike.dld
Кхм...
1) MFAR новая подверсия в разработке около - 1 год
2) Улучшенный драйвер видеоподсистемы, работающий с Vesa в разработке около - 6-8 месяцев
3) Новый тинипад, конечная версия - в разработке эээ - несколько месяцев.
Еще проекты есть? :-)


Top
   
 Post subject:
PostPosted: Mon Jan 23, 2006 10:56 pm 
Offline
Site Founder
User avatar

Joined: Sun Aug 08, 2004 8:55 am
Posts: 689
Попрошу без язвительности ;) Пишу программы в меру своих способностей... Tinypad до конца месяца выйдет, и тогда начнётся работа над MFAR'ом. А насчёт видеодрайвера ты и сам знаешь :) Ещё проекты есть, и много, только никак понять не могу, почему идеи этих проектов никому другому в голову не приходят...


Top
   
 Post subject:
PostPosted: Mon Jan 30, 2006 4:34 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Mario79, halyavin
Не лень :-) Отправил Windows- и Kolibri-версии с исходниками.


Top
   
 Post subject:
PostPosted: Sun Feb 12, 2006 4:55 pm 
Offline
User avatar

Joined: Thu May 19, 2005 4:43 pm
Posts: 896
Что-то я не понял как этим упаковщиком пользоваться.
Разъясните кто-нибудь по подробнее.


Top
   
 Post subject:
PostPosted: Sun Feb 12, 2006 9:04 pm 
andrew_programmer
Запускаешь в консоли:
mtappack example example.1
и будет тебе счастье.

Несколько примечаний:
1) Второе имя можно написать таким же, как первое, но тогда оригинал затрется.
2) В 98 винде приложение упаковывается, а потом вылетает ошибка ядра винды (но приложение уже упаковано).
3) В следующем выпуске Колибри будет упаковщик в самой ОС - первый в мире упаковщик исполняемых файлов, работающий в самой Колибри - там ошибки ядра нету. :-)


Top
   
 Post subject:
PostPosted: Mon Feb 13, 2006 12:21 pm 
Offline
Kernel Developer
User avatar

Joined: Mon Nov 28, 2005 8:00 pm
Posts: 1601
Под Menuet'ом можно и без консоли - просто запускаем mtappack, щелкаем по кнопке InFile, вводим имя входного файла, жмем Enter, фокус ввода оказывается на имени выходного файла, вводим имя выходного файла, жмем Start.
В командной строке второе имя можно не указывать вообще - тогда результат будет помещен на месте исходного.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 98 posts ]  Go to page 1 2 3 4 57 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited