Solved [Solved] Why does building a port also create a package?

Greetings.

All my servers and desktops follow RELENG_8 (8.4-STABLE). All but one, simply migrated up the version trail, always following -STABLE. I just recently dusted off an older board, and installed 8 off the 8-4 DVD. After updating src and ports, I built/installed world/kernel. Now, as I build the requisite ports. I see that after completion of a build, it creates a package tarball -- even if I choose make install clean, make install && make clean, or make install distclean. What's the point? Shouldn't I be asked if I want to also create a package/tarball? I could find nothing in /usr/local/etc/* that indicates I have a choice here. I have nothing in /etc/make.conf, and I could find nothing in /usr/ports/UPDATING.
Can someone throw me a bone here? :)

Thank you for all your time, and consideration.

--Chris
 
Re: Why does building a port also create a package?

This is a consequence of the new 'staging' of the ports tree. It shouldn't have anything to do with the version of FreeBSD you're running. Previously the most noticeable change was that you had to install a port before you could make a package from it. This presented a problem though, you could never build a package on a user account, you had to be root. Not without some tricks anyway. And packages have always been somewhat of an afterthought This process is changing a lot recently and the emphasize has been more on building proper packages. Hence the change.

I haven't tried figuring out how to build without packages because I'm mainly using ports to build my own package repository :D
 
Re: Why does building a port also create a package?

My understanding of staging and where pkgng is supposed to take us to the point where the ports tree builds packages to be installed by pkg tools. Upgrading ports on a production system and having issues could leave the system in an unpredictable state where it can't do its job as a server. A port the errors during an install shouldn't leave cruft over the system. Moving away from that approach by building packages an installing them can be more predictable.
 
Re: Why does building a port also create a package?

@SirDice, @junovitch, thank you both for your informative replies.

I have no desire to create a package for every port I build on this system. Is there no way to make this behaviour stop? For me, this is a complete waste of time. It eats CPU cycles, needlessly, for something I have no need for -- especially when dealing with "meta-ports". It's not that I hate packages, or anything. I just want to have control over how, and when this sort of thing should happen. Have I relinquished all control of my hardware to the FreeBSD Foundation? ;)

Thanks again, for taking the time to respond.

--Chris
 
Last edited by a moderator:
Re: Why does building a port also create a package?

From /usr/ports/CHANGES:
Code:
20130923:
AUTHOR: bapt@FreeBSD.org

  The ports tree is now staged by default. With pkgng the sequence hasn't
  changed, the main difference is that creating package is now independent
  from installing it. With pkg_install, the package is now created first
  and make install, do install the package.

  New macros:
  - STAGEDIR: PATH to the directory where the port will be staged.
  - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)

... entry continues ...
 
Re: Why does building a port also create a package?

Greetings,@junovitch, and thank you very much for your reply.
junovitch said:
From /usr/ports/CHANGES:
Code:
20130923:
AUTHOR: bapt@FreeBSD.org

  The ports tree is now staged by default. With pkgng the sequence hasn't
  changed, the main difference is that creating package is now independent
  from installing it. With pkg_install, the package is now created first
  and make install, do install the package.

  New macros:
  - STAGEDIR: PATH to the directory where the port will be staged.
  - NO_STAGE: Keep the old behaviour of the ports tree (aka no staging area)

... entry continues ...
D'OH! I really should have caught that. :p

Thanks again, for taking the time to respond, @junovitch!

--Chris
 
Last edited by a moderator:
Back
Top