makepkg: delay checking for build package with pkgver()
[pacman-ng.git] / NEWS
blobb0e9a1e42615721a433db5fa3e3345768d4ac317
1 VERSION         DESCRIPTION
2 -----------------------------------------------------------------------------
3 4.0.3         - frontend database cleanup enhancements (FS#28714)
4               - frontend package cleanup enhancements (FS#25166)
5               - back out changes related to SyncFirst in 4.0.0
6                 - remove recursive/needed automatic flags on SyncFirst
7                 - remove poorly implemented `-S --recursive` option
8               - improve error messages on database locking failures
9               - use full delta size as max download size (FS#28345)
10               - improved handling and fix crash after failed downloads
11               - fix key lookup when using gpg 2.X as GPG program
12               - match only full path components in diskspace checking
13               - skip diskspace checks when using --dbonly
14               - scripts: unset CDPATH bash variable in all scripts
15               - makepkg:
16                 - fix syntax error in remove_deps (FS#28448)
17                 - small fixes related to multiple libdeps, parsing issues
18                 - exit via default handler in trap_exit (FS#28491)
19                 - attempt to work around BTRFS file/block size reporting issues
20               - pacman-key:
21                 - remove signature verification in --populate
22                 - make -e option work as advertised without arguments
23                 - exit with correct return codes when verifying signature
24               - pacsysclean: fix description, fix option parsing (FS#28434)
25               - pkgdelta: use bsdtar -q option for better performance
26               - translations: various updates and corrections
27 4.0.2         - allow comments after a repository header in pacman.conf
28               - search for and import PGP subkeys if necessary (FS#27612)
29               - fix rare segfault on removal operations (FS#27805, FS#28195)
30               - skip all unknown files when cleaning package cache
31               - restore looking for files in cache before downloading via -U
32               - ensure '[removal]' is displayed in trans confirmation (FS#27981)
33               - implement disk space checking code for Illumos
34               - use TCP keepalive in download to prevent dropped connections
35               - round and show -0.00 values as 0.00 (FS#27924)
36               - makepkg:
37                 - ensure all source files are included in --source (FS#26580)
38                 - fix locale sort/comm related issues (FS#26580)
39                 - abort on missing download agent
40                 - restrict flags passed to pacman (FS#28012)
41                 - work around certain zipman glob/existence issues
42                 - fix non-writable SRCPKGDEST error message (FS#28197)
43                 - fix printf interpreting gettext string as arg (FS#28069)
44                 - don't abort on non-zero hg return codes (FS#28248)
45                 - disable extglob when sourcing BUILDSCRIPT (FS#27780)
46               - pacman-key: improve return codes of operations (FS#26730)
47               - repo-add: enforce maximum signature file size (FS#27453)
48               - contrib/paclist: support --help (FS#27258)
49               - contrib/pacsysclean: new script
50               - contrib/*_completion: fix completion for uncompressed packages
51               - translations: extensive updates and corrections
52 4.0.1         - ensure VerbosePkgList table display supports multibyte chars
53               - always use stderr for warning/error messages (FS#26555)
54               - add guidance message for users when public keyring not found
55               - fix edge case in download progress bar rounding (FS#26853)
56               - ensure downloads started as tempfiles have correct umask
57               - ensure unowned symlinks are not overwritten incorrectly
58               - allow -U operation even without sync databases (FS#26899)
59               - update libtool files and update fix for -Wl,-as-needed
60               - fix build when using --disable-static (FS#26652)
61               - pacman-key: add a keyserver timeout value in --init
62               - repo-add: fix race condition around lock file removal
63               - makepkg:
64                 - accept changelog= or install= without a value
65                 - trim trailing whitespace from sensitive variables
66                 - handle PGP signatures with a .sign extension
67                 - delay attachment of signal traps (FS#26196)
68               - translations: multiple updates and corrections
69 4.0.0         - well-integrated and powerful signed packages and databases
70                 support in pacman, the library, and scripts (FS#5331)
71               - over 800 commits to pacman.git since 3.5.4 release
72               - many code cleanup commits across library/binaries/scripts
73               - many performance improvement commits across library/binaries
74               - add new -S --recursive operation to upgrade a full dep chain
75               - report upgrade size on sync operations (FS#12566)
76               - early terminal input is flushed before question prompts
77               - remove duplicate code shared in sync and upgrade operations
78               - remove ShowSize; replaced with VerbosePkgLists (FS#15772)
79               - print callback (warning, error) messages to stderr (FS#25099)
80               - download progress callback has more room for filenames
81               - fix selection entry for long values (FS#25253)
82               - make config parsing two-pass process, enhance error messages
83               - print helpful tips on -Qi <filename> or -S <filename>
84               - replace libfetch with libcurl for backend download library
85                 - timeout when mirror is not responding (FS#15369)
86                 - full HTTPS protocol support (FS#22435)
87                 - support of non-traditional/redirected URLs (FS#22645)
88                 - ensure downloads are only resumed if appropriate (FS#23803)
89               - only remove empty directories if no remaining owner (FS#25141)
90               - better cache directory choosing and honor $TMPDIR (FS#25435)
91               - replaces are parsed as dependency-style strings (FS#23410)
92               - split package verification and load stages
93               - sync database reading refactor for performance
94               - use a larger buffer for package checksum validation
95               - filelists now have a dedicated type with metadata
96               - diskspace check no longer requires iterating package archives
97               - update and add checksum routines from PolarSSL
98               - validate sync database sha256sum if available
99               - correctly parse sizes in database > 2GiB
100               - API: several type renames from pm* to alpm_* prefix
101               - API: several enum constant renames from PM to ALPM_* prefix
102               - API: several types are now public exposed structs
103               - API: handle is no longer a single global variable
104               - API: more changes than can be mentioned here, see README
105               - much improved API documentation for use by Doxygen
106               - pactest: several performance/checking improvements
107               - scripts:
108                 - refactor some common components into shared bash library
109                 - split translations into pacman-scripts catalog (FS#15148)
110               - makepkg:
111                 - allow signing packages after creation
112                 - allow verifying source file signatures (FS#20448)
113                 - add auto-versioned libdepends/libprovides support
114                 - support UPX compression of executables (FS#17213)
115                 - allow usage of an alternate build directory (FS#22308)
116                 - cleancache option has been removed; use shell instead
117                 - improved variable sanity checking (FS#16004)
118                 - better handling of package extensions (.tar.Z or invalid)
119                 - allow PKGEXT/SRCEXT environment overrides (FS#19860)
120                 - only check for writable PKGDEST if necessary (FS#24735)
121                 - check_software function exits early if missing req'd binaries
122                 - do source packaging in fakeroot (FS#24330)
123                 - be more POSIX-compatible in use of `ln` (FS#24893)
124                 - handle spaces with filenames in noextract (FS#25100)
125                 - allow epoch-versioned optdepends
126               - pacman-key: new keyring management tool for signed data
127               - pacsort: new utility, sort version numbers as pacman does
128               - pactree: support sync databases with -s option
129               - pkgdelta: add a manpage
130               - repo-add:
131                 - handle and include package signatures in databases
132                 - verify database signature before modification
133                 - sign database after creation/modification
134                 - general script cleanup and bash-ification
135                 - add sha256sums to database (FS#23103)
136               - contrib/bacman: code cleanups and small bug fixes
137               - contrib/bash_completion: updates for new options/commands
138               - contrib/paccache: new, pacman cache cleanup script
139               - contrib/paclist: rewrite using bash
140               - contrib/paclog-pkglist: new, recover from missing local DB
141               - documentation: extensive updates to all manpages
142               - translations: extensive updates, new languages: lt, zh_TW
143 3.5.4         - fix display of lists on non-TTYs and other output fixes
144               - fix group selection entry for large inputs (FS#24253)
145               - fix divide by zero when downloading zero length files
146               - flush terminal input before reading response (FS#20538)
147               - allow files to be replaced by directories (FS#24904)
148               - makepkg: fix filenames with spaces and noextract (FS#25100)
149               - scripts: remove ln -f option for POSIX compliance (FS#24893)
150               - various small documentation updates
151               - minor translation updates: de, fi
152 3.5.3         - segfault when creating lock in non-existent dir (FS#24292)
153               - segfault when uninstalling broken backed-up symlink (FS#24230)
154               - --print should not enable --noconfirm (FS#24287)
155               - fix default path substitution in documentation
156               - makepkg: quote variables that may contain spaces (FS#24002)
157               - makepkg: fix creation of source package with -p (FS#24567)
158               - repo-add: include dotfiles in filelists (FS#24534)
159               - minor translation updates: de, fi, fr, sk, zh_CN
160 3.5.2         - ensure we show correct missing dependency info (FS#23424)
161               - pacman usage/--help updates (FS#23433, FS#23369)
162               - ensure stdout/stderr are flushed before prompts (FS#23492)
163               - compile/portability fixes for FreeBSD platform
164               - extensive documentation updates for alpm.h interfaces
165               - fix several missing pm_errno error code returns
166               - makepkg:
167                 - simplify log redirection and remove sync (FS#23378)
168                 - improve parsing for sanity checks (FS#23524)
169                 - avoid use of `tr` to avoid locale and other issues
170                 - fix GNU-ism in `su` invocation
171               - bacman: update for new local database format (FS#23641)
172               - extensive translation updates and fixes
173 3.5.1         - don't error on unknown pacman.conf directives (FS#23055)
174               - only read arguments from stdin if '-' is provided as target
175               - fix case with ignore handling in argument list (FS#23342)
176               - don't show group selection prompt with -Sp (FS#23340)
177               - restore old --debug/--verbose behavior (FS#23370)
178               - ensure repo DBs are saved with sane umask (FS#23343)
179               - fix segfault when a repo includes deltas entries (FS#23314)
180               - fix potential data corruption issue on sync DB read
181               - get zsh completion in a working state (FS#23322)
182               - makepkg: improve optdepends extraction (FS#23307)
183               - translations:
184                 - de: fix makepkg fatal error (FS#23315)
185                 - sr, sr@latin: new Serbian translation
186                 - various other translation updates
187               - build system: ensure libtool respects LDFLAGS (FS#23325)
188 3.5.0         - sync DBs read directly from the database tarball
189                 (FS#8586, FS#20233)
190               - local DB "depends" file has been merged into the "desc" file
191                 - pacman-db-upgrade script provided to update the local
192                   database format
193               - sync database extension is .db (without compression suffix)
194                 - requires repo-add from pacman-3.4+
195               - package versions can have an 'epoch' value defined that will
196                 overrule any version comparison
197                 - this replaces the use of the "force" option in allowing for
198                   package updates with versions that do not conform to the
199                   default version comparison operations
200                 - package versions have the format [epoch:]pkgver-pkgrel
201               - check available disk space before installing packages (FS#11639)
202                 - enabled by the "CheckSpace" option in pacman.conf
203                 - attempt to stop install if we hit an extraction issue
204                   (FS#7692, FS#22034)
205               - improved interactive selection for groups/provides
206                 (FS#19704, FS#19853)
207               - finer grained control of ignoring dependency resolution
208                 - -Sd to ignore dependency versions only
209                 - -Sdd to ignore all dependency information
210               - clean-up of --help output (FS#19526)
211               - CleanMethod for package cache cleaning can use both
212                 KeepInstalled and KeepCurrent simultaneously
213               - various speed-ups:
214                 - improved internal storage of the package cache
215                 - faster pkgname/depends searches
216               - use OpenSSL crypto functions if available
217               - makepkg:
218                 - add support for running testsuites in a check() function
219                   (FS#15145)
220                   - controlled by BUILDENV option 'check' in makepkg.conf
221                     which may be overridden by --check/--nocheck on the
222                     command-line
223                 - extract any file bsdtar recognizes
224                 - STRIP_DIRS has been removed in favor of stripping all
225                   recognized files
226                 - improve $srcdir/$pkgdir check to reduce false positives
227                 - $pkgname can be used in split package() functions (FS#22174)
228                 - added '!buildflags' option to allow unsetting of CFLAGS,
229                   CXXFLAGS and LDFLAGS
230               - repo-add: added -f/--files to create files database (FS#11302)
231               - pactree: rewritten in C using libalpm
232 3.4.3         - fix attempted double remove of all files issue during upgrades
233               - respect IgnorePkg/IgnoreGroup for group members (FS#19854)
234               - back out epoch changes; 3.5.X will handle them differently
235 3.4.2         - fix progress bar display with empty packages
236               - make pactest testsuite Python 2.7 compatible
237               - write epoch values in preparation for 3.5.X releases
238               - fix null pointer dereference in architecture check (FS#21668)
239               - documentation: remove unnecessary "|| return 1"
240               - contrib/bacman: update package compression selection
241               - contrib/PKGBUILD.vim: add a few more license options
242               - translations: es, kk, sv, pt, ru updated
243 3.4.1         - fix interaction of --needed and multiple repo groups (FS#20221)
244               - bash completion: small fixes to prevent alias problems
245               - rankmirrors: fix bogus/empty variable assignment (FS#19911)
246               - repo-add: ensure bare DB symlinks are relative (FS#20498)
247               - repo-add: fallback to copy if symlink not permitted (FS#19907)
248               - makepkg:
249                 - use absolute path to 'du' to exclude wrapper progs (FS#19932)
250                 - ensure $startdir check doesn't stall indefinitely (FS#19975)
251                 - fix repackaging with multiple passed packages (FS#20272)
252               - translations:
253                 - zh_CN: fix crash when using during install (FS#20188)
254                 - sk: new Slovak translation
255                 - pt: new European Portuguese translation
256                 - other small updates to various translations
257 3.4.0         - new "Architecture" option that will restrict pacman to
258                 installing only packages from the given architecture. Can be
259                 set to "auto" in which case the output of "uname -m" is used
260               - use "$arch" when specifying a mirror url to automatically
261                 select the correct architecture
262               - Installing packages with -U can handle installing
263                 dependencies, conflict resolution and replacing packages
264                 (FS#3492, FS#5798)
265               - can upgrade the system and install a new package using
266                 "pacman -Syu <pkg>" (FS#15581)
267               - new -D/--database operation for modifying package install
268                 reasons (FS#12950)
269               - new --print and --print-format options to output information
270                 in suitable format for wrapper scripts (FS#14208)
271               - only extract new entries when updating a repo database
272               - show "Required by" in -Sii output (FS#16244)
273               - -U and -R options always ask for confirmation
274               - allow -Qo to perform a functional 'which' (FS#8798)
275               - cache cleaning cleans all directories, not just first
276               - cleanupdelta: new utility to help remove unused deltas from
277                 a repo database
278               - bash completion: rewrite for size and performance (FS#16630)
279               - repo-add: handle removing the final package from a repo
280               - rankmirrors: rewrite using bash
281               - vercmp: does not link to libalpm to prevent upgrade issues
282               - makepkg:
283                 - automatically aborts on any errors during packaging
284                 - changelogs are now included via the "changelog" variable
285                 - override pkgver, pkgrel and arch in split packages (FS#15955)
286                 - repackaging without a package() function is deprecated
287                 - stricter syntax checking for backup and optdepends entries
288                 - file stripping options are configurable
289                 - New --pkg flag to allow building specific package(s) from
290                   split PKGBUILDs (FS#15956)
291                 - build() function is now optional (FS#15147)
292                 - warn about reference to build root in a package (FS#14751)
293                 - configure source package destination with SRCPKGDEST
294                 - major internal refactoring of handling tests ("[" to "[[")
295               - contrib/pactree: print reverse dependency tree
296 3.3.3         - correctly check the return code from opendir()
297               - fix possible infinite loop in alpm_list_remove()
298               - makepkg:
299                 - quote arrays to preserve spaces in arrays (FS#16871)
300                 - allow passing arguments with spaces
301                 - adjust preselected option for clearing cache
302               - translations:
303                 - zh_CN: fix positional parameter usage in makepkg (FS#16983)
304                 - el: fix Y/N response translation (FS#16568)
305 3.3.2         - fix infinite filesize download issue (FS#16359)
306               - fix bogus download size on TotalDownload
307               - documentation updates
308               - small translation updates
309               - repo-add: use size of target files and not symlinks
310               - repo-remove: create empty DB when all packages are removed
311 3.3.1         - use full path to ldconfig when calling in chroot
312               - optimize the check for modified databases during sync
313               - ensure installed libfetch is new enough
314               - have -Q ops return 1 when no package matches (FS#15938)
315               - skip SyncFirst dialog if unnecessary (FS#15810)
316               - misc documentation updates (FS#15870, FS#15984)
317               - testdb: be less verbose during checks
318               - existing translation updates
319               - two new translations: Norwegian, Swedish
320               - makepkg:
321                 - add --skipinteg option (FS#15830)
322                 - fix .PKGINFO creation with -R option (FS#15851)
323                 - always keep symlinks to sources when unpacking
324 3.3.0         - xdelta: many fixes and improvements
325                 - new pkgdelta script to create deltas
326                 - repo-add can add both deltas and packages to a database
327               - xz archive format supported for packages and databases
328               - in case of unresolvable packages, pacman now asks
329                 if they should be skipped instead of aborting
330               - -Suu synchronizes all packages with the version from the
331                 repository (including upgrade and downgrade)
332               - replace libdownload dependency by the original libfetch
333               - better support of -q/--quiet flag with -Qo and -Ql
334               - -Sp works without root (FS#8905)
335               - fix a bug where the replacement of a package failed because
336                 of a file conflict, and the package was lost (FS#9088)
337               - improved behavior of HoldPkg option (FS#9173)
338               - allow to ignore a package from a group (FS#12059)
339               - search package groups when searching a db (FS#13099)
340               - asciidoc fixes
341               - documentation updates
342               - repo-add: cleanups, improvements and speedup
343               - makepkg:
344                 - package splitting support! - see PKGBUILD-split.proto
345                 - limit fakeroot usage with addition of package() function
346                 - info is handled like man pages and not other documentation
347                 - configuration option for man/info page directories
348                 - added ability to automatically remove files from package
349                 - configuration option for default LDFLAGS
350                 - specify alternative configuration file with --config flag
351                 - check all integrity checksums provided in PKGBUILD
352                 - fix pkgver/pkgrel updating in SCM packages
353                 - BUILDSCRIPT option removed from makepkg.conf. Now specified
354                   during configure
355                 - enforce no ">" or "<" in provides array
356                 - package compression autodetection
357                 - check PKGBUILD for CRLF line endings
358                 - fix reading PKGBUILD from pipe
359                 - increase compatibility with BSDs & Mac OSX
360               - contrib
361                 - pacdiff - improvements and new -l flag for using locate
362                 - pacscripts - print install scripts for a package
363 3.2.2         - log pacsave warnings to pacman.log (FS#12531)
364               - separate local DB creation and writing (FS#12263)
365               - pacman-optimize: rewrite and refresh (FS#11767)
366               - repo-add: use openssl instead of md5sum
367               - simplify doc building process for ease of development
368               - ensure correct handling of syscall interruptions
369               - readd missing newline on -Qi/-Si output (FS#11331)
370               - fix TotalDownload regression (FS#11339)
371               - makepkg:
372                 - replace getopt with an internal function
373                 - detect incorrect usage of provides (FS#12540)
374                 - fix bash substitution to work in older versions
375                 - fix updating PKGBUILD and simplify logic for SCM packages
376                 - save/restore shell options before/after build() (FS#12344)
377               - documentation updates and asciidoc build fix
378               - existing translation updates
379 3.2.1         - drop special handling of file:// URLs
380               - display optdepends on install and upgrade
381               - fix segfault on x86_64 when using UseSyslog (FS#11096)
382               - fix detection of TotalDownload (FS#11180)
383               - fix "No such file" error during --force installs (FS#11218)
384               - better handling of progressbar when behind a proxy (FS#8725)
385               - repo-add: fix whitespace handling (FS#9171, FS#10630)
386               - repo-add: add optdepends to the sync DB (FS#10630)
387               - makepkg:
388                 - allow specifying a download filename (related to FS#11292)
389                 - fix download functions with weird URLs (FS#11076)
390                 - fix creation of source package with local files (FS#11149)
391                 - fix error when sourcing profile scripts (FS#11179)
392                 - perform case-insensitive checksum comparison (FS#11283)
393               - documentation and help updates (including fix for FS#11203)
394               - new Ukrainian translation
395               - existing translation updates
396 3.2.0         - removed -A/--add option from pacman frontend
397               - added --asexplicit option
398               - new remove option --unneeded
399               - add -Rss option to remove all dependencies
400               - removed useless -e/--dependsonly option
401               - config options are now case sensitive
402               - added CleanMethod option for variety in cache cleaning
403               - new Turkish translation, all others updated and revised
404               - handle multiple groups in -Ss and -Qs operations
405               - allow -q/--quiet option with -o/--own and -g/--groups options
406               - removed hack for packages with unknown installed size
407               - add SyncFirst option to pacman.conf
408               - support installation of versioned deps : pacman -S "dep>=2.0"
409               - add --enable-git-version configure flag to identify
410                 developmental build version
411               - do not duplicate packages in required by list
412               - pacman.static is no longer built
413               - all error messages use pm_fprintf
414               - disable geteuid in cygwin
415               - use off_t type for large file support
416               - add vercmp test script
417               - moved gensync and updatesync to contrib/
418               - rewrote pacsearch script in perl
419               - paclist script to list installed packages from a repo
420               - bacman script to make backup of package from filesystem
421               - combined repo-add and repo-remove into one script
422               - removed --force option from repo-add
423               - add --quiet option to repo-add/repo-remove
424               - update libtool version to 1.5.26
425               - allow disabling of internal download with new configure
426                 flag --disable-internal-download
427               - pactest can now check file permissions
428               - add the possibility to mark the pactests known to fail,
429                 which allows more informative results of make check
430               - libalpm-specific changes:
431                 - use dynamic string allocation in package structure
432                 - new functions for manipulating pmdepend_t objects
433                 - store replaces and force in local database
434                 - moved deptest functionality to backend
435                 - add alpm_checkdbconflicts function
436                 - fix PM_ERR_CONFLICTING_DEPS handling
437                 - cleanup of pmsyncpkg_t
438                 - add alpm_sync_newversion function
439                 - cleanup of alpm_list code
440                 - refactor of download code
441                 - download callback API changes
442                 - removed test_delta_md5sum and test_pkg_md5sum functions
443                 - add _alpm_archive_fgets function to read line-by-line from
444                   an archive
445                 - read .PKGINFO directly from package file with no temp file
446                 - native support for both libdownload and libfetch
447                 - rework delta algorithm (we still need script updates)
448                 - swap parameters of alpm_pkg_find for consistency with
449                   other find functions
450                 - swap parameters of PM_TRANS_CONV_INSTALL_IGNOREPKG to make
451                   more sense
452                 - fix -Rs when removing multiple items in dependency chain
453               - makepkg-specific changes:
454                 - support for resuming source downloads
455                 - added zipman option
456                 - removed -b/--builddeps
457                 - various portability fixes for BSD and Mac OS X
458                 - check for valid options in PKGBUILD
459                 - add --allsource option
460                 - remove deprecated --usesudo option
461                 - handle spaces in build directory
462                 - made keeping docs the default option
463                 - use pacman version dep resolving
464                 - fix regression in library stripping
465                 - make strip paths configurable
466               - MANY other bug fixes and small improvements
467 3.1.4         - various small code cleanups and fixes
468               - small documentation updates
469               - improvements to PKGBUILD.vim
470               - translation updates - ru, zh_CN
471 3.1.3         - major updates to i18n output in frontend (all UTF-8 characters
472                 should now work with varying byte and char widths)
473               - new Simplified Chinese translation
474               - updates to testpkg utility
475               - updates to PKGBUILD.vim
476               - internal updates for translations - use c-format on all
477                 strings, get rid of needless line numbers
478 3.1.2         - updates to proto.install, add ChangeLog.proto (FS#7231)
479               - add 'force' option to packages, and have repo-add respect it
480               - mark gensync and updatesync as deprecated
481               - fix pacman -Qo behavior on symlinks (FS#9473)
482               - fix segfault on a broken symlinks in backup code (FS#9235)
483               - ensure filename is determined correctly for a pkg (FS#9547)
484               - fix conflict progress bar with UTF-8 chars (FS#6437)
485               - fix chk_fileconflicts brokenness, ensure it reads entire list
486               - ensure -Sc operation locks DB, only checks DBs (FS#9609)
487               - minor documentation and message updates
488               - moved some translations to their more generic lang codes
489               - allow scripts to be run without gettext installed
490               - makepkg:
491                 - check to ensure we have non-URL sources (FS#9208)
492                 - ensure we strip binaries in /opt/ dirs (FS#9342)
493                 - check for VCS executable before using (FS#9230)
494                 - set sane umask before source extraction (FS#9242, FS#9362)
495 3.1.1         - fix versioned provisions handling- use '=' instead of ' ' which
496                 differs from original spec but better in long run (FS#9171)
497               - rename query --orphans to --unrequired (FS#9144)
498               - fix segfault when cachedir is unusable (FS#9186)
499               - missing SYMEXPORT on libalpm functions (FS#9155)
500               - notify of package replacements when using --noconfirm (FS#5179)
501               - fix usage of PKGEXT by gensync/updatesync (FS#9190)
502               - ensure correct dir permissions in database (FS#9176)
503               - ensure /tmp is created with correct permissions (FS#9183)
504               - disallow NULL section in parseconfig (reported on forums)
505               - remove Arch-specific pacman.conf and mirrorlist from source
506               - makepkg: --holdver option for devel PKGBUILDs (FS#9194)
507               - documentation updates (FS# 9142, 9146, 9175, 9192, 9204)
508               - many translation updates
509 3.1.0         - paths are now specified as absolute paths (or defaulting to
510                 under the specified root directory)
511               - all paths can be specified in pacman.conf or on command line
512               - updates to pacman clean operation- now cleans uninstalled
513                 packages and old sync DBs (FS#8061)
514               - remove all hardcoded paths and allow them to be set at
515                 configure/build time
516               - single mirrorfile- pacman substitutes the repository name in
517                 mirror file when $repo is found (FS#6389)
518               - New config file options: ShowSize, TotalDownload, IgnoreGroup,
519                 UseDelta
520               - all scripts have been gettext-ized and can be translated
521               - added testdb utility to check pacman DBs for common problems
522               - huge additions to pactest suite
523               - remove -F/--freshen operation
524               - add --ignoregroup option (FS#1592)
525               - --ignore and --ignoregroup accept comma separated lists
526               - add --needed option for --sync
527               - massive optimization and speedup for --owns
528               - add -q/--quiet option for -Ss/-Sl and -Q? output (FS#8470)
529               - add --asdeps option (install reason: dependency) (FS#7193)
530               - replace "Total Package Size" with "Total Download Size"
531                 (FS#4182)
532               - fix -Q options to work on installed packages AND package files
533               - change -Q/--query options to act as filters and increase their
534                 flexibility
535               - -U/-A <url> now downloads to cachedir (FS#6404)
536               - install and build dates are localized
537               - optdepends support
538               - delta support
539               - versioned provisions support
540               - versioned conflicts support
541               - add < and > operators for versioned dependencies and conflicts
542               - bash completion updates
543               - mirrorlist updates
544               - removed ABS script from codebase (now a separate project)
545               - allow multiple pacman cache directories
546               - all manpages are now generated using Asciidoc (FS#7312)
547               - moved parseconfig from backend library to frontend
548               - clean up and refactoring of the ENTIRE codebase
549                 - remove many useless #ifdefs
550                 - split many too-long functions
551                 - portability updates: compiles and passes tests on BSD and
552                   Darwin (switching libdownload->libfetch)
553                 - clean up build process
554                 - use of static code analysis
555                 - memory leak fixes all over the place
556                 - fix overzealous use of macros
557                 - entire codebase builds with -pedantic GCC option
558               - libalpm-specific changes:
559                 - moved location of sync DBs into their own folder to thwart
560                   deletion and remove naming limitations
561                 - REQUIREDBY entries are no longer used in local DB but are
562                   computed on the fly when needed, which should resolve
563                   phantom dependency issues (FS#7639)
564                 - ensure we export everything that should be public
565                 - fix some const correctness issues
566                 - add list tail ptr shortcut to make last element lookups O(1)
567                 - database dates are stored as seconds from epoch
568                 - removed SHA1 support
569                 - drop in new MD5 library
570                 - implement topological sorting for dependencies
571                 - do case sensitive compare in parse_descfile (FS#8081)
572                 - remove hardcoded architectures
573                 - conflicts checking speedups and fixes
574                 - move lockfile location to inside the DB
575                 - remove gettext calls from DEBUG messages
576                 - remove faulty diskspace checking
577                 - move functions out of alpm.c to where they belong
578                 - rewrite of file extraction code (FS#7484)
579               - makepkg-specific changes:
580                 - entire script has been functionalized
581                 - only runs in fakeroot when necessary
582                 - hard linked manpages are now compressed (FS#5392)
583                 - built-in versionpkg support
584                 - arch=('any') support (FS#8153)
585                 - clean up and prettify the output
586                 - replace tar/cpio/unzip with bsdtar (FS#7485)
587                 - add --ignorearch option (FS#7355)
588                 - improved error handling
589                 - downloads straight to $SRCDEST to avoid copies (FS#7271)
590                 - support for multiple download protocols (FS#4404)
591                 - remove --usesudo option, use it by default
592                 - add --asroot option to discourage building as root
593                 - add $srcdir and $pkgdir variables (FS#7278)
594                 - add source package creation option
595               - rankmirrors- allow reading from stdin (FS#8043)
596               - and many other updates: 198 bugs/FRs closed since 3.0.0 release
597               - switch to GIT for source code management
598 3.0.6         - config files updated to reflect current -> core change
599               - fix symlink overwriting issue (FS#7484)
600               - fix config parsing with tr_TR locale (FS#7235)
601               - use AC_SYS_LARGEFILE if available (FS#7578)
602 3.0.5         - add -mtune=generic to default CFLAGS in makepkg.conf
603               - small updates to translations
604               - repo-add: fix conflicts issue for real this time
605               - fix issue with libarchive incorrectly setting permissions
606 3.0.4         - updated translations
607               - repo-add: fix issue where conflicts were not put in database
608 3.0.3         - updated translations
609               - repo-add: fixed a desc file clobbering issue
610 3.0.2         - fix a bug where pre/post_remove scriptlets were not ran
611               - ensure ldconfig is ran in all operations
612               - added a few new translations, updated existing ones
613               - updated mirror lists
614               - makepkg: ensure CFLAGS are exported to build function
615 3.0.1         - fix a locale issue with tr_TR upper/lower-case conversion
616               - allow removal when listing the same package multiple times
617               - fix a repo-add bug that left a .PKGINFO file in the current
618                 directory
619               - proper error messages when we cannot read mtab for freespace
620 3.0.0         - first release based on libalpm backend
621               - added internationalization (gettext) support:
622                 - de, fr, hu, it, pt_BR, en_GB, ru_RU translations
623               - switch to usage of libdownload and libarchive
624               - improved proxy support using libdownload
625               - documentation - man pages updated, new conf manpages added
626               - repository mirror list updates
627               - added support for package changelogs
628               - logging of all install scriptlet messages to pacman.log
629               - orphans search (-Qe) now shows true orphans
630               - new -Qu option - show all packages that can be upgraded
631               - new -Se option - install only dependencies
632               - dependency sorting on install and removal
633               - check for free space before installing packages
634               - prompt to delete corrupted packages
635               - improved backup handling - backup array proactive on upgrade
636               - removed NoUpgrade lines from default pacman.conf
637               - new uncompressed size field, shown on sync upgrade
638               - improved progress and progressbar output
639               - reduced unnecessary calling of ldconfig
640               - selective loading of database to speed up certain operations
641               - debugging output improved with --debug flag
642               - pacman-optimize - now supports DBs on separate filesystem
643               - makepkg and abs now support conf files in home directory
644               - makepkg changes:
645                 - arch field is required
646                 - added -arch suffix to generated package filenames
647                 - new configuration file options format
648                 - changed default configuration
649                 - support alternate integrity checks
650                 - extract files using filetype, not extension
651                 - added noextract array
652                 - new options array format
653                 - new option to log build process
654                 - new --repackage option - repackage pkg/ without building
655                 - user-selectable paths for doc stripping
656                 - configurable source cache location
657                 - dependencies now removed on a build success or failure
658               - abs changes:
659                 - supports both cvsup and csup
660                 - expanded configuration
661                 - added support for testing repository
662               - new helper scripts:
663                 - rankmirrors - shows best available mirrors
664                 - repo-add - adds a package to a repo database file
665                 - repo-remove - removes a package from a repo database file
666               - added pactest testing suite
667               - MANY fixes and small improvements everywhere
668 2.9.8         - Changed behaviour with original=X,current=Y,new=Z scenario
669                 - keep old in place, install new as .pacnew
670               - Search package provides when finding matching targets with -S
671               - Frugalware: added -Qm option to find foreign packages
672               - Frugalware: added DistCC support to makepkg
673               - bugfix: before searching databases for a dependency, make sure
674                 one of the packages in the final list doesn't already provide
675                 that dependency
676               - fix for segfaults that occurred when propagating requiredby
677                 fields to replaced packages where one package depended on
678                 another replaced package
679               - a better fix for pacman-optimize integrity checks
680               - fix for regex searches with -Ss (Miklos Vajna)
681               - added a --noprogressbar for scripts to use
682 2.9.7         - fixed the dupe listings of packages when dealing w/ groups
683               - patches from Miklos Vajna:
684                 - add regexp search support for -Qs and -Ss
685                 - fixed md5sums on x86_64
686                 - add --sudosync to makepkg
687                 - show syntax help if an invalid option is used
688                 - added makepkg option to disable ccache support
689               - changed license field to operate as an array, not a string
690               - added more logic for file conflict checks - if one target
691                 is a file and the other is a directory, then it's a conflict
692               - fixed the integrity check in pacman-optimize
693               - reverted NoUpgrade to old behaviour and instead, added the
694                 NoExtract directive to pacman.conf, which prevents a file
695                 from ever being extracted on to the system
696                  eg, NoExtract = home/httpd/html/index.html
697 2.9.6         - added a pacman-optimize script to try and defragment the DB
698               - modified NoUpgrade behaviour to avoid extracting files
699                 that are missing from the filesystem -- this helps in
700                 situations where the admin does not want the file there, eg,
701                 remove index.html so index.php takes precedence
702               - fixed a bug where files would sometimes go missing if they
703                 moved from one package to another
704               - add db_remove() which is responsible for clearing out stale
705                 hash table entries when packages are removed
706               - added ccache support to makepkg
707               - patch from Aurelien Foret fixes a few memory leaks
708 2.9.5         - bugfix: missing files after re-ordering packages wrt
709                 deps with --upgrade
710               - added "Repository" line to -Si output
711               - patch from Tommi Rantala to fix trim() behaviour with
712                 empty or whitespace-only strings
713               - fixed removal order when using -Rc or -Rs
714 2.9.4         - fixed a bug that was introduced from another bugfix :-/
715 2.9.3         - fixed a couple manpage typos
716               - added --ignore to -S operations, works just like IgnorePkg
717               - respect IgnorePkg list when pulling in dependencies
718               - numerous memleak fixes
719               - some code changes to improve customizability/branding
720               - Makefile fix for nonstandard lib search paths (Kevin Piche)
721               - fixed the leftover directories in /tmp
722               - speed improvement patches from Tommi Rantala
723 2.9.2         - bugfix for 2.9.1
724 2.9.1         - --refresh now only downloads fresh packages lists if they've
725                 been updated (currently only works with FTP)
726 2.9           - Improved -Rs functionality -- pacman now tracks why a package
727                 is installed: explicitly, or as a dependency for another
728                 package.  -Rs will only remove dependencies that were not
729                 explicitly installed.
730               - Added compressed package size to sync DBs -- shows the total
731                 size of packages before downloading
732               - Patch from Tommi Rantala:
733                 - Allow --info and --list together in queries
734               - Patch from Kevin Piche:
735                 - Use list_add_sorted() with -Sg
736               - Patch from Hegedus Marton Csaba:
737                 - Better manpage compression
738               - Added checks for additional hyphens in package versions
739               - mktemp was failing if %pmo_root%/tmp was missing -- fixed
740 2.8.4         - Added updatesync script from Jason Chu
741               - Changed the pacman binary to be dynamically linked
742                 - Included a pacman.static binary as well
743                 - Added fakeroot checks when seeing if we're root
744               - Fixed makepkg to use 'tail -n 1' instead of 'tail -1'
745               - Added patch from Kevin Piche:
746                 - Cleanup db_loadpkgs(), add list_add_sorted()
747               - Fixed a memory leak in db_find_conflicts()
748 2.8.3         - Fixed a little makepkg bug with bash 3.0
749               - Fixed resolvedeps to always prefer literals over provisios
750               - Added --config option to specify an alternate config file
751               - Added "Include" directive to include repositories from
752                 config files (inspired by Michael Baehr's patch)
753               - Added patch from Jason Chu:
754                 - Even smarter file-conflict checking
755 2.8.2         - Fixed a segfault bug in file-conflict checks
756               - Made --noconfirm actually work.  Go me.
757 2.8.1         - Added a HoldPkg option in pacman.conf, for the more
758                 exploratory users who run things like "pacman -R pacman".  It
759                 will ask for confirmation before removing any packages listed
760                 in the HoldPkg list
761               - Added a --noconfirm switch for use with script automation
762               - Modified dependency resolution to prefer packages explicitly
763                 requested on the cmdline instead of those pulled in by
764                 resolvedeps().  Example, if neither "xorg" nor "xfree86" is
765                 installed and "blackbox xfree86" is requested, "xfree86" will
766                 be used instead of "xorg"
767               - Added patch from Jason Chu:
768                 - Smarter file-conflict checking with symlinked paths and
769                   with files that move from one package to another
770 2.8           - Bugfixes:
771                 - FS#861:  file:/// urls not handled properly with XferCommand
772                 - FS#1003: set umask before scriptlet calls
773                 - FS#1027: download problems with http urls using -U/-A
774                 - FS#1044: segfaults when using -Rs
775                 - FS#863:  "missing post_remove" errors with some packages
776                 - FS#875:  detect low disk space properly
777                 - FS#986:  makepkg -e doesn't validate files
778                 - FS#1010: add -j option to makepkg
779                 - FS#1028: make pacman -Sp runnable as non-root
780               - added pre_install and pre_upgrade scriptlet support
781               - added an "Architecture" field in the package meta-data
782               - added patch from Aurelien Foret which improves performance
783                 adding or removing packages
784               - added implementation of GNU's strverscmp function for better
785                 portability
786               - added explicit unlink() calls when --force is used, which
787                 prevents those nasty "Text file busy" errors when you
788                 force-upgrade something like pacman or glibc.
789 2.7.9         - added the "force" option to packages, so --sysupgrade can
790                 downgrade packages when it needs to
791 2.7.8         - added post_remove scriptlet support
792               - added -Qs option (FS#854)
793               - a provisio does not imply conflict, to make a provisio target
794                 conflict with anything else that provides the same thing, you
795                 can now do this by specifying the provisio target as both a
796                 provides and a conflict, eg:
797                    conflicts=('x-server')
798                    provides=('x-server')
799               - cleaned up the download progress bar a bit
800               - added %o parameter to XferCommand so wget can resume properly
801               - fixed a segfault in downloadfiles() (FS#787)
802               - patches from Oliver Burnett-Hall
803                 - gensync uses a better temp dir (FS#774)
804                 - PKGDEST can be set in makepkg.conf (FS#783)
805               - patches from Aurelien Foret
806                 - segfault fix, couple memory leaks
807                 - more sanity checks in "provides" searches
808                 - fixed a little display bug in the progress bar
809                 - made -Qip look like -Qi
810                 - -Sc now removes OLD packages from cache, use -Scc for all
811 2.7.7         - added an XferCommand directive that will make pacman use an
812                 external download utility like wget
813               - added a license field to package meta-data
814               - add url support to -A and -U operations (download packages)
815               - -Ss now searches thru provides fields
816               - added --dbonly option to -R
817 2.7.6         - added --print-uris option
818               - fixed an http download bug (FS#667)
819               - fixed a segfault related to replaces/conflicts handling
820 2.7.5         - "replaces" packages were ignoring IgnorePkg in pacman.conf
821               - fixed another bug in conflict handling
822               - found an out-dated reference to /usr/abs, fixed
823               - added a --recursive option for package removal, which removes
824                 all deps of a target that aren't required by other packages
825 2.7.4         - fixed a bug in conflict handling, where installing a
826                 conflicting package would fail even if the new package
827                 "provided" it
828               - if pacman sees a newer version of itself during an upgrade,
829                 it will ask to install itself first, then be re-run to upgrade
830                 the other packages.
831               - You can now use the --info option with --sync to display an
832                 uninstalled package's dependency info.
833               - Added a sane umask before db writes
834               - buffer overflow fix (FS#442)
835 2.7.3         - makepkg not longer strips files with .exe or .dll extensions
836               - Added Aurelien's patch:
837                 - proxy support (no authentication yet)
838                 - HTTP/1.1 support
839                 - an improved progress bar with transfer rates and ETA
840               - cleaned up warning output a bit
841 2.7.2         - Supressed "No such file" messages during stripping
842               - Removed extra newlines in /var/log/pacman.log
843               - Added a --noextract option to makepkg to skip source extraction
844 2.7.1         - Fixed a couple obscure segfaults
845               - LogFiles were logging incorrect dates - fixed
846               - Cleaned up md5sum output in makepkg -g
847               - Added (optional) colorized output messages to makepkg
848               - Renamed the "stable" repo to "release" in pacman.conf
849               - Renamed the "unofficial" repo to "extra" in pacman.conf
850 2.7           - Added build-time dependencies to makepkg (Jason Chu)
851               - Added md5sum integrity checking to packages in --sync
852                 mode (Aurelien Foret)
853               - Memory leak fixes (Aurelien Foret)
854               - Added CARCH variable to makepkg.conf for use in PKGBUILDs
855               - Added LogFile option for direct-to-file logging
856               - Added -Qii handling to show modified config files
857               - Allow --sync targets to specify an explicit repository to
858                 sync from (eg, pacman -S current/patch)
859 2.6.4         - Altered pacman_upgrade() to allow a package to replace itself
860 2.6.3         - A couple memory fixes in the new replaces code
861 2.6.2         - Fixed a memory cleanup bug
862               - Aurelien's patch:
863                 - FS#159 implemented (for -S and -R)
864                 - fixed a bug with pacman -Sg (pacman was browsing only one
865                   db to get groups)
866                 - fixed a bug with list_merge()
867                 - fixed some MLK (in dumppkg() and with "-Qi --orphans")
868                 - now "pacman -Sg" only displays groups (without content)
869                   whereas "pacman -Sg target1 target2" displays groups
870                   target1 and target2 with content
871 2.6.1         - Added http download support (Aurelien Foret)
872               - Improved makepkg's --builddeps behaviour when called via
873                 makeworld
874               - makepkg's md5 validation now occurs before source extraction
875               - makepkg delays fakeroot entry until after option parsing
876               - Fixed an argument-passing bug in fakeroot
877               - Modified pacman's behaviour wrt provides -- it now allows
878                 multiple packages to be installed, even if they provide the
879                 same thing (they were treated as conflicts before)
880 2.6           - Added group handling, so one can run 'pacman -S kde' and
881                 install all files from the KDE group
882               - Fixed a duplication bug in cascade package removal
883               - Added support for virtual provisions with "provides" tags
884               - When conflicts are encountered, pacman now offers the chance
885                 to remove the conflicting packages (provides or literals)
886               - Added support for renamed/combined packages with a "replaces"
887                 tag
888               - Added --nostrip option to makepkg
889               - Improved --search to list all packages from all repos when
890                 a search term is omitted
891               - Added logging support through syslog()
892               - Added fakeroot support to makepkg (RomanK)
893               - Added MD5sum generation/validation to makepkg (RomanK)
894               - Fixed a progress bar bug (Aurelien Foret)
895               - Sorted makepkg's .FILELISTs (Aurelien Foret)
896               - Targets are now re-ordered w.r.t. dependencies when
897                 using -A/-U
898               - Modified --search to work when called as -Sys
899               - Modified abs to use ABS_ROOT from /etc/abs/abs.conf (Aurelien)
900               - Other bug fixes
901 2.5.1         - Minor bug fixes
902 2.5           - Added an URL tag to package info
903               - Sped up package load times by about 500% by introducing
904                 a .FILELIST into the package
905               - Renamed the install scriptlet from ._install to .INSTALL
906               - Added patch from Aurlien Foret:
907                 - Better lock handling (RW and RO)
908                 - Sorted package order in -Qi's dependency lists
909                 - Added a DBPath option to pacman.conf
910                 - Fixed memory leaks
911                 - Added the --nodeps option to -S
912 2.4.1         - Fixed a bug in makepkg's option parsing
913 2.4           - Added getopt-style options to makeworld
914               - Added -w <destdir> to makepkg
915               - makeworld now properly handles packages with --builddeps
916               - Added patches from Aurelien Foret:
917                 - Cascading package removals. -Rc will remove a package and
918                   all packages that require it
919                 - Support for getopt-style options in makepkg
920                 - the REQUIREDBY field is now updated when a package is
921                   removed with --nodeps, then re-installed.
922                 - Avoids duplicate dependency checks with sync
923                 - Added a "NoPassiveFtp" option in pacman.conf
924                 - Improvements to the --query listings
925 2.3.2         - Added patches from Aurelien Foret:
926                 - FTP resume feature
927                 - removed the hit-^C-and-delete-the-downloading-file safety
928                 - IgnorePkg option in pacman.conf
929                 - FTPAGENT setting in makepkg.conf
930                 - Added --cleancache option to makepkg
931 2.3.1         - Fixed the progress bar overflow
932               - Pacman does not ask "Are you sure" when you use --downloadonly
933               - Switched up a couple makepkg options to be more consistent
934                 with pacman's options
935               - If you ^C out of a file download, the package will now be
936                 removed from the cache directory
937 2.3           - The beginnings of source-side dependency resolution, makepkg
938                 can now either A) download/install missing deps with pacman
939                 -S; or B) find missing deps in the /usr/abs tree and
940                 build/install them.
941               - Added a --nodeps option to makepkg
942               - Improved the --search output
943 2.2           - More bugfixes
944               - Added --downloadonly switch to --sync
945 2.1           - Lots of bugfixes
946               - Added support for multiple repositories
947               - Improved the config file layout
948               - Improved dependency resolution and sorting
949 2.0           - Added dependency functionality
950               - Completely new database format, similar to FreeBSD
951               - Better internal data structures
952               - Merged pacsync functionality into pacman
953               - Now uses libftp for all file retrieval (currently only ftp)
954               - Automatic dependency resolution, a la apt-get
955               - Moved config stuff from /etc/pacsync.conf to /etc/pacman.conf
956               - Much better backup file handling, now uses md5 hashes a la rpm
957 1.23          - Added install/upgrade/remove scripting control
958 1.22          - Some manpage typo fixes
959               - Added --root switch to pacsync
960               - Added --help and ability to specify a PKGBUILD to makepkg
961               - Switched default downloader to snarf
962 1.21          - Added better backup control -- upgrade/add and remove
963                 do different things with the -n switch
964 1.2           - Added wildcard handling
965               - Added man pages for makepkg and pacsync
966               - Added the pacsync utility for remote file fetching/sync
967 1.1           - Fixed some string-handling bugs
968               - Added better handling of configuration files and the like.
969                 If "file" is about to be removed, but it is designated to
970                 backed up, then it will be copied to "file.save"
971               - Changed db_find_conflicts() to ignore directories
972 1.0           - Initial Release
974 vim: set et spell spelllang=en_us: