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 > [email protected] > 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 _______________________________________________ openindiana-discuss mailing list [email protected] https://openindiana.org/mailman/listinfo/openindiana-discuss
