mirror of
https://git.FreeBSD.org/ports.git
synced 2024-12-12 03:00:28 +00:00
The code for this 2.0 version has been totally reorganized, and
in several cases totally rewritten. I am also glad to say that all of the advertised features now work as advertised. :) The most exciting new feature is the completely new dependency updater. I finally took the time to write the line-oriented version of update_contents() that I wanted to write in the first place, so no more sed, and no more warnings sent to $PAGER. This version relies entirely on exact matches to DEPORIGIN to do its work, so it's 100% reliable. So what else is new? A lot of micro-optimizations have been done to eliminate duplicated work, avoid using external commands when not necessary, etc. There are also some not-so-micro optimizations, which means that this version is noticably faster. Totally new features: 1. --check-depends, which as described above calls the new functions to parse existing +CONTENTS files for dependency data, uses that data to update +REQUIRED_BY, and updates the +CONTENTS files. These same routines are also used for updating ports. 2. A "fetch only" feature (-F) that will go get distfiles for new versions of installed ports by default, and can also be used to get the files for all of your installed ports, or certain branches by using the -aft options. 3. An option to hide the build and install process by saving it to a log (-H). These logs are deleted on successful install, and saved if the update process aborts. 4. We now keep track of all the ports that get updated or installed in a given invocation, and print the list at the very end of the process. 5. There is now a little "map" to show you where you are in the process of the form "parent >> child >> grandchild >> etc." 6. Support for running as an unprivileged user (via sudo) has been added. See the man page for details on how to configure this. Improved features: 1. When showing the pkg-message/+DISPLAY files at the end of the process, all files are grouped together and spit out to $PAGER (or just cat if -u). If there is an error, there is a pause first (unless -u). 2. There is now much more sanity checking on user input so that we can bail out early if there is a problem. 3. The error messages have been completely re-done to be more informative, and many of them include helpful suggestions on how to fix the problems. 4. In the expunge (-e) feature, if there is dependency data for the port you want to delete we now offer you the chance to delete that instead of just aborting. (Use at your own risk!) 5. The "save old shared libs" feature (-w) is now a lot more efficient, only runs ldconfig when it has to, and uses /etc/rc.d/ldconfig. 6. The /var/db/pkg/*/+IGNOREME file now has more functions associated with it. See the man page for details. 7. When using the -L feature, there is a warning printed if the port has been set to FORBIDDEN, DEPRECATED, BROKEN, or IGNORE. 8. If you have a real /usr/X11R6 directory (not a symlink) this is added to the PATH. Otherwise it's assumed that LOCALBASE == X11BASE. 9. Backup packages of existing ports are now saved to /usr/ports/packages/portmaster-backup, and left there if -b is used. This way you can create backup packages of a port without disturbing existing packages with the same version. There are numerous other things that are not user-visible which have been cleaned, polished, made more efficient, etc.
This commit is contained in:
parent
cf573ca6cb
commit
2815d6f989
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=206095