2013-05-16
|
pkgbuild-1.3.105.tar.bz2
|
|
Changes in pkgbuild 1.3.105
Enhancements:
- implement the %timestamp(time) and %timestamp modifiers, see
docs/spec-files.txt
- use pkgsend publish instead of old pkgsend open / include / close 3-step method
- xz decompression (patch from Brian Cameron)
Bugs fixed:
- correct org.opensolaris.smf.fmri attribute name
- ips-dependency-generator fixed to work on Solaris 11 update 1
- ips-dependency-generator and pkgbuild fixed to differentiate
between failed dependency detection and no dependencies.
- fix configure script to work for newer versions of GNU sed
(patch from Jan Lana)
- fix publishing IPS source packages
- fix defining the default branch version based on the running
Solaris build
|
2012-02-15
|
pkgbuild-1.3.104.tar.bz2
|
|
Changes in pkgbuild 1.3.104
Enhancements:
- [1887920] (6984515) implement boolean expressions after %if
- (7000538) allow string comparison after %if
- (6983865, 6989324, 6991973) define a number of new macros commonly
available in rpm
- (6983891) implement the %exclude modifier in %files
- implement %{with foo} macro to be used in %if conditionals
- automatically generate package (runtime) dependencies on IPS
systems - this feature can be disabled using the
%_use_internal_dependency_generator macro. Enabled by default.
- (pkgbuild-specific) relocate_from option of SUNW_BaseDir can be
used to alter the base directory of a package without actually
moving the files in %buildroot
- (pkgbuild and IPS-specific) Requires: foo = * generates a
dependency without a version specification
- implement >= version spec in Requires
- --nosourcepkg option disables creating source packages
(and corresponding attributes in IPS packages)
- spectool get_all_requires prints all dependencies of all packages
defined in a spec
- spectool get_package_names has a new -a option to include
obsolete/renamed packages
- (IPS and pkgbuild-specific) new tag renamed_to allows adding
dependencies to renamed/obsolete pkgs that need not be installed
for building the spec
- (IPS and pkgbuild-specific) %mogrify section in spec files can
be used to specify pkgmogrify(1) transformations applied to the
generated manifest. Also, a file with default transformations
may be specified by defining the __pkgbuild_default_mogrify_rules
macro.
- implement the __spec_install_post macro. When this macro
explands to an executable script, it is called after the %install
section with $RPM_BUILD_ROOT as its sole argument.
- (pkgbuild-specific) new tag: PkgBuild_Make_Empty_Package
when set to true or 1, pkgbuild creates a package even if it has
no contents (e.g. renamed/obsolete)
- (pkgbuild and IPS-specific) new tag: IPS_legacy: when set to false,
no legacy action is added to the package
Bugs fixed:
- fix installation when entire is not installed
- include pkg.description and variant.arch attributes in manifests
- {17052} treat comma-separated values in Meta tag as multiple values,
unless quoted: "foo, bar" or the comma is escaped: foo\, bar.
- (6983879, 6990528) fix parser problems with nested %() expressions
and quotes
- (6985298) fix globs in %doc lines
- (7003394) fix infinite loop in certain conditional definitions
and detect real infinite loops in macro definitions
- (7002852) allow both comma-separated and space-separated lists
of dependency specs in BuildRequires
- (7010145) fix the definition of host_cpu in macros.in so it's not
hardcoded to i686
- (6983885) fix runtime errors with regexps when the package name
or path name contains + chars
- (6983872) fix the definition of cxx_optflags so it's not optflags
- [2904560] show the generated package name
- [2991209] Wrapper Scripts are overly complex and don't support symlink
patch by Peter Bray
- [3040813] publisher URL parsing problems
patch by Chris Ridd
- [3078143] %doc should be relative to source dir, not build root
- [3152163] wget_source() fails if $topdir/SOURCES does not exist
- {16464} pkgbuild exists with the undefinied value in the
rpm_package.pm
patch by Michał Pryć
- fix the attributes of /usr in IPS package, if it is the basedir
(and therefore not included in %files)
- fix autotag rules so that directories are not tagged
- reduce the number of recursive calls in the parser so it works
with very long spec files
- omit empty packages in spectool's get_package_names and
get_publish_scripts, but allow creating packages that only
contain dependencies (no files or actions)
- fix all kinds of ARCH variables that were incorrect when the
--target option was used
- fix publishing to file:/// repos
- use the version of the release/name package to determine the
default branch version.
- change attribute names to conform to Solaris 11 standards, e.g.
-'s changed to _'s.
|
2010-07-19
|
pkgbuild-1.3.103.tar.bz2
|
|
Changes in pkgbuild 1.3.103
Bugs fixed:
- fix a typo in spectool that breaks get_ips_pkgname
- update %files in pkgbuild.spec.in for the new docs
- fix typo in SMF service FMRI for gconf-cache (reported
by Rich Lowe)
- fix and undefined variable warning (reported by Michal Pryc)
- IPS pkg.summary and description should default to the package
name rather than an empty action. (reported by Michal Pryc)
- escape "'s in values of IPS actions
New Features:
- download testing: use
pkgtool download --dry-run foo.spec
to verify the Source URLs in foo.spec without actually
downloading the sources.
- add definition of %configure to the default macros.
- implement file:// repos
|
2010-06-06
|
pkgbuild-1.3.102.tar.bz2
|
|
Changes in pkgbuild 1.3.102
Documentation (finally!)
New Features:
- Did I mention documentation?
- %actions section for adding arbitrary IPS actions to packages.
Examples:
%actions
group groupname="testpkg"
user username="testuser" group="testpkg"
%actions -n foo-driver
driver name=foo perms="dump 0660 root sys"
Based on patches by Emanuele Pucciarelli and Andras Barna
- %ips_tag(tag) modifier for elements of the %files lists:
%files
%ips_tag(restart_fmri=svc:/some/svc:default) %{_datadir}/foo/bar
- "autotag" adds tags and package dependencies for well known
file locations. For example, /usr/share/applications/*.desktop
files are automatically tagged with
restart_fmri=svc:/application/desktop-cache/desktop-mime-cache:default
and a dependency on SUNWdesktop-cache is added, if it's not
already there. Other autotagged file types:
- GConf schemas and entries
- desktop icons (/usr/share/icons/*)
- gtk input method modules
- gtk pixbuf loader modules
- mime types definitions (/usr/share/mime/packages/*)
- X11 fonts
- SMF service manifests
To disable autotag, redefine the _use_ips_autotag macro to 0:
%define _use_ips_autotag 0
or on the command line:
pkgbuild --define '_use_ips_autotag 0' ...
pkgtool --define '_use_ips_autotag 0' ...
- when pkgtool builds a different version of a package
that is included in an incorporation, it automatically
publishes an updated version of the incorporation
(making it possible to install the package)
- [ 2904561 ] support '--target' command line
Patch by Paolo Abeni
- [ 2904564 ] use buildarch tag for svr4 packages
Patch by Paolo Abeni
- new spectool subcommand: "get_ips_pkgname foo" translates a
dependency specification "foo" (Requires: foo) to an IPS package name.
- new spectool subcommand: "get_publish_scripts" prints the path to
the scripts used for [re-]publishing the IPS packages belonging to
the given spec files
- new spectool subcommand: "match_package_names" prints a : separated
list of names associated with the packages defined in the given
spec files. The order is: label:svr4_name:ips_name where
label is the "label" of the %package, e.g. if Name is foo and
there is a %package devel, then the label is foo-devel;
svr4_name is the SVr4 package name of the package and
ips_name is the IPS package name. The output lines are prefixed
with the spec file names if the -l option is used.
- print a warning and some hints when the local IPS server is read-only
Bugs fixed:
- pkgbuild should have documentation ;)
- don't require whitespaces around version specifications in
Requires/BuildRequires tags
- %packages that define IPS_package_name should
be separate packages, not merged in the main package and tagged
- [ 2744961 ] warning message printed during build
- a spec file with a dependency on a package without a branch
creates an incorrect fmri in the manifest
(patch by Vitezslav Batrla)
- fix the code that translates dependency specifications to
IPS package names to work with both older and newer versions
of IPS and speed up the translation
- evaluate macros in package name arguments to %package and %files
(reported by Norm Jacobs)
|
2009-09-01
|
pkgbuild-1.3.101.tar.bz2
|
|
Changes in pkgbuild 1.3.101
Bugs fixed:
- fix NoSource and NoPatch to work for patch and source numbers >9
- do not attempt to rewrite SOURCES/..pkgbuild for each package
New features:
- IPS source packages are created on $PKGBUILD_SRC_IPS_SERVER (if
defined) or $PKGBUILD_IPS_SERVER or on the local IPS server.
Use the IPS_sourcepackage tag to define the IPS source package
name. The default is <IPS package name>/src.
|
2009-04-22
|
pkgbuild-1.3.98.4.tar.bz2
|
|
Changes in pkgbuild 1.3.98.4
Bug fixed:
- adjust regexp used for parsing the output of 'pkg authority' so
that it works with both older and newer versions of IPS
|
2009-04-17
|
pkgbuild-1.3.98.3.tar.bz2
|
|
Changes in pkgbuild 1.3.98.3
Bugs fixed:
- SUNW_Pkg ignored by pkgtool when looking for
dependent packages. Patch from Jan Hnatek.
- fix the local IPS server URL to include a trailing /
Bug reported by Jan Hnatek
- rewrite much of ips_utils to parse the output of 'pkg authority' instead of parsing /var/pkg/cfg_cache
- ignore version specs in Requires/BuildRequires statements
(for now...)
- use a single "info.source_url" IPS attribute for all
sources, rather than one for each, which is apparently illegal
- use a single "info.classification" IPS attribute if
multiple classifications are specified (one using Meta,
one using the Group tag)
- do not try to create IPS packages on non-IPS systems
- other minor fixes
|
2009-02-22
|
pkgbuild-1.3.98.tar.bz2
|
|
Changes in pkgbuild 1.3.98
Bugs fixed:
- legacy actions are now added to IPS manifests, so pkginfo
recognises that the packages are installed.
- handle errors running pkg(1)
- fix detecting whether the user has permission to install packages
- Requires: /path/to/file now works for IPS packages as well,
detects if the file was installed with IPS or pkgadd and
adds the matching dependency
- use wget option to disable checking ssl certs so that automatic
download of https works (--sslcheckcert=0 or --no-check-certificate
depending on the wget version), reported by Ghee Teo
New features:
- IPS packages are automatically published in the local repository,
if svc:/application/pkg/server:default is online (no need to
use the --ips option)
- the PKGBUILD_IPS_SERVER environment variable can be used to
select a different repository
- IPS dependencies are determined from the SVr4 package names
by translating the legacy actions to IPS FMRIs. This means
that spec files can continue to use SVr4 package names in the
Requires/BuildRequires lines and pkgbuild will convert them
to IPS dependencies on the fly when publishing to IPS.
- add metadata to IPS manifests according to the latest
guidelines
- the new Meta tag can be used to define additional IPS meta data.
Example:
Meta(info.maintainer): user@spamme.com
- spectool has a new get_meta mode for querying Meta tags.
Example:
spectool get_meta foo.spec
- new options for spectool get_used_spec_files: -l prints the
labels of the sub-spec files, e.g.
spectool get_used_spec_files -l SUNWgnome-base-libs.spec
pango = /path/to/pango.spec
...
- Packages not defined with %package -n are considered
subpackages and are merged in the main IPS package and
tagged with the suffix. Packages defined with %package -n
become separate IPS packages. Example:
Name: foo
SUNW_Pkg: SFEfoo
Version ...
...
%package devel
...
%package -n bar
SUNW_Pkg: SFEbar
...
This creates 3 SVr4 packages: SFEfoo, SFEfoo-devel and SFEbar
and 2 IPS packages: foo and bar. (devel files in foo are
tagged with devel=true)
- IPS packages are automatically installed in build mode
- IPS package versioning now conforms to pkg(5), new tags have
been added for controlling elements of the version string:
- IPS_component_version (defaults to %version)
- IPS_build_version (defaults to `uname -r`)
- IPS_vendor_version (defaults to "0." + Solaris build number)
- new --update option of pkgtool (and corresponding update_if_newer
.pkgtoolrc setting) makes pkgtool rebuild and update packages
if the version in the spec file is newer than the installed version
(the Version tag is compared with the pkginfo (legacy) version)
- new mode: publish-pkgs publishes the previously built package
to an IPS repository. Obviously, only works in ips mode.
|
2008-09-18
|
pkgbuild-1.3.3.tar.bz2
|
|
Changes in pkgbuild 1.3.3
Bugs fixed:
- %attr modifiers not processed recursively (broken since 1.3.0)
- disable dbus notification if notify-send is not in the PATH
|
2008-08-18
|
pkgbuild-1.3.91.tar.bz2 (development release)
|
|
This a development release with experimental support for the Image Packaging System (IPS).
Otherwise matches the features of 1.3.3.
Read more about pkgbuild and IPS
|
2008-09-08
|
pkgbuild-1.3.2.tar.bz2
|
|
Changes in pkgbuild 1.3.2
Bugs fixed:
- [ 2019102 ] Compressed patches are recognised but can't be found (patch by Boyd Adamson)
New features:
|
2008-08-08
|
pkgbuild-1.3.90.tar.bz2 (development release)
|
|
This a development release with experimental support for the Image Packaging System (IPS).
Otherwise matches the features of 1.3.2.
Read more about pkgbuild and IPS
|
2008-06-23
|
pkgbuild-1.3.1.tar.bz2
|
|
Changes in pkgbuild 1.3.1
Bugs fixed:
- [ 1953614 ] write to single datastream
- [ 1953613 ] print filename of file stream written to
- allow installation if the user has either the Software
Installation or the Primary Administrator profile. Also
verify that they are not masked by Basic Solaris User.
- stop using c99 features in pkgdbgrep.c
- kill perl warnings for undefined variables in --dumprc
(reported by Andras Barna)
- create the download directory before first use if it doesn't
exist. (reported by Michal Bielicki)
|
2008-03-12
|
pkgbuild-1.3.0.tar.bz2
|
|
Changes in pkgbuild 1.3.0
Bugs fixed:
- fix detecting GNU tar for versions >= 1.15.1. Patch from
Mike Bristow.
- expand macros in the argument of %files -f. Patch from
Mike Bristow.
- do not send build failure emails for DEP_FAILED specs
- [ 1786439 ] Regex characters need quoting
- [ 1812491 ] pkgtool with a unresponsive server takes too long
to timeout. Bug report and fix from Ananth Shrinivas S.
- [ 1767423 ] pkgtool error when download_to dir has corrupted file
Reported by Shiv.
- handle tar.Z tarballs. Patch from Thomas Wagner.
- [ 1705877 ] defattr takes an optional 4th arg in rpmbuild
Patch from Mike Bristow
- { } characters get deleted from %files entries. Reported by
Dave Lin.
- macros not expanded in the arguments of %files. Reported by
Dave Lin.
- generate xhtml reports, patch from Damien Carbery.
New features:
- pkgtool --autodeps
The new --autodeps option allows pkgtool to pick up spec files
from the directories specified by the specdirs configuration
setting to satisfy dependencies. Consider this example:
$ cd SFE
$ pkgtool build --download SFEgit.spec
INFO: Copying %use'd or %include'd spec files to SPECS directory
INFO: Processing spec files
WARNING: skipping package SFEgit: required package SFEcurl not i...
WARNING: and no spec file specified on the command line provides it
WARNING: skipping package SFEgit: required package SFEasciidoc n...
WARNING: and no spec file specified on the command line provides it
WARNING: skipping package SFEgit: required package SFExmlto not ...
WARNING: and no spec file specified on the command line provides it
WARNING: skipping package SFEgit: required package SFEcurl-devel...
WARNING: and no spec file specified on the command line provides it
Summary:
package | status | details
---------------------------------+-------------+----------------...
SFEgit | DEP_FAILED | Dependency chec...
This tries to build SFEgit, but SFEgit requires SFEasciidoc SFExmlto and SFEcurl-devel. So you need to build these first.
With the --autodeps option, pkgtool adds them to the build
automatically:
$ pkgtool build --download --autodeps SFEgit.spec
INFO: Copying %use'd or %include'd spec files to SPECS directory
INFO: Processing spec files
WARNING: Added /export/work/SFE/SFEcurl.spec to the build to sat...
INFO: Finding sources
INFO: Downloading source http://curl.haxx.se/download/curl-7.17....
INFO: Running pkgbuild -ba [...] SFEcurl.spec (SFEcurl)
INFO: SFEcurl PASSED
INFO: Installing SFEcurl
INFO: Installing SFEcurl-devel
WARNING: Added /export/work/SFE/SFEasciidoc.spec to the build to...
INFO: Finding sources
INFO: Downloading source http://downloads.sourceforge.net/asciid...
INFO: Running pkgbuild -ba [...] SFEasciidoc.spec (SFEasciidoc)
INFO: SFEasciidoc PASSED
INFO: Installing SFEasciidoc
INFO: Installing SFEasciidoc-root
WARNING: Added /export/work/SFE/SFExmlto.spec to the build to sa...
WARNING: Added /export/work/SFE/SFEfindutils.spec to the build t...
INFO: Finding sources
INFO: Downloading source http://ftp.gnu.org/pub/gnu/findutils/fi...
INFO: Running pkgbuild -ba [...] SFEfindutils.spec (SFEfindutils)
INFO: SFEfindutils PASSED
INFO: Installing SFEfindutils
INFO: Finding sources
INFO: Downloading source http://cyberelk.net/tim/data/xmlto/stab...
INFO: Running pkgbuild -ba [...] SFExmlto.spec (SFExmlto)
INFO: SFExmlto PASSED
INFO: Installing SFExmlto
INFO: Finding sources
INFO: Downloading source http://www.kernel.org/pub/software/scm/...
INFO: Running pkgbuild -ba [...] SFEgit.spec (SFEgit)
INFO: SFEgit PASSED
INFO: Installing SFEgit
Summary:
package | status | details
---------------------------------+-------------+-------------------
SFEgit | PASSED |
SFEcurl | PASSED |
SFEasciidoc | PASSED |
SFExmlto | PASSED |
SFEfindutils | PASSED |
you can set specdirs in ./.pkgtoolrc or ~/.pkgtoolrc
- Requires: /path/to/file
(also BuildRequires: /path/to/file and
BuildConflicts: /path/to/file)
This is based on patches provided by Mike Bristow. [ 1707525 ]
When using Requires: /path/to/file, pkgbuild tries to
find the file in the Solaris package contents file
and adds the package to the depend file. If more than
one package owns the file (which can be a directory too),
it prints a warning and picks one.
- %error and %warning macros:
%error foo
prints ERROR: foo in logs and build reports, aborts
the build.
%warning foo
prints WARNING: foo but the build continues
- implement the %check scriptlet. It gets run after %install
for sanity testing the build. A typical command in the %check
section is make check whenever the build system of the module
supports it.
- pkgtool looks for spec files with a .spec suffix if not found
without the suffix.
$ pkgtool build SFEclutter
INFO: Copying %use'd or %include'd spec files to SPECS directory
INFO: Processing spec files
INFO: Finding sources
INFO: Running pkgbuild -ba [...] SFEclutter.spec (SFEclutter)
INFO: SFEclutter PASSED
INFO: Installing SFEclutter
INFO: Installing SFEclutter-devel
|
2007-04-01
|
pkgbuild-1.2.0.tar.bz2
|
|
Changes in pkgbuild 1.2.0
Bugs fixed:
- fix the bug where pkgbuild build-only did not include
those packages in the depend file that were not installed
(reported by Eric Boutilier)
- make pkgtool build-only look for BuildRequires dependencies
only (and not Requires dependencies)
(reported by Paul Cunningham)
- count DEP_FAILED packages as failed in the exit status of
pkgtool (reported by Paul Cunningham)
- ignore duplicates if a spec file is listed multiple times
on the command line (reported by Damien Carbery)
- fix 1661513 Uninitialized value warning in find_package_by_name
function (fix from Damien Carbery)
- make pkgtool use the configured perl ($PERL) instead of perl.
(reported by Paul Cunningham)
- datastream packaging fixes (build report links, pkgadd, etc)
New features:
|
2006-10-01
|
pkgbuild-1.1.1.tar.bz2
|
|
Note: pkgbuild 1.1.0 was never released to the public.
Bugs fixed:
- fix bug introduced in 1.1.0 where %{_topdir} is not expanded
in configuration settings like download_to
- in 1.0.1 source packages did not include the %use'd spec
files
- prep mode no longer checks the dependencies (Dermot McCluskey)
- in download mode, wget times out after 60 sec
- directives like %package are now case insensitive following
rpm's behaviour
- text wrapping implemented for --dumprc (Damien Carbery)
- fixed bug where nested %if and %ifnarch or %ifnos
conditionals confused the parser at the %endif line
- do not include a copy of the class action script when using
system (/usr/sadm/install/scripts) CASs.
New features/improvements:
- the %patch macro uses the %_patch_options macro (when defined)
to specify additional options; use the %_patch_options macro
to define patch policies like --fuzz=0 or --context
- basic support for macros; no parametrised macro support yet,
but simple macros can be defined in $HOME/.pkgbuildmacros.
An example for using this is redefining %_topdir. To do so,
create a .pkgbuildmacros file that contains the following line:
%_topdir /path/to/topdir
The default macro definitions for %_prefix, %_bindir, etc are
now in %_libdir/pkgbuild-<version>/macros
- building as root is no longer supported, instead each user can
have their own %_topdir. This defaults to $HOME/packages but
can be redefined with one of:
- .pkgbuildmacros: %_topdir /path/to/topdir, see above
- pkgtool --topdir /path/to/topdir
- pkgbuild --define '_topdir /path/to/topdir'
The --with-topdir configure option has been removed,
also the --enable-sticky-dirs option.
Users need the Software Installation profile to be able to
install/uninstall packages. Lacking that, they will still be
able to use modes like build-only, prep, download, which
do not involve installing/uninstalling packages.
- %{_tmppath} now defaults to /var/tmp/pkgbuild-$USER
so that multiple users on the same machine can build at the same
time.
- spectool is a new script that is useful for extracting information
from spec file, for example:
% spectool get_sources gimp.spec
ftp://ftp.gimp.org/pub/gimp/help/gimp-help-2-0.10.tar.gz
ftp://ftp.gimp.org/pub/gimp/v2.3/gimp-2.3.9.tar.bz2
% spectool eval '%version' gimp.spec
2.3.9
Useful for scripting. Use spectool --help for more details
about usage. Will write a man page at some stage...
- .pkgtoolrc has been enhanced to allow appending to existing
settings. Example:
tarballdirs: ${tarballdirs}:/path/to/my/tarballs
- install-pkgs mode of pkgtool is now implemented
- when creating the depend file, pkgbuild uses the list of Solaris
package names for packages that are not installed on the system.
The list is a simple text file:
%_libdir/pkgbuild-%version/pkgnames
- added support for pkginfo tags required for supporting Zones:
SUNW_pkg_allzones, SUNW_pkg_hollow, SUNW_pkg_thiszone
- report a warning if %files contains absolute symlinks
and report and error if an absolute symlink points to
$RPM_BUILD_ROOT
|
2005-12-09
|
pkgbuild-1.0.1.tar.bz2
|
|
Minor incompatible change from 1.0.0:
Other changes in this release:
- SUNW_PkgType tag defined. Overrides the default
(root or usr) PKGTYPE values.
- _invalid_patches_terminate_build macro added: if set to 0
(default is 1), patches that don't apply are ignored and a
warning is printed. (Useful when building CVS snapshots.)
Bugs fixed:
- fix bug in pkgtool where it did not copy the class action scripts
to SOURCES.
- fix --with-foo and --without-foo options in
pkgtool to behave the same as in pkgbuild
- speed up dependency checking in pkgtool (starts building much
faster)
- fix rpm_spec.pm to handle %{!?foo:bar}
(same as %{?!foo:bar})
|
2005-10-04
|
pkgbuild-1.0.0.tar.bz2
|
|
Incompatible changes since 0.9.x:
- Unpackaged file now break the build (just like in rpm4).
To disable this behaviour, set the
_unpackaged_files_terminate_build macro to 0.
(just like in rpm4)
- In scriptlet references like %foo.prep and %foo.build, the
effect of the -d subdir option was fixed. In the 0.9.x
versions these macros did not cd back to the original
directory, but stayed in subdir. That was not the expected
behaviour but a bug that is now fixed but it breaks spec
files that depend on the old behaviour.
- slight change in the way %class files work:
non-%config files that belong to a %class are type 'f' in the
prototype; %class(...) %config files are type 'e'
More changes in this release:
|
2005-06-29
|
pkgbuild-0.9.1.tar.bz2
|
|
Implements %if and includes a few minor bug fixes.
|
2005-01-13
|
pkgbuild-0.9.0.tar.bz2
|