FreeBSD Bugzilla – Attachment 87786 Details for
Bug 124447
[patch] Bring www/en/multimedia into the age of SGML
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
file.diff
file.diff (text/plain), 48.96 KB, created by
edwin
on 2008-06-10 14:50:01 UTC
(
hide
)
Description:
file.diff
Filename:
MIME Type:
Creator:
edwin
Created:
2008-06-10 14:50:01 UTC
Size:
48.96 KB
patch
obsolete
>Index: Makefile >=================================================================== >RCS file: /home/dcvs/www/en/multimedia/Makefile,v >retrieving revision 1.2 >diff -u -r1.2 Makefile >--- Makefile 15 May 2007 21:53:43 -0000 1.2 >+++ Makefile 10 Jun 2008 13:10:19 -0000 >@@ -10,30 +10,30 @@ > .include "Makefile.inc" > .endif > >-INDEXLINK= multimedia.html >- >-FXML = multimedia-input.xml >-FHTML = \ >- multimedia.html.intro \ >- multimedia.html.pre \ >- multimedia.html.post >-FLIST = multimedia.created >-FSCRIPT = multimedia.pl >- >-.if exists(${FLIST}) >-DATA!= cat ${FLIST} >-.else >-DATA= ${INDEXLINK} >-.endif >- >-all: ${FLIST} >+#all: build >+all: build >+ cd output && make all DIRPRFX=multimedia/output/ >+ >+install: >+ cd output && make install DIRPRFX=multimedia/output/ >+ >+TEMPLATES= multimedia.sgml.intro \ >+ multimedia.sgml.post \ >+ multimedia.sgml.pre \ >+ multimedia.html.intro \ >+ multimedia.html.post \ >+ multimedia.html.pre \ >+ multimedia-input.xml > > clean: >- if test -f ${FLIST} ; then \ >- xargs ${RM} < ${FLIST} && ${RM} ${FLIST} ; \ >- fi >+ -${RM} output/* > >-${FLIST}: ${FSCRIPT} ${FXML} ${FHTML} >- perl -Tw ${FSCRIPT} >+build: >+ (test -d output || ${MKDIR} output ) && \ >+ cd output && \ >+ ${LN} -fs ../Makefile.output Makefile && \ >+ ( for f in ${TEMPLATES}; do ${LN} -fs ../$$f $$f; done ) && \ >+ ${PERL} -Tw ../multimedia.pl && \ >+ ${RM} -f *.html > > .include "${WEB_PREFIX}/share/mk/web.site.mk" >Index: Makefile.inc >=================================================================== >RCS file: Makefile.inc >diff -N Makefile.inc >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ Makefile.inc 10 Jun 2008 13:10:19 -0000 >@@ -0,0 +1,4 @@ >+# $FreeBSD$ >+ >+WEBBASE?= /data/multimedia >+WEB_PREFIX?= ${.CURDIR}/../../.. >Index: Makefile.output >=================================================================== >RCS file: Makefile.output >diff -N Makefile.output >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ Makefile.output 10 Jun 2008 13:10:19 -0000 >@@ -0,0 +1,15 @@ >+.if exists(../../Makefile.conf) >+.include "../../Makefile.conf" >+.endif >+.if exists(../../Makefile.inc) >+.include "../../Makefile.inc" >+.endif >+ >+DOCS!= cat multimedia.sgml.created >+DATA= multimedia.xml >+ >+WEBDIR= multimedia >+ >+WEB_PREFIX:= ${WEB_PREFIX}/../ >+ >+.include "${WEB_PREFIX}/share/mk/web.site.mk" >Index: multimedia-input.xml >=================================================================== >RCS file: /home/dcvs/www/en/multimedia/multimedia-input.xml,v >retrieving revision 1.3 >diff -u -r1.3 multimedia-input.xml >--- multimedia-input.xml 30 May 2008 15:25:11 -0000 1.3 >+++ multimedia-input.xml 10 Jun 2008 13:10:33 -0000 >@@ -317,12 +317,12 @@ > Certification. > </p><p> > See the following links for more information: >+ </p> > <ul> >- <li>https://register.bsdcertification.org/register/get-a-bsdcg-id >- <li>http://reedmedia.net/books/freebsd-basics >- <li>http://www.osbr.ca >+ <li>https://register.bsdcertification.org/register/get-a-bsdcg-id</li> >+ <li>http://reedmedia.net/books/freebsd-basics</li> >+ <li>http://www.osbr.ca</li> > </ul> >- </p> > ]]></desc> > <overview>http://bsdtalk.blogspot.com/2008/01/bsdtalk139-dru-lavigne.html</overview> > <tags>bsdtalk,interview,dru lavigne,the best of freebsd basics</tags> >@@ -347,17 +347,19 @@ > <item source="bsdtalk" added="20080125"> > <title>Central Syslog</title> > <desc><![CDATA[ >+ <p> > Setting up a central syslog server. >+ </p> > <ul> >- <li>If you are concerned about the security of your logs, use a dedicated machine and lock it down. >- <li>Keep clocks in sync. >- <li>You may need to change log rotation schedule in /etc/newsyslog.conf. You can rotate based in size and/or time. This can be as much a policy decision as a hardware decision. >- <li>On central log host, change syslogd flags to listen to network. Each BSD does this differently, so check the man pages. Also, check out the -n flag for busy environments. >- <li>Make sure host firewall allows syslog traffic through. >- <li>Be careful to limit syslog traffic to just the trusted network or hosts. FreeBSD man page refers to syslogd as a "remote disk filling service". >- <li>For heavy logging environments, it is important to have a dedicated network. A down syslogd server can create a lot of "ARP who-has" broadcasts. >- <li>Most network devices such as printers and commercial firewalls support sending to a central syslog server. Take a look at "Snare" for Windows hosts. >- <li>To send messages from a Unix host, specify the host name prepended with @ instead of a file for logging in /etc/syslog.conf. For example, change /var/log/xferlog to @loghost.mydomain.biz. You can also copy and edit the line to have it log to both a local file and a remote host. >+ <li>If you are concerned about the security of your logs, use a dedicated machine and lock it down.</li> >+ <li>Keep clocks in sync.</li> >+ <li>You may need to change log rotation schedule in /etc/newsyslog.conf. You can rotate based in size and/or time. This can be as much a policy decision as a hardware decision.</li> >+ <li>On central log host, change syslogd flags to listen to network. Each BSD does this differently, so check the man pages. Also, check out the -n flag for busy environments.</li> >+ <li>Make sure host firewall allows syslog traffic through.</li> >+ <li>Be careful to limit syslog traffic to just the trusted network or hosts. FreeBSD man page refers to syslogd as a "remote disk filling service".</li> >+ <li>For heavy logging environments, it is important to have a dedicated network. A down syslogd server can create a lot of "ARP who-has" broadcasts.</li> >+ <li>Most network devices such as printers and commercial firewalls support sending to a central syslog server. Take a look at "Snare" for Windows hosts.</li> >+ <li>To send messages from a Unix host, specify the host name prepended with @ instead of a file for logging in /etc/syslog.conf. For example, change /var/log/xferlog to @loghost.mydomain.biz. You can also copy and edit the line to have it log to both a local file and a remote host.</li> > </ul> > ]]></desc> > <overview>http://bsdtalk.blogspot.com/2008/01/bsdtalk138-central-syslog.html</overview> >@@ -646,18 +648,20 @@ > <item source="bsdtalk" added="20070901"> > <title>Why I like the CLI</title> > <desc><![CDATA[ >+ <p> > Why I like the CLI: >+ </p> > <ul> >- <li>Uses minimal resources. Less space, less memory, fewer dependencies. >- <li>Transparency. GUI hides internals, limits options. >- <li>Similar between Unix-like systems. GUI tools seem to change every week. >- <li>Remote management. SSH rocks. >- <li>Everything is text. Configs, devices, output. CLI is natural complement. >- <li>Pipes and scripts. One time is hard, a thousand times is easy. >- <li>Only need a few tools. Grep, sed, awk, vi, cron. >- <li>Text config files. Easy to version, share, and comment. >- <li>Requires reading skills instead of clicking skills. >- <li>Much faster when you know what you are doing. >+ <li>Uses minimal resources. Less space, less memory, fewer dependencies.</li> >+ <li>Transparency. GUI hides internals, limits options.</li> >+ <li>Similar between Unix-like systems. GUI tools seem to change every week.</li> >+ <li>Remote management. SSH rocks.</li> >+ <li>Everything is text. Configs, devices, output. CLI is natural complement.</li> >+ <li>Pipes and scripts. One time is hard, a thousand times is easy.</li> >+ <li>Only need a few tools. Grep, sed, awk, vi, cron.</li> >+ <li>Text config files. Easy to version, share, and comment.</li> >+ <li>Requires reading skills instead of clicking skills.</li> >+ <li>Much faster when you know what you are doing.</li> > </ul> > ]]></desc> > <overview>http://bsdtalk.blogspot.com/2007/08/bsdtalk127-why-i-like-cli.html</overview> >@@ -917,22 +921,22 @@ > <title>One Time Passwords</title> > <desc><![CDATA[ > <ul> >- <li> Important when you don't trust the computer you are using, such as a library computer or internet kiosk. >- <li> Available by default in Free/Net/Open BSD. >- <li> FreeBSD uses OPIE, Net/Open use S/Key. >- <li> One time passwords are based on your pass phrase, a non-repeating sequence number, and a seed. >- <li> Initial setup should be done directly on the server. >- <li> "skeyinit" for Net/Open, "opiepasswd -c" for FreeBSD. >- <li> Enter a pass phrase that is not your regular account password. >- <li> Find your current sequence number and seed with "opieinfo" or "skeyinfo", for example: "497 pc5246". >- <li> Generate a list of the next 10 passwords and write them down, using "opiekey -n 10 497 pc5246" or "skey -n 10 497 pc5246". >- <li> When you log in from a remote machine that might have a keystroke logger, you can now use a one time password instead of your regular password. >- <li> For OpenBSD, log in as account:skey, for example "bob:skey", which will cause the system to present the s/key challenge. >- <li> For NetBSD, the system will always present you with the s/key challenge if it is configured for your account, although you can still use your regular password. >- <li> FreeBSD by default will force you to use a one time password if it is configured for your account. >- <li> If you want both OPIE and password authentication, FreeBSD allows you to list trusted networks or hosts in /etc/opieaccess. >- <li> Instead of carrying a list of passwords around, you can use s/key generators on a portable device that you trust, such as a palm pilot. >- <li> For more info, check the man pages. >+ <li> Important when you don't trust the computer you are using, such as a library computer or internet kiosk.</li> >+ <li> Available by default in Free/Net/Open BSD.</li> >+ <li> FreeBSD uses OPIE, Net/Open use S/Key.</li> >+ <li> One time passwords are based on your pass phrase, a non-repeating sequence number, and a seed.</li> >+ <li> Initial setup should be done directly on the server.</li> >+ <li> "skeyinit" for Net/Open, "opiepasswd -c" for FreeBSD.</li> >+ <li> Enter a pass phrase that is not your regular account password.</li> >+ <li> Find your current sequence number and seed with "opieinfo" or "skeyinfo", for example: "497 pc5246".</li> >+ <li> Generate a list of the next 10 passwords and write them down, using "opiekey -n 10 497 pc5246" or "skey -n 10 497 pc5246".</li> >+ <li> When you log in from a remote machine that might have a keystroke logger, you can now use a one time password instead of your regular password.</li> >+ <li> For OpenBSD, log in as account:skey, for example "bob:skey", which will cause the system to present the s/key challenge.</li> >+ <li> For NetBSD, the system will always present you with the s/key challenge if it is configured for your account, although you can still use your regular password.</li> >+ <li> FreeBSD by default will force you to use a one time password if it is configured for your account.</li> >+ <li> If you want both OPIE and password authentication, FreeBSD allows you to list trusted networks or hosts in /etc/opieaccess.</li> >+ <li> Instead of carrying a list of passwords around, you can use s/key generators on a portable device that you trust, such as a palm pilot.</li> >+ <li> For more info, check the man pages.</li> > </ul> > ]]></desc> > <overview>http://bsdtalk.blogspot.com/2007/06/bsdtalk117-one-time-passwords.html</overview> >@@ -1279,20 +1283,19 @@ > <title>Getting to know X</title> > <desc><![CDATA[ > <p> >- Getting to know the X Window System.<br> >+ Getting to know the X Window System.<br /> > Make sure you are in a text only mode. You might > need to change how the system boots, or boot into > single user mode. >- </p><p> >+ </p> > <ul> >- <li>"startx" to make sure X is working right. >- <li>"X" by itself gives the basic grey screen. >- <li>"ctrl" and "alt" and "backspace" keys at the same time will zap X. >- <li>"X & xterm -display :0" >- <li>"xterm -geometry +300+300" >- <li>"twm" or "metacity" >+ <li>"startx" to make sure X is working right.</li> >+ <li>"X" by itself gives the basic grey screen.</li> >+ <li>"ctrl" and "alt" and "backspace" keys at the same time will zap X.</li> >+ <li>"X & xterm -display :0"</li> >+ <li>"xterm -geometry +300+300"</li> >+ <li>"twm" or "metacity"</li> > </ul> >- </p> > ]]></desc> > <overview>http://bsdtalk.blogspot.com/2007/03/bsdtalk104-getting-to-know-x.html</overview> > <tags>bsdtalk,X</tags> >@@ -3202,7 +3205,7 @@ > UKUUG LISA 2006 took place in Durham, UK in March, > 2006. On this page, you can find my slides from > this conference. >- <br> >+ <br /> > OpenBSM is a BSD-licensed implementation of Sun's > Basic Security Module (BSM) API and file format, > and is the foundation of the TrustedBSD audit >@@ -3235,12 +3238,12 @@ > spanning the BSD's. On this page, you can find my > slides from the FreeBSD developer summit and full > conference. >- <br> >+ <br /> > Status report on the TrustedBSD Project: introduction > and status regarding Audit, plus a TODO list; > introduction to the priv(9) work recently merged > to 7.x. >- <br> >+ <br /> > The FreeBSD Project is one of the oldest and most > successful open source operating system projects, > seeing wide deployment across the IT industry. From >@@ -3332,7 +3335,7 @@ > to attend the conference itself, and my talks were > presented in absentia by Poul-Henning Kamp and Ed > Maste, who have my greatest appreciation! >- <br> >+ <br /> > The FreeBSD SMPng Project has spent the past five > years redesigning and reimplementing SMP support > for the FreeBSD operating system, moving from a >@@ -3364,7 +3367,7 @@ > BSDCan 2004 took place at the University of Ottawa > in Ottawa, Canada. On this page, you can find my > slides from the conference. >- <br> >+ <br /> > Robert Watson will describe a variety of pieces of > work done as part of the TrustedBSD Project, including > the TrustedBSD MAC Framework, Audit facilities for >@@ -3781,7 +3784,7 @@ > as an IPv6 router and tunneling system will also > be covered. > </p><p> >- <b>Bio</b><br> >+ <b>Bio</b><br /> > Gene Cronk, CISSP-ISSAP, NSA-IAM is a freelance > network security consultant, specializing in *NIX > solutions. He has been working with computers for >@@ -3862,19 +3865,19 @@ > beat the price. > </p><p> > We plan on covering the following topics: >+ </p> > <ul> >- <li>what it is >- <li>how it works >- <li>where to get it >- <li>how to install it >- <li>how to configure it >- <li>how to customize it for your environment >- <li>where the data is stored >- <li>how to write a basic plug-in >+ <li>what it is</li> >+ <li>how it works</li> >+ <li>where to get it</li> >+ <li>how to install it</li> >+ <li>how to configure it</li> >+ <li>how to customize it for your environment</li> >+ <li>where the data is stored</li> >+ <li>how to write a basic plug-in</li> > </ul> >- </p> > <p> >- <b>About the Speaker</b><br> >+ <b>About the Speaker</b><br /> > Marc Spitzer started as a VAX/VMS operator who > taught himself some basic scripting in DCL to help > me remember how to do procedures that did not come >@@ -3941,7 +3944,7 @@ > surprisingly useful (and fun)- for developers, > sysadmins, and anyone working with BSD systems. > </p><p> >- About the speaker<br> >+ About the speaker<br /> > Isaac Levy, (ike) is a freelance BSD hadker based > in NYC. He runs Diversaform Inc. as an engine to > make his hacking feed itself, (and ike). Diversaform >@@ -3984,7 +3987,7 @@ > of such attacks on servers designed to provide > network intensive services such as HTTP or routing. > </p><p> >- About the speaker<br> >+ About the speaker<br /> > Steven Kreuzer is currently employed by Right Media > as a Systems Administrator focusing on building and > managing high transaction infrastructures around >@@ -4102,7 +4105,7 @@ > the global policy. Our goal is a coherent, > enterprise-wide response to any network threat. > </p><p> >- <b>Biography</b><br> >+ <b>Biography</b><br /> > Matthew Burnside is a Ph.D. student in the Computer > Science department at Columbia University, in New > York. He works for Professor Angelos Keromytis in >@@ -4188,9 +4191,9 @@ > <title>New York City BSD Con 2006: BSD is Dying - A Cautionary Tale of Sex and Greed</title> > <desc><![CDATA[ > <p> >- <b>BSD is Dying</b><br> >- <b>A Cautionary Tale of Sex and Greed</b><br> >- <b>Jason Dixon</b><br> >+ <b>BSD is Dying</b><br /> >+ <b>A Cautionary Tale of Sex and Greed</b><br /> >+ <b>Jason Dixon</b><br /> > <b>October 28, 2006</b> > </p><p> > First and foremost, I would like to thank the unique >@@ -4333,23 +4336,23 @@ > understandable by everyone, (even techs without > UNIX knowledge), and the gear is cheap - this saves > time and money. >- <br> >+ <br /> > In the meantime, the features of your average Linksys > or Netgear router often leave MUCH to be desired, > (https auth management, for one simple example). >- <br> >+ <br /> > Enter m0n0wall and PFSense, 2 BSD based packaged > router/firewall solutions that are as solid and > full featured as you`d expect from any BSD system- > PLUS THEY HAVE HTML WEB INTERFACES FOR MANAGEMENT! >- <br> >+ <br /> > m0n0wall and PFSense become an easy sell in any > small professional enviornment, any competent tech > can manage the network within minutes... At home, > in every hackers home network, they free the hacker > to have trusted tools available, but are as time-saving > as using any Linksys router. >- <br> >+ <br /> > m0n0wall and PFSense are both light and clean, > designed to run on embedded systems- (Soekris, > WRAP), but are monsters when unleashed on even >@@ -4358,7 +4361,7 @@ > to manage the router for your DSL when you get home? > But then doesn`t it bug you to use a chincey Linksys > box? >- <br> >+ <br /> > Ike has been a member of NYC*BUG since we first > launched in January 2004. He is a long-time member > of the Lower East Side Mac Unix User Group. He has >@@ -4384,7 +4387,7 @@ > millions of messages to OKCupid`s subscribers. > Topics covered will be system tuning and sendmail > hacks used in house to achieve massive throughput. >- <br> >+ <br /> > Alfred Perlstein is the CTO of OKcupid.com, the > largest free online dating site. He has been a > FreeBSD hacker for five years, he`s worked on NFS, >@@ -4458,14 +4461,14 @@ > <title>Episode 06 of "FreeBSD for all" uploaded</title> > <desc><![CDATA[ > <p> >- This week we talk about- >+ This week we talk about >+ </p> > <ul> >- <li>Macromedia plugin >- <li>FreeBSD-Linux differences part 2 >- <li>John Baldwin Introduction >- <li>Podcast anouncement - call for co-hosts! >+ <li>Macromedia plugin</li> >+ <li>FreeBSD-Linux differences part 2</li> >+ <li>John Baldwin Introduction</li> >+ <li>Podcast anouncement - call for co-hosts!</li> > </ul> >- </p> > ]]></desc> > <overview>http://freebsdforall.blogspot.com/2006/06/episode-06.html</overview> > <tags>freebsd for all,talk,john baldwin,freebsd vs linux</tags> >@@ -4497,10 +4500,10 @@ > <desc><![CDATA[ > <b>Our Topic:</b> > FreeBSD's ACPI implementation: The details. >- <br> >+ <br /> > <b>Our Speaker:</b> > Nate Lawson, FreeBSD Committer. >- <br> >+ <br /> > <b>Our Topic:</b> > FreeBSD's ACPI implementation is based on code for ACPI released > by Intel. Nate and others wrote the glue code to make this code >@@ -4521,12 +4524,12 @@ > <desc><![CDATA[ > <b>Our Topic:</b> > Network Protocol Development Tools and Techniques for FreeBSD >- <br> >+ <br /> > <b>Our Speaker:</b> > George Neville-Neil, co-author of the "Design and > Implementation of the FreeBSD Operating System" > "daemon" book. >- <br> >+ <br /> > <b>Our Topic:</b> > While computers have gotten faster and more powerful > the tools we use to develop network protocols, such >@@ -4538,10 +4541,10 @@ > developing a library for use in protocol testing. > This talk will cover three topics: > <ol> >- <li>Developing and testing kernel code with Virtual Machines >- <li>Finding good tests for networking code >+ <li>Developing and testing kernel code with Virtual Machines</li> >+ <li>Finding good tests for networking code</li> > <li>Packet Construction Set (PCS) a new library for >- writing protocol tests >+ writing protocol tests</li> > </ol> > ]]></desc> > <tags>bafug,presentation,freebsd,packet construction set,george neville-neil</tags> >@@ -4960,7 +4963,7 @@ > <tags>slides</tags> > </file> > <file> >- <url><![CDATA[http://vp.video.google.com/videodownload?version=0&secureurl=uAAAANDveMbSROZ54T6ovHpX7U46rpfxARh9qN1NEemo6WM7qeDBk-8GxxtGIXTqDRuaHnUUJVcUs0bf539CXM4fqBp6xeb9INr7CRp9JPcKZeT9UsSqDsvdYZhiN7xnPzju7rN379RkfS47rjI8TnCJ1iQdrEqhd8Okw_KJcO7O3Iq00GUYYZaedmq5jrmy1ezFXGAG6KURgb8RV19cCaui1U0zVEKd2ApjzlxRHSi89QBih_VSyFE64p3haNyy76qCVQ&sigh=GK-OoKkmqQWNalgoUzB4HmzA3EI&begin=0&len=3967520&docid=-2979502732836620391]]></url> >+ <url><![CDATA[http://vp.video.google.com/videodownload?version=0&secureurl=uAAAANDveMbSROZ54T6ovHpX7U46rpfxARh9qN1NEemo6WM7qeDBk-8GxxtGIXTqDRuaHnUUJVcUs0bf539CXM4fqBp6xeb9INr7CRp9JPcKZeT9UsSqDsvdYZhiN7xnPzju7rN379RkfS47rjI8TnCJ1iQdrEqhd8Okw_KJcO7O3Iq00GUYYZaedmq5jrmy1ezFXGAG6KURgb8RV19cCaui1U0zVEKd2ApjzlxRHSi89QBih_VSyFE64p3haNyy76qCVQ&sigh=GK-OoKkmqQWNalgoUzB4HmzA3EI&begin=0&len=3967520&amp;docid=-2979502732836620391]]></url> > <length>1:06:07</length> > <desc>Google Video</desc> > <tags>mp4</tags> >@@ -5065,13 +5068,13 @@ > </p> > ]]></desc> > <overview><![CDATA[ >- http://video.google.com/videoplay?docid=-4400856579609253323&total=1&start=0&num=10&so=1&type=search&plindex=0 >+ http://video.google.com/videoplay?docid=-4400856579609253323&total=1&start=0&num=10&so=1&type=search&plindex=0 > ]]></overview> > <tags>google,presentation,freebsd,freebsd project,robert watson</tags> > <files> > <file> > <url><![CDATA[ >- http://vp.video.google.com/videodownload?version=0&secureurl=uAAAAMnsi51RXPgEl7zGKAWEdrKWWWjUJ5q602Nvd2V5YwaDTyCIRM5k8Rq4nUZipL4tHODLiuiSxq34qoHi8TiEyXrdjKI8_WN0fXSKQYyrrlrWKMWd5Vw7AuXiu_B0uHEadc-fR6np2MP0ItJbT-Zx-J0-GCx0Mya2fQLoLG2pb55veUzTepcJz2RsKjNaGM-XUHpxqTZoIh0rggQIkNp-vZzghRb_8JQanc00ChX2CYB3LogDCHj1hpnFFmFd-2sEEg&sigh=ZrfuqGS7FqWRpFYVklZH1V4LRj4&begin=0&len=3053322&docid=-4400856579609253323 >+ http://vp.video.google.com/videodownload?version=0&secureurl=uAAAAMnsi51RXPgEl7zGKAWEdrKWWWjUJ5q602Nvd2V5YwaDTyCIRM5k8Rq4nUZipL4tHODLiuiSxq34qoHi8TiEyXrdjKI8_WN0fXSKQYyrrlrWKMWd5Vw7AuXiu_B0uHEadc-fR6np2MP0ItJbT-Zx-J0-GCx0Mya2fQLoLG2pb55veUzTepcJz2RsKjNaGM-XUHpxqTZoIh0rggQIkNp-vZzghRb_8JQanc00ChX2CYB3LogDCHj1hpnFFmFd-2sEEg&sigh=ZrfuqGS7FqWRpFYVklZH1V4LRj4&begin=0&len=3053322&docid=-4400856579609253323 > ]]></url> > <size>321 Mb</size> > <length>51 minutes</length> >@@ -5728,7 +5731,7 @@ > category in the FreeBSD ports tree</a> and has > become the maintainer of over 20 of the hamradio > ports. She also contributed to the <a >- href="http://www.hamsexy.com/wiki/index.php?title=FreeBSD&redirect=no">FreeBSD >+ href="http://www.hamsexy.com/wiki/index.php?title=FreeBSD&redirect=no">FreeBSD > entry at Hampedia</a>, the Wikipedia for ham > operators. > </p><p> >@@ -6057,7 +6060,7 @@ > <tags>bsdcan,bsdcan2008,devsummit,devsummit2008,freebsd,embedded,rafal jaworowski</tags> > <files> > <file> >- <url><![CDATA[http://wiki.freebsd.org/200805DevSummit?action=AttachFile&do=get&target=devsummit-200805-embedded_summary.pdf]]></url> >+ <url><![CDATA[http://wiki.freebsd.org/200805DevSummit?action=AttachFile&do=get&target=devsummit-200805-embedded_summary.pdf]]></url> > <length>6 pages</length> > <size>58 Kb</size> > <desc>PDF file</desc> >@@ -6075,7 +6078,7 @@ > <tags>bsdcan,bsdcan2008,devsummit,devsummit2008,freebsd,smp,robert watson</tags> > <files> > <file> >- <url><![CDATA[http://wiki.freebsd.org/200805DevSummit?action=AttachFile&do=get&target=20080515-stack-parallelism.pdf]]></url> >+ <url><![CDATA[http://wiki.freebsd.org/200805DevSummit?action=AttachFile&do=get&target=20080515-stack-parallelism.pdf]]></url> > <length>8 pages</length> > <size>70 Kb</size> > <desc>PDF file</desc> >@@ -6093,7 +6096,7 @@ > <tags>bsdcan,bsdcan2008,devsummit,devsummit2008,freebsd,portmgr,erwin lansing</tags> > <files> > <file> >- <url><![CDATA[http://wiki.freebsd.org/200805DevSummit?action=AttachFile&do=get&target=portmgr-BSDCan2008.pdf]]></url> >+ <url><![CDATA[http://wiki.freebsd.org/200805DevSummit?action=AttachFile&do=get&target=portmgr-BSDCan2008.pdf]]></url> > <length>14 pages</length> > <size>146 Kb</size> > <desc>PDF file</desc> >@@ -6240,20 +6243,22 @@ > PBI installer for PC-BSD desktops. > </p><p> > The presentation will be divided into two main sections: >- <br> >+ <br /> > The Push Button Installer (PBI) Format >+ </p> > <ul> >- <li>The basics of the PBI format >- <li>The PBI format construction >- <li>Add & Remove scripting support within PBI >+ <li>The basics of the PBI format</li> >+ <li>The PBI format construction</li> >+ <li>Add & Remove scripting support within PBI</li> > </ul> >+ <p> > Building PBIs from Ports "Auto-magically" >+ </p> > <ul> >- <li>The PBI build server & standalone software >- <li>Module creation & configuration >- <li>Converting messy ports into PBIs >+ <li>The PBI build server & standalone software</li> >+ <li>Module creation & configuration</li> >+ <li>Converting messy ports into PBIs</li> > </ul> >- </p> > ]]></desc> > <tags>bsdcan,bsdcan2008,slides,pc-bsd,ports,pbi,kris moore</tags> > <files> >@@ -6478,7 +6483,7 @@ > <i>Beer, prizes, secrets, Works In Progress</i> > <p> > The traditional closing... >- <br> >+ <br /> > with some new and interesting twists. Sleep in if > you must, but don't miss this session. > </p> >@@ -6637,40 +6642,39 @@ > cover the in-kernel debugger DDB and the external > debugger kgdb which is used to perform post-mortem > analysis on kernel crash dumps. >- </p><p> >+ </p> > <h2>Introduction to Debugging the FreeBSD Kernel</h2> > <ul> > <li>Basic crash messages, what a crash looks like > <ul> >- <li>typical panic() invocation >- <li>page fault example >- </ul> >+ <li>typical panic() invocation</li> >+ <li>page fault example</li> >+ </ul></li> > <li>"live" debugging with DDB > <ul> >- <li>stack traces >- <li>ps >- <li>deadlock examples >- <li>show lockchain >- <li>show sleepchain >- <li>Adding new DDB commands >- </ul> >+ <li>stack traces</li> >+ <li>ps</li> >+ <li>deadlock examples</li> >+ <li>show lockchain</li> >+ <li>show sleepchain</li> >+ <li>Adding new DDB commands</li> >+ </ul></li> > <li>KGDB > <ul> >- <li>inspecting processes and threads >- <li>working with kernel modules >- <li>using scripts to extend >- </ul> >+ <li>inspecting processes and threads</li> >+ <li>working with kernel modules</li> >+ <li>using scripts to extend</li> >+ </ul></li> > <li>examining crashdumps using utilities > <ul> >- <li>ps, netstat, etc. >- </ul> >+ <li>ps, netstat, etc.</li> >+ </ul></li> > <li>debugging strategies > <ul> >- <li>kernel crashes >- <li>system hangs >- </ul> >+ <li>kernel crashes</li> >+ <li>system hangs</li> >+ </ul></li> > </ul> >- </p> > ]]></desc> > <tags>bsdcan,bsdcan2008,slides,paper,debugging,freebsd,john baldwin</tags> > <files> >@@ -6715,18 +6719,18 @@ > This talk discusses the port of the DTrace facility > to FreeBSD and demonstrates examples on a live > FreeBSD system. >+ </p> > <ul> >- <li>Introduction to the D language - probes, predicates and actions. >- <li>dtrace(8) and libdtrace - the userland side of the DTrace story. >- <li>The DTrace kernel module, it's ioctl interface to userland and the provider infrastructure in the kernel. >- <li>DTrace kernel hooks and the problem of code licensed under Sun's CDDL. >- <li>What does a DTrace probe actually do? >- <li>DTrace safety and how it is implemented. >- <li>Build system changes to add CTF (Compact C Type Format) data to objects, shared libraries and executables. >- <li>The DTrace test suite. >- <li>A brief list of things to do to port the DTrace facility to other BSD-derived operating systems. >+ <li>Introduction to the D language - probes, predicates and actions.</li> >+ <li>dtrace(8) and libdtrace - the userland side of the DTrace story.</li> >+ <li>The DTrace kernel module, it's ioctl interface to userland and the provider infrastructure in the kernel.</li> >+ <li>DTrace kernel hooks and the problem of code licensed under Sun's CDDL.</li> >+ <li>What does a DTrace probe actually do?</li> >+ <li>DTrace safety and how it is implemented.</li> >+ <li>Build system changes to add CTF (Compact C Type Format) data to objects, shared libraries and executables.</li> >+ <li>The DTrace test suite.</li> >+ <li>A brief list of things to do to port the DTrace facility to other BSD-derived operating systems.</li> > </ul> >- </p> > ]]></desc> > <tags>bsdcan,bsdcan2008,slides,dtrace,freebsd,john birrell</tags> > <files> >@@ -6889,12 +6893,12 @@ > to the user. Then we will shift gears and discuss > the extended socket API that is available to SCTP > users and will cover such items as: >+ </p> > <ul> >- <li>The two socket programming models >- <li>Extended system calls that support the SCTP feature set. >- <li>What model may fit you best >+ <li>The two socket programming models</li> >+ <li>Extended system calls that support the SCTP feature set.</li> >+ <li>What model may fit you best</li> > </ul> >- </p> > ]]></desc> > <tags>bsdcan,bsdcan2008,abstract,freebsd,sctp,randall stewart</tags> > <files> >@@ -6957,7 +6961,7 @@ > <desc><![CDATA[ > <h1>Opening session</h1> > Welcome to BSDCan 2008 >- <br> >+ <br /> > Traditional greetings > ]]></desc> > <tags>bsdcan,bsdcan2008,slides,dan langille</tags> >@@ -6976,8 +6980,8 @@ > <title>BSDCan-2007 - Videos</title> > <overview>http://people.freebsd.org/~julian/BSDCan-2007/</overview> > <desc><![CDATA[ >- The 2007 BSDCan conference<br> >- Kirk McKusick - Code Reading of Locally-Connected Sockets<br> >+ The 2007 BSDCan conference<br /> >+ Kirk McKusick - Code Reading of Locally-Connected Sockets<br /> > ]]></desc> > <tags>bsdcan,bsdcan2007,talks,kirk mckusick</tags> > <files> >@@ -6995,8 +6999,8 @@ > <title>BSDCan-2007 - Videos</title> > <overview>http://people.freebsd.org/~julian/BSDCan-2007/</overview> > <desc><![CDATA[ >- The 2007 BSDCan conference<br> >- Erwin Lansing - The state of the FreeBSD Ports Tree<br> >+ The 2007 BSDCan conference<br /> >+ Erwin Lansing - The state of the FreeBSD Ports Tree<br /> > ]]></desc> > <tags>bsdcan,bsdcan2007,talks,erwin lansing,ports</tags> > <files> >@@ -7032,8 +7036,8 @@ > <title>BSDCan-2007 - Videos</title> > <overview>http://people.freebsd.org/~julian/BSDCan-2007/</overview> > <desc><![CDATA[ >- The 2007 BSDCan conference<br> >- Kris Kennaway - Scalability Update 2007<br> >+ The 2007 BSDCan conference<br /> >+ Kris Kennaway - Scalability Update 2007<br /> > Progress on FreeBSD SMP performance and scalablity > since BSDCan Dev Summit 2006 > ]]></desc> >@@ -7053,7 +7057,7 @@ > <title>BSDCan-2007 - Videos</title> > <overview>http://people.freebsd.org/~julian/BSDCan-2007/</overview> > <desc><![CDATA[ >- The 2007 BSDCan conference<br> >+ The 2007 BSDCan conference<br /> > Qing Li - Routing, ARP and ND6 > ]]></desc> > <tags>bsdcan,bsdcan2007,talks,qing li,routing arp and nd6</tags> >@@ -7072,7 +7076,7 @@ > <title>BSDCan-2007 - Videos</title> > <overview>http://people.freebsd.org/~julian/BSDCan-2007/</overview> > <desc><![CDATA[ >- The 2007 BSDCan conference<br> >+ The 2007 BSDCan conference<br /> > Marko Zec explains the vimage architecture > ]]></desc> > <tags>bsdcan,bsdcan2007,talks,marko zec,vimage</tags> >@@ -7091,7 +7095,7 @@ > <title>BSDCan-2007 - Videos</title> > <overview>http://people.freebsd.org/~julian/BSDCan-2007/</overview> > <desc><![CDATA[ >- The 2007 BSDCan conference<br> >+ The 2007 BSDCan conference<br /> > Max Laier - PFIL, firewalls and locking > ]]></desc> > <tags>bsdcan,bsdcan2007,talks,max laier,ipf</tags> >@@ -7202,7 +7206,7 @@ > <desc><![CDATA[ > "FreeBSD Portsnap - > What (it is), Why (it was written), and How (it works)" >- by Colin Percival (cperciva@FreeBSD.org)<br> >+ by Colin Percival (cperciva@FreeBSD.org)<br /> > (Note: use ^L to get back in non-fullscreen mode) > ]]></desc> > <tags>bsdcan,bsdcan2007,pdf,portsnap,freebsd,colin percival</tags> >Index: multimedia.pl >=================================================================== >RCS file: /home/dcvs/www/en/multimedia/multimedia.pl,v >retrieving revision 1.2 >diff -u -r1.2 multimedia.pl >--- multimedia.pl 30 May 2008 15:22:01 -0000 1.2 >+++ multimedia.pl 10 Jun 2008 13:10:34 -0000 >@@ -2,13 +2,14 @@ > > # > # $Id$ >-# $FreeBSD: www/en/multimedia/multimedia.pl,v 1.2 2008/05/30 15:22:01 remko Exp $ >+# $FreeBSD$ > # > > use strict; > use XML::Parser; > use Data::Dumper; > use POSIX; >+use IO::File; > > my @months = ( > "", "January", "February", "March", >@@ -17,7 +18,9 @@ > "November", "December" > ); > >-my @createdfiles = (); >+my @createdhtml = (); >+my @createdsgml = (); >+my @createdxml = (); > > my @tree = (); > my @values = (); >@@ -28,6 +31,7 @@ > my %sources; > my $sid = ""; > my %tags; >+my $tag = ""; > > sub addtags { > my $tags = shift; >@@ -78,12 +82,23 @@ > && $treeindex == 5) { > $items[$ci]{fc}++; > } >+ >+ if ($treeindex == 3 && >+ $element eq "tags") { >+ $tag = ""; >+ } > } > > sub xml_end { > my $expat = shift; > my $element = shift; > >+ if ($treeindex == 3 && >+ $element eq "tags") { >+ @{$items[$ci]{tags}} = split(/,/, $tag); >+ addtags($tag); >+ } >+ > $values[$treeindex] = (); > $treeindex--; > } >@@ -122,8 +137,7 @@ > return; > } > if ($tree[3] eq "tags") { >- @{$items[$ci]{tags}} = split(/,/, $value); >- addtags($value); >+ $tag .= $value; > return; > } > >@@ -240,92 +254,110 @@ > # HTML overview output > # > sub print_htmlitem { >+ my $fhandle = shift; > my $item = shift; > my %item = %{$item}; > my $source = shift; > my %source = %{$source}; > >- print FOUT "<li><p>"; >+ print $fhandle "<li><p>"; > if (defined $item{overview}) { >- print FOUT "<a href=\"$item{overview}\">$item{title}</a>\n"; >+ print $fhandle "<a href=\"$item{overview}\">$item{title}</a>\n"; > } else { > my %media = %{$item{files}{0}}; >- print FOUT "<a href=\"$media{url}\">$item{title}</a>\n"; >+ print $fhandle "<a href=\"$media{url}\">$item{title}</a>\n"; > if (defined $media{size} || defined $media{length}) { > my $s = ""; >- print FOUT "("; >+ print $fhandle "("; > if (defined $media{size}) { >- print FOUT "$media{size}"; >+ print $fhandle "$media{size}"; > $s = ", "; > } > if (defined $media{length}) { >- print FOUT "$s$media{length}"; >+ print $fhandle "$s$media{length}"; > $s = ", "; > } >- print FOUT ")"; >+ print $fhandle ")"; > } > } >- print FOUT "<br>Source: <a href=\"", $source{url}, "\">", >+ print $fhandle "<br>Source: <a href=\"", $source{url}, "\">", > $source{name}, "</a><br>\n"; >- print FOUT "Added: ", >+ print $fhandle "Added: ", > substr($item{added}, 6, 2), " ", > $months[substr($item{added}, 4, 2)], " ", > substr($item{added}, 0, 4), "<br>\n"; > >- print FOUT "Tags: "; >+ print $fhandle "Tags: "; > { > my $first = 1; > foreach my $t (@{$item{tags}}) { >- print FOUT ", " if (!$first); >+ print $fhandle ", " if (!$first); > # join(", ", @{$item{$t}}), "<br>\n"; > my $th = $t; > $th =~ s/ /_/g; >- print FOUT "<a href=\"multimedia-tag-$th.html\">$t</a>"; >+ print $fhandle "<a href=\"tag-$th.html\">$t</a>"; > $first = 0; > } > } >- print FOUT "<br>\n"; >+ print $fhandle "<br>\n"; > > if (defined $item{overview} && defined $item{files}) { > my $c = 0; > foreach my $m (keys(%{$item{files}})) { > my %file = %{$item{files}{$m}}; >- print FOUT ", " if ($c++); >+ print $fhandle ", " if ($c++); > if (defined $item{prefix}) { >- print FOUT "<a href=\"$item{prefix}/$file{url}\">$file{desc}</a>"; >+ print $fhandle "<a href=\"$item{prefix}/$file{url}\">$file{desc}</a>"; > } else { >- print FOUT "<a href=\"$file{url}\">$file{desc}</a>"; >+ print $fhandle "<a href=\"$file{url}\">$file{desc}</a>"; > } > if (defined $file{size} || defined $file{length}) { > my $s = ""; >- print FOUT " ("; >+ print $fhandle " ("; > if (defined $file{size}) { >- print FOUT "$file{size}"; >+ print $fhandle "$file{size}"; > $s = ", "; > } > if (defined $file{length}) { >- print FOUT "$s$file{length}"; >+ print $fhandle "$s$file{length}"; > $s = ", "; > } >- print FOUT ")"; >+ print $fhandle ")"; > } > } >- print FOUT "<br>\n"; >+ print $fhandle "<br>\n"; > } >- print FOUT "$item{desc}\n"; >+ print $fhandle "</p>\n"; >+ print $fhandle "$item{desc}\n"; >+ print $fhandle "</li>\n"; > } > { >- $createdfiles[$#createdfiles+1] = "multimedia.html"; >- open(FOUT, ">multimedia.html"); >+ $createdhtml[$#createdhtml+1] = "multimedia.html"; >+ $createdsgml[$#createdsgml+1] = "multimedia.sgml"; >+ my $fhtml = new IO::File; >+ my $fsgml = new IO::File; >+ >+ open($fhtml, ">multimedia.html"); > open(FIN, "multimedia.html.pre"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; > open(FIN, "multimedia.html.intro"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- print FOUT "<h2 id=\"latest\">Newest resources</h2>\n"; >+ print $fhtml @lines; >+ print $fhtml "<h2 id=\"latest\">Newest resources</h2>\n"; >+ >+ open($fsgml, ">multimedia.sgml"); >+ open(FIN, "multimedia.sgml.pre"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ open(FIN, "multimedia.sgml.intro"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ print $fsgml "<h2 id=\"latest\">Newest resources</h2>\n"; > > my $month = ""; > >@@ -333,38 +365,64 @@ > my %item = %{$items[$order]}; > my %source = %{$sources{$item{source}}}; > if (substr($item{added}, 0, 6) ne $month) { >- print FOUT "</ul><h2>", $months[substr($item{added}, 4, 2)+0], " ", substr($item{added}, 0, 4), "</h2><ul>"; >+ if ($month ne "") { >+ print $fhtml "</ul>\n"; >+ print $fsgml "</ul>\n"; >+ } >+ print $fhtml "<h2>", $months[substr($item{added}, 4, 2)+0], " ", substr($item{added}, 0, 4), "</h2><ul>"; >+ print $fsgml "<h2>", $months[substr($item{added}, 4, 2)+0], " ", substr($item{added}, 0, 4), "</h2><ul>"; > $month = substr($item{added}, 0, 6); > } > >- print_htmlitem(\%item, \%source); >+ print_htmlitem($fhtml, \%item, \%source); >+ print_htmlitem($fsgml, \%item, \%source); > } > >- print FOUT "</ul>\n"; >- >+ print $fhtml "</ul>\n"; > open(FIN, "multimedia.html.post"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; >+ close($fhtml); > >- close(FOUT); >+ print $fsgml "</ul>\n"; >+ open(FIN, "multimedia.sgml.post"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ close($fsgml); > } > > # > # HTML cloud output > # > { >- $createdfiles[$#createdfiles+1] = "multimedia-tags.html"; >- open(FOUT, ">multimedia-tags.html"); >+ $createdhtml[$#createdhtml+1] = "tags.html"; >+ $createdsgml[$#createdsgml+1] = "tags.sgml"; >+ my $fhtml = new IO::File; >+ my $fsgml = new IO::File; >+ open($fhtml, ">tags.html"); >+ open($fsgml, ">tags.sgml"); >+ > open(FIN, "multimedia.html.pre"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; > open(FIN, "multimedia.html.intro"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- print FOUT "<h2 id=\"latest\">Tags</h2>\n"; >+ print $fhtml @lines; >+ print $fhtml "<h2 id=\"latest\">Tags</h2>\n"; >+ >+ open(FIN, "multimedia.sgml.pre"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ open(FIN, "multimedia.sgml.intro"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ print $fsgml "<h2 id=\"latest\">Tags</h2>\n"; > > my $month = ""; > >@@ -377,16 +435,23 @@ > foreach my $tag (sort size(keys(%tags))) { > my $ftag = $tag; > $ftag =~ s/ /_/g; >- print FOUT "<font style=\"font-size:${size}pt\"><a href=\"multimedia-tag-$ftag.html\">$tag</a></font>\n"; >+ print $fhtml "<font style=\"font-size:${size}pt\"><a href=\"tag-$ftag.html\">$tag</a></font>\n"; >+ print $fsgml "<font style=\"font-size:${size}pt\"><a href=\"tag-$ftag.html\">$tag</a></font>\n"; > $size-- if ($c++%10 == 0 && $size > 2); > } > > open(FIN, "multimedia.html.post"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; > >- close(FOUT); >+ open(FIN, "multimedia.sgml.post"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ >+ close($fhtml); >+ close($fsgml); > } > > # >@@ -394,21 +459,37 @@ > # > { > foreach my $tag (keys(%tags)) { >+ my $fhtml = new IO::File; >+ my $fsgml = new IO::File; >+ > my $ftag = $tag; > $ftag =~ s/ /_/g; >- $createdfiles[$#createdfiles+1] = "multimedia-tag-$ftag.html"; >- open(FOUT, ">multimedia-tag-$ftag.html"); >+ $createdhtml[$#createdhtml+1] = "tag-$ftag.html"; >+ $createdsgml[$#createdsgml+1] = "tag-$ftag.sgml"; >+ open($fhtml, ">tag-$ftag.html"); >+ open($fsgml, ">tag-$ftag.sgml"); > > open(FIN, "multimedia.html.pre"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; > open(FIN, "multimedia.html.intro"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- print FOUT "<h2 id=\"latest\">Tag: $tag</h2>\n"; >- print FOUT "<ul>\n"; >+ print $fhtml @lines; >+ print $fhtml "<h2 id=\"latest\">Tag: $tag</h2>\n"; >+ print $fhtml "<ul>\n"; >+ >+ open(FIN, "multimedia.sgml.pre"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ open(FIN, "multimedia.sgml.intro"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ print $fsgml "<h2 id=\"latest\">Tag: $tag</h2>\n"; >+ print $fsgml "<ul>\n"; > > foreach my $item (@items) { > my %item = %{$item}; >@@ -435,16 +516,25 @@ > } > } > >- print_htmlitem(\%item, \%source) if ($found); >+ print_htmlitem($fhtml, \%item, \%source) if ($found); >+ print_htmlitem($fsgml, \%item, \%source) if ($found); > > } > >- print FOUT "</ul>\n"; >+ print $fhtml "</ul>\n"; > open(FIN, "multimedia.html.post"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- close(FOUT); >+ print $fhtml @lines; >+ close($fhtml); >+ >+ print $fsgml "</ul>\n"; >+ open(FIN, "multimedia.sgml.post"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ close($fsgml); >+ > } > } > >@@ -452,18 +542,35 @@ > # HTML all-sources output > # > { >- $createdfiles[$#createdfiles+1] = "multimedia-sources.html"; >- open(FOUT, ">multimedia-sources.html"); >+ my $fhtml = new IO::File; >+ my $fsgml = new IO::File; >+ >+ $createdhtml[$#createdhtml+1] = "sources.html"; >+ $createdsgml[$#createdsgml+1] = "sources.sgml"; >+ open($fhtml, ">sources.html"); >+ open($fsgml, ">sources.sgml"); >+ > open(FIN, "multimedia.html.pre"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; > open(FIN, "multimedia.html.intro"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- print FOUT "<h2 id=\"latest\">Sources</h2>\n"; >- print FOUT "<ul>\n"; >+ print $fhtml @lines; >+ print $fhtml "<h2 id=\"latest\">Sources</h2>\n"; >+ print $fhtml "<ul>\n"; >+ >+ open(FIN, "multimedia.sgml.pre"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ open(FIN, "multimedia.sgml.intro"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ print $fsgml "<h2 id=\"latest\">Sources</h2>\n"; >+ print $fsgml "<ul>\n"; > > my $lastsource = ""; > foreach my $item (@site_order) { >@@ -471,21 +578,33 @@ > next if ($lastsource eq $item{source}); > $lastsource = $item{source}; > >- print FOUT "<li><a href=\"multimedia-source-$lastsource.html\">", $sources{$item{source}}{name}, "</a>\n"; >+ print $fhtml "<li><a href=\"source-$lastsource.html\">", $sources{$item{source}}{name}, "</a>\n"; >+ print $fsgml "<li><a href=\"source-$lastsource.html\">", $sources{$item{source}}{name}, "</a>\n"; > } > >- print FOUT "</ul>\n"; >+ print $fhtml "</ul>\n"; > open(FIN, "multimedia.html.post"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- close(FOUT); >+ print $fhtml @lines; >+ close($fhtml); >+ >+ print $fsgml "</ul>\n"; >+ open(FIN, "multimedia.sgml.post"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ close($fsgml); >+ > } > > # > # HTML per-source output > # > { >+ my $fhtml = new IO::File; >+ my $fsgml = new IO::File; >+ > my $lastsource = ""; > foreach my $item (@site_order) { > my %item = %{$item}; >@@ -493,36 +612,67 @@ > if ($lastsource ne $item{source}) { > > if ($lastsource) { >- print FOUT "</ul>\n"; >+ print $fhtml "</ul>\n"; >+ print $fsgml "</ul>\n"; >+ > open(FIN, "multimedia.html.post"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- close(FOUT); >+ print $fhtml @lines; >+ close($fhtml); >+ >+ open(FIN, "multimedia.sgml.post"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ close($fsgml); >+ > } >- $createdfiles[$#createdfiles+1] = "multimedia-source-$item{source}.html"; >- open(FOUT, ">multimedia-source-$item{source}.html"); >+ $createdhtml[$#createdhtml+1] = "source-$item{source}.html"; >+ $createdsgml[$#createdsgml+1] = "source-$item{source}.sgml"; >+ open($fhtml, ">source-$item{source}.html"); >+ open($fsgml, ">source-$item{source}.sgml"); >+ > open(FIN, "multimedia.html.pre"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; > open(FIN, "multimedia.html.intro"); > @lines = <FIN>; > close(FIN); >- print FOUT @lines; >+ print $fhtml @lines; >+ >+ open(FIN, "multimedia.sgml.pre"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ open(FIN, "multimedia.sgml.intro"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ > $lastsource = $item{source}; >- print FOUT "<h2 id=\"latest\">$source{name}</h2>\n"; >- print FOUT "<ul>\n"; >+ print $fhtml "<h2 id=\"latest\">$source{name}</h2>\n<ul>\n"; >+ print $fsgml "<h2 id=\"latest\">$source{name}</h2>\n<ul>\n"; > } >- print_htmlitem(\%item, \%source); >+ print_htmlitem($fhtml, \%item, \%source); >+ print_htmlitem($fsgml, \%item, \%source); > > } >- print FOUT "</ul>\n"; >+ print $fhtml "</ul>\n"; >+ print $fsgml "</ul>\n"; >+ > open(FIN, "multimedia.html.post"); > my @lines = <FIN>; > close(FIN); >- print FOUT @lines; >- close(FOUT); >+ print $fhtml @lines; >+ close($fhtml); >+ >+ open(FIN, "multimedia.sgml.post"); >+ @lines = <FIN>; >+ close(FIN); >+ print $fsgml @lines; >+ close($fsgml); > } > > # >@@ -579,14 +729,14 @@ > print FOUT "<pubDate>$date</pubDate>\n"; > print FOUT "<enclosure url=\"", htmlentities($file{url}), "\" length=\"1\" type=\"application/octet-stream\" />\n"; > print FOUT "<description>"; >- print FOUT htmlentities("$item{title}<br>From: $source{name}<br>"); >- print FOUT htmlentities("Tags: $tags<br>\n"); >+ print FOUT htmlentities("$item{title}<br/>From: $source{name}<br/>"); >+ print FOUT htmlentities("Tags: $tags<br/>\n"); > print FOUT htmlentities("$item{desc}"); > print FOUT "</description>\n"; > print FOUT "</item>\n"; > } > >- $createdfiles[$#createdfiles+1] = "multimedia.xml"; >+ $createdxml[$#createdxml+1] = "multimedia.xml"; > open(FOUT, ">multimedia.xml"); > > my @s = stat("multimedia-input.xml"); >@@ -624,8 +774,14 @@ > # Created files > # > { >- open(FOUT, ">multimedia.created"); >- foreach my $f (@createdfiles) { >+ open(FOUT, ">multimedia.html.created"); >+ foreach my $f (@createdhtml) { >+ print FOUT "$f\n"; >+ } >+ close(FOUT); >+ >+ open(FOUT, ">multimedia.sgml.created"); >+ foreach my $f (@createdsgml) { > print FOUT "$f\n"; > } > close(FOUT); >Index: multimedia.sgml.intro >=================================================================== >RCS file: multimedia.sgml.intro >diff -N multimedia.sgml.intro >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ multimedia.sgml.intro 10 Jun 2008 13:10:34 -0000 >@@ -0,0 +1,24 @@ >+<h1>FreeBSD Multimedia Resources List</h1> >+<p> >+Links on this page refer to multimedia resources (podcast, vodcast, >+audio recordings, video recordings, photos) related to FreeBSD or >+of interest for FreeBSD users. >+</p> >+ >+<p> >+This list is available as <a href="multimedia.html">chronological >+overview</a>, as a <a href="tags.html">tag cloud</a> and >+via <a href="sources.html">the sources</a>. >+</p> >+ >+<p> >+This list is also available as RSS feed <a href="multimedia.xml"><img >+src="http://www.freebsd.org/layout/images/ico_rss.png" alt="RSS Feed"></a> >+</p> >+ >+<p> >+If you know any resources not listed here, or notice any dead links, >+please send details to >+<a href="mailto:edwin\@FreeBSD.org">Edwin Groothuis</a> so that >+it can be included or updated. >+</p> >Index: multimedia.sgml.post >=================================================================== >RCS file: multimedia.sgml.post >diff -N multimedia.sgml.post >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ multimedia.sgml.post 10 Jun 2008 13:10:35 -0000 >@@ -0,0 +1,4 @@ >+ &footer; >+ </body> >+</html> >+ >Index: multimedia.sgml.pre >=================================================================== >RCS file: multimedia.sgml.pre >diff -N multimedia.sgml.pre >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ multimedia.sgml.pre 10 Jun 2008 13:10:35 -0000 >@@ -0,0 +1,8 @@ >+<!DOCTYPE HTML PUBLIC "-//FreeBSD//DTD HTML 4.01 Transitional-Based Extension//EN" [ >+<!ENTITY date "$FreeBSD$"> >+<!ENTITY title "FreeBSD Multimedia"> >+<!ENTITY % navinclude.about "INCLUDE"> >+<!ENTITY base ".."> >+]> >+<html> >+ &header;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 124447
: 87786