tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: [GSoC2011][STATUS-UPDATE]Add support for FreeBSD package format, RPM and Debian packages(if time allows) to pkgsrc





On Mon, Aug 22, 2011 at 12:10 AM, Hubert Feyrer <hubert%feyrer.de@localhost> wrote:
On Sun, 21 Aug 2011, Anton Panev wrote:
. some help for testing. I put the README files in /pkgsrc/mk/pkgformats/
directory.

http://sourceforge.net/projects/addpackageforma/files/ says that the project has no files.

Maybe try to make it a bit easiert to understand what you did, and how.
I suggest you post a status report of what the goal is, what works, and what is still to do. Examples always help, too.


 - Hubert

Sure,


Added support for RPM packages.
Added support for Debian packages.


I checkout and bootstraped "pkgsrc" (Ubuntu). The name "flavor" is replaced with "pkgformat". 
I've installed the misc/rpm package from pkgsrc native format. I'm using default configuration.
rpm directory added in pkgformats(former flavors). *.mk for required private targets.

I plan to change it the same way as dpkg (see bellow). builddir paths need to be changed for
rpmbuild to work.

At bootstrap there is a check for native dpkg tools. If it is installed, the debian
pkgformat option can be used. I did not include option to use dpkg from pkgsrc. 


= Interface =
Packages are first created, then installed
to build package:
(b)make  PKG_FORMAT=rpm package

To install package:
(b)make  PKG_FORMAT=rpm install

to deinstall package:
(b)make  PKG_FORMAT=rpm deinstall 
This is not working for unprivileged user (su is called but _pkgformat-deinstall is not executed)
It is working for "root" user. I don't know why yet.

== Variables usable at load-time ==

A package system flavor must define the following variables so that they
can be used when loading Makefiles. (That is, no references to undefined
variables.)

RPMBASE?= /usr/rpm
RPM_DBDIR?= /var/db/rpm


=== Packaging commands ===

pkg_* tools are not changed

== Make targets ==


* package - Implemented
* _pkgformat-check-vulnerable - Not tested
* _pkgformat-deinstall - Does not work for unprivileged user
* _pkgformat-show-depends   - Implemented
* _pkgformat-install-dependencies - Not tested
* _pkgformat-bootstrap-depends - Not tested
* _pkgformat-register     - This looks like pkgsrc-native specific target
* tarup     - This looks like pkgsrc-native specific target
* tarup-pkg     - This looks like pkgsrc-native specific target
* package-install           - Implemented
* _pkgformat-replace - Not tested
* _pkgformat-destdir-replace - Not tested
* _pkgformat-undo-replace - Not tested

from utility.mk

* info - Implemented
* check - Not implemented
* list - Implemented
* show-downlevel - Implemented
* show-installed-depends - Implemented
* show-needs-update - Not implemented
* show-needs-update - Not implemented
* show-pkgsrc-dir - Not implemented
* show-depends-options - Implemented
* sid - See show-installed-depends

from view.mk - not implemented

The same applies to Debian packages.

Other notable problems:
- copyrights control file for Debian packages:
At the moment it contains generic message. It it should contain license and copyrights information
in Debian format. A license mapping to Debian supported licenses will be useful. 
- changelog control file for Debian packages:
At the moment it contains generic message. It it should contain changelog information in Debian format.
- pre-,post- install/remove scripts.
- generate conffiles, shlibs control files if applicable. 


Best Regards,
Anton Panev. 



Home | Main Index | Thread Index | Old Index