Skip site navigation (1)Skip section navigation (2)
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>