View Single Post
  #2   (View Single Post)  
Old 4th March 2018
jggimi's Avatar
jggimi jggimi is offline
More noise than signal
 
Join Date: May 2008
Location: USA
Posts: 7,984
Default

Quote:
Originally Posted by Funkygoby View Post
...can I use a .core file produced by a binary without debug symbols ?
I don't know. I don't recall ever trying. Normally, if I want symbols I also want a module that is not optimized.
Quote:
...How to make a binary with debug symbols.
It depends on the compiler, usually -g (and -O0) are added to CFLAGS or CXXFLAGS. I usually do this by copying Makefile to makefile, then editing the makefile, as make(1) will ignore Makefile if makefile exists. But this is for debugging only. If I need to edit the port to correct a problem after debugging, I rm(1) my temporary debugging makefile and make myedits to the Makefile, as I need to produce a useful diff(1) against the CVS repository to post a patch.
Quote:
... I am sure /usr/local/bin/thunar binary will be replaced ?
Only if you make install. You can make fake, which is a pre-packaging step used with every port. It install the port into a private directory structure. See THE FAKE FRAMEWORK in bsd.ports.mk(5).
Quote:
By the way, thunar seems to be a shared library.
looking at its PLIST, it includes shared libraries. That seems reasonable, as there are 4 thunar applications in the x11/xfce4 branch of the ports tree.
Quote:
5. How to properly clean the ports tree ?
Building a port makes no changes within a port's "leaf" of the tree. There are directory structures used to build the port's package or packages. The upstream distribution source is fetched to the $DISTDIR structure, extracted, built, and readied for packaging in the $WRKDIR structure. There are additional registrations, such as the contents of the packing list ("plist") and in a bulk build, there are bulk-build cookies and log/status files. Any build dependencies that were not already installed will be built or fetched, depending on $FETCH_PACKAGES and whether the $PKG_PATH contains a correct, installable version of the necessary dependency. For x11/xfce4/thunar, by default $DISTDIR and $WRKDIR are /usr/ports/distfiles and
/usr/ports/pobj/thunar-1.6.12 at 6.2-release, or /usr/ports/pobj/thunar-1.6.14 at -current.

Your "clean" example both removed too much and too little. You don't need to delete the package from your system -- unless you install it, which you state you do not want to do. And your clean skipped the plist registration (in /usr/ports/plist).

A terrific resource for port testing and debugging is the Port Testing Guide, a chapter in the Porter's Handbook.

http://www.openbsd.org/faq/ports/testing.html

Last edited by jggimi; 4th March 2018 at 03:40 PM. Reason: ports are not packaged in $WRKDIR
Reply With Quote