catay / rrst Goto Github PK
View Code? Open in Web Editor NEWRemote Repository Sync Tool
License: Apache License 2.0
Remote Repository Sync Tool
License: Apache License 2.0
Testing an upgrade from sles12 sp3 to sp4 during the zypper dup process, it asks about some *.drpm files which are not present in the repos.
These files *drpm are needed to perform the zypper dup, including them in the download scope will solve this problem.
If you delete some file from a repo folder, it doesn't create a new revision when you do update
If you check with any browser the list of packages, whatever tag/revision you set, it just shows the latest one.
it doesn't show package list correctly from specific tag/revision and the diff doesn't work fine either.
The feature request in Issue #8 generates a new revision when packages are deleted on the local filesystem. This might result in metadata inconsistencies in previous revisions.
A package still listed in the metadata will not be available anymore on the local repo.
Implement a revision consistency check that invalidates the revisions with a metadata mismatch.
Add a configuration option 'repo_stages' which should be an array defining the different stages.
repo_stages:
- development
- acceptance
- production
New downloaded packages will be downloaded to the local repository in the first stage directory.
The tool should make it possible to promote a lower stage to a higher one.
It basically comes down to moving packages from one stage to the other.
Problem
Running the clean command more than one time bails out because it can't find the file to remove.
$ ./rrst -c examples/config.yaml clean
Clean cache repositories:
Clean all
2018/04/16 23:16:35 remove /var/tmp/rrst/cache/SLES-12-3-X86_64-updates/repomd.xml: no such file or directory
Cause
The error handling of the os.Remove function returns an error when removing a file that doesn't exists.
Issue is in repomd/repomd.go
line 172.
Solution
Code needs to be refactored so the clean up of the cache gets simplified.
In the end you simply want to clean up the entire cache_dir/<repo_name>
in one go.
Currently that's not happening which also leaves an empty directory.
In the current implementation the default config location is /etc/rrst.yaml
.
This can be changed through the -c
option on the command line.
This should be enhanced with a proper lookup order which is more in line with the standard behaviour of Linux tools.
The lookup order of the configuration file should be:
-c
optionRRST_CONFIG_FILE
${HOME}/.rrst/config.yaml
/etc/rrst/config.yaml
Doing rrst list repo, it doesn't list all the packages and the version correctly, and if you set any specific tag/revision, it just shows always the latest rev or tab set.
might be possible in future versions to have another different provider to handle RedHat repositories ?
Commands that tend to do a lot of changes should ask for confirmation.
For example rrst update
.
Additionally a flag should be foreseen to disable interactive questions.
It should also be possible to disable this at the configuration level.
Creating a tag without specifying the revisions fails with:
$ rrst tag CENTOS-7-6-X86_64-updates bla
tag error: Revision 0 not found.
The revision parameter should not be optional or in case it's optional, the tag should be automatically applied to the latest revision.
Probably best to make the revision parameter required to avoid confusion.
Opening the url in the web browser, it doesn't show files from specific tag, it only shows always the latest tag files.
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.