[Bug 523715] Review Request: logiweb - a system for electronic distribution of mathematics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=523715

--- Comment #46 from Klaus Grue <grue@xxxxxxx> 2010-03-15 17:00:02 EDT ---
> Okay, now 0.2.8-2 compiles at least on ...
> - F-13 i686/x86_64
> - F-12 i686/x86_64/ppc
> - F-11 i586/x86_64/ppc

Great. Thanks!

> ExclusiveArch: %{ix86} x86_64 ppc
>     or
> ExcludeArch:  ppc64

I will think about this. I fear I would be unable to respond
to a bug report against one of the other architectures, but
I will see if I can dig up hardware or something. In any case,
I shall include an ExcludeArch statement.

> ? src/lgc
>   - Well, what does the "string" on line 3 mean? Is this an arbitrary
>     string or is this string generated by some other process?

Sorry for the giving a long response:

It is a RIPEMD-160 global hash key. The "MD" in "RIPEMD" is the same
as the "MD" in "MD5". The purpose of RIPEMD-160 is the same as the
purpose of MD5. RIPEMD-160 is just *much* safer:

   @inproceedings{ripemd,
       author    = {Hans Dobbertin and Antoon Bosselaers and Bart Preneel},
       title     = {{RIPEMD}-160: A Strengthened Version of {RIPEMD}},
       booktitle = {Fast Software Encryption},
       pages     = {71-82},
       year      = {1996}}

Or, more precisely, the string is a "Logiweb reference" which
comprises a one byte version number, a 20 byte RIPEMD-160 key,
and a timestamp of around 9 bytes. There is something on the
structure of such references at 
http://logiweb.eu/1.0/doc/lgs/syntax/vectorize/reference.html

When the Logiweb abstract machine (lgwam) executes a program
(such as src/lgc and /usr/bin/lgc), it uses the Logiweb
reference to look up the real bytes of the program. Lgwam may
find those bytes inside itself (compiled in via pages.c) or
other places like $HOME/.logiweb/REF/rack.lgr where REF
is the Logiweb reference.

Even though the present lgwam does not implement it, the
system has the ability to fetch the real bytes of a program
from an untrusted repository across an untrusted network
like the Internet, in which case the RIPEMD-160 hash key
can be used for verifying that no-one has tampered with the
bytes. For more on that, see:
http://logiweb.eu/1.0/doc/man/man1/lgc.1.html
http://logiweb.eu/1.0/doc/lgs/syntax/vectorize/authenticity.html
http://logiweb.eu/1.0/doc/compare/java.html

The present version of Logiweb does use the reference for
other kinds of authentication. As an example, if a
mathematician references a theorem in an untrusted repository
across an untrusted network, the system will fetch the
theorem and verify that it is the right theorem using
RIPEMD-160.

>  ! This string seem to appear on
>    * ./src/lgc
>    * ./src/lgc.lgs
>    * ./src/boot/lgc/lgc.lgs
>  - Some other files (like ./src/testsuite/auto/autobase1.lgs or so)
>    also has some seemingly-random string. Would you explain how
>    these strings are generated?

The header in the *.lgs files are also Logiweb references. One can
ask lgc to write the reference of a page back to the source file c.f. 
http://logiweb.eu/1.0/doc/intro/header.html

> ? Requires
> - I don't know this software well, however is "texlive-latex, dvipdfm"
>   needed for "Requires"? (from your comment 23, these don't seem
>   to be needed for Requires)

It may seem peculiar, but texline-latex and dvipdfm are needed both
as 'requires' and 'build-requires'. That is because Logiweb is a
literate programming language:
http://logiweb.eu/1.0/doc/intro/literate.html
As an example, if the programmer writes this program:
http://logiweb.eu/1.0/doc/pages/combinations/source.lgs
Then the Logiweb compiler generates this 'printer friendly' format:
http://logiweb.eu/1.0/doc/pages/combinations/page/page.pdf
That is done using texlive-latex and dvipdfm, so they are required.

The lgc compiler is written in its own language. That is why
texlive-latex and dvipdfm are also build-required.

> ! rpmlint
> logiweb.i686: W: spurious-executable-perm ...
>    For this package as compile.sh has executable permission
>    its shebang dependency "/bin/bash" is automatically added
>    to the rebuilt binary, which is perhaps not needed.

Aha! Thanks for the explanation. I did not understand the warning.
Now I understand it is /bin/bash that gets required.
I will either remove the executable permission or move
/usr/share/doc/logiweb/examples/compile.sh
into
/usr/share/doc/logiweb/examples/makefile

> * Directory ownership issue
> https://fedoraproject.org/wiki/Packaging/Guidelines#File_and_Directory_Ownership
>  https://fedoraproject.org/wiki/Packaging/UnownedDirectories#Common_Mistakes
>  - Currently the following directories themselves are not owned
>    by any packages.
> %{_docdir}/%{name}/

I shall take a look at that.

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
package-review mailing list
package-review@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/package-review

[Index of Archives]     [Fedora Legacy]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]