add info about build subcommand to README
[opensuse:osc.git] / README
1 osc -- opensuse-commander with svn like handling
2
3
4 Please send patches to poeml@suse.de, or work directly on
5 https://forgesvn1.novell.com/svn/opensuse/trunk/buildservice/src/clientlib/python/osc/
6
7
8 INSTALLATION:
9
10 RPM packages are here (yum repository):
11 http://software.opensuse.org/download/openSUSE:/Tools/
12
13 To install from svn, do
14         python setup.py build
15         python setup.py install
16         # create a symlink 'osc' in your path pointing to osc.py.
17         ln -s osc-wrapper.py /usr/bin/osc
18
19 Alternatively, you can directly use osc-wrapper.py from the source dir
20 (which is easier if you develop on osc).
21
22
23 The program needs the cElementTree python module installed. On SUSE, the
24 respective package is called python-elementtree.
25
26
27
28 CONFIGURATION:
29
30 When you use it for the first time, it will ask you for your username and
31 password, and store it in ~/.oscrc.
32
33 If authentication data is found in .netrc, it will also be used.
34
35
36
37 USAGE EXAMPLES:
38 (online at http://en.opensuse.org/Build_Service/CLI )
39
40 To list existing content on the server
41  osc ls                                 # list projects
42  osc ls Apache                  # list packages in a project 
43  osc ls Apache subversion       # list files of package of a project
44
45 Check out content
46  osc co Apache                  # entire project
47  osc co Apache subversion       # a package
48  osc co Apache subversion foo   # single file
49
50 Update a working copy
51  osc up
52  osc up [pac_dir]               # update a single package by its path
53  osc up *                       # from within a project dir, update all packages
54  osc up                         # from within a project dir, update all packages
55                                    AND check out all newly added packages
56
57 If an update can't be merged automatically, a file is in 'C' (conflict)
58 state, and conflicts are marked with special <<<<<<< and >>>>>>> lines. 
59 After manually resolving the problem, use
60  osc resolved foo
61
62 Upload change content
63  osc ci                         # current dir
64  osc ci <dir>
65  osc ci file1 file2 ...
66
67 Show the status (which files have been changed locally)
68  osc st
69  osc st <directory>
70  osc st file1 file2 ...
71
72 Mark files to be added or removed on the next 'checkin'
73  osc add file1 file2 ...
74  osc rm file1 file2 ...
75
76 Adds all new files in local copy and removes all disappeared files.
77  osc addremove
78
79 Generates a diff, to view the changes
80  osc diff                       # current dir
81  osc diff file1 file2 ...
82
83 Shows the build results of the package
84  osc results
85  osc results [platform]
86
87 Shows the log file of a package (you need to be inside a package directory)
88  osc log <platform> <arch>
89
90 Shows the URLs of .repo files which are packages sources for Yum/YaST/smart
91  osc repourls [dir]
92
93 Triggers a package rebuild for all repositories/architectures of a package
94  osc rebuildpac [dir]
95
96 Shows available platforms/build targets
97  osc platforms
98
99 Shows the configured platforms/build targets of a project
100  osc platforms <project>
101
102 Shows meta information
103  osc meta Apache
104  osc meta Apache subversion
105  osc id username
106
107 Edit meta information
108 (Creates new package/project if it doesn't exist)
109  osc editmeta Apache
110  osc editmeta Apache subversion
111
112 Update package meta data with metadata taken from spec file
113  osc updatepacmetafromspec <dir>
114
115
116 There are other commands, which you may not need (they may be useful in scripts):
117  osc repos
118  osc buildconfig
119  osc buildinfo
120
121
122 Locally build a package (see 'osc help build' for more info):
123  osc build <repo> <arch> specfile [--clean|--noinit]
124
125
126
127 HINT FOR W3M USERS
128
129 Putting the following in the file ~/.w3m/passwd will make
130 w3m know the credentials for the buildservice servers:
131
132 """
133 host api.opensuse.org
134   port 80
135   realm Authentication required
136   login foo
137   password bar
138
139 host build.opensuse.org
140   port 80
141   realm openSUSE Build Service
142   login foo
143   password bar
144 """
145
146 chmod 0600 ~/.w3m/passwd