On 2007/12/09 00:26, Predrag Punosevac wrote:
> Did you mean all the packages that made into 4.3  current ports tree will 
> be  in 4.3  release.  I am just  aware of
> 4.2 release, 4.2 stable and 4.3 current (of course there is 4.1 release 
> and stable branch)?

We have 4.2-release, 4.2-stable, 4.2-current; 4.3-current happens
after 4.3 has been released.

> I noticed for instance that TeXLive is in ports of 4.2 release but not in 
> packages. That is way I was wondering if it takes more than one
> release cycle for packages to reach the binaries.

TeXLive is an unusual case, it was imported fairly late in the release
cycle, there wasn't enough time to test how all the packages dependent
on teTeX worked after changing over. So it was included in ports but
not added to the Makefile in the parent directory so the package was
not built. Of course this is now tested and enabled.

> Let me see if I understand you well. The only reason that that 
> recommendation about not mixing of ports and packages is written is
> that people expect to build a port with wrong libraries.

I think you mean not mixing different ports and base versions;
there's no problem mixing ports and packages (a port always
produces a package; "make install" just runs pkg_add).

That's not the only reason. Some ports depend on changes to the
base OS. To pick an example from the applications you mentioned,
pjsip needs changes made to the audio layer post-4.2.

> By the same taken I would have to run 4.3 Current in order to be able to 
> use HPLIP. If I remember one of Theo's massages there is no way
> that one could say to which version of current is HPLIP port created. As 
> the current is constantly changing it could be very tricky to compile 
> HPLIP on the random snapshot of the 4.3 current.

If you install a -current snapshot and new checkout of -current ports,
you can expect things to work ok. Other combinations might work but if
they don't you should try to fix it yourself first, usually by making
sure everything is up-to-date; base, X11, and other installed packages.
Normally it's the other packages that are a problem, try "out-of-date"
(from ports/infrastructure) which produces a list of packages that have
either been updated in ports, or depend on old libraries/packages; then
you can pkg_delete those and feed them into 'make install SUBDIRLIST=xxx".

> Current is not for an average user anyway but I see that if I want to 
> port something I would actually have to run current. Have constantly
> the latest source and latest ports-tree.

"constantly" is a bit flexible. I'd go for "fairly recent, but watch
what's going on so you can tell when you need to update". In any event,
coming from FreeBSD (with new features being added to current _and_
stable), you may have a slightly different idea about -current than
the reality with OpenBSD, which is developed with the knowledge
that -current will directly become the next stable release.

>                                          Probably I would have to compile 
> and recompile version of the package that I want to port on the daily 
> base as a package which runs today might be broken tomorrow when the 
> source three and libraries are updated.

It's unusual (though sometimes unavoidable) for a _port_ to be heavily
dependent on specific src/libs. Some ports need to be changed when part
of the base system changes (e.g. openvpn ignores system include
files and uses it's own versions, so this had to be changed when
interface counters moved to 64-bit) but this happens rarely.

_packages_, otoh, are dependent on specific library versions, but pkg_add
checks you have the correct one, and it's quite easy to handle when you
don't (build your own package from the port).

Also sometimes the ports _infrastructure_ depends on new features in
base (e.g. base64-encoded hashes, ftp keepalive, pkg_* changes).

There's only so much you'll learn through explanation though, you have
some pointers here but you'll get more of a feel for this by installing
-current on a spare machine (or qemu/etc), tracking updates and working
with the system.

If you don't already read the commit messages (source-changes and
ports-changes lists), that would be a good place to start so you can
get a feel for what's happening in the tree.

Reply via email to