Page MenuHomeFreeBSD

Finiding hugo, python, asciidoctor, asciidoctor-pdf, rougify in different platform so users do not need to create symbolic links manually
AbandonedPublic

Authored by minsoochoo0122_proton.me on Sep 12 2021, 3:40 PM.
Tags
Referenced Files
Unknown Object (File)
Sat, Apr 13, 12:09 PM
Unknown Object (File)
Sat, Apr 13, 9:23 AM
Unknown Object (File)
Feb 9 2024, 3:46 AM
Unknown Object (File)
Feb 6 2024, 6:36 PM
Unknown Object (File)
Jan 14 2024, 10:47 PM
Unknown Object (File)
Dec 20 2023, 8:35 AM
Unknown Object (File)
Sep 30 2023, 8:25 PM
Unknown Object (File)
Sep 14 2023, 7:39 PM
Subscribers

Details

Reviewers
ygy
dbaio
carlavilla
Group Reviewers
docs
Summary

In adding cross-build description patch, I added the method to build doc on other platforms. However, some programs installed in /usr/bin/ may need to be added to /usr/local/bin/ because some package managers such as dnf and apt instsall in /usr/bin/. If this patch makes Makefile complicated, there is another solution to specify only the command. (for example, PYTHON_CMD=python3 instead of PYTHON_CMD=/usr/bin/local/python3)

Test Plan

Works fine on macOS and FreeBSD. It does not may on Linux, but it is the problem of distro. (see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=255804)

Diff Detail

Repository
R9 FreeBSD doc repository
Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

ygy requested changes to this revision.Sep 17 2021, 2:38 AM
ygy added a subscriber: ygy.

I object to the platform-dependent changes to the Makefiles. It sounds unnecessary and error-prone to me. For example, different flavors of GNU/Linux could have different executable locations, and we can't and shouldn't attempt to support all of them.

This revision now requires changes to proceed.Sep 17 2021, 2:38 AM
In D31919#721867, @ygy wrote:

I object to the platform-dependent changes to the Makefiles. It sounds unnecessary and error-prone to me. For example, different flavors of GNU/Linux could have different executable locations, and we can't and shouldn't attempt to support all of them.

I understand that it would cause some errors. But I have a question: Why do we have to specify the location of programs?

In D31919#747119, @fel1x.mintchoco.development_gmail.com wrote:
In D31919#721867, @ygy wrote:

I object to the platform-dependent changes to the Makefiles. It sounds unnecessary and error-prone to me. For example, different flavors of GNU/Linux could have different executable locations, and we can't and shouldn't attempt to support all of them.

I understand that it would cause some errors. But I have a question: Why do we have to specify the location of programs?

I don't think this question is relevant to this revision which is trying to support multiple platforms officially. Worst case, we just override the commands when running make.

The proper way to solve this would be to use /usr/bin/env $BINARY because if that doesn't work, the OS that the tree is being built on isn't POSIX-compliant at all.

However, there's an issue that as I see it is unsolvable, which is that as it is the Makefiles contains features that are exclusively found in BSD make - so it's not really possible to make it portable just by waving the right hashbang path at it.

I considered your ideas, and concluded that cross-platform build will cause confusion because of the differences between BSD make and GNU make. I'm closing this revision.