Solved oniguruma6 orphaned

I followed the portupgrade instructions in /usr/ports/UPDATING regarding the removal of outdated versions of origuruma ...

Code:
20171112:
  AFFECTS: consumers of devel/oniguruma*
  AUTHOR: riggs@FreeBSD.org

  Outdated versions of oniguruma have been removed from the ports
  tree; devel/oniguruma is the only supported version, currently
  replacing devel/oniguruma6.
  pkg should handle this automatically while users of portmaster or
  portupgrade might need to take additional manual steps:

  for users of portmaster:
        portmaster -o devel/oniguruma devel/oniguruma6
        portmaster -r devel/oniguruma

  for users of portupgrade:
        portupgrade -o devel/oniguruma devel/oniguruma6
        portupgrade -fr devel/oniguruma

and have confirmed the affected packages are using version 6 by issuing pkg delete oniguruma6-6.6.1 ...

Code:
Deinstallation has been requested for the following 3 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        oniguruma6-6.6.1
        php56-mbstring-5.6.32
        phpMyAdmin-4.7.5

Number of packages to be removed: 3

The operation will free 39 MiB.

however if I run /usr/sbin/pkg version -v -L '=' it tells me that its orphaned but in a folder that doesn't exist ...

Code:
oniguruma6-6.6.1                   ?   orphaned: devel/oniguruma6

Not a biggie but keep receiving an email daily telling me this is the case. Any suggestions ?
 
Sorry it looks like I missed this part out.

There is no usr/ports/devel/oniguruma6 folder but there is a /usr/ports/devel/oniguruma folder and I did follow the UPDATING section for portupgrade.

The top few lines of the Makefile file contain ...

Code:
PORTNAME= oniguruma
PORTVERSION= 6.6.1
DISTVERSIONPREFIX= v
CATEGORIES= devel textproc
PKGNAMESUFFIX= 6
 
There is no usr/ports/devel/oniguruma6 folder but there is a /usr/ports/devel/oniguruma folder and I did follow the UPDATING section for portupgrade.
I know there is no devel/oniguruma6 any more. The portmaster(8) commands show you how to replace the missing oniguruma6 with oniguruma.
 
I followed this section in UPDATING as I use portupgrade ...

Code:
  for users of portupgrade:
        portupgrade -o devel/oniguruma devel/oniguruma6
        portupgrade -fr devel/oniguruma

Are you saying I need to also follow the portmaster section as well despite the fact I don't use it ?
 
No, use the tool you normally use, don't mix them.

This command:
portupgrade -o devel/oniguruma devel/oniguruma6
Tells the system to replace any dependency on oniguruma6 to oniguruma.

This command:
portupgrade -fr devel/oniguruma
Tells the system to (force) rebuild everything depending on devel/oniguruma.

If these two commands are successful, oniguruma6 will be gone and all dependencies will now depend on oniguruma instead.
 
Both of those I have already run, which is why I created this topic. For some reason the server still thinks oniguruma is orphaned ...

Code:
[root@myhostname /usr/ports]# portupgrade -fr devel/onigurumao devel/oniguruma devel/oniguruma6
[Reading data from pkg(8) ... - 360 packages found - done]

[root@myhostname /usr/ports]# portupgrade -fr devel/oniguruma
[Reading data from pkg(8) ... - 360 packages found - done]
 
Code:
[root@myhostname /usr/ports]# portupgrade -fr devel/onigurumao devel/oniguruma devel/oniguruma6
[Reading data from pkg(8) ... - 360 packages found - done]
You're mixing up commands here.

And the last command should definitely do a lot more than simply print some statistics. At the very least, in your case, it should rebuild php56-mbstring and phpMyAdmin.
 
My apologies. That was a bad copy/paste from the log file but it was run correctly.

I have confirmed the affected packages are using version 6 by issuing pkg delete oniguruma6-6.6.1 ...

Code:
Deinstallation has been requested for the following 3 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
        oniguruma6-6.6.1
        php56-mbstring-5.6.32
        phpMyAdmin-4.7.5

Number of packages to be removed: 3

and therefore unless I'm mistaken the server must think oniguruma version 6 is installed. I would rather not delete the 3 packages. Is there a way forward ?
 
Something hasn't gone completely correct. The dependencies of php56-mbstring and phpMyAdmin are still pointing to the non-existing oniguruma6.

One way to solve this is by rebuilding those two by hand: portmaster -f textproc/php56-mbstring and portmaster -f databases/phpMyAdmin

Another way is to allow the system to remove them and just reinstall those two. You can usually do this without problems, configuration files are never deleted or overwritten. Because there's only two ports this is probably the quickest and easiest way (it would be a different matter if there were dozens of ports depending on it).
 
Well the plot thickens.

Tried the rebuilds first using portupgrade, no change. Got the system to remove all 3 packages next and then ran ...

Code:
pkg install php56-mbstring-5.6.32
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
php56-mbstring: 5.6.32
oniguruma6: 6.6.1

Number of packages to be installed: 2

The process will require 5 MiB more space.

then added back phpMyAdmin-4.7.5.

but still the same problem ...

Code:
oniguruma6-6.6.1                   ?   orphaned: devel/oniguruma6
 
And the penny drops.... You're probably on the quarterly package branch. The ports tree is referring to the latest branch.
 
Well I've opened a can of worms here. I have the following file /etc/pkg/FreeBSD.conf which contains ...

Code:
# $FreeBSD: releng/10.3/etc/pkg/FreeBSD.conf 296373 2016-03-04 01:27:38Z marius $
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}

however I also have the following file /usr/local/etc/pkg/repos/FREEBSD.conf which to me looks like it is disabling the first ...

Code:
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  enabled: yes
}

but they are both showing enabled ??
 
but they are both showing enabled ??
Where "they are showing" it? In its configuration files?
To be sure, you can add "enabled: no" to /etc/pkg/FreeBSD.conf.
But to create /usr/local/etc/pkg/repos/FreeBSD.conf is enough.
 
The settings in /usr/local/etc/pkg/repos/FREEBSD.conf overrule whatever is in /etc/pkg/FreeBSD.conf. Just check with pkg -vv.
 
Okay I ran pkg -vv and can now confirm it is using latest which to be honest I thought was the case but had to check ...

Code:
Repositories:
  FreeBSD: {
    url             : "pkg+http://pkg.FreeBSD.org/FreeBSD:10:i386/latest",
    enabled         : yes,
    priority        : 0,
    mirror_type     : "SRV",
    signature_type  : "FINGERPRINTS",
    fingerprints    : "/usr/share/keys/pkg"
  }
 
By the way, run pkg delete [B]-f[/B] oniguruma6. There is no reason to delete the packages depending on it.

I actually ran pkg info -ix oniguruma6-6.6.1 && pkg delete -fy oniguruma6-6.6.1 && pkg install -y devel/oniguruma on relevant machines, but I had built devel/oniguruma on Poudriere (actually had to force it using an options change). So make sure you actually have access to a 'new' devel/oniguruma before you remove the package.
 
What am I doing wrong?
Code:
  for users of portupgrade:
        portupgrade -o devel/oniguruma devel/oniguruma6
        portupgrade -fr devel/oniguruma

Code:
root@pro_biz:/ # portupgrade -o devel/oniguruma devel/oniguruma6
[Reading data from pkg(8) ... - 104 packages found - done]
root@pro_biz:/ # portupgrade -fr devel/oniguruma
[Reading data from pkg(8) ... - 104 packages found - done]
root@pro_biz:/ # rehash
root@pro_biz:/ # pkg version | grep "onig"
oniguruma5-5.9.6_1                 ?
root@pro_biz:/ # pkg_deinstall oniguruma5
[Reading data from pkg(8) ... - 104 packages found - done]
--->  Deinstalling 'oniguruma5-5.9.6_1'
Updating database digests format: 100%
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
    oniguruma5-5.9.6_1

Number of packages to be removed: 1

The operation will free 1 MiB.
[pro_biz] [1/1] Deinstalling oniguruma5-5.9.6_1...
[pro_biz] [1/1] Deleting files for oniguruma5-5.9.6_1: 100%
[Reading data from pkg(8) ... - 103 packages found - done]
root@pro_biz:/ #
Code:
root@pro_biz:/usr/ports/devel/oniguruma # make install clean
===>  Patching for oniguruma6-6.6.1
===>  Applying FreeBSD patches for oniguruma6-6.6.1
File to patch:
No file found--skip this patch? [n] Y
File to patch: y
No file found--skip this patch? [n] y
2 out of 2 hunks ignored--saving rejects to y.rej
=> FreeBSD patch patch-Makefile.in failed to apply cleanly.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/devel/oniguruma
*** Error code 1

Stop.
make: stopped in /usr/ports/devel/oniguruma
 
The same here, i followed the steps to move oniguruma6 to oniguruma and run into the same error, the patch file is broken.

Code:
FreeBSD patch patch-Makefile.in failed to apply cleanly.
 
portsnap fetch extract update
There's no need to add update to that command. The extract already extracts a full and updated ports tree.

portsnap fetch extract # Download and extract an updated ports tree completely from scratch.
portsnap fetch update # Download and update an existing ports tree.
 
By the way, it is possible to extract single port, with portsnap,
it is very useful, when you edit port files manually, use it like this:
# portsnap extract x11/xterm/
Replace "x11/xterm/" with port, that you need to fix, for example:
# portsnap extract editors/vim/
Even zsh completion do not know about this feature, it shows portsnap commands only.
 
Back
Top