June 03, 2013
On 06/02/2013 03:25 PM, Nick Sabalausky wrote:
> 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.
>

do tell
June 03, 2013
On 06/02/2013 06:20 PM, 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.
>
> - Jonathan M Davis
>

Aha! you need to put -defaultlib=libphobos2.so for compiling the executable too!

and now it complains about not having libcurl-gnutls, which doesn't even exist in fedora, so

ln -s /usr/lib64/libcurl.so.4 /usr/lib64/libcurl-gnutls.so.4

then I get

/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_global_init@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_cleanup@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_slist_append@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_init@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_pause@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_slist_free_all@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_duphandle@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_strerror@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_perform@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_global_cleanup@CURL_GNUTLS_3'
/home/ellery/Downloads/dmd2/linux/bin64/../lib64/libphobos2.so: undefined reference to `curl_easy_setopt@CURL_GNUTLS_3'


So I concede the point about ldconfig (I'm thinking what I used was LD_LIBRARY_PATH)


hey! the rpm behaves the same way! Maybe building a fedora package on ubuntu is in fact a terrible idea!
June 03, 2013
On 6/2/13 7:42 PM, Ellery Newcomer wrote:
> 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?

Yah, get a specific tag from github and start from there.

Andrei
June 03, 2013
On 6/2/13 8:15 PM, Jonathan M Davis wrote:
> On Sunday, June 02, 2013 17:08:41 Walter Bright wrote:
>> On 6/2/2013 4:54 PM, Jonathan M Davis wrote:
>>> On Sunday, June 02, 2013 16:50:00 Walter Bright wrote:
>>>> It already is broken up per OS:
>>>>      http://dlang.org/download.html
>>>
>>> But the _zip_ file isn't. We keep asking for _that_ to be broken up.
>>
>> There's no reason to, as broken up ones are available for each system.
>
> Except that those are rpms and debs and whatnot which are different. I'm far
> from the first to bring this up. It has been brought up repeatedly for quite
> some time that folks don't want the zip to contain everything. They want to
> get the zip (or tarball) for their specific OS and that's it. Using an rpm and
> deb is fundamentally different, and if that were enough, why do we even have
> the zip? Separating the OSes out and having an installer are two separate
> issues (much as they have to be separated out for the installers), and most of
> us want the zip to be separated. I don't think that much of anyone around here
> thinks that the zip should contain all of the OSes. I believe that you're the
> only one that's actually thought that it was a good idea whenever it's been
> discussed. And the zip is only going to get bigger and bigger as we add shared
> library support (and possibly more OSes in the future).
>
> Regardless, the symlink issue alone shows that using the zip file format for
> *nix is a mistake. Any packages released for *nix needs to support symlinks
> correctly.

I quoted all of the above because I so much agree with it. Packaging all OSs in a zip is really disingenuous and now it's come to a head. Let's fix this for 2.064.


Andrei

June 03, 2013
On 6/2/13 8:24 PM, Ellery Newcomer wrote:
> On 06/02/2013 05:15 PM, Jonathan M Davis wrote:
>> On Sunday, June 02, 2013 17:08:41 Walter Bright wrote:
>>
>> Regardless, the symlink issue alone shows that using the zip file
>> format for
>> *nix is a mistake. Any packages released for *nix needs to support
>> symlinks
>> correctly.
>>
>> - Jonathan M Davis
>>
>
> Is it so hard to convert the zip to tarball in the installer scripts?
>
> (hint: no)

symlinks?

Andrei
June 03, 2013
On 6/2/13 7:33 PM, Andrei Alexandrescu wrote:
> On 6/2/13 8:15 PM, Jonathan M Davis wrote:
>> On Sunday, June 02, 2013 17:08:41 Walter Bright wrote:
>>> On 6/2/2013 4:54 PM, Jonathan M Davis wrote:
>>>> On Sunday, June 02, 2013 16:50:00 Walter Bright wrote:
>>>>> It already is broken up per OS:
>>>>>      http://dlang.org/download.html
>>>>
>>>> But the _zip_ file isn't. We keep asking for _that_ to be broken up.
>>>
>>> There's no reason to, as broken up ones are available for each system.
>>
>> Except that those are rpms and debs and whatnot which are different. I'm far
>> from the first to bring this up. It has been brought up repeatedly for quite
>> some time that folks don't want the zip to contain everything. They want to
>> get the zip (or tarball) for their specific OS and that's it. Using an rpm and
>> deb is fundamentally different, and if that were enough, why do we even have
>> the zip? Separating the OSes out and having an installer are two separate
>> issues (much as they have to be separated out for the installers), and most of
>> us want the zip to be separated. I don't think that much of anyone around here
>> thinks that the zip should contain all of the OSes. I believe that you're the
>> only one that's actually thought that it was a good idea whenever it's been
>> discussed. And the zip is only going to get bigger and bigger as we add shared
>> library support (and possibly more OSes in the future).
>>
>> Regardless, the symlink issue alone shows that using the zip file format for
>> *nix is a mistake. Any packages released for *nix needs to support symlinks
>> correctly.
>
> I quoted all of the above because I so much agree with it. Packaging all OSs in a zip is really
> disingenuous and now it's come to a head. Let's fix this for 2.064.
>
>
> Andrei

The pull requests I submitted for dmd/druntime/phobos are the start of automating the process.  A few iterations of this and the auto-tester can create both snapshot builds as well as release builds against tags.
June 03, 2013
On 06/02/2013 07:33 PM, Andrei Alexandrescu wrote:
> On 6/2/13 8:24 PM, Ellery Newcomer wrote:
>> On 06/02/2013 05:15 PM, Jonathan M Davis wrote:
>>> On Sunday, June 02, 2013 17:08:41 Walter Bright wrote:
>>>
>>> Regardless, the symlink issue alone shows that using the zip file
>>> format for
>>> *nix is a mistake. Any packages released for *nix needs to support
>>> symlinks
>>> correctly.
>>>
>>> - Jonathan M Davis
>>>
>>
>> Is it so hard to convert the zip to tarball in the installer scripts?
>>
>> (hint: no)
>
> symlinks?
>
> Andrei

oh, hey. there's a %post thinggummy, so

%post
 ln -s /usr/lib64/{libphobos2.so,$SONAME}

would probably work great too.
June 03, 2013
On Sun, 02 Jun 2013 16:58:29 -0700
Jonathan M Davis <jmdavisProg@gmx.com> wrote:

> On Sunday, June 02, 2013 16:52:03 Walter Bright wrote:
> > On 6/2/2013 2:52 PM, Russel Winder wrote:
> > > 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.
> > 
> > Anyone is welcome to help out with the scripts that create deb and rpm files, which are here:
> > 
> >    https://github.com/D-Programming-Language/installer
> 
> Well, Nick is looking into some of that stuff. Hopefully, he'll be able to sort it out.
> 

What I'm doing is zip-packaging and bootstrapping. I don't really know much of anything about debs, rpms and such. Apologies if I've mislead anyone.

June 03, 2013
On Monday, June 03, 2013 00:38:09 Nick Sabalausky wrote:
> On Sun, 02 Jun 2013 16:58:29 -0700
> 
> Jonathan M Davis <jmdavisProg@gmx.com> wrote:
> > On Sunday, June 02, 2013 16:52:03 Walter Bright wrote:
> > > On 6/2/2013 2:52 PM, Russel Winder wrote:
> > > > 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.
> > > 
> > > Anyone is welcome to help out with the scripts that create deb and
> > > 
> > > rpm files, which are here:
> > >    https://github.com/D-Programming-Language/installer
> > 
> > Well, Nick is looking into some of that stuff. Hopefully, he'll be able to sort it out.
> 
> What I'm doing is zip-packaging and bootstrapping. I don't really know much of anything about debs, rpms and such. Apologies if I've mislead anyone.

Well, it's all part of the same thing. Maybe you won't deal with the rpms or debs explicitly, but what you're doing should enable them to be fixed. It's splitting up the zip file and making it so that we're distributing proper symlinks with *nix which is the key thing.

- Jonathan M Davis
June 03, 2013
On Sunday, 2 June 2013 at 21:00:57 UTC, Russel Winder wrote:
> On Sun, 2013-06-02 at 13:11 -0700, Jonathan M Davis wrote:
>> On Sunday, June 02, 2013 15:47:36 Gary Willoughby wrote:
>> > I've just run:
>> > 
>> > sudo ln -s /usr/lib/x86_64-linux-gnu/libphobos2.so
>> > /usr/lib/x86_64-linux-gnu/libphobos2.so.0.63
>> > 
>> > for now but i've never had to do that before. Is this a problem
>> > with the installer?
>> 
>> If you had to do that, then yes.
>
> I didn't have to do that on my Debian Unstable, but maybe I was lucky.
> However the structure:
>
> 	libphobos2.so the file
> 	libphobos2.so.0.63 a symbolic link to libphobos2.so
>
> 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

And symlink are created automagically by tooling.