From owner-freebsd-ports Sat Jan 8 19:23:25 2000 Delivered-To: freebsd-ports@freebsd.org Received: from alecto.physics.uiuc.edu (alecto.physics.uiuc.edu [130.126.8.20]) by hub.freebsd.org (Postfix) with ESMTP id DEB9514C26 for ; Sat, 8 Jan 2000 19:23:20 -0800 (PST) (envelope-from igor@alecto.physics.uiuc.edu) Received: (from igor@localhost) by alecto.physics.uiuc.edu (8.9.0/8.9.0) id VAA10535; Sat, 8 Jan 2000 21:23:11 -0600 (CST) From: Igor Roshchin Message-Id: <200001090323.VAA10535@alecto.physics.uiuc.edu> Subject: Port-maintenance To: ports@freebsd.org Date: Sat, 8 Jan 2000 21:23:11 -0600 (CST) Cc: igor@physics.uiuc.edu Reply-To: igor@physics.uiuc.edu X-Mailer: ELM [version 2.4ME+ PL43 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-ports@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org 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