LINUX.ORG.RU

Сообщения sunjob

 

bash, sed, use $STRING

Форум — Development

добрый день/вечер/ночь!

взял пример с форума, немного рихтанул, сейчас делает то, что надо :о)

как доработать, под использование «строк», вместо «констант»?

#
STR1="str1"
STR2="str2.1 str2.3 str2.3"
#

скрипт

#!/bin/bash
set -e; clear

#
# STR1="str1"
# STR2="str2.1 str2.3 str2.3"
#

echo "#
#str1 - this remark line
str1 - this open line :o)
#" > text.txt

sed -i 's/\(^str1 \)\(.*\)\(.*\)/str2.1\ str2.2 \str2.3/' text.txt
cat text.txt
-->
#
#str1 - this remark line
str2.1 str2.2 str2.3
#

спасибо

p.s.

если не понятно, что делает скрипт:

1. создает файл 
2. "просматривает" файл, на наличие "искомой строки"
3. пропускает "ремарки", ищет "открытую строку" 
4. находит строку, начинающуюся с "str1"
5. заменяет всю строку на другую "str2..."

в примере для «поиска» и «замены» - используются «жестко прописанные строки/константы»

надо: «жестко прописанные строки/константы» заменить на строки (STR1 & STR2, в примере закомментированы)

если совсем не понятно, запустите скрипт... :o)

дерните за веревочку... озорение и прийдет :о)

 , ,

sunjob
()

bash, сравнение двух строк, с «внутренними» разделителями

Форум — Development

добрый день

общая задача:

- получаем две строки
- "усекаем до общей минимальной базы"
- сравниваем

подробности:

1. строки вида A.B.C

3."символ разделитель усечки" - "точка"

4.разрядность может быть разная, [1-3] числа/буквы
например:AAA.BB.C или A.BB.CCC

5. "урезка/приведение", пример
исходные строки:
A1.B1.C1 & A2.B2

после приведения (усекается первая строка):
A1.B1 & A2.B2

6. сравнение (тут все понятно)

p.s. набегом осилить не получилось сделать коротко, не «бахыт компот» :о)

простыми операциями, типа

NUM=AAA.BBB.CCC; echo ${NUM%.*} -> AAA.BBB
можно, конечно усекать, сравнивать длины, считать кол-во точек, но получается громоздко хотелось бы локоничный код, вопрос к гуру, возможно ли?

если есть идеи, выкладывайте код, рассмотрим

спасибо

p.s. с ананимусами общаюсь только при наличие КОДА

### UPDATE ###

в итоге есть несколько решений задачи, авторы cdslow & vodz

СПАСИБО ЗА ПОМОЩЬ

...

#!/usr/bin/bash
#
# https://www.linux.org.ru/forum/development/14648385?cid=14649819
# cdslow
#
# код обратно несовместимый, только на новых вер. bash-a
#
# FALSE:
# GNU bash, version 3.1.17(2)-release (i486-slackware-linux-gnu)
# GNU bash, version 4.2.45(2)-release (i486-slackware-linux-gnu)
#
# TRUE:
# GNU bash, version 4.3.46(1)-release (x86_64-slackware-linux-gnu)
#
set -e; clear

A="AA.BB.CC"
B="AA.BB.CC.DD"

IFS='.' read -r -a AS <<< $A
IFS='.' read -r -a BS <<< $B

(( N = ${#AS[@]} < ${#BS[@]} ? ${#AS[@]} : ${#BS[@]} ))

AJ=${AS[@]:0:$N}
BJ=${BS[@]:0:$N}

AN=${A:0:${#AJ}}
BN=${B:0:${#BJ}}

echo "
$A
$B
-->
$AN
$BN
"

[[ $AN == $BN ]] && echo MATCH || echo NO MATCH

...

#!/usr/bin/bash
#
# https://www.linux.org.ru/forum/development/14648385?cid=14649819
# cdslow
#
# код обратно совместимый
#
# GNU bash, version 3.1.17(2)-release (i486-slackware-linux-gnu)
# GNU bash, version 4.2.45(2)-release (i486-slackware-linux-gnu)
# GNU bash, version 4.3.46(1)-release (x86_64-slackware-linux-gnu)
#
set -e; clear

A="AA.BB.CC"
B="AA.BB.CC.DD"

IFS='.' read -r -a AW <<<$A
IFS='.' read -r -a BW <<<$B

read -r -a AS <<<${AW[@]}
read -r -a BS <<<${BW[@]}

(( N = ${#AS[@]} < ${#BS[@]} ? ${#AS[@]} : ${#BS[@]} ))

AJ=${AS[@]:0:$N}
BJ=${BS[@]:0:$N}

AN=${A:0:${#AJ}}
BN=${B:0:${#BJ}}

echo "
$A
$B
-->
$AN
$BN
"

[[ $AN == $BN ]] && echo MATCH || echo NO MATCH

...

#!/usr/bin/bash
#
# https://www.linux.org.ru/forum/development/14648385?cid=14649396
# vodz
#
set -e; clear

S1=AAA.BB.CCC
S2=AAA.BB

#///////////////////////////////////////////////////////////////////////////////
doteq()
#///////////////////////////////////////////////////////////////////////////////
{
local f1 fold=$- IFS=. s1=$1 s2=$2
set -f
eval "set -- \$$s1"
f1=$#
eval "set -- \$$s2"

if [ $# -lt $f1 ]; then
f1=$((f1-$#))
else
f1=$(($#-f1))
s1=$s2
fi

while [ $f1 -gt 0 ]; do
eval $s1='${'$s1'%.*}'
f1=$((f1-1))
done

[ "${fold#*f}" = "$fold" ] && set +f
}
#///////////////////////////////////////////////////////////////////////////////

echo "# before:
S1=$S1
S2=$S2
"
doteq S1 S2

echo "# after:
S1=$S1
S2=$S2"

...

#!/usr/bin/bash
#
# https://www.linux.org.ru/forum/development/14648385?cid=14649396
# vodz
#
set -e; clear

S1=AAA.BBB.CCC
S2=AAA.BBB

#///////////////////////////////////////////////////////////////////////////////
doteq()
#///////////////////////////////////////////////////////////////////////////////
{
local -i f1
local fold=$- IFS=. s1=$1 s2=$2
set -f
set -- ${!s1}
f1=$#
set -- ${!s2}

if [ $# -lt $f1 ]; then
f1=f1-$#
else
f1=$#-f1
s1=$s2
fi

while ((f1-->0)); do
eval $s1='${!s1%.*}'
done

[ "${fold#*f}" = "$fold" ] && set +f
}
#///////////////////////////////////////////////////////////////////////////////

echo "# before:
S1=$S1
S2=$S2
"
doteq S1 S2

echo "# after:
S1=$S1
S2=$S2"

...

#!/usr/bin/bash
#
# https://www.linux.org.ru/forum/development/14648385?cid=14651226
# cdslow/vodz mod 
#
set -e; clear

A="AAA.BBB. .*"
A="AAA.BBB.*"
A="AAA.BBB."
A="AAA.BBB"
B="AAA.BBB.CCC"

OLD_IFS=$IFS
IFS=.

read -ra AW <<< "$A"
read -ra BW <<< "$B"

AN=${#AW[@]}
BN=${#BW[@]}

if ((AN < BN)); then
BN="${BW[*]::AN}"
AN=$A
else
AN="${AW[*]::BN}"
BN=$B
fi

IFS=$OLD_IFS

echo "
$A
$B
-->
$AN
$BN
"

[[ $AN == "$BN" ]] && echo MATCH || echo NO MATCH

 , ,

sunjob
()

хитро-системная проблема с запуском VMWare/Transcribe

Форум — Admin

добрый день

сразу, для уточнения: все что надо запущено/собрано/установлено, т.е. то, что необходимо - ПРИСУТСТВУЕТ!

под основной учеткой перестала запускаться VM, давно ее не использовал, что «с тех времен» изменил/настроил/установил/удалил - уже невозможно выяснить (на случай советов проанализировать «это»)

решил проверить под «пустым» пользователем/профилем usr, кот. уже «давно» был создан для «прочей отработки», в нем тоже VM не стартовала

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

тут появилсь муза и шепнула: а ты зайди через задницу...! ну я и ломанулся :о)

создал еще несколько пустых учетн. записей usr2, usr3, usr4 - и ... о, бл...ть, пардон, чудо, VM стартовала как не бывало...

удаление дом каталога «пустой учетки» usr - не помогло, хоть ты тресни!

анализ всех логов - не дал результата (если и просачивались к.л. ошибки/непонятки, так они так-же встречались в логах на «рабочих учетках»)

анализ сет.трафика, обращение к оффсайту итд, так же без результата, даже без сети - все так-же, те-же проблемы

логически складывалась такая тенденция (кот. потом подтвердилась):

- в учетках, которые БЫЛИ УЖЕ СОЗДАНЫ/АКТИВНЫЕ (рабочая и «пустая» usr ) - VM не стартовала

- в учетках, созданных «после», т.е в процессе выяснения проблемы (usr2, usr3, usr4) - VM стартовала

решил проверит, удалил/пересоздал пользователя usr о бл...ть, опять пардон, чудо, VM-стартовала

при этом все учетки, кроме основной вообще «отсутствуют» в /etc/group и после логина - не настраивались вообще (т.е. нулевые)

теперь, внимание ВОПРОС...с-с-с-ы:

1. кто ни-будь сталкивался с подобным? как искали проблему, к чему пришли, чем побороли?

2. естественно, не планирую из-за «этой бадяги» удалять/пересоздавать свою основную учетку, что посоветуете?

3. ну и ... ваши мымсли/идеи/советы ПО ТЕМЕ, втч и для того, что-бы лучше разобраться в том, «кто виноват и шож делать?!»

спасибо

p.s.

к стати, подобным образом ведет себя и transcribe, под основной и usr учетками начала падать, и после пересоздания usr-а, стала стартовать нормально, следовательно, можно предположить, что жOпa где-то глубоко в системе зарылась... :о) так и подначивает мымсля, типа, а не вирусы ли у нас завелись? :о)

- VMWare-6.5.5 build-328052
- Transcribe-8.10
- Slackware-12.2 x32
- kernel 2.6.33.20.4-smp

выкус ошибки из диалога (один в один, с двумя точками в конце)

Unable to change virtual machine power state: VMware Workstation cannot connect to the virtual machine. Make sure you have rights to run the program and to access all directories it uses and rights to access all directories for temporary files..

 , ,

sunjob
()

TDE-14.0.5 for Slackware-14.1/14.2

Форум — Desktop

TDE-14.0.5 for Slackware-14.1/14.2

VBox image, packages and slackBuilds (планируется)

пожалуйста, тестируйте и рапортуйте об ошибках

спасибо

 , , ,

sunjob
()

сборка библиотек для «набора программ» в PREFIX_CUSTOM

Форум — Development

добрый день

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

1. сборка (*) «дублирующих» библиотек для «набора программ» планируется ставить в свои PREFIX_CUSTOM=/usr/lib/libXXX (or /opt/libXXX, не суть важна)

(*) - допустим, в «дефолтной» установке LINUX библиотека lib_xxx-1.x.x, а для сборки/работы «набора программ» требуется lib_xxx-2.x.x, поэтому планируется не «рихтовать/препаритовать» систему, а установить «рядом» нужную библиотеку в PREFIX_CUSTOM и для «сборки/работы» «набора программ» использовать ее

2. сборка самого "набора программ" с соотв. ключами/environmen/LIBRARY_PATH, указывающими на соотв. библиотеки в CUSTOM_PREFIX

ВОПРОС: собранные «программы» будут по умолчанию искать библиотеки в PREFIX_SANDART или для «правильного поведения» нужно принудительно указывать LD_LIBRARY_PATH=PREFIX_CUSTOM?

p.s. буду благодарен за любые ответы по теме, спасибо

 

sunjob
()

pidgin-mra MailRu agent can't connected, slackware

Форум — Development

добрый день

отвалился MailRu агент (pidgin-mra)

could not establish a connection with the server: Connection timed out

пробовал собирать/пересобирать на разных версиях слаки

- Slackware 12.2, 14.2, 14.2_cur
- slackBuild (default, edit, + 'slpkg -s sbo', "more" patches)
без результата

ВОПРОС: у кого «этот клиент» работает, просто напишите ваши «характеристики»

- OS, ver, main lib (основные версии библиотек)
- pidgin/mra - version, patches
- ну... и что посчитаете нужным

!!! Attention !!!

- читаем ВОПРОС
- не выясняю "ошибки" сборки и "рукожопость своих криворукостей"
- mrim-prpl - не планирую использвать (давно отбросил, по неск. причинам, да и, по моему, сейчас он вообще в "ауте")
- нужен ответ на ВОПРОС, дальше сам (при положит. рез-те, если кого заинтересует, отпишусь)

п.с. клиент «отвалился» недавно, не обращал внимания, решил разобраться

- pidgin-2.13.0 
- pidgin-mra-0.1.4.2
- slackware 12.2/14.2/14.2_cur
- SlackBuild & slpkg

спасибо

 ,

sunjob
()

bash, loop, count - формирование незначащих нулей

Форум — Admin

subj: bash, loop, count - формирование незначащих нулей

добрый день

цикл, «подобный»:

for CNT in {0..10}
do
echo $CNT
done

вывод будет

0
1
2
...
10
надо настраиваемое кол-во незначащих нулей
000
001
002
...
010

спасибо

p.s.позже наткнулся на подобную задачу

https://www.linux.org.ru/forum/general/5966033

p.s.2 решение нужно изначально для старых версий баша (но рассмотрим все)

 , ,

sunjob
()

QTCreator & AVR, подсветка «нестандартных/AVR типов»

Форум — Development

добрый день

qtcreator - не подсвечивает и автокомплит не видит AVR-типы, т.к. int8_t etc...

(собственно, «а чего мы ожидали?», но все таки необходимая вешь при написании под AVR или какие еще "нестандартные задачи")

проект, при этом, собирается без проблем (no-qt with makefile)

копирование «из kate» и др., из инета, а так-же прочие «иные манипуляции» (включение, отключение, подмена) - не помогло:

~/config/qtcreator/generic-highlighter
/usr/share/apps/katepart/syntax

тему немного проработал, решения не нашел

в инете пишут что у креатора с этим «не совсем хорошо» (подсветка, правильное понимание типов, «встроенное» или «а-ля КАТЕ»-привязка ...)

высказываемся, философствуем ... :о)

в данной задаче меняться не будут (aka const) - qtcreator-3.1.2 (достаточно старая версия, но обновляться не будет)

спасибо

 , , , ,

sunjob
()

LCD/дисплей HDM20416L/HD66730 -> HD66712, avr/arduino

Форум — Development

добрый день

HDM20416L-T-L3PP - LCD дисплей

HD66730 or HD66712 - контроллер дисплея

существует две версии данного дисплея, 16 и 18 пинов, не принципиально

«даташита» - в инете полно, но практически нет «применений» с AVR/Arduino

набегом запустить с пом-ю NewliquidCrystal - не получилось предполагаю, что в данном контроллере (*) «другие параметры», поэтому печать не совсем корректна

(*) - размер буфера, адресация итд

ВОПРОС 1: кто ни-будь сталкивался/запустил данный дисплей?

ВОПРОС 2: мысли, идеи, соображения, просто балагурим...(все сгодится до кучи :о)

p.s. за совет, типа «выкурить даташит и написать свою реализацию» - отдельная благодарность и спасибки :о)

...

#include <LiquidCrystal.h>

//
// Arduino PDx	7, 6,   5,   4,   3,   2
// LCD pin	   RS, E, DB4, DB5, DB6, DB7
//
LiquidCrystal lcd(7, 6, 5, 4, 3, 2); // (RS, E, DB4, DB5, DB6, DB7)

void setup()
{
lcd.begin(20, 4);

//				  12345678901234567890
//lcd.setCursor(0, 0); lcd.print("<0........0>"); // строка, которая еще не "дублируется переносом на 2ю строкку"
  lcd.setCursor(0, 0); lcd.print("<0................0>");
  lcd.setCursor(0, 1); lcd.print("<1................1>");
  lcd.setCursor(0, 2); lcd.print("<2................2>");
  lcd.setCursor(0, 3); lcd.print("<3................3>");
}

void loop(){ }

вывод на дисплей

http://i104.fastpic.ru/big/2018/0713/b0/_fabeb9fe154a9ba74121ddba78f662b0.jpg

Arduino-1.5.8 (and other)

HDM20416L-T-L3PP / HD66730

NewliquidCrystal-1.3.5

https://bitbucket.org/fmalpartida/new-liquidcrystal/downloads

### UPDATE ###

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

маркировка на шлейфе HDM20416L-T-L3PP

ессть след. вариации

HDM20416L   - 16 pin / HD44780
HDM20416L-M - 18 pin / HD66730
HDM20416L-T - 16 pin / HD66712

судя по всему наш - HDM20416L-T / HD66712

 , ,

sunjob
()

AVR LCD I2C modules, библиотеки на чистом AVR-GCC/C/C++

Форум — Development

добрый день!

есть две LCD-библиотеки Arduio, работающие ТАК_КАК_НАДО с модулем I2C_LCD_mjkdz

hd44780 / bill perry

NewliquidCrystal / fmalpartida

вопрос 1: есть ли у кого «наработки» по переводу этих (одной из двух) библиотек на avr-gcc pure c (на крайняк avr-gcc/c++)?

ADD

в сети достаточно «вариантов» библиотек на СИ для работы с HD44780, есть даже pfleury_avrlibs (i2cmaster, lcdlibrary, uartlibrary), но все библиотеки дисплея на «обычное» подключение, без I2C, понятно, что как-то можно скрестить i2cmaster и lcdlibrary... но потребуется много всего ... не вариант :о)

вопрос 2: нужна библиотек на avr-gcc c прямой работой через I2C модуль, желательно имеющей понятие об MJKDZ, (как пример NewliquidCrystal - имеет конструктор I2C для инициализации и дальше работа с дисплеем, «обычным способом», надеюсь обьяснил понятно)

about MJKDZ - это очень специфичный модуль, кто в курсе, тот, надеюсь, понял, кто не в курсе - как говориться, мал клоп, да вонюч :о)

итак, можно ссылки, мымсли, комментарии...

tag: linux, avr-gcc, ком.строка, makefile, i2c_lcd модуль, NO windows, NO avr-studio/iar/codevision...etc

 , , , ,

sunjob
()

avr-gcc проблема с scanf()

Форум — Development

добрый день

вопрос применительно к avr-gcc/atmel-toolchain

код проверялся и пытался по всякому ... (ни шмагли никак :о)

принять одно число для scanf() - не проблема

проблемы начинаются, когда надо принять два числа:

- не принимает «оба» числа, либо если принимает (первый пример), то «первое» число = 0

- при «неправильном» типе - уходит в зацикливание

судя по скудным высказываниям по поводу scanf() - для avr-gcc это «нормальное поведение» и «все на это уже давно забили»

высказываемся, можно с кодом/примерами, можно просто «ключевые слова» или пофилософствовать...

спасибо

int8_t A,B;
while(1)
  {
  DEV = -1, SIG = -1;
  scanf  ("%u%,%u",&A,&B); 
  printf ("A='%u', B='%u' \n",A,B);
  }

выхлоп

//
// scanf  ("%u%*c%u",&A,&B); 
// input: '1+2'
//
A='0', B='2' 

//
// scanf  ("%u% %u",&A,&B); 
// input: '1 2'
//
A='1', B='65535' 
A='2', B='65535' 

//
// scanf  ("%u%,%u",&A,&B);
// input "1,2"
//
A='1', B='65535' 
A='65535', B='65535' 
A='65535', B='65535' 
... loop ... зацикливание ...

- avr-gcc-4.9.2 / atmel-toolchain 3.4.2 and 3.5.4 / linux

- avr-studio-4.19 / win_xp

- variation with key-library (-Wl,-u,vfprintf -lprintf_min, -Wl,-u,vfprintf -lprintf_flt, -Wl,-u,vfscanf -lscanf_min, -Wl,-u,vfscanf -lscanf_flt...)

- build witn makefile & shell-script

 , , ,

sunjob
()

makefile - дубли «целей» для повторного использования, как устранить дубли

Форум — Development

добрый день

в makefie для «показа» размера «до» и «после» используется след. конструкция (с дублями целей)

all: begin ... size1 build size ... end
size1:
  <blah-blah-blah>
size:
  <blah-blah-blah>

как можно «извернуться», что-бы «оставить только одну цель» с возможностью «вызывать ее дважды»? надеюсь обьяснил понятно...

спасибо

 

sunjob
()

AVR-GCC & AVR-Toolchain-ы (неск.версий) - одновременное использование, настройка среды, Makefile

Форум — Development

добрый день

в системе установлен стандартный пакет avr-xxx : avr-binutils, avr-gcc, avr-gdb, avr-libc

тестовый проект с makefile - собирается (используется стандартное develop-окружение, без настроек)

добавил в систему avr-Toolchains, распаковал в свои каталоги (использовались готовые/собранные bin-архивы, с уже собранными тулзами)

~/dev/bin/avr/3.4.2/*
~/dev/bin/avr/3.4.3/*
~/dev/bin/avr/3.5.4/*

ВОПРОС 1:

- возможно ли использовать бинарные/готовые сборки avr-Toolchains в нестандартных PREFIX-каталогах (как у меня)?

- что-бы не было коллизий/пересечений со стандартным набором avr-xxx пакетов (стандартные каталоги)

- если «готовые сборки» - нельзя использовать в нестандартных путях, без особых извращений, то можно не объяснять «почему» :о)

ВОПРОС 2:

- если можно (вопрос 1), то какие переменные окружения надо настраивать? (CXX LD ... etc)

- кроме окружения, что ни-будь еще надо настраивать?

ВОПРОС 3:

- тоже самое, применительно к рабочему makefile?

- мейкфайл в данном случае «псевдо-стандартый», можно найте в инете, переменные develop-окружения не менялись, все по умолчанию, т.е. ни какие каталоги/инклуды не прописывались, поэтому - рассматривать будем «сферический makefile в вакууме»

НЕ ВОПРОС:

- можно просто «пофилософствовать по теме», возможно ваши мысли пригодятся :о)

спасибо ...

slackware-xx.x (avr-xxx: стандартный набор slackBuild от sl14.2)

https://slackbuilds.org/

avr-toolchains

http://www.microchip.com/avr-support/avr-and-arm-toolchains-(c-compilers)

 ,

sunjob
()

KDE3.5.10 on Slackware 14.1 x32, ошибка сборки

Форум — Development

добрбый день

пытаюсь собрать KDE3.5.10 on Slackware 14.1 x32

вся сборка KDE3.5.10 была нормально собрана на sl13.37, теперь «весь процесс» пытается переехать на sl14.1 :о)

последовательность сборки следующая:

//
// kde_pre
//
qt-3.3.8b
pyqt3-3.18.1
avahi-0.6.32
nas-1.9.4, jack_audio_connection_kit-0.124.1 (for kdelibs or arts)

//
// kde_core
//
hal-0.5.14
arts-1.5.10
dbus_qt3-0.70
poppler-0.16.4
qca_tls-1.0
qca-1.0
kdelibs-3.5.10
kdebase-3.5.10

секция «kde_pre» содержит занчительно больше файлов, но для минимальной сборки достаточно пока и того, что приведено, но для точности, пробовал так же варианты и полной установки (около 160 пакетов)

сборка затыкается на kdebase, в сборке пакета kdebse используется около 350-400 патчей, обьединенных в группы (т.е что от куда дергалось, так и обьеденил) настройки патчей для kdebase, кот. применялись для сборки на sl13.37 - не подходят, провобал всевозможные вариации, не получилось ...

подробности/версии - стоковые

ниже сделаю выкус из журнала сборки с комментами журнал разделен на блоки, сначало идет блок с установками патчей (и/или доп. описание), далее идет «выхлоп сборки с ошибками»

URL

буду благодарен за любую помощь, волшебные пендили, ключ.слова, просто филососфские мысли...

 , ,

sunjob
()

топологическая сортировка, сборка пакетов

Форум — Web-development

добрый день

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

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

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

не обсуждается

- наш дистрибьютив

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

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

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

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

- волшебные пендили (в нужном направлении)

- ссылки

- идеи

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

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

на входе

- «какое-либо» описание зависимостей, текст, или еще какой формат (типа пакет А зависит от А.1, А.2, А3, Б)

- возможно, вариации «версий» или еще какие-то «варианты» (типа пакет А совместим с А.1 - версии 1.0-1.5, и уже не совместим с версиями 0.1-0.9 и 1.6 и выше)

на выходе

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

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

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

p.s.

про статью в курсе :о)

https://www.linux.org.ru/forum/development/7605313

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

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

 , , ,

sunjob
()

KDE3 Serghei Amelian mod - ошибка сборки

Форум — Development

добрый день

ошибка сборки

/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: cannot find -lINTERFACE
/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: cannot find -lPRIVATE

обычно подобные «ошибки» проявляются, если линковщиком не находится к.л. библиотека

ld cannot find -l<library>

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

в любом случае я не знаю «что делать» :о)

«порывшись» в коде, нашел подходящие вхождения

cmake/KDE3Macros.cmake

# set interface libraries (only for shared)
unset( _shared_libs )
foreach( _lib ${_link} )
  if( NOT ${_lib} MATCHES ".+-static" )
    list( APPEND _shared_libs ${_lib} )
  endif(  )
endforeach( )
target_link_libraries( ${_target} INTERFACE ${_shared_libs} )

# set embedded archives
if( _embed )
  list( INSERT _link 0 -Wl,-whole-archive ${_embed} -Wl,-no-whole-archive )
endif( )

# set link libraries
if( _link )
  target_link_libraries( ${_target} PRIVATE ${_link} )
endif( )

# set dependencies
if( _dependencies )
  add_dependencies( ${_target} ${_dependencies} )
endif( )

внимательно присмотрешись и напрягжи свои извилины ... ни чего не нашел «поясняющего»

ИТАК, вопросы, пожелания:

- можно в качестве помощи «просто пофилософствовать», приветствуется, что, надеюсь, поможет собраться с мыслями и найти решение

- можно прямо носом в код ткнуть

- можно ключ. слова

- можно ... да все можно, выслушаю внимательно

спасибо

https://github.com/serghei?tab=repositories
Slackware 13.37 x32
ошибка сборки пакета - kdelibs

из данной «сборки» уже нормально собраны след. пакеты:

- qt3
- arts
- dbus-qt3
- poppler
- qca-tls1
- qca1

 ,

sunjob
()

KDE-3.5.10 for Slackware-13.37 x32/x64

Форум — Desktop

KDE-3.5.10 for Slackware-13.37 x32/x64 сборка от русских физиков

префикс установки KDE3/QT3

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 KDE-3.5.10_SL13.37

URL общий архив

p.s.

- перед использованием, можно потестировать на виртуалке, vbox-images в архиве
- на чистую/только что установленную систему ставится без проблем
- внимательно читаем/смотрим/грызем текстовые файлы, каталоги со скринами...
- !!! НЕ РЕКОМЕНДУЕТСЯ НАЧИНАЮЩИМ !!!

для начинающих будет лучше сделать так:

1. скачать образ virtualBox-a (смотрим "чедакакь")
2. установить на стоковую/нулевую слаку (смотрим "чедакакь")
3. и... если уж совсем хочется ставим второй осью (смотрим "чедакакь")
4. итд...

и все это "счастье" - НЕ ОСВОБОЖДАЕТ от
- чтения ДОКУМЕНТАЦИИ по оси
- чтения текстовых файлов/описаний/каталогов со скринами к сборке
- решения текущих вопросов
- использования по назначению головы, рук, клавиатуры, форумов, вопрос-ответ-диалог итд ...

tag: slackware kde3 desktop

 , ,

sunjob
()

KDE3 - формирование переменных окружения startkde

Форум — Admin

добрый день

нужен волшебный пендель от гуру :о)

делаю сборку 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 - образ пока закачивается, будет на месте в течении получаса

VboxImage

ScreenShot

 , , ,

sunjob
()

TDE/Trinity & KDE3 for Slackware

Форум — Desktop

TDE/Trinity & KDE3 for Slackware / сборка от русских физиков

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

- TDE 14.0.5 for Slackware 14.1/14.2
- TDE 14.0.4 for Slackware 14.2
- TDE 14.0.1 for Slackware 14.1
- TDE 3.5.10 for Slackware 13.37

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

tag: slackware tde trintiy kde3 desktop

 , , , ,

sunjob
()

slackware - установка пакетов в определенной последовательности

Форум — Admin

добрый день!

вводная:

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)

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

спасибо

 ,

sunjob
()

RSS подписка на новые темы