| These were built for Linux. Unfortunately, I don't have access to
Windows or Mac to test there. But the same XML files should work for
someone building installers on them.
For building everything what I did was:
1) compile Csound and install it to a tmp folder,
2) use a binary provided by the Qt Installer framework called archivegen to create the compressed file,
3) use a binary called binarycreator to create the offline installer,
4) use a binary called repogen for generating the online repository folder structure,
5) call binarycreator once again passing "--online-only" as a command line option to create the online installer.
It's really a simple process once you have your XML files.
I didn't know about the Github limit. I went with the raw.usergithub
hack as a poor man's solution, but you can have different URLs baked
inside the installer and they also can be added at run-time by the user.
If people (or perhaps Universities) want to host the repository on their
servers, then they will need to have a directory like this one made
available
(https://github.com/gsenna/CsoundInstaller/tree/master/CsoundInstall).
If we go for a mixture of what I presented as options A and B then some
of the 7z files in there will in turn contain the binary installers
provided by the frontend developers.
A thing to have in mind is that each repository hosted will have its own
copy of Updates.xml, so if there are, for example, three servers hosting
the repository we'll have to update each one of them whenever there's a
new release.
I actually don't think we need this kind of installer for linux. Snaps
looks promising, but maybe we just need to make sure that there's a .deb
or .rpm package available on the distros repos. for every component we
add to the Windows/Mac installers.
Let me know what you think! Cheers.
On 19/10/17 11:36, Steven Yi wrote:
> Hi Guillermo,
>
> Thanks for sharing this. Blue does not have an installer at this time,
> but I could certainly add one if it's going to work with all of this.
>
> I looked at the repo: are these files built for Linux? (I unzipped
> the Csound6.7z and it seemed that way).
>
> The repo looks to host the built files; I didn't see what was used for
> building the 7zip files, are they in the repo?
>
> Also, I worry about hosting binaries in a Github repo. Github[1]
> looks to have limits of 1gb and 100mb for individual files. (This is
> different than the releases section I think.) If the network
> installer can point to various domains for files, we would just need
> to host the registry, yes?
>
> I also wonder if we should look at Snap for Linux and focus on
> installers for WIndows/OSX.
>
> steven
>
>
> [1] - https://help.github.com/articles/what-is-my-disk-quota/
>
> On Wed, Oct 18, 2017 at 1:41 PM, Guillermo Senna wrote:
>> Yes, option A seems good. But does Blue have an installer?
>>
>> Unfortunately what I tried yesterday was option B because that seems to
>> be what they were aiming at for this framework (using .7z files). But
>> you can execute commands through scripting so I don't think there'll be
>> any problems implementing option A. Actually, I think we can do both
>> options depending on the frontend being installed. Besides scripting, we
>> might need to create a custom UI for that.
>>
>> Anyway, here's my Github -> https://github.com/gsenna/CsoundInstaller
>>
>> config/config.xml has the general options for the installer itself and
>> the URLs of the repositories for the online installer.
>> (raw.githubusercontent.com/...) works.
>>
>> packages/ has subfolders for each component. Inside them
>> meta/package.xml has the options for each package and data/ has the .7z
>> file with the contents of what's going to be installed.
>>
>> Then there's that CsoundInstall folder which is the repository and it
>> should be available all of the time. The file Updates.xml is what the
>> online installer fetches.
>>
>>
>> Cheers.
>>
>>
>> On 18/10/17 13:27, Steven Yi wrote:
>>> Option A would seem to make sense to me. Guillermo: Would you have
>>> anything to post via Github repository? I'd be curious to see what
>>> the project files looks like to put together the installer.
>>>
>>> On Tue, Oct 17, 2017 at 3:46 PM, Rory Walsh wrote:
>>>> Ah, my bad, your right, option a! But I don't mind to be honest. Either will
>>>> work fine. I just think a is less work for the Csound devs and easier to
>>>> maintain.
>>>>
>>>> On 17 Oct 2017 8:32 p.m., "Guillermo Senna" wrote:
>>>>> Wait, but did you mean option A then? I apologize if I'm not describing
>>>>> each option very well.
>>>>>
>>>>> A) would imply that each frontend developer has to create its own
>>>>> installer.
>>>>>
>>>>> B) on the other hand would mean that each frontend developer has to give
>>>>> us a zipped file with the contents of what would be, for example for
>>>>> Cabbage, the CabbageBuild directory.
>>>>>
>>>>>
>>>>> On 17/10/17 16:16, Rory Walsh wrote:
>>>>>> I think b is a good option. It would be less work for the Csound devs
>>>>>> and
>>>>>> put things back in the court of the front-end developers. That's if all
>>>>>> front-ends actually provide installers?
>>>>>>
>>>>>> On 17 Oct 2017 6:42 p.m., "Guillermo Senna" wrote:
>>>>>>
>>>>>>> I've just run a small test on Linux, hosting the data on Github. It
>>>>>>> works.
>>>>>>>
>>>>>>> However, we'll need to sort something out first. There are two options:
>>>>>>> a) We create an online installer that downloads other installers and
>>>>>>> executes them, or b) we have just one online installer that also
>>>>>>> performs the actual installation of each frontend.
>>>>>>>
>>>>>>> Cheers.
>>>>>>>
>>>>>>>
>>>>>>> On 17/10/17 05:53, Rory Walsh wrote:
>>>>>>>> Cool. I was looking at InstallBulider, which is free for use in open
>>>>>>> source
>>>>>>>> projects and also seems to tick most boxes. I had no intention of
>>>>>>>> adding
>>>>>>>> anything to the Csound repo at any point until the community decided
>>>>>>>> it
>>>>>>> was
>>>>>>>> a good way forward. My thinking was that this one 'extended' installer
>>>>>>>> might be used for all cases. One could choose to install just Csound
>>>>>>>> or
>>>>>>> any
>>>>>>>> number of additional 3rd party apps like CsoundQT, WinXound, Cabbage,
>>>>>>> Blue,
>>>>>>>> etc. Anyhow, I'll take a look at the QTInstaller stuff. If anyone
>>>>>>>> makes
>>>>>>> any
>>>>>>>> rudimentary tests perhaps you could post it to gisthub to share?
>>>>>>>>
>>>>>>>> On 17 October 2017 at 00:28, Steven Yi wrote:
>>>>>>>>
>>>>>>>>> Hi Guillermo and Rory,
>>>>>>>>>
>>>>>>>>> Guillermo: Thanks for your research into various installer systems!
>>>>>>>>> I
>>>>>>>>> was just in the middle of replying about QT Installer Framework as it
>>>>>>>>> seems to tick off all the boxes (free, open source, cross-platform).
>>>>>>>>> It looks like it does network installs and updates so feature-wise
>>>>>>>>> looks to cover things we've talked about.
>>>>>>>>>
>>>>>>>>> Rory: What installer system are you looking at using?
>>>>>>>>>
>>>>>>>>> I was thinking along what Guillermo was saying and maybe we could
>>>>>>>>> manage the XML file in Git. What about working on this installer
>>>>>>>>> *outside* of the csound main repository? My thought here is that
>>>>>>>>> whomever is working on it could figure out and decide which
>>>>>>>>> installers
>>>>>>>>> from Core Csound, CsoundQt, Cabbage, etc. to choose from for
>>>>>>>>> installation. We'd have to figure out how to publish components for
>>>>>>>>> installation from various projects.
>>>>>>>>>
>>>>>>>>> Thanks!
>>>>>>>>> steven
>>>>>>>>>
>>>>>>>>> On Mon, Oct 16, 2017 at 7:22 PM, Guillermo Senna
>>>>>>> wrote:
>>>>>>>>>> Hi Rory,
>>>>>>>>>>
>>>>>>>>>> I've never used it, but already suggested the Qt Installer
>>>>>>>>>> Framework.
>>>>>>>>>> Frontends would be "add-ons". It has automatic updates and according
>>>>>>>>>> to
>>>>>>>>>> the docs can create online and offline installers for Windows, Linux
>>>>>>> and
>>>>>>>>>> OSX (or whatever is called now).
>>>>>>>>>>
>>>>>>>>>> We would need to create and update an XML file inside the Github
>>>>>>>>>> repo
>>>>>>>>>> and I think we can get away with the link if we feed the installer
>>>>>>>>>> with
>>>>>>>>>> something like:
>>>>>>>>>> https://raw.githubusercontent.com/csound/csound/develop/config.xml.
>>>>>>>>>>
>>>>>>>>>> But I have to say this is all based on what I could learn from just
>>>>>>>>>> a
>>>>>>>>>> quick glance at the docs
>>>>>>>>>> (http://doc.qt.io/qtinstallerframework/index.html).
>>>>>>>>>>
>>>>>>>>>> Cheers.
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 16/10/17 16:48, Rory Walsh wrote:
>>>>>>>>>>> I've been looking at building an installer that would offer
>>>>>>>>>>> optional
>>>>>>>>>>> downloads of 3rd party frontends when installing Csound. Ideally
>>>>>>>>>>> this
>>>>>>>>>>> installer would only ever need to be built once. It should, when
>>>>>>>>> launched,
>>>>>>>>>>> search for the latest versions (stable or otherwise) of both Csound
>>>>>>> and
>>>>>>>>> its
>>>>>>>>>>> various frontends. The problem is that github doesn't provide a
>>>>>>> generic
>>>>>>>>>>> link to the latest release. Without that the install script would
>>>>>>>>>>> have
>>>>>>>>> to
>>>>>>>>>>> be updated with each release. Can anyone think of any workarounds.
>>>>>>> What
>>>>>>>>> I
>>>>>>>>>>> would like is a permanent link to Csound's latest release for both
>>>>>>>>> Windows
>>>>>>>>>>> and OSX.
>>>>>>>>>>>
>>>>>>>>>>> Csound mailing list
>>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>>> Send bugs reports to
>>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>>>>
>>>>>>>>>> Csound mailing list
>>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>>> Send bugs reports to
>>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>> Csound mailing list
>>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>>> Send bugs reports to
>>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>>
>>>>>>>> Csound mailing list
>>>>>>>> Csound@listserv.heanet.ie
>>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>>> Send bugs reports to
>>>>>>>> https://github.com/csound/csound/issues
>>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>>
>>>>>>> Csound mailing list
>>>>>>> Csound@listserv.heanet.ie
>>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>>> Send bugs reports to
>>>>>>> https://github.com/csound/csound/issues
>>>>>>> Discussions of bugs and features can be posted here
>>>>>>>
>>>>>> Csound mailing list
>>>>>> Csound@listserv.heanet.ie
>>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>>> Send bugs reports to
>>>>>> https://github.com/csound/csound/issues
>>>>>> Discussions of bugs and features can be posted here
>>>>>>
>>>>> Csound mailing list
>>>>> Csound@listserv.heanet.ie
>>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>>>> Send bugs reports to
>>>>> https://github.com/csound/csound/issues
>>>>> Discussions of bugs and features can be posted here
>>>> Csound mailing list Csound@listserv.heanet.ie
>>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to
>>>> https://github.com/csound/csound/issues Discussions of bugs and features can
>>>> be posted here
>>> Csound mailing list
>>> Csound@listserv.heanet.ie
>>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>>> Send bugs reports to
>>> https://github.com/csound/csound/issues
>>> Discussions of bugs and features can be posted here
>> Csound mailing list
>> Csound@listserv.heanet.ie
>> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
>> Send bugs reports to
>> https://github.com/csound/csound/issues
>> Discussions of bugs and features can be posted here
> Csound mailing list
> Csound@listserv.heanet.ie
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> Send bugs reports to
> https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here |