pkgsrc meets pkg-ng Generating pkg-ng packages from pkgsrc - - PowerPoint PPT Presentation

pkgsrc meets pkg ng
SMART_READER_LITE
LIVE PREVIEW

pkgsrc meets pkg-ng Generating pkg-ng packages from pkgsrc - - PowerPoint PPT Presentation

pkgsrc meets pkg-ng Generating pkg-ng packages from pkgsrc pkgsrcCon Berlin, July 4 th 2015 Pierre Pronchery <khorben@defora.org> Why pkg-ng Why not? Binary packages first-class citizens No more options for packages


slide-1
SLIDE 1

pkgsrc meets pkg-ng

Generating pkg-ng packages from pkgsrc pkgsrcCon Berlin, July 4th 2015

Pierre Pronchery <khorben@defora.org>

slide-2
SLIDE 2

Why pkg-ng

  • Why not?
  • Binary packages first-class citizens

– No more options for packages

  • Triggers
  • Transactions (SQLite)
slide-3
SLIDE 3

pkgformat framework

  • Everything goes to mk/pkgformat/pkgng/
  • Just copied everything to start from
  • Changes in:

– mk/pkgformat/pkgformat-vars.mk – mk/pkgformat/metadata.mk – mk/pkgformat/package.mk

slide-4
SLIDE 4

pkgformat/pkgformat-vars.mk

  • PKG_CMD?= ${PKG_TOOLS_BIN}/bin/pkg
  • PKG_CREATE_CMD?= ${PKG_CMD} create

– Amounts to s/pkg_/pkg / in a way

slide-5
SLIDE 5

pkgformat/metadata.mk

  • Uses a single metadata file for package creation, +MANIFEST

+ ${RUN} { \ + ${ECHO} "name: ${PKGNAME:C/-.*//}"; \ + ${ECHO} "version: ${PKGVERSION}"; \ + ${ECHO} "origin: ${CATEGORIES}/${PKGNAME:C/-.*//}"; \ + ${ECHO} "comment: ${COMMENT}"; \ + ${ECHO} "arch: ${LOWER_ARCH}"; \ + ${ECHO} "www: ${HOMEPAGE}"; \ + ${ECHO} "maintainer: ${MAINTAINER}"; \ + ${ECHO} "prefix: ${PREFIX}"; \ + } > ${.TARGET}

slide-6
SLIDE 6

pkgformat/package.mk

  • Handle more compression formats (LZMA...)
slide-7
SLIDE 7

Issues

  • pkgsrc relies on pkg_install in a lot more places

– Comparing versions – Dependency tracking…

  • pkg-ng still fails creating a package:

pkg: Warning: Major OS version upgrade

  • detected. Running "pkg-static install -f pkg"

recommended pkg: Cannot open "/var/run/ld-elf.so.hints": No such file or directory *** Error code 1

slide-8
SLIDE 8

References

  • In pkgsrc: wip/pkg15 and then pkgtools/pkg
  • On http://git.edgebsd.org/ repository edgebsd-

pkgsrc.git branch khorben/pkgng