On Wed, 15 Aug 2001 15:26:59 +1000, you wrote:
>At 10:17 PM -0700 2001/08/14, J.C. Roberts wrote:
>>On Wed, 15 Aug 2001 10:57:23 +1000, you wrote:
>>
>>>At 9:06 AM -0700 2001/08/14, J.C. Roberts wrote:
>>>>I'm trying to get klaptopdaemon from the kdeutils collection working
>>>>on OpenBSD. It will basically require me to write a patch for the
>>>>program that does the same thing as apm and need to use a couple of
>>>>the apmd header files that are not installed in /usr/include/machine/
>>>>
>>>>Is it OK to put these two header files in the port and copy them into
>>>>the ${WKSDIST} dir via the configure script or is there a better way
>>>>to do this? I figure if someone doesn't have /usr/src installed on the
>>>>machine (or it's installed elsewhere) hard coded paths would break.
>>>>
>>>
>>>Currently the Netatalk port copies header files into ${WRKSRC}
>>>
>>>post-patch:
>>> @rm -rf ${WRKSRC}/include/netatalk
>>> @ln -sf /usr/include/netatalk ${WRKSRC}/include/netatalk
>>> @rm -f ${WRKSRC}/sys/netatalk/*.h
>>>
>>>So something similar should work the same.
>>>
>>>
>>
>>Thanks Ian,
>>
>>The problem is the header files I need are not in /usr/include/* They
>>are only in /usr/src/* so if someone doesn't have source on the system
>>or they've placed it in a non-standard place then a link would fail.
>>
>>My work around was to store a copy of the header files in the port
>>itself and use the $PORT/scripts/configure script to copy them into
>>the right place before compiling.
>>
>>cat $PORT/scripts/configure
>>
>> cp scripts\apm-proto.h ${WRKDIST}\klaptopdaemon\apm-proto.h
>> cp scripts\pathnames.h ${WRKDIST}\klaptopdaemon\pathnames.h
>>
>>It's the copying of system source headers into the ports tree that has
>>me wondering if there is a better way to do it.
>>
>
>OK create a patch for them. That way they will be created at patch time and
>no extra copying will be needed.
>
>To do so just initially create an empty *.orig file, cp in your new include
>and make update-patches will do the rest.
>
>
It's clever and I like it but I'll need to test it. Creating the empty
files so they can be patched would need to be done through
$PORTPATH\scripts\configure and as far as I know this runs _after_ the
patches are applied... The way I have it now works well and when/if
the header files are seriously changed in the OBSD source tree, the
port can be updated as well.
My main concern is really licenses and sending patches to the author
of the program. IANAL but I'm not sure if you can have a BSD licensed
header file in a GPL'd program (without making a legal mess). I
_think_ it's OK to #include BSD (and other) licensed _system_ header
files in GPL programs... -I've seen it done with FreeBSD headers. Such
files (almost) always exist on the systems for the sake of inclusion
(e.g. /usr/include/*) but the ones I need are from the core source
tree and aren't always installed. It's a mess and I'll probably not be
able to offer my patch back to the author. -Sometimes I wonder about
the number of brain cycles wasted by non-lawyers like me trying to
figure out license issues... ;-)
Thanks for your input,
JCR
|