I tried wbar in FreeBSD 9.1 but bailed out on FreeBSD after several other long to build ports either failed or segfaulted. I may come back to it once the packages servers are back up.

Anyway, I liked wbar and started trying to make an OpenBSD port. So far, following the Porter's Handbook I have been able to fetch, checksum, extract, and compile with gmake. My next task is to generate the wantlibs. The section on handling shared libaries indicated the importance of an accurate list but does not give much information about how to accomplish the task.#make lib-depends-check gives:

You can tell I have spent time in the FreeBSD forums - they are very compulsive about BB Codes

My questions:

1) Since this is a new port do I need to list the earliest minor version of the library that will work or can I just start with the version in my current install that I know will successfully compile?

2) The README indicates that wbar just needs X11 and Imlib2 but when I look at other Makefiles, the WANTLIB's list other X11 components like Xcomposite. Some WANTLIB listings have numbers (version-1) or require >= (version1>=1.14) while other do not. Is there a customary place to put minimal versions in the wbar source that I can cross check?

SHARED_LIBS are versionned shared libraries included in the package.
WANTLIB are libraries that the package depends on.

I think I understand the basic process of compiling a program from source and believe that the porting team uses WANTLIBS, SHARED_LIBS and LIB_DEPENDS entries to assist in port maintenance but I can't find strict definitions and guidelines on how to do this. I think I have everything else (post_install , plists, DESCR) ready to go.

@jggimi

Quote:

I haven't built a port in several years. From memory, I recall using WANTLIB for libraries in the base or in X, and I recall setting third party libraries as LIB_DEPENDS. I may not remember correctly.

Is there a list of what packages are in the baseXX.tgz and the x****XX.tgz?

I haven't built a port in several years. From memory, I recall using WANTLIB for libraries in the base or in X, and I recall setting third party libraries as LIB_DEPENDS. I may not remember correctly.

WANTLIB contains libraries from base, X, and packages too. LIB_DEPENDS lists the ports that contain any libraries in WANTLIB that aren’t already in base.

Quote:

Originally Posted by jggimi

Again, my memory is foggy, but perhaps make with the port-lib-depends-check target?

Yes, this is the simplest way.

Quote:

Originally Posted by shep

I think I understand the basic process of compiling a program from source and believe that the porting team uses WANTLIBS, SHARED_LIBS and LIB_DEPENDS entries to assist in port maintenance but I can't find strict definitions and guidelines on how to do this. I think I have everything else (post_install , plists, DESCR) ready to go.

I usually start out with a blank LIB_DEPENDS, or just enough to make it build. Then, run “make port-lib-depends-check”. It will print something like this:

Thank you. The OpenBSD porters handbook assumes alot more background than I have.

I jumped in as I learn best by trying to do. In this instance, I had a window open to the handbook and another window actually going through the steps. That worked well until I had annotate the various dependencies in the Makefile.

I also tried looking as recent port commits to see the syntax also the same port in FreeBSD. Needless to say, my port was sloppy. Antoine Jacoutot was nice enough to help and his edits are clean and more concise. I had a busy post-install section that was shuffling some of the files to the standard OpenBSD folders and Antoine just set some build flags. It looks like I need to do more reading and if anyone has any additional recommended reading, beyond the ports handbook, please post them. It would also be a great howto project on how to make a port the OpenBSD way.

I am now trying to test the port on my current machines but my packages are out of synch. I have been running current with binary upgrades and installed the latest ports.tar.gz from snapshots. Unfortunately no new snapshot packages have been built for close to a month. 5.3 is anticipated in about 10 days

It would also be a great howto project on how to make a port the OpenBSD way.

Better yet, proposing diff(1)'s to the actual Porter's Handbook itself would be more optimal, plus, the project's developers would help maintain/modify the veracity of the information. What the community does not need is more unmaintained incomplete & out-of-date how-to documents floating about the Internet.

Better yet, proposing diff(1)'s to the actual Porter's Handbook itself would be more optimal, plus, the project's developers would help maintain/modify the veracity of the information. What the community does not need is more unmaintained incomplete & out-of-date how-to documents floating about the Internet.

Having a reliable source of information is one of OpenBSD strengths. The Catch-22 is that someone proposing a clarification to the handbook needs to have learned the correct information in order to write it.