mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-09 02:22:18 +00:00
c05052db0c
New Features ============ 1. Add an option to log actions after the run is complete. To enable it define PM_LOG in your rc file as the path of the file you want to log to. If using PM_SU_CMD make sure that the directory or file is writable by the unprivileged user. 2. Add the --clean-packages[-all] feature This works similarly to --clean-distfiles[-all] in that it searches the $PACKAGES directory for out of date packages, and either offers to delete them, or with -all deletes them without prompting. It also cleans out stale symlinks and empty directories. This necessitates moving init_packages_var() and parse_index() so they can be used by the new feature. The idea for grabbing the ORIGIN from the package's +CONTENTS file and checking to see if it is up to date came from: Alexey Markov <a.markov@complitex.ru> 3. Add an option to --clean-distfiles[-all] to allow a distfile to be valid if it matches ANY port in the tree, not just those installed. This requires building a distinfo list from all ports, so duplicate the relevant bits of read_distinfos() into read_distinfos_all(). The common elements are split into during the loop and after the loop, so making 4 functions total doesn't seem worth it. Add logic to --clean-distfiles to handle the -t option and call the right read_distinfos* function accordingly. 4. Add the ability to ignore failed backup package creation by setting PM_IGNORE_FAILED_BACKUP_PACKAGE in the environment (rc file, etc.) 5. Add the ability to skip the rebuild of the -r port by adding -R Cleanups and Tweaks =================== 1. Finalize the deprecations of /etc/portmaster.rc, -u and -p 2. If --local-packagedir and ${LOCAL_PACKAGEDIR}/All/${new_port}.tbz exists just use it, don't bother dereferencing $LATEST_LINK. This is faster, but it also solves the problem of (for example) packages/Latest/perl links to perl-5.10.x, even with 5.12.x installed and the 5.12.x package in packages/All 3. Change the behavior of the -G option. In the original version of portmaster the concept of 2 distinct passes through the dependency tree, the first to do all the 'make config's and the second to build everything was intrinsic to the design. When released publicly there were a non-trivial number of users who objected to the idea of 'make config' being mandatory, so I added the -G option to disable the whole first pass. However as time went on, more and more features were added that depended on the first pass, so it was necessary to rethink how -G works. In this version, the 2-pass design is now universal, and the only thing -G does is suppress the actual OPTIONS dialog. This has several benefits: a. Now all features are available to -G users b. The new method of suppressing the OPTIONS dialog is 100% effective (thus it's no longer necessary to use BATCH to truly suppress them) c. The --force-config option now overrides -G so users who really hate OPTIONS can have -G in their rc file, but still have it available by using --force-config on the command line Lots of variables, functions, and text have been modified to substitute out references to "config" in favor of "first pass" 4. Use nice for the make commands that actually build stuff 5. Improve the messages for fetching and updating INDEX 6. Add some whitespace in checkdepends() after removing stale data 7. If we're doing -F don't bother to initialize $PACKAGES 8. Clean up whitespace in the code 9. Use a better, more generic method of signaling an abnormal exit and call safe_exit with a status of 1 from more places. This is likely the cause of some of the vague problem reports I have received in the past that include complaints of, "I used -r/f and -R but portmaster still rebuilt certain ports a whole bunch of times." 10. In parent_exit() if INSTALLED_LIST has content but ilist does not, move it over so we can display the right information about work done 11. Make parse_index() more forgiving of PORTSDIR != /usr/ports 12. If PORTSDIR exists, but isn't a ports tree, warn the user, and when setting PACKAGES run tests against $pd, not literal /usr/ports. Thanks to bf@ for these 2. |
||
---|---|---|
.. | ||
distinfo | ||
Makefile | ||
pkg-descr |