repostorm(1) repostorm repostorm(1)
NAME
Repostorm The Repository Master
SYNOPSIS
repostorm -<−OPTION> [FOLDER|DEBNAME|DISTNAME|USERNAME@URL/DIST-
NAME|ADD|REMOVE]
DESCRIPTION
repostorm - Software suited for extraction, packaging and maintaining a repository.
FEATURES
Repostorm has many advanced features to automate the building of debs to be Lintian error free. It has ad-
vanced 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. repostorm is not perfect yet
but is going in the right direction. The numbers continue to diminish.
COMMAND SWITCH USAGE
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: repostorm −−service
Will not work because the format is <REQUIRED> <on|off> [--autofix] in this case −−service is the <RE-
QUIRED> switch as per Synopsis above. No secondary <required> switch was provided. IE repostorm
−−service ON which is actually case insensitive the | separator signifies either, but not both. On the other
hand repostorm −−extract is just fine without providing a secondary switch. Please see OPTIONS section
below.
Repostorm as of version 1.7.1-8 has bash auto completion. This means you can enter repostorm -se hit the
tab key and it will change the output to repostorm −−service hit tab twice again and it will display the op-
tions of on and off. Tab again and it will enter −−autofix for you. As of version 2.04 supports SMP
(Symantec Multi-processing) Repostorm is a very complex program.
OPTIONS
Analyze
−a , −−analyze [DEB(S)]
Specifying no [DEB] name will analyze all debs in current directory for errors prompting first. All
error free debs are moved to a hidden folder called .debs/ in the current folder. If non-existent the
.debs/ folder will be created for you. This should be the second switch executed. If it isn’t broke
don’t fix it.
Build
−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. Per session logging of individual errors to [FOLDER].deb.errors and globally to all_er-
rors.txt for quick review these logs are removed with the -clearlogs switch see below. Full logging
is sent to /log/repostorm_errors.log.
Extract
−e , −−extract [FOLDER]
repostorm −e [DEBIANFILENAME] Will extract [DEBIANFILENAME]. Specifying no deb file
name will extract all debs in current directory prompting first. Example: repostorm −e ulti-
mate−edition−repostorm_1.8.5_all.deb Will extract the deb to the folder ultimate−edition−repos-
torm_1.8.5_all/
The Repository Master 2022-01-28 1
repostorm(1) repostorm repostorm(1)
Cleanfolder
−C , −−cleanfolder [FOLDER]
Will erase specified [FOLDER] ignoring permissions. Warning: Specifying no folder name will
erase all sub-folders in the current folder. Please use care. repostorm will prompt you of folders to
be effected. It will also erase all previous build and error logs.
Clearlogs
−C , −−clearlogs [FOLDER]
Will erase all logs. Specifying an optional [FOLDER] will erase error logs specific to [FOLDER].
Dummy
−d , −−dummy [DEB] [VERSION}
Builds an empty "Dumby". This can be used to work-around a package or depenancy that you do
not want in your system.
Extract
−e , −−extract [DEB]
Extracts specified [DEB]. Specifying no deb filename will extract all debs in current directory;
prompting which debs will be extracted.
Fix
−f , −−fix [FOLDER]
Will attempt to fix all errors in the specified [FOLDER] to be Lintian / Debian error free and com-
plaint to Debian standards. Specifying no folder name will process all folders with a
[FOLDER].deb.errors that were generated by the build switch. This will take a long time to be
100% implemented.
Help
Mandatory arguments to long options are identical for short options.
possible commands...
−a −−analyze pre−scan deb(s) for error(s)
−b −−build builds deb(s)
−e −−extract extract debian archive
−C −−cleanfolder removes folder(s)
−d −−dummy builds empty dummy package
−f −−fix attempts to fix error(s)
−h −−help this help message
−l −−log view or clean logs
−o −−override suppresses all known warnings per package
−p −−prepare prepare good .debs/ for publishing
−P −−publish publishes them to address specified
−R −−relax relax permissions
−r −−report examine reported errorlog(s)
−r −−release releases files for download.
−s −−scan version scans deb(s)
−S −−service installs or removes repostorm as a service
−V −−verbose reports errors verbosly and instructs how to fix
−v −−version dump version info and exit.
Log
−l , −−log <view/clean/logfilename.errors>
View, clear global or individual logging activity. Example: repostorm -l view Will load up the er-
ror log into your default text viewer.
The Repository Master 2022-01-28 2
repostorm(1) repostorm repostorm(1)
Override
−o , −−override [WARNING] Overrides all warning(s). RepoStorm will strip package by package all
warnings. I highly suggest you do not use this switch until RepoStorm has exhusted all options
(typically 3 passes of the fix option) before invoking this switch. What will remain is solidly Er-
ror(s). Warning(s) will become a thing of the past. I have written this switch (was undocumented)
so I can solely concentrate on error(s) and quit building packages that for example have a spelling
error in them. The optional [WARNING] will seek and destroy only that warning. Specifying no
option will do the same on a * based system. Previously Undocumented switch used for working
all warnings out of debs / folders, repetitive processing. Allows me to concentrate solely on er-
rors. Example: repostorm −o no−manual−page Will prepare all the debs that had a warning for
no−manual−page. Which should never happen Repostorm will to the best of it’s knowledge make
to that for you, similar to help2man does.
Prepare
−p , −−prepare <DISTNAME>
Prepares known good .debs/ for publishing. Builds the directory structure in a folder called <DIS-
TNAME>. repostorm 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.
Publish
−P , −−publish <USERNAME:[PASSWORD]@URL/DISTNAME> Will publish known good debs to re-
mote address of your specification. repostorm 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 appro-
priately, furthermore by architecture. A future version will allow multiple distributions to be han-
dled. 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.
Relaxation
−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. Warn-
ing: Not specifying a folder will reset permissions on all sub-folders. Please use care where you
execute this tool. repostorm will display the folders to be effected and prompt you prior to doing
anything.
Report
−R , −−report [FOLDERNAME]
Will display error and build reports for all debs in previous session, or results from [FOLDER-
NAME] specific deb. Example: repostorm -R ultimate-edition-repostorm_1.8.5_all/ Will report
any error or warning involved in the building in this case repostorm itself. You will never see one
there ;)
Service
−s , −−service <on|off> [--autofix]
Installs or removes based on second option to set repostorm as a service. Will install or remove re-
postorm as a service. Repostorm will monitor any package being installed and scan for errors and
warnings optionally [--autofix] fixing them via end users discretion. This powerful feature allows
the end user to make the decision if or not errors and warnings enter their system prior to the pack-
age even being installed. Similar to what anti-virus software does.
Scan
The Repository Master 2022-01-28 3
repostorm(1) repostorm repostorm(1)
−s , −−scan
Version scans all debs to be processed. 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 separate versions of debs. On the large scale this is not a required, but recommended
base of first action.
Verbose
−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 be come unnecessary, time will
tell.
Version
−v , −−version
Display repostorm’s version number and exits.
PUBLISHING NOTES
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 permit-
ting, I will either write a on-line document and link here or elaborate more in this section of the man page.
EXAMPLES OF REPOSTORM USAGE
TYPICAL USAGE IN ORDER
1. Scanning of deb(s) to ensure newest version (sometimes unnecessary)
2. Analyze, if it isn’t broke, don’t fix it.
3. Extraction of the remaining deb(s)
4. Fix switch
5. Re-building of the deb(s) to obtain the remaining error(s) and warning(s)
6. Goto #4 until error(s) and warning(s) = 0
Repository maintainers will do the above followed by:
6. Prepare switch followed by repository name
7. Publish switch followed by remote address
EXAMPLES
Extract a deb:
repostorm -e ultamatix-1.9.3_all.deb
Re-build the deb:
repostorm -b ultamatix-1.9.3_all/
Fix errors:
repostorm -f ultamatix-1.9.3_all/
Extract all debs in your current folder into their own sub-folder:
repostorm -e
Prepare known good debs:
repostorm -p themes
Publish known good debs to remote server:
repostorm -P USERNAME:[PASSWORD]@Http://themelinux.com/themes/ themes
Service with autofix option:
repostorm -S on --autofix
FILES
/bin/repostorm
Software for extraction, packaging and maintaining a repository.
The Repository Master 2022-01-28 4
repostorm(1) repostorm repostorm(1)
/bin/scanpackages
Software for obtaining version information.
/usr/share/man/man1/repostorm.1.gz
The Repository Master manual (this manual)
/usr/share/doc/ultimate-edition-repostorm/copywrite
License agreement.
/usr/share/doc/ultimate-edition-repostorm/changelog.gz
Repostorm Changelog
/usr/share/man/man1/scanpackages.1.gz
The manual for scanpackages
˜/.gnome2/nautilus-scripts/repostorm
GUI - yad (yet another dialog) based nautilus script front-end command switchable to repostorm.
/etc/bash_completion.d/repostorm
Bash auto completion command interpreter
/usr/share/bash_completion/completions/repostorm
Bash auto completion command interpreter
/usr/share/ultimate_edition/repostorm.pdf
repostorm manual in pdf format.
/usr/share/ultimate_edition/repostorm.ps
repostorm manual in postscript format.
SEE ALSO
gpg(1), rsync(1), ssh(1)
The full documentation for this tool is maintained as a Tex-info manual. If repostorm and the info program
are properly installed at your site, the command
info repostorm
should give you access to the complete manual including a menu structure and an index.
COPYRIGHT
Copyright © 2013 Ultimate Edition Team.
This is free software; see the source for copying conditions. There is NO warranty; not even for MER-
CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE, to the extent permitted by law. This
software is subject to copyright and license restrictions.
BUGS
GNU repostorm home page: <http://www.repostorm.com/>. E-mail bug reports to: <theemahn@repos-
torm.com>. Be sure to include the word repostorm somewhere in the Subject: field."
AUTHOR
Glenn "TheeMahn" Cady <theemahn@repostorm.com>
A MESSAGE FROM THE AUTHOR
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 repostorm 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, it too has been "repostormed"
Lintian error free you can count on it ;)
The Repository Master 2022-01-28 5