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

Drop PDF build of the documentation #2448

Merged
merged 1 commit into from
Feb 11, 2024
Merged

Drop PDF build of the documentation #2448

merged 1 commit into from
Feb 11, 2024

Conversation

schaefi
Copy link
Collaborator

@schaefi schaefi commented Feb 2, 2024

The kiwi.pdf file as provided in the kiwi-man-pages package was never really used by our users but comes with a huge dependency chain to LaTex. We provide the documentation online as well as converted to DocBook from where all other formats could be derived. Thus there is no need for us to produce an extra PDF document which is imho never consulted. Along with this change there is also a new meta package called kiwi-devel which should make it easier for people to pull in packages for kiwi development. This was formerly done by the helper/install_devel_packages script which was pretty much outdated. I expect there is more attention on the package than on a custom script in some helper directory. Having a kiwi-devel also simplifies the contribution chapter which was not really user friendly regarding the needed development dependencies

@schaefi schaefi self-assigned this Feb 2, 2024
@schaefi
Copy link
Collaborator Author

schaefi commented Feb 2, 2024

@Conan-Kudo this should also make your poetry work a little easier as it drops some parts from the Makefile and fixes the MANIFEST.in which had a broken recursive_include of stuff we never needed

package/python-kiwi-spec-template Outdated Show resolved Hide resolved
@schaefi schaefi force-pushed the no_pdf_docs branch 3 times, most recently from fdae8ed to 2eb6c90 Compare February 9, 2024 15:31
Comment on lines 78 to 93
%package -n kiwi-develdeps
Summary: KIWI - Development dependencies
Group: %{sysgroup}
Requires: gcc
Requires: glibc-devel
Requires: libffi-devel
Requires: trang
Requires: libxml2-devel
Requires: libxslt-devel
Requires: python%{python3_pkgversion}-tox
Requires: python%{python3_pkgversion}-%{develsuffix} >= 3.6
Requires: python%{python3_pkgversion}-setuptools

%description -n kiwi-develdeps
This metapackage installs the necessary dependencies
to develop KIWI.
Copy link
Member

@Conan-Kudo Conan-Kudo Feb 9, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this will be useful/necessary once I've gotten #2441 in place, since Poetry can setup development environments as part of your workflow for interacting with it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok so you are saying poetry also cares for the non python based requirements like "trang" to be present ? How does it do that ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, well, I guess not trang. But isn't trang already a weak dependency we use at runtime?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no for development this is a strict dependency. See the Makefile

kiwi/schema/kiwi.rng: kiwi/schema/kiwi.rnc
    # whenever the schema is changed this target will convert
    # the short form of the RelaxNG schema to the format used
    # in code and auto generates the python data structures
    trang -I rnc -O rng kiwi/schema/kiwi.rnc kiwi/schema/kiwi.rng

It's required to convert the schema to RelaxNG which is the format we use. So if you as a developer do a single schema change you require this tool to convert it into the right format.

I guess not many people know that though ;)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you don't work with the schema you don't need it, but it would be good if we can come up with a concept that provides the full environment not only parts of it

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

gcc is needed for the C tools/ that we still have in the project to support users with custom initrds. But I would say all that C code should be dropped.

In the end outside of python I only see

  • trang

The -devel packages are only in there when "pip install ..." starts to compile code from the module it fetches. I never completely understood why it sometimes compiles stuff and sometimes not, maybe poetry fixes that ? but it imho depends on how the module is provided on pypi

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Conan-Kudo I'm down to trang as the only package outside of python. I was thinking we could add trang to the systemdeps-core even if that would not be 100% accurate. But if you would agree I can add the one package there and drop the -develdeps. Thoughts ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we have only one dependency, we could express the check in the Makefile, no? Because trang is packaged nowhere but in openSUSE.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok that can also be done

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Conan-Kudo ok done, this should be acceptable now, please check. Thanks

The kiwi.pdf file as provided in the kiwi-man-pages package
was never really used by our users but comes with a huge
dependency chain to LaTex. We provide the documentation
online as well as converted to DocBook from where all other
formats could be derived. Thus there is no need for us to
produce an extra PDF document which is imho never consulted.
In addition to this change also the contributing chapter has
been reworked. Due to recent changes and drop of obsolete
components from kiwi as well as the effort to move the development
setup to poetry, there is only one non python tool needed
for the development of kiwi. The check for this tool has been
moved into the Makefile and all other checks formerly done
in the helper/install_devel_packages script were deleted.
@Conan-Kudo Conan-Kudo merged commit 84709c2 into main Feb 11, 2024
15 checks passed
@Conan-Kudo Conan-Kudo deleted the no_pdf_docs branch February 11, 2024 14:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants