Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gtk-doc-stub: use new autools helper #9091

Closed
wants to merge 6 commits into from

Conversation

ericLemanissier
Copy link
Contributor

@ericLemanissier ericLemanissier commented Jan 26, 2022

Specify library name and version: gtk-doc-stub/*

related to conan-io/conan#8476

CC @memsharded


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the
    conan-center hook activated.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@ericLemanissier
Copy link
Contributor Author

@memsharded this shows two blocking points currently:

  1. we pretty much have to use AutoToolsToolchain.default_configure_install_args, which defines --datarootdir=${prefix}/share which is not compatible with conan-center rule to put all resources in res folder. share is not allowed
  2. visual studio fails with 'C:\Users\runneradmin\.conan\data\gtk-doc-stub\cci.20181216\_\_\build\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\source_subfolder/configure' is not recognized as an internal or external command, because it does not seem to use bash (mingw fails in the same way)

@memsharded
Copy link
Member

we pretty much have to use AutoToolsToolchain.default_configure_install_args, which defines --datarootdir=${prefix}/share which is not compatible with conan-center rule to put all resources in res folder. share is not allowed

This seems a C3i policy issue, not a Conan tool AutotoolsToolchain issue.

visual studio fails with 'C:\Users\runneradmin.conan\data\gtk-doc-stub\cci.20181216__\build\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\source_subfolder/configure' is not recognized as an internal or external command, because it does not seem to use bash (mingw fails in the same way)

This is most likely because C3i is still not prepared to handle this. With the new toolchains, the autotools environment will no longer be guessed by explicit. That means that profiles in C3i for VS will probably need to add:

tools.microsoft.bash:subsystem=msys2
tools.microsoft.bash:path=/path/to/my/msys

Or this might be provided by the msys2 center package, via conf_info, but that would need to be fixed first in the msys2 package.

@ericLemanissier
Copy link
Contributor Author

we pretty much have to use AutoToolsToolchain.default_configure_install_args, which defines --datarootdir=${prefix}/share which is not compatible with conan-center rule to put all resources in res folder. share is not allowed

This seems a C3i policy issue, not a Conan tool AutotoolsToolchain issue.

well, conan and conan-center should agree on the layout of package, or recipe maintenance will become even harder than it is. share folder was refused on the hooks side in conan-io/hooks#336

visual studio fails with 'C:\Users\runneradmin.conan\data\gtk-doc-stub\cci.20181216__\build\5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9\source_subfolder/configure' is not recognized as an internal or external command, because it does not seem to use bash (mingw fails in the same way)

This is most likely because C3i is still not prepared to handle this. With the new toolchains, the autotools environment will no longer be guessed by explicit. That means that profiles in C3i for VS will probably need to add:

tools.microsoft.bash:subsystem=msys2
tools.microsoft.bash:path=/path/to/my/msys

Or this might be provided by the msys2 center package, via conf_info, but that would need to be fixed first in the msys2 package.

Ok, I did not know about this conf_info. If it can be fixed in msys2 package, ok !

@memsharded
Copy link
Member

well, conan and conan-center should agree on the layout of package, or recipe maintenance will become even harder than it is. share folder was refused on the hooks side in conan-io/hooks#336

Oh, I see what you mean, I was confused with your PR doing os.path.join(self.package_folder, "share"))), when it results share is already the default in Autootools integration, so it seemed that you were changing it. You are right, we might want to reconsider this default of the toolchain.

@conan-center-bot

This comment has been minimized.

@ericLemanissier
Copy link
Contributor Author

@sfhacker you can reproduce the issue by checking-out the recipe of this pull-request, and calling conan create recipes/gtk-doc-stub/all gtk-doc-stub/cci.20181216@
You will then most probably have the failure ConanException: The config 'tools.microsoft.bash:subsystem' is needed to run commands in a Windows subsystem which should be solved with #9094

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@ghost
Copy link

ghost commented Feb 1, 2022

I detected other pull requests that are modifying gtk-doc-stub/all recipe:

This message is automatically generated by https://github.com/ericLemanissier/conan-center-conflicting-prs so don't hesitate to report issues/improvements there.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Failure in build 7 (cc8fa3ea6015a6f1c45a20e7f05bbe06d4db7445):

  • gtk-doc-stub/cci.20181216@:
    CI failed to create some packages (All logs)

    Logs for packageID 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.libcxx=libstdc++11
    compiler.version=5
    os=Linux
    
    [...]
    -----------------
    Capturing current environment in deactivate_conanautotoolsdeps.sh
    Configuring environment variables
    Capturing current environment in deactivate_conanautotoolstoolchain.sh
    Configuring environment variables
    sed -e "s,@sysconfdir\@,/home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/etc," \
        -e "s,@prefix\@,/home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9," \
        -e "s,@datadir\@,/home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share," \
        -e "s,@datarootdir\@,/home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share," \
        -e "s,@VERSIONS\@,," \
        /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/source_subfolder/gtkdocize.in > gtkdocize.tmp && mv gtkdocize.tmp gtkdocize
    gtk-doc-stub/cci.20181216: Package '5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9' built
    gtk-doc-stub/cci.20181216: Build folder /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
    gtk-doc-stub/cci.20181216: Generated conaninfo.txt
    gtk-doc-stub/cci.20181216: Generated conanbuildinfo.txt
    gtk-doc-stub/cci.20181216: Generating the package
    gtk-doc-stub/cci.20181216: Package folder /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
    gtk-doc-stub/cci.20181216: Calling package()
    
    ----Running------
    > . "/home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/conanbuild.sh" && make install -j3
    -----------------
    Capturing current environment in deactivate_conanautotoolsdeps.sh
    Configuring environment variables
    Capturing current environment in deactivate_conanautotoolstoolchain.sh
    Configuring environment variables
    mkdir -p /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin
    for prog in gtkdocize; do \
    	install -m 0755 $prog /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/bin/$prog; \
    done
    mkdir -p /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/gtk-doc-devel
    install -m 0644 /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/source_subfolder/gtk-doc.make /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/gtk-doc-devel/gtk-doc.make
    mkdir -p /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/aclocal/
    install -m 0644 /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/source_subfolder/gtk-doc.m4 /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/aclocal/gtk-doc.m4
    mkdir -p /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/gobject-introspection-1.0
    install -m 0644 /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/source_subfolder/Makefile.introspection /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/gobject-introspection-1.0/Makefile.introspection
    install -m 0644 /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/build/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/source_subfolder/introspection.m4 /home/conan/w/BuildSingleReference/.conan/data/gtk-doc-stub/cci.20181216/_/_/package/5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9/share/aclocal/introspection.m4
    [HOOK - conan-center.py] post_package(): [PACKAGE LICENSE (KB-H012)] OK
    [HOOK - conan-center.py] post_package(): [DEFAULT PACKAGE LAYOUT (KB-H013)] If you are trying to package a tool put all the contents under the 'bin' folder
    [HOOK - conan-center.py] post_package(): [MATCHING CONFIGURATION (KB-H014)] OK
    [HOOK - conan-center.py] post_package(): [SHARED ARTIFACTS (KB-H015)] OK
    [HOOK - conan-center.py] post_package(): [PC-FILES (KB-H020)] OK
    [HOOK - conan-center.py] post_package(): [CMAKE-MODULES-CONFIG-FILES (KB-H016)] OK
    [HOOK - conan-center.py] post_package(): [PDB FILES NOT ALLOWED (KB-H017)] OK
    [HOOK - conan-center.py] post_package(): [LIBTOOL FILES PRESENCE (KB-H018)] OK
    [HOOK - conan-center.py] post_package(): [MS RUNTIME FILES (KB-H021)] OK
    gtk-doc-stub/cci.20181216: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    gtk-doc-stub/cci.20181216: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    [HOOK - conan-center.py] post_package(): ERROR: [DEFAULT PACKAGE LAYOUT (KB-H013)] Unknown folder 'share' in the package (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H013) 
    ERROR: [HOOK - conan-center.py] post_package(): Some checks failed running the hook, check the output
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

@ericLemanissier
Copy link
Contributor Author

I'll concentrate my efforts on porting binutils package to windows first

@ericLemanissier
Copy link
Contributor Author

@sfhacker just to be sure, do you use conan ?

@ericLemanissier ericLemanissier deleted the patch-2 branch February 2, 2022 14:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants