[csw-maintainers] Buildfarm setup - documentation

Peter FELECAN pfelecan at opencsw.org
Sat Oct 5 11:04:03 CEST 2013


"Maciej (Matchek) Bliziński" <maciej at opencsw.org> writes:

> 2013/10/4 Peter FELECAN <pfelecan at opencsw.org>:
>>> Looks like the missing max_allowed_packet setting.
>>
>> But:
>>
>> $ cat /etc/opt/csw/my.cnf
>> [mysqld]
>> max_allowed_packet=64M
>>
>> how do you explain that? And, of course, the database server was started
>> after the insertion of these lines.
>
> Maybe there's another file taking precedence that you've created
> earlier. You can look in the startup script to see the possible my.cnf
> file locations.

It is not the case:

$ /opt/csw/libexec/mysqld --verbose --help | less

/opt/csw/libexec/mysqld  Ver 5.5.34 for solaris10 on i386 (OpenCSW)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Starts the MySQL database server.

Usage: /opt/csw/libexec/mysqld [OPTIONS]

Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /etc/opt/csw/my.cnf ~/.my.cnf 
...
max-allowed-packet                                67108864
...

$ ls -l /etc/my.cnf /etc/mysql/my.cnf /etc/opt/csw/my.cnf ~/.my.cnf 
/etc/my.cnf: No such file or directory
/etc/mysql/my.cnf: No such file or directory
/export/home/peter/.my.cnf: No such file or directory
-rw-r--r--   1 root     root          32 Oct  4 15:34 /etc/opt/csw/my.cnf

$ cat /etc/opt/csw/my.cnf 
[mysqld]
max_allowed_packet=64M


>>>> I have seen hour note on the cswutils issue with missing
>>>> dependencies. You need to state which is the correct context of usage
>>>> for pkgdb.
>>>
>>> This is done this way:
>>>
>>> cd .../path/to/gar/sources
>>> bin/pkgdb <command>
>>
>> It wasn't clear at all
>
> Maybe it's just so deeply ingrained in my brain that I no longer see
> it possible any other way. But I do include this explicitly in the new
> setup docs: http://wiki.opencsw.org/checkpkg#toc20

 $ opencsw/.buildsys/v2/bin/pkgdb initdb 2>&1 | tee -a /tmp/pkgdb.log
ERROR:root:Could not create table <class 'models.CatalogGenData'>: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs
Traceback (most recent call last):
  File "opencsw/.buildsys/v2/bin/pkgdb", line 709, in <module>
    main()
  File "opencsw/.buildsys/v2/bin/pkgdb", line 457, in main
    dbc.CreateTables()
  File "/export/home/peter/opencsw/.buildsys/v2/lib/python/database.py", line 164, in CreateTables
    table.createTable(ifNotExists=True)
  File "/opt/csw/lib/python/site-packages/sqlobject/main.py", line 1414, in createTable
    constraints = conn.createTable(cls)
  File "/opt/csw/lib/python/site-packages/sqlobject/dbconnection.py", line 510, in createTable
    self.query(createSql)
  File "/opt/csw/lib/python/site-packages/sqlobject/dbconnection.py", line 414, in query
    return self._runWithConnection(self._query, s)
  File "/opt/csw/lib/python/site-packages/sqlobject/dbconnection.py", line 327, in _runWithConnection
    val = meth(conn, *args)
  File "/opt/csw/lib/python/site-packages/sqlobject/dbconnection.py", line 411, in _query
    self._executeRetry(conn, conn.cursor(), s)
  File "/opt/csw/lib/python/site-packages/sqlobject/mysql/mysqlconnection.py", line 121, in _executeRetry
    raise OperationalError(ErrorMessage(e))
sqlobject.dberrors.OperationalError: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs

>> and, BTW I dare to disagree with the idea that
>> cswutils should not contain pkgdb and it must be run from mgar. The use
>> case for which I care is when the database server is not the building
>> machine.
>
> There are two separate issues:
>
> 1. what there is
> 2. what there ought to be
>
> Maybe it'd be better for some reason if pkgdb worked from /opt/csw/bin
> (issue 2), but it currently doesn't (issue 1). So if you try running
> the one from /opt/csw/bin, it will likely fail.

I understand. However, I gave you an user case where is better to have
it packaged. What do you think? It's just a question of packaging the
right and update stuff. What the heck, we have packaged thousands of
projects but we cannot package our own tools?
-- 
Peter


More information about the maintainers mailing list