freebsd-ports/ports-mgmt/pkg/Makefile

92 lines
2.3 KiB
Makefile
Raw Normal View History

# $FreeBSD$
PORTNAME= pkg
DISTVERSION= 1.10.5
PORTREVISION= 5
_PKG_VERSION= ${DISTVERSION}
CATEGORIES= ports-mgmt
MASTER_SITES= \
- Update to 1.3.6 Changes: * Fix bringing in i386-wine* as a dependency (requires rebuilding the wine package). This is fixed, for now, by not considering shlibs as provided by a package if they do not match the target architecture. (#922) !!! You should delete the i386-wine and i386-wine-devel !!! !!! packages from your repository so they rebuild. !!! !!! Bumping of PORTREVISION is pending due to the !!! !!! nature of these ports. !!! * Fix auto reinstallation of packages when shlibs/dependencies change. This will force a 'pkg update' to run to rebuild the local repository. Using -U will not work until this is done. (#933) * Fix 'pkg rquery %Av' (requires rerunning pkg-repo on remote) (#925) * Fix pkg_solve_sat_problem assertions (#915) * Fix 'pkg install -f' (#912) 'pkg install -R[f]' is still known to not work (#926) * Fix 'pkg rquery -e' (#910) * Fix 'size mismatch' errors requiring 'pkg update -f' (#906) * Fix other cases of 'pkg update -f' being required. * Fix 'pkg clean' to show files before confirming (#887) * Fix upgrade/install not showing meta packages in the output (#909) * Fix 'pkg autoremove -n' asking for confirmation * Fix 'pkg lock' not being respected for forced operations (#911, #937). Note that a locked package may still be deleted if the solver determines it is no longer needed. * Fix 'pkg delete -q' * Replace the SAT solver with Picosat (#914). This is much more mature and stable than our previous solver. It, along with other work, fixes many issues with solving upgrades. * 'pkg ssh' fixes * Do not consider shlib versions for package provides/requires as there is discrepency in what packages provide and what other require. For now only rely on libname.so. With hat: portmgr
2014-08-12 19:31:09 +02:00
http://files.etoilebsd.net/${PORTNAME}/ \
Update pkg to 1.4.0 Update pkg-devel to 1.4.99.0 (aka 1.5 pre-alpha0) Changes since pkg 1.3.0: Changes you can expect in pkg 1.4 are the following: - Loads of bug fixes - Stricter checking of the path passed via the plist - Removal of the bundled libyaml - new --raw-format to chose the output format for info -R and search -R - ABI (for freebsd, unchanged for dragonfly) is now follwing MACHINE_ARCH (freebsd:10:x86:64 become FreeBSD:10:amd64) the old ABI is available as a fallback in ALTABI - pkg check now support a quiet mode - new 3 way merge code ("stolen" from the fossil-scm) to allow automerging configuration files - new @config keyword to mark a file as a config file (during upgrade/reinstallation it will try to merge the configuration with the one the user may have modified) an option AUTOMERGE is available to prevent automerging if automerge fails a .pkgnew file will be created along with the untouched user version of the configuration - The update procedure has been improved and speed up a lot (in particular for machine with low resources) - The unique identifier has been modified to be pkgname meaning now ports can be moved in new categories without having to be considered a different package - Only libraries starting by lib* are added to the provided libraries - General speed up of all operations - pkg set gain a -n option (equivalent to -o but works on name rather than origin) - pkg set -o now considered deprecated - pkg version accept '?' and '!' in pkg version limchar
2014-12-09 15:22:10 +01:00
LOCAL/portmgr \
Update to 1.3.8 Changes: - Plist parser do not accept modes like o+w g+s u+r - @owner/@group with no argument reset the default ownership to root/wheel - Plug regression tests into the release mechanism as mandatory - Allow url in repository configuration to be overriden by another configuration file - If one of -P, -I or -R is not explicitly given on the command line do not emit error messages while searching for a mechanism to find data about the latest available ports. - External keywords can now take arguments - Directories under PREFIX are automatically handled and removed if needed - MTREE are not packaged anymore neither extracted on final installation - OS major checking (to determine if pkg is running on an upgraded base system) uses the same mechanism as ABI detection instead of relying on UNAME_r which can have false positivie on jails - Add @dir keyword for plist which is used to package explicitly directories (directories with non root/wheel or outside prefix) and empty directories (@dirrm and @dirrmtry are now considered as deprecated) - root/wheel are now considered as the default user/group when creating a package except @owner/@group are used to change that behaviour - Import newer version of libucl which improves error messages in case of problem parsing manifest or configuration files - Fix pkg register so it checks for conflicts before actually copying files on to the filesystem - pkg now support a new no_provide_lib annotation to preventing automatic populating of provided libs (useful for packages bundling libraries like wine) - Improve documentations - Ability to select usage of IPv4/IPv6 via config, repository config or command line - Lots of bug fixes Side effects: - Convert to install-mtree target into a no-op target Add empty directories to plist of ports that needs them to run: - share/aclocal to devel/automake and devel/automake14 - share/applications to devel/desktop-file-utils - share/xml share/sgml to textproc/xmlcatmgr - Prevent check-plist to issue warnings about some @dir* - Adjist check_leftovers.sh to not take in account anything related to mtree - Bump the default required version of pkg to 1.3.8
2014-09-22 07:47:32 +02:00
http://mirror.shatow.net/freebsd/${PORTNAME}/ \
2015-03-25 16:48:13 +01:00
MAINTAINER= pkg@FreeBSD.org
COMMENT= Package manager
LICENSE= BSD2CLAUSE
USE_LDCONFIG= yes
Update to 1.3.0 Since pkg 1.2: - 373 files changed, 66973 insertions(+), 38512 deletions(-) - 29 differents contributors - Merge of one of the 2013 Summer of code project Changelog: - New solver that can support external solvers using the CUDF format and the internal SAT solver - pkg-ssh(8) is now sandboxed with capsicum if it is available - pkg-ssh(8) now uses poll(2) - Remove StringList usage to improve portability - Rework the build system to use autotools to help portability - Now fetching is done to a temporary location and cleaned up if it fails - Remove PACKAGESITE - pkg-audit: remove support for portaudit compact database (only VulnXML will be used) - Improved UI experience based on jmmv write up (http://julipedia.meroh.net/search/label/cli-design) - Reworking the database locking mechanism into a finer grain and more clever system - Dynamic conflict handling if a conflict on files is detected at the sanity check level, try to solve the problem again with the new conflict information - Fix %t (timestamp) modifier in pkg_printf(3) - Full output now has a new field "date installed" - New pkg -o A=B to overwrite configuration from command line without the need of defining environment variables - pkg-install now can handle local files - pkg-add is now an alias on pkg-install - Simplify API by using more and more libucl objects (hidden behind an opaque 'pkg_object') - Rework multirepository handling - Prepare code for repository abstraction support - Sandbox signature checking and extraction - Support long options - Rework the extraction process - unicity of a package is now origin~name allowing subpackages and flavours - Improve ui for all commands - pkg lock -l now list the locked packages - symlinks now has a checksum to ensure they are valid - pkg backups generated by the distributed script are now plain sql files - Tons of bugfixes - Tons of behavour fixes
2014-07-23 16:22:09 +02:00
USES= libtool tar:xz
GNU_CONFIGURE= yes
CONFIGURE_ARGS= --disable-maintainer-mode
Update to 1.3.0 Since pkg 1.2: - 373 files changed, 66973 insertions(+), 38512 deletions(-) - 29 differents contributors - Merge of one of the 2013 Summer of code project Changelog: - New solver that can support external solvers using the CUDF format and the internal SAT solver - pkg-ssh(8) is now sandboxed with capsicum if it is available - pkg-ssh(8) now uses poll(2) - Remove StringList usage to improve portability - Rework the build system to use autotools to help portability - Now fetching is done to a temporary location and cleaned up if it fails - Remove PACKAGESITE - pkg-audit: remove support for portaudit compact database (only VulnXML will be used) - Improved UI experience based on jmmv write up (http://julipedia.meroh.net/search/label/cli-design) - Reworking the database locking mechanism into a finer grain and more clever system - Dynamic conflict handling if a conflict on files is detected at the sanity check level, try to solve the problem again with the new conflict information - Fix %t (timestamp) modifier in pkg_printf(3) - Full output now has a new field "date installed" - New pkg -o A=B to overwrite configuration from command line without the need of defining environment variables - pkg-install now can handle local files - pkg-add is now an alias on pkg-install - Simplify API by using more and more libucl objects (hidden behind an opaque 'pkg_object') - Rework multirepository handling - Prepare code for repository abstraction support - Sandbox signature checking and extraction - Support long options - Rework the extraction process - unicity of a package is now origin~name allowing subpackages and flavours - Improve ui for all commands - pkg lock -l now list the locked packages - symlinks now has a checksum to ensure they are valid - pkg backups generated by the distributed script are now plain sql files - Tons of bugfixes - Tons of behavour fixes
2014-07-23 16:22:09 +02:00
INSTALL_TARGET= install-strip
PORTDOCS= NEWS
2017-01-03 21:38:47 +01:00
PORTSCOUT= ignore:1
# Use a submake as 'deinstall install' needs to reevaluate PKG_CMD
# so that pkg-static is used from the wrkdir
USE_SUBMAKE= yes
2014-12-09 15:50:07 +01:00
CFLAGS+= -Wno-error
OPTIONS_DEFINE= DOCS
.if !exists(/usr/include/jail.h)
Update to 1.3.0 Since pkg 1.2: - 373 files changed, 66973 insertions(+), 38512 deletions(-) - 29 differents contributors - Merge of one of the 2013 Summer of code project Changelog: - New solver that can support external solvers using the CUDF format and the internal SAT solver - pkg-ssh(8) is now sandboxed with capsicum if it is available - pkg-ssh(8) now uses poll(2) - Remove StringList usage to improve portability - Rework the build system to use autotools to help portability - Now fetching is done to a temporary location and cleaned up if it fails - Remove PACKAGESITE - pkg-audit: remove support for portaudit compact database (only VulnXML will be used) - Improved UI experience based on jmmv write up (http://julipedia.meroh.net/search/label/cli-design) - Reworking the database locking mechanism into a finer grain and more clever system - Dynamic conflict handling if a conflict on files is detected at the sanity check level, try to solve the problem again with the new conflict information - Fix %t (timestamp) modifier in pkg_printf(3) - Full output now has a new field "date installed" - New pkg -o A=B to overwrite configuration from command line without the need of defining environment variables - pkg-install now can handle local files - pkg-add is now an alias on pkg-install - Simplify API by using more and more libucl objects (hidden behind an opaque 'pkg_object') - Rework multirepository handling - Prepare code for repository abstraction support - Sandbox signature checking and extraction - Support long options - Rework the extraction process - unicity of a package is now origin~name allowing subpackages and flavours - Improve ui for all commands - pkg lock -l now list the locked packages - symlinks now has a checksum to ensure they are valid - pkg backups generated by the distributed script are now plain sql files - Tons of bugfixes - Tons of behavour fixes
2014-07-23 16:22:09 +02:00
EXTRA_PATCHES= ${FILESDIR}/extra-patch-docs_pkg.8
.endif
.include <bsd.port.pre.mk>
.if defined(WITH_DEBUG)
MAKE_ARGS+= DEBUG_FLAGS="${DEBUG_FLAGS}"
.endif
.if defined(WITH_PKG)
.if ${WITH_PKG} == devel
IGNORE= WITH_PKG is defined to 'devel', this version is the stable one
The pkg developement team is proud to announce the new 1.1.0 beta1 release of pkg. Here is the list of new features that happened in pkg 1.1: - new simpler and more reliable solver - shared libraries are now always tracked - ssh:// is supported as a protocol to distribute packages (needs pkg 1.1+ on the server hosting the packages) - multirepository is no longer considered experimental and works by default. - incremental update of the catalog (only if the repository was created by pkg 1.1+) - simplification of the public API - stabilisation of the public API (we will now try to keep it stable and if change are needed there will be deprecation time before removal of some old functions) - new experimental pkg convert (can convert from and to legacy pkg database) pkg2ng now uses pkg convert (still recommanded to use pkg2ng) - new pkg lock/unlock to prevent any manipulation of a given package (no upgrade,delete,etc) - improved UI (now you can see the progress of an upgrade what is left to be done) - new pkg annotation to allow one to add annotations (free form key/value) to a package) - pkg audit is now able to directly parse the vuxml native format and not only the compact version - pkg -vv now shows all available options and their current settings - pkg -vvv now shows a description of all the available options - pkg info now automatically considers the query as globbing if * is in the requested pattern - new hook plugin interface (allows users to create hooks that get called at anytime during and upgrade/installation/deletion of a package) - new cmd plugin interface (allows users to create new sub command available for pkg) - pkg register can now register a port installation in the legacy database format - repository can be defined in simple yaml files Internal: - massive usage of hash tables (uthash), which simplifies a lot of the code, and improves performances - lots of optimisation in plist and manifest parsing - lots of optimisation in loading packages (mmap used when possible) - lots of cleanup in memory usage - regression test framework is now ready (using atf) regression test are slowly being added and populated. To use this new version: Ports users (or in building factories: poudriere/tinderbox): Add WITH_PKGNG=devel to your make.conf pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel Binary package users, if the remote repository is providing pkg 1.1: pkg set -o ports-mgmt/pkg:ports-mgmt/pkg-devel pkg upgrade Note that pkg 1.1 can use a repository created for pkg 1.0 and vis versa. Huge thanks to all the people that have contributed to the pkg developement: - may that be by code - documentation - bug report - feedback - ideas List of people who contributed code: Baptiste Daroussin, Matthew Seaman, Bryan Drewery, Vsevolod Stakhov, Marin Atanasov Nikolov, Alexandre Perrin, Romain Tartière, Julien Laffaye, Glen Barber, John Marino, Alex Kozlov, Roman Naumann, Sofian Brabez, Alberto Villa, Will Andrews, Eitan Adler, Dan McGregor, namor, niamtokik, Arthur Gautier, Garrett Cooper, Andrew Turner, Jeremy Chadwick, Hajimu UMEMOTO, Mark Lokowich, Eygene Ryabinkin, Pietro Cerutti, Rolf Grossmann, Ed Schouten, Dimitry Andric, David Forsythe, Stefan Grundmann, Craig Rodrigues, Antoine Brodin, Andrey Zonov, Joel Dahl Stats between 1.0 and 1.1: 287 files changed, 63418 insertions(+), 18763 deletions(-) 1198 commits
2013-05-30 17:17:29 +02:00
.endif
.if exists(${LOCALBASE}/sbin/pkg_info) || exists(/usr/sbin/pkg_info)
NB_OLDPKGS!= pkg_info 2>/dev/null | wc -l
.if exists(${PKG_BIN})
NB_NEWPKGS!= ${PKG_INFO} -aq | wc -l
.else
NB_NEWPKGS= 0
.endif
# Only show the pre-everything notice if they have not already
# converted any packages
.if ${NB_OLDPKGS} > 0 && ${NB_NEWPKGS} == 0 && !defined(UPGRADEPKG)
pre-everything::
@${ECHO_CMD} "You are about to convert your system to pkg while you have ports/packages"; \
${ECHO_CMD} "installed with the old pkg_install tools."; \
${ECHO_CMD} ""; \
${ECHO_CMD} "To switch to pkg:"; \
${ECHO_CMD} " 1) Install ports-mgmt/pkg"; \
${ECHO_CMD} " cd ports-mgmt/pkg && make UPGRADEPKG=1 install clean"; \
${ECHO_CMD} " 2) Convert your package database by running pkg2ng"; \
${ECHO_CMD} ""; \
exit 1
.endif
.endif
.endif
#define PKG_DEPENDS to nothing to avoid infinite loop looking for pkg :)
PKG_DEPENDS=
.undef INSTALLS_DEPENDS
# Use the internal pkg instead, generally, unless this is a cross-build,
# in which case that won't work. Hope for the best then.
.if !defined(CROSS_TOOLCHAIN)
Update to 1.3.0 Since pkg 1.2: - 373 files changed, 66973 insertions(+), 38512 deletions(-) - 29 differents contributors - Merge of one of the 2013 Summer of code project Changelog: - New solver that can support external solvers using the CUDF format and the internal SAT solver - pkg-ssh(8) is now sandboxed with capsicum if it is available - pkg-ssh(8) now uses poll(2) - Remove StringList usage to improve portability - Rework the build system to use autotools to help portability - Now fetching is done to a temporary location and cleaned up if it fails - Remove PACKAGESITE - pkg-audit: remove support for portaudit compact database (only VulnXML will be used) - Improved UI experience based on jmmv write up (http://julipedia.meroh.net/search/label/cli-design) - Reworking the database locking mechanism into a finer grain and more clever system - Dynamic conflict handling if a conflict on files is detected at the sanity check level, try to solve the problem again with the new conflict information - Fix %t (timestamp) modifier in pkg_printf(3) - Full output now has a new field "date installed" - New pkg -o A=B to overwrite configuration from command line without the need of defining environment variables - pkg-install now can handle local files - pkg-add is now an alias on pkg-install - Simplify API by using more and more libucl objects (hidden behind an opaque 'pkg_object') - Rework multirepository handling - Prepare code for repository abstraction support - Sandbox signature checking and extraction - Support long options - Rework the extraction process - unicity of a package is now origin~name allowing subpackages and flavours - Improve ui for all commands - pkg lock -l now list the locked packages - symlinks now has a checksum to ensure they are valid - pkg backups generated by the distributed script are now plain sql files - Tons of bugfixes - Tons of behavour fixes
2014-07-23 16:22:09 +02:00
PKG_BIN= ${WRKSRC}/src/pkg-static
.endif
post-install:
Update to 1.3.0 Since pkg 1.2: - 373 files changed, 66973 insertions(+), 38512 deletions(-) - 29 differents contributors - Merge of one of the 2013 Summer of code project Changelog: - New solver that can support external solvers using the CUDF format and the internal SAT solver - pkg-ssh(8) is now sandboxed with capsicum if it is available - pkg-ssh(8) now uses poll(2) - Remove StringList usage to improve portability - Rework the build system to use autotools to help portability - Now fetching is done to a temporary location and cleaned up if it fails - Remove PACKAGESITE - pkg-audit: remove support for portaudit compact database (only VulnXML will be used) - Improved UI experience based on jmmv write up (http://julipedia.meroh.net/search/label/cli-design) - Reworking the database locking mechanism into a finer grain and more clever system - Dynamic conflict handling if a conflict on files is detected at the sanity check level, try to solve the problem again with the new conflict information - Fix %t (timestamp) modifier in pkg_printf(3) - Full output now has a new field "date installed" - New pkg -o A=B to overwrite configuration from command line without the need of defining environment variables - pkg-install now can handle local files - pkg-add is now an alias on pkg-install - Simplify API by using more and more libucl objects (hidden behind an opaque 'pkg_object') - Rework multirepository handling - Prepare code for repository abstraction support - Sandbox signature checking and extraction - Support long options - Rework the extraction process - unicity of a package is now origin~name allowing subpackages and flavours - Improve ui for all commands - pkg lock -l now list the locked packages - symlinks now has a checksum to ensure they are valid - pkg backups generated by the distributed script are now plain sql files - Tons of bugfixes - Tons of behavour fixes
2014-07-23 16:22:09 +02:00
@${MV} ${STAGEDIR}${PREFIX}/lib/libpkg_static.a \
${STAGEDIR}${PREFIX}/lib/libpkg.a
post-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/NEWS ${STAGEDIR}${DOCSDIR}/NEWS
.include <bsd.port.post.mk>