icu icon indicating copy to clipboard operation
icu copied to clipboard

ICU-22109 icu-config hardcodes build paths unnecessarily

Open rpurdie opened this issue 1 year ago • 2 comments

https://unicode-org.atlassian.net/browse/ICU-22109

The makefile hardcodes paths to the build directory into icu-config. It doesn’t need to do this and it unnecessarily breaks build reproducibility. This patch makes a simple change to avoid this.

Signed-off-by: Richard Purdie [email protected]

rpurdie avatar Aug 08 '22 15:08 rpurdie

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Aug 08 '22 15:08 CLAassistant

@srl295 could you please take a look at this?

markusicu avatar Aug 11 '22 16:08 markusicu

@rpurdie this change is fair enough.

But in general, the deprecated icu-config does tend to hardcode paths and tools. It's recommended to use the pkg-config files instead.

Thanks, I appreciate it is deprecated and we (as in Yocto Project) very much prefer pkg-config too but until you drop it, we also need to ship it!

rpurdie avatar Aug 17 '22 23:08 rpurdie

Hi @rpurdie our commit checker complains about the commit message. It looks like you have a line break after the ICU ticket number. Could you please try to amend your commit so that there is just a simple space between the ticket number and the first line of text?

markusicu avatar Aug 18 '22 18:08 markusicu

@rpurdie this change is fair enough. But in general, the deprecated icu-config does tend to hardcode paths and tools. It's recommended to use the pkg-config files instead.

Thanks, I appreciate it is deprecated and we (as in Yocto Project) very much prefer pkg-config too but until you drop it, we also need to ship it!

why does yocto need to ship it?

srl295 avatar Aug 18 '22 19:08 srl295

We've had people building software on target which has wanted it from icu in the past. Probably not for a while but we tend to follow the lead of the upstream with provision of things like this as a path of least resistance. If your plan is to remove it, we could delete it and see what issues are raised but it will take a while for users to switch to new versions and notice .

rpurdie avatar Aug 18 '22 21:08 rpurdie

We've had people building software on target which has wanted it from icu in the past. Probably not for a while but we tend to follow the lead of the upstream with provision of things like this as a path of least resistance. If your plan is to remove it, we could delete it and see what issues are raised but it will take a while for users to switch to new versions and notice

.

I think what I wanted to do with it was to make it only built if you explicitly requested

srl295 avatar Aug 18 '22 22:08 srl295

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

We've had people building software on target which has wanted it from icu in the past. Probably not for a while but we tend to follow the lead of the upstream with provision of things like this as a path of least resistance. If your plan is to remove it, we could delete it and see what issues are raised but it will take a while for users to switch to new versions and notice .

I think what I wanted to do with it was to make it only built if you explicitly requested

Looking at the configure code, it defaults to being installed so we've just run with that. I dislike config scripts like this enough I'm happy to try disabling it!

rpurdie avatar Aug 22 '22 13:08 rpurdie

We've had people building software on target which has wanted it from icu in the past. Probably not for a while but we tend to follow the lead of the upstream with provision of things like this as a path of least resistance. If your plan is to remove it, we could delete it and see what issues are raised but it will take a while for users to switch to new versions and notice .

I think what I wanted to do with it was to make it only built if you explicitly requested

Looking at the configure code, it defaults to being installed so we've just run with that. I dislike config scripts like this enough I'm happy to try disabling it!

If pkg-config was as widespread then (2002?) as now, I would never have written icu-config. At the time we didn't want to have to require it as a dependency.

srl295 avatar Aug 22 '22 15:08 srl295

Hi @rpurdie our commit checker complains about the commit message. It looks like you have a line break after the ICU ticket number. Could you please try to amend your commit so that there is just a simple space between the ticket number and the first line of text?

Thanks for fixing that!

markusicu avatar Aug 22 '22 18:08 markusicu

We've had people building software on target which has wanted it from icu in the past. Probably not for a while but we tend to follow the lead of the upstream with provision of things like this as a path of least resistance. If your plan is to remove it, we could delete it and see what issues are raised but it will take a while for users to switch to new versions and notice .

I think what I wanted to do with it was to make it only built if you explicitly requested

Looking at the configure code, it defaults to being installed so we've just run with that. I dislike config scripts like this enough I'm happy to try disabling it!

If pkg-config was as widespread then (2002?) as now, I would never have written icu-config. At the time we didn't want to have to require it as a dependency.

Indeed! I totally understand how we end up here. I'm really happy there is a config option. We're now turning off icu-config in Yocto Project/OpenEmbedded and I've not had any complaints so far. If there are we'll tell them to use pkg-config :).

rpurdie avatar Sep 02 '22 16:09 rpurdie

Great ! If you want to help a PR to make it off by default would be great.

srl295 avatar Sep 02 '22 18:09 srl295