[dmd-beta] dmd 2.065 rc 1

Jordi Sayol g.sayol at yahoo.es
Thu Feb 20 15:09:42 PST 2014


El 20/02/14 23:03, Leandro Lucarella ha escrit:
> Andrew Edwards, el 17 de February a las 17:59 me escribiste:
>> http://ftp.digitalmars.com/dmd_2.065.0~rc1-0_amd64.deb
>> http://ftp.digitalmars.com/libphobos2-65_2.065.0~rc1-0_amd64.deb
> 
> Hi, I'm inspecting in particular these debian packages and I found
> points that could be improved:
> 
> * First is those two packages conflict and both provides the phobos
>   libraries. Usually in Debian/Ubuntu what you should provide is
>   a libphobos with the .so and a libphobos-dev with the headers and
>   .so.version and .a. The dmd package should probably depend on
>   libphobos-dev and should not provide headers or libraries.

This is not entirely correct.

I would like to clarify something first:
The dmd deb packages from <http://dlang.org/download.html> are "all-in-one" packages, so users has to download just one file to install everything related to dmd, and easily upgrade everything to new versions. This shouldn't be compared with the Debian repositories system, for that you have <http://d-apt.sourceforge.net/>.

On d-apt repository there are four packages related with dmd:
- "dmd-bin" - includes the compiler and other utilities. Depends on "libphobos2-dev"
- "dmd-doc" - includes the documentation with a system menu entry, and man pages.
- "libphobos2-65" - includes the runtime shared library "libphobos2.so.65.0" (real share lib) and "libphobos2.so.65" (SONAME symlink to the real lib).
- "libphobos2-dev" - includes "libphobos2.a", source modules and "libphobos2.so" (symlink to real lib. It's just for linking purposes). Depends on "dmd-bin" and "libphobos2-65"

A couple of things about "libphobos2-65":
- It's present on <http://ftp.digitalmars.com/> because shared libraries are necessaries at run-time. Thus, users can run programs compiled with dmd on computers without the compiler installed.
- Version is included on package name, allowing to install several versions at same time.

"dmd-bin", "dmd-doc" and "libphobos2-dev" conflicts "dmd".
"libphobos2-65" conflicts only "dmd" v2.065, but not other versions.

> 
> * It is probably a good idea to provide a separate package for the extra
>   tools (ddemangle, rdmd, etc), probably dmd-util or something like
>   that. Maybe even a package per tool but it could be too much.

Ok, added on TODO list, in a very low priority.

> 
> * 32 bit and 64 bit libraries should probably also be provided by
>   different packages (with the same name but different architectures,
>   this is supported by multiarch). In the common setup people only care
>   about the current architecture and is not interested in
>   cross-compiling.

This is already done on d-apt.

> 
> * There is garbage in the include directories in phobos in the dmd
>   package (in /usr/include/dmd/phobos). There are README files and even
>   .d files that could get imported by mistake by user code. Ideally this
>   should be sanitized and documentation moved to /usr/share/doc/dmd (or
>   the respective phobos package).

You're right, I'll clean up, but I don't know if everything out of "std" directory can be removed.
"etc" folder can be removed?

> 
> I do understand maybe is not a priority to fix them right now (or for
> this release) and I do appreciate the huge advances made in terms of
> release and distribution, but I thought it might be useful to mention
> them before I forget. :)
> 
> Thanks!
> 

Thank you for your comments.

Regards,
-- 
Jordi Sayol


More information about the dmd-beta mailing list