Path: blob/main/website/content/en/internal/homepage.pl
18093 views
#!/usr/bin/perl12# $FreeBSD$34print "* link:https://people.FreeBSD.org/homepage/[FreeBSD Developer home page list]\n";5exit 0;67$homepagedir = 'public_html';8@index = ('index.html', 'index.cgi');9$noindex = '.noindex';1011open(P, 'getent passwd |') || die "getent passwd: $!\n";12undef @pages;13while(<P>) {14($login,$password,$uid,$gid,$gcos,$home,$shell) = split(/:/);1516# cleanup gecos17$gcos =~ s/,.*//;1819# disable daemons20next if $uid < 500;21next if $login eq 'nobody';22next if $shell =~ ~ m%/(pppd|sliplogin|nologin|nonexistent)$%;2324# uucp accounts25next if $login =~ /^U/;2627$p = $home . '/' . $homepagedir;2829# user don't want be on the index30next if -f "$p/$noindex";3132foreach (@index) {33if (-f "$p/$_" && -r "$p/$_") {34if ($_ !~ /\.cgi$/ || -x "$p/$_") {35push(@pages, $gcos . ':' . $login);36last;37}38}39}40}4142close P;43if ($#pages < 0) {44#die "No users found!\n";45push(@pages, "Disabled:disabled");46}4748foreach (sort @pages) {49($gcos, $login) = split(/:/);50($firstgecos, @gecos) = split(/,/, $gcos);51print qq{* link:https://people.FreeBSD.org/~$login/[}, $firstgecos, "] ", join(', ', @gecos), "\n";52}535455