[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Debian GNU/Hurd status update Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Let's talk about GNU/Hurd Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,For us it's a bit all about freedom 0,\Nthat is, the ability to use software, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,basically, for any purpose. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And for us, the important thing is that\Nyou shouldn't have to ask Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the system administrator for things. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You should be allowed to do\Nwhatever you want. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So for instance, why is fdisk, mke2fs,\Netc. hidden in /sbin? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I want to be able to build disk images,\Nplay with them, mount them, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So just be able to work with the kind of\Ndisk and network access I have, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and do whatever I want with this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It's about freedom to innovate as well, if\NI want to use an experimental filesystem, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,just play with, without being afraid of\Ncrashing the machine. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You should be able to just\Nrun the file system Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and let the system administrator be happy\Nwith this because it's safe to do this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And also, it's a way to provide freedom\Nfrom misbehaving programs Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,like a driver which doesn't work so well,\Nsome things like this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Just to give an idea, in GNU/Hurd, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you have the kernel which does basically\Nalmost nothing, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,just managing tasks, the memory and\Ninter-process communications, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then you have a lot of daemons\Ndoing the actual stuff, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so the pfinet is the TCP/IP stack,\Nand ext2fs does the filesystem thing. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then, you have the user,\Njust running programs. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And these tools just, actually just talk\Nto the daemons through the microkernel, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the microkernel doesn't do much, it just\Npasses requests along. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,For instance, if a server crashes,\Nthen that's fine. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,For instance a driver crashes,\Nor just hangs, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you just can kill and then pfinet\Nwill re-open a new instance of the driver Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and it will just work, thanks to TCP just\Ncontinuing to ping the other computer. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So it's just an error, it's not something\Nof the death. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,At some point of my desktop, I could\Nswitch off the light, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then that would crash my laptop. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Because switching off the light would\Nreboot my hard disk, USB hard disk, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then the kernel of the laptop\Nwouldn't like this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This is not something which is\Nsupposed to happen. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So, with a server approach, this is\Ncompletely fixed. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It's also easier to debug, it's really\Nnice to be able to gdb a TCP/IP stack, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,when there is something happening in there,\Njust run gdb, you can gprof it, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can also dare more crazy things. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,For instance, the Linux console doesn't\Nsupport much, because we don't want to put Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,too much complex code in there. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,On GNU/Hurd the console actually supports\Nthings like Chinese, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,double-width support, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,which is not supported\Nby the Linux console, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and that's right because you don't want\Nto put too crazy stuff. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Here since it's just a userland program,\Nthen you're fine, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and so we do have Chinese support in,\Nactually, textmode in the Debian Installer. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Just to show an example, so here I have\Nftpfs which uses the TCP/IP stack Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to actually mount a remote directory, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then I can use isofs to mount an ISO\Nimage which is inside that FTP server. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then I can just let cp copy a file\Nfrom the ISO image which is on the server. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So this translates that way, so I've done\Nthis command a long time ago, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,just to say that "ftp:" in my home\Ndirectory is whatever FTP, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then I can take a "~/ftp:/etc." URL\Nand give that to isofs Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then mount that on my "mnt", Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then I can just browse inside the ISO\Nimage, without having to download Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the whole ISO image, without having to ask\Nroot for this kind of things, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And I can also permanently store this\Nin ext2fs. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So just to give an example, I have a\Ntranslator on my signature files, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,which just calls fortune, so when I\N"cat .signature" [demo], Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I get one signature or another, because\Neach time I open the file, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it's a new instance of fortune which is\Nstarted. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You can see that, indeed, this is stored\Nin my signature file. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So this is fun! Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Another example: as a user, I can start\Nmy own TCP/IP stack, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,tell it to use a virtual network\Ninterface, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then put the TCP/IP service on some\Nnode in my home, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then I can run openvpn to actually\Npush and pull packets Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,from that virtual interface, and build a\NVPN with somewhere else. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then I can remap the system, what is\Nsupposed to be the system TCP/IP stack Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,into my own socket, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then I get a new shell for which the\Nsystem TCP/IP stack is actually Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,my own TCP/IP stack. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So I can decide which program actually\Nuses this TCP/IP stack, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and just do my own VPN without having to\Nask anything to the administrator. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,But also, for instance it happens quite\Noften that you have a binary, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,maybe not sh, but like, python or perl\Nor whatever, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you have a program which wants /bin/sh\Nto be actually bash or whatever, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so I want to change this, so I can remap\Nthis, so for instance [demo] Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,if I look at sh, so as usual,\Noh it's green, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but you can see here that it's dash, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and if I remap /bin/sh into /bin/bash, for\Ninstance, I get a new shell where actually, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,sh is not the same, so it's remapped into\N/bin/bash, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and so it's actually bash which actually\Nshows up here. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So I do really choose how I work, what my\Nenvironment looks like. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And for instance, I can remap the whole\N/bin directory into my own directory, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,where I expose /bin, but also\Nother things, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so that programs which have /bin/something\Nhardcoded into them, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I can use them without having to ask the\Nadministrator to install stuff inside /bin. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So it's kind of interesting, a bit like\Nstow, Nix, Guix, but done in a nice way. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,How does it work? Well it's actually\Nrelatively simple in the principle, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it's simply that libc doesn't talk with\Nthe kernel or whatever, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it always uses RPCs, so to ask nicely\Nabout opening files etc., Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and so it's really natural in GNU/Hurd\Nthat you can redirect things. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So for instance, the remap translator here\Nis like, maybe, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,200-300 lines\N[Note of transcriptor: 150 actually], Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because it's just a matter of Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"you open a file, OK, I look at the file\Npath, is it something I want to translate? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Yes, I translate that, and then I open\Nthe real file, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and give the new handle to the program", Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and that's all, so it's extremely simple. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So {\i1}everything{\i0} in GNU/Hurd is an RPC and\Nso it is interposable, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then translators get exposed in the\Nfilesystem, we have seen the TCP/IP stack, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it's just a path inside the filesystem. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then the user can decide whatever it\Nwants to do to interpose whatever. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So, for instance fakeroot, in Linux,\Nis quite big, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because it has to interpose libc symbols, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and every time libc invents something new,\Nthen it breaks in fakeroot Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because fakeroot has to know about this\Nnew symbol, etc. and interpose them, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,either through ptrace or ld or whatever. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,In GNU/Hurd, fakeroot is, like,\Na thousand lines long, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because it just implements a few basic\Nthings, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then everything just works, which just\Ninterpose basic authentication hooks, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and libc uses them all the time. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So it's fully virtualizable, and with\Na really fine grain interface, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because you can precisely decide\Nwhich RPCs are interposed, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or which files in the filesystem\Nare interposed. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then you can just use your home\Ndirectory, the TCP/IP stack, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and pile stuff over it, the way you want. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Just to give a crazy example, we have\Na lot of stuff, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I actually have ISO image inside a\Npartitioned disk image on FTP over a VPN. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And this is not {\i1}so{\i0} crazy. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Maybe the ISO image inside the partitioned\Ndisk, the ISO image is a bit too much, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but one file inside the partitioned disk\Nimage on FTP over VPN is not so crazy, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because maybe you are on a hostile\Nnetwork, so you have to use a VPN, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then you want to access a file\Nyou know is inside a disk image, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I don't know, a known disk image which is\Nprovided on a public FTP server, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and you don't want to download the whole\Nimage just to get, I don't know, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the README file or something like this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So it's not so crazy, and it just\Nworks nicely. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So a bit more Debian stuff. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Porting packages to Hurd is quite easy\Nin principle, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because it's just a POSIX system, there is\Na lot more than just POSIX, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but it provides a POSIX interface. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So portable programs should be\Nreally fine. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Just for fun, some dumb issues, so for\Ninstance some programs think that Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,if it's Linux or BSD, then they can\Ninclude windows.h... Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Why not... Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,If the system has mach.h, that must be\NMacOS, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because MacOS is the only system in the\Nworld that uses Mach, I don't know why... Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Some people try to grep cpuinfo, which\Ndoesn't exist on GNU/Hurd yet, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and so they basically just run "make -j"\Nwhich just explodes the system, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I mean even on a Linux system it's just\Nthe same, unless it's a small program, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but with a lot of C++ files it's horrible. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Some people include limits.h from linux/\Ninstead of just the standard one, well... Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,A problematic thing is people who\Nhardcoded errno values; Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the values of errno are not standardized,\Nso you shouldn't hardcode them, like, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,in testsuite results or things like this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And quite often in configure it's\Nhardcoded that Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,only Linux knows -lpthread or -ldl, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so quite often programs are not\Ngeneric enough, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and that's just easy to fix, but we have\Nmore and more of these. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So we have a porter page developing\Na bit more about these. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I wanted to talk a bit more about\NPATH_MAX, it is not defined on GNU/Hurd, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,for very good reasons, and it is allowed\Nby POSIX not to define it, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,just to say that there is no limitation on\Nthe PATH_MAX value, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we don't have a limit on the size of\Nthe paths. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And indeed it has a fragile semantic, it\Nhas never meant Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"a reasonable size for a array of\Ncharacters to store a path". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,On Linux it's 4000, that's a whole page, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,that's a whole TLB entry for\Njust one file name. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It's extremely costly, most people don't\Nhave so long paths, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and so it's really a pity to use so much\Nmemory, because it's always a whole page Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because it will always be aligned\Non 4k etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So, well, that's a waste for one. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And paths can actually be longer,\Nthere is no strict limitation, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you can mkdir something, cd into that\Nmkdir again, cd, etc., Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you can do that as much as you want,\Nthere is no limitation on this, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it's just that when you call Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,"get current working directory",\Nyou won't get it completely. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And actually, some programs misbehave\Nin that case, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because they won't see these files,\Nthey will be quite actually hidden, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,or protected, or I don't know, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you can not remove them just giving\Nthe path, you have to cd, cd, cd, cd, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and then you can access the file. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And for no reason, actually, because Linux\Ninside doesn't have Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,such limitation, actually. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And also, it's stupid, but POSIX didn't\Nreally said precisely whether Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the final \0 actually is included in\NPATH_MAX or not, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so people would allocate PATH_MAX+1,\Nor maybe not. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So we have a lot of code which doesn't,\Nmaybe, actually work, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but nobody tests it, actually, because\Nthey would never have so long paths. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So I'm a bit afraid of all these using\NPATH_MAX. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,You should be afraid as well. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Just to give an overview of the state. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have a i386 support, we have a 64bit\Nsupport which has started, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we have the kernel booting, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and now it's mostly translating between\N32 and 64 in our RPCs. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have drivers for network boards as a\Nuserland translator, using the DDE layer. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have disk, we have a Xen port. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have a preliminary sound which was\Nannounced today, using Rump, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the Rump kernel. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We don't have USB yet. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,It is quite stable, I haven't reinstalled\Nmy boxes for, like, a decade, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I don't remember when I installed them,\Nactually. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And then the buildd machines just keep\Nbuilding packages for weeks Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,without a problem. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have 81% of the archive. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have the native Debian Installer which\Nis really working great. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Recent work is, like, interesting thing is,\Na distributed mtab translator Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to provide /proc/mounts in a hurdish way. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We have quite a few optimizations which\Nwent in to improve the performance. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We had releases quite some time ago, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I really recommend to have a look at this\None, it's fun. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We've some Wheezy and Jessie snapshots, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,they are not official, but for us it's\Nreally an official thing. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,An important thing I wanted to discuss\Nthis week is the removal from ftp-master. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This is due since quite a few years now,\Nhonestly, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,it's really not useful to mirror the hurd\Npackages over the whole world, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because there are not even as many users\Nas the number of mirrors. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So OK, that's fine for just the removal\Nfrom the main archive in terms of mirroring. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,But then we have a lot of consequences. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,For instance, buildd.debian.org is really\Nan important thing, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because that is where the release team\Nschedules transitions, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and loosing this, for us, would be really\Ntedious work, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because I've been there, doing, actually,\Nthe transition work, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the same work as the release team, and\Nit's really painful to do this {\i1}again{\i0}. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So we would really like to have a solution\Nfor this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Maybe get that fed from debian-ports and, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,then that's fine, we can be on\Ndebian-ports, as long as at least Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,there is some synchronization between\Nsomething. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And also, getting exposed on the buildd\Npackage status page, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so that people are aware that there is\Nsome port which is failing, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and maybe they are keen on spending some\Ntime on it, maybe not, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but at least get them know about it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And also, a corner thing, when we have\Na version upgrade, like gcc or perl, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,the release team asks\N"OK, we'll have to upgrade the buildds", Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,and at the moment they don't even have\Nan account on them, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so they can not check whether the version\Nis good or not. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Maybe we should just provide an account, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,we'd thus need to know who we need to give\Nan account to. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Basically, my idea would be\N"OK, that's fine not being on ftp-master". Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,The thing is we still want to have most of\Nthe support of Debian, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to make our life less a burden,\Nas much as possible, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,without any extra load on\Nthe release team, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We do understand well that we don't want\Nto put work on people's hand. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,But we would to still get some benefit and\Nprobably there are solutions for this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And conversely, all of this, I mean, not\Nputting more work on us Hurd porters, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,would actually be the same solutions that\Nexisting ports on debian-ports Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,would be really happy to have, to improve\Ntheir life, to have less work to do, [...] Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So maybe we want to think about a real\Nstatus for Second Class Citizens, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,like Hurd, but also the sparc, hppa, etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Maybe want to have some BoF at some time,\Nso we can gather and discuss about this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Future work, the most interesting thing is\Nprobably using the Rump drivers, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,because at the moment we use DDE but\Nit's not really going forward. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We thought it would be a way to get newer\Ndrivers, Linux drivers, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,without extra efforts, but it doesn't\Nactually happen at the moment, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,while Rump does go forward, we see work\Nbeing done with Xen etc. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So this is probably a long-term solution. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Maybe we'll have another distribution\Nthrough Guix. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,This is progressing, we are quite far from\Ndoing this, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,so for now Debian is really the only Hurd\Ndistribution that we have, so we'll see. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,And of course, just come and have fun with\Nyour own pet project, just join, thanks! Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[Michael Banck] Any quick question before\Nwe run to lunch? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[Steve Chamberlain] Hello, I just wondered Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,if you're using Hurd on that laptop\Nfor the presentation? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[Samuel Thibault] Yeah, yeah,\Nthis is running Hurd, yes. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[SC] So it's quite, like, usable everyday? Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[ST] Well, not everyday because\Nwithout USB, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,you can not mount a USB stick for instance,\Nso that's quite inconvenient, Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,but yeah, I could probably use it everyday. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,I don't, I mean, for work,\NI can not afford this, but yeah. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Also, we don't have wireless drivers\Nat the moment. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,We hope that with the Rump drivers\Nwe would get this. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,So, yes. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Some people do use it everyday. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,Not me. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[SC] But those would be the major thing\Nmissing for more people Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,to be able to use it. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,OK, thanks. Dialogue: 0,9:59:59.99,9:59:59.99,Default,,0000,0000,0000,,[MB] Any more questions? We're run out of\Nquestions, then thanks again. Thanks.