mirror of
https://github.com/openSUSE/osc.git
synced 2024-12-27 02:16:12 +01:00
4a2c675e6e
- rename --prefer-pacs option to --prefer-pkgs - implement --keep-pkgs option
287 lines
11 KiB
Plaintext
287 lines
11 KiB
Plaintext
- 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 <package-name>-<repository-name>.spec, and with <package-name>-<version>.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 ;)
|
|
|
|
|
|
|
|
|
|
<darix> ich hab nen vorschlag fuer osc
|
|
<darix> sagen wir ich leg ein server:mail/foo123 an
|
|
<darix> dann waere es cool sowas zu koennen wie
|
|
<darix> 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 :
|
|
<repository name="SUSE_Linux_10.1">
|
|
<path project="server:search" repository="SUSE_Linux_10.1" />
|
|
<path project="KDE:KDE4" repository="SUSE_Linux_10.1" />
|
|
<arch>x86_64</arch>
|
|
<arch>i586</arch>
|
|
</repository>
|
|
<repository name="SUSE_Factory">
|
|
<path project="server:search" repository="SUSE_Factory" />
|
|
<path project="KDE:KDE4" repository="SUSE_Factory" />
|
|
<arch>x86_64</arch>
|
|
<arch>i586</arch>
|
|
</repository>
|
|
|
|
|
|
|
|
# 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 <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
|
|
|
|
|
|
% 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 <module>
|
|
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/<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
|
|
|
|
|
|
21:05 <darix> ping
|
|
21:30 <DuDE_> pong
|
|
21:31 <darix> osc updatepac... sollte nicht fehlschlagen wenn das rpm anders heisst als das package verzeichnis
|
|
21:31 <darix> :p
|
|
|
|
|
|
|
|
18:48 <darix> darix@hydrogen:~/osc/server:http/GeoIP> osc results
|
|
18:48 <darix> Traceback (most recent call last):
|
|
18:48 <darix> File "/usr/bin/osc", line 7, in <module>
|
|
18:48 <darix> commandline.main()
|
|
18:48 <darix> File "/usr/lib64/python2.5/site-packages/osc/commandline.py", line 1077, in main
|
|
18:48 <darix> cmd(args)
|
|
18:48 <darix> File "/usr/lib64/python2.5/site-packages/osc/commandline.py", line 719, in results
|
|
18:48 <darix> print '\n'.join(get_results(project, package))
|
|
18:48 <darix> File "/usr/lib64/python2.5/site-packages/osc/core.py", line 1169, in get_results
|
|
18:48 <darix> rmap['status'] += ': ' + statusnode.find('details').text
|
|
18:48 <darix> 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()
|