Re: [oi-dev] Desktop Illumos Still Matters

2012-09-06 Thread Joerg Schilling
Nick Zivkovic  wrote:

> On Thu, Sep 6, 2012 at 4:35 AM, Joerg Schilling
>  wrote:
> > "Andrew M. Hettinger"  wrote:
> >
> >> That said, I think what Nick was talking about was not a build failure, but
> >> common issues IPS itself can have. I've seen a few (rare) times where it
> >> will just spit out a call-stack. Haveing a goto page of potental problems
> >> and fixes/workarounds would help.
> >
> > Apart from the uncomodities with IPS, there is a real bug in OI:
> >
> > There is no way to mark a zone as "native" in OI and a native zone will be
> > modified on upgrades even though this is wrong.
>
> Hi Joerg.
>
> If I understand you correctly, when doing an image-update with IPS,
> IPS will try to forcefully update all (ipkg-brand) NGZs?
>
> I don't see this in the documentation anywhere. Or did you have
> something else in mind?

Correct and this is the problem together with the fact that Sun did remove the 
support files for zonecfg and zoneadm that are needed to mark a zone to be a 
native Solaris zone. As a result, all zones are of type ipkg brand even when 
you install a natize zone that runs e.g. SchilliX.

I recommend to add this changeset:

http://hg.berlios.de/repos/schillix-on/rev/b43ccebc5075

to fix the problem.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-06 Thread Nick Zivkovic
On Thu, Sep 6, 2012 at 4:35 AM, Joerg Schilling
 wrote:
> "Andrew M. Hettinger"  wrote:
>
>> That said, I think what Nick was talking about was not a build failure, but
>> common issues IPS itself can have. I've seen a few (rare) times where it
>> will just spit out a call-stack. Haveing a goto page of potental problems
>> and fixes/workarounds would help.
>
> Apart from the uncomodities with IPS, there is a real bug in OI:
>
> There is no way to mark a zone as "native" in OI and a native zone will be
> modified on upgrades even though this is wrong.

Hi Joerg.

If I understand you correctly, when doing an image-update with IPS,
IPS will try to forcefully update all (ipkg-brand) NGZs?

I don't see this in the documentation anywhere. Or did you have
something else in mind?

Thanks.

>
> BTW: SchilliX-ON recently fixed the problem with the missing files that are 
> the
> reason for nor being able to mark a zone as "native".
>
>
>
> Jörg
>
> --
>  EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
>j...@cs.tu-berlin.de(uni)
>joerg.schill...@fokus.fraunhofer.de (work) Blog: 
> http://schily.blogspot.com/
>  URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily
>
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-06 Thread Joerg Schilling
"Andrew M. Hettinger"  wrote:

> That said, I think what Nick was talking about was not a build failure, but
> common issues IPS itself can have. I've seen a few (rare) times where it
> will just spit out a call-stack. Haveing a goto page of potental problems
> and fixes/workarounds would help.

Apart from the uncomodities with IPS, there is a real bug in OI:

There is no way to mark a zone as "native" in OI and a native zone will be 
modified on upgrades even though this is wrong.

BTW: SchilliX-ON recently fixed the problem with the missing files that are the 
reason for nor being able to mark a zone as "native".



Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Andrew M. Hettinger

Francois Dion  wrote on 09/04/2012 07:29:09 PM:
>
> On Tue, Sep 4, 2012 at 5:38 PM, Nick Zivkovic 
wrote:
> >>> 2) document every single IPS failure and either fix the
> >>> packages or the IPS code (depend on what caused the failure), and
> >>
> >> First thought here is that it needs to be in the bug tracker, but that
may
> >> not be easily accessible either. Maybe a sub-page on the wiki?
> >
> > Either should be fine. FreeBSD records their ports build failures on
> > their wiki. I think Gentoo recorded this on a bug tracker. Wiki is
> > probably easiest.
>
> Jenkins can automate all of that. For $JOB, I manage various products,
> millions of lines of code in total with it. The nice thing is that it
> will "blame" whoever breaks the build. It also provides an easy to
> read dashboard, and notify only on status change, not on every build
> that fails etc. Plus it can post to a URL, so a few lines of python
> code with web.py and you have an interface to a wiki or bug tracker.
>
> Francois
>

I spent some time thinking about this today, and you are right.

A Jenkins server which with a plugin to publish via IPS to a sandbox server
(or use the build system's IPS publishing, where available), and one to
make a zone on the build server to work in would not only do everything I
want, but exceed it. I guess what I care about is less the build system,
and more psudo-CI.

I would also need a way to promote builds, once working (and again once
tested, sandbox->testing->stable, which means I really don't care much
about blame. This worked well for SJ). I think I'll fire up a couple of VMs
and get this working.

I have used Jenkins before, it's really an awesome bit of software. For the
life of me I don't know why I didn't realize Kohsuke Kawaguchi had already
done most of the work to make me happy again! Guess I just got myself stuck
in the mindset that we have too many build systems and didn't realize that
that isn't what I am really frustrated by at all.



That said, I think what Nick was talking about was not a build failure, but
common issues IPS itself can have. I've seen a few (rare) times where it
will just spit out a call-stack. Haveing a goto page of potental problems
and fixes/workarounds would help.


Andrew Hettinger
http://Prominic.NET  ||  ahettin...@prominic.net
Tel:  866.339.3169 (toll free) -or- +1.217.356.2888 x.110 (int'l)
Fax: 866.372.3356 (toll free) -or- +1.217.356.3356(int'l)___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Andrew Gabriel

Joerg Schilling wrote:

Andrew Gabriel  wrote:

  

Nick Zivkovic wrote:


Agreed. Also, I see that /opt and /usr/$consolidation overlap in terms
of their purpose.

For example we have /usr/X11. According to `man filesystem` /opt is
meant to hold add-on/third-party software.
  
  
/opt was meant for unbundled software. Ideally, it should be empty 
immediately following a full install of a distro, as everything is by 
definition bundled. I don't think Solaris ever quite got that right, but 
it was almost there. Everything you install after that (which isn't part 
of the distro) should be in /opt (and /etc/opt and /var/opt), but a lot 
of 3rd-party software developers got that wrong too.



There was a nice talk from Steve Bourne at the Sun User Group meeting in 
December 1990. He explained that first /usr/bin was hijacked by the system and 
people started with /usr/local. Then external sources hijacked /usr/local and 
as a result a FHS summit with most UNIX vendors decided to usr /opt.
  


I went to an AT&T presentation on the upcoming SVR4 for UNIX source 
porters, which was probably 1989 or early 1990, where they went into 
this. One of the key reasons for having it outside /usr was that an 
upgrade required blowing away all of /usr and reinstalling (there was no 
real upgrade capability in their original SRV4.0 other than a 
reinstall), and they didn't expect you would want to lose all your 
3rd-party/unbundled products. It still wasn't very well thought out 
compared with where we are today, but it was vastly better than SVR3.2 
which is what commercial organisations were running at the time. This 
was also why SVR4 moved home directories out of /usr, leaving us with 
the irony of a /usr which no longer contained the users.


We are now nearly 25 years after that /opt decision and still not everybody got 
it.
  


--
Andrew

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Alasdair Lumsden  wrote:

> On 05/09/2012 21:58, Joerg Schilling wrote:
> > Alasdair Lumsden  wrote:
> > It seems that you missunderstand the problem.
> >
> > The main issue is that the build system linked against /usr instead of 
> > linking
> > against something like: /home/user/proto/usr
>
> userland-gate still links against /usr - it has a per-package proto area 
> rather than a build-system wide proto area.

Then the biggest problem has not been solved.

The "concept" of "flagdays" is wrong, it does not allow reliable upgrades as 
everytime, when more than a single leaf project in such a consolidation is 
updated, an unknown number of build/install cycles must follow until no 
binaries change from the next build cycle.

A clean build system would have a own global proto area. With this concept, you 
would still need to have the right compile order that depends on the link 
dependencies.

> "You need to comment out line 71 of the file 
> /usr/include/net-snmp/net-snmp-config.h
> do that it then looks this way:
>
> /*#define HAVE_CPP_UNDERBAR_FUNCTION_DEFINED 1*/
>
> This is needed as the sunstudio-12 compiler and gcc-3.4.3 do not support 
> __FUNCTION__"
>
> That's an autoconf problem, not a problem with the build system. If you 
> build software with a new compiler, autoconf will detect its new features.

It is a problem that is based on the original software, I mentioned it because 
Sun claimed that all include files in /usr/include are non-dynamic and 
independent from compiler versions. This was done in a discussion where Sun 
claimed that dynamic configuration results are unacceptable dependencies for 
the ONNV compilation. I should note that the file net-snmp-config.h _is_ such a 
ONNV dependency.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alasdair Lumsden

On 05/09/2012 21:58, Joerg Schilling wrote:

Alasdair Lumsden  wrote:
It seems that you missunderstand the problem.

The main issue is that the build system linked against /usr instead of linking
against something like: /home/user/proto/usr


userland-gate still links against /usr - it has a per-package proto area 
rather than a build-system wide proto area.



-   It may be that you would need to manually install at least older
versions of strategic tools before you may start to compile at all.
The programs in question are gmake, bash, gm4, ...


That is not an issue with userland-gate or oi-build. You do have to
install gmake, bash and a bunch of dependencies, but they're all
available in the package repo.


It is not a real issue with SchilliX either but for a looking at a
self-contained system it would.


-   It installs unmodified autoconf results in /usr/include with the
effect that you cannot compile depending other software using
an older version of the compilers than the one you used to compile
sfw.


Can you supply an example? I'm not sure I understand this complaint.


Check e.g. the notes about sfw in:

ftp://ftp.berlios.de/pub/schillix/AN-0.8


"You need to comment out line 71 of the file 
/usr/include/net-snmp/net-snmp-config.h

do that it then looks this way:

/*#define HAVE_CPP_UNDERBAR_FUNCTION_DEFINED 1*/

This is needed as the sunstudio-12 compiler and gcc-3.4.3 do not support 
__FUNCTION__"


That's an autoconf problem, not a problem with the build system. If you 
build software with a new compiler, autoconf will detect its new features.


To work around it, the net-snmp build recipe can modify the generated 
header prior to packaging it.


However, typically a distribution will ship with a particular supported 
compiler version, and the headers of the software on the system will 
match that version. It is unreasonable to expect an older compiler to 
link against all software delivered by the system when the system uses a 
newer compiler.




___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Alan Coopersmith  wrote:

> >> Which is why it was completely thrown out and Userland started with a
> >> new design from scratch.
> > 
> > But as this did not exist before Spring 2010, I asume that the new system 
> > is 
> > not able to create native Svr4 packages.
>
> Correct.  Userland was designed from the ground up for IPS, since that was the
> only packaging system in use when it was created.

So there would be a need to add the missing code. The important question here 
would be whether this is an open project that accepts enhancements to support 
the native packaging system and that would support to then change the related 
meta data the same way the IPS meta data is changed.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alasdair Lumsden

On 05/09/2012 21:36, Andrew Stormont wrote:

These sorts of scripts are just broken.  What it really should do is check the 
value of CC before adding any compiler specific flags.  Patching it to do that 
would be my preferred way of solving the problem.


That works too.

The thing is they're pretty dumb in operation - they pick up the 
compiler environment, which in the case of mysql was optimised for the 
database server. Client libraries really won't benefit from the 
optimisations.


We could store the Sun Studio optimisations, and expose them with CC is 
detected as Studio, but gcc users miss out on them. So for equality it 
seems easier just to strip them.


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Bob Friesenhahn

On Wed, 5 Sep 2012, Andrew Stormont wrote:


The only thing you really need for extensions to build is the -I bit. The rest 
is Sun Studio pedantry.


These sorts of scripts are just broken.  What it really should do is 
check the value of CC before adding any compiler specific flags. 
Patching it to do that would be my preferred way of solving the 
problem.


Things get complicated because it might not even be possible to 
combine code compiled by two different C compilers.  Some 
compiler-specific options might be needed in order to obtain special 
compilation modes and secret library dependencies (especially for 
threads and OpenMP).  There are also explicit library dependencies to 
get right.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Alasdair Lumsden  wrote:

> On 05/09/2012 19:49, Joerg Schilling wrote:
> > The buildsystem for sfw is a nightmare:
> >
> > -   It only works if the whole set of tools has already been
> > installed in /usr on the compiling system before with exactly
> > the same version as the one that is going to be compiled.
> >
> > This causes that you need an unknown number of iteration to
> > compile and install on the build machine before you are able
> > to compile everything at all.
> >
> > You need at least one additional install/compile cycle before you
> > can be sure that the compile/link results will no longer change.
>
> It sounds like what you want is a completely self contained build 
> system, like pkgsrc, which bootstraps itself, requires only a compiler, 
> knows how to build things in the correct order, and installs everything 
> to a custom destination prefix.
>
> That approach is fine for building 3rd party software, but not for 
> maintaining system software which ships to /usr.

It seems that you missunderstand the problem.

The main issue is that the build system linked against /usr instead of linking 
against something like: /home/user/proto/usr

> > -   It may be that you would need to manually install at least older
> > versions of strategic tools before you may start to compile at all.
> > The programs in question are gmake, bash, gm4, ...
>
> That is not an issue with userland-gate or oi-build. You do have to 
> install gmake, bash and a bunch of dependencies, but they're all 
> available in the package repo.

It is not a real issue with SchilliX either but for a looking at a 
self-contained system it would.

> > -   It installs unmodified autoconf results in /usr/include with the
> > effect that you cannot compile depending other software using
> > an older version of the compilers than the one you used to compile
> > sfw.
>
> Can you supply an example? I'm not sure I understand this complaint.

Check e.g. the notes about sfw in:

ftp://ftp.berlios.de/pub/schillix/AN-0.8

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Andrew Stormont

On 5 Sep 2012, at 21:33, Alasdair Lumsden  wrote:

> On 05/09/2012 21:22, Bob Friesenhahn wrote:
>> What do you suggest as a better replacement for this?
> 
> Oh it's easy - you strip most of them out after the file is generated. Very 
> easy to do with a post-install sed rule in the build recipe.
> 
> The bulk of them are pointless optimisations that aren't really relevant when 
> compiling an extension. The main LDFLAGS to preserve are -L/-R and -l, and 
> for CFLAGS its -D and -I.
> 
> As an example, mysql_config spits out this for CFLAGS:
> 
> -I/usr/mysql/5.1/include/mysql  -xprefetch=auto -xprefetch_level=3 -mt 
> -fns=no -fsimple=1 -xbuiltin=%all -xlibmil -xlibmopt -xnorunpath 
> -DHAVE_RWLOCK_T -DUNIV_SOLARIS
> 
> The only thing you really need for extensions to build is the -I bit. The 
> rest is Sun Studio pedantry.

These sorts of scripts are just broken.  What it really should do is check the 
value of CC before adding any compiler specific flags.  Patching it to do that 
would be my preferred way of solving the problem.

Andrew S.

> 
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alasdair Lumsden

On 05/09/2012 21:22, Bob Friesenhahn wrote:

What do you suggest as a better replacement for this?


Oh it's easy - you strip most of them out after the file is generated. 
Very easy to do with a post-install sed rule in the build recipe.


The bulk of them are pointless optimisations that aren't really relevant 
when compiling an extension. The main LDFLAGS to preserve are -L/-R and 
-l, and for CFLAGS its -D and -I.


As an example, mysql_config spits out this for CFLAGS:

-I/usr/mysql/5.1/include/mysql  -xprefetch=auto -xprefetch_level=3 -mt 
-fns=no -fsimple=1 -xbuiltin=%all -xlibmil -xlibmopt -xnorunpath 
-DHAVE_RWLOCK_T -DUNIV_SOLARIS


The only thing you really need for extensions to build is the -I bit. 
The rest is Sun Studio pedantry.


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Bob Friesenhahn

On Wed, 5 Sep 2012, Alasdair Lumsden wrote:


I do find it highly annoying that a lot of software jots down the compiler 
flags it was built with and stores them in a [softwarename]_config file, such 
as mysql_config, which is used by extensions to get the CFLAGS/LDFLAGS/etc. 
On OSOL/OI these are often Sun Studio flags that aren't compatible with gcc.


What do you suggest as a better replacement for this?

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alasdair Lumsden

On 05/09/2012 21:12, Alan Coopersmith wrote:

Correct.  Userland was designed from the ground up for IPS, since that was the
only packaging system in use when it was created.


Nexenta enhanced their fork of userland to support generating .deb 
packages, so adding SVR4 probably wouldn't be too hard.


Why you'd want to is another matter.


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alan Coopersmith
On 09/ 5/12 01:09 PM, joerg.schill...@fokus.fraunhofer.de wrote:
> Alan Coopersmith  wrote:
> 
>> On 09/ 5/12 11:49 AM, joerg.schill...@fokus.fraunhofer.de wrote:
>>> I asume that what you call "userland" is the successor for "sfw".
>>
>> Yes.
>>
>>> The buildsystem for sfw is a nightmare
>>
>> Which is why it was completely thrown out and Userland started with a
>> new design from scratch.
> 
> But as this did not exist before Spring 2010, I asume that the new system is 
> not able to create native Svr4 packages.

Correct.  Userland was designed from the ground up for IPS, since that was the
only packaging system in use when it was created.

-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Alan Coopersmith  wrote:

> On 09/ 5/12 11:49 AM, joerg.schill...@fokus.fraunhofer.de wrote:
> > I asume that what you call "userland" is the successor for "sfw".
>
> Yes.
>
> > The buildsystem for sfw is a nightmare
>
> Which is why it was completely thrown out and Userland started with a
> new design from scratch.

But as this did not exist before Spring 2010, I asume that the new system is 
not able to create native Svr4 packages.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alasdair Lumsden

On 05/09/2012 19:49, Joerg Schilling wrote:

The buildsystem for sfw is a nightmare:

-   It only works if the whole set of tools has already been
installed in /usr on the compiling system before with exactly
the same version as the one that is going to be compiled.

This causes that you need an unknown number of iteration to
compile and install on the build machine before you are able
to compile everything at all.

You need at least one additional install/compile cycle before you
can be sure that the compile/link results will no longer change.


It sounds like what you want is a completely self contained build 
system, like pkgsrc, which bootstraps itself, requires only a compiler, 
knows how to build things in the correct order, and installs everything 
to a custom destination prefix.


That approach is fine for building 3rd party software, but not for 
maintaining system software which ships to /usr.


Why? Because even in a minimal zone, bootstrapping involves overwriting 
things in /usr that are already maintained by the packaging system. You 
could build software and upgrade to those packages as you go, but that's 
very hard to do especially when refactoring packages.


If you instead tried to install everything to a custom destination 
prefix, you couldn't then just package it up and install it to /usr, 
because lots of software embeds their build prefix in the binary. If you 
built stuff with /foo as your prefix, then packaged it and delivered it 
to /usr, /usr/bin/someprogram would be looking for 
/foo/etc/someconfigfile.conf


It's far easier just to use a build zone and install the dependencies 
you need, and ensure your build zone is running the latest bits from the 
package repository.



-   It may be that you would need to manually install at least older
versions of strategic tools before you may start to compile at all.
The programs in question are gmake, bash, gm4, ...


That is not an issue with userland-gate or oi-build. You do have to 
install gmake, bash and a bunch of dependencies, but they're all 
available in the package repo.



-   It installs unmodified autoconf results in /usr/include with the
effect that you cannot compile depending other software using
an older version of the compilers than the one you used to compile
sfw.


Can you supply an example? I'm not sure I understand this complaint.

I do find it highly annoying that a lot of software jots down the 
compiler flags it was built with and stores them in a 
[softwarename]_config file, such as mysql_config, which is used by 
extensions to get the CFLAGS/LDFLAGS/etc. On OSOL/OI these are often Sun 
Studio flags that aren't compatible with gcc.


You then end up in a situation where if you're doing "gem install 
somelibrary" or "pecl install somelibrary" with gcc as your compiler, it 
chokes when linking against a system program that supplies Sun Studio 
CFLAGS/LDFLAGS.


SFW was a nightmare for many reasons, but not the reasons you listed.

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Nick Zivkovic
On Wed, Sep 5, 2012 at 2:43 PM, Alan Coopersmith
 wrote:
> On 09/ 5/12 10:55 AM, Andrew Gabriel wrote:
>> Nick Zivkovic wrote:
>>> Basically, I'm asking if it is better to have one convention
>>> (everything in /usr/$consolidation) instead of two (some things in
>>> /usr/$consolidation and others in /opt/$consolidation)?
>>>
>>
>> There's never been any rule about consolidations being funneled into specific
>> directories. It may be that it makes sense in a few specific cases because of
>> functional groupings, but not universally.
>
> In fact, we've been going the other way for years, moving away from
> /usr/$subsystem directories that impose meaningless boundaries in the way of
> users.
>
> In the last OpenSolaris builds released (snv_130 & later), OpenIndiana, and
> Solaris 11 you should find that /usr/X11 is simply a bunch of backwards
> compatibility symlinks.   Most of the X11 libraries were simply reached via
> /usr/lib since Solaris 2.6, and the rest of the X11 files moved to /usr/bin,
> /usr/share, /usr/lib, etc. in those Nevada builds.

Thanks for clearing this up, Alan.

Besides, these boundaries are better enforced through NG zones than
through the filesystem heirarchy.



>
> --
> -Alan Coopersmith-  alan.coopersm...@oracle.com
>  Oracle Solaris Engineering - http://blogs.oracle.com/alanc
>
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alan Coopersmith
On 09/ 5/12 10:55 AM, Andrew Gabriel wrote:
> Nick Zivkovic wrote:
>> Basically, I'm asking if it is better to have one convention
>> (everything in /usr/$consolidation) instead of two (some things in
>> /usr/$consolidation and others in /opt/$consolidation)?
>>   
> 
> There's never been any rule about consolidations being funneled into specific
> directories. It may be that it makes sense in a few specific cases because of
> functional groupings, but not universally.

In fact, we've been going the other way for years, moving away from
/usr/$subsystem directories that impose meaningless boundaries in the way of
users.

In the last OpenSolaris builds released (snv_130 & later), OpenIndiana, and
Solaris 11 you should find that /usr/X11 is simply a bunch of backwards
compatibility symlinks.   Most of the X11 libraries were simply reached via
/usr/lib since Solaris 2.6, and the rest of the X11 files moved to /usr/bin,
/usr/share, /usr/lib, etc. in those Nevada builds.

-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alan Coopersmith
On 09/ 5/12 11:49 AM, joerg.schill...@fokus.fraunhofer.de wrote:
> I asume that what you call "userland" is the successor for "sfw".

Yes.

> The buildsystem for sfw is a nightmare

Which is why it was completely thrown out and Userland started with a
new design from scratch.

-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Bob Friesenhahn  wrote:

> On Wed, 5 Sep 2012, Joerg Schilling wrote:
> >
> > As a nice hint: The new Bourne Shell compiles and runs on Cygwin (thanks to 
> > no
> > longer depending on sbrk(2)) and if you use it to interpret autoconf 
> > scripts,
> > this is 3x faster than bash.
>
> This sounds great.  How does its performance compare with 'dash'?
>
> Are the various issues described in the GNU Autoconf portability notes 
> (http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Portable-Shell.html#Portable-Shell)
>  
> avoided/fixed by this shell?  SunOS's stagnant /bin/sh has been a 
> continuing issue with POSIX shell script portability.  As a result, 
> Autoconf configure scripts typically elect to re-run themselves with 
> bash (the World's Slowest Shell) on Solaris sytems.  If this shell is 
> indeed good enough for Autoconf configure scripts, then it would be 
> good to submit an Autoconf patch so that future configure scripts know 
> how to detect and use it.

Given the fact that GNU autoconf has been more or less destroyed after release 
2.13, so I personally base my work on an extremely enhanced gnu autoconf 2.13.
The timing tests I did run, have been run with my enhanced autoconf-2.13

Autoconf 2.13 works with all known shells - I have no idea why the FSF stopped 
to support this. I suspect that this is just a bash marketing action.

The problem why newer GNU autoconf versions are so slow may be that they call 
a bew bash for each single test unless /bin/sh is bash - what you don't like to 
have on a POSIX compliant system.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Andrew Gabriel  wrote:

> Nick Zivkovic wrote:
> > Agreed. Also, I see that /opt and /usr/$consolidation overlap in terms
> > of their purpose.
> >
> > For example we have /usr/X11. According to `man filesystem` /opt is
> > meant to hold add-on/third-party software.
> >   
>
> /opt was meant for unbundled software. Ideally, it should be empty 
> immediately following a full install of a distro, as everything is by 
> definition bundled. I don't think Solaris ever quite got that right, but 
> it was almost there. Everything you install after that (which isn't part 
> of the distro) should be in /opt (and /etc/opt and /var/opt), but a lot 
> of 3rd-party software developers got that wrong too.

There was a nice talk from Steve Bourne at the Sun User Group meeting in 
December 1990. He explained that first /usr/bin was hijacked by the system and 
people started with /usr/local. Then external sources hijacked /usr/local and 
as a result a FHS summit with most UNIX vendors decided to usr /opt.

We are now nearly 25 years after that /opt decision and still not everybody got 
it.

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Andrew Stormont  wrote:

>
> On 5 Sep 2012, at 18:04, Nick Zivkovic  wrote:
>
> > I think that Andrew want to use a unified build system, instead of the
> > loose confederation of radically different systems that's currently in
> > use.
> > 
> > I agree. A unified build system is necessary. The only question is:
> > what should it be?
> > 
> > Makefile-based, like ports/pkgsrc/oi-build?
> > specfile-based?
> > tcl-base like macports?
> > shell-based like Gentoo's and Exherbo's?
> > python-based like conary?
>
> Userland already has a perfectly good build system.  I don't understand what 
> you're trying to accomplish here.

I asume that what you call "userland" is the successor for "sfw".

The buildsystem for sfw is a nightmare:

-   It only works if the whole set of tools has already been 
installed in /usr on the compiling system before with exactly 
the same version as the one that is going to be compiled.

This causes that you need an unknown number of iteration to
compile and install on the build machine before you are able 
to compile everything at all.

You need at least one additional install/compile cycle before you
can be sure that the compile/link results will no longer change.

-   It may be that you would need to manually install at least older
versions of strategic tools before you may start to compile at all.
The programs in question are gmake, bash, gm4, ...

-   It installs unmodified autoconf results in /usr/include with the
effect that you cannot compile depending other software using
an older version of the compilers than the one you used to compile
sfw.

Are these problems still in effect?

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Bob Friesenhahn

On Wed, 5 Sep 2012, Joerg Schilling wrote:


As a nice hint: The new Bourne Shell compiles and runs on Cygwin (thanks to no
longer depending on sbrk(2)) and if you use it to interpret autoconf scripts,
this is 3x faster than bash.


This sounds great.  How does its performance compare with 'dash'?

Are the various issues described in the GNU Autoconf portability notes 
(http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.69/html_node/Portable-Shell.html#Portable-Shell) 
avoided/fixed by this shell?  SunOS's stagnant /bin/sh has been a 
continuing issue with POSIX shell script portability.  As a result, 
Autoconf configure scripts typically elect to re-run themselves with 
bash (the World's Slowest Shell) on Solaris sytems.  If this shell is 
indeed good enough for Autoconf configure scripts, then it would be 
good to submit an Autoconf patch so that future configure scripts know 
how to detect and use it.


Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,http://www.GraphicsMagick.org/

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Nick Zivkovic
On Wed, Sep 5, 2012 at 12:56 PM, Alasdair Lumsden  wrote:
> Hi Nick,
>
>
> On 05/09/2012 18:49, Nick Zivkovic wrote:
>>
>> Someone thought it would be a good idea to have a unified build system
>> across consolidations.
>>
>> I think it's a pretty good idea to standardize on one build system.
>>
>> I'm merely asking which one would be preferred by the community
>> (assuming the community would be willing to standardize).
>

>
> The decision was already made by the core OI devs to use the userland-gate
> format. That's the future unified build system. So the choice doesn't really
> have to be made again - it's why "oi-build" is in userland-gate format.
>
> Cheers,
>
> Alasdair

Oh, ok. I'm still catching up on what's been going on here, while I
was away in my cave.

>
>
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Alasdair Lumsden

Hi Nick,

On 05/09/2012 18:49, Nick Zivkovic wrote:

Someone thought it would be a good idea to have a unified build system
across consolidations.

I think it's a pretty good idea to standardize on one build system.

I'm merely asking which one would be preferred by the community
(assuming the community would be willing to standardize).


The decision was already made by the core OI devs to use the 
userland-gate format. That's the future unified build system. So the 
choice doesn't really have to be made again - it's why "oi-build" is in 
userland-gate format.


Cheers,

Alasdair

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Andrew Gabriel

Nick Zivkovic wrote:

Agreed. Also, I see that /opt and /usr/$consolidation overlap in terms
of their purpose.

For example we have /usr/X11. According to `man filesystem` /opt is
meant to hold add-on/third-party software.
  


/opt was meant for unbundled software. Ideally, it should be empty 
immediately following a full install of a distro, as everything is by 
definition bundled. I don't think Solaris ever quite got that right, but 
it was almost there. Everything you install after that (which isn't part 
of the distro) should be in /opt (and /etc/opt and /var/opt), but a lot 
of 3rd-party software developers got that wrong too.



If that's the case shouldn't X11 be in /opt/X11? Or should the
convention be updated, so that we store the bundles or consolidation
in /usr as is already being done?

If sub-directories of /usr are separate datasets (like /usr/X11 is
rpool/X11), that should make migration easier.

Basically, I'm asking if it is better to have one convention
(everything in /usr/$consolidation) instead of two (some things in
/usr/$consolidation and others in /opt/$consolidation)?
  


There's never been any rule about consolidations being funneled into 
specific directories. It may be that it makes sense in a few specific 
cases because of functional groupings, but not universally.


--
Andrew

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Nick Zivkovic
Someone thought it would be a good idea to have a unified build system
across consolidations.

I think it's a pretty good idea to standardize on one build system.

I'm merely asking which one would be preferred by the community
(assuming the community would be willing to standardize).

On Wed, Sep 5, 2012 at 12:31 PM, Andrew Stormont
 wrote:
>
> On 5 Sep 2012, at 18:04, Nick Zivkovic  wrote:
>
>> I think that Andrew want to use a unified build system, instead of the
>> loose confederation of radically different systems that's currently in
>> use.
>>
>> I agree. A unified build system is necessary. The only question is:
>> what should it be?
>>
>> Makefile-based, like ports/pkgsrc/oi-build?
>> specfile-based?
>> tcl-base like macports?
>> shell-based like Gentoo's and Exherbo's?
>> python-based like conary?
>
> Userland already has a perfectly good build system.  I don't understand what 
> you're trying to accomplish here.
>
> Andrew S.
>
>>
>> I'm fine with any of the above (as well as any that I've not mentioned).
>>
>> As long as we end up with a standardized build system so that
>> contributors can cross-fertilize consolidations instead of confining
>> themselves to just one.
>>
>> What do existing OI-contributors think?
>>
>> Anyone know what the most technically-superior or technically-advanced
>> build system is?
>>
>> On Wed, Sep 5, 2012 at 11:05 AM, Andrew M. Hettinger
>>  wrote:
>>>
>>> Andrew Hettinger
>>> http://Prominic.NET || ahettin...@prominic.net
>>> Tel: 866.339.3169 (toll free) -or- +1.217.356.2888 x.110 (int'l)
>>> Fax: 866.372.3356 (toll free) -or- +1.217.356.3356 (int'l)
>>>
>>>
>>> Alasdair Lumsden  wrote on 09/04/2012 05:39:58 PM:
>>>
 On 04/09/2012 22:42, mag...@yonderway.com wrote:
> On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
>  wrote:
>
>> One of the biggest issues here isn't that packages are particularly
>> HARD
>> to
>> make with IPS (they aren't). It's that there are about three different
>> approaches to it, and we need to get that standardized. Many of the
>> packages are tied up in the consolidations, which DO seem to have a
>> high
>> barrier to entry.
>
> So what are the cliff's notes to the three different approaches, and is
> one
> of those approaches going to have a lower barrier to entry with still
> high-quality results? I'm thinking along the lines of a third party
> repo.

 I think there's a bit of confusion surrounding the terms involved.

 A consolidation is just a logical grouping of packages, such as "JDS"
 (Java Desktop System, renamed to just "desktop" on Solaris 11), "SFW"
 (Sun Freeware, replaced with "userland" in Solaris 11), etc.

 The big issue is that all the consolidations use different build
 systems. JDS uses RPM style spec-files similar to SFE (Spec files extra,
 a collection of 3rd party package recipes). SFW used a horrible Makefile
 based system. Userland is an excellent replacement for SFW, and uses
 Makefiles but in a way very similar to the FreeBSD ports tree or pkgsrc.

 I was attempting (with some others) to get OI updated in a "giant leap
 forward" replacing SFW with userland-gate (renamed to oi-build, and
 later illumos-userland after Nexenta started meddling). The idea was
 that we would try to focus on one single build system, the userland-gate
 style, which is the best of the lot. New software would go in there, and
 if we needed to update something in another consolidation, we would
 instead re-implement the recipe for it in userland-gate format.

 Unfortunately my approach with /experimental was quite ambitious and
 didn't quite work how we wanted.

 Jon Tibble is continuing to release new OpenIndiana builds (such as
 prestable 6, released *today* -
 http://wiki.openindiana.org/oi/oi_151a_prestable6+Release+Notes) and is
 advocating we do move to a single build system based on userland-gate,
 but more slowly and in a more controlled fashion.

 oi_151a actually already has a mini userland-gate/oi-build, which you
 can see here:

 https://hg.openindiana.org/sustaining/oi_151a/oi-build/

 It's used to deliver some additional software and some bits from other
 consolidations have been moved there.

 It is probably where people should focus their efforts moving forward.

 Incorporations are probably what people are bitching about, which are
 there to provide "lockstep" upgrades between known working version sets
 of software. "entire" is the best known incorporation, which with each
 release locks all system software at a particular version.

 Incorporations are needed to prevent your system getting shafted. Lets
 say you are on oi_148, and in oi_151a we introduced some new software
 called "foo". Foo depends on version 2.0 of "bar". oi_148 delivers "bar"
 versi

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Andrew Stormont

On 5 Sep 2012, at 18:04, Nick Zivkovic  wrote:

> I think that Andrew want to use a unified build system, instead of the
> loose confederation of radically different systems that's currently in
> use.
> 
> I agree. A unified build system is necessary. The only question is:
> what should it be?
> 
> Makefile-based, like ports/pkgsrc/oi-build?
> specfile-based?
> tcl-base like macports?
> shell-based like Gentoo's and Exherbo's?
> python-based like conary?

Userland already has a perfectly good build system.  I don't understand what 
you're trying to accomplish here.

Andrew S.

> 
> I'm fine with any of the above (as well as any that I've not mentioned).
> 
> As long as we end up with a standardized build system so that
> contributors can cross-fertilize consolidations instead of confining
> themselves to just one.
> 
> What do existing OI-contributors think?
> 
> Anyone know what the most technically-superior or technically-advanced
> build system is?
> 
> On Wed, Sep 5, 2012 at 11:05 AM, Andrew M. Hettinger
>  wrote:
>> 
>> Andrew Hettinger
>> http://Prominic.NET || ahettin...@prominic.net
>> Tel: 866.339.3169 (toll free) -or- +1.217.356.2888 x.110 (int'l)
>> Fax: 866.372.3356 (toll free) -or- +1.217.356.3356 (int'l)
>> 
>> 
>> Alasdair Lumsden  wrote on 09/04/2012 05:39:58 PM:
>> 
>>> On 04/09/2012 22:42, mag...@yonderway.com wrote:
 On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
  wrote:
 
> One of the biggest issues here isn't that packages are particularly
> HARD
> to
> make with IPS (they aren't). It's that there are about three different
> approaches to it, and we need to get that standardized. Many of the
> packages are tied up in the consolidations, which DO seem to have a
> high
> barrier to entry.
 
 So what are the cliff's notes to the three different approaches, and is
 one
 of those approaches going to have a lower barrier to entry with still
 high-quality results? I'm thinking along the lines of a third party
 repo.
>>> 
>>> I think there's a bit of confusion surrounding the terms involved.
>>> 
>>> A consolidation is just a logical grouping of packages, such as "JDS"
>>> (Java Desktop System, renamed to just "desktop" on Solaris 11), "SFW"
>>> (Sun Freeware, replaced with "userland" in Solaris 11), etc.
>>> 
>>> The big issue is that all the consolidations use different build
>>> systems. JDS uses RPM style spec-files similar to SFE (Spec files extra,
>>> a collection of 3rd party package recipes). SFW used a horrible Makefile
>>> based system. Userland is an excellent replacement for SFW, and uses
>>> Makefiles but in a way very similar to the FreeBSD ports tree or pkgsrc.
>>> 
>>> I was attempting (with some others) to get OI updated in a "giant leap
>>> forward" replacing SFW with userland-gate (renamed to oi-build, and
>>> later illumos-userland after Nexenta started meddling). The idea was
>>> that we would try to focus on one single build system, the userland-gate
>>> style, which is the best of the lot. New software would go in there, and
>>> if we needed to update something in another consolidation, we would
>>> instead re-implement the recipe for it in userland-gate format.
>>> 
>>> Unfortunately my approach with /experimental was quite ambitious and
>>> didn't quite work how we wanted.
>>> 
>>> Jon Tibble is continuing to release new OpenIndiana builds (such as
>>> prestable 6, released *today* -
>>> http://wiki.openindiana.org/oi/oi_151a_prestable6+Release+Notes) and is
>>> advocating we do move to a single build system based on userland-gate,
>>> but more slowly and in a more controlled fashion.
>>> 
>>> oi_151a actually already has a mini userland-gate/oi-build, which you
>>> can see here:
>>> 
>>> https://hg.openindiana.org/sustaining/oi_151a/oi-build/
>>> 
>>> It's used to deliver some additional software and some bits from other
>>> consolidations have been moved there.
>>> 
>>> It is probably where people should focus their efforts moving forward.
>>> 
>>> Incorporations are probably what people are bitching about, which are
>>> there to provide "lockstep" upgrades between known working version sets
>>> of software. "entire" is the best known incorporation, which with each
>>> release locks all system software at a particular version.
>>> 
>>> Incorporations are needed to prevent your system getting shafted. Lets
>>> say you are on oi_148, and in oi_151a we introduced some new software
>>> called "foo". Foo depends on version 2.0 of "bar". oi_148 delivers "bar"
>>> version 1.0. Without incorporations, if you "pkg install foo" it will
>>> upgrade "bar" no questions asked. Any software linked against bar
>>> probably just stopped working with libbar.so.1 changed to libbar.so.2.
>>> 
>>> Incorporations present a challenge when you're developing software,
>>> because they stop you installing new versions of things. The way to get
>>> around this is to have "empty" incorporations on your development
>

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Nick Zivkovic
I think that Andrew want to use a unified build system, instead of the
loose confederation of radically different systems that's currently in
use.

I agree. A unified build system is necessary. The only question is:
what should it be?

Makefile-based, like ports/pkgsrc/oi-build?
specfile-based?
tcl-base like macports?
shell-based like Gentoo's and Exherbo's?
python-based like conary?

I'm fine with any of the above (as well as any that I've not mentioned).

As long as we end up with a standardized build system so that
contributors can cross-fertilize consolidations instead of confining
themselves to just one.

What do existing OI-contributors think?

Anyone know what the most technically-superior or technically-advanced
build system is?

On Wed, Sep 5, 2012 at 11:05 AM, Andrew M. Hettinger
 wrote:
>
> Andrew Hettinger
> http://Prominic.NET || ahettin...@prominic.net
> Tel: 866.339.3169 (toll free) -or- +1.217.356.2888 x.110 (int'l)
> Fax: 866.372.3356 (toll free) -or- +1.217.356.3356 (int'l)
>
>
> Alasdair Lumsden  wrote on 09/04/2012 05:39:58 PM:
>
>> On 04/09/2012 22:42, mag...@yonderway.com wrote:
>> > On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
>> >  wrote:
>> >
>> >> One of the biggest issues here isn't that packages are particularly
>> >> HARD
>> >> to
>> >> make with IPS (they aren't). It's that there are about three different
>> >> approaches to it, and we need to get that standardized. Many of the
>> >> packages are tied up in the consolidations, which DO seem to have a
>> >> high
>> >> barrier to entry.
>> >
>> > So what are the cliff's notes to the three different approaches, and is
>> > one
>> > of those approaches going to have a lower barrier to entry with still
>> > high-quality results? I'm thinking along the lines of a third party
>> > repo.
>>
>> I think there's a bit of confusion surrounding the terms involved.
>>
>> A consolidation is just a logical grouping of packages, such as "JDS"
>> (Java Desktop System, renamed to just "desktop" on Solaris 11), "SFW"
>> (Sun Freeware, replaced with "userland" in Solaris 11), etc.
>>
>> The big issue is that all the consolidations use different build
>> systems. JDS uses RPM style spec-files similar to SFE (Spec files extra,
>> a collection of 3rd party package recipes). SFW used a horrible Makefile
>> based system. Userland is an excellent replacement for SFW, and uses
>> Makefiles but in a way very similar to the FreeBSD ports tree or pkgsrc.
>>
>> I was attempting (with some others) to get OI updated in a "giant leap
>> forward" replacing SFW with userland-gate (renamed to oi-build, and
>> later illumos-userland after Nexenta started meddling). The idea was
>> that we would try to focus on one single build system, the userland-gate
>> style, which is the best of the lot. New software would go in there, and
>> if we needed to update something in another consolidation, we would
>> instead re-implement the recipe for it in userland-gate format.
>>
>> Unfortunately my approach with /experimental was quite ambitious and
>> didn't quite work how we wanted.
>>
>> Jon Tibble is continuing to release new OpenIndiana builds (such as
>> prestable 6, released *today* -
>> http://wiki.openindiana.org/oi/oi_151a_prestable6+Release+Notes) and is
>> advocating we do move to a single build system based on userland-gate,
>> but more slowly and in a more controlled fashion.
>>
>> oi_151a actually already has a mini userland-gate/oi-build, which you
>> can see here:
>>
>> https://hg.openindiana.org/sustaining/oi_151a/oi-build/
>>
>> It's used to deliver some additional software and some bits from other
>> consolidations have been moved there.
>>
>> It is probably where people should focus their efforts moving forward.
>>
>> Incorporations are probably what people are bitching about, which are
>> there to provide "lockstep" upgrades between known working version sets
>> of software. "entire" is the best known incorporation, which with each
>> release locks all system software at a particular version.
>>
>> Incorporations are needed to prevent your system getting shafted. Lets
>> say you are on oi_148, and in oi_151a we introduced some new software
>> called "foo". Foo depends on version 2.0 of "bar". oi_148 delivers "bar"
>> version 1.0. Without incorporations, if you "pkg install foo" it will
>> upgrade "bar" no questions asked. Any software linked against bar
>> probably just stopped working with libbar.so.1 changed to libbar.so.2.
>>
>> Incorporations present a challenge when you're developing software,
>> because they stop you installing new versions of things. The way to get
>> around this is to have "empty" incorporations on your development
>> system, that way you are free to shaft your own install if you want to.
>> It's like taking your seatbelt off.
>>
>> Incorporations map to consolidations, so SFW, JDS, etc each have their
>> own incorporation. This means the incorporations have to be updated when
>> you move software from one consolidation 

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Andrew M. Hettinger



Andrew Hettinger
http://Prominic.NET  ||  ahettin...@prominic.net
Tel:  866.339.3169 (toll free) -or- +1.217.356.2888 x.110 (int'l)
Fax: 866.372.3356 (toll free) -or- +1.217.356.3356(int'l)


Alasdair Lumsden  wrote on 09/04/2012 05:39:58 PM:
> On 04/09/2012 22:42, mag...@yonderway.com wrote:
> > On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
> >  wrote:
> >
> >> One of the biggest issues here isn't that packages are particularly
HARD
> >> to
> >> make with IPS (they aren't). It's that there are about three different
> >> approaches to it, and we need to get that standardized. Many of the
> >> packages are tied up in the consolidations, which DO seem to have a
high
> >> barrier to entry.
> >
> > So what are the cliff's notes to the three different approaches, and is
one
> > of those approaches going to have a lower barrier to entry with still
> > high-quality results?  I'm thinking along the lines of a third party
repo.
>
> I think there's a bit of confusion surrounding the terms involved.
>
> A consolidation is just a logical grouping of packages, such as "JDS"
> (Java Desktop System, renamed to just "desktop" on Solaris 11), "SFW"
> (Sun Freeware, replaced with "userland" in Solaris 11), etc.
>
> The big issue is that all the consolidations use different build
> systems. JDS uses RPM style spec-files similar to SFE (Spec files extra,
> a collection of 3rd party package recipes). SFW used a horrible Makefile
> based system. Userland is an excellent replacement for SFW, and uses
> Makefiles but in a way very similar to the FreeBSD ports tree or pkgsrc.
>
> I was attempting (with some others) to get OI updated in a "giant leap
> forward" replacing SFW with userland-gate (renamed to oi-build, and
> later illumos-userland after Nexenta started meddling). The idea was
> that we would try to focus on one single build system, the userland-gate
> style, which is the best of the lot. New software would go in there, and
> if we needed to update something in another consolidation, we would
> instead re-implement the recipe for it in userland-gate format.
>
> Unfortunately my approach with /experimental was quite ambitious and
> didn't quite work how we wanted.
>
> Jon Tibble is continuing to release new OpenIndiana builds (such as
> prestable 6, released *today* -
> http://wiki.openindiana.org/oi/oi_151a_prestable6+Release+Notes) and is
> advocating we do move to a single build system based on userland-gate,
> but more slowly and in a more controlled fashion.
>
> oi_151a actually already has a mini userland-gate/oi-build, which you
> can see here:
>
> https://hg.openindiana.org/sustaining/oi_151a/oi-build/
>
> It's used to deliver some additional software and some bits from other
> consolidations have been moved there.
>
> It is probably where people should focus their efforts moving forward.
>
> Incorporations are probably what people are bitching about, which are
> there to provide "lockstep" upgrades between known working version sets
> of software. "entire" is the best known incorporation, which with each
> release locks all system software at a particular version.
>
> Incorporations are needed to prevent your system getting shafted. Lets
> say you are on oi_148, and in oi_151a we introduced some new software
> called "foo". Foo depends on version 2.0 of "bar". oi_148 delivers "bar"
> version 1.0. Without incorporations, if you "pkg install foo" it will
> upgrade "bar" no questions asked. Any software linked against bar
> probably just stopped working with libbar.so.1 changed to libbar.so.2.
>
> Incorporations present a challenge when you're developing software,
> because they stop you installing new versions of things. The way to get
> around this is to have "empty" incorporations on your development
> system, that way you are free to shaft your own install if you want to.
> It's like taking your seatbelt off.
>
> Incorporations map to consolidations, so SFW, JDS, etc each have their
> own incorporation. This means the incorporations have to be updated when
> you move software from one consolidation to another, eg from JDS to
> oi-build.
>
> Hope this makes sense.
>
> Alasdair
>

I used terminology sloppily, thank you for clarifying for everyone.

Source Juicer used the same RPM style spec file that SFE uses, with a web
frontend to automatically handle submitting and building packages. What it
lacked as a simple way to promote a package once it had been testing for a
while. And the process for getting that done that was always a thorn in all
of our sides. As I recall, for someone on the outside, it was "badger the
right people in sun until you where annoying enough that they'll do
promotions just to get you out of their hair". Even for all it's problems,
it was a really good system, which (atleast for those of us who knew about
it) strongly encouraged contribution.

I feel that as long as there are so many differing build systems, people
will tend to confine themselves to one of them, a

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Nick Zivkovic
On Wed, Sep 5, 2012 at 4:18 AM, Jim Klimov  wrote:
> 2012-09-04 22:25, Andrew M. Hettinger пишет:
>
>> was kept in /bin and /sbin that did not depend on anything. This was
>> done to allow you to NFS mount everything else. IIRC the decision was
>> made to go ahead and make them dynamicly linked because noone NFS mounts
>> them anymore anyway, and it meant we had to keep both a simplified and
>> full version of the programs. I think this will encounter many similar
>> issues as that. If we are going back down this road, we could consider
>> just delivering a /bin and /sbin we can use as you propose. It would
>> have the advantage of bringing back this lost (albit rarely used)
>> functionality.
>>
>
> Well, as a little offtopic from desktopness, I have long ago posted an
> illumos RFE 829 to (again) support separatable "/usr" datasets, allowing
> one to compress much of the rootfs among other benefits of hierarchical
> environment (quotas, different storage and stuff).
>
> I've recently redone this on my laptop with no problems, following my
> own logs on wiki and bugtracker; the only substantial blocker was and is
> the "/sbin/sh" being a symlink to "../usr/bin/ksh" or somesuch. System
> fails to boot itself when /usr is separate. Replacing this symlink with
> a hard copy of /usr/bin/bash (as /sbin/sh) does not break the system as
> much as I can see (several machines doing this for several months now)
> and allows to split /usr off into its own compressed dataset.
>
> There were some other nuances discussed in the RFE, like additions to
> the SMF service which mounts minimal root environment, and problems
> with beadm/zfsclone not setting compression attributes on clones,
> but I won't bother you here with those ;)
>
> I just wanted to stress that this is not a feature only useful for
> diskless NFS boots, but also on a PC or a laptop or a VM, especially
> with limited HDD or SSD space and/or IOPS/bandwidth (less reads =
> faster boots).

Agreed. Also, I see that /opt and /usr/$consolidation overlap in terms
of their purpose.

For example we have /usr/X11. According to `man filesystem` /opt is
meant to hold add-on/third-party software.

If that's the case shouldn't X11 be in /opt/X11? Or should the
convention be updated, so that we store the bundles or consolidation
in /usr as is already being done?

If sub-directories of /usr are separate datasets (like /usr/X11 is
rpool/X11), that should make migration easier.

Basically, I'm asking if it is better to have one convention
(everything in /usr/$consolidation) instead of two (some things in
/usr/$consolidation and others in /opt/$consolidation)?

Also, for the SMF nits you ran into, _I think_ we can probably update
the manifests so that SMF doesn't try to start, for example, gdm/X11
until it mounts rpool/X11 onto /usr/X11.

Thanks.

>
> //Jim Klimov
>
>
>
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Nick Zivkovic
On Tue, Sep 4, 2012 at 5:39 PM, Alasdair Lumsden  wrote:
> Hi All,
>
>
> On 04/09/2012 22:42, mag...@yonderway.com wrote:
>>
>> On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
>>  wrote:
>>
>>> One of the biggest issues here isn't that packages are particularly HARD
>>> to
>>> make with IPS (they aren't). It's that there are about three different
>>> approaches to it, and we need to get that standardized. Many of the
>>> packages are tied up in the consolidations, which DO seem to have a high
>>> barrier to entry.
>>
>>
>> So what are the cliff's notes to the three different approaches, and is
>> one
>> of those approaches going to have a lower barrier to entry with still
>> high-quality results?  I'm thinking along the lines of a third party repo.
>
>
> I think there's a bit of confusion surrounding the terms involved.
>
> A consolidation is just a logical grouping of packages, such as "JDS" (Java
> Desktop System, renamed to just "desktop" on Solaris 11), "SFW" (Sun
> Freeware, replaced with "userland" in Solaris 11), etc.
>
> The big issue is that all the consolidations use different build systems.
> JDS uses RPM style spec-files similar to SFE (Spec files extra, a collection
> of 3rd party package recipes). SFW used a horrible Makefile based system.
> Userland is an excellent replacement for SFW, and uses Makefiles but in a
> way very similar to the FreeBSD ports tree or pkgsrc.
>
> I was attempting (with some others) to get OI updated in a "giant leap
> forward" replacing SFW with userland-gate (renamed to oi-build, and later
> illumos-userland after Nexenta started meddling). The idea was that we would
> try to focus on one single build system, the userland-gate style, which is
> the best of the lot. New software would go in there, and if we needed to
> update something in another consolidation, we would instead re-implement the
> recipe for it in userland-gate format.
>
> Unfortunately my approach with /experimental was quite ambitious and didn't
> quite work how we wanted.
>
> Jon Tibble is continuing to release new OpenIndiana builds (such as
> prestable 6, released *today* -
> http://wiki.openindiana.org/oi/oi_151a_prestable6+Release+Notes) and is
> advocating we do move to a single build system based on userland-gate, but
> more slowly and in a more controlled fashion.
>
> oi_151a actually already has a mini userland-gate/oi-build, which you can
> see here:
>
> https://hg.openindiana.org/sustaining/oi_151a/oi-build/
>
> It's used to deliver some additional software and some bits from other
> consolidations have been moved there.
>
> It is probably where people should focus their efforts moving forward.
>
> Incorporations are probably what people are bitching about, which are there
> to provide "lockstep" upgrades between known working version sets of
> software. "entire" is the best known incorporation, which with each release
> locks all system software at a particular version.
>
> Incorporations are needed to prevent your system getting shafted. Lets say
> you are on oi_148, and in oi_151a we introduced some new software called
> "foo". Foo depends on version 2.0 of "bar". oi_148 delivers "bar" version
> 1.0. Without incorporations, if you "pkg install foo" it will upgrade "bar"
> no questions asked. Any software linked against bar probably just stopped
> working with libbar.so.1 changed to libbar.so.2.
>
> Incorporations present a challenge when you're developing software, because
> they stop you installing new versions of things. The way to get around this
> is to have "empty" incorporations on your development system, that way you
> are free to shaft your own install if you want to. It's like taking your
> seatbelt off.

Well, incorporations sound like a great feature, imho. I guess the
only problem is when two packages have mutually exclusive dependencies
(foo depends on libbar.so.1, and baz depends on libbar.so.2). But even
then, one can probably avoid this by using NGZ's, if the foo package
isn't updated to use libbar.so.2, or if that software is no longer
maintained by the original author.

>
> Incorporations map to consolidations, so SFW, JDS, etc each have their own
> incorporation. This means the incorporations have to be updated when you
> move software from one consolidation to another, eg from JDS to oi-build.
>
> Hope this makes sense.
>
> Alasdair
>
>
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Henk Langeveld

On 05/09/2012 01:30, Alasdair Lumsden wrote:

I've actually realised it would be really useful if there was a
single document explaining all this stuff, a kind of "In the
beginning there was..." style walk through of how things came to be.

I'll try to write one over the next few weeks and put it on the wiki,
as it would probably help new developers get their head around
things.


That would be very helpful.  When I attended the userland hackathon I
was quite confused about all of the different build systems and their
history.  Thanks for your patience and support there :-).

I should dig up my notes and scripts for creating a build environment.

Henk

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Jonathan Adams  wrote:

> >
> > ftp://ftp.berlios.de/pub/schily/
> >
>
> do you have a patch/diffs to source supplied elsewhere? Is this
> project stored in a git repository, or even in an SCCS tar ball
> separate to the Schillix-ON project?

P.S. if you like to check the latest man page, have a look at:

http://cdrecord.berlios.de/private/man/sh.1.html

I append the output of "sccs -R log" that contasins a list of commit messages. 
Note that these messages are in German.


Tue Jul  3 23:45:16 2012 joerg
* sh.1 1.34
  Umbau auf .TP

Mon Jul  2 23:13:39 2012 joerg
* cmd.c 1.22
  for i; do  mit Semikolon erlauben

Mon Jul  2 23:06:56 2012 joerg
* sh.1 1.33
  -option -> \-option

Mon Jul  2 22:59:55 2012 joerg
* sh.1 1.32
  Weitgehender Umbau von \fB auf .B ...

Sun Jul  1 15:09:47 2012 joerg
* sh.1 1.31
  Copyright Header repariert

Sun Jun 10 22:28:23 2012 joerg
* word.c 1.23
  Bei rekursiven aliasen ist standin->fnxt nicht im Bereich von 
standin->fbuf[]

Sun Jun 10 17:55:01 2012 joerg
* Makefile 1.25
  abbrev.c nach Vorne wegen der Abhaengigkeiten

Sun Jun 10 17:32:23 2012 joerg
* args.c 1.21
* sh.1 1.30
* cmd.c 1.21
* MKLINKS 1.4
* Makefile 1.24
* version.h 1.6
* name.c 1.22
* bltin.c 1.27
* word.c 1.22
* fault.c 1.18
* main.c 1.20
* defs.h 1.45
  ENV=, /etc/sh.shrc, $HOME/.shrc, alias, unalias neu

Sun Jun 10 16:57:41 2012 joerg
* msg.c 1.18
  Neue Strings fuer alias/unalias

Sun Jun 10 16:54:01 2012 joerg
* alias.c 1.1
  date and time created 12/06/10 16:54:01 by joerg

Tue Jun  5 23:38:33 2012 joerg
* service.c 1.23
* io.c 1.17
  fstat() & S_ISDIR() neu

Mon Jun  4 21:42:35 2012 joerg
* args.c 1.20
* defs.h 1.44
  set -o neu

Mon May 21 23:54:00 2012 joerg
* defs.h 1.43
* msg.c 1.17
* bltin.c 1.26
* sh.1 1.29
  dosh Kommando neu

Sat May 19 15:21:45 2012 joerg
* sh.1 1.28
  alloc built-in dokumentiert
  Neue Schily Kommandos mit Hinweis versehen

Thu May 17 20:24:55 2012 joerg
* sh.1 1.27
  Option -c beschreibt nun dass das naechste Argument nach dem 
Kommando-String $0 ist

Tue May 15 23:34:00 2012 joerg
* stak.c 2.7
  Memory Leak in "repeat(1)" verhindern durch erweitertes savstak() und 
tdystak()

Sun May 13 20:20:53 2012 joerg
* bltin.c 1.25
  savstak() / tdystak() um execexp() fuer SYSREPEAT neu - wird auch im 
sbrk Shell benoetigt

Sun May 13 20:19:19 2012 joerg
* stak.c 2.6
  Tracemem = 0, Stackdebug = 0, -> Tracemem = TRACEMEM, Stackdebug = 
STACKDEBUG,

Sat May 12 23:53:34 2012 joerg
* jobs.c 1.25
* expand.c 1.14
* macro.c 1.17
* pwd.c 1.14
* fault.c 1.17
* service.c 1.22
* string.c 1.15
* cmd.c 1.20
* word.c 1.21
* xec.c 1.21
* bltin.c 1.24
* name.c 1.21
* hashserv.c 1.13
  lint Warnungen beseitigt

Sat May 12 14:13:33 2012 joerg
* bltin.c 1.23
* print.c 1.17
  times(1) Ausgabe ist nun POSIX kompatibel

Fri May 11 20:54:01 2012 joerg
* hash.h 1.6
  Eingerueckt

Fri May 11 20:50:39 2012 joerg
* io.c 1.16
* string.c 1.14
* jobs.c 1.24
* xec.c 1.20
* test.c 1.13
* fault.c 1.16
* defs.c 1.9
* msg.c 1.16
* expand.c 1.13
* func.c 1.11
* name.c 1.20
* word.c 1.20
* service.c 1.21
* cmd.c 1.19
* error.c 1.9
* hashserv.c 1.12
* main.c 1.19
* defs.h 1.42
* macro.c 1.16
* args.c 1.19
* hash.c 1.10
* ctype.c 1.4
* bltin.c 1.22
* pwd.c 1.13
  Cstyle

Fri May 11 00:33:36 2012 joerg
* msg.c 1.15
  "history" an richtige Stelle in builtin-Tabelle bewegt

Thu May 10 23:58:38 2012 joerg
* defs.h 1.41
* bltin.c 1.21
* pwd.c 1.12
  Dir nicht mehr ausgeben wenn pushd ueber CDPATH erfolgt

Thu May 10 23:58:34 2012 joerg
* version.h 1.5
  Neue Version mit pushd/popd/dirs

Thu May 10 23:26:14 2012 joerg
* bltin.c 1.20
  switch bei SYSCD korrekt eingerueckt

Thu May 10 23:19:58 2012 joerg
* pwd.c 1.11
* bltin.c 1.19
* msg.c 1.14
* defs.h 1.40
  pushd/popd/dirs neu

Thu May 10 20:07:33 2012 joerg
* sh.1 1.26
  .ne 2 -> .ne 3

Wed May  9 20:25:00 2012 joerg
* sh.1 1.25
  OLDPWD, pushd, popd, dirs neu

Tue May  8 20:02:00 2012 joerg
* msg.c 1.13
  Spezielle Kommandos markiert

Tue May  8 20:00:48 2012 joerg
* func.c 1.10
  Funktionen mit "case" korrekt ausgeb

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Jonathan Adams  wrote:

> On 5 September 2012 11:14, Joerg Schilling
>  wrote:
> > Linking /sbin/sh to ksh definitely was a mistake and I plan to fix this in
> > SchilliX-ON since a longer time. Before I introduce my fix, I will first
> > replace the unmaintained Bourne Shell from Sun sources by the current
> > maintained one which you can find in:
> >
> > ftp://ftp.berlios.de/pub/schily/
> >
>
> do you have a patch/diffs to source supplied elsewhere? Is this
> project stored in a git repository, or even in an SCCS tar ball
> separate to the Schillix-ON project?

The Bourne Shell enhancement project started in November 2006 and the first 
action was to transform the unmaintained code into modern code that makes use 
of C prototypes to allow for better code review. These changes alone will 
prevent you from being able to do anything useful by comparing older versions 
of the source from Sun with recent ones as half of the code did change even 
though I did not yet re-indent the code to match cstyle.

The project itself is implemented using SCCS, you may know that I am also 
enhancing SCCS towards a network aware distributed suystem that handles 
changesets. This SCCS will soon appear in SchillIX-ON as I believe that 
everything that was traditionally inside the UNIX sources should become part of 
ONNV again.

> Are you offering these changes as an update to the Illumos bash
> project to be upstreamed, will you be working with these changes in
> the community?

What is the Illumos bsh project?

I tried to get interaction with the OpenSolaris community before to no avail.
Later, Illumos signalled not to be interested in collaboration with non-Nexenta 
people. The discussions I had, have been made with the Bourne Shell "expert" 
Sven Maschek, see http://www.in-ulm.de/~mascheck/bourne/ for a list of features 
and Bugs I fixed.

I plan to rename usr/src/cmd/sh into usr/src/cmd/osh and to add the current 
state of the Bourne Shell into SchilliX-ON as usr/src/cmd/sh.

> is it possible to exclude your added functionality that was not in the
> original shell so that we can stay compatible with all older POSIX
> compliant systems that don't have this additional functionality?

There are #ifdefs for the editor, but not for the rest of the enhancements.
Please note that the Bourne Shell is not in POSIX and it is questuonable 
whether a reduced functionality will make sense.

Switching off new builtins would be easy, but things like support for "set -o"
is spread over the code. On the other side, there is a #ifdef ARGS_RIGHT_TO_LEFT
to switch back to the old incorrect macro evaluation order that is a result 
from the fact that Steve Bourne may not yet have known how to effiviently add 
to 
the end of a list in 1977.

There is also no #ifdef to switch on the security bugs introduced by Sun when 
implementing a kernel based ofexec().

Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Jonathan Adams
On 5 September 2012 11:14, Joerg Schilling
 wrote:
> Linking /sbin/sh to ksh definitely was a mistake and I plan to fix this in
> SchilliX-ON since a longer time. Before I introduce my fix, I will first
> replace the unmaintained Bourne Shell from Sun sources by the current
> maintained one which you can find in:
>
> ftp://ftp.berlios.de/pub/schily/
>

do you have a patch/diffs to source supplied elsewhere? Is this
project stored in a git repository, or even in an SCCS tar ball
separate to the Schillix-ON project?

Are you offering these changes as an update to the Illumos bash
project to be upstreamed, will you be working with these changes in
the community?

is it possible to exclude your added functionality that was not in the
original shell so that we can stay compatible with all older POSIX
compliant systems that don't have this additional functionality?

Jon

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Joerg Schilling
Jim Klimov  wrote:

> I've recently redone this on my laptop with no problems, following my
> own logs on wiki and bugtracker; the only substantial blocker was and is
> the "/sbin/sh" being a symlink to "../usr/bin/ksh" or somesuch. System
> fails to boot itself when /usr is separate. Replacing this symlink with
> a hard copy of /usr/bin/bash (as /sbin/sh) does not break the system as
> much as I can see (several machines doing this for several months now)
> and allows to split /usr off into its own compressed dataset.

I thought thet IPS is too dumb to support this.

Linking /sbin/sh to ksh definitely was a mistake and I plan to fix this in 
SchilliX-ON since a longer time. Before I introduce my fix, I will first 
replace the unmaintained Bourne Shell from Sun sources by the current 
maintained one which you can find in:

ftp://ftp.berlios.de/pub/schily/

This Bourne Shell

-   fixes all Bourne Shell bugs that have been documented since the late
1980 but never fixed by AT&T or Sun.

-   Was converted from using sbrk(2) to malloc(3) to achieve portability
and allows to use libc routines that depend on malloc().

-   fixes some previouly unknown bugs in string handling that have been a 
result from removing a dependency on SIGSEV to auto-expand memory for 
automatic string management as implemented in the original version
from 1977.

-   Adds the Commandline History editor I developed in 1982 and implemented 
in 1984 for my "bsh".

-   Adds the advanced alias mechanism from my "bsh" that is better than the
alias implementation from ksh.

-   Adds a new builtin "dosh" that allows to write intrinsic "shell scripts"
via aliases.

-   Adds pushd/popd/dirs builtins

-   Adds a mapper for e.g. cursor keys that works reliably in contrast to
what is known from ksh and bash that sometimes do not map strings and
thus insert raw key strings.

The combination of editable history, aliases and pushd/popd makes it nice for
interactive work.

I plan to install this shell (that is still _much_ smaller than ksh) as /sbin/sh
and to fix the 6 SMF scripts that have been modified to only work with ksh. 

As a nice hint: The new Bourne Shell compiles and runs on Cygwin (thanks to no 
longer depending on sbrk(2)) and if you use it to interpret autoconf scripts, 
this is 3x faster than bash.

I hope that other OpenSolaris distros will follow SchilliX-ON and SchilliX with 
this enhancement.


Jörg

-- 
 EMail:jo...@schily.isdn.cs.tu-berlin.de (home) Jörg Schilling D-13353 Berlin
   j...@cs.tu-berlin.de(uni)  
   joerg.schill...@fokus.fraunhofer.de (work) Blog: 
http://schily.blogspot.com/
 URL:  http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-05 Thread Jim Klimov

2012-09-04 22:25, Andrew M. Hettinger пишет:

was kept in /bin and /sbin that did not depend on anything. This was
done to allow you to NFS mount everything else. IIRC the decision was
made to go ahead and make them dynamicly linked because noone NFS mounts
them anymore anyway, and it meant we had to keep both a simplified and
full version of the programs. I think this will encounter many similar
issues as that. If we are going back down this road, we could consider
just delivering a /bin and /sbin we can use as you propose. It would
have the advantage of bringing back this lost (albit rarely used)
functionality.



Well, as a little offtopic from desktopness, I have long ago posted an
illumos RFE 829 to (again) support separatable "/usr" datasets, allowing
one to compress much of the rootfs among other benefits of hierarchical
environment (quotas, different storage and stuff).

I've recently redone this on my laptop with no problems, following my
own logs on wiki and bugtracker; the only substantial blocker was and is
the "/sbin/sh" being a symlink to "../usr/bin/ksh" or somesuch. System
fails to boot itself when /usr is separate. Replacing this symlink with
a hard copy of /usr/bin/bash (as /sbin/sh) does not break the system as
much as I can see (several machines doing this for several months now)
and allows to split /usr off into its own compressed dataset.

There were some other nuances discussed in the RFE, like additions to
the SMF service which mounts minimal root environment, and problems
with beadm/zfsclone not setting compression attributes on clones,
but I won't bother you here with those ;)

I just wanted to stress that this is not a feature only useful for
diskless NFS boots, but also on a PC or a laptop or a VM, especially
with limited HDD or SSD space and/or IOPS/bandwidth (less reads =
faster boots).

//Jim Klimov


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-04 Thread Francois Dion
On Tue, Sep 4, 2012 at 5:38 PM, Nick Zivkovic  wrote:
>>> 2) document every single IPS failure and either fix the
>>> packages or the IPS code (depend on what caused the failure), and
>>
>> First thought here is that it needs to be in the bug tracker, but that may
>> not be easily accessible either. Maybe a sub-page on the wiki?
>
> Either should be fine. FreeBSD records their ports build failures on
> their wiki. I think Gentoo recorded this on a bug tracker. Wiki is
> probably easiest.

Jenkins can automate all of that. For $JOB, I manage various products,
millions of lines of code in total with it. The nice thing is that it
will "blame" whoever breaks the build. It also provides an easy to
read dashboard, and notify only on status change, not on every build
that fails etc. Plus it can post to a URL, so a few lines of python
code with web.py and you have an interface to a wiki or bug tracker.

Francois

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-04 Thread Alasdair Lumsden
I've actually realised it would be really useful if there was a single 
document explaining all this stuff, a kind of "In the beginning there 
was..." style walk through of how things came to be.


I'll try to write one over the next few weeks and put it on the wiki, as 
it would probably help new developers get their head around things.


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-04 Thread Alasdair Lumsden

Hi All,

On 04/09/2012 22:42, mag...@yonderway.com wrote:

On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
 wrote:


One of the biggest issues here isn't that packages are particularly HARD
to
make with IPS (they aren't). It's that there are about three different
approaches to it, and we need to get that standardized. Many of the
packages are tied up in the consolidations, which DO seem to have a high
barrier to entry.


So what are the cliff's notes to the three different approaches, and is one
of those approaches going to have a lower barrier to entry with still
high-quality results?  I'm thinking along the lines of a third party repo.


I think there's a bit of confusion surrounding the terms involved.

A consolidation is just a logical grouping of packages, such as "JDS" 
(Java Desktop System, renamed to just "desktop" on Solaris 11), "SFW" 
(Sun Freeware, replaced with "userland" in Solaris 11), etc.


The big issue is that all the consolidations use different build 
systems. JDS uses RPM style spec-files similar to SFE (Spec files extra, 
a collection of 3rd party package recipes). SFW used a horrible Makefile 
based system. Userland is an excellent replacement for SFW, and uses 
Makefiles but in a way very similar to the FreeBSD ports tree or pkgsrc.


I was attempting (with some others) to get OI updated in a "giant leap 
forward" replacing SFW with userland-gate (renamed to oi-build, and 
later illumos-userland after Nexenta started meddling). The idea was 
that we would try to focus on one single build system, the userland-gate 
style, which is the best of the lot. New software would go in there, and 
if we needed to update something in another consolidation, we would 
instead re-implement the recipe for it in userland-gate format.


Unfortunately my approach with /experimental was quite ambitious and 
didn't quite work how we wanted.


Jon Tibble is continuing to release new OpenIndiana builds (such as 
prestable 6, released *today* - 
http://wiki.openindiana.org/oi/oi_151a_prestable6+Release+Notes) and is 
advocating we do move to a single build system based on userland-gate, 
but more slowly and in a more controlled fashion.


oi_151a actually already has a mini userland-gate/oi-build, which you 
can see here:


https://hg.openindiana.org/sustaining/oi_151a/oi-build/

It's used to deliver some additional software and some bits from other 
consolidations have been moved there.


It is probably where people should focus their efforts moving forward.

Incorporations are probably what people are bitching about, which are 
there to provide "lockstep" upgrades between known working version sets 
of software. "entire" is the best known incorporation, which with each 
release locks all system software at a particular version.


Incorporations are needed to prevent your system getting shafted. Lets 
say you are on oi_148, and in oi_151a we introduced some new software 
called "foo". Foo depends on version 2.0 of "bar". oi_148 delivers "bar" 
version 1.0. Without incorporations, if you "pkg install foo" it will 
upgrade "bar" no questions asked. Any software linked against bar 
probably just stopped working with libbar.so.1 changed to libbar.so.2.


Incorporations present a challenge when you're developing software, 
because they stop you installing new versions of things. The way to get 
around this is to have "empty" incorporations on your development 
system, that way you are free to shaft your own install if you want to. 
It's like taking your seatbelt off.


Incorporations map to consolidations, so SFW, JDS, etc each have their 
own incorporation. This means the incorporations have to be updated when 
you move software from one consolidation to another, eg from JDS to 
oi-build.


Hope this makes sense.

Alasdair

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-04 Thread magnus


On Tue, 4 Sep 2012 13:25:39 -0500, "Andrew M. Hettinger"
 wrote:

> One of the biggest issues here isn't that packages are particularly HARD
> to
> make with IPS (they aren't). It's that there are about three different
> approaches to it, and we need to get that standardized. Many of the
> packages are tied up in the consolidations, which DO seem to have a high
> barrier to entry. 

So what are the cliff's notes to the three different approaches, and is one
of those approaches going to have a lower barrier to entry with still
high-quality results?  I'm thinking along the lines of a third party repo.



___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-04 Thread Nick Zivkovic
On Tue, Sep 4, 2012 at 1:25 PM, Andrew M. Hettinger
 wrote:
> My thoughts. Remember, they are probably only worth what you paid for them!
> ;p
>
> Nick Zivkovic  wrote on 09/01/2012 10:42:14 AM:
>
>
>>
>> Yes. I am more interested in contributing drivers and the like. As far
>> as packages go, to be honest, I've experienced torture at the hands of
>> IPS (though that could very easily be my fault), and am reluctant go
>> near it. For example I tried an image-update and it failed. So I am
>> stuck on OI-147 until I backup-reinstall-import to OI-151a.
>>
>> I think packages are a high priority, but not as high as making sure
>> the latest illumos-gate can build and run on a modern desktop. For
>> example, I can't get SmartOS running on a thinkpad or my desktop
>> computer. Somewhere in June 2012, a bug was introduced that prevents
>> the illumos kernel from booting. If I had been building and testing
>> the latest source, that bug could probably have been caught before it
>> got buried in a mountain of commits. Now, I image, it is like finding
>> a needle in a haystack.
>>
>> I am willing to assist with packages, but my time is limited, and I
>> think it is more important to direct my effort to building
>> illumos-gate and writing drivers. Also, making packages is still a
>> black art to me, and wouldn't know where to start.
>
> One of the biggest issues here isn't that packages are particularly HARD to
> make with IPS (they aren't). It's that there are about three different
> approaches to it, and we need to get that standardized. Many of the packages
> are tied up in the consolidations, which DO seem to have a high barrier to
> entry. I considered putting together a source-juicer-like self-service
> system for building packages. If I can get the time, I'll revisit that. It
> would make my (and everyone else's, I think) life easier.

Ok this sounds very useful. I will investigate consolidations, and see
what can be done to lower that barrier.

>
>
>> But since we are already on the topic of packages, Adam, do you think
>> there is a way to make it less painful, more consistent? I'm _not_
>> talking about extreme measures like changing from IPS to
>> [DEB/RPM/SVR/etc]. I'm wondering if we could 1) make IPS easier to use
>> by documenting stuff in an easily accessible way [the man pages aren't
>> very helpful]
>
> The wiki would be an ideal place for this to happen. Frankly, I haven't see
> much trouble with the man pages from a user perspective, but from the
> developer's side, it could definitely use some work. Much of this was
> documented in the OS.o site, but we need to not depend on that.
>
>
>> 2) document every single IPS failure and either fix the
>> packages or the IPS code (depend on what caused the failure), and
>
> First thought here is that it needs to be in the bug tracker, but that may
> not be easily accessible either. Maybe a sub-page on the wiki?

Either should be fine. FreeBSD records their ports build failures on
their wiki. I think Gentoo recorded this on a bug tracker. Wiki is
probably easiest.

>
>
>> 3)
>> have IPS install all userland libs to a zfs dataset named rpool/ips or
>> rpool/pkgs; this way, we can zfs-send these datasets, and snap-shot
>> them, and clone them, without pulling in the rest of the file-system
>> heirarchy. This would make my bitterness toward IPS reduce
>> significantly. This way, you can migrate different user-land configs
>> between systems. Also, an easy way to do updates across a multitude of
>> systems. One can share their binaries and packages via zfs-send,
>> because they won't destroy an existing system's /usr /bin and so
>> forth. Also, OI would benefit tremendously from offering pre-made NG
>> zones on the web-site, available for downloading and running. In fact,
>> we could use Zones as a delivery mechanism for things like an Illumos
>> build-environment. An NG zone can contain a working and sandboxed
>> version of firefox. Zones are a great technology that can make the
>> system more attractive amateur power users who may become programmers
>> some day (like I did). Multiple ways of sharing pre-compiled binaries
>> can only help OI and Illumos. In fact I can see people sharing
>> datasets with packages via bit-torrent. Plus, incremental send/recv is
>> a huge benefit.
>
> Back in the bad-old-days, (if memory serves) a basic copy of userland was
> kept in /bin and /sbin that did not depend on anything. This was done to
> allow you to NFS mount everything else. IIRC the decision was made to go
> ahead and make them dynamicly linked because noone NFS mounts them anymore
> anyway, and it meant we had to keep both a simplified and full version of
> the programs. I think this will encounter many similar issues as that. If we
> are going back down this road, we could consider just delivering a /bin and
> /sbin we can use as you propose. It would have the advantage of bringing
> back this lost (albit rarely used) functionality.
>
> That said, there is nothi

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-04 Thread Andrew M. Hettinger

My thoughts. Remember, they are probably only worth what you paid for
them! ;p

Nick Zivkovic  wrote on 09/01/2012 10:42:14 AM:
>
> Yes. I am more interested in contributing drivers and the like. As far
> as packages go, to be honest, I've experienced torture at the hands of
> IPS (though that could very easily be my fault), and am reluctant go
> near it. For example I tried an image-update and it failed. So I am
> stuck on OI-147 until I backup-reinstall-import to OI-151a.
>
> I think packages are a high priority, but not as high as making sure
> the latest illumos-gate can build and run on a modern desktop. For
> example, I can't get SmartOS running on a thinkpad or my desktop
> computer. Somewhere in June 2012, a bug was introduced that prevents
> the illumos kernel from booting. If I had been building and testing
> the latest source, that bug could probably have been caught before it
> got buried in a mountain of commits. Now, I image, it is like finding
> a needle in a haystack.
>
> I am willing to assist with packages, but my time is limited, and I
> think it is more important to direct my effort to building
> illumos-gate and writing drivers. Also, making packages is still a
> black art to me, and wouldn't know where to start.

One of the biggest issues here isn't that packages are particularly HARD to
make with IPS (they aren't). It's that there are about three different
approaches to it, and we need to get that standardized. Many of the
packages are tied up in the consolidations, which DO seem to have a high
barrier to entry. I considered putting together a source-juicer-like
self-service system for building packages. If I can get the time, I'll
revisit that. It would make my (and everyone else's, I think) life easier.

> But since we are already on the topic of packages, Adam, do you think
> there is a way to make it less painful, more consistent? I'm _not_
> talking about extreme measures like changing from IPS to
> [DEB/RPM/SVR/etc]. I'm wondering if we could 1) make IPS easier to use
> by documenting stuff in an easily accessible way [the man pages aren't
> very helpful]

The wiki would be an ideal place for this to happen. Frankly, I haven't see
much trouble with the man pages from a user perspective, but from the
developer's side, it could definitely use some work. Much of this was
documented in the OS.o site, but we need to not depend on that.

> 2) document every single IPS failure and either fix the
> packages or the IPS code (depend on what caused the failure), and

First thought here is that it needs to be in the bug tracker, but that may
not be easily accessible either. Maybe a sub-page on the wiki?

> 3)
> have IPS install all userland libs to a zfs dataset named rpool/ips or
> rpool/pkgs; this way, we can zfs-send these datasets, and snap-shot
> them, and clone them, without pulling in the rest of the file-system
> heirarchy. This would make my bitterness toward IPS reduce
> significantly. This way, you can migrate different user-land configs
> between systems. Also, an easy way to do updates across a multitude of
> systems. One can share their binaries and packages via zfs-send,
> because they won't destroy an existing system's /usr /bin and so
> forth. Also, OI would benefit tremendously from offering pre-made NG
> zones on the web-site, available for downloading and running. In fact,
> we could use Zones as a delivery mechanism for things like an Illumos
> build-environment. An NG zone can contain a working and sandboxed
> version of firefox. Zones are a great technology that can make the
> system more attractive amateur power users who may become programmers
> some day (like I did). Multiple ways of sharing pre-compiled binaries
> can only help OI and Illumos. In fact I can see people sharing
> datasets with packages via bit-torrent. Plus, incremental send/recv is
> a huge benefit.

Back in the bad-old-days, (if memory serves) a basic copy of userland was
kept in /bin and /sbin that did not depend on anything. This was done to
allow you to NFS mount everything else. IIRC the decision was made to go
ahead and make them dynamicly linked because noone NFS mounts them anymore
anyway, and it meant we had to keep both a simplified and full version of
the programs. I think this will encounter many similar issues as that. If
we are going back down this road, we could consider just delivering a /bin
and /sbin we can use as you propose. It would have the advantage of
bringing back this lost (albit rarely used) functionality.

That said, there is nothing stopping anyone from delivering a basic
userland in /rpool/pkgs, although I would suggest using an alternate mount
point in /usr (/usr/zdu or some-such? solaris has a long history of
delivering alternate userlands in filesystems off of /usr).

> We might even be able to integrate a window manager (like i3 or dwm)
> so that switching virtual desktop, actually switches to another zone.

Can you do this in zones? Frankly, all my other zones h

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-02 Thread Alan Coopersmith
On 09/ 2/12 10:47 AM, Nick Zivkovic wrote:
> On Sun, Sep 2, 2012 at 11:17 AM, Magnus  wrote:
>> On Sep 2, 2012, at 11:18 AM, Alan Coopersmith wrote:
>>> On 09/ 2/12 07:00 AM, Adam Števko wrote:
 IPS is documented in the official IPS Developer Guide located somewhere in 
 the OpenSolaris/Oracle page. I went it through lately and I find it a good 
 source for learning to work with IPS, in general.
>>>
>>> http://hub.opensolaris.org/bin/download/Project+pkg/files/ipsdevguide.pdf
>>
>> FWIW, I think this sort of response is a sign of ill health for Illumos. 
>> We're still pointing to Oracle for our own documentation. And, as we should 
>> know by now, Oracle has no problems withdrawing things from public view with 
>> no warning.
> 
> This documentation can probably be rewritten on the OI/Illumos wikis.
> I will do this.

The sources to that version of the developer guide are available, so you don't
need to rewrite from scratch:
https://hg.openindiana.org/upstream/oracle/pkg-gate/file/tip/doc/dev-guide

(Later versions are instead in the internal doc publishing system, so the
 sources aren't readily available under a suitable license, but then, they
 document post-175 features that aren't in the IPS version that I believe OI
 is using.)

-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-02 Thread Nick Zivkovic
> OpenIndiana aims to be a general-purpose traditional distribution usable on 
> server or desktop, not a hypervisor
> (although kvm and qemu packages can be found in the repositories).

I don't see why OpenIndiana can't be _both_. This is software after
all. More choices means more users means potentially more
contributors. I don't see why we should support only one way of
sharing and installing packages. This is orthogonal to the NGZ
appliances I mentioned earlier. Either way, I'll test/implement my
ideas, and  make them publicly available.

On Sun, Sep 2, 2012 at 11:17 AM, Magnus  wrote:
>
> On Sep 2, 2012, at 11:18 AM, Alan Coopersmith wrote:
>
>> On 09/ 2/12 07:00 AM, Adam Števko wrote:
>>> IPS is documented in the official IPS Developer Guide located somewhere in 
>>> the OpenSolaris/Oracle page. I went it through lately and I find it a good 
>>> source for learning to work with IPS, in general.
>>
>> http://hub.opensolaris.org/bin/download/Project+pkg/files/ipsdevguide.pdf
>
> FWIW, I think this sort of response is a sign of ill health for Illumos. 
> We're still pointing to Oracle for our own documentation. And, as we should 
> know by now, Oracle has no problems withdrawing things from public view with 
> no warning.

Agreed. Oracle is not a friend of Illumos. In fact Oracle is probably
Illumos's biggest nemesis (however inept and impotent they may be).
This documentation can probably be rewritten on the OI/Illumos wikis.
I will do this.

>
> Additionally, I see us debating about putting a lot of work into supporting a 
> small fringe of users (desktop) while nobody is really talking about 
> modernizing hardware support for ubiquitous 4K sector hard disks (and I mean 
> beyond crude hacks).
>
> We're missing the big important stuff.

Well the desktop is important to me and others. So _I_ will personally
put a significant amount of work into things like having a modern
Xorg, USB drivers, WiFi drivers, and so on. That's what open source is
all about. I am not saying that engineers that are preoccupied with
other things that are actually relevant to their companies' business
plans, should do desktop work pro-bono, at no benefit to themselves.
People should scratch their own itches.

I stand by my claim that having Illumos work _adequately_ on the
desktop, can mean fresh talent for the Illumos community. Much how the
Linux desktop helps recruit potential contributors. This is, imho,
very important for Illumos. I see no logical reason why Illumos can't
be an amazing desktop system given that it has best of breed
technologies. It won't be able to inter-operate with proprietary
formats and protocols (skype, MS Office, etc), but that's why KVM is
an excellent technology for a desktop OS. I think community
contributions to desktop technologies should be encouraged by the
Illumos devs even if they have no interest in writing the code
themselves.

I am not saying that Illumos can dethrone dominant desktop OS's; we
can't, nor should we, cater to non-techies. I am saying that it can
grab a fragment of those desktop power-users (those that run linux,
for example, but would like to use something better, because it comes
at no personal cost to them, but can help them significantly).

>
>
> ___
> oi-dev mailing list
> oi-dev@openindiana.org
> http://openindiana.org/mailman/listinfo/oi-dev

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-02 Thread Magnus

On Sep 2, 2012, at 11:18 AM, Alan Coopersmith wrote:

> On 09/ 2/12 07:00 AM, Adam Števko wrote:
>> IPS is documented in the official IPS Developer Guide located somewhere in 
>> the OpenSolaris/Oracle page. I went it through lately and I find it a good 
>> source for learning to work with IPS, in general. 
> 
> http://hub.opensolaris.org/bin/download/Project+pkg/files/ipsdevguide.pdf

FWIW, I think this sort of response is a sign of ill health for Illumos. We're 
still pointing to Oracle for our own documentation. And, as we should know by 
now, Oracle has no problems withdrawing things from public view with no warning.

Additionally, I see us debating about putting a lot of work into supporting a 
small fringe of users (desktop) while nobody is really talking about 
modernizing hardware support for ubiquitous 4K sector hard disks (and I mean 
beyond crude hacks).

We're missing the big important stuff.


___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev


Re: [oi-dev] Desktop Illumos Still Matters

2012-09-02 Thread Alan Coopersmith
On 09/ 2/12 07:00 AM, Adam Števko wrote:
> IPS is documented in the official IPS Developer Guide located somewhere in 
> the OpenSolaris/Oracle page. I went it through lately and I find it a good 
> source for learning to work with IPS, in general. 

http://hub.opensolaris.org/bin/download/Project+pkg/files/ipsdevguide.pdf

-- 
-Alan Coopersmith-  alan.coopersm...@oracle.com
 Oracle Solaris Engineering - http://blogs.oracle.com/alanc

___
oi-dev mailing list
oi-dev@openindiana.org
http://openindiana.org/mailman/listinfo/oi-dev

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-02 Thread Adam Števko
Hi Nick,

On Sep 1, 2012, at 5:42 PM, Nick Zivkovic  wrote:

> Yes. I am more interested in contributing drivers and the like. As far
> as packages go, to be honest, I've experienced torture at the hands of
> IPS (though that could very easily be my fault), and am reluctant go
> near it. For example I tried an image-update and it failed. So I am
> stuck on OI-147 until I backup-reinstall-import to OI-151a.
> 
> I think packages are a high priority, but not as high as making sure
> the latest illumos-gate can build and run on a modern desktop. For
> example, I can't get SmartOS running on a thinkpad or my desktop
> computer. Somewhere in June 2012, a bug was introduced that prevents
> the illumos kernel from booting. If I had been building and testing
> the latest source, that bug could probably have been caught before it
> got buried in a mountain of commits. Now, I image, it is like finding
> a needle in a haystack.
I couldn't agree more that having great hardware support is very important. 
Although, packages available in the repository should have a high-priority. If 
you enjoy hacking on illumos-gate then just do it, everyone using it will 
benefit from it. Also, If you use OpenIndiana with software that is not 
available via repositories and you are willing to maintain those things, feel 
free to do so. Any additional questions about packaging/developing will be 
gladly answered.

> I am willing to assist with packages, but my time is limited, and I
> think it is more important to direct my effort to building
> illumos-gate and writing drivers. Also, making packages is still a
> black art to me, and wouldn't know where to start.
Everything related to packaging can be found at 
http://wiki.illumos.org/display/illumos/illumos-userland

> 
> But since we are already on the topic of packages, Adam, do you think
> there is a way to make it less painful, more consistent? I'm _not_
> talking about extreme measures like changing from IPS to
> [DEB/RPM/SVR/etc]. I'm wondering if we could 1) make IPS easier to use
> by documenting stuff in an easily accessible way [the man pages aren't
> very helpful] 2) document every single IPS failure and either fix the
> packages or the IPS code (depend on what caused the failure),
IPS is documented in the official IPS Developer Guide located somewhere in the 
OpenSolaris/Oracle page. I went it through lately and I find it a good source 
for learning to work with IPS, in general. 

The error documentation could be doable, although I am not sure if it will 
benefit us that much. Further discussions are needed for this imho.

> and 3)
> have IPS install all userland libs to a zfs dataset named rpool/ips or
> rpool/pkgs; this way, we can zfs-send these datasets, and snap-shot
> them, and clone them, without pulling in the rest of the file-system
> heirarchy. This would make my bitterness toward IPS reduce
> significantly. This way, you can migrate different user-land configs
> between systems. Also, an easy way to do updates across a multitude of
> systems. One can share their binaries and packages via zfs-send,
> because they won't destroy an existing system's /usr /bin and so
> forth. Also, OI would benefit tremendously from offering pre-made NG
> zones on the web-site, available for downloading and running. In fact,
> we could use Zones as a delivery mechanism for things like an Illumos
> build-environment. An NG zone can contain a working and sandboxed
> version of firefox. Zones are a great technology that can make the
> system more attractive amateur power users who may become programmers
> some day (like I did). Multiple ways of sharing pre-compiled binaries
> can only help OI and Illumos. In fact I can see people sharing
> datasets with packages via bit-torrent. Plus, incremental send/recv is
> a huge benefit.

OpenIndiana aims to be a general-purpose traditional distribution usable on 
server or desktop, not a hypervisor (although kvm and qemu packages can be 
found in the repositories). 

The zone thingie is a great idea imo. Delivering prebuilt zone usable for 
packaging and Illumos development could ease certain things for developers and 
help them concentrate more on the development. But again, this can be delivered 
also as a meta package available via IPS.


> We might even be able to integrate a window manager (like i3 or dwm)
> so that switching virtual desktop, actually switches to another zone.
> 
> What kind of changes to IPS are OI willing to accept? I am willing to
> test and improve a lot of code. As I said, I dislike IPS. But I am
> willing to help make it better and more usable.

I am not sure. People more involved with IPS should comment on this.


> Also, a major problem with IPS is that Sun encouraged people to use it
> to _consume_ packages, but they didn't encourage people to _create_
> packages. We need a self-fueling ecosystem of packages.
There is already a oi-build, which needs more packages and updates. oi-build is 
based on Oracle's userland

Re: [oi-dev] Desktop Illumos Still Matters

2012-09-01 Thread Nick Zivkovic
Yes. I am more interested in contributing drivers and the like. As far
as packages go, to be honest, I've experienced torture at the hands of
IPS (though that could very easily be my fault), and am reluctant go
near it. For example I tried an image-update and it failed. So I am
stuck on OI-147 until I backup-reinstall-import to OI-151a.

I think packages are a high priority, but not as high as making sure
the latest illumos-gate can build and run on a modern desktop. For
example, I can't get SmartOS running on a thinkpad or my desktop
computer. Somewhere in June 2012, a bug was introduced that prevents
the illumos kernel from booting. If I had been building and testing
the latest source, that bug could probably have been caught before it
got buried in a mountain of commits. Now, I image, it is like finding
a needle in a haystack.

I am willing to assist with packages, but my time is limited, and I
think it is more important to direct my effort to building
illumos-gate and writing drivers. Also, making packages is still a
black art to me, and wouldn't know where to start.

But since we are already on the topic of packages, Adam, do you think
there is a way to make it less painful, more consistent? I'm _not_
talking about extreme measures like changing from IPS to
[DEB/RPM/SVR/etc]. I'm wondering if we could 1) make IPS easier to use
by documenting stuff in an easily accessible way [the man pages aren't
very helpful] 2) document every single IPS failure and either fix the
packages or the IPS code (depend on what caused the failure), and 3)
have IPS install all userland libs to a zfs dataset named rpool/ips or
rpool/pkgs; this way, we can zfs-send these datasets, and snap-shot
them, and clone them, without pulling in the rest of the file-system
heirarchy. This would make my bitterness toward IPS reduce
significantly. This way, you can migrate different user-land configs
between systems. Also, an easy way to do updates across a multitude of
systems. One can share their binaries and packages via zfs-send,
because they won't destroy an existing system's /usr /bin and so
forth. Also, OI would benefit tremendously from offering pre-made NG
zones on the web-site, available for downloading and running. In fact,
we could use Zones as a delivery mechanism for things like an Illumos
build-environment. An NG zone can contain a working and sandboxed
version of firefox. Zones are a great technology that can make the
system more attractive amateur power users who may become programmers
some day (like I did). Multiple ways of sharing pre-compiled binaries
can only help OI and Illumos. In fact I can see people sharing
datasets with packages via bit-torrent. Plus, incremental send/recv is
a huge benefit.

We might even be able to integrate a window manager (like i3 or dwm)
so that switching virtual desktop, actually switches to another zone.

What kind of changes to IPS are OI willing to accept? I am willing to
test and improve a lot of code. As I said, I dislike IPS. But I am
willing to help make it better and more usable.

Also, a major problem with IPS is that Sun encouraged people to use it
to _consume_ packages, but they didn't encourage people to _create_
packages. We need a self-fueling ecosystem of packages.

I also think that SmartOS's diskless boot model is great. I think that
booting from disk is great too. Shouldn't OI support both? I'm willing
to contribute to this.

I know these ideas come from SmartOS to some extent, but they are
great ideas that could make OI better! Making a new distribution is
one way to try to make things better. But I think a metamorphosis in
the OI distro will be more effective. I want the many Illumos distros
to be held up as an example of triumphant collaboration, 5 years from
now. But that will happen only if we avoid going down the path of
NIH-inspired suicide.

So, in short I am willing to contribute, to OpenIndiana and Illumos. I
will get OI-151 installed today or tomorrow.

I will try to build illumos-gate, and will report back with any problems.

I would appreciate any pointers on making new packages.

Is it possible to make a new zone without an internet connection?

Where can I find the OI plans for future IPS features and improvements.

 Also, I don't know if this is available in your repos, but if not, I
am going to port and package the i3 window manager for OI, if I have
trouble I'll let you guys know.

I am going to see what I can do about pre-built NG zones.

I will try to find resources about NG zones, making new brands,
modifying existing brands, etc.

Also, I recommend updating the mission statement on the web page. It
is "coming soon", and not very inspiring.

I recommend something along the lines of "making cutting edge
technology available to power users on the desktop..." and then
advertise the technologies. Trust me, it is the power users, not the
simple desktop users that you want. Basically an incubator for future
illumos devs, and a platform for those who like to