From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mark H Weaver Subject: bug#22588: root: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY Date: Mon, 08 Feb 2016 12:52:49 -0500 Message-ID: <87io1zjdhq.fsf@netris.org> References: <874mdk2p40.fsf@netris.org> <87r3gnilmk.fsf@gnu.org> <87twljjorf.fsf@netris.org> <87pow7cfn0.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:39026) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSqSo-0003Ew-3v for bug-guix@gnu.org; Mon, 08 Feb 2016 13:23:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aSqSj-0003YR-Tx for bug-guix@gnu.org; Mon, 08 Feb 2016 13:23:06 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:51252) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aSqSj-0003YE-Ps for bug-guix@gnu.org; Mon, 08 Feb 2016 13:23:01 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aSqSj-0000xP-NY for bug-guix@gnu.org; Mon, 08 Feb 2016 13:23:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87pow7cfn0.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Mon, 08 Feb 2016 17:48:19 +0100") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 22588@debbugs.gnu.org ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> ludo@gnu.org (Ludovic Court=C3=A8s) writes: > > [...] > >>> Currently there=E2=80=99s no Bash in the initrd. Should we add one? O= ur >>> =E2=80=98bash-static=E2=80=99 package takes 1.4 MiB (I don=E2=80=99t th= ink we can make it >>> smaller.) >> >> I'm not sure it would help much without also adding 'coreutils'. > > Good point. > >>> Another idea that comes to mind: what about providing a =E2=80=9Cshell= =E2=80=9D language >>> in Guile? It would automatically tokenize what the user types in and >>> convert it to (system* =E2=80=A6), plus it would have a few built-in co= mmands >>> like =E2=80=98cd=E2=80=99 and =E2=80=98ls=E2=80=99. >> >> I like the idea of having something like this in Guile, but I'm not sure >> we should rush to implement a half-baked solution. > > OTOH, hacking it is very tempting, like: > > scheme@(guile-user)> ,use (guix build bournish) > scheme@(guile-user)> ,bournish > Happy hacking with Bournish! To switch back, type `,L scheme'. > bournish@(guile-user)> ls > . gnu-dist.go r-build-system.go=20= =20=20=20=20=20=20=20=20 > .. gnu-dist.scm r-build-system.scm=20= =20=20=20=20=20=20=20 > activation.scm~ gnu-dist.scm~ relocate.scm~=20=20= =20=20=20=20=20=20=20=20=20=20=20 > bournish.scm gnu.scm~ rpath.go=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 > bournish.scm~ graft.go rpath.scm=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > cmake-build-system.go graft.scm rpath.scm~=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > cmake-build-system.scm graft.scm~ ruby-build-system.go= =20=20=20=20=20=20 > cvs.go graft.scm.115 ruby-build-system.scm= =20=20=20=20=20 > cvs.scm graft.scm.bak ruby-build-system.scm= .orig > download.go gremlin.go ruby-build-system.scm= .rej=20 > download.scm gremlin.scm store-copy.go=20=20= =20=20=20=20=20=20=20=20=20=20=20 > download.scm~ gremlin.scm~ store-copy.scm=20=20= =20=20=20=20=20=20=20=20=20=20 > download.scm.bak haskell-build-system.go store-copy.scm~=20=20= =20=20=20=20=20=20=20=20=20 > emacs-build-system.go haskell-build-system.scm svn.go=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > emacs-build-system.scm http.scm~ svn.scm=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > emacs-utils.go install.scm~ syscalls.go=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20 > emacs-utils.scm linux-initrd.scm~ syscalls.scm=20=20=20= =20=20=20=20=20=20=20=20=20=20=20 > ftp.scm~ perl-build-system.go syscalls.scm~=20=20= =20=20=20=20=20=20=20=20=20=20=20 > git.go perl-build-system.scm union.go=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 > git.scm perl-build-system.scm~ union.scm=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > git.scm~ profile.go union.scm~=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > glib-or-gtk-build-system.gprofile.scm~ url.scm~=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 > glib-or-gtk-build-system.sprofiles.go utils.go=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20 > gnome-build-system.scm profiles.scm utils.scm=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > gnome-build-system.scm~ profiles.scm~ utils.scm~=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20 > gnu-build-system.go pull.go vm.scm~=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > gnu-build-system.scm pull.scm waf-build-system.go= =20=20=20=20=20=20=20 > gnu-build-system.scm~ pull.scm~ waf-build-system.scm= =20=20=20=20=20=20 > gnu-build-system.scm.bak python-build-system.go=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > gnu-cross-build.scm~ python-build-system.scm=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20 > bournish@(guile-user)> cd / > bournish@(guile-user)> pwd > $2 =3D "/" > bournish@(guile-user)> echo $PATH $LANGUAGE > $3 =3D ("/home/ludo/soft/bin:/home/ludo/.opam/system/bin:/home/ludo/.guix= -profile/bin:/home/ludo/.guix-profile/sbin:/run/setuid-programs:/run/curren= t-system/profile/bin:/run/current-system/profile/sbin" "eo") > bournish@(guile-user)> touch --version > touch (GNU coreutils) 8.24 > Copyright =C2=A9 2015 Free Software Foundation, Inc. > =C4=88i tiu estas libera programaro: vi rajtas =C4=9Din =C5=9Dan=C4=9Di k= aj redistribui. > La =C4=9Dusta permesilo estas GPLv3+: GNU GPL versio 3 a=C5=AD sekva; > por la kompleta (angla) teksto vidu . > =C4=88i tiu programaro ne garantiatas, ene de la limoj de la le=C4=9Do. > > Verkita de Paul Rubin, Arnold Robbins, Jim Kingdon, > David MacKenzie kaj Randy Smith. > $4 =3D 0 > bournish@(guile-user)> ,L scheme > Happy hacking with Scheme! To switch back, type `,L bournish'. > > :-) > > The point is, if we can allow users to avoid typing in parentheses and > long procedure names and quoted argument lists when all they want is to > run fsck, we should do that. > >> When we have something decent along the lines of Scsh, then >> definitely! > > Scsh makes it super easy to deal with Unix processes, redirections, and > all that (it would be awesome to use it on the build side), but AFAIK it > doesn=E2=80=99t try to provide a Bourne-like interface, which is what we = need > here. > > So, WDYT? :-) Okay, I must admit that's a pretty great little hack, and a nice demo of how easy it is to hack something together like this in Guile. Let's do it :) Mark