helpSavannah Administration - Support: sr #110593, copyright year in header/footer...


sr #110593: copyright year in header/footer stale

Submitted by:  Karl Berry <karl>
Submitted on:  Sat 01 Jan 2022 04:17:35 PM UTC  
Category:  Savannah website Priority:  5 - Normal
Severity:  3 - Normal Status:  None
Assigned to:  Ineiev <ineiev> Operating System:  None
Open/Closed:  Open

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Sun 23 Jan 2022 06:13:40 AM UTC, comment #5: 

The previous code for local site specific content was:

2006-11-28   31) # This function permit including site specific content with ease
2009-01-15   32) function utils_get_content_filename ($file)
2006-11-28   33) {
2006-11-28   34)   if (is_file($GLOBALS['sys_incdir'].'/'.$file.'.'.$GLOBALS['locale']))
2009-01-15   35)     // there is localized version of the file :
2009-01-15   36)     return $GLOBALS['sys_incdir'].'/'.$file.'.'.$GLOBALS['locale'];
2006-11-28   37)   elseif (is_file($GLOBALS['sys_incdir'].'/'.$file.'.txt'))
2009-01-15   38)     return $GLOBALS['sys_incdir'].'/'.$file.'.txt';
2006-11-28   39)   else
2009-01-15   40)     return null;
2009-01-15   41) }

This code was changed with the following commit.

The current code is this.

2009-01-15   34) function utils_get_content_filename ($file)
2006-11-28   35) {
2017-06-19   36)   if (is_file($GLOBALS['sys_incdir'].'/php/'.$file.'.php'))
2017-06-19   37)     return $GLOBALS['sys_incdir'].'/php/'.$file.'.php';
2017-07-16   38)   if (is_file($GLOBALS['sys_incdir'].'/php/'.$file.'.txt'))
2017-06-19   39)     return $GLOBALS['sys_incdir'].'/php/'.$file.'.txt';
2017-06-19   40) # Fallback to legacy location.
2019-05-20   41)   if (isset ($GLOBALS['locale']))
2019-05-20   42)     {
2019-05-20   43)       if (is_file($GLOBALS['sys_incdir'].'/'.$file.'.'.$GLOBALS['locale']))
2019-05-20   44)         # There is a localized version of the file:
2019-05-20   45)         return $GLOBALS['sys_incdir'].'/'.$file.'.'.$GLOBALS['locale'];
2019-05-20   46)     }
2017-07-16   47)   if (is_file($GLOBALS['sys_incdir'].'/'.$file.'.txt'))
2009-01-15   48)     return $GLOBALS['sys_incdir'].'/'.$file.'.txt';
2017-07-16   49)   return null;
2009-01-15   50) }

So...  It looks like the path to a local page_footer.txt has been
changed to now require it in a ./php/ subdirectory.  And presently
that is a symlink.

lrwxrwxrwx 1 root staff 51 Jul 18  2017 /etc/savane/content/gnu-content/php -> /var/www/savane/frontend/site-specific/gnu-content/
lrwxrwxrwx 1 root root 20 Feb  1  2017 /var/www/savane -> /opt/savannah/savane

And that is all that I know.  The question now becomes if this is okay
or if further modifications need to be made to it.  The previous local
content override could be restored.  But it looks to me that in 2017
this was changed to remove that separate area and to converge into the
main code area.

Bob Proulx <rwp>
Site Administrator
Sun 23 Jan 2022 04:28:26 AM UTC, comment #4: 

TL:DR; I updated the header and footer Copyright year to 2022.

I looked around and the page header and footer that generates the
copyright notices are these files.

And it turns out that I have updated them previously.  There is an
update in 2018 from me updating the Copyright years.  Which dovetails
in with the previous copyright notices and dates from Karl that list
2010 through 2017.  I guess back in 2018 I should have added a line
for me then.  I didn't then but I will follow the group and add one
for me for this year.

I don't really know deep details about how things are supposed to
work with regards to CVS hosted content/gnu-content page_header.txt
and page_footer.txt.  But when I changed these php pages the web site
dates are updated.  Looking in those php files there are no
conditionals.  So I would need to see where those pages are loaded
from and see if there is any conditional loading there, where if other
/etc/savane/content/* exists that that would override or something.  I
have no idea.  Seems plausible.  And seems plausible that mechanism
might be broken.  All I know is that if I update those PHP files then
the web site dates are updated.

Looking very quickly at things I see there is a function
utils_get_content() which apparently is supposed to handle the local
/etc content override.  Something in that path is not working.  I'll
look more into it a little later.

I am not sure how I got called out by name to be the copyright holder
of the site either.  Although I have worked on the web UI sporadically
I haven't really put much work into it.  Initially when I read that
statement I thought it must have been a reference to another Bob in
the history of the site.  But in any case I think the FSF should hold
the site copyright even if individual authors have contributed to
various files throughout the project.  We are all just caretakers
maintaining Savannah for the community.

Bob Proulx <rwp>
Site Administrator
Sat 22 Jan 2022 10:11:17 PM UTC, comment #3: 

To the best of my knowledge, the text and other content for Savannah has always been considered copyright FSF. For example, nothing I've seen says "copyright Sylvain Beucler", even though he did much more than anyone else to set up and develop the Savane instance into Savannah, so far as I can recall. Certainly Bob did not write the text for the web pages.

NTW, the levitating GNU is not copyright FSF. As stated in the copyright message :).

Karl Berry <karl>
Site Administrator
Sat 22 Jan 2022 09:53:25 AM UTC, comment #2: 

While at the copyright notice: is is correct to list the FSF as the copyright holder? it only holds copyright for the flying gnu and the "Join Now" image. most text on this particular page is copyrighted by Bob.

Ineiev <ineiev>
Site AdministratorIn charge of this item.
Sun 02 Jan 2022 02:47:29 AM UTC, comment #1: 

I will work on the points raised in this ticket incrementally.

As to the Copyright year...  I have no idea.  I will need to figure it
out.  I know that there is both /opt/savannah/savane/* and
/etc/savane/content/* and what you say seems reasonable to me.

As for the uncommited changes...  I had installed the fundraising
banner again this year.  But I had neglected to commit them.  I have
done so now and pushed through through and pulled them back to the web
frontend.  The sandbox is now clean there.  That also pulled in the
most recent changes from Ineiev.  That should address your concern
there but of course is unrelated to the copyright year problem.

As to the system hostnames...  At the root level it is because we have
too many things in the baskets and can't lift them anymore.  Things
are too complicated to upgrade in place and have everything work
within a reasonable time such as a day.  For just git and nothing else
I upgraded it on the 24th and here it is the 1st and new problems were
discovered and still working through it.  We can only do it
incrementally one component at a time.  Or at least I can only do it
incrementally one component at a time.  That means setting up new VMs
to work through the problems of new versions of things.  Which
requires a different hostname than the previous one.

Each are a little unique.  Can only review through them one at a time.

Re mgt: We can set up an alias for mgt to point to the manage node
lilypad system to hop onto first.  Then keep that pointing to the
currently active system.  That's pretty straight forward.  On the
first migration that wasn't possible because the mgt name was already
in use by the previous system.  Someone had confused a role name with
a hostname.  But that one is now gone and the name is available for
this purpose now.  So that's okay.  Done.

Re frontend: The frontend web UI system actually gets the base
"savannah" name.  Or the full domain "" name.  So just
use it.  (mgt: "ssh savannah".)

Originally it had the same problem that the mgt name had that frontend
was already in use so could not be set as an alias.  But it is also
free now so that's an okay name to use as an alias too.  Done.  But
note that at this moment we have this.

frontend1 -- currently active production system
frontend2 -- next system coming online not yet ready

For the vcs systems one can always use the service name to connect.
That is "ssh git" to find the git server, "ssh svn" to find the svn
server, "ssh cvs" to find the cvs server, and so on for hg and bzr
too.  That's probably best because those are the public names for the
public API and those have to maintain a stable ssh host key across

Now that these names are available I'll add these aliases to make the
associated active servers easier to find.

mgt       CNAME
frontend  CNAME
internal  CNAME
nfs       CNAME

Unless Ineiev jumps in and beats me to it I will look at the copyright
year problem as soon as I get the time to do it.

Bob Proulx <rwp>
Site Administrator
Sat 01 Jan 2022 04:17:35 PM UTC, original submission:  

The copyright year at the bottom of (and nongnu) is 2019.

It used to be that this was controlled by the files page_header.txt and
page_footer.txt in content/gnu-content under the "administration"              
project's CVS.  I've dutifully updated those files every year.

I found a CVS checkout of that on frontend1(*) in
/etc/savane/content/gnu-content, and ran cvs update, which did update
those files (BTW: uncommitted changes in git/index.txt and
register/requirements.txt), but this did not change the live web pages.

I don't know whether the web pages are served from another checkout, or
from another repository altogether, or what.

Anyway, I give up. Good luck. -k

(*) After having to go through a series of annoying guesses about what hostnames to log in to. Mgt? No. Mgt1? No. Mgt0? Yes.
Frontend? No. Frontend0? No. Frontend1? Yes.  It all seems unpredictable.
Why don't you make the generic names work?  That's the whole point of
generic names. As you well know.

Karl Berry <karl>
Site Administrator


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by ineiev (Posted a comment)
  • -email is unavailable- added by rwp (Posted a comment)
  • -email is unavailable- added by karl (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follows 1 latest change.

    Date Changed by Updated Field Previous Value => Replaced by
    2022-01-22 ineiev Assigned toNone => ineiev

    Back to the top

    Powered by Savane 3.7