- split functionality that needs prj/pac as commandline arguments into a seperate tool (oscremote? osc -r?) - memorize used the api server on checkout - implmement switch command - implement 'info' command - implement 'mv' command - editmeta: the API will return a 500 if the xml is broken... the document could be presented for editing again in that case - updatepacmetafromspec -- is that useful? In which form would this be integrated best? - use urllib.urlencode for parameter encoding - _real_ SSL support, with certificate verification - zsh completion, or even bash - add option to disable gpg key checking? - add support for adding tags to packages? - plugin-ize subcommand implementation - look at Susannes extensions - Allow the package owners/users to signal an abort build. Message-ID: <20070214120205.GA9629@suse.de> - implement wipe command - implement editing of project configuration (alrady works in api & backend) - build: --extra-pkgs ... buildinfo -> &add=...&add=... checkin: - handle error if PUT fails, so the change is not committed to localmeta - changelog handling (should also work with multiple spec files -.spec, and with -.spec) implement a package search / indexing > BTW: Can I upload a src.rpm instead of a tarball also? no, because not all tools will be able to handle a src.rpm. And you will not be able to build non rpm packages from it. But someone could patch the commandline tool osc to import a src.rpm by extracting it (hint hint ;) ich hab nen vorschlag fuer osc sagen wir ich leg ein server:mail/foo123 an dann waere es cool sowas zu koennen wie osc importfromspec server:mail foo123 This can actually be done by osc createpac server:mail foo123 followed by cd foo123; osc init server:mail foo123 bug: % osc rm subversion.de.po.bz2 subversion.nb.po.bz2 D subversion.de.po.bz2 D subversion.nb.po.bz2 poeml@aust ~/pac/opensuse/Subversion/subversion % osc ci subversion.de.po.bz2 subversion.nb.po.bz2 Sending subversion.changes Deleting subversion.de.po.bz2 Deleting subversion.nb.po.bz2 Sending subversion.viewcvs.conf Transmitting file data .. 15:47 < kesselborn> DuDE: beim osc local build: müssen die config vars gesetzt sein, wenn man env vars gesetzt hat? 15:48 < DuDE> kesselborn: hm, weiss ich gerade gar nicht 15:48 < kesselborn> ja, scheint so 15:48 < kesselborn> ok 15:48 < kesselborn> aber er nimmt dann die env vas 15:48 < kesselborn> vars 15:50 < DuDE> kesselborn: hm, das sollte ich aendern osc repos server:search:ui : x86_64 i586 x86_64 i586 # shorter forms of the packstatus... useful for anything? #http://api.opensuse.org/result/KDE:KDE3/packstatus?summary #http://api.opensuse.org/result/KDE:KDE3/packstatus?summaryonly # osc build SUSE_Factory i586 xorg-x11-libX11.spec > ['/usr/bin/osc', 'build', 'i38', 'i386', 'SUSE_Factory', 'i586', 'xorg-x11-libX11.spec'] > Error: specfile 'SUSE_Factory' does not exist. BUILD_DIST must *not* be set! Could you add this information to the 'osc help build' text? -> possibly kill BUILD_ROOT/BUILD_DIST support altogether? or make its use configurable. http://api.opensuse.org/result/Apache/SUSE_Linux_10.0/apache2/result 15:06 kurz zeit ueber 1-2 osc feature request zu reden die ich grade bekommen habe? 15:06 ja 15:06 ok 15:06 das 1. ist 15:06 osc listpackages [] 15:06 als Alias? 15:07 osc listpackages [] [] 15:07 es soll die gebauten sachen listen 15:07 ach so, rpms 15:07 quasi alle rpms/debs die da sind 15:07 und dann 15:07 mit Pfad/URL? 15:07 also praktisch den Link auf software.opesuse.org? 15:07 osc getpackage [] [] []+ 15:07 nein 15:07 im zweifel ueber API saugen 15:08 hm, waere noetig, falls ein Projekt noch nicht durchgebaut hat 15:08 jau 15:08 richi wuerde sich wirklich drueber freuen 15:08 ich weiss dass es ueber die api vom backend geht 15:09 ich weiss nur nicht ob api alles durchreicht 15:09 und leider hab ich schon ein paar sachen im api code gefunden 15:09 der falsch mit dem backend spricht :/ 15:09 ja, macht osc build auch so, eigentlich, allerdings weiss es dann die noetigen Datein aus dem buildinfo (version, release) 15:09 man kann auf dem backend alle rpms listen lassen % osc addremove A .swp Right now, a package must exist in the bs so that it can be built locally. But this is a bug in osc which I'm going to fix at some point in time. editmeta: Ah, or rather osc _thought_ it was unmodified because it uses a simple timestamp to compare the file with. This is basically suitable for humans editing, because they need more than a second... I can change that to a real comparison. Meanwhile, you can add a small sleep ;) On the other hand, it would be even nicer if there would be a facility that wouldn't require you to work around with an EDITOR script at all. Noted in the todo. copypac: put the current release number into the spec file before sending it show request body of 400 responses (bad request) a merge issues: if I mark a file as "to be added" ("A"), and someone else alread adds (and commits) the file in between, and I update -- will I get it marked as "D" after update?? D apr_dbd_mysql.c M libapr-util1.spec in the unusual event that a log file should be there (due to status "building"), but there is none, fail gracefully. % osc log openSUSE_10.2 i586 Error: can't get 'https://api.opensuse.org/result/X11:xfce/openSUSE_10.2/xfprint/i586/log?nostream=1&start=0' HTTP Error 404: Not Found with no repos defined: % osc prjresults Traceback (most recent call last): File "/usr/bin/osc", line 7, in commandline.main() File "/usr/lib/python2.5/site-packages/osc/commandline.py", line 1072, in main cmd(args) File "/usr/lib/python2.5/site-packages/osc/commandline.py", line 738, in prjresults print '\n'.join(get_prj_results(project)) File "/usr/lib/python2.5/site-packages/osc/core.py", line 1192, in get_prj_results for node in root.find('packstatuslist'): TypeError: 'NoneType' object is not iterable 19:08 < Beineri> DuDE: can you add an option to "up" which moves instead overwriting a file if it has changed in the repository? 19:08 < darix> Beineri: moves? 19:08 < darix> oO 19:08 < darix> Beineri: use case? 19:09 < Beineri> darix: I want to see what changed when updating (we miss notification and history if you didn't notice). so I want to run "diff foo.myversion foo" 19:09 < darix> Beineri: we have a history? 19:09 < darix> Beineri: you should rtfm the api docs before claiming stuff!:p 19:10 < Beineri> darix: trying to turn around my words? 19:10 < darix> Beineri: no 19:10 < darix> just correcting wrong statements. 19:10 < DuDE> Beineri: doesn't sound too useful 19:10 < Beineri> darix: what's wrong with "we miss history"? 19:10 < DuDE> it's deviating too much from the normal usecase 19:10 < DuDE> which is, merging upstream changes in 19:10 < DuDE> Beineri: but I have a better idea, I think 19:11 < DuDE> Beineri: something that I miss in svn very much 19:11 < Beineri> DuDE: it still shall merge, but make a copy of my version before :-) 19:11 < darix> GET http://api.opensuse.org/source/// 19:11 < DuDE> Beineri: you mean, keep a fool.mine file in any case? 19:11 < darix> GET http://api.opensuse.org/source///?rev=1234 19:11 < DuDE> Beineri: what I miss badly, is a command to see upstream changes 19:11 < DuDE> Beineri: such as the good old cvs status 19:12 < DuDE> Beineri: which showed the status of the files on the server 19:12 < Beineri> DuDE: status is not enough, I want to see what changed :-) 19:12 < DuDE> Beineri: I mostly want to know what I have to expect, before up'ping and merging 19:12 < DuDE> Beineri: yes, I also want to see that 19:12 < DuDE> Beineri: some kind of osc updiff 19:13 < DuDE> Beineri: would that help? 19:13 < darix> .oO( i smell nice race conditions^^ )o 19:13 < DuDE> Beineri: sorry, I just recognize that you asked for an option 19:13 < DuDE> Beineri: that's of course always an option 19:14 < DuDE> Beineri: surely 19:14 < Beineri> DuDE: that would help, yes. "my" stuff I could for now do with a wrapper :-) 19:15 < Beineri> darix: and that's how useful without osc/web-frontend support? when can this happen? % osc up checking out new package t A home:poeml/t A home:poeml/t/foo At revision 16. At revision 9. D bar1 Traceback (most recent call last): File "/suse/poeml/bin/osc", line 7, in ? commandline.main() File "/suse/poeml/osc-stable/osc/commandline.py", line 1072, in main cmd(args) File "/suse/poeml/osc-stable/osc/commandline.py", line 572, in update if state == 'M' and p.findfilebyname(filename).md5 == oldp.findfilebyname(filename).md5: AttributeError: 'NoneType' object has no attribute 'md5' [1] 11871 exit 1 osc up 21:05 ping 21:30 pong 21:31 osc updatepac... sollte nicht fehlschlagen wenn das rpm anders heisst als das package verzeichnis 21:31 :p 18:48 darix@hydrogen:~/osc/server:http/GeoIP> osc results 18:48 Traceback (most recent call last): 18:48 File "/usr/bin/osc", line 7, in 18:48 commandline.main() 18:48 File "/usr/lib64/python2.5/site-packages/osc/commandline.py", line 1077, in main 18:48 cmd(args) 18:48 File "/usr/lib64/python2.5/site-packages/osc/commandline.py", line 719, in results 18:48 print '\n'.join(get_results(project, package)) 18:48 File "/usr/lib64/python2.5/site-packages/osc/core.py", line 1169, in get_results 18:48 rmap['status'] += ': ' + statusnode.find('details').text 18:48 AttributeError: 'NoneType' object has no attribute 'text' 21:49 < darix> DuDE: osc editmeta 21:49 < darix> the template is stupid 21:49 < darix> it now has "your_name" as project maintainer 21:50 < darix> that requires you to edit the line everytime when creating a new package 21:50 < DuDE> hm, can't find that 21:50 < DuDE> is that the exact string? 21:52 < DuDE> ah, I find your_username 21:52 < darix> DuDE: http://rafb.net/p/TgxmfB83.txt 21:54 < DuDE> I think that was filled in the past 21:54 < DuDE> since the user account data is now stored in the config per api server, the (in the config) global user/passwd is no longer used otherwise, so it shows the default -> hits also in edit_user()