[OpenIndiana-discuss] building software in OI
Tony Brian Albers
tba at kb.dk
Mon Oct 12 08:23:07 UTC 2020
Hi Andreas,
What an excellent answer!
Thank you very much, I'll give it a shot.
/tony
On 10/09/20 04:50 PM, Andreas Wacknitz wrote:
> Am 09.10.20 um 16:05 schrieb Tony Brian Albers:
>> Hi,
>>
>> OK, this might just be me being dumb, but I can't find any info on how
>> to build applications from source to/on OI anywhere.
>>
>> If, for instance, I want to build xeyes, where do I find the necessary
>> header files etc? It's easy to get a hold of gcc etc. but I'm really
>> struggling finding -devel packages(like xorg-devel in Linux i.e.)
>>
>> Am I missing something obvious? I'm not a programmer, and the OI wiki's
>> description of oi-userland just confuses me. The github description
>> doesn't help either. It's vogon to me.
>>
>> TIA for any pointer/suggestions
>>
>> /tony
>>
> Hi Tony,
>
> The recommended way to build applications on OI has been documented on
> our new (yet unfinished) Hipster Handbook in "Building with
> oi-userland": https://docs.openindiana.org/dev/userland/
>
> A more precise formulation would be "build and deploy applications on
> OI" because when you have
> built a software eg. by compiling and linking all sources, you won't
> stop there but go on and create a package of it.
>
> Using a fork of oi-userland will also make it possible for you to
> contribute to OI's development.
>
> I assume that you are familiar with Github and have already an account
> there. If you don't you can only create
> local clones (no fork on Github).
>
> The (simplified) steps look like this:
>
> 1. Create your own fork of oi-userland
> (https://github.com/OpenIndiana/oi-userland) on GitHub by means of the
> "fork" button in the upper right corner.
> You just have to answer some question in the following dialog.
>
> 2. Create a local clone of it on your computer (copy the URI of your
> fork in your buffer via the green "Code" button in your Github fork):
> cd <work directory for your oi work>
> # Clone your own fork on Github. This creates a git remote with the
> name "origin":
> git clone <paste the URI of your fork of oi-userland>
> cd oi-userland
> # Add OI's repository as a remote under the name "upstream"
> git remote add upstream https://github.com/OpenIndiana/oi-userland.git
> # Get everything from OI's repository:
> git fetch upstream && git merge upstream/oi/hipster
> # Prepare system:
> gmake setup
>
> 3. After you have successfully created a local clone of oi-userland with
> the remotes "origin" and "upstream" you are ready for working on it.
> As a first step you should make yourself with the structure and
> contents of the repository.
> There is a "doc" with valuable information to read (depending on
> your level of knowledge you will not grasp all at once).
> The most important subfolder is "components" which holds a folder
> for every package of the repository (in the leave folders).
> For every software you want to update or add to the repository
> follow the next steps:
> 3.1 cd <work directory of your oi work>
> git pull upstream # Make sure to sync with the newest from OI
> git checkout -b <branch name for your work> # Always create a
> new branch for your work, eg. "git checkout -b nodejs-update"
> cd components # All package "source descriptions" are either
> located here or in a sub folder
> cd <folder of your application> # eg. "cd runtime/node14". It
> may be necessary to create a new folder if you are starting from scratch
> for a new application
> <create necessary files, like Makefile, <package manifest>, ...>
> 3.2 When you are done with your changes run one of the following
> commands (look at doc/makefile-targets.txt for explanations and more
> targets). Fix errors :)
> gmake build
> gmake sample-manifest
> gmake publish # This creates a new package revision in your
> local repository
> 3.3 When you are done with everything you will add all new or changed
> files and commit it to your repository:
> git add <files>
> git commit -m "<enter a commit message here>" # This will add a
> commit on your local repository in the active branch (from3.1).
> When you want to publish your additions/changes the next step
> would be to upload your commit(s) to your own fork on Github:
> git push origin <branch name>:<branch name> # eg. "git push
> origin nodejs-update:nodejs-update"
> 3.4 If you want to add to OI's repository you can create a Pull Request
> (PR) when you log in to Github.
>
>
> It will take some time to get familiar with this but I think it's worth
> the efforts.
>
> Andreas
>
> _______________________________________________
> openindiana-discuss mailing list
> openindiana-discuss at openindiana.org
> https://openindiana.org/mailman/listinfo/openindiana-discuss
--
Tony Albers - Systems Architect - IT Development Royal Danish Library,
Victor Albecks Vej 1, 8000 Aarhus C, Denmark
Tel: +45 2566 2383 - CVR/SE: 2898 8842 - EAN: 5798000792142
More information about the openindiana-discuss
mailing list