Re: library porting question - optional python bindings

2016-03-01 Thread Kubilay Kocak
On 1/03/2016 1:38 PM, Chris Inacio wrote:
> All,
> 
> I'm trying to build a port definition for a library/application that can
> optionally include Python bindings.  The library/application generally
> depends on other C libraries to exist (ZMQ v3, Protobufs-C) and if you
> enable Python support, then you need a Python interpreter plus
> Python-protobufs & python zmq.
> 
> Putting an OPTION of Python in the port file is easy.  Including the
> optional Python dependencies (and presumably targets - but I'm not that far
> yet) seems to be a lot more complicated.  I haven't found anything that
> would tell me how I'm supposed to do that.  I have found that I'm supposed
> to add pyXX prefixes to the python targets.
> 
> Does anyone know of a similar application/library that I can go look at?
> Is there any documentation on how to solve this?

Package it separately if it:

* Is listed on PyPI (.python.org)
* Has value separate from the 'parent software' (on its own)
* Users might want it without the parent software
* Is pure python, OR
* Doesn't otherwise explicitly require depend on the parent software

>From the description above, given the dependencies of each of the
software components are different (main software, python package), I'd
go for separate packaging unless there's a good reason not to.

> thanks,
> Chris Inacio

___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Completely unscientific poll: cfengine, puppet, other?

2016-03-01 Thread Roger Marquis

Christoph Moench-Tegeder wrote:

 Some systems (e.g. cfengine) are using a pull model, where the "managed"
 machines connect to a central hub periodically, fetch the configuration
 and "do what needs to be done", while e.g. ansible follows a "push"
 model, where the "agent" is executed "somewhere" and connects to the
 managed node to do it's work.


It should also be noted that one of the primary differences between
ansible and the other configuration management / deployment options is
that ansible is agent-less i.e., you don't run anything other than an
sshd on the clients.  This precludes a range of potential problems from
version-skew to client security.  That said you do also need to run
python on the clients (an unfortunate design decision IMO).

Most places I see these tools used inappropriately.  If you're not spinning
up new instances frequently or maintaining more than a few dozen hosts
you're better off using simple shell scripts, or at least you are if you
know a bit of shell programming (as in /bin/sh).  Otherwise your time is
better spent learning shell than the domain-specific languages of any of
these tools.

Even with hundreds of hosts to maintain most features of deployment tools
appeal to those with less sysadmin experience than software development
experience, unless perhaps you have to perform the same operation over
several different operating systems.  Even then using tool-specific
methods limits your flexibility (which may well be a design goal).

Roger
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: mail/postfix and mail/postfix-current need upgrading

2016-03-01 Thread Roger Marquis

\mail\postfix-XXX   Older versions of Postfix
\mail\postfix-stableLatest stable version of Postfix
\mail\postfix-current   Experimental version of Postfix


Based on the goal of user-friendliness and principle of least surprise
I'd vote for changing -current to -experimental.  It is a FreeBSD naming
convention for -current to mean experimental (alpha, rc, ...) but for
those who are not regularly involved with the FreeBSD release cycle this
is not intuitive.

Longer-term at least, there is user-friendliness to be gained by
switching to a more descriptive name than -current to describe
pre-released software.  Note also that Wietse uses FreeBSD and usually
follows BSD naming conventions but has chosen not to in this case.

IMO,
Roger





As each "experimental" becomes stable, it is given a "postfix-stable"
designation and the old stable release is given a "postfix-XXX"
designation. The new postfix experimental release then assumes the
"postfix-current" title.

My only concern with changing the name "postfix-current" to
"postfix-devel" or whatever is for historical purposes. I have always
known it by the latter designations plus I am not sure if it would
cause a problem in the ports system if it were to be renamed.

In any case, the "postfix" ports were always kept up-to-date in virtual
real time. Now they seem to lag behind. I am unsure as to what has
happened.

--
Carmel

___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: mail/postfix and mail/postfix-current need upgrading

2016-03-01 Thread Mark Martinec

Yay, great, thanks!!!

mail/postfix-current at 3.2-20160224
mail/postfix at 3.1.0
mail/postfix211 at 2.11.7


  Mark
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: Completely unscientific poll: cfengine, puppet, other?

2016-03-01 Thread Christoph Moench-Tegeder
## Chris Inacio (nacho...@gmail.com):

> Happy if you would just reply with which one, if any, you use.

I'm using cfengine for a mixed (several Linux, some FreeBSD) environment.
But: without the "cfengine-masterfiles" (available as a port), using
cfengine can be somewhat painful (as already remarked by some); and
when using those masterfiles "as provided" by upstream integration
between the cfengine port and the masterfiles is not really ideal.
Caveat emptor: my cfengine setup did not start with the FreeBSD
machines, some of the problems may be homegrown.

Some items not immediatly relevant to the current question, but perhaps
helpful to to consider when chosing any sort of configuration
management; picked from experience and top of my head:
- what environment do you expect?
  cfengine is C and "data", so there's little inital dependencies
  and you can bootstrap cfengine from a very minimalistic isntallation,
  while puppet/chef/salt/ansible require ruby/python/working ssh/...
  (that alone had been the tipping point in one setup I know of)
  OTOH cfengine/puppet/chef are probably "too large" for embedded/IoT
  stuff - those smallish systems would be fully loaded with the config
  management alone.
- do you want "push" or "pull"?
  Some systems (e.g. cfengine) are using a pull model, where the "managed"
  machines connect to a central hub periodically, fetch the configuration
  and "do what needs to be done", while e.g. ansible follows a "push"
  model, where the "agent" is executed "somewhere" and connects to the
  managed node to do it's work.
  Considerations: network model, load. With the "pull" model, the agents
  are constantly executing, the aggregate load (CPU&IO) may be noticeable
  in virtualized/shared storage environments - and the central configuration
  hub requires enough "horse power" to handle the clients (I've heard of
  problems in that area, and some documentation hits that cascading setups
  should be used for huge setups). Consider having a centralized config
  hub and "change lag" because of periodic polling against "run anywhere"
  and "run anytime you need it".

Regards,
Christoph

-- 
Spare Space
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: [CFT] net-im/ejabberd to 16.01

2016-03-01 Thread Marko Cupać
On Mon, 29 Feb 2016 19:41:00 +0530
ash...@freebsd.org (Ashish SHUKLA) wrote:

> https://people.freebsd.org/~ashish/diffs/ejabberd-16.01-02.diff
> sha256 sum:
> ec71fdd19c752b22271ce6e3f899b966b0017f05fa13532d1decf18478e41b6e

Hi, Ashish,

I'd be glad to test this, but the patch does not apply cleanly in my
environment. I don't know if it is relevant, but my ports dir is a
symlink:
/usr/ports -> /usr/local/poudriere/ports/default

When patch is applied in /usr/ports/net-im/ejabberd, first few sections
apply OK, then it starts asking paths and applies diffs if correct path
is entered, and finally it exits with:

Patching file pkg-plist using Plan A...
patch:  malformed patch at line 1171:
%PORTNAME%%-%%PORTVERSION%%/ebin/eldap_utils.beam

Regards,
-- 
Before enlightenment - chop wood, draw water.
After  enlightenment - chop wood, draw water.

Marko Cupać
https://www.mimar.rs/
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Re: library porting question - optional python bindings

2016-03-01 Thread Shane Ambler

On 01/03/2016 13:08, Chris Inacio wrote:

All,

I'm trying to build a port definition for a library/application that can
optionally include Python bindings.  The library/application generally
depends on other C libraries to exist (ZMQ v3, Protobufs-C) and if you
enable Python support, then you need a Python interpreter plus
Python-protobufs & python zmq.

Putting an OPTION of Python in the port file is easy.  Including the
optional Python dependencies (and presumably targets - but I'm not that far
yet) seems to be a lot more complicated.  I haven't found anything that
would tell me how I'm supposed to do that.  I have found that I'm supposed
to add pyXX prefixes to the python targets.


Python bindings as in a module that can be imported in python? or
python bindings that help the lib linking to it to be exposed to python?

The difference is a python module will be installed into
pythonx.y/site-packages while the other will install lib/libxxx.so

devel/boost-python-libs is an example of the later.

For a normal python module I would suggest making it as a separate port
that just installs the python module. This makes it easier to install
multiple versions for each python version. The py-module port can be a
slave of the main port so you don't have to maintain the same code
twice.

A port with PORTNAME=nose and PKGNAMEPREFIX=${PYTHON_PKGNAMEPREFIX}
can then end up with multiple installs to support each python version.

pkg info -ox nose
py27-nose-1.3.7devel/py-nose
py34-nose-1.3.7devel/py-nose
py35-nose-1.3.7devel/py-nose


Does anyone know of a similar application/library that I can go look at?
Is there any documentation on how to solve this?


I have graphics/openimageio and py-openimageio as well as
graphics/opencolorio that has opencolorio-tools and py-opencolorio as
slaves.

openimageio uses SLAVE_PORT as defined by the ports infrastructure
while opencolorio defines it's own OCIO_SLAVE to distinguish between
the two slaves

Using VARIABLE?=xxx in the master Makefile allows the slave port to
override that variable.

--
FreeBSD - the place to B...Software Developing

Shane Ambler

___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"


Re: library porting question - optional python bindings

2016-03-01 Thread Fernando Herrero Carrón
El 1 mar. 2016 3:38 a. m., "Chris Inacio"  escribió:
>
> All,
>
> I'm trying to build a port definition for a library/application that can
> optionally include Python bindings.  The library/application generally
> depends on other C libraries to exist (ZMQ v3, Protobufs-C) and if you
> enable Python support, then you need a Python interpreter plus
> Python-protobufs & python zmq.
>
> Putting an OPTION of Python in the port file is easy.  Including the
> optional Python dependencies (and presumably targets - but I'm not that
far
> yet) seems to be a lot more complicated.  I haven't found anything that
> would tell me how I'm supposed to do that.  I have found that I'm supposed
> to add pyXX prefixes to the python targets.
>
> Does anyone know of a similar application/library that I can go look at?
> Is there any documentation on how to solve this?
>
> thanks,
> Chris Inacio
> ___
> freebsd-ports@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

multimedia/ffmpeg will optionally include ports providing libraries. There
does not seem any implemented in an interpreted language, though I vaguely
remember one option pulling in ruby (probably by transition).

The idea is that you can depend on a specific file and the port that
provides it with the syntax: file_to_depend_on:providing_port.

I hope that helps.

Cheers,
Fernando
___
freebsd-ports@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"