From: Efraim Flashner <efraim@flashner.co.il>
To: guix-devel@gnu.org
Subject: [GSoC] Bourne-shell compiler front-end for Guile
Date: Mon, 21 Mar 2016 14:22:05 +0200 [thread overview]
Message-ID: <20160321142205.5949d36c@debian-netbook> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 396 bytes --]
I'm a student still this year and Guix is the only project I'm considering.
If there's anything I can do/change to make it more clear or thorough I'd
love to have some feedback.
--
Efraim Flashner <efraim@flashner.co.il> אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted
[-- Attachment #1.2: GSoC_2016_Efraim.txt --]
[-- Type: text/plain, Size: 2905 bytes --]
Write a Bourne-shell compiler front-end for Guile
Efraim Flashner
efraim@flashner.co.il
Who am I?
My name is Efraim, Iâm currently living in Jerusalem, Israel. Iâm a 3rd year Computer Science student at the Jerusalem College of Technology (Israel has the college/university split). One of my classes was on functional programming, where we covered prolog and lisp. I found the idea of functional programming interesting, and at the time even tried writing small programs using them.
I switched full-time to Linux in 2010, trying out Ubuntu and then switching to Debian, and currently Iâm waiting on a blob-free wireless mini-pcie/usb before switching my laptop over to GuixSD. I havenât had a lot of opportunity in Israel to meet up with Free Software or Linux people, and Iâve worked hard to make up for that by reading lots of online tutorials and experimenting on my machines. I first discovered Guix around June of last year and got involved shortly after.
The Plan:
As it currently stands, looking in gnu/packages/bootstrap/$ARCH/, in addition to guile thereâs bash, mkdir, tar and xz. From the manual we have the bootstrapping methodology (https://www.gnu.org/software/guix/manual/html_node/Bootstrapping.html) which also uses gcc, binutils, coreutils, libc, etc. We also have guix/build/bournish.scm to act as a rescue-shell of sorts and in use in the initrd.
By extending/building upon bournish we can lessen the number of bootstrap binaries that we need to bootstrap a working system AND we get a more powerful shell to use when something⢠happens during boot and weâre dropped down to a rescue shell.
Currently the idea on the GSoC idea wiki is to extend bournish so that it can cover everything needed by a configure script. This would of course allow us to decrease the number of binaries we need to get started. Looking at the list of bootstrap binaries, Iâm most interested in including enough functionality to remove our dependance on bash which to me seems like a good security idea, as surely we wouldnât want to have a vulnerability found for our bootstrap version of bash.
The Plan, Part 2:
From now until the start of GSoC Iâd work on bettering my knowledge of guile and more closely analyzing the bootstrap process. Iâve had a look at Wikipediaâs entry on Unix shells and Iâll be grabbing the source of a few of them, including ash, scsh and busybox, for inspiration.
For the coding I plan on implementing the different features that weâd need for replacing a number of the bootstrap binaries. As a stretch-goal Iâd like to see if it is possible to switch to using it as my user shell in place of bash. Part of this would of course come with deciding on how to use it to replace bootstrap binaries; whether to have additional binary outputs for the different binaries being replaced or to have one monolithic binary.
[-- Attachment #1.3: GSoC_proposal_Efraim_Flashner.pdf --]
[-- Type: application/pdf, Size: 34564 bytes --]
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next reply other threads:[~2016-03-21 12:22 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-21 12:22 Efraim Flashner [this message]
2016-03-21 22:27 ` [GSoC] Bourne-shell compiler front-end for Guile Ludovic Courtès
2016-03-22 19:18 ` Efraim Flashner
2016-03-23 14:05 ` Ludovic Courtès
2016-03-23 20:33 ` Efraim Flashner
2016-03-24 13:26 ` Ludovic Courtès
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160321142205.5949d36c@debian-netbook \
--to=efraim@flashner.co.il \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).