Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Thu 18 Sep 2014, 04:02
All times are UTC - 4
 Forum index » Advanced Topics » Cutting edge
1.0.5 Release - Lessons learned
Moderators: Flash, Ian, JohnMurga
Post new topic   Reply to topic View previous topic :: View next topic
Page 1 of 3 [31 Posts]   Goto page: 1, 2, 3 Next
Author Message
rarsa


Joined: 29 May 2005
Posts: 3053
Location: Kitchener, Ontario, Canada

PostPosted: Thu 29 Sep 2005, 10:56    Post subject:  1.0.5 Release - Lessons learned  

I think it's just about time to start doing a post-implementation review of the 1.0.5 release.

I am happilly using it and I hope I'm not out of place suggesting a retrospective view.

Here are my retrospective views (based on many years of professional software development):

Puppy has grown from a one man show to now having multiple contributors. As with any other project, once this transition happens, the need for a process an for the management of that process becomes evident.

This process is not to force obsturctive red tape, but to facilitate communication and improve quailty, stability and continuity for the development process. It is particularly important for an open source distributed development, where the development should be resilient to the change of individual contributors.

What went right:
- Having a single final desicion maker (Barry) speeds up desicions and avoids long useless discussions.
- The puppy community (starting with Barry) is very open to new contributors and very responsive to issues and concerns from puppy users.
- There is a lot of enthusiasm from the puppy community members to improve puppy. Nothing beats a cohesive team.

What could have been better:
- There were important differences between 1.0.5rc and 1.0.5. Once an 'rc' release is out of the door, it should only be modified to fix bugs. Contributors should be confident that if they test on the 'rc' it will work on the final release. After all, that's the purpose of an "rc" release.
- No last minute untested modifications should be done for the final release. That goes for all the components that go into the CD Image.
- If the final release requires core changes (e.g. change in the folder structure, libraries, etc) It should be communicated more broadly to other developers.
- The final release should also have a buffer time for testing between the final image and the public release.
- DotPups should not make hardcoded assumptions on the existence of dependencies, files, folder structure, etc. They should rely instead on environment variables, 'which', configuration files, etc.
- Documentation should be updated by the time the release goes out.

Here are some particular examples of what I mean:

I've had to repackage the following dotpups after 1.0.5 was out the door:

vncserver:
Up until the last minute I didn't know if the final version would include fvwm95. The existing script creates an xstartup that launches fvwm95. Maybe I shoul have used a configuration file or environment variable to identify the current wm when I create the xstartup script.

JWM themes
The location for the themes folder changed from 1.0.5rc to r.0.5final. Did I miss the communication informing this?

Opera 5.0
The qt library was not included in the final image. Did I miss the communication informing this?

Please add your comments to the release. I'd like to hear what you think
Back to top
View user's profile Send private message Visit poster's website 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7047
Location: Perth, Western Australia

PostPosted: Thu 29 Sep 2005, 11:11    Post subject:  

Quote:
- There were important differences between 1.0.5rc and 1.0.5. Once an 'rc' release is out of the door, it should only be modified to fix bugs. Contributors should be confident that if they test on the 'rc' it will work on the final release. After all, that's the purpose of an "rc" release.


Yep, I agree with you completely.
It was sloppy project management on my part.
Just got too tempted by all the new goodies.

Quote:
Up until the last minute I didn't know if the final version would include fvwm95.


I'm surprised at that. 1.0.5rc only had JWM.

Regarding relocation of jwm themes, and missing Qt, you are
quite right, they weren't communicated publicly beforehand.
Back to top
View user's profile Send private message Visit poster's website 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7047
Location: Perth, Western Australia

PostPosted: Thu 29 Sep 2005, 11:32    Post subject:  

Incidentally guys, the PupGet package manager can be run
from the commandline, like this:

Code:
# pupget +qt-3.3.4


to install the qt-3.3.4 package.

However, normally Puppy has to reboot after installing Qt,
to set environment variables. /etc/profile has this:

Code:
if [ -e /usr/lib/qt ];then #do not use -d as qt may be link?
 QTDIR=/usr/lib/qt
 export QTDIR
 PATH=$QTDIR/bin:$PATH
 LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
fi


So, you own install script can test for qt, like above, then
could call pupget to install it, but you would then have to
tell the person to reboot -- or the script can do it.

This is all assuming that Qt will be left out. It could well be
left out of someone else's puppy creation, so even if we
decided that it must be in the official 1.0.6 release, so the
above code is a good idea, that is, something based on:

Code:
if [ ! -e /usr/lib/qt ];then
 pupget \+qt-3.3.4
fi
Back to top
View user's profile Send private message Visit poster's website 
Guest
Guest


PostPosted: Thu 29 Sep 2005, 12:05    Post subject:  

Quote:
Puppy has grown from a one man show to now having multiple contributors. As with any other project, once this transition happens, the need for a process an for the management of that process becomes evident.


We do need to make some transitions.
Back to top
Guest
Guest


PostPosted: Thu 29 Sep 2005, 12:07    Post subject:  

I, BarryK, made that last post.

yes, I agree, we need to get a bit more formal.
Back to top
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15117
Location: Paradox Realm

PostPosted: Thu 29 Sep 2005, 12:50    Post subject:  

Cool . . . enter the Puppy Foundation . . . starting Friday Sep 2005 (time could be whenever - yet to work out internet time) we will be holding the PUPPY PARTY to celebrate 1.0.5 release and to formally elect a kennel of Trustees . . .

So far as he is most keen Raffy is proposed as Chair - though I will propose Barry if he wants to be chair . . .
Treasurers proposed (already has an account for Puppy) is Barry or Ian (part time drunkard)

Full details here
http://www.goosee.com/puppy/wikka/FoundationPuppy

I think on the discussion agenda is how we manage software development. Most of it is Barry - but Dotpups and all sort of modifications and stuff going on.

_________________
Puppy WIKI
Back to top
View user's profile Send private message Visit poster's website 
JohnMurga
Site Admin


Joined: 04 May 2005
Posts: 586
Location: Far to the east

PostPosted: Thu 29 Sep 2005, 14:03    Post subject:  

Hey,

I think it would be nice if PERL was included by default ... The cut-down version is pretty small (a few hundred k), and it would mean that things like NdisWrapper and CUPS would work better out of the box.

It is a chicken and egg thing really, you can't really expect a user to connect to the internet to download something they'll need to set up their internet connection.

Or maybe it's just me who thinks this doesn't make sense ...

But it is nice to see a nice solid and slim version of puppy again Smile

Cheers
JohnM
Back to top
View user's profile Send private message Visit poster's website 
GuestToo
Puppy Master

Joined: 04 May 2005
Posts: 4078

PostPosted: Thu 29 Sep 2005, 14:27    Post subject:  

BarryK wrote:
normally Puppy has to reboot after installing Qt,
to set environment variables


there are ways that might work without rebooting

if the ENV variable is set, eg. ENV=/root/.ashrc then shell commands in .ashrc will be executed everytime sh runs

if bash is run as sh (through a symlink) it behaves like ash, and will use the ENV variable if it's there

if bash is run as bash, it will execute commands in /root/.bashrc

bash has a slightly complicated and powerful system of rc and profile files that can be set up ... i think most people put most rc stuff all in one file and source that file from the other files ... it's simpler and all that's necessary for a standalone machine

Last edited by GuestToo on Fri 30 Sep 2005, 04:24; edited 1 time in total
Back to top
View user's profile Send private message 
Pizzasgood


Joined: 04 May 2005
Posts: 6270
Location: Knoxville, TN, USA

PostPosted: Thu 29 Sep 2005, 18:44    Post subject:  

Quote:
I think it would be nice if PERL was included by default ... The cut-down version is pretty small (a few hundred k), and it would mean that things like NdisWrapper and CUPS would work better out of the box.

It is a chicken and egg thing really, you can't really expect a user to connect to the internet to download something they'll need to set up their internet connection.


I second that. I have the dev addon, so I automatically get perl, and it is incredably nice to be able to pop in rt2500.inf, run ndiswrapper, throw in my config files, and BAM be on the internet. I actually plan to set up my own personal network dotpup that will put in my config files, compile my drivers, and everything with a single click. How it used to be, I had to either get the drivers from bladehunter or compile them on my own in vector.

_________________
Between depriving a man of one hour from his life and depriving him of his life there exists only a difference of degree. --Muad'Dib

Back to top
View user's profile Send private message Visit poster's website 
BarryK
Puppy Master


Joined: 09 May 2005
Posts: 7047
Location: Perth, Western Australia

PostPosted: Thu 29 Sep 2005, 20:30    Post subject:  

Quote:
So far as he is most keen Raffy is proposed as Chair - though I will propose Barry if he wants to be chair . . .
Treasurers proposed (already has an account for Puppy) is Barry or Ian (part time drunkard)


I'll make a statement about that on Friday.
Back to top
View user's profile Send private message Visit poster's website 
rarsa


Joined: 29 May 2005
Posts: 3053
Location: Kitchener, Ontario, Canada

PostPosted: Thu 29 Sep 2005, 20:33    Post subject:  

Quote:
I think it would be nice if PERL was included by default
It is included in the usr_devx.sfs file.

I have mixed feelings about including it on the base Puppy. Of course I would like it: It would have saved me to rewrite the vncserver script in shell script.

On the other hand, I prefer that the CD includes only what is necessary to run the applications that come with puppy, If someone needs something else, it should be an add-on (pu-get/dotpup). Having everything for everyone is what ultimatelly bloats the OSs.

Keep the little Puppy focused.
Back to top
View user's profile Send private message Visit poster's website 
Lobster
Official Crustacean


Joined: 04 May 2005
Posts: 15117
Location: Paradox Realm

PostPosted: Thu 29 Sep 2005, 21:06    Post subject:  

I agree with rarsa - if Perl why not python. If Python why not java, if Java why not [insert Ruby, Gambas, Forth or other pet language] . . .

Puppy has assembler, C, C++, script, Tcl, PuppyBasic, XUL, Ajax. A great deal has and can be achieved with that. Many languages can be compiled or come with run times. When some dotpups appear from these other languages, then the case for them becomes more serious . . .

_________________
Puppy WIKI
Back to top
View user's profile Send private message Visit poster's website 
JohnMurga
Site Admin


Joined: 04 May 2005
Posts: 586
Location: Far to the east

PostPosted: Thu 29 Sep 2005, 21:34    Post subject:  

Lobster wrote:
I agree with rarsa - if Perl why not python. If Python why not java, if Java why not [insert Ruby, Gambas, Forth or other pet language] . . .


Because many of the base/common UNIX utilities are written in PERL (not Java, Ruby, Gambas, Forth or other pet language) ...

I hate PERL myself (when I've had to work with it). But my point about having to download something from the net to get the net to work stands ...

rarsa wrote:
On the other hand, I prefer that the CD includes only what is necessary to run the applications that come with puppy, If someone needs something else, it should be an add-on (pu-get/dotpup). Having everything for everyone is what ultimatelly bloats the OSs.


Well ... That is the thing ... Puppy DOES include ndiswrapper, and one of the first things I did with my freshly burned 1.0.5 was put it into one of my old lappys to try and set up it's wireless only to get a nice little message telling me it wasn't functional and I needed to download the PERL package or the usr_devx.sfs.

If that had me upset and put me off the idea imagine what it would do to your average user ...

Cheers
JohnM
Back to top
View user's profile Send private message Visit poster's website 
rarsa


Joined: 29 May 2005
Posts: 3053
Location: Kitchener, Ontario, Canada

PostPosted: Thu 29 Sep 2005, 21:47    Post subject:  

Could we open another thread for this discussion and try to bring the topic back to the retrospective analysis on the pupy 1.0.5 release in this thread?
Back to top
View user's profile Send private message Visit poster's website 
JohnMurga
Site Admin


Joined: 04 May 2005
Posts: 586
Location: Far to the east

PostPosted: Thu 29 Sep 2005, 22:20    Post subject:  

rarsa wrote:
Could we open another thread for this discussion and try to bring the topic back to the retrospective analysis on the pupy 1.0.5 release in this thread?

Feel free ... At the end of the day if no one else see's what I am trying to say I'll just have to make sure it is fixed in the 50Mb version I'm hoping to re-master (right when I upgrade the board and do all the other stuff) Confused .

However, as this is the only thing that dissapointed me about 1.0.5 it really is part of the retrospective analysis on the pupy 1.0.5 release (as much as everyone might disagree with me on the specific point).

I'll go back to my cave and shut up now ...

Cheers
JohnM
Back to top
View user's profile Send private message Visit poster's website 
Display posts from previous:   Sort by:   
Page 1 of 3 [31 Posts]   Goto page: 1, 2, 3 Next
Post new topic   Reply to topic View previous topic :: View next topic
 Forum index » Advanced Topics » Cutting edge
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.1105s ][ Queries: 11 (0.0175s) ][ GZIP on ]