# the feasibility of having binary portupgrades



## lockfile (Jan 14, 2011)

I think its rather easy. All that is needed is for someone to maintain the ports for each architecture or just support the trivial ones like x86 and x86 64bit.

I went through hours of compiling ports with portupgrade. It took hours because I did portupgrade -af. 

Life could be easier on FreeBSD peoples if a repository of binary ports were maintained for most of the 20,000 FreeBSD ports. The people who are not lazy could do it the canonical FreeBSD way. I know a guy on these forums that has all the storage for it. 

What y'all think?


----------



## expl (Jan 14, 2011)

Such system is already in place. Last time I've checked there were almost 21,000 packages available in binary/built form for 8-STABLE(amd64) on official ftp servers.


----------



## gkontos (Jan 14, 2011)

expl said:
			
		

> Such system is already in place. Last time I've checked there were almost 21,000 packages available in binary/built form for 8-STABLE(amd64) on official ftp servers.


If I am not mistaken those packages are updated only when there is a new release out.
@lockfile 
This sounds like a good idea and I think that PCBSD is doing that with PBIs. However, given the fact that a port can have many different compile arguments it would be difficult to track this. 
I know that this it can be frustrating some times. Imagine that it took me nearly 2 days to finish my desktop environment with all ports.


----------



## lockfile (Jan 14, 2011)

Yes, gkontos you are right about the fact that there are some packages that have various compile options. Yesterday when I was running portupgrade -af, there were multiple ports that asked too many questions. And the worst part, it has to be a "monitored update." When the portupgrade wanted to ask you what options you want compiled, it doesn't make a sound or anything, so there were times when I thought it was compiling, and things were halted because it was waiting on my response. My remedy for that was to look at the computer screen every five minutes or so to make sure it was still compiling and not waiting on me.

The ports system does have a remedy for ports that ask questions. The ports system does this by having multiple packages for the same port, but each package is compiled with different options. For example, the emacs port. There is emacs22 and there is emacs-nox. They differ in that one was explicitly made to have no X support, while the other one is full blown emacs. Ports have that, and the Penguin guys have been doing that for years now.

The good part is that most of the packages don't ask for input when being updated via portupgrade. And some of the ports ask redundant question like "do you want SSE2 compiled in?" Most people using the x86 port will have SSE2 enabled in their processor. Unless they're running an old Pentium/x86 compatible. I say we ask the maintainers to modify their scripts so that the scripts ask less questions and have the scripts use the ability to see what the processor is capable of (on the running system) and then put that information in the port. Or at least, ask all the questions up front, so that the update session can be left to compile while I sleep or something. Portupgrade is arduous.

I did some chores and such. Let's put it this way: I got a lot of chores done that day.


----------



## lockfile (Jan 14, 2011)

People will still have their choice: ports and "roll your own," or install your ports/packages from pre-cooked binaries.


----------



## wblock@ (Jan 14, 2011)

lockfile said:
			
		

> Yes, gkontos you are right about the fact that there are some packages that have various compile options. Yesterday when I was running portupgrade -af, there were multiple ports that asked too many questions. And the worst part, it has to be a "monitored update." When the portupgrade wanted to ask you what options you want compiled, it doesn't make a sound or anything, so there were times when I thought it was compiling, and things were halted because it was waiting on my response. My remedy for that was to look at the computer screen every five minutes or so to make sure it was still compiling and not waiting on me.



The -c and -C options are just waiting to be used for that: portupgrade(1).  It would not be a bad thing to browse while waiting for ports to build.

ports-mgmt/portmaster asks for config options first by default.


----------



## DutchDaemon (Jan 15, 2011)

gkontos said:
			
		

> If I am not mistaken those packages are updated only when there is a new release out



That only goes for packages in the -RELEASE repositories. The ones in the -STABLE repository get rebuilt more often than that.


----------

