SSSD / sssd

A daemon to manage identity, authentication and authorization for centrally-managed systems.
https://sssd.io
GNU General Public License v3.0
600 stars 247 forks source link

error: The following pages are not translated ./sss_ssh_knownhosts.1.xml #7232

Closed joakim-tjernlund closed 7 months ago

joakim-tjernlund commented 8 months ago

Build error on master:

Making all in src/tests/cwrap
Making all in src/tests/intg
Making all in src/tests/test_CA
Making all in intermediate_CA
Making all in src/tests/test_ECC_CA
Making all in src/tools/analyzer
The following pages are not translated ./sss_ssh_knownhosts.1.xml
make[1]: *** [Makefile:990: update-po] Error 1
make: *** [Makefile:46315: update-po] Error 2
alexey-tikhonov commented 8 months ago

@aplopez, I think it should be listed in https://github.com/SSSD/sssd/blob/master/src/man/po/po4a.cfg

aplopez commented 8 months ago

@joakim-tjernlund How did you arrive to that error? I'm not getting it with a simple make (which doesn't surprise me because otherwise I would have seen it earlier) but get the same complaint for every single man page with make update-po.

Using make all-local-yes from x86_64/src/man allows me to do some things, but I still don't get your error. At least I could verify that Alexey's proposal (po4a.cfg) is needed to have the new man page processed, but cannot confirm it solves your problem.

joakim-tjernlund commented 8 months ago

@joakim-tjernlund How did you arrive to that error? I'm not getting it with a simple make (which doesn't surprise me because otherwise I would have seen it earlier) but get the same complaint for every single man page with make update-po.

Using make all-local-yes from x86_64/src/man allows me to do some things, but I still don't get your error. At least I could verify that Alexey's proposal (po4a.cfg) is needed to have the new man page processed, but cannot confirm it solves your problem.

Just building with my regular Gentoo sssd-9999 ebuild, parts looks like this if it helps:

multilib_src_configure() {
    local myconf=()

    myconf+=(
        --localstatedir="${EPREFIX}"/var
        --runstatedir="${EPREFIX}"/run
        --libexec="${EPREFIX}"/usr/libexec
        --with-pid-path="${EPREFIX}"/run
        --with-plugin-path="${EPREFIX}"/usr/$(get_libdir)/sssd
        --enable-pammoddir="${EPREFIX}"/$(getpam_mod_dir)
        --with-ldb-lib-dir="${EPREFIX}"/usr/$(get_libdir)/samba/ldb
        --with-db-path="${EPREFIX}"/var/lib/sss/db
        --with-gpo-cache-path="${EPREFIX}"/var/lib/sss/gpo_cache
        --with-pubconf-path="${EPREFIX}"/var/lib/sss/pubconf
        --with-pipe-path="${EPREFIX}"/var/lib/sss/pipes
        --with-mcache-path="${EPREFIX}"/var/lib/sss/mc
        --with-secrets-db-path="${EPREFIX}"/var/lib/sss/secrets
        --with-log-path="${EPREFIX}"/var/log/sssd
        --with-kcm
        --enable-kcm-renewal
        --with-os=gentoo
        --disable-rpath
        --disable-static
        --without-oidc-child
        --sbindir="${EPREFIX}"/usr/sbin
        $(use_with samba)
        $(multilib_native_use_enable acl cifs-idmap-plugin)
        $(multilib_native_use_with selinux)
        $(multilib_native_use_with selinux semanage)
        $(use_enable locator krb5-locator-plugin)
        $(use_enable pac pac-responder)
        $(multilib_native_use_with nfsv4 nfsv4-idmapd-plugin)
        $(use_enable nls)
        $(multilib_native_use_with netlink libnl)
        $(multilib_native_use_with man manpages)
        $(multilib_native_use_with sudo)
        $(multilib_native_with autofs)
        $(multilib_native_with ssh)
        $(use_enable systemtap)
        $(use_enable valgrind)
        --without-python2-bindings
        $(multilib_native_use_with python python3-bindings)
        # Annoyingly configure requires that you pick systemd XOR sysv
        --with-initscript=$(usex systemd systemd sysv)
    )

    use systemd && myconf+=(
        --with-systemdunitdir=$(systemd_get_systemunitdir)
    )

USE=acl locator man netlink nfsv4 nls python samba systemd

joakim-tjernlund commented 8 months ago

Also:

multilib_src_compile() {
        default
        use doc && emake docs
        if use man || use nls; then
            emake update-po
        fi
aplopez commented 8 months ago

@joakim-tjernlund Thanks for the info.

As said above, I solved a problem I happen to see but I don't see your problem happening, so I cannot know if it is fixed. Could you please try this tentative fix? Either get this repo/branch or just add this line to src/man/po/po4a.cfg:23:

[type:docbook] sss_ssh_knownhosts.1.xml $lang:$(builddir)/$lang/sss_ssh_knownhosts.1.xml

You can see the changes here.

joakim-tjernlund commented 8 months ago

@joakim-tjernlund Thanks for the info.

As said above, I solved a problem I happen to see but I don't see your problem happening, so I cannot know if it is fixed. Could you please try this tentative fix? Either get this repo/branch or just add this line to src/man/po/po4a.cfg:23:

[type:docbook] sss_ssh_knownhosts.1.xml $lang:$(builddir)/$lang/sss_ssh_knownhosts.1.xml

You can see the changes here.

Edited the po4a.cfg file and rebuilt sssd, works fine :)

aplopez commented 8 months ago

Edited the po4a.cfg file and rebuilt sssd, works fine :) Thanks @joakim-tjernlund I will open the pull request.

joakim-tjernlund commented 8 months ago

Unrelated question, why is work focused on fixing/add/tweaking tests rather than fixing actual issues?

So many commits are about tests and few is about fixing an reported issue.

aplopez commented 8 months ago

Unrelated question, why is work focused on fixing/add/tweaking tests rather than fixing actual issues?

So many commits are about tests and few is about fixing an reported issue.

On one side, we have changed the test framework, so the old tests need to be updated to the new one. That's why you see a lot of work on the tests.

On the other side, there are a lot of tickets being fixed. For instance, the problem you identified with the translation was introduced by one of those fixes.

alexey-tikhonov commented 7 months ago

Pushed PR: https://github.com/SSSD/sssd/pull/7234

pbrezina commented 7 months ago

Unrelated question, why is work focused on fixing/add/tweaking tests rather than fixing actual issues?

So many commits are about tests and few is about fixing an reported issue.

Hi, it may seem that way when one looks into the list of pull requests, but the reality is that the pull requests prefixed with "tests" come from our quality engineers, they are not developers and as such will not fix any issues. Developers are still focused on fixing issues and delivering new features.