Re: Pending package updates

2009-02-01 Thread Alexander E. Patrakov
Matthew Burgess wrote:
> Under these conditions, Russian man pages display correctly.  There's a slight
> issue with hyphen characters that are added automatically by line-breaking
> rules in 'man', as can be seen in the en_GB.UTF-8 'preconv' image.  This seems
> to be because the 'sed' that is applied in the Groff instructions, 
> specifically
> to handle this issue, no longer makes any changes to the source of 
> Groff-1.20.1
> due to a change in the conventions used in fonts/devutf8/R.proto.  I've not
> reported this upstream (bug-groff list) yet, but will do after I send this.

Please don't. This is an issue with Linux console fonts supplied with 
the kbd package, not with groff. So this change is unacceptable upstream.

> Also, that same hyphen character gets completely dropped in the 
> en_GB.ISO-8859-1
> locale due to a bug in Man-DB (reported upstream).

OK, this is indeed a bug in man-db.

> I'd like to think that I'll get a response back from the Man-DB maintainer
> over the course of next week, at which point I'll decide how to proceed with
> the rest of the package upgrades.

OK, this seems to be the best plan.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS Toolchain

2009-01-19 Thread Alexander E. Patrakov
2009/1/19 Greg Schafer :
> Jeremy Huntwork wrote:
>> Some weeks ago, Ryan proposed a somewhat alternative method
>> that does not require any adjustment of the toolchain in chapter 5
>
> I think this is a regression, actually, at least from an educational POV.

Could you please explain why? (note: I neither agree not disagree,
just want to see your thoughts about the educational component and
compare with my own).

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Adapting LFS SVN for multilib

2009-01-18 Thread Alexander E. Patrakov
Greg Schafer wrote:
> Sidenote: Now that some toolchain devs are apparently using *native*
> sysroot builds, there is a temptation to pursue a whole new build method
> that bypasses most of Ch 5. However, we would most certainly lose a lot of
> the advantages of the current 2-phase approach, so gut instinct tells me
> this won't be viable. Obviously, ICA verification would be *critical* to
> such a build method.

About good separation of the files between different stages that was 
previously achieved by using /tools: I think that using a package 
manager would solve this. The advantage about immediately gaining these 
temporary tools in $PATH is indeed lost.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Future LFS 7.x Plans

2008-12-06 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:

> Can we resolve any actual differences between the projects (and 
> individuals making up the projects) and put aside any perceived disputes 
> and work together in a more unified manner again? If so, what are we 
> willing to do to be more unified? What possibilities are there?

IMHO, LFS should not blindly copy anything. Especially since the goals 
are different: CLFS can produce any architecture from any, DIY depends 
on the fact (or, in different words, essentially exploits the fact) that 
the host kernel can run target binaries. My point is that the goals are 
essentially different, and thus, for technical reasons, the techniques 
_should_ be different.

[below I map all chapter names to LFS equivalents]

Obviously, in the case where the host kernel can't run target binaries, 
cross-compiling the entire Chapter 5 (as done in CLFS) is indeed the 
only solution.

However, by cross-compiling the entirety of Chapter 5, CLFS, 
paradoxically, becomes more dependent on the host binaries than DIY. To 
see what I mean, consider the following. In x86 -> x86 DIY, Chapter 5 
Gawk becomes available as soon as it is built (this is a plus). In x86 
-> x86 CLFS, Chapter 5 Gawk just sits there, and all subsequent packages 
use the host Gawk while building. To me, this looks like deliberately 
ignoring an advantage of host-target compatibility.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Moving to Grub2?

2008-12-04 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:
> Check this out: http://wiki.debian.org/Grub/Grub2

Yes, they have good manual pages in Debian. Thanks for the link. Let's 
hope this documentation will be accepted upstream.

It is still worth mentioning that Debian uses a SVN snapshot, not a 
release, because of various bugs. See (experimental) 
http://packages.debian.org/changelogs/pool/main/g/grub2/grub2_1.96+20081201-1/changelog

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Moving to Grub2?

2008-12-04 Thread Alexander E. Patrakov
2008/12/4 Alexander E. Patrakov <[EMAIL PROTECTED]>:
> OTOH, since (B)LFS doesn't support LVM2 anyway, I don't consider the
> failure of this test a showstopper.

But the docs are still in too bad shape. E.g., the wiki page
http://grub.enbug.org/CommandList doesn't really document the new
commands, but refers to the documentation of GRUB Legacy even if it
doesn't apply. Texinfo documentation does exist in upstream
repository, but not in the tarball. Even more, the texinfo docs don't
contain the word "lvm", i.e., are incomplete.

I am afraid that it would be too irresponsible to throw a new
undocumented package upon our readers.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Moving to Grub2?

2008-12-04 Thread Alexander E. Patrakov
2008/12/4 Jeremy Huntwork <[EMAIL PROTECTED]>:
> Matthew Burgess wrote:
>> That said, I've not tried it out myself yet.  Maybe in my next build!
>
> Testing it out now...

Please take time to create the following setup in a virtual machine:

/dev/hda1 as the only partition
LVM on /dev/hda1
GRUB2 in MBR

Last time I tried this, it worked and then, on the next reboot,
failed. See 
http://www.linuxfromscratch.org/pipermail/lfs-dev/2008-March/061078.html

OTOH, since (B)LFS doesn't support LVM2 anyway, I don't consider the
failure of this test a showstopper.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Aiming for 7.0

2008-12-02 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> Even it it's poor hardware support, does the frequency of occurrence rise to 
> the 
> level of needing to be in the LFS book?  As several comments in the ticket 
> suggest, initramfs would be more appropriate for BLFS, but I'm thinking that 
> even that is too much and an updated hint or wiki entry would be more 
> appropriate.

BLFS would be OK if accompanied with a pointer on the kernel page in 
LFS. Hint or wiki entry is certainly not OK, because of the new LiveCD 
policy: packages beyond BLFS are not permitted. I.e., the new LiveCD 
will support LVM and RAID only if there is a corresponding page in LFS 
or BLFS.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: libidn update

2008-12-02 Thread Alexander E. Patrakov
2008/12/2 DJ Lucas <[EMAIL PROTECTED]>:
> Alexander E. Patrakov wrote:
>> Testcase (I think it should even be put into the book):
>>
>> LANG=en_US xterm
>> in that xterm: curl http://räksmörgås.josefsson.org/
>>
> Thanks for the testcase Alexander.  All of them have been invaluable to
> my limited uni-lingual mind (is that even a word?). Might be nice if an
> expectation was set.  :-)  I don't have curl installed yet so I haven't
> tried it.
>
> I assume the expected outcome is something to the effect of 'Resolving
> r\303\244ksm\303\266rg\303\245s.josefsson.org... failed: Name or service
> not known.', as it does with an old wget if not working...otherwise
> we'll be greeted with a raw copy of the index.

The expected outcome is a portion of HTML. Obviously, this works only
if you really have the en_US locale, i.e., the "locale" command in the
xterm doesn't print any errors. And your locale setup is indeed
incorrect, as "\303\244" appear, as if the paste resulted in UTF-8
bytes instead of ISO-8859-1, and as if bash treats these characters as
unprintable (this happens only in the "C" locale).

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Re: LFS 6.4 is released

2008-11-23 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> The Linux From Scratch community is pleased to announce the release of LFS
> Version 6.4. This release includes numerous changes to
> LFS-6.3 (including update to Linux-2.6.27.4, GCC-4.3.2, Glibc-2.8) and 
> security
> fixes. It also includes editorial work on the explanatory material throughout
> the book, improving both the clarity and accuracy of the text.

Big thanks to the Editors who made this possible. And congratulations to all 
with 
this new release!

-- 
Alexander E. Patrakov

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: development/chapter06/glibc

2008-11-17 Thread Alexander E. Patrakov
rae l wrote:
> At the same time, I sugguest to add zh_CN.UTF-8 support, too,
> 
>   localedef -i zh_CN -f UTF-8 zh_CN.UTF-8

The list in the book refers only to locales that are used by the automated 
testsuites (i.e., not necessarily intended to be used by humans). The testsuite 
for 
coreutils explicitly uses zh_CN.GB18030, not zh_CN.UTF-8. Besides, zh_CN.UTF-8 
is 
already covered by the sentence "In addition, install the locale for your own 
country, language and character set."

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: perl-5.10.0

2008-10-29 Thread Alexander E. Patrakov
2008/10/29 Bryan Kadzban <[EMAIL PROTECTED]>:
> Useless warnings: who cares.

Authors of CGI scripts, because users see the warnings, at least under thttpd.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Binutils pass2, --disable-nls

2008-10-25 Thread Alexander E. Patrakov
Robert Connolly wrote:
> Is there a reason Binutils pass2 has --disable-nls?

Yes, the same as before: if someone wishes to use HJL binutils, this 
avoids the "gettext" host requirement.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-25 Thread Alexander E. Patrakov
I wrote:
> Bruce Dubbs wrote:
>> Alexander E. Patrakov wrote:
>>
>>> So, please choose another word below.
>>>
>>>> When man encounters an unexpected encoding, it will display the 
>>>> contents as configured, resulting in completely illegible text.
>>
>> How about 'unreadable'.
> 
> Yes, it is better. But it can be misinterpreted, see 
> http://linuxfromscratch.org/pipermail/lfs-dev/2008-October/062091.html

Oops. The context here does exclude this misinterpretation. So let's go 
with "unreadable", as in "Man will _display_ ... unreadable sequence of 
characters", but not as in "unreadable manual page.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-25 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> Alexander E. Patrakov wrote:
> 
>> So, please choose another word below.
>>
>>> When man encounters an unexpected encoding, it will display the contents 
>>> as configured, resulting in completely illegible text.
> 
> How about 'unreadable'.

Yes, it is better. But it can be misinterpreted, see 
http://linuxfromscratch.org/pipermail/lfs-dev/2008-October/062091.html

If nothing better is suggested, we'll go with "unreadable".

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-25 Thread Alexander E. Patrakov
DJ Lucas wrote:

> Many other distributions ignore the on disk encodings completely, 
> leaving the end user with a mix of improperly encoded manual pages.

Well, the end user doesn't care how the manual pages are encoded on 
disk. The only thing that matters is if they are displayed correctly. 
And I can't translate the sentence into Russian, because I don't know 
how an encoding can be ignored by the distribution. Issues can be 
ignored, and encodings can be mishandled.

And you lost the important bit from your previous mail, that in such 
distributions some pages (that match the de-facto Man setup) are 
readable, while others display as completely "illegible" lines of 
craracters.

And BTW, Lingvo (the leading online English<->Russian dictionary) 
doesn't even list your intended meaning among the list of available 
translations for "illegible". They think that this word can apply only 
to handwriting or typesetting, and is a synonym for "blurry", or "too 
small to read". I.e., it means something which can be characterized with 
a certain degree of "illegibility", while we are talking about perfectly 
displayed, but wrong characters (and one cannot talk about "more 
correct" or "less correct" characters). So, please choose another word 
below.

> When man encounters an unexpected encoding, it will display the contents 
> as configured, resulting in completely illegible text.

Man (original) doesn't _know_ the encoding. It just passes the manual 
page through a pipeline designed (deliberately or by copying others' 
setup blindly) to process text in a certain encoding. Garbage in, 
garbage out. Yes, that's essentially what you said, but not all Man 
implementations have enough brains to "expect" some encoding - the 
original Man just pipes text through the static user-configured pipeline.

Sorry, it is too late here for me to try suggesting a better wording. I 
will do this tomorrow if you don't do it yourself while I sleep.

>>> Man-DB uses a
>>> built-in table (see below) to find the correct serach directory for
>>> manual pages based on the user's locale settings.
>>> 
>> No, it doesn't look into the table in this case. See add_nls_manpath() 
>> in http://www.chiark.greenend.org.uk/~cjwatson/bzr/man-db/trunk/src/manp.c
>>
>> It iterates over all subdirectories and tests whether the subdirectory 
>> is for the user's language, completely disregarding the encoding.
>>   
> ...ships with manual pages in legacy encodings.  Man-DB uses a built-in 
> table (see below) to determine the on disk encoding of the manual pages 
> found for a user's locale. If the directories found do not contain the 
> ".UTF-8" extension, Man-DB checks the table, and performs the necessary 
> conversion.  E.g., because of "UTF-8" in the directory name...

It doesn't work this way. Suppose that the user's locale is 
ll_CC.CODESET. Man looks for subdirectories of /usr/share/man that, 
after removing a possible suffix, reduce to either ll_CC or ll. For each 
of the directories found with a suffix, it uses the suffix as the 
encoding. If the directory has no suffix, Man-DB checks the table. 
"UTF-8" has no special meaning, but your text creates a false impression 
that it does. E.g., if /usr/share/man/ru.CP1251 existed, Man-DB would 
expect to find CP1251-encoded manual pages there. Again, please read the 
source. Oh, you did.

> Some interesting reading in the source.  Looks like at least 
> unpack_locale_bits() does not care what the codeset is, but it's checked 
> in encodings.c. So:
> 
> ...If the directories found do not contain an extension, Man-DB checks 
> the table, and performs the necessary conversion. E.g., because of 
> "UTF-8" extension in the directory name...

It always performs the necessary conversion (e.g., in ru_RU.KOI8-R 
locale, it can use manual pages from /usr/share/man/ru.UTF-8), so let's 
drop or move "and performs the necessary conversion". Also, in UTF-8 
locales, it does _double_ conversion: first to the encoding from the 
table, then (after processing with Groff) back, because Groff doesn't 
understand UTF-8. Other than that, good.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-25 Thread Alexander E. Patrakov
DJ Lucas wrote:
> DJ Lucas wrote:
>> Thank you again for the detailed critique, suggestions and examples.  
>> You've been a great help.  I'll have another go at it using your text above.
>>
>>   
> OK, I think this is almost the final...
> 
> http://www.linuxfromscratch.org/~dj/LFS-MANDB/chapter06/man-db.html


> Some packages provide non-English manual pages. They are displayed
> correctly only if their location and encoding matches the expectation
> of the "man" program. However, different Linux distributions have
> different policies (expressed in the choice of the man program, its
> configuration and patches applied to it) concerning the character
> encoding in which manual pages are stored in the filesystem.
> 
> E.g., Debian previously required Russian manual pages to be encoded
> in KOI8-R and to be placed in /usr/share/man/ru. Now, in addition,
> their man program (Man-DB) searches for UTF-8 encoded Russian manual
> pages in /usr/share/man/ru.UTF-8. On the other hand, Fedora uses
> UTF-8 encoded manual pages exclusively. Russian manual pages are
> found in /usr/share/man/ru and their man program doesn't acknowledge
> /usr/share/man/ru.UTF-8. Many other distributions ignore the problem
> completely, leaving the end user with a mix of readable and
> unreadable manual pages, and even worse yet, unreadable error
> messages when a suitable manual page is not found.

"ignore the problem" => which problem? The text suggests that many 
distributions ignore that fact that different distributions have 
different policies. Some other word is needed. Maybe: "Many other 
distributions ignore the need for a consistent policy, leaving the user 
with ..."?

"a mix of readable and unreadable manual pages" - yes, very well 
spotted, better than I formulated on this list! However, there is a very 
low-priority wish: some people will misinterpret the word "unreadable" 
as "no way to make the man program access this file" instead of "man 
reads this file and displays garbage". Here a picture would be worth 
thousand words, but pictures are not in the current LFS tradition.

"and, even worse yet, unreadable error messages" => no, unreadable pages 
are worse. And this situation follows from a bug in the "man" program 
(it uses the obsolete catgets interface instead of gettext), not from 
misplaced or misencoded manual pages, so let's not mention it.

> Disagreement about the expected encoding of manual pages amongst
> distribution vendors, has led to confusion for upstream package
> maintainers. One package may contain UTF-8 manual pages, while
> another ships with manual pages in legacy encodings. Man-DB uses a
> built-in table (see below) to find the correct serach directory for
> manual pages based on the user's locale settings.

No, it doesn't look into the table in this case. See add_nls_manpath() 
in http://www.chiark.greenend.org.uk/~cjwatson/bzr/man-db/trunk/src/manp.c

It iterates over all subdirectories and tests whether the subdirectory 
is for the user's language, completely disregarding the encoding. IOW, 
all of /usr/share/man/ru{,.KOI8-R,.CP1251,.UTF-8} are searched in all of 
ru_RU.KOI8-R, ru_RU.CP1251 (unofficial, has to be localadef'ed manually) 
and ru_RU.UTF-8 locales.

The rest is OK.

> ...I have a couple of questions:



> Was this an LFS 
> only problem in that we didn't pass '+lang none' to Man's build?

It is a problem for all distributions that don't pass '+lang none'. No 
distribution known to me passes '+lang none'. Fedora converts error 
messages so that they look right in UTF-8 locales, but this makes them 
incorrect in legacy locales.

> Also, I think the one line paragraph above the table can be removed 
> completely since the table is explained in the paragraph above that, but 
> I'm not sure.

Yes, remove it.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-23 Thread Alexander E. Patrakov
oving the note about the mess present in most distributions, but I 
don't see where to reinsert it.

> There may be times, however, where one
> encoding is preferred over the other.

Without examples, this is a meaningless phrase. And I think it is not 
the encoding that is preferred, but we prefer one or the other way to 
modify the upstream installation process. To see what I mean, try 
converting MPlayer manual pages to UTF-8 after unpacking the tarball, 
and pretending that this is what upstream provided. You can either 
convert back, or move the installed manual pages (not very clean, but we 
do it for some binaries anyway), or patch the Makefiles. After seeing 
the steps needed to complete each of the ways, you will perhaps be able 
to come up with a better phrase.



> Following LFS's previous policy, if upstream distributes the manual

Not sure if the reference to our previous setup (not policy, as we 
couldn't change it!) is a good thing.

The rest is OK.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-23 Thread Alexander E. Patrakov
DJ Lucas wrote:

> OK.  But I am still under the impression that is the expected future.  
> That doesn't change the fact that it is totally incorrect as written and 
> needs to corrected to show the proper state.

Well, Debian certainly won't switch to UTF-8 manual pages until they 
release Lenny. And, judging by their graph of release-critical bugs, 
this will happen in 9-10 months or so. What they are doing right now is 
preparing the infrastructure: a viewer that understands UTF-8 encoded 
manual pages, a perl patch so that pod2man can produce them, in the 
future they plan to write dpkg helper scripts that actually convert 
manual pages at package creation time. Only after that, the switch 
becomes possible.

However, if I were Debian, I would delay the switch even further. Right 
now, ISO-8859-1 manual pages can be converted to PostScript directly 
with Groff. By converting manual pages to UTF-8, you lose the ability to 
print them. Isn't printing a really important feature? ;)

>>> Upstream packagers will very likely drop legacy encodings in favor of
>>> UTF-8, though adoption has been slow due to the hacks required to
>>> make the current Man and Groff packages work correctly together.
>>> 
>> I don't know how to comment on this. Modern desktop packages come with 
>> DocBook documentation, not manual pages.
>>   
> :-)  The point of both of the above points is to make known that we will 
> be seeing more UTF-8 encoded manual pages...especially with both Debian 
> and RedHat going that route.  It still needs rewording, or removal.

I vote for removal, especially because MPlayer (a package under rapid 
development) still ships with non-UTF-8 manual pages. And while UTF-8 
manual pages may be the future, the timeframe is not defined.

> OK.  I thought about doing that too, but French man pages include shell 
> scripts to do the conversion before installation so it's not a good 
> place to show off convert-mans.

Why not? Mention that the equivalent scripts exist in the package, but 
that for the sake of demonstration, out "convert-mans" script is used.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Please review for Man-DB changes

2008-10-22 Thread Alexander E. Patrakov
hus broken.

The leading and government-sponsored Russian distribution (Alt Linux) 
still uses 8-bit (KOI8-R) manual pages. The only distributions that 
converted fully are RedHat derivatives. Debian only starts to get ready.

> Upstream packagers will very likely drop legacy encodings in favor of
> UTF-8, though adoption has been slow due to the hacks required to
> make the current Man and Groff packages work correctly together.

I don't know how to comment on this. Modern desktop packages come with 
DocBook documentation, not manual pages.

> The relationship between language codes and the expected encoding of
> legacy manual pages is listed below.
> 
> Table 6.1. 

Up to this point, nothing is said (except in the text I proposed at the 
very top of my post) HOW Man-DB determines the encoding of a manual 
page. Theory should be given before examples, not in examples. This 
worked before, because the whole theory was expressed in the table.

> If upstream distributes the manual pages in a legacy encoding the
> manual pages can simply be copied to /usr/share/man/.
> For example, German manual pages can be installed with the following
> commands:
> 
> mkdir -p /usr/share/man/de cp -rv man? /usr/share/man/de

OK

> If upstream distributes manual pages in UTF-8 (i.e., “for RedHat”)
> instead of the encoding listed in the table above, they can either be
> converted from UTF-8 to the encoding listed in the table above, or
> they can be installed directly into /usr/share/man/ code>.UTF-8.

OK. Here the script would go. Also I'd like to see comparison of both 
approaches. E.g., if the manual pages are installed with a Makefile, it 
is often easier to convert manual pages before installation than to 
patch the Makefile.

> For example, to install Spanish manual pages

Let's drop this buggy package and explain both techniques with French 
manual pages.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Minimum Host Prerequisites

2008-10-20 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:
> Perhaps I'm not understanding your point. Certainly 
> --enable-kernel=current would cover that very circumstance?

--enable-kernel=current breaks downgrades that are inevitable after any 
RedHat release, and introduces a new variable into the build. That's why 
I am against it.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Current state of i18n

2008-10-20 Thread Alexander E. Patrakov
Bryan Kadzban пишет:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: RIPEMD160
> 
> DJ Lucas wrote:
>> ## Test 4
>> [EMAIL PROTECTED] TESTS]$ export LANG=ru_RU.UTF-8
>> [EMAIL PROTECTED] TESTS]$ vimtutor
>> ===
>> =Д о б р о   п о ж а л о в а т ь   в   у ч е б н и к   VIM  -  
>> Версия 1.5 =
>> ===
>> 
>> [EMAIL PROTECTED] TESTS]$
>> ## This in incorrect according to Alexander, however it does look plausable
>> ## Can anyone comment?
> 
> Well, the way I read Alexander's archived post at
> http://linuxfromscratch.org/pipermail/lfs-dev/2006-January/055426.html,
> "Russian characters" (i.e. what you got) is expected, while the "English
> tutorial" is an acceptable fallback, and is what the book did at that
> time.  It *looks* like vimtutor -- or at least the way LFS installs it
> now -- has simply gotten better.  If that's correct: Yay!  ;-)

Yes, that's correct, and that's old news. Exactly because Vim has this 
bug fixed, we no longer remove the translated tutorials in LFS-6.3.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LiveCD Future

2008-10-15 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:
> Hello,
> 
> I know that we've talked about this before but given the events of the 
> past year or so, I'd like to revisit this briefly.
> 
> Alexander and I have been talking and we're trying to take a very 
> realistic approach to any efforts made to re-enliven the LiveCD project.
> 
> Without going into too many details of our own concerns and ideas about 
> the future of the project (yet), I'd appreciate some feedback/opinions 
> concerning the usefulness of the LiveCD.
> 
> This thread is not designed to spark feature requests. Whatever 
> direction we pursue, the LiveCD (or at least the main one) will aim to 
> be fairly simple. The purpose of this thread is to see at what level are 
> LiveCDs beneficial or useful to the community, especially the {,B}LFS 
> editors so that we can modify the core goals and aims of the project for 
> future efforts.

Let me explain the reasoning behind the original feature creep. The 
problem is that there are many communities with different needs (and not 
all of them read {b,}lfs-dev), and that they WILL spark feature requests.

English-speaking editors can do well with a console-only CD. They can 
read the book, run jhalfs, and use or download packages, because a 
static IP behind the router or DHCP is a common setup in 
English-speaking countries.

OTOH, in Russia, many people prefer reading Russian documentation, e.g., 
from opennet.ru. Thus, they need some means to enter and read their 
characters - i.e., kbd and a script to choose the keymap, screen font 
and locale at boot time. Many Russian ISPs require authenticated 
connections like PPPoE or, even worse, PPTP. In rural areas, GPRS is the 
only way to get connected, so it should be easy to set up. Note that, 
without a network connection, the CD is useless for those wanting to try 
an updated version of the book.

In China and Japan, I guess, the same preference for reading 
documentation in the native language applies. But one needs X, fonts 
and input methods in order to perform this task. Vesa-only setup is not 
good for people with CRT monitors (and there are still such people), 
because 60 Hz refresh on CRT can cause permanent damage to the eyes (and 
if I ship such setup in Russia, I will be fined by the Ministry of 
Healthcare). Thus, there is a need for video driver autodetection. The 
one built into Xorg is not reliable enough on ATI cards, thus I had to 
write my own script.

Then there appeared blind people who need brltty and/or speakup, that 
required a kernel patch from GIT or changing the kernel version, and 
this software came with its own bugs to patch out.

The bottom line is that you either have to answer "yes" to all doable 
feature requests, or set a different policy and send some people 
somewhere else (e.g., to Knoppix). But the second alternative 
immediately brings up the question "why do we need LFS LiveCD when 
Knoppix exists and can be made to work as a host?", and I think that 
defining this balance (and thus establishing the criteria of the future 
LFS LiveCD usefulness) is the real question to discuss.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Ticket 2156 - LFS LiveCD is dead

2008-10-11 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> http://wiki.linuxfromscratch.org/lfs/ticket/2156
> 
> I have changed my copy of the book to read.
> 
>   As an alternative to installing a separate distribution onto your machine, 
> you 
> may wish to use the Linux From Scratch LiveCD. The CD works well as a host 
> system, providing all the tools you need to successfully follow the 
> instructions 
> in this book. Unfortunately, development of the LiveCD has not progressed 
> recently and it only contains older versions of the source packages, patches, 
> and this book. For more information about the LFS LiveCD or to download a 
> copy, 
> visit http://www.linuxfromscratch.org/livecd/.
> 
> Note
> 
> The LFS LiveCD might not work on newer hardware configurations, failing to 
> boot 
> or failing to detect some devices, like SATA hard drives.
> -
> 
> The web page that is the link target will also need to be updated.
> 
> Should I commit this?

Probably yes, but after some fixes.

1) "It only contains older versions of the source packages, patches, and 
this book" - overly optimistic. The -nosrc and -min versions don't 
contain any sources or patches (but they do contain the old book).

2) The text gives the LFS LiveCD unustified preference WRT other 
LiveCDs. Basically, I want the book to say "if you don't to install a 
distribution, use a LiveCD that qualifies as a host distribution. Here 
are some examples: ..., ..., old LFS LiveCD", not "if you don't want to 
install a distribution, try LFS LiveCD".

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Ticket 2156 - LFS LiveCD is dead

2008-10-11 Thread Alexander E. Patrakov
DJ Lucas wrote:
> No.  IIUC, it doesn't contain m4 and cannot build current trunk until m4 
> is moved up in chapter 5, however, as soon as that happens, the text 
> above should work nicely.

False. It uses autoreconf on some packages, and this can't work without 
m4. And indeed, it does contain /usr/bin/m4.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Util-linux-ng nitpicks

2008-10-07 Thread Alexander E. Patrakov
Matthew Burgess wrote:
> On Tue, 07 Oct 2008 14:52:24 -0500, Bruce Dubbs <[EMAIL PROTECTED]> wrote:
> 
>> partprobe is very useful.  If you create a new partition, you can use
>> partprobe to make the current system recognize it without rebooting.
> 
> But partprobe comes from parted, not util-linux :)
> 
>> One determining factor is if those programs are required by the LSB or
>> not.  I
>> don't have time to check today.  I'd have to install the test suite and
>> run it.
> 
> I've done a search of the LSB-Core-Generic-3.2 and LSB-Core-IA32-3.2 PDFs and 
> didn't find any mention of 'addpart', 'delpart' or 'partx'.
> 

> Looking at the man pages for each, I'm having a hard time
> understanding the use-cases for each of these programs.  Why would
> one need to tell Linux about partitions if no changes have been made?

One can dd the whole disk image (including the partition table) from 
some NFS server where such images are stored, and then one should tell 
the kernel about the new partition table. Although blockdev --rereadpt 
works just fine for this particular task.

> Likewise, if one is making changes to partition tables, why would the
> program that is making those changes not inform Linux about those
> changes?

dd, see example above, It just doesn't know that it modifies the 
partition table :)

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Groff

2008-10-07 Thread Alexander E. Patrakov
DJ Lucas wrote:
> Ken Moffat wrote:
>> On Tue, Oct 07, 2008 at 05:59:14PM -0500, Randy McMurchy wrote:
>>   
>>> Hi all,
>>>
>>> I'm way on the downhill side of getting all the package
>>> updates in. Groff is sort of a bugaboo, however. The
>>> DJ book uses the Groff-UTF8 package, but I'm not sure it
>>> does much.
>>>
>>> Please give some input if you have any on this subject.
>>> It would be an addition to LFS Chapter 6. Do we need it?
>>>
>>> Note that the plans right now are to still include the
>>> man-db package and not the man package which DJ used in
>>> his version.
>>>
>>> Any and all input in this internationalization stuff would
>>> be appreciated, as I'm a totally English speaking Editor
>>> without much knowledge about i18n.
>>> 
>>  I was the one who mentioned groff-utf8: from what Colin said,
>> *current* man-db looks a better way to go (i.e. it converts non-UTF8
>> pages, so we don't have to recode them).  The issue seems to be "can
>> we use recent groff with man-db ?" and for that I have no idea, I
>> haven't even got close to looking at how it's all set up in current
>> debian and ubuntu.
>>   
> No..only groff CVS.

No, not even groff CVS, because it expects different command line 
options than those hard-coded in Man-DB.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Coreutils-i18n patch

2008-10-05 Thread Alexander E. Patrakov
DJ Lucas wrote:
> Excellent!  Thank you Alexander!  That will be a great help.  You said 
> that some of these come from the LSB docs at that time.  I'll check 
> tomorrow and see if I can find any more there.  Do you have any more 
> test cases stashed away in your bookmarks that can be of use?  I am 
> especially interested in the coreutils tests that had previously 
> failed.  Looks like they were still broken in 6.9. 

There are no bookmarks, I googled for the subject combined with my surname.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Coreutils-i18n patch

2008-10-05 Thread Alexander E. Patrakov
Randy McMurchy wrote:
> Hi all,
> 
> Noted in DJ's book (I'll continue to refer to it as that
> even though his book is what will be SVN, he's the one
> that got all this stuff going) that we've dropped the
> i18n patch for Coreutils. IIRC, upstream won't touch it,
> and I think I remember there may have been a discussion
> about it here, but I want to revisit it to ensure that
> we're all good dropping it and/or keeping it.
> 
> Alexander may have some good info here, as others may
> also, but I want to ensure the community is agreed as to
> the direction we take.

Please look at 
http://linuxfromscratch.org/pipermail/lfs-dev/2006-January/055425.html - 
basically, if you are going to remove the patch, rerun the tests and, if 
they fail, forget about LSB certification.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Glibc locale instructions

2008-10-04 Thread Alexander E. Patrakov
DJ Lucas wrote:
> Actually, the individual locales are not needed any longer.

However, some locales improve the coverage of the testsuites, and I 
think it is instructive to show how to create individual locales with 
localedef.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: New personal experimental book

2008-09-13 Thread Alexander E. Patrakov
Lefteris Dimitroulakis wrote:

> With all due respect to lfs-dev's, to you and to the holly book,
> it will be very bizarre if lfsbook uses the Man package
> and at the same time is claiming
> that the included in the package man-pages
> are NOT readable for whatever reason.

Let's clarify the situation a bit. There are three possible outcomes for "man 
foo" in the ru_RU.UTF-8 locale:

1) Glibberish (unacceptable, but, unfortunately, what happens if the system is 
misconfigured by an English-speaking editor who doesn't know how to test the 
configuration)
2) "No such manual page" (well, OK if it indeed doesn't exist)
3) English manpage (acceptable, although not ideal)
4) Russian manpage.

Reaching (4) means non-default configuration of Man that has to be explained. 
Explanation means understanding by editors. Are you sure that 
English-speaking editors have motivation to understand all the details and can 
immediately see their errors? Do you know that, in the past, some 
English-speaking readers refused to follow the new book after "magic" (from 
their viewpoint, i.e., "not understandable") changes in man setup happened 
and "magic" patches were added to coreutils, grep and diffutils, and that we 
lost some editors due to the same reason? Such "magic" patches undermine the 
educational nature of the book. You see - there is a fundamental conflict 
between "100% correct" and "educational", so a proposal is being made to 
adopt a suboptimal, but easily understandable setup. (no offense meant to 
English-speaking editors and readers in this paragraph)

So: do you mean "it will be very bizarre if lfsbook uses the Man package and 
at the same time produces glibberish" (which I agree with) or "it will be 
very bizarre if lfsbook uses the Man package and at the same time patches it 
to never display translated manual pages, even though they are installed"?

> And yes, I use the default /etc/man.conf.
> and my personal files for configuration needed in order
> to read man-pages in the encoding of my preference,
> legacy or utf8.

Very interesting, however, on my system, no packages installed Greek manual 
pages. Where you got them from, except the "man" package (that doesn't install 
them if one passes "+lang none")?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: New personal experimental book

2008-09-13 Thread Alexander E. Patrakov
DJ Lucas wrote:
> Alexander E. Patrakov wrote:
> > DJ Lucas wrote:
> >> Roll back to file-4.21.  The newer versions of file do not display the
> >> character set if type is text/troff
> >
> > Testcase please. IMHO they are right, as it is impossible to reliably
> > decide between, say, ISO-8859-1 and KOI8-R based only on manpage contents
> > (without using a dictionary containing the translation of, say, "NAME"
> > for all languages). I.e., the old version was likely to give wrong
> > answers anyway, that's why this feature was removed. Could you please
> > test both old and new "file" on manual pages installed by Man-1.6f?
>
> Shouldn't be necessary, but if you'd like to see the output, I can post
> it tomorrow.

Indeed, http://www.linuxfromscratch.org/~dj/not-utf8.txt contains the needed 
info.

> The -e switch is still broken and since the older versions are not
> readily available... Have to look and see if I can find 22,23, or 24
> with working -e, and without the broken guessing.  The changelog does
> not mention releases.

Don't even try. It simply (or, if you want, "logically" or "mathematically") 
can't be unbroken without adding a dictionary, so don't wait for the fix. 
That's why I always mention the consistency requirement (i.e., that the 
encoding of all manual pages in a given directory should be the same) and the 
resulting need to convert or move manual pages according to the chosen 
convention (that is different in all distros, but has to exist in LFS, too).

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: New personal experimental book

2008-09-13 Thread Alexander E. Patrakov
I wrote:
> And in fact I would strongly prefer a 8-line patch to Man to ignore
> non-English manual pages completely (instead of unconfigured groff-utf8 and
> hard-coded special-casing Japanese in Man-1.6f in a way that works only
> with Debian-patched Groff), as it saves the editors from all the encoding
> validation work. This is rather trivial

Attached. One of the reasons for this destructive approach is that Greg 
Schafer doesn't accept anything into DIY that he doesn't fully understand, 
and I want manual pages and error messages to be readable in DIY by default, 
too. Obviously, complete removal of support for translated manual pages by 
this patch makes groff-utf8 unneeded. "+lang none" is still needed.

-- 
Alexander E. Patrakov
diff -ur man-1.6f.orig/configure man-1.6f/configure
--- man-1.6f.orig/configure	2007-08-21 10:15:21.0 +0600
+++ man-1.6f/configure	2008-09-13 15:22:52.0 +0600
@@ -26,7 +26,7 @@
 # (Indeed, -r may cause the terminal to get into funny states.
 # Very inconvenient. For viewing pages in strange locales, set LC_*.)
 #
-DEFAULTLESSOPT="-is"
+DEFAULTLESSOPT="-isR"
 #
 # Note that not creating any cat directories (/var/cache/man or so)
 # and not making man suid or sgid is recommended.
@@ -476,24 +476,24 @@
   then
 if test $Fnroff = "missing"
 then
-  nroff="nroff -Tlatin1 -mandoc"
+  nroff="nroff -mandoc"
 else
-  nroff="$Fnroff -Tlatin1 -mandoc"
+  nroff="$Fnroff -mandoc"
 fi
 troff="troff -mandoc"
 echo "Warning: could not find groff"
   else
 if test $Fnroff = "missing"
 then
-  nroff="$Fgroff -Tlatin1 -mandoc"
+  nroff="$Fgroff -mandoc"
 else
-  nroff="$Fnroff -Tlatin1 -mandoc"
+  nroff="$Fnroff -mandoc"
 fi
 troff="$Fgroff -Tps -mandoc"
 jnroff="$Fgroff -Tnippon -mandocj"
   fi
   eqn="$Fgeqn -Tps"
-  neqn="$Fgeqn -Tlatin1"
+  neqn="$Fgeqn"
   jneqn="$Fgeqn -Tnippon"
   tbl="$Fgtbl"
   col="$Fcol"
diff -ur man-1.6f.orig/src/manpath.c man-1.6f/src/manpath.c
--- man-1.6f.orig/src/manpath.c	2006-08-04 03:18:33.0 +0600
+++ man-1.6f/src/manpath.c	2008-09-13 15:16:29.0 +0600
@@ -279,17 +279,6 @@
 	if (alt_system) {
 		add_to_list(dir, alt_system_name, perrs);
 	} else {
-		/* We cannot use "lang = setlocale(LC_MESSAGES, NULL)" or so:
-		   the return value of setlocale is an opaque string. */
-		/* POSIX prescribes the order: LC_ALL, LC_MESSAGES, LANG */
-		if((lang = getenv("LC_ALL")) != NULL)
-			split2(dir, lang, add_to_mandirlist_x, perrs);
-		if((lang = getenv("LC_MESSAGES")) != NULL)
-			split2(dir, lang, add_to_mandirlist_x, perrs);
-		if((lang = getenv("LANG")) != NULL)
-			split2(dir, lang, add_to_mandirlist_x, perrs);
-		if((lang = getenv("LANGUAGE")) != NULL)
-			split2(dir, lang, add_to_mandirlist_x, perrs);
 		add_to_mandirlist_x(dir, 0, perrs);
 	}
 }
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: New personal experimental book

2008-09-13 Thread Alexander E. Patrakov
Lefteris Dimitroulakis wrote:

> > Since you install Man, you get relevant man pages translated in greek.
> > So you may add in your Table 6.1 "Greek (el)   ISO-8859-7".
>
> Additionally:
> Bulgarian (bg) cp1251
> Romanian (ro) ISO-8859-2
> Slovenian (sl)  ISO-8859-2

NAK.

The table in the text is really a copy of a table in Man-DB source, because 
the expectations of Man-DB can't be changed. With Man, the encoding 
expectations depend on NROFF and JNROFF lines. So, you can't really suggest 
this without knowing how DJ Lucas is going to configure Man. Your suggestion 
is obviously valid if one uses the default NROFF line (and thus avoids 
groff-utf8) and a non-UTF-8 locale. However, this is obviously different from 
the expected future direction.

DJ: I will reject everything related to Man(-DB) reconfiguration if it doesn't 
discuss (by means of text, not only commands) the following items:

1) The list of subdirectories of /usr/share/man where a manual page for a 
given language is looked up

Currently, /usr/share/man/ll* (i.e., 
both /usr/share/man/ru, /usr/share/man/ru.KOI8-R and /usr/share/man/ru.UTF-8 
are searched in both ru_RU.KOI8-R, ru_RU.CP1251 and ru_RU.UTF-8 locales), 
and /usr/share/man if nothing is found.

2) for both UTF-8 and non-UTF-8 locales, the encoding at the input and at the 
output of every program that is involved in formatting and displaying the 
manual page;

Yes, I understand that it is more than currently in the book, but only the 
encoding on disk matters now because the processing pipeline is hard-coded in 
Man-DB. Anyway, in the non-CJK case: the on-disk encoding of manual pages is 
inferred from their location (e.g., "/usr/share/man/ru => "KOI8-R" according 
to the table, "/usr/share/man/ru.UTF-8" => "UTF-8" because it is in the 
directory name). Then, if this is not a no-op, Man-DB runs iconv to convert 
to the language-specific 8-bit encoding listed in the table. Then it runs one 
of "groff -Tutf8" (if input is in ISO-8859-1 and the output should be in 
UTF-8), "groff -Tlatin1" (if both input and output are in 
ISO-8859-1), "groff -Tascii8" followed by iconv from the 8-bit charset to the 
user's locale (in all other cases). In the CJK case: the on-disk encoding of 
manual pages is inferred from their location. Then, if this is not a no-op, 
Man-DB runs iconv to convert to the locale encoding, and passes the result of 
conversion through "groff -Tnippon".

3) instructions to reconfigure your system from UTF-8 to non-UTF-8 locale (or 
the other way round) without reinstalling all packages that provide 
translated manual pages.

Currently, no actions related to manual pages are needed. Only 
edit /etc/sysconfig/console and /etc/profile, and convert stuff in your home 
directory.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: New personal experimental book

2008-09-13 Thread Alexander E. Patrakov
DJ Lucas wrote:
> Roll back to file-4.21.  The newer versions of file do not display the
> character set if type is text/troff

Testcase please. IMHO they are right, as it is impossible to reliably decide 
between, say, ISO-8859-1 and KOI8-R based only on manpage contents (without 
using a dictionary containing the translation of, say, "NAME" for all 
languages). I.e., the old version was likely to give wrong answers anyway, 
that's why this feature was removed. Could you please test both old and 
new "file" on manual pages installed by Man-1.6f?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: New personal experimental book

2008-09-13 Thread Alexander E. Patrakov
DJ Lucas wrote:
> All the recently mentioned changes and updates have been made except for
> the testsuite fixes that Robert has been working on as I haven't had the
> time to do manual builds.  Of note:  GCC-4.3.2, GlibC-2.8-20080905, LSB
> bootscripts, initd-tools introduced, man instead of mandb and added
> groff-utf8 package (thanks Ken).  Man is probably still a little broken

Yes, it is. Please read the man-i18n.txt hint and pass +lang none to man in 
order to get readable error messages. And, groff-1.19.2 doesn't have 
the --enable-multibyte configure switch.

And in fact I would strongly prefer a 8-line patch to Man to ignore 
non-English manual pages completely (instead of unconfigured groff-utf8 and 
hard-coded special-casing Japanese in Man-1.6f in a way that works only with 
Debian-patched Groff), as it saves the editors from all the encoding 
validation work. This is rather trivial, as it involves only removing stuff 
from the add_to_mandirlist() function (because of the check in 
is_lang_page(), this also disables the Japanese special-case logic that 
doesn't make sense with any modern groff). Remember: an English message (i.e, 
error message or manpage) is infinitely better than an unreadable one.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: GCC-4.3.1, Linux-2.6.26.2

2008-08-28 Thread Alexander E. Patrakov
DJ Lucas wrote:

> force UTF-8 locales?

_please_ don't! I still don't use UTF-8 locales at work, because I do a lot of 
TeX work, and with certain styles, bibtex completely mangles Russian 
references in UTF-8 encoded files (takes the first _byte_ instead of the 
first _letter_ as the initial, thus producing invalid UTF-8, e.g., transforms 
Александр Евгеньевич Патраков to ?.~?.~Патраков [replaced invalid with 
question marks] instead of А.~Е.~Патраков). Since it is inconvenient to have 
the majority of documents in the encoding different from that of the locale, 
I stay with ru_RU.KOI8-R there.

I think I am not alone with this bibtex problem.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Ncurses patches

2008-08-27 Thread Alexander E. Patrakov
Randy McMurchy wrote:
> Hi all,
>
> I noticed that the Ncurses author creates patches against
> the 5.6 version. I can't remember if this has been
> discussed before, and if it has then my apologies for
> not remembering.

This is how he publishes development versions.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: GCC-4.3.1, Linux-2.6.26.2

2008-08-26 Thread Alexander E. Patrakov
DJ Lucas wrote:
> Ken Moffat wrote:
> >  Of the 'not so liked', I'd be happy to see the back of Man-DB (and
> > therefore move Berkeley DB back to BLFS - if my memory is correct, it
> > was a dependency of Man-DB).  In my own builds, I still use groff-utf8
> > to render UTF-8 man-pages.  [ nostalgic memory: before shadow was
> > orphaned and then taken over by debian, it used to have a nice
> > selection of UTF-8 pages. ]
>
> I really do not have a good understanding of that particular issue.
>  From what I did catch, and taking only info from the Debian bug, is
> that we gain proper support for Japanese, and some broken support for
> Chinese and Korean with ManDB.   I really wish Alexander could chime in
> here since he is the most knowledgeable WRT to this issue.  For
> reference: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=196762 .

I don't use anything except Debian now (i.e., have no LFS) and don't follow 
the upstream development (was too busy with my PhD, and now I am looking for 
a new job). So, I can't give any up-to-date advice. The last information that 
I posess is:

1) There must be consistency!!! And this requirement will never change. I.e., 
it shouldn't happen that some packages install UTF-8 manual pages and some 
install 8-bit manual pages. While consistency is not normally a problem, it 
is a huge problem for the huge BLFS book to change from one consistent scheme 
to another. For this reason alone, I don't recommend any changes.

2) Man-DB can be built with gdbm which is much more lightweight than BDB (and 
that is how it is built in Debian).

3) Man-1.6f still uses the obsolete catgets() system for message translation 
and thus outputs garbage instead of error messages in UTF-8 locales. So, if 
LFS goes to Man, it should completely disable translations of man error 
messages by passing "+lang none".

4) Groff CVS can read UTF-8 manual pages (at least for Ruissian, no idea about 
CJK) and produce UTF-8 output if started with "-Tutf8 -K UTF-8", but in 
traditional 8-bit locales one needs the output in the user's 8-bit charset, 
not UTF-8.

> In skimming through the groff archives 200801-current,
> http://lists.gnu.org/archive/html/groff/ , it doesn't look like anything
> has happened  in CVS for CJK support.  ManDB with the debian groff patch
> is the only solution for Japanese.  Chinese and Korean are still in the
> dark even with that.  I guess my real question is what exactly do we
> loose by dropping back to Man with current groff-1.19.2.  I do realize
> that what we have now works well in most cases.

If you really want to stick with the current stable versions of Man and Groff 
and have the possibility to choose or not choose UTF-8 locales, then please 
implement the method from the "5. WHEN EVERYTHING WORKS BY DEFAULT" section, 
i.e., remove _all_ translated manual pages from all packages in LFS and BLFS 
and/or patch Man not to look for them at all. This is the only "right" thing 
to do now, because such support is based on either obsolete standards 
(ISO-8859-1) or, even worse, hacks. This will also serve better for the 
readers, as in many packages the translations of manual pages are horribly 
outdated.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


iproute2 vs net-tools on x86_64

2008-06-22 Thread Alexander E. Patrakov
Yes, I know that x86_64 is currently off-topic on this list. However, it 
exposed a problem.

The problem is that iproute2 wraps its traffic counters at 4GB (i.e., uses 
32-bit counters), while the old "ifconfig" command from net-tools doesn't. 
Unwrapped (64-bit) counters are, obviously, available from /proc/net/dev. So, 
is our "by default, use iproute2 only" choice justified enough?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: PDF files in */downloads/ compressed - removed uncompressed versions

2008-06-16 Thread Alexander E. Patrakov
Gerard Beekmans wrote:
> In an effort to save a large amount of bandwidth I've compressed the PDF
> files that haven't been compressed yet and removed the uncompressed
> files in the download sections. This'll conserve some bandwidth and
> associated charges that go along with it.
>
> In the last few days alone the server has uploaded several gigabytes
> worth of LFS and BLFS PDF files.

Thanks for informing us that there is a demand for PDF versions. Is it 
possible to have some figures about the bandwidth consumed by HTML versions 
of LFS and BLFS books (preferably separate for stable & development 
versions), artwork, stuff in public_html, and PDFs, just to compare?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: cp foo{,.bak} not always supported

2008-06-02 Thread Alexander E. Patrakov
2008/6/1, Gilles Espinasse <[EMAIL PROTECTED]>:
> cp configure{,.bak}
> cp: missing destination file operand after `configure{,.bak}'
> Try `cp --help' for more information.

This simply can't happen if the user follows the book to the letter.
Look at 
http://www.linuxfromscratch.org/lfs/view/development/chapter04/addinguser.html:

useradd -s /bin/bash -g lfs -m -k /dev/null lfs

See "bash" here? On the next page, /bin/bash is also explicitly called
in ~/.bash_profile.

So: the bug report is invalid.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: [LFS Trac] #2057: Udev-122

2008-05-22 Thread Alexander E. Patrakov
Gerard Beekmans wrote:

> Rather than trying to fix udev, and it sounds like there isn't a 
> solution that isn't hackish and has a risk of not working any day now 
> with new releases. How about we fix our network setup.

Yes, this is possible. However, this requires dropping udev and moving to a 
static /etc/sysconfig/modules file. And, optionally, switching to the 
FreeBSD kernel, which cannot create name collisions (because the driver name is 
a part of the interface name--e.g., an Intel card gets "em0", while a Realtek 
card gets "rl0").

BTW, one pleasant surprise for me recently (while testing solutions for #2057) 
was that I could install modern kernels on a Sarge virtual machine (that 
originally shipped with 2.6.8 or 2.4.?? kernel) that didn't have udev--and 
everything "just worked". With udev, I would have to worry about compatibility 
when upgrading kernels.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: [LFS Trac] #2057: Udev-122

2008-05-22 Thread Alexander E. Patrakov
Gerard Beekmans wrote:

> Aren't we back to square one after you enable more drivers. Then after 
> the first reboot of "kernel with additional drivers" you have to go 
> through the discovery again of which card has which name assigned.

No, we aren't.

1) First boot, with only an Intel card recognized: it gets eth0, and an entry 
is 
written to the persistent rules database so that it remains at eth0 even when 
other cards are added to the system.

2) Second boot, with both Intel and Realtek cards. Due to the old entry in the 
database, the Intel card remains at eth0, while the Realtek card gets eth1.

However, at USU, there were the following multi-card situations:

1) ums.usu.ru, before the old server died: two onboard Intel cards, both 
connected to different networks, and only one of them is public.

2) dsa.physics.usu.ru, before hardware upgrade: three Intel PCI cards, and only 
one of them is public.

3) dsa.physics.usu.ru, after the upgrade: one PCI Intel card facing the outside 
world, two D-Link gigabit PCI cards looking into the internal nets.

4) internal SAMBA server, after the upgrade: one old unused Intel card 
(combined 
with a video card, so can't remove), and a D-Link gigabit PCI card.

So the scenario with blacklisting (or not building) some drivers would have 
worked only with 50% of cases.

> Because the scenarios are so varied this would take up an entire chapter 
> in the book just to cover them all in a readable manner. Putting that 
> information in an appendix would help to maintain the flow of the book 
> without too many "if then else" scenarios. For those cases, put a note 
> in chapter 7's network config to skip ahead to Appendix X and read up on 
> what can be done and if a scenario matches the builder's.

The scenarios are varied, but some "default" suitable for most cases has to be 
in the book. Some options for this default are:

1) always reboot before configuring the network (any number of cards), see the 
hint if building remotely;

2) the book assumes that you have only one network card and configures only 
eth0, see the hint if you need something beyond this simple case;

3) always write udev rules by hand--the idea is simple!

4) your own variant.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-22 Thread Alexander E. Patrakov
 GPL
> Group: Appbat/browsers
> Buildroot: %{pkgroot}/%{name}
> AutoReqProv: no
> PreReq: lsb >= 3.2
> 
> %description
> LSB conforming version of lynx. Lynx is a text-based Web browser. Lynx
> is added to the LSB Application Battery primarly to demonstrate the use
> of the ncurses library.
> 
> %pre
> 
> %install
> 
> %post
> 
> %preun
> 
> %postun
> 
> %clean
> 
> %files
> 
> %attr ( -   bin bin ) /opt/lsb/appbat

>> So: given that we still can't agree on the set of features to implement, I 
>> propose LFS to never have any sort of PM, and those who disagree with this 
>> "no 
>> PM" policy should start a fork right now.
> 
> We'll never agree. That's why we'll likely end up offering some options 
> but we can't support all the options in-house. That's why we provide a 
> set of known instructions - it the bootscripts are just a sample 
> implementation for people who don't want/need to come up with their own 
> boot scheme. Sometimes understanding the system is good enough. Same can 
> be said about the PM system.
> 
> Most users in the end won't really care which system is used. As long as 
> there's something usable for them available to make life easier.
> 
> We're not in decision phase yet. We're still in speccing out the various 
> methods and getting some concrete ideas what it would mean if we were to 
> pick one over the other.

As far as I understand, the outcome was (roughly) that LFS needs to provide at 
least a no-PM and PM versions, with a well-known PM. And a requirement has been 
formulated that the commands must match between these two versions (thus ruling 
out %configure for RPM). Now Bruce wonders if we create a source RPM for each 
package. The answer (obvious from a sample implementation that has been posted 
already to this list, and from Dan's work) is that we don't create a source 
RPM, 
but a spec file indeed has to be created for each package. There is no way to 
use RPM without spec files.

The second question (how to use a PM in LFS) is left unanswered, because of its 
inexact formulation. I don't see any other way for RPM except writing a spec 
file, running "rpm -bb" on it, and installing the resulting binary package with 
"rpm -i" onto one or more systems, and the same principle applies to every 
other 
DESTDIR-based package manager.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-21 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> This seems to be the knotty problem.  Just how are we going to *use* PM in 
> LFS?

Both RPM and Debian package managers require writing a set of control files in 
order to create a package. Although it is possible to write dummy files 
containing only packaging information for pre-built files (and no building 
instructions), this is not how these tools are supposed to be used. I.e., I 
strongly object to this severe lobotomization. In this case, a simpler package 
management scheme is needed. However, in simple tar-based schemes, there is a 
trap in handling configuration files when upgrading a package.

So: given that we still can't agree on the set of features to implement, I 
propose LFS to never have any sort of PM, and those who disagree with this "no 
PM" policy should start a fork right now.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-21 Thread Alexander E. Patrakov
Gerard Beekmans wrote:
> So to summarize simply using the %configure macro won't run it like we'd 
> want the configure script to be run.
> 
> Can't it be overridden or introduce our own %configure-like macro that 
> does run things like the book does?

Why not just say somewhere on the PM page that we don't use the %configure and 
similar macros in our spec files (and call ./configure directly instead) 
because 
we want 100% correspondence between commands in no-PM and RPM versions of LFS?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-18 Thread Alexander E. Patrakov
Gerard Beekmans wrote:
>> Yes. Note that I have not evaluated pacman.
> 
> Do you by chance have any plans or desire to do so in the near future?

Not in the nearest future--too busy with bureaucracy that surrounds presenting 
the dissertation (scheduled for July, 3).

>> What's even more important for educational purposes, Debian rules are 
>> incoherent 
>> between various Debian packages.
> 
> How does RPM differ in that regard? Couldn't RPM spec files (in theory?) 
> suffer from the same problem depending on who writes them?

RPM doesn't have this amount of additional layers of almost-mandatory helpers 
for getting dependencies right, and the "debconf" tool for interactive package 
configuration. As I said, a few Debian packagers do things by hand, some use 
debhelper, some call cdbs (that doesn't even contain the explicit build 
instructions, but is suitable only for simple CMMI-like packages), and there 
are 
other options.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Future of LFS

2008-05-18 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> The XML is used for generating the book in chunked and non-chunked versions, 
> populating and verifying completeness of the patch directory, generating a 
> wget 
> list, generating pdf, and checking for the completeness of files on anduin.
> 
> It is *much* more flexible than a wiki.  A wiki is wysiayg -- What you see is 
> all you get.

Yes, that's the point, and you describe the purpose of the _current_ XML in the 
book precisely.

The problem with Jeremy's approach is that his XML is different and unsuitable 
for PDF generation, and the rest of the tasks can be done with a simpler 
Wiki-like syntax once one writes additional parsers.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM vs DEB vs Slackware-like tgz

2008-05-18 Thread Alexander E. Patrakov
Gerard Beekmans wrote:
> This continues the emails Alexander sent a while back (March 5).
> 
> Alexander, am I correct in my assumption that you would consider RPM a
> good choice and DEB a bad choice for LFS purposes.

Yes. Note that I have not evaluated pacman.

> Your emails made it sound (to me) that deb would be a lot harder to
> implement, maintain and understand (config file wise ie debian/rules
> files). RPM, on the other hand, sounds a lot simpler to implement and
> maintain as far as you are concerned.

What's even more important for educational purposes, Debian rules are 
incoherent 
between various Debian packages.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Future of LFS

2008-05-18 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:

>   1) Continue to use XML as the source (because it is a standard for 
> defining data and is easily parsed) _but_ to use, as much as possible, 
> fewer and simpler tags.

This is not the only standard for defining textual data, and some people think 
that XML is too verbose. Given that the PDF generation capability has been 
lost, 
what are the benefits over some wiki markup? IMHO, the LeafOS wiki syntax was 
better suited for the task, because there was no chance to make an error (there 
is no such thing as "invalid Wiki markup", but there is "invalid XML").

About the editor: it does show line numbers for errors, but it doesn't number 
lines. Inconvenient for large pages.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS Roadmap (Was: Re: As promised: LFS compilation summary)

2008-05-12 Thread Alexander E. Patrakov
Marc McLaughlin (LUSYN) wrote:
> Out of interest, which bootloaders mentioned by Jeremy for LFS 7.0 will
> work with x86-64?  I only managed to get my x86-64 LFS build booting
> with EXTLINUX.

LILO, Grub2.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Alexander E. Patrakov
Dan Nicholson wrote:

> Fedora is getting along fine without putting libraries in separate 
> subpackages.

The -devel split is not really about putting headers somewhere else to save 
space, it's really about libraries.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Alexander E. Patrakov
Dan Nicholson wrote:
> I certainly agree that it's best to handle situations like that, but
> does RPM even support it? I.e., if I split off a libssl subpackage
> that just has libssl.so.0.9.8, would RPM even allow me to install a
> newer version of libssl in parallel without --force or something? I
> don't know much here, but it seems that Fedora is getting along fine
> without putting libraries in separate subpackages. On the other hand,
> I notice that Debian/Ubuntu always splits the libraries into separate
> packages.

Yes, both RPM and dpkg support this: RPM does this natively (two versions of 
the 
package can be co-installed if they have no conflicting files), and with dpkg 
it 
is a common convention to name library packages as "libssl0.9.8" or something 
like that (i.e., including the library soname in the package name), so that a 
new incompatible version of the library becomes a completely different and 
(from 
the viewpoint of dpkg) unrelated package.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:
> Alexander E. Patrakov wrote:
>> Glibc is not the best example for discussion. I requested such sample page 
>> for 
>> bash, not for glibc, for a reason: bash needs a specific patch in the RPM 
>> case, 
>> and I don't see the way to force such PM-specific instructions in the 
>> current 
>> framework.
> 
> I expected you to bring this up. :) I wanted to test a package that also 
> showed variance on architecture. Glibc fit that. As for forcing 
> PM-specific instruction, that ability may not be present, but I don't 
> believe it would be overly difficult to introduce. If you wish, I'll add 
> the bash page as another example.

Not sure if I really want you to do this right now, given your words below ("It 
was not the purpose of this POC"). Anyway, it can't hurt, so do as you wish.

>>   * making one big RPM package with both the shared library and its headers 
>> is 
>> technically incorrect (this is not so severe for glibc, but think about 
>> gradual 
>> updates from libssl.so.0.9.8 to libssl.so.0.9.9, and that's impossible 
>> without 
>> removing a lot of dependent packages if one doesn't package the conflicting 
>> headers in a separate RPM file);
>>
>>   * the current framework doesn't allow for such split;
>>
>>   * editors that don't use a package manager have to be taught about this.
> 
> Well this is a sort of build methodology that needs to be worked out if 
> bringing RPM to the table. It was not the purpose of this POC to sort 
> out all of these issues, but merely to demonstrate how we can make the 
> book dynamic.

I am not sure that I can call the result "a dynamic book". Input is specified 
only once--on the start page. HLFS has achieved roughly the same with plain 
DocBook, profile.condition, and a chooser page that lists all possible 
alternatives--i.e., all with static pages. CLFS has achieved roughly the same 
(but in a more fragile way) with XIncludes that also produced static pages for 
all combinations. So all this POC proves so far is that there is one more 
method 
to create many linear books at once. Very good, but someone has to compare 
these 
methods as applied to our end goal: multiarch book with multiple styles of PM, 
when nobody yet has invented a multitude of other choices (i.e., it is 
currently 
not the case that someone requested so many options that generating a static 
book for every combination is not feasible).

(the paragraph above should not be treated as a criticism, the point is that 
the 
investigation should be continued to see the benefits and the drawbacks of the 
new approach)

> Again, once we know what core things need to be marked and 
> defined in order to produce such a packaging split, I don't think it 
> would be difficult to add it in the framework. Since I haven't had 
> experience with creating such split packaging, help with determining 
> what is needed would be appreciated.

Think about partially installing several versions of the package at once. What 
doesn't create file conflicts between major versions, should be split from the 
rest. Basically, the items one should care about are:

1) dynamic libraries
2) their .so symlinks, static libraries and headers
3) documentation
4) message catalogs
5) other data
6) perl/python/ruby/tcl/whatever else modules & bindings
7) executable binaries (here think about multilib conflicts--e.g., you can have 
only one of 32-bit and 64-bit "qtconfig" binaries installed simultaneously, 
even 
though both 32-bit and 64-bit Qt libraries can coexist).

(the above doesn't imply building 7 packages--ideally, these 7 items should be 
grouped into one, two or three packages as required for reasonable installation 
of multiple versions at once)

Anyway, it will probably boil down to specifying dirctories and filename masks 
explicitly for each package, and thus is more a responsibility of the book 
content writer than the framework.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Alexander E. Patrakov
Dan Nicholson wrote:
> I agree that there are major advantages to splitting the libraries out
> of the package, but why can't you just update the whole openssl
> package to get the library update? In fact, the -devel split you're
> talking about where the bare .so links and the headers are in a
> separate package wouldn't affect a library update in any way. In most
> cases, the .so.* links are part of the main package anyway (including
> openssl).

Think about the way dependencies are expressed. The automatic dependnecy 
extractor says: "package cryptofoo [that was built before openssl upgrade] 
depends on libssl.so.0.9.8 due to library dependencies". If you attempt to 
upgrade the whole openssl library to 0.9.9 (i.e. a binary incompatible 
release--that's important) without the split, the package manager will not be 
able to do this, because the new package does not provide libssl.so.0.9.8 and 
thus the cryptofoo package's dependencies are not satisfied with the new 
openssl 
package. I.e., with such incompatible upgrades, it is convenient to have the 
following installed during the transitions: old openssl dynamic libraries 
without the .so symlinks, new openssl dynamic libraries with the .so symlinks, 
new headers. You can't have all three at the same time without splitting the 
package (assuming that the package manager knows about file conflicts).

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:

> http://linuxfromscratch.org/~jhuntwork/php-test/

IMHO, too much state is kept in the PHP session. This may lead to bugs if a 
reader first generates one book and then the other variant, differing in the 
amount of required information. Something may leak between the visits--e.g., 
this way it may be possible to trick the future scripts into generating a 
multilib 32-bit book by first visiting "x86_64 multilib" and then "x86".

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Revisiting ideas

2008-04-30 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:
> Hello,
> 
> So I finally got a free evening and the energy to sit down and get 
> conceptual. This is the result: 
> http://linuxfromscratch.org/~jhuntwork/php-test/
> 
> Before replying about all that you see is wrong with it ;) keep the 
> following in mind:
> 
> This is a rough draft! A proof-of-concept only, designed to show 
> possibilities and open up discussion/ideas. Think stick-figure.

Glibc is not the best example for discussion. I requested such sample page for 
bash, not for glibc, for a reason: bash needs a specific patch in the RPM case, 
and I don't see the way to force such PM-specific instructions in the current 
framework.

Although even for glibc, there is something to discuss:

  * making one big RPM package with both the shared library and its headers is 
technically incorrect (this is not so severe for glibc, but think about gradual 
updates from libssl.so.0.9.8 to libssl.so.0.9.9, and that's impossible without 
removing a lot of dependent packages if one doesn't package the conflicting 
headers in a separate RPM file);

  * the current framework doesn't allow for such split;

  * editors that don't use a package manager have to be taught about this.

As for the generated pages: if the LiveCD is to be revived, this means 
packaging 
PHP and some lightweight HTTP server on it (I prefer lighttpd). It also means 
increased requirements for mirrors, both in terms of available software and the 
level of trust to the book authors (i.e., so that they don't put a malicious 
PHP 
script in order to compromise a lot of mirrors at once, or just unintentionally 
introduce a security hole). Are we ready to this?

P.S. Sorry for several hackish HTTP requests to www.linuxfromscratch.org. So 
far, I have found no obvious way to compromise the scripts in the current PHP 
configuration.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS - DESTDIR Style (minor update)

2008-04-27 Thread Alexander E. Patrakov
Randy McMurchy wrote:
> Cc: to BLFS-Dev
> 
> Alexander E. Patrakov wrote these words on 03/31/08 10:44 CST:
>> Bruce Dubbs wrote:
>>> The implication of going to DESTDIR for LFS would imply doing the same 
>>> for BLFS.  Some of the BLFS packages are not DESTDIR friendly.  I can't 
>>> remember which ones off the top of my head, but I do recall some that 
>>> ignore DESTDIR, at least partially.
>> All perl modules. See 
>> http://linuxfromscratch.org/pipermail/lfs-dev/2007-December/060640.html
> 
> This message is after-the-fact and not really relevant to the previous
> discussion. It is however, interesting.
> 
> I just installed a Perl Module and not only was it native DESTDIR
> friendly and multilib friendly, it installed files depending on the
> native arch of the machine.

I cannot confirm this. Both with perl-5.8.8 and 5.10.0, the package installs 
files into the DESTDIR, but it installs wrong files. See the URL above, I can 
add nothing to what is already said there. If you insist on your point, please 
provide full command lines starting with "perl Makefile.PL", and look into the 
.packlist and perllocal.pod inside the DESTDIR.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: RPM

2008-04-21 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> I would like to add RPM to BLFS because it is required for a system to be 
> compliant with the Linux Standards Base.

Which version? 4.x and 5.x are completely different beasts. Anyway, LFS 
contains 
a severe deviation from LSB (no libncurses.so.5 by default, only a non-standard 
wide-character version, but here the standard is wrong), thus, I don't think 
that it is a good idea to use this "standard" as a rationale.

Anyway, if you want (B)LFS to be LSB-compliant, you'll need to do a lot more 
things:

1) ld-lsb.so.3 -> ld-linux.so.2 symlink
2) a fake "lsb" RPM, because the standard requires that LSB packages must be 
installed without --nodeps
3) run their binary testsuite and fix all failures, even if this means 
downgrading versions and reintroducing other, more severe, bugs. See 
http://bugs.debian.org/401006 as an example that I would like to avoid.

As for your proposal to put RPM into BLFS, I think this has to be discussed in 
LFS, too. Reason: package management belongs in the next-generation LFS, and it 
is an option to have it there, as opposed to BLFS.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: A minor reorganization

2008-04-13 Thread Alexander E. Patrakov
I wrote:
> Bruce Dubbs wrote:
>> In conjunction with some of Alexander's proposals I would like to 
>> makes some changes.
>>
>> Does anyone object if I move section 4.5 (About SBUs) to right after 
>> section iv (Host System Requirements).
>>
>> I also want to rename the SBU section to "Time to Build an LFS 
>> System".  And add some discussion about the overall time to build.
> 
> Let's wait a bit for alternative proposals on renaming.

No proposals :(

So let's go either with your variant, or with "Hardware and Time Requirements" 
(and possibly rename "Host System Requirements" to "Host System Software 
Requirements"). My variant of renaming also allows to mention the "x86-only" 
limitation of LFS in any of the two sections.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS size and hardware requirements

2008-04-13 Thread Alexander E. Patrakov
I wrote:
> Bruce Dubbs wrote:
>> Alexander E. Patrakov wrote:
>>> Hello,
>>>
>>> Some newbies get caught by our advertisement (which might be true for 
>>> older versions of LFS, but is untested as of LFS-6.3):
>>>
>>>> It is not difficult to build an LFS system of less than 100 
>>>> megabytes (MB),
>>>> which is substantially smaller than the majority of existing 
>>>> installations.
>>>> Does this still sound like a lot of space? A few of us have been 
>>>> working on
>>>> creating a very small embedded LFS system. We successfully built a 
>>>> system
>>>> that was specialized to run the Apache web server with approximately 
>>>> 8MB of
>>>> disk space used. Further stripping could bring this down to 5 MB or 
>>>> less. Try
>>>> that with a regular distribution! This is only one of the many 
>>>> benefits of
>>>> designing your own Linux implementation.
>>
>> The above is still true, but perhaps there should be a modification:
>>
>> "It is not difficult to modify a standard LFS system to use less than 
>> 100 megabytes (MB)..."
> 
> Yes, this is acceptable.

After some thought, I still can't come with a complete, correct and meaningful 
paragraph. The problem is that, while the statements about achievable sizes are 
true, it is technically incorrect to show them as advantages of LFS. In fact, 
binary distros are more suitable to such reduction, because they (unlike LFS) 
survive removal of gcc painlessly.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: A minor reorganization

2008-04-13 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> In conjunction with some of Alexander's proposals I would like to makes some 
> changes.
> 
> Does anyone object if I move section 4.5 (About SBUs) to right after section 
> iv 
> (Host System Requirements).
> 
> I also want to rename the SBU section to "Time to Build an LFS System".  And 
> add 
> some discussion about the overall time to build.

Let's wait a bit for alternative proposals on renaming. It would be nice if 
memory requirements are also covered. Also, why it is placed after the "Host 
System Requirements" section and not before (not an objection, just curious)?

>  I will suggest that ALFS can 
> build a system in about two hours on a reasonably fast system, but ALFS is 
> not 
> recommended for first time LFS users.

AFAIK, ALFS is not an active project (9 mails to the list and 0 SVN commits 
since January, 1st). So it would be better to say something like "a scripted 
build" (meaning user-written scripts) instead of "ALFS", and proide some 
concrete specs of a "reasonably fast system".

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS size and hardware requirements

2008-04-13 Thread Alexander E. Patrakov
Bruce Dubbs wrote:
> Alexander E. Patrakov wrote:
>> Hello,
>>
>> Some newbies get caught by our advertisement (which might be true for older 
>> versions of LFS, but is untested as of LFS-6.3):
>>
>>> It is not difficult to build an LFS system of less than 100 megabytes (MB),
>>> which is substantially smaller than the majority of existing installations.
>>> Does this still sound like a lot of space? A few of us have been working on
>>> creating a very small embedded LFS system. We successfully built a system
>>> that was specialized to run the Apache web server with approximately 8MB of
>>> disk space used. Further stripping could bring this down to 5 MB or less. 
>>> Try
>>> that with a regular distribution! This is only one of the many benefits of
>>> designing your own Linux implementation.
> 
> The above is still true, but perhaps there should be a modification:
> 
> "It is not difficult to modify a standard LFS system to use less than 100 
> megabytes (MB)..."

Yes, this is acceptable.

> I can't find anywhere where the book refers to a slow 586-class system.

It doesn't do so explicitly, but by showing how slim the final system can be, 
it 
implicitly suggests that it won't consume a lot of resources and is thus a 
suitable choice for old hardware.

> The SBU section already says that "Glibc .. could take up to three days on 
> slower 
> systems!"

Sorry, I missed it. But see the proposed alternative/additional wording below. 
The point that "there is a better way than to wait three days" is currently not 
addressed.

>> P.S. I accept the challenge to "try that with a regular distribution".
> 
> I am waiting for your results.  Can you do it without breaking updates via 
> their 
> package manager?

I started with Debian Etch, choosing "No localization" (i.e., "C" locale).

Fresh network-based installation with all options in tasksel (even "standard 
system" deselected): 268 MB (according to "df", which also reports 
filesystem-related overhead).

After running "apt-get clean" to remove downloaded *.deb files: 209 MB

Then I removed the following "obvious" packages:

acpid, dselect, tasksel, tasksel-data, info, man-db, manpages, ed, vim-common, 
vim-tiny (nano is the remaining editor), libc6-i686, installation-report, 
iptables, netcat, traceroute, libsasl2, groff-base, acpi, bsdmainutils, 
console-common, console-data, console-tools, libconsole, dmidecode, 
laptop-detect, usbutils, libgdbm3: the remaining system occupies 196 MB, out of 
that /var is 51 MB, /lib/modules is  43 MB, and /usr/share is 40 MB.

The next step is to install "debconf-english" instead of "debconf-i18n" and 
remove the following packages that are no longer needed: 
liblocale-gettext-perl, 
libtext-charwidth-perl, libtext-iconv-perl, libtext-wrapi18n-perl, so that the 
result is 195 MB.

Then, for a web server, install lighttpd "without recommends". This will pull 
in 
  lighttpd, mime-support and libpcre3. Thus, a Debian-based system with a 
static 
web server and with no manually-removed files takes 196 MB.

One can comment out all lines in /etc/apt/sources.list and run "aptitude 
update". This will remove long package lists from /var, bringing it down to 18 
MB (out of that, /var/log occupies 9.4 MB, and the total size of the system is 
162 MB).

Then one can remove unneeded modules. I allowed only ne2k-pci, 8390, piix, 
ide-disk, ide-core, jbd, ext3 and mbcache modules (required by qemu virtual 
hardware) to stay (and to propagate to initramfs, by running "update-initramfs 
-u -k all").

Then, translated message catalogs (/usr/share/locale), character set conversion 
modules (/usr/lib/gconv) and optimized libraries ({/usr,}/lib/i?86*) go away. 
Then, configuration data from stale packages:

dpkg -l | grep ^rc | awk '{ print $2 }' | xargs dpkg --purge

So, the system is down to 76 MB according to "df" (including 18 MB of data in 
/var), still boots, serves static HTML files, logs everything, rotates logs, 
and 
can be fully restored from a Debian mirror. It is interesting that the ext3 
overhead is significant: according to "du -shx /", the system takes 65 MB.

Further reduction requires sacrificing the ability to restore from a Debian 
mirror (i.e., to remove apt and related packages). This doesn't remove the 
ability to install packages "by hand" with dpkg, so counts only as "breaking 
repository support", not as "completely breaking a package manager". However, 
due to dependency of lighttpd (in particular, mod_auth.so) on libldap2, this 
doesn't help. Well, further manual reduction is possible, but breaks 
dependencies (e.g., on

Re: LFS size and hardware requirements

2008-04-12 Thread Alexander E. Patrakov
J. Greenlees wrote:
> and this is done manually typing in, or copy and paste of the build
> commands?
> or is it scripted to remove the manual input [ slow point ] requirement?

It is completely scripted, see the LiveCD SVN repository. I can't afford any 
uncertainty due to typos for official LiveCD releases.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS size and hardware requirements

2008-04-12 Thread Alexander E. Patrakov
J. Greenlees wrote:
> 8 hour build time? unless using the build scripts I don't think it's
> possible without brand spanking new hardware with massive amounts of ram.

ums.usu.ru (before it died in November, 2007 due to voltage spike): Pentium IV 
2.4 GHz (without hyperthreading), Intel S845WD1-E server board, 512 MB of RAM, 
120 GB IDE hard disk. Bought in May, 2003, not upgraded since then until the 
complete replacement in November, 2007. Able to build LFS LiveCD (the full 
version) in 12 hours. So we are not speaking about brand new hardware.

And the "8 hours" figure has the following origin: it's the maximum amount that 
we can realistically expect a typical desktop computer to stay on, so one 
doesn't have to bother with exiting and reentering the build environment (that 
is poorly documented in the book, probably because it is not supposed to be 
done).

>> Hard disk space is a mandatory requirement.
>> Disk requirement on IPCop is 2 GB free space before building.
>> Indicative minimal memory could be somewhere between 128 MB.
>> Recommended memory to build should more than 256 MB
>> I have mesured IPCop 1.4 (is with gcc-3.3) building time on the same machine
>> with 128 MB and 512 MB. 128 MB require 3 time more to build than with 512 MB
>> memory.

We are talking about a bit different things. The paragrapk above is talking 
about building gcc-3.3 based IPCop from itself - that's fine. But building 
gcc-4.x with gcc-3.3 triggers a known bug in gcc-3.3 that leads to huge 
consumption of memory (above 512 MB).

> and the learning opportunities for building on a more limited resource
> system are greater, you run into problems from the limitations.

Let me just throw your child into water and say "he learns swimming" (bad joke: 
I can't swim). No, learning must be gradual, the reader must see a trouble-free 
book first and _then_ experiment.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


LFS size and hardware requirements

2008-04-12 Thread Alexander E. Patrakov
Hello,

Some newbies get caught by our advertisement (which might be true for older 
versions of LFS, but is untested as of LFS-6.3):

> It is not difficult to build an LFS system of less than 100 megabytes (MB),
> which is substantially smaller than the majority of existing installations.
> Does this still sound like a lot of space? A few of us have been working on
> creating a very small embedded LFS system. We successfully built a system
> that was specialized to run the Apache web server with approximately 8MB of
> disk space used. Further stripping could bring this down to 5 MB or less. Try
> that with a regular distribution! This is only one of the many benefits of
> designing your own Linux implementation.

...and attempt to build LFS on their slow 586-class computers with only 16 MB 
of 
RAM. This is obviously a waste of time, both for them and for us. Additionally, 
the mentioned 100 MB system obviously contains significant deviations from the 
book and thus cannot be counted as LFS.

P.S. I accept the challenge to "try that with a regular distribution".

Proposal:

1) Remove this advertisement.

2) List hardware requirements (CPU, RAM, hard disk space) on the same page as 
software host requirements, or immediately before it. These requirements should 
be set so that the total build time (including all testsuites) is less than 8 
hours, and that the build process never needs to get into swap (the worst case 
seems to be Chapter 5 gcc Pass1 when starting from a host that is based on 
gcc-3.3).

3) When package management enters the book, include a procedure for building 
packages for a lower CPU (basically, import config.site from the LiveCD and 
adjust toolchain and perl configure arguments as done there) and transferring 
LFS and subsequent packages to a different machine.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-04 Thread Alexander E. Patrakov
Dan Nicholson wrote:
> On Fri, Apr 4, 2008 at 7:28 AM, Alexander E. Patrakov
>>  For a regular distro, I would agree. For a third-party LiveCD, I disagree.
> 
> I still don't think instructions should be special for this situation.
> If you chose a host that doesn't provide the necessary development
> environment and doesn't provide the means to acquire the necessary
> environment, then that probably wasn't the best choice. Instead, I'd
> rather that the hostreqs page said "If you're host doesn't contain the
> necessary requirements and doesn't provide a means to acquire them,
> see the instructions in Ch. 6 as a guide to building them."

Maybe it is a good idea. But my point is that there are almost no LiveCDs other 
than (no longer existing) LFS LiveCD that serve as a good starting point (by 
meeting the host requirements). Some people think it is a problem with the 
LiveCD-based hosts. Other people think that it is a problem with our 
requirements. Both viewpoints are valid, but as long as LFS mentions the 
possibility to build from _a_ LiveCD, it has to have host requirements 
compatible with LiveCDs. Or maybe the whole paragraph about using a LiveCD 
should be dropped from 
http://www.linuxfromscratch.org/lfs/view/development/chapter01/how.html

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-04 Thread Alexander E. Patrakov
Dan Nicholson wrote:
> On Thu, Apr 3, 2008 at 8:15 PM, Alexander E. Patrakov
> <[EMAIL PROTECTED]> wrote:
>> Dan Nicholson wrote:
>>  > You really need gawk, not mawk.
>>
>>  Then please add gawk and bison in Chapter 5 before binutils, to accomodate
>>  Debian-based LiveCDs and PCLinuxOS, respectively.
> 
> The host requirements specify _Gawk_ 3.0. I really would prefer people
> just check the host requirements instead of shoehorning temporary
> packages at the beginning of the chapter. For an automated
> environment, maybe, but it would just be clutter in the book.

For a regular distro, I would agree. For a third-party LiveCD, I disagree.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: SVN-20080403 : 5.6.1. Installation of Glibc failure

2008-04-03 Thread Alexander E. Patrakov
Dan Nicholson wrote:
> You really need gawk, not mawk.

Then please add gawk and bison in Chapter 5 before binutils, to accomodate 
Debian-based LiveCDs and PCLinuxOS, respectively.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-04-03 Thread Alexander E. Patrakov
2008/4/3, Alexander Kozlov <[EMAIL PROTECTED]>:
>  > Bryan Kadzban wrote:
>  >> Since that's the problem, we could move in one of two directions
>  >> to fix it: either stop using any filesystem driver in the
>  >> bootloader(which means, at this point, "move to LILO"), or fix
>  >> the ext2/3 driver in grub (with the patch).
>
>  Just wonder, why not SYSLINUX? Not friendly, true, but mighty
>  powerful and flexible. Could be a chapter in BLFS too.

Syslinux does come with a boot loader that can boot Linux kernels from
ext2 filesystems, is actively maintained, and is thus a valid
candidate for inclusion in LFS, together with its dependency on nasm.
However, not everyone uses ext2/ext3, so it cannot be the only
candidate.

As for BLFS: my own opinion is that it contains after-the-first-reboot
steps, and installing a boot loader is not one of such steps. Even
more: various non_ext2-fsprogs don't actually belong there.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: e2fsprogs in chapter 5?

2008-04-02 Thread Alexander E. Patrakov
Jeremy Huntwork wrote:
> As I'm going through the book, I realized I couldn't place why e2fsprogs 
> is built in chapter 5. The description about udev needing its headers 
> makes no sense to me...

util-linux-ng needs either libblkid from e2fsprogs or libvolume_id from udev. 
Libblkid is easier to build.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-04-02 Thread Alexander E. Patrakov
J. Greenlees wrote:
> Personally, on the svn version I'm doing a test build with, I went lilo
> before starting and made sure I had the sources and dependencies sources.
> [ lilo depends on nasm according to the hint on the website for
> "beautifying lilo" ]

Are you sure? The LiveCD contains LILO and uses bin86, bot nasm, to build it.

> With the direction for LFS discussions, isn't presenting the options in
> keeping with the general input for the direction, which was to make LFS
> more a guide to creating a distro if I remember correctly than just a
> guide to building a linux system?

This, by itself, looks right. Let's see if the book and our resources can bear 
this.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: LFS - DESTDIR Style

2008-03-31 Thread Alexander E. Patrakov

Bruce Dubbs wrote:

Randy McMurchy wrote:


Thoughts from others?


Looks interesting.  Where do you put your DESTDIR?  Is it a part of the 
chroot partition?


It can't be outside this partition. With RPM, this is typically 
/var/tmp/pkgname-root/ , and with dpkg, this is always the `pwd`/debian/tmp 
directory.


The implication of going to DESTDIR for LFS would imply doing the same 
for BLFS.  Some of the BLFS packages are not DESTDIR friendly.  I can't 
remember which ones off the top of my head, but I do recall some that 
ignore DESTDIR, at least partially.


All perl modules. See 
http://linuxfromscratch.org/pipermail/lfs-dev/2007-December/060640.html


And the fix is to patch perl, see how Debian does this (completely untested, 
likely not directly applicable to LFS, you probably need only a subset of this)


In any case, a svn branch that shows what you are doing would be quite 
appropriate.


+1.

--
Alexander E. Patrakov
--- perl-5.8.8.orig/lib/ExtUtils/MM_Unix.pm
+++ perl-5.8.8/lib/ExtUtils/MM_Unix.pm
@@ -20,7 +20,7 @@
 
 use ExtUtils::MakeMaker qw($Verbose neatvalue);
 
-$VERSION = '1.50';
+$VERSION = '1.50_01';
 
 require ExtUtils::MM_Any;
 @ISA = qw(ExtUtils::MM_Any);
@@ -2054,9 +2054,7 @@
 	$(NOECHO) $(ECHO) INSTALLDIRS not defined, defaulting to INSTALLDIRS=site
 
 pure_perl_install ::
-	$(NOECHO) $(MOD_INSTALL) \
-		read }.$self->catfile('$(PERL_ARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
-		write }.$self->catfile('$(DESTINSTALLARCHLIB)','auto','$(FULLEXT)','.packlist').q{ \
+	$(NOECHO) umask 022; $(MOD_INSTALL) \
 		$(INST_LIB) $(DESTINSTALLPRIVLIB) \
 		$(INST_ARCHLIB) $(DESTINSTALLARCHLIB) \
 		$(INST_BIN) $(DESTINSTALLBIN) \
@@ -2068,61 +2066,41 @@
 
 
 pure_site_install ::
-	$(NOECHO) $(MOD_INSTALL) \
+	$(NOECHO) umask 02; $(MOD_INSTALL) \
 		read }.$self->catfile('$(SITEARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
 		write }.$self->catfile('$(DESTINSTALLSITEARCH)','auto','$(FULLEXT)','.packlist').q{ \
 		$(INST_LIB) $(DESTINSTALLSITELIB) \
 		$(INST_ARCHLIB) $(DESTINSTALLSITEARCH) \
 		$(INST_BIN) $(DESTINSTALLSITEBIN) \
-		$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+		$(INST_SCRIPT) $(DESTINSTALLSITESCRIPT) \
 		$(INST_MAN1DIR) $(DESTINSTALLSITEMAN1DIR) \
 		$(INST_MAN3DIR) $(DESTINSTALLSITEMAN3DIR)
 	$(NOECHO) $(WARN_IF_OLD_PACKLIST) \
 		}.$self->catdir('$(PERL_ARCHLIB)','auto','$(FULLEXT)').q{
 
 pure_vendor_install ::
-	$(NOECHO) $(MOD_INSTALL) \
-		read }.$self->catfile('$(VENDORARCHEXP)','auto','$(FULLEXT)','.packlist').q{ \
-		write }.$self->catfile('$(DESTINSTALLVENDORARCH)','auto','$(FULLEXT)','.packlist').q{ \
+	$(NOECHO) umask 022; $(MOD_INSTALL) \
 		$(INST_LIB) $(DESTINSTALLVENDORLIB) \
 		$(INST_ARCHLIB) $(DESTINSTALLVENDORARCH) \
 		$(INST_BIN) $(DESTINSTALLVENDORBIN) \
-		$(INST_SCRIPT) $(DESTINSTALLSCRIPT) \
+		$(INST_SCRIPT) $(DESTINSTALLVENDORSCRIPT) \
 		$(INST_MAN1DIR) $(DESTINSTALLVENDORMAN1DIR) \
 		$(INST_MAN3DIR) $(DESTINSTALLVENDORMAN3DIR)
 
 doc_perl_install ::
-	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
-	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
-	-$(NOECHO) $(DOC_INSTALL) \
-		"Module" "$(NAME)" \
-		"installed into" "$(INSTALLPRIVLIB)" \
-		LINKTYPE "$(LINKTYPE)" \
-		VERSION "$(VERSION)" \
-		EXE_FILES "$(EXE_FILES)" \
-		>> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
 
 doc_site_install ::
-	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
-	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
-	-$(NOECHO) $(DOC_INSTALL) \
+	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLSITEARCH)/perllocal.pod
+	-$(NOECHO) umask 02; $(MKPATH) $(DESTINSTALLSITEARCH)
+	-$(NOECHO) umask 02; $(DOC_INSTALL) \
 		"Module" "$(NAME)" \
 		"installed into" "$(INSTALLSITELIB)" \
 		LINKTYPE "$(LINKTYPE)" \
 		VERSION "$(VERSION)" \
 		EXE_FILES "$(EXE_FILES)" \
-		>> }.$self->catfile('$(DESTINSTALLARCHLIB)','perllocal.pod').q{
+		>> }.$self->catfile('$(DESTINSTALLSITEARCH)','perllocal.pod').q{
 
 doc_vendor_install ::
-	$(NOECHO) $(ECHO) Appending installation info to $(DESTINSTALLARCHLIB)/perllocal.pod
-	-$(NOECHO) $(MKPATH) $(DESTINSTALLARCHLIB)
-	-$(NOECHO) $(DOC_INSTALL) \
-		"Module" "$(NAME)" \
-		"installed into" "$(INSTALLVENDORLIB)" \
-		LINKTYPE "$(LINKTYPE)" \
-		VERSION "$(VERSION)" \
-		EXE_FILES "$(EXE_FILES)" \
-		>> }.$self->catfile('$(D

Re: LFS - DESTDIR Style

2008-03-31 Thread Alexander E. Patrakov
Randy McMurchy wrote:
> I also track every file that may conflict or overwrite with an existing
> file on the system. This is not intended to be a package manager,
> however, it would be trivial to create one from it (I do).
> 
> Much of this is done via scripts (code snippets) that can be reused
> in each package. There is no manual work as I think I've got
> everything automated. Not automated as in jhalfs, but in the sense
> that there is a series of commands that does everything.
> 
> I'm somewhat bored with building LFS, so I changed things up a bit,
> and I now like it and will be married to DESTDIR type installations
> from here on out.
> 
> I'm not trying to push this on anyone, I'm only saying that I can
> help if the community sees this as a direction we may go towards one
> day. Many others including Dan, Tushar, et. al. may be willing to
> assist or contribute as well.
> 
> Thoughts from others?

You have essentially duplicated Dan's RPM work, see 
http://gitweb.dwcab.com/?p=pound.git;a=summary . In this case, duplication is 
good, because it helps to spot errors. Please continue this good work, e.g., by 
building dependencies of the MOC player (or any other useful package), see 
http://moc.daper.net/links .

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


The LFS LiveCD project is dead. Officially.

2008-03-30 Thread Alexander E. Patrakov
Hello,

as you can easily find out in Trac, the latest change in the LiveCD
repository not by me is dated 08/21/07, i.e., more than 7 months ago.
And there are no substantial changes since
12/29/07. The LiveCD contains more than 200 packages, and that's way
too much for one person to maintain.

For me, the LiveCD was a playground that might help pushing some ideas
into LFS and/or BLFS by providing a sample implementation.
Essentially, it was a fork of LFS (now mostly fixed) and BLFS. Some of
the ideas got implemented: UTF-8 support in LFS, PPP and PPPoE
configuration in BLFS. Some were at least considered, but too much is
just stalled. Thus, I lost my primary motivation to continue the work,
and, in the absense of the replacement team, hereby declare the LiveCD
project to be officially dead. The demand for it doesn't matter for me
and, by itself, won't resurrect the project.

The latest LFS LiveCD version will still remain available on the mirrors.

Here is an incomplete backlog of ready things to be investigated for
merging (or maybe just thrown away due to lack of manpower to maintain
them--but note that they do exist on the LiveCD that was essentially
maintained by me alone):

 * XIM-based input. Absolutely required for Chinese, Japanese, Corean
and some other languages. Described at
http://wiki.linuxfromscratch.org/blfs/wiki/InputMethods, even
including a testcase that allows to see easily whether it works.
Confirmed for Chinese on IRC by a native speaker.

 * Initramfs. Absolutely required for booting from non-standard
devices such as dmraid (which is required on some fakeraid controllers
for dual-booting with Windows on the same RAID), LVM2 or just SCSI
controllers that require firmware.

 * Accessibility-related packages (currently, only for the Linux console).

 * GPM in LFS (this is an optional dependency of ncurses, allows you
to click through dialogs created with the "dialog" package on the
Linux text console).

 * Hibernation, either with the "hibernate" script (as implemented on
the CD) or with a more modern (but not fully working for me) pm-utils
package.

 * config.site file for system-wide changes to the confgure script. I
use it for forcing the i486 compilation, setting optimization flags
and removal of static libraries.

 * Compiling on fast machines (e.g., Core 2 Duo) for lower processors
(e.g., i486) and deploying the result.

 * x86_64 support.

Also, since the LFS LiveCD no longer exists, the LFS book page about
the host requirements has to be modified. Maybe we should list LiveCDs
that come with gcc and a recent-enough kernel. However, the only live
ISO files known to me that come with gcc are Knoppix (but the latest
version is available only as a huge DVD) and Zenwalk (Slackware-based,
and thus too buggy, especially when it comes to non-English language
support). Any other alternatives?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: gdk-pixbuf.loaders, DESTDIR and libgnomeui

2008-03-25 Thread Alexander E. Patrakov
Sukucorp Sukucorp wrote:

> If you use DESTDIR approach, you are deviating from the book. If you
> are deviating from the book it is assumed that you know what you are
> doing.
> 
> Anyway this point might be moot if LFS starts supporting a package
> manager of some sort.

With this "discouraging" attitude, package management will never become part of 
the LFS book.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: Improper handling of -p ${pidfile} in lfs-bootscripts

2008-03-25 Thread Alexander E. Patrakov
Dan Nicholson wrote:
> The problem is, for BLFS-6.3, we have to rely on the bootscripts from
> LFS-6.3, which have this bug.

No. We can (and, IMHO, should) release LFS-6.3.1 right now, with this fix and 
GRUB patch to fix incompatibility with the new e2fsprogs that may be present in 
the latest distros.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Which type of LFS should I choose on 64bit system

2008-03-24 Thread Alexander E. Patrakov
2008/3/24, Phillip Huang <[EMAIL PROTECTED]>:
> Hello folks,
>
>  I want to build LFS on my new 64bit platform(Intel EM64T), and I googled 
> CLFS,
>  while according to another link: http://lwn.net/Articles/243695/
>
>  JH said the x86_64 LFS LiveCD was available in July 30,2007, and the above
>  link provide download address. However, I do not find any relevant manual
>  about how to install this x86_64 LFS.

The official 64-bit CD contains the unofficial modified 64-bit book.
However, it doesn't contain a boot loader, so you have to invent your
own instructions for bin86 and LILO.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-19 Thread Alexander E. Patrakov
2008/3/19, Bruce Dubbs <[EMAIL PROTECTED]>:

> What distros use the new version of e2fsprogs? What boot loader do
> those distro's use?

Debian Lenny. It offers a choice among a patched version of Grub
Legacy, LILO, and GRUB2.

--
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-19 Thread Alexander E. Patrakov
2008/3/19, Bruce Dubbs <[EMAIL PROTECTED]>:

> My position is that we should stay with grup 0.97 and the compatible
> version of e2fsprogs until upstream gets the problems worked out.

This doesn't work: GRUB has to be compatible not only with the LFS
version of e2fsprogs, but also with the hosts's version. We expect
GRUB to boot not only LFS, but also a host distro. If a host distro
uses a new ext3 filesystem, we have a big problem.

--
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-19 Thread Alexander E. Patrakov
2008/3/19, Matthew Burgess <[EMAIL PROTECTED]>:

> Does LILO still require NASM?

No, but it requires bin86.

--
Alexander E. Patrakov (writing from FreeBSD 7.0 amd64)
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-19 Thread Alexander E. Patrakov
2008/3/19, J. Greenlees <[EMAIL PROTECTED]>:
>  http://gag.sourceforge.net/

Requires Borland Turbo Assembler (available for MS-DOS only) in order
to be recompiled. LFS cannot assume that this proprietary OS is
installed.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-19 Thread Alexander E. Patrakov
2008/3/19, J. Greenlees <[EMAIL PROTECTED]>:
>  GAG

Not tested yet, will do now.

>  http://gujin.sourceforge.net/

Tested seveal months ago, had a conversation with the author about the
QEMU bug (unfortunately, the proposed fix broke something in SUSE) and
the bogus LANG=en argument being appended to the kernel command line.
Drawbacks:

 * Triggers a keyboard/mouse emulation bug in QEMU and KVM
 * Has no config file, attempts to guess append the "root=/dev/hdXY"
parameter automatically.
 * Thus, is incompatible with libata until this guessing is disabled
(one can do it from the command line of the installer).
 * This manual override works only on a global basis, thus, one cannot
explain that one kernel (from a host distro) should be used with one
root partition, while the other kernel has another root.

The last item makes this boot loader unsuitable for LFS, since LFS
relies on the ability to dual-boot LFS and the host until one installs
a DHCP client and a web browser.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-18 Thread Alexander E. Patrakov
2008/3/17, Alexander E. Patrakov <[EMAIL PROTECTED]>:
>  Instructions for the impatient:
>
>  lzo-2.02: ./configure --prefix=/usr && make && make install
>  grub-1.96: ./configure --prefix=/usr --sysconfdir=/etc && make && make 
> install
>
>  # the need to add --modules="pc" is a bug,
>  # grub-install is advertised to be able to autodetect the needed modules
>  grub-install --modules="pc" /dev/hda
>
>  cat >/boot/grub/grub.cfg <<"EOF"
>  set default=0
>  set timeout=5
>  set root=(myvg-root)
>  terminal console
>
>  menuentry "LFS-6.3 on LVM" {
> linux /boot/linux root=/dev/myvg/root
> initrd /boot/initramfs_data.cpio.gz
>  }
>
>  EOF

Spoke too soon. Today this virtual machine refused to boot, for no
apparent reason. Grub2 drops to the rescue mode, and typing these two
commands brings the menu back:

insmod normal
normal

...even though, according to the source (kern/main.c, functions
grub_main() and grub_load_normal_mode()), loading the "normal" module
and switching to the normal mode are the first things that are
supposed to be done automatically and unconditionally.

I really don't want this to happen with your computer. Thus, please,
no Grub2 in LFS for now.

Also its ./configure script looks for ruby as an optional build-time
dependency, in order to convert unifont to a format that Grub
understands (required for graphical booting).

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-17 Thread Alexander E. Patrakov
Sebastian Faulborn wrote:
> How do you mean - "not installable at all if root is on LVM2"? I have been
> using LVM2 on root together with grub for the last 2 years without problems...

That was about Grub2. Grub legacy, with a separate /boot partition, works fine. 
And I mean that the command "grub-install" or "grub-setup" fails to figure out 
how to access the /boot file system. It mistakenly starts searching how to 
access "/" (although it shouldn't), fails and thus fails the whole installation 
process. This bug is fixed in version 1.96.

> Grub is only used for loading the kernel and starting it - so as long as grub
> can read the /boot partition it's fine...

Yes. However, you should install Grub into MBR first, and that failed with 
Grub-1.95.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-17 Thread Alexander E. Patrakov
2008/3/17, Greg Schafer <[EMAIL PROTECTED]>:
> What about Grub2? The time must be getting near.. Anyone use it?

I was able to make it work in QEMU in the "new ext3 on LVM2 on
/dev/hda1, no /boot partition" case. But the lack of up-to-date
documentation in the tarball and incompleteness of the documentation
at http://grub.enbug.org/FrontPage are, IMHO, major obstacles, and due
to this, I would like LFS to be a bit more conservative (i.e., not
dump two problems on the reader--LFS itself and new GRUB; successful
education is always gradual education).

Instructions for the impatient:

lzo-2.02: ./configure --prefix=/usr && make && make install
grub-1.96: ./configure --prefix=/usr --sysconfdir=/etc && make && make install

# the need to add --modules="pc" is a bug,
# grub-install is advertised to be able to autodetect the needed modules
grub-install --modules="pc" /dev/hda

cat >/boot/grub/grub.cfg <<"EOF"
set default=0
set timeout=5
set root=(myvg-root)
terminal console

menuentry "LFS-6.3 on LVM" {
linux /boot/linux root=/dev/myvg/root
initrd /boot/initramfs_data.cpio.gz
}

EOF

Configuration can be adjusted to show a JPEG image in the background
and have a nice font, but I think that the above example is enough.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-16 Thread Alexander E. Patrakov
2008/3/17, Alexander E. Patrakov <[EMAIL PROTECTED]>:

> They released version 1.96 on March, 3

Oops, that was in February.

--
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Choosing a boot loader for LFS 7.0

2008-03-16 Thread Alexander E. Patrakov
2008/3/17, Greg Schafer <[EMAIL PROTECTED]>:

> Hi Alex, interesting. A couple of questions/observations.
>
> - Does the problem exist when Grub installation is run in its preferred
> native mode as per the Grub docs? ie: not run from within a running Linux
> kernel, but instead run from eg: a floppy before any OS is loaded?

Yes. In both modes, Grub interprets the filesystem using its own
driver, not the kernel driver, and the problem is that its own driver
doesn't understand new ext2 filesystems.

> - There is nothing stopping folks from changing the default Inode size
> back to 128 via editing /etc/mke2fs.conf or via a command line switch.
> LFS could just warn, yes? That's not so horribly broken, is it?

This is probably true, but going this route means that one can no
longer boot the host distro if its kernel is on the new ext2
filesystem (that was aready created, and thus it is too late to change
it). Thus, it is not acceptable.

> - LFS could change its install paradigm. There is no need to create the
> target partition immediately from the outset. For example, I
> intentionally changed this aspect in the DIY Refbuild in order to avoid
> the situation that's occurred in the past whereby creating a target fs
> with a too new E2fsprogs (think Fedora host) causes incompatibilities
> with the (older) version being installed.

Correct, this also opens the opportunity to explain the procedure of
backing up LFS with tar, installation onto LVM2, or making a cluster
of NFS-root machines.

> > Did anyone investigate the boot loader options further? What should be
> done for
> > LFS-7.0?
>
> What about Grub2? The time must be getting near.. Anyone use it?

Version 1.95 was not installable at all if root is on LVM2 (even if
/boot is on a plain partition). They released version 1.96 on March,
3, and it is indeed a good idea to test it. According to Debian, this
particular incompatibility doesn't affect Grub2, but it still uses its
own ext2 driver and thus is not protected from this kind of bugs in
the future.

--
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Choosing a boot loader for LFS 7.0

2008-03-16 Thread Alexander E. Patrakov
Hello,

as explained in http://wiki.linuxfromscratch.org/lfs/ticket/2161 (a blocker), 
due to recent changes in e2fsprogs, Grub-0.97 no longer works (cannot read any 
files from the resulting filesystem, cannot be installed into MBR, and the book 
is thus horribly broken). There are a couple of tickets about alternative boot 
loaders:

http://wiki.linuxfromscratch.org/lfs/ticket/2093: just a proposal to add a new 
section about boot loaders;

http://wiki.linuxfromscratch.org/lfs/ticket/1955: duplicate, but with more 
discussion.

Did anyone investigate the boot loader options further? What should be done for 
LFS-7.0?

And before anyone objects to LILO on the basis that you must not forget to run 
it: write the /sbin/installkernel script and run "make install" in the kernel 
tree (it calls /sbin/installkernel, that should rename and install bzImage and 
update the boot loader), and the problem of forgetting to run lilo will go away.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


kbd bug

2008-03-07 Thread Alexander E. Patrakov
I wrote:
> Ag. D. Hatzimanikas wrote:
>> wget 
>> ftp://ftp.ntua.gr/pub/linux/gentoo/distfiles/links-2.1pre33-utf8.diff.bz2
>> #  -> Setup -> Terminal Options and check the "UTF-8 I/O" box
>> #  -> Setup -> Character Set and choose  KOI8-RU
>> # and while you have links running
>> g
>> www.in.gr
>> #  -> Setup -> Character Set and choose "ISO 8859-7"
>> -->%
>>
>> Also entering text in web forms seems to work with an exception (I 
>> can't get an "μ", I take "υ" instead in VT mode).
> 
> Bug in one of the programs called by the "console" bootscript, because 
> the key doesn't produce the correct character even in bash command line.

This is a bug in loadkeys. It looks like the definition of "mu" is taken from 
the ISO-8859-1 table by "loadkeys -u". What should we do in the console script 
to avoid triggering of this bug? Or maybe make a kbd patch that adds a pre-made 
Greek UTF-8 keymap with "U+03bc" instead of "mu"?

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Package Management - technical comparisons

2008-03-07 Thread Alexander E. Patrakov
Gerard Beekmans wrote:

> If you feel you can talk about a potential PM candidate for LFS, please 
> write up a document that outlines the following:

Slackware-like .tgz

> - it's strengths and weaknesses

+ It is very simple, and everybody is expected to understand the code.
- Out of the box, it requires tar-1.13 due to the reasons outlined in 
ftp://ftp.slackware.com/pub/slackware/slackware_source/a/tar/tar.SlackBuild 
(that are, IMHO, invalid--you should use ext3 on LVM2 and never have problems 
with free disk space). Anyway, this requirement is easy to patch out.
+ It has no external dependencies except dialog (which is optional and depends 
only on ncurses anyway).
- It has no features one expects from a sane package manager, such as 
dependency 
checking. To work around this, the Slackware installer recommends installing 
all 
packages from the DVD.
* Configuration file handling is emulated with post-installation scripts, by 
renaming the packaged copies to *.new and using code such as 
ftp://ftp.slackware.com/pub/slackware/slackware_source/a/udev/doinst.sh
- Packages have to be built as root (workaround: install fakeroot from Debian).
- No checking of the package contents is possible unless one patches the 
makepkg 
script.
+ It manipulates binary packages, with obvious benefits like the ability to 
deploy them, to revert to the old version quickly, and so on.
+ Packaging and build instructions are in one file, with the .SlackBuild 
extension. Such files are very easy to write from scratch, because they are 
just 
bash scripts.
+ It is buildsystem-independent.
- Instead of SlackBuild scripts, there is a temptation to produce Slackware 
packages with checkinstall--but this will clobber configuration files.
- It comes from Slackware, against which I have prejudice (they oversimplify a 
lot of things).
+ Text-based database

> - why it's better than other candidates

Because it is very simple.

> - why it's worse than other candidates

Because it is only a toy model of a package manager. It can only install 
packages by untarring the archive and running the install/doinst.sh.script, 
uninstall them, and list packages claiming ownership of a file. It cannot 
explain why each package is needed in the system, and doesn't prevent its 
removal when in fact there are other packages depending on it.

> - what it takes to integrate it in the LFS book
>* not looking for installation instructions. Just explain the impact 
> and changes that will be required for successful use

Write SlackBuild scripts: this means DESTDIR, post-installation steps, and, for 
each configuration file, renaming it by adding the .new extension and writing a 
scriptlet like 
ftp://ftp.slackware.com/pub/slackware/slackware_source/a/udev/doinst.sh

> - what it likely is not able to do for its users

Any kind of dependency tracking.

> - how well it can deal with matters such as conflict resolution and 
> dependency handling

It can't, by design. Upgrading a package means:

1) Installing a new version, so that it overwrites some old files. At this 
point, _two_ packages (old and new) will claim ownership of some files.

2) Deleting the old version, so that files that existed only in the old version 
get deleted because their reference count drops to zero.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Poll about package management

2008-03-05 Thread Alexander E. Patrakov
I wrote:
> Greg Schafer wrote:
>> You seem to be striving for perfection. When I want all the bells and
>> whistles I run a mainstream distro.
> 
> Without this, LFS is unsuitable for production use. Nevertheless, people 
> want it. There are only two ways to deal with this situation: make LFS 
> work perfectly, or drive them away from LFS even before they think about 
> it in production. So, we are back at the old dilemma about LFS-course 
> (that has to be simple and fully understandable by everyone, possibly 
> even oversimplified, and it is not a bug that it doesn't work for a 
> significant portion of users) vs LFS-distro (that also has to be 
> present, just to show the shortcomings of LFS-course as a distro).

Sorry for this part of the message, it's too flame-prone. Here is a better 
expression of the same thought:

Some people do want to use LFS in production. There are only two ways to deal 
with this situation: make LFS work perfectly, or drive them away from LFS, 
e.g., 
by including somewhere in the preface some concrete missing features that make 
LFS unsuitable for production use, and give some foundations to the fact that 
these features are really required.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Poll about package management

2008-03-05 Thread Alexander E. Patrakov
Greg Schafer wrote:
> Alexander E. Patrakov wrote:
>> does it
>> allow running arbitrary scripts on the DESTDIR contents before
>> actually creating a package?
> 
> Um, I don't think so. However, while Pacman itself is written in C, the
> "makepkg" portion of the system is a Bash script which allows easy
> hackability. That's what allowed Alex Merry to write the fake_install()
> patch that I still use today.

I.e., writing such patch would be easy. That's enough.

> While I'm a Pacman fan, it is by no means a perfect PM. It uses an
> ASCII text package database which tends to slow down when you have a
> zillion packages installed.

The same applies to dpkg.

> It probably won't do everything you want, like
> easy splitting off of -devel and runtime packages.

How does Arch Linux handle library transitions then? E.g., suppose that a new 
version of OpenSSL appear that builds libssl.so.0.9.9. How do they avoid the 
situation that some of the binary packages (those not yet rebuilt) want the old 
libssl library?

> You seem to be striving for perfection. When I want all the bells and
> whistles I run a mainstream distro.

Without this, LFS is unsuitable for production use. Nevertheless, people want 
it. There are only two ways to deal with this situation: make LFS work 
perfectly, or drive them away from LFS even before they think about it in 
production. So, we are back at the old dilemma about LFS-course (that has to be 
simple and fully understandable by everyone, possibly even oversimplified, and 
it is not a bug that it doesn't work for a significant portion of users) vs 
LFS-distro (that also has to be present, just to show the shortcomings of 
LFS-course as a distro).

> It is simply too labour intensive to
> have "the lot" on a self built system. I looked at the amount of effort
> Dan has apparently put into his RPM based system and weeped :-(  Pacman is
> good enough for my meagre needs, but I wouldn't use it if, for example, I
> was trying to be the next Ubuntu.

Here I fully agree.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Poll results

2008-03-05 Thread Alexander E. Patrakov
m"/"I will ignore PM that doesn't allow 
package 
transfer"
0.33: "I use PM to revert mistakes"/"I will ignore PM that fails on busy system"
0.32: "I use PM for upgrading toolchain easily"/"I use PM to compile once, 
deploy everywhere"
0.32: "I will ignore PM that fails on busy system"/"I will ignore PM with 
non-bash syntax"
-0.31: "I trust the book"/"I want to know where each file comes from"
-0.31: "I trust the book"/"I use the clean-uninstallation feature"
0.31: "I use PM for removal of obsolete files"/"I won't use PM that clobbers 
config files"

Now the important, in my opinion, parts:

DESTDIR-based techniques are not as popular as others! So we have to learn them 
first before writing about them. Probably, this happens because the current LFS 
book is not really suited to DESTDIR. See also the high correlation coefficient 
(0.43) between this and deviation from LFS.

The "I rebuild often" and "I use the scripting feature of the PM" checkboxes 
are 
not correlated (-0.06). I find this strange and cannot explain.

The deviation rates from both LFS and BLFS are not correlated to the editor 
status. Thus, we can say that the community is not split.

It is surprising that a lot of users (among both editors and non-editors) will 
accept a totally broken package manager that overwrites their customizations of 
the configuration files. This indicates that they probably didn't try to 
implement package management themselves (or didn't even package stuff for 
regular distributions) and thus didn't meet the problem. Existence of such 
users 
that can't tell a key property of a good PM will surelly negatively affect the 
quality of the resulting pages in LFS. I.e., again, we have to learn more about 
package management before attempting to write about it.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Poll is closed

2008-03-05 Thread Alexander E. Patrakov
I wrote:
> Please reply to this message (please, limit this to the lfs-dev list
> only) and mark with "X" the items that apply.

Any replies after this will be ignored. Thanks for your input.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Package Management - technical comparisons

2008-03-05 Thread Alexander E. Patrakov
 package into
packagename.install files (the other alternative is to call dh_install
or dh_move with the exlicit arguments what to move to a different
package). List configuration files.

>  - what it likely is not able to do for its users

It can do everything with the right optional dependencies installed.

>  - how well it can deal with matters such as conflict resolution and
>  dependency handling

Same as RPM or better. The "optional runtime dependency" stuff (aka
recommendations and suggestions) is not likely to be used by LFSers,
because it is useless without a repository. Neither RPM nor DPKG have
"optional build-time dependencies", and Debian has a release goal of
100% reproducible builds (for the purposes of securty rebuilds) even
when wagonloads of potentially useful packages are installed (so that,
e.g., an upload by the security team never switches the dependency
from expat to libxml2 if a package can use either of them).

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: BLFS-6.3 status

2008-03-05 Thread Alexander E. Patrakov
2008/3/5, Jeremy Henty <[EMAIL PROTECTED]>:
> Dillo  Classic certainly  works well  enough  to be  useful.  Is  that
>  enough?

No, please go to http://www.lenta.ru/ (a Russian news site) and see
wrong characters (if you don't apply the i18n patch). Ag decided that
Links compiled without graphics is useless with such sites (even
though in legacy non-UTF-8 locales it works--so Dillo is worse than
Links), and the book must be self-consistent.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page


Re: Package Management - technical comparisons

2008-03-05 Thread Alexander E. Patrakov
 bash syntax in order to
understand the existing spec files (i.e., know how various %{things}
expand)
- Some stock post-processing scripts contain small (i.e., ignorable)
bugs, but I'll raise the known ones upstream.
- The %configure macro interferes (ore, more correctly, duplicates or
overlaps in functionality) with config.site files, but the
autogenerated spec files are not expected to use this macro, so this
is likely to be a non-issue. However, in this case, setting the
default CFLAGS from RPM macros, as documented, will stop working.
- Binary database
- Embeds many third-party projects like Berkeley DB and the Lua
scripting language.

>  - why it's better than other candidates

Because Dan Nicholson has a lot of working spec files and thus the
initial "proof of concept" implementation of an LFS-like system with
the RPM package manager already exists.

>  - why it's worse than other candidates

Because of the "%configure" vs "./configure --prefix=/usr" issue.
"%configue" means that the paths will be different as compared to the
non-PM version of LFS, and that config.site files won't work.
"./configure" allows to achieve exactly the same result as the current
LFS, at the cost that the %{optflags} no longer sets the default
CFLAGS, contrary to its documentation.

>  - what it takes to integrate it in the LFS book
>* not looking for installation instructions. Just explain the impact

DESTDIR, post-installation steps, list of files whose MD5 sum can
change during the normal operation of package (e.g., for glibc, that's
/usr/lib/locale/locale-archive, because glibc provides the "localedef"
command that modifies this file), list of files that should not be
replaced on upgrades (aka configuration files). All of that goes into
spec files, that also specify how to split the package into the main
and -devel parts. This split is necessary with any binary package
manager that doesn't allow two packages to have the same file, in
order to allow gradually upgrading, say, from libreadline.so.5 to the
future libreadline.so.6 without removing everything.

>  and changes that will be required for successful use
>  - what it likely is not able to do for its users

It doesn't track which packages were explicitly asked for, and which
were installed only as dependencies. IOW even if someone writes a full
tree of build-time dependencies, RPM won't be able to use it in order
to automatically "install xfce" from source.

>  - how well it can deal with matters such as conflict resolution and
>  dependency handling

It doesn't allow two packages to have the same file. It tracks
dependencies of binary packages, and doesn't allow breaking them by
default. Moreover, often it finds the library dependencies
automatically. Source build-time dependencies have to be specified
manually.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


Re: Format for the future LFS

2008-03-05 Thread Alexander E. Patrakov
2008/3/5, DJ Lucas <[EMAIL PROTECTED]>:
> Alexander E. Patrakov wrote:
>  >
>  > So, please express your ideas in the following areas:
>  >
>
>
> First and foremost, SLOW DOWN  How about some baby steps instead of
>  leaps and bounds.  The recent threads are going nowhere because we have
>  20 individual topics crammed into one thread.  There have been 4 now
>  that have all resulted in no clear direction.  DESTDIR sounds like a
>  logical first step.  I've excluded the rest of your message as it
>  doesn't seem useful just yet.  Again, knowing nothing about the various
>  PMs, I've made some assumptions.  Can someone confirm or deny those for me?

Let's try. It is good that you don't forget that there are people that
think that DESTDIR is a wrong approach, and also note the fact that
most non-DESTDIR approaches can be applied to the corrent book without
the need for such extensive modifications.

>  For RPM, I've made the assumption that you take a spec file and a source
>  tarball, and create an installable binary package, then install that
>  package.  I don't suppose that the second step is automated only by rpm
>  itself, so the installation portion is different.  I expect that, but
>  are the configure, make, make install commands the same for all DESTDIR
>  methods?  Looking at different PMs, how much will be in common WRT to
>  CMMI?

I'd say, 90% if you avoid RPM-specific idioms. You can look at my spec
files in the "RPM: proof of concept" mail and see yourself.

>  On DESTDIR installs, DESTDIR can be an exported environment variable and
>  the target cleaned out after every installation is completed.

This may interfere with the way Makefiles get environment variables.

>  If that
>  is possible, then the no PM group, the install-watch group, and the
>  timestamp group are completeley unaffected by the changes for a mass
>  majority of the packages as DESTDIR="".  I'm looking for simplicity in
>  common instructions first.  Again, take some baby steps, one thing at a
>  time.  Lets try not make things so complicated just yet.  If the above
>  handles getting DESTDIR into the current book, with such simplicity,
>  then get that part done first.  Explicitly set DESTDIR="" for the first
>  cut and the book still works as is.  If not, then if you would be so
>  kind as to explain away my assumptions, it'd be much appreciated by me
>  for certain, but would help in educating the rest of the readers as well
>  WRT RPM anyway.  Also, the same goes for other DESTDIR PMs that anybody
>  would care to explain.

Yes, DIY uses this fact. They require the reader to set $PM_DEST to an
empty (no PM) or non-empty (PM) value, and run things like "make
DESTDIR=$PM_DEST install". However, for some packages, this may need a
command like "mkdir -p $PM_DEST/etc" before this.

Also note that post-installation steps are required in all
DESTDIR-based methods (e.g., to register info documentation
correctly), and that all configuration files have to be marked as such
in order to avoid their overwriting. "DESTDIR alone" is just broken,
so a baby step leads to a hole in the ground.

-- 
Alexander E. Patrakov
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page


  1   2   3   4   5   6   7   8   9   >