LINUX.ORG.RU

Как пересобрать из репозитория старый вино?

 , ,


0

2

Раньше из репозитория кватерли был установлен вайн пятой версии и на нем работали все, что должно было работать со старым софтом, та же зона, что позволяло на фряхе спокойно крутить нетфликс и там же и смотреть его бесплатно и без регистрации, а теперь, из-за обновления случайно пакетов из репозитория, установилась новая версия, которая была раньше в латест ветке, там находится версия вайна 6.1 и другие зависимости. И теперь мое уже установленное приложение не работает и ругается при запуске на недоустановку каких-то компонентов, файлов и тд, которых и в помине не было.

Поэтому меня посетил вопрос: Как собрать i386-wine версии 5.x, которая была в репозитории квотерли?


Ответ на: комментарий от xDShot

Это где? Я скачал репозиторий, там только Makefile.in Можно мне какую-нибудь наводку, чтобы я понимал что да как?

bambie
() автор топика
Ответ на: комментарий от bambie

Ну если так, то переключиться на коммит с тегом нужного релиза. Изучайте git.

Далее, собрать make, установить релиз куда-нибудь make DESTDIR=/path/to/. Там запускать wine. Команды сборки есть в вики проекта, либо в Arch pkgbuild подсмотрите рецепт сборки.

xDShot ★★★★★
()

У меня есть i386-wine-devel 5.8_1,1 с прямыми зависимостями, распакованный в диру. Ннада?

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

pkg-lock(8).

Нужно было до того, как я случайно обновил.

распакованный в диру. Ннада?

Спасибо, конечно. У меня с 3 раза получилось скачать. Было написано что в ссылке вирусы. (

bambie
() автор топика
Ответ на: комментарий от bambie

pkg-lock(8).

Нужно было до того, как я случайно обновил.

Ну я не виноват что ты не читаешь документацию. =P

mord0d ★★★★★
()
Ответ на: комментарий от mord0d

Кто знает что ты ему там засунул в исходники. Причём тут виндовые или нет вайн транслирует в системные вызовы всё ты можешь ему вайном рмрф делать на хомяк.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Кто знает что ты ему там засунул в исходники.

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

Причём тут виндовые или нет вайн транслирует в системные вызовы всё ты можешь ему вайном рмрф делать на хомяк.

Во-первых я бы не смог так быстро собрать весь необходимый софт (там gcc в зависимостях, он собирается довольно долго), а во-вторых какой смысл мне намеренно вредить?

mord0d ★★★★★
()
Ответ на: комментарий от Grapow

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

Нетфликс тут при том, что оно предоставляет бесплатную альтернативу сервисам потокового видео на основе подписки Netflix и других.

Clockwork ★★★★★
()
Последнее исправление: Clockwork (всего исправлений: 1)

из репозитория, установилась новая версия, которая была раньше в латест ветке

Я знал, что этот день когда-нибудь настанет. Короче, я считаю, что лучше держать подобное на виртуалке с проброшенным гостевым каталогом для закачек. Это позволит на freebsd не держать старую версию вайна для подобных вещей.

Clockwork ★★★★★
()
Ответ на: комментарий от mord0d

=) Я просто побубнил что-бы ТС прочитал и был всегда на стрёме =)

Я вот сейчас скомпиляю что-то и предложу тебе запустить, тыж меня нахер пошлёшь )))))))) Ладна, я просто побубнил

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от LINUX-ORG-RU

Я вот сейчас скомпиляю что-то и предложу тебе запустить, тыж меня нахер пошлёшь

Зачем тебе компилять под фряху, если ты её не юзаешь? ☺

mord0d ★★★★★
()
Ответ на: комментарий от unC0Rr

ports-mgmt/portdowngrade

Нет. portdowngrade не умеет в git. Собственно, с git никакие костыли уже не нужны.

slovazap ★★★★★
()
Ответ на: комментарий от xDShot

В makefile поменять версию

И что, все патчи от шестой подойдут к пятой? Ку-ку.

iZEN ★★★★★
()

Взять порты из git, откатить там порт wine до нужной версии, собрать, надеясь что он соберётся. Вообще это решение (как и любое другое типа pkg-lock) будет работать очень недолго - пакет скорее рано чем поздно сломается при обновлении зависимостей, а порт скорее рано чем поздно перестанет собираться.

Либо разберитесь что у вас там перестало работать, либо слезьте уже с иглы проприетанрого виндового софта.

slovazap ★★★★★
()
Ответ на: комментарий от mord0d

Не, это игра для дурачков. Мы же не дурачки. В моей игре можно строить домики и рыть ямки и даже насыпать горочки. ☺

LINUX-ORG-RU ★★★★★
()
Последнее исправление: LINUX-ORG-RU (всего исправлений: 2)
Ответ на: комментарий от Clockwork

Зачем на виртуалке? Можно даже прямо на хосте. Ну или в jail если не хочется возиться с выявлением и сохранением зависимостей.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Зачем на виртуалке?

Потому что винфак там
А разработчики не планируют делать приложение для других платформ. Пока что только для андроида что-то делают.

Можно даже прямо на хосте.

Клиентское приложение работало на fbsd с вайном 5.0.1 версии, а на 6.х не работало, в ошибках только сообщая что чего-то не хватает. Никто не будет разбираться почему оно не работает, потому что оно никому не ненужно.

Clockwork ★★★★★
()
Ответ на: комментарий от cocucka

И вайн ему не нужен, емнип. Можно и так было запускать.

Виндовое ехе приложение, которое специально для винды писали?

Clockwork ★★★★★
()
Последнее исправление: Clockwork (всего исправлений: 1)
Ответ на: комментарий от Clockwork

Клиентское приложение работало на fbsd с вайном 5.0.1 версии

Никто не будет разбираться почему оно не работает

Ну ты странный, уже ж сам разобрался: не та версия вайна. Поставь 5.0.1 и будет работать. Ну а если есть время - можно даже выяснить на каком коммите оно сломалось и портировать исправление в 6.х ветку.

Если что, вайнов можно хоть 10 разных версий одновременно установить и использовать с каждой прогой тот который работает именно с ней. Не надо страдать бессмысленной манией обновления до последних версий.

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от Clockwork

Там по-любому где-то jar’ник есть, который можно запустить в JVM. Только я не помню, он рядом валяется или запакован в лаунчер.

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

Наличие jar не означает, что у него нет зависимостей от чего-то нативного win32. В лучшем случае это будут какие-то публично-распространяемые dll-библиотеки, к которым получится, повозившись, найти линукс-версию, в худшем это будет что-то клозед-сорсное, разработанное в рамках того же проекта.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Поставь 5.0.1 и будет работать.

Не буду я держать у себя древний вайн ради одного ненужного приложения. У меня итак линуксовые привычки - комбайны, так еще и виндузячьи тащить. Комбайнов не хватит (%

Никто не будет разбираться почему оно не работает

Ну а если есть время - можно даже выяснить на каком коммите оно сломалось и портировать исправление в 6.х ветку.

Об этом я и говою. Кто это сделает, у того нет времени, скорее всего.

Clockwork ★★★★★
()
Ответ на: комментарий от Clockwork

Не буду я держать у себя древний вайн ради одного ненужного приложения.

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

Не буду я держать у себя древний вайн

Жалко 100мб на диске (или сколько он там занимает)? Считай его монолитным блобом, лежит себе в /opt/wine-5.0.1 и лежит, никого не трогает пока не обратишься.

И, повторюсь, надо избавляться от мании обновлений. В номере версии 5.0.1 нет ничего плохого.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Если что, вайнов можно хоть 10 разных версий одновременно установить и использовать с каждой прогой тот который работает именно с ней. Не надо страдать бессмысленной манией обновления до последних версий.

Жалко 100мб на диске (или сколько он там занимает)? Считай его монолитным блобом, лежит себе в /opt/wine-5.0.1 и лежит, никого не трогает пока не обратишься.

На freebsd? Установить можно, но работать это не будет. Нужно специально писать обёртку со всеми нужными переменными окружения. Нужно понимать как устроено окружение и что нужно конкретному приложению для полноценной работы.

Ты уж определись, у тебя либо проблема с неработающим приложением, либо оно не нужно…

Проблема есть, но не у меня. Оно не нужно современному фри-бздуну.

В номере версии 5.0.1 нет ничего плохого.

Только придется зависеть это этой версии. wine 6 продвигается дальше, с обновлением фиксят баги и делают что-то новое. Использование старой версии это шаг назад.

Clockwork ★★★★★
()
Ответ на: комментарий от Clockwork

На freebsd? Установить можно, но работать это не будет. Нужно специально писать обёртку со всеми нужными переменными окружения. Нужно понимать как устроено окружение и что нужно конкретному приложению для полноценной работы.

Не пиши чушь. Всё прекрасно ставится куда угодно и сразу работает.

./configure --prefix=/opt/wine-5.0.1 (остальные опции только надо подобрать нужные)
make
make install
Аналогично со всеми другими версиями.

Проблема есть, но не у меня.

Ну значит и совет был ему.

Оно не нужно современному фри-бздуну.

Не надо за всех.

Только придется зависеть это этой версии. wine 6 продвигается дальше, с обновлением фиксят баги и делают что-то новое.

Третий раз: избавься от мании обновлений. И не пиши чушь. Прога, которой нужно wine5, и так и так зависит от wine5, а для проги, которой нужно wine6, установишь /opt/wine-6.7.8 рядом. Только я что-то сомневаюсь, что ты хоть раз столкнулся с ситуацией, когда тебе требовалось именно wine6 на фрибсд, а wine5 не подходило, соответственно оно и не пригодится.

Использование старой версии это шаг назад.

Единственная функция wine - запускать windows-софт. И тут нет никаких шагов назад/вперёд, тут есть только работает/не работает. Берёшь ту версию, которая работает.

firkax ★★★★★
()
Ответ на: комментарий от bambie

У меня время есть, но я совершенно не умею.

Открываешь git-репозиторий разработки wine, качаешь с него ревизии, соответствующие wine 5.0.1 и wine 6.0.x (между ними тысячи, а то и десятки тысяч dev-версий, если что), компилируешь обе, проверяешь что в первой работает, во второй не работает. Потом качаешь ревизию посередине между ними, смотришь работает ли в ней. Так постепенно сужаешь зону поиска, пока не найдёшь две соседние ревизии, в первой работает, во второй нет. Смотришь чем они отличаются (там будет не много отличий), думаешь как это связано с поломкой и как исправить. Но даже если этот шаг сложен - даже найденная ревизия на которой всё сломалось уже полезна, сообщаешь кому-то кто разбирается (но кому, конечно, лень искать эту ревизию, ибо это не сложно, но долго и муторно) и он может за 5 мин даст решение.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Хорошо, а как их качать из репозитория и что такое ревизии? А компилять этой командой? ./configure --prefix=/opt/wine-5.0.1 а какие опции нужно подбирать?

bambie
() автор топика
Последнее исправление: bambie (всего исправлений: 1)
Ответ на: комментарий от firkax

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

ну а во-вторых, есть у меня опсения, что ванильный вайн не соберется под фрибсд, и надо будет патчить, а патчи есть(в фрибсд порте) на две конкретные версии, старю 5 и новую 6.

А так план збс

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

Keltir
()
Последнее исправление: Keltir (всего исправлений: 1)
Ответ на: комментарий от Keltir

Если не выйдет исправить проблему, то может получится просто найти версию на которой работало и оставить её, да.

bambie
() автор топика
Ответ на: комментарий от bambie

Репозиторий вот: https://source.winehq.org/git/wine.git/ Как видно, там сотни правок в день вносятся. К сожалению, я не нашёл как оттуда просто скачать архив с исходниками, но зато есть зеркало на гитхабе: https://github.com/wine-mirror/wine

Нас интересуют две ветки, начиная с 5.0.0

Одна ветка разработки, которая 5.0 -> 5.1 -> 5.2 -> ... -> 5.22 -> 6.0-rc. Вторая ветка багфиксов - в ней портировались багфиксы из первой ветки, но без серьёзных изменений (5.0 -> 5.0.1 -> 5.0.2 -> 5.0.3)

Версия 5.0.1 из второй ветки, но думаю в остальных 5.х тоже всё работает - так что попробуем с ними (так проще).

Вот список релизов из этой ветки: https://github.com/wine-mirror/wine/commits/wine-6.0/ANNOUNCE

Между каждыми двумя соседними релизами тысячи правок, но начнём с проверки самих релизов.

Проверяем 5.0: там есть строчка с надписью «Release 5.0», справа от неё кнопка «da81680», а ещё правее кнопка «<>» - жмём её. В открывшемся окне коммита da81680 жмём зелёную «Code» -> «Download ZIP». Распаковываем куда-то, компилируем, запускаем (думаю, лучше с чистым wine prefix'ом) - всё должно работать.

Потом делаем тоже самое с 6.0 - по идее работать уже не должно.

Потом выбираем что-то с середины (например 5.10) - опять проверяем.

Допустим, выяснили, что 5.7 работает а 5.8 нет. Открываем страницу с исходниками 5.8 (которая по кнопке «<>»): https://github.com/wine-mirror/wine/tree/bf1abbac0c93e46b6b037dbd7f975c8b2f95... , там под зелёной кнопкой «Code» есть надпись «138729 commits», жмём её: https://github.com/wine-mirror/wine/commits/bf1abbac0c93e46b6b037dbd7f975c8b2...

Открывается список правок - нас интересуют записи с 24 апреля (5.7) до 8 мая (5.8). Опять листаем до середины (ну пусть это 2 мая), жмём на кнопку «<>» в одной из строк за эту дату. Опять «Download ZIP» и проверяем - работает или нет. Допустим, работает, значит ищем середину из более поздних - 5 мая. Так сужаем поиски, пока не найдётся пара соседних строк, на которых всё ломается.

-----------------------------------

Как компилировать. Скаченный zip распаковываем куда-то, там делаем

./configure --prefix=/путь/куда/устанавливать --другие-опции
make
make install

/путь/куда/устанавливать может быть например /home/username/wine-test/5.7

--другие-опции для начала можно попробовать не использовать (если 5.0 заработает без них - всё норм), но если не выйдет - придётся разбираться. Суть там в том, что по умолчанию он ищет все бибилиотеки (например, поддержку звука), что могут быть полезными, и включает поддержку этого в компилируемый wine, а то, что не нашёл - молча отключает поддержку. Если ты уже компилировал раньше wine из портов, то наверно все нужные библиотеки у тебя и так есть и он их найдёт.

Компиляция займёт порядка часа (точно не помню, может и быстрее на мощном проце и ssd). Потом лучше удалить созданный прошлой установкой wine-prefix ($HOME/.wine), чтобы всё было с нуля. Если у тебя уже есть рабчий нужный wine-prefix, который не надо удалять - спрячь его куда-нить перед этими тестами, потом восстановишь.

На полное выяснение места поломки потребуется больше 10 перекомпиляций разных версий, так что это зантие как минимум на целый день, а то и несколько.

firkax ★★★★★
()
Ответ на: комментарий от Keltir

ну а во-вторых, есть у меня опсения, что ванильный вайн не соберется под фрибсд,

5.х не собирал

1.4.1 собирал 8 лет назад, до сих пор работает (Clockwork наверно в ужасе, такая старая версия и не создаёт проблем).

Ещё какую-то версию собирал, тоже работает.

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

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

человек, который не знает как собрать бинари из сорцов очень врядли способен вдумчиво продебажить и найти проблему. а репорт конечно хорошо, пробуйте.

Ну, репорт вида «у меня сломалось не знаю где» скорее всего проигнорят, а если там ревизия указана то шансы на починку резко выше.

firkax ★★★★★
()
Ответ на: комментарий от bambie

ну так уже найдена эта версия, допустим вот она - https://github.com/freebsd/freebsd-ports/commit/305f148f482daf30dcf728039d03d019f88344eb#diff-a2e8cb15684a12440e1ad20a1827e27b7c0219ea29f8a0ed78c125f746727d7b

Даже еще проще, вот есть ветка старая квотерли - https://github.com/freebsd/freebsd-ports/tree/2021Q3

не благодари

PS: я бы сделал джейл, и залил туда эту ветку портов, собрал вайн 5, прокинул X и забил на обновление джейла пока он не умрет. А там глядишь и вайн 6ой обновят. И займет это все 30 минут + время компиляции вайна.

Keltir
()
Последнее исправление: Keltir (всего исправлений: 3)
Ответ на: комментарий от firkax

Не пиши чушь. Всё прекрасно ставится куда угодно и сразу работает.

Потом лучше удалить созданный прошлой установкой wine-prefix ($HOME/.wine), чтобы всё было с нуля.

Для каждого вайна разве не нужно будет своё окружение со своим префиксом? А при использовании другого вайна для другого приложения не будет заного настройка с обновлением префикса для winarch и прочего? Там специально указываются параметры запуска для каждого вайна. Что-то вроде WINEPREFIX=~/.wine

Только я что-то сомневаюсь, что ты хоть раз столкнулся с ситуацией, когда тебе требовалось именно wine6 на фрибсд

Как-то у меня игра на 5ом не работала, а на 6ом работала. Я не помню какая, но суть в том, что сталкивался.

В остальном ты прав, я предложел для себя очевидное решение, основываясь на своём опыте. Остальное мне не важно, я уже получил нужный ответ.

Clockwork ★★★★★
()
Последнее исправление: Clockwork (всего исправлений: 2)
Ответ на: комментарий от Clockwork

Для каждого вайна разве не нужно будет своё окружение со своим префиксом?

Нужно конечно, но это не какая-то сложная настройка с обёрткой а одна переменная.

firkax ★★★★★
()
Ответ на: комментарий от Keltir

X сервер умеет передавать картинку по сети на другой компутир вроде даже.

Умеет то умеет, но локалхост у иксов это не просто «сеть через 127.0.0.1», а ещё и работающее XShm расширение - картинка передаётся через shared memory в x server. Без него всё будет жутко тормозить. Не уверен что оно будет работать через tcp (обычно иксы через unix-сокет работают).

firkax ★★★★★
()
Ответ на: комментарий от bambie

Выглядит сложно, но я разберусь, спасибо. А ты делал по этому мануалу?

Там как минимум пункты про zfs лишние для большинства.

firkax ★★★★★
()
Ответ на: комментарий от firkax

Нужно конечно, но это не какая-то сложная настройка с обёрткой а одна переменная.

А у меня была неудачная попытка. Однажды, я установил два вайна и не смотря на разный указанный префикс(я указал принудительно в папку .wine и .wine32 в домашнем каталоге) окружение обновлялось. Короче говоря, настройка для конкретно префикса сбрасывалась при запуске приложения с указанным префиксом. А новый запуск winecfg удалял всё, я не знаю, где я не правильно выразился. Но я при этом использовал один бинарь из готового вайна, а второй вайн был установлен из нормального репозитория. А не так что он собирался отдельно.

Только я что-то сомневаюсь, что ты хоть раз столкнулся с ситуацией, когда тебе требовалось именно wine6 на фрибсд, а wine5 не подходило

В новых вайнах 6+ есть возможность использовать wine32 и wine64 одновременно.

anonymous
()
Ответ на: комментарий от anonymous

А у меня была неудачная попытка. Однажды, я установил два вайна и не смотря на разный указанный префикс(я указал принудительно в папку .wine и .wine32 в домашнем каталоге) окружение обновлялось.

Мог бы поэкспериментировать хоть с путями к префиксу, например поставить оба в нестандартные пути и посмотреть - кто обновляет, кто не обновляет.

firkax ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.