Bug 187111 - BSDPAN: doesn't support pkgng
Summary: BSDPAN: doesn't support pkgng
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Ports Framework (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Matthew Seaman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-27 15:50 UTC by Lawrence Chen
Modified: 2015-02-10 14:36 UTC (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Lawrence Chen 2014-02-27 15:50:00 UTC
	
	BSDPAN is not pkgng aware

Fix: 

BSDPAN should become pkgng aware.
How-To-Repeat: 	
	Install a perl module using CPAN.

	Later attempt to remove it.

	pkg delete bsdpan-.... : unknown

	pkg_delete bsdpan-.... : lots of error messages about converted and/or
		updated packages being corrupt. (portmaster saves distfiles
		in /var/db/pkg, but doesn't remove old installs when port is
		updated.)  Plus pkg2ng didn't move or change anything during
		conversion...

		Not sure what safe to remove...

	While I can create a port of the perl module to work around this,
	it leaves bsdpan-Mail-SpamAssassin-Compiled... as a package that isn't
	registered with pkgng.

	For now, I'm just removing the /var/db/pkg/bsdpan- directory and the
	contents of /var/db/spamassassin/compiled, instead of pkg_delete before
	each call to sa-compile.
Comment 1 Randal L. Schwartz 2014-03-20 17:56:42 UTC
This bug is a blocker for my client.  I'm looking for someone to fix it 
*soon*, and client is willing to pay.

--
Randal L. Schwartz - Stonehenge Consulting Services, Inc. - +1 503 777 0095
<merlyn@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
Comment 2 John Marino freebsd_committer freebsd_triage 2014-07-13 08:23:06 UTC
I don't know where this goes, so I'll pass it to pkg@ so they can direct it to the person that needs to look at this.
Comment 3 Baptiste Daroussin freebsd_committer freebsd_triage 2014-08-05 08:16:55 UTC
bsdpan is a big hack that defeat most of the benefit of any package manager hence it has not been ported to pkg by pkg developers, now bsdpan is developed along with perl so if one his volunteering to make a bsdpan version for pkg(8) then he has to talk with perl@
Comment 4 Kurt Jaeger freebsd_committer freebsd_triage 2014-08-05 10:57:45 UTC
There is

https://github.com/infracaninophile/BSDPAN

from matthew@ ?

What's the status ? Do you need help ? Testers ? ... ?
Comment 5 Matthew Seaman freebsd_committer freebsd_triage 2014-08-05 11:13:11 UTC
That's languishing somewhere down my ToDo list I'm afraid.  Not ready for testing or anything yet.
Comment 6 Andrej Zverev freebsd_committer freebsd_triage 2014-08-05 19:16:33 UTC
my 5 cents here. I don't see why we need BSDPAN anymore.
1. It only support ExtUtils::MakeMaker (Module::Build and Co behind doors)
2. I can't imagine why you need registered cpan modules and how pkgng must process it. Since they can only depend on lang/perl5.x). And pkgng is much more smarter then pkg_* toolkit.

Let it die already.
Comment 7 Lawrence Chen 2014-08-23 15:41:00 UTC
Well, it provides a record of the files installed for the Perl module by CPAN, which makes for easier removal.

Especially if its a module that shares directories with another Perl module.

And, its certainly more convenient than creating a new port and submitting it and then waiting months to see if it'll get any traction.  Or having portmaster wanting to delete it because it hasn't yet.

Though for the specific remaining case, 'sa-compile'...since it goes outside the Perl @INC path, just deleting its directory before the compile works for me.

OTOH, it was considered a nice thing when we were evaluating the possibility of mainstream use of FreeBSD servers in our datacenter.  And, the question of what if we need a Perl module not in the ports tree.  When we do Perl modules on our Solaris servers, I'm required to convert each and every Perl module into a Sun package file. (it should be we, but I'm the only one that seems to have the tolerance to stick with installs with more than a couple dependencies that aren't already in our package management system.)  The last time was to install mimedefang, involved adding nearly 100 new packages to our package management system.  Though in looking at FreeBSD, it did (finally) open the door to replacing our home grown package generation system with something ports like.

Unfortunately, in a change of leadership....we're still ditching Solaris, but we're going with Ubuntu.  Probably not going to be able to get ZFS into our installs....:(
Comment 8 Matthew Seaman freebsd_committer freebsd_triage 2014-12-22 17:20:44 UTC
BSDPAN was removed in https://svnweb.freebsd.org/ports?view=revision&revision=374844
Comment 9 Gert Doering 2015-02-10 12:22:28 UTC
(In reply to Andrej Zverev from comment #6)

Well, it's very easy why I want it back.  I have systems that require CPAN modules that are not in ports - and when I upgrade to a new perl version, being able to say "pkg_info |grep bsdpan" told me nicely which perl modules to deinstall and rebuild after upgrading all the ports based stuff.

Now, I have to do that manually outside the pkg system, and can't easily clean up an installed module ("pkg_delete bsdpan-...") either.

So, from a sysadmin perspective, this is a major regression in pkgng.

(Whether or not bsdpan handled every corner case perfectly is certainly open for further discussion.  "Just taking it away and claiming nobody needs it" is not the right answer to that, though)
Comment 10 Andrej Zverev freebsd_committer freebsd_triage 2015-02-10 14:36:20 UTC
(In reply to Gert Doering from comment #9)

Sorry, can't help you.

You can create ports for such modules and put it in your local ports tree.