History log of /haiku-fatelf/src/bin/package/command_create.cpp
Revision Date Author Comments
# 1fc3ceed 11-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add options -b and -I to package command

* With -b building a build package can be requested. It will be empty
save for the .PackageInfo. No license check is performed.
* -I allows to specify an install path.


# 723336fe 02-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move directory iteration helper to own file


# cba1e223 02-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move PackageWriterListener to separate file


# 376bc55c 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Missing include


# 7395bf8a 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add create -i option for specifying a package info


# c3093f6d 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed printf() format related warnings.


# 33bc4425 12-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Largish adjustments to PackagerReaderImpl and package attribute
handling:
* package attributes are now compatible with the low level attribute
handling of other HPKG attributes (such that 'package dump' now shows
package attributes, too)
* dropped type names from hpkg format, the attributes were identified
by IDs already and this simplifies the code considerably. Type names
are now handled in BLowLevelPackageHandler only.
* instead of rolling their own mechanism, high-level package attributes
handling is now implemented via a corresonding set of
AttributeHandler-subclasses
* adjusted package writer to only write package attributes that are
needed (empty ones are left out)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40466 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d68f6af 09-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Implemented repository writing:
* fleshed out RepositoryWriterImpl
* renamed BRepositoryHeader to BRepositoryInfo (in accordance with
BPackageInfo)
* adjusted BRepositoryInfo to be able to parse itself from a
driver_settings file
* added package_repo binary (only 'create' works as of yet)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d77c6cd2 08-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* implemented checking of licenses, such that it is no longer possible
to create a package that refers to a license that is not a system
license or contained in the package
* added package-info flags (currently only approve_license and
system_package)
* adjusted package-reader/writer and pkgman accordingly

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40393 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f2022173 07-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Refactoring step towards implementation of RepositoryWriter:
* pulled commonly useful parts out of PackageWriterImpl into
WriterImplBase
* moved CachedStringTable and related methods into a separate class,
StringCache, in order to support having more than one string cache
per package file
* made package attribute section use a string cache, too, as that's
going to be very useful for repositories
* instead of writing package attributes directly, we now collect
corresponding PackageAttributes and write those later
* adjusted package reader accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40376 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fd711ef 31-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* refactored PackageWriter(Impl) to no longer print anything itself,
but publish that info through a BPackageWriterListener
* adjusted 'package create' to print a package summary by default and
more verbose info upon request.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40332 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 15a5c3f7 31-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* follow hint by Axel: drop FDCloser and use shared class
FileDescriptorCloser instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40330 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fb1c6ff 30-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

Refactored hpkg implementation to provide some separation between
public and private API (still far from ideal, but a start):
* moved several HPKG-classes into the public namespace BPackageKit::HPKG
* added fImpl-wrappers around PackageReader and PackageWriter to hide
most of the gory details
* adjusted 'package'-binary and packagefs accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40320 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d6b3b20 27-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

More work on package kit:
* added class BPackageInfo, which contains packaging attributes of
a package (the values relevant for package management)
* implemented parser (mostly) for reading a BPackageInfo from a config
file (.PackageInfo) in order to pass them on to the PackageWriter
when creating a package
* pulled hpkg-related stuff from bin/package into the package kit
* adjusted packagefs-Volume to skip .PackageInfo files when populating
the mountpoint, as those files shouldn't appear as part of an
activated package


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40301 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b29f1f44 12-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* support "." as parameter when creating a package, in order to
simplify creating a package for the contents of the current folder

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40213 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 050aa61b 13-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a tool ("package") that implements creation and extraction of
packages of the newly invented Haiku Package format
(http://dev.haiku-os.org/wiki/PackageFormat). It basically works, but it's
still work in progress (e.g. compression is not implemented yet), as is the
format itself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34018 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1fc3ceeda2c7ac2942fc92fe928f81e6899d47a0 11-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add options -b and -I to package command

* With -b building a build package can be requested. It will be empty
save for the .PackageInfo. No license check is performed.
* -I allows to specify an install path.


# 723336fe52b3a4c2f865545d9df3f138ebadcb9d 02-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move directory iteration helper to own file


# cba1e223768678f6fa6e070d74251b33801414c7 02-Jul-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Move PackageWriterListener to separate file


# 376bc55c27df522a0a0423835bfb27e6cafdcd13 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Missing include


# 7395bf8a768f1fb4467ddf88db03034bb97d7bb3 30-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Add create -i option for specifying a package info


# c3093f6d0f6ed5683bc6fabd4a94848a6aaf0090 16-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

Fixed printf() format related warnings.


# 33bc4425be0b545ed3d0b7e7a9a873d31e5a0330 12-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Largish adjustments to PackagerReaderImpl and package attribute
handling:
* package attributes are now compatible with the low level attribute
handling of other HPKG attributes (such that 'package dump' now shows
package attributes, too)
* dropped type names from hpkg format, the attributes were identified
by IDs already and this simplifies the code considerably. Type names
are now handled in BLowLevelPackageHandler only.
* instead of rolling their own mechanism, high-level package attributes
handling is now implemented via a corresonding set of
AttributeHandler-subclasses
* adjusted package writer to only write package attributes that are
needed (empty ones are left out)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40466 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d68f6afb34d8e01421123b216e34771d1c7fbfe 09-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Implemented repository writing:
* fleshed out RepositoryWriterImpl
* renamed BRepositoryHeader to BRepositoryInfo (in accordance with
BPackageInfo)
* adjusted BRepositoryInfo to be able to parse itself from a
driver_settings file
* added package_repo binary (only 'create' works as of yet)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40405 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d77c6cd26a5cf3863ba4258a063d7d8645abf1e3 08-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

* implemented checking of licenses, such that it is no longer possible
to create a package that refers to a license that is not a system
license or contained in the package
* added package-info flags (currently only approve_license and
system_package)
* adjusted package-reader/writer and pkgman accordingly

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40393 a95241bf-73f2-0310-859d-f6bbb57e9c96


# f202217364f40d170b7bf07b60a75457b275b0c1 07-Feb-2011 Oliver Tappe <zooey@hirschkaefer.de>

Refactoring step towards implementation of RepositoryWriter:
* pulled commonly useful parts out of PackageWriterImpl into
WriterImplBase
* moved CachedStringTable and related methods into a separate class,
StringCache, in order to support having more than one string cache
per package file
* made package attribute section use a string cache, too, as that's
going to be very useful for repositories
* instead of writing package attributes directly, we now collect
corresponding PackageAttributes and write those later
* adjusted package reader accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40376 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fd711ef9999af8ce8dc6c44509ee154230b8d90 31-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* refactored PackageWriter(Impl) to no longer print anything itself,
but publish that info through a BPackageWriterListener
* adjusted 'package create' to print a package summary by default and
more verbose info upon request.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40332 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 15a5c3f7d91ab7657dc13deee1a18ef9e9c14567 31-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* follow hint by Axel: drop FDCloser and use shared class
FileDescriptorCloser instead


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40330 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5fb1c6ff1f55fe4094a761b653041b3a0b9abf1d 30-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

Refactored hpkg implementation to provide some separation between
public and private API (still far from ideal, but a start):
* moved several HPKG-classes into the public namespace BPackageKit::HPKG
* added fImpl-wrappers around PackageReader and PackageWriter to hide
most of the gory details
* adjusted 'package'-binary and packagefs accordingly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40320 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0d6b3b20e15fe2cbeb5e81749f888c26ca289338 27-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

More work on package kit:
* added class BPackageInfo, which contains packaging attributes of
a package (the values relevant for package management)
* implemented parser (mostly) for reading a BPackageInfo from a config
file (.PackageInfo) in order to pass them on to the PackageWriter
when creating a package
* pulled hpkg-related stuff from bin/package into the package kit
* adjusted packagefs-Volume to skip .PackageInfo files when populating
the mountpoint, as those files shouldn't appear as part of an
activated package


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40301 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b29f1f4498692c5122136f00e4c2e40ca89202ab 12-Jan-2011 Oliver Tappe <zooey@hirschkaefer.de>

* support "." as parameter when creating a package, in order to
simplify creating a package for the contents of the current folder

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40213 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 050aa61bd63287302e92e90154489a6d353ca743 13-Nov-2009 Ingo Weinhold <ingo_weinhold@gmx.de>

Implemented a tool ("package") that implements creation and extraction of
packages of the newly invented Haiku Package format
(http://dev.haiku-os.org/wiki/PackageFormat). It basically works, but it's
still work in progress (e.g. compression is not implemented yet), as is the
format itself.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34018 a95241bf-73f2-0310-859d-f6bbb57e9c96