repomaster - Repository Master




       repomaster - Software suited for extraction, packaging and maintaining a repository.


       Repomaster has many advanced features to automate the building of debs to be Lintian error free.
It has advanced scanning of files to set proper permissions and a fix routine to scan for errors and
auto correct them. I have ran this tool on a folder with 13 GB of debs; prior to running the tool a total of
136,435 errors and warnings. After running the tool 1,323. Repomaster is not perfect yet, but is going
in the right direction. The numbers continue to diminish.


       Every 'flag' option has a 'no-flag' counterpart with exception of help. Specifying no switch is the same
as using the --help switch.

       If an option or flag is marked as [XXX], it is optional. Options specified with <XXX> are required. They will
only work in combination with the XXX option. Example: repomaster --service Will not work because the
format is [OPTION] <ADD|REMOVE> in this case --service is the [OPTION] which is required as per Synopsis
above. No <required> switch was provided. IE repomaster --service ADD which is actually case insensitive the
| seperator signifies either, but not both. On the other hand repomaster --extract is just fine without providing
a secondary switch. Please see OPTIONS below for switch requirements and descriptions.


       -v , --version
       Display repomaster's version number.

       -h , --help
       Shows help.

       -b , --build [FOLDER]
       Builds specified deb. Specifying no folder name will build all debs in current directory; prompting what
will be built. All error free debs are moved to a hidden sub-folder called .debs/ in the current folder. Logging
individual errors to [FOLDER].deb.errors and globally to all_errors.txt for further review.

       -e , --extract [DEB]
       Extracts specified [DEB]. Specifying no deb filename will extract all debs in current
directory; prompting which debs will be extracted.

       -r , --relax [FOLDER]
       Will relax the permissions on a given [FOLDER] allowing you to edit or delete files within the folder. The proper
permissions will automatically be reset when you use the build switch. Warning: Not specifying a folder will reset
permissions on all sub-folders
. Please use care where you execute this tool. It will display the folders to be effected
and prompt you prior to doing anything.

       -c , --clean [FOLDER]
       Will erase specified [FOLDER] ignoring permissions. Warning: Specifying no folder name will erase all
sub-folders in the current folder
. Please use care. Repomaster will prompt you of folders to be effected.
It will also erase all previous build and error logs.

       -f , --fix [FOLDER]
       Will attempt to fix all errors in the specified [FOLDER] to be Lintian / Debian error free and complaint to
Debian standards. Specifying no folder name will process all folders with a [FOLDER].deb.errors that were gen‐
erated by the build switch. This will take a long time to be fully implemented.

       -p , --prepare <DISTNAME>
       Prepares known good .debs/ for publishing. Builds the directory structure in a folder called <DISTNAME>.
Repomaster then GPG key signs the debs as well as the release key for distribution. This command switch
also auto generates packages.gz for repository management. Knowledge of how a repository works is highly
recommended when using this command switch. Please man gpg for more information on key signing.

       -P , --publish <USERNAME:[PASSWORD]@URL/DISTNAME>
       Will publish known good debs to remote address of your specification. Repomaster will upload all files
processed by the prepare switch associated smartly. It will compare files on the remote server to local host
and only update appropriately, furthermore by architecture. A future version will allow multiple distributions
to be handled. The password is [optional] as ssh will prompt for it prior to engaging rsync. Please see
man ssh for more information on how the command is passed. Knowledge of how a repository works
is highly recommended when using this command switch.

       -s , --service <ADD|REMOVE>
       Installs or removes based on second option to set repomaster as a service. This feature is currently
not implemented, however when complete will install repomaster as a service. Once set as a service repomaster
will monitor any package being installed and scan for errors and warnings optionally fixing them via end users
discretion. This powerful feature will allow the end user to make the decision if or not errors and warnings
enter their system prior to the package even being installed. Similar to what anti-virus software does.

       -s , --scan <FOLDER>
       Version scans all debs to be processed in <FOLDER>. This should be the first step you take when dealing with
large amounts of debs. When processing a single deb this switch is useless. There is no sense in building 2 seperate
versions of debs. On the large scale this is not a required, but recommended base of first action.

       -V , --verbose [FOLDER]
       Initiates verbose mode. Invokes Lintian to verbosely report errors and gives instructions on how to fix them.
If I see this project all the way through this switch may become unnecessary. Time will tell.


       Specifying the -p prepare or the -P publish switch I felt I should take the time to document.
Most people will not be interested in either switch unless they intend to run a repository on-line or locally.
Time permitting, I will either write a on-line document or elaborate more in this section of the man page.



Repository maintainers will do the above followed by:


Extract a deb:
repomaster -e ultamatix-1.9.3_all.deb

Re-build the deb:
repomaster -b ultamatix-1.9.3_all/

Fix errors:
repomaster -f ultamatix-1.9.3_all/

Extract all debs in your current folder into their own sub-folder:
repomaster -e

Prepare known good debs:
repomaster -p themes

Publish known good debs to remote server:
repomaster -P USERNAME:[PASSWORD]@Http:// themes


       Software for extraction, packaging and maintaining a repository.

       The Repository Master manual (this manual)

~/.gnome2/nautilus-scripts/RepoMaster/Extract Deb
       GUI - Zenity based nautilus script front-end for extracting debs to the repomaster.

~/.gnome2/nautilus-scripts/RepoMaster/Build Deb
       GUI - Zenity based nautilus script front-end for building debs to the repomaster.

       GUI - Zenity based nautilus script front-end command switchable to repomaster.


gpg(1), rsync(1), ssh(1)

       The full documentation for this tool are maintained in multiple formats. If Repomaster and the info
program are properly installed at your site, the command:

info repomaster
should give you access to the complete manual including a menu structure and an index.


Copyright © 2011 Ultimate Edition Team.
This is free software (subject to copywright); see the source for copying conditions. There is NO warranty;
not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law.


       Repomaster home page: <Http://>. E-mail bug reports to:
<theemahn at>. Be sure to include the word repomaster somewhere in the Subject: field."


       TheeMahn <theemahn at>


       Who reads these man pages anyways? The entire purpose for me taking on this project is so I could lose
a few of my jobs. Repository management and a few programming tasks in which it currently automates.
I would love nothing more then to say my goal is for repomaster to function to the point where 0 errors and
0 warnings get through. Time however, is not and has never been on my side. I have a slew of other projects
going on and I am but one Mahn. I hope you enjoy the software. Feel free to send me a beer.

       This man page was written and is maintained by TheeMahn <theemahn at>.
Lintian / Debian error free you can count on it ;)