Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Oct 2014 22:07:53 +0200
From:      Enrico Maria Crisostomo <enrico.m.crisostomo@gmail.com>
To:        freebsd-ports@freebsd.org
Subject:   Patching a Java package substituting a precompiled class
Message-ID:  <F5829461-F030-4274-8DF8-ECBA8A832A63@gmail.com>

next in thread | raw e-mail | index | archive | help

--Apple-Mail=_1BBE635E-9EF9-47D1-86F0-410CE336BCFD
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi,

I=E2=80=99m trying to fix a Java port (logstash) that's crashing in =
FreeBSD because of a bug in a Java class in a JAR that's included as a =
dependency.  Three different persons, included I, have submitted a PR =
upstream (you can see mine here: https://github.com/jnr/jnr-ffi/pull/26) =
but the activity in that project is pretty slow and nobody has taken =
action yet.

Now, this issue is blocking the port update in FreeBSD and since I'm not =
confident upstream is going to answer quickly, I thought about updating =
the port so that it patches the binary distribution.  Fortunately, the =
offending class is just one so that the patching process may be as =
simple as this:

  * Download the binary distribution.
  * Extract it to the working directory.
  * Copy the library containing the offending class to a temporary =
directory.
  * Extract the JAR.
  * Substitute the offending class with the patched class.
  * Recreate the JAR.
  * Copy the update library to the working directory.

The patched class could be distributed as a binary file belonging to the =
port itself.

I'm not sure this approach fits the FreeBSD port philosophy, but on the =
other hand we could leverage the Java platform independence to simplify =
a great deal the patch phase of the port: after all, this is a no-build =
port.  Otherwise, the port should grab the sources of the dependent =
library, building them, and then use the compiled class to perform the =
aforementioned changes.  Since this library (jnr-ffi) is a Maven =
project, building it would require Maven as a dependency, and during the =
build Maven would fetch quite a lot of dependencies to perform its job.  =
If I should give somebody a solution, I'm not sure I'd choose the =
latter.

Would you please share your thoughts about this issue?  Any feedback and =
suggestions are greatly appreciated.

Regards,
--=20
Enrico=

--Apple-Mail=_1BBE635E-9EF9-47D1-86F0-410CE336BCFD
Content-Disposition: attachment;
	filename=smime.p7s
Content-Type: application/pkcs7-signature;
	name=smime.p7s
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAQAAoIIMgTCCBjQw
ggQcoAMCAQICAR4wDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UEBhMCSUwxFjAUBgNVBAoTDVN0YXJ0
Q29tIEx0ZC4xKzApBgNVBAsTIlNlY3VyZSBEaWdpdGFsIENlcnRpZmljYXRlIFNpZ25pbmcxKTAn
BgNVBAMTIFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA3MTAyNDIxMDE1NVoX
DTE3MTAyNDIxMDE1NVowgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSsw
KQYDVQQLEyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFy
dENvbSBDbGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQTCCASIwDQYJKoZIhvcN
AQEBBQADggEPADCCAQoCggEBAMcJg8zOLdgasSmkLhOrlr6KMoOMpohBllVHrdRvEg/q6r8jR+EK
75xCGhR8ToREoqe7zM9/UnC6TS2y9UKTpT1v7RSMzR0t6ndl0TWBuUr/UXBhPk+Kmy7bI4yW4urC
+y7P3/1/X7U8ocb8VpH/Clt+4iq7nirMcNh6qJR+xjOhV+VHzQMALuGYn5KZmc1NbJQYclsGkDxD
z2UbFqE2+6vIZoL+jb9x4Pa5gNf1TwSDkOkikZB1xtB4ZqtXThaABSONdfmv/Z1pua3FYxnCFmdr
/+N2JLKutIxMYqQOJebr/f/h5t95m4JgrM3Y/w7YX9d7YAL9jvN4SydHsU6n65cCAwEAAaOCAa0w
ggGpMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMB0GA1UdDgQWBBRTcu2SnODaywFc
fH6WNU7y1LhRgjAfBgNVHSMEGDAWgBROC+8apEBbpRdphzDKNGhD0EGu8jBmBggrBgEFBQcBAQRa
MFgwJwYIKwYBBQUHMAGGG2h0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNvbS9jYTAtBggrBgEFBQcwAoYh
aHR0cDovL3d3dy5zdGFydHNzbC5jb20vc2ZzY2EuY3J0MFsGA1UdHwRUMFIwJ6AloCOGIWh0dHA6
Ly93d3cuc3RhcnRzc2wuY29tL3Nmc2NhLmNybDAnoCWgI4YhaHR0cDovL2NybC5zdGFydHNzbC5j
b20vc2ZzY2EuY3JsMIGABgNVHSAEeTB3MHUGCysGAQQBgbU3AQIBMGYwLgYIKwYBBQUHAgEWImh0
dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwNAYIKwYBBQUHAgEWKGh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tL2ludGVybWVkaWF0ZS5wZGYwDQYJKoZIhvcNAQEFBQADggIBAAqDCH14qywG
XLhjjF6uHLkjd02hcdh9hrw+VUsv+q1eeQWB21jWj3kJ96AUlPCoEGZ/ynJNScWy6QMVQjbbMXlt
UfO4n4bGGdKo3awPWp61tjAFgraLJgDk+DsSvUD6EowjMTNx25GQgyYJ5RPIzKKR9tQW8gGK+2+R
HxkUCTbYFnL6kl8Ch507rUdPPipJ9CgJFws3kDS3gOS5WFMxcjO5DwKfKSETEPrHh7p5shuuNktv
sv6hxHTLhiMKX893gxdT3XLS9OKmCv87vkINQcNEcIIoFWbP9HORz9v3vQwR4e3ksLc2JZOAFK+s
sS5XMEoznzpihEP0PLc4dCBYjbvSD7kxgDwZ+Aj8Q9PkbvE9sIPP7ON0fz095HdThKjiVJe6vofq
+n6b1NBc8XdrQvBmunwxD5nvtTW4vtN6VY7mUCmxsCieuoBJ9OlqmsVWQvifIYf40dJPZkk9YgGT
zWLpXDSfLSplbY2LL9C9U0ptvjcDjefLTvqSFc7tw1sEhF0n/qpA2r0GpvkLRDmcSwVyPvmjFBGq
Up/pNy8ZuPGQmHwFi2/14+xeSUDG2bwnsYJQG2EdJCB6luQ57GEnTA/yKZSTKI8dDQa8Sd3zfXb1
9mOgSF0bBdXbuKhEpuP9wirslFe6fQ1t5j5R0xi72MZ8ikMu1RQZKCyDbMwazlHiMIIGRTCCBS2g
AwIBAgIDCFuNMA0GCSqGSIb3DQEBCwUAMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRD
b20gTHRkLjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYG
A1UEAxMvU3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0EwHhcN
MTMxMjExMTUyNzM5WhcNMTQxMjEyMDkyMjAxWjBWMSYwJAYDVQQDDB1lbnJpY28ubS5jcmlzb3N0
b21vQGdtYWlsLmNvbTEsMCoGCSqGSIb3DQEJARYdZW5yaWNvLm0uY3Jpc29zdG9tb0BnbWFpbC5j
b20wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDRT2LNGT66xvt23639dtvMMLt2dDVU
GZCKYOPK3uwl6uxIUsm4P4IPwnE+RMaEFgkGck7fHv/MPlVtJebXmMWv9/XVuahRMRiyp7taw0y7
72wRRqfukQbrHEsuJ+xVkwUTR9vZpM13K0Ity0PvkRmSVlGncG96UBJ4Ye+E/l9jo77j6V44rOGo
BLvHR6wlD0cSccLaN0XhkQLu3Gfd2C/201nUY7E0EBZWSaFLBf9AubRuq4HbQWrgaUf3/sOZH+pG
qoD8/fYGipdVYcUVjh5w4Yc1pBwrVeiluuT8sZ3C28S2x/YWrWwNV7QqpXGSV5Lp6afl43rF42h1
YPOACoRBAgMBAAGjggLjMIIC3zAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHSUEFjAUBggr
BgEFBQcDAgYIKwYBBQUHAwQwHQYDVR0OBBYEFFRCm6UtWNAmeycalMMRIlGuHH6oMB8GA1UdIwQY
MBaAFFNy7ZKc4NrLAVx8fpY1TvLUuFGCMCgGA1UdEQQhMB+BHWVucmljby5tLmNyaXNvc3RvbW9A
Z21haWwuY29tMIIBTAYDVR0gBIIBQzCCAT8wggE7BgsrBgEEAYG1NwECAzCCASowLgYIKwYBBQUH
AgEWImh0dHA6Ly93d3cuc3RhcnRzc2wuY29tL3BvbGljeS5wZGYwgfcGCCsGAQUFBwICMIHqMCcW
IFN0YXJ0Q29tIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MAMCAQEagb5UaGlzIGNlcnRpZmljYXRl
IHdhcyBpc3N1ZWQgYWNjb3JkaW5nIHRvIHRoZSBDbGFzcyAxIFZhbGlkYXRpb24gcmVxdWlyZW1l
bnRzIG9mIHRoZSBTdGFydENvbSBDQSBwb2xpY3ksIHJlbGlhbmNlIG9ubHkgZm9yIHRoZSBpbnRl
bmRlZCBwdXJwb3NlIGluIGNvbXBsaWFuY2Ugb2YgdGhlIHJlbHlpbmcgcGFydHkgb2JsaWdhdGlv
bnMuMDYGA1UdHwQvMC0wK6ApoCeGJWh0dHA6Ly9jcmwuc3RhcnRzc2wuY29tL2NydHUxLWNybC5j
cmwwgY4GCCsGAQUFBwEBBIGBMH8wOQYIKwYBBQUHMAGGLWh0dHA6Ly9vY3NwLnN0YXJ0c3NsLmNv
bS9zdWIvY2xhc3MxL2NsaWVudC9jYTBCBggrBgEFBQcwAoY2aHR0cDovL2FpYS5zdGFydHNzbC5j
b20vY2VydHMvc3ViLmNsYXNzMS5jbGllbnQuY2EuY3J0MCMGA1UdEgQcMBqGGGh0dHA6Ly93d3cu
c3RhcnRzc2wuY29tLzANBgkqhkiG9w0BAQsFAAOCAQEAv7bVFNp6SmYLMKinPm/y4ZmG2pytnEMh
34tNrVhPqbYF4yAYw3UdlkmU4wS4GUEAbcMTTJWL5jIZ0JwpkVgUdN9VtDlIuZF7evuWB9LAx5re
TAZJ4FR11/Q4AGE4Hs0PvT8i4dvug8IFhx1DLXMA14ypFdcC1+f46uxTJ1//nQTv3wuhdJdarPI5
K5NHzfL+pK+/3Gn7RcfgbAjp2MSEsnV20PmWWLDd+aO+NVW22+YjaOT/c3fnp2NTk3tPm9t7rUkK
xcRHrcFNjurmYIIbWUBJ2XosnxdWVkA7JvIS5wAOsI5RZcYA6/0FqltjCIyZ+YsP+Rs3Mlp8ra3l
7KKN7DGCA28wggNrAgEBMIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRk
LjErMCkGA1UECxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMv
U3RhcnRDb20gQ2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAwhbjTAJBgUr
DgMCGgUAoIIBrzAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0xNDEw
MTgyMDA3NTRaMCMGCSqGSIb3DQEJBDEWBBRDz9sXulKzWQEWrdovgxye+jimcDCBpQYJKwYBBAGC
NxAEMYGXMIGUMIGMMQswCQYDVQQGEwJJTDEWMBQGA1UEChMNU3RhcnRDb20gTHRkLjErMCkGA1UE
CxMiU2VjdXJlIERpZ2l0YWwgQ2VydGlmaWNhdGUgU2lnbmluZzE4MDYGA1UEAxMvU3RhcnRDb20g
Q2xhc3MgMSBQcmltYXJ5IEludGVybWVkaWF0ZSBDbGllbnQgQ0ECAwhbjTCBpwYLKoZIhvcNAQkQ
AgsxgZeggZQwgYwxCzAJBgNVBAYTAklMMRYwFAYDVQQKEw1TdGFydENvbSBMdGQuMSswKQYDVQQL
EyJTZWN1cmUgRGlnaXRhbCBDZXJ0aWZpY2F0ZSBTaWduaW5nMTgwNgYDVQQDEy9TdGFydENvbSBD
bGFzcyAxIFByaW1hcnkgSW50ZXJtZWRpYXRlIENsaWVudCBDQQIDCFuNMA0GCSqGSIb3DQEBAQUA
BIIBAJJjjogb+Z1cp7AgR5YSj54HlrXP3GR3Dz33chVzGIROhsy6cQsOdSRAdOz8jfVLD8ItVjaI
LDKWLKKVJFAJjK8RAKAQ2jNR2Si6Xv28IXRqMehPnhlRYLELNSu+4103guNADZgX1i6r8oo0QGmT
0npLza4hJ68lUtMwYiW1Ed1emBp6+g20FXzwTQBczQWWhjTbS8vSlmtLNSH5K6g8CSdzJGlLwaeC
wPcoNHBFQJXKmewJ6WlZzPQeHr3dXKs2TEWbj6REChWJleof6gchaHe5tarC+3QwNHw8vM4MzTPt
C2lh0fNdQMXpGe9igTEcHOGOvUB8FF5pf7sm527XYX8AAAAAAAA=
--Apple-Mail=_1BBE635E-9EF9-47D1-86F0-410CE336BCFD--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F5829461-F030-4274-8DF8-ECBA8A832A63>