go2rpm


Namego2rpm JSON
Version 1.14.0 PyPI version JSON
download
home_pageNone
SummaryConvert Go packages to RPM
upload_time2024-06-30 14:51:24
maintainerNone
docs_urlNone
authorNone
requires_python>=3.9
licenseNone
keywords go golang rpm
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # go2rpm

go2rpm is a Python application designed to assist in the creation of RPM
specfiles for Go (Golang) projects.
It automates the process of
fetching project details, determining dependencies, and generating a specfile.

## Features

- **Automatic Specfile Generation**: go2rpm automatically generates RPM
  specfiles based on the Go project's details and structure.
- **Support for Various Forges**: go2rpm works with different code hosting
  platforms such as GitHub, GitLab, Bitbucket, Pagure, and Gitea.
- **Up to commit level spec generation**: go2rpm can create a spec file based
  on a project's latest release or tag (default) or a custom version, tag, or commit.

## Usage

To use go2rpm, execute the application with the necessary parameters:

``` shell
go2rpm [OPTIONS] GO_IMPORT_PATH
```

### Options

- **-r, --rpmautospec**: Use autorelease and autochangelog features (default)
- **-n, --no-rpmautospec**: Use static release and changelog instead of rpmautospec
- **-L, --use-new-versioning**: Enable new naming scheme for
   versioned compat packages (default)
- **--no-use-new-versioning**: Use older naming scheme for versioned compat packages
- **--no-auto-changelog-entry**: Do not generate a changelog entry
- **--dynamic-buildrequires**: Use dynamic BuildRequires feature (default)
- **-R, --no-dynamic-buildrequires**: Do not use dynamic BuildRequires feature
- **-C, --clean**: Clean cache for chosen Go import path (default)
- **--no-clean**: Do not clean the cache
- **--clean-all**: Clean all cached Go imports
- **-d, --create-directory**: Save the final specfile output to NAME/NAME.spec
- **--name**: Use a specific name for the spec file
- **--print-name**: Print the generated package name and exit
- **-q, --no-spec-warnings**: Exclude warning comments from generated specfile
- **-t, --tag**: Use especified package tag
- **-a, --altipaths**: Include alternate import paths
- **-c, --commit**: Use especified package commit
- **-f, --forge**: Forge URLs
- **-v, --version**: Use especified package versions
- **--stdout**: Print spec into stdout

### Examples

``` shell
# Generate specfile a project hosted on GitHub
go2rpm github.com/rhysd/actionlint

# Generate specfile for a project where import path doesn't match the repository
go2rpm --forge https://github.com/kubernetes/api k8s.io/api

# Generate specfile for a project using a specific commit
go2rpm --commit c2c7a15d6c994356c68dc7a14868c3519836286b --forge 'https://git.sr.ht/~emersion/go-scfg' 'git.sr.ht/~emersion/go-scfg'

# Generate specfile for a project using a specific version
go2rpm -v 2.1.0 github.com/hashicorp/hcl/v2

# Generate specfile with a custom name. This is useful for application packages.
go2rpm --name gh -f https://github.com/cli/cli github.com/cli/cli/v2
```

## Requirements

- Python 3
- Git
- Askalono (a license detection tool)
- Aiohttp (for asynchronous HTTP requests)

## License

This application is licensed under the [MIT License](LICENSE).
Feel free to modify and distribute it in accordance with the license terms.


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "go2rpm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.9",
    "maintainer_email": null,
    "keywords": "go, golang, rpm",
    "author": null,
    "author_email": "Robert-Andr\u00e9 Mauchin <zebob.m@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/db/55/775a50b1a0c412db0b67c2e28790a89c7a3f5e02932f9d934c4bc108906b/go2rpm-1.14.0.tar.gz",
    "platform": null,
    "description": "# go2rpm\n\ngo2rpm is a Python application designed to assist in the creation of RPM\nspecfiles for Go (Golang) projects.\nIt automates the process of\nfetching project details, determining dependencies, and generating a specfile.\n\n## Features\n\n- **Automatic Specfile Generation**: go2rpm automatically generates RPM\n  specfiles based on the Go project's details and structure.\n- **Support for Various Forges**: go2rpm works with different code hosting\n  platforms such as GitHub, GitLab, Bitbucket, Pagure, and Gitea.\n- **Up to commit level spec generation**: go2rpm can create a spec file based\n  on a project's latest release or tag (default) or a custom version, tag, or commit.\n\n## Usage\n\nTo use go2rpm, execute the application with the necessary parameters:\n\n``` shell\ngo2rpm [OPTIONS] GO_IMPORT_PATH\n```\n\n### Options\n\n- **-r, --rpmautospec**: Use autorelease and autochangelog features (default)\n- **-n, --no-rpmautospec**: Use static release and changelog instead of rpmautospec\n- **-L, --use-new-versioning**: Enable new naming scheme for\n   versioned compat packages (default)\n- **--no-use-new-versioning**: Use older naming scheme for versioned compat packages\n- **--no-auto-changelog-entry**: Do not generate a changelog entry\n- **--dynamic-buildrequires**: Use dynamic BuildRequires feature (default)\n- **-R, --no-dynamic-buildrequires**: Do not use dynamic BuildRequires feature\n- **-C, --clean**: Clean cache for chosen Go import path (default)\n- **--no-clean**: Do not clean the cache\n- **--clean-all**: Clean all cached Go imports\n- **-d, --create-directory**: Save the final specfile output to NAME/NAME.spec\n- **--name**: Use a specific name for the spec file\n- **--print-name**: Print the generated package name and exit\n- **-q, --no-spec-warnings**: Exclude warning comments from generated specfile\n- **-t, --tag**: Use especified package tag\n- **-a, --altipaths**: Include alternate import paths\n- **-c, --commit**: Use especified package commit\n- **-f, --forge**: Forge URLs\n- **-v, --version**: Use especified package versions\n- **--stdout**: Print spec into stdout\n\n### Examples\n\n``` shell\n# Generate specfile a project hosted on GitHub\ngo2rpm github.com/rhysd/actionlint\n\n# Generate specfile for a project where import path doesn't match the repository\ngo2rpm --forge https://github.com/kubernetes/api k8s.io/api\n\n# Generate specfile for a project using a specific commit\ngo2rpm --commit c2c7a15d6c994356c68dc7a14868c3519836286b --forge 'https://git.sr.ht/~emersion/go-scfg' 'git.sr.ht/~emersion/go-scfg'\n\n# Generate specfile for a project using a specific version\ngo2rpm -v 2.1.0 github.com/hashicorp/hcl/v2\n\n# Generate specfile with a custom name. This is useful for application packages.\ngo2rpm --name gh -f https://github.com/cli/cli github.com/cli/cli/v2\n```\n\n## Requirements\n\n- Python 3\n- Git\n- Askalono (a license detection tool)\n- Aiohttp (for asynchronous HTTP requests)\n\n## License\n\nThis application is licensed under the [MIT License](LICENSE).\nFeel free to modify and distribute it in accordance with the license terms.\n\n",
    "bugtrack_url": null,
    "license": null,
    "summary": "Convert Go packages to RPM",
    "version": "1.14.0",
    "project_urls": {
        "Homepage": "https://gitlab.com/fedora/sigs/go/go2rpm"
    },
    "split_keywords": [
        "go",
        " golang",
        " rpm"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "d7f1cd59e34137b7a7b87c865d4af4c96d39656876fff16b3c51d1233783b967",
                "md5": "b46463669f564ea87317e265fc3be54c",
                "sha256": "6a05f3de6acafef09866a824073368be01970a3163e774a1c25155fa3f8e9d3f"
            },
            "downloads": -1,
            "filename": "go2rpm-1.14.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b46463669f564ea87317e265fc3be54c",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.9",
            "size": 17154,
            "upload_time": "2024-06-30T14:51:22",
            "upload_time_iso_8601": "2024-06-30T14:51:22.658020Z",
            "url": "https://files.pythonhosted.org/packages/d7/f1/cd59e34137b7a7b87c865d4af4c96d39656876fff16b3c51d1233783b967/go2rpm-1.14.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "db55775a50b1a0c412db0b67c2e28790a89c7a3f5e02932f9d934c4bc108906b",
                "md5": "9744759ee04f39de8bb0891404ba5a10",
                "sha256": "6b1aa806ec65a38dd3cb71c0e75babe5522f940ca281b92f6329997741faaa9a"
            },
            "downloads": -1,
            "filename": "go2rpm-1.14.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9744759ee04f39de8bb0891404ba5a10",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.9",
            "size": 14409,
            "upload_time": "2024-06-30T14:51:24",
            "upload_time_iso_8601": "2024-06-30T14:51:24.567943Z",
            "url": "https://files.pythonhosted.org/packages/db/55/775a50b1a0c412db0b67c2e28790a89c7a3f5e02932f9d934c4bc108906b/go2rpm-1.14.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-30 14:51:24",
    "github": false,
    "gitlab": true,
    "bitbucket": false,
    "codeberg": false,
    "gitlab_user": "fedora",
    "gitlab_project": "sigs",
    "lcname": "go2rpm"
}
        
Elapsed time: 0.98257s