Metadata-Version: 2.1
Name: osc
Version: 0.172.0
Summary: openSUSE commander
Home-page: http://en.opensuse.org/openSUSE:OSC
Author: openSUSE project
Author-email: opensuse-buildservice@opensuse.org
License: GPL
Download-URL: https://github.com/openSUSE/osc
Description: osc -- opensuse-commander with svn like handling
        
        
        Patches can be submitted via
         * mail to opensuse-buildservice@opensuse.org
         * Bugzilla: https://bugzilla.opensuse.org/enter_bug.cgi?product=openSUSE.org&component=BuildService
         * or the official Git repository on Github:
           https://github.com/openSUSE/osc
        
        
        INSTALLATION:
        
        RPM packages are here (rpm-md repository):
        http://download.opensuse.org/repositories/openSUSE:/Tools/
        
        To install from git, do
        
                python setup.py build
                python setup.py install
                # create a symlink 'osc' in your path pointing to osc.py.
                ln -s osc-wrapper.py /usr/bin/osc
        
        Alternatively, you can directly use osc-wrapper.py from the source dir
        (which is easier if you develop on osc).
        
        
        
        CONFIGURATION:
        
        When you use it for the first time, it will ask you for your username and
        password, and store it in ~/.oscrc.
        
        
        CONFIGURATION MIGRATION (only affects versions >= 0.114):
        
        Version 0.114 got some cleanups for the configfile handling and therefore some
        options are now deprecated, namely:
        * apisrv
        * scheme
        
        One new option was added:
        * apiurl = <protocol>://<somehost> # use this as the default apiurl. If this
        option isn't specified the default (https://api.opensuse.org) is used.
        
        So far osc still has some backward compatibility for these options but it might
        get removed in the future that's why it issues a deprecation warning in case
        one of those options is still in use.
        
        The new configuration scheme looks like the following:
         # entry for an apiurl
         [<protocol>://<apiurl>]
         user = <username>
         password = <password>
         ...
        
        '''Before starting the migration please save your ~/.oscrc file!'''
        
        If the migration doesn't work for whatever reason feel free to send me an email
        or ask on the opensuse-buildservice mailinglist or in the #opensuse-buildservice
        irc channel.
        
        === Migration case I (apisrv only) ===
        The apisrv option is used to specify the default apihost. If apisrv isn't
        specified at all the default ("api.opensuse.org") is used.
        The current [general] section looks like this:
         [general]
         ...
         apisrv = <somehost>
         # or
         apisrv = <protocol>://<somehost>
        
        apisrv got superseded by the new apiurl option which looks like this:
         [general]
         ...
         apiurl = <protocol>://<somehost>
        
        If apisrv has no "<protocol>" https is used. Make sure all apiurl sections have
        the new format which is described above. Afterwards apisrv can be removed.
        
        === Migration case II (scheme only) ===
        The current [general] section looks like this:
         [general]
         ...
         scheme = <protocol>
        
        This means every apiurl section which don't have the new format which is
        described above for instance
         [<somehost>]
         user = <username>
         password = <password>
         ...
        
        has to be converted to
         [<protocol>://<somehost>]
         user = <username>
         password = <password>
         ...
        
        Afterwards the scheme option can be removed from the [general] section (it
        might be the case that some sections already have the correct format).
        
        === Migration case III (apisrv and scheme) ===
        The current [general] section looks like this:
         [general]
         ...
         apisrv = <somehost>
         scheme = <protocol>
        
        Both options can be removed if all apiurl sections have the new format which is
        described above. So basically just adjust all apiurl sections (it might be the
        case that some sections already have the correct format).
        
        
        KEYRING USAGE
        
        Osc now can store passwords in keyrings instead of ~/.oscrc. To use it,
        you need python-keyring and either python-keyring-kde or -gnome.
        
        If you want to switch to using a keyring you need to delete apiurl section
        from ~/.oscrc and you will be asked for credentials again, which will be then
        stored in the keyring application.
        
        
        WORKING COPY INCONSISTENT (only affects version >= 0.130)
        
        osc's working copy handling was rewritten in 0.130. Thus some
        consistency checks were added. As a result osc might complain
        that some old working copies are in an inconsistent state:
         Your working copy '.' is in an inconsistent state.
         Please run 'osc repairwc .' (Note this might _remove_
         files from the .osc/ dir). Please check the state
         of the working copy afterwards (via 'osc status .')
        To fix this simply run "osc repairwc ." as suggested in the
        error message. Note that "osc repairwc ." might need to contact
        the api in order to fetch some missing files. Also it might remove
        some files from the storedir (.osc/) but it won't touch any locally
        modified files.
        If it DOES NOT fix the problem please create a bug report and attach
        your working copy to the bug (if possible).
        
        
        USAGE EXAMPLES:
        (online at http://en.opensuse.org/openSUSE:OSC )
        
        To list existing content on the server
         osc ls                                # list projects
         osc ls Apache                         # list packages in a project
         osc ls Apache subversion              # list files of package of a project
        
        Check out content
         osc co Apache                         # entire project
         osc co Apache subversion              # a package
         osc co Apache subversion foo          # single file
        
        Update a working copy
         osc up
         osc up [pac_dir]                      # update a single package by its path
         osc up *                              # from within a project dir, update all packages
         osc up                                # from within a project dir, update all packages
                                               #   AND check out all newly added packages
        
        If an update can't be merged automatically, a file is in 'C' (conflict)
        state, and conflicts are marked with special <<<<<<< and >>>>>>> lines.
        After manually resolving the problem, use
         osc resolved foo
        
        Upload change content
         osc ci                                # current dir
         osc ci <dir>
         osc ci file1 file2 ...
        
        Show the status (which files have been changed locally)
         osc st
         osc st <directory>
         osc st file1 file2 ...
        
        Mark files to be added or removed on the next 'checkin'
         osc add file1 file2 ...
         osc rm file1 file2 ...
        
        Adds all new files in local copy and removes all disappeared files.
         osc addremove
        
        Generates a diff, to view the changes
         osc diff                              # current dir
         osc diff file1 file2 ...
        
        Shows the build results of the package
         osc results
         osc results [repository]
        
        Shows the log file of a package (you need to be inside a package directory)
         osc log <repository> <arch>
        
        Shows the URLs of .repo files which are packages sources for Yum/YaST/smart
         osc repourls [dir]
        
        Triggers a package rebuild for all repositories/architectures of a package
         osc rebuildpac [dir]
        
        Shows available repository/build targets
         osc repository
        
        Shows the configured repository/build targets of a project
         osc repository <project>
        
        Shows meta information
         osc meta Apache
         osc meta Apache subversion
         osc id username
        
        Edit meta information
        (Creates new package/project if it doesn't exist)
         osc editmeta Apache
         osc editmeta Apache subversion
        
        Update package meta data with metadata taken from spec file
         osc updatepacmetafromspec <dir>
        
        
        There are other commands, which you may not need (they may be useful in scripts):
         osc repos
         osc buildconfig
         osc buildinfo
        
        
        Locally build a package (see 'osc help build' for more info):
         osc build <repo> <arch> specfile [--clean|--noinit]
        
        
        Update a package to a different sources (directory foo_package_source):
         cp -a foo_package_source foo; cd foo; osc init <prj> <pac>; osc addremove; osc ci; cd $OLDPWD; rm -r foo
        
        
        
        HINT FOR W3M USERS
        
        Putting the following in the file ~/.w3m/passwd will make
        w3m know the credentials for the buildservice servers:
        
        """
        host api.opensuse.org
          port 80
          realm Authentication required
          login foo
          password bar
        
        host build.opensuse.org
          port 80
          realm openSUSE Build Service
          login foo
          password bar
        """
        
        chmod 0600 ~/.w3m/passwd
        
        
        NOTES about the testsuite
        
        A new test suite has been created and should run via doing
        # cd tests
        # python suite.py
        
        
Keywords: openSUSE,SUSE,RPM,build,buildservice
Platform: Linux
Platform: Mac OSX
Platform: Windows XP/2000/NT
Platform: Windows 95/98/ME
Platform: FreeBSD
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: GNU General Public License v2 or later (GPLv2+)
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Topic :: Software Development :: Build Tools
Classifier: Topic :: System :: Archiving :: Packaging
Description-Content-Type: text/plain
