Woof at Github
Woof at Github
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 or corral the wild cats that are roaming in it 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
.
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 or corral the wild cats that are roaming in it 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] ==
The latest Slacko testing version is available from this post
Built with woof-CE
-----------------------------------------------
This is a great way for puppy to go forward.
I created a mailing list http://woof-ce.26403.n7.nabble.com/
Built with woof-CE
-----------------------------------------------
This is a great way for puppy to go forward.
I created a mailing list http://woof-ce.26403.n7.nabble.com/
Last edited by 01micko on Sat 16 Nov 2013, 03:55, edited 2 times in total.
Puppy Linux Blog - contact me for access
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.
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.
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
: Very Happy :
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
git current.zip
WHAT's THAT ?[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
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
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 ..
Re: git current.zip
Which Puppy/Distro are you using?Karl Godt wrote:WHAT's THAT ?[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
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] ==
- ASRI éducation
- Posts: 3197
- Joined: Sat 09 May 2009, 12:10
- Location: France
- Contact:
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
...
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
...
see hereKarl Godt wrote: fatal: unable to access 'https://github.com/puppylinux-woof-CE/woof-CE/': SSL certificate problem: unable to get local issuer certificate
...
== [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] ==
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).
mavrothal, that was at the same time !
[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 ]
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
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P
Fork Created ..
Not sure how to proceed ...
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
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P
Don't know what I am doing :
/root/KarlGodtWOOF.GIT/woof-CE/woof-code/rootfs-skeleton/etc/rc.d/rc.shutdown
And much more to figure out ..
/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() {
«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
Macpup user since 2010 on full installations.
People who want problems with Puppy boot frugal :P
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 !!
/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 !!
Congratulations Karl!
You managed to find and solve all strange issues with git and made the first fork.
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 ).
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.
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.