sensboston / fictionbookeditor

Automatically exported from code.google.com/p/fictionbookeditor
36 stars 4 forks source link

И как его собрать из сырцов? #206

Closed KarelWintersky closed 1 year ago

KarelWintersky commented 2 years ago

Собственно, сабж.

makefile пуст :(

sensboston commented 1 year ago

Попробую проверить (100500 лет не трогал), должно собираться "на раз".

KarelWintersky commented 1 year ago
all: tFBE

clean:
    -del /q genres.txt
    devenv FBE.sln /clean Release

genres.txt: root_genres.xml gtrans.xsl
    msxsl root_genres.xml gtrans.xsl -o genres.txt

tFBE: genres.txt
    devenv FBE.sln /build Release

Все что есть в предыдущей версии makefile...

sensboston commented 1 year ago

Он там был пустой "по жизни", никто никогда не экспортировал makefile, всегда собиралось из-под VS. Я попробую проапдетить и собрать из-под VS 2022 community edition (в текущем состоянии он собирался аж.. под VS 2010 😜 )

Я 100500 лет не занимался этим проектом, и не думал, что у кого-то возникнет нужда в его сборке. Хотя сам иногда FBE пользуюсь - достаточно удобный редактор fb2 получился, и альтернатив особых я не встречал (хотя, если честно, и не искал).

sensboston commented 1 year ago

Выбрал время сегодня, попробовал: есть хорошая новость и плохая 😉 Из моего архива собирается и даже работает:

fbe (но, что любопытно, только в Release конфигурации - в Debug пишет, что все ОК, но FBE.exe не создается 🤣 ), но только Visual Studio 2013 с тулсетом Windows XP v120_xp

fbe2

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

@KarelWintersky , если вам действительно интересно поработать и улучшить FBE, то я могу выложить архив, но разбираться придется вам самому (а там много с чем придется разбираться, нужно ставить старый Windows SDK, VS и т.д.). Если же вы спрашивали из чистого любопытства, лишь проглядев отсутствующий makefile, то я не могу тратить на это свое время.

Sclex commented 1 year ago

sensboston, может, соберешь новую версию установочного пакета FBE с последниями версиями скриптов и прочих файлов? А то давно уже никто его не собирал.

Sclex commented 1 year ago

@sensboston, если у тебя есть инсталлятор NSIS, необходимый для сборки инсталла FBE, то, может, стоит залить его (инсталлятор) в GitHub-хранилище исходников FBE? Чтобы обезопаситься от возможной утраты его. Кто-то писал, что в интернете уже невозможно найти версию инсталлятора NSIS, годную для сборки инсталла FBE.

Sclex commented 1 year ago

@sensboston, версия FBE Release 2.6.6 была собрана 6 апреля 2012 года. Уже 11 лет прошло с того момента, и за это время было сделано много хороших изменений в плане скриптов.

sensboston commented 1 year ago

О, @Sclex, привет, стопятьсот лет не виделись, рад тебя слышать! Надеюсь, все у тебя OK!

Согласен, в предложении сделать новую сборку с обновленными скриптами есть смысл. У меня, естественно, всё осталось 😉 - с современными ценами на хранение информации смысл что-то удалять пропадает, так, что я храню абсолютно всё, как в локальных бэкапах, так и в облачных.

Повожусь "по свободе" с инсталлятором: попробую собрать с наиболее актуальным бинарником (кстати, у меня установлена "официальная" версия 2.6.7 от 11 ноября 2014 года, там старина TaF что-то фиксил, как припоминаю

) и последними скриптами из этой "репы", но нужно будет протестировать всё тщательно, думаю, ты поможешь.

Sclex commented 1 year ago

@sensboston, одно из изменений, которые сделал TaF, - он перевел FBE с использования MSXML4 на MSXML6.

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

sensboston commented 1 year ago

Ну, выкладывать в публичный доступ неоттестированый релиз не "комильфо" - нужен кто-то, кто смог бы его "прогнать" хотя-бы обычной работой над документом (я не говорю о полном, профессиональном тестировании), и "прогоном" всех, включенных в релиз скриптов (бинарники я трогать не хочу, потому, что не уверен, что у меня действительно последняя копия; в этой "репе", которая была перенесена "на автомате", я тоже не уверен).

Sclex commented 1 year ago

@sensboston, может, stokber согласится заняться тестированием. Он мне в последнее время помогал с тестированием моих скриптов. Кроме него, постоянных тестеров сейчас и нет.

Тестировать ВСЕ имеющиеся скрипты - какой смысл? С чего бы им работать неправильно?

sensboston commented 1 year ago

Ну, ты же сам написал "я даже свои собственные скрипты не способен протестировать как следует" 😜 OK, я попробую сделать инсталляцию на основе бинарников релиза 2.6.7 и скриптов из этой "репы", вышлю "экзешник" тебе, и по твоей отмашке выложу в публичный доступ.

P.S. Кстати, как/если восстановлю в памяти всю последовательность, то выложу и инсталлятор сюда, будешь тогда сам выкладывать новые релизы. Хотя AboutBox в программе все-таки нужно бы подправить.

Sclex commented 1 year ago

Ну, ты же сам написал "я даже свои собственные скрипты не способен протестировать как следует"

Да, но мои скрипты УЖЕ тестировались другими людьми (в основном TaKir-ом и stokber-ом). Я исправил все баги моих скриптов, о которых (багах) было сообщено - кроме только одного или двух незначительных недочетов в скрипте "Обзор и превращение элементов". Поэтому счас подходящий момент, чтобы сделать установочный пакет FBE - работа старых скриптов налажена, а новые скрипты (с новыми багами) еще не начаты.

Кроме скриптов, надо заменить файлы main.js и fb2.xsl.

main.js для бинарников от FBE 2.6.7 надо взять вот этот: https://raw.githubusercontent.com/sensboston/fictionbookeditor/master/files/main.for_FBE_2.6.7.js

Да, и надеюсь, ты помнишь, что файлы скриптов находятся не только в папке Scripts, но еще и в папке HTML.

Вроде это все, что тебе надо знать для замены старых файлов на новые.

Sclex commented 1 year ago

@sensboston, новая версия FBE будет иметь номер 2.7.0, согласен?

sensboston commented 1 year ago

Инсталлятор можем назвать, как угодно, но в бинарнике (AboutBox-е) останется старая версия.

Sclex commented 1 year ago

@sensboston, а, ну да, ты же возьмешь старый бинарник, а в нем прописан старый номер версии. Это мне не нравится. SeNS, посмотри вот здесь: https://github.com/ArgusC/FBE/releases - там в разделе Assets есть "Source code". По идее, это исходники TaF-овой версии 2.6.7. Может, ты соберешь инсталл из них? ArgusC - это другой ник TaF-а.

sensboston commented 1 year ago

Нет, новый бинарник (точнее, бинарники - там же не один exe, а еще куча всего) я собирать однозначно не буду; я же написал, что он-то собирается, но как-то странно. В "репе" TaF-а не весь код, а лишь малые части. Максимум, что можно попробовать, так это изменить в hex-editore дату и номер билда (чисто для "визуальности"), но не уверен, что это сработает (контрольные суммы там etc.)

Sclex commented 1 year ago

@sensboston, а почему бы не собрать инсталл FBE в Visual Studio 2010? Мне кажется, надо для компиляции бинарников использовать "родную" для исходников FBE версию MS VC.

Sclex commented 1 year ago

Поправка: "версию MS VS".

sensboston commented 1 year ago

Я же написал, что я не хочу этим заниматься: нет особо ни времени, ни желания. И, главное, для чего? Чтобы циферки релиза подправить? "Вам шашечки, или ехать"? Тем более, что с компиляцией всё совсем не просто - нет ни достоверно подтвержденных сорцов версии 2.6.7, для сборки требуются старые SDK и т.п.

Sclex commented 1 year ago

ОК, ясно.

Sclex commented 1 year ago

@sensboston, я когда-то собирал FBE из исходников, так, помнится, пришлось установить только Visual Studio и инсталлятор NSIS. Про SDK (тем более во множественном числе) что-то ничего не припоминаю.

KarelWintersky commented 1 year ago

Да мне бы просто актуальный бинарник... Все таки сколько лет прошло - неужели не было никаких обновлений? ;-)

Так-то я не сишник. Ну то есть собрать по инструкции смогу, но разбираться "что почему как сломалось"..

Кстати, под линукс FBE не портируется?

Sclex commented 1 year ago

Тема TaF-а про его версии FBE: https://flibusta.is/node/407253

Sclex commented 1 year ago

Кстати, под линукс FBE не портируется?

FBE в качестве WYSIWYG-редактора использует Internet Exporer, так что под линуксом FBE можно запускать разве что под WINE-ом (если это вообще возможно). Вы, я так понимаю, имели в виду, можно ли из исходников FBE собрать программу для Linux-а (которую можно запускать без WINE-а).

Я использую FBE в Линуксовой виртуальной машине Oracle VM VirtualBox. Вполне доволен.

Sclex commented 1 year ago

@KarelWintersky, а что, в тех бинарниках, которые уже есть, вам чего-то не хватает?

KarelWintersky commented 1 year ago

а что, в тех бинарниках, которые уже есть, вам чего-то не хватает?

... ну.. за эти годы не было никаких изменений и дополнений?

sensboston commented 1 year ago

@Sclex, повозился чуток с инсталлятором, думаю, этого будет достаточно. Даже пофиксил систему автоапдейтов (из AboutBox-а). Инструкция находится вот тут: https://github.com/sensboston/fictionbookeditor/tree/master/Setup Тестовый релиз 2.7.0 со свежими скриптами пока лежит вот тут: https://senssoft.com/fbe/setup.exe , но в будущем ты сможешь выкладывать его куда угодно, хоть и сюда, на GitHub. Единственно, должна быть прямая ссылка на скачивание .exe (то, что у GitHub-а называется raw file)

@KarelWintersky, все, что были в бинарниках, есть в 2.6.7 (а теперь уже в 2.7.0), больше никто ничего не делал (да, наверное, и не нужно). Да, под Ubuntu FBE работает (см. архивированную wiki https://code.google.com/archive/p/fictionbookeditor/wikis/FbeInUbuntu.wiki )

sensboston commented 1 year ago

@Sclex, перевыложил релиз сюда, на GitHub, и заодно поправил update.xml (для примера).

Sclex commented 1 year ago

@sensboston, огромное спасибо за выложенный релиз FBE и за инструкцию по сборке установочного пакета! Буду пробовать эту новую версию.

Sclex commented 1 year ago

@sensboston, нельзя ли изменить имя папки (по умолчанию), в которую устанавливается FBE? Я имею в виду, чтобы номер версии (в названии папки) был 2.7.0? Clipboard34

Sclex commented 1 year ago

Вернее, это имя папки в меню "Пуск".

Sclex commented 1 year ago

@sensboston, похоже, при создании релиза ты не обновил файлы в папке HTML - не хватает там файлов.

Sclex commented 1 year ago

Версия 2.7.0 установилась у меня без всяких проблем и работает. Скрипты в ней новые. Только с папкой HTML не все в порядке.

Sclex commented 1 year ago

Папки, вложенные в папку HTML, то есть папки CSS и Images, надо обновить тоже.

Sclex commented 1 year ago

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

Sclex commented 1 year ago

О-о, так в окошке "О программе" показывается номер версии 2.7.0. Отлично, супер!

Sclex commented 1 year ago

@sensboston, вот еще о чем хочу сказать. FBE 2.6.6 использовал MSXML4. А FBE 2.6.7 - вроде как MSXML6. В инсталляторе версии 2.7.0 какая прописана проверка - чтобы был установлен MSXML4 или MSXML6? А то может получиться, что инсталлятор для установки будет требовать MSXML4, хотя реально для работы FBE эта версия MSXML не нужна. Надо бы проверить этот момент.

sensboston commented 1 year ago

@Sclex, отвечу по порядку:

  1. Пожалуйста, всегда обращайтесь! 😉
  2. Можно, изменил (кстати, NSIS-овские скрипты ну очень простые, куда проще JS)
  3. Думал предложить тебе это в качестве практического упражнения, но вспомнил, что я и инсталляционный скрипт изменил, потому - перевыложил новый релиз. Но в следующий раз ты уж сам попробуй, ОК?
  4. Да, и номер правильный показывается, и ссылка ведёт туда, куда положено, и система проверки апдейтов работает. Там "хитрость" была в том, что при изменении exe-шника нужно было уложиться в определённую длину строки (т.е. количество байт). Решил с помощью настройки форвардингов (UrlRewrite) на моем сайте, senssoft.com
  5. В инсталляторе проверяется MSXML6, только, по моему, это еще я сделал когда-то, а не TuF (точно можно сказать, лишь посмотрев историю коммитов, ну, да это не принципиально).
Sclex commented 1 year ago

@sensboston, попробую и эту (новую) версию. Спасибо!

Sclex commented 1 year ago

@sensboston, уточни, пожалуйста: для создания установочного пакета FBE без пересборки бинарных файлов - нужна Visual Studio или нет?

sensboston commented 1 year ago

Нет, не нужна. Требуется лишь то, что присутствует в папке Setup

Sclex commented 1 year ago

В новой версии скрипты с диалогами работают, как и должны. Отлично, спасибо!

sensboston commented 1 year ago

Давай я поясню, как это работает (видимо, инструкция не до конца понятной получилась):

Sclex commented 1 year ago

@sensboston, инструкция-то, может, и понятная, просто я, честно говоря, пока в нее не вникал. Спасибо за дополнительные разъяснения.

sensboston commented 1 year ago

@Sclex, кстати, у тебя какой-то мессенджер, постоянно работающий, есть? Ну, и/или рабочее "мыло"? Скинь на моё "мыло", прописанное на https://senssoft.com (там оно картинкой 😉 ) - иногда, редко, бывает нужда в сложных regexp-ах, я с ними традиционно "не дружу", а ты у нас - спец.

Sclex commented 1 year ago

@sensboston, вчера я позапускал почти все скрипты, входящие в состав FBE 2.7.0. В целом все работает хорошо, но обнаружилось 3 ошибки в скриптах. Две из них я исправил (одна из которых серьезная - скрипт удалял атрибуты id, которые он не должен удалять). Еще один баг собираюсь исправить (скрипт "Перейти на предыдущий курсив" и аналогичные - устанавливают курсор в неверную позицию). Так что пока что выпуск новой версии еще не объявляем для всех. Когда исправлю остающуюся ошибку, попытаюсь собрать установочный пакет самостоятельно.

stokber-а я уведомил о новой версии инсталла FBE, он уже тестирует ее - пока ни о каких ошибках не сообщал, пишет, что "полет нормальный".

Sclex commented 1 year ago

@sensboston, Release 2.7.0 на GitHub-е я удалил. Думаю, не стоит не доведенные до максимально хорошего состояния версии инсталла выкладывать для всех. А то расползутся по интернету версии с разными там недостатками. Если понадобится переслать инсталл от тебя ко мне, ты можешь использовать электронную почту.

Sclex commented 1 year ago

Скрипты "Перейти на предыдущий курсив" и аналогичные - я уже исправил.

sensboston commented 1 year ago

ты можешь использовать электронную почту

https://github.com/sensboston/fictionbookeditor/issues/206#issuecomment-1503427204