1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-12-27 18:26:15 +01:00
github.com_openSUSE_osc/TODO
2008-05-19 15:15:18 +00:00

181 lines
8.2 KiB
Plaintext

MAJOR:
- changelog handling (equivalent of Novell-internal 'vc' tool, I guess)
(should also work with multiple spec files <package-name>-<repository-name>.spec, and with <package-name>-<version>.spec)
see http://lists.opensuse.org/opensuse-buildservice/2007-08/msg00170.html
NORMAL:
- split functionality that needs prj/pac as commandline arguments into a seperate tool (oscremote? osc -r?)
(update: we have some commands meanwhile which exist in an alternate form,
prefixed with r, which works remotely. E.g. rbuildlog, rprjresults, rresults)
- status: implement -u option as in svn [3]
- implement (svn-like) switch command
- implement 'mv' command
- _real_ SSL support, with certificate verification
- copypac: put the current release number into the spec file before sending it
- for this, it is required to scan all current binaries, pick the highest release number
and put it into the spec file... otherwise clients won't regard the copied package as newer
- commit: check if errors during PUT are handled sensibly, so the change is
not committed to localmeta
- store password base64 hashed, so it is not directly visible in plaintext
when opening .oscrc and someone is looking over the shoulder
- use http://code.google.com/p/iniparse/ instead of ConfigParser, with
write capability, for the change
- or implement Juergen Weigert's idea of a on-demand password agent
- add switch to commit to change repository options, like to e.g. disable publishing?
- implement optional logging to .osc/log, which could be useful for debugging bugs like
the one where api.opensuse.org sends empty replies (a hard-to-catch one)
MINOR:
- new command: osc listbinaries [<project>] [<package>]
listing the built package, either as URLs or just the filenames? [1]
there is ls -b:
% osc ls -b home:poeml scapy -r openSUSE_Factory -a x86_64
scapy-1.0.4-12.13.noarch.rpm
scapy-1.0.4-12.13.src.rpm
but it works packagewise. A project wide binary listing would also be cool
- new command: osc getbinaries [<project>] [<package>] [<rpm>]+ [1]
-> see incarnations of obs_mirror_project, in particular James Oakleys
obs_mirror_project.py
this can peruse the new get_binarylist() and get_binary_file() functions
- adjust zsh completion to work with cmdln.py implementation
- add support for adding tags to packages?
[1]
http://api.opensuse.org/result/Apache/SUSE_Linux_10.0/apache2/result
15:06 <darix> kurz zeit ueber 1-2 osc feature request zu reden die ich grade bekommen habe?
15:06 <DuDE_> ja
15:06 <darix> ok
15:06 <darix> das 1. ist
15:06 <darix> osc listpackages [<project>]
15:06 <DuDE_> als Alias?
15:07 <darix> osc listpackages [<project>] [<package>]
15:07 <darix> es soll die gebauten sachen listen
15:07 <DuDE_> ach so, rpms
15:07 <darix> quasi alle rpms/debs die da sind
15:07 <darix> und dann
15:07 <DuDE_> mit Pfad/URL?
15:07 <DuDE_> also praktisch den Link auf software.opesuse.org?
15:07 <darix> osc getpackage [<project>] [<package>] [<rpm>]+
15:07 <darix> nein
15:07 <darix> im zweifel ueber API saugen
15:08 <DuDE_> hm, waere noetig, falls ein Projekt noch nicht durchgebaut hat
15:08 <darix> jau
15:08 <darix> richi wuerde sich wirklich drueber freuen
15:08 <darix> ich weiss dass es ueber die api vom backend geht
15:09 <darix> ich weiss nur nicht ob api alles durchreicht
15:09 <darix> und leider hab ich schon ein paar sachen im api code gefunden
15:09 <darix> der falsch mit dem backend spricht :/
15:09 <DuDE_> ja, macht osc build auch so, eigentlich, allerdings weiss es dann die noetigen Datein aus dem buildinfo (version, release)
15:09 <darix> man kann auf dem backend alle rpms listen lassen
[3]
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/<project>/<package>/<filename>
19:11 < DuDE> Beineri: you mean, keep a fool.mine file in any case?
19:11 < darix> GET http://api.opensuse.org/source/<project>/<package>/<filename>?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
% osc importsrcpkg -n apache2-mod_memcache /tmp/apache-mod_memcache-0.1.0-2mdv2008.0.src.rpm
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 26752624
Traceback (most recent call last):
File "/suse/poeml/bin/osc", line 10, in ?
sys.exit( osc.main() )
File "/suse/poeml/osc/osc/cmdln.py", line 256, in main
return self.cmd(args)
File "/suse/poeml/osc/osc/cmdln.py", line 279, in cmd
retval = self.onecmd(argv)
File "/suse/poeml/osc/osc/cmdln.py", line 395, in onecmd
return self._dispatch_cmd(handler, argv)
File "/suse/poeml/osc/osc/cmdln.py", line 1070, in _dispatch_cmd
return handler(argv[0], opts, *args)
File "/suse/poeml/osc/osc/commandline.py", line 1714, in do_importsrcpkg
rpm_data = data_from_rpm(srpm, 'Name:', 'Summary:', '%description')
File "/suse/poeml/osc/osc/core.py", line 2128, in data_from_rpm
header = ts.hdrFromFdno(file.fileno())
_rpm.error: public key not available
15:16 < DuDE> mt: Projekte anlegen geht nur, wenn es ein Subprojekt ist von einem Projekt wo Du Schreibrechte hast
15:16 < mt> DuDE: wofür?
15:16 < DuDE> mt: dass jeder einfach so top-level-Projekte anlegen kann, war einmal. Chaos-Reduzierung
15:17 < DuDE> mt: ueblich ist heutzutage ein Request auf opensuse-buildservice@
15:18 < DuDE> mt: kannst Du das gleiche mal eben mit osc -H probieren? Mich wuerde mal interessieren, ob da eine sinnvollere Meldung im Body mitkommt
15:19 < DuDE> mt: mit -H muesste osc den Response-Body anzeigen. Meist ist der unerwuenscht, weil er typischerweise dank iChain hauptsaechlich Javascript-Schlonz enthaelt.
15:19 < mt> DuDE: reply: 'HTTP/1.1 403 Forbidden\r\n'
15:20 < DuDE> mt: das ist gut, dann sollte osc kein "try again" anbieten, sondern die Meldung rueberbringen