Date: Sat, 8 Jan 2000 21:23:11 -0600 (CST) From: Igor Roshchin <igor@physics.uiuc.edu> To: ports@freebsd.org Cc: igor@physics.uiuc.edu Subject: Port-maintenance Message-ID: <200001090323.VAA10535@alecto.physics.uiuc.edu>
next in thread | raw e-mail | index | archive | help
Hello! I think with all that nice system of ports/packages that FreeBSD has, the possibilities I am going to ask about either exists, or should be rather easy to implement. I looked through the man pages, handbook, mail-archives, etc, but could not find the desired functionality. Please, let me know if I am missing something. Otherwise, consider it as suggestions. (I am not on "-ports" list, so, please Cc: if responding to me) Note: I am aware of "pkg_version -c" capability. It's helpful but rather clamsy, and does not allow to rebuild all previously-installed ports easily [== automagically]. Also, it still suffers the problems #1 and #3 (and #4). Situation: --------- Consider that you have a set of ports that you install on a particular computer (one of many boxes). Time-to-time, after the system is upgraded, especially, in case of a major upgrade that includes kernel and/or library format change, (consider both, update/upgrade via cvsup and make world, and via binaries - /stand/sysinstall) you'd like to update the ports. This has two parts to it: 1) to make sure that the sources are fresh (especially if you don't run cvsup regularly e.g. on a production machine, or on a machine with a slow connection), and 2) recompile on the new system. Problem #1: --------- I don't want to refresh ALL port source tree, or, if I've choosen just some categories, - ALL ports in the choosen categories - just only those which I already have on my computer, and dependencies. (insert list of reasons here: slow link, limited time, ... ) Suggestion #1: To have a list of the "already-used ports" - so that cvsup can fetch/update only those. This list should be automatically updated (new ports addedd) when a new port is compiled. Suggestion #1.a Probably "update" target (analogous to one in /usr/src/Makefile) that would update the particular port, would be nice. (i.e to update Makefile itself, pkg, files, ...) --- Ok, say we have fresh sources What do you do ? You hardly remember _all_ ports and packages you've installed from the FreeBSD collection. You can look through the list of packages installed, using pkg_info, then go to the appropriate subdirectories in /usr/ports and type "make install". If you had installed ALL possible ports (if you are release engineer or just crazy) - you could just go to the /usr/ports directory and type "make install", and it should compile and install ALL ports. Problem #2 ----------- How to compile/install only the ports that have been compiled/installed on this computer earlier. Possible hack: Edit Makefile in the /usr/ports/${CATEGORY} directory, removing all SUBDIRs, and adding only those that one wants to keep and use in the future. Disdvantage: Clamsy, and is not automated - would be nice to add/delete port names from the list at during post-install or deinstall. Suggestion #2 To have a list maintained as described above with a possible additional target for ports that would allow [re-]compile/install only already installed ports. It should allow "update" target as suggested in "Suggestion #1.a" ------------ Problem #3 ---------- Much like the Problem #2, except for the case when one wants to use "pkg_add" to install precompiled packages, and not to compile them locally for one or another reason. Suggestion #3 Would be nice to have a menu - much like in sysinstall - which reads in the list of existing packages and allows you to do mass-upgrade, probably with an additional possibility to "uncheck" some of the ports from that list. Note: sysinstall itself would be too bulky and AFAIK can not upgrade existing packages - it will show them as already installed. ------ Usually, I install some packages via pkg_add (sometimes using sysinstall's interface), while compiling other from /usr/ports [a] reason: some ports are not available as precompiled package. (there are some other specific reasons for some ports) Problem and Suggestion #4 ---------- (somewhat of an aesthetic thing) It would be nice to distinguish between ports installed via "add_pkg" (including sysinstall) and via compiling port. This way functionality described in #2 and #3 can be (probably as an option) kept separately. ------- Best regards, Igor To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200001090323.VAA10535>