Rating@Mail.ru
IPB
Etersoft - from Windows to Linux
Etersoft
решения для перехода
с Windows на Linux
Дружественные сайты: alv.me и Rus-Linux.net

Здравствуйте, гость ( Вход | Регистрация ) Поиск · 

Профиль
Фотография
Опции
Опции
О себе
slackware, mac osx
Личная информация
sunjob
Продвинутый участник
Возраст не указан
Пол не указан
Место жительства не указано
День рождения не указан
Интересы
Нет данных
Другая информация
Операционная система: Нет данных
JID: Нет данных
Город: Нет данных
Статистика
Регистрация: 15-November 07
Просмотров профиля: 5468*
Последнее посещение: 2nd August 2017 - в 06:27
Часовой пояс: Nov 19 2017, в 16:42
110 сообщений (0.03 за день)
Контактная информация
AIM Нет данных
Yahoo Нет данных
ICQ Нет данных
MSN Нет данных
Contact E-mail скрыт
* Просмотры профиля обновляются каждый час

sunjob

Участники


Темы
Сообщения
Друзья
Содержимое
добрый день

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

в инете "как такового" решения не нашел, есть только теория

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

не обсуждается
- наш дистрибьютив
- как мы собираем пакеты (понятно, что все не так как надо и все через не то место :о)

в тек. момент "весь процесс" составляется в ручном режиме, если будут подходящие идеи/решения, то попробуем "заточить" под "свои задачи", если нет - значит "перебьемся" :о), как говориться, и на этом спасибо

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

буду благодарен за
- волшебные пендили (в нужном направлении)
- ссылки
- идеи
- методы/решения - кто и как с "подобной задачей" справляется (ведь есть же такие спецы?!)

постановка задачи (что видится или как примерно будет решаться)

на входе
- "какое-либо" описание зависимостей, текст, или еще какой формат (типа пакет А зависит от А.1, А.2, А3, Б)
- возможно, вариации "версий" или еще какие-то "варианты" (типа пакет А совместим с А.1 - версии 1.0-1.5, и уже не совместим с версиями 0.1-0.9 и 1.6 и выше)

на выходе
- последовательность сборки пакетов (последовательная , не параллельная), типа сборка в след. посл-ти:
А.1, А.2, А3, Б, А

tag:
- топологическая сортировка
- теория графов
- алгоритм разрешения зависимостей

спасибо за помощь

### дополнение ###

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

30 May 2017
KDE3 сборка от русских физиков

префикс установки KDE3
Код
KDE = /opt/kde3
QT3 = /usr/lib${x}/qt3

qt3 --> qt3.8.3.b


сборка состоит из 3х частей (каталогов с пакетами, один архив на обе архитектуры х32/х64)
Код
kde_pre    - KDE3 зависимости
kde_core   - KDE3 ядро
add_pkg    - дополнительные пакеты


дополнительные пакеты (коротко):
Код
diskmonitor   - аплет на панель, состояние/заполнение дисков
nw-manager    - сетевые настройки (альтернатива базовым)
wicd          - аналогично nm-manager
recoll        - контекстный поиск + аплет на панель (для быстрого вызова)
themes        - gtk2/системные темы, курсоры


примечание:
Код
- особое внимание уделено "шрифтам"
- совместное использование KDE3/KDE4


URL архив
11 May 2017
формирование переменных окружения startkde для самих KDE3 rolleyes.gif

добрый день

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

объект: скрипт запуска KDE - startkde
задача: формирование "некоторых" переменных окружения, специальным образом :о)
симптомы: нормально/правильно формируются только некоторые, точнее все, кроме одной

правильно сформированные переменные:
- XDG_CONFIG_DIRS
- XDG_DATA_DIRS
- KDE3XDG (новая)

проблемная переменная:
- PATH

пояснение/детали:

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

на скриншоте видно, что все "интересуемые" переменные получили "правильное "наполнение", типа "/etc/kde3/xxx" а в PATH - "оно" отсутствует

/etc/rc.d/*
& /etc/profile.d/ - все пересмотрел...
"export XXX" - пробовал по всякому

буду благодарен за советы, ключевые слова, волшебные пендели - ПО ТЕМЕ (в том числе и по "общей рихтовке" 3х кед, что смогу, то, постараюсь реализовать, в разумных и возможных пределах, конечно же)

для желающих "грязно покопаться в мозгах" ссылка на имидж системы (на текущий момент, с установленными кедами)

пользователи root & sun, пароли 123
PREFIX=/opt/kde3
PREFIX/bin/startkde - "виновник торжества"

KDE ver. 3.5.10 (стоковые исходники)
Slackware 13.37 x32

заранее благодарен

п.с.
для интересующихся (и постоянно напоминающих) об НЕРАБОТАЮЩЕЙ раскладке клавиатуры!!! ни чего специального не делал, только стандартный набор последовательностей - добавил как "оно логично должно быть" :о)
скачивайте образ, моделируйте "косяки клавиатуры", описывайте, будет так же плюсом :о)

п.с.2
vbox - образ пока закачивается, будет на месте в течении получаса

https://sourceforge.net/projects/tde-slackw....37/VirtualBox/

### UPDATE ###

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

короче, обьясняю:
при "обычном раскладе", все - естественно, как обычно и всех устраивает :о)

можно PATH просписать где угодно и как угодно и он во время работы под любыми десктопапи (XFCE, KDE, LXDE...) будет устраивать всех... не будет никаких косяков...

но, если надобно "встроить в систему" родственные десктопы, у которых имена практически совпадают на 100%, как то KDE3/KDE4/TDE3/TDE14 - то тут, упс, один путь на все уже не катит, ведь странно же будет, если из под третьих кед запустить konsole - и получить консоль от 4х кед ... или которые там попадутся первыми в PATH ... это вкратце, надеюсь далее обьяснять не надо, сами допедрите :о)

ну дак вот, что бы избежать всей этой путаницы нужна "ДИНАМИЧЕСКАЯ НАСТРОЙКА ОКРУЖЕНИЯ", в зов-ти от запускаемого рабочего стола, причем эта самая настройка должна происходить во время запуска DE...

изначальная задача была - интеграция KDE3 в совместное проживание c KDE4 (само собой что PREFIX установки у них должен быть разный)

теперь возвращаясь к нашим баранам

startkde - как раз и занимается формированием окружения (PATH, XDG_DATA_DIRS, XDG_CONFIG_DIRS, DESKTOP_SESSION) и далее запуском самих кед...

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

правильность формирования всех переменных внутри startkde- проверено эхо-отладкой (надеюсь подробно описывать не надо очевидные вещи)

ну вот, спасибо...

### UPDATE ###

добрый день

проблема оказалось в моей невнимательности (а чего мы ожжидали? :о)))

дело в том, что PATH имеет разные значения для шелл/ком.строки/konsole и для рабочего окружения KDE3 (т.е. то окружение, которое мы как раз и теребонькаем и подстраиваем под себя)

убедиться в этом можно запустив простой тест-эхо:
- из под ком. строки/шелл/консоли - баш скрипт
- кликом по *.desktop ярлыку, запускающему тот-же тестовый скрипт

...и ...получим разные результаты (разные, естественно, в том случае, если startkde до этого запустил свои шаловливые ручки в "определение" этих самых пересменных, в данном случае это PATH)

ну вот и все! всем удачи, надеюсь обществу пригодиться (мне же пригодилось :о)))


show_PATH.sh
Код
#!/bin/sh
clear
echo "PATH = $PATH"; read


show PATH.desktop
Код
[Desktop Entry]
Comment=
Comment[en_US]=
Exec[$e]='/home/sun/Desktop/show_PATH.sh'
GenericName=
GenericName[en_US]=
Icon=exec
MimeType=
Name=show PATH
Name[en_US]=show PATH
Path[$e]=
StartupNotify=true
Terminal=true
TerminalOptions=\s--noclose
Type=Application
X-DCOP-ServiceType=
X-KDE-SubstituteUID=false
X-KDE-Username=


Код
- show_PATH.sh - start on bash/konsole shell  # PATH, standart env shell
- show PATH.desktop - click on start          # PATH, modign by startkde/kde3

Прикрепленные файлы
Прикрепленный файл  pic_2017.05.11_17.04.33.jpg ( 368.27 килобайт ) Кол-во скачиваний: 4
 
18 Jan 2017
TDE/Trinity & KDE3 for Slackware / сборка от русских физиков

Ноги, крылья… Главное — хвост!

Код
- TDE 14.0.4 for Slackware 14.2  x32/x64
- TDE 14.0.1 for Slackware 14.1  x32/x64
- KDE 3.5.10 for Slackware 13.37 x32/x64


описание сборки, установка, VirtualBox имидж, скриншоты, настройка в текстовом файле

tag: slackware tde trintiy kde3 desktop
10 Jan 2017
добрый день!

вводная:

1. идет сборка большого списка пакетов (и установка в систему)
2. пакеты складируются в свой подкаталог (типа $PKG)

пока идет процесс "сборка и сопутствующая установка" - все нормально (никаких казусов)

проблема - установка "на конечной" машине

обычная установка/обновление ВСЕГО этого зоопарка обычно у слакварщиков делается что-то типа (ну или подобное)

Код
sudo /sbin/upgradepkg --reinstall --install-new $PKG/*.t?z
sudo /sbin/upgradepkg             --install-new $PKG/*.t?z

или что-то такое (взято как пример)

#!/bin/sh
for dir in a ap d e f k kde l n t tcl x xap y ; do
( cd $dir ; upgradepkg --install-new *.tgz )
done

есть пакет, который ставится первым (или около того) !!! НО !!! в списке, при использовании шаблона "*.t?z" он будет в конце, и, соотв. ставиться/обновляться он будет позже...

далее код и описание относительно этого пакета

код slackBuild-а (код ПРИМЕРНЫЙ, дающий примерное представление)

Код
mkdir -p LIB; cd LIB
for FILE in lib$x/*.so* ; do
ln -sf      lib$x/$(basename $FILE) .

дает код doinst.sh в пакете (код, так же, ПРИМЕРНЫЙ)

Код
( cd LIB ; rm -rf *.so*             )
( cd LIB ; ln -sf lib$x/*.so* *.so* )

если пакеты буду ставиться НЕ ПО СПИСКУ, то данный пакет, устанавливаясь позже "все прочих" - просто напросто нахрен удалит ВСЁ из каталога LIB, уже установленных до этого файлов

итак:
можно разбить на группы и ставить последовательно, как тут
Код
#!/bin/sh
for dir in a ap d e f k kde l n t tcl x xap y ; do
( cd $dir ; upgradepkg --install-new *.tgz )
done

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

вопрос:
- кто как решает данную проблему?
- проблема ли эта?!
- свои мысли по этому поводу
- только станд. команды (installpkg, upgradepkg, removepkg)

можно ключ. словами, ссылками

спасибо
Просмотры
f0b


24 Aug 2016 - 21:19


9 Nov 2015 - 12:28


8 Jun 2015 - 1:11


7 Jun 2015 - 19:57


28 Dec 2014 - 21:21


Друзья
Друзей нет.
RSS Текстовая версия Сейчас: 19th November 2017 - в 11:42




Rating@Mail.ru