Newbie Port Creator Questions
Weissmann Markus
mww at macports.org
Sun Sep 2 15:03:15 PDT 2007
Hi Jonathan,
On 02.09.2007, at 22:35, Jonathan Strine wrote:
> All,
>
> I am working on creating ports for a few applications. I have
> created and submitted my first one just yesterday (libelf-0.8.9).
> I am now working on my second (dynamips-0.2.7), but have a few
> questions I'm hoping someone can answer (not all relating to just
> dynamips-0.2.7).
>
> 1) I have successfully created a variant of dynamips using pcap.
> The process was rather simple. However, I am debating the creation
> of a third variant. A third party developer has created a source
> code patch that extends a certain function of dynamips in a useful
> way. Is it appropriate to include such a third party modification
> as a variant to a port?
>
Absolutely. If you find it useful and no is bashing you for that
(e.g. because it breaks ports that depend on it), go ahead!
> 2) In the case above, the third party patch file is written to be
> applied from the directory above the source code (I think this
> would be called the work directory) and not from inside the
> dynamips-0.2.7 directory created when the tarball is extracted.
> The best I can figure is that the patching phase does apply the
> patch while in this source directory (dynamips-0.2.7) and not from
> the work directory. It is possible to make it apply the patch from
> the work directory so that I do not have to modify the third party
> patch file for this variant?
>
you could either modify the patch-directory via 'patch.dir $
{worksrcpath}/foo/bar/' or just create a new patch via diffing the
original and the patches sources from the base dir;
> 3) The third party patch is licensed under the GPLv2 license. Are
> there any general concerns that I should worry about in either case
> where I use the patch file as is or in the case where I modify it?
>
No problems for us. It'll only hit the people who link against the
new product. We will happily distribute GPLed code (as long as port
itself is not mixed with it).
> 4) If I cannot patch from the work directory, is it considered OK
> to modify the third party patch file to support patching from
> inside the dynamips-0.2.7 directory?
>
yes, sure; GPLed code may be modified and distributed by us (see above).
> 5) What is the best practice to make sure that during all the
> steps I am only referencing libraries and dependencies from the
> macports system and not accidentally compiling against pre-
> installed system libraries? I have run "port -d install foo" and
> read through the output, but I want to double check that I am not
> missing anything.
>
It currently may be broke, but we do have 'trace' mode which can be
activated with the '-t' switch. It'll tell you about all ports that
your port touches during its build.
For checking after you build it, I recommend a simple 'find' command
like
#> find work/destroot -type f | xargs otool -L 2>&1 | sort -u
That'll tell you all libs that the files in destroot link against.
Regards,
-Markus
---
Markus W. Weissmann
http://www.mweissmann.de/
---
Markus W. Weissmann
http://www.mweissmann.de/
More information about the macports-dev
mailing list