Bug 242241 - [NEW PORT] sysutils/py-upt: Package software from any package manager to any distribution
Summary: [NEW PORT] sysutils/py-upt: Package software from any package manager to any ...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kubilay Kocak
URL:
Keywords: feature
Depends on:
Blocks:
 
Reported: 2019-11-26 02:52 UTC by Cyril Roelandt
Modified: 2019-12-27 07:17 UTC (History)
2 users (show)

See Also:
cyril.roelandt: maintainer-feedback+


Attachments
Shar file for ports-mgmt/upt/py-upt, ports-mgmt/upt/py-upt-pypi and ports-mgmt/upt/py-upt-freebsd (4.43 KB, text/plain)
2019-11-26 02:52 UTC, Cyril Roelandt
no flags Details
upt, upt-pypi, upt-freebsd (4.09 KB, patch)
2019-11-27 04:05 UTC, Cyril Roelandt
no flags Details | Diff
upt 0.11, upt-pypi 0.5, upt-freebsd 0.3 (5.55 KB, patch)
2019-12-23 04:17 UTC, Cyril Roelandt
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Cyril Roelandt 2019-11-26 02:52:27 UTC
Created attachment 209438 [details]
Shar file for ports-mgmt/upt/py-upt, ports-mgmt/upt/py-upt-pypi and ports-mgmt/upt/py-upt-freebsd

Upt is a modular tool that makes it easy to automagically port a package from a language-specific package archive (such as PyPI or Rubygems) to an OS (such as FreeBSD or Fedora). It can be a replacement for pytoport.

The attached shar file contains three ports:

ports-mgmt/upt/py-upt: the core of upt;
ports-mgmt/upt/py-upt-pypi: the PyPI frontend;
ports-mgmt/upt/py-upt-freebsd: the FreeBSD backend.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-26 03:52:35 UTC
Working with Cyril to bring this into the tree, assign accordingly
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-11-26 04:02:13 UTC
Thanks for the new ports Cyril

Quick review:

- Move ports to sysutils/py*
- Change CATEGORIES to sysutils ports-mgmt python for the freebsd-ports related ports
- Change CATEGORIES to sysutils python for the non-freebsd-ports related ports
- Any port/package that installs console_scripts/scripts should be concurrent safe; use USE_PYTHON=concurrent to handle most things automatically
Comment 3 Cyril Roelandt 2019-11-27 04:05:43 UTC
Created attachment 209467 [details]
upt, upt-pypi, upt-freebsd
Comment 4 Cyril Roelandt 2019-11-27 04:06:01 UTC
(In reply to Kubilay Kocak from comment #2)
> - Move ports to sysutils/py*

Done.

> - Change CATEGORIES to sysutils ports-mgmt python for the freebsd-ports related ports

Done.

> - Change CATEGORIES to sysutils python for the non-freebsd-ports related ports

Done.

> - Any port/package that installs console_scripts/scripts should be concurrent safe; use USE_PYTHON=concurrent to handle most things automatically

I used USE_PYTHON=concurrent for py-upt, since it installs a console_script. Is it also required for py-upt-pypi and py-upt-freebsd, which use entrypoints (but no console scripts)?
Comment 5 Cyril Roelandt 2019-12-03 04:23:33 UTC
Portlint does not complain, and neither does poudriere after running

# poudriere testport -j 12amd64 -p dev -c sysutils/py-upt
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-03 04:39:17 UTC
Thank you Cyril, looking to land this in the next ~24 hours
Comment 7 Cyril Roelandt 2019-12-09 03:57:11 UTC
Thanks :) Is there anything else I should do with regards to this PR?
Comment 8 Cyril Roelandt 2019-12-23 04:17:10 UTC
Created attachment 210167 [details]
upt 0.11, upt-pypi 0.5, upt-freebsd 0.3
Comment 9 commit-hook freebsd_committer 2019-12-27 07:14:43 UTC
A commit references this bug:

Author: koobs
Date: Fri Dec 27 07:14:34 UTC 2019
New revision: 520970
URL: https://svnweb.freebsd.org/changeset/ports/520970

Log:
  [NEW PORTS] sysutils/py-upt{-pypi,-freebsd}: Universal Packaging Tool

  A unified CLI tool that converts a package from a language-specific package
  manager (such as PyPI or NPM) to an almost ready-to-use package for Free
  Unix-based operating systems (such as a GNU/Linux distribution or *BSD).

  This commit includes the PyPI frontend and FreeBSD (Ports) backend packages
  as sysutils/py-upt-pypi and sysutils/py-upt-freebsd, respectively.

  WWW: https://framagit.org/upt/upt

  PR:		242241
  Submitted by:	Cyril Roelandt <cyril.roelandt aquilenet fr>

Changes:
  head/sysutils/Makefile
  head/sysutils/py-upt/
  head/sysutils/py-upt/Makefile
  head/sysutils/py-upt/distinfo
  head/sysutils/py-upt/files/
  head/sysutils/py-upt/files/patch-setup.cfg
  head/sysutils/py-upt/pkg-descr
  head/sysutils/py-upt-freebsd/
  head/sysutils/py-upt-freebsd/Makefile
  head/sysutils/py-upt-freebsd/distinfo
  head/sysutils/py-upt-freebsd/pkg-descr
  head/sysutils/py-upt-pypi/
  head/sysutils/py-upt-pypi/Makefile
  head/sysutils/py-upt-pypi/distinfo
  head/sysutils/py-upt-pypi/pkg-descr
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2019-12-27 07:17:01 UTC
Committed, with minor changes:

- Set accurate USES=python:<version-spec> (3.6+)
- Make pkg-descr slightly longer
- Add test targets for QA
- Patch setup.py to install man pages to prefix-less path (allowing USE_PYTHON=concurrent to work)

Thank you for submitting new FreeBSD Ports Cyril!