Patches ======= If you have made changes to the source and would like to send these changes to us, you can use git format-patch to create patches: 1) Run git log to get the patch hash of the latest patch you do _not_ want to send: $ git log --pretty=oneline ff5700b293015ddfb269838f1f74abb586c199c5 configsource: more LOG() calls cdc6f87e51d4443c774f83a4be0168d06a7927c1 postconf: use fw_system_interactive() 1634dda91f6ecdd0ea22eff6fa3a5874b0a81f59 partdisk: use fw_system_interactive() If you want to send the first, two, then run: $ git format-patch 1634dda91f6ecdd0ea22eff6fa3a5874b0a81f59.. And just subscribe to the frugalware-devel@frugalware.org mailing list and send the created patches to us. Testing changes =============== When you make a change, PLEASE test it by building the initrd + kernel then creating an ISO with mkiso, or using a network boot server. This is a core part of Frugalware we're talking about here, if it's broken, then it can render Frugalware uninstallable. A few common commandlines: qemu -hda frugalware-0.8-i686-usb.img -hdb ~/documents/qemu/hda.img to test the usb image. qemu -hda ~/documents/qemu/hda.img -fda frugalware-0.8-i686-tftp.img -boot a -tftp ~/git/current/boot/ to test the tftp image. Quick build =========== Quick build means that once you built everything, and changed only the setup code itself and you would like to test it. Building the initrd from scratch is rather slow. We have three targets to prevent this problem: # make initrd - this builds setup and updates the uncompressed initrd $ make qemu - boots the brand new initrd or $ make uml - boots the brand new initrd External commands ================= Don't use system(). There are two wrapper functions: fw_system() is for non-interactive commands, their output is logged. fw_system_interactive() is for interactive commands, their path+args and return code are logged, but not their output. Ideally git-grep '[^_]system(' should return almost nothing.