delucks / sgug-rse

Silicon Graphics User Group RPM Software Environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

sgug-rse

Silicon Graphics User Group RPM Software Environment

Licensing

It is intended that any fedora .spec files listed here are under the "Fedora Project Contributor Agreement": https://fedoraproject.org/wiki/Legal:Fedora_Project_Contributor_Agreement.

Notably - fedora specifically mentions spec file licensing here: https://fedoraproject.org/wiki/Licensing:Main#License_of_Fedora_SPEC_Files

Unless otherwise stated, those .spec files remain under their original license as per their contribution to Fedora. This project does not attempt to supplant nor change the license of these works.

The modifications from the original fedora .spec files fall under the license of the sgug-rse project, namely GPL3.

Contributing

Want to help? Please see our contribution guide.

How to get this working

NOTE: While we are not yet out of beta, it is recommended to remove any previous sgug-rse installation before extracting this new one. We don't yet support in-place upgrades using RPMs:

# As root
rm -rf /usr/sgug/*

(1) Add your user account to the irix sys group - this will allow you to use the sgug sudo out of the box with your user password - then you can follow the steps below without additional hoop jumping.

Need help with setting up sudo? Please see our troubleshooting guide.

(2) Ensure your system can cope with long command line buffers:

# As root
su -
# Show existing value
systune ncargs
# Tweak if < 262144
systune ncargs 262144

(3) Download the artifacts for the latest version from the github releases tab (assuming they aren't too big).

You'll find three main archives:

sgug-rse-selfhoster-0.0.7beta.tar.gz
sgug-rse-localrepo-0.0.7beta.tar.gz

(4) Extract the selfhoster and local repo archives under /usr as root (important, sgug-rse installation files are root owned and managed):

su -  #(enter root password)
cd /usr
gunzip -dc /path/to/sgug-rse-selfhoster-0.0.7beta.tar.gz | tar xf -
gunzip -dc /path/to/sgug-rse-localrepo-0.0.7beta.tar.gz | tar xf -
(log out of root)

(5) Setup SGUG environment.

To install and use SGUG software, you'll need to add some directories to PATH and modify some shell variables. Here's an example for tcsh:

# Expand path to include SGUG
set path = ( /usr/sgug/bin /usr/sgug/sbin $path )

# Explicit library paths
setenv LD_LIBRARYN32_PATH /usr/sgug/lib32:/usr/lib32:/lib32:/usr/lib:/lib

# Add SGUG manuals to search path
setenv MANPATH /usr/sgug/share/man:/usr/share/catman:/usr/share/man:/usr/catman:/usr/man:$HOME/man

# Work around libiconv localisation issue
setenv LC_ALL C

If you'd prefer to skip this setup, you can run /usr/sgug/bin/sgugshell, which is a wrapper for bash that sets up the correct environment to use SGUG software. This shell wrapper is provided by sgug-rse, so during installations or reinstallations of sgug-rse it is temporarily unavailable. For this reason, DO NOT use sgugshell as the root user's default shell. Doing so may cause root to be unable to execute commands after the upgrade, and prevent the system from starting after a reboot. You may use it as the default shell for a non-root user, but exercise caution to do updates to sgug-rse and the base system using a different user and/or shell.

To use sgugshell as the default shell for a non-root user:

su -  #(enter root password)
# Add sgugshell to the list of login shells
echo /usr/sgug/bin/sgugshell >> /etc/shells
# Modify the last field of your user's entry in /etc/passwd to point to /usr/sgug/bin/sgugshell
# Make sure you are NOT modifying root's entry!
vi /etc/passwd
(log out of root)

For a GUI terminal emulator option, you can install mrxvt from SGUG and configure it to use sgugshell by default with this line in your ~/.mrxvtrc:

Mrxvt.profile0.command: /usr/sgug/bin/sgugshell

(6) Now you can search for and install sgug RPM packages. Note that you have to be root in order for the tdnf tool to work:

sudo tdnf install mpg123
Installing:
mpg123-libs                    mips            1.25.10-2.sgug       sgugrselocal    425.17k 435369
mpg123                         mips            1.25.10-2.sgug       sgugrselocal    249.11k 255085

Total installed size: 674.27k 690454
Is this ok [y/N]:

Downloading:
mpg123-libs                             225085   100%
mpg123                                  129151   100%
Testing transaction
Running transaction
Installing/Updating: mpg123-libs-1.25.10-2.sgug.mips
Installing/Updating: mpg123-1.25.10-2.sgug.mips

Complete!

You can search for packages with:

sudo tdnf search mpg123
mpg123 : Real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3
mpg123-devel : Real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3
mpg123-libs : Real time MPEG 1.0/2.0/2.5 audio player/decoder for layers 1, 2 and 3

(Re-)build RPMs from Source

You can rebuild any of the existing package from source, for example if you want to try out different build options. For that you need to install the source RPM archive (sgug-rse-srpms) in addition to the sgug-rse-selfhoster and sgug-rse-localrepo.

You want to contribute a new package to the sgug-rse repository? That's great! Please check out the contribution guidelines for more details.

(1) Before you start, make sure you are in sgugshell:

/usr/sgug/bin/sgugshell

(2) Install common build tools:

sudo tdnf install wget rpm-build autoconf automake libtool gcc gcc-c++

(3) Create build directories in your user's home:

mkdir -p ~/rpmbuild/SPECS
mkdir -p ~/rpmbuild/SOURCES
mkdir -p ~/rpmbuild/SRPMS
mkdir -p ~/rpmbuild/RPMS

(4) Download the source RPM archive for the latest version (sgug-rse-srpms-x.y.z.tar.gz) from the Github releases tab and extract it into the build directory:

cd /tmp
wget https://github.com/sgidevnet/sgug-rse/releases/download/v0.0.7beta/sgug-rse-srpms-0.0.7beta.tar.gz

cd ~/rpmbuild
gunzip -dc /tmp/sgug-rse-srpms-0.0.7beta.tar.gz | tar xf -

(5) To rebuild an RPM package you first have to install the SRPM of the package (in this example we will rebuild mpg123):

cd ~/rpmbuild/
rpm -ivh ~/rpmbuild/SRPMS/mpg123-1.25.10-2.sgug.src.rpm

You can modify the specfile locally in the ~/rpmbuild/SPECS/ directory if you want to try out different build options. Now you can run rpmbuild on the package's specfile:

cd ~/rpmbuild/
rpmbuild -ba ~/rpmbuild/SPECS/mpg123.spec --nocheck

(6) After building, install of fresh RPMs must be done as root (add --reinstall to refresh an already installed package):

sudo rpm -ivh ~/rpmbuild/RPMS/mips/m4*.rpm

Bugs

There will be bugs, I'm afraid. This platform is relatively new, much as the GCC underpinning it is. Please do file an issue for things you find - it helps a lot to double check there isn't already one for the problem you have.

Feel free to contact us on the forums or in discord and we may be able to help.

About

Silicon Graphics User Group RPM Software Environment

License:GNU General Public License v3.0


Languages

Language:Shell 51.4%Language:Python 38.6%Language:Perl 6.9%Language:CMake 1.5%Language:C 1.4%Language:Pawn 0.2%