DaemonForums  

Go Back   DaemonForums > OpenBSD > OpenBSD Packages and Ports

OpenBSD Packages and Ports Installation and upgrading of packages and ports on OpenBSD.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 27th March 2012
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Thanked 0 Times in 0 Posts
Default distfiles and packages ..

Hi everyone!!

sorry for such a newbie question ..
In what sense are {distfiles} functionally different from packages in /usr/ports ?
Reply With Quote
  #2   (View Single Post)  
Old 27th March 2012
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 2,935
Thanked 190 Times in 160 Posts
Default

Quote:
Originally Posted by daemonfowl View Post
In what sense are {distfiles} functionally different from packages in /usr/ports ?
When building ports manually, tarballs from officially sanctioned servers are downloaded into /usr/ports/distfiles/. These files are the same downloaded for other operating systems, & may be specific to other operating systems. Packages are the result of OpenBSD's building process which may contain patches needed to get these applications to run on OpenBSD.

As an example, compare filesystem layouts between Linux & OpenBSD. OpenBSD's layout is described in hier(7). The two layouts are not the same. It is not uncommon for OpenBSD's ports to have to patch applications found in the wild because they target Linux -- Linux-specific libraries or Linux's filesystem layout.

So going back to the original question, packages are the result of building distfiles with any number of custom-made patches. Sometimes, these patches correct application behavior & are forwarded to the original project for inclusion.

Packages & distfiles are not interchangable.
Reply With Quote
  #3   (View Single Post)  
Old 27th March 2012
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Thanked 0 Times in 0 Posts
Default

Thanks very much Ocicat !!
well explained !
Reply With Quote
  #4   (View Single Post)  
Old 27th March 2012
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 2,935
Thanked 190 Times in 160 Posts
Default

Two other issues are:
  • Distfiles are simply source code, Makefile's, configuration files, & manpages. Packages contain only binaries, configuration files, manpages, & possibly other descriptive text. Source code is not distributed with packages.
  • Packages also contain package-specific directives to the package system which are added to the local database upon installation.

Last edited by ocicat; 27th March 2012 at 03:45 PM.
Reply With Quote
  #5   (View Single Post)  
Old 27th March 2012
daemonfowl daemonfowl is offline
bsdstudent
 
Join Date: Jan 2012
Location: DaemonLand
Posts: 834
Thanked 0 Times in 0 Posts
Default

Thankyou++ , Ocicat !

so packages may be set as a local PKG_PATH .. while distfiles can be sourced for building packages .. is this manageable for another machine connected to my server with no need to connect elsewhere ? or is it a necessary to fetch missing ports that can't be saved ? is *every needed piece of software* saved in distfiles once compilation comes to an end ?
Reply With Quote
  #6   (View Single Post)  
Old 27th March 2012
ocicat ocicat is offline
Administrator
 
Join Date: Apr 2008
Posts: 2,935
Thanked 190 Times in 160 Posts
Default

Quote:
Originally Posted by daemonfowl View Post
is this manageable for another machine connected to my server with no need to connect elsewhere ?
It is not uncommon for users to manage their own package repositories, but recognize that this duplicates a lot of work the project has already done.
Quote:
or is it a necessary to fetch missing ports that can't be saved ?
I don't know what you are trying to say here.
Quote:
is *every needed piece of software* saved in distfiles once compilation comes to an end ?
No, the contents of /usr/ports/distfiles is as I described earlier. This is the directory where source is downloaded.

The actual building of ports is done in /usr/ports/pobj. This is where you will find the intermediate object files + other ilk used to build the application's binaries, manpages, configuration files, etc.

Once a package has been built, the contents of /usr/ports/pobj can be deleted, but it is far simpler to just leave /usr/ports/pobj alone especially if you want to later study the source code for any particular application.

I suspect one of your concerns is that building ports take a lot of diskspace. This is true. It is even more true if you build lots of ports -- to the order of gigabytes of diskspace.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
List of 4.7 packages? guitarscn OpenBSD Packages and Ports 5 23rd August 2010 05:37 PM
I have 18 GB rpm packages mfaridi Programming 5 15th April 2010 09:41 PM
sources in distfiles sub tdirectories vigol FreeBSD Ports and Packages 1 5th December 2009 09:20 PM
Can't Add Packages due to intl.4.0 jrs665 OpenBSD Packages and Ports 4 20th October 2008 10:44 AM
Where have all the packages gone? PatrickBaer FreeBSD Ports and Packages 6 12th June 2008 11:03 PM


All times are GMT. The time now is 04:25 PM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick