From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/2402 Path: news.gmane.org!not-for-mail From: Rob Landley Newsgroups: gmane.linux.lib.musl.general Subject: Re: Summary of 1.0 marketing plan/scheme/nefarious plot from IRC. Date: Tue, 04 Dec 2012 14:48:53 -0600 Message-ID: <1354654133.27682.6@driftwood> References: <20121201040620.GE20323@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii; DelSp=Yes; Format=Flowed Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1354654159 31871 80.91.229.3 (4 Dec 2012 20:49:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 4 Dec 2012 20:49:19 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-2403-gllmg-musl=m.gmane.org@lists.openwall.com Tue Dec 04 21:49:29 2012 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1TfzQj-0007ul-2H for gllmg-musl@plane.gmane.org; Tue, 04 Dec 2012 21:49:25 +0100 Original-Received: (qmail 32506 invoked by uid 550); 4 Dec 2012 20:49:12 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 32498 invoked from network); 4 Dec 2012 20:49:11 -0000 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=date:from:subject:to:in-reply-to:x-mailer:message-id:mime-version :content-type:content-disposition:content-transfer-encoding :x-gm-message-state; bh=1lPZG3CbmLZk+8IGCt+kwZ0l9AduVUXcAY9T1GIV/yw=; b=VyZqvgmRXlVRqCDbRZtYQSx+6cqwVCEWJTlfVf0vokFg2cgqjqomzUDdSjN2e+h8gV tJeKyLXZ43Tfo2FqjtTAYM42+tXqsm6rXgtPr8+9zuVv0VkAXeUx1vZO3/3S5nOo1ntV TXuACcS4isLPqG9tKI/V/efBiruvXLEFcQ6jXvGfoIM2LXnwhMJ9UYPACQpcyPxZf7vI 36Hp2qg0nfwf+NZX+iRE/KY9fT7RKzR1G+uSLMGb+doEqiVWo9FfErVrTBBiFcLd4bWS JSZgAQSCzRHEP5TyPC/Vutuxdwg+5w+NQfldYPiwiRsvhZoKEx/iz/wHY+kOIBv9zD9h C+jA== In-Reply-To: <20121201040620.GE20323@brightrain.aerifal.cx> (from dalias@aerifal.cx on Fri Nov 30 22:06:20 2012) X-Mailer: Balsa 2.4.11 Content-Disposition: inline X-Gm-Message-State: ALoCoQlFDWLMqtwbJaUc1Lxol4K1SQQdTcNVfgRTVxClgmh2/y2N9iO8Rmu/xpaSgf3LqsfyPiq2 Xref: news.gmane.org gmane.linux.lib.musl.general:2402 Archived-At: On 11/30/2012 10:06:20 PM, Rich Felker wrote: > On Fri, Nov 30, 2012 at 08:04:44PM -0600, Rob Landley wrote: > > >> - already tested against 8 gazillion packages > > >> - standards compliant > > >> - BSD license: static linking ok, android deployment ok > > >Little quibble: MIT + some BSD and some PD code. > > > > Alas, we don't have a good group term like "copyleft" for "would be > > public domain if our legal system wasn't screwed up". >=20 > We do have a word for this license class; it's called "permissive". > Roughly speaking, "FOSS" breaks down into "permissive" and "copyleft" > licenses, where the former basically allow you to do whatever you > like, and the latter burden you with ensuring that the parties who get > the software from you get the same freedoms you had. >=20 > > I poked Dalias on irc to clarify that we can give a single top level > > license and call all the code "compatible" with that, and then link > > to the big long copyright list for everybody who cares but have a > > clear story on the website. >=20 > The MIT license text serves this purpose. At some point we might want to collate edits to the original list. More suggestions: The musl-libc.org main page should probably just go to the "intro" =20 page, possibly with the existing paragraph merged into the entro. The "what are musl's dependencies" faq entry is a mix of bullet points =20 and non-bullet point material that doesn't just clarify the bullet =20 points. It doesn't mention what "make" you need (posix-2008 compliance =20 should be enough?) and the shell is implicit (does _not_ need bash, =20 posix-2008 again good enough?). Did we actually test Linux 2.6.0? Hmmm... something like: ----- Compiling and linking programs against musl should work with any =20 conformant C compiler. To build musl itself, you need: - Linux 2.6 or later - c99 compiler with support for gcc-style assembly language. - linker with weak symbol support - posix-2008 compliant "make" and "sh" - a supported CPU architecture At present i386, x86_64, arm, mips, microblaze, and powerpc =20 architectures are supported by musl. ----- It would be nice if there was some kind of "musl manual". If you want =20 to write a program against the musl libc, what does it provide? (HTML =20 is fine, man page format is kinda archaic these days. This is mostly =20 posix, but not entirely.) If we're not up to writing something, w link to the POSIX spec with the =20 list of functions we've implemented, plus the man7 pages on the linux =20 variations thereof (and system calls) and maybe the Linux Standard Base =20 sort of collectively covers it. http://pubs.opengroup.org/onlinepubs/9699919799/ (see "system =20 interfaces") http://kernel.org/doc/man-pages/ (sections 2 and 3) http://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-gen= eric/book1.html =20 (chapter 12) Beyond the FAQ, there should probably be a page introductory docs. I =20 generally link to the old boot floppy howto, the power up to bash =20 prompt howto, and Linux From Scratch. (We could always write something =20 new, but this is more "understanding how your root filesystem works" =20 and "creating a small distro" than "how libc works".) It's a pity the Linux Foundation's lack of clue keeps bleeding through =20 to the point they link to a "registration required" _wrapper_frame_ for =20 posix-2008 instead of the actual web version: http://refspecs.linuxfoundation.org/ (Yes, if you dig through the susv4 they link to and bother to register, =20 it's just linking to the opengroup.org pages via a gratuitous HTML =20 frame. Pity, the refspecs page is a good collection of docs other than =20 that, modulo some guidance on which of the several versions of each =20 thing they link to are actually useful. But that's the Linux Foundation =20 for you: a collection of Fortune 500 companies tried to give money to =20 this "Linux" thing and couldn't figure out who to make the check out =20 to, so they created an entity for that purpose. This entity remains =20 very good at cashing checks, still working on the rest.) Anyway... More conceptual intros: what is ELF (with a link to the specs and =20 mention of alternatives like #!/interpreters, binflt, binmisc, and =20 historical a.out) also WHY is ELF (it's an archive format for binary =20 code, about as flexible as tar or zip but with metadata about function =20 names, offsets, and permission bits instead of files/lengths/owners, =20 generic enough that binflt is created from it). Dynamic vs static =20 linking, "what is a dynamic linker and wazzit _do_". Something on the =20 whole "how to tell if your binary is built against musl or some other =20 libc, how to tell if it's statically or dynamically linked" (fun with =20 ldd and readelf -a), long ago I wrote an intro to cross compiling if =20 that's worth linking to... Stuff. Rob=