Git Product home page Git Product logo

unibuild's Introduction

Contribution guidelines for this project

Code of Conduct for this project

Original Unibuild

unibuild - what it was, and is

  • It was a simplistic system to automate the build and creation of bleeding edge software packages.
  • It is now a reference as to how this may be accomplished.

repochk

The core helper script was subdivided into its current Arch implementation and repodeb. It can be used to automate the rebuilding of compliant PKGBUILD projects, backup to a specified drive, and update installed packages.

Ubuntu

Having built the 100+ projects, hundreds of times, the strength of the core scripts and patches became a visible weakness.

They collect information needed to make the projects, and build their debian packages (via checkinstall). It requires the creation, or amendment, of countless Gnu Makefiles and CMakeLists.txt to provide the actual install directive (to place the software where it needs to be in the filesystem). This is laborious to maintain since it's outside the scope of the developer; as they make changes, the patches need to be updated on a near continuous basis.

checkinstall as a packager is simply not up to the task for actual deployment. Ubuntu LTS was a day old when it rolled out which doesn't lend itself to building anything bleeding edge.

Manjaro

Many times I worked on a patch for a project only to abandon it when the developer updated their ancillary libraries to a version that was out of reach for Ubuntu LTS. If you want to make bleeding edge, you have to be bleeding edge.

An end and beginning

I've begun to adapt Debian (Ubuntu) patches to work on Arch (Manjaro). The original patches, and unibuild script, created a road map on how to build and package the projects. They adapt fairly easily to Arch's PKGBUILD system. Compare xash3d and uhexen2 to get a feel for it.

Arch packages are patchified so, assuming you build where source code projects reside, a command like this would prepare the folder hierarchy and files:

pch=xash3d ; cd $HOME/Dev && patch -Np1 -i unibuild/data/arch/$pch.patch ; cd $pch ; makepkg -f

Patches shouldn't clobber as long as each entry has a date/time stamp. A command like this will reset all files to the same:

perl -pi -e 's/((\-|\+){3}\s(a|b)[\w\/.-]+).*$/\1\t1969-12-31 17:00:00.000000000 -0700/gi' *.patch

What value is there now?

The information remains relevant and my customized game launching scripts provide an interesting way to adapt certain software to a global installation. The afore mentioned xash3d and uhexen2 don't have an Arch candidate. Xash3D does, but not for native 64-bit, which all of these patches were made for.

unibuild's People

Contributors

noabody avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

codiflow

unibuild's Issues

Can this tool help with configuring steam from the command line?

Hi there !

I was brought here by your post over on steam forums : https://steamcommunity.com/app/221410/discussions/0/1734336452578488603/?l=bulgarian&ctp=4#c1742230617613070003

I've been looking for a solution for a while to setting "enable steam for all games" as well as the version of proton from command line : ValveSoftware/steam-for-linux#6121

I'm wondering if you have any insight on this as I see that your script is able to quite a bit. and you have a better understanding than I do of steam's file structure.

mbyro and vbaro

mbyro and vbaro both return pcre2grep command not found when attempting to convert files. Am I doing something wrong or are these scripts broken?

Path configuration

Hello there.

Please accept my apologies if you're unable to help here, but I've tried all sorts of combinations when editing the paths contained within the script and I cannot for the life of me get wstart to see the Proton versions along with the games.
Now, don't get me wrong - I know I've got an odd setup here. I've got multiple install drives and thanks to that, two different locations to deal with. But I'm hoping this might be okay, and I'm just getting something wrong.

The split comes from the fact that the proton version I want to use is at "/mnt/2TB/Games/steamapps/compatdata" while the game is installed at "/mnt/2TBext4/Games/steamapps/common".

Is this an impossible situation for wstart, or have I just managed to avoid the correct combination of paths?

Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.