Woof at Github

A home for all kinds of Puppy related projects
Post Reply
Message
Author
User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Woof at Github

#1 Post by mavrothal »

Dear Puppians,
the last few years we have seen a lot of great Puppy work going undocumented end eventually lost or (unnecessarily) duplicated.
Countless fixes can (?can they?) be found in the forum but only few of them landed in woof, while entire projects never made it. Like jemimah's, elroy's, geoffrey's and rg66's work on Saluki and XFCE-derivatives or
Jejy69's and peebee's work on Lxpup and LXDE derivatives and many-many other post-woof projects.

In the mean time, Barry Kauler announced that as far as he is concerned woof is in maintenance mode, making it unlikely that any of these changes will land in the woof tree.

So we (me, 01micko and pemasu - we welcome new members in the team) just opened a project on Github to host woof as derived from Barry's repo on November 11, 2013.

This is not an attempt to take over puppy :shock: or corral the wild cats that are roaming in it :lol: but rather provide a place for people who want to develop woof-based pupplets, to
a) have a starting point and
b) feed their changes back to the community
so the next person can see, understand, use and improve upon.


So if you want to contribute in woof-CE (community edition) familiarize yourself a bit with git, open an account at Github, get the basics down (see here for a practical howto) and start collaborating your changes.

Just let me stress out that probably the most important aspect of Git in a collaborative project is quality of the commit messages.
Makes everybody's life much easier understanding what and why was changed and helps finding it 6 months and 500 commits later…

Happy woofing.

====================================

Pet developers please look here if you would like to help and get your pets updated

====================================

Latest woof-CE builds

Jun 7:Puppy Tahr 5.8.0.8 from the latest woof-CE testing branch

Apr 25:Precise and Wheezywith 3.13.9 kernel

Mar 9: The first "official" woof-CE build Slacko-5.7, is out

Feb 6:Slacko64-5.8.8 The 64bit woof-build puppy

Dec 9: Dpup Wheezy 3.5.2.11

.
Last edited by mavrothal on Sat 07 Jun 2014, 03:51, edited 28 times in total.
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
01micko
Posts: 8741
Joined: Sat 11 Oct 2008, 13:39
Location: qld
Contact:

#2 Post by 01micko »

The latest Slacko testing version is available from this post

Built with woof-CE :wink:

-----------------------------------------------


This is a great way for puppy to go forward.

I created a mailing list http://woof-ce.26403.n7.nabble.com/

8)
Last edited by 01micko on Sat 16 Nov 2013, 03:55, edited 2 times in total.
Puppy Linux Blog - contact me for access

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#3 Post by darkcity »

I've updated the wiki woof page-
http://puppylinux.org/wikka/Woof#hn_Com ... on_CE_Woof

There are some link on the page that people may find useful if they are studying Woof.

User avatar
zigbert
Posts: 6621
Joined: Wed 29 Mar 2006, 18:13
Location: Valåmoen, Norway
Contact:

#4 Post by zigbert »

Thank you

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#5 Post by Iguleder »

I'm in! :)
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#6 Post by Karl Godt »

Great Project !!

Have already two commits in mind :

1) rc.shutdown :

Rearrange the whole code until the first function and clear and 2>/dev/null only if PUPMODE 5 and no shutdownconfig was run to help debug problems

2) timezone-set :

Delete the whole GMT +- formatting that is totally wrong
and add a fallback to use --directisa if hwclock fails like

Code: Select all

hwclock --hctosys --localtime
[ "$?" = 0 ] || hwclock --hctosys --localtime --directisa
: Very Happy :

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#7 Post by mavrothal »

OK! :lol:
Let's see the pull requests :wink:
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

git current.zip

#8 Post by Karl Godt »

[puppypc]# /usr/git/bin/git clone https://github.com/puppylinux-woof-CE/woof-CE
Klone nach 'woof-CE'...

fatal: unable to access 'https://github.com/puppylinux-woof-CE/woof-CE/': error setting certificate verify locations:
CAfile: /usr/share/curl/curl-ca-bundle.crt
CApath: none
WHAT's THAT ?

Downloaded https://github.com/git/git/archive/master.zip
and made

Code: Select all

make prefix=/usr/git 
alias xmlto='xmlto --skip-validation'
make -i prefix=/usr/git install install-doc install-html install-info
/usr/git
to work around my current
[puppypc]# git --version
git version 1.6.4.1

Thought I had not https enabled that time ..

Bins are 500MB, many of the same size ..

But we get there ..

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

Re: git current.zip

#9 Post by mavrothal »

Karl Godt wrote:
[puppypc]# /usr/git/bin/git clone https://github.com/puppylinux-woof-CE/woof-CE
Klone nach 'woof-CE'...

fatal: unable to access 'https://github.com/puppylinux-woof-CE/woof-CE/': error setting certificate verify locations:
CAfile: /usr/share/curl/curl-ca-bundle.crt
CApath: none
WHAT's THAT ?
Which Puppy/Distro are you using?
Slacko and Precise that tested work fine.
Git is usually in the devx or in ppm.
Is git in your machine configured like:

Code: Select all

git config --global core.editor prefered_editor
git config --global user.name "your_user_name"
git config --global user.email "user@domain.dom"
git config --global credential.helper cache
git config --global credential.helper 'cache --timeout=3600'
?
Pay attention to the last 2 commands
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
ASRI éducation
Posts: 3197
Joined: Sat 09 May 2009, 12:10
Location: France
Contact:

#10 Post by ASRI éducation »

Yes. Great Project !
Projet ASRI éducation => [url=http://asri-education.org/]Association[/url] | [url=http://forum.asri-education.org/]Forum[/url] | [url=http://dl01.asri-education.org/]Dépôt[/url] | [url=http://kids.asri-education.org/]Espace kids[/url]

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#11 Post by Karl Godt »

mavrothal, Macpup based upon Puppy-4.3

Hmmm, after recompiling
libssh2-1.4.3
and
curl-7.33.0
I get

[puppypc]# export LD_LIBRARY_PATH=/usr/git/lib:$LD_LIBRARY_PATH
[21:26 0 /bin/bash 9165 28 WOOF.GIT ]
[puppypc]# /usr/git/bin/git clone https://github.com/puppylinux-woof-CE/woof-CE
Klone nach 'woof-CE'...
fatal: unable to access 'https://github.com/puppylinux-woof-CE/woof-CE/': SSL certificate problem: unable to get local issuer certificate

...

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#12 Post by mavrothal »

Karl Godt wrote: fatal: unable to access 'https://github.com/puppylinux-woof-CE/woof-CE/': SSL certificate problem: unable to get local issuer certificate

...
see here
== [url=http://www.catb.org/esr/faqs/smart-questions.html]Here is how to solve your[/url] [url=https://www.chiark.greenend.org.uk/~sgtatham/bugs.html]Linux problems fast[/url] ==

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#13 Post by Karl Godt »

Solved for now : http://stackoverflow.com/questions/3777 ... d-firewall
[puppypc]# ssh github.com
The authenticity of host '[ssh.github.com]:443 ([192.30.252.148]:443)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[ssh.github.com]:443,[192.30.252.148]:443' (RSA) to the list of known hosts.
Permission denied (publickey).

Code: Select all

[puppypc]# git config --global http.sslVerify false
[22:07 0 /bin/bash 9165 58 WOOF.GIT ] 
[puppypc]# /usr/git/bin/git clone https://github.com/puppylinux-woof-CE/woof-CE
Klone nach 'woof-CE'...
remote: Counting objects: 4745, done.
remote: Compressing objects: 100% (3212/3212), done.
remote: Total 4745 (delta 469), reused 4745 (delta 469)
Empfange Objekte: 100% (4745/4745), 18.33 MiB | 307.00 KiB/s, done.
Löse Unterschiede auf: 100% (469/469), done.
Prüfe Konnektivität... Fertig.
[22:09 0 /bin/bash 9165 59 WOOF.GIT ]
mavrothal, that was at the same time !

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#14 Post by Karl Godt »

But what is this :
Attachments
cc-github.gif
(10.7 KiB) Downloaded 6539 times
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#15 Post by Karl Godt »

Fork Created ..

Not sure how to proceed ...
Attachments
woof-fork.gif
(13.23 KiB) Downloaded 6474 times
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#16 Post by Karl Godt »

Don't know what I am doing :

/root/KarlGodtWOOF.GIT/woof-CE/woof-code/rootfs-skeleton/etc/rc.d/rc.shutdown

Code: Select all

#130217 01micko: relocate umount of network shares.

PATH=/bin:/sbin:/usr/bin:/usr/sbin
#read PUPPYVERSION </etc/puppyversion

#110923
. /usr/bin/gettext.sh # enables use of eval_gettext (several named variables) and ngettext (plurals)
export TEXTDOMAIN=rc.shutdown
export OUTPUT_CHARSET=UTF-8

. /etc/rc.d/functions4puppy #v3.01
#variables created at bootup by init script in initrd...
. /etc/rc.d/PUPSTATE #v2.02
. /etc/DISTRO_SPECS #v412
ORIGPUPMODE=$PUPMODE #v2.22

if [ "$PUPMODE" =  5 ] ; then
clear
exec 1> /dev/null 2>&1
fi

which rfkill &>/dev/null && rfkill unblock all #110919 jemimah has this in fluppy. if don't do this, may be locked at next boot.

#w482 use xorriso if it is installed (see also functions4puppy)...
CDRECORD='cdrecord'
MKISOFS='mkisofs'
if [ "`which xorriso`" != "" ];then
 CDRECORD='xorrecord'
 MKISOFS='xorrisofs' #growisofs reads this variable.
fi
export CDRECORD MKISOFS

#echo "`eval_gettext \"\\\${DISTRO_NAME} is now shutting down...\"`" > /dev/console
#echo "${DISTRO_NAME} is now shutting down..." > /dev/console
pidof poweroff 2>/dev/null && {
echo "${DISTRO_NAME} ${DISTRO_VERSION} $(gettext 'is now shutting down...')" > /dev/console #120130
} || {
pidof reboot 2>/dev/null && {
echo "${DISTRO_NAME} ${DISTRO_VERSION} $(gettext 'is now rebooting...')" > /dev/console
} || {
#echo $(gettext "Executing /etc/rc.d/rc.shutdown...")
echo "Executing /etc/rc.d/rc.shutdown..."
}; }

#100315 improper shutdown check. see /etc/rc.d/rc.sysinit, /init in initramfs, and /sbin/init...
if [ -f /fsckme.flg ];then
 if [ -f /tmp/dmesg_e2fsck_warnings1 ];then #120717 rc.sysinit creates this file for full installation.
  if [ "`grep -G "(${PDEV1})" /tmp/dmesg_e2fsck_warnings1`" = "" ];then
   rm -f /fsckme.flg
  else
   echo -n 'MAXIMAL' >> /fsckme.flg #read by /sbin/initNEW
  fi
 else
  rm -f /fsckme.flg
 fi
fi
[ -f /initrd${PUP_HOME}/fsckme.flg ] && rm -f /initrd${PUP_HOME}/fsckme.flg

#puppy.sfs is in a subdirectory, default to saving in it...
PUPSFSFILE=`echo "$PUPSFS" | cut -f 3 -d ','`
PSUBDIR=`dirname "$PUPSFSFILE"`
[ "$PSUBDIR" = "/" ] && PSUBDIR=""
[ $PUPMODE -eq 5 -a "$DEV1FS" = "iso9660" ] && PSUBDIR="" #100920 booting off cd, always default have savefile at /.
[ $PUPMODE -eq 5 -a "$DEV1FS" = "udf" ] && PSUBDIR=""     #130128 ditto, for udf f.s.
[ "$DEV1FS" = "msdos" ] && DEV1FS="vfat" #110919

#100920 reverse...
##100915 if booting from cd, .sfs's now optionally copied into a subdir, also want save-file in it...
## (warning: puppy.sfs on cd must be at /)
#if [ "$PSUBDIR" = "" ];then
# if [ "$DEV1FS" = "iso9660" ];then #test if booted off cd.
#   PSUBDIR="`echo -n "${DISTRO_IDSTRING}" | cut -c 1-8`" #limit dir name to 8 chars.
# fi
#fi

#for a full hd install, only setting PUPMODE (=2). no /initrd, no initrd.gz.

killzombies() {
And much more to figure out ..
«Give me GUI or Death» -- I give you [[Xx]term[inal]] [[Cc]on[s][ole]] .
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P

User avatar
Karl Godt
Posts: 4199
Joined: Sun 20 Jun 2010, 13:52
Location: Kiel,Germany

#17 Post by Karl Godt »

Looks quite ok now with

/usr/git/bin/git commit -am "01 adjustments to rc.shutdown"

git push origin

https://github.com/KarlGodt/woof-CE/com ... e31aafff76

not finished, but am really happy !!
:D

User avatar
mavrothal
Posts: 3096
Joined: Mon 24 Aug 2009, 18:23

#18 Post by mavrothal »

Congratulations Karl! :D
You managed to find and solve all strange issues with git and made the first fork. 8)

Let me take this opportunity though to reiterate some things that I just mentioned at the bottom of the first post.

I'm sure many of us have seen BK's commits in his fossil repo, where many things are changing in one commit and some are not even mentioned in the commit message.
But this was perfectly OK because this was/is his own repo and a message was more of a landmark (besides most of his scripts have their "internal" versioning with comments on the top of the file).

This practice can not work in a collaborative project and may even generate some unnecessary friction if/when pull requests will be asked to be modified.
So with the best intentions, let me use your commit as an example of things that we should not be doing (that I learned the hard way :cry: ).

The commit message "01 adjustments to rc.shutdown" tells nothing about what was done and why.
In this case there is not even a second line to explain a bit more about it.
Any change in a file could go under "adjustments", "changes" or "fixes", but this is obvious since you change the file.
A more precise and verbal commit message makes it also easier to track it down from the git log. If for example you X is not turning off you can grep for shutdown and X and see if you can find a relevant commit

The second problem is the plural.
We should not do more than one kind of change in one commit.
If you change more things ie "Do not clear console during shutdown" and "bring calls to external variables relier" and "kill X only if it is running during shutdown" etc. you should make more commits.
This way if 1 out of the 5 things that are changed generates a problem will be easy to isolate and resolve.
It is not really the size of the commit but the functions that is affecting that define the number of commits needed.
One commit can change 200 lines and the other can be a single letter.
If you put them together makes it really hard to isolate issues related to the single letter change.
Git also has the "blame" option that shows which commit is the last one for each line of code.
If a problem in a line is identified and this belongs to a "multi purpose" commit makes it harder to determine what a consecutive change will affect.

Also a reasoning behind a change is always helpful.
For example you want to make shutdown more verbal so potential problems can be spotted and solved, which is fine, but what about making this thing optional, with a "debug" argument for example.
Puppy has a "quiet" boot why "verbal" shutdown?
Which brings us back to the "multi commit".
If it is broken down to the different things that is doing and there is an objection about the default verbal shutdown, the other commits could be pulled "as is" and the specific one be revised.
Actually the FOSS practice is, when a major change involves changing many things/functions to be presented as a series of patches instead a big one, ie "Allow alternative WM; remove rox hard codding", "Allow alternative WM; call WM from /etc/profile", "Allow alternative WM;..." etc so it is clear that are going together but is also easy to follow and improve as/if needed.

I'm really happy about your input and certainly this post is not intended as criticism of any kind.
I just felt that I should clarify few things so our life can be easier down the road and move more efficiently. :wink:
It may look like unnecessary "formalism" but when many people are involved in a project, is vital.

PS: and after all the preaching (:P ), you may want to revert your commit and reimplemented in smaller and more concise chunks, so it can be easier to pull when/if you ask.
Last edited by mavrothal on Thu 14 Nov 2013, 08:44, edited 2 times in total.

User avatar
Deacon
Posts: 185
Joined: Tue 19 Mar 2013, 15:14
Location: USA

#19 Post by Deacon »

IT LIVES!

You're working on Woof, so Puppy LIVES!

I haven't the foggiest idea what you people are doing but there's a new Woof trunk to work with! I think that is what it's called! Hurrah!

wanderer
Posts: 1098
Joined: Sat 20 Oct 2007, 23:17

#20 Post by wanderer »

thanks mavrothal

this is the way to go

wanderer

Post Reply