# jabberd pkg install without MySQL dependency



## dzodzo (Sep 2, 2014)

Greetings, I'm trying to install jabberd 2.3.1 via pkg(8) but it has dependency on mysql-client 5.5. I already use MySQL 5.6 and don't want to downgrade because of this dependency. I tried to search but can't find any option passed to pkg(8) or any configuration stanza that forces no dependency installation. Is there a way?


----------



## xtaz (Sep 2, 2014)

Looking in the /usr/ports/net-im/jabberd/Makefile file suggests it doesn't have a hard dependency and should work with any version. I would suggest adding something like this in /etc/make.conf


```
DEFAULT_VERSIONS=mysql=5.6
```

See what that does. If it still doesn't work then you might have to compile it from source code using the port rather than using the binary package.


----------



## dzodzo (Sep 2, 2014)

Changing make.conf didn't help. I tried to install from ports but ran into another issue 


```
===>  jabberd-2.3.1 has known vulnerabilities:
0 problem(s) in the installed packages found.
=> Please update your ports tree and try again.
*** Error code 1

Stop.
make[1]: stopped in /usr/ports/net-im/jabberd
*** Error code 1

Stop.
make: stopped in /usr/ports/net-im/jabberd
```

I will try with ports then. I guess there's no way to do this with pkg then other than creating my own repository. Thanks.


----------



## SirDice (Sep 2, 2014)

The DEFAULT_VERSIONS in /etc/make.conf only works when _building_, it does nothing for pre-compiled binaries. If you need to deviate from the defaults you will have to build from ports.


----------



## xtaz (Sep 2, 2014)

I thought that might be the case. I've never used `pkg` for binary packages and only ever used ports but I know `pkg` and the repositories are quite new so thought there might be a chance of them being capable of things like this now.

As for the issue, it's interesting that it doesn't show the reason it has a vulnerability. However the version in my ports tree doesn't so it looks like you need to update your ports tree. Have a read of http://www.freebsd.org/doc/handbook/ports-using.html in the handbook. Two methods, `portsnap` or `svn`.


----------



## dzodzo (Sep 2, 2014)

It didn't want to proceed even after `portsnap fetch`, so I did `pkg audit -F` and there was no vulnerability reported (it's a fresh installed system anyway). So I built the port with `make -DDISABLE_VULNERABILITIES`.


----------



## kpa (Sep 2, 2014)

xtaz said:
			
		

> I thought that might be the case. I've never used `pkg` for binary packages and only ever used ports but I know `pkg` and the repositories are quite new so thought there might be a chance of them being capable of things like this now.



These features will be available when the ports tree learns about proper PROVIDES/REQUIRES directives *) that ports-mgmt/pkg can process during install. It's being worked on but compatibility requirements with the old packaging tools (that thankfully were just thrown out of the window) and other problems have slowed down the development.

*) Directives that allow expressing things like "Any installed version of perl is fine as long as it's at least of version 5.10" and evaluating them at package installation time. The current infrastructure can't express that at all but only record a hard dependency to the version of perl that was selected at compilation time.


----------

