A small script to help updating python3 packages on the openSUSE build server:
https://build.opensuse.org/project/show/devel:languages:python3
Could also be used for python2.7 with some tiny modifications.
Check for updated version on pypi, print a list of packages that need updates together with the a link where the changelog information can be found. Also manage the json file that stores the changelog information
Check the build status of several packages at the same time. Automate submission to dlp3 for package that build correctly. Also produce cleanup commands for packages that got accepted and therefore are not on OBS, but still on the local computer.
The file that stores the links to the changelog files. If there is no changelog available, but a git repository exist the command to clone the git repo should be stored.
A simple config file that stores the path information. You can also define a list of packages that should be skipped during update checks.
Make it easier to edit cut&paste changelog data in a .changes file. To use it in emacs do
- add the source directory of dlp3 to emacs search path. For me that’s (add-to-list ‘load-path (expand-file-name “~/src/Prog/dlp3-update”))
- load the package (require ‘OBSchanges-mode)
- automatically load it for .changes files (setq auto-mode-alist (append (list (cons “\.changes$” ‘OBSchanges-mode)) auto-mode-alist))
This will add three new keybinding: f5 add a ” * ” to a line and wrap it f6 add a ” + ” to a line and wrap it f7 add a “- changes from version” to a line. The line should only contain the version number.
My standard workflow is to:
- run dlp3.py
- run update <list of packages>
- go into a newly created branch
- check osc status
- call osc vc, add changelog. Use link provided by dlp3 or find changelog and add link via ‘addlog’
- edit spec file if needed
- ‘add <package>’ to start monitoring its progress (does ‘osc ci -n’)
- repeat step 4 and 5
- run ‘status’
- when enough packages finished building successfully, run ‘submit’, go to the webpage and accept requests (currently not automated since I like to check the diff over there)
- run ‘cleanup’ to remove local files of repos that are not on OBS anymore, e.g. after accepting SR
Adjust the config file, so that it has the correct path information.
Just use the files directly from the git-repo or create links into for example your ~/bin directory. In this case you should also link the config file to ~/.config/dlp3/
- The program could check every 5 seconds automatically
- open changelogs automatically in your browser