Changes between Version 4 and Version 5 of HowToTest


Ignore:
Timestamp:
Jan 30, 2010, 5:32:16 PM (16 years ago)
Author:
yavorescu
Comment:

Осъвременяване спрямо 2.30

Legend:

Unmodified
Added
Removed
Modified
  • HowToTest

    v4 v5  
    1919(Оттук нататък обясненията са ориентирани към Дебиан или дистрибуции, деривати на Дебиан.  При другите дистрибуции процедурата е същата, но имената на пакетите може да се различават.)
    2020
    21 Инсталирайте GCC, GNU make, заглавните файлове на GNU libc (в Дебиан пакета се казва libc-dev, но е най-лесно направо да се инсталира build-essential), autoconf, automake, libtool и Git.
    22 
    23 {{{
    24 $ sudo aptitude install build-essential autoconf automake libtool git-core
     21Инсталирайте GCC, GNU make, заглавните файлове на GNU libc (в Дебиан пакета се казва libc-dev, но е най-лесно направо да се инсталира build-essential), autoconf, automake, libtool, waf и Git.
     22
     23{{{
     24$ sudo aptitude install build-essential autoconf automake libtool git-core waf
    2525}}}
    2626
     
    9090
    9191# Променете спрямо целевата версия на GNOME.
    92 moduleset = 'gnome-2.28'
     92moduleset = 'gnome-2.30'
    9393
    9494# Списък с модули за компилиране.  Ако превеждате модули, които не са
    9595# в официално издание на GNOME (напр. Rhythmbox, GIMP и т.н.), може да
    9696# ги добавите тук.
    97 modules = [ 'meta-gnome-desktop', 'meta-gnome-proposed', 'gedit-plugins',
    98             'epiphany-extensions', 'gst-plugins-bad', 'gst-plugins-ugly' ]
     97modules = [ 'meta-gnome-desktop', 'meta-gnome-proposed', 'eog-plugins',
     98            'epiphany-extensions', 'gedit-plugins', 'gst-plugins-bad',
     99            'gst-plugins-ugly', 'dia', 'gnumeric' ]
    99100
    100101# Модули, които да не се компилират, а да се използва пакет от дистрибуцията.
     
    106107         'libvolume_id', 'hal', 'icon-naming-utils', 'libtasn1', 'liboil',
    107108         'startup-notification', 'gnutls', 'sqlite3', 'mozilla', 'enchant',
    108          'libproxy', 'libunique', 'gnome-disk-utility', 'nspr', 'nss',
     109         'libproxy', 'gmime', 'gmime-2-2', 'libunique', 'nspr', 'nss',
    109110         'libical', 'libgsf', 'iso-codes', 'libsndfile', 'speex', 'pulseaudio',
    110111         'libcanberra', 'poppler', 'libggz', 'ggz-client-libs',
    111          'libmusicbrainz', 'autogen', 'perl-net-dbus' ]
     112         'libmusicbrainz', 'autogen', 'perl-net-dbus', 'gtk-vnc', 'libcroco',
     113         'libgdiplus', 'libnice', 'libnotify', 'ndesk-dbus', 'gssdp', 'gupnp',
     114         'gupnp-av', 'ndesk-dbus-glib', 'pysqlite2', 'pyxdg', 'raptor',
     115         'libnl', 'mono-addins' ]
    112116
    113117# Основен път към хранилищата.
     
    126130# -Wno-error е за модули, при които разработчиците са задали -Werror и всяко
    127131# предупреждение на компилатора се счита за фатална грешка.
    128 module_autogenargs['devhelp'] = autogenargs + ' CFLAGS=-Wno-error'
    129 module_autogenargs['nautilus'] = autogenargs + ' CFLAGS=-Wno-error'
     132module_autogenargs['empathy'] = autogenargs + ' CFLAGS=-Wno-error'
     133
     134# --enable-python е за приставките на Питон.  --disable-nm е без поддръжка на
     135# NetworkManager (иначе трябва да се инсталира).
     136module_autogenargs['evolution'] = autogenargs + ' --with-openldap --enable-python --disable-nm'
     137
     138# Това ни трябва за да тестваме всички низове касаещи LDAP в e-d-s.
     139module_autogenargs['evolution-data-server'] = autogenargs + ' --with-openldap=yes'
     140
     141module_autogenargs['epiphany'] = autogenargs + ' --disable-introspection'
     142module_autogenargs['epiphany-extensions'] = autogenargs + ' --with-extensions=really-all'
    130143
    131144# Потребителското ръководство на Glade не се инсталира по подразбиране.
    132145module_autogenargs['glade3'] = autogenargs + ' --enable-user-manual'
    133146
    134 # Това ни трябва за да тестваме всички низове касаещи LDAP в e-d-s.
    135 module_autogenargs['evolution-data-server'] = autogenargs + ' --with-openldap=yes'
    136 
    137 # --enable-python е за приставките на Питон.  --disable-nm е без поддръжка на
    138 # NetworkManager (иначе трябва да се инсталира).  За LDFLAGS е нужно малко повече
    139 # обяснение...  Когато някои от зависимите библиотеки са инсталирани в /usr/lib или
     147module_autogenargs['gobject-introspection'] = autogenargs + ' --disable-gtk-doc'
     148module_autogenargs['gnome-bluetooth'] = autogenargs + ' --disable-introspection'
     149module_autogenargs['gnome-utils'] = autogenargs + ' CFLAGS=-Wno-error'
     150module_autogenargs['librsvg'] = autogenargs + ' --disable-mozilla-plugin'
     151module_autogenargs['nautilus'] = autogenargs + ' CFLAGS=-Wno-error'
     152
     153# Ако използвате системен пакет на dbus (а не компилиран чрез JHBuild),
     154# Tracker се опитва да инсталира org.freedesktop.Tracker*.service в
     155# системната директория, където няма права (а и не желаем това).
     156module_autogenargs['tracker'] = autogenargs + '  --with-session-bus-services-dir=/home/yavor/gnome-trunk/share/dbus-1/services'
     157module_autogenargs['NetworkManager'] = autogenargs + ' --with-udev-dir=/home/yavor/gnome-trunk/lib/udev'
     158
     159# Коментирайте този ред, ако машината ви не е с многоядрен процесор.
     160os.environ['MAKE'] = 'make -j2'
     161
     162# Използване на програмата install-check от дистрибуцията на JHBuild.
     163os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')
     164}}}
     165
     166Ето и един пример за gNewSense DeltaH, която е по-стара дистрибуция (базирана на Ubuntu Hardy).  Тук не могат да се използват доста модули като пакети на дистрибуцията, понеже са с много стари версии.  Налага се и доста по-често да се прибягва до трика с LDFLAGS, защото версията на GLib е още по-стара (2.16.3).
     167
     168{{{
     169# -*- mode: python -*-
     170
     171repos['git.gnome.org'] = 'git://git.gnome.org/'
     172
     173moduleset = 'gnome-2.30'
     174
     175use_local_modulesets = True
     176
     177modules = [ 'meta-gnome-desktop', 'meta-gnome-proposed', 'eog-plugins',
     178            'epiphany-extensions', 'gedit-plugins', 'gst-plugins-bad',
     179            'gst-plugins-ugly', 'dia', 'gnumeric' ]
     180
     181skip = [ 'libgpg-error', 'expat', 'fontconfig', 'audiofile',
     182         'desktop-file-utils', 'libdaemon', 'avahi', 'libtasn1', 'liboil',
     183         'mozilla', 'enchant', 'nspr', 'nss', 'iso-codes', 'libsndfile',
     184         'libggz', 'ggz-client-libs', 'libmusicbrainz', 'autogen',
     185         'perl-net-dbus', 'pyxdg', 'pysqlite2' ]
     186
     187checkoutroot = os.path.expanduser('~/src/gnome/trunk')
     188
     189prefix = '/home/yavor/gnome-trunk'
     190
     191autogenargs='--disable-static --enable-gtk-doc'
     192
     193# За LDFLAGS е нужно малко повече обяснение...
     194# Когато някои от зависимите библиотеки са инсталирани в /usr/lib или
    140195# /usr/local/lib, и те се свързват динамично с по-стара версия на GLib (например
    141196# в този случай GLib 2.20.4), се получава неприятен момент с "unresolved symbols":
     
    145200# налага, и спокойно може да махнете LDFLAGS когато обновите системата с по-нова
    146201# версия на проблематичната библиотека (тогава тя ще съдържа липсващите символи).
    147 module_autogenargs['evolution'] = autogenargs + ' --with-openldap --enable-python --disable-nm \
    148   LDFLAGS=-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so'
    149 
    150 module_autogenargs['gnome-games'] = autogenargs + ' LDFLAGS="-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so \
    151   -Wl,/home/yavor/gnome-trunk/lib/libgobject-2.0.so"'
    152 module_autogenargs['gnome-power-manager'] = autogenargs + ' CFLAGS=-Wno-error'
    153 module_autogenargs['epiphany-extensions'] = autogenargs + ' --with-extensions=really-all'
    154 
    155 # Приставката за Epiphany не е приспособена към WebKit.
    156 module_autogenargs['seahorse-plugins'] = autogenargs + ' --disable-epiphany'
    157 
    158 # Ако използвате системен пакет на dbus (а не компилиран чрез JHBuild),
    159 # Tracker се опитва да инсталира org.freedesktop.Tracker*.service в
    160 # системната директория, където няма права (а и не желаем това).
    161 module_autogenargs['tracker'] = autogenargs + '  --with-session-bus-services-dir=/home/yavor/gnome-trunk/share/dbus-1/services'
    162 
    163 # Коментирайте този ред, ако машината ви не е с многоядрен процесор.
    164 os.environ['MAKE'] = 'make -j2'
    165 
    166 # Използване на програмата install-check от дистрибуцията на JHBuild.
    167 os.environ['INSTALL'] = os.path.expanduser('~/bin/install-check')
    168 }}}
    169 
    170 Ето и един пример за gNewSense DeltaH, която е по-стара дистрибуция (базирана на Ubuntu Hardy).  Тук не могат да се използват доста модули като пакети на дистрибуцията, понеже са с много стари версии.  Налага се и доста по-често да се прибягва до трика с LDFLAGS, защото версията на GLib е още по-стара (2.16.3).
    171 
    172 {{{
    173 # -*- mode: python -*-
    174 
    175 repos['git.gnome.org'] = 'git://git.gnome.org/'
    176 
    177 moduleset = 'gnome-2.28'
    178 
    179 use_local_modulesets = True
    180 
    181 modules = [ 'meta-gnome-desktop', 'meta-gnome-proposed', 'gedit-plugins',
    182             'epiphany-extensions', 'gst-plugins-bad', 'gst-plugins-ugly' ]
    183 
    184 skip = [ 'libgpg-error', 'expat', 'fontconfig', 'audiofile',
    185          'desktop-file-utils', 'libdaemon', 'avahi', 'libtasn1', 'liboil',
    186          'mozilla', 'enchant', 'gnome-disk-utility', 'nspr', 'nss',
    187          'iso-codes', 'libsndfile', 'ekiga', 'DeviceKit', 'libggz',
    188          'ggz-client-libs', 'gnome-power-manager', 'gnome-user-share',
    189          'libmusicbrainz', 'autogen', 'perl-net-dbus' ]
    190 
    191 checkoutroot = os.path.expanduser('~/src/gnome/trunk')
    192 
    193 prefix = '/home/yavor/gnome-trunk'
    194 
    195 autogenargs='--disable-static --enable-gtk-doc'
    196202module_autogenargs['devhelp'] = autogenargs + ' CFLAGS=-Wno-error LDFLAGS="-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so \
    197203  -Wl,/home/yavor/gnome-trunk/lib/libgobject-2.0.so"'
     
    204210  LDFLAGS=-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so'
    205211module_autogenargs['evolution-data-server'] = autogenargs + ' --with-openldap=yes'
     212module_autogenargs['evolution-exchange'] = autogenargs + ' LDFLAGS=-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so'
     213module_autogenargs['gobject-introspection'] = autogenargs + ' --disable-gtk-doc'
     214module_autogenargs['gnome-bluetooth'] = autogenargs + ' --disable-introspection'
    206215module_autogenargs['gnome-games'] = autogenargs + ' LDFLAGS="-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so
    207216  -Wl,/home/yavor/gnome-trunk/lib/libgobject-2.0.so -Wl,/home/yavor/gnome-trunk/lib/libgio-2.0.so \
    208   -Wl,/home/yavor/gnome-trunk/lib/libgdk_pixbuf-2.0.so"'
    209 module_autogenargs['evolution-exchange'] = autogenargs + ' LDFLAGS=-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so'
     217  -Wl,/home/yavor/gnome-trunk/lib/libgdk_pixbuf-2.0.so" --disable-introspection'
    210218module_autogenargs['glade3'] = autogenargs + ' --enable-user-manual'
    211219module_autogenargs['gstreamer'] = autogenargs + ' CFLAGS=-Wno-error'
    212220module_autogenargs['gst-plugins-bad'] = autogenargs + ' CFLAGS=-Wno-error'
     221module_autogenargs['gst-plugins-base'] = autogenargs + ' CFLAGS=-Wno-error'
    213222module_autogenargs['gst-plugins-good'] = autogenargs + ' CFLAGS=-Wno-error'
    214223module_autogenargs['gtk+'] = autogenargs + ' LDFLAGS=-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so'
     
    217226module_autogenargs['seahorse-plugins'] = autogenargs + ' --disable-epiphany'
    218227module_autogenargs['tracker'] = autogenargs + ' CPPFLAGS=-I/usr/include/uuid'
     228module_autogenargs['yelp'] = autogenargs + ' LDFLAGS="-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so \
     229  -Wl,/home/yavor/gnome-trunk/lib/libgobject-2.0.so"'
     230module_autogenargs['DeviceKit-power'] = autogenargs + ' CFLAGS=-Wno-error'
    219231module_autogenargs['WebKit'] = autogenargs + ' LDFLAGS="-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so \
    220   -Wl,/home/yavor/gnome-trunk/lib/libgobject-2.0.so"'
    221 module_autogenargs['yelp'] = autogenargs + ' LDFLAGS="-Wl,/home/yavor/gnome-trunk/lib/libglib-2.0.so \
    222232  -Wl,/home/yavor/gnome-trunk/lib/libgobject-2.0.so"'
    223233