b***@artifex.com
2017-12-01 13:36:28 UTC
http://bugs.ghostscript.com/show_bug.cgi?id=698795
Bug ID: 698795
Summary: [RFE] configure.ac: introduce --without-versioned-path
option
Product: Ghostscript
Version: 9.22
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P4
Component: Config/Install
Assignee: ghostpdl-***@artifex.com
Reporter: ***@redhat.com
QA Contact: gs-***@ghostscript.com
Word Size: ---
Created attachment 14508
--> http://bugs.ghostscript.com/attachment.cgi?id=14508&action=edit
proposed solution [git patch]
Hello guys,
I'm creating this BZ as requested based on our discussion at IRC. It makes
sense for Fedora (and probably some other Linux distributions might utilize
this as well) to introduce a new option: --without-versioned-path
WHY SHOULD BE THIS FEATURE IMPLEMENTED?
Fedora is a distribution based on a policy that only one version of each
package can be installed at a given time (mostly because of usage of RPM &
DNF). AFAIK, Fedora does not officially support users doing their own builds --
when they do so, they do it on their own risk.
Since Fedora 20 it is also required that a documentation of each package is
installed into an unversioned sub-directory of /usr/share/doc.
Furthermore, IIRC, the Ghostscript does a runtime version check of
Ghostscript's initialization files. If the version does not match, the
Ghostscript refuses to launch and shuts down.
And if the user would still require to have multiple versions of Ghostscript
installed on Fedora, they would have to use containers for it, which shouldn't
allow mixing of Ghostscript's initialization files anyway.
My expectation is that in the future some other distributions based on RPM
might utilize the same containers approach, so this proposed RFE might be
useful outside of Fedora as well. But this is just a speculation from my side
ATM.
WHAT SHOULD THIS FEATURE DO?
Using the '--without-versioned-path' would result in Ghostscript being
installed (after calling 'make install') into a path which does not contain the
version number of current release. Example:
* Clean usage of ./configure:
- Installation path example: /usr/share/ghostscript/9.22/Resource
^^^^
- Ghostscript's search path example: /usr/share/ghostscript/9.22/Resource/Init
^^^^
* Usage of ./configure --without-versioned-path:
- Installation path example: /usr/share/ghostscript/Resource
^
- Ghostscript's search path example: /usr/share/ghostscript/Resource/Init
^
No '9.22' subfolder.
SHOULD THIS FEATURE BE ENABLED BY DEFAULT?
No! As already noted by Chris Lidell, by using this feature users have to be
pretty sure they know what they are doing, as it could break something.
SHOULD THIS FEATURE BE OFFICIALLY SUPPORTED or DOCUMENTED?
This feature is "documented" in the ./configure --help output, but I don't
think it should be somehow documented more in the Ghostscript's official
documentation. Nor I think this feature should be officially supported by
Artifex -- if user uses this feature, they will have to debug problems related
to its usage by themselves. However, I will leave this final decision about
this up to you.
ADDITIONAL INFO:
The ./configure --help currently shows the WARNING that this feature is risky &
unsupported. It might be useful to produce a message from ./configure (for
logging purposes) that the --without-versioned-path option was used. Again,
I'll leave this decision up to you.
The patch should apply correctly for latest HEAD in master branch in git.
Bug ID: 698795
Summary: [RFE] configure.ac: introduce --without-versioned-path
option
Product: Ghostscript
Version: 9.22
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P4
Component: Config/Install
Assignee: ghostpdl-***@artifex.com
Reporter: ***@redhat.com
QA Contact: gs-***@ghostscript.com
Word Size: ---
Created attachment 14508
--> http://bugs.ghostscript.com/attachment.cgi?id=14508&action=edit
proposed solution [git patch]
Hello guys,
I'm creating this BZ as requested based on our discussion at IRC. It makes
sense for Fedora (and probably some other Linux distributions might utilize
this as well) to introduce a new option: --without-versioned-path
WHY SHOULD BE THIS FEATURE IMPLEMENTED?
Fedora is a distribution based on a policy that only one version of each
package can be installed at a given time (mostly because of usage of RPM &
DNF). AFAIK, Fedora does not officially support users doing their own builds --
when they do so, they do it on their own risk.
Since Fedora 20 it is also required that a documentation of each package is
installed into an unversioned sub-directory of /usr/share/doc.
Furthermore, IIRC, the Ghostscript does a runtime version check of
Ghostscript's initialization files. If the version does not match, the
Ghostscript refuses to launch and shuts down.
And if the user would still require to have multiple versions of Ghostscript
installed on Fedora, they would have to use containers for it, which shouldn't
allow mixing of Ghostscript's initialization files anyway.
My expectation is that in the future some other distributions based on RPM
might utilize the same containers approach, so this proposed RFE might be
useful outside of Fedora as well. But this is just a speculation from my side
ATM.
WHAT SHOULD THIS FEATURE DO?
Using the '--without-versioned-path' would result in Ghostscript being
installed (after calling 'make install') into a path which does not contain the
version number of current release. Example:
* Clean usage of ./configure:
- Installation path example: /usr/share/ghostscript/9.22/Resource
^^^^
- Ghostscript's search path example: /usr/share/ghostscript/9.22/Resource/Init
^^^^
* Usage of ./configure --without-versioned-path:
- Installation path example: /usr/share/ghostscript/Resource
^
- Ghostscript's search path example: /usr/share/ghostscript/Resource/Init
^
No '9.22' subfolder.
SHOULD THIS FEATURE BE ENABLED BY DEFAULT?
No! As already noted by Chris Lidell, by using this feature users have to be
pretty sure they know what they are doing, as it could break something.
SHOULD THIS FEATURE BE OFFICIALLY SUPPORTED or DOCUMENTED?
This feature is "documented" in the ./configure --help output, but I don't
think it should be somehow documented more in the Ghostscript's official
documentation. Nor I think this feature should be officially supported by
Artifex -- if user uses this feature, they will have to debug problems related
to its usage by themselves. However, I will leave this final decision about
this up to you.
ADDITIONAL INFO:
The ./configure --help currently shows the WARNING that this feature is risky &
unsupported. It might be useful to produce a message from ./configure (for
logging purposes) that the --without-versioned-path option was used. Again,
I'll leave this decision up to you.
The patch should apply correctly for latest HEAD in master branch in git.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are receiving this mail because:
You are the QA Contact for the bug.