# perl 5.8.9 >> perl 5.10 misadventure/ fix/ etc



## jb_fvwm2 (Sep 10, 2010)

Background:
not updating gettext-related ports soon
(interim copy of libintl.so.8 to /usr/local/lib/compat)
not updating gtk20 ports soon
(other thread: 

```
sort file_pkg_version.txt.1 file_pkg_version.txt.1 fil_pkg_version.txt.latest
|  uniq -u  | lookat  )
```
 -- see the other thread... result only shows
very latest updates not all of them.
...............
So UPDATING:

```
portmaster p5-
```
 after upgrading perl.
Seemed to complete.
Then in /usr/local/lib/perl5/site_perl/5.8.9 there were
hundreds of ports
that were not updated.

```
cd /var/db/pkg
find . -type f -name "+DESC" -exec ls -lastr {} \; | hgrep -v Sep | grep p5 | tee -a /tmp/p5.fil
```
# then

```
cd /tmp  #(in an xterm)
tail -5 p5.fil | head -8
tail -9 p5.fil | head -8
tail -13 p5.fil | head -8
```
after each one, (numbers approximate) a few ports listed still 
not updated.

```
portmaster -d -B /var/db/pkg/port.1-NUM /var/db/pkg/port.2-NUM port.3 port.4 && yell
# ditto on the last two (paths) (tailing number)
```
(without the /var/db/pkg path, more than four may be updated)
(one may wish to wait for the "working on multiple ports" message in the
xterm, because sometimes portmaster would pause to ask permission...)

Then one can sequentially 4 at a time upgrade the old ones.
PER THE "TAIL" cli above...

when that is all done... (thankfully it enables normal
browsing etc in the meantime.../yell/ notifies each instance of 4 finishing)
...
then change to the above site_perl/5.8.9
and upgrade the remaining few not caught by +DESC updating.
...
AN ASIDE...

...
Issue remained here, p5-Gtk2-WebKit would not rebuild.
(freezes on compiling DOC or POD some such, reported as a bug in gentoo 2009)
(missing files in /build/ that were supposed to be present.)
...
so I manually repocopied it from 5.8.9 to 5.10.1 ...
having pkg_add 'd the latest webkit-gtk2-1.2.3...
REMAINED... test ports built against the repocopy
(that is, depending upon p5-Gtk2-WebKit...even though it is "from" the older perl)
WORKED...  
then

```
/bin/rm -rf 5.8.9
```
in site_perl when empty.


----------



## DutchDaemon (Sep 10, 2010)

I must say I'm inclined to move this to the HowTo forum with the title 'How not to do ports maintenance'. You appear to be addicted to doing things in the most complicated and confusing ways .. Well, at least you've been consistent since you started on the forums!


----------



## fronclynne (Sep 10, 2010)

Sometimes it really is just a lot simpler to backup* & blow away /usr/local/ and start over clean.

* 'specially /usr/local/etc/.  & ports-mgmt/pkg_cutleaves isn't the worst solution for coming up with a list for when you get to the "install anew" step.


----------



## DutchDaemon (Sep 10, 2010)

I must say that what portmaster(8) suggest usually works for me when I'm forced to take drastic action on installed ports:


```
Using portmaster to do a complete reinstallation of all your ports:
           1. portmaster --list-origins > ~/installed-port-list
           2. Update your ports tree
           3. portmaster --clean-distfiles-all
           4. portmaster --check-port-dbdir
           5. portmaster -Faf
           6. pkg_delete '*'
           7. rm -rf /usr/local/lib/compat/pkg
           8. Manually check /usr/local and /var/db/pkg
              to make sure that they are really empty
           9. Re-install portmaster
           10. portmaster `cat ~/installed-port-list`
```

Instead of mindlessly blowing away all of /usr/local/, make sure you backup configurations in /usr/local/etc/. It's not much fun to reinvent that wheel.


----------



## jb_fvwm2 (Sep 10, 2010)

Not really a "misadventure," I learned

"portmaster -d -B ". 
....
paths before the ports subsequently
...
how to upgrade next time quicker:
4 at a time if needed...
...
to look below site_perl for perl installs
...
how to label one of the "xterms" as the active-build
one with a section of post-it.
...
In a correction to the first post, I might have halted the

```
portmaster p5-
```
 because of repeated errors after a certain number
were complete, not wanting to rebuild "forever"...
(halting on # 50, halting on #51, halting on # 55, )
...
Parsing XS files...
Generating POD...
...
p5-Gtk2-WebKit still halts there...
"Loaded 4 extra types from... "


----------



## DutchDaemon (Sep 11, 2010)

Why not use perl-after-upgrade(1) instead of rummaging through obscure directories?


----------



## jb_fvwm2 (Sep 11, 2010)

perl-after-upgrade (reading UPDATING) was for 10.0 > 10.1 
and not 5.8 > 5.10 ... AFAIK.  (specific to each 5.8 5.10
version maybe? unless not).


----------



## DutchDaemon (Sep 11, 2010)

The manual may suggest that, but it's been around since at least Perl 5.6 IIRC.


----------



## babel17 (Mar 28, 2012)

This thread has only been idle for four years, time to update it.  jb_fvwm2 is correct that perl-after-upgrade is useless if the perl minor version is changing.  In my case, I'm trying to do something very odd (go from perl5.10.1 to perl5.14.2 on FreeBSD 8.0) which caused me to have to inspect perl-after-upgrade.  The 5.14.2_2 version of perl-after-upgrade  contains the line:


```
our $PERL_VERSION_REGEX = qr/5\.14\.\d+/;
```

Which clearly isn't going to match 5.10.1.

I have found no easy answer for a minor version update.


----------

