Skip to content
This repository has been archived by the owner on Oct 15, 2024. It is now read-only.

help to package Debian again #4610

Closed
yuzibo opened this issue Oct 24, 2022 · 5 comments
Closed

help to package Debian again #4610

yuzibo opened this issue Oct 24, 2022 · 5 comments
Labels

Comments

@yuzibo
Copy link

yuzibo commented Oct 24, 2022

Hi,
The Elektra has existed for a long time On Debian:
https://tracker.debian.org/pkg/elektra
But since 0.8.14, there is no update for it. So I hope to update it.
Because It has removed critical bug: https://buildd.debian.org/status/package.php?p=elektra
It will not be included in Bookworm if not to fix all these issues.
First, now I can import 0.9.11 and I rebase all patches based on 0.8.14. I think the almost patched has been merged upstream here.
So, I can continue to build it, ok, build is ok, but it fails on test:

Running main() from /usr/src/gtest/src/gtest_main.cc
[==========] Running 3 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 3 tests from MergingKDBTest
[ RUN      ] MergingKDBTest.HandlesUnconflictingKeySets
unknown file: Failure
C++ exception with description "28 Warnings were issued:
        Sorry, module resolver_fm_hpu_b issued the warning C01100:
        Resource: Could not create configuration file '/etc/kdb/elektra.ecf'. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.849659.tmp
        At: ./src/plugins/resolver/resolver.c:704
        Sorry, module dump issued the warning C01100:
        Resource: Could not open file /etc/kdb/elektra.ecf.3064500:1666622029.849659.tmp for writing. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.849659.tmp
        At: ./src/plugins/dump/dump.cpp:631
        Sorry, module resolver_fm_hpu_b issued the warning C01100:
        Resource: Could not unlink the file '/etc/kdb/elektra.ecf.3064500:1666622029.849659.tmp'. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.849659.tmp
        At: ./src/plugins/resolver/resolver.c:1149
Sorry, module resolver_fm_hpu_b issued the error C01100:
Resource: Could not create directory '/etc/kdb'. Reason: Permission denied. Identity: uid: 1000, euid: 1000, gid: 1000, egid: 1000
Mountpoint: system:/elektra
Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.849659.tmp
At: ./src/plugins/resolver/resolver.c:778
" thrown in SetUp().
[  FAILED  ] MergingKDBTest.HandlesUnconflictingKeySets (0 ms)
[ RUN      ] MergingKDBTest.ThrowsIfNoConflictStrategyRegistered
unknown file: Failure
C++ exception with description "28 Warnings were issued:
        Sorry, module resolver_fm_hpu_b issued the warning C01100:
        Resource: Could not create configuration file '/etc/kdb/elektra.ecf'. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.850496.tmp
        At: ./src/plugins/resolver/resolver.c:704
        Sorry, module dump issued the warning C01100:
        Resource: Could not open file /etc/kdb/elektra.ecf.3064500:1666622029.850496.tmp for writing. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.850496.tmp
        At: ./src/plugins/dump/dump.cpp:631
        Sorry, module resolver_fm_hpu_b issued the warning C01100:
        Resource: Could not unlink the file '/etc/kdb/elektra.ecf.3064500:1666622029.850496.tmp'. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.850496.tmp
        At: ./src/plugins/resolver/resolver.c:1149
Sorry, module resolver_fm_hpu_b issued the error C01100:
Resource: Could not create directory '/etc/kdb'. Reason: Permission denied. Identity: uid: 1000, euid: 1000, gid: 1000, egid: 1000
Mountpoint: system:/elektra
Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.850496.tmp
At: ./src/plugins/resolver/resolver.c:778
" thrown in SetUp().
[  FAILED  ] MergingKDBTest.ThrowsIfNoConflictStrategyRegistered (0 ms)
[ RUN      ] MergingKDBTest.MergesResolvableConflicts
unknown file: Failure
C++ exception with description "28 Warnings were issued:
        Sorry, module resolver_fm_hpu_b issued the warning C01100:
        Resource: Could not create configuration file '/etc/kdb/elektra.ecf'. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.851222.tmp
        At: ./src/plugins/resolver/resolver.c:704
        Sorry, module dump issued the warning C01100:
        Resource: Could not open file /etc/kdb/elektra.ecf.3064500:1666622029.851222.tmp for writing. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.851222.tmp
        At: ./src/plugins/dump/dump.cpp:631
        Sorry, module resolver_fm_hpu_b issued the warning C01100:
        Resource: Could not unlink the file '/etc/kdb/elektra.ecf.3064500:1666622029.851222.tmp'. Reason: No such file or directory
        Mountpoint: system:/elektra
        Configfile: /etc/kdb/elektra.ecf.3064500:1666622029.851222.tmp
        At: ./src/plugins/resolver/resolver.c:1149
Sorry, module resolver_fm_hpu_b issued the error C01100:
Resource: Could not create directory '/etc/kdb'. Reason: Permission denied. Identity: uid: 1000, euid: 1000, gid: 1000, egid: 1000
Mountpoint: system:/elektra

...
The following tests FAILED:
         10 - testtool_mergingkdb (Failed)
         37 - test_gopts.py (Failed)
         48 - test_gopts.lua (Failed)
         55 - testshell_markdown_blacklist (Failed)
         56 - testmod_blockresolver (Failed)
         57 - testshell_markdown_blockresolver (Failed)
         63 - testshell_markdown_conditionals (Failed)
         64 - testshell_markdown_constants (Failed)
         66 - testshell_markdown_cpptemplate (Failed)
         68 - testshell_markdown_csvstorage (Failed)
         72 - testshell_markdown_directoryvalue (Failed)
         75 - testshell_markdown_email (Failed)
         78 - testshell_markdown_file (Failed)
         82 - testshell_markdown_gopts (Failed)
         86 - testshell_markdown_hexnumber (Failed)
         88 - testshell_markdown_hosts (Failed)
         90 - testshell_markdown_iconv (Failed)
         93 - testshell_markdown_ipaddr (Failed)
         96 - testshell_markdown_kconfig (Failed)
         99 - testshell_markdown_length (Failed)
        100 - testshell_markdown_line (Failed)
        106 - testshell_markdown_macaddr (Failed)
        107 - testshell_markdown_mathcheck (Failed)
        110 - testshell_markdown_mini (Failed)
        113 - testshell_markdown_mmapstorage (Failed)
        115 - testshell_markdown_mozprefs (Failed)
        116 - testshell_markdown_network (Failed)
        119 - testshell_markdown_ni (Failed)
        121 - testshell_markdown_path (Failed)
        124 - testshell_markdown_quickdump (Failed)
        127 - testshell_markdown_range (Failed)
        129 - testshell_markdown_reference (Failed)
        131 - testshell_markdown_rename (Failed)
        134 - testshell_markdown_rgbcolor (Failed)
        135 - testshell_markdown_shell (Failed)
        138 - testshell_markdown_specload (Failed)
        142 - testshell_markdown_template (Failed)
        144 - testshell_markdown_type (Failed)
        146 - testshell_markdown_uname (Failed)
        148 - testshell_markdown_unit (Failed)
        152 - testshell_markdown_yajl (Failed)
        153 - testshell_db_changes (Failed)
        154 - testshell_host (Failed)
        155 - testshell_listtest (Failed)
        156 - testshell_mathcheck (Failed)
        157 - testshell_profiletest (Failed)
        158 - testshell_script (Failed)
        159 - testshell_selftest (Failed)
        160 - testshell_replay_ls (Failed)
        161 - testshell_markdown_kdb_get (Failed)
        162 - testshell_markdown_kdb_complete (Failed)
        163 - testshell_markdown_kdb_cp (Failed)
        164 - testshell_markdown_kdb_global_umount (Failed)
        165 - testshell_markdown_kdb_ls (Failed)
        166 - testshell_markdown_kdb_meta_show (Failed)
        167 - testshell_markdown_kdb_test (Failed)
        168 - testshell_markdown_kdb_find (Failed)
        169 - testshell_markdown_tutorial_arrays (Failed)
        170 - testshell_markdown_tutorial_cascading (Failed)
        171 - testshell_markdown_tutorial_merge (Failed)
        172 - testshell_markdown_tutorial_install_config (Failed)
        173 - testshell_markdown_cmerge (Failed)
        174 - testshell_markdown_tutorial_validation (Failed)
        175 - testshell_markdown_tutorial_spec (Failed)
        176 - testshell_markdown_msr_syntax (Failed)
        177 - testshell_markdown_readme_msr (Failed)
        178 - testshell_markdown_issue_template (Failed)
        179 - testshell_markdown_mmapstorage_shelltests (Failed)
        180 - testshell_markdown_cache_shelltests (Failed)
Errors while running CTest

I think these fails most due to wrong configure options. Could you help me to have a look?

@markus2330
Copy link
Contributor

So I hope to update it.
It will not be included in Bookworm if not to fix all these issues.

It would be fabulous if Elektra can enter Debian stable again! 🚀

First, now I can import 0.9.11 and I rebase all patches based on 0.8.14. I think the almost patched has been merged upstream here.

Yes, for the only one not yet completely fixed I created an issue: #4612

So, I can continue to build it, ok, build is ok, but it fails on test:

We have many integration tests that try to write to system config files (/etc and /usr/share/elektra/specification), which obviously doesn't work on most setups (it is tested on our build servers, though). IIRC Pino Toscano manually filtered which tests do so, which now misses the many new integration tests we added in the meantime.

To fix such problems, we added the target make run_nokdbtests which only executes tests not writing to KDB, which is probably what you want to do.

Here is more information about that topic: https://www.libelektra.org/devgettingstarted/testing

Please do not hesitate to ask any further questions! ❤️

@yuzibo
Copy link
Author

yuzibo commented Oct 26, 2022

hi, @markus2330
thanks for your help. In fact, I try to disable all test cases and modify some *.install scripts, It can be built now:)

elektra-bin_0.9.11-1.1_amd64.deb
elektra-dbg_0.9.11-1.1_amd64.deb
elektra-doc_0.9.11-1.1_all.deb
elektra-qt-gui_0.9.11-1.1_amd64.deb
elektra-tests_0.9.11-1.1_amd64.deb
libelektra4_0.9.11-1.1_amd64.deb
libelektra4-augeas_0.9.11-1.1_amd64.deb
libelektra4-dbus_0.9.11-1.1_amd64.deb
libelektra4-lua_0.9.11-1.1_amd64.deb
libelektra4-python_0.9.11-1.1_amd64.deb
libelektra4-xmltool_0.9.11-1.1_amd64.deb
libelektra4-yajl_0.9.11-1.1_amd64.deb
libelektra-dev_0.9.11-1.1_amd64.deb
lua-elektra_0.9.11-1.1_amd64.deb
python3-elektra_0.9.11-1.1_amd64.deb

But I think I should run basic test cases make run_nokdbtests as you suggest and need double check because I changed *.install scripts.
Another question is, what meaning of these packages like {lua/python3}-elektra_0.9.11-1.1_amd64.deb?
In my limited understand of elektra, this is should plug interface for their corresponding language. If so, should we add support go & rust plug support for Debian packages?

@markus2330
Copy link
Contributor

markus2330 commented Oct 26, 2022

Another question is, what meaning of these packages like {lua/python3}-elektra_0.9.11-1.1_amd64.deb?

That are so-called bindings of Elektra, see https://www.libelektra.org/bindings/readme

They allow applications in other programming languages to use Elektra.

In my limited understand of elektra, this is should plug interface for their corresponding language.

This is available, too. E.g. libelektra4-lua provides a plugin that allows lua code to be part of Elektra. I.e., any applications using Elektra would execute lua code if they access such a mountpoint of the key database (KDB).

If so, should we add support go & rust plug support for Debian packages?

Yes, that would be amazing.

But Go is currently in a separate repository: https://github.com/ElektraInitiative/go-elektra and we think about integrating it into our main repository, see #3458. There is now a new maintainer, while being not maintained for quite some time. So probably it is better to not invest too much time in packaging the Go binding right now.

@github-actions
Copy link

I mark this stale as it did not have any activity for one year. I'll close it in two weeks if no further activity occurs. If you want it to be alive again, ping by writing a message here or create a new issue with the remainder of this issue.
Thank you for your contributions 💖

@github-actions github-actions bot added the stale label Oct 27, 2023
Copy link

I closed this now because it has been inactive for more than one year. If I closed it by mistake, please do not hesitate to reopen it or create a new issue with the remainder of this issue.
Thank you for your contributions 💖

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Nov 10, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants