+7 499 990-10-21

Денси касса на федоре и других..

Денси касса на федоре и других..

Сообщение BigAndy » 29 ноя 2009, 17:15

Поковыряв немного денси-кассу, прикрутил ее к федоре 11 и 12..
Кому надо рецептик??

Зы. Возможно вообще запускать без DE. работает "наура". Имхо DE для такой легковесной программы - пятое колесо.

Сейчас прикручиваем типа-бэкофис на ОпенОфис-base. У кого будут мысли какие-нть по функциональности, с удовольствием выслушаем, и, может быть, воплотим. Пока допиливается перенос товаров в базу postgresql.

PS. обращение денси-кассы к localhost при работе с базой данных жестко вшито в код или можно как-то что-то подправить, чтобы работало с корпоративной БД на postgresql?
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

Re: Денси касса на федоре и других..

Сообщение Spike » 29 ноя 2009, 18:07

Ты можешь сделать spec файл для собрки rpm пакета для федоры ???
Spike
 
Постов: 400
Зарегистрирован: 26 авг 2009, 15:33
Откуда: Курская обл. г.Льгов

Re: Денси касса на федоре и других..

Сообщение Alexander » 29 ноя 2009, 18:26

Параметры подключения к БД хранятся в файлах /etc/dancy/LinCash_db.conf и /etc/dancy/Transaction_db.conf
Но при использовании сетевой БД следует иметь ввиду, что в текущей версии ДЭНСИ: КАССы нет функции резервирования БД, то есть если сетка "отвалится", кассовое место "встанет"
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Денси касса на федоре и других..

Сообщение Spike » 29 ноя 2009, 18:33

А если сделать репликацию баз данных средствами самого сервера http://opennet.ru/base/dev/slony_replication.txt.html
Spike
 
Постов: 400
Зарегистрирован: 26 авг 2009, 15:33
Откуда: Курская обл. г.Льгов

Re: Денси касса на федоре и других..

Сообщение Alexander » 29 ноя 2009, 18:37

Будем признательны, если скинете схему настройки запуска ДЭНСИ: КАССы без Desktop Environment на support@dnc-soft.ru
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Денси касса на федоре и других..

Сообщение Alexander » 29 ноя 2009, 18:41

Если репликацию делать штатными средствами, тогда настраивать в ДЭНСИ: КАССе сетевое подключение нет смысла. Если будет опыт такого использования - пишите. Мы считаем, что резервирование по разработанному и запланированному к реализации нами алгоритму будет работать быстрее, поскольку учитывает структуру БД и функциональное назначение таблиц.
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Денси касса на федоре и других..

Сообщение BigAndy » 29 ноя 2009, 21:31

Ты можешь сделать spec файл для собрки rpm пакета для федоры ???

Запихивать в rpm или сочинять spec нет смысла, ибо сборки бинарные и, скорее всего, со статически вкомпиленными библиотеками (за исключением QT3). протсо все это запихивается по адресам.

Достаточно сделать слдедующее:
Код: Выделить всё
yum install qt3 postgresql-server postgresql.


Далее выдираем настройки Postgres и засыпаем их в отдельный скрипт:

Код: Выделить всё
$ cat dnc_kassa/dnc_kassa/scripts/setup_dnc_postgresql_fedora
#!/bin/bash                                                                 

# configuring Postgresql ....
Ну, думаю, мы это сделаем сами... ибо в противном случае каждый раз настраиваь нет смысла.
Код: Выделить всё
.......#echo 'Настраиваем Postgres...' >> /tmp/dnc_setup.log
# echo "15"
# ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc0.d/K15postgresql
#ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc1.d/K15postgresql
#ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc2.d/K15postgresql
#ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc3.d/S52postgresql
#ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc4.d/S52postgresql
#ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc5.d/S52postgresql
# ln -s /etc/rc.d/init.d/postgresql /etc/rc.d/rc6.d/K15postgresql


#starting Postgresql#
# echo 'Запускаем PostgreSQL...' >> /tmp/dnc_setup.log
# echo "20"
#/etc/rc.d/init.d/postgresql start
#creating roles and databases
echo 'Создаём пользователей и базы данных...' >> /tmp/dnc_setup.log
echo "85"

на sudo забиваем, ибо в федоре это не "TRUE"
Код: Выделить всё
#sudo -u postgres
createuser -s kassir
#sudo -u postgres
createdb LinCash -E UTF8
#sudo -u postgres
createdb Transaction -E UTF8
#sudo -u postgres
psql LinCash < ../db/LinCash/create_tables.sql
#sudo -u postgres
psql LinCash < ../db/LinCash/InsertParam.sql
#sudo -u postgres
psql Transaction < ../db/Transaction/CreateTable.sql
#sudo -u postgres
psql Transaction < ../db/Transaction/inserts_into_trbase.sql
chkconfig -add 35 postgresql
service postgresql restart


#SIG! psql должен быть той же версии, что и сервер, то есть psql версии 8.4 можно применять к серверу 8.3, но не наоборот. Ну, и в PATH должно быть прописано, дабы не писать полный путь до psql.
#рекомендую сделать тут же psql_dump и даелть его регулярно, настолько реглярно, чтобы быть уверенным в непроивречивости данных. Дальше средствами операционной системы рекомендую делать мультиверсионый инкрементный бекап.

далее запускаем скрипт установки собсно касовой прраммы:
( я убрал оттуда прописывание стартовых настроек из /etc/rc.sysinit и переместил их в rc.local.local, чтобы сделать эти настройки уже после того, как запустится все то, что хранится в rc.local.)
Я закоментировал все упоминания о самбе, ибо этот сплойт нам в сситеме не нужен. Юникс онли = ."Тру".
Для красивости надо наладить синтаксический разбор rc.sysinit и rc.local, rc.local.local, дабы исключить необдуманное добавление туда строк из скрипта. Скорости запуска это не прибавит. Мне после пятикратного запуска базового пришлось выпиливать напильником оттуда лишние строки.
Надо будет наладить разбор настроек, зиписанных в /etc/ и диалог с администратором, чтобы случайно не перезаписать свой же тюнинг.
Но пока оставляем так как есть.
Скрипт модифицирован для запуска из той же дирректории, что

Код: Выделить всё
$ cat dnc_kassa/dnc_kassa/scripts/setup_dnc_fedora
#!/bin/bash -i                                                   

#set -x -n
CHPST=`uname -m`
echo $CHPST     
#cd /media/cdrom/dnc_kassa

case "$CHPST" in
        x86_64) BIN='../bin_64'
                LIBS='../libs_64'
                LDES='/usr/lib64'


                ;;

        *)      BIN='../bin'
                LIBS='../libs'
                LDES='/usr/lib'


                ;;

esac

echo "Начинаем установку" > /tmp/dnc_setup.log
echo "5"                                     
# rm -f /etc/sysconfig/autologin  Это лишняя строчка.
# echo 'AUTOLOGIN=yes' > /etc/sysconfig/autologin   
# echo 'USER='$USER >> /etc/sysconfig/autologin     
# echo 'EXEC=/usr/bin/startx.autologin' >> /etc/sysconfig/autologin
# chown root.root /etc/sysconfig/autologin                         
# chmod 644 /etc/sysconfig/autologin                               
# // у нас таки-федора!!! Никаких аффталогинов!!!                                           
# rm -f /etc/sysconfig/speedboot              Нафик не надо. И так шустро стартует. 
# echo 'SPEEDBOOT=no' > /etc/sysconfig/speedboot                   
# chown root.root /etc/sysconfig/speedboot                         
# chmod 644 /etc/sysconfig/speedboot                               


# installing configuration files
# echo 'Копируем конфигурационные файлы...' >> ~/tmp/dnc_setup.log
# echo "25"                                                       
mkdir /etc/dancy                                                 
chmod 777 /etc/dancy                                             
cp -v ../etc/dancy/* /etc/dancy                                   
chmod 666 /etc/dancy/*                                           
mkdir /etc/hwsrv                                                 
chmod 777 /etc/hwsrv                                             
cp -v ../etc/hwsrv/* /etc/hwsrv                                   
chmod 666 /etc/hwsrv/*                                           
mkdir /tmp/dancy                                                 
chmod 777 /tmp/dancy                                             
mkdir /tmp/dancy/upload_log                                       
chmod 777 /tmp/dancy/upload_log                                   
mkdir /tmp/dancy/unload_log                                       
chmod 777 /tmp/dancy/unload_log                                   
mkdir /tmp/dancy/postgres_log                                     
chmod 777 /tmp/dancy/postgres_log                                 
mkdir /tmp/dancy/conf                                             
chmod 777 /tmp/dancy/conf                                         
mkdir /usr/share/dnc                                             
mkdir /usr/share/dnc/movie                                       
chmod 777 /usr/share/dnc/movie                                   
cp -v ../movie/* /usr/share/dnc/movie                             

# installing binary programs and scripts
#echo 'Устанавливаем программы...' >> /tmp/dnc_setup.log
#echo "30"                                             
cp -v $BIN/Display /usr/bin                             
chmod 755 /usr/bin/Display                             
cp -v $BIN/RMK /usr/bin                                 
chmod 755 /usr/bin/RMK                                 
cp -v $BIN/SetupLoadUnload /usr/bin                     
chmod 755 /usr/bin/SetupLoadUnload                     
cp -v $BIN/WareProject /usr/bin                         
chmod 755 /usr/bin/WareProject                         
cp -v $BIN/AccessRights /usr/bin                       
chmod 755 /usr/bin/AccessRights                         
cp -v $BIN/confGUI /usr/bin                             
chmod 755 /usr/bin/confGUI                             
cp -v $BIN/daemon_unload /usr/bin                       
chmod 755 /usr/bin/daemon_unload                       
cp -v $BIN/reshka /usr/bin                             
chmod 755 /usr/bin/reshka                               
cp -v $BIN/upload /usr/bin                             
chmod 755 /usr/bin/upload                               
cp -v $BIN/run_reshka /usr/bin                         
chmod 755 /usr/bin/run_reshka                           
cp -v $BIN/FindHardPath /usr/bin                       
chmod 755 /usr/bin/FindHardPath                         
cp -v $BIN/dnc_update /usr/bin                         
chmod 755 /usr/bin/dnc_update                           
cp -v $BIN/update_from_cd /usr/bin                     
chmod 755 /usr/bin/update_from_cd                       
# installing share loaded libraries                     
echo 'Устанавливаем библиотеки...' >> /tmp/dnc_setup.log
echo "50"                                               
cp -v $LIBS/libdncaddonfunc.so $LDES                   
chmod 755 $LDES/libdncaddonfunc.so                     
cp -v $LIBS/libdncaddwarecontroller.so $LDES           
chmod 755 $LDES/libdncaddwarecontroller.so             
cp -v $LIBS/libdncauthform.so $LDES                     
chmod 755 $LDES/libdncauthform.so                       
cp -v $LIBS/libdncauthobj.so $LDES                     
chmod 755 $LDES/libdncauthobj.so                       
cp -v $LIBS/libdncblocktimer.so $LDES                   
chmod 755 $LDES/libdncblocktimer.so                     
cp -v $LIBS/libdnccdspview.so $LDES                     
chmod 755 $LDES/libdnccdspview.so                       
cp -v $LIBS/libdncdedicationcombobox.so $LDES           
chmod 755 $LDES/libdncdedicationcombobox.so             
cp -v $LIBS/libdncdialognewscheme.so $LDES             
chmod 755 $LDES/libdncdialognewscheme.so               
cp -v $LIBS/libdncdkbforrussymbol.so $LDES             
chmod 755 $LDES/libdncdkbforrussymbol.so               
cp -v $LIBS/libdncdkbinput.so $LDES                     
chmod 755 $LDES/libdncdkbinput.so                       
cp -v $LIBS/libdncdllog.so $LDES                       
chmod 755 $LDES/libdncdllog.so                         
cp -v $LIBS/libdncencoding.so $LDES                     
chmod 755 $LDES/libdncencoding.so                       
cp -v $LIBS/libdnchwsigcontroller.so $LDES             
chmod 755 $LDES/libdnchwsigcontroller.so               
cp -v $LIBS/libdncmessages.so $LDES                     
chmod 755 $LDES/libdncmessages.so                       
cp -v $LIBS/libdncinserttransaction.so $LDES           
chmod 755 $LDES/libdncinserttransaction.so             
cp -v $LIBS/libdncnewschemeperec.so $LDES               
chmod 755 $LDES/libdncnewschemeperec.so                 
cp -v $LIBS/libdncpgsql.so $LDES                       
chmod 755 $LDES/libdncpgsql.so                         
cp -v $LIBS/libdncreadconf.so $LDES                     
chmod 755 $LDES/libdncreadconf.so                       
cp -v $LIBS/libdncreceipt.so $LDES                     
chmod 755 $LDES/libdncreceipt.so                       
cp -v $LIBS/libdncsetupparam.so $LDES                   
chmod 755 $LDES/libdncsetupparam.so                     
cp -v $LIBS/libdncstatestore.so $LDES                   
chmod 755 $LDES/libdncstatestore.so                     
cp -v $LIBS/libdncstriketabitm.so $LDES                 
chmod 755 $LDES/libdncstriketabitm.so                   
cp -v $LIBS/libhwsrv.so $LDES                           
chmod 755 $LDES/libhwsrv.so                             
cp -v $LIBS/libdnckkmregistration.so $LDES             
chmod 755 $LDES/libdnckkmregistration.so               
cp -v $LIBS/libdnctimedate.so $LDES                     
chmod 755 $LDES/libdnctimedate.so                       
cp -v $LIBS/libdncservice.so $LDES                     
chmod 755 $LDES/libdncservice.so                       
cp -v $LIBS/libdncsetup.so $LDES                       
chmod 755 $LDES/libdncsetup.so                         

# making symlinks
echo "Создаем symlinks..." >> /tmp/dnc_setup.log
echo "70"                                       

link  $LDES/libpq.so.5 $LDES/libpq.so.4
ln -s /etc/rc.d/rc.local /etc/rc.d/rc5.d/S53local
echo 'Устанавливаем права доступа к устройствам...' >> /tmp/dnc_setup.log
echo "80"                                     
#здесь надо органиовать проверку наличия (парсинг) секции модификации rc.local.local, сделанной программой установки.
echo '______________________modified by dnc_setup script______________________ > /etc/rc.d/rc.local.locall                                               
echo 'chmod 644 `FindHardPath`' >> /etc/rc.d/rc.local.locall                   
echo 'chmod 666 /dev/ttyS*' >> /etc/rc.d/rc.local.local
echo '/usr/bin/dnc_update' >> /etc/rc.d/rc.local.local
echo '/usr/bin/upload > /tmp/upload_daemon.out' >> /etc/rc.d/rc.local.local
echo '/usr/bin/daemon_unload > /tmp/unload_daemon.out' >> /etc/rc.d/rc.local.local
echo '/usr/bin/Display > /tmp/display_daemon.out' >> /etc/rc.d/rc.local.local   
echo "sed -i 's/smbfs[ ]/cifs iocharset=utf8,/g' /etc/fstab" >> /etc/rc.d/rc.local.local
echo 'find /home -iname .Xauth* -exec rm -f {} \;' >> /etc/rc.d/rc.local.local
sed -i '\"action \"Setting default font ($SYSFONT): \" /sbin/setsysfont"a\if [ -x /bin/setfont ]; then\n/bin/setfont $SYSFONT\nfi' "/etc/rc.d/rc.local.local
echo '______________________end-section modified by dnc_setup script______________________ > /etc/rc.d/rc.local.locall


echo 'Последние настройки...' >> /tmp/dnc_setup.log
echo "90"                                         
# configuring samba server                         
mkdir /var/Exchange                               
chmod 777 /var/Exchange                           
# нафик самбу!!!  - мы ведь в линуксе!!!           
# cp /etc/samba/smb.conf /etc/samba/smb.conf.dnc   
# cp ../addon_conf/smb.conf /etc/samba/smb.conf   

# configuring icewm  Не айс. Нам пофигу какой клиент. Хоть во фреймбуфере.
# mkdir /etc/icewm                                                         
# chmod 777 /etc/icewm                                                     
# cp -v ../addon_conf/icewm/* /etc/icewm                                   
# chmod 666 /etc/icewm/*                                                   
# chmod 777 /etc/icewm/startup                                             

# configuring Qt
cp -v ../addon_conf/qtrc /etc/qtrc

# making update system for DNC project
mkdir /dnc_update
mkdir /dnc_update/bin
mkdir /dnc_update/libs
mkdir /dnc_update/libs64
chmod 777 /dnc_update
chmod 777 /dnc_update/bin
chmod 777 /dnc_update/libs
chmod 777 /dnc_update/libs64

# making archdb system for DNC project
mkdir /dnc_arch
chmod 777 /dnc_arch

# making dnc_menu
#cd /boot
#mkdir /tmp/dnc_menu
#cp ../gfxmenu /tmp/dnc_menu ; cd /tmp/dnc_menu
#cpio -idmv <gfxmenu
#rm -f ../gfxmenu
#ls > 111
#sed -i '1d' ../111
#rm -f ../back.jpg
##
#cp /media/cdrom/i586/isolinux/back.jpg /tmp/dnc_menu/
#cpio -of < 111 > dnc_menu
#cp ../dnc_menu /boot/
#cd /boot/grub
#sed -i 's/\(.*\)gfxmenu/\1dnc_menu/' "../menu.lst"
#rm -fr /tmp/dnc_menu/

echo "100"
echo "Установка завершена" >> /tmp/dnc_setup.log


запускаем $/usr/bin/reshka
работаем.
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

Re: Денси касса на федоре и других..

Сообщение Alexander » 29 ноя 2009, 22:47

Я бы еще рекомендовал закомментировать вот что:

echo "sed -i 's/smbfs[ ]/cifs iocharset=utf8,/g' /etc/fstab" >> /etc/rc.d/rc.local.local
echo 'find /home -iname .Xauth* -exec rm -f {} \;' >> /etc/rc.d/rc.local.local
sed -i '\"action \"Setting default font ($SYSFONT): \" /sbin/setsysfont"a\if [ -x /bin/setfont ]; then\n/bin/setfont $SYSFONT\nfi' "/etc/rc.d/rc.local.local

Всё это нужно только для Mandriv'ы 2009.0, поскольку исправляет обнаруженные в ней корявки.
Alexander
 
Постов: 4955
Зарегистрирован: 16 авг 2009, 23:34
Откуда: Техподдержка ГК ДЭНСИ

Re: Денси касса на федоре и других..

Сообщение BigAndy » 29 ноя 2009, 23:07

В федоре (с 9й по 11-ю включтельно) setsysfont желательно тоже делать, ибо там есть конфликт системной области, где хранятся шрифты Xorg и область памяти видеокарты. после преклбючения в Xorg при возвращении обратно в консоль будут крякозябры. Если запускать во фреймбуфере, может быть неприятно.
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

Re: Денси касса на федоре и других..

Сообщение BigAndy » 30 ноя 2009, 01:34

Что у вас с системным временм на форуме?)

Код: Выделить всё
BigAndy » Вчера, 22:07
BigAndy
 
Постов: 461
Зарегистрирован: 29 ноя 2009, 17:11

След.

Вернуться в Ваши предложения

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


cron

Кто сейчас на конференции

Сейчас посетителей на конференции: 2, из них зарегистрированных: 0, скрытых: 0 и гостей: 2 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (170) здесь было 16 май 2020, 01:50

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2