I'm a little confused; i have read this section and the -current part but i still cannot understand what to do about X and the ports.And even for the src i used wrong command until you corrected me.It might be my idea but it really is messy to find what you want sometimes in the FAQ.

You have installed the August 17 snapshot for i386. If you installed the X filesets at the same time, you have an X Windows system that is currently in sync with that snapshot.

As a convenience, from time to time the Project builds "snapshot packages" of ports for the major architectures. These are located at most mirrors in /pub/OpenBSD/snapshots/packages/<arch>/. They will never be exactly in-synch with a snapshot, nor with -current (which is always beyond the latest snapshot.) Some rebuilding of individual ports by -current users is to be expected, from time to time.

This is about binary synchronicity only, and has nothing to do with source code. -current source code changes constantly, except for brief windows twice per year as -releases are prepared. That window has already passed for 5.0-release, -current is beyond that point.

The source code is stored in three separate CVS repositories:

"src" -- the kernel and userland sources
"xenocara" -- the OpenBSD packaging of the X.Org source code
"ports" -- the ports tree, scaffolding for ported third party applications.

If you are a -current user, you have two choices:

Install a snapshot, and upgrade to a new snapshot whenever you feel the need.

Or, install a snapshot, then build -current from source.

For any source code building, keep your source repositories in sync with each other. That means, updated with the same tag (such as for -stable), or, if -current, updated from CVS within an hour or two of each other.

I raise the question only for thoroughness. Since you haven't stated why you are wanting to "synch" source, I assume you are wanting it available for study reasons as most people don't compile the kernel, userland, or ports. Snapshots & packages are sufficient in many cases.

Installing the ports tree is also good for searching -- especially when the OpenPorts third-party site has been offline for nearly a week now.

It might be my idea but it really is messy to find what you want sometimes in the FAQ.

You are not the first to make this observation.

I can only speak for myself, & the way I approach the FAQ is pro-active, not reactive. If I have a problem which needs to be researched, having a baseline understanding of "what" is addressed with "where" is better than coming at the documentation with no prior experience at all. Yes, I understand this doesn't necessarily help newcomers, but my recommendation to you would be to approach the FAQ as a book -- read it from beginning to end at least once. Sure, it may not all make sense or be pertinent to your immediate needs the first time, but with repeated searching, you will find some clarity. Despite its faults, the FAQ covers a lot of ground in only sixteen sections. I can't say that other non-BSD projects do better.

Doing it that way is technically not supported, upgrading to new snapshots is the preferred method.. keep using the snapshot you installed until another is available.

If sepuku installed the August 17 snapshot build, & downloaded source (even if done today...), building is supported according to the table in Section 5.3.2. The August 17 snapshots (for i386 & amd64...) are the latest made available for these platforms.

Despite its faults, the FAQ covers a lot of ground in only sixteen sections. I can't say that other non-BSD projects do better.

Totally agree with that,the non-BSD projects i've seen so far had more parts and as a new user at that time were even more difficult to find out a solution to a problem.

About the problem now;

First of all people sorry i confused you with my post but i find confused myself too.I had no intention to confuse you bad i'm kinda lost at the moment.

@ocicat,bsdfan

I did cvs checkout to get the source tree in synch with the snapshot i upgraded earlier using a cd.And i'm trying to to do the same about ports and xenocara and i still can't find what to do in the FAQ. If i'm reading correctly all these hours.

Quote:

Originally Posted by BSDfan666

you do realize that you have to compile it if you want to stay updated that way, right?

I did cvs checkout to get the source tree in synch with the snapshot i upgraded earlier using a cd.

Actually, you haven't.

Why are you compiling at all? Why is a snapshot not sufficient?

If you want the source to be synchronized with the snapshot installed, the chance to have done so has passed. Source for the August 17 snapshot was synchronized at the time the snapshot was compiled. Since then, other developers have added changes daily.

If you want source merely for the sake of study, downloading source today will not be identical to the snapshot, but it will be close.

While you can continue to compile your own system, I would recommend spending more time with the documentation & asking questions first. Attempting to compile while confused & unclear of the process is a recipe for disaster.

I thought that i was obliged to do what i did in order to have a well-working system.I think doing what i did was a one-way.

There's something i can't seem to understand so far;

In the 4.9 stable of OpenBSD which i had installed at first i had the 1.226 version of xxxterm.I then decided that i wanted the newer version of xxxterm that some users in the forum use at the moment.(i think it' s 1.4*)

So if i want the latest version of xxxterm and generally the latest version of the other programs that come with the snapshot and an up to date system for security issues,after upgrading to snapshot which is the next step for me to do?

To upgrade to snapshot i booted from the cd,and to the "server directory" or something like that i chose /mirrors/OpenBSD/snapshots/i386/.I don't remember anything relative with X though as jggimi said above.

If you're just looking to run bleeding edge on some port, installing a snapshot is usually sufficient. Really, you don't need /usr/{src,ports,xenocara} unless you're *compiling* -CURRENT, as has already been pointed out.

To get the latest xxxterm pkg, all you have to do is upgrade to the latest snapshot, then point your PKG_PATH to pub/OpenBSD/snapshots/packages/`machine`/ on your favorite mirror, and pkg_add -ui. The only way to run more bleeding edge than that is to use uncommitted port updates that are published on ports@ (which requires /usr/ports to be installed, but not src or xenocara).

If you're just looking to run bleeding edge on some port, installing a snapshot is usually sufficient. Really, you don't need /usr/{src,ports,xenocara} unless you're *compiling* -CURRENT, as has already been pointed out.

To get the latest xxxterm pkg, all you have to do is upgrade to the latest snapshot, then point your PKG_PATH to pub/OpenBSD/snapshots/packages/`machine`/ on your favorite mirror, and pkg_add -ui.

Ahhhh the part i never thought was changing the pkg_path.That's why pkg_add -ui would not work for me so far. :/

I thought that i was obliged to do what i did in order to have a well-working system.

As the table in Section 5.3.2 states, downloading source & building is optional. It is not required.

Note that a snapshot is the OpenBSD system compiled at a specific moment. If you download source & build, you are simply moving the point where the resulting system is relative to the files in CVS. A local build may only be slightly different than the earlier snapshot. If that delta between the snapshot & your local build is important, then you have a reason to go through the process of building. If you can't state a specific reason for going through the additional work, then it is not justified. Your time might be better spent doing other things.

Quote:

...after upgrading to snapshot which is the next step for me to do?

Install the package pointing PKG_PATH to the directory where -current packages reside as opposed to where -release packages reside. Section 15.2.2 is still valid except that it is written specific to -release users. You are merely changing paths.

I managed to make some updates with pkg_add -ui but not for all packages;

In -current, only select packages are built on a periodic basis -- not all. You may want to compare the list of all locally installed packages via pkg_info(1) to what can be found manually on whatever mirror you are using. You may also want to look at what packages are on other mirrors. For more obscure applications which are not routinely available in package form, you will have to build them yourself.

Quote:

Could it be because of the alchemy i've being doing all these hours? :P

I don't know what is the state of your system. It sounds like you attempted to do an upgrade to a snapshot, but you have not indicated anything about running sysmerge(8). Beyond that, it sounds like you have downloaded the CVS /usr/src tree, but have yet to actually install anything which was built locally. If I am correct, you simply have some (potentially incomplete...) upgraded system to the August 17 snapshot.

Quote:

...there's also a modified ports.tar.gz file in the snapshots direcory.Should i also get the modified file to my system and tar it as well?

The timestamp is for September 4. I am hesitant to advocate this route.

I see no newer version of xxxterm although there is one on the snapshots page of the mirror i use....

You are reviewing an installed package, not your $PKG_PATH. For the latter, use -Q to determine the proper full package name of the various xxxterm versions in your PKG_PATH, then use one of those names, in full, when querying to obtain more information. See the pkg_info(1) man page.

Quote:

I did *not* ran sysmerge and i don't intend to.

If you installed the shapshot, this is fine. But if you upgraded to the snapshot, this is a requirement. Which did you do?

Quote:

So the right time to get the ports is when you "move" to a -stable then?

I don't know if that was a typo, or if you are more confused than ever. So I will repeat for you here what you seem to have missed.

-Releases are produced twice per year. They are never altered. For serious issues that affect a lot of people, errata in the form of source code patches are produced. Users may elect to apply those patches to -release source and rebuild the effected component. The -release source code is supplied in tar balls, and may also be extracted from CVS repositories via a tag.

-Stable are the same patches as above as well as additional patches that do not warrant publication in errata (minor bugs, or bugs affecting only limited use configurations). This is a source code release managed via a CVS tag.

Patches for -release and -stable will never touch a library or an architectural component (nothing in /etc, /var, or /usr/lib).

-Current is the development environment, and is the HEAD of the CVS repository (untagged). Binary versions are produced as snapshots, from time to time. The supported method for "getting to -current" is to use a snapshot (as an install or an upgrade), then if desired to build -current from source.

It is important to keep the various components -- kernel, userland, X, and ports in sync. This is where the warning in FAQ 15.4.1 comes into play. However, when upgrading (or building newer source), older ports already installed should continue to work, as there is no deletion of older libraries in /usr/lib, and the package system will not permit older library versions in /usr/local/lib to be deleted until all dependency chains are removed.

From your prior posts in this confusing thread, you seem to be completely unaware of binary executable code vs. source code. I would recommend a tour of Google and wikipedia -- but for now, just realize that while binary code is a set of instructions read by computers and executed, source code is human readable, written in a variety of languages. To go from one to the other, a compiler is used.

Just to help clarify the use of the the ports tree in OpenBSD, Sepuku.

The ports tree is a collection of compilation and build instructions to create packages for each 3rd party application. It is not the source code for each application; instead, the tree has links to where the source code is stored. Packages are the binary code built when using the ports tree.

The term "ports" may be used to refer to installed packages, since the ports tree is used to create them.