forked from kororaproject/kp
-
Notifications
You must be signed in to change notification settings - Fork 0
Korora packaging tool
License
surio/kp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Korora Package (KP) A Korora package can be considered a high level package that often (but not always) manages all Korora specific modifications to upstream packages. Some packages are entirely new projects which Korora has baked itself but they are treated much the same. The Korora packages are stored completely within git and are best managed with the Korora packaging utility is called “kp”. The kp utility allows you to reproduce the entire Korora ecosystem, as well as contribute easier to the project through submission of patches and pull requests. Configuration Files Each package is described by a configuration file which lives in the kp tree. The configuration file options are described as follows: ---8<--- jockey.conf --->8--- KP_NAME=jockey KP_VERSION=0.9.1 # indicate what the upstream source is wrapped in and where to get it KP_UPSTREAM_SRC_TYPE=git,svn,rpm,tarball KP_UPSTREAM_SRC_URL= # GIT specific - what branch/commit should all package builds be built relative to KP_UPSTREAM_SRC_GIT_COMMIT= KP_UPSTREAM_SRC_GIT_BRANCH= # SVN specific - what revision number should all package builds be built relative to KP_UPSTREAM_SRC_SVN_REVISION # RPM specific - what’s the reference upstream spec KP_UPSTREAM_SPEC=%upstream%/spec # if undefined uses upstream spec (if defined) otherwise errors if missing KP_BUILD_SPEC= # the build spec will be dynamically built via the build spec template. Patch, source and build numbers will be dynamically updated based on the template. KP_BUILD_SPEC_TEMPLATE= KP_BUILD_ARCH=i686,x86_64 # defines the commit of the latest stable release from the korora package tree KP_RELEASE_GIT_COMMIT= ---8<--- end jockey.conf --->8--- File Tree ./upstream Contains the primary source relating to the package, could be a GIT, SVN url or the extracted source from an RPM (ie akin to extracted files from rpmbuild/SOURCES) ./build Contains the necessary files to build the release RPM. If the upstream is GIT it will contain the necessary patches (based on appropriate git diff). SVN would be similar. The package spec file would be dynamically updated based on the ./release contains built RPMs Usage: kp --list Lists all available packages in the Korora Project. Example: # kp --list * jockey * anaconda * korora-plymouth-theme * korofox Usage: kp --init Performs any necessary tree initialisation (think mock --init) Example: # kp --init Korora package environment initialised at /home/me/kororapackages xxx MiB free Usage: kp --checkout package Performs a checkout of a single package (identifiable by --list) Omission of a package name will default to checking out all packages. Example: # kp -v --checkout jockey Creating package directory structure: ./jockey ./jockey/upstream ./jockey/build ./jockey/release Syncing upstream **git output** Usage: kp --build package Performs a full build of the specified package through providing a release tarball. Omission of any package name will default to building all packages. Usage: kp --sync package Syncs the specified package with kororaproject Omission of any package name will default to building all packages. Usage: kp --release Performs a --checkout, --sync and --build for all packages. Essentially building a kororaproject repository.
About
Korora packaging tool
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Shell 100.0%