June 02, 2013
On Sun, 2013-06-02 at 14:39 -0700, Jonathan M Davis wrote: […]
> Nick Sabalausky was looking at fixing up how the zip files are generated for Walter so that they we have separate packages for each OS, and if sorts that out, then I'm sure that the symlink issue can and will be sorted out. I believe that the push is to fully automate generating the release packages (probably using the autotester), but it pretty much requires folks other than Walter making those changes, since he doesn't change his habits and procedures with regards to this sort of thing very easily.

For Linux just use a tarball and the symlinks problem goes away since they can be represented. This covers all Posix compliant systems which leaves just Windows. Which I don't care about ;-)

If Walter is not willing to get this right then he mut pass on the responsibility to someone who is.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


June 02, 2013
On Sun, 2013-06-02 at 14:13 -0700, Ellery Newcomer wrote:
> On 06/02/2013 02:00 PM, Russel Winder wrote:
> >
> > is non-standard and not compliant. The standard structure should be:
> >
> > 	libphobos2.so.0.63 the file
> > 	libphobos2.so.0 a symbolic link to libphobos2.so.0.63
> > 	libphobos2.so a symbolic link to libphobos2.so.0
> >
> >
> 
> what is libphobos2.0

It is the soname concept. A soname specifies the number of API compatible versions. Basically it relates to the major version of an API.

cf. for example:

http://en.wikipedia.org/wiki/Soname http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#shlibpkgs

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


June 02, 2013
On Sun, 2013-06-02 at 14:20 -0700, Jonathan M Davis wrote: […]
> Create a bug report for it. I don't think that Walter realizes what's standard. And this whole problem probably stems from the fact that he can't put symlinks in the zip file that he generates, so he was talking about making it up to the maintainers to create the various symlinks, which IMHO is unacceptable long term, but it seems to require either changing the main release from a zip to something like 7zip or breaking it up per OS like a number of people have been asking for for ages. Regardless, the fact that the installer and rpm and whatnot are broken is unacceptable.

Not being able to put symlinks in a zipfile has nothing to do with getting deb files and RPM files correct since they should be built from tarballs.

Sounds like the system for creating distributions is broken.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


June 02, 2013
On Sunday, June 02, 2013 22:52:59 Russel Winder wrote:
> On Sun, 2013-06-02 at 14:20 -0700, Jonathan M Davis wrote: […]
> 
> > Create a bug report for it. I don't think that Walter realizes what's
> > standard. And this whole problem probably stems from the fact that he
> > can't
> > put symlinks in the zip file that he generates, so he was talking about
> > making it up to the maintainers to create the various symlinks, which
> > IMHO is unacceptable long term, but it seems to require either changing
> > the main release from a zip to something like 7zip or breaking it up per
> > OS like a number of people have been asking for for ages. Regardless, the
> > fact that the installer and rpm and whatnot are broken is unacceptable.
> 
> Not being able to put symlinks in a zipfile has nothing to do with getting deb files and RPM files correct since they should be built from tarballs.
> 
> Sounds like the system for creating distributions is broken.

It's done entirely by Walter on his own systems, and I suspect that the deb and rpm files are created from the zip file (though I'm not sure if he creates those or someone else does). We need to change it so that the process for generating them is automated and does not rely on Walter. Work is being done in that area, but it does not appear to be a priority for Walter.

- Jonathan M Davis
June 02, 2013
On Sun, 02 Jun 2013 22:52:59 +0100
Russel Winder <russel@winder.org.uk> wrote:
> 
> Sounds like the system for creating distributions is broken.
> 

Yea, I'm working on a replacement.
June 02, 2013
On 06/02/2013 02:51 PM, Russel Winder wrote:
> On Sun, 2013-06-02 at 14:13 -0700, Ellery Newcomer wrote:
>> On 06/02/2013 02:00 PM, Russel Winder wrote:
>>>
>>> is non-standard and not compliant. The standard structure should be:
>>>
>>> 	libphobos2.so.0.63 the file
>>> 	libphobos2.so.0 a symbolic link to libphobos2.so.0.63
>>> 	libphobos2.so a symbolic link to libphobos2.so.0
>>>
>>>
>>
>> what is libphobos2.0
>
> It is the soname concept. A soname specifies the number of API
> compatible versions. Basically it relates to the major version of an
> API.
>
> cf. for example:
>
> http://en.wikipedia.org/wiki/Soname
> http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html
> http://www.netfort.gr.jp/~dancer/column/libpkg-guide/libpkg-guide.html#shlibpkgs
>

$ objdump -p libphobos2.so | grep SONAME
  SONAME               libphobos2.so.0.63
June 02, 2013
On Sun, 2013-06-02 at 16:03 -0700, Ellery Newcomer wrote: […]
> $ objdump -p libphobos2.so | grep SONAME
>    SONAME               libphobos2.so.0.63

Exactly, the actual file should have the fully qualified soname and all other filenames should be symbolic links to that file. Currently the DMD deb reverses this and therefore violates the standard for deb installation.

-- 
Russel. ============================================================================= Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder@ekiga.net 41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel@winder.org.uk London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder


June 02, 2013
On 06/02/2013 04:12 PM, Russel Winder wrote:
> On Sun, 2013-06-02 at 16:03 -0700, Ellery Newcomer wrote:
> […]
>> $ objdump -p libphobos2.so | grep SONAME
>>     SONAME               libphobos2.so.0.63
>
> Exactly, the actual file should have the fully qualified soname and all
> other filenames should be symbolic links to that file. Currently the DMD
> deb reverses this and therefore violates the standard for deb
> installation.
>

actually, your resource above says that the soname should have the format

lib{lib}.so.X

and the real name should have the format

lib{lib}.so.X.Y.Z

where

X = version number
Y = minor version number
Z = release number

so the generated .so itself violates the standard.
June 02, 2013
On 06/02/2013 03:05 PM, Jonathan M Davis wrote:
> On Sunday, June 02, 2013 22:52:59 Russel Winder wrote:
>> On Sun, 2013-06-02 at 14:20 -0700, Jonathan M Davis wrote:
>> […]
>>
>>> Create a bug report for it. I don't think that Walter realizes what's
>>> standard. And this whole problem probably stems from the fact that he
>>> can't
>>> put symlinks in the zip file that he generates, so he was talking about
>>> making it up to the maintainers to create the various symlinks, which
>>> IMHO is unacceptable long term, but it seems to require either changing
>>> the main release from a zip to something like 7zip or breaking it up per
>>> OS like a number of people have been asking for for ages. Regardless, the
>>> fact that the installer and rpm and whatnot are broken is unacceptable.
>>
>> Not being able to put symlinks in a zipfile has nothing to do with
>> getting deb files and RPM files correct since they should be built from
>> tarballs.
>>
>> Sounds like the system for creating distributions is broken.
>
> It's done entirely by Walter on his own systems, and I suspect that the deb
> and rpm files are created from the zip file (though I'm not sure if he creates
> those or someone else does). We need to change it so that the process for
> generating them is automated and does not rely on Walter. Work is being done
> in that area, but it does not appear to be a priority for Walter.
>
> - Jonathan M Davis
>

I thought the packages were generated using the scripts at

https://github.com/D-Programming-Language/installer/tree/master/linux

which pull the zip files from ftp.digitalmars.com

What would an automated process look like? I would think something like a script which makes a tarball out of the git repos and then some more which turn the tarball into rpm or deb or what have you?
June 02, 2013
On 6/2/2013 2:20 PM, Jonathan M Davis wrote:
> Create a bug report for it. I don't think that Walter realizes what's
> standard. And this whole problem probably stems from the fact that he can't
> put symlinks in the zip file that he generates, so he was talking about making
> it up to the maintainers to create the various symlinks, which IMHO is
> unacceptable long term, but it seems to require either changing the main
> release from a zip to something like 7zip or breaking it up per OS like a
> number of people have been asking for for ages. Regardless, the fact that the
> installer and rpm and whatnot are broken is unacceptable.

It already is broken up per OS:

  http://dlang.org/download.html

As for creating the installers and rpms, here are the scripts that do it:

  https://github.com/D-Programming-Language/installer

Pull requests are welcome.