Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

portmaster -af fails due to dead port - HELP

67 views
Skip to first unread message

William Dudley

unread,
Jul 2, 2015, 11:29:47 AM7/2/15
to
I'm using freebsd-update to move from 8.4 RELEASE to 9.3 WHATEVER

I'm trying to upgrade my ports

I run portmaster -af

lots of messages, and then this:


===>>> The security/chkrootkit port has been deleted: Has expired: Fails to
build with new utmpx
===>>> Aborting update

and portmaster stops without updating anything.

How do I get past this.

/usr/ports/security/chkrootkit DOES NOT EXIST so I can't do "make
uninstall" there.

Thanks,
Bill Dudley

This email is free of malware because I run Linux.
_______________________________________________
freebsd-...@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "freebsd-questi...@freebsd.org"

Herbert J. Skuhra

unread,
Jul 2, 2015, 3:55:32 PM7/2/15
to
On Thu, Jul 02, 2015 at 11:29:27AM -0400, William Dudley wrote:
> I'm using freebsd-update to move from 8.4 RELEASE to 9.3 WHATEVER
>
> I'm trying to upgrade my ports
>
> I run portmaster -af
>
> lots of messages, and then this:
>
>
> ===>>> The security/chkrootkit port has been deleted: Has expired: Fails to
> build with new utmpx
> ===>>> Aborting update
>
> and portmaster stops without updating anything.
>
> How do I get past this.
>
> /usr/ports/security/chkrootkit DOES NOT EXIST so I can't do "make
> uninstall" there.

How about 'pkg delete chkrootkit'?

--
Herbert

William Dudley

unread,
Jul 2, 2015, 4:53:31 PM7/2/15
to
Thanks.

I didn't know pkg worked on ports, I thought it was for packages (i.e.
pre-packaged
binaries). Now I'm on my way. I think.

Bill Dudley


This email is free of malware because I run Linux.

On Thu, Jul 2, 2015 at 3:55 PM, Herbert J. Skuhra <her...@oslo.ath.cx>
wrote:

William Dudley

unread,
Jul 2, 2015, 5:20:41 PM7/2/15
to
That got me a lot further, but now the problem is this:

===>>> All >> arj-3.10.22_4 (61/61)

===>>> Currently installed version: arj-3.10.22_4
===>>> Port directory: /usr/ports/archivers/arj

===>>> Launching 'make checksum' for archivers/arj in background
===>>> Gathering dependency list for archivers/arj from ports
===>>> Forcing update for /usr/ports/devel/autoconf
===>>> Launching child to reinstall autoconf~pkg-renamed~FEE5-2.69

===>>> All >> arj-3.10.22_4 >> autoconf~pkg-renamed~FEE5-2.69 (62/62)

===>>> No valid installed port, or port directory given
===>>> Try portmaster --help


===>>> Update for autoconf~pkg-renamed~FEE5-2.69 failed
===>>> Aborting update

===>>> Update for arj-3.10.22_4 failed
===>>> Aborting update

I don't understand if this is a problem with arj or autoconf, but I don't
want to delete arj, because
other packages depend on it, and I don't want to delete them. I tried "pkg
lock arj" and that didn't
seem to do anything, in that portmaster -af still wants to upgrade arj.

Now what? How do I get portmaster -af to ignore arj? Or how do I fix
whatever the complaint is
about arj?

Thanks,
Bill Dudley


This email is free of malware because I run Linux.

William Dudley

unread,
Jul 2, 2015, 5:22:59 PM7/2/15
to
I tried "pkg install autoconf", figuring autoconf was broken.

Now pkg wants to remove approx 50 packages, some quite crucial,
just to install autoconf. WTF? Why can't I just install autoconf?

Linux package management is SO much easier.

Thanks,
Bill Dudley


This email is free of malware because I run Linux.

Herbert J. Skuhra

unread,
Jul 2, 2015, 5:34:16 PM7/2/15
to
On Thu, Jul 02, 2015 at 05:20:19PM -0400, William Dudley wrote:

> Now what? How do I get portmaster -af to ignore arj? Or how do I fix
> whatever the complaint is
> about arj?

From 'man portmaster':

-x avoid building or updating ports that match this pattern. Can be
specified more than once. If a port is not already installed the
exclude pattern will be run against the directory name from
/usr/ports.

Herbert J. Skuhra

unread,
Jul 2, 2015, 5:46:26 PM7/2/15
to
On Thu, Jul 02, 2015 at 05:20:19PM -0400, William Dudley wrote:
> That got me a lot further, but now the problem is this:
>
> ===>>> All >> arj-3.10.22_4 (61/61)
>
> ===>>> Currently installed version: arj-3.10.22_4
> ===>>> Port directory: /usr/ports/archivers/arj
>
> ===>>> Launching 'make checksum' for archivers/arj in background
> ===>>> Gathering dependency list for archivers/arj from ports
> ===>>> Forcing update for /usr/ports/devel/autoconf
> ===>>> Launching child to reinstall autoconf~pkg-renamed~FEE5-2.69
>
> ===>>> All >> arj-3.10.22_4 >> autoconf~pkg-renamed~FEE5-2.69 (62/62)
>
> ===>>> No valid installed port, or port directory given
> ===>>> Try portmaster --help
>
>
> ===>>> Update for autoconf~pkg-renamed~FEE5-2.69 failed
> ===>>> Aborting update
>
> ===>>> Update for arj-3.10.22_4 failed
> ===>>> Aborting update
>
> I don't understand if this is a problem with arj or autoconf, but I don't
> want to delete arj, because
> other packages depend on it, and I don't want to delete them. I tried "pkg
> lock arj" and that didn't
> seem to do anything, in that portmaster -af still wants to upgrade arj.

What's the output of 'pkg version -x autoconf'? Try to remove those
packages first and then run portmaster again!

Warren Block

unread,
Jul 2, 2015, 5:52:28 PM7/2/15
to
On Thu, 2 Jul 2015, William Dudley wrote:

> Thanks.
>
> I didn't know pkg worked on ports, I thought it was for packages (i.e.
> pre-packaged
> binaries). Now I'm on my way. I think.

Packages are what you get when a port is compiled. This might help:
http://www.wonkity.com/~wblock/docs/html/pkg.html

William F. Dudley Jr.

unread,
Jul 2, 2015, 7:30:57 PM7/2/15
to


On 07/02/2015 05:46 PM, Herbert J. Skuhra wrote:
> pkg version -x autoconf
pkg version -x autoconf
autoconf-wrapper-20101119 <
autoconf~pkg-renamed~BF2E-2.13.000227_6 =
autoconf~pkg-renamed~FEE5-2.69 =

What does that mean? "man pkg" doesn't explain any of that.

Thanks,
Bill Dudley
user of FreeBSD since 2000, but obviously not an expert.

William F. Dudley Jr.

unread,
Jul 2, 2015, 8:22:46 PM7/2/15
to
So, this happened:

prompt> portmaster -af -x arj -x faad2 -x libutempter -x ruby -x tcl

(lots of output deleted)

===>>> Returning to update check of installed ports

===>>> No origin available for tcl~pkg-renamed~9E62-8.4.19_3,1


===>>> Cannot continue
===>>> Aborting update

SO I try to delete the package.
I'd already tried "pkg delete tcl" and gotten "Package(s) not found!",
so now this:

prompt> pkg delete tcl~pkg-renamed~9E62-8.4.19_3,1
Checking integrity... done (0 conflicting)
Package(s) not found!

So portmaster is complaining about tcl, but tcl isn't installed, and -x
doesn't work either.

How do I get past this monster?

Thanks,
Bill Dudley



On 07/02/2015 05:46 PM, Herbert J. Skuhra wrote:
> On Thu, Jul 02, 2015 at 05:20:19PM -0400, William Dudley wrote:
>> That got me a lot further, but now the problem is this:
>>
>> ===>>> All >> arj-3.10.22_4 (61/61)
>>
>> ===>>> Currently installed version: arj-3.10.22_4
>> ===>>> Port directory: /usr/ports/archivers/arj
>>
>> ===>>> Launching 'make checksum' for archivers/arj in background
>> ===>>> Gathering dependency list for archivers/arj from ports
>> ===>>> Forcing update for /usr/ports/devel/autoconf
>> ===>>> Launching child to reinstall autoconf~pkg-renamed~FEE5-2.69
>>
>> ===>>> All >> arj-3.10.22_4 >> autoconf~pkg-renamed~FEE5-2.69 (62/62)
>>
>> ===>>> No valid installed port, or port directory given
>> ===>>> Try portmaster --help
>>
>>
>> ===>>> Update for autoconf~pkg-renamed~FEE5-2.69 failed
>> ===>>> Aborting update
>>
>> ===>>> Update for arj-3.10.22_4 failed
>> ===>>> Aborting update
>>
>> I don't understand if this is a problem with arj or autoconf, but I don't
>> want to delete arj, because
>> other packages depend on it, and I don't want to delete them. I tried "pkg
>> lock arj" and that didn't
>> seem to do anything, in that portmaster -af still wants to upgrade arj.
> What's the output of 'pkg version -x autoconf'? Try to remove those
> packages first and then run portmaster again!
>

Warren Block

unread,
Jul 2, 2015, 8:50:29 PM7/2/15
to
On Thu, 2 Jul 2015, William F. Dudley Jr. wrote:

> So, this happened:
>
> prompt> portmaster -af -x arj -x faad2 -x libutempter -x ruby -x tcl
>
> (lots of output deleted)
>
> ===>>> Returning to update check of installed ports
>
> ===>>> No origin available for tcl~pkg-renamed~9E62-8.4.19_3,1
>
>
> ===>>> Cannot continue
> ===>>> Aborting update
>
> SO I try to delete the package.
> I'd already tried "pkg delete tcl" and gotten "Package(s) not found!", so now
> this:
>
> prompt> pkg delete tcl~pkg-renamed~9E62-8.4.19_3,1
> Checking integrity... done (0 conflicting)
> Package(s) not found!
>
> So portmaster is complaining about tcl, but tcl isn't installed, and -x
> doesn't work either.
>
> How do I get past this monster?

Please do not top-post, it makes replying more difficult.

Tildes are special characters in the shell, so try it again, but use
single ticks to prevent the shell from expanding the filename:

pkg delete 'tcl~pkg-renamed~9E62-8.4.19_3,1'

William F. Dudley Jr.

unread,
Jul 2, 2015, 9:09:00 PM7/2/15
to


On 07/02/2015 08:50 PM, Warren Block wrote:
> On Thu, 2 Jul 2015, William F. Dudley Jr. wrote:
>
>> So, this happened:
>>
>> prompt> portmaster -af -x arj -x faad2 -x libutempter -x ruby -x tcl
>>
>> (lots of output deleted)
>>
>> ===>>> Returning to update check of installed ports
>>
>> ===>>> No origin available for tcl~pkg-renamed~9E62-8.4.19_3,1
>>
>>
>> ===>>> Cannot continue
>> ===>>> Aborting update
>>
>> SO I try to delete the package.
>> I'd already tried "pkg delete tcl" and gotten "Package(s) not
>> found!", so now this:
>>
>> prompt> pkg delete tcl~pkg-renamed~9E62-8.4.19_3,1
>> Checking integrity... done (0 conflicting)
>> Package(s) not found!
>>
>> So portmaster is complaining about tcl, but tcl isn't installed, and
>> -x doesn't work either.
>>
>> How do I get past this monster?
>
> Please do not top-post, it makes replying more difficult.
>
> Tildes are special characters in the shell, so try it again, but use
> single ticks to prevent the shell from expanding the filename:
>
> pkg delete 'tcl~pkg-renamed~9E62-8.4.19_3,1'
Adding the ticks made no difference. I'm at a loss as to how to get
past this.

pkg delete 'tcl~pkg-renamed~9E62-8.4.19_3,1'
Checking integrity... done (0 conflicting)
Package(s) not found!

Thanks,
Bill Dudley

kpn...@pobox.com

unread,
Jul 2, 2015, 10:35:43 PM7/2/15
to
On Thu, Jul 02, 2015 at 05:20:19PM -0400, William Dudley wrote:
> I don't understand if this is a problem with arj or autoconf, but I don't
> want to delete arj, because
> other packages depend on it, and I don't want to delete them. I tried "pkg
> lock arj" and that didn't
> seem to do anything, in that portmaster -af still wants to upgrade arj.
>
> Now what? How do I get portmaster -af to ignore arj? Or how do I fix
> whatever the complaint is
> about arj?

I haven't been following this thread closely, but I wanted to ask: Is there
a good reason to use portmaster?

With pkg it is easy to get and use binary packages.

And with poudriere it is fairly straightforward to do bulk builds of
packages without touching your regular installed system. It even lets you
use custom options for particular ports if you like.

I've started updating /usr/ports, running poudriere, and then upgrading
with pkg all daily. It's much more reliable than messing with the installed
software I'm currently attempting to use while upgrading it.

--
Kevin P. Neal http://www.pobox.com/~kpn/
"14. Re-reading No. 13, I realize that it's quite possible I'm losing my
mind. I'm glad that for the most part I'm not aware it's happening."
-- from "20 things I'm thankful for": Fortune, Nov 29, 2004, page 230

William F. Dudley Jr.

unread,
Jul 2, 2015, 11:07:17 PM7/2/15
to

On 07/02/2015 10:35 PM, kpn...@pobox.com wrote:
> On Thu, Jul 02, 2015 at 05:20:19PM -0400, William Dudley wrote:
>> I don't understand if this is a problem with arj or autoconf, but I don't
>> want to delete arj, because
>> other packages depend on it, and I don't want to delete them. I tried "pkg
>> lock arj" and that didn't
>> seem to do anything, in that portmaster -af still wants to upgrade arj.
>>
>> Now what? How do I get portmaster -af to ignore arj? Or how do I fix
>> whatever the complaint is
>> about arj?
> I haven't been following this thread closely, but I wanted to ask: Is there
> a good reason to use portmaster?
>
> With pkg it is easy to get and use binary packages.
>
> And with poudriere it is fairly straightforward to do bulk builds of
> packages without touching your regular installed system. It even lets you
> use custom options for particular ports if you like.
>
> I've started updating /usr/ports, running poudriere, and then upgrading
> with pkg all daily. It's much more reliable than messing with the installed
> software I'm currently attempting to use while upgrading it.
>
The reason I'm going through this pain is because I'm following the
instructions here:

https://www.freebsd.org/releases/9.3R/installation.html

And it says "users of systems being upgraded from FreeBSD 8.4-RELEASE or
earlier will be prompted by freebsd-update(8) to rebuild all third-party
applications (e.g., ports installed from the ports tree)". So I need to
rebuild the ports.

I'd just as soon replace all the ports that I've built with pre-built
packages; this is so much
more complicated than updating packages on Linux, where it's absolutely
trivial. But I like
having a FreeBSD machine as mail and web server, so I stick with it
despite the difficulty.

Is there a *simple* way to just replace all the ports I've built with
the packaged equivalents?

Right now I can't get past this:

prompt> portmaster -af -x arj -x faad2 -x libutempter -x ruby -x tcl

<lots of stuff deleted for brevity>

===>>> Returning to update check of installed ports

===>>> No origin available for tcl~pkg-renamed~9E62-8.4.19_3,1


===>>> Cannot continue
===>>> Aborting update

and it craps out complaining about tcl, even though I told it to ignore
tcl. And I pkg deleted
tcl and tk. And still it complains about tcl.

I've just read a bit of the docs for poudriere and it looks like another
nightmare. It wants me
to use ZFS, for starters, which means more disks that I don't have room
for. I have
zero confidence that poudriere will work without throwing tons of
errors. I don't
need complicated right now, I need simple. I just want to update the
machine from
8.4 to 9.3, update the packages, and then ignore it for a few weeks to
months. The reason
my ports are so out of date is because it's such a nightmare to keep
them updated.
I hate working with ports and packages -- it's always a descent into
dependency hell.

Bill Dudley

Cary

unread,
Jul 3, 2015, 12:31:21 AM7/3/15
to
> Bill Dudley
>
>
> _______________________________________________

Hi Bill.

Looking at the man page for pkg-delete
prompt> man pkg-delete
it shows the command accepts glob patterns. To delete the
tcl package you might try
prompt> pkg delete -f -g tcl\*


Cary

RW via freebsd-questions

unread,
Jul 3, 2015, 7:58:42 AM7/3/15
to
On Thu, 02 Jul 2015 23:06:50 -0400
William F. Dudley Jr. wrote:

>

> https://www.freebsd.org/releases/9.3R/installation.html
>
> And it says "users of systems being upgraded from FreeBSD 8.4-RELEASE
> or earlier will be prompted by freebsd-update(8) to rebuild all
> third-party applications (e.g., ports installed from the ports
> tree)". So I need to rebuild the ports.


You don't need to rebuild them, just replace them with packages built
against the new base system using pkg. I expect the freebsd-update
message was written before pkg was created.

I think at this point it might be simpler to do a pkg delete -a and
install the packages you want.

Steve O'Hara-Smith

unread,
Jul 3, 2015, 8:09:47 AM7/3/15
to
On Thu, 02 Jul 2015 23:06:50 -0400
"William F. Dudley Jr." <wfdu...@gmail.com> wrote:

> Is there a *simple* way to just replace all the ports I've built with
> the packaged equivalents?

I went through doing just that some months ago as part of
switching to pkg. The approach I used was to use pkg_cutleaves to get a list
of stuff that wasn't installed as a dependency. Then I looked through it and
removed some I didn't care about winding up with my wanted list.

Then I used pkg_delete to remove everything, installed pkg and
used pkg install to install everything from my wanted list - which of
course picked up all the dependencies.

Ever since then all I've needed to do to keep it all up to date is
an occasional pkg upgrade and build the couple of ports for which I have
non-standard options.

I really don't miss portupgrade, it was a great tool but pkg is
much better.

--
Steve O'Hara-Smith <st...@sohara.org>

Polytropon

unread,
Jul 3, 2015, 9:07:39 AM7/3/15
to
On Fri, 3 Jul 2015 13:09:14 +0100, Steve O'Hara-Smith wrote:
> On Thu, 02 Jul 2015 23:06:50 -0400
> "William F. Dudley Jr." <wfdu...@gmail.com> wrote:
>
> > Is there a *simple* way to just replace all the ports I've built with
> > the packaged equivalents?
>
> I went through doing just that some months ago as part of
> switching to pkg. The approach I used was to use pkg_cutleaves to get a list
> of stuff that wasn't installed as a dependency. Then I looked through it and
> removed some I didn't care about winding up with my wanted list.
>
> Then I used pkg_delete to remove everything, installed pkg and
> used pkg install to install everything from my wanted list - which of
> course picked up all the dependencies.
>
> Ever since then all I've needed to do to keep it all up to date is
> an occasional pkg upgrade and build the couple of ports for which I have
> non-standard options.

In the current case (upgrade and packager change), I think
starting from scratch is the easiest way. My suggestion
would be to eliminate all installed ports, and make sure
that required contents of /usr/local/etc is backed up,
then install what's needed. A list may help, but the most
important thing is concentrating on "top level" ports,
which is the software you _really_ want to use. Let pkg
care about the dependencies. If you find something missing,
it's easy to add it with pkg. Especially if you don't have
the requirement to use non-default options (for ports), the
precompiled packages are fine to use.

That "top level" ports list can be created from a listing
of currently installed packages _or_ can also be created
manually. You _know_ which software you want to use. Then
the list can be fed to "pkg install", and the current (!)
versions will be available.



> I really don't miss portupgrade, it was a great tool but pkg is
> much better.

Now that binary updating is fully working, the need to
build from source has moved to specific edge cases. The
simple idea of "getting installed software updated" does
not force you to go via source anymore - pkg can do it
faster.


--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

Warren Block

unread,
Jul 3, 2015, 9:37:21 AM7/3/15
to
On Fri, 3 Jul 2015, RW via freebsd-questions wrote:

> On Thu, 02 Jul 2015 23:06:50 -0400
> William F. Dudley Jr. wrote:
>
>> https://www.freebsd.org/releases/9.3R/installation.html
>>
>> And it says "users of systems being upgraded from FreeBSD 8.4-RELEASE
>> or earlier will be prompted by freebsd-update(8) to rebuild all
>> third-party applications (e.g., ports installed from the ports
>> tree)". So I need to rebuild the ports.
>
>
> You don't need to rebuild them, just replace them with packages built
> against the new base system using pkg. I expect the freebsd-update
> message was written before pkg was created.
>
> I think at this point it might be simpler to do a pkg delete -a and
> install the packages you want.

That is still the same with building from ports. Building ports with
some of the old ones still in place can cause problems. The fastest and
easiest way is to get a list of installed packages, delete them all,
then reinstall from that list. The portmaster man page shows a
procedure for this, but it has not (yet) been updated for use with pkg.
An updated version is here:

https://forums.freebsd.org/threads/rebuilding-all-ports-with-portmaster.51210/


Yes, a PR has been submitted to update the portmaster man page:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=191166

kpn...@pobox.com

unread,
Jul 3, 2015, 10:13:45 AM7/3/15
to
On Thu, Jul 02, 2015 at 11:06:50PM -0400, William F. Dudley Jr. wrote:
> I've just read a bit of the docs for poudriere and it looks like another
> nightmare. It wants me
> to use ZFS, for starters, which means more disks that I don't have room
> for. I have

ZFS will run on a single disk. But ZFS is, in some ways, its own adventure.
So no ZFS. OK...

> zero confidence that poudriere will work without throwing tons of
> errors. I don't

The official FreeBSD packages are created with poudriere. If your needs
are generic enough then you can just piggyback along with pkg.

> need complicated right now, I need simple. I just want to update the
> machine from
> 8.4 to 9.3, update the packages, and then ignore it for a few weeks to
> months. The reason
> my ports are so out of date is because it's such a nightmare to keep
> them updated.
> I hate working with ports and packages -- it's always a descent into
> dependency hell.

Use pkg with binary packages. Life is much easier. I used to use portmaster,
but with pkg and binary packages I don't see a need anymore.

--
Kevin P. Neal http://www.pobox.com/~kpn/
'Concerns about "rights" and "ownership" of domains are inappropriate.
It is appropriate to be concerned about "responsibilities" and "service"
to the community.' -- RFC 1591, page 4: March 1994

Matthew Seaman

unread,
Jul 3, 2015, 10:27:49 AM7/3/15
to
On 2015/07/03 15:13, kpn...@pobox.com wrote:
> On Thu, Jul 02, 2015 at 11:06:50PM -0400, William F. Dudley Jr. wrote:
>> > I've just read a bit of the docs for poudriere and it looks like another
>> > nightmare. It wants me
>> > to use ZFS, for starters, which means more disks that I don't have room
>> > for. I have

> ZFS will run on a single disk. But ZFS is, in some ways, its own adventure.
> So no ZFS. OK...

As I recall, you *don't* need ZFS with recent versions of poudriere.
ZFS is recommended, and it certainly makes the build-environment
wrangling that poudriere does easier. But not having it doesn't prevent
you using poudriere any more. See here:

https://github.com/freebsd/poudriere/wiki

Cheers,

Matthew


signature.asc

Polytropon

unread,
Jul 3, 2015, 10:52:46 AM7/3/15
to
On Fri, 3 Jul 2015 10:13:24 -0400, kpn...@pobox.com wrote:
> On Thu, Jul 02, 2015 at 11:06:50PM -0400, William F. Dudley Jr. wrote:
> > need complicated right now, I need simple. I just want to update the
> > machine from
> > 8.4 to 9.3, update the packages, and then ignore it for a few weeks to
> > months. The reason
> > my ports are so out of date is because it's such a nightmare to keep
> > them updated.
> > I hate working with ports and packages -- it's always a descent into
> > dependency hell.
>
> Use pkg with binary packages. Life is much easier. I used to use portmaster,
> but with pkg and binary packages I don't see a need anymore.

Fully agree. When you do not need custom compile-time options
(or only need them in very few cases), using pkg is the way
to go. It's so easy to install software and keep it updated.
No "dependency hell" as sometimes seen on Linux where an update
that went wrong could render your whole (!) system unusable...

Sometimes, starting from scratch is far easier than doing the
update cycle(s). An OS re-installation is quickly done, and
armed with a list of your "top priority software", you can
have pkg install everything that is needed. It will install
the current version, and you'll be able to binarily update
them whenever you wish.

Similarly, freebsd-update works excellently for updating the
OS without requiring to build from source.

Using source today is only required for corner cases, for
example when you need to set compile-time options for your
ports or want to follow the -HEAD development branch of the
operating system.

Regarding "ports and/or packages": As it has been mentioned,
ports and packages are basically the same thing, and pkg is
the system's means to track what's installed on the system.
So even if you build from source, you're using pkg (because
first a package is built, then pkg installs that package
from its local source). It's important to understand that
simple fact.

So my suggestion and summary would be: Use pkg, start from
scratch, install what you need, and keep using pkg to update
your installed ports. And note that "ports" means "packages"
in this case. :-)


--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

Brandon J. Wandersee

unread,
Jul 3, 2015, 10:59:43 AM7/3/15
to

William F. Dudley Jr. writes:

> this is so much more complicated than updating packages on Linux,
> where it's absolutely trivial.

Statements like this drive me nuts. By your own admission, you're 100%
ignorant of what's going on and what you're doing. So by what standard
are you juding this to be "more complicated?" It's a foolish and
inflammatory statement that achieves nothing. It's also vapid: a pianist
who's never tried learning to play a saxaphone may as well say playing
saxaphone is "more complicated."

> Is there a *simple* way to just replace all the ports I've built with
> the packaged equivalents?

1) Update to whatever FreeBSD version you're trying to update to

2) $ portmaster --list-origins > portlist

2a) Read over that list to ensure everything's there, and to remove
build-time dependencies you don't want explicitly installed

3) $ pkg delete -a

4) $ pkg install `cat portlist` (note backticks)

5) $ pkg autoremove

Since (as one of your reported error messages makes clear) you haven't
updated your ports in a long time and had at least one port installed
that no longer exists in the ports tree/package repository, it would be
wise to presume there may be others. Also, since you've already deleted
a port or two (which may be the cause of the error you're getting with
the TCL package), you're going to have to go back over this thread to
remind yourself what needs to be reinstalled.

In the future, you might consider working with the people from whom you
expect help rather than throwing a fit and disparaging their hard work.

--
=================================================================
:: Brandon Wandersee ::
:: brandon....@gmail.com ::
==================================================================
'A common mistake that people make when trying to design something
completely foolproof is to underestimate the ingenuity of complete
fools.'
- Douglas Adams
==================================================================

kpn...@pobox.com

unread,
Jul 3, 2015, 3:58:52 PM7/3/15
to
On Fri, Jul 03, 2015 at 09:59:10AM -0500, Brandon J. Wandersee wrote:
> In the future, you might consider working with the people from whom you
> expect help rather than throwing a fit and disparaging their hard work.

Whoah there.

Everybody gets frustrated sometimes. Me, I've got a new IPv6 setup that
I'm having a hard time with. But the correct response is for the people
around the frustrated person to understand the frustration and just let
it go -- without comment.

Let's hope our frustrated user goes the binary package route and has an
easy time of it.

--
Kevin P. Neal http://www.pobox.com/~kpn/
On the community of supercomputer fans:
"But what we lack in size we make up for in eccentricity."
from Steve Gombosi, comp.sys.super, 31 Jul 2000 11:22:43 -0600

William F. Dudley Jr.

unread,
Jul 3, 2015, 4:53:51 PM7/3/15
to
Thanks to everybody for their help.

I am now much further along in my upgrade, which was complicated by the
fact that
this is a running server, and I didn't want to interrupt the users more
than a little
bit, so "delete all the ports, install all the packages" was less than
ideal for me.
(And this is just barely above "hobby level" stuff, so I don't have the
luxury of
building up a new machine and cutting over to it after it's ready. The
upgrade has
to be done in place.)

I have found that I can replace the old ports with packages a little bit
at a time,
thus minimizing the outages.

The various bits of help with commands has been invaluable to me, and
though I might
have eventually figured this all out on my own, your help has greatly
sped the process.

I may sound like I'm some kind of noob, but in reality I've been running
FreeBSD since very
early on (pre-2000), but always as a "hobby", since being sysadmin
wasn't my day job.
So I've upgraded FreeBSD over many, many versions. And historically,
upgrading the ports
was always a giant pain in the neck. Now, it seems, the binary package
management is finally
working, and once I get all these legacy port builds out of the way,
upgrades should be
much simpler in the future.

Again, thanks to all who responded.

Bill Dudley


On 07/03/2015 03:58 PM, kpn...@pobox.com wrote:
> On Fri, Jul 03, 2015 at 09:59:10AM -0500, Brandon J. Wandersee wrote:
>> In the future, you might consider working with the people from whom you
>> expect help rather than throwing a fit and disparaging their hard work.
> Whoah there.
>
> Everybody gets frustrated sometimes. Me, I've got a new IPv6 setup that
> I'm having a hard time with. But the correct response is for the people
> around the frustrated person to understand the frustration and just let
> it go -- without comment.
>
> Let's hope our frustrated user goes the binary package route and has an
> easy time of it.
>

Polytropon

unread,
Jul 3, 2015, 5:34:22 PM7/3/15
to
On Fri, 03 Jul 2015 16:53:25 -0400, William F. Dudley Jr. wrote:
> Thanks to everybody for their help.
>
> I am now much further along in my upgrade, which was complicated by the
> fact that
> this is a running server, and I didn't want to interrupt the users more
> than a little
> bit, so "delete all the ports, install all the packages" was less than
> ideal for me.

Couldn't you have a maintenance session in scheduled downtime
when you know the load is low (over night or at the weekend)?

Just a suggestion from my own experience: When I encounter the
need for a _massive_ upgrade, I usually do a new installation
on a separate system, disk, chroot environment or something
like that and prepare and _check_ everything, then migrate
the configuration. When "switch over" time has arrived, then
I replace the "whole system". Of course I schedule a downtime
for this (much fewer time than for the update work) and make
sure no users are logged in.



> (And this is just barely above "hobby level" stuff, so I don't have the
> luxury of
> building up a new machine and cutting over to it after it's ready. The
> upgrade has
> to be done in place.)

A separate environment will do. If you don't use ZFS - no
problem. Building and installing can go to a different
path than /usr/local, so running software is not affected.
With chroot or jails it can be done.



> I have found that I can replace the old ports with packages a little bit
> at a time,
> thus minimizing the outages.

This is also possible. Only when the build process has
been successful, the installed package will be removed.
Usually already _running_ programs aren't affected, but
maybe you encounter problems when a dynamically loaded
library (as a dependency) has been updated.



> The various bits of help with commands has been invaluable to me, and
> though I might
> have eventually figured this all out on my own, your help has greatly
> sped the process.

I'd like to mention that reading the "pkg primer" as
well as at least having a look at the available manpages
is very helpful, too. You don't have to remember the
content of all manpages, but know that they are there,
and which pages contain what information (in case you
need to look for something specific). EXAMPLES sections
are also worth reading.



> I may sound like I'm some kind of noob, but in reality I've been running
> FreeBSD since very
> early on (pre-2000), but always as a "hobby", since being sysadmin
> wasn't my day job.

No need for an excuse. Many things have been changed in
FreeBSD recently. The ports tree is "all different", a
new versioning tool has been introduced, the Makefiles
changed, "staging" of ports is there, pkg, ...



> So I've upgraded FreeBSD over many, many versions. And historically,
> upgrading the ports
> was always a giant pain in the neck. Now, it seems, the binary package
> management is finally
> working, and once I get all these legacy port builds out of the way,
> upgrades should be
> much simpler in the future.

Definitely: with pkg this now works well for 99.9% of
the cases. Both the system and the ports now support
binary updating, and unless there is a good reason
why you want to build from source, it's probably the
way to go for most users.



--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

kpn...@pobox.com

unread,
Jul 3, 2015, 5:45:34 PM7/3/15
to
On Fri, Jul 03, 2015 at 04:53:25PM -0400, William F. Dudley Jr. wrote:
> I have found that I can replace the old ports with packages a little bit
> at a time,
> thus minimizing the outages.

Another idea is to setup a chroot environment. It's a copy of your install
in a subdirectory. You can install everything there and then rename the
chrooted /usr/local, /var/db/pkg and /var/db/ports into place afterwards.
You will probably need to merge any changes to the chrooted /etc into your
production /etc.

This lets you do a clean upgrade without having to go piecemeal and risk
missing something. Especially if you do the chroot on the filesystem that
houses your /usr/local. You'll have nearly zero downtime if upgrading your
production /usr/local is:
"cd /usr ; mv local local.old && mv local.new local"

... followed by restarting any services that have binaries in the old
/usr/local tree.

> The various bits of help with commands has been invaluable to me, and
> though I might
> have eventually figured this all out on my own, your help has greatly
> sped the process.
>
> I may sound like I'm some kind of noob, but in reality I've been running
> FreeBSD since very
> early on (pre-2000), but always as a "hobby", since being sysadmin
> wasn't my day job.

I've found that there is so much to know that it isn't possible to be
the kind of expert that I was 15-20 years ago. One must specialize.

At my $DAYJOB I'm one of the last people on the planet still working
on the compiler formerly known as "Lattice C". That's cool and all, but
it isn't much help with DNSSEC, or IPv6, or ZFS.

> So I've upgraded FreeBSD over many, many versions. And historically,
> upgrading the ports
> was always a giant pain in the neck. Now, it seems, the binary package
> management is finally
> working, and once I get all these legacy port builds out of the way,
> upgrades should be
> much simpler in the future.

I agree, upgrades of /usr/local are much, much easier now. I upgrade
roughly daily now simply because it is so easy. In fact, I've got poudriere
running right this moment. It's almost ... dare I say it ... fun.

> Again, thanks to all who responded.

Glad to help.
--
Kevin P. Neal http://www.pobox.com/~kpn/

"Good grief, I've just noticed I've typed in a rant. Sorry chaps!"
Keir Finlow Bates, circa 1998

Baho Utot

unread,
Jul 3, 2015, 6:29:32 PM7/3/15
to


On 07/03/15 17:33, Polytropon wrote:
>
> Definitely: with pkg this now works well for 99.9% of
> the cases. Both the system and the ports now support
> binary updating, and unless there is a good reason
> why you want to build from source, it's probably the
> way to go for most users.
>
>
>

I build from source so I can have something to complain about ;}

Actually I am a recovering Linux user that has moved to FreeBSD.

The AbsoluteFreeBSD book is great even if it is a little dated. Learned
much from it.
Poudriere is great, when I get my raspberry-pi2 on FreeBSD it will
become my package repo as well as my name server and email server.
Just have to learn how to run STABLE/CURRENT.
It would be nice if the base system was also in pkg, but you can't have
everything.

Polytropon

unread,
Jul 3, 2015, 7:07:18 PM7/3/15
to
On Fri, 03 Jul 2015 18:28:56 -0400, Baho Utot wrote:
> Just have to learn how to run STABLE/CURRENT.

Update your sources using SVN and follow the instructions
provided in /usr/src/Makefile's header - that's all. :-)

Also have a look at the documentation:

https://www.freebsd.org/doc/handbook/makeworld.html

https://www.freebsd.org/doc/en/books/handbook/kernelconfig-building.html

https://www.freebsd.org/doc/handbook/updating-upgrading.html

https://www.freebsd.org/doc/handbook/synching.html

https://www.freebsd.org/doc/handbook/svn.html

Before freebsd-update was present, this was the preferred way
to update your OS. When you want to follow -STABLE or -CURRENT,
it's still the way to go. Basically it's just a "make update"
and a few other commands.



> It would be nice if the base system was also in pkg, but you can't have
> everything.

This is because the OS is not a package, and it's not made from
packages. Instead it's coming from its own source tree (different
from what and how ports are being built).

This is a common misconception or misunderstanding often found
in Linux land where there is no distinction between "the OS"
and "3rd party applications"; instead the OS is made from a
selection of packages (where the distribution creator decides
which package format and which packages to use to construct
the "base system", quotes intended), and even the kernel can
be considered a package. A failed updating process of "everything"
(which usually means "update my applications") can render the
whole system unusable. On FreeBSD, damaged ports do not affect
the OS, it's still operational.

The FreeBSD OS is "standardized" and maintained by different
people than those responsible for the ports collection.

You can see the wisdom in the fact that "everything else" is
located in /usr/local, whereas the top level directory entries
belong to the operating system. Delete /usr/local entirely and
the OS will still boot and run. See "man hier" for details.

That's why the OS cannot be accessible via pkg. :-)


--
Polytropon
Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

Warren Block

unread,
Jul 3, 2015, 8:28:05 PM7/3/15
to
On Sat, 4 Jul 2015, Polytropon wrote:
> On Fri, 03 Jul 2015 18:28:56 -0400, Baho Utot wrote:
>
> You can see the wisdom in the fact that "everything else" is
> located in /usr/local, whereas the top level directory entries
> belong to the operating system. Delete /usr/local entirely and
> the OS will still boot and run. See "man hier" for details.
>
> That's why the OS cannot be accessible via pkg. :-)

Not yet, but:

https://www.youtube.com/watch?v=Br6izhH5P1I&index=33&list=PLWW0CjV-TafY0NqFDvD4k31CtnX-CGn8f

Matthew Seaman

unread,
Jul 4, 2015, 11:01:26 AM7/4/15
to
On 03/07/2015 23:28, Baho Utot wrote:
> It would be nice if the base system was also in pkg, but you can't have
> everything.

If you're prepared to wait, you can. Base pkg's are coming... I
believe they are still on track for 11.0-RELEASE.

Cheers,

Matthew


signature.asc

Randal L. Schwartz

unread,
Jul 5, 2015, 1:23:57 PM7/5/15
to
>>>>> "Matthew" == Matthew Seaman <mat...@FreeBSD.org> writes:

Matthew> As I recall, you *don't* need ZFS with recent versions of
Matthew> poudriere. ZFS is recommended, and it certainly makes the
Matthew> build-environment wrangling that poudriere does easier.

Yes, my DigitalOcean $5/month package build machine does not offer ZFS,
so I'm using poudriere there just fine, including having packages
pre-built when I went from 8.4 to 9.3 a few weeks ago (just in the nick
of time). The DO box is running 10.1, so when I go from 9.3, I can do
the same thing again.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<mer...@stonehenge.com> <URL:http://www.stonehenge.com/merlyn/>
Perl/Unix consulting, Technical writing, Comedy, etc. etc.
Still trying to think of something clever for the fourth line of this .sig
0 new messages