Best way to build language packs

View: New views
3 Messages — Rating Filter:   Alert me  

Best way to build language packs

by Renato Cunha :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi,

I've been maintaining the OpenOffice.org package for dropline GNOME (a GNOME
distribution for slackware) [1] for some years now, but there's still
one question that bothers me: "What is the best way to generate a main
openoffice package in english and all supported language packs as separated
packages?"

For the 2.x series I used to use a script[2] I wrote for the Dropline Build
System[3]* that would use the lang_${lang}_list.txt files to figure which files
belonged to which langpack and, from there, the script moved the files and
built the language packs accordingly[4].

One of the previous versions of that script just used the method described on
OpenOffice.org's page, which involves calling "dmake ooolanguagepack", but
that was suboptimal, because:

 1- It, AFAIK, generated the packs using a "non-standard" path
 (/opt/something, when we use /usr/lib/ooo-$version)

 2- It saved the output in rpm, and then a conversion to slackware's tgz was
 needed.

I would be happy if the script still worked on 3.x, but it doesn't work
anymore. So I need some pointers to know where to start looking to restore the
behavior of my build script. Any suggestions?

[1] http://www.droplinegnome.org/?page_id=14
[2] http://apps.sourceforge.net/trac/dropline-gnome/browser/dbs/trunk/SCRIPTS/openoffice/build
[3] http://apps.sourceforge.net/trac/dropline-gnome/browser/dbs/trunk
[4] http://apps.sourceforge.net/trac/dropline-gnome/browser/dbs/trunk/SCRIPTS/openoffice/build

* Dropline Build System is the build system we developed to abstract some
package creation tasks for dropline GNOME.

Thanks in advance,
--
Renato Cunha <http://renatocunha.com>
dropline GNOME page: <http://trovao.droplinegnome.org>
A note on word processors: http://ricardo.ecn.wfu.edu/~cottrell/wp.html
The ship of failure floats on a sea of excuses
                                     - Portal?


_______________________________________________
Dev mailing list
Dev@...
http://lists.go-oo.org/listinfo.cgi/dev-go-oo.org

attachment0 (204 bytes) Download Attachment

Re: Best way to build language packs

by Petr Mladek :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Friday 29 May 2009, Renato Cunha wrote:

> Hi,
>
> I've been maintaining the OpenOffice.org package for dropline GNOME (a
> GNOME distribution for slackware) [1] for some years now, but there's still
> one question that bothers me: "What is the best way to generate a main
> openoffice package in english and all supported language packs as separated
> packages?"
>
> For the 2.x series I used to use a script[2] I wrote for the Dropline Build
> System[3]* that would use the lang_${lang}_list.txt files to figure which
> files belonged to which langpack and, from there, the script moved the
> files and built the language packs accordingly[4].

A similar approach should work with OOo-3.x as well. I am uploading our SLED10
package sources at
http://download.go-oo.org/tstnvl/bs/SOURCES/sled10-ooo-3.1.0.6/OpenOffice_org

You might be especially interested into
http://download.go-oo.org/tstnvl/bs/SOURCES/sled10-ooo-3.1.0.6/OpenOffice_org/OpenOffice_org.spec
and the %prep, %build, %install, %files sections.

You could see that we still use the configure/make/make install approach and
that we still get the language specific file lists: lang_af_list.txt,
lang_ar_list.txt, ...

Two important things comes to my mind:

1. The file lists are created only when you define the variable DESTDIR

        make DESTDIR=$RPM_BUILD_ROOT install

        The variable RPM_BUILD_ROOT is rpm specific and is defined by
        BuildRoot:      %{_tmppath}/%{name}-%{version}-build

        In our case it is expanded to /var/tmp/OpenOffice_org-3.1-build

        It means that you install everything into this prefix, so you do not
        replace OOo that might be installed on your system from an older
        packages.

2. File lists are produced by the upstream installer. They are later processed
in ooo-build/bin/package-ooo. See the commands like merge_flists,
mv_file_between_flists, ... There are many distribution-specific hacks. You
might need to do some extra hacks for your distro.

> One of the previous versions of that script just used the method described
> on OpenOffice.org's page, which involves calling "dmake ooolanguagepack",
> but that was suboptimal, because:
>
>  1- It, AFAIK, generated the packs using a "non-standard" path
>  (/opt/something, when we use /usr/lib/ooo-$version)
>
>  2- It saved the output in rpm, and then a conversion to slackware's tgz
> was needed.

Yes. This is creates the package the upstream way. You should call make
install if you want to use the ooo-build way.



--
Best Regards,

Petr Mladek
software developer
---------------------------------------------------------------------  
SUSE LINUX, s. r. o.                        e-mail: pmladek@...
Lihovarská 1060/12                          tel: +420 284 028 952
190 00 Prague 9                             fax: +420 284 028 951
Czech Republic                              http://www.suse.cz/
_______________________________________________
Dev mailing list
Dev@...
http://lists.go-oo.org/listinfo.cgi/dev-go-oo.org

Re: Best way to build language packs

by Renato Cunha :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello Petr,

your email was enlightening, and hopefully it contains the solution to the
problems I was facing. I'll study the links you suggested and report back if
needed.

On Fri, May 29, 2009 at 01:42:41PM +0200, Petr Mladek wrote:
> You could see that we still use the configure/make/make install approach and
> that we still get the language specific file lists: lang_af_list.txt,
> lang_ar_list.txt, ...

It is good to know that my intuitive solution was actually very similar to
what you use. :)

> Two important things comes to my mind:
>
> 1. The file lists are created only when you define the variable DESTDIR
>
> make DESTDIR=$RPM_BUILD_ROOT install

I am glad this thing came to your mind. I never got the time to analyse why
the build of the language packs was failing, but if it needs the DESTDIR
variable to be defined, then I should recheck my build script.

Best regards,
--
Renato Cunha <http://renatocunha.com>
dropline GNOME page: <http://trovao.droplinegnome.org>
A note on word processors: http://ricardo.ecn.wfu.edu/~cottrell/wp.html
The ship of failure floats on a sea of excuses
                                     - Portal?


_______________________________________________
Dev mailing list
Dev@...
http://lists.go-oo.org/listinfo.cgi/dev-go-oo.org

attachment0 (204 bytes) Download Attachment