rh-lab-q / rpg Goto Github PK
View Code? Open in Web Editor NEWRPG is tool, that guides people through the creation of a RPM package
License: GNU General Public License v2.0
RPG is tool, that guides people through the creation of a RPM package
License: GNU General Public License v2.0
Requires window should be first so we can run project build using checkinstall in the background while user is filling scriplets form.
Not to jump on change
Now you have more research oriented task:
CoprUploader.upload(?)
that will take the needed stuff from previous step and return True if the SRPM was uploaded and builded correctly, False otherwise.Base.upload_to_copr(token or login + pass)
- it will internally get Base.srpm_path
refs:
https://fedorahosted.org/copr/wiki/UserDocs
http://miroslav.suchy.cz/blog/archives/2013/12/29/how_to_build_in_copr/
http://copr-fe-dev.cloud.fedoraproject.org/api/
When you put mouse over label, it could show question mark instead of arrow and show hint. What do you think? @auchytil @eskultety @boyks
prepend "-f %{name}.lang" to spec.files if you find *.mo files in directory
In beginning page: since there is writable input field we want to make sure that dir exists. You can use red borders from #39
dirs in base class:
plugin phases:
in beginning page
change this order:
beginning script_page patches requires scriplets subpackages documentation build
to this (with Base method calls):
beginning <process_archive_or_dir; run_raw_sources_analysis> patches <apply_patches; run_patched_sources_analysis> script_page requires <build_project; run_compiled_analysis> <install_project; run_installed_analysis> subpackages scriplets documentation build <build_packages>
install files correctly
generate documentation
add cmake requires
connect cmake with nosetests
it will be part of Spec. Purpose of this is to represent bash commands in Spec scripts and execute them.
Plugins will append cmdlines. Base RPG class will execute command when moving to next phase.
Command could be internally represented as list of ((lists of strings) or strings)
class Command:
def __str__(self) # join command lines together. Returns one string that will be saved in spec file
def append_cmdline(self, cmdline) # adds cmdline at the end of command sequence
def execute(work_dir) # executes command in working directory
# this should be possible to do:
com = Command()
com.append_cmdline(["cd", build_dir])
com.append_cmdline("cmake ..")
com.execute(cur_dir)
str(com) # -> "cd <build_dir>\ncmake .."
It will ensure all folders for phases exist
Moreover it will compute hash of path
Project build will only build or install files into desired directory, other stuff will do plugins.
add to plugins:
ProjectBuilder new API:
depends on #11
the plugin should:
Patches created with git contain a header in this format:
From 0434683 Mon Sep 17 00:00:00 2001
From: Jan Silhan [email protected]
Date: Tue, 5 Aug 2014 11:25:07 +0200
Subject: [PATCH 1/2] changed doc of plugin_engine according to new plugin API
So that brings an idea of sorting by "Date" then by "Subject".
follow the process of RPG (all the phases: see /tmp/rpg-*) and watch warnings -> add issues/fix it
the testing project is libsolv project folder
Implement Make plugin.
I think, that a simple guide "how should the plugins look like" would be quite useful, even for the potential community.
This plugin will append dependencies based on Python files analysis. It will be analogue to C plugin. You have to figure out regexp that would parse import
statements or use Python builtin ATD? parser.
depends on #11
feel free to take it when you have nothing else to do.
look how java files are packed into rpm package and where are stored on the system. Then implement plugin. Depends on #11.
the plugin should:
It will add to spec.files = all found files in current_dir. The string path should be relative to current_dir.
add to spec.scripts["postun/post"] = "-p /sbin/ldconfig". Look at find_patch.py for inspiration
depends on #11
see: origin/erik (51ed6a4), refactor spec class to make the tests pass
git fetch origin
git reset --hard origin/erik
git rebase origin/master
Maybe the tests are wrong so consult it with me if some misunderstanding occurs.
--plugin-dir <dir>
- will load all plugins nested within dir
--disable-plugin <plugin_name>
- plugin named plugin_name will not be executed during phases
depends on #11
We should create a logo, that would represent our project and appear in an all-apps menu.
There should be new module with regexps for each tag. See https://fedoraproject.org/wiki/How_to_create_an_RPM_package
and set it into spec.tags["BuildArch"] = "noarch" if checked
look at dnf code how logging is done. + Add log info
to each component public method call + log executing of plugins in plugin_engine.
Name, Summary, Version, Release, License, Source
I'd suggest renaming "append_cmdlines" to just "append".
In my opinion "cmd.append" looks better than "cmd.append_cmdlines".
Feel free to assign me to this issue or to close it.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.