hi, here is the result of a 2+ weeks works. I began by fixing the fact that doc and www aren't objdir prefix clean. then, when everything seems everything build and install ok, I ran linbot from ports, to find 404 missing internal links (-ab). so, I try to fix almost all of them. I already have submited 3 PRs, one for doc objdir prefix clean (PR #31131), another for www objdir prefix clean (PR #31132) and the last for gif to png (PR #31109). this is the first PR concerning broken doc links fix, a second one will be in a day or two about the web broken links. about the hardware notes : (was doc/en_US.ISO8859-1/books/handbook/install-hw.html) they have been taken out of the handbook and aren't easy to find on the website. in fact, it seems they only exist on the ftp site! unfortunately, they are installed if BUILD_RELNOTES is defined, but no links point on them. IMHO, relnotes/4-STABLE/hardware/i386/index.html should be added to releases/index.html and should replace all occurences of handbook/install-hw.html. for instance, I've replaced handbook/install-hw.html by doc/en_US.ISO8859-1/handbook/install.html which isn't really accurate... about the handbook : the kernelopts section is missing from the handbook, is that normal ? about the contrib and the policies section : while they have been removed from the handbook before to be inserted somewhere else ? as the cvs log says, they will be moved "shortly", but they aren't yet. IMHO, it would be better to remove such references only when the move is effective and not before. about the missing links, the following main rules have been followed : internal urls : file:/... has been replaced by file://localhost/... index.html added ot all / terminated urls (these changes may help local browsing using lynx and co) in the second patch set, all relative or absolute references have been replaced by new &url... entities. this allow you to have the choice between the one or the other at compilation time using TOPLEVEL=<level> between 1 and 4 or -1 (default) for absolute reference. external urls : ftp://... and http://... have been / ended if not refering a file FreeBSD.org everywhere ;^) all article and book references are now relative between them (see the second patch set note above). tutorials/index.html has been replaces by docs.html#articles ftp://...:/... changed to ftp://.../... to get rid of all thoses bad links, I suggest to declare all internal URLs as entity as it is done for manuals and authors in -doc. even better would be to also declare all external URLs, also... but there are a lot of them! PS : of course, I personally prefer the second patch set :P Fix: take care, there is two set of patches. the first one is somewhat simple while the second one intensively uses &url...; entities. ============================ primary fix ============================= =========================== alternate fix ============================ How-To-Repeat: cd /usr/www make /usr/local/bin/linbot -ab -o /usr/share/www/linbot http://localhost/share/www/data/ /usr/local/bin/links http://localhost/share/www/linbot/badlinks.html
State Changed From-To: open->analyzed This patch was huge and difficult to work with. Please submit your changes more often so that the PRs are easy to deal with. ;) You've done some excellent work here. Would it be possible for you to generate another patch with just your URL entity stuff? It looks really cool but I wanted to take care of everything else in your patch first. I really like the idea of doing make TOPLEVEL="bla" since this would have made my job producing printed output easier. Thanks!
State Changed From-To: analyzed->closed Please post your urlbase entity stuff to the doc list for discussion. When we've agreed on the best semantics then you can submit another (smaller) PR. Most of this PR has already been committed. Thanks!