June 03, 2013
On Sun, 2013-06-02 at 17:47 -0700, Jonathan M Davis wrote: […]
> All you should have to do is set the PATH so that it has dmd in it. Everything else should just work.

There is also the issue about whether the compiled stuff has the correct soname in it.

I think the correct solution for the debs is to build from a pure source-only tarball.

-- 
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 03, 2013
On Sun, 2013-06-02 at 18:20 -0700, Jonathan M Davis wrote: […]
> I don't believe that it's not an ldconfig problem. It's the fact that there's a libphobos2.so and not a libphobos2.so.0.63. It's the exact same problem that the rpm and deb files are having. dmd.conf already makes it so that the linker looks in the right place.

Building the deb from a pure source only tarball using the proper Debian deb building toolchain will sort all this out. I suspect the same goes for the Fedora RPM -- use the distribution specific toolchain.

It is 12 years since I built any RPMs so I declare myself lacking in knowledge on that front. Debs I can deal with though.

All that needs to be known is where is the official source release tarball for 2.063?

-- 
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 03, 2013
On Sun, 2013-06-02 at 19:09 -0700, Ellery Newcomer wrote: […]
> hey! the rpm behaves the same way! Maybe building a fedora package on ubuntu is in fact a terrible idea!

Build a Fedora package on Fedora or don't build it at all.

Question Fedora 17, 18, 19…

I could currently help with 18 but as soon as 19 is released (as opposed to alpha, beta, RC) I will upgrade.

-- 
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 03, 2013
On 6/2/2013 3:05 PM, Jonathan M Davis wrote:
> 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.

Creating deps and rpms is done from the zip file, and the scripts are here:

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

I know I'm sounding like a broken record, but those scripts are not a mystery and anyone can produce pull requests to add to them or fix them.
June 03, 2013
On 06/03/2013 01:30 AM, Ellery Newcomer wrote:
> 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.

Currently the Phobos make file generates: libphobos2.so.0.63.0 and creates two simlinks libphobos2.so and libphobos2.so.0.63, and sets the soname to libphobos2.s0.0.63.

The soname currently includes the minor version number because the compatibility currently breaks every release, when the phobos abi is more stable it should be removed from the soname.

-- 
Mike Wey
June 03, 2013
On Mon, 2013-06-03 at 20:09 +0200, Mike Wey wrote:
[…]
> Currently the Phobos make file generates: libphobos2.so.0.63.0 and creates two simlinks libphobos2.so and libphobos2.so.0.63, and sets the soname to libphobos2.s0.0.63.
> 
> The soname currently includes the minor version number because the compatibility currently breaks every release, when the phobos abi is more stable it should be removed from the soname.

Uuurrr… this isn't what is in the Debian deb file. :-(

Also there should be a symbolic link libphobos2.so.0 shouldn't there?

-- 
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 03, 2013
On Mon, 2013-06-03 at 10:29 -0700, Walter Bright wrote:
> On 6/2/2013 3:05 PM, Jonathan M Davis wrote:
> > 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.
> 
> Creating deps and rpms is done from the zip file, and the scripts are here:
> 
>     https://github.com/D-Programming-Language/installer
> 
> I know I'm sounding like a broken record, but those scripts are not a mystery and anyone can produce pull requests to add to them or fix them.

As I noted earlier, the deb creation scripts in that repository are just fundamentally the wrong way of creating debs. Also as noted earlier I can't do anything about this till August. The result will not be a pull request on the script in the repository, but a new Git repository specifically designed to use the Debian standard deb creation toolchain and a request to delete the script mentioned above from the whole release toolset. Sorry guv but you have to use the right tool for the job, and deb creation should use the deb creation tools.

The start point has to be a tarball of the source. If this is not part of the distribution release then we need to agree an officially acceptable process for creating a release source tarball.

Thanks.

-- 
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 03, 2013
On 6/3/13 2:30 PM, Russel Winder wrote:
> On Mon, 2013-06-03 at 10:29 -0700, Walter Bright wrote:
>> On 6/2/2013 3:05 PM, Jonathan M Davis wrote:
>>> 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.
>>
>> Creating deps and rpms is done from the zip file, and the scripts are here:
>>
>>      https://github.com/D-Programming-Language/installer
>>
>> I know I'm sounding like a broken record, but those scripts are not a mystery
>> and anyone can produce pull requests to add to them or fix them.
>
> As I noted earlier, the deb creation scripts in that repository are just
> fundamentally the wrong way of creating debs. Also as noted earlier I
> can't do anything about this till August. The result will not be a pull
> request on the script in the repository, but a new Git repository
> specifically designed to use the Debian standard deb creation toolchain
> and a request to delete the script mentioned above from the whole
> release toolset. Sorry guv but you have to use the right tool for the
> job, and deb creation should use the deb creation tools.
>
> The start point has to be a tarball of the source. If this is not part
> of the distribution release then we need to agree an officially
> acceptable process for creating a release source tarball.
>
> Thanks.

Instead of planning to work on it, one alternative would be to post bits and pieces of information in a bug report and guide others how to do it. Just a thought.

Andrei


June 03, 2013
On Mon, 2013-06-03 at 14:32 -0400, Andrei Alexandrescu wrote: […]
> Instead of planning to work on it, one alternative would be to post bits and pieces of information in a bug report and guide others how to do it. Just a thought.

OK. How about trying:

http://www.debian.org/doc/manuals/maint-guide/build.en.html http://wiki.debian.org/PackagingWithGit http://lpenz.org/articles/debgit/index.html http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html

The core of this is having the source tarball and a debian directory with all the appropriate files so that git-buildpackage can do its stuff.

I am not sure a bug report helps, what is needed is action and the creation of the Git repository to do the stuff. My problem is that I have Groovy, Python and Scala stuff to do for the next 2 months :-(

I hope this helps.

-- 
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 03, 2013
On 6/3/13 2:47 PM, Russel Winder wrote:
> On Mon, 2013-06-03 at 14:32 -0400, Andrei Alexandrescu wrote:
> […]
>> Instead of planning to work on it, one alternative would be to post bits
>> and pieces of information in a bug report and guide others how to do it.
>> Just a thought.
>
> OK. How about trying:
>
> http://www.debian.org/doc/manuals/maint-guide/build.en.html
> http://wiki.debian.org/PackagingWithGit
> http://lpenz.org/articles/debgit/index.html
> http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html
>
> The core of this is having the source tarball and a debian directory
> with all the appropriate files so that git-buildpackage can do its
> stuff.
>
> I am not sure a bug report helps, what is needed is action and the
> creation of the Git repository to do the stuff. My problem is that I
> have Groovy, Python and Scala stuff to do for the next 2 months :-(
>
> I hope this helps.

Thanks. We've learned with time to organized ourselves really well around bug reports (both discussions and guides for implementation), so: http://d.puremagic.com/issues/show_bug.cgi?id=10256


Andrei