it-advisor.ru: Сборка своего пакета Thinstation 5.х и 6.х (1/2) | Thinstation по русски
Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
Отключите пожалуйста ADblock, если включен...
  • Страница:
  • 1
  • 2

ТЕМА: Сборка своего пакета Thinstation 5.х и 6.х

Сборка своего пакета Thinstation 5.х и 6.х 14 Апр 2014 10:11 #1522

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154

Самому писать много букав желания нет, поэтому в статье местами использованы вставки из CRUX Handbook, кстати хоть перевод и старый, но в принципе ничего не изменилось, рекомендую к прочтению, и информация с форума разработчиков Thinstation.

Для начала идём на http://crux.nu/portdb/?a=search и пытаемся найти нужный нам пакет.

Если повезло, то копируем команду загрузки (если команда начинается с httpup, вроде CRUX-овская фича, то закачивать в chroot-среде) и идём в папку ts/ports/static-source, в терминале выполняем команду и получаем папку с файлами для сборки.

Если не повезло и пакет не нашёлся, то делаем свой файл сборки Pkgfile, содержащий информацию о пакете (такую как имя, версия и т.п.) и команды, которые должны быть исполнены для сборки пакета. Ниже пример Pkgfile-а, как он должен выглядеть, для сборки утилиты grep. Добавлены некоторые комментарии.

# Название пакета. 
name=grep 
# Версия пакета. 
version=2.4.2 
# Релиз пакета. 
release=1 
# Исходник(и), используемые для сборки пакета. 
source=(ftp://ftp.ibiblio.org/pub/gnu/$name/$name-$version.tar.gz) 
# Функция build() вызывается pkgmk после того, 
# как указанные исходники распакованы. 
build() { 
# В первую очередь, переходим в каталог с распакованными исходниками. 
cd $name-$version 
# Запускаем configure скрипт с нужными аргументами. 
# В данном случае grep должен быть размещен в /usr/bin и 
# должен быть выключен NLS. 
./configure --prefix=/usr --disable-nls 
# Сборка. 
make 
# Устанавливаем файлы, но не в /usr, а в $PKG/usr с помощью переменной 
# DESTDIR. Переменная $PKG указывает на временный каталог, который 
# позже будет упакован в tar.gz-файл. Замечание: переменную 
# DESTDIR не все Makefile-ы, некоторые используют prefix, 
# другие ROOT, и т.д. Исследуйте Makefile не предмет этой возможности 
# Некоторые Makefile-ы вообще не имеют такой возможности. 
# В этом случае, необходимо их пропатчить. 
make DESTDIR=$PKG install 
# Удаляем ненужные файлы, в данном случае страницы info. 
rm -rf $PKG/usr/info
}

Подробнее...
====================================================

Инструкция по обновлению freeerdp до 2.5.0 в TS-5.6
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Последнее редактирование: 06 Фев 2022 12:41 от admin.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 17 Апр 2014 11:00 #1526

  • sattva
  • sattva аватар
проблема в том, что там(crux.nu/portdb/?a=search ) не актуальные версии исходников!!!
как например собрать pakage последнюю freedp из gif?
Последнее редактирование: 17 Апр 2014 11:19 от sattva.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 17 Апр 2014 11:38 #1527

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
указать source= в Pkgfile
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Последнее редактирование: 17 Апр 2014 11:47 от admin.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 11 Дек 2015 13:11 #3209

  • dementor5
  • dementor5 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 25
  • Спасибо получено: 10
  • Репутация: 3
Столкнулся с проблемой - при подключении к терминальной ферме на основе 2012r2 через freerdp не было звука, при том если подключаться напрямую к серверу, звук был.
Возникла острая необходимость эту проблему побороть. Так как при подключении с виндового клиента звук был -
то, сделано предположение, что проблема во freerdp. Решил попробовать пересобрать, забегая вперед, поделюсь, что мою
проблему пересборка до последней версии freerdp решила. :)

Перерыв интернет, наткнулся на официальный форум разработчика, а в нём аналогичный вопрос, только про rdesktop.
Попробовал по аналогии с freerdp - сработало.

Вот инструкция:
1. Подключаемся при помощи putty к thinserver (сборка уважаемого admin-a для этого подходит идеально, можно то же самое сделать и с консоли на самом сервере),
2. Логинимся как root, стандартный пароль 1q2w3e4r
3. Переходим в директорию самого сборщика "cd /home/thinstation"
4. Включаем ch-root окружение "./setup-chroot"
5. Нажимаем "Q", что бы закрыть инструкцию
6. Переходим в директорию со скриптом для скачки с репозитариев freerdp (да, при установке он скачивается с офф сайта freerdp) "cd ts/ports/opt/freerdp"
7. Редактируем конфигурационный файл "Pkgfile" "nano Pkgfile"
В строке "Version меняем 1.1 на 2.0 (можно любую версию, влияет только на название нового пакета, вроде бы)
В строке "release" меняем "stable-1.1" на "master"
Сохраняем изменения (нажимаем Ctrl+C, после Y, после Enter)
8. Правим патч freerdp-1.1.0-tprdp.patch (правит всего одну строчку в исходниках, в файле /libfreerdp/common/addin.c зачем, понятия не имею :))"nano freerdp-1.1.0-tprdp.patch"
Меняем в строке, начинающейся с @@ цифры 204 на 250 (номер строки, которую ищет скрипт)
Далее удаляем целиком строку с фигурной скобкой
Ну и напоследок, во всех оставшихся строчках удаляем одну табуляцию (там две)
Сохраняем файл (к тому, что файл поправить нужно именно так, я пришёл, сравнивая файл addin.c в исходниках freerdp от версии stable-1.1 и master).
9. Далее последовательно вводим следующие команды:
"pkgmk -u -d -um" (генерируем новый mdm5 для нашего свеже-отредактированного патча)
"pkgmk -u" (пробуем собрать пакет, не соберётся, ругнувшись на отсутствующие записи в footprint, я так понял, что при обновлении это нормально)
"pkgmk -uf" (обновляем footprint)
"pkgmk -u" (повторно собираем пакет и устанавливаем в сборку)
10. Далее выходим из setup-chroot командой "exit"
11. Ну и пробуем собрать сборку командой "./setup-chroot -b"
12. Пробуем загрузиться по сети с тонкого клиента
13. Проверяем, обновился ли пакет с тонкого клиента в консоли, введя команду "xfreerdp /version"
Версия должна быть старше 1.1

Конфиг freerdp, который я использую:
SESSION_1_TITLE="Terminal Farm"
SESSION_1_TYPE=freerdp
SESSION_1_FREERDP_SERVER=rdp.domain.test
SESSION_1_FREERDP_OPTIONS="/d:domain /cert-ignore /load-balance-info:'tsv://MS Terminal Services Plugin.1.Terminal' /sound"
SESSION_1_ICON=ON
SESSION_1_AUTOSTART=off

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

P.S. Учитывая то, что ветка MASTER freerdp не стабильна и постоянно обновляется, то рекомендую перед подобными экспериментами на виртуалке со сборщиком сделать Snapshot, чтобы в случае чего, можно было безболезненно откатиться.
P.S.2 В Pkgfile строку с патчем закомментировал, т.к. работает как с патчем, так и без, в общем, надо тестировать.

Это сообщение содержит прикрепленные файлы.
Пожалуйста, войдите или зарегистрируйтесь, чтобы увидеть их.

Последнее редактирование: 11 Дек 2015 13:58 от dementor5.
Администратор запретил публиковать записи гостям.
Спасибо сказали: admin

Сборка своего пакета Thinstation 5.х и 6.х 11 Дек 2015 13:27 #3210

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
Так выложите сразу ещё и папку freerdp из packages, чего людям мучится. :)
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Последнее редактирование: 11 Дек 2015 13:29 от admin.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 11 Дек 2015 17:04 #3211

  • dementor5
  • dementor5 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 25
  • Спасибо получено: 10
  • Репутация: 3
К сожалению, так не получается. Попробовал в чистый thinserver скопировать содержимое packages/freerdp
и собрать тонкий клиент - при запуске freerdp вылетает ошибка:

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


Что-то мне подсказывает, что обновление пакета тянет за собой кучу зависимостей,
которые раскидываются по всей кухне для сборки тонких клиентов.
Ну и если копировать, то не только содержимое packages (там скорее всего лежит просто инсталлятор, а ресурсы он собирает
по всей сборке).
Детальнее не разбирался :)
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 13 Дек 2015 18:39 #3215

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
Да, что-то надо разбираться, с разбегу не поехало, ну и хрен с ним...
А вместо многократного запуска pkgmk можно сначала удалить файлы mdm5 и footprint, после просто pkgmk -d и pkgmk -u.
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Последнее редактирование: 06 Фев 2022 12:21 от admin.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 01 Март 2016 18:15 #3546

  • dementor5
  • dementor5 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 25
  • Спасибо получено: 10
  • Репутация: 3
Сегодня, экспериментально обновляя пакет freerdp в своей сборке,
наткнулся на следующую ошибку:
"xfreerdp error while loading shared libraries libxfreerdp-client.so"
Решил проблему вводом дополнительной команды "update freerdp" после "pkgmk -u".
Администратор запретил публиковать записи гостям.
Спасибо сказали: admin

Сборка своего пакета Thinstation 5.х и 6.х 03 Март 2020 09:12 #5178

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
Для примера можно взять под 6.х с systemd из этого поста.
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 21 Июль 2020 11:02 #5332

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
Так все-таки, как добавить свой пакет в 6.2?
Сделал по инструкции выше, уже самый простейший пакет htop
(более сложные, вообще не получилось))
На самом DevStation запускается из chroot среды. Создал папку в packages, сделал в ней 2 файла install и
dependencies, распаковал туда полученный архив - не работает на клиенте...
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 23 Июль 2020 14:24 #5333

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
C htop получилось. В /packages/htop создаем папку build и файл install в ней. В нее же распаковываем tar.gz полученный при сборке пакета. dependencies кладем в /packages/htop
Сейчас попробую скайп.
Последнее редактирование: 23 Июль 2020 14:27 от George_e30.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 05 Март 2021 14:08 #5424

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
Всем доброго дня!
Как прикрутить к 5.5 последнюю версию freerdp?
Пакет качает, pkgmk -d ошибка.
Явно нужно обновить cmake, но его обновление тоже ругается на устаревшие версии пакетов, LibArchive и другие, на этом падает
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 05 Март 2021 14:49 #5425

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
Обновить получилось, собрался пакет. Только xfreerdp --version говорит что она 2.0.0, а не 2.3.х Куда копать?
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 05 Март 2021 15:15 #5426

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
В общем, распаковал пакет получившийся в /build/packages/freerdp
собрал
загрузил клиента и о чудо! версия нужная, к ферме RDS прицепилась (sec:nla)
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 05 Март 2021 16:24 #5427

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
George_e30 пишет:
Обновить получилось, собрался пакет...
Через как?
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 10 Март 2021 11:33 #5440

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
Добрый день)
Сначала обновляем LibArchive
Потом cmake
Потом сам freerdp
Администратор запретил публиковать записи гостям.
Спасибо сказали: admin

Сборка своего пакета Thinstation 5.х и 6.х 10 Март 2021 12:18 #5441

  • admin
  • admin аватар
  • Не в сети
  • Администратор
  • Сообщений: 1827
  • Спасибо получено: 275
  • Репутация: 154
А поподробнее, если время есть.
Нужна индивидуальная помощь - обращайтесь shweew[кобель]it-advisor.ru
Реквизиты для материальной поддержки проекта =>
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 10 Март 2021 12:59 #5442

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
rsync -aqz crux.nu::ports/crux-3.6/core/libarchive/ libarchive
cd libarchive
pkgmk -uf
pkgmk -u

(вроде так должно сработать, у меня -u давал ошибку, которая вылечилась -uf)
cd ../

rsync -aqz crux.nu::ports/crux-3.6/opt/cmake/ cmake
cd cmake
pkgmk -uf
pkgmk -u

cd ../

rsync -aqz crux.nu::ports/crux-3.6/opt/freerdp2/ freerdp2
cd freerdp2
pkgmk -uf
pkgmk -u

ссылки на исходники найдены в crux.nu/portdb/?a=search

сработает ли по схеме выше я не могу сказать, я делал -u получал ошибку, потом делал -uf, снова -u и собиралось без ошибок.
Качаем все это как в статье сказано находясь в ts/ports/static-source

Полученный tar.gz распаковываем с заменой в freerdp в /thinstation/build/packages

P.S. могу vmware образ DS выложить на котором собрано
Последнее редактирование: 10 Март 2021 13:05 от George_e30.
Администратор запретил публиковать записи гостям.
Спасибо сказали: admin, trask-alex

Сборка своего пакета Thinstation 5.х и 6.х 17 Авг 2021 15:30 #5631

  • blinkmoth
  • blinkmoth аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 32
  • Спасибо получено: 4
  • Репутация: 0
Ребят, подскажите, что я делаю не так, хочу собрать пакет, но выдает ошибку.
ВНИМАНИЕ: Спойлер! [ Нажмите, чтобы развернуть ]
Последнее редактирование: 17 Авг 2021 15:56 от blinkmoth.
Администратор запретил публиковать записи гостям.

Сборка своего пакета Thinstation 5.х и 6.х 07 Сен 2021 17:48 #5649

  • George_e30
  • George_e30 аватар
  • Не в сети
  • Осваиваюсь на форуме
  • Сообщений: 22
  • Спасибо получено: 6
  • Репутация: 1
На 6 пробуешь?
Сегодня парился. Собирать надо с -is сначала
Администратор запретил публиковать записи гостям.
Спасибо сказали: blinkmoth
  • Страница:
  • 1
  • 2