Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: senser в Nov 18, 2006, 18:19



Титла: Gbgoffice ebuild за gentoo
Публикувано от: senser в Nov 18, 2006, 18:19
Здравейте,

От доста време ползвам въпросния речник "gbgoffice" и съм доволен. Преди два дена в пристъп на малоумие си затрих "/usr" директорията и се наложи да си преинсталирам Джентоо-то и като стигнах до инсталирането на gbgoffice си помислих, че няма да е лошо да мога да го инсталирам през portage вместо всеки път да компилирам сорса "на ръка". Знаех, че има ebuild, но за KDE версията на bgoffice, а аз от известно време взех да се кефя повече на Гноме. И така се хванах да го напиша и ето резултата:
Примерен код

# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

inherit eutils gnome2

DESCRIPTION="A GTK2 version of kbgoffice - a very nice Bulgarian<-->English dictionary"
HOMEPAGE="http://gbgoffice.info"
SRC_URI="http://openfmi.net/frs/download.php/341//${P}.tar.gz
      http://mesh.dl.sourceforge.net/sourceforge/bgoffice/full-pack.tar.bz2"

SLOT="0"
LICENSE="GPL-2"
KEYWORDS="~x86 ~amd64"
IUSE="light"

DEPEND=">=dev-libs/libsigc++-2*
      >=dev-cpp/gtkmm-2.4*
      >=dev-cpp/glibmm-2.4*"
      

src_unpack() {
   einfo "Source unpacking..."
   if [ "${A}" != "" ]; then
        unpack ${A} || die "Failed to unpack needed sources!"
   fi
   cd ${S}   
   }

src_compile() {
   local myconf
   if use light; then
      myconf="${myconf} --enable-light-version"
   fi
   einfo "Configuring..."
    if [ -x ./configure ]; then
      econf ${myconf} || die "Configuring failed!"
   fi
   einfo "Building..."
   if [ -f Makefile ] || [ -f GNUmakefile ] || [ -f makefile ]; then
      emake || die "Building failed!"
   fi
}

src_install() {
   #Installing dict
   einfo "Installing dictionary..."
   emake DESTDIR="${D}" install #|| die "Install failed!"
   # Install the full dictionary pack
   einfo "Installing full dictionary pack..."
        for file in ${WORKDIR}/full-pack/data/*; do
                install -m 644 ${file} ${D}/usr/share/bgoffice ||ewarn "Install of dict files failed!"
        done
   }



Инсталира се нормално при мен и който иска може да го пробва - тествал съм го само на ~amd64.

Приемам всякакви идеи и предложения за подобрения - ако някой примерно има идея да пипнем малко сорса да се създава и файл за "Application" менюто на Гноме за да се добавя по време на инсталация.

П.П. Идеята за инсталирането на самите речници е взета от ebuild-a на Искрен Славов, за което съм благодарен и го поздравявам


Титла: Gbgoffice ebuild за gentoo
Публикувано от: alabal в Nov 19, 2006, 14:59
Братко!
Инсталира се и работи отлично и под ~x86, но така както си дал ebuild-а е малко грубичко.
Първо трябва да укажеш номера на версията - файлът трябва да бъде записан като gbgoffice-1.4.ebuild, а и освен това трябва да бъде записан в директория /usr/portage/gbgoffice.
Така, обаче при всеки emerge --sync директорията ще бъде изтрита.
Ето защо, аз направих следното:
добавих реда:
PORTDIR_OVERLAY="/usr/local/portage"
в /etc/make.conf и създадох новата дирекрия:
mkdir - p /usr/local/portage/app-dicts/gbgoffice
Записах ebuild-a, като gbgoffice-1.4.ebuild в тази директория след което изпълних:
ebuild /usr/local/portage/app-dicts/gbgoffice/gbgoffice-1.4.ebuild digest
emerge gbgoffice -av
Всичко работи, браво за ebuild-a.





Титла: Gbgoffice ebuild за gentoo
Публикувано от: senser в Nov 19, 2006, 17:15
здравей братко alabal

прав си разбира се със забележките - файла трябва да се именува gbgoffice-1.4.ebuild  както е според "Gentoo Development Guide", също така трябва да се сложи и в /usr/local/portage (или където е указан PORTDIR_OVERLAY) като се спазва логиката за структурата на директорията пак според "Gentoo Development Guide"

тези подрбоности не ги дадох защото реших, че всеки потребител на Gentoo, който тръгва да инсталира ebuilds, които са извън  portage  ги знае, но ти си свършил и тази работа  :ok:

при мен структурата на /usr/local/portage e нещо такова:
Примерен код

ls -laR /usr/local/portage/
/usr/local/portage/:
total 0
drwxr-xr-x  3 root root  80 2006-11-18 07:45 .
drwxr-xr-x 10 root root 312 2006-11-15 00:33 ..
drwxr-xr-x  3 root root  80 2006-11-18 07:46 app-dicts

/usr/local/portage/app-dicts:
total 0
drwxr-xr-x 3 root root  80 2006-11-18 07:46 .
drwxr-xr-x 3 root root  80 2006-11-18 07:45 ..
drwxr-xr-x 3 root root 136 2006-11-18 16:47 gbgoffice

/usr/local/portage/app-dicts/gbgoffice:
total 8
drwxr-xr-x 3 root root  136 2006-11-18 16:47 .
drwxr-xr-x 3 root root   80 2006-11-18 07:46 ..
drwxr-xr-x 2 root root   88 2006-11-18 14:23 files
-rw-r--r-- 1 root root 1409 2006-11-18 16:08 gbgoffice-1.4.ebuild
-rw-r--r-- 1 root root 1080 2006-11-18 16:08 Manifest

/usr/local/portage/app-dicts/gbgoffice/files:
total 4
drwxr-xr-x 2 root root  88 2006-11-18 14:23 .
drwxr-xr-x 3 root root 136 2006-11-18 16:47 ..
-rw-r--r-- 1 root root 476 2006-11-18 14:23 digest-gbgoffice-1.4


и "emerge gbgoffice" си работи

поздрави!


Титла: Gbgoffice ebuild за gentoo
Публикувано от: ray в Nov 19, 2006, 17:53
Поздравления,

И аз ще си го сложа, имаше преди време някакъв ebuild из overlay-те, но този изглежда отлично и мисля да го ползвам.
Защо не го пуснеш в Bugzilla-та?
Успех. Румен


Титла: Gbgoffice ebuild за gentoo
Публикувано от: alabal в Nov 19, 2006, 18:10
Хм, братко!
В такава ситуция, според мен, трябва да се пише всичко за всеки. Това е и ценността на gentoo - чистичко да се опишат всички стъпки. Освен това, трябваше да отида на сайта на gbgoffice, за да видя коя е версията на файла.
По-горе редактирах правилните команди - бях забравил основната структура на app-dicts.





Титла: Gbgoffice ebuild за gentoo
Публикувано от: senser в Nov 19, 2006, 18:16
и аз мислех да го пусна в bugzilla , но според мен няма да е лошо да се оправи поне URI-to - мисля да драсна някой ред на авторите като ми остане малко време какво мислят по въпроса

а също ми се искаше и да се направи автоматично добавяне в Application Menu-to на Gnome

дано тази седмица ми остане време да се позанимавам още


Титла: Gbgoffice ebuild за gentoo
Публикувано от: mironcho в Nov 20, 2006, 11:40
Ами пиши на авторите ;)
Иначе, виж какво е писал преди време Здравко Здравков за икон а в старт менюто:

http://zdravko.openintegra.com/


Титла: Gbgoffice ebuild за gentoo
Публикувано от: senser в Nov 20, 2006, 15:41
Цитат (mironcho @ Ноември 20 2006,11:40)
Ами пиши на авторите ;)
Иначе, виж какво е писал преди време Здравко Здравков за икон а в старт менюто:

http://zdravko.openintegra.com/

знам ве брат ама като съм хванал една камара неща и не ми остава време .... :(
иначе поздравления за добрия речник  :ok: и мерси за линка - ще го погледна тези дни


П.П. в предната версия имах леко досаден проблем - при превод на дума от клипборд и трайикона не показваша тултипче (или по скоро се показваше за стотна от секундата и изчезваше) - трябваше главния прозорец да получи фокус за да се покаже и тултиша. Сега в 1.4 версията това се е променило - тултипа се показва но пък е в бекграунд на отворените прозорци и трябва с алт и таб да го намирам. Интересно ми е дали проблема е в Гном или вие сте променили нещо.


Титла: Gbgoffice ebuild за gentoo
Публикувано от: mironcho в Nov 20, 2006, 22:25
Ами има нещо гнило...
По принцип ползвам xfce и като ги тествам тези неща, гледам там да е ОК. Много рядко ползвам gnome или нещо друго. Наскоро пусках за малко gnome и на мен ми направи впечатление че не се държи точно както е замислено.
Така че това със сигурност ще търпи развитие...


Титла: Gbgoffice ebuild за gentoo
Публикувано от: senser в Nov 20, 2006, 22:54
Цитат (mironcho @ Ноември 20 2006,22:25)
Ами има нещо гнило...
По принцип ползвам xfce и като ги тествам тези неща, гледам там да е ОК. Много рядко ползвам gnome или нещо друго. Наскоро пусках за малко gnome и на мен ми направи впечатление че не се държи точно както е замислено.
Така че това със сигурност ще търпи развитие...

в интерес на истината предната версия 1.3 отначало работеше правилно мисля (вече не помня за да съм 100% сигурен обаче) но с течение на времето (ъпдейти) и почна да се държи така

не можах да реша дали проблема е в gbgoffice или в gnome и повече не съм "дълбал"


Титла: Gbgoffice ebuild за gentoo
Публикувано от: ray в Dec 12, 2006, 11:25
Здравейте,

Имах известни проблеми с инсталацията на "gbgoffice".
Първо когато все още бях с "portage" ;) даваше грешка при configure етапа (търсеше atkmm и т.н.).
Прекомпилацията на gtkmm оправи нещата.
Освен това добавих и "eautoconf" в края на unpack().
Тук трябва да се добави и 'autotools' към inherit реда.
Може и да е излишно, не съм проверявал без него.
След това минах на "paludis" (поне на лаптопа) и той даваше предупреждение за този ebuild - и по-точно за използването на следната концепция: >=dev-cpp/gtkmm-2.4* (и за glib etc)
Тук мисля (не съм сигурен обаче) че не е необходимо да се цитира точно slota на gtkmm - 2.4 а по-добре е така:
">=dev-cpp/gtkmm-2.8.3".
Това е текущата стабилна версия на gtkmm.
Направих същото и за libsigc++ и glibmm, след това (поне paludis) не даваше предупреждения. Portage нямаше никакви оплаквания с това означение.
Общо взето няма проблем с ebuild-a но пиша просто за да споделя своя опит с този ebuild (и с gbgoffice).
Thanks authors.
Румен


Титла: Gbgoffice ebuild за gentoo
Публикувано от: senser в Dec 12, 2006, 14:07
а я сподели и опита си с paludis всравнение с portage


Титла: Gbgoffice ebuild за gentoo
Публикувано от: ray в Dec 12, 2006, 14:58
Здравейте,

Скорошния ми опит ми е само от 2-3 дни (поне с последните версии), иначи пробвах 0.2.Х версиите - наистина бяха доста бъгави, но общо взето работеха ;)
В момента ползвам paludis, gentoolkit (revdep-rebuild) пачнат за него и също пачнат portage-utils (q-series utils), изглежда че работят :)
Определено е доста бърз, малко необичайна е конфигурацията и работата, но освен 1-2 проблема (трябваше да ползвам overlay) съм доволен.
Мигрирах чрез скрипт  (http://paludis.berlios.de).
Това е засега. Има доста повече за QA (поне по utils, docs).
Поздрави. Румен





Титла: Gbgoffice ebuild за gentoo
Публикувано от: alabal в Dec 19, 2006, 10:26
Здравейте!
След обновяване на portage до portage-2.1.2_rc3-r6
# emerge gbgoffice
ми даваше следната грешка:
Цитат
"invalid atom: '>=dev-libs/libsigc++-2*'"

Parent: ('ebuild', '/', 'app-dicts/gbgoffice-1.4', 'merge';)

>=dev-libs/libsigc++-2* >=dev-cpp/gtkmm-2.4* >=dev-cpp/glibmm-2.4* >=sys-apps/sed-4

Очевидно е промен синтаксиса на DEPEND.
След като го промених от
Цитат
DEPEND=">=dev-libs/libsigc++-2*
>=dev-cpp/gtkmm-2.4*
>=dev-cpp/glibmm-2.4*"

на
Цитат
DEPEND="dev-libs/libsigc++
dev-cpp/gtkmm
dev-cpp/glibmm"


Грешката изчезна. Не знам до колко е правилна тази промяна - не съм търсил в документацията информация за тези промени.

P.S.: А! Кой да прочете едно съобщение по-горе, това което е казал ray! Все пак го оставям, като вариант!





Титла: Gbgoffice ebuild за gentoo
Публикувано от: ray в Dec 19, 2006, 11:30
Здравейте,

Мисля, че е добре да се слагат някакви (поне минимални) версии на зависимостите (особено когато има и SLOTs :)
 eix dev-libs/libsigc++
* dev-libs/libsigc++
     Available versions:  1.0.4-r2:1.0 1.0.4-r3:1.0 1.2.5:1.2 2.0.5:2 2.0.11:2 2.0.14:2 2.0.15:2 2.0.16:2 ~2.0.17:2
     Installed:           2.0.16
     Homepage:            http://libsigc.sourceforge.net/
     Description:         Typesafe callback system for standard C++
Тук, например има 3-слота: 1, 1.2 и 2
Не съм гледал за другите пакети.
Румен