Skip to content

Helper script for updating python3 packages on the openSUSE build server (OBS).

License

Notifications You must be signed in to change notification settings

arunpersaud/dlp3-update

Repository files navigation

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.

Files

dlp3.py

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.

package-changelog-data.json

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.

dlp3.conf

A simple config file that stores the path information. You can also define a list of packages that should be skipped during update checks.

OBSchanges-mode.el

Make it easier to edit cut&paste changelog data in a .changes file. To use it in emacs do

  1. 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”))
  2. load the package (require ‘OBSchanges-mode)
  3. 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.

Workflow

My standard workflow is to:

  1. run dlp3.py
  2. run update <list of packages>
  3. 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
  4. ‘add <package>’ to start monitoring its progress (does ‘osc ci -n’)
  5. repeat step 4 and 5
  6. run ‘status’
  7. 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)
  8. run ‘cleanup’ to remove local files of repos that are not on OBS anymore, e.g. after accepting SR

Installation

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/

TO-DO

  • The program could check every 5 seconds automatically
  • open changelogs automatically in your browser

About

Helper script for updating python3 packages on the openSUSE build server (OBS).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published