[Pkg-ime-devel] Bug#848756: ibus-table-chinese: FTBFS: [Errno 13] Permission denied: '/sbuild-nonexistent'

Adrian Bunk bunk at stusta.de
Tue Dec 20 06:31:08 UTC 2016


Control: reassign -1 ibus-table 1.9.14-2
Control: reassign 848765 ibus-table 1.9.14-2
Control: forcemerge -1 848765
Control: affects -1 src:ibus-table-others src:ibus-table-chinese
Control: retitle -1 ibus-table-createdb fails on non-existing $HOME

On Mon, Dec 19, 2016 at 10:22:37PM +0100, Lucas Nussbaum wrote:
>...
> Relevant part (hopefully):
> > make[3]: Entering directory '/<<PKGBUILDDIR>>'
> > [  4%] Building yong table
> > cd /<<PKGBUILDDIR>>/tables/yong && /usr/bin/ibus-table-createdb -n yong.db -s yong.txt
> > Traceback (most recent call last):
> >   File "/usr/share/ibus-table/engine/tabcreatedb.py", line 29, in <module>
> >     import tabsqlitedb
> >   File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 36, in <module>
> >     import ibus_table_location
> >   File "/usr/share/ibus-table/engine/ibus_table_location.py", line 102, in <module>
> >     __module_init = __ModuleInitializer()
> >   File "/usr/share/ibus-table/engine/ibus_table_location.py", line 96, in __init__
> >     _init()
> >   File "/usr/share/ibus-table/engine/ibus_table_location.py", line 76, in _init
> >     os.makedirs(ibus_table_location['data_home'])
> >   File "/usr/lib/python3.5/os.py", line 231, in makedirs
> >     makedirs(head, mode, exist_ok)
> >   File "/usr/lib/python3.5/os.py", line 231, in makedirs
> >     makedirs(head, mode, exist_ok)
> >   File "/usr/lib/python3.5/os.py", line 231, in makedirs
> >     makedirs(head, mode, exist_ok)
> >   File "/usr/lib/python3.5/os.py", line 241, in makedirs
> >     mkdir(name, mode)
> > PermissionError: [Errno 13] Permission denied: '/sbuild-nonexistent'
> > tables/yong/CMakeFiles/convert_yong.dir/build.make:63: recipe for target 'tables/yong/yong.db' failed
> > make[3]: *** [tables/yong/yong.db] Error 1
>...

Thanks for your report, this seems to be a regression
in ibus-table 1.9.14-2:

$ HOME=/foobar ibus-table-createdb
Traceback (most recent call last):
  File "/usr/share/ibus-table/engine/tabcreatedb.py", line 29, in <module>
    import tabsqlitedb
  File "/usr/share/ibus-table/engine/tabsqlitedb.py", line 36, in <module>
    import ibus_table_location
  File "/usr/share/ibus-table/engine/ibus_table_location.py", line 102, in <module>
    __module_init = __ModuleInitializer()
  File "/usr/share/ibus-table/engine/ibus_table_location.py", line 96, in __init__
    _init()
  File "/usr/share/ibus-table/engine/ibus_table_location.py", line 76, in _init
    os.makedirs(ibus_table_location['data_home'])
  File "/usr/lib/python3.5/os.py", line 231, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.5/os.py", line 231, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.5/os.py", line 231, in makedirs
    makedirs(head, mode, exist_ok)
  File "/usr/lib/python3.5/os.py", line 241, in makedirs
    mkdir(name, mode)
PermissionError: [Errno 13] Permission denied: '/foobar'
$


ibus-table 1.9.1-4 in testing does not seem to have this problem:

$ HOME=/foobar ibus-table-createdb
Usage: tabcreatedb.py [options]

Options:
  -h, --help            show this help message and exit
  -n NAME, --name=NAME  specifies the file name for the binary database for
                        the IME. The default is ''. If the file name of the
                        database is not specified, the file name of the source
                        file before the first '.' will be appended with '.db'
                        and that will be used as the file name of the
                        database.
  -s SOURCE, --source=SOURCE
                        specifies the file which contains the source of the
                        IME.  The default is ''.
  -e EXTRA, --extra=EXTRA
                        specifies the file name for the extra words for the
                        IME.  The default is ''.
  -p PINYIN, --pinyin=PINYIN
                        specifies the source file for the  pinyin.  The
                        default is '/usr/share/ibus-
                        table/data/pinyin_table.txt.bz2'.
  -o, --no-create-index
                        Do not create an index for a database (Only for
                        distrubution purposes, a normal user should not use
                        this flag!)
  -i, --create-index-only
                        Only create an index for an existing database.
                        Specifying the file name of the binary database with
                        the -n or --name option is required when this option
                        is used.
  -d, --debug           Print extra debug messages.

You need to specify the file which contains the source of the IME!
$


cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed



More information about the Pkg-ime-devel mailing list