pkg (aka pkgng) 1.0 Released

Good to know, thanks! I have a couple of questions:

  1. I've noticed a couple of threads where some people have bad experiences with pkg2ng. Is it fool-proof or is there a chance it could fail if I run it and bork my packaging system?
  2. I noticed in that announcement that support for portmaster is offered. I have always understood portmaster to simplify the management and upgrading/maintaining of ports and packages (to an extent). Isn't this also the solution that pkgng aims to provide? If so, why would someone choose to use portmaster over pkgng?
 
  1. Last I heard, there was no return path after converting to pkgng. Back up first, then restore if there is a problem. Or wait for a while to let the bigger problems get worked out, although most should be fixed by now anyway.
  2. pkgng is meant to handle installing and removing binary packages. It is not meant to replace the tools that handle dependencies and interrelations like portmaster and portupgrade.
 
Thanks to pkgng team! I currently use /ports-mgmt/poudriere 2.0 and /ports-mgmt/pkgng 1.0 with optionsNG style /etc/make.conf to build my own custom xfce desktop repo.(total 355 ports) No need to use ports-mgmt/portmaster anymore.
 
andyzammy said:
Good to know, thanks! I have a couple of questions:

1) I've noticed a couple of threads where some people have bad experiences with pkg2ng. Is it fullproof or is there a change it could fail if I run it and bork my packaging system?

2) I noticed in that announcement that support for portmaster is offered. I have always understood portmaster to simplify the management and upgrading/maintaining of ports and packages (to an extent). Isn't this also the solution that pkgng aims to provide? If so, why would someone choose to use portmaster over pkgng?

With the exception of a hint in one sentence in a post I read not five minutes ago, /var/db/pkg (in the sense that each subdirectory is its own database of the port registration details...) will be removed and replaced with a API. This is a big change with many issues. For instance, I've almost ten times the number of ports installed across many machines as the post just earlier in this thread, and pkg(ng) introduces a great deal of complexity (I use the shell and tab-completion and portmaster) to the mix of ports/packages where I leave typically a subset unupgraded upon each upgrade, and some machines have no space for more ports to support pkg. The new system may be move favorable to the majority of users, but it adds a layer of complexity I did never wish to see to the base system.
(Specifically, additional commands to remember rather than just tab-completion with the shell, assuming they work as expected...)
To answer as well as I can in just a few minutes your last question, say I've a file contained just a few lines
--------------------------------------------
www/firefox ........ needs updating...
lang/gcc46 ....... needs updating...
devel/p5-DateTime-TimeZone ........ needs updating...
math/lapack ........ needs updating...
--------------------------------------------
and lapack is officially broken, so I'd want to exclude it. I'd also want to delay gcc46 (having
updated it recently...) so
Code:
cat file | grep -v gcc | grep -v lapack | awk  '{print $1}' |  xargs -J % portmaster -d -B -P -i -g %
Portmaster would happily update two of them, after I answer y/n to each dependency, and I could
return in a few minutes for the next set of upgrades from that particular file, if it was
large.
Obviously pkg(ng) may have an equivalent, but it may not be in place, nor readily available until
it is the default (mandatory) in, say, v11, and there may be hacks (etc) necc. on the end-user
end for it to finish with the same efficiency. So YMMV.
 
If you use portmaster to only update certain ports at a time, nothing changes. Portmaster works the same as before. Compiling from ports works the same as before. All that changes is how/where the information for installed ports is stored (/var/db/pkg/pkg.sqlite or simlar instead of /var/db/pkg/*/*).

As for tab-completion, it's not there atm, but there's nothing stopping someone from working up the completion files for sh, bash, tcsh, zsh, etc.

Sure, you'll have to learn some new commands for accessing what's in the pkg database. But that doesn't mean it's the end of the world. If nothing changed because people didn't want to learn new commands ...
 
I would like to install pkgng, but fail. I try to install it with pkg_add -r pkg, but I get the error that the file does not exist or url.
I do not want to install the ports, I want a system consisting exclusively of packages.
FreeBSD version that I have is 9.0-RELEASE-p3/i386. I have nothing installed on the system, no GUI, I want to install before all pkgng.
What can I try? Again, I do not want anything from ports.
 
Horos said:
FreeBSD version that I have is 9.0-RELEASE-p3/i386. I have nothing installed on the system, no GUI, I want to install before all pkgng.
What can I try? Again, I do not want anything from ports.

Assume you use amd64 version FreeBSD, you can install it by :
Code:
% su -
# fetch http://pkgbeta.freebsd.org/freebsd%3a9%3ax86%3a64/latest/All/pkg-1.0.txz
# tar xf ./pkg-1.0.txz -s ",/.*/,,g" "*/pkg-static"
# ./pkg-static add ./pkg-1.0.txz
# pkg2ng
 
I have FreeBSD 32 bit, but thanks anyway for your reply.
I solved it another way: I installed pkgng from ports and then run pkg2ng.
I think the result is satisfactory: the remaining program consists of packages from the repository.
 
I just installed and started using pkg-ng last night. It's been working really well so far and is much more convenient that manging ports/packages manually. So far no problems.
 
Back
Top