1
0
mirror of https://github.com/openSUSE/osc.git synced 2024-11-12 23:56:13 +01:00
github.com_openSUSE_osc/TODO
Dr. Peter Poeml b2aa457ecc to do
2007-08-16 17:04:13 +00:00

171 lines
6.9 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
- think about how to locally build "linked" packages
http://lists4.opensuse.org/opensuse-buildservice/2007-07/msg00043.html
https://bugzilla.novell.com/show_bug.cgi?id=212565
- improve usage of the library from externally [2]
NORMAL:
- Extending the diff command to take -rREV:REV as argument and show the
diff between those two (server-side) revisions
- add support for local build of packages which do not exist / have not been
created yet in the buildservice
- add switches to the meta command for easy adding of other maintainers
(like 'osc meta prj --add-maintainer foo')
- write howto for plugin-izing subcommand implementation (see examples on mailing list)
- split functionality that needs prj/pac as commandline arguments into a seperate tool (oscremote? osc -r?)
- status: implement -u option as in svn [3]
- implement (svn-like) switch command
- implement 'mv' command
- use urllib.urlencode for parameter encoding (or check if this is the case already?)
- _real_ SSL support, with certificate verification
- copypac: put the current release number into the spec file before sending it
- 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
- add switch to commit to change repository options, like to e.g. disable publishing?
MINOR:
- new command: osc listbinaries [<project>] [<package>]
listing the built package, either as URLs or just the filenames? [1]
- new command: osc getbinaries [<project>] [<package>] [<rpm>]+ [1]
-> see incarnations of obs_mirror_project, in particular James Oakleys
obs_mirror_project.py
- add option to disable gpg key checking?
- 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
[2]
> The initialisation isn't as intuitive as it could be, however:
>
> conf.get_config()
> conf.config['apiurl'] = conf.config['scheme'] + '://' + conf.config['apisrv']
> conf.config['user'] = conf.config['auth_dict'][conf.config['apisrv']]['user']
> conf.init_basicauth(conf.config)
>
> It would be nicer if there was one function to call, eg:
>
> conf.init(apisrv=None)
>
> where the default api server will be used if apisrv is None.
>
> Some simple examples in the documentation would help those looking to learn
> the library as well.
[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