Upgrading perl destroys desktop

I'm brand new to FreeeBSD. I've used Slackware for about the last 5 or 6 years but I run a web and mail server and I'm a bit over my head with getting the mail server properly updated. I found a net tutorial for FreeBSD and thought I'd give it a go. However, I'm not a Nix genius (and I'm almost 60 year-old) and I wanted a desktop environment to read and learn as I built things. Anyway, as part of this Qmail Toaster deal the author stated, as one of his first orders of business, that I should go to /usr/ports/lang/perl5.10 and do a "make clean install" (think that's right, in terms of paths and directives - I'm at work). I recall it acted up (I had to try a couple of different commands and I don't recall what finally worked). Maybe I had to do pkg_delete perl-5.8.9_3 or something, first. Anyway, when the new perl was built my Desktop would not load. Then, I tried to reinstall gnome2 and all I got was a ton of messages saying the packages could not be found (via the net repositories). SO, I got to bed at 6:30 AM today and had to come to work. Too old for this stuff!

In short - and this was long - how in the world is someone supposed to simply know that performing this sort of an upgrade will destroy, for instance, the desktop environment and various desktop applications? Is there a comprehensive guide to this sort of stuff, somewhere...? I ended up reformatting, reinstalling perl (building the older versions with setuid enabled - which I think is the only issue with the tutorial I was using). Maybe you're simply supposed to well enough informed,as a user, to know that building an updated perl will wreck a lot of things - I'm not that damned smart.

Thanks for any input.
 
Be sure to read /usr/ports/UPDATING for anything related to what you're going to upgrade**.

Lots of things depend upon perl, & it's generally a good idea to run [cmd=""]pkg_info -R perl\*[/cmd] to find out what is about to be broken.

Also, it helps to learn [red]one[/red]* of the package/port management systems: ports-mgmt/portupgrade requires ruby, but works quite smoothly. ports-mgmt/portmaster is fairly functional, requires nothing but /bin/sh, but occasionally causes me to emit shrieks of rage when it loops for 5 or 6 hours recompiling the same 4 ports over and over.

Others might recommend ports-mgmt/portmanager, but I've never used it, so I can't say anything except that it probably works.


*seriously, you'll save yourself a lot of headaches if you just pick one.


**to wit:
Code:
20090328:
  AFFECTS: users of lang/perl*
  AUTHOR: skv@FreeBSD.org

  lang/perl5.10 is out. If you want to switch to it from, for example
  lang/perl5.8, that is:

  Portupgrade users:
    0) Fix pkgdb.db (for safety):
        pkgdb -Ff

    1) Reinstall perl with new 5.10:
        env DISABLE_CONFLICTS=1 portupgrade -o lang/perl5.10 -f perl-5.8.\*

    2) Reinstall everything that depends on Perl:
        portupgrade -fr perl

  Portmaster users:
        env DISABLE_CONFLICTS=1 portmaster -o lang/perl5.10 lang/perl5.8
        portmaster -r perl-

  Note: If the "perl-" glob matches  more than one port you will need to
        specify the name of the perl directory in /var/db/pkg explicitly.
 
From my experience PERL belongs to few things "everything depends on". In case of having problems with perl I always choose just reinstall from scratch.
Could you drop a link to that tutorial?
 
BTW portmanager (here) does not find
installed ports ("missing", it says),
among other problems (It used to work
very efficiently and well). That has
been a problem two or more years, so I
always rely on the other two if using
a upgrade port.
 
Thanks gentlman - here's a link to that guide, too...

Thanks guys - I appreciate the input. I'm actually am very impressed with Free BSD; I haven't done any sort of benchmarking tests but it seems to run extraordinarily fast. And the ports system is something that I'm finding quite....as we old people say....."cool". I installed mysql (and a few other packages - curl, etc.) via ports with no problems. For some reason I did have to add "dbus_enable="YES" to /etc/rc.conf to get rid of a boot-time error message, after mysql (and I have no idea what that error really means, nor why installing mysql would throw that error). But as fronclynne suggested I will do some studying regarding the various options available.

Stuck in my old ways - and just to see if it would work - I compiled a bunch of stuff (including an old version of Apache) using some scripts I'd written. With some tinkering, it all worked famously. Here's a dummy page with a link to my php.info page:

http://www.guymerritt.com

The Free BSD site which I mentioned is the following, run by a very nice fella by the name of Bill Olson:

http://freebsdrocks.net/

Cheers.
 
zeiz said:
From my experience PERL belongs to few things "everything depends on". In case of having problems with perl I always choose just reinstall from scratch.

Code:
> pkg_info -r perl\*
Information for perl-threaded-5.10.1_1:

Depends on:

>

So, for many cases, running # portupgrade -af is probably close enough to # portupgrade -fr perl\* for government work.
 
Back
Top