SDB:Upstream Tracker
Usage (Current)
Submit your package to the tracker
Fork me
- On GitHub: https://github.com/openSUSE/osc-plugin-collab
- Issues: https://github.com/openSUSE/osc-plugin-collab/issues
Edit server/upstream/upstream-tarballs.txt
Syntax as follows:
name:method:info
- name, is the upstream tarball name, can be "branch" if the method is svn/lp/trac, eg: fcitx|4.x
- method, actually is the location where upstream is, now supports:
upstream;ftpls;httpls;dualhttpls;subdirhttpls;svnls;sf;google;lp;trac
info is the location parameters. Eg:
- Your package is fcitx-pinyin, upstreamed at http://code.google.com/p/fcitx. You need to use:
fcitx-pinyin:google:fcitx|fcitx-pinyin
fcitx|fcitx-pinyin is the "info" parameter, "fcitx" means its location is http://code.google.com/p/fcitx, "|fcitx-pinyin" means the tarball you want to monitor is prefixed by fcitx-pinyin instead of the default project name "fcitx".
- Your package is presage, upstreamed at http://presage.sourceforge.net. Now you need a browser to visit http://sourceforge.net/api/project/name/presage/json, the return is:
{"Project":{ "name":"Presage", "created":"Jul 22, 2006", "created_timestamp":1153587912, "id":172950,
Remember that id, and write this into the .txt file:
presage:sf:172950|presage
172950|presage means you want to monitor the presage directory under http://presage.sourceforge.net address, because there're three directories there: presage,presage-extra,soothsayer. You can leave that pipe if there's only one directory there.
Details of the info parameters please see the appendix or the comments in upstream_tarballs.txt.
Edit server/upstream/upstream-packages-match.txt
We match the tarball names to package names here. By default, you just need:
fcitx:
to leave package name blank. It means they're of the same name. In some cases, eg: you package names libjs185-1_0, but the downloaded tarball is actually js185-1.0.0.tar.gz, then you need to change the "name" in the previous upstream-tarballs.txt to js185, and here:
js185:libjs185-1_0
to match them.
Edit server/upstream/upstream-limits.txt
We filter specific versions here, like snapshots packages.
- For some packages named in a x.y.z version scheme, when the y is odd, it means unstable, we can filter them like this:
fcitx:no-odd-unstable
- Limit max version
fcitx:max|4.2.6
- Jump some versions
fcitx:skip|4.2.4.1;4.2.6.1;
Submit
git commit -m "$Your_ChangeLog" && git push
And open a merge request on gitorous. When the MR is accepted, after some time, you can check new upstream version from "Advanced" - "Status" of your OBS projects. Then you may let yourself get emailed using many online parsers. Maybe hermes.o.o in the future.
Reference
- Fisrt Weekly Report
- Week 2 Report
- Week 3 Report
- #news.o.o Report: Successful openSUSE GSoC
- Upstream-Tracker-Python
- Upstream-Tracker-Rails
- Developer's personal blog
- #opensue-factory 234 packages with reportedly newer upstream version Vincent introduced it last Sep.
Appendix: method explanation
Method | Info |
---|---|
upstream | openSUSE is the upstream, thus no info |
ftpls | ftp directory URL |
httpls | “real” http URL, that is, the tarball listed can be downloaded without redirect. |
dualhttpls | double http URL, separated by pipe “|”. |
subdirhttpls | if there's version number named directories like 0.1.0 on the download page. Just use the download page URL. |
svnls | upstream has svn monitoring port 80 and there're downloadable tarballs in svn. Rarely. |
sf | project id. See the example above. |
upstream hosted at code.google.com/p/name. Info is the c.g.c project name. You can specify a real tarball name using pipes. | |
lp | lp project nme |
trac | trac download page |