mirror of
git://slackware.nl/current.git
synced 2024-12-25 09:58:55 +01:00
Slackware 13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
This commit is contained in:
commit
5a12e7c134
3679 changed files with 803683 additions and 0 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
LATEST_ADDITION_TO_CURRENT
|
214
ANNOUNCE.13_0
Normal file
214
ANNOUNCE.13_0
Normal file
|
@ -0,0 +1,214 @@
|
||||||
|
|
||||||
|
Yes it's that time again! After many months of development and careful
|
||||||
|
testing, we are proud to announce the release of Slackware version 13.0!
|
||||||
|
|
||||||
|
We are sure you'll agree that the improvements made in this release more
|
||||||
|
than warrant the major version bump up from the 12.x series. We've done our
|
||||||
|
best to bring the latest technology to Slackware while still maintaining the
|
||||||
|
stability and security that you have come to expect. Slackware is well known
|
||||||
|
for it's simplicity and the fact that we try to bring software to you in the
|
||||||
|
condition that the authors intended.
|
||||||
|
|
||||||
|
Probably the biggest change is the addition of an official 64-bit port.
|
||||||
|
While the 32-bit (x86) version continues to be developed, this release brings
|
||||||
|
to you a complete port to 64-bit (x86_64). We know that many of you have
|
||||||
|
been waiting eagerly for this, and once you try it you'll see it was well
|
||||||
|
worth the wait.
|
||||||
|
|
||||||
|
Slackware 13.0 brings many updates and enhancements, among which you'll find
|
||||||
|
two of the most advanced desktop environments available today: Xfce 4.6.1,
|
||||||
|
a fast and lightweight but visually appealing and easy to use desktop
|
||||||
|
environment, and KDE 4.2.4, a recent stable release of the new 4.2.x series
|
||||||
|
of the award-winning K Desktop Environment. We continue to make use of HAL
|
||||||
|
(Hardware Abstraction Layer) which allows the system administrator to grant
|
||||||
|
use of various hardware devices according to users' group membership so that
|
||||||
|
they will be able to use items such as USB flash sticks, USB cameras that
|
||||||
|
appear like USB storage, portable hard drives, CD and DVD media, MP3 players,
|
||||||
|
and more, all without requiring sudo, the mount or umount command. Just plug
|
||||||
|
and play. Properly set up, Slackware's desktop should be suitable for any
|
||||||
|
level of Linux experience.
|
||||||
|
|
||||||
|
Slackware uses the 2.6.29.6 kernel bringing you advanced performance
|
||||||
|
features such as journaling filesystems, SCSI and ATA RAID volume support,
|
||||||
|
SATA support, Software RAID, LVM (the Logical Volume Manager), and
|
||||||
|
encrypted filesystems. Kernel support for X DRI (the Direct Rendering
|
||||||
|
Interface) brings high-speed hardware accelerated 3D graphics to Linux.
|
||||||
|
|
||||||
|
There are two kinds of kernels in Slackware -- the huge kernels, which
|
||||||
|
contain support for just about every driver in the Linux kernel. These are
|
||||||
|
primarily intended to be used for installation, but there's no real reason
|
||||||
|
that you couldn't continue to run them after you have installed. The
|
||||||
|
other type of kernel is the generic kernel, in which nearly every driver
|
||||||
|
is built as a module. To use a generic kernel you'll need to build an
|
||||||
|
initrd to load your filesystem module and possibly your drive controller
|
||||||
|
or other drivers needed at boot time, configure LILO to load the initrd at
|
||||||
|
boot, and reinstall LILO. See the docs in /boot after installing for more
|
||||||
|
information. Slackware's Linux kernels come in both SMP and non-SMP types
|
||||||
|
now. The SMP kernel supports multiple processors, multi-core CPUs,
|
||||||
|
HyperThreading, and about every other optimization available. In our own
|
||||||
|
testing this kernel has proven to be fast, stable, and reliable. We
|
||||||
|
recommend using the SMP kernel even on single processor machines if it
|
||||||
|
will run on them.
|
||||||
|
|
||||||
|
From the beginning, Slackware has offered a stable and secure Linux
|
||||||
|
distribution for UNIX veterans as well as an easy-to-use system for
|
||||||
|
beginners. Slackware includes everything you'll need to run a powerful
|
||||||
|
server or workstation. Each Slackware package follows the setup and
|
||||||
|
installation instructions from its author(s) as closely as possible,
|
||||||
|
offering you the most stable and easily expandable setup.
|
||||||
|
|
||||||
|
Here are some of the advanced features of Slackware 13.0:
|
||||||
|
|
||||||
|
- Runs the 2.6.29.6 version of the Linux kernel from ftp.kernel.org.
|
||||||
|
Also included is a kernel patched with Speakup to support speech
|
||||||
|
synthesizers providing access to Linux for the visually impaired
|
||||||
|
community. The 2.6.x kernel series has matured into a stable
|
||||||
|
kernel, and provides reliable performance for your desktop or
|
||||||
|
your production server.
|
||||||
|
|
||||||
|
- System binaries are linked with the GNU C Library, version 2.9.
|
||||||
|
This version of glibc also has excellent compatibility with
|
||||||
|
existing binaries.
|
||||||
|
|
||||||
|
- X11 based on the X.Org Foundation's modular X Window System.
|
||||||
|
There's been much activity in the X development world, and the
|
||||||
|
improvements in terms of performance and hardware support are
|
||||||
|
too numerous to mention them all here.
|
||||||
|
|
||||||
|
- Installs gcc-4.3.3 as the default C, C++, Objective-C,
|
||||||
|
Fortran-77/95, and Ada 95 compiler.
|
||||||
|
|
||||||
|
- Support for fully encrypted network connections with OpenSSL,
|
||||||
|
OpenSSH, OpenVPN, and GnuPG.
|
||||||
|
|
||||||
|
- Apache (httpd) 2.2.13 web server with Dynamic Shared Object
|
||||||
|
support, SSL, and PHP 5.2.10.
|
||||||
|
|
||||||
|
- PCMCIA, CardBus, USB, IEE1394 (FireWire) and ACPI support. This
|
||||||
|
makes Slackware a great operating system for your laptop.
|
||||||
|
|
||||||
|
- The udev dynamic device management system for Linux 2.6.x.
|
||||||
|
This locates and configures most hardware automatically as it
|
||||||
|
is added (or removed) from the system, and creates the access
|
||||||
|
nodes in /dev. It also loads the kernel modules required by
|
||||||
|
sound cards and other hardware at boot time.
|
||||||
|
|
||||||
|
- New development tools, including Perl 5.10.0, Python 2.6.2,
|
||||||
|
Ruby 1.8.7-p174, Subversion 1.6.4, git-1.6.4, mercurial-1.2.1,
|
||||||
|
graphical tools like Qt designer and KDevelop, and much more.
|
||||||
|
|
||||||
|
- Updated versions of the Slackware package management tools make it
|
||||||
|
easy to add, remove, upgrade, and make your own Slackware packages.
|
||||||
|
Package tracking makes it easy to upgrade from Slackware 12.2 to
|
||||||
|
Slackware 13.0 (see CHANGES_AND_HINTS.TXT). The slackpkg tool can
|
||||||
|
also help update from an older version of Slackware to a newer one,
|
||||||
|
and keep your Slackware system up to date. In addition, the
|
||||||
|
slacktrack utility (in extra/) will help you build and maintain
|
||||||
|
your own packages.
|
||||||
|
|
||||||
|
- Web browsers galore! Includes KDE's Konqueror 4.2.4,
|
||||||
|
SeaMonkey 1.1.17 (this is the replacement for the Mozilla
|
||||||
|
Suite), and the immensely popular Firefox 3.5.2, as well as
|
||||||
|
the Thunderbird 2.0.0.23 email and news client with advanced
|
||||||
|
junk mail filtering.
|
||||||
|
|
||||||
|
- The complete K Desktop Environment (KDE) version 4.2.4, including
|
||||||
|
the KOffice productivity suite, networking tools, GUI development
|
||||||
|
with KDevelop, multimedia tools (including the amazing Amarok
|
||||||
|
music player and K3B disc burning software), the Konqueror web
|
||||||
|
browser and file manager, dozens of games and utilities,
|
||||||
|
international language support, and more.
|
||||||
|
|
||||||
|
- A collection of GTK+ based applications including pidgin-2.5.9,
|
||||||
|
gimp-2.6.6, gkrellm-2.3.2, gxine-0.5.903, xchat-2.8.6, xsane-0.996,
|
||||||
|
and pan-0.133.
|
||||||
|
|
||||||
|
- A repository of extra software packages compiled and ready to run.
|
||||||
|
This includes the Java(TM) 2 Software Development Kit Standard
|
||||||
|
Edition, an MPlayer browser plugin, alternate Intel video drivers
|
||||||
|
for X, and more (see the /extra directory).
|
||||||
|
|
||||||
|
- Many more improved and upgraded packages than we can list here. For
|
||||||
|
a complete list of core packages in Slackware 13.0, see this file:
|
||||||
|
|
||||||
|
ftp://ftp.slackware.com/pub/slackware/slackware-13.0/PACKAGES.TXT
|
||||||
|
|
||||||
|
|
||||||
|
Downloading Slackware 13.0:
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
The full version of Slackware Linux 13.0 is available for download from
|
||||||
|
the central Slackware FTP sites hosted by our friends at www.cwo.com
|
||||||
|
and osuosl.org:
|
||||||
|
|
||||||
|
ftp://slackware.osuosl.org/pub/slackware/slackware-13.0/
|
||||||
|
ftp://ftp.slackware.com/pub/slackware/slackware-13.0/
|
||||||
|
|
||||||
|
If the sites are busy, see the list of official mirror sites here:
|
||||||
|
|
||||||
|
http://slackware.com/getslack/
|
||||||
|
|
||||||
|
We will be setting up BitTorrent downloads for the official ISO images.
|
||||||
|
Stay tuned to http://slackware.com for the latest updates.
|
||||||
|
|
||||||
|
Instructions for burning the Slackware tree onto install discs may be
|
||||||
|
found in the isolinux directory.
|
||||||
|
|
||||||
|
|
||||||
|
Purchasing Slackware on CD-ROM or DVD:
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
Or, please consider purchasing the Slackware Linux 13.0 six CD-ROM set
|
||||||
|
or deluxe dual-sided DVD release directly from Slackware Linux, and
|
||||||
|
you'll be helping to support the continued development of Slackware Linux!
|
||||||
|
|
||||||
|
The DVD release has the 32-bit x86 Slackware 13.0 release on one side,
|
||||||
|
and the 64-bit x86_64 Slackware 13.0 release on the other. Both sides
|
||||||
|
are bootable for easy installation, and includes everything from both
|
||||||
|
releases of Slackware 13.0, including the complete source code trees.
|
||||||
|
|
||||||
|
The 6 CD-ROM release of Slackware 13.0 is the 32-bit x86 edition. It
|
||||||
|
includes a bootable first CD-ROM for easy installation, and everything
|
||||||
|
from the Slackware 13.0 32-bit x86 release is contained on 6 discs
|
||||||
|
labeled for easy reference.
|
||||||
|
|
||||||
|
The Slackware 13.0 x86 6 CD-ROM set is $49.95 plus shipping, or choose
|
||||||
|
the Slackware 13.0 x86/x86_64 dual-sided DVD (also $49.95 plus shipping).
|
||||||
|
|
||||||
|
Slackware Linux is also available by subscription. When we release a new
|
||||||
|
version of Slackware (which is normally once or twice a year) we ship it
|
||||||
|
to you and bill your credit card for a reduced subscription price
|
||||||
|
($32.99 for the CD-ROM set, or $39.95 for the DVD) plus shipping.
|
||||||
|
|
||||||
|
For shipping options, see the Slackware store website. Before ordering
|
||||||
|
express shipping, you may wish to check that we have the product in stock.
|
||||||
|
We make releases to the net at the same time as disc production begins,
|
||||||
|
so there is a lag between the online release and the shipping of media.
|
||||||
|
But, even if you download now you can still buy the official media later.
|
||||||
|
You'll feel good, be helping the project, and have a great decorative
|
||||||
|
item perfect for any computer room shelf. :-)
|
||||||
|
|
||||||
|
|
||||||
|
Ordering Information:
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
You can order online at the Slackware Linux store:
|
||||||
|
http://store.slackware.com
|
||||||
|
|
||||||
|
Other Slackware items like t-shirts, caps, pins, and stickers
|
||||||
|
can also be found here. These will help you find and identify
|
||||||
|
yourself to your fellow Slackware users. :-)
|
||||||
|
|
||||||
|
Order inquiries (including questions about becoming a Slackware
|
||||||
|
reseller) may be directed to this address:
|
||||||
|
info@slackware.com
|
||||||
|
|
||||||
|
|
||||||
|
Have fun! :^) I hope you find Slackware to be useful, and thanks
|
||||||
|
very much for your support of this project over the years.
|
||||||
|
|
||||||
|
---
|
||||||
|
Patrick J. Volkerding <volkerdi@slackware.com>
|
||||||
|
|
||||||
|
Visit us on the web at: http://slackware.com
|
||||||
|
|
546
BOOTING.TXT
Normal file
546
BOOTING.TXT
Normal file
|
@ -0,0 +1,546 @@
|
||||||
|
Sun Oct 1 23:00:46 CDT 2006
|
||||||
|
|
||||||
|
NOTE: If you are interested in booting your system using PXE, a USB stick,
|
||||||
|
or a mini-ISO (which may then be used to start network (NFS) installations)
|
||||||
|
see Eric Hameleers' helpful page at this location:
|
||||||
|
|
||||||
|
http://slackware.com:/~alien
|
||||||
|
|
||||||
|
Since this is the 'BOOTING' file, pointing out the alternate installers
|
||||||
|
would be the on-topic thing to do here, but I'll also note that everything
|
||||||
|
else there is also pretty good, except that part where Alien BOB tries to
|
||||||
|
get people to gang up on me and get all of this stuff included. Shame,
|
||||||
|
shame! ;-) I'm trying to cobble together an operating system here, not
|
||||||
|
bundle every application on the planet! We're already at six ISO images,
|
||||||
|
and DVD5 is looking small! OK, just kidding. (mostly ;-) Eric's done a
|
||||||
|
massive amount of work on Slackware gratis, and we should all thank him
|
||||||
|
for the more complete and pleasant Slackware we now enjoy. :-)
|
||||||
|
|
||||||
|
All that said, most of this file after this is about 10 years old and I'm
|
||||||
|
not sure how much (if any) of it still pertains to modern Linux. In most
|
||||||
|
cases Slackware on a DVD (or the first disc) should just boot automatically
|
||||||
|
from the primary DVD drive. Or, if you're booting from CD the first one
|
||||||
|
is the bootable one. Sometimes you need to go into the machine's BIOS and
|
||||||
|
make some adjustments to make the system boot from optical media (be
|
||||||
|
careful in there!)
|
||||||
|
|
||||||
|
This file contains some helpful (hopefully! :^) information on what to do if
|
||||||
|
your Linux system won't boot properly.
|
||||||
|
|
||||||
|
Section 1: What to do if after the installation process, the machine will
|
||||||
|
not boot.
|
||||||
|
|
||||||
|
This problem is not uncommon. The reason for it is that the kernel your system
|
||||||
|
tries to boot after installation is not the same as the one used to install (the
|
||||||
|
bootdisk kernel). Typically the kernel that is installed to your hard drive
|
||||||
|
will contain more device drivers, and sometimes one of them won't like some
|
||||||
|
piece of hardware in your machine.
|
||||||
|
|
||||||
|
There are a couple of approaches that can be used to deal with this situation.
|
||||||
|
Perhaps the simplest solution is to open up the machine and pull any cards that
|
||||||
|
aren't crucial, and then try to reboot the system. If this is successful, then
|
||||||
|
follow the instructions in the FAQ.TXT for building and installing a kernel
|
||||||
|
that is customized for your hardware.
|
||||||
|
|
||||||
|
Another approach (that doesn't involve opening the machine) is to try to use the
|
||||||
|
bootdisk you installed with to kickstart the system. To do this, boot the disk
|
||||||
|
and then use the "mount" option to have the kernel boot the root partition on
|
||||||
|
your hard drive rather that a root/install disk. Let's assume your root Linux
|
||||||
|
partition is on /dev/hda2. To boot the system, you'd use this command at the
|
||||||
|
Syslinux "boot:" prompt on the bootdisk:
|
||||||
|
|
||||||
|
mount noinitrd ro root=/dev/hda2
|
||||||
|
|
||||||
|
If you installed using the Slackware CDROM, you should boot from this CDROM
|
||||||
|
again and then load the kernel you used while installing, with additional
|
||||||
|
parameters to make it mount your hard drive's root partition. Let's assume
|
||||||
|
your root Linux partition is on /dev/hda2 and you used the 'sata.i' kernel.
|
||||||
|
To boot the system, you'd enter this command at the "boot: " prompt:
|
||||||
|
|
||||||
|
sata.i root=/dev/hda2 noinitrd ro
|
||||||
|
|
||||||
|
|
||||||
|
Section 2: Trying to get the kernel to detect hardware.
|
||||||
|
|
||||||
|
The first thing you should do is make sure you're using a kernel that supports
|
||||||
|
the hardware you're trying to use. If it doesn't, you've got a few options for
|
||||||
|
how to add the support. You can compile a custom kernel of your own, or you
|
||||||
|
can look for an appropriate pre-compiled kernel in the /kernels directory.
|
||||||
|
Another approach is to try loading a kernel module to add the extra support you
|
||||||
|
need. This is usually the fastest and easiest way to get a device working, so
|
||||||
|
you might want to try it first. Use 'vi' (or some other editor) to edit the
|
||||||
|
file /etc/rc.d/rc.modules. Look for a module that supports the hardware you
|
||||||
|
want to get working, remove the '#' from the beginning of the line, and fill in
|
||||||
|
any extra parameters that the module might require.
|
||||||
|
|
||||||
|
If you install a new kernel, be sure to reinstall LILO afterwards (if you use
|
||||||
|
it). For more details on installing a kernel, see the FAQ.TXT.
|
||||||
|
|
||||||
|
There are a number of extra parameters that can be used on the LILO bootdisk
|
||||||
|
prompt, with Loadlin, or in your /etc/lilo.conf. These flags help tell the
|
||||||
|
kernel which I/O port, IRQ, and so forth, that a particular piece of hardware
|
||||||
|
uses, so that if the kernel doesn't see a peripheral while autoscanning you
|
||||||
|
should be able to force detection by telling the kernel exactly where to look.
|
||||||
|
|
||||||
|
To use an extra flag with a bootdisk, put the flags after the standard command
|
||||||
|
used to boot the system. So, to boot /dev/hda2 and try to force detection of
|
||||||
|
a Mitsumi CD-ROM drive with Mitsumi interface card, you might use something
|
||||||
|
like this at the LILO prompt:
|
||||||
|
|
||||||
|
mount root=/dev/hda2 mcd=0x300,11
|
||||||
|
|
||||||
|
To use a parameter with Loadlin, just add it to the end of the boot command
|
||||||
|
in a similar fashion:
|
||||||
|
|
||||||
|
loadlin vmlinuz root=/dev/hda2 mcd=0x300,11
|
||||||
|
|
||||||
|
Or, you can enclose the parameters in an append="" and add the line to your
|
||||||
|
/etc/lilo.conf. Don't forget to reinstall lilo after editing the
|
||||||
|
/etc/lilo.conf. To do this, just type "lilo" as root.
|
||||||
|
|
||||||
|
Here's how the line you'd add to your /etc/lilo.conf looks:
|
||||||
|
|
||||||
|
append="mcd=0x300,11"
|
||||||
|
|
||||||
|
Here is a list of known kernel parameters from the Loadlin documentation:
|
||||||
|
|
||||||
|
LOADLIN 1.5 ((C) 1994 lermen@elserv.ffm.fgan.de)
|
||||||
|
and
|
||||||
|
Linux version: 0.99.14, 0.99.15, 1.0, 1.1.47
|
||||||
|
|
||||||
|
This is a list of command line parameters recognized and interpreted by:
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
1. LOADLIN
|
||||||
|
ramdisk=size (size in Kbytes)
|
||||||
|
or
|
||||||
|
ramdisk=size,no (same as above, but disk change prompt disabled)
|
||||||
|
e.g.: ramdisk=1440,no
|
||||||
|
vga=mode
|
||||||
|
|
||||||
|
2. The Linux kernel
|
||||||
|
mem=number (for > 0.99.15, number = end of physical memory in bytes)
|
||||||
|
root=device
|
||||||
|
ro
|
||||||
|
rw
|
||||||
|
no387
|
||||||
|
debug sets console_loglevel = 10
|
||||||
|
no-hlt disables check of HLT instruction at startup
|
||||||
|
|
||||||
|
3. init
|
||||||
|
single
|
||||||
|
auto
|
||||||
|
ro,rw,no387 (forwarded from the kernel)
|
||||||
|
|
||||||
|
4. Some drivers
|
||||||
|
reserve=port1,num1,...,port5,num5 #reserves 80x86 ioports
|
||||||
|
ether=irq,base_addr,mem_start,mem_end,dev_name
|
||||||
|
hd=cyl,head,sect # for 2 drives you need this twice
|
||||||
|
# first relates to drive 0
|
||||||
|
bmouse=irq
|
||||||
|
max_scsi_luns=n # (n should be between 1 and 8)
|
||||||
|
st0x=base_address,irq # SEAGATE controller ST01/ST02
|
||||||
|
tmc8xx=base_address,irq # Future Domain TMC-885,TMC-950
|
||||||
|
t128=address,irq # Trantor T128/T128F/T228
|
||||||
|
ncr5380=port,irq,dma # Generic NCR5380 driver
|
||||||
|
aha152x=portbase,irq,scsiid,reconnect # Adaptec AHA-152x driver
|
||||||
|
cdu31a=portbase,irq,PAS # Sony CDU-31a. Third parameter
|
||||||
|
# should be "PAS" if on a Pro-Audio Spectrum, or
|
||||||
|
# nothing if on something else.
|
||||||
|
xd=type,irq,iobase,dma
|
||||||
|
mcd=port,irq
|
||||||
|
sound=0x0TTPPPID, ..
|
||||||
|
sbpcd=sbport,SoundBlaster
|
||||||
|
sbpcd=LMport,LaserMate
|
||||||
|
sbpcd=SpeaFXport,SPEA
|
||||||
|
|
||||||
|
|
||||||
|
5. Environment
|
||||||
|
All parameters of format name=xxxx which are not recognized by
|
||||||
|
the kernel or a driver are put onto the environment.
|
||||||
|
|
||||||
|
LOADLIN itself always puts BOOT_IMAGE=imagefile onto the environ-
|
||||||
|
ment. The user may put additional values onto the environment in
|
||||||
|
order to allow /etc/rc to behave differently for a given condition.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Following are detailed descriptions:
|
||||||
|
|
||||||
|
|
||||||
|
Parameters recognized by LOADLIN:
|
||||||
|
=================================
|
||||||
|
|
||||||
|
root=device
|
||||||
|
-----------
|
||||||
|
device may be a symbolic device name such as "/dev/hda2"
|
||||||
|
or the numeric device number (hex)
|
||||||
|
(highbyte=major, lowbyte=minor)
|
||||||
|
recognized symbolic devices (with their partitions) are:
|
||||||
|
"hda", "hdb", "sda", "sdb", "sdc", "sdd", "sde",
|
||||||
|
"fd", "xda", "xdb"
|
||||||
|
|
||||||
|
There is a problem:
|
||||||
|
|
||||||
|
Linux interprets the number following "/dev/hda" as a HEX number,
|
||||||
|
The device names in /dev of the Slackware distribution, however,
|
||||||
|
are numbered /dev/hda1 .. hda9 .. hda10 .. hda16,
|
||||||
|
instead of /dev/hda1 .. hda9 .. hdaa .. hdaf as Linus would have done.
|
||||||
|
|
||||||
|
So, starting with version 1.3 of LOADLIN, I interpret the root device
|
||||||
|
myself and pass the device numerically in the boot sector.
|
||||||
|
My naming convention is a compromise which I hope will result in
|
||||||
|
fewer irritations:
|
||||||
|
|
||||||
|
If the number following "/dev/hda, hdb, sda ..."
|
||||||
|
starts with 0, 0x or a..f, it is interpreted as a HEX number.
|
||||||
|
If it starts with 1..9 it is interpreted as a decimal number.
|
||||||
|
If none is appropriate, the string is passed to the command line.
|
||||||
|
(some later kernel versions may have other device names).
|
||||||
|
|
||||||
|
Examples:
|
||||||
|
root=302
|
||||||
|
root=0x201
|
||||||
|
root=/dev/hda2
|
||||||
|
root=/dev/sdaa same as root=/dev/sda10 or /dev/sda0xa
|
||||||
|
|
||||||
|
Ramdisk size option (used with 1.2.x kernels)
|
||||||
|
|
||||||
|
ramdisk=size
|
||||||
|
------------
|
||||||
|
size number of Kbytes for the RAMDISK device.
|
||||||
|
The image for the ramdisk is loaded by the
|
||||||
|
kernel at startup from a floppy drive, if
|
||||||
|
root=/dev/fdx is also given.
|
||||||
|
After loading the image, the kernel then makes
|
||||||
|
the ramdisk the root device (NOT the floppy).
|
||||||
|
In addition to this, LOADLIN prompts for inserting
|
||||||
|
the ramdisk image into the floppy drive if it no
|
||||||
|
longer needs the drive (i.e. after loading the kernel).
|
||||||
|
|
||||||
|
Ramdisk options for new (1.3.x and 2.0.x) kernels
|
||||||
|
|
||||||
|
load_ramdisk=1
|
||||||
|
--------------
|
||||||
|
This option tells the kernel that you wish to load
|
||||||
|
a ramdisk. With new Linux kernels, a size does not
|
||||||
|
need to be specified -- the kernel will dynamically
|
||||||
|
allocate the needed memory as the kernel is loaded.
|
||||||
|
|
||||||
|
prompt_ramdisk=1
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This option tells the kernel that you wish to be prompted
|
||||||
|
to insert the ramdisk before the kernel tries to load it.
|
||||||
|
Useful when loading the ramdisk from floppy disk.
|
||||||
|
|
||||||
|
vga=mode
|
||||||
|
--------
|
||||||
|
mode -3 the user is asked to specify the VGA mode
|
||||||
|
ask equal to -3
|
||||||
|
-2 80x50 extended VGA mode
|
||||||
|
extended equal to -2
|
||||||
|
-1 80x25 normal mode
|
||||||
|
normal equal to -1
|
||||||
|
0 as if "0" was entered at the boot prompt
|
||||||
|
.
|
||||||
|
.
|
||||||
|
n as if the number "n" was entered at the boot prompt
|
||||||
|
|
||||||
|
ro
|
||||||
|
--
|
||||||
|
"ro" forces the root device to be mounted read-only (Not for UMSDOS!)
|
||||||
|
|
||||||
|
rw
|
||||||
|
--
|
||||||
|
"rw" forces the root device to be mounted read/write.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Parameters recognized only by the kernel:
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
mem=number
|
||||||
|
----------
|
||||||
|
number End of physical RAM, this is recognized by kernels
|
||||||
|
of 0.99.15 and higher and is useful if the exact
|
||||||
|
installed RAM size cannot be determined automatically.
|
||||||
|
|
||||||
|
root=device
|
||||||
|
-----------
|
||||||
|
device May be a symbolic device name such as "/dev/hda2"
|
||||||
|
or the numeric device number (highbyte=major, lowbyte=minor)
|
||||||
|
Recognized symbolic devices (with their partitions) are:
|
||||||
|
"hda", "hdb", "sda", "sdb", "sdc", "sdd", "sde",
|
||||||
|
"fd", "xda", "xdb"
|
||||||
|
But NOTE: old kernels < 1.1.47 have xda=0xC00, xdb=0xC40
|
||||||
|
newer kernels have xda=0xD00, xdb=0xD40
|
||||||
|
example:
|
||||||
|
root=302
|
||||||
|
root=/dev/hda2
|
||||||
|
|
||||||
|
!! NOTE: Older kernels ( below Linux 1.0.5 ) have a little bug in
|
||||||
|
!! (init/main.c), but it is of little concern:
|
||||||
|
!! The last part of the symbolic device name ("hda2") is
|
||||||
|
!! passed as option parameter to init, so init will
|
||||||
|
!! say "illegal option", but continue without errors.
|
||||||
|
!!
|
||||||
|
!! Of greater concern is the too-small static buffer
|
||||||
|
!! "command_line" (80 bytes, in init/main.c). It is
|
||||||
|
!! preferable to set it to 512 and recompile the kernel.
|
||||||
|
!!
|
||||||
|
!! This bug is fixed with Linux 1.0.5, the "command_line"
|
||||||
|
!! is now 256 by default and (if needed ) can easily be changed
|
||||||
|
!! with #define COMMAND_LINE_SIZE xxxx in init/main.c (to a
|
||||||
|
!! maximum size of 2047).
|
||||||
|
|
||||||
|
|
||||||
|
no387
|
||||||
|
-----
|
||||||
|
"no387" disables use of the hardware math coprocessor.
|
||||||
|
|
||||||
|
since 1.1.47 (or perhaps earlier) the following options are no more
|
||||||
|
passed to init:
|
||||||
|
|
||||||
|
ro,rw,no387
|
||||||
|
-----------
|
||||||
|
|
||||||
|
|
||||||
|
the following are new:
|
||||||
|
|
||||||
|
|
||||||
|
debug sets console_loglevel = 10
|
||||||
|
-----
|
||||||
|
|
||||||
|
no-hlt
|
||||||
|
------
|
||||||
|
disables check of HLT instruction at startup.
|
||||||
|
If you have a clone 486, this option is *very* useful.
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Option Parameters recognized by "init":
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
single
|
||||||
|
------
|
||||||
|
Enter "single user mode" on boot
|
||||||
|
|
||||||
|
|
||||||
|
auto
|
||||||
|
----
|
||||||
|
|
||||||
|
ro,rw,no387 (forwarded from kernels < 1.1.47). (see !!comment!! above)
|
||||||
|
-----------
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Configuration of ethernet cards:
|
||||||
|
================================
|
||||||
|
|
||||||
|
ether=irq,base_addr,mem_start,mem_end,dev_name
|
||||||
|
---------------------------------------------
|
||||||
|
irq number, IRQ-number (3..15)
|
||||||
|
base_addr number, IO-base (0x280,...)
|
||||||
|
mem_start number, shared mem start
|
||||||
|
mem_end number, shared mem end
|
||||||
|
dev_name string,
|
||||||
|
eth0..3 all configured ethernetcards
|
||||||
|
dl0 D-Link DE600 pocket adaptor
|
||||||
|
atp0 AT-LAN-TEC (RealTek) pocket adaptor
|
||||||
|
plip0..2 parallel IP (PLIP)
|
||||||
|
sl0..3 serial IP (SLIP)
|
||||||
|
example:
|
||||||
|
ether=10,0x280,0xc8000,0xcbfff,eth0
|
||||||
|
|
||||||
|
related files: net/inet/eth.c, drivers/net/Space.c
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Reserving I/O port space:
|
||||||
|
=========================
|
||||||
|
|
||||||
|
reserve=port1,num1,...,port5,num5
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
portn first IOport-address in range
|
||||||
|
numn number of addresses in this range to reserve
|
||||||
|
(there will be bits set to "1" in "ioport_register")
|
||||||
|
|
||||||
|
related files: kernel/ioport.c
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Setting hard disk parameters for the root device:
|
||||||
|
=================================================
|
||||||
|
|
||||||
|
hd=cyl,head,sect
|
||||||
|
---------------
|
||||||
|
# NOTE: if you have two drives, you must put
|
||||||
|
# two hd= params into the commandline
|
||||||
|
# the first for drive 1, the second for drive 2
|
||||||
|
# eg.
|
||||||
|
# loadlin zimage hd=1001,15,17 hd=989,15,56 root=/dev/hdb2 ro
|
||||||
|
# (this example from my machine however is not needed,
|
||||||
|
# you need it only, if Linux can't get the drive params properly
|
||||||
|
# from the BIOS).
|
||||||
|
related files: drivers/block/hd.c
|
||||||
|
config: CONFIG_BLK_DEV_HD
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Setting the IRQ for the bus-mouse:
|
||||||
|
==================================
|
||||||
|
|
||||||
|
bmouse=irq
|
||||||
|
----------
|
||||||
|
related files: drivers/char/busmouse.c
|
||||||
|
config: CONFIG_BUSMOUSE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Parameters for SCSI controllers:
|
||||||
|
================================
|
||||||
|
|
||||||
|
max_scsi_luns=n (n should be between 1 and 8)
|
||||||
|
|
||||||
|
st0x=base_address,irq SEAGATE controller ST01/ST02
|
||||||
|
|
||||||
|
tmc8xx=base_address,irq Future Domain TMC-885,TMC-950
|
||||||
|
|
||||||
|
t128=address,irq Trantor T128/T128F/T228
|
||||||
|
|
||||||
|
ncr5380=port,irq,dma Generic NCR5380 driver
|
||||||
|
|
||||||
|
aha152x=portbase,irq,scsiid,reconnect Adaptec AHA-152x driver
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
related files: drivers/scsi/seagate.c, t128.c, g_NCR5380.c, aha152x.c
|
||||||
|
|
||||||
|
config: CONFIG_SCSI_SEAGATE, CONFIG_SCSI_T128,
|
||||||
|
CONFIG_SCSI_GENERIC_NCR5380, CONFIG_SCSI_AHA152X
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Parameters for SCSI Tapes:
|
||||||
|
=========================
|
||||||
|
|
||||||
|
st=buffer_size,write_threshould,max_buffers
|
||||||
|
|
||||||
|
buffer_size Size of tape buffer in Kbyte (i.e. ST_BLOCK_SIZE)
|
||||||
|
write_threshould Number of Kbytes to buffer before write.
|
||||||
|
(must be < buffer_size)
|
||||||
|
max_buffers Number of buffers to reserve
|
||||||
|
|
||||||
|
related files: drivers/scsi/st.c
|
||||||
|
config: CONFIG_CHR_DEV_ST
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Parameter for XT hard disk controller (DTC 5150X):
|
||||||
|
==================================================
|
||||||
|
|
||||||
|
xd=type,irq,iobase,dma
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
related files: drivers/block/xd.c
|
||||||
|
config: CONFIG_BLK_DEV_XD
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Parameter for Sony CDU-31/33a CDROM driver:
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
cdu31a=iobase,irq,PAS
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
related files: drivers/block/cdu31a.c
|
||||||
|
include/linux/cdu31a.h
|
||||||
|
config: CONFIG_CDU31A
|
||||||
|
|
||||||
|
WARNING - All autoprobes have been removed from the driver.
|
||||||
|
You MUST configure the CDU31A via a LILO config
|
||||||
|
at boot time or in lilo.conf. I have the
|
||||||
|
following in my lilo.conf:
|
||||||
|
|
||||||
|
append="cdu31a=0x1f88,0,PAS"
|
||||||
|
|
||||||
|
The first number is the I/O base address of the
|
||||||
|
card. The second is the interrupt (0 means none).
|
||||||
|
The third should be "PAS" if on a Pro-Audio
|
||||||
|
spectrum, or nothing if on something else.
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
Parameter for Mitsumi CDROM driver:
|
||||||
|
===================================
|
||||||
|
|
||||||
|
mcd=port,irq
|
||||||
|
------------
|
||||||
|
|
||||||
|
related files: drivers/block/mcd.c
|
||||||
|
config: CONFIG_MCD
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Parameter for sound cards:
|
||||||
|
==========================
|
||||||
|
|
||||||
|
sound=0x0TTPPPID, ..
|
||||||
|
----------------
|
||||||
|
all values are embedded in one longint, the above format
|
||||||
|
shows a hex number, each place is a hex-digit
|
||||||
|
|
||||||
|
TT Supported card type.
|
||||||
|
This is the index into the list of configured cards
|
||||||
|
If all cards are configured (which normally is not the case)
|
||||||
|
the following order is kept:
|
||||||
|
Roland MPU-401
|
||||||
|
Gravis Ultrasound
|
||||||
|
ProAudio Spectrum
|
||||||
|
SoundBlaster
|
||||||
|
SoundBlaster 16
|
||||||
|
SB16 MPU-401 (SB16-MIDI port)
|
||||||
|
AdLib
|
||||||
|
|
||||||
|
PPP Port Address
|
||||||
|
|
||||||
|
I IRQ
|
||||||
|
|
||||||
|
D DMA Channel
|
||||||
|
|
||||||
|
|
||||||
|
related files: drivers/sound/dev_table.h,dev_table.c
|
||||||
|
config: CONFIG_SOUND
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Parameter for IDE-style CD-ROM device driver (Kotobuki/Matsushita/Panasonic):
|
||||||
|
=============================================================================
|
||||||
|
|
||||||
|
sbpcd=sbport,SoundBlaster
|
||||||
|
------------------------
|
||||||
|
sbpcd=LMport,LaserMate
|
||||||
|
----------------------
|
||||||
|
sbpcd=SpeaFXport,SPEA
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
sbport soundblaster base port +0x10 (i.e 0x230 = 0x220+0x10)
|
||||||
|
LMport MPU-type port at 0x300 or equivalent
|
||||||
|
SpeaFXport base port on SpeaFX card
|
||||||
|
|
||||||
|
related files: drivers/block/sbpcd.c
|
||||||
|
config: CONFIG_SBPCD
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------------------------------------------
|
373
CHANGES_AND_HINTS.TXT
Normal file
373
CHANGES_AND_HINTS.TXT
Normal file
|
@ -0,0 +1,373 @@
|
||||||
|
This file documents the instructions for upgrading to Slackware 13.0, the
|
||||||
|
packages added, removed, renamed, and/or split during the development cycle
|
||||||
|
from Slackware 12.2 through 13.0, and some potential "gotchas" that users
|
||||||
|
can avoid by arming themselves with a little knowledge.
|
||||||
|
|
||||||
|
|
||||||
|
*** INSTRUCTIONS FOR UPGRADING FROM 12.2 ***
|
||||||
|
|
||||||
|
Follow the instructions detailed in the UPGRADE.TXT located in this
|
||||||
|
directory. Note that upgrading from a Slackware version earlier
|
||||||
|
than 12.2 is NOT supported at all and will most likely not work.
|
||||||
|
|
||||||
|
Also note that upgrading from 12.2 to 13.0 (64bit) is not supported.
|
||||||
|
|
||||||
|
|
||||||
|
*** PACKAGE ADDITIONS SINCE 12.2 ***
|
||||||
|
|
||||||
|
a/xz
|
||||||
|
ap/cupsddk
|
||||||
|
ap/dc3dd
|
||||||
|
d/swig
|
||||||
|
kde/guidance-power-manager
|
||||||
|
kde/kaudiocreator
|
||||||
|
kde/kdebase-runtime
|
||||||
|
kde/kdebase-workspace
|
||||||
|
kde/kdepimlibs
|
||||||
|
kde/kdeplasma-addons
|
||||||
|
kde/kdevelop
|
||||||
|
kde/kdevplatform
|
||||||
|
kde/konq-plugins
|
||||||
|
kde/ktorrent (moved from /extra)
|
||||||
|
kde/mplayerthumbs
|
||||||
|
kde/skanlite
|
||||||
|
l/M2Crypto
|
||||||
|
l/PyQt
|
||||||
|
l/QScintilla
|
||||||
|
l/akonadi
|
||||||
|
l/automoc4
|
||||||
|
l/babl
|
||||||
|
l/boost
|
||||||
|
l/chmlib
|
||||||
|
l/clucene
|
||||||
|
l/djvulibre
|
||||||
|
l/eigen2
|
||||||
|
l/exiv2
|
||||||
|
l/gegl
|
||||||
|
l/gmm
|
||||||
|
l/ilmbase
|
||||||
|
l/iso-codes
|
||||||
|
l/jasper
|
||||||
|
l/libarchive
|
||||||
|
l/libdvdread
|
||||||
|
l/libical
|
||||||
|
l/libmcrypt
|
||||||
|
l/libmsn
|
||||||
|
l/libnl
|
||||||
|
l/libspectre
|
||||||
|
l/libvncserver
|
||||||
|
l/libxklavier
|
||||||
|
l/libzip
|
||||||
|
l/openexr
|
||||||
|
l/phonon
|
||||||
|
l/pil
|
||||||
|
l/pycups
|
||||||
|
l/qca-cyrus-sasl
|
||||||
|
l/qca-gnupg
|
||||||
|
l/qca-ossl
|
||||||
|
l/qimageblitz
|
||||||
|
l/qtscriptgenerator
|
||||||
|
l/raptor
|
||||||
|
l/rasqal
|
||||||
|
l/redland
|
||||||
|
l/seamonkey-solibs
|
||||||
|
l/sip
|
||||||
|
l/soprano
|
||||||
|
l/strigi
|
||||||
|
l/taglib-extras
|
||||||
|
l/urwid
|
||||||
|
n/crda
|
||||||
|
n/iw
|
||||||
|
n/iwlwifi-5150-ucode
|
||||||
|
n/snownews
|
||||||
|
x/intel-gpu-tools
|
||||||
|
x/scim-input-pad
|
||||||
|
x/xcb-util
|
||||||
|
x/xorg-server-xephyr
|
||||||
|
x/xpyb
|
||||||
|
x/xscope
|
||||||
|
xap/MPlayer
|
||||||
|
xap/electricsheep
|
||||||
|
xap/thunar-volman
|
||||||
|
xap/xfce4-power-manager
|
||||||
|
|
||||||
|
extra/kde3-compat/arts
|
||||||
|
extra/kde3-compat/kdelibs3
|
||||||
|
extra/kde3-compat/qca-tls1
|
||||||
|
extra/kde3-compat/qca1
|
||||||
|
extra/kde3-compat/qt3
|
||||||
|
extra/xf86-video-intel-alternate/xf86-video-intel-* (several alternate
|
||||||
|
versions of the Xorg intel driver just in case the default doesn't work
|
||||||
|
properly for you)
|
||||||
|
|
||||||
|
|
||||||
|
*** PACKAGE REMOVALS SINCE 12.2 ***
|
||||||
|
|
||||||
|
kde/kdeaddons
|
||||||
|
kde/knemo
|
||||||
|
l/arts
|
||||||
|
l/beecrypt
|
||||||
|
l/dbus-qt3
|
||||||
|
l/qca-tls
|
||||||
|
l/svgalib_helper (won't build on 2.6.28+ kernels)
|
||||||
|
n/bitchx
|
||||||
|
x/liboldX
|
||||||
|
x/xf86-input-calcomp
|
||||||
|
x/xf86-input-digitaledge
|
||||||
|
x/xf86-input-dmc
|
||||||
|
x/xf86-input-dynapro
|
||||||
|
x/xf86-input-elo2300
|
||||||
|
x/xf86-input-jamstudio
|
||||||
|
x/xf86-input-magellan
|
||||||
|
x/xf86-input-magictouch
|
||||||
|
x/xf86-input-microtouch
|
||||||
|
x/xf86-input-palmax
|
||||||
|
x/xf86-input-spaceorb
|
||||||
|
x/xf86-input-summa
|
||||||
|
x/xf86-input-tek4957
|
||||||
|
x/xf86-input-ur98
|
||||||
|
x/xf86-video-cyrix
|
||||||
|
x/xf86-video-fbdev
|
||||||
|
x/xf86-video-i810 (use xf86-video-intel instead)
|
||||||
|
x/xf86-video-imstt
|
||||||
|
x/xf86-video-nsc
|
||||||
|
x/xf86-video-vga
|
||||||
|
x/xf86-video-via (use xf86-video-openchrome instead)
|
||||||
|
x/xphelloworld
|
||||||
|
x/xrx
|
||||||
|
xap/gimp-help-2
|
||||||
|
|
||||||
|
|
||||||
|
*** OTHER NOTABLE CHANGES AND HINTS ***
|
||||||
|
|
||||||
|
l/dbus moved to a/dbus
|
||||||
|
|
||||||
|
New system user accounts:
|
||||||
|
oprofile (uid=51)
|
||||||
|
|
||||||
|
New system group accounts:
|
||||||
|
oprofile (gid=51)
|
||||||
|
dialout (gid=16)
|
||||||
|
netdev (gid=86)
|
||||||
|
|
||||||
|
The Slackware installer now uses udev to initialize your hardware, including
|
||||||
|
the network interface card(s). This has positive consequences for network
|
||||||
|
installations (using NFS, FTP, HTTP or SMB). You no longer have to run the
|
||||||
|
'pcmcia' and 'network' scripts prior to running 'setup' - the network
|
||||||
|
interface will be created and intialized by udev. If a DHCP server is
|
||||||
|
found on your local network, the setup program will let you choose between
|
||||||
|
automatic configuration of your network interface using DHCP or specifying
|
||||||
|
a static IP address. Using udev, the commandline for fully unattended
|
||||||
|
configuration and startup of the dropbear SSH server has changed slightly.
|
||||||
|
Suppose you want to boot the 'hugesmp' kernel, use DHCP for interface eth0,
|
||||||
|
and you have a us-english keyboard layout: the commandline to auto-start
|
||||||
|
the SSH daemon in the installer would become:
|
||||||
|
hugesmp.s kbd=us nic=auto:eth0:dhcp
|
||||||
|
Note: if you do not want to use udev, the "auto" keyword in that example
|
||||||
|
commandline must be replaced with the actual name of the network module for
|
||||||
|
your card. If you do not want to use udev, you must add the parameter
|
||||||
|
"noudev" to the command line that boots the Slackware installer, and the
|
||||||
|
original ("old") Slackware hardware configuration scripts will be used.
|
||||||
|
|
||||||
|
Use one of the provided generic kernels for daily use. Do not report
|
||||||
|
bugs until/unless you have reproduced them using one of the stock
|
||||||
|
generic kernels. You will need to create an initrd in order to boot
|
||||||
|
the generic kernels - see /boot/README.initrd for instructions.
|
||||||
|
The huge kernels are primarily intended as "installer" and "emergency"
|
||||||
|
kernels in case you forget to make an initrd. For most systems, you
|
||||||
|
should use the generic SMP kernel if it will run, even if your system is
|
||||||
|
not SMP-capable. Some newer hardware needs the local APIC enabled in the
|
||||||
|
SMP kernel, and theoretically there should not be a performance penalty
|
||||||
|
with using the SMP-capable kernel on a uniprocessor machine, as the SMP
|
||||||
|
kernel tests for this and makes necessary adjustments. Furthermore, the
|
||||||
|
kernel sources shipped with Slackware are configured for SMP usage, so you
|
||||||
|
won't have to modify those to build external modules (such as NVidia or
|
||||||
|
ATI proprietary drivers) if you use the SMP kernel.
|
||||||
|
|
||||||
|
If you decide to use one of the non-SMP kernels, you will need to follow the
|
||||||
|
instructions in /extra/linux-2.6.29.6-nosmp-sdk/README.TXT to modify your
|
||||||
|
kernel sources for non-SMP usage. Note that this only applies if you are
|
||||||
|
using the Slackware-provided non-SMP kernel - if you build a custom kernel,
|
||||||
|
the symlinks at /lib/modules/$(uname -r)/{build,source} will point to the
|
||||||
|
correct kernel source so long as you don't (re)move it.
|
||||||
|
|
||||||
|
As usual, there are changes in udev packaging that need mentioning...
|
||||||
|
As with 12.2, the system udev rules now reside in /lib/udev/rules.d/
|
||||||
|
instead of /etc/udev/rules.d/ in older versions. There should never be
|
||||||
|
a reason to edit anything in /lib/udev/rules.d/, so if you think you have
|
||||||
|
a case where this is required, either you're wrong or it needs to be
|
||||||
|
addressed in the upstream source. However, you can override default rules
|
||||||
|
by placing one with an identical name inside /etc/udev/rules.d/ The rules
|
||||||
|
files in /etc/udev/rules.d/ are still intended to (maybe) be edited as
|
||||||
|
needed by local system administrators, and as such, the rules for optical
|
||||||
|
and network devices will still be placed there.
|
||||||
|
Also, be sure to have the new dialout group added to your system, or udev
|
||||||
|
will kindly remind you in the system logs...
|
||||||
|
|
||||||
|
Due to the upgrade of kde from 3.5.10 to 4.2.4, you will need to move your
|
||||||
|
existing $HOME/.kde/ out of the way (either completely remove it or back
|
||||||
|
it up somewhere else if you think you might need it again for whatever
|
||||||
|
reason); otherwise, you will almost surely experience odd configuration
|
||||||
|
problems with kde applications.
|
||||||
|
|
||||||
|
If mailto: links don't work properly (or at all) in firefox, you may have
|
||||||
|
to remove an existing $HOME/.mozilla/mimeTypes.rdf file and restart Firefox.
|
||||||
|
|
||||||
|
If you are unable to access the cups configuration web interface from your
|
||||||
|
browser, you may have to blacklist the ipv6 module and reboot. This is
|
||||||
|
not an acceptable solution, of course, but it's the only one we have at
|
||||||
|
the moment.
|
||||||
|
|
||||||
|
HP multifunction printer/scanners require that your user account be a member
|
||||||
|
of the "lp" group for hp-toolbox to work properly, and to use the scanner
|
||||||
|
portion of some (all?) units, you'll need to be a member of the "lp" group.
|
||||||
|
This is because hplip's udev rules set the device with group "lp" ownership.
|
||||||
|
|
||||||
|
HAL is not new anymore, but here are a few notes related to it:
|
||||||
|
1. User accounts with permission to mount removable devices must be in at
|
||||||
|
least the "plugdev" group.
|
||||||
|
2. User accounts with permission to do power-management tasks, such as
|
||||||
|
suspend, hibernate, reboot, and shutdown, via HAL methods should be in
|
||||||
|
the "power" group.
|
||||||
|
3. HAL will honor settings in /etc/fstab if a device is present there, so
|
||||||
|
you could technically have removable devices defined in /etc/fstab, but
|
||||||
|
if the fstab settings do not allow normal users to mount them (with the
|
||||||
|
"user" or "users" option), then HAL/dbus will not allow them to be
|
||||||
|
mounted either. In other words, for example, if your fstab line for the
|
||||||
|
cdrom/dvd drive includes the "owner" option, you will not be able to
|
||||||
|
mount it as a normal user.
|
||||||
|
4. If you find a need for modified fdi files, those should be placed in the
|
||||||
|
relevant directories in /etc/hal/ instead of /usr/share/hal/
|
||||||
|
|
||||||
|
If you notice Xfce's Terminal and perhaps some other applications being drawn
|
||||||
|
very slowly in X, then you should try explicitly disabling the Composite
|
||||||
|
extension in /etc/X11/xorg.conf, or set XLIB_SKIP_ARGB_VISUALS=1 in your
|
||||||
|
environment prior to starting X. For more information on this, see:
|
||||||
|
http://bugzilla.xfce.org/show_bug.cgi?id=2792
|
||||||
|
We've also gotten a report of some other things (such as VirtualBox) that
|
||||||
|
might benefit from this.
|
||||||
|
|
||||||
|
Speaking of Xorg, the version of Xorg shipped with Slackware 13.0 will not
|
||||||
|
(in most cases) require an /etc/X11/xorg.conf file at all. Configuration of
|
||||||
|
input devices and such is handled by HAL, and the X server autoconfigures
|
||||||
|
everything else. You can still create an xorg.conf file if you wish, or you
|
||||||
|
can create a minimal xorg.conf with only the specific contents that you wish
|
||||||
|
to override (as an example, to use a binary-only video driver).
|
||||||
|
Due to removed drivers and other such changes, it's quite possible that your
|
||||||
|
old xorg.conf will not work correctly with this version of Xorg.
|
||||||
|
|
||||||
|
If you need to use a non-US keyboard layout, then copy the file located at
|
||||||
|
/usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi to /etc/hal/fdi/policy
|
||||||
|
and edit it to suit your needs. Have a look at the contents of that file
|
||||||
|
for an example and more information. If you prefer to do this the "old" way
|
||||||
|
using /etc/X11/xorg.conf, then you can use "X -configure" or "xorgsetup" to
|
||||||
|
generate an xorg.conf, then add the following lines to the "ServerFlags"
|
||||||
|
section to disable input device hotplugging via HAL:
|
||||||
|
Option "AllowEmptyInput" "false"
|
||||||
|
Option "AutoAddDevices" "false"
|
||||||
|
Option "AutoEnableDevices" "false"
|
||||||
|
This is also relevant if you prefer to disable HAL completely for whatever
|
||||||
|
reason.
|
||||||
|
|
||||||
|
If you are using input hotplugging via HAL and a synaptics touchpad, then you
|
||||||
|
might need to copy /usr/share/hal/fdi/policy/11-x11-synaptics.fdi to
|
||||||
|
/etc/hal/fdi/policy/ and edit it to suit your needs. You can also use
|
||||||
|
synclient(1) to make changes "on the fly."
|
||||||
|
|
||||||
|
If you want to try the new kernel mode setting (KMS), you don't have to
|
||||||
|
build a custom kernel; add this to your kernel's lilo stanza:
|
||||||
|
append = "i915.modeset=1"
|
||||||
|
|
||||||
|
If you are using a KVM switch, you might experience problems with the mouse
|
||||||
|
when switching from one system to another. If so, you probably need to be
|
||||||
|
using the imps protocol for the psmouse driver, and that's a simple edit:
|
||||||
|
uncomment the following line in /etc/modprobe.d/psmouse.conf:
|
||||||
|
#options psmouse proto=imps
|
||||||
|
Next, unload and reload the psmouse module (do this as root):
|
||||||
|
modprobe -r psmouse ; modprobe psmouse
|
||||||
|
|
||||||
|
If you have set up an encrypted root partition, you will need to have access
|
||||||
|
to your keyboard in order to type the passphrase. This may require you to
|
||||||
|
add the uhci-hcd and usbhid modules to your initrd image if you have a USB
|
||||||
|
keyboard. Also note that if you are using a non-US keyboard, you can use the
|
||||||
|
'-l' parameter to the 'mkinitrd' command in order to add support for this
|
||||||
|
keyboard to your initrd.
|
||||||
|
|
||||||
|
If you have permission errors when attempting to burn a cdrom or dvd image,
|
||||||
|
such as the following:
|
||||||
|
/usr/bin/cdrecord: Operation not permitted. Cannot send SCSI cmd via ioctl
|
||||||
|
then cdrecord almost certainly needs root privileges to work correctly.
|
||||||
|
One potential solution is to make the cdrecord and cdrdao binaries suid root,
|
||||||
|
but this has possible security implications. The safest way to do that is
|
||||||
|
to make those binaries suid root, owned by a specific group, and executable
|
||||||
|
by only root and members of that group. For most people, the example below
|
||||||
|
will be sufficient (but adjust as desired depending on your specific needs):
|
||||||
|
chown root:cdrom /usr/bin/cdrecord /usr/bin/cdrdao
|
||||||
|
chmod 4750 /usr/bin/cdrecord /usr/bin/cdrdao
|
||||||
|
If you don't want all members of the 'cdrom' group to be able to execute the
|
||||||
|
two suid binaries, then create a special group (such as 'burning' which is
|
||||||
|
recommended by k3b), use it instead of 'cdrom' in the line above, and add
|
||||||
|
to it only the users you wish to have access to cdrecord and cdrdao.
|
||||||
|
|
||||||
|
If you have compilation errors that look something like this:
|
||||||
|
/usr/include/asm-generic/fcntl.h:117: error: redefinition of 'struct flock'
|
||||||
|
/usr/include/bits/fcntl.h:142: error: previous definition of 'struct flock'
|
||||||
|
/usr/include/asm-generic/fcntl.h:140: error: redefinition of 'struct flock64'
|
||||||
|
/usr/include/bits/fcntl.h:157: error: previous definition of 'struct flock64'
|
||||||
|
See the following link for some pointers on fixing it:
|
||||||
|
http://www.mail-archive.com/blfs-dev@linuxfromscratch.org/msg08942.html
|
||||||
|
|
||||||
|
Input methods for complex characters (CJK, which is shorthand for Chinese,
|
||||||
|
Japanese, Korean) and other non-latin character sets have been added. These
|
||||||
|
input methods use the SCIM (Smart Common Input Method) platform.
|
||||||
|
The environment variables for SCIM support are set in /etc/profile.d/scim.sh
|
||||||
|
The requirements for getting SCIM input methods to work in your X session
|
||||||
|
are as follows:
|
||||||
|
(1) Use a UTF-8 locale. Look in /etc/profile.d/lang.sh for setting your
|
||||||
|
language to (for instance) en_US.UTF-8. As a word of warning: maybe you
|
||||||
|
should leave root with a non-UTF-8 locale because you don't want root's
|
||||||
|
commands to be misinterpreted. You can add the following line to your
|
||||||
|
~/.profile file to enable UTF-8 just for yourself:
|
||||||
|
export LANG=en_US.UTF-8
|
||||||
|
(2) Make the scim profile scripts executable. These will setup your
|
||||||
|
environment correctly for the use of scim with X applications. Run:
|
||||||
|
chmod +x /etc/profile.d/scim.*
|
||||||
|
(3) Start the scim daemon as soon as your X session starts. The scim daemon
|
||||||
|
must be active before any of your X applications. In KDE, you can add a
|
||||||
|
shell script to the ~/.kde/Autostart folder that runs the command
|
||||||
|
"scim -d". In XFCE you can add "scim -d" to the Autostarted Applications.
|
||||||
|
If you boot your computer in runlevel 4 (the graphical XDM/KDM login)
|
||||||
|
you can simply add the line "scim -d" to your ~/.xprofile file.
|
||||||
|
This gives you a Desktop Environment independent way of starting scim.
|
||||||
|
When scim is running, you will see a small keyboard icon in your system tray.
|
||||||
|
Right-click it to enter SCIM Setup. In 'Global Setup' select your keyboard
|
||||||
|
layout, and you are ready to start entering just about any language
|
||||||
|
characters you wish! Press the magical key combo <Control><Space>
|
||||||
|
in order to activate or deactivate SCIM input. The SCIM taskbar in the
|
||||||
|
desktop's corner allows you to select a language. As you type, SCIM will show
|
||||||
|
an overview of applicable character glyphs (if you are inputting complex
|
||||||
|
characters like Japanese).
|
||||||
|
|
||||||
|
If you are using the pinentry-gtk2 interface (for entering passphrases with
|
||||||
|
gpg-agent), be aware that there is a bug in the way scim-bridge and the
|
||||||
|
pinentry-gtk2 interact. The result is that keyboard input does not register
|
||||||
|
with pinentry-gtk2. For the time being, either change the /usr/bin/pinentry
|
||||||
|
symlink to use the qt or curses frontend, or don't use scim.
|
||||||
|
|
||||||
|
If you have an older machine (with a BIOS released prior to 2001) and it will
|
||||||
|
not power off on shutdown, try adding this to your kernel's lilo stanza:
|
||||||
|
append = "acpi=force"
|
||||||
|
|
||||||
|
If you have a Dell Optiplex 760 (or perhaps some other machine that has the
|
||||||
|
newer ICH10 chipset), and it won't boot, try one of these:
|
||||||
|
1. Update the BIOS image to at least A03
|
||||||
|
2. Turn C-States control off in the BIOS
|
||||||
|
3. Boot with "hpet=disabled"
|
||||||
|
|
||||||
|
If your wireless and/or bluetooth radios are not turned on by default after
|
||||||
|
booting up, you might need to load the rfkill-input module. If that solves
|
||||||
|
the problem for you, edit /etc/rc.d/rc.modules.local or /etc/rc.d/rc.local
|
||||||
|
to load the module on boot, or create /etc/modprobe.d/rfkill.conf and put
|
||||||
|
the following line in it:
|
||||||
|
install rfkill /sbin/modprobe -i rfkill ; /sbin/modprobe -i rfkill-input
|
||||||
|
|
339
COPYING
Normal file
339
COPYING
Normal file
|
@ -0,0 +1,339 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
675 Mass Ave, Cambridge, MA 02139, USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Library General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) 19yy <name of author>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) 19yy name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Library General
|
||||||
|
Public License instead of this License.
|
674
COPYING3
Normal file
674
COPYING3
Normal file
|
@ -0,0 +1,674 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 3, 29 June 2007
|
||||||
|
|
||||||
|
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The GNU General Public License is a free, copyleft license for
|
||||||
|
software and other kinds of works.
|
||||||
|
|
||||||
|
The licenses for most software and other practical works are designed
|
||||||
|
to take away your freedom to share and change the works. By contrast,
|
||||||
|
the GNU General Public License is intended to guarantee your freedom to
|
||||||
|
share and change all versions of a program--to make sure it remains free
|
||||||
|
software for all its users. We, the Free Software Foundation, use the
|
||||||
|
GNU General Public License for most of our software; it applies also to
|
||||||
|
any other work released this way by its authors. You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
them if you wish), that you receive source code or can get it if you
|
||||||
|
want it, that you can change the software or use pieces of it in new
|
||||||
|
free programs, and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to prevent others from denying you
|
||||||
|
these rights or asking you to surrender the rights. Therefore, you have
|
||||||
|
certain responsibilities if you distribute copies of the software, or if
|
||||||
|
you modify it: responsibilities to respect the freedom of others.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must pass on to the recipients the same
|
||||||
|
freedoms that you received. You must make sure that they, too, receive
|
||||||
|
or can get the source code. And you must show them these terms so they
|
||||||
|
know their rights.
|
||||||
|
|
||||||
|
Developers that use the GNU GPL protect your rights with two steps:
|
||||||
|
(1) assert copyright on the software, and (2) offer you this License
|
||||||
|
giving you legal permission to copy, distribute and/or modify it.
|
||||||
|
|
||||||
|
For the developers' and authors' protection, the GPL clearly explains
|
||||||
|
that there is no warranty for this free software. For both users' and
|
||||||
|
authors' sake, the GPL requires that modified versions be marked as
|
||||||
|
changed, so that their problems will not be attributed erroneously to
|
||||||
|
authors of previous versions.
|
||||||
|
|
||||||
|
Some devices are designed to deny users access to install or run
|
||||||
|
modified versions of the software inside them, although the manufacturer
|
||||||
|
can do so. This is fundamentally incompatible with the aim of
|
||||||
|
protecting users' freedom to change the software. The systematic
|
||||||
|
pattern of such abuse occurs in the area of products for individuals to
|
||||||
|
use, which is precisely where it is most unacceptable. Therefore, we
|
||||||
|
have designed this version of the GPL to prohibit the practice for those
|
||||||
|
products. If such problems arise substantially in other domains, we
|
||||||
|
stand ready to extend this provision to those domains in future versions
|
||||||
|
of the GPL, as needed to protect the freedom of users.
|
||||||
|
|
||||||
|
Finally, every program is threatened constantly by software patents.
|
||||||
|
States should not allow patents to restrict development and use of
|
||||||
|
software on general-purpose computers, but in those that do, we wish to
|
||||||
|
avoid the special danger that patents applied to a free program could
|
||||||
|
make it effectively proprietary. To prevent this, the GPL assures that
|
||||||
|
patents cannot be used to render the program non-free.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
0. Definitions.
|
||||||
|
|
||||||
|
"This License" refers to version 3 of the GNU General Public License.
|
||||||
|
|
||||||
|
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||||
|
works, such as semiconductor masks.
|
||||||
|
|
||||||
|
"The Program" refers to any copyrightable work licensed under this
|
||||||
|
License. Each licensee is addressed as "you". "Licensees" and
|
||||||
|
"recipients" may be individuals or organizations.
|
||||||
|
|
||||||
|
To "modify" a work means to copy from or adapt all or part of the work
|
||||||
|
in a fashion requiring copyright permission, other than the making of an
|
||||||
|
exact copy. The resulting work is called a "modified version" of the
|
||||||
|
earlier work or a work "based on" the earlier work.
|
||||||
|
|
||||||
|
A "covered work" means either the unmodified Program or a work based
|
||||||
|
on the Program.
|
||||||
|
|
||||||
|
To "propagate" a work means to do anything with it that, without
|
||||||
|
permission, would make you directly or secondarily liable for
|
||||||
|
infringement under applicable copyright law, except executing it on a
|
||||||
|
computer or modifying a private copy. Propagation includes copying,
|
||||||
|
distribution (with or without modification), making available to the
|
||||||
|
public, and in some countries other activities as well.
|
||||||
|
|
||||||
|
To "convey" a work means any kind of propagation that enables other
|
||||||
|
parties to make or receive copies. Mere interaction with a user through
|
||||||
|
a computer network, with no transfer of a copy, is not conveying.
|
||||||
|
|
||||||
|
An interactive user interface displays "Appropriate Legal Notices"
|
||||||
|
to the extent that it includes a convenient and prominently visible
|
||||||
|
feature that (1) displays an appropriate copyright notice, and (2)
|
||||||
|
tells the user that there is no warranty for the work (except to the
|
||||||
|
extent that warranties are provided), that licensees may convey the
|
||||||
|
work under this License, and how to view a copy of this License. If
|
||||||
|
the interface presents a list of user commands or options, such as a
|
||||||
|
menu, a prominent item in the list meets this criterion.
|
||||||
|
|
||||||
|
1. Source Code.
|
||||||
|
|
||||||
|
The "source code" for a work means the preferred form of the work
|
||||||
|
for making modifications to it. "Object code" means any non-source
|
||||||
|
form of a work.
|
||||||
|
|
||||||
|
A "Standard Interface" means an interface that either is an official
|
||||||
|
standard defined by a recognized standards body, or, in the case of
|
||||||
|
interfaces specified for a particular programming language, one that
|
||||||
|
is widely used among developers working in that language.
|
||||||
|
|
||||||
|
The "System Libraries" of an executable work include anything, other
|
||||||
|
than the work as a whole, that (a) is included in the normal form of
|
||||||
|
packaging a Major Component, but which is not part of that Major
|
||||||
|
Component, and (b) serves only to enable use of the work with that
|
||||||
|
Major Component, or to implement a Standard Interface for which an
|
||||||
|
implementation is available to the public in source code form. A
|
||||||
|
"Major Component", in this context, means a major essential component
|
||||||
|
(kernel, window system, and so on) of the specific operating system
|
||||||
|
(if any) on which the executable work runs, or a compiler used to
|
||||||
|
produce the work, or an object code interpreter used to run it.
|
||||||
|
|
||||||
|
The "Corresponding Source" for a work in object code form means all
|
||||||
|
the source code needed to generate, install, and (for an executable
|
||||||
|
work) run the object code and to modify the work, including scripts to
|
||||||
|
control those activities. However, it does not include the work's
|
||||||
|
System Libraries, or general-purpose tools or generally available free
|
||||||
|
programs which are used unmodified in performing those activities but
|
||||||
|
which are not part of the work. For example, Corresponding Source
|
||||||
|
includes interface definition files associated with source files for
|
||||||
|
the work, and the source code for shared libraries and dynamically
|
||||||
|
linked subprograms that the work is specifically designed to require,
|
||||||
|
such as by intimate data communication or control flow between those
|
||||||
|
subprograms and other parts of the work.
|
||||||
|
|
||||||
|
The Corresponding Source need not include anything that users
|
||||||
|
can regenerate automatically from other parts of the Corresponding
|
||||||
|
Source.
|
||||||
|
|
||||||
|
The Corresponding Source for a work in source code form is that
|
||||||
|
same work.
|
||||||
|
|
||||||
|
2. Basic Permissions.
|
||||||
|
|
||||||
|
All rights granted under this License are granted for the term of
|
||||||
|
copyright on the Program, and are irrevocable provided the stated
|
||||||
|
conditions are met. This License explicitly affirms your unlimited
|
||||||
|
permission to run the unmodified Program. The output from running a
|
||||||
|
covered work is covered by this License only if the output, given its
|
||||||
|
content, constitutes a covered work. This License acknowledges your
|
||||||
|
rights of fair use or other equivalent, as provided by copyright law.
|
||||||
|
|
||||||
|
You may make, run and propagate covered works that you do not
|
||||||
|
convey, without conditions so long as your license otherwise remains
|
||||||
|
in force. You may convey covered works to others for the sole purpose
|
||||||
|
of having them make modifications exclusively for you, or provide you
|
||||||
|
with facilities for running those works, provided that you comply with
|
||||||
|
the terms of this License in conveying all material for which you do
|
||||||
|
not control copyright. Those thus making or running the covered works
|
||||||
|
for you must do so exclusively on your behalf, under your direction
|
||||||
|
and control, on terms that prohibit them from making any copies of
|
||||||
|
your copyrighted material outside their relationship with you.
|
||||||
|
|
||||||
|
Conveying under any other circumstances is permitted solely under
|
||||||
|
the conditions stated below. Sublicensing is not allowed; section 10
|
||||||
|
makes it unnecessary.
|
||||||
|
|
||||||
|
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||||
|
|
||||||
|
No covered work shall be deemed part of an effective technological
|
||||||
|
measure under any applicable law fulfilling obligations under article
|
||||||
|
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||||
|
similar laws prohibiting or restricting circumvention of such
|
||||||
|
measures.
|
||||||
|
|
||||||
|
When you convey a covered work, you waive any legal power to forbid
|
||||||
|
circumvention of technological measures to the extent such circumvention
|
||||||
|
is effected by exercising rights under this License with respect to
|
||||||
|
the covered work, and you disclaim any intention to limit operation or
|
||||||
|
modification of the work as a means of enforcing, against the work's
|
||||||
|
users, your or third parties' legal rights to forbid circumvention of
|
||||||
|
technological measures.
|
||||||
|
|
||||||
|
4. Conveying Verbatim Copies.
|
||||||
|
|
||||||
|
You may convey verbatim copies of the Program's source code as you
|
||||||
|
receive it, in any medium, provided that you conspicuously and
|
||||||
|
appropriately publish on each copy an appropriate copyright notice;
|
||||||
|
keep intact all notices stating that this License and any
|
||||||
|
non-permissive terms added in accord with section 7 apply to the code;
|
||||||
|
keep intact all notices of the absence of any warranty; and give all
|
||||||
|
recipients a copy of this License along with the Program.
|
||||||
|
|
||||||
|
You may charge any price or no price for each copy that you convey,
|
||||||
|
and you may offer support or warranty protection for a fee.
|
||||||
|
|
||||||
|
5. Conveying Modified Source Versions.
|
||||||
|
|
||||||
|
You may convey a work based on the Program, or the modifications to
|
||||||
|
produce it from the Program, in the form of source code under the
|
||||||
|
terms of section 4, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) The work must carry prominent notices stating that you modified
|
||||||
|
it, and giving a relevant date.
|
||||||
|
|
||||||
|
b) The work must carry prominent notices stating that it is
|
||||||
|
released under this License and any conditions added under section
|
||||||
|
7. This requirement modifies the requirement in section 4 to
|
||||||
|
"keep intact all notices".
|
||||||
|
|
||||||
|
c) You must license the entire work, as a whole, under this
|
||||||
|
License to anyone who comes into possession of a copy. This
|
||||||
|
License will therefore apply, along with any applicable section 7
|
||||||
|
additional terms, to the whole of the work, and all its parts,
|
||||||
|
regardless of how they are packaged. This License gives no
|
||||||
|
permission to license the work in any other way, but it does not
|
||||||
|
invalidate such permission if you have separately received it.
|
||||||
|
|
||||||
|
d) If the work has interactive user interfaces, each must display
|
||||||
|
Appropriate Legal Notices; however, if the Program has interactive
|
||||||
|
interfaces that do not display Appropriate Legal Notices, your
|
||||||
|
work need not make them do so.
|
||||||
|
|
||||||
|
A compilation of a covered work with other separate and independent
|
||||||
|
works, which are not by their nature extensions of the covered work,
|
||||||
|
and which are not combined with it such as to form a larger program,
|
||||||
|
in or on a volume of a storage or distribution medium, is called an
|
||||||
|
"aggregate" if the compilation and its resulting copyright are not
|
||||||
|
used to limit the access or legal rights of the compilation's users
|
||||||
|
beyond what the individual works permit. Inclusion of a covered work
|
||||||
|
in an aggregate does not cause this License to apply to the other
|
||||||
|
parts of the aggregate.
|
||||||
|
|
||||||
|
6. Conveying Non-Source Forms.
|
||||||
|
|
||||||
|
You may convey a covered work in object code form under the terms
|
||||||
|
of sections 4 and 5, provided that you also convey the
|
||||||
|
machine-readable Corresponding Source under the terms of this License,
|
||||||
|
in one of these ways:
|
||||||
|
|
||||||
|
a) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by the
|
||||||
|
Corresponding Source fixed on a durable physical medium
|
||||||
|
customarily used for software interchange.
|
||||||
|
|
||||||
|
b) Convey the object code in, or embodied in, a physical product
|
||||||
|
(including a physical distribution medium), accompanied by a
|
||||||
|
written offer, valid for at least three years and valid for as
|
||||||
|
long as you offer spare parts or customer support for that product
|
||||||
|
model, to give anyone who possesses the object code either (1) a
|
||||||
|
copy of the Corresponding Source for all the software in the
|
||||||
|
product that is covered by this License, on a durable physical
|
||||||
|
medium customarily used for software interchange, for a price no
|
||||||
|
more than your reasonable cost of physically performing this
|
||||||
|
conveying of source, or (2) access to copy the
|
||||||
|
Corresponding Source from a network server at no charge.
|
||||||
|
|
||||||
|
c) Convey individual copies of the object code with a copy of the
|
||||||
|
written offer to provide the Corresponding Source. This
|
||||||
|
alternative is allowed only occasionally and noncommercially, and
|
||||||
|
only if you received the object code with such an offer, in accord
|
||||||
|
with subsection 6b.
|
||||||
|
|
||||||
|
d) Convey the object code by offering access from a designated
|
||||||
|
place (gratis or for a charge), and offer equivalent access to the
|
||||||
|
Corresponding Source in the same way through the same place at no
|
||||||
|
further charge. You need not require recipients to copy the
|
||||||
|
Corresponding Source along with the object code. If the place to
|
||||||
|
copy the object code is a network server, the Corresponding Source
|
||||||
|
may be on a different server (operated by you or a third party)
|
||||||
|
that supports equivalent copying facilities, provided you maintain
|
||||||
|
clear directions next to the object code saying where to find the
|
||||||
|
Corresponding Source. Regardless of what server hosts the
|
||||||
|
Corresponding Source, you remain obligated to ensure that it is
|
||||||
|
available for as long as needed to satisfy these requirements.
|
||||||
|
|
||||||
|
e) Convey the object code using peer-to-peer transmission, provided
|
||||||
|
you inform other peers where the object code and Corresponding
|
||||||
|
Source of the work are being offered to the general public at no
|
||||||
|
charge under subsection 6d.
|
||||||
|
|
||||||
|
A separable portion of the object code, whose source code is excluded
|
||||||
|
from the Corresponding Source as a System Library, need not be
|
||||||
|
included in conveying the object code work.
|
||||||
|
|
||||||
|
A "User Product" is either (1) a "consumer product", which means any
|
||||||
|
tangible personal property which is normally used for personal, family,
|
||||||
|
or household purposes, or (2) anything designed or sold for incorporation
|
||||||
|
into a dwelling. In determining whether a product is a consumer product,
|
||||||
|
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||||
|
product received by a particular user, "normally used" refers to a
|
||||||
|
typical or common use of that class of product, regardless of the status
|
||||||
|
of the particular user or of the way in which the particular user
|
||||||
|
actually uses, or expects or is expected to use, the product. A product
|
||||||
|
is a consumer product regardless of whether the product has substantial
|
||||||
|
commercial, industrial or non-consumer uses, unless such uses represent
|
||||||
|
the only significant mode of use of the product.
|
||||||
|
|
||||||
|
"Installation Information" for a User Product means any methods,
|
||||||
|
procedures, authorization keys, or other information required to install
|
||||||
|
and execute modified versions of a covered work in that User Product from
|
||||||
|
a modified version of its Corresponding Source. The information must
|
||||||
|
suffice to ensure that the continued functioning of the modified object
|
||||||
|
code is in no case prevented or interfered with solely because
|
||||||
|
modification has been made.
|
||||||
|
|
||||||
|
If you convey an object code work under this section in, or with, or
|
||||||
|
specifically for use in, a User Product, and the conveying occurs as
|
||||||
|
part of a transaction in which the right of possession and use of the
|
||||||
|
User Product is transferred to the recipient in perpetuity or for a
|
||||||
|
fixed term (regardless of how the transaction is characterized), the
|
||||||
|
Corresponding Source conveyed under this section must be accompanied
|
||||||
|
by the Installation Information. But this requirement does not apply
|
||||||
|
if neither you nor any third party retains the ability to install
|
||||||
|
modified object code on the User Product (for example, the work has
|
||||||
|
been installed in ROM).
|
||||||
|
|
||||||
|
The requirement to provide Installation Information does not include a
|
||||||
|
requirement to continue to provide support service, warranty, or updates
|
||||||
|
for a work that has been modified or installed by the recipient, or for
|
||||||
|
the User Product in which it has been modified or installed. Access to a
|
||||||
|
network may be denied when the modification itself materially and
|
||||||
|
adversely affects the operation of the network or violates the rules and
|
||||||
|
protocols for communication across the network.
|
||||||
|
|
||||||
|
Corresponding Source conveyed, and Installation Information provided,
|
||||||
|
in accord with this section must be in a format that is publicly
|
||||||
|
documented (and with an implementation available to the public in
|
||||||
|
source code form), and must require no special password or key for
|
||||||
|
unpacking, reading or copying.
|
||||||
|
|
||||||
|
7. Additional Terms.
|
||||||
|
|
||||||
|
"Additional permissions" are terms that supplement the terms of this
|
||||||
|
License by making exceptions from one or more of its conditions.
|
||||||
|
Additional permissions that are applicable to the entire Program shall
|
||||||
|
be treated as though they were included in this License, to the extent
|
||||||
|
that they are valid under applicable law. If additional permissions
|
||||||
|
apply only to part of the Program, that part may be used separately
|
||||||
|
under those permissions, but the entire Program remains governed by
|
||||||
|
this License without regard to the additional permissions.
|
||||||
|
|
||||||
|
When you convey a copy of a covered work, you may at your option
|
||||||
|
remove any additional permissions from that copy, or from any part of
|
||||||
|
it. (Additional permissions may be written to require their own
|
||||||
|
removal in certain cases when you modify the work.) You may place
|
||||||
|
additional permissions on material, added by you to a covered work,
|
||||||
|
for which you have or can give appropriate copyright permission.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, for material you
|
||||||
|
add to a covered work, you may (if authorized by the copyright holders of
|
||||||
|
that material) supplement the terms of this License with terms:
|
||||||
|
|
||||||
|
a) Disclaiming warranty or limiting liability differently from the
|
||||||
|
terms of sections 15 and 16 of this License; or
|
||||||
|
|
||||||
|
b) Requiring preservation of specified reasonable legal notices or
|
||||||
|
author attributions in that material or in the Appropriate Legal
|
||||||
|
Notices displayed by works containing it; or
|
||||||
|
|
||||||
|
c) Prohibiting misrepresentation of the origin of that material, or
|
||||||
|
requiring that modified versions of such material be marked in
|
||||||
|
reasonable ways as different from the original version; or
|
||||||
|
|
||||||
|
d) Limiting the use for publicity purposes of names of licensors or
|
||||||
|
authors of the material; or
|
||||||
|
|
||||||
|
e) Declining to grant rights under trademark law for use of some
|
||||||
|
trade names, trademarks, or service marks; or
|
||||||
|
|
||||||
|
f) Requiring indemnification of licensors and authors of that
|
||||||
|
material by anyone who conveys the material (or modified versions of
|
||||||
|
it) with contractual assumptions of liability to the recipient, for
|
||||||
|
any liability that these contractual assumptions directly impose on
|
||||||
|
those licensors and authors.
|
||||||
|
|
||||||
|
All other non-permissive additional terms are considered "further
|
||||||
|
restrictions" within the meaning of section 10. If the Program as you
|
||||||
|
received it, or any part of it, contains a notice stating that it is
|
||||||
|
governed by this License along with a term that is a further
|
||||||
|
restriction, you may remove that term. If a license document contains
|
||||||
|
a further restriction but permits relicensing or conveying under this
|
||||||
|
License, you may add to a covered work material governed by the terms
|
||||||
|
of that license document, provided that the further restriction does
|
||||||
|
not survive such relicensing or conveying.
|
||||||
|
|
||||||
|
If you add terms to a covered work in accord with this section, you
|
||||||
|
must place, in the relevant source files, a statement of the
|
||||||
|
additional terms that apply to those files, or a notice indicating
|
||||||
|
where to find the applicable terms.
|
||||||
|
|
||||||
|
Additional terms, permissive or non-permissive, may be stated in the
|
||||||
|
form of a separately written license, or stated as exceptions;
|
||||||
|
the above requirements apply either way.
|
||||||
|
|
||||||
|
8. Termination.
|
||||||
|
|
||||||
|
You may not propagate or modify a covered work except as expressly
|
||||||
|
provided under this License. Any attempt otherwise to propagate or
|
||||||
|
modify it is void, and will automatically terminate your rights under
|
||||||
|
this License (including any patent licenses granted under the third
|
||||||
|
paragraph of section 11).
|
||||||
|
|
||||||
|
However, if you cease all violation of this License, then your
|
||||||
|
license from a particular copyright holder is reinstated (a)
|
||||||
|
provisionally, unless and until the copyright holder explicitly and
|
||||||
|
finally terminates your license, and (b) permanently, if the copyright
|
||||||
|
holder fails to notify you of the violation by some reasonable means
|
||||||
|
prior to 60 days after the cessation.
|
||||||
|
|
||||||
|
Moreover, your license from a particular copyright holder is
|
||||||
|
reinstated permanently if the copyright holder notifies you of the
|
||||||
|
violation by some reasonable means, this is the first time you have
|
||||||
|
received notice of violation of this License (for any work) from that
|
||||||
|
copyright holder, and you cure the violation prior to 30 days after
|
||||||
|
your receipt of the notice.
|
||||||
|
|
||||||
|
Termination of your rights under this section does not terminate the
|
||||||
|
licenses of parties who have received copies or rights from you under
|
||||||
|
this License. If your rights have been terminated and not permanently
|
||||||
|
reinstated, you do not qualify to receive new licenses for the same
|
||||||
|
material under section 10.
|
||||||
|
|
||||||
|
9. Acceptance Not Required for Having Copies.
|
||||||
|
|
||||||
|
You are not required to accept this License in order to receive or
|
||||||
|
run a copy of the Program. Ancillary propagation of a covered work
|
||||||
|
occurring solely as a consequence of using peer-to-peer transmission
|
||||||
|
to receive a copy likewise does not require acceptance. However,
|
||||||
|
nothing other than this License grants you permission to propagate or
|
||||||
|
modify any covered work. These actions infringe copyright if you do
|
||||||
|
not accept this License. Therefore, by modifying or propagating a
|
||||||
|
covered work, you indicate your acceptance of this License to do so.
|
||||||
|
|
||||||
|
10. Automatic Licensing of Downstream Recipients.
|
||||||
|
|
||||||
|
Each time you convey a covered work, the recipient automatically
|
||||||
|
receives a license from the original licensors, to run, modify and
|
||||||
|
propagate that work, subject to this License. You are not responsible
|
||||||
|
for enforcing compliance by third parties with this License.
|
||||||
|
|
||||||
|
An "entity transaction" is a transaction transferring control of an
|
||||||
|
organization, or substantially all assets of one, or subdividing an
|
||||||
|
organization, or merging organizations. If propagation of a covered
|
||||||
|
work results from an entity transaction, each party to that
|
||||||
|
transaction who receives a copy of the work also receives whatever
|
||||||
|
licenses to the work the party's predecessor in interest had or could
|
||||||
|
give under the previous paragraph, plus a right to possession of the
|
||||||
|
Corresponding Source of the work from the predecessor in interest, if
|
||||||
|
the predecessor has it or can get it with reasonable efforts.
|
||||||
|
|
||||||
|
You may not impose any further restrictions on the exercise of the
|
||||||
|
rights granted or affirmed under this License. For example, you may
|
||||||
|
not impose a license fee, royalty, or other charge for exercise of
|
||||||
|
rights granted under this License, and you may not initiate litigation
|
||||||
|
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||||
|
any patent claim is infringed by making, using, selling, offering for
|
||||||
|
sale, or importing the Program or any portion of it.
|
||||||
|
|
||||||
|
11. Patents.
|
||||||
|
|
||||||
|
A "contributor" is a copyright holder who authorizes use under this
|
||||||
|
License of the Program or a work on which the Program is based. The
|
||||||
|
work thus licensed is called the contributor's "contributor version".
|
||||||
|
|
||||||
|
A contributor's "essential patent claims" are all patent claims
|
||||||
|
owned or controlled by the contributor, whether already acquired or
|
||||||
|
hereafter acquired, that would be infringed by some manner, permitted
|
||||||
|
by this License, of making, using, or selling its contributor version,
|
||||||
|
but do not include claims that would be infringed only as a
|
||||||
|
consequence of further modification of the contributor version. For
|
||||||
|
purposes of this definition, "control" includes the right to grant
|
||||||
|
patent sublicenses in a manner consistent with the requirements of
|
||||||
|
this License.
|
||||||
|
|
||||||
|
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||||
|
patent license under the contributor's essential patent claims, to
|
||||||
|
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||||
|
propagate the contents of its contributor version.
|
||||||
|
|
||||||
|
In the following three paragraphs, a "patent license" is any express
|
||||||
|
agreement or commitment, however denominated, not to enforce a patent
|
||||||
|
(such as an express permission to practice a patent or covenant not to
|
||||||
|
sue for patent infringement). To "grant" such a patent license to a
|
||||||
|
party means to make such an agreement or commitment not to enforce a
|
||||||
|
patent against the party.
|
||||||
|
|
||||||
|
If you convey a covered work, knowingly relying on a patent license,
|
||||||
|
and the Corresponding Source of the work is not available for anyone
|
||||||
|
to copy, free of charge and under the terms of this License, through a
|
||||||
|
publicly available network server or other readily accessible means,
|
||||||
|
then you must either (1) cause the Corresponding Source to be so
|
||||||
|
available, or (2) arrange to deprive yourself of the benefit of the
|
||||||
|
patent license for this particular work, or (3) arrange, in a manner
|
||||||
|
consistent with the requirements of this License, to extend the patent
|
||||||
|
license to downstream recipients. "Knowingly relying" means you have
|
||||||
|
actual knowledge that, but for the patent license, your conveying the
|
||||||
|
covered work in a country, or your recipient's use of the covered work
|
||||||
|
in a country, would infringe one or more identifiable patents in that
|
||||||
|
country that you have reason to believe are valid.
|
||||||
|
|
||||||
|
If, pursuant to or in connection with a single transaction or
|
||||||
|
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||||
|
covered work, and grant a patent license to some of the parties
|
||||||
|
receiving the covered work authorizing them to use, propagate, modify
|
||||||
|
or convey a specific copy of the covered work, then the patent license
|
||||||
|
you grant is automatically extended to all recipients of the covered
|
||||||
|
work and works based on it.
|
||||||
|
|
||||||
|
A patent license is "discriminatory" if it does not include within
|
||||||
|
the scope of its coverage, prohibits the exercise of, or is
|
||||||
|
conditioned on the non-exercise of one or more of the rights that are
|
||||||
|
specifically granted under this License. You may not convey a covered
|
||||||
|
work if you are a party to an arrangement with a third party that is
|
||||||
|
in the business of distributing software, under which you make payment
|
||||||
|
to the third party based on the extent of your activity of conveying
|
||||||
|
the work, and under which the third party grants, to any of the
|
||||||
|
parties who would receive the covered work from you, a discriminatory
|
||||||
|
patent license (a) in connection with copies of the covered work
|
||||||
|
conveyed by you (or copies made from those copies), or (b) primarily
|
||||||
|
for and in connection with specific products or compilations that
|
||||||
|
contain the covered work, unless you entered into that arrangement,
|
||||||
|
or that patent license was granted, prior to 28 March 2007.
|
||||||
|
|
||||||
|
Nothing in this License shall be construed as excluding or limiting
|
||||||
|
any implied license or other defenses to infringement that may
|
||||||
|
otherwise be available to you under applicable patent law.
|
||||||
|
|
||||||
|
12. No Surrender of Others' Freedom.
|
||||||
|
|
||||||
|
If conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot convey a
|
||||||
|
covered work so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you may
|
||||||
|
not convey it at all. For example, if you agree to terms that obligate you
|
||||||
|
to collect a royalty for further conveying from those to whom you convey
|
||||||
|
the Program, the only way you could satisfy both those terms and this
|
||||||
|
License would be to refrain entirely from conveying the Program.
|
||||||
|
|
||||||
|
13. Use with the GNU Affero General Public License.
|
||||||
|
|
||||||
|
Notwithstanding any other provision of this License, you have
|
||||||
|
permission to link or combine any covered work with a work licensed
|
||||||
|
under version 3 of the GNU Affero General Public License into a single
|
||||||
|
combined work, and to convey the resulting work. The terms of this
|
||||||
|
License will continue to apply to the part which is the covered work,
|
||||||
|
but the special requirements of the GNU Affero General Public License,
|
||||||
|
section 13, concerning interaction through a network will apply to the
|
||||||
|
combination as such.
|
||||||
|
|
||||||
|
14. Revised Versions of this License.
|
||||||
|
|
||||||
|
The Free Software Foundation may publish revised and/or new versions of
|
||||||
|
the GNU General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the
|
||||||
|
Program specifies that a certain numbered version of the GNU General
|
||||||
|
Public License "or any later version" applies to it, you have the
|
||||||
|
option of following the terms and conditions either of that numbered
|
||||||
|
version or of any later version published by the Free Software
|
||||||
|
Foundation. If the Program does not specify a version number of the
|
||||||
|
GNU General Public License, you may choose any version ever published
|
||||||
|
by the Free Software Foundation.
|
||||||
|
|
||||||
|
If the Program specifies that a proxy can decide which future
|
||||||
|
versions of the GNU General Public License can be used, that proxy's
|
||||||
|
public statement of acceptance of a version permanently authorizes you
|
||||||
|
to choose that version for the Program.
|
||||||
|
|
||||||
|
Later license versions may give you additional or different
|
||||||
|
permissions. However, no additional obligations are imposed on any
|
||||||
|
author or copyright holder as a result of your choosing to follow a
|
||||||
|
later version.
|
||||||
|
|
||||||
|
15. Disclaimer of Warranty.
|
||||||
|
|
||||||
|
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||||
|
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||||
|
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||||
|
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||||
|
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||||
|
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
16. Limitation of Liability.
|
||||||
|
|
||||||
|
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||||
|
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||||
|
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||||
|
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||||
|
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||||
|
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||||
|
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGES.
|
||||||
|
|
||||||
|
17. Interpretation of Sections 15 and 16.
|
||||||
|
|
||||||
|
If the disclaimer of warranty and limitation of liability provided
|
||||||
|
above cannot be given local legal effect according to their terms,
|
||||||
|
reviewing courts shall apply local law that most closely approximates
|
||||||
|
an absolute waiver of all civil liability in connection with the
|
||||||
|
Program, unless a warranty or assumption of liability accompanies a
|
||||||
|
copy of the Program in return for a fee.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
state the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
This program is free software: you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation, either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
GNU General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program does terminal interaction, make it output a short
|
||||||
|
notice like this when it starts in an interactive mode:
|
||||||
|
|
||||||
|
<program> Copyright (C) <year> <name of author>
|
||||||
|
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, your program's commands
|
||||||
|
might be different; for a GUI interface, you would use an "about box".
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or school,
|
||||||
|
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||||
|
For more information on this, and how to apply and follow the GNU GPL, see
|
||||||
|
<http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
The GNU General Public License does not permit incorporating your program
|
||||||
|
into proprietary programs. If your program is a subroutine library, you
|
||||||
|
may consider it more useful to permit linking proprietary applications with
|
||||||
|
the library. If this is what you want to do, use the GNU Lesser General
|
||||||
|
Public License instead of this License. But first, please read
|
||||||
|
<http://www.gnu.org/philosophy/why-not-lgpl.html>.
|
402
COPYRIGHT.TXT
Normal file
402
COPYRIGHT.TXT
Normal file
|
@ -0,0 +1,402 @@
|
||||||
|
|
||||||
|
This is the Slackware COPYRIGHT file. This file provides documentation
|
||||||
|
about many of the licenses used by components included in Slackware, as
|
||||||
|
well as some acknowledgements (some required, some freely given).
|
||||||
|
|
||||||
|
This is not meant to be a list of all copyrights and contributors.
|
||||||
|
For complete information about all copyrights and licenses, refer to
|
||||||
|
the package documentation installed under /usr/doc/ and to the
|
||||||
|
included source code.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
The Linux(R) kernel is licensed under the GPL version 2, which can
|
||||||
|
be found in the file COPYING. Linus offers his interpretation of how
|
||||||
|
the GPL applies to the kernel at the top of the COPYING file found in
|
||||||
|
the kernel sources. Here's the quote:
|
||||||
|
|
||||||
|
"NOTE! This copyright does *not* cover user programs that use kernel
|
||||||
|
services by normal system calls - this is merely considered normal use
|
||||||
|
of the kernel, and does *not* fall under the heading of "derived work".
|
||||||
|
Also note that the GPL below is copyrighted by the Free Software
|
||||||
|
Foundation, but the instance of code that it refers to (the Linux
|
||||||
|
kernel) is copyrighted by me and others who actually wrote it.
|
||||||
|
|
||||||
|
Also note that the only valid version of the GPL as far as the kernel
|
||||||
|
is concerned is _this_ particular version of the license (ie v2, not
|
||||||
|
v2.2 or v3.x or whatever), unless explicitly otherwise stated.
|
||||||
|
|
||||||
|
Linus Torvalds"
|
||||||
|
|
||||||
|
Linux is a Registered Trademark of Linus Torvalds.
|
||||||
|
|
||||||
|
(see COPYING in /usr/src/linux)
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Many other software packages included in Slackware are licensed under the GNU
|
||||||
|
General Public License v2, which is included in the file COPYING.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Some software packages included in Slackware are licensed under the GNU
|
||||||
|
General Public License v3, which is included in the file COPYING3.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This product includes software developed by The XFree86 Project, Inc
|
||||||
|
(http://www.xfree86.org/) and its contributors.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This product includes software developed by the University of
|
||||||
|
California, Berkeley and its contributors:
|
||||||
|
|
||||||
|
Copyright (c) 1980,1983,1985,1986,1988,1990,1991 The Regents of the University
|
||||||
|
of California. All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. All advertising materials mentioning features or use of this software
|
||||||
|
must display the following acknowledgment:
|
||||||
|
This product includes software developed by the University of
|
||||||
|
California, Berkeley and its contributors.
|
||||||
|
4. Neither the name of the University nor the names of its contributors
|
||||||
|
may be used to endorse or promote products derived from this software
|
||||||
|
without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||||
|
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Copyright (c) 2000,2001,2002,2003 The Regents of the Unviersity of Michigan
|
||||||
|
(kernel code, no stated license, presumed GPLv2)
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Copyright (c) 1999-2003 Ralf S. Engelschall <rse@engelschall.com>
|
||||||
|
Copyright (c) 1999-2003 The OSSP Project <http://www.ossp.org/>
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
3. All advertising materials mentioning features or use of this
|
||||||
|
software must display the following acknowledgment:
|
||||||
|
"This product includes software developed by
|
||||||
|
Ralf S. Engelschall <rse@engelschall.com>."
|
||||||
|
|
||||||
|
4. Redistributions of any form whatsoever must retain the following
|
||||||
|
acknowledgment:
|
||||||
|
"This product includes software developed by
|
||||||
|
Ralf S. Engelschall <rse@engelschall.com>."
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY RALF S. ENGELSCHALL ``AS IS'' AND ANY
|
||||||
|
EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL RALF S. ENGELSCHALL OR
|
||||||
|
ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
/* ====================================================================
|
||||||
|
* Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
*
|
||||||
|
* 1. Redistributions of source code must retain the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
*
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in
|
||||||
|
* the documentation and/or other materials provided with the
|
||||||
|
* distribution.
|
||||||
|
*
|
||||||
|
* 3. All advertising materials mentioning features or use of this
|
||||||
|
* software must display the following acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
|
||||||
|
* endorse or promote products derived from this software without
|
||||||
|
* prior written permission. For written permission, please contact
|
||||||
|
* openssl-core@openssl.org.
|
||||||
|
*
|
||||||
|
* 5. Products derived from this software may not be called "OpenSSL"
|
||||||
|
* nor may "OpenSSL" appear in their names without prior written
|
||||||
|
* permission of the OpenSSL Project.
|
||||||
|
*
|
||||||
|
* 6. Redistributions of any form whatsoever must retain the following
|
||||||
|
* acknowledgment:
|
||||||
|
* "This product includes software developed by the OpenSSL Project
|
||||||
|
* for use in the OpenSSL Toolkit (http://www.openssl.org/)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
|
||||||
|
* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
|
||||||
|
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
* OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
* ====================================================================
|
||||||
|
*
|
||||||
|
* This product includes cryptographic software written by Eric Young
|
||||||
|
* (eay@cryptsoft.com). This product includes software written by Tim
|
||||||
|
* Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
Original SSLeay License
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This package is an SSL implementation written
|
||||||
|
* by Eric Young (eay@cryptsoft.com).
|
||||||
|
* The implementation was written so as to conform with Netscapes SSL.
|
||||||
|
*
|
||||||
|
* This library is free for commercial and non-commercial use as long as
|
||||||
|
* the following conditions are aheared to. The following conditions
|
||||||
|
* apply to all code found in this distribution, be it the RC4, RSA,
|
||||||
|
* lhash, DES, etc., code; not just the SSL code. The SSL documentation
|
||||||
|
* included with this distribution is covered by the same copyright terms
|
||||||
|
* except that the holder is Tim Hudson (tjh@cryptsoft.com).
|
||||||
|
*
|
||||||
|
* Copyright remains Eric Young's, and as such any Copyright notices in
|
||||||
|
* the code are not to be removed.
|
||||||
|
* If this package is used in a product, Eric Young should be given attribution
|
||||||
|
* as the author of the parts of the library used.
|
||||||
|
* This can be in the form of a textual message at program startup or
|
||||||
|
* in documentation (online or textual) provided with the package.
|
||||||
|
*
|
||||||
|
* Redistribution and use in source and binary forms, with or without
|
||||||
|
* modification, are permitted provided that the following conditions
|
||||||
|
* are met:
|
||||||
|
* 1. Redistributions of source code must retain the copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer.
|
||||||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
* notice, this list of conditions and the following disclaimer in the
|
||||||
|
* documentation and/or other materials provided with the distribution.
|
||||||
|
* 3. All advertising materials mentioning features or use of this software
|
||||||
|
* must display the following acknowledgement:
|
||||||
|
* "This product includes cryptographic software written by
|
||||||
|
* Eric Young (eay@cryptsoft.com)"
|
||||||
|
* The word 'cryptographic' can be left out if the rouines from the library
|
||||||
|
* being used are not cryptographic related :-).
|
||||||
|
* 4. If you include any Windows specific code (or a derivative thereof) from
|
||||||
|
* the apps directory (application code) you must include an acknowledgement:
|
||||||
|
* "This product includes software written by Tim Hudson (tjh@cryptsoft.com)"
|
||||||
|
*
|
||||||
|
* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND
|
||||||
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
||||||
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
* SUCH DAMAGE.
|
||||||
|
*
|
||||||
|
* The licence and distribution terms for any publically available version or
|
||||||
|
* derivative of this code cannot be changed. i.e. this code cannot simply be
|
||||||
|
* copied and put under another distribution licence
|
||||||
|
* [including the GNU Public Licence.]
|
||||||
|
*/
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
The Slackware distribution contains Info-ZIP's compression utilities.
|
||||||
|
Info-ZIP's software (Zip, UnZip and related utilities) is free and can be
|
||||||
|
obtained as source code or executables from various sites,
|
||||||
|
including http://www.info-zip.org. This software is provided free -
|
||||||
|
there are no extra or hidden charges resulting from the use of this
|
||||||
|
compression code. Thanks Info-ZIP! :^)
|
||||||
|
|
||||||
|
Zip/Unzip source can also be found in the source/a/infozip directory.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
The Slackware Installation scripts are:
|
||||||
|
|
||||||
|
Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999 Patrick Volkerding, Moorhead, Minnesota, USA.
|
||||||
|
Copyright 2001, 2002, 2003, 2004, 2005 Slackware Linux, Inc. Concord, CA, USA.
|
||||||
|
Copyright 2005, 2006, 2007, 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA.
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use of this software, with or without modification, is
|
||||||
|
permitted provided that the following conditions are met:
|
||||||
|
|
||||||
|
1. Redistributions of this software must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Slackware is a registered trademark of Patrick Volkerding and Slackware Linux, Inc.
|
||||||
|
Permission to use the Slackware trademark to refer to the Slackware distribution
|
||||||
|
of Linux is hereby granted if the following conditions are met:
|
||||||
|
|
||||||
|
1. In order to be called "Slackware", the distribution may not be altered
|
||||||
|
from the way it appears on the central FTP site (ftp.slackware.com). This
|
||||||
|
is to protect the integrity, reliability, and reputation of the Slackware
|
||||||
|
distribution. (Note that moving entire directories like "source" or
|
||||||
|
"contrib" to a second CD-ROM is allowable, but leaving them out and
|
||||||
|
distributing a single source-free disc is *not*, as indicated below)
|
||||||
|
Anyone wishing to distribute an altered version must have the changes
|
||||||
|
approved by volkerdi@slackware.com (i.e. certified to be reasonably
|
||||||
|
bug-free). If the changed distribution meets the required standards for
|
||||||
|
quality, then written permission to use the Slackware trademark may be
|
||||||
|
provided.
|
||||||
|
|
||||||
|
2. All related source code must be included. (This is also required by the
|
||||||
|
GNU General Public License, and other licenses)
|
||||||
|
|
||||||
|
3. Except by written permission from Slackware Linux, Inc., the Slackware
|
||||||
|
trademark may not be used as (or as part of) a product name, company
|
||||||
|
name, or registered domain name.
|
||||||
|
|
||||||
|
4. Any approved use of "Slackware" must be followed by a circle-R, and must
|
||||||
|
acknowledge our ownership of the mark.
|
||||||
|
|
||||||
|
Note that you can still redistribute a distribution that doesn't meet these
|
||||||
|
criteria, you just can't call it "Slackware". Personally, I hate restricting
|
||||||
|
things in any way, but these restrictions are not designed to make life
|
||||||
|
difficult for anyone. I just want to make sure that bugs are not added to
|
||||||
|
commercial redistributions of Slackware. They have been in the past, and
|
||||||
|
the resulting requests for help have flooded my mailbox! I'm just trying to
|
||||||
|
make sure that I have some recourse when something like that happens.
|
||||||
|
|
||||||
|
Any questions about this policy should be directed to:
|
||||||
|
Patrick Volkerding <volkerdi@slackware.com>
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This product includes software that is based in part of the work of the
|
||||||
|
FreeType Team ( http://www.freetype.org ).
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This product includes software developed by Christopher G. Demetriou.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This product includes software developed by the NetBSD Foundation,
|
||||||
|
Inc. and its contributors.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This product includes software developed by
|
||||||
|
X-Oz Tehnologies ( http://www.x-oz.com/ ).
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
$File: LEGAL.NOTICE,v 1.15 2006/05/03 18:48:33 christos Exp $
|
||||||
|
Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
|
||||||
|
Software written by Ian F. Darwin and others;
|
||||||
|
maintained 1994- Christos Zoulas.
|
||||||
|
|
||||||
|
This software is not subject to any export provision of the United States
|
||||||
|
Department of Commerce, and may be exported to any country or planet.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice immediately at the beginning of the file, without modification,
|
||||||
|
this list of conditions, and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||||
|
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
|
||||||
|
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||||
|
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||||
|
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
SUCH DAMAGE.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Although every effort has been made to provide a complete source tree for this
|
||||||
|
project, it's possible that something may have been forgotten. If you discover
|
||||||
|
anything is missing, we will provide copies - just ask!
|
||||||
|
|
||||||
|
NOTE: We are required to provide any missing source to GPLv2'ed software for
|
||||||
|
3 years, per this section of the GNU General Public License:
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
We are also required to do the above, or provide access to copy the source that
|
||||||
|
corresponds to your binaries from a network server in the case of materials
|
||||||
|
which are licensed under the GPLv3 (see COPYING3 for the complete license).
|
||||||
|
|
||||||
|
If you find something is missing online (even if you don't need a copy),
|
||||||
|
please point it out to volkerdi@slackware.com so it can be fixed.
|
||||||
|
|
||||||
|
If some source code falling under this or a similar license is missing from
|
||||||
|
a commercial Slackware release obtained from or manufactured by us, and you
|
||||||
|
want a copy, just ask volkerdi@slackware.com and we will be happy to arrange
|
||||||
|
for you to get a copy in compliance with the terms of the specific license.
|
||||||
|
|
14
CRYPTO_NOTICE.TXT
Normal file
14
CRYPTO_NOTICE.TXT
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
Due to U.S. Exports Regulations, all cryptographic software on this
|
||||||
|
site is subject to the following legal notice:
|
||||||
|
|
||||||
|
This site includes publicly available encryption source code
|
||||||
|
which, together with object code resulting from the compiling of
|
||||||
|
publicly available source code, may be exported from the United
|
||||||
|
States under License Exception "TSU" pursuant to 15 C.F.R. Section
|
||||||
|
740.13(e).
|
||||||
|
|
||||||
|
This legal notice applies to cryptographic software only. Please see
|
||||||
|
the Bureau of Industry and Security (http://www.bis.doc.gov/) for more
|
||||||
|
information about current U.S. regulations.
|
||||||
|
|
1441
ChangeLog.txt
Normal file
1441
ChangeLog.txt
Normal file
File diff suppressed because it is too large
Load diff
9103
FILELIST.TXT
Normal file
9103
FILELIST.TXT
Normal file
File diff suppressed because it is too large
Load diff
31
GPG-KEY
Normal file
31
GPG-KEY
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
security@slackware.com public key
|
||||||
|
|
||||||
|
Type bits/keyID Date User ID
|
||||||
|
pub 1024D/40102233 2003-02-26 Slackware Linux Project <security@slackware.com>
|
||||||
|
sub 1024g/4E523569 2003-02-26 [expires: 2012-12-21]
|
||||||
|
|
||||||
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
Version: GnuPG v1.2.1 (GNU/Linux)
|
||||||
|
|
||||||
|
mQGiBD5dIFQRBADB31WinbXdaGk/8RNkpnZclu1w3Xmd5ItACDLB2FhOhArw35EA
|
||||||
|
MOYzxI0gRtDNWN4pn9n74q4HbFzyRWElThWRtBTYLEpImzrk7HYVCjMxjw5A0fTr
|
||||||
|
88aiHOth5aS0vPAoq+3TYn6JDSipf2bR03G2JVwgj3Iu066pX4naivNm8wCgldHG
|
||||||
|
F3y9vT3UPYh3QFgEUlCalt0D/3n6NopRYy0hMN6BPu+NarXwv6NQ9g0GV5FNjEEr
|
||||||
|
igkrD/htqCyWAUl8zyCKKUFZZx4UGBRZ5guCdNzwgYH3yn3aVMhJYQ6tcSlLsj3f
|
||||||
|
JIz4LAZ3+rI77rbn7gHHdp7CSAuV+QHv3aNanUD/KGz5SPSvF4w+5qRM4PfPNT1h
|
||||||
|
LMV8BACzxiyX7vzeE4ZxNYvcuCtv0mvEHl9yD66NFA35RvXaO0QiRVYeoUa5JOQZ
|
||||||
|
gwq+fIB0zgsEYDhXFkC1hM/QL4NccMRk8C09nFn4eiz4dAEnwKt4rLCJKhkLl1DW
|
||||||
|
TSoXHe/dOXaLnFyLzB1J8hEYmUvw3SwPt//wMqDiVBLeZfFcdLQwU2xhY2t3YXJl
|
||||||
|
IExpbnV4IFByb2plY3QgPHNlY3VyaXR5QHNsYWNrd2FyZS5jb20+iF8EExECAB8F
|
||||||
|
Aj5dIFQFCRJ3owAECwcDAgMVAgMDFgIBAh4BAheAAAoJEGpEY8BAECIzee0An3My
|
||||||
|
boalJ5nLePD0HCzMuf8Ix8gPAJ9lnU1wqNVGza0t89ACTurDoppQ2rkBDQQ+XSBV
|
||||||
|
EAQA3VYlpPyRKdOKoM6t1SwNG0YgVFSvxy/eiratBf7misDBsJeH86Pf8H9OfVHO
|
||||||
|
cqscLiC+iqvDgqeTUX9vASjlnvcoS/3H5TDPlxiifIDggqd2euNtJ8+lyXRBV6yP
|
||||||
|
sBIA6zki9cR4zphe48hKpSsDfj7uL5sfyc2UmKKboSu3x7cAAwUD/1jmoLQs9bIt
|
||||||
|
bTosoy+5+Uzrl0ShRlv+iZV8RPzAMFuRJNxUJkUmmThowtXRaPKFI9AVd+pP44aA
|
||||||
|
J+zxCPtS2isiW20AxubJoBPpXcVatJWi4sG+TM5Z5VRoLg7tIDNVWsyHGXPAhIG2
|
||||||
|
Y8Z1kyWwb4P8A/W2b1ZCqS7Fx4yEhTikiEwEGBECAAwFAj5dIFUFCRJ3owAACgkQ
|
||||||
|
akRjwEAQIjM1uwCdE7V4mPCqdby/nV699NxKX0iW/OsAniaVhEip8Ptff74Sv4JV
|
||||||
|
tb+Sth2l
|
||||||
|
=H5uu
|
||||||
|
-----END PGP PUBLIC KEY BLOCK-----
|
192
README.TXT
Normal file
192
README.TXT
Normal file
|
@ -0,0 +1,192 @@
|
||||||
|
|
||||||
|
Welcome to Slackware 13.0! (64-bit x86_64 edition)
|
||||||
|
|
||||||
|
Slackware 13.0 is a complete distribution of the Linux operating system.
|
||||||
|
|
||||||
|
Here are some versions of major components of Slackware 13.0:
|
||||||
|
|
||||||
|
- Linux kernel 2.6.29.6
|
||||||
|
- C compiler gcc-4.3.3
|
||||||
|
- Binutils 2.18.50.0.9
|
||||||
|
- GNU C Library glibc-2.9
|
||||||
|
- X Window System Updated (but not "bleeding edge") packages
|
||||||
|
from X.Org
|
||||||
|
- KDE 4.2.4
|
||||||
|
- Xfce 4.6.1
|
||||||
|
|
||||||
|
For installation instructions, see the file 'Slackware-HOWTO'.
|
||||||
|
|
||||||
|
For important hints about this release, see the file 'CHANGES_AND_HINTS.TXT'.
|
||||||
|
|
||||||
|
These are some of the important files and directories found on the Slackware
|
||||||
|
FTP site:
|
||||||
|
|
||||||
|
ftp://ftp.slackware.com/pub/slackware/slackware-13.0/
|
||||||
|
|
||||||
|
There is also a newer (and faster) primary FTP site for Slackware here:
|
||||||
|
|
||||||
|
ftp://slackware.osuosl.org/pub/slackware/slackware-13.0/
|
||||||
|
|
||||||
|
Thanks to cwo.com for continuing to help us with hosting for our web site
|
||||||
|
and ftp.slackware.com, and to the OSU Open Source Lab for hosting our
|
||||||
|
archives at slackware.osuosl.org.
|
||||||
|
|
||||||
|
If you're reading this on a CD-ROM, these directories will probably be
|
||||||
|
split across several discs.
|
||||||
|
|
||||||
|
.
|
||||||
|
|-- ANNOUNCE.13_0 Announcement for Slackware 13.0.
|
||||||
|
|-- BOOTING.TXT Tips for troubleshooting boot problems.
|
||||||
|
|-- CHANGES_AND_HINTS.TXT A summary of major changes from Slackware 12.2
|
||||||
|
| to 13.0 and common pitfalls. Slackware 13.0
|
||||||
|
| x86_64 (Slackware64) is the first release to the
|
||||||
|
| 64-bit x86_64 architecture, but the information
|
||||||
|
| contained in this file is still useful.
|
||||||
|
|-- CHECKSUMS.md5 MD5 format file checksums.
|
||||||
|
|-- COPYING The GNU Public License, version 2.
|
||||||
|
|-- COPYING3 The GNU Public License, version 3.
|
||||||
|
|-- COPYRIGHT.TXT Slackware copyright and trademark information.
|
||||||
|
|-- CRYPTO_NOTICE.TXT Legal information about encryption in Slackware.
|
||||||
|
|-- ChangeLog.txt Log of system changes.
|
||||||
|
|-- FILELIST.TXT List of files on the Slackware FTP site.
|
||||||
|
|-- GPG-KEY The GnuPG key used to verify Slackware packages.
|
||||||
|
|-- PACKAGES.TXT A detailed list of the core Slackware packages.
|
||||||
|
|-- README.initrd Information about building an initrd for use with
|
||||||
|
| a generic Linux kernel.
|
||||||
|
|-- README_CRYPT.TXT Information about installing Slackware with
|
||||||
|
| encrypted LVM.
|
||||||
|
|-- README_LVM.TXT Information about how to install Slackware onto LVM
|
||||||
|
| (including the /, if you want).
|
||||||
|
|-- README_RAID.TXT Information about installing Slackware using the
|
||||||
|
| kernel's Software RAID (md) levels.
|
||||||
|
|-- SPEAKUP_DOCS.TXT Documentation for the Speakup speech synth software.
|
||||||
|
|-- SPEAK_INSTALL.TXT How to install with Speakup speech synthesis.
|
||||||
|
|
|
||||||
|
|-- Slackware-HOWTO Instructions for installing Slackware from CD.
|
||||||
|
| If you're new to Slackware, start with this.
|
||||||
|
|
|
||||||
|
|-- extra/ Extra packages for Slackware like:
|
||||||
|
| | aspell-word-lists, bash-completion, bittorrent,
|
||||||
|
| | brltty, the Java(TM) JDK, kde3-compat, mpg123,
|
||||||
|
| | mplayerplug-in, partitionmanager (GUI partitioning
|
||||||
|
| | tool for KDE4), slacktrack, tightvnc, wicd and
|
||||||
|
| | xf86-video-intel-alternate (alternate video drivers
|
||||||
|
| | that may help cure instabilities on some Intel
|
||||||
|
| | chipsets), yasm assembler.
|
||||||
|
| |
|
||||||
|
| `-- source/ Source code for the extra packages.
|
||||||
|
|
|
||||||
|
|-- isolinux/ The ISOLINUX loader and initrd.img used to install
|
||||||
|
| | Slackware from installation media or the network.
|
||||||
|
| | Also found here is a README.TXT file describing how
|
||||||
|
| | to create a Slackware installation ISO image and
|
||||||
|
| | burn it to CD-R or DVD-(+)R.
|
||||||
|
| |
|
||||||
|
| |-- README.TXT How to burn a Bootable Slackware disc.
|
||||||
|
| |
|
||||||
|
| `-- initrd.img Installation initrd (can also be loaded with Loadlin)
|
||||||
|
|
|
||||||
|
|-- kernels/ Precompiled Linux 2.6.29.6 kernel images.
|
||||||
|
| |
|
||||||
|
| |-- huge.s The default standard install kernel for Slackware.
|
||||||
|
| | This supports pretty much everything in the
|
||||||
|
| | 2.6.29.6 kernel. This kernel requires an x86_64
|
||||||
|
| | (also known as AMD64, EM64T, or Intel 64) capable
|
||||||
|
| | 64-bit CPU.
|
||||||
|
| |
|
||||||
|
| `-- speakup.s A huge.s kernel patched to support speakup
|
||||||
|
| speech output through various hardware and
|
||||||
|
| software speech synthesizers.
|
||||||
|
|
|
||||||
|
|-- pasture/ Used to store packages that have been removed from
|
||||||
|
| | Slackware, but are useful enough to keep around.
|
||||||
|
| | This is currently empty in x86_64 Slackware.
|
||||||
|
| |
|
||||||
|
| `-- source/ Source code directory for the pasture packages.
|
||||||
|
| This directory is also currently empty.
|
||||||
|
|
|
||||||
|
|-- slackware/ This directory contains the core software packages
|
||||||
|
| | for Slackware 13.0.
|
||||||
|
| |
|
||||||
|
| |-- a/ The A (base) package series.
|
||||||
|
| |-- ap/ The AP (applications) package series.
|
||||||
|
| |-- d/ The D (development) package series.
|
||||||
|
| |-- e/ The E (GNU Emacs) package series.
|
||||||
|
| |-- f/ The F (FAQ/Documentation) package series.
|
||||||
|
| |-- k/ The K (kernel source) package series.
|
||||||
|
| |-- kde/ The KDE package series.
|
||||||
|
| |-- kdei/ The KDE internationalization package series.
|
||||||
|
| |-- l/ The L (libraries) package series.
|
||||||
|
| |-- n/ The N (networking) package series.
|
||||||
|
| |-- t/ The T (TeX) package series.
|
||||||
|
| |-- tcl/ The TCL (Tcl/Tk and related) package series.
|
||||||
|
| |-- x/ The X (X Window System) package series.
|
||||||
|
| |-- xap/ The XAP (X applications) package series.
|
||||||
|
| `-- y/ The Y (BSD games) package series.
|
||||||
|
|
|
||||||
|
|-- source/ This directory contains source code for the core
|
||||||
|
| | software packages in Slackware.
|
||||||
|
| |
|
||||||
|
| |-- a/ Source for the A (base) series.
|
||||||
|
| |-- ap/ Source for the AP (applications) series.
|
||||||
|
| |-- d/ Source for the D (development) series.
|
||||||
|
| |-- e/ Source for the E (GNU Emacs) series.
|
||||||
|
| |-- f/ slack-desc files for the F (FAQ) series.
|
||||||
|
| |-- installer/ Source for utilities used in the installer.
|
||||||
|
| |-- k/ Source for the K (kernel source) series.
|
||||||
|
| |-- kde/ Source for the KDE series.
|
||||||
|
| |-- kdei/ Source for the KDEI series.
|
||||||
|
| |-- l/ Source for the L (libraries) series.
|
||||||
|
| |-- n/ Source for the N (networking) series.
|
||||||
|
| |-- t/ Source for the T (TeX) series.
|
||||||
|
| |-- tcl/ Source for the TCL (Tcl/Tk and related) series.
|
||||||
|
| |-- x/ Source for the X (X Window System) series.
|
||||||
|
| |-- xap/ Source for the XAP (X applications) series.
|
||||||
|
| `-- y/ Source for the Y (BSD games) series.
|
||||||
|
|
|
||||||
|
|-- testing/ This directory contains packages being tested
|
||||||
|
| | for possible use in future versions of Slackware.
|
||||||
|
| | You'll find bash-4.0 and linux kernel 2.6.30.5
|
||||||
|
| | packages here. We considered it a little early to
|
||||||
|
| | replace the versions in the main tree but these
|
||||||
|
| | may be useful if your hardware requires a newer
|
||||||
|
| | kernel or you want some of the features of the
|
||||||
|
| | next generation bash. These packages should not
|
||||||
|
| | be considered supported or necessarily secure, but
|
||||||
|
| | may still useful.
|
||||||
|
| |
|
||||||
|
| `--- source/ This directory contains source code for the
|
||||||
|
| packages in testing.
|
||||||
|
|
|
||||||
|
`-- usb-and-pxe-installers These are alternate installers useful
|
||||||
|
| for large-scale Linux deployment or if
|
||||||
|
| your machine can boot PXE and/or USB but
|
||||||
|
| not an optical disc. For PXE, the initrd.img
|
||||||
|
| file in isolinux/ is also required.
|
||||||
|
|
|
||||||
|
|-- README_PXE.TXT
|
||||||
|
|-- README_USB.TXT
|
||||||
|
|-- pxelinux.cfg_default
|
||||||
|
`-- usbboot.img The Slackware installer for bootable USB flash.
|
||||||
|
|
||||||
|
|
||||||
|
If you like Slackware, please consider supporting the project by becoming
|
||||||
|
a Slackware subscriber. The announcement (ANNOUNCE_13.0) in this directory
|
||||||
|
has information about ordering or subscribing to the Slackware CD-ROM or
|
||||||
|
DVD releases. Note that at this time the x86_64 release is only available
|
||||||
|
as part of the DVD -- if there's interest in a CD-ROM version, let us know.
|
||||||
|
You can find out about ordering Slackware on media, or read more about it
|
||||||
|
(and check out other Slackware-related items for sale) by visiting the
|
||||||
|
Slackware store. We also gratefully accept financial contributions under
|
||||||
|
the "All" section of the store site menu.
|
||||||
|
|
||||||
|
Thanks for your consideration and help!
|
||||||
|
|
||||||
|
http://store.slackware.com
|
||||||
|
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
Patrick Volkerding
|
||||||
|
volkerdi@slackware.com
|
||||||
|
|
100
README.initrd
Normal file
100
README.initrd
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
|
||||||
|
Slackware initrd mini HOWTO
|
||||||
|
by Patrick Volkerding, volkerdi@slackware.com
|
||||||
|
Sun Jul 12 23:23:24 CDT 2009
|
||||||
|
|
||||||
|
This document describes how to create and install an initrd, which may be
|
||||||
|
required to use the 2.6 kernel. Also see "man mkinitrd".
|
||||||
|
|
||||||
|
1. What is an initrd?
|
||||||
|
2. Why to I need an initrd?
|
||||||
|
3. How do I build the initrd?
|
||||||
|
4. Now that I've built an initrd, how do I use it?
|
||||||
|
|
||||||
|
|
||||||
|
1. What is an initrd?
|
||||||
|
|
||||||
|
Initrd stands for "initial ramdisk". An initial ramdisk is a very small
|
||||||
|
Linux filesystem that is loaded into RAM and mounted as the kernel boots,
|
||||||
|
and before the main root filesystem is mounted.
|
||||||
|
|
||||||
|
2. Why do I need an initrd?
|
||||||
|
|
||||||
|
The usual reason to use an initrd is because you need to load kernel
|
||||||
|
modules before mounting the root partition. Usually these modules are
|
||||||
|
required to support the filesystem used by the root partition (ext3,
|
||||||
|
reiserfs, xfs), or perhaps the controller that the hard drive is attached
|
||||||
|
to (SCSI, RAID, etc). Essentially, there are so many different options
|
||||||
|
available in modern Linux kernels that it isn't practical to try to ship
|
||||||
|
many different kernels to try to cover everyone's needs. It's a lot more
|
||||||
|
flexible to ship a generic kernel and a set of kernel modules for it.
|
||||||
|
|
||||||
|
3. How do I build the initrd?
|
||||||
|
|
||||||
|
The easiest way to make the initrd is to use the mkinitrd script included
|
||||||
|
in Slackware's mkinitrd package. We'll walk through the process of
|
||||||
|
upgrading to the generic 2.6.29.6 Linux kernel using the packages
|
||||||
|
found in Slackware's slackware/a/ directory.
|
||||||
|
|
||||||
|
First, make sure the kernel, kernel modules, and mkinitrd package are
|
||||||
|
installed (the current version numbers might be a little different, so
|
||||||
|
this is just an example):
|
||||||
|
|
||||||
|
installpkg kernel-generic-2.6.29.6-i686-2.txz
|
||||||
|
installpkg kernel-modules-2.6.29.6-i686-2.txz
|
||||||
|
installpkg mkinitrd-1.3.4-i486-3.txz
|
||||||
|
|
||||||
|
Change into the /boot directory:
|
||||||
|
|
||||||
|
cd /boot
|
||||||
|
|
||||||
|
Now you'll want to run "mkinitrd". I'm using reiserfs for my root
|
||||||
|
filesystem, and since it's an IDE system the reiserfs module will be
|
||||||
|
the only one I need to load:
|
||||||
|
|
||||||
|
mkinitrd -c -k 2.6.29.6 -m reiserfs
|
||||||
|
|
||||||
|
This should do two things. First, it will create a directory
|
||||||
|
/boot/initrd-tree containing the initrd's filesystem. Then it will
|
||||||
|
create an initrd (/boot/initrd.gz) from this tree. If you wanted to,
|
||||||
|
you could make some additional changes in /boot/initrd-tree/ and
|
||||||
|
then run mkinitrd again without options to rebuild the image. That's
|
||||||
|
optional, though, and only advanced users will need to think about that.
|
||||||
|
|
||||||
|
Here's another example: Build an initrd image using Linux 2.6.29.6
|
||||||
|
kernel modules for a system with an ext3 root partition on /dev/hdb3.
|
||||||
|
Note that you need the mbcache, jbd, and ext3 modules to use ext3:
|
||||||
|
|
||||||
|
mkinitrd -c -k 2.6.29.6 -m mbcache:jbd:ext3 -f ext3 -r /dev/hdb3
|
||||||
|
|
||||||
|
|
||||||
|
4. Now that I've built an initrd, how do I use it?
|
||||||
|
|
||||||
|
Now that you've got an initrd (/boot/initrd.gz), you'll want to load
|
||||||
|
it along with the kernel at boot time. If you use LILO for your boot
|
||||||
|
loader you'll need to edit /etc/lilo.conf and add a line to load the
|
||||||
|
initrd. Here's an example section of lilo.conf showing how this is
|
||||||
|
done:
|
||||||
|
|
||||||
|
# Linux bootable partition config begins
|
||||||
|
image = /boot/vmlinuz-generic-2.6.29.6
|
||||||
|
initrd = /boot/initrd.gz
|
||||||
|
root = /dev/hda6
|
||||||
|
label = Lnx26296
|
||||||
|
read-only
|
||||||
|
# Linux bootable partition config ends
|
||||||
|
|
||||||
|
The initrd is loaded by the "initrd = /boot/initrd.gz" line.
|
||||||
|
Just add the line right below the line for the kernel image you use.
|
||||||
|
Save the file, and then run LILO again ('lilo' at the command line).
|
||||||
|
You'll need to run lilo every time you edit lilo.conf or rebuild the
|
||||||
|
initrd.
|
||||||
|
|
||||||
|
Other bootloaders such as syslinux also support the use of an initrd.
|
||||||
|
See the documentation for those programs for details on using an
|
||||||
|
initrd with them.
|
||||||
|
|
||||||
|
|
||||||
|
---------
|
||||||
|
|
||||||
|
Have fun!
|
639
README_CRYPT.TXT
Normal file
639
README_CRYPT.TXT
Normal file
|
@ -0,0 +1,639 @@
|
||||||
|
|
||||||
|
Installing Slackware on encrypted volumes
|
||||||
|
=========================================
|
||||||
|
|
||||||
|
|
||||||
|
Contents:
|
||||||
|
|
||||||
|
* Introduction
|
||||||
|
* Using cryptsetup during Slackware installation
|
||||||
|
* Encrypting your '/home' partition
|
||||||
|
* Encrypted swap
|
||||||
|
* Encrypted root filesystem
|
||||||
|
* Combining LUKS and LVM
|
||||||
|
* Hibernation (suspend-to-disk)
|
||||||
|
* Additional passphrases, keyfiles
|
||||||
|
* A note on custom kernels
|
||||||
|
* A mkinitrd helper script
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
Increasingly common in modern Linux distributions is the ability to
|
||||||
|
install onto an encrypted partition (or drive, or volume). Especially for
|
||||||
|
people with a laptop who are traveling a lot, it adds a lot to the security
|
||||||
|
of your data if access to that data is denied to the potential thief of
|
||||||
|
your computer.
|
||||||
|
|
||||||
|
Starting with release 12.0, Slackware has support for LVM built into the
|
||||||
|
installer. With a little more effort, the installer offers the opportunity to
|
||||||
|
use transparent encryption on the partitions/volumes/disks where you install
|
||||||
|
Slackware. You can combine the use of LVM and encryption to minimize the
|
||||||
|
number of times you need to enter an unlock passphrase. If you want to know
|
||||||
|
more about setting up and using LVM during the installation, read the file
|
||||||
|
'README_LVM.TXT'.
|
||||||
|
|
||||||
|
Slackware uses device-mapper and cryptsetup to achieve transparent
|
||||||
|
encryption of your data partitions and your swap. Cryptsetup uses a
|
||||||
|
concept called LUKS (Linux Unified Key Setup) which enables you to change
|
||||||
|
your unlock password for the encrypted volume without having to re-encrypt
|
||||||
|
all of your data. You can even assign multiple passphrases to an encrypted
|
||||||
|
volume, so that other people besides you are able to unlock the encryption
|
||||||
|
without the need to know _your_ passphrase.
|
||||||
|
|
||||||
|
When preparing a partition for transparent encryption with cryptsetup,
|
||||||
|
the program will ask you for a password. This password is used to encrypt
|
||||||
|
another randomly generated password and this particular password is used
|
||||||
|
to actually encrypt the data inside the mapped volume. Cryptsetup will
|
||||||
|
create a mapped device and make this block device available under the
|
||||||
|
'/dev/mapper' directory. Any data read from or written to this mapped device
|
||||||
|
will automatically be decrypted from / encrypted to the actual partition.
|
||||||
|
|
||||||
|
A big NOTE finally. When you encrypt your root filesystem, you will have
|
||||||
|
to make sure that there will be at least one (small) partition which is
|
||||||
|
left unencrypted. This partition must contain the kernel(s) you want to boot
|
||||||
|
from, and the initrd image that is needed with encrypted volumes. You need
|
||||||
|
to install LILO either to the MBR - or if that is not possible, into the
|
||||||
|
root sector of this small unencrypted partition. You will probably guess
|
||||||
|
why we can not use an encrypted partition for this...
|
||||||
|
|
||||||
|
|
||||||
|
Using cryptsetup during Slackware installation
|
||||||
|
----------------------------------------------
|
||||||
|
|
||||||
|
We are going to enable encryption on some or all of our partitions or
|
||||||
|
volumes before installing Slackware onto them. The first section to follow
|
||||||
|
deals with encrypting a single partition which is not the root partition.
|
||||||
|
Typically, people have a need to encrypt their homedirectories and that is
|
||||||
|
where that section will focus on. Next is a section on encrypting your
|
||||||
|
swap partition in addition to your /home partition. The swap partition
|
||||||
|
contains valuable information for a data thief, even after you power off
|
||||||
|
your computer. By encrypting the swap partition we deny the potential thief
|
||||||
|
access to this data. The section following that will show you how to get
|
||||||
|
a fully encrypted system, by encrypting the root ('/') filesystem as well.
|
||||||
|
This is a little harder to do, but probably worth the effort.
|
||||||
|
|
||||||
|
To make it more interesting, _and_ easier to use, we will devote a final
|
||||||
|
section to using a combination of LVM and disk encryption. As an example,
|
||||||
|
we will create a single big encrypted partition, and inside that encrypted
|
||||||
|
'container' we create several Logical Volumes which we will use as our root
|
||||||
|
(/), /home and swap partitions. The advantages of this approach are, that you
|
||||||
|
will need only a single passphrase to unlock your computer, and you will not
|
||||||
|
have to maintain an '/etc/crypttab' file containing information about encrypted
|
||||||
|
volumes that need to be unlocked during boot-up. Additionally, we will be
|
||||||
|
rewarded with a swap partition that we can use for suspend-to-disk and that
|
||||||
|
will remain encrypted after shutdown (so that for instance a potential data
|
||||||
|
thief will not be able to get to your valuable data even if you hibernated
|
||||||
|
your laptop).
|
||||||
|
|
||||||
|
If you choose this last option to get a fully encrypted Slackware, it is
|
||||||
|
advisable to read the 'README_LVM.TXT' file to make yourself more familiar
|
||||||
|
with the process of creating and using Logical Volumes during installation
|
||||||
|
of Slackware. And then, skip right through to the section of this document
|
||||||
|
called "Combining LUKS and LVM".
|
||||||
|
|
||||||
|
|
||||||
|
Encrypting your '/home' partition
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
After the computer boots up from the install CD/DVD (or USB flash disk,
|
||||||
|
or PXE) and you find yourself at the '#' prompt, the first thing to do is
|
||||||
|
use 'fdisk' or 'cfdisk' to create any partitions you need for your Slackware.
|
||||||
|
Next, use 'cryptsetup' to prepare the partitions you intend to be
|
||||||
|
encrypted. Note: this section of the README concerns itself with setting
|
||||||
|
up encrypted *data* partitions. If you want to know how to configure an
|
||||||
|
encrypted *swap* partition, skip to the section called "Encrypted swap".
|
||||||
|
|
||||||
|
Suppose, you want to encrypt the partition called '/dev/sdx2' and use it
|
||||||
|
as your '/home' filesystem. (Please replace '/dev/sdx2' with the name of YOUR
|
||||||
|
PARTITION in the next series of examples). Several of the commands shown below
|
||||||
|
will irrevocably destroy any data that you currently have on the partition. It
|
||||||
|
is a good idea to double check the output from 'fdisk -l' before you start.
|
||||||
|
|
||||||
|
* To begin with, we are going to fill the partition with random data. This
|
||||||
|
will make it a lot harder for any forensics expert to determine where your
|
||||||
|
encrypted data resides on that partition after we're finished installing
|
||||||
|
Slackware onto it. The process will take a long time - depending on the
|
||||||
|
size of your partition it may take hours or more. if you're not _too_
|
||||||
|
concerned with the possibility of an FBI agent confiscating your computer,
|
||||||
|
you can skip this command:
|
||||||
|
|
||||||
|
# dd if=/dev/urandom of=/dev/sdx2
|
||||||
|
|
||||||
|
* Prepare the partition for encryption. You will be asked twice to enter
|
||||||
|
a passphrase. Note that a passphrase is not limited to a single word. The
|
||||||
|
passphrase may contain spaces. We will use a key size of 256 bits. The
|
||||||
|
default cipher is 'aes', with mode 'cbc-essiv:sha256' which is safe enough.
|
||||||
|
|
||||||
|
# cryptsetup -s 256 -y luksFormat /dev/sdx2
|
||||||
|
|
||||||
|
You can dump information about the encrypted partition to your console by
|
||||||
|
running the following command:
|
||||||
|
|
||||||
|
# cryptsetup luksDump /dev/sdx2
|
||||||
|
|
||||||
|
* Now we will 'open' the encrypted partition and let the devicemapper create
|
||||||
|
a mapped block device. We will use the mapped device which behaves just like
|
||||||
|
an ordinary disk partition when we get to the TARGET selection in 'setup'. The
|
||||||
|
mapped device nodes will be created in the directory '/dev/mapper'. The command
|
||||||
|
will ask you for the passphrase which you entered during the "luksFormat"
|
||||||
|
operation. The last argument that the command takes is the name of the mapped
|
||||||
|
device. We will call our mapped device 'crypthome' (any name will do). It
|
||||||
|
will be available for use as the block device '/dev/mapper/crypthome'.
|
||||||
|
|
||||||
|
# cryptsetup luksOpen /dev/sdx2 crypthome
|
||||||
|
|
||||||
|
* We've now finished our preparations, and it is time to start the 'setup'
|
||||||
|
program and install Slackware. This setup does not differ at all from the
|
||||||
|
setup you have become used to. The only notable difference lies in the
|
||||||
|
names of the devices you will select for your target partitions. Be sure
|
||||||
|
to read until the end of the story though, because we will have to do some
|
||||||
|
postprocessing in order to make your encrypted partitions available after
|
||||||
|
reboot (setup can not yet do all of this automatically).
|
||||||
|
|
||||||
|
* In setup, under "ADDSWAP", proceed as usual and configure a normal
|
||||||
|
unencrypted swap partition, even if you want to have your swap encrypted.
|
||||||
|
We will take care of swap encryption after the installation of Slackware
|
||||||
|
finishes.
|
||||||
|
|
||||||
|
* In setup, when you choose "TARGET" in the main menu, you will notice that
|
||||||
|
the mapped device is available in the 'Linux partition' selection as
|
||||||
|
"/dev/mapper/crypthome". Select the partition you designated for your
|
||||||
|
root ('/') filesystem, and next select "/dev/mapper/crypthome" for your
|
||||||
|
'/home' filesystem. Create any filesystem you like on them. My favorite
|
||||||
|
fstype still is ext3, but you can choose xfs or jfs for stability and speed.
|
||||||
|
|
||||||
|
NOTE: The underlying partition will *also* be visible in the target selection
|
||||||
|
menu. Be very careful NOT to select this device ('/dev/sdx2' in our
|
||||||
|
example) for any other filesystem you wish to create, or you will
|
||||||
|
destroy the data on the encrypted partition.
|
||||||
|
|
||||||
|
* At the end of the Slackware installation when you select "Exit", don't
|
||||||
|
reboot just yet! We are going to create a configuration file for
|
||||||
|
the cryptsetup program, called '/etc/crypttab'. This file contains the
|
||||||
|
information cryptsetup needs for unlocking your encrypted volume and mapping
|
||||||
|
it to the correct device name. The file '/etc/crypttab' contains lines of the
|
||||||
|
format: "mappedname devicename password options". Since we are still inside
|
||||||
|
the installer, the root filesystem of our fresh Slackware installation is
|
||||||
|
still mounted under '/mnt'. For our example where we encrypted '/dev/sdx2'
|
||||||
|
and mapped the unlocked device to '/dev/mapper/crypthome', we need this
|
||||||
|
single line in '/etc/crypttab':
|
||||||
|
|
||||||
|
crypthome /dev/sdx2
|
||||||
|
|
||||||
|
So, we need to run the command:
|
||||||
|
|
||||||
|
# echo "crypthome /dev/sdx2" > /mnt/etc/crypttab
|
||||||
|
|
||||||
|
in order to create the file with the required content (I am assuming here
|
||||||
|
that the file did not yet exist... the above command will overwrite the
|
||||||
|
data in the file should it have existed). You can of course also just
|
||||||
|
start the 'vi' editor and add the above line. When the password is not
|
||||||
|
listed in the crypttab file (potentially very unsafe of course) cryptsetup
|
||||||
|
will ask you for the password when your computer boots.
|
||||||
|
|
||||||
|
|
||||||
|
Encrypted swap
|
||||||
|
--------------
|
||||||
|
|
||||||
|
In the previous chapter we have installed Slackware using an encrypted
|
||||||
|
/home partition, but left the swap partition unencrypted. We are going
|
||||||
|
to take care of that 'omission' right now, because we do not want to give
|
||||||
|
a potential data thief access to any sensitive data which landed on your
|
||||||
|
disk because of the kernel's memory swapping process.
|
||||||
|
|
||||||
|
It really is very simple and straight-forward. It is also independent of
|
||||||
|
whether or not you are using encryption for any other (data) partition.
|
||||||
|
Add the following line to the 'crypttab' file on your fresh installation
|
||||||
|
of Slackware - for the sake of this example I am assuming that the swap
|
||||||
|
partition you chose is '/dev/sdx3':
|
||||||
|
|
||||||
|
cryptswap /dev/sdx3 none swap
|
||||||
|
|
||||||
|
You can use the 'vi' editor to add this line to '/mnt/etc/crypttab'.
|
||||||
|
You can also choose to run the following command which adds that line to
|
||||||
|
the end of the file:
|
||||||
|
|
||||||
|
# echo "cryptswap /dev/sdx3 none swap" >> /mnt/etc/crypttab
|
||||||
|
|
||||||
|
We need to edit the 'fstab' file of your Slackware installation so that
|
||||||
|
the correct device will be used for the swap after your computer reboots
|
||||||
|
(the device '/dev/sdx3' will no longer be useful, but '/dev/mapper/cryptswap
|
||||||
|
will'). The line in '/mnt/etc/fstab' for your swap will look like this at
|
||||||
|
first:
|
||||||
|
|
||||||
|
/dev/sdx3 swap swap defaults 0 0
|
||||||
|
|
||||||
|
and you will have to change it so that it becomes like this:
|
||||||
|
|
||||||
|
/dev/mapper/cryptswap swap swap defaults 0 0
|
||||||
|
|
||||||
|
These two edits are sufficient. The above instructions assume that you
|
||||||
|
edited the 'crypttab' file at the end of a Slackware installation, but in
|
||||||
|
fact you can do this at any time. The Slackware boot-up process will
|
||||||
|
take care of the rest. At shutdown of your Slackware, the encrypted swap
|
||||||
|
partition will be reformatted as a normal unencrypted swap, so that any
|
||||||
|
other OS-es you might be running in a multi-boot configuration will have
|
||||||
|
no problems in using this swap partition as well.
|
||||||
|
|
||||||
|
NOTE: the swap partition is encrypted with a new randomly generated key every
|
||||||
|
time your computer boots.
|
||||||
|
There is no need to ever enter a passphrase!
|
||||||
|
|
||||||
|
NOTE: having an encrypted swap like this causes a re-format of the swap
|
||||||
|
partition on avery boot-up and shutdown. This is perfectly OK as long
|
||||||
|
as you do not change the order of your hard disks. If you add a disk,
|
||||||
|
or move this disk to another computer, the device name may change (for
|
||||||
|
instance from sda to sdb) and if you forget to modify '/etc/crypttab'
|
||||||
|
your system may end up formatting the wrong partition!
|
||||||
|
For this reason alone, it is recommended that you implement disk
|
||||||
|
encryption including swap using the "Combining LUKS and LVM" method
|
||||||
|
described in the chapter with the same name!
|
||||||
|
|
||||||
|
|
||||||
|
Encrypted root filesystem
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
You can go one step further than merely encrypting your '/home'
|
||||||
|
filesystem's partition. You can choose to encrypt _all_ of your Slackware
|
||||||
|
partitions, including the root partition. In that case you will have to
|
||||||
|
perform some additional post-install configuration before you reboot your
|
||||||
|
Slackware box.
|
||||||
|
|
||||||
|
NOTE: the method described here will result in having several independently
|
||||||
|
encrypted partitions. This may require you to enter multiple
|
||||||
|
passphrases in order to unlock all of these partitions. If you want to
|
||||||
|
unlock your complete system using a single passphrase, and if you do
|
||||||
|
not shy back from using LVM, then the better alternative is to follow
|
||||||
|
the instructions in the "Combining LUKS and LVM" chapter which follows
|
||||||
|
next. If you think that LVM adds one layer of complexity too much,
|
||||||
|
then just read on and implement the solution described right here.
|
||||||
|
|
||||||
|
* Be sure to create a small partition which you leave *unencrypted*. Tell
|
||||||
|
the installer to mount it under '/boot'. The kernel and the initrd (with
|
||||||
|
the cryptsetup and additional required kernel modules) will go there. We are
|
||||||
|
going to assume that Slackware is the only OS on the computer so that you
|
||||||
|
can tell lilo to install the bootloader in the MBR (which is the default
|
||||||
|
option). Lilo is able to boot a Windows if you already had that installed on
|
||||||
|
your computer, so even in the dual-boot situation it should be safe to use
|
||||||
|
the MBR. With other Linux distributions already present on the computer,
|
||||||
|
things may be a little more difficult - you will have to install lilo to
|
||||||
|
the /boot partition then.
|
||||||
|
|
||||||
|
* Perform a Slackware install just like I described above, creating
|
||||||
|
additional encrypted partitions and mapping them to appropriate names -
|
||||||
|
for this example I assume that you map the encrypted root partition
|
||||||
|
'/dev/sdx1' to 'cryptroot'. When the LILO configuration pops up, tell lilo
|
||||||
|
that your root partition is '/dev/mapper/cryptroot'. Lilo will try to
|
||||||
|
install and fail, and will tell you so. It will however have written a
|
||||||
|
'lilo.conf' file which we can edit in a follow-up action. Proceed with
|
||||||
|
the installation and at the end, exit the setup program but do _not_
|
||||||
|
reboot just yet.
|
||||||
|
|
||||||
|
* After you are returned to the command prompt, perform a 'chroot' into the
|
||||||
|
new installation. All the filesystems are still mounted, and the Slackware
|
||||||
|
installer will already have mounted the /sys and /proc filesystems for use
|
||||||
|
in the 'chroot'. We only need to run the following command:
|
||||||
|
|
||||||
|
# chroot /mnt
|
||||||
|
|
||||||
|
* Next, now that we are in the chroot, create the initrd with LVM (if you
|
||||||
|
used Logical Volumes) and CRYPT support - or else your Slackware computer
|
||||||
|
will not be able to proceed past the initial stage of booting the kernel.
|
||||||
|
The initial ramdisk (initrd) contains a small filesystem with the tools
|
||||||
|
needed to unlock the root filesystem, so that the kernel can start the init
|
||||||
|
program. In the example command line below which creates the 'initrd.gz'
|
||||||
|
image I assume that the root filesystem is 'ext3', we used the mapped device
|
||||||
|
'cryptroot' for the root filesystem on the real partition '/dev/sdx1',
|
||||||
|
and are running the Slackware 13.0 default SMP kernel '2.6.29.6-smp'
|
||||||
|
and we did not use Logical Volumes (more about that in the next section):
|
||||||
|
|
||||||
|
# mkinitrd -c -k 2.6.29.6-smp -m ext3 -f ext3 -r cryptroot -C /dev/sdx1
|
||||||
|
|
||||||
|
* The resulting initrd image will be written to the file '/boot/initrd.gz'
|
||||||
|
by default. We still need to tell lilo about this initrd. Open the
|
||||||
|
configuration file '/etc/lilo.conf' in an editor such as vi or pico -
|
||||||
|
it should already have been generated by the 'liloconfig' part of setup.
|
||||||
|
Look for the "Linux bootable partition config" and add a line for the initrd.
|
||||||
|
We also need to change the kernel file to a generic kernel, because lilo
|
||||||
|
is unable to combine the 'huge' kernels in Slackware 13.0 with an initrd
|
||||||
|
image - it will complain about "The initial RAM disk is too big to fit
|
||||||
|
between the kernel and the 15M-16M memory hole" if you try with a 'huge'
|
||||||
|
kernel. We can live with that, since the 'huge' kernels are not meant
|
||||||
|
for day-to-day use anyway. They are meant to install Slackware on a wide
|
||||||
|
range of computers and that is why they are 'huge'. The linux part of
|
||||||
|
'/etc/lilo.conf' should end up looking somewhat like this:
|
||||||
|
|
||||||
|
image = /boot/vmlinuz-generic-smp-2.6.29.6-smp
|
||||||
|
initrd = /boot/initrd.gz
|
||||||
|
root = /dev/mapper/cryptroot
|
||||||
|
label = linux
|
||||||
|
read-only
|
||||||
|
|
||||||
|
If you add the above section as an extra instead of editing what's already
|
||||||
|
present, make sure that the label you use ('linux' in the example above)
|
||||||
|
is unique in the configuration file.
|
||||||
|
|
||||||
|
* If you have another OS on your computer and can not install lilo to the
|
||||||
|
MBR, you will have selected "Install to superblock (Root)" instead. In
|
||||||
|
that case, we have one additional change to make, and that is almost at the
|
||||||
|
top of the file. Look up the line that says "boot = /dev/mapper/cryptroot"
|
||||||
|
which is the device for your root partition and which was the reason for
|
||||||
|
lilo failing to install. Change the boot device to the name of the small
|
||||||
|
*unencrypted* partition you've created at the beginning and which is
|
||||||
|
mounted under '/boot'. Assuming the name of that partition is '/dev/sdx4',
|
||||||
|
the "boot =" line must become like this:
|
||||||
|
|
||||||
|
boot = /dev/sdx4
|
||||||
|
|
||||||
|
We are done. Write the changes, exit the editor and run the command 'lilo'.
|
||||||
|
Lilo will issue a couple of warnings concerning a difference in what
|
||||||
|
'/proc/partitions' reports and what lilo thinks are the available partitions,
|
||||||
|
but it is safe to ignore these.
|
||||||
|
Reboot now, and you will be presented with a "Enter passphrase: "
|
||||||
|
prompt. After entering the passphrase which unlocks your root filesystem,
|
||||||
|
the system will boot into Slackware. If there are other encrypted partitions,
|
||||||
|
you will be prompted for their respective passphrases, too.
|
||||||
|
|
||||||
|
|
||||||
|
Combining LUKS and LVM
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Until now, we have been occupying ourselves with encrypting separate
|
||||||
|
partitions. This is all fully functional, but there are a few drawbacks.
|
||||||
|
One, you will need to enter a passphrase for every partition you have encrypted
|
||||||
|
(except for the swap which Slackware encrypts with a random passphrase
|
||||||
|
on every boot). Two, the method used for encrypting the swap partition
|
||||||
|
prohibits the use of the swap as a hibernation partition. And since the
|
||||||
|
initrd of Slackware 13.0 supports hibernation, it would be a shame not to be
|
||||||
|
able to use this feature on your laptop (which, because of it's portability,
|
||||||
|
is the primary target for full disk encryption anyway).
|
||||||
|
|
||||||
|
This section of the README_CRYPT.TXT will deal with these drawbacks and
|
||||||
|
offer you full disk encryption (including swap) that needs only a single
|
||||||
|
passphrase to unlock and allows for hibernation (suspend-to-disk).
|
||||||
|
|
||||||
|
We are assuming that Slackware will be the only Operating System on your
|
||||||
|
computer. In case you already have an OS installed (such as MS Windows), the
|
||||||
|
procedure may be a little different because you can not always install lilo to
|
||||||
|
the MBR. After booting from the Slackware installation medium, we will
|
||||||
|
create a small unencrypted partition that will contain the Linux kernels and
|
||||||
|
the initrd image(s). The rest of the disk's free space will be dedicated to
|
||||||
|
a single partition which we are going to encrypt. On top of the encrypted
|
||||||
|
volume, we are going to create several Logical Volumes, and these LV's
|
||||||
|
are going to be formatted as our Slackware partitions ('/', '/home' and
|
||||||
|
'swap'). These are the steps in more detail:
|
||||||
|
|
||||||
|
* Use (c)fdisk to create your partitions. For the sake of this example, I
|
||||||
|
am going to assume that /dev/sdx1 is a 100 MB large partition and /dev/sdx2
|
||||||
|
is the large partition that eats up the remainder of your disk's free space.
|
||||||
|
|
||||||
|
* First, create a LUKS-encrypted volume on top of /dev/sdx2 after you
|
||||||
|
have optionally filled the partition with random data (read the section
|
||||||
|
"Encrypting your '/home' partition" for more information about why you
|
||||||
|
would want to fill your partition with random data first):
|
||||||
|
|
||||||
|
# dd if=/dev/urandom of=/dev/sdx2
|
||||||
|
|
||||||
|
* Prepare the partition for encryption. You will be asked twice to enter
|
||||||
|
a passphrase. Note that a passphrase is not limited to a single word. The
|
||||||
|
passphrase may contain spaces. We will use a key size of 256 bits. The
|
||||||
|
default cipher is 'aes', with mode 'cbc-essiv:sha256' which is safe enough.
|
||||||
|
|
||||||
|
# cryptsetup -s 256 -y luksFormat /dev/sdx2
|
||||||
|
|
||||||
|
* Open the encrypted partition so that we can start using the mapped device
|
||||||
|
which exposes the partition as an unencrypted block device. The command
|
||||||
|
will ask you for the passphrase which you entered during the "luksFormat"
|
||||||
|
operation. The last argument that the command takes is the name of the mapped
|
||||||
|
device. We will call our mapped device 'slackluks' because I am not feeling
|
||||||
|
original today. The mapped device which we will be using for unencrypted
|
||||||
|
operations will therefore be '/dev/mapper/slackluks'.
|
||||||
|
|
||||||
|
# cryptsetup luksOpen /dev/sdx2 slackluks
|
||||||
|
|
||||||
|
* The LVM part is next. Create a Physical Volume (PV) on device
|
||||||
|
'/dev/mapper/slackluks', a Volume Group (VG) called 'cryptvg' - any name will
|
||||||
|
do - on the PV, and three Logical Volumes (LV's) in the VG, one for your
|
||||||
|
root partition (5 GB in size), one for the /home partition (10 GB in size)
|
||||||
|
and a third which we will use for swap (1 GB in size). You will probably
|
||||||
|
use different sizes depending on your environment and wishes, but keep the
|
||||||
|
sum of the LV sizes less than the total size of the Physical Volume:
|
||||||
|
|
||||||
|
# pvcreate /dev/mapper/slackluks
|
||||||
|
|
||||||
|
# vgcreate cryptvg /dev/mapper/slackluks
|
||||||
|
|
||||||
|
# lvcreate -L 5G -n root cryptvg
|
||||||
|
|
||||||
|
# lvcreate -L 10G -n home cryptvg
|
||||||
|
|
||||||
|
# lvcreate -L 1G -n swap cryptvg
|
||||||
|
|
||||||
|
* Create the device nodes needed before activating the volumes, and finally
|
||||||
|
activate the volumes so that we can format the 'swap' volume.
|
||||||
|
|
||||||
|
# vgscan --mknodes
|
||||||
|
|
||||||
|
# vgchange -ay
|
||||||
|
|
||||||
|
* Finally, run 'mkswap' so that the 'setup' program will identify the 'swap'
|
||||||
|
LV as a valid swap partition:
|
||||||
|
|
||||||
|
# mkswap /dev/cryptvg/swap
|
||||||
|
|
||||||
|
* With the system properly prepared, you can launch 'setup'. The 'setup'
|
||||||
|
program will identify the LV swap volume and activate it. When appointing
|
||||||
|
the partitions to use for your filesystems, select '/dev/cryptvg/root' for the
|
||||||
|
root partition, next select '/dev/cryptvg/home' to be used for your /home .
|
||||||
|
And lastly, assign the partition /dev/sdx1 to a /boot filesystem. This
|
||||||
|
'/boot' filesystem will be the only unencrypted part of your computer.
|
||||||
|
|
||||||
|
You will notice that there are several more devices to select from but
|
||||||
|
*don't* touch these! The devices such as /dev/mapper/* are the underlying
|
||||||
|
device names for the encrypted and LVM volumes. If you choose to touch any
|
||||||
|
of these, you will destroy the data on the /dev/cryptvg/* volumes which you
|
||||||
|
are using.
|
||||||
|
After partitioning, we end up with a filesystem configuration like this:
|
||||||
|
|
||||||
|
/dev/cryptvg/root /
|
||||||
|
/dev/cryptvg/home /home
|
||||||
|
/dev/sdx1 /boot
|
||||||
|
|
||||||
|
* When installation of the packages has finished, the system configuration will
|
||||||
|
start, and one of the dialogs will be for 'liloconfig'. The assumption is that
|
||||||
|
you are installing Slackware as the only OS on your computer. This means that
|
||||||
|
you must install lilo to the MBR. Even if you have another OS like MS Windows
|
||||||
|
installed already, Slackware's lilo bootloader will be able to boot Windows
|
||||||
|
if you install lilo to the MBR. Choose "expert lilo configuration" with the
|
||||||
|
option "Install to Master Boot Record (MBR)". Select '/dev/cryptvg/root' as
|
||||||
|
the root partition to boot. Add any Windows partition to lilo if you want to
|
||||||
|
dual-boot Windows. Finally, when liloconfig installs the bootloader, you may
|
||||||
|
see an error message stating that the "installation failed". Ignore this,
|
||||||
|
because we will have to add an initrd to '/etc/lilo.conf' anyway and re-run
|
||||||
|
lilo. We will do this after the Slackware installation has come to it's end.
|
||||||
|
|
||||||
|
* Let the installation complete, and after you select "EXIT" you will be
|
||||||
|
returned to the command prompt. DO NOT reboot just yet! This is the moment
|
||||||
|
where we fix our bootloader. To do so, we will 'chroot' (change root) into
|
||||||
|
our freshly installed Slackware filesystem. The setup program has done all
|
||||||
|
the preparations already, such as re-mounting /sys and /proc below /mnt and
|
||||||
|
generating LVM device nodes in /mnt . Enter the 'chroot' using the command:
|
||||||
|
|
||||||
|
# chroot /mnt
|
||||||
|
|
||||||
|
* In the chroot, you create an initrd image with LVM and CRYPT support -
|
||||||
|
or else your Slackware computer will not be able to proceed past the initial
|
||||||
|
stage of booting the kernel. The initial ramdisk (initrd) contains a small
|
||||||
|
filesystem with the tools needed to unlock the root filesystem, so that
|
||||||
|
the kernel can start the init program. In the example command line below
|
||||||
|
which creates the 'initrd.gz' image I assume that you formatted the root
|
||||||
|
filesystem as 'ext3', and will be running the Slackware 13.0 default SMP
|
||||||
|
kernel '2.6.29.6-smp' :
|
||||||
|
|
||||||
|
# mkinitrd -c -k 2.6.29.6-smp -m ext3 -f ext3 -r /dev/cryptvg/root -C /dev/sdx2 -L
|
||||||
|
|
||||||
|
NOTE: if you use a non-US keyboard and need to enter a passphrase during boot,
|
||||||
|
this may be problematic if the keyboard mapping is US while Slackware
|
||||||
|
runs from the initrd filesystem. In this case, add support for your
|
||||||
|
keyboard to the initrd image using this additional parameter to the
|
||||||
|
'mkinitrd' command above: "-l <language>". The string <language> is the
|
||||||
|
same as the one you select in the installer when your keyboard is
|
||||||
|
non-US. Example for a dutch keyboard: "-l nl".
|
||||||
|
|
||||||
|
* The resulting initrd image will be written to the file '/boot/initrd.gz'
|
||||||
|
by default. We still need to tell lilo about this initrd, so open the
|
||||||
|
configuration file '/etc/lilo.conf' in an editor such as vi or pico -
|
||||||
|
it should already have been generated by the 'liloconfig' part of setup.
|
||||||
|
Look for the "Linux bootable partition config" and add a line for the initrd.
|
||||||
|
We also need to change the kernel file to a generic kernel, because lilo
|
||||||
|
is unable to combine the 'huge' kernels in Slackware 13.0 with an initrd
|
||||||
|
image - it will complain about "The initial RAM disk is too big to fit
|
||||||
|
between the kernel and the 15M-16M memory hole" if you try a 'huge'
|
||||||
|
kernel. We can live with that, since the 'huge' kernels are not meant
|
||||||
|
for day-to-day use anyway. They are meant to install Slackware on a wide
|
||||||
|
range of computers and that is why they are 'huge'. The linux part of
|
||||||
|
'/etc/lilo.conf' should end up looking somewhat like this:
|
||||||
|
|
||||||
|
image = /boot/vmlinuz-generic-smp-2.6.29.6-smp
|
||||||
|
initrd = /boot/initrd.gz
|
||||||
|
root = /dev/cryptvg/root
|
||||||
|
label = linux
|
||||||
|
read-only
|
||||||
|
|
||||||
|
If you add the above section as an extra instead of editing what's
|
||||||
|
already present, make sure that the label you use ('linux' in the example
|
||||||
|
above) is unique in the configuration file.
|
||||||
|
|
||||||
|
We are done. Save your changes, exit the editor and run the command
|
||||||
|
'lilo'. Lilo will issue a couple of warnings concerning a difference in
|
||||||
|
what '/proc/partitions' reports and what lilo thinks are the available
|
||||||
|
partitions, but it is safe to ignore these. Reboot now, and you will be
|
||||||
|
presented with a "Enter passphrase: " prompt. After entering the passphrase
|
||||||
|
which unlocks your encrypted partition, the system will boot into Slackware.
|
||||||
|
You will be able to work as usual, and when you shut the machine down (or
|
||||||
|
suspend to disk using the swap partition) all your data (including swap)
|
||||||
|
will be encrypted when stored on disk.
|
||||||
|
|
||||||
|
As you may have noticed, there was no need to create a file '/etc/crypttab'
|
||||||
|
this time. Also, there is only a single passphrase to enter. Additionally,
|
||||||
|
the swap is encrypted by default which is a big plus if you intend to use a
|
||||||
|
laptop and carry it around with you in a hibernated state. All considered,
|
||||||
|
this is the most elegant way of encrypting your Slackware computer if you
|
||||||
|
do not mind using LVM.
|
||||||
|
|
||||||
|
|
||||||
|
Additional passphrases, keyfiles
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
The cryptsetup program assigns 7 'key slots' to any partition or volume
|
||||||
|
it encrypts. Each of those seven slots can contain a key to unlock the
|
||||||
|
partition's data. The key can be a passphrase, but the content of a
|
||||||
|
*keyfile* is another option. You can then pass the name of a file as a
|
||||||
|
parameter to cryptsetup in order to unlock an encrypted volume so that
|
||||||
|
you won't have to type a passphrase. This creates the possibility to
|
||||||
|
use a keyfile on a removable USB flash disk for unlocking your Slackware
|
||||||
|
computer. Slackware has partial support for keyfiles: if the file can be
|
||||||
|
found, it will be used and you won't have to type a passphrase. A file on a
|
||||||
|
USB stick will *not* be found on boot because the stick's filesystem is not
|
||||||
|
mounted. Future versions of Slackware may support USB sticks as unlocking
|
||||||
|
mechanism. For now, if you encrypt your root filesystem, you will have to
|
||||||
|
enter a passphrase to boot into it. After the root filesystem is unlocked
|
||||||
|
and mounted, it is completely safe to have a keyfile for _additional_
|
||||||
|
encrypted filesystems stored in for instance the '/root' directory. That
|
||||||
|
way, you have only one passphrase to type.
|
||||||
|
|
||||||
|
|
||||||
|
Hibernation (suspend-to-disk)
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
I will touch briefly on the subject of enabling 'suspend-to-disk'
|
||||||
|
because it is not documented properly anywhere else. Configuring your
|
||||||
|
Slackware computer for hibernation can be done at any time, it is not
|
||||||
|
required to do this during installation of Slackware. Suppose you want
|
||||||
|
to use the swap partition '/dev/cryptvg/swap' for hibernation, then you
|
||||||
|
must perform the following two steps:
|
||||||
|
(1) add "resume=/dev/cryptvg/swap" to the 'append =' line in your
|
||||||
|
'/etc/lilo.conf' file. The 'append' line may end up looking like this:
|
||||||
|
append = "vt.default_utf8=0 resume=/dev/cryptvg/swap"
|
||||||
|
(2) add "-h /dev/cryptvg/swap" as an extra parameter to your mkinitrd command
|
||||||
|
to create an initrd with support for resuming from a swap partition.
|
||||||
|
Do not forget to run 'lilo' after creating the new initrd.gz file!
|
||||||
|
|
||||||
|
|
||||||
|
A note on custom kernels
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
If you want to compile your own custom kernel to work with LUKS encrypted
|
||||||
|
partitions, you need to enable at least the following two options in your
|
||||||
|
kernel configuration:
|
||||||
|
|
||||||
|
Multiple devices driver support (RAID and LVM) --->
|
||||||
|
<*> Device mapper support
|
||||||
|
<*> Crypt target support
|
||||||
|
|
||||||
|
This is equivalent to the following options in your .config file:
|
||||||
|
|
||||||
|
CONFIG_BLK_DEV_DM=y
|
||||||
|
CONFIG_DM_CRYPT=y
|
||||||
|
|
||||||
|
Do not compile these as module! They are required in your kernel.
|
||||||
|
|
||||||
|
|
||||||
|
A mkinitrd helper script
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
The mkinitrd package in Slackware 13.0 ships with a script called
|
||||||
|
'mkinitrd_command_generator.sh'. If you run this script, it will analyze
|
||||||
|
your Slackware configuration and make a smart suggestion about the 'mkinitrd'
|
||||||
|
command you have to type in order to create an initrd.gz with all the bells
|
||||||
|
& whistles. The script will recognize your kernel version, root partition
|
||||||
|
and filesystem, it will find out if you are using LUKS and/or LVM and will
|
||||||
|
determine what kernel modules your initrd needs to mount the root filesystem.
|
||||||
|
The following command will save you the headache of figuring this out all
|
||||||
|
by yourself:
|
||||||
|
|
||||||
|
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r
|
||||||
|
|
||||||
|
It should emit a string like this (your system will probably give different
|
||||||
|
parameter values):
|
||||||
|
|
||||||
|
mkinitrd -c -k 2.6.29.6-smp -m ext3 -f ext3 -r /dev/cryptvg/root -C /dev/sdx2 -L
|
||||||
|
|
||||||
|
You can copy and paste this output to your command prompt, and add any other
|
||||||
|
parameters you need such as "-h" to indicate a hibernation partition or
|
||||||
|
"-l" to indicate you are using a non-US keyboard layout. You can even run
|
||||||
|
the script in full interactive mode by using the "-i" parameter, and it will
|
||||||
|
guide you through the process of generating a mkinitrd commandline.
|
||||||
|
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
|
||||||
|
Good luck with your fresh Slackware installion on encrypted partition(s)!
|
||||||
|
|
||||||
|
==============================================================================
|
||||||
|
Author:
|
||||||
|
Eric Hameleers <alien@slackware.com> 23-jul-2009
|
||||||
|
URLs:
|
||||||
|
http://www.slackware.com/~alien/dokuwiki/doku.php?id=slackware:setup
|
196
README_LVM.TXT
Normal file
196
README_LVM.TXT
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
|
||||||
|
Installing Slackware on Logical volumes
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
------------
|
||||||
|
|
||||||
|
For a long time, it has been common for other distros to support
|
||||||
|
installation to Logical Volumes. In Slackware, the installer has never
|
||||||
|
supported this, but the gurus usually would find a way to create logical
|
||||||
|
volumes and install or migrate their Slackware onto those. Having your
|
||||||
|
Slackware installed fully on LVM was near impossible until Slackware 12.0.
|
||||||
|
Slackware 13.0 has improved support for LVM built into the installer.
|
||||||
|
|
||||||
|
|
||||||
|
Preparing Logical Volumes (LV)
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
* Existing LV
|
||||||
|
The Slackware installer will recognize and activate any pre-existing
|
||||||
|
Logical Volumes on your hard drive(s). These Logical Volumes will be
|
||||||
|
selectable targets for the creation of the filesystems (like /, /usr, /home,
|
||||||
|
/var)
|
||||||
|
|
||||||
|
* New LV
|
||||||
|
When you need to create the LV, you need to do this before starting the
|
||||||
|
'setup' program. You may have to run (c)fdisk first to create the partition
|
||||||
|
you want to use for setting up the logical volumes. For any partition you
|
||||||
|
create and that you want to use for LVM, you should set the partition type
|
||||||
|
to '8e' (Linux LVM).
|
||||||
|
|
||||||
|
In the next example, I will assume we use a single 10 GB partition
|
||||||
|
'/dev/sda1' for our Volume Group (VG). With LVM, it is possible to use
|
||||||
|
multiple physical volumes (i.e. partitions, whole disks) for a VG, but that is
|
||||||
|
left as an exercise for the reader. You can always add extra physical volumes
|
||||||
|
to your VG later. We will create a VG called 'myvg' and on that VG create two
|
||||||
|
LV's called 'root' and 'home'. The first is going to contain the root partition
|
||||||
|
('/') and the second will become our '/home' partition.
|
||||||
|
|
||||||
|
After booting your computer from the Slackware CD/DVD/USB, and logging in
|
||||||
|
as root, you run the following sequence of commands to create the Physical
|
||||||
|
Volume (PV), the Volume Group (VG) within that PV and two LV's of size 5GB
|
||||||
|
(root) and 3GB (home) inside the VG:
|
||||||
|
|
||||||
|
# pvcreate /dev/sda1
|
||||||
|
|
||||||
|
# vgcreate myvg /dev/sda1
|
||||||
|
|
||||||
|
# lvcreate -L 5G -n root myvg
|
||||||
|
|
||||||
|
# lvcreate -L 3G -n home myvg
|
||||||
|
|
||||||
|
========================================================================
|
||||||
|
NOTE: if you want, you can just allocate all remaining space inside the
|
||||||
|
VG to a Logical Volume. Suppose we want to allocate all available
|
||||||
|
space to our 'home' LV, then this will the command to use instead
|
||||||
|
of the previous one (note the use of '-l' instead of '-L'):
|
||||||
|
|
||||||
|
# lvcreate -l 100%FREE -n home myvg
|
||||||
|
========================================================================
|
||||||
|
|
||||||
|
Next, we create the device nodes needed before activating the volumes, and
|
||||||
|
finally we activate the volumes (the last command is not really needed because
|
||||||
|
'setup' will run it anyway):
|
||||||
|
|
||||||
|
# vgscan --mknodes
|
||||||
|
|
||||||
|
# vgchange -ay
|
||||||
|
|
||||||
|
This is all we need to do before running 'setup'.
|
||||||
|
|
||||||
|
|
||||||
|
Using LVM during setup
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
In setup, when you choose "TARGET" in the main menu, you will notice that
|
||||||
|
the LV's are available in the Linux partition selection. Our two LV's "root"
|
||||||
|
and "home" are visible as "/dev/myvg/root" and "/dev/myvg/home". Select the
|
||||||
|
first for your root ('/') filesystem, and the other for your /home filesystem.
|
||||||
|
Create any filesystem you like on them. My favorite fstype still is ext3,
|
||||||
|
but you can choose ext4, xfs or jfs for stability and speed.
|
||||||
|
|
||||||
|
Setup will proceed as usual, but when you get to the point where you are
|
||||||
|
presented with the lilo configuration dialog, it is almost time to perform
|
||||||
|
one final manual tweak. Proceed with configuring your lilo as usual, and
|
||||||
|
select '/dev/myvg/root' as your root filesystem to boot. When you install
|
||||||
|
lilo, it will probably not complain, but be aware that having your root
|
||||||
|
filesystem on a Logical Volume requires an initial ramdisk (initrd). The
|
||||||
|
Slackware installer will not create it for you, and this requires some
|
||||||
|
manual intervention after the setup program has finished and you've been
|
||||||
|
returned to the command prompt. For now, you can continue with the Slackware
|
||||||
|
setup as usual, but at the end, do not reboot just yet!
|
||||||
|
|
||||||
|
At the end of the setup program it will prompt you to select "EXIT" and
|
||||||
|
press 'Ctrl-Alt-Del' to reboot the computer. Exit the menu but DO NOT
|
||||||
|
reboot just yet! At this point, we are going to create our initrd image.
|
||||||
|
Fortunately, the Slackware installer has done some of the work for us.
|
||||||
|
It will have created the LVM device nodes which lilo needs in order to
|
||||||
|
install successfully. The installer will have mounted the /sys and /proc
|
||||||
|
filesystems as well. Inside a 'chroot' we will create an initrd image
|
||||||
|
and configure lilo to use it with the generic kernel. Be aware that
|
||||||
|
Slackware's 'huge' kernels are too big to work with an initrd image using
|
||||||
|
the lilo bootloader. Lilo will complain that there is too little space
|
||||||
|
left in the 15M-16M 'memory hole'.
|
||||||
|
We are going to 'chroot' into our fresh installation:
|
||||||
|
|
||||||
|
# chroot /mnt
|
||||||
|
|
||||||
|
Next, while we are in the chroot, create the initrd with LVM support -
|
||||||
|
in the example command line I assume that the root filesystem is 'ext3',
|
||||||
|
we used the LV '/dev/myvg/root' as the root device, and are running the
|
||||||
|
Slackware 13.0 default SMP kernel '2.6.29.6-smp':
|
||||||
|
|
||||||
|
# mkinitrd -c -k 2.6.29.6-smp -m ext3 -f ext3 -r /dev/myvg/root -L
|
||||||
|
|
||||||
|
The resulting initrd image will be written to the file '/boot/initrd.gz'
|
||||||
|
by default. We still need to tell lilo about this initrd, so open the
|
||||||
|
configuration file '/etc/lilo.conf' in an editor such as vi or pico - it
|
||||||
|
should already have been generated by the 'liloconfig' part of setup. Look
|
||||||
|
for the "Linux bootable partition config" and add a line for the initrd.
|
||||||
|
Additionally, we change the filename of the kernel to be used. The default
|
||||||
|
filename added by 'liloconfig' is '/boot/vmlinuz' which is a symbolic link to
|
||||||
|
the huge SMP kernel. Remember that we need a 'generic' kernel with the initrd.
|
||||||
|
The end result should look somewhat like this:
|
||||||
|
|
||||||
|
image = /boot/vmlinuz-generic-smp-2.6.29.6-smp
|
||||||
|
initrd = /boot/initrd.gz
|
||||||
|
root = /dev/myvg/root
|
||||||
|
label = linux
|
||||||
|
read-only
|
||||||
|
|
||||||
|
Double-check that the label you are using ('linux' in the above example)
|
||||||
|
is unique in the /etc/lilo.conf file. If you are satisfied that everything
|
||||||
|
looks OK, write the changes, exit the editor and (re-) run lilo while in
|
||||||
|
the chroot. Lilo will issue a couple of warnings concerning a difference in
|
||||||
|
what /proc/partitions reports and what lilo thinks are available partitions,
|
||||||
|
but it is safe to ignore these.
|
||||||
|
|
||||||
|
=====================================================================
|
||||||
|
An alternative method of creating the commandline for mkinitrd is
|
||||||
|
to use the '/usr/share/mkinitrd_command_generator.sh' script that is
|
||||||
|
part of the mkinitrd package. This script will analyze your Slackware
|
||||||
|
installation and show you a useable 'mkinitrd' commandline:
|
||||||
|
|
||||||
|
# /usr/share/mkinitrd/mkinitrd_command_generator.sh -r
|
||||||
|
|
||||||
|
The above command would emit a commandline (almost) exactly as I
|
||||||
|
showed earlier in this README. If you are satisfied that it is the
|
||||||
|
correct command for you, then there is no need to type it manually;
|
||||||
|
just enclose the above line in "$()" which will actually run the command
|
||||||
|
and create your initrd:
|
||||||
|
|
||||||
|
# $( /usr/share/mkinitrd/mkinitrd_command_generator.sh -r )
|
||||||
|
|
||||||
|
All that is left then is to update /etc/lilo.conf and run 'lilo'.
|
||||||
|
=====================================================================
|
||||||
|
|
||||||
|
You're done in the chroot now. Exit the chroot by running the command
|
||||||
|
'exit' and return the original console prompt (not that this looks any
|
||||||
|
different from the prompt inside the 'chroot' environment!).
|
||||||
|
|
||||||
|
This completes the installation of Slackware. Good luck with your fresh
|
||||||
|
'Slackware with a root filesystem-on-LVM' !
|
||||||
|
|
||||||
|
|
||||||
|
A word about using a Logical Volume for SWAP
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
The setup program is able to detect a Logical Volume and use it as a swap
|
||||||
|
partition, on the condition that you have manually formatted the LV as
|
||||||
|
swap before you start 'setup'. That way, you will be able to select it as a
|
||||||
|
usable swap partition in the ADDSWAP section. The setup program will inspect
|
||||||
|
all your logical volumes for a swap header. Here is how you create the LV,
|
||||||
|
assuming you already created the Volume Group 'myvg' earlier - see above -
|
||||||
|
and left enough unallocated space in that VG:
|
||||||
|
|
||||||
|
# lvcreate -L 1G -n swap myvg
|
||||||
|
|
||||||
|
This command creates a 1 GB large Logical Volume called 'swap' (but any
|
||||||
|
name will do) in the 'myvg' Volume Group. Next, format the volume for
|
||||||
|
use as swap partition:
|
||||||
|
|
||||||
|
# mkswap /dev/myvg/swap
|
||||||
|
|
||||||
|
This is enough to get it recognized by the setup program. Have fun!
|
||||||
|
|
||||||
|
|
||||||
|
========================================================
|
||||||
|
Author:
|
||||||
|
Eric Hameleers <alien@slackware.com> 25-jul-2009
|
||||||
|
Wiki URLs:
|
||||||
|
http://www.slackware.com/~alien/dokuwiki/doku.php?id=slackware:setup
|
||||||
|
Documentation:
|
||||||
|
/usr/doc/Linux-HOWTOs/LVM-HOWTO
|
||||||
|
|
508
README_RAID.TXT
Normal file
508
README_RAID.TXT
Normal file
|
@ -0,0 +1,508 @@
|
||||||
|
Slackware RAID HOWTO
|
||||||
|
|
||||||
|
Version 1.00
|
||||||
|
2008/04/29
|
||||||
|
|
||||||
|
by Amritpal Bath <amrit@slackware.com>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Contents
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
- Introduction
|
||||||
|
- Warnings
|
||||||
|
- Planning
|
||||||
|
- Setup
|
||||||
|
- Using the generic kernel
|
||||||
|
- Troubleshooting
|
||||||
|
- Appendices
|
||||||
|
- Acknowledgements/References
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
This document explains how to install Slackware 13.0 (and beyond) on a
|
||||||
|
software RAID root filesystem. It is meant to cover only software raid.
|
||||||
|
If you are using a RAID expansion card, or the RAID functionality that came
|
||||||
|
with your motherboard, this document will not be useful for you.
|
||||||
|
|
||||||
|
In order to follow this document, your computer must have two or more empty
|
||||||
|
hard drives. While it is possible to be creative and create RAID arrays on
|
||||||
|
drives that already contain data, it can be error prone, so it is not
|
||||||
|
covered in this document.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Warnings
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
If you perform the following instructions on hard drives with data on them,
|
||||||
|
YOU WILL LOSE ALL OF YOUR DATA.
|
||||||
|
|
||||||
|
If you wish to perform these operations on hard drives that hold data of
|
||||||
|
any importance, you MUST BACKUP YOUR DATA. The procedure below will
|
||||||
|
destroy all of the data on your hard drives, so any important data will
|
||||||
|
need to be restored from your backups.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
One more time: *BACKUP YOUR DATA, OR YOU WILL LOSE IT!*
|
||||||
|
|
||||||
|
If you don't backup your data and end up losing it, it will be your fault.
|
||||||
|
There is nothing I can do to help you in that case.
|
||||||
|
|
||||||
|
Now, on with the show... :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Planning
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
The first step is to determine which RAID level you want to use.
|
||||||
|
|
||||||
|
It is recommended that you familiarize yourself with basic RAID concepts,
|
||||||
|
such as the various RAID levels that are available to you. You can read
|
||||||
|
about these in various places - consult your favorite search engine about
|
||||||
|
"raid levels", or see the References section.
|
||||||
|
|
||||||
|
Here's a quick summary of the more common RAID levels:
|
||||||
|
|
||||||
|
- RAID 0: Requires 2 drives, can use more. Offers no redundancy, but
|
||||||
|
improves performance by "striping", or interleaving, data between all
|
||||||
|
drives. This RAID level does not help protect your data at all.
|
||||||
|
If you lose one drive, all of your data will be lost.
|
||||||
|
|
||||||
|
- RAID 1: Requires 2 drives, can use more. Offers data redundancy by
|
||||||
|
mirroring data across all drives. This RAID level is the simplest way
|
||||||
|
to protect your data, but is not the most space-efficient method. For
|
||||||
|
example, if you use 3 drives in a RAID 1 array, you gain redundancy, but
|
||||||
|
you still have only 1 disk's worth of space available for use.
|
||||||
|
|
||||||
|
- RAID 5: Requires 3 drives, can use more. Offers data redundancy by
|
||||||
|
storing parity data on each drive. Exactly one disk's worth of space
|
||||||
|
will be used to hold parity data, so while this RAID level is heaviest
|
||||||
|
on the CPU, it is also the most space efficient way of protecting your
|
||||||
|
data. For example, if you use 5 drives to create a RAID 5 array, you
|
||||||
|
will only lose 1 disk's worth of space (unlike RAID 1), so you will
|
||||||
|
end up with 4 disk's worth of space available for use. While simple to
|
||||||
|
setup, this level is not quite as straightforward as setting up RAID 1.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Setup
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
=== Partition hard drives ===
|
||||||
|
|
||||||
|
Once you have booted the Slackware installer CD, the first step is to
|
||||||
|
partition the hard drives that will be used in the RAID array(s).
|
||||||
|
|
||||||
|
I will assume that your first RAID hard drive is /dev/sda. If it is
|
||||||
|
/dev/hda or something similar, adjust the following commands appropriately.
|
||||||
|
|
||||||
|
You can see your drives by running: cat /proc/partitions
|
||||||
|
|
||||||
|
- /boot: RAID 0 and RAID 5 users will require a separate boot partition, as
|
||||||
|
the computer's BIOS will not understand striped devices. For
|
||||||
|
simplicity's sake, we will make /boot a small RAID 1 (mirror) array.
|
||||||
|
This means that in the case of RAID 0, it will not matter which drive
|
||||||
|
your BIOS attempts to boot, and in the case of RAID 5, losing one drive
|
||||||
|
will not result in losing your /boot partition.
|
||||||
|
|
||||||
|
I recommend at least 30MB for this partition, to give yourself room to
|
||||||
|
play with multiple kernels in the future, should the need arise. I tend
|
||||||
|
to use 100MB, so I can put all sorts of bootable images on the partition,
|
||||||
|
such as MemTest86, for example.
|
||||||
|
|
||||||
|
Go ahead and create a small boot partition now on /dev/sda, via cfdisk
|
||||||
|
(or fdisk, if you prefer).
|
||||||
|
|
||||||
|
Ensure that the partition type is Linux RAID Autodetect (type FD).
|
||||||
|
|
||||||
|
|
||||||
|
- /: Every setup will require a root partition. :) You will likely want to
|
||||||
|
create a partition takes up most of the rest of the drive. Unless you
|
||||||
|
are using LVM (not covered in this document), remember to save some space
|
||||||
|
after this partition for your swap partition! (see below)
|
||||||
|
|
||||||
|
If you are not creating a swap partition, I recommend leaving 100MB of
|
||||||
|
unused space at the end of the drive. (see "safety" for explanation)
|
||||||
|
|
||||||
|
Go ahead and create your main partition now on /dev/sda, via cfdisk
|
||||||
|
(or fdisk, if you prefer).
|
||||||
|
|
||||||
|
Ensure that the partition type is Linux RAID Autodetect (type FD).
|
||||||
|
|
||||||
|
|
||||||
|
- swap: Swap space is where Linux stores data when you're running low on
|
||||||
|
available RAM. For fairly obvious reasons, building this on RAID 0 could
|
||||||
|
be painful (if that array develops a bad sector, for example), so I tend
|
||||||
|
to build swap on RAID 1 as well. If you understand the danger and still
|
||||||
|
want to build swap on RAID 0 to eke out as much performance as possible,
|
||||||
|
go for it.
|
||||||
|
|
||||||
|
For RAID 1 swap, create a partition that is the exact size that you want
|
||||||
|
your swap space to be (for example, 2GB, if you can't decide).
|
||||||
|
|
||||||
|
For RAID 0 swap (not recommended), create a partition that is equivalent
|
||||||
|
to the swap size you want, divided by the number of drives that will be
|
||||||
|
in the array.
|
||||||
|
|
||||||
|
For example, 2GB / 3 drives = 683MB swap partition on /dev/sda.
|
||||||
|
|
||||||
|
Ensure that the partition type is Linux RAID Autodetect (type FD).
|
||||||
|
|
||||||
|
I recommend leaving 100MB of unused space at the end of the drive.
|
||||||
|
(see "safety" for explanation)
|
||||||
|
|
||||||
|
See also: Appendix A - Striping swap space without RAID 0.
|
||||||
|
|
||||||
|
|
||||||
|
- safety! I highly recommend leaving 100MB of unpartitioned space at the
|
||||||
|
end of each drive that will be used in the RAID array(s).
|
||||||
|
|
||||||
|
In the event that you need to replace one of the drives in the array,
|
||||||
|
there is no guarantee that the new drive will be exactly the same size as
|
||||||
|
the drive that you are replacing. For example, even if both drives are
|
||||||
|
750GB, they may be different revisions or manufacturers, and thus have a
|
||||||
|
size difference of some small number of megabytes.
|
||||||
|
|
||||||
|
This is, however, enough to throw a wrench in your drive-replacement
|
||||||
|
plans - you cannot replace a failed RAID drive with one of a smaller size,
|
||||||
|
for obvious reasons. Having that small 100MB buffer just may save your
|
||||||
|
bacon.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=== Copy and review partitions ===
|
||||||
|
|
||||||
|
Now that /dev/sda is partitioned as appropriate, copy the partitions to all
|
||||||
|
the other drives to be used in your RAID arrays.
|
||||||
|
|
||||||
|
An easy way to do this is:
|
||||||
|
sfdisk -d /dev/sda | sfdisk /dev/sdb
|
||||||
|
|
||||||
|
This will destroy all partitions on /dev/sdb, and replicate /dev/sda's
|
||||||
|
partition setup onto it.
|
||||||
|
|
||||||
|
After this, your partitions should look something like the following:
|
||||||
|
|
||||||
|
- RAID 0:
|
||||||
|
/dev/sda1 30MB /dev/sdb1 30MB
|
||||||
|
/dev/sda2 100GB /dev/sdb2 100GB
|
||||||
|
/dev/sda3 2GB /dev/sdb3 2GB
|
||||||
|
|
||||||
|
- RAID 1:
|
||||||
|
/dev/sda1 100GB /dev/sdb1 100GB
|
||||||
|
/dev/sda2 2GB /dev/sdb2 2GB
|
||||||
|
|
||||||
|
- RAID 5:
|
||||||
|
/dev/sda1 30MB /dev/sdb1 30MB /dev/sdc1 30MB
|
||||||
|
/dev/sda2 100GB /dev/sdb2 100GB /dev/sdc2 100GB
|
||||||
|
/dev/sda3 2GB /dev/sdb3 2GB /dev/sdc3 2GB
|
||||||
|
|
||||||
|
All partition types should be Linux RAID Autodetect (type fd).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=== Create RAID arrays ===
|
||||||
|
|
||||||
|
Now it's time to create the actual RAID arrays based on the partitions that
|
||||||
|
were created.
|
||||||
|
|
||||||
|
The parameters for each of these RAID commands specifies, in order:
|
||||||
|
- the RAID device node to create (--create /dev/mdX)
|
||||||
|
- the RAID level to use for this array (--level X)
|
||||||
|
- how many devices (partitions) to use in the array (--raid-devices X)
|
||||||
|
- the actual list of devices (/dev/sdaX /dev/sdbX /dev/sdcX)
|
||||||
|
|
||||||
|
Start by creating the RAID array for your root filesystem.
|
||||||
|
|
||||||
|
- RAID 0:
|
||||||
|
mdadm --create /dev/md0 --level 0 --raid-devices 2 \
|
||||||
|
/dev/sda2 /dev/sdb2
|
||||||
|
|
||||||
|
- RAID 1:
|
||||||
|
mdadm --create /dev/md0 --level 1 --raid-devices 2 \
|
||||||
|
/dev/sda1 /dev/sdb1
|
||||||
|
|
||||||
|
- RAID 5:
|
||||||
|
mdadm --create /dev/md0 --level 5 --raid-devices 3 \
|
||||||
|
/dev/sda2 /dev/sdb2 /dev/sdc2
|
||||||
|
|
||||||
|
|
||||||
|
Next, let's create the array for the swap partition. This will be RAID 1
|
||||||
|
regardless of which RAID level your root filesystem uses, but given our
|
||||||
|
partition layouts, each command will still be slightly different.
|
||||||
|
|
||||||
|
- RAID 0:
|
||||||
|
mdadm --create /dev/md1 --level 1 --raid-devices 2 \
|
||||||
|
/dev/sda3 /dev/sdb3
|
||||||
|
|
||||||
|
- RAID 1:
|
||||||
|
mdadm --create /dev/md1 --level 1 --raid-devices 2 \
|
||||||
|
/dev/sda2 /dev/sdb2
|
||||||
|
|
||||||
|
- RAID 5:
|
||||||
|
mdadm --create /dev/md1 --level 1 --raid-devices 3 \
|
||||||
|
/dev/sda3 /dev/sdb3 /dev/sdc3
|
||||||
|
|
||||||
|
|
||||||
|
Finally, RAID 0 and RAID 5 users will need to create their /boot array.
|
||||||
|
RAID 1 users do not need to do this.
|
||||||
|
|
||||||
|
- RAID 0:
|
||||||
|
mdadm --create /dev/md2 --level 1 --raid-devices 2 \
|
||||||
|
/dev/sda1 /dev/sdb1
|
||||||
|
|
||||||
|
- RAID 5:
|
||||||
|
mdadm --create /dev/md2 --level 1 --raid-devices 3 \
|
||||||
|
/dev/sda1 /dev/sdb1 /dev/sdc1
|
||||||
|
|
||||||
|
|
||||||
|
We're all done creating our arrays! Yay!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=== Run Slackware setup ===
|
||||||
|
|
||||||
|
First, let's format our swap array, so the installer recognizes it:
|
||||||
|
mkswap /dev/md1
|
||||||
|
|
||||||
|
Now run 'setup' as normal.
|
||||||
|
|
||||||
|
When you choose to setup your swap partitions, /dev/md1 will show up.
|
||||||
|
Continue with this selected.
|
||||||
|
|
||||||
|
When asked for the target partition, choose the root array (/dev/md0).
|
||||||
|
|
||||||
|
You may choose the format method and filesystem of your choice.
|
||||||
|
|
||||||
|
RAID 0 and RAID 5 users must also setup /boot. When asked about setting up
|
||||||
|
extra partitions, choose /dev/md2. When asked where to mount this device,
|
||||||
|
enter "/boot".
|
||||||
|
|
||||||
|
After this, continue installation as normal.
|
||||||
|
|
||||||
|
For LILO configuration:
|
||||||
|
- When asked about LILO, choose the "simple" setup.
|
||||||
|
- When asked about additional "append=" parameters, RAID 0 and
|
||||||
|
RAID 5 users should type in "root=/dev/md0", to ensure that the proper
|
||||||
|
array is mounted on / at bootup.
|
||||||
|
- When asked about where to install LILO, choose MBR.
|
||||||
|
|
||||||
|
You may see some warnings scroll by. This is OK.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
=== Finishing touches ===
|
||||||
|
|
||||||
|
After exiting the installer, we have just a few settings to tweak.
|
||||||
|
|
||||||
|
Start by switching into your actual installation directory:
|
||||||
|
- chroot /mnt
|
||||||
|
|
||||||
|
|
||||||
|
Let's make sure LILO boots from the RAID arrays properly. Using your
|
||||||
|
favorite editor (vim/nano/pico), edit /etc/lilo.conf:
|
||||||
|
- add a new line (add it anywhere, but don't indent it):
|
||||||
|
raid-extra-boot = mbr-only
|
||||||
|
- You will need to change the following line:
|
||||||
|
boot = <something>
|
||||||
|
RAID 0 and RAID 5 users, change it to:
|
||||||
|
boot = /dev/md2
|
||||||
|
RAID 1 users, change it to:
|
||||||
|
boot = /dev/md0
|
||||||
|
|
||||||
|
- Save the file and exit your editor.
|
||||||
|
- run "lilo".
|
||||||
|
|
||||||
|
|
||||||
|
When that's done, let's exit the installation and reboot:
|
||||||
|
- exit
|
||||||
|
- reboot
|
||||||
|
|
||||||
|
Voila!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Using the generic kernel
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
The official Slackware recommendation is to switch to the "generic"
|
||||||
|
Slackware kernel after installation has been completed. If you wish to use
|
||||||
|
the generic kernel, you must create an initrd. This section gives a quick
|
||||||
|
example of booting a RAID system in this fashion.
|
||||||
|
|
||||||
|
If you require more information on initrds, please read /boot/README.initrd.
|
||||||
|
|
||||||
|
|
||||||
|
Typically, a user switches to a generic kernel by booting the system, and
|
||||||
|
afterwards running the following:
|
||||||
|
- cd /boot
|
||||||
|
- rm vmlinuz System.map config
|
||||||
|
- ln -s vmlinuz-generic-smp-* vmlinuz
|
||||||
|
- ln -s System.map-generic-smp-* System.map
|
||||||
|
- ln -s config-generic-smp-* config
|
||||||
|
|
||||||
|
Don't run lilo yet, we'll do that soon.
|
||||||
|
|
||||||
|
|
||||||
|
Next, edit (create, if necessary) /etc/mkinitrd.conf and add:
|
||||||
|
MODULE_LIST="ext3"
|
||||||
|
RAID="1"
|
||||||
|
|
||||||
|
Obviously, this assumes that you are using the EXT3 filesystem. If you are
|
||||||
|
using another filesystem, adjust the module appropriately (reiserfs or xfs,
|
||||||
|
for example). If you wish to read more about the MODULE_LIST variable,
|
||||||
|
consult "man mkinitrd.conf".
|
||||||
|
|
||||||
|
Note: If the module for your hard drive controller is not compiled into the
|
||||||
|
generic kernel, you will want to add that module to the MODULE_LIST variable
|
||||||
|
in mkinitrd.conf. For example, my controller requires the mptspi module, so
|
||||||
|
my /etc/mkinitrd.conf looks like:
|
||||||
|
MODULE_LIST="ext3:mptspi"
|
||||||
|
RAID="1"
|
||||||
|
|
||||||
|
|
||||||
|
We're almost done.
|
||||||
|
|
||||||
|
Edit /etc/lilo.conf, and find the line at the very end that says:
|
||||||
|
image = /boot/vmlinuz
|
||||||
|
Add a new line after it that says:
|
||||||
|
initrd = /boot/initrd.gz
|
||||||
|
In this case, be sure to indent the line you've added!
|
||||||
|
|
||||||
|
|
||||||
|
Next, create the initrd based on the config file created earlier.
|
||||||
|
mkinitrd -F
|
||||||
|
|
||||||
|
|
||||||
|
Finally, run "lilo" to make the new settings take effect, give yourself a
|
||||||
|
pat on the back, and reboot your finished system. :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Troubleshooting
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
Any number of typos can result in a system that does not boot on its own,
|
||||||
|
but all is not lost. Put the rubber chicken and the lemon away...
|
||||||
|
|
||||||
|
Booting your Slackware media (DVD, for example) can make it very easy to
|
||||||
|
switch into your installed system and make repairs:
|
||||||
|
|
||||||
|
- Boot Slackware CD/DVD.
|
||||||
|
- Login to installer as normal.
|
||||||
|
- Scan for, and then assemble the RAID arrays:
|
||||||
|
mdadm -Es > /etc/mdadm.conf
|
||||||
|
mdadm -As
|
||||||
|
- Mount root partition:
|
||||||
|
mount /dev/md0 /mnt
|
||||||
|
- Switch to installed OS:
|
||||||
|
chroot /mnt
|
||||||
|
- Mount remaining filesystems:
|
||||||
|
mount /boot (RAID 0 and RAID 5 users only)
|
||||||
|
mount /proc
|
||||||
|
mount sys /sys -t sysfs
|
||||||
|
|
||||||
|
At this point, you can bring up your favorite editor, tweak config files,
|
||||||
|
re-run mkinitrd/lilo/etc as you wish, or anything else you need to do to
|
||||||
|
make your system bootable again.
|
||||||
|
|
||||||
|
When you're finished making your changes, rebooting is simple:
|
||||||
|
|
||||||
|
- cd /
|
||||||
|
- umount boot proc sys
|
||||||
|
- exit
|
||||||
|
- reboot
|
||||||
|
|
||||||
|
If you are having issues that you're unable to resolve, shoot me an email.
|
||||||
|
Perhaps the answer will make it into this section. :)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Appendices
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
=== Appendix A: Striping swap space without RAID 0 ===
|
||||||
|
|
||||||
|
For completeness' sake, I should mention that swap space can be striped to
|
||||||
|
improve performance without creating a RAID 0 array.
|
||||||
|
|
||||||
|
To accomplish this, start by forgetting about any instructions having to do
|
||||||
|
with /dev/md1, which would be our swap array - create the swap partitions on
|
||||||
|
the hard drives, but do not create this particular array.
|
||||||
|
|
||||||
|
When creating the swap partitions, ensure that the partition type is set to
|
||||||
|
Linux Swap (type 82).
|
||||||
|
|
||||||
|
During setup, the installer will recognize the swap partitions. Ensure that
|
||||||
|
all of them are selected, and continue as normal.
|
||||||
|
|
||||||
|
|
||||||
|
After installation is complete, go ahead and boot your system - we can
|
||||||
|
finish this once the system is booted, in the interest of simplicity.
|
||||||
|
|
||||||
|
|
||||||
|
When the system boots, edit /etc/fstab with your favorite editor. Find the
|
||||||
|
lines that describe your swap partitions - they say "swap" in the second
|
||||||
|
column.
|
||||||
|
|
||||||
|
Each of these lines says "default" in the fourth column. Simply change that
|
||||||
|
to "default,pri=0" for each line.
|
||||||
|
|
||||||
|
After saving the file, either reboot, or simply run:
|
||||||
|
swapoff -a
|
||||||
|
swapon -a
|
||||||
|
|
||||||
|
To confirm that the setting has taken effect, you can run:
|
||||||
|
swapon -s
|
||||||
|
|
||||||
|
Verify that the Priority column reads 0 for each partition, and we're done!
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Acknowledgements/References
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
- In depth explanation of RAID levels:
|
||||||
|
"LasCon Storage - Different types of RAID"
|
||||||
|
http://www.lascon.co.uk/d008005.htm
|
||||||
|
|
||||||
|
- Thanks to John Jenkins (mrgoblin) for some tips in:
|
||||||
|
"Installing with Raid on Slackware 12.0+"
|
||||||
|
http://www.userlocal.com/articles/raid1-slackware-12.php
|
||||||
|
|
||||||
|
- Thanks to Karl Magnus Kolstø (karlmag) for his original writeup on
|
||||||
|
Slackware and RAID, ages ago!
|
||||||
|
"INSTALLING SLACKWARE LINUX version 8.1 WITH ROOT PARTITION ON A SOFTWARE
|
||||||
|
RAID level 0 DEVICE"
|
||||||
|
http://www.userlocal.com/articles/raid0-slackware-linux.php
|
||||||
|
|
||||||
|
- Of course, thanks to Patrick "The Man" Volkerding for creating Slackware!
|
||||||
|
http://slackware.com/
|
||||||
|
|
||||||
|
- Also thanks to the rest of the guys that proofread, tested, and suggested!
|
||||||
|
Eric Hameleers (alienBOB), Robby Workman, Alan Hicks,
|
||||||
|
Piter Punk, Erik Jan Tromp (alphageek)...
|
||||||
|
|
||||||
|
- My contact info:
|
||||||
|
Primary email: amrit@slackware.com
|
||||||
|
Secondary email: amrit@transamrit.net
|
||||||
|
On certain IRC networks: "amrit" (or some variation :) )
|
||||||
|
|
||||||
|
- This latest version of this document can be found at:
|
||||||
|
http://slackware.com/~amrit/
|
||||||
|
http://transamrit.net/docs/slackware/
|
9105
READ_DVD.TXT
Normal file
9105
READ_DVD.TXT
Normal file
File diff suppressed because it is too large
Load diff
140
RELEASE_NOTES
Normal file
140
RELEASE_NOTES
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
|
||||||
|
Slackware 13.0 release notes. Tue Aug 25 23:40:18 CDT 2009
|
||||||
|
|
||||||
|
Hi folks,
|
||||||
|
|
||||||
|
Historically, the RELEASE_NOTES (at least in recent releases)
|
||||||
|
had been mostly technical information, but once again Robby Workman
|
||||||
|
has covered the important technical details in CHANGES_AND_HINTS.TXT.
|
||||||
|
Thanks!
|
||||||
|
|
||||||
|
Probably the first thing to mention about the release of
|
||||||
|
Slackware 13.0 is that it marks our first release with an official
|
||||||
|
64-bit port! Thanks to the hard work of Eric Hameleers, Slackware
|
||||||
|
for x86 is available in both 32-bit and 64-bit (x86_64) editions.
|
||||||
|
Eric did incredible work on the 64-bit port. The SlackBuild scripts
|
||||||
|
were so much of an improvement over the originals from the 32-bit tree
|
||||||
|
that they were imported over on the 32-bit side -- the only difference
|
||||||
|
in the build trees is whether $ARCH is set to i486 or x86_64. These
|
||||||
|
scripts are finding use in other ports too, like Stuart Winter's
|
||||||
|
ARMedslack port to the ARM architecture (the ARM Versatile platform
|
||||||
|
emulated by QEMU, and the Marvell SheevaPlug), and Mark Post's
|
||||||
|
Slack/390 Linux Project for IBM S/390 G2 class systems and above.
|
||||||
|
The goal of a unified source tree for these projects seems to be coming
|
||||||
|
into focus. For more information about these Slackware ports, see
|
||||||
|
http://armedslack.org and http://slack390.org. Getting back to the
|
||||||
|
x86_64 port (nicknamed Slackware64), we also have to thank Fred Emmott
|
||||||
|
who helped us solve a number of tricky problems having been there
|
||||||
|
before -- without his help things like getting ncurses right so that
|
||||||
|
the nVidia installer worked, and laying the groundwork for future
|
||||||
|
multilib support would have been much more difficult. Thanks Fred!
|
||||||
|
|
||||||
|
About the only things to mention here are that Slackware requires
|
||||||
|
a recent 2.6.x kernel (I believe 2.6.22.x is a minimum), but
|
||||||
|
as usual unless your needs are specific you're probably better off
|
||||||
|
running the included kernels that we've tested things against.
|
||||||
|
The best kernel to run (even on a one CPU/core machine) is the generic
|
||||||
|
SMP one, but that needs an initrd, so be sure to read the instructions
|
||||||
|
in /boot after installing with a huge* kernel if you plan to switch.
|
||||||
|
We've used the well-tested and recently patched 2.6.29.6 kernel, but
|
||||||
|
the 2.6.30.5 kernel is also available as packages in /testing. If
|
||||||
|
you decide to give that a try, be sure to read the information about
|
||||||
|
LILO in there.
|
||||||
|
|
||||||
|
I would not suggest trying to run without udev. Consider it the
|
||||||
|
userspace portion of the kernel. It *is* possible, but if you must
|
||||||
|
do that you'll have to tweak a couple things here and there. The
|
||||||
|
specifics are left as an exercise for the advanced user. Wait, an
|
||||||
|
advanced user would just use udev. Really, it works and makes things
|
||||||
|
a lot easier.
|
||||||
|
|
||||||
|
Another huge change in Slackware 13.0 is the move from KDE3 to
|
||||||
|
KDE4. KDE4 has been out for about a year and a half now, and it has
|
||||||
|
come a long way since KDE 4.0. The KDE 4.2.4 release included in
|
||||||
|
Slackware 13.0 is a very fast and polished desktop. It looks great
|
||||||
|
and achieves its goal of making the Linux operating system as nice
|
||||||
|
a desktop OS as anything that is available at any price! With KDE3
|
||||||
|
pretty much winding down (probably there will not be further releases)
|
||||||
|
and projects dropping KDE3 support in favor of KDE4, the time was
|
||||||
|
right to make the move to KDE4 in Slackware. I'm using it on all of
|
||||||
|
my own machines (including an Intel Atom with compositing enabled),
|
||||||
|
and I've really fallen in love with it once I got used to it. The
|
||||||
|
tools are integrated better with the desktop, Qt4 seems to be a
|
||||||
|
faster and more stable platform, and nearly everything that was
|
||||||
|
available for KDE3 has been ported to KDE4 and works great. Huge
|
||||||
|
thanks to the KDE team for producing the great desktop environment
|
||||||
|
they promised to deliver! As with any major rewrite, there are,
|
||||||
|
however, still a few quirks, but these are few and the improvements
|
||||||
|
have been coming fast. One of the issues we're aware of is that
|
||||||
|
k3b hasn't been working as well as the KDE3 version for some people
|
||||||
|
(it works fine here, but we have heard some reports), and there are
|
||||||
|
some other KDE applications where people still prefer the old versions.
|
||||||
|
To help with this, there are KDE3 compatibility packages that can
|
||||||
|
be found in /extra/kde3-compat/. With these installed, most KDE3
|
||||||
|
programs will run. A KDE3 version of k3b is also included in that
|
||||||
|
directory.
|
||||||
|
|
||||||
|
Xfce has been updated as well, and continues to be a great
|
||||||
|
lightweight desktop that doesn't get in your way. You'll notice
|
||||||
|
improvements in Xfce immediately upon starting it. If you haven't
|
||||||
|
looked at this great desktop environment lately, you might want to
|
||||||
|
give it another try. Thanks to Robby for tracking the Xfce
|
||||||
|
development closely and making sure everything was just exactly
|
||||||
|
right in the Slackware Xfce packages.
|
||||||
|
|
||||||
|
If you prefer GNOME, there are teams online producing GNOME
|
||||||
|
for Slackware. Here are a few places to look:
|
||||||
|
|
||||||
|
http://gnomeslackbuild.org
|
||||||
|
http://www.droplinegnome.net/
|
||||||
|
http://www.gware.org/
|
||||||
|
|
||||||
|
If any of these replaces some system components, using them voids
|
||||||
|
your warranty. ;-) But it should work, *if* you absolutely must
|
||||||
|
have GNOME. I'd suggest Xfce instead if you want a GTK+ based
|
||||||
|
desktop. If you do want to use GNOME, remember that there may be
|
||||||
|
some updates needed after 13.0 releases, so it might be best not
|
||||||
|
to rush into it. Thanks to these teams for making the GNOME
|
||||||
|
desktop a viable option for Slackware users.
|
||||||
|
|
||||||
|
Need more build scripts? Something that you wanted wasn't
|
||||||
|
included in Slackware? Well, then check out slackbuilds.org.
|
||||||
|
Several of the team members work on the scripts there.
|
||||||
|
|
||||||
|
Thanks to the rest of the team (and other contributors) for
|
||||||
|
the great help -- Eric Hameleers for x86_64, help with networking
|
||||||
|
improvements, documentation, LVM, the installer, and encrypted
|
||||||
|
partition support, Piter Punk for udev and slackpkg work, Stuart
|
||||||
|
Winter for help with linuxdoc-tools, Heinz Wiesinger for helping
|
||||||
|
to clean up the Qt build script, and other stuff, Erik Jan Tromp
|
||||||
|
for updating the populate_tftpboot.sh script in the PXE install
|
||||||
|
to work with the new package formats, and instructing us on the
|
||||||
|
correct use of umlaut \ö/, Amritpal Bath for coordinating torrents
|
||||||
|
for the release, suggesting fixes and improvements, and trying to
|
||||||
|
keep me sane (good luck), Robby Workman for docs, X, Xfce, wicd,
|
||||||
|
his work with the team at slackbuilds.org, and helping to keep
|
||||||
|
tons of other packages updated, mrgoblin for troubleshooting the
|
||||||
|
installer and being on call to help in the middle of my night
|
||||||
|
(handy having someone from .nz on the team!), and lots of fixes
|
||||||
|
here and there, Karl Magnus Kolstoe for letting me know when I
|
||||||
|
needed to sleep, NetrixTardis and element-x for helping with
|
||||||
|
bandwidth and trackers for the release (and assorted testing and
|
||||||
|
Q/A), Fred Emmott for so graciously assisting with obstacles we
|
||||||
|
encountered porting to x86_64, and anyone else I'm forgetting
|
||||||
|
(including the other team members who contributed little fixes and
|
||||||
|
suggestions here and there along with general moral support), and
|
||||||
|
all the folks who emailed in bug reports (and especially fixes).
|
||||||
|
Thanks for the technical assistance (*you* make this possible),
|
||||||
|
and for keeping the project a good time. And, of course, thanks
|
||||||
|
*much* to the upstream developers for such nice building materials.
|
||||||
|
|
||||||
|
As always, thanks to my wife Andrea for putting up with
|
||||||
|
development that began to stretch to every waking hour and
|
||||||
|
deadlines being pushed back for one reason or another way too
|
||||||
|
many times. We'll try to get a little more family time over
|
||||||
|
the next month or so. Hi Briah!
|
||||||
|
|
||||||
|
Have fun! :-)
|
||||||
|
|
||||||
|
Pat Volkerding <volkerdi@slackware.com>
|
||||||
|
|
331
SPEAKUP_DOCS.TXT
Normal file
331
SPEAKUP_DOCS.TXT
Normal file
|
@ -0,0 +1,331 @@
|
||||||
|
The Speakup Tutorial
|
||||||
|
By Saqib Shaikh <ss@saqibshaikh.com>
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
|
||||||
|
In recent months there has been a vast growth in the popularity of the
|
||||||
|
Linux operating system. Speakup is a Linux screen reader, that is it is a
|
||||||
|
software program that enables blind computer users to use Linux by
|
||||||
|
receiving speech output.
|
||||||
|
|
||||||
|
This tutorial takes the new Speakup/Linux user through the basic things
|
||||||
|
that they need to know.
|
||||||
|
|
||||||
|
What Is Speakup?
|
||||||
|
|
||||||
|
As mentioned previously, Speakup is a screen reader for the Linux
|
||||||
|
operating system. One of the things which makes Speakup different from
|
||||||
|
more traditional screen readers is that it is patched into the kernel. To
|
||||||
|
explain what this means, Speakup is an integral part of the operating
|
||||||
|
system. This means that when you turn on your computer and Linux starts,
|
||||||
|
Speakup also starts, meaning you can hear all boot-up messages, and
|
||||||
|
resolve any problems related to the computer not reaching the login
|
||||||
|
prompt. In addition, when you shutdown your system you will receive speech
|
||||||
|
feedback right until the message "Power down" is given, indicating you
|
||||||
|
should turn off your computer.
|
||||||
|
|
||||||
|
Speakup is written by Kirk Reiser and Andy Berdan. It is distributed under
|
||||||
|
the terms of the GNU GPL. If you don't already know, GPL stands for
|
||||||
|
General Public License, and is a license agreement that basically states
|
||||||
|
that you are free to copy, modify and distribute Speakup, but may not turn
|
||||||
|
any part of it into proprietary or commercial code without the permission
|
||||||
|
of the author, Kirk Reiser.
|
||||||
|
|
||||||
|
Currently Speakup supports the following speech synthesisers. Each
|
||||||
|
synthesiser is given a keyword, which is how Speakup refers to that
|
||||||
|
synthesiser.
|
||||||
|
|
||||||
|
acntpc: Accent PC internal speech synthesiser.
|
||||||
|
acntsa: Accent SA external speech synthesiser.
|
||||||
|
apolo: Apollo II external speech synthesiser.
|
||||||
|
audptr: Audapter external speech synthesiser.
|
||||||
|
bns: Braille 'n Speak family of note-takers, including the Braille 'n
|
||||||
|
Speak, Type 'n Speak, Braille Lite and Type Lite.
|
||||||
|
decext: External DEC-Talk (for the older DEC-Talk and Multi-Voice speech
|
||||||
|
synthesisers).
|
||||||
|
dectlk: DEC-Talk Express external speech synthesiser.
|
||||||
|
dtlk: Doubletalk PC internal speech synthesiser.
|
||||||
|
ltlk: Doubletalk external or Litetalk speech synthesiser.
|
||||||
|
spkout: Speakout external speech synthesiser.
|
||||||
|
txprt: Transport external speech synthesiser.
|
||||||
|
|
||||||
|
Speakup Resources
|
||||||
|
|
||||||
|
The official Speakup home page is at http://linux-speakup.org, and the ftp
|
||||||
|
site at ftp://ftp.braille.uwo.ca/pub/linux/speakup.
|
||||||
|
|
||||||
|
Slackware Linux has recently become the first Linux distribution to
|
||||||
|
include Speakup. You can find more information about Slackware at
|
||||||
|
http://www.slackware.com, or download it at
|
||||||
|
ftp://ftp.slackware.com/pub/slackware/slackware.
|
||||||
|
|
||||||
|
Bill Acker also has an FTP site devoted to Speakup and Red Hat Linux at
|
||||||
|
ftp://speakup.octothorp.org.
|
||||||
|
|
||||||
|
There is an ever-growing group of Speakup users on the internet. They are
|
||||||
|
all very friendly and willing to help each other with Speakup or Linux
|
||||||
|
problems. The main interaction between Speakup users is via the Speakup
|
||||||
|
mailing list. To subscribe, send a message to
|
||||||
|
<speakup-request@braille.uwo.ca>. In the body of the message write the
|
||||||
|
word "subscribe" (or "unsubscribe" to unsubscribe). Once you are
|
||||||
|
subscribed to the list, send a message to everyone else on the list by
|
||||||
|
emailing <speakup@braille.uwo.ca>.
|
||||||
|
|
||||||
|
Some users also hang out on the Speakup reflector. In order to use this
|
||||||
|
you should get and install a program called Speak Freely, which is
|
||||||
|
available for both Linux and Windows. To connect, point your sfmike at
|
||||||
|
lwl.braille.uwo.ca:4074.
|
||||||
|
|
||||||
|
Various people, Matthew Campbell in particular, have done talks about
|
||||||
|
Linux/Speakup on the ACB Radio Main Menu show. For more information, visit
|
||||||
|
http://www.acbradio.org.
|
||||||
|
|
||||||
|
Finally, you may contact Kirk directly at <kirk@braille.uwo.ca>. However,
|
||||||
|
please remember that if Kirk gets lots of emails all asking the same thing
|
||||||
|
he might get rather annoyed, so its always better to try the mailing list
|
||||||
|
first!
|
||||||
|
|
||||||
|
Speakup Screen Reading Keys
|
||||||
|
|
||||||
|
Using Speakup it is possible to use a special reading cursor to look
|
||||||
|
around the screen, without affecting the application's current operation.
|
||||||
|
All of Speakup's reading keys are, by default, bound to keys on the
|
||||||
|
numeric keypad. It is possible to change this default layout, but this
|
||||||
|
will require some knowledge of how Linux keymaps work. If you feel like
|
||||||
|
doing this then you should consult the document
|
||||||
|
ftp://ftp.braille.uwo.ca/pub/linux/speakup/keymap-tutorial.
|
||||||
|
|
||||||
|
Sometimes Speakup uses the 0, or insert key on the numeric keypad to
|
||||||
|
provide more functions. In these cases hold down the insert key and press
|
||||||
|
the other button. Note that although we call this the insert key, you
|
||||||
|
cannot use the other insert key which is positioned in a block of six
|
||||||
|
above the cursor keys.
|
||||||
|
|
||||||
|
The numbers 7, 8 and 9 on the numeric keypad read the previous, current
|
||||||
|
and next lines respectively. When moving up or down, the reading cursor
|
||||||
|
will be moved to that line. If you try pressing 7 when the reading cursor
|
||||||
|
is on the top line of the screen, or 9 when the reading cursor is on the
|
||||||
|
bottom line, then Speakup will respond "Top" or "Bottom" appropriately.
|
||||||
|
|
||||||
|
To move to, and read the previous/current/next word, use 4, 5 and 6
|
||||||
|
respectively. If you hear a beep, this means that you have past the end of
|
||||||
|
a line, and have moved to a different line. If you try to press 4 when you
|
||||||
|
are on the first word on the first line, or 6 when you are on the last
|
||||||
|
word of the last line, then Speakup will respond "Top" or "Bottom" as
|
||||||
|
before.
|
||||||
|
|
||||||
|
Use the 1, 2 and 3 to read by characters. As when reading words the
|
||||||
|
computer will beep when you move to a new line, and say "Top" or "Bottom"
|
||||||
|
when you are at the top/bottom of the screen.
|
||||||
|
|
||||||
|
To read from the top of the screen to the reading cursor use insert+8. Use
|
||||||
|
insert+4 to read from the beginning of the line to the reading cursor, and
|
||||||
|
insert+6 to read from the reading cursor to the end of the line.
|
||||||
|
|
||||||
|
Insert+5 will spell the current word. Insert+2 will say the current
|
||||||
|
character phonetically, using the millitary alphabet.
|
||||||
|
|
||||||
|
Use the plus (+) key to read the entire screen. Insert+plus reads from the
|
||||||
|
reading cursor to the bottom of the screen.
|
||||||
|
|
||||||
|
The minus key (-) toggles between having the reading cursor parked or
|
||||||
|
unparked. When the reading cursor is unparked, whenever the application
|
||||||
|
moves the cursor to a different position, the reading cursor will also
|
||||||
|
move. If parked, the reading cursor will always stay in its current
|
||||||
|
position unless you actually move it. This is often useful if you just
|
||||||
|
wish to monitor a particular part of the screen.
|
||||||
|
|
||||||
|
Insert+minus causes the decimal and hexadecimal value of the current
|
||||||
|
character to be read. Point (.) reads the current cursor position. This
|
||||||
|
includes the point on the current screen as well as which virtual console
|
||||||
|
is active. The minus key causes the color attributes of the current
|
||||||
|
position to be spoken.
|
||||||
|
|
||||||
|
To move the reading cursor to the top of the screen use insert+9, and use
|
||||||
|
insert+3 to move to the bottom of the screen. Insert+7 moves to the
|
||||||
|
beginning of the line, while insert+1 moves to the end of the line.
|
||||||
|
|
||||||
|
You can press any key to temporarily mute speech (the best way is to use
|
||||||
|
the control key). Pressing the enter key on the numeric keypad causes
|
||||||
|
Speakup to be silent until another key is pressed. Insert+enter causes
|
||||||
|
Speakup to stop talking until insert+enter is pressed again.
|
||||||
|
|
||||||
|
The slash key (/) will cause Speakup to go to the row/column that you
|
||||||
|
specify. The star key (*) toggles on cursor tracking. Cursor tracking is
|
||||||
|
currently only experimental.
|
||||||
|
|
||||||
|
Changing Speech Parameters
|
||||||
|
|
||||||
|
Speakup now uses the /proc file-system to change parameters. Use the command
|
||||||
|
|
||||||
|
echo value >/proc/speakup/parameter
|
||||||
|
|
||||||
|
Here, parameter includes such things as rate, pitch, volume, etc. To find
|
||||||
|
out the list of available parameters, type:
|
||||||
|
|
||||||
|
ls /proc/speakup
|
||||||
|
|
||||||
|
Value refers to the value you wish to set the parameter to. For example,
|
||||||
|
to set the rate of the sixth fastest value you would enter
|
||||||
|
|
||||||
|
echo 6 >/proc/speakup/rate
|
||||||
|
|
||||||
|
Installing Linux With Speech
|
||||||
|
|
||||||
|
Using Speakup it is now possible to install Linux with speech feedback.
|
||||||
|
For full details on installing Linux refer to one of the many good books
|
||||||
|
available, or the documentation that comes with your distribution of
|
||||||
|
Linux.
|
||||||
|
|
||||||
|
Finally, there is also another useful tool in the installer. This is
|
||||||
|
Parted. It is a tool from which you can resize existing partitions.
|
||||||
|
|
||||||
|
Changing Your Keyboard Layout
|
||||||
|
|
||||||
|
One problem with Speakup is that in order to get the reading keys on the
|
||||||
|
numeric keypad to work, you must use the US keymap during a talking
|
||||||
|
installation of Linux. Later, you can change the keymap by using the
|
||||||
|
following procedure:
|
||||||
|
|
||||||
|
Firstly, download
|
||||||
|
ftp://ftp.braille.uwo.ca/pub/linux/speakup/speakupmap.map. This is a
|
||||||
|
keymap containing the Speakup key definitions.
|
||||||
|
|
||||||
|
Copy this file into the directory where your standard keymaps live. Copy
|
||||||
|
the US keymap into the file standard.map using a command like:
|
||||||
|
|
||||||
|
cp us.map standard.map
|
||||||
|
|
||||||
|
Then type:
|
||||||
|
|
||||||
|
diff -urN speakupmap.map standard.map >map.diff
|
||||||
|
|
||||||
|
Now, copy the keymap for your language to standard.map, for example:
|
||||||
|
|
||||||
|
cp uk.map standard.map
|
||||||
|
|
||||||
|
And finally type:
|
||||||
|
|
||||||
|
patch -p0 <map.diff
|
||||||
|
|
||||||
|
Now copy standard.map back to the original filename for your native
|
||||||
|
keymap, renaming it first. For example:
|
||||||
|
|
||||||
|
cp uk.map uk.map.old
|
||||||
|
mv standard.map uk.map
|
||||||
|
|
||||||
|
Load this keymap by typing:
|
||||||
|
|
||||||
|
loadkeys uk.map
|
||||||
|
|
||||||
|
Using Speakup On A Shared Machine
|
||||||
|
|
||||||
|
Previously, using Speakup on a computer that a sighted person also used
|
||||||
|
was a problem - you would probably need two different kernels. However,
|
||||||
|
you can now specify the default synthesiser to be "none", so that your
|
||||||
|
sighted colleague won't have any problems. Now, when you wish to use the
|
||||||
|
computer with speech, enter a command like the following at the boot
|
||||||
|
prompt:
|
||||||
|
|
||||||
|
linux speakup_synth=synthname speakup_ser=0
|
||||||
|
|
||||||
|
Where synthname refers to one of the synthesisers listed earlier, and
|
||||||
|
0 is the serial port the synth is connected to if it is not detected
|
||||||
|
automatically.
|
||||||
|
|
||||||
|
Installing Speakup From Scratch
|
||||||
|
|
||||||
|
If you want to install Speakup from scratch, then you will need to
|
||||||
|
recompile your kernel. The following is a rough list of things you should
|
||||||
|
do:
|
||||||
|
|
||||||
|
Get the latest kernel source from
|
||||||
|
ftp://ftp.kernel.org/pub/linux/kernel/vw.x/linux-w.x.y.z.tar.bz2.
|
||||||
|
At the time of writing the latest kernel was 2.6.27.7.
|
||||||
|
|
||||||
|
Also get the Speakup source. Probably it is best to get the CVS verision.
|
||||||
|
Unpack the kernel in /usr/src like this:
|
||||||
|
|
||||||
|
cd /usr/src
|
||||||
|
tar xjf linux-2.6.27.7.tar.bz2
|
||||||
|
|
||||||
|
Then make sure that the linux symlink points to it:
|
||||||
|
|
||||||
|
rm -f linux
|
||||||
|
ln -sf linux-2.6.27.7 linux
|
||||||
|
|
||||||
|
Run the speakup-checkout script in source/k in the Slackware tree to patch
|
||||||
|
speakup into your kernel. Hit enter at the first prompt. At the second,
|
||||||
|
enter the password for the CVS site. This is:
|
||||||
|
|
||||||
|
please
|
||||||
|
|
||||||
|
You should probably start with Slackware's config file for the kernel.
|
||||||
|
Copy it from the Slackware tree (whereever you have it) into the kernel
|
||||||
|
sources in /usr/src:
|
||||||
|
|
||||||
|
cp kernels/speakup.s/config /usr/src/linux/.config
|
||||||
|
|
||||||
|
Now you can configure and compile the kernel by typing:
|
||||||
|
|
||||||
|
cd /usr/src/linux
|
||||||
|
make menuconfig (select the options you want)
|
||||||
|
make
|
||||||
|
|
||||||
|
To copy the new kernel into place and reinstall LILO, use this:
|
||||||
|
|
||||||
|
rm -f /boot/vmlinuz /boot/System.map
|
||||||
|
cp arch/i386/boot/bzImage /boot/vmlinuz
|
||||||
|
cp System.map /boot/System.map
|
||||||
|
lilo
|
||||||
|
|
||||||
|
Please note that the above information is by no means sufficient to teach
|
||||||
|
someone to compile their kernel. There are many books/tutorials that cover
|
||||||
|
this topic in much more depth.
|
||||||
|
|
||||||
|
Using The CVS Version Of Speakup
|
||||||
|
|
||||||
|
[ Pardon the redundant nature of this section. The previous one had recommended
|
||||||
|
using the speakup-1.00 release tarball, which probably will not work as well
|
||||||
|
with the 2.6 kernel in Slackware -- Pat ]
|
||||||
|
|
||||||
|
CVS, which stands for Concurrent Versions System, is a tool that allows a
|
||||||
|
development version of a product to exist alongside the official release.
|
||||||
|
In terms of Speakup, the CVS version is newer than the stable release, but
|
||||||
|
is also likely to be less reliable as it hasn't been fully tested, and any
|
||||||
|
new piece of code added could potentially introduce more bugs. However,
|
||||||
|
using CVS means that you can try out new features and give feedback. If
|
||||||
|
you're a developer then you can work on the code as well.
|
||||||
|
|
||||||
|
Speakup comes with a script called "checkout" which contacts the CVS
|
||||||
|
server, downloads the program and applies all the patches. In order for
|
||||||
|
this to work you must have a clean copy of the Linux kernel source in
|
||||||
|
/usr/src/linux. The first time you run the checkout script you can run it
|
||||||
|
from anywhere, but after the first time you will want to run the script
|
||||||
|
from /usr/src/linux/drivers/char/speakup to do future updates.
|
||||||
|
|
||||||
|
If you haven't already got a copy of the checkout script you can download
|
||||||
|
it from ftp://ftp.braille.uwo.ca/pub/linux/speakup/checkout. After
|
||||||
|
downloading it you will need to make it executable. You can do this by
|
||||||
|
entering the command:
|
||||||
|
|
||||||
|
chmod 755 checkout
|
||||||
|
|
||||||
|
from the directory where the script is. To run the script type:
|
||||||
|
|
||||||
|
./checkout
|
||||||
|
|
||||||
|
You should be prompted with "No CVSROOT set hit return to select
|
||||||
|
anonymous". Just hit enter, and you will be asked for a password. All
|
||||||
|
anonymous passwords on the Speakup CVS server are the single word
|
||||||
|
"please". Kirk says that if you can't say please then you can't have what
|
||||||
|
you want! If everything went all right you should see multiple CVS
|
||||||
|
updating and patching messages.
|
||||||
|
|
||||||
|
Good luck in your Linux adventures. If you found this document useful and
|
||||||
|
have successfully installed Linux then please let me know. Equally, if you
|
||||||
|
don't like it then tell me also.
|
||||||
|
|
||||||
|
You may reach the author via email at ss@saqibshaikh.com. You may also
|
||||||
|
like to visit his home page at http://www.saqibshaikh.com.
|
||||||
|
|
358
SPEAK_INSTALL.TXT
Normal file
358
SPEAK_INSTALL.TXT
Normal file
|
@ -0,0 +1,358 @@
|
||||||
|
Installing Slackware Linux With Speakup
|
||||||
|
By Saqib Shaikh <ss@saqibshaikh.com>
|
||||||
|
|
||||||
|
<Note from PJV>
|
||||||
|
Sorry, this document is out of date, but probably still helpful. A
|
||||||
|
couple of quick hints. A working boot line might look like this:
|
||||||
|
|
||||||
|
speakup.s speakup.synth=dectlk speakup.ser=1
|
||||||
|
|
||||||
|
Some synths need the speakup.ser to set the port and cannot probe
|
||||||
|
(even if they could with older kernels). Anyway, good luck with the
|
||||||
|
install! Ignore the parts about floppy disks and read the other docs
|
||||||
|
and you should have no problems... hopefully. With the 2.6.24.x
|
||||||
|
kernel series came many changes in console handling which initially
|
||||||
|
broke speakup completely. Now there's been a report that while the
|
||||||
|
installation works, the system will not speak upon reboot. Perhaps
|
||||||
|
this could be due to the appending of vt.default_utf8=0 in lilo.conf.
|
||||||
|
If you run into this problem, you could try removing that, or changing
|
||||||
|
the 0 to 1. Also, gpm was interfering with serial installations in
|
||||||
|
the Slackware 12.0 release, and could perhaps be another factor if
|
||||||
|
it does something to grab control of the serial port when the system
|
||||||
|
is rebooted after installation.
|
||||||
|
|
||||||
|
In short, there are probably still some problems that remain with
|
||||||
|
this, but that should be possible to work around. I apologize for
|
||||||
|
not having this as polished and tested as I would wish for it to be.
|
||||||
|
Any feedback that could help make this better the next time around
|
||||||
|
would be greatly appreciated.
|
||||||
|
|
||||||
|
Also, note that the speakup kernel is also supported within the USB
|
||||||
|
and PXE installers, so there are additional options for machines
|
||||||
|
that are not able to boot a CD or DVD. For more information on
|
||||||
|
these, read the documentation in the usb-and-pxe-installers
|
||||||
|
directory.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
</Note from PJV>
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
|
||||||
|
Recently, a Linux screen reader called Speakup has become part of the
|
||||||
|
popular Slackware Linux distribution. This document describes the
|
||||||
|
procedure for installing Slackware Linux on your computer with speech
|
||||||
|
output, courtesy of Speakup. It should be noted that this document is only
|
||||||
|
a whirl-wind tour of installing Slackware, paying particular attention to
|
||||||
|
the use of Speakup. You should also refer to "The Speakup Tutorial", which
|
||||||
|
is also written by myself. This tutorial discusses how to use Speakup in
|
||||||
|
your day-to-day tasks. You should also consult "Slackware Linux
|
||||||
|
Essentials", which is the official Slackware book. It can be bought
|
||||||
|
separately, or with a copy of Slackware, or read online at
|
||||||
|
http://www.slackware.com.
|
||||||
|
|
||||||
|
Getting Started
|
||||||
|
|
||||||
|
The minimum requirements of running Linux with speech are similar to those
|
||||||
|
detailed in the "Slackware Essentials" book. In addition, however, you
|
||||||
|
will require a hardware speech synthesiser. The following synthesisers are
|
||||||
|
currently supported. I give the keyword used to refer to each synthesiser
|
||||||
|
as you will require this later in the installation process.
|
||||||
|
|
||||||
|
acntpc: Accent PC internal speech synthesiser.
|
||||||
|
acntsa: Accent SA external speech synthesiser.
|
||||||
|
apolo: Apollo II external speech synthesiser.
|
||||||
|
audptr: Audapter external speech synthesiser.
|
||||||
|
bns: Braille 'n Speak family of note-takers, including the Braille 'n
|
||||||
|
Speak, Type 'n Speak, Braille Lite and Type Lite.
|
||||||
|
decext: External DEC-Talk (for the older DEC-Talk and Multi-Voice speech
|
||||||
|
synthesisers).
|
||||||
|
dectlk: DEC-Talk Express external speech synthesiser.
|
||||||
|
dtlk: Doubletalk PC internal speech synthesiser.
|
||||||
|
ltlk: Doubletalk external or Litetalk speech synthesiser.
|
||||||
|
spkout: Speakout external speech synthesiser.
|
||||||
|
txprt: Transport external speech synthesiser.
|
||||||
|
|
||||||
|
The easiest way of getting started is to either have bought a copy of the
|
||||||
|
Slackware CD-ROM or burned a copy of the Slackware CD ISO image onto a
|
||||||
|
CD-R. This will allow you to boot into the installer directly without the
|
||||||
|
need for any floppy disks. Due to various binaries and libraries that
|
||||||
|
have increased in size, starting the installer from floppy disks will
|
||||||
|
require loading 6 floppies. That is, a bootdisk and 5 rootdisk floppies.
|
||||||
|
If your machine cannot boot a CD-ROM and you will need to create floppy
|
||||||
|
disk images, read on to find out how. Otherwise, if you will be booting
|
||||||
|
the CD-ROM to install, you may skip ahead to the section on Starting The
|
||||||
|
Installation Process.
|
||||||
|
|
||||||
|
If you are using DOS or Windows, then change to the directory where the
|
||||||
|
boot disks are kept. An example command may be:
|
||||||
|
|
||||||
|
c:\>d:
|
||||||
|
d:\>cd\bootdisks
|
||||||
|
d:\bootdisks>
|
||||||
|
|
||||||
|
Confirm that the directory contains the file "speakup.s", "speakup.s",
|
||||||
|
"speakup2.s", or "speakaha.s". The decision of which disk you are going
|
||||||
|
to use depends on whether you are going to install onto an IDE hard drive
|
||||||
|
or a SCSI one. If you don't know, then you're probably using an IDE hard
|
||||||
|
drive. There is a complete description of the SCSI drivers included in
|
||||||
|
each disk in the README.TXT in the bootdisks directory if you need more
|
||||||
|
information to choose the proper disk. Now, you must write the contents
|
||||||
|
of the disk image to one of the blank floppy disks. You do this under
|
||||||
|
DOS/Windows using the "rawrite" command. Insert one of the disks and issue
|
||||||
|
a command such as:
|
||||||
|
|
||||||
|
d:\bootdisks>rawrite speakup.s a:
|
||||||
|
|
||||||
|
If you are using a SCSI hard drive then use the speakup.s file instead.
|
||||||
|
|
||||||
|
Now you must create the root disk. Change into the directory where the root
|
||||||
|
disks are kept:
|
||||||
|
|
||||||
|
d:\bootdisks>cd \rootdisks
|
||||||
|
d:\rootdisks>
|
||||||
|
|
||||||
|
The disk images you will need for the installation are called install.1,
|
||||||
|
install.2, install.3, install.4, and install.5. There are also two extra
|
||||||
|
disks in the rootdsks directory, namely "pcmcia.dsk" and "network.dsk".
|
||||||
|
These disks are for people who wish to install from a PCMCIA device or
|
||||||
|
using NFS.
|
||||||
|
|
||||||
|
To actually create the root disks insert a blank floppy disk for install.1
|
||||||
|
and issue a command such as:
|
||||||
|
|
||||||
|
d:\rootdisks>rawrite install.1 a:
|
||||||
|
|
||||||
|
You will need to repeat this process with 4 more disks to create install.2,
|
||||||
|
install.3, install.4, and install.5 as well.
|
||||||
|
|
||||||
|
If you are already running Linux or another Unix-compatible
|
||||||
|
operating-system then you can create the disks by mounting the CD-ROM (in
|
||||||
|
this example I assume you mount it under /mnt).
|
||||||
|
|
||||||
|
dd if=/mnt/bootdisks/speakup.s of=/dev/fd0
|
||||||
|
dd if=/mnt/rootdisks/install.1 of=/dev/fd0
|
||||||
|
dd if=/mnt/rootdisks/install.2 of=/dev/fd0
|
||||||
|
dd if=/mnt/rootdisks/install.3 of=/dev/fd0
|
||||||
|
dd if=/mnt/rootdisks/install.4 of=/dev/fd0
|
||||||
|
dd if=/mnt/rootdisks/install.5 of=/dev/fd0
|
||||||
|
|
||||||
|
Starting The Installation Process
|
||||||
|
|
||||||
|
To start the talking version of the setup program, you'll need to boot the
|
||||||
|
CD-ROM or bootdisk. Some machines will automatically boot a CD-ROM, but
|
||||||
|
it might be necessary to make a change in the BIOS settings if it doesn't
|
||||||
|
boot right away. The process for entering the BIOS setup differs from
|
||||||
|
system to system, so you may need to consult your system documentation if
|
||||||
|
you need to change your system's boot defaults.
|
||||||
|
|
||||||
|
If you are booting from CD-ROM, insert the disc and boot your computer.
|
||||||
|
After a while, the disc will stop spinning and at this point you should
|
||||||
|
enter:
|
||||||
|
|
||||||
|
speakup.s speakup.synth=synthname
|
||||||
|
|
||||||
|
replacing synthname with the short keyword that refers to your synthesiser
|
||||||
|
as discussed above. If you have an external speech synthesiser that is not
|
||||||
|
plugged into your first serial port, such as com2/3/4 under DOS, then you
|
||||||
|
will need to specify the serial port to use. Do this by entering:
|
||||||
|
|
||||||
|
speakup.s speakup.synth=synthname speakup.ser=n
|
||||||
|
|
||||||
|
If you are booting with a floppy disk, the syntax is a little bit
|
||||||
|
different. First insert the boot disk and turn on your computer. After a
|
||||||
|
second or so the floppy disk should stop spinning. At this point enter:
|
||||||
|
|
||||||
|
ramdisk speakup.synth=synthname
|
||||||
|
|
||||||
|
replacing synthname with the short keyword that refers to your synthesiser
|
||||||
|
as discussed above. Just like with the CD-ROM, if you have an external
|
||||||
|
speech synthesiser that is not plugged into your first serial port, such
|
||||||
|
as com2/3/4 under DOS, then you will need to specify the serial port to
|
||||||
|
use like this:
|
||||||
|
|
||||||
|
ramdisk speakup.synth=synthname speakup.ser=n
|
||||||
|
|
||||||
|
Where n is the number of your serial port. Note that the serial ports are
|
||||||
|
numbered 1-4.
|
||||||
|
|
||||||
|
With either the CD-ROM or bootdisk, once you've entered the correct
|
||||||
|
command the Linux kernel will load and boot, and after a few seconds your
|
||||||
|
synthesiser should start talking. It will read all boot-up messages, which
|
||||||
|
you probably don't want to hear. To silence speech press the enter key on
|
||||||
|
the numeric keypad.
|
||||||
|
|
||||||
|
At this point it is probably worth giving a brief overview of the Speakup
|
||||||
|
screen reading functions, though a more detailed description can be found
|
||||||
|
in the "Speakup Tutorial".
|
||||||
|
|
||||||
|
To temporarily silence speech press the control key. To silence speech
|
||||||
|
until another key is pressed use the enter key on the numeric keypad. You
|
||||||
|
can move around the screen using Speakup's reading cursor. Note that
|
||||||
|
moving the reading cursor does not move the actual cursor on the screen.
|
||||||
|
The numbers 1, 2 and 3 on the numeric keypad read the prior, current and
|
||||||
|
enxt characters respectively. Similarly the 4, 5 and 6 keys read the
|
||||||
|
prior, current and next word. 7, 8 and 9 read the previous, current and
|
||||||
|
next line. The plus key reads the entire screen. There are many other
|
||||||
|
screen reading keystrokes, but these are the main ones to get you started.
|
||||||
|
|
||||||
|
If you used a floppy disk to start the system, you will be asked to insert
|
||||||
|
the root disk and press enter, so you'll need to put in the install.1
|
||||||
|
disk, hit enter, and let it load. You'll need to repeat this process for
|
||||||
|
each of the five install disks.
|
||||||
|
|
||||||
|
Finally you will reach the login prompt. Just type the word "root" and
|
||||||
|
press enter. Speakup will not say anything. This is because once you have
|
||||||
|
logged in the prompt is a % symbol, which Speakup doesn't read with the
|
||||||
|
default punctuation setting.
|
||||||
|
|
||||||
|
Partitioning Your Hard Drive
|
||||||
|
|
||||||
|
The issue of partitioning is one which Linux books spend entire chapters
|
||||||
|
explaining. In this document I shall not go into all the details, but
|
||||||
|
rather concentrate on Speakup specific usage.
|
||||||
|
|
||||||
|
To start the partitioning tool use the command:
|
||||||
|
|
||||||
|
%cfdisk /dev/diskname
|
||||||
|
|
||||||
|
Where diskname is the name of the disk to partition. This is often hda1.
|
||||||
|
|
||||||
|
Now you are in a screen which contains a list of partitions at the top.
|
||||||
|
You can move through these with the up/down arrow keys, and read them in
|
||||||
|
more detail using the review keys on the numeric keypad. At the bottom are
|
||||||
|
a number of options to perform various actions. Cycle through these using
|
||||||
|
the tab key.
|
||||||
|
|
||||||
|
First of all, if your hard drive is already full (this is the case with
|
||||||
|
most newly bought computers), then you will need to delete some partitions
|
||||||
|
by moving to it and pressing the letter d. Using Speakup this is quite
|
||||||
|
hard to do. Move up until the computer beeps, indicating that you are on
|
||||||
|
the top partition. Then move down to the number you want and free up some
|
||||||
|
more space. If you want to start from scratch then press d and then down,
|
||||||
|
repeating this for each partition. Every deleted partition will be
|
||||||
|
replaced with "free space". Note that deleting a partition will completely
|
||||||
|
destroy all data stored on it.
|
||||||
|
|
||||||
|
In my example I will delete all partitions. Next you need to create at
|
||||||
|
minimum two partitions. To create the first one highlight "free space".
|
||||||
|
Then press tab. Each time you will hear a couple of options, followed by a
|
||||||
|
description. Listen to the description, and this will let you know which
|
||||||
|
option is selected. Select "New". You will be prompted with
|
||||||
|
primary/extended. Just press enter for primary in most cases. Then you
|
||||||
|
will be asked for the size in megabytes. The total size of the free space
|
||||||
|
will be given. For your main Linux partition you should use almost all of
|
||||||
|
the free space, leaving just a bit for swap space, which acts as virtual
|
||||||
|
memory. Typically it is recommended to have twice as much swap space as
|
||||||
|
you do RAM, with a maximum of 128 mb. In my example I am prompted with
|
||||||
|
4023, so I enter 3900 and press enter. Finally I am asked whether I want
|
||||||
|
the partition at the beginning or end of the partition. Once again press
|
||||||
|
enter for beginning.
|
||||||
|
|
||||||
|
Now we must create a swap partition. Move down to the second block of free
|
||||||
|
space and select "new" again. Press enter to create a primary partition,
|
||||||
|
enter a second time to except the default value, and enter a third time to
|
||||||
|
place it at the beginning.
|
||||||
|
|
||||||
|
Now, move up to the first partition you created. Press tap until you hear
|
||||||
|
the "boot" option. Press enter. Move down to the second partition and tab
|
||||||
|
until you hear "type". Press enter. You will be given lots of options and
|
||||||
|
will need to press space to get to the second screen of options. Enter the
|
||||||
|
number 82 and press enter.
|
||||||
|
|
||||||
|
Now, use the review keys to move up to the partition list and examine the
|
||||||
|
entries. You should have one partition of type "Linux", with the word
|
||||||
|
"boot" on that line. Then you should have another line on which the word
|
||||||
|
"boot" does not exist, of type "Linux Swap".
|
||||||
|
|
||||||
|
Finally, press tab until you reach the "write" option and press enter.
|
||||||
|
When prompted type the word yes and press enter. When it is complete tab
|
||||||
|
to quit and press enter.
|
||||||
|
|
||||||
|
Now, that is a very complicated procedure, and so that it doesn't go wrong
|
||||||
|
you should really consult some other sources of information. This
|
||||||
|
discussion has only been included to get around some of Speakup's little
|
||||||
|
querks.
|
||||||
|
|
||||||
|
Starting Setup
|
||||||
|
|
||||||
|
To actually start the setup procedure just enter the word "setup" and
|
||||||
|
press enter.
|
||||||
|
|
||||||
|
You will be placed in a menu with many options. Note that when using the
|
||||||
|
up/down arrows in this menu Speakup will say two values. When moving down
|
||||||
|
the menu you should listen to the second item, and when moving back up the
|
||||||
|
menu take note of the first one. This is because Speakup doesn't fully
|
||||||
|
support cursor tracking yet. You may turn on experimental cursor tracking
|
||||||
|
by using the star key on the numeric keypad.
|
||||||
|
|
||||||
|
The first option is "help". Select this if you want to read more
|
||||||
|
information about the setup procedure.
|
||||||
|
|
||||||
|
The next item is "Remap your keyboard". When using Speakup you generally
|
||||||
|
do not need to do this as the kernel includes a us+speakup map, however
|
||||||
|
there are now two Speakup related choices on the menu if you want to try
|
||||||
|
them out -- speakupmap.map, and speakup-jfw.map.
|
||||||
|
|
||||||
|
The next option is "Add swap". You will be placed on the first swap
|
||||||
|
partition, which is generally the right one so just press enter. When it
|
||||||
|
completes it will display some more messages, just acknowledge these by
|
||||||
|
pressing enter. You will automatically be taken to the next step, which is
|
||||||
|
to add a Linux partition. Once again you will be placed on the first Linux
|
||||||
|
partition, so just continue pressing enter.
|
||||||
|
|
||||||
|
The next step is to select where you want to install from. This is
|
||||||
|
generally CD-ROM or maybe hard drive. Select the option from the list and
|
||||||
|
press enter. Just continue to press enter through most of the prompts,
|
||||||
|
which are self-explanatory.
|
||||||
|
|
||||||
|
Next, you will be placed in a list of package groups you may install. Use
|
||||||
|
the arrow keys to move to an option and then press the space bar. A letter
|
||||||
|
x means that an option is selected. Once you've chosen all the groups just
|
||||||
|
press enter.
|
||||||
|
|
||||||
|
Now you will be asked for the prompting mode. Just press enter for full
|
||||||
|
prompting mode. The files will now be uncompressed to your hard drive. You
|
||||||
|
may wish to press keypad-enter while it installs.
|
||||||
|
|
||||||
|
You will next be asked to install a kernel. You have two options. The
|
||||||
|
first is to choose to install the kernel from the boot disk in which case
|
||||||
|
you will be asked to enter that disk. The alternative is to install a
|
||||||
|
kernel from the CD-ROM. If you choose the first option you will
|
||||||
|
automatically get a talking kernel. If you choose to select one from the
|
||||||
|
CD-ROM, then you will need to choose speakup.s, speakup.s, speakup2.s, or
|
||||||
|
speakaha.s (whichever you used before) from the list of available kernels.
|
||||||
|
|
||||||
|
The next few sections depend what software you installed. It includes such
|
||||||
|
things as selecting your time zone and configuring the network. By now you
|
||||||
|
should have got the idea of selecting an item with up/down and then
|
||||||
|
pressing enter to move to the next stage, so I will not go into all the
|
||||||
|
details. Refer to the Slackware manual for further details.
|
||||||
|
|
||||||
|
Finally you will be asked to specify the root password. When you type the
|
||||||
|
password Speakup will not say anything. This is because nothing is being
|
||||||
|
written to the screen so that someone looking over your shoulder doesn't
|
||||||
|
see the password.
|
||||||
|
|
||||||
|
And that's it! You now have Linux installed on your computer!
|
||||||
|
|
||||||
|
Reboot your system. When your computer stops at the boot prompt enter the
|
||||||
|
text:
|
||||||
|
|
||||||
|
linux speakup.synth=synthname
|
||||||
|
|
||||||
|
using the same synthname as before, and your computer should come up talking.
|
||||||
|
|
||||||
|
Where Now?
|
||||||
|
|
||||||
|
You should now continue reading the online book, "Slackware Linux
|
||||||
|
Essentials" to learn more about Linux. The "Speakup Tutorial" will also
|
||||||
|
help you learn more about Speakup, as well as giving more information
|
||||||
|
about joining the Speakup mailing list, which is an invaluable resource
|
||||||
|
for getting your questions answered.
|
||||||
|
|
||||||
|
Good luck in your Linux adventures. If you found this document useful then
|
||||||
|
please let me know. Equally, if you don't like it then tell me also.
|
||||||
|
|
||||||
|
You may reach the author via email at ss@saqibshaikh.com. You may also
|
||||||
|
like to visit his home page at http://www.saqibshaikh.com.
|
||||||
|
|
1212
Slackware-HOWTO
Normal file
1212
Slackware-HOWTO
Normal file
File diff suppressed because it is too large
Load diff
6
extra/README.TXT
Normal file
6
extra/README.TXT
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
/extra: Extra Slackware package directory
|
||||||
|
|
||||||
|
Here are some extra/alternate packages that might be handy.
|
||||||
|
|
||||||
|
These can be installed using "installpkg".
|
||||||
|
|
31
extra/bittorrent/README
Normal file
31
extra/bittorrent/README
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
|
||||||
|
Here's a BitTorrent package for Slackware.
|
||||||
|
|
||||||
|
Note that we don't ship either wxGTK or wxPython, which are needed for the
|
||||||
|
bittorrent-console script. I built and installed these, and couldn't justify
|
||||||
|
the huge size (and assorted build problems) in order to enable an ugly little
|
||||||
|
dialog box. But feel free to grab those sources and knock yourself out!
|
||||||
|
|
||||||
|
I've included a simple script and mailcap entry to allow using the curses
|
||||||
|
based downloader instead, which will work just the same as the GUI version
|
||||||
|
but with a lot less library overhead required. For Mozilla, Netscape, and
|
||||||
|
other browsers that read /etc/mailcap, once you've installed this package
|
||||||
|
BitTorrent should work right out of the box. If your browser doesn't use
|
||||||
|
/etc/mailcap, you can set it up to use /usr/bin/bittorrent-xterm as the
|
||||||
|
helper application for the MIME type application/x-bittorrent.
|
||||||
|
|
||||||
|
If you're a command-line user, you may also consider using bittorrent-curses
|
||||||
|
manually. Here's how:
|
||||||
|
|
||||||
|
1. Download the .torrent file into your download directory.
|
||||||
|
|
||||||
|
2. At the command line, use the curses version of BitTorrent to download:
|
||||||
|
bittorrent-curses some-big-file.torrent
|
||||||
|
|
||||||
|
This should start the download and bring up a status screen where you can
|
||||||
|
monitor the download (and upload) progress.
|
||||||
|
|
||||||
|
Have fun!
|
||||||
|
|
||||||
|
- P.
|
||||||
|
|
1
extra/flashplayer-plugin
Symbolic link
1
extra/flashplayer-plugin
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
source/flashplayer-plugin
|
595
extra/slacktrack/OVERVIEW
Normal file
595
extra/slacktrack/OVERVIEW
Normal file
|
@ -0,0 +1,595 @@
|
||||||
|
##############################################################################
|
||||||
|
# Document: OVERVIEW
|
||||||
|
# Purpose : Provide an overview of the Slackware package system incorporating
|
||||||
|
# the use of 'slacktrack'
|
||||||
|
# Please note that this is *not* a guide to the use of slacktrack;
|
||||||
|
# the man page and SlackBuild scripts in the 'examples' directory
|
||||||
|
# aim to fulfill that requirement.
|
||||||
|
# Date....: 15-May-2009
|
||||||
|
# Author..: Stuart Winter <mozes@slackware.com>
|
||||||
|
# Homepage: http://www.slackware.com/~mozes
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
|
||||||
|
CONTENTS:
|
||||||
|
---------
|
||||||
|
1.0 Preamble
|
||||||
|
2.0 Slackware packages
|
||||||
|
2.0.1 Format of official Slackware packages
|
||||||
|
2.0.1.1 Package names
|
||||||
|
2.0.1.2 Version numbers
|
||||||
|
2.0.1.3 Architectures
|
||||||
|
2.0.1.4 Build numbers
|
||||||
|
2.1 An overview of the creation of official Slackware packages
|
||||||
|
2.1.1 'Clean' and 'dirty' builds
|
||||||
|
2.1.1.1 Clean builds
|
||||||
|
2.1.1.2 Dirty builds
|
||||||
|
2.1.1 SlackBuild and .build scripts
|
||||||
|
2.1.1.2 SlackBuild scripts
|
||||||
|
2.1.1.3 .build scripts
|
||||||
|
2.2 slacktrack in the scheme of things
|
||||||
|
2.2.1 Using slacktrack with official .build scripts
|
||||||
|
2.2.2 Writing your own .build scripts for slacktrack
|
||||||
|
2.2.2.1 Making use of slacktrack's environment variables
|
||||||
|
3.0 slacktrack in operation
|
||||||
|
3.1 How slacktrack finds which files have been installed
|
||||||
|
3.1.1 installwatch's author
|
||||||
|
4.0 Example scripts
|
||||||
|
4.0.1 non-slackware example build scripts
|
||||||
|
4.0.2 slackware example wrapper build scripts
|
||||||
|
5.0 Known problems/features of slacktrack
|
||||||
|
6.0 New features
|
||||||
|
7.0 Licence
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
1.0 Preamble
|
||||||
|
---------
|
||||||
|
|
||||||
|
I used to work for a company that provided web hosting and shell accounts.
|
||||||
|
When I started there were a number of shell servers all running various
|
||||||
|
releases of RedHat Linux, in various states of repair. I managed to convince
|
||||||
|
the management to let me try Slackware on there instead because I have a much
|
||||||
|
stronger understanding of how to maintain and build server using the
|
||||||
|
Slackware distribution. This trial went well and within a few months all
|
||||||
|
servers were converted to Slackware version 8.1.
|
||||||
|
|
||||||
|
In order to ease the speed of installation (and to prevent against
|
||||||
|
forgetting to install or configure something critical), I wrote a
|
||||||
|
set of post installation scripts that upgraded Slackware packages,
|
||||||
|
configured numerous config files and copied pre-compiled software
|
||||||
|
(such as courier IMAP) onto the new system.
|
||||||
|
For other software that I could not simply copy, I'd compile it on the
|
||||||
|
new server.
|
||||||
|
|
||||||
|
However, it soon became clear that due to security updates and so on,
|
||||||
|
it became incredibly time consuming (not to mention seriously boring)
|
||||||
|
to compile PHP, Apache and so on on every server.
|
||||||
|
|
||||||
|
At this point, I began to investigate how to create packages for Slackware.
|
||||||
|
|
||||||
|
|
||||||
|
2.0 Slackware packages
|
||||||
|
------------------
|
||||||
|
|
||||||
|
The Slackware Linux distribution consists of a variety of 'packages'
|
||||||
|
that make up the distribution.
|
||||||
|
|
||||||
|
Traditionally, all packages are in '.tgz' format (a gzipped tar archive).
|
||||||
|
Starting with Slackware v13, new compression formats are supported which
|
||||||
|
are represented by three additional file extensions:
|
||||||
|
|
||||||
|
.tgz - Gzip
|
||||||
|
.tbz - Bzip2
|
||||||
|
.tlz - LZMA
|
||||||
|
.txz - XZ
|
||||||
|
|
||||||
|
In this document, we use the file extension '.t?z' to represent
|
||||||
|
one of the above file formats.
|
||||||
|
|
||||||
|
Once you have initially installed Slackware from the installer screen,
|
||||||
|
you have the facilities to install, remove or upgrade new or existing
|
||||||
|
packages using the package management tools:
|
||||||
|
|
||||||
|
installpkg <package.t?z> - install 'package.t?z'
|
||||||
|
|
||||||
|
upgradepkg <package.t?z> - upgrade existing 'package' with the
|
||||||
|
new version specified at the command line.
|
||||||
|
|
||||||
|
removepkg <package> - remove specified package
|
||||||
|
|
||||||
|
|
||||||
|
Whilst the Slackware package system is not especially feature rich,
|
||||||
|
Slackware's user base (including me) like it because it is simple.
|
||||||
|
If we want to write our own package utilities then we can easily do so
|
||||||
|
by examining the existing package tools and querying and amending the
|
||||||
|
package database (text files).
|
||||||
|
|
||||||
|
2.0.1 Format of official Slackware packages
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
In Slackware 8.1 and up, each package file is named as follows:
|
||||||
|
|
||||||
|
packagename-version-architecture-buildnumber.t?z
|
||||||
|
|
||||||
|
2.0.1.1 Package names
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The package name is either the name of the single program
|
||||||
|
or the name of a collection of utilities that fall under
|
||||||
|
a single umbrella.
|
||||||
|
For example:
|
||||||
|
autoconf-2.54-noarch-1.tgz
|
||||||
|
|
||||||
|
That is the name of the autoconf package I have on my
|
||||||
|
Slackware 8.1 box.
|
||||||
|
'autoconf' is the name of the the entire collection of
|
||||||
|
binaries and associated documents that are extracted from
|
||||||
|
the autoconf source distribution archive.
|
||||||
|
|
||||||
|
However, if we consider another example:
|
||||||
|
tcpip-0.17-i386-15.tgz
|
||||||
|
|
||||||
|
There is no single piece of software called 'tcpip'.
|
||||||
|
This package contains a number of associated utilities
|
||||||
|
written by different authors but bundled into one single
|
||||||
|
'package'.
|
||||||
|
|
||||||
|
2.0.1.2 Version numbers
|
||||||
|
---------------
|
||||||
|
|
||||||
|
If the package is the name of a particular piece of software
|
||||||
|
such as 'autoconf' from the example above, then the version
|
||||||
|
number represents the version number that its authors distribute.
|
||||||
|
|
||||||
|
If the package is a 'bundle' such as 'tcpip' then the version
|
||||||
|
number increases as and when you add a new piece of software to
|
||||||
|
the package, or upgrade a particular piece of major software
|
||||||
|
contained within the package.
|
||||||
|
For example, with 'tcpip' above, the 0.17 refers to the version of
|
||||||
|
Linux Netkit. However, there are other programs included within
|
||||||
|
the Slackware tcpip package that are not part of 'Linux netkit'.
|
||||||
|
|
||||||
|
2.0.1.3 Architectures
|
||||||
|
-------------
|
||||||
|
|
||||||
|
The architecture is just that -- it tells you which architecture
|
||||||
|
the package is for.
|
||||||
|
|
||||||
|
The current values in use are:
|
||||||
|
|
||||||
|
----- [ Official Slackware architecures ]
|
||||||
|
|
||||||
|
noarch - Architecture independent files such as config files
|
||||||
|
i386 - packages for the x86 (Slackware v8.1 & 9)
|
||||||
|
i486 - packages for the x86 (Slackware 9.1+)
|
||||||
|
i586 - packages for the x86
|
||||||
|
s390 - packages for the IBM s/390 mainframe
|
||||||
|
|
||||||
|
Note: Whilst Slackware v10 is primarily built for i486, you may
|
||||||
|
find that there are some packages whose architecture versions
|
||||||
|
are higher than i486. This is for two reasons:
|
||||||
|
|
||||||
|
[a] There is no source for the package - it is a repackaged
|
||||||
|
binary distribution (SUN's j2sdk is an example).
|
||||||
|
|
||||||
|
[b] The package is not required or otherwise not suitable for
|
||||||
|
earlier revisions of the architecture (this is especially
|
||||||
|
the true with ARM and SPARC).
|
||||||
|
|
||||||
|
----- [ Unofficial ports of Slackware ]
|
||||||
|
|
||||||
|
arm - packages for the ARM architecture
|
||||||
|
sparc - packages for the SUN Sparc architecture
|
||||||
|
powerpc - packages for the PowerPC architecture
|
||||||
|
|
||||||
|
2.0.1.4 Build numbers
|
||||||
|
-------------
|
||||||
|
|
||||||
|
A build number suplements the version number and is changed
|
||||||
|
when the *package maintainer* makes a change to the package but
|
||||||
|
the original source code and version number remains the same.
|
||||||
|
|
||||||
|
For example, I build a package of 'foo' version 0.14 for the
|
||||||
|
sparc. I have never built this package before, thus it becomes
|
||||||
|
foo-0.14-sparc-1.tgz
|
||||||
|
However, I realise that I haven't configured
|
||||||
|
the 'bar' parameter correctly in /etc/foo.conf. I fix it
|
||||||
|
and re-build the package. The package is now named
|
||||||
|
foo-0.14-sparc-2.tgz
|
||||||
|
|
||||||
|
|
||||||
|
2.1 An overview of the creation of official Slackware packages
|
||||||
|
-----------------------------------------------------------
|
||||||
|
|
||||||
|
This section gives a brief introduction of the two methods of
|
||||||
|
used when building the official Slackware packages.
|
||||||
|
|
||||||
|
|
||||||
|
2.1.1 'Clean' and 'dirty' builds
|
||||||
|
--------------------------
|
||||||
|
|
||||||
|
I am assuming the reader has some experience with Makefiles
|
||||||
|
and has compiled and installed a number of software packages.
|
||||||
|
|
||||||
|
2.1.1.1 Clean builds
|
||||||
|
------------
|
||||||
|
|
||||||
|
I term a 'clean' package one where you can specify a variable
|
||||||
|
to the 'make install' which contains the directory you wish to install
|
||||||
|
the package in, rather than installing it properly over the root file system.
|
||||||
|
For example:
|
||||||
|
# ./configure --prefix=/usr --sysconfdir=/etc
|
||||||
|
# make
|
||||||
|
# make install DESTDIR=/tmp/package-foo
|
||||||
|
|
||||||
|
With a 'Makefile' that honours the DESTDIR variable, this will
|
||||||
|
install the whole package into /tmp/package-foo. This directory
|
||||||
|
effectively is the 'root' directory '/' as far as the Makefile
|
||||||
|
is concerned.
|
||||||
|
|
||||||
|
From here you can use the Slackware 'makepkg' program and build
|
||||||
|
a package.
|
||||||
|
|
||||||
|
This is by far the safest and most preferred method by all
|
||||||
|
users that make packages.
|
||||||
|
|
||||||
|
You will find that DESTDIR is called prefix, TOPDIR and other names;
|
||||||
|
you need to examine the Makefile scripts in order to determine whether
|
||||||
|
it contains this functionality and if it does, then discover what
|
||||||
|
the variable name is.
|
||||||
|
|
||||||
|
2.1.1.2 Dirty builds
|
||||||
|
------------
|
||||||
|
|
||||||
|
A 'dirty' build is the name I give to source distribution archives
|
||||||
|
whose Makefile scripts do not have any provisioning to install
|
||||||
|
in an alternate directory other than root.
|
||||||
|
|
||||||
|
For these type of builds, you will typically do:
|
||||||
|
# ./configure --prefix=/usr --sysconfdir=/etc
|
||||||
|
# make
|
||||||
|
# make install
|
||||||
|
|
||||||
|
The package will then be installed on the root filesystem.
|
||||||
|
|
||||||
|
So how do you know what files were installed where and
|
||||||
|
even if you did, how do you pull all these files together in order
|
||||||
|
to run makepkg over them ?
|
||||||
|
That's the purpose of slacktrack! :-)
|
||||||
|
|
||||||
|
|
||||||
|
2.1.1 SlackBuild and .build scripts
|
||||||
|
-----------------------------
|
||||||
|
|
||||||
|
Slackware has a number of packages by a great number of authors.
|
||||||
|
Some of the packages's source Makefiles honour a DESTDIR type
|
||||||
|
variable but others do not.
|
||||||
|
|
||||||
|
2.1.1.2 SlackBuild scripts
|
||||||
|
------------------
|
||||||
|
|
||||||
|
SlackBuild scripts can be 'interesting'. They are
|
||||||
|
scripts that install into a 'clean' environment (usually /tmp).
|
||||||
|
|
||||||
|
Some of the scripts follow the make install DESTDIR=
|
||||||
|
style, if the Makefile permits.
|
||||||
|
|
||||||
|
Others have a 'framework' or 'controller tarball' which is
|
||||||
|
a _packagename.t?z (note the prefixing underscore).
|
||||||
|
|
||||||
|
The SlackBuild script uses the Slackware 'explodepkg' script
|
||||||
|
to untar the contents of the _.t?z into the /tmp-package<name>
|
||||||
|
directory.
|
||||||
|
Slackbuild then runs 'make' to compile the binaries
|
||||||
|
and libraries, but then uses the 'cat' program such as:
|
||||||
|
# cat foobar > /tmp/package-foobar/usr/bin/foobar
|
||||||
|
|
||||||
|
By using 'cat', the *new* version of 'foobar' retains
|
||||||
|
the original permissions and ownerships that are in the
|
||||||
|
controller tar ball.
|
||||||
|
|
||||||
|
However, you may be wondering how, if the package does not
|
||||||
|
have a facility to install into somewhere other than root,
|
||||||
|
do we get the file names and permissions for the
|
||||||
|
controller _.t?z in the first place.
|
||||||
|
The answer is simple:
|
||||||
|
[a] find all files on the file system and dump to a file.
|
||||||
|
[b] compile and install the software
|
||||||
|
[c] find all files on the file system and compare the file
|
||||||
|
produced by the first 'find'. After a little pruning, you
|
||||||
|
have the list of files for the controller tar ball.
|
||||||
|
|
||||||
|
|
||||||
|
2.1.1.3 .build scripts
|
||||||
|
---------------
|
||||||
|
|
||||||
|
For those software distributions whose Makefile does not hounour
|
||||||
|
the DESTDIR type system, there are Slackware's .build scripts.
|
||||||
|
|
||||||
|
These scripts literally ./configure ; make ; make install
|
||||||
|
and copy docs and other goodies into the root file system.
|
||||||
|
|
||||||
|
One of the problems with these scripts is that they are
|
||||||
|
often incomplete -- they build and install the package but
|
||||||
|
do not gzip the man pages or strip the binaries and libraries;
|
||||||
|
this is done manually afterwards.
|
||||||
|
|
||||||
|
*These* are the scripts that slacktrack and altertrack were
|
||||||
|
written for.
|
||||||
|
|
||||||
|
* Note: Whilst some software's Makefiles may appear to honour
|
||||||
|
the DESTDIR variable, the Makefile *may* be broken which can
|
||||||
|
result in files missing or corrupt within your new package.
|
||||||
|
For example: I built Apache v2.0.48 and built a package using
|
||||||
|
make install DESTDIR. However, a problem exists in that some of
|
||||||
|
the Perl scripts it installs have *temporary build paths*
|
||||||
|
hard coded into the resulting scripts.
|
||||||
|
This is why you *may* find a .build instead of a SlackBuild
|
||||||
|
script within Slackware's source tree.
|
||||||
|
|
||||||
|
However, the primary reason is because the build script just
|
||||||
|
hasn't been updated to make use of DESTDIR. *
|
||||||
|
|
||||||
|
|
||||||
|
2.2 slacktrack in the scheme of things
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
I follow Slackware-current quite closly. Often I want to
|
||||||
|
'back port' a -current package to an earlier release of Slackware .
|
||||||
|
I can't simply upgrade with -current's package because it was
|
||||||
|
compiled for a newer GLIBC than Slackware 8.1's, for example.
|
||||||
|
For packages that use a 'clean' 'SlackBuild' script, this is
|
||||||
|
an easy job -- I simply run 'SlackBuild' on an 8.1 box.
|
||||||
|
|
||||||
|
However, for .build scripts, I needed a way of building packages
|
||||||
|
using Slackware's .build scripts.
|
||||||
|
|
||||||
|
I found a great program called 'CheckInstall' which fulfilled most of my
|
||||||
|
requirements. However, as time went on and I started building
|
||||||
|
more of Slackware's packages and writing my own build scripts, I found
|
||||||
|
that checkinstall was lacking some features that I required.
|
||||||
|
At this time I was also considering porting Slackware to run on
|
||||||
|
the ARM architecture and helping with the Splack (Slackware on SPARC project),
|
||||||
|
and therefore wanted a robust program that can deal with every .build script
|
||||||
|
I threw at it, and if it can't handle it, I needed to be able to make modifications.
|
||||||
|
The easiest way of doing this was to write my own script; thus
|
||||||
|
'slacktrack' was born.
|
||||||
|
|
||||||
|
slacktrack is based on the *idea* behind 'CheckInstall', but uses
|
||||||
|
only my own code (and contributions from other users), and only contains
|
||||||
|
Slackware-specific facilities -- it can not build Debian or RedHat packages
|
||||||
|
and never will.
|
||||||
|
|
||||||
|
slacktrack does not have all of the facilities of CheckInstall either,
|
||||||
|
but then these are not required for building Slackware packages
|
||||||
|
from .build scripts.
|
||||||
|
|
||||||
|
Also, slacktrack only works with 'official' Slackware directory locations
|
||||||
|
and /usr/local.
|
||||||
|
For example, if your make install installs binaries in /opt/packagename/bin
|
||||||
|
and the man pages in anywhere other than /usr/man or /usr/local/man, then
|
||||||
|
slacktrack's relevant options (eg stripping libs, bins, gzman) will
|
||||||
|
not detect them.
|
||||||
|
|
||||||
|
|
||||||
|
2.2.1 Using slacktrack with official .build scripts
|
||||||
|
---------------------------------------------
|
||||||
|
|
||||||
|
Building a replicar Slackware package from a .build script is
|
||||||
|
typically fairly trivial with slacktrack.
|
||||||
|
|
||||||
|
If we wanted to build slackware-9.1's elvis, we could do
|
||||||
|
# cd slackware/slackware-9.1/source/a/elvis
|
||||||
|
# chmod 755 elvis.build
|
||||||
|
# slacktrack -jefkzp "elvis-2.1-i386-2.tgz" ./elvis.build
|
||||||
|
|
||||||
|
The resulting package (by default) be stored in
|
||||||
|
/tmp/built-slackwarepackages/
|
||||||
|
|
||||||
|
As already mentioned, some of the Slackware .build scripts
|
||||||
|
are incomplete with regard to gzipping man pages, stripping binaries
|
||||||
|
and so on -- fetchmail.build is one of them.
|
||||||
|
Therefore you can specify various options to slacktrack that
|
||||||
|
will take care of this for you.
|
||||||
|
The options in the example above :
|
||||||
|
j - compress libraries
|
||||||
|
e - chown root:bin /bin,/sbin,/usr/bin,/usr/sbin directories
|
||||||
|
f - chown root:bin files in the binary dirs listed above
|
||||||
|
k - strip binaries found in the binary dirs listed above
|
||||||
|
z - gzip man pages
|
||||||
|
p - the resulting Slackware package .t?z name
|
||||||
|
|
||||||
|
The way I re-create the packages is to build a 'trackbuild' script that
|
||||||
|
launches slacktrack with the required options and the name
|
||||||
|
of the Slackware .build script. You can find examples of such
|
||||||
|
scripts within the docs directory after installing slacktrack:
|
||||||
|
|
||||||
|
/usr/doc/slacktrack*/buildscript-examples/
|
||||||
|
|
||||||
|
You will also find that in Slackware versions 12.0 and upwards,
|
||||||
|
the .build scripts are accompanied by 'trackbuild' scripts because
|
||||||
|
slacktrack is used by the Slackware team to produce the packages.
|
||||||
|
|
||||||
|
2.2.2 Writing your own .build scripts for slacktrack
|
||||||
|
----------------------------------------------
|
||||||
|
|
||||||
|
There isn't any specific that you have to do to write a build
|
||||||
|
script for use with slacktrack -- the script name specified to
|
||||||
|
slacktrack doesn't even have to be a script - it can be a binary -
|
||||||
|
as long as it is executable, it is acceptable.
|
||||||
|
|
||||||
|
You can see some of my own build scripts that I have written
|
||||||
|
for use with slacktrack by looking in the documents directory
|
||||||
|
after installing slacktrack:
|
||||||
|
|
||||||
|
/usr/doc/slacktrack*/buildscript-examples/
|
||||||
|
|
||||||
|
2.2.2.1 Making use of slacktrack's environment variables
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
slacktrack exports two environment variables:
|
||||||
|
SLACKTRACKFAKEROOT and SLACKTRACKSCRATCHDIR
|
||||||
|
|
||||||
|
SLACKTRACKFAKEROOT:
|
||||||
|
````````````````````
|
||||||
|
|
||||||
|
The purpose of this to allow your .build script to access the
|
||||||
|
'root' directory of the resulting package.
|
||||||
|
There are two scenarios where you may want to use this
|
||||||
|
variable:
|
||||||
|
|
||||||
|
1. During the build:
|
||||||
|
|
||||||
|
The reason you may wish to do this is to pre-populate
|
||||||
|
the package with files that you may not wish to place directly
|
||||||
|
onto the root filesystem.
|
||||||
|
The package contents will only appear inside this directory
|
||||||
|
once your build script has finished, and slacktrack has determined
|
||||||
|
what to put into this directory.
|
||||||
|
|
||||||
|
In previous slacktrack versions which used a pseudo-root filesystem
|
||||||
|
(where the package contents were populated *during* the build), this
|
||||||
|
made sense, but in slacktrack v2.00, it is unlikely that you'd want
|
||||||
|
to use this vairable from the build script.
|
||||||
|
|
||||||
|
2. Post-build -- cleanups after the build:
|
||||||
|
|
||||||
|
The most likely use of this script is to perform package cleanup
|
||||||
|
tasks after the build. This is mainly to perform tasks that slacktrack
|
||||||
|
does not handle itself - such as deleting known files/directories that
|
||||||
|
creep into packages (due to a system daemon such as CUPS), or setting
|
||||||
|
some file and directory permissions.
|
||||||
|
|
||||||
|
An example post build script is below.
|
||||||
|
A post build script can be specified by slacktrack's -R option:
|
||||||
|
|
||||||
|
# Incase you had CUPS running:
|
||||||
|
rm -rf etc/cups etc/printcap
|
||||||
|
# crond:
|
||||||
|
rm -rf var/spool/cron
|
||||||
|
rmdir var/spool
|
||||||
|
|
||||||
|
# perllocal.pod files don't belong in packages.
|
||||||
|
# SGMLSPL creates this:
|
||||||
|
find . -name perllocal.pod -print0 | xargs -0 rm -f
|
||||||
|
|
||||||
|
# Some doc dirs have attracted setuid.
|
||||||
|
# We don't need setuid for anything in this package:
|
||||||
|
chmod -R a-s .
|
||||||
|
|
||||||
|
|
||||||
|
SLACKTRACKSCRATCHDIR:
|
||||||
|
`````````````````````
|
||||||
|
|
||||||
|
The purpose of this variable is to provide some temporary
|
||||||
|
space to untar your source archives and so on. slacktrack
|
||||||
|
will manage the creation and deletion of this directory.
|
||||||
|
|
||||||
|
For example:
|
||||||
|
# cd ${SLACKTRACKSCRATCHDIR}
|
||||||
|
# tar zxvvf ${ORIGPATH}/source/foobar.tar.gz
|
||||||
|
|
||||||
|
You can see in some of the example 'non-slackware' scripts
|
||||||
|
how I have used these variables
|
||||||
|
|
||||||
|
|
||||||
|
3.0 slacktrack in operation
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
The basic event flow is as follows:
|
||||||
|
|
||||||
|
[1] Parse command line arguments
|
||||||
|
-> Check they are OK, if not bomb out
|
||||||
|
[2] Launch the supplied build script
|
||||||
|
[3] Run any specified functions (eg gzman, strip bins, chowns) over the
|
||||||
|
package 'root' directory and contents
|
||||||
|
[4] Run Slackware's 'makepkg' program over the package contents
|
||||||
|
[5] Move the .t?z to the specified build store path
|
||||||
|
[6] Scan for any hard links that may be in the package
|
||||||
|
-> If any found, alert the user on screen and also
|
||||||
|
log to a packagename.hardlinks.log file in the build store path
|
||||||
|
|
||||||
|
The slacktrack shell script is fairly simple and well commented; it should be
|
||||||
|
relatively easy for anybody who understands bash to quickly comprehend what
|
||||||
|
is happening and why.
|
||||||
|
|
||||||
|
3.1 How slacktrack finds which files have been installed
|
||||||
|
----------------------------------------------------
|
||||||
|
|
||||||
|
In order to track the files and directories that have been installed
|
||||||
|
or changed, slacktrack follows this ordered process:
|
||||||
|
|
||||||
|
[1] Scans a pre-set list of directories on the filesystem and
|
||||||
|
logs the contents.
|
||||||
|
[2] Launches build script which installs the package onto the
|
||||||
|
filesystem
|
||||||
|
[3] Scans the filesystem once again
|
||||||
|
[4] Compares the differences in the before and after snapshots
|
||||||
|
[5] Copies the differences into a 'package root directory' and
|
||||||
|
runs makepkg over them.
|
||||||
|
|
||||||
|
In slacktrack version 1, we used 'installwatch' which overloaded
|
||||||
|
some of glibc's filesystem calls, creating new files and directories
|
||||||
|
into a pseudo-root filesystem, avoiding the need to install onto
|
||||||
|
the host's filesystem (and also allowing to build as a non-root user).
|
||||||
|
However, this library is ill maintained and even in the early days
|
||||||
|
when it worked well, it still had problems and workarounds were required.
|
||||||
|
|
||||||
|
4.0 Example scripts
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Included with the slacktrack binary distribution are a number of example
|
||||||
|
scripts that hopefully should provide you with a basis of how to use slacktrack
|
||||||
|
to build from 'dirty' source distributions.
|
||||||
|
|
||||||
|
The examples are bundled in the documentation directory available
|
||||||
|
after installing slacktrack:
|
||||||
|
|
||||||
|
/usr/doc/slacktrack*/buildscript-examples/
|
||||||
|
|
||||||
|
|
||||||
|
5.0 Known problems/features of slacktrack
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
Current problems:
|
||||||
|
|
||||||
|
[1] slacktrack doesn't have sufficient error checking.
|
||||||
|
|
||||||
|
I'm in two minds about *where* to put error checking, you see.
|
||||||
|
Do I go no further if the supplied build script exits with a non-zero
|
||||||
|
value?
|
||||||
|
No, that's a bad idea because what if you didn't write the build script?
|
||||||
|
it might be one of these qmail type binary installer programs that
|
||||||
|
you can't (easily without hacking the source) fix. The author may
|
||||||
|
have their own systems, and the program exits with a value that their
|
||||||
|
own controller script recognises as non-failure.
|
||||||
|
|
||||||
|
What should I do if makepkg has failed? You see it on screen
|
||||||
|
and in the logs anyway, plus makepkg is one of the last things
|
||||||
|
that slacktrack calls -- how can you recover?
|
||||||
|
|
||||||
|
That said, version 1.03 now has some error handling. There's still
|
||||||
|
not enough though, imo.
|
||||||
|
|
||||||
|
[2] No support for a default config file
|
||||||
|
|
||||||
|
I don't see the point. Each .build script is different
|
||||||
|
and although I typically use the same options to slacktrack
|
||||||
|
for most of my build scripts, I don't see why I'd need a
|
||||||
|
config file just to save 4 bytes or so in a trackbuild wrapper :-)
|
||||||
|
|
||||||
|
|
||||||
|
6.0 New features
|
||||||
|
-------------
|
||||||
|
|
||||||
|
See the TODO file in the docs directory.
|
||||||
|
|
||||||
|
If you have any specific features you would like to see
|
||||||
|
included, or have found any bugs, please
|
||||||
|
email me <mozes@slackware.com>
|
||||||
|
|
||||||
|
7.0 Licence
|
||||||
|
-------
|
||||||
|
|
||||||
|
slacktrack is distributed under BSD Licence.
|
23
extra/source/bash-completion/bash-completion-xz.diff
Normal file
23
extra/source/bash-completion/bash-completion-xz.diff
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
diff -ur a/bash_completion b/bash_completion
|
||||||
|
--- a/bash_completion 2006-03-01 16:20:18.000000000 +0000
|
||||||
|
+++ b/bash_completion 2009-07-15 22:46:27.000000000 +0100
|
||||||
|
@@ -2852,8 +2852,8 @@
|
||||||
|
return 0
|
||||||
|
;;
|
||||||
|
+([^IZzjy])f)
|
||||||
|
- ext='t@(ar?(.@(Z|gz|bz?(2)))|gz|bz?(2))'
|
||||||
|
- regex='t\(ar\(\.\(Z\|gz\|bz2\?\)\)\?\|gz\|bz2\?\)'
|
||||||
|
+ ext='t@(ar?(.@(Z|xz|gz|bz?(2)))|xz|gz|bz?(2))'
|
||||||
|
+ regex='t\(ar\(\.\(Z\|xz\|gz\|bz2\?\)\)\?\|xz\|gz\|bz2\?\)'
|
||||||
|
;;
|
||||||
|
*[Zz]*f)
|
||||||
|
ext='t?(ar.)@(gz|Z)'
|
||||||
|
@@ -5519,7 +5519,7 @@
|
||||||
|
COMPREPLY=( $( (cd /var/log/packages; compgen -f -- "$cur") ) )
|
||||||
|
} &&
|
||||||
|
complete -F _removepkg $filenames removepkg &&
|
||||||
|
- complete $dirnames -f -X '!*.tgz' installpkg upgradepkg explodepkg
|
||||||
|
+ complete $dirnames -f -X '!*.t?z' installpkg upgradepkg explodepkg
|
||||||
|
|
||||||
|
# look(1) completion
|
||||||
|
#
|
50
extra/source/bash-completion/bash-completion.SlackBuild
Executable file
50
extra/source/bash-completion/bash-completion.SlackBuild
Executable file
|
@ -0,0 +1,50 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Set initial variables:
|
||||||
|
CWD=`pwd`
|
||||||
|
if [ "$TMP" = "" ]; then
|
||||||
|
TMP=/tmp
|
||||||
|
fi
|
||||||
|
PKG=$TMP/package-bash-completion
|
||||||
|
|
||||||
|
VERSION=20060301
|
||||||
|
ARCH=noarch
|
||||||
|
BUILD=2
|
||||||
|
|
||||||
|
if [ ! -d $TMP ]; then
|
||||||
|
mkdir -p $TMP # location to build the source
|
||||||
|
fi
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG
|
||||||
|
|
||||||
|
cd $TMP
|
||||||
|
rm -rf bash_completion
|
||||||
|
tar xjvf $CWD/bash-completion-$VERSION.tar.bz2
|
||||||
|
cd bash_completion
|
||||||
|
|
||||||
|
# Add support for xz file formats:
|
||||||
|
zcat $CWD/bash-completion-xz.diff.gz | patch -p1 || exit 1
|
||||||
|
|
||||||
|
mkdir -p $PKG/etc/bash_completion.d $PKG/etc/profile.d
|
||||||
|
cp -a $CWD/bash_completion.sh.gz $PKG/etc/profile.d
|
||||||
|
gzip -d $PKG/etc/profile.d/bash_completion.sh.gz
|
||||||
|
chmod 755 $PKG/etc/profile.d/bash_completion.sh
|
||||||
|
cp -a bash_completion $PKG/etc
|
||||||
|
chmod 644 $PKG/etc/bash_completion
|
||||||
|
cp -a contrib/* $PKG/etc/bash_completion.d
|
||||||
|
chmod 755 $PKG/etc/bash_completion.d/*
|
||||||
|
mkdir -p $PKG/usr/doc/bash-completion-$VERSION
|
||||||
|
cp -a BUGS COPYING README $PKG/usr/doc/bash-completion-$VERSION
|
||||||
|
chmod 644 $PKG/usr/doc/bash-completion-$VERSION/*
|
||||||
|
( cd $PKG ; chown -R root.root . )
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
# Build the package:
|
||||||
|
cd $PKG
|
||||||
|
makepkg -l y -c n $TMP/bash-completion-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
||||||
|
# Clean up the extra stuff:
|
||||||
|
if [ "$1" = "--cleanup" ]; then
|
||||||
|
rm -rf $TMP/bash_completion
|
||||||
|
rm -rf $PKG
|
||||||
|
fi
|
11
extra/source/bash-completion/bash_completion.sh
Normal file
11
extra/source/bash-completion/bash_completion.sh
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
bash=${BASH_VERSION%.*}; bmajor=${bash%.*}; bminor=${bash#*.}
|
||||||
|
if [ "$PS1" ] && [ $bmajor -eq 2 ] && [ $bminor '>' 04 ] \
|
||||||
|
&& [ -f /etc/bash_completion ]; then # interactive shell
|
||||||
|
# Source completion code
|
||||||
|
. /etc/bash_completion
|
||||||
|
elif [ "$PS1" ] && [ $bmajor -eq 3 ] \
|
||||||
|
&& [ -f /etc/bash_completion ]; then # interactive shell
|
||||||
|
# Source completion code
|
||||||
|
. /etc/bash_completion
|
||||||
|
fi
|
||||||
|
unset bash bmajor bminor
|
19
extra/source/bash-completion/slack-desc
Normal file
19
extra/source/bash-completion/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|' on
|
||||||
|
# the right side marks the last column you can put a character in. You must make
|
||||||
|
# exactly 11 lines for the formatting to be correct. It's also customary to
|
||||||
|
# leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
bash-completion: bash-completion (programmable completion for the bash shell)
|
||||||
|
bash-completion:
|
||||||
|
bash-completion: Adds programmable completion to the bash shell. A new file called
|
||||||
|
bash-completion: /etc/bash_completion will be sourced for interactive bash shells
|
||||||
|
bash-completion: adding all sorts of enhanced command completion features. Once
|
||||||
|
bash-completion: installed, you may get a list of all commands that have associated
|
||||||
|
bash-completion: completions with 'complete -p', and examine the code for the shell
|
||||||
|
bash-completion: functions with 'declare -f'.
|
||||||
|
bash-completion:
|
||||||
|
bash-completion: bash-completion was written by Ian Macdonald <ian@caliban.org>.
|
||||||
|
bash-completion:
|
37
extra/source/bittorrent/bittorrent-xterm.sh
Normal file
37
extra/source/bittorrent/bittorrent-xterm.sh
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright 2003 Slackware Linux, Inc., Concord, CA, USA
|
||||||
|
# Copyright 2006 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# /usr/bin/bittorrent-xterm.sh
|
||||||
|
# A simple script used in /etc/mailcap to enable using
|
||||||
|
# bittorrent-curses with Mozilla, etc.
|
||||||
|
#
|
||||||
|
# This goes in /etc/mailcap:
|
||||||
|
#application/x-bittorrent; /usr/bin/bittorrent-xterm '%s' ;
|
||||||
|
|
||||||
|
# Create a directory for downloads:
|
||||||
|
if [ ! -d $HOME/BitTorrent ]; then
|
||||||
|
mkdir -p $HOME/BitTorrent
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Change to the download directory and start BitTorrent there:
|
||||||
|
cd $HOME/BitTorrent && exec /usr/X11R6/bin/xterm -e /usr/bin/bittorrent-curses "$1"
|
||||||
|
|
65
extra/source/bittorrent/bittorrent.SlackBuild
Executable file
65
extra/source/bittorrent/bittorrent.SlackBuild
Executable file
|
@ -0,0 +1,65 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
VERSION=${VERSION:-4.4.0}
|
||||||
|
ARCH=noarch
|
||||||
|
BUILD=${BUILD:-3}
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=/tmp/package-bittorrent
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG $TMP
|
||||||
|
|
||||||
|
cd $TMP
|
||||||
|
rm -rf BitTorrent-$VERSION
|
||||||
|
tar xvf $CWD/BitTorrent-$VERSION.tar.bz2 || exit 1
|
||||||
|
cd BitTorrent-$VERSION || exit 1
|
||||||
|
chown -R root.root .
|
||||||
|
find . \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
python setup.py build install --root=$PKG
|
||||||
|
# Add bittorrent-xterm (this just opens an xterm for bittorrent-curses so
|
||||||
|
# that it can work as a MIME handler from mailcap):
|
||||||
|
mkdir -p $PKG/usr/bin
|
||||||
|
zcat $CWD/bittorrent-xterm.sh.gz > $PKG/usr/bin/bittorrent-xterm
|
||||||
|
chmod 755 $PKG/usr/bin/bittorrent-xterm
|
||||||
|
mkdir -p $PKG/usr/doc/BitTorrent-$VERSION
|
||||||
|
cp -a \
|
||||||
|
INSTALL.unix.txt LICENSE.txt PKG-INFO README.txt TRACKERLESS.txt \
|
||||||
|
credits-l10n.txt credits.txt public.key redirdonate.html \
|
||||||
|
$PKG/usr/doc/BitTorrent-$VERSION
|
||||||
|
rm -rf $PKG/usr/share/doc $PKG/usr/share/pixmaps/BitTorrent-$VERSION/icons/old
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
# Add support for using bittorrent-curses instead of bittorrent-gui
|
||||||
|
# in /etc/mailcap:
|
||||||
|
zcat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/bittorrent-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
10
extra/source/bittorrent/doinst.sh
Normal file
10
extra/source/bittorrent/doinst.sh
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Add bittorrent support to /etc/mailcap unless it's found there
|
||||||
|
# already (commented out, or not):
|
||||||
|
if ! grep application/x-bittorrent etc/mailcap 1> /dev/null 2> /dev/null ; then
|
||||||
|
echo "application/x-bittorrent; /usr/bin/bittorrent-xterm '%s' ; " >> etc/mailcap
|
||||||
|
else
|
||||||
|
# If it calls btdownloadxterm.sh, make bittorrent-xterm the default instead:
|
||||||
|
if grep btdownloadxterm etc/mailcap 1> /dev/null 2> /dev/null ; then
|
||||||
|
sed -i -e 's/btdownloadxterm.sh/bittorrent-xterm/g' etc/mailcap
|
||||||
|
fi
|
||||||
|
fi
|
19
extra/source/bittorrent/slack-desc
Normal file
19
extra/source/bittorrent/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
bittorrent: bittorrent (BitTorrent file distribution utility)
|
||||||
|
bittorrent:
|
||||||
|
bittorrent: BitTorrent is a file distribution utility which utilizes the upload
|
||||||
|
bittorrent: capacity of machines which are downloading a file to help distribute
|
||||||
|
bittorrent: it to other downloading machines. This makes it possible to provide
|
||||||
|
bittorrent: large files (such as the Slackware Linux ISO images) to many people
|
||||||
|
bittorrent: without the usual problem of insufficient bandwidth. The more
|
||||||
|
bittorrent: downloaders, the more bandwidth. Problem solved.
|
||||||
|
bittorrent:
|
||||||
|
bittorrent: Bram Cohen is the genius behind BitTorrent.
|
||||||
|
bittorrent:
|
94
extra/source/brltty/brltty.SlackBuild
Executable file
94
extra/source/brltty/brltty.SlackBuild
Executable file
|
@ -0,0 +1,94 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Set initial variables:
|
||||||
|
CWD=`pwd`
|
||||||
|
if [ "$TMP" = "" ]; then
|
||||||
|
TMP=/tmp
|
||||||
|
fi
|
||||||
|
if [ ! -d $TMP ]; then
|
||||||
|
mkdir -p $TMP # location to build the source
|
||||||
|
fi
|
||||||
|
PKG=/tmp/package-brltty
|
||||||
|
|
||||||
|
VERSION=4.0
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then
|
||||||
|
LIBDIRSUFFIX="64"
|
||||||
|
else
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG
|
||||||
|
cd $TMP
|
||||||
|
rm -rf brltty-$VERSION
|
||||||
|
tar xf $CWD/brltty-$VERSION.tar.?z* || exit 1
|
||||||
|
cd brltty-$VERSION
|
||||||
|
|
||||||
|
sh autogen
|
||||||
|
|
||||||
|
chown -R root:root .
|
||||||
|
find . -perm 775 -exec chmod 755 {} \;
|
||||||
|
find . -perm 700 -exec chmod 755 {} \;
|
||||||
|
find . -perm 744 -exec chmod 755 {} \;
|
||||||
|
find . -perm 664 -exec chmod 644 {} \;
|
||||||
|
find . -perm 600 -exec chmod 644 {} \;
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--bindir=/bin \
|
||||||
|
--sbindir=/sbin \
|
||||||
|
--libdir=/lib${LIBDIRSUFFIX} \
|
||||||
|
--infodir=/usr/info \
|
||||||
|
--mandir=/usr/man \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--build=$ARCH-slackware-linux
|
||||||
|
make -j2 || exit 1
|
||||||
|
make install INSTALL_ROOT=$PKG || exit 1
|
||||||
|
chmod 755 $PKG/bin/* $PKG/lib${LIBDIRSUFFIX}/brltty/*
|
||||||
|
|
||||||
|
( cd $PKG
|
||||||
|
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
)
|
||||||
|
|
||||||
|
mkdir -p $PKG/usr/doc/brltty-$VERSION
|
||||||
|
cp -a \
|
||||||
|
README* COPYING* \
|
||||||
|
Documents/{Manual-*,TODO,CONTRIBUTORS,HISTORY,README.*} \
|
||||||
|
$PKG/usr/doc/brltty-$VERSION
|
||||||
|
cat Documents/ChangeLog | head -n 150 > $PKG/usr/doc/brltty-$VERSION/ChangeLog
|
||||||
|
( cd $PKG/usr/doc/brltty-$VERSION
|
||||||
|
find . -name "Makefile*" -exec rm -f {} \;
|
||||||
|
find . -name "*.sgml" -exec rm -f {} \;
|
||||||
|
find . -size 0 -type f -exec rm -f {} \;
|
||||||
|
)
|
||||||
|
|
||||||
|
gzip -9 $PKG/usr/man/man?/*.?
|
||||||
|
|
||||||
|
mkdir -p $PKG/etc
|
||||||
|
cp -a Documents/brltty.conf $PKG/etc/brltty.conf.new
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
# Write out the doinst.sh:
|
||||||
|
cat << EOF > $PKG/install/doinst.sh
|
||||||
|
config() {
|
||||||
|
NEW="\$1"
|
||||||
|
OLD="\$(dirname \$NEW)/\$(basename \$NEW .new)"
|
||||||
|
# If there's no config file by that name, mv it over:
|
||||||
|
if [ ! -r \$OLD ]; then
|
||||||
|
mv \$NEW \$OLD
|
||||||
|
elif [ "\$(cat \$OLD | md5sum)" = "\$(cat \$NEW | md5sum)" ]; then # toss the redundant copy
|
||||||
|
rm \$NEW
|
||||||
|
fi
|
||||||
|
# Otherwise, we leave the .new copy for the admin to consider...
|
||||||
|
}
|
||||||
|
config etc/brltty.conf.new
|
||||||
|
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
makepkg -l y -c n ../brltty-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
19
extra/source/brltty/slack-desc
Normal file
19
extra/source/brltty/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|' on
|
||||||
|
# the right side marks the last column you can put a character in. You must make
|
||||||
|
# exactly 11 lines for the formatting to be correct. It's also customary to
|
||||||
|
# leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
brltty: brltty (Braille display daemon)
|
||||||
|
brltty:
|
||||||
|
brltty: BRLTTY is a daemon which provides access to the Linux console (text
|
||||||
|
brltty: mode) for a blind person using a soft braille display. It drives the
|
||||||
|
brltty: braille terminal and provides complete screen review functionality.
|
||||||
|
brltty:
|
||||||
|
brltty:
|
||||||
|
brltty:
|
||||||
|
brltty:
|
||||||
|
brltty:
|
||||||
|
brltty:
|
159
extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
Executable file
159
extra/source/flashplayer-plugin/flashplayer-plugin.SlackBuild
Executable file
|
@ -0,0 +1,159 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright (c) 2008, 2009 Eric Hameleers, Eindhoven, NL
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for
|
||||||
|
# any purpose with or without fee is hereby granted, provided that
|
||||||
|
# the above copyright notice and this permission notice appear in all
|
||||||
|
# copies.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Slackware SlackBuild script
|
||||||
|
# ===========================
|
||||||
|
# By: Eric Hameleers <alien@slackware.com>
|
||||||
|
# For: flashplayer-plugin
|
||||||
|
# Descr: Adobe flash player plugin for mozilla
|
||||||
|
# URL: http://labs.adobe.com/
|
||||||
|
# Needs:
|
||||||
|
# Changelog:
|
||||||
|
# 10.0.d20.7-1: 16/Dec/2008 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Initial build.
|
||||||
|
# 10.0.d21.1-1: 20/Dec/2008 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Update.
|
||||||
|
# 10.0.22.87-1: 26/feb/2009 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Update (plugs vulnerability).
|
||||||
|
# 10.0.32.18-1: 10/aug/2009 by Patrick J. Volkerding <volkerdi@slackware.com>
|
||||||
|
# * Update (plugs vulnerability).
|
||||||
|
#
|
||||||
|
# Run 'sh flashplayer-plugin.SlackBuild' to build a Slackware package.
|
||||||
|
# The package (.txz) and .txt file as well as build logs are created in /tmp .
|
||||||
|
# Install it using 'installpkg'.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Set initial variables:
|
||||||
|
|
||||||
|
PRGNAM=flashplayer-plugin
|
||||||
|
VERSION=${VERSION:-10.0.32.18}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then
|
||||||
|
LIBDIRSUFFIX="64"
|
||||||
|
else
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Where do we look for sources?
|
||||||
|
SRCDIR=$(cd $(dirname $0); pwd)
|
||||||
|
|
||||||
|
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
|
||||||
|
TMP=${TMP:-/tmp/build}
|
||||||
|
PKG=$TMP/package-$PRGNAM
|
||||||
|
OUTPUT=${OUTPUT:-/tmp}
|
||||||
|
|
||||||
|
SOURCE="$SRCDIR/libflashplayer-${VERSION}.linux-${ARCH}.so.tar.gz"
|
||||||
|
SRCURL="http://download.macromedia.com/pub/labs/flashplayer10/libflashplayer-${VERSION}.linux-${ARCH}.so.tar.gz"
|
||||||
|
|
||||||
|
##
|
||||||
|
## --- with a little luck, you won't have to edit below this point --- ##
|
||||||
|
##
|
||||||
|
|
||||||
|
# Exit the script on errors:
|
||||||
|
set -e
|
||||||
|
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
|
||||||
|
# Catch unitialized variables:
|
||||||
|
set -u
|
||||||
|
P1=${1:-1}
|
||||||
|
|
||||||
|
# Create working directories:
|
||||||
|
mkdir -p $OUTPUT # place for the package to be saved
|
||||||
|
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
|
||||||
|
mkdir -p $PKG # place for the package to be built
|
||||||
|
rm -rf $PKG/* # always erase old package's contents
|
||||||
|
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
|
||||||
|
rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
|
||||||
|
# remove old log files
|
||||||
|
|
||||||
|
# Source file availability:
|
||||||
|
if ! [ -f ${SOURCE} ]; then
|
||||||
|
if ! [ "x${SRCURL}" == "x" ]; then
|
||||||
|
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
|
||||||
|
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
|
||||||
|
echo "Source '$(basename ${SOURCE})' not available yet..."
|
||||||
|
echo "Will download file to $(dirname $SOURCE)"
|
||||||
|
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
|
||||||
|
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
|
||||||
|
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
|
||||||
|
mv -f "${SOURCE}" "${SOURCE}".FAIL
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "File '$(basename ${SOURCE})' not available... aborting the build."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$P1" == "--download" ]; then
|
||||||
|
echo "Download complete."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- PACKAGE BUILDING ---
|
||||||
|
|
||||||
|
echo "++"
|
||||||
|
echo "|| $PRGNAM-$VERSION"
|
||||||
|
echo "++"
|
||||||
|
|
||||||
|
cd $TMP/tmp-$PRGNAM
|
||||||
|
echo "Extracting the source archive(s) for $PRGNAM..."
|
||||||
|
tar -xvf ${SOURCE}
|
||||||
|
chown -R root:root *
|
||||||
|
chmod -R u+w,go+r-w,a-s .
|
||||||
|
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then
|
||||||
|
if ! file libflashplayer.so | grep -q "ELF 64-bit" ; then
|
||||||
|
echo "The downloaded plugin is not for the '$ARCH' architecture!"; exit 1
|
||||||
|
fi
|
||||||
|
elif [[ "$ARCH" =~ "i?86" ]]; then
|
||||||
|
if ! file libflashplayer.so | grep -q "ELF 32-bit" ; then
|
||||||
|
echo "The downloaded plugin is not for the '$ARCH' architecture!"; exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Install the plugin to the package dir:
|
||||||
|
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
|
||||||
|
install -m 0755 libflashplayer.so \
|
||||||
|
$PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins/libflashplayer.so
|
||||||
|
|
||||||
|
# Add documentation:
|
||||||
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||||
|
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
find $PKG/usr/doc -type f -exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Add a package description:
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
# Build the package:
|
||||||
|
cd $PKG
|
||||||
|
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
|
||||||
|
cd $OUTPUT
|
||||||
|
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz.md5
|
||||||
|
cd -
|
||||||
|
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
|
||||||
|
|
19
extra/source/flashplayer-plugin/slack-desc
Normal file
19
extra/source/flashplayer-plugin/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler-----------------------------------------|
|
||||||
|
flashplayer-plugin: flashplayer-plugin (flash plugin for web browsers)
|
||||||
|
flashplayer-plugin:
|
||||||
|
flashplayer-plugin: Provides Adobe Flash plugin for browsers that recognize
|
||||||
|
flashplayer-plugin: /usr/lib/mozilla/plugins as a valid plugin directory
|
||||||
|
flashplayer-plugin:
|
||||||
|
flashplayer-plugin: Plugin is subject to Adobe terms of use:
|
||||||
|
flashplayer-plugin: http://www.adobe.com/go/labs_term_of_use
|
||||||
|
flashplayer-plugin:
|
||||||
|
flashplayer-plugin: Plugin is subject to Adobe Flash EULA:
|
||||||
|
flashplayer-plugin: http://labs.adobe.com/technologies/eula/flashplayer.html
|
||||||
|
flashplayer-plugin:
|
809
extra/source/grub/grub-0.97-x86_64.patch
Normal file
809
extra/source/grub/grub-0.97-x86_64.patch
Normal file
|
@ -0,0 +1,809 @@
|
||||||
|
diff -Naur grub-0.97.orig/docs/multiboot.h grub-0.97.patched/docs/multiboot.h
|
||||||
|
--- grub-0.97.orig/docs/multiboot.h 2003-07-09 05:45:36.000000000 -0600
|
||||||
|
+++ grub-0.97.patched/docs/multiboot.h 2006-08-26 22:44:02.000000000 -0600
|
||||||
|
@@ -44,76 +44,81 @@
|
||||||
|
/* Do not include here in boot.S. */
|
||||||
|
|
||||||
|
/* Types. */
|
||||||
|
+#ifndef __x86_64__
|
||||||
|
+typedef unsigned long UINT32;
|
||||||
|
+#else
|
||||||
|
+typedef unsigned UINT32;
|
||||||
|
+#endif
|
||||||
|
|
||||||
|
/* The Multiboot header. */
|
||||||
|
typedef struct multiboot_header
|
||||||
|
{
|
||||||
|
- unsigned long magic;
|
||||||
|
- unsigned long flags;
|
||||||
|
- unsigned long checksum;
|
||||||
|
- unsigned long header_addr;
|
||||||
|
- unsigned long load_addr;
|
||||||
|
- unsigned long load_end_addr;
|
||||||
|
- unsigned long bss_end_addr;
|
||||||
|
- unsigned long entry_addr;
|
||||||
|
+ UINT32 magic;
|
||||||
|
+ UINT32 flags;
|
||||||
|
+ UINT32 checksum;
|
||||||
|
+ UINT32 header_addr;
|
||||||
|
+ UINT32 load_addr;
|
||||||
|
+ UINT32 load_end_addr;
|
||||||
|
+ UINT32 bss_end_addr;
|
||||||
|
+ UINT32 entry_addr;
|
||||||
|
} multiboot_header_t;
|
||||||
|
|
||||||
|
/* The symbol table for a.out. */
|
||||||
|
typedef struct aout_symbol_table
|
||||||
|
{
|
||||||
|
- unsigned long tabsize;
|
||||||
|
- unsigned long strsize;
|
||||||
|
- unsigned long addr;
|
||||||
|
- unsigned long reserved;
|
||||||
|
+ UINT32 tabsize;
|
||||||
|
+ UINT32 strsize;
|
||||||
|
+ UINT32 addr;
|
||||||
|
+ UINT32 reserved;
|
||||||
|
} aout_symbol_table_t;
|
||||||
|
|
||||||
|
/* The section header table for ELF. */
|
||||||
|
typedef struct elf_section_header_table
|
||||||
|
{
|
||||||
|
- unsigned long num;
|
||||||
|
- unsigned long size;
|
||||||
|
- unsigned long addr;
|
||||||
|
- unsigned long shndx;
|
||||||
|
+ UINT32 num;
|
||||||
|
+ UINT32 size;
|
||||||
|
+ UINT32 addr;
|
||||||
|
+ UINT32 shndx;
|
||||||
|
} elf_section_header_table_t;
|
||||||
|
|
||||||
|
/* The Multiboot information. */
|
||||||
|
typedef struct multiboot_info
|
||||||
|
{
|
||||||
|
- unsigned long flags;
|
||||||
|
- unsigned long mem_lower;
|
||||||
|
- unsigned long mem_upper;
|
||||||
|
- unsigned long boot_device;
|
||||||
|
- unsigned long cmdline;
|
||||||
|
- unsigned long mods_count;
|
||||||
|
- unsigned long mods_addr;
|
||||||
|
+ UINT32 flags;
|
||||||
|
+ UINT32 mem_lower;
|
||||||
|
+ UINT32 mem_upper;
|
||||||
|
+ UINT32 boot_device;
|
||||||
|
+ UINT32 cmdline;
|
||||||
|
+ UINT32 mods_count;
|
||||||
|
+ UINT32 mods_addr;
|
||||||
|
union
|
||||||
|
{
|
||||||
|
aout_symbol_table_t aout_sym;
|
||||||
|
elf_section_header_table_t elf_sec;
|
||||||
|
} u;
|
||||||
|
- unsigned long mmap_length;
|
||||||
|
- unsigned long mmap_addr;
|
||||||
|
+ UINT32 mmap_length;
|
||||||
|
+ UINT32 mmap_addr;
|
||||||
|
} multiboot_info_t;
|
||||||
|
|
||||||
|
/* The module structure. */
|
||||||
|
typedef struct module
|
||||||
|
{
|
||||||
|
- unsigned long mod_start;
|
||||||
|
- unsigned long mod_end;
|
||||||
|
- unsigned long string;
|
||||||
|
- unsigned long reserved;
|
||||||
|
+ UINT32 mod_start;
|
||||||
|
+ UINT32 mod_end;
|
||||||
|
+ UINT32 string;
|
||||||
|
+ UINT32 reserved;
|
||||||
|
} module_t;
|
||||||
|
|
||||||
|
/* The memory map. Be careful that the offset 0 is base_addr_low
|
||||||
|
but no size. */
|
||||||
|
typedef struct memory_map
|
||||||
|
{
|
||||||
|
- unsigned long size;
|
||||||
|
- unsigned long base_addr_low;
|
||||||
|
- unsigned long base_addr_high;
|
||||||
|
- unsigned long length_low;
|
||||||
|
- unsigned long length_high;
|
||||||
|
- unsigned long type;
|
||||||
|
+ UINT32 size;
|
||||||
|
+ UINT32 base_addr_low;
|
||||||
|
+ UINT32 base_addr_high;
|
||||||
|
+ UINT32 length_low;
|
||||||
|
+ UINT32 length_high;
|
||||||
|
+ UINT32 type;
|
||||||
|
} memory_map_t;
|
||||||
|
|
||||||
|
#endif /* ! ASM */
|
||||||
|
diff -Naur grub-0.97.orig/docs/x86_64.txt grub-0.97.patched/docs/x86_64.txt
|
||||||
|
--- grub-0.97.orig/docs/x86_64.txt 1969-12-31 17:00:00.000000000 -0700
|
||||||
|
+++ grub-0.97.patched/docs/x86_64.txt 2006-10-10 10:39:42.000000000 -0600
|
||||||
|
@@ -0,0 +1,81 @@
|
||||||
|
+[PATCH] - Make GRUB recognize and boot an x86_64 elf image
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+HOW IT WORKS
|
||||||
|
+------------
|
||||||
|
+* Grub interface is unchanged.
|
||||||
|
+* Upon passing an elf-x86_64 file via "kernel=", GRUB will load and parse it
|
||||||
|
+ correctly.
|
||||||
|
+* Upon the "boot" directive, GRUB will switch from protected 32-bit
|
||||||
|
+ mode to long 64-bit mode and transfer control to the image's entrypoint.
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+INSTALL
|
||||||
|
+-------
|
||||||
|
+cd grub-0.97
|
||||||
|
+patch -p1 < grub-x86_64-elf.patch
|
||||||
|
+./configure
|
||||||
|
+make
|
||||||
|
+su -c "make install"
|
||||||
|
+
|
||||||
|
+Note: You do not need to re-install your bootsectors, but you WILL need
|
||||||
|
+ to copy the modified stage2 file(s) from /usr/share/grub to
|
||||||
|
+ your actual boot filesystem (usually /boot/grub for GNU/Linux).
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+WHY?
|
||||||
|
+----
|
||||||
|
+Because in our world, all elves and elf images are created equal, and have
|
||||||
|
+been endowed with the ability to be bootable. :-)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+THE NITTY GRITTY - GRUB SIDE
|
||||||
|
+----------------------------
|
||||||
|
+* Since paging is manditory in 64-bit long mode, the first 4GB of physical
|
||||||
|
+ memory (whether present or not) is identity mapped into the linear
|
||||||
|
+ address space using 2MB pages.
|
||||||
|
+* Paging data structures are written to physical 0x70000-0x75fff in the
|
||||||
|
+ same area reserved for the raw device buffer. This happens after the
|
||||||
|
+ "boot" command is issued so the raw device buffer won't mind. Paging
|
||||||
|
+ can be relocated and reconfigured after the kernel is running.
|
||||||
|
+* Header files have been added to describe the x86_64 elf image structure.
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+THE NITTY GRITTY - KERNEL SIDE
|
||||||
|
+------------------------------
|
||||||
|
+* Parameters passed to the assembly entrypoint are unchanged including
|
||||||
|
+ magic number and pointer to multiboot info structure.
|
||||||
|
+* The assembly entrypoint should be designated as ".code64".
|
||||||
|
+* The Global Descriptor Table (GDT) shared by the GRUB and KERNEL sides
|
||||||
|
+ has been expanded to include 3 additional 64-bit ('L' bit set) segments:
|
||||||
|
+ 0x28 (code) and 0x30 (data).
|
||||||
|
+* An updated "multiboot.h" file is provided to reflect the difference in
|
||||||
|
+ "unsigned long" sizes between i386 and x86_64 architectures for use by
|
||||||
|
+ the client kernel.
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+CAVEATS
|
||||||
|
+-------
|
||||||
|
+Possible collisions with existing GRUB patch sets are unknown. Use "darcs"
|
||||||
|
+and worry not.
|
||||||
|
+
|
||||||
|
+ http://abridgegame.org/darcs
|
||||||
|
+
|
||||||
|
+(An intelligent alternative to cvs and greying hair in the distributed
|
||||||
|
+post-mainframe age.)
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+DOCUMENTATION CHANGES
|
||||||
|
+---------------------
|
||||||
|
+This is it. Sorry, stuff to do.
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+APOLOGIES TO GRUB2
|
||||||
|
+------------------
|
||||||
|
+We would have liked to use GRUB2 for this, but needed it today for our
|
||||||
|
+kernel. Of course there is probably no technical reason why this
|
||||||
|
+functionality cannot be in included in GRUB2 at a future time. Thank you
|
||||||
|
+for a way cool bootloader and may all your boots be bogon (and Vogon) free.
|
||||||
|
+
|
||||||
|
+<mcnster@gmail.com>
|
||||||
|
+October 10, 2006
|
||||||
|
diff -Naur grub-0.97.orig/grub/asmstub.c grub-0.97.patched/grub/asmstub.c
|
||||||
|
--- grub-0.97.orig/grub/asmstub.c 2005-02-16 13:45:14.000000000 -0700
|
||||||
|
+++ grub-0.97.patched/grub/asmstub.c 2006-08-26 22:43:24.000000000 -0600
|
||||||
|
@@ -313,6 +313,12 @@
|
||||||
|
stop ();
|
||||||
|
}
|
||||||
|
|
||||||
|
+void
|
||||||
|
+multi_boot_64bit_doit (int start, int mb_info)
|
||||||
|
+{
|
||||||
|
+ stop ();
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
/* sets it to linear or wired A20 operation */
|
||||||
|
void
|
||||||
|
gateA20 (int linear)
|
||||||
|
diff -Naur grub-0.97.orig/stage2/asm.S grub-0.97.patched/stage2/asm.S
|
||||||
|
--- grub-0.97.orig/stage2/asm.S 2004-06-19 10:55:22.000000000 -0600
|
||||||
|
+++ grub-0.97.patched/stage2/asm.S 2006-09-25 14:59:48.000000000 -0600
|
||||||
|
@@ -1809,6 +1809,54 @@
|
||||||
|
/* error */
|
||||||
|
call EXT_C(stop)
|
||||||
|
|
||||||
|
+ENTRY(multi_boot_64bit_doit)
|
||||||
|
+ call EXT_C(stop_floppy)
|
||||||
|
+
|
||||||
|
+ /* dont squash these! */
|
||||||
|
+ movl 0x8(%esp), %esi
|
||||||
|
+ movl 0x4(%esp), %edi
|
||||||
|
+
|
||||||
|
+ cli
|
||||||
|
+
|
||||||
|
+ mov %cr0, %eax
|
||||||
|
+ and $0x7fffffff, %eax
|
||||||
|
+ mov %eax, %cr0
|
||||||
|
+
|
||||||
|
+ /* enable pae */
|
||||||
|
+ mov %cr4, %eax
|
||||||
|
+ or $0x20, %eax
|
||||||
|
+ mov %eax, %cr4
|
||||||
|
+
|
||||||
|
+ /* load cr3 with pml4 */
|
||||||
|
+ mov $PML4, %eax
|
||||||
|
+ mov %eax, %cr3
|
||||||
|
+
|
||||||
|
+ /* trigger long mode */
|
||||||
|
+ mov $0xc0000080, %ecx
|
||||||
|
+ rdmsr
|
||||||
|
+ or $0x100, %eax
|
||||||
|
+ wrmsr
|
||||||
|
+
|
||||||
|
+ /* enable paging to actually switch modes */
|
||||||
|
+ mov %cr0, %eax
|
||||||
|
+ or $0x80000000, %eax
|
||||||
|
+ mov %eax, %cr0
|
||||||
|
+
|
||||||
|
+ /* jump to relocation, flush prefetch queue, and reload %cs */
|
||||||
|
+ ljmp $0x28, $longmode
|
||||||
|
+.code64
|
||||||
|
+longmode:
|
||||||
|
+ mov $0x2BADB002, %eax
|
||||||
|
+
|
||||||
|
+ mov %rsi, %rbx
|
||||||
|
+ and $0xffffffff, %rsi
|
||||||
|
+
|
||||||
|
+ and $0xffffffff, %rdi
|
||||||
|
+ call *%rdi
|
||||||
|
+ /* NOTREACHED */
|
||||||
|
+ call EXT_C(stop)
|
||||||
|
+
|
||||||
|
+.code32
|
||||||
|
#endif /* ! STAGE1_5 */
|
||||||
|
|
||||||
|
/*
|
||||||
|
@@ -2341,27 +2389,35 @@
|
||||||
|
|
||||||
|
.p2align 2 /* force 4-byte alignment */
|
||||||
|
gdt:
|
||||||
|
- .word 0, 0
|
||||||
|
+ .word 0, 0 /* 0x0000 */
|
||||||
|
.byte 0, 0, 0, 0
|
||||||
|
|
||||||
|
- /* code segment */
|
||||||
|
+ /* code segment */ /* 0x0008 */
|
||||||
|
.word 0xFFFF, 0
|
||||||
|
.byte 0, 0x9A, 0xCF, 0
|
||||||
|
|
||||||
|
- /* data segment */
|
||||||
|
+ /* data segment */ /* 0x0010 */
|
||||||
|
.word 0xFFFF, 0
|
||||||
|
.byte 0, 0x92, 0xCF, 0
|
||||||
|
|
||||||
|
- /* 16 bit real mode CS */
|
||||||
|
+ /* 16 bit real mode CS */ /* 0x0018 */
|
||||||
|
.word 0xFFFF, 0
|
||||||
|
.byte 0, 0x9E, 0, 0
|
||||||
|
|
||||||
|
- /* 16 bit real mode DS */
|
||||||
|
+ /* 16 bit real mode DS/SS */ /* 0x0020 */
|
||||||
|
.word 0xFFFF, 0
|
||||||
|
.byte 0, 0x92, 0, 0
|
||||||
|
|
||||||
|
+ /* 64 bit long mode CS */ /* 0x0028 */
|
||||||
|
+ .word 0xFFFF, 0
|
||||||
|
+ .byte 0, 0x9A, 0xAF, 0
|
||||||
|
+
|
||||||
|
+ /* 64-bit long mode SS */ /* 0x0030 */
|
||||||
|
+ .word 0xFFFF, 0
|
||||||
|
+ .byte 0, 0x92, 0xAF, 0
|
||||||
|
|
||||||
|
/* this is the GDT descriptor */
|
||||||
|
gdtdesc:
|
||||||
|
- .word 0x27 /* limit */
|
||||||
|
+ .word 0x33 /* limit */
|
||||||
|
.long gdt /* addr */
|
||||||
|
+ .long 0 /* in case we go to 64-bit mode */
|
||||||
|
diff -Naur grub-0.97.orig/stage2/boot.c grub-0.97.patched/stage2/boot.c
|
||||||
|
--- grub-0.97.orig/stage2/boot.c 2004-03-30 04:44:08.000000000 -0700
|
||||||
|
+++ grub-0.97.patched/stage2/boot.c 2006-08-25 22:20:17.000000000 -0600
|
||||||
|
@@ -23,10 +23,11 @@
|
||||||
|
|
||||||
|
#include "freebsd.h"
|
||||||
|
#include "imgact_aout.h"
|
||||||
|
-#include "i386-elf.h"
|
||||||
|
+#include "elf.h"
|
||||||
|
|
||||||
|
static int cur_addr;
|
||||||
|
entry_func entry_addr;
|
||||||
|
+unsigned long_64bit_mode = 0;
|
||||||
|
static struct mod_list mll[99];
|
||||||
|
static int linux_mem_size;
|
||||||
|
|
||||||
|
@@ -50,7 +51,7 @@
|
||||||
|
{
|
||||||
|
struct multiboot_header *mb;
|
||||||
|
struct exec *aout;
|
||||||
|
- Elf32_Ehdr *elf;
|
||||||
|
+ Elf_Ehdr *elf;
|
||||||
|
}
|
||||||
|
pu;
|
||||||
|
/* presuming that MULTIBOOT_SEARCH is large enough to encompass an
|
||||||
|
@@ -100,21 +101,25 @@
|
||||||
|
|| pu.elf->e_ident[EI_OSABI] == ELFOSABI_FREEBSD
|
||||||
|
|| grub_strcmp (pu.elf->e_ident + EI_BRAND, "FreeBSD") == 0
|
||||||
|
|| suggested_type == KERNEL_TYPE_NETBSD)
|
||||||
|
- && len > sizeof (Elf32_Ehdr)
|
||||||
|
- && BOOTABLE_I386_ELF ((*((Elf32_Ehdr *) buffer))))
|
||||||
|
+ && len > SIZEOF_ELF_EHDR (pu.elf)
|
||||||
|
+ && (BOOTABLE_I386_ELF ((*((Elf32_Ehdr *) buffer)))
|
||||||
|
+ || BOOTABLE_X86_64_ELF ((*((Elf64_Ehdr *) buffer)))))
|
||||||
|
{
|
||||||
|
+ if (BOOTABLE_X86_64_ELF ((*((Elf64_Ehdr *) buffer))))
|
||||||
|
+ long_64bit_mode = 1;
|
||||||
|
+
|
||||||
|
if (type == KERNEL_TYPE_MULTIBOOT)
|
||||||
|
- entry_addr = (entry_func) pu.elf->e_entry;
|
||||||
|
+ entry_addr = (entry_func) E_ENTRY (pu.elf);
|
||||||
|
else
|
||||||
|
- entry_addr = (entry_func) (pu.elf->e_entry & 0xFFFFFF);
|
||||||
|
+ entry_addr = (entry_func) (E_ENTRY (pu.elf) & 0xFFFFFF);
|
||||||
|
|
||||||
|
if (entry_addr < (entry_func) 0x100000)
|
||||||
|
errnum = ERR_BELOW_1MB;
|
||||||
|
|
||||||
|
/* don't want to deal with ELF program header at some random
|
||||||
|
place in the file -- this generally won't happen */
|
||||||
|
- if (pu.elf->e_phoff == 0 || pu.elf->e_phnum == 0
|
||||||
|
- || ((pu.elf->e_phoff + (pu.elf->e_phentsize * pu.elf->e_phnum))
|
||||||
|
+ if (E_PHOFF (pu.elf) == 0 || E_PHNUM (pu.elf) == 0
|
||||||
|
+ || ((E_PHOFF (pu.elf) + (E_PHENTSIZE (pu.elf) * E_PHNUM (pu.elf)))
|
||||||
|
>= len))
|
||||||
|
errnum = ERR_EXEC_FORMAT;
|
||||||
|
str = "elf";
|
||||||
|
@@ -590,39 +595,38 @@
|
||||||
|
/* ELF executable */
|
||||||
|
{
|
||||||
|
unsigned loaded = 0, memaddr, memsiz, filesiz;
|
||||||
|
- Elf32_Phdr *phdr;
|
||||||
|
+ Elf_Phdr *phdr;
|
||||||
|
|
||||||
|
/* reset this to zero for now */
|
||||||
|
cur_addr = 0;
|
||||||
|
|
||||||
|
/* scan for program segments */
|
||||||
|
- for (i = 0; i < pu.elf->e_phnum; i++)
|
||||||
|
+ for (i = 0; i < E_PHNUM (pu.elf); i++)
|
||||||
|
{
|
||||||
|
- phdr = (Elf32_Phdr *)
|
||||||
|
- (pu.elf->e_phoff + ((int) buffer)
|
||||||
|
- + (pu.elf->e_phentsize * i));
|
||||||
|
- if (phdr->p_type == PT_LOAD)
|
||||||
|
+ phdr = (Elf_Phdr *) (E_PHOFF (pu.elf) + ((int) buffer)
|
||||||
|
+ + (E_PHENTSIZE (pu.elf) * i));
|
||||||
|
+ if (P_TYPE (pu.elf, phdr) == PT_LOAD)
|
||||||
|
{
|
||||||
|
/* offset into file */
|
||||||
|
- grub_seek (phdr->p_offset);
|
||||||
|
- filesiz = phdr->p_filesz;
|
||||||
|
+ grub_seek (P_OFFSET (pu.elf, phdr));
|
||||||
|
+ filesiz = P_FILESZ (pu.elf, phdr);
|
||||||
|
|
||||||
|
if (type == KERNEL_TYPE_FREEBSD || type == KERNEL_TYPE_NETBSD)
|
||||||
|
- memaddr = RAW_ADDR (phdr->p_paddr & 0xFFFFFF);
|
||||||
|
+ memaddr = RAW_ADDR (P_PADDR (pu.elf, phdr) & 0xFFFFFF);
|
||||||
|
else
|
||||||
|
- memaddr = RAW_ADDR (phdr->p_paddr);
|
||||||
|
+ memaddr = RAW_ADDR (P_PADDR (pu.elf, phdr));
|
||||||
|
|
||||||
|
- memsiz = phdr->p_memsz;
|
||||||
|
+ memsiz = P_MEMSZ (pu.elf, phdr);
|
||||||
|
if (memaddr < RAW_ADDR (0x100000))
|
||||||
|
errnum = ERR_BELOW_1MB;
|
||||||
|
|
||||||
|
/* If the memory range contains the entry address, get the
|
||||||
|
physical address here. */
|
||||||
|
if (type == KERNEL_TYPE_MULTIBOOT
|
||||||
|
- && (unsigned) entry_addr >= phdr->p_vaddr
|
||||||
|
- && (unsigned) entry_addr < phdr->p_vaddr + memsiz)
|
||||||
|
+ && (unsigned) entry_addr >= P_VADDR (pu.elf, phdr)
|
||||||
|
+ && (unsigned) entry_addr < P_VADDR (pu.elf, phdr) + memsiz)
|
||||||
|
real_entry_addr = (entry_func) ((unsigned) entry_addr
|
||||||
|
- + memaddr - phdr->p_vaddr);
|
||||||
|
+ + memaddr - P_VADDR (pu.elf, phdr));
|
||||||
|
|
||||||
|
/* make sure we only load what we're supposed to! */
|
||||||
|
if (filesiz > memsiz)
|
||||||
|
@@ -654,26 +658,26 @@
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Load ELF symbols. */
|
||||||
|
- Elf32_Shdr *shdr = NULL;
|
||||||
|
+ Elf_Shdr *shdr = NULL;
|
||||||
|
int tab_size, sec_size;
|
||||||
|
int symtab_err = 0;
|
||||||
|
|
||||||
|
- mbi.syms.e.num = pu.elf->e_shnum;
|
||||||
|
- mbi.syms.e.size = pu.elf->e_shentsize;
|
||||||
|
- mbi.syms.e.shndx = pu.elf->e_shstrndx;
|
||||||
|
+ mbi.syms.e.num = E_SHNUM (pu.elf);
|
||||||
|
+ mbi.syms.e.size = E_SHENTSIZE (pu.elf);
|
||||||
|
+ mbi.syms.e.shndx = E_SHSTRNDX (pu.elf);
|
||||||
|
|
||||||
|
/* We should align to a 4K boundary here for good measure. */
|
||||||
|
if (align_4k)
|
||||||
|
cur_addr = (cur_addr + 0xFFF) & 0xFFFFF000;
|
||||||
|
|
||||||
|
- tab_size = pu.elf->e_shentsize * pu.elf->e_shnum;
|
||||||
|
+ tab_size = E_SHENTSIZE (pu.elf) * E_SHNUM (pu.elf);
|
||||||
|
|
||||||
|
- grub_seek (pu.elf->e_shoff);
|
||||||
|
+ grub_seek (E_SHOFF (pu.elf));
|
||||||
|
if (grub_read ((char *) RAW_ADDR (cur_addr), tab_size)
|
||||||
|
== tab_size)
|
||||||
|
{
|
||||||
|
mbi.syms.e.addr = cur_addr;
|
||||||
|
- shdr = (Elf32_Shdr *) mbi.syms.e.addr;
|
||||||
|
+ shdr = (Elf_Shdr *) mbi.syms.e.addr;
|
||||||
|
cur_addr += tab_size;
|
||||||
|
|
||||||
|
printf (", shtab=0x%x", cur_addr);
|
||||||
|
@@ -682,20 +686,20 @@
|
||||||
|
{
|
||||||
|
/* This section is a loaded section,
|
||||||
|
so we don't care. */
|
||||||
|
- if (shdr[i].sh_addr != 0)
|
||||||
|
+ if (SH_ADDR_AT (pu.elf, shdr, i) != 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* This section is empty, so we don't care. */
|
||||||
|
- if (shdr[i].sh_size == 0)
|
||||||
|
+ if (SH_SIZE_AT (pu.elf, shdr, i) == 0)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
/* Align the section to a sh_addralign bits boundary. */
|
||||||
|
- cur_addr = ((cur_addr + shdr[i].sh_addralign) &
|
||||||
|
- - (int) shdr[i].sh_addralign);
|
||||||
|
+ cur_addr = ((cur_addr + SH_ADDRALIGN_AT (pu.elf, shdr, i)) &
|
||||||
|
+ - (int) SH_ADDRALIGN_AT (pu.elf, shdr, i));
|
||||||
|
|
||||||
|
- grub_seek (shdr[i].sh_offset);
|
||||||
|
+ grub_seek (SH_OFFSET_AT (pu.elf, shdr, i));
|
||||||
|
|
||||||
|
- sec_size = shdr[i].sh_size;
|
||||||
|
+ sec_size = SH_SIZE_AT (pu.elf, shdr, i);
|
||||||
|
|
||||||
|
if (! (memcheck (cur_addr, sec_size)
|
||||||
|
&& (grub_read ((char *) RAW_ADDR (cur_addr),
|
||||||
|
@@ -706,7 +710,7 @@
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
- shdr[i].sh_addr = cur_addr;
|
||||||
|
+ SET_SH_ADDR_AT (pu.elf, shdr, i, cur_addr);
|
||||||
|
cur_addr += sec_size;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
diff -Naur grub-0.97.orig/stage2/builtins.c grub-0.97.patched/stage2/builtins.c
|
||||||
|
--- grub-0.97.orig/stage2/builtins.c 2005-02-15 14:58:23.000000000 -0700
|
||||||
|
+++ grub-0.97.patched/stage2/builtins.c 2006-09-25 14:59:16.000000000 -0600
|
||||||
|
@@ -81,6 +81,7 @@
|
||||||
|
/* Prototypes for allowing straightfoward calling of builtins functions
|
||||||
|
inside other functions. */
|
||||||
|
static int configfile_func (char *arg, int flags);
|
||||||
|
+static void multi_boot_64bit (int entry_addr, int mbi);
|
||||||
|
|
||||||
|
/* Initialize the data for builtins. */
|
||||||
|
void
|
||||||
|
@@ -297,8 +298,11 @@
|
||||||
|
break;
|
||||||
|
|
||||||
|
case KERNEL_TYPE_MULTIBOOT:
|
||||||
|
- /* Multiboot */
|
||||||
|
- multi_boot ((int) entry_addr, (int) &mbi);
|
||||||
|
+
|
||||||
|
+ if (long_64bit_mode)
|
||||||
|
+ multi_boot_64bit((int) entry_addr, (int) &mbi);
|
||||||
|
+ else
|
||||||
|
+ multi_boot ((int) entry_addr, (int) &mbi);
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
@@ -309,6 +313,73 @@
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+#define TABLE_BITS 0x7 /* user, r/w, present */
|
||||||
|
+#define PAGE_BITS 0x87 /* not pat, not global, not dirty, not accessed, user, r/w, present */
|
||||||
|
+
|
||||||
|
+#define NOT_PRESENT_TABLE 0x6
|
||||||
|
+#define NOT_PRESENT_PAGE 0x86
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+static void
|
||||||
|
+multi_boot_64bit (int entry_addr, int mbi)
|
||||||
|
+{
|
||||||
|
+ unsigned *pml4 = PML4;
|
||||||
|
+ unsigned *pdpt0x000 = PDPT0x000;
|
||||||
|
+ unsigned *pd0x000_000 = PD0x000_000;
|
||||||
|
+ unsigned *pd0x000_001 = PD0x000_001;
|
||||||
|
+ unsigned *pd0x000_002 = PD0x000_002;
|
||||||
|
+ unsigned *pd0x000_003 = PD0x000_003;
|
||||||
|
+ int i;
|
||||||
|
+ unsigned long base;
|
||||||
|
+
|
||||||
|
+ /* identity map 1st 4 GB */
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < 512; i++)
|
||||||
|
+ {
|
||||||
|
+ pml4[i * 2 + 0] = NOT_PRESENT_TABLE;
|
||||||
|
+ pml4[i * 2 + 1] = 0;
|
||||||
|
+
|
||||||
|
+ pdpt0x000[i * 2 + 0] = NOT_PRESENT_TABLE;
|
||||||
|
+ pdpt0x000[i * 2 + 1] = 0;
|
||||||
|
+
|
||||||
|
+ pd0x000_000[i * 2 + 0] = NOT_PRESENT_PAGE;
|
||||||
|
+ pd0x000_000[i * 2 + 1] = 0;
|
||||||
|
+ pd0x000_001[i * 2 + 0] = NOT_PRESENT_PAGE;
|
||||||
|
+ pd0x000_001[i * 2 + 1] = 0;
|
||||||
|
+ pd0x000_002[i * 2 + 0] = NOT_PRESENT_PAGE;
|
||||||
|
+ pd0x000_002[i * 2 + 1] = 0;
|
||||||
|
+ pd0x000_003[i * 2 + 0] = NOT_PRESENT_PAGE;
|
||||||
|
+ pd0x000_003[i * 2 + 1] = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ pml4[0x000 * 2 + 0] = PDPT0x000 + TABLE_BITS;
|
||||||
|
+ pml4[0x000 * 2 + 1] = 0;
|
||||||
|
+
|
||||||
|
+ pdpt0x000[0x000 * 2 + 0] = PD0x000_000 + TABLE_BITS;
|
||||||
|
+ pdpt0x000[0x000 * 2 + 1] = 0;
|
||||||
|
+ pdpt0x000[0x001 * 2 + 0] = PD0x000_001 + TABLE_BITS;
|
||||||
|
+ pdpt0x000[0x001 * 2 + 1] = 0;
|
||||||
|
+ pdpt0x000[0x002 * 2 + 0] = PD0x000_002 + TABLE_BITS;
|
||||||
|
+ pdpt0x000[0x002 * 2 + 1] = 0;
|
||||||
|
+ pdpt0x000[0x003 * 2 + 0] = PD0x000_003 + TABLE_BITS;
|
||||||
|
+ pdpt0x000[0x003 * 2 + 1] = 0;
|
||||||
|
+
|
||||||
|
+ for (i = 0, base = 0; i < 1005; i++, base += 0x200000)
|
||||||
|
+ {
|
||||||
|
+ pd0x000_000[i * 2 + 0] = base + PAGE_BITS;
|
||||||
|
+ pd0x000_000[i * 2 + 1] = 0;
|
||||||
|
+ pd0x000_001[i * 2 + 0] = base + (1 * 0x200 * 0x20000) + PAGE_BITS;
|
||||||
|
+ pd0x000_001[i * 2 + 1] = 0;
|
||||||
|
+ pd0x000_002[i * 2 + 0] = base + (2 * 0x200 * 0x20000) + PAGE_BITS;
|
||||||
|
+ pd0x000_002[i * 2 + 1] = 0;
|
||||||
|
+ pd0x000_003[i * 2 + 0] = base + (3 * 0x200 * 0x20000) + PAGE_BITS;
|
||||||
|
+ pd0x000_003[i * 2 + 1] = 0;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ multi_boot_64bit_doit (entry_addr, mbi);
|
||||||
|
+ /* NOTREACHED */
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static struct builtin builtin_boot =
|
||||||
|
{
|
||||||
|
"boot",
|
||||||
|
diff -Naur grub-0.97.orig/stage2/elf.h grub-0.97.patched/stage2/elf.h
|
||||||
|
--- grub-0.97.orig/stage2/elf.h 1969-12-31 17:00:00.000000000 -0700
|
||||||
|
+++ grub-0.97.patched/stage2/elf.h 2006-08-25 21:58:37.000000000 -0600
|
||||||
|
@@ -0,0 +1,79 @@
|
||||||
|
+/*
|
||||||
|
+ * GRUB -- GRand Unified Bootloader
|
||||||
|
+ * Copyright (C) 2001,2002,2006 Free Software Foundation, Inc.
|
||||||
|
+ *
|
||||||
|
+ * This program is free software; you can redistribute it and/or modify
|
||||||
|
+ * it under the terms of the GNU General Public License as published by
|
||||||
|
+ * the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+ * (at your option) any later version.
|
||||||
|
+ *
|
||||||
|
+ * This program is distributed in the hope that it will be useful,
|
||||||
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+ * GNU General Public License for more details.
|
||||||
|
+ *
|
||||||
|
+ * You should have received a copy of the GNU General Public License
|
||||||
|
+ * along with this program; if not, write to the Free Software
|
||||||
|
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#include "i386-elf.h"
|
||||||
|
+#include "x86-64-elf.h"
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef union
|
||||||
|
+{
|
||||||
|
+ unsigned char e_ident[EI_NIDENT];
|
||||||
|
+ Elf32_Ehdr elf32;
|
||||||
|
+ Elf64_Ehdr elf64;
|
||||||
|
+}
|
||||||
|
+Elf_Ehdr;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef union
|
||||||
|
+{
|
||||||
|
+ Elf32_Phdr elf32;
|
||||||
|
+ Elf64_Phdr elf64;
|
||||||
|
+}
|
||||||
|
+Elf_Phdr;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef union
|
||||||
|
+{
|
||||||
|
+ Elf32_Shdr elf32;
|
||||||
|
+ Elf64_Shdr elf64;
|
||||||
|
+}
|
||||||
|
+Elf_Shdr;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+#define SIZEOF_ELF_EHDR(h) (h->e_ident[EI_CLASS] == ELFCLASS32 ? sizeof (Elf32_Ehdr) : sizeof (Elf64_Ehdr))
|
||||||
|
+
|
||||||
|
+#define E_ENTRY(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_entry : h->elf64.e_entry))
|
||||||
|
+#define E_PHOFF(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_phoff : h->elf64.e_phoff))
|
||||||
|
+#define E_PHNUM(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_phnum : h->elf64.e_phnum))
|
||||||
|
+#define E_PHENTSIZE(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_phentsize : h->elf64.e_phentsize))
|
||||||
|
+#define E_SHNUM(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_shnum : h->elf64.e_shnum))
|
||||||
|
+#define E_SHENTSIZE(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_shentsize : h->elf64.e_shentsize))
|
||||||
|
+#define E_SHSTRNDX(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_shstrndx : h->elf64.e_shstrndx))
|
||||||
|
+#define E_SHOFF(h) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? h->elf32.e_shoff : h->elf64.e_shoff))
|
||||||
|
+
|
||||||
|
+#define P_TYPE(h, p) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? p->elf32.p_type : p->elf64.p_type))
|
||||||
|
+#define P_OFFSET(h, p) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? p->elf32.p_offset : p->elf64.p_offset))
|
||||||
|
+#define P_PADDR(h, p) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? p->elf32.p_paddr : p->elf64.p_paddr))
|
||||||
|
+#define P_MEMSZ(h, p) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? p->elf32.p_memsz : p->elf64.p_memsz))
|
||||||
|
+#define P_VADDR(h, p) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? p->elf32.p_vaddr : p->elf64.p_vaddr))
|
||||||
|
+#define P_FILESZ(h, p) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? p->elf32.p_filesz : p->elf64.p_filesz))
|
||||||
|
+
|
||||||
|
+#define SH_ADDR_AT(h, sh, i) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? ((&(sh->elf32))[i]).sh_addr : ((&(sh->elf64))[i]).sh_addr))
|
||||||
|
+#define SH_SIZE_AT(h, sh, i) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? ((&(sh->elf32))[i]).sh_size : ((&(sh->elf64))[i]).sh_size))
|
||||||
|
+#define SH_ADDRALIGN_AT(h, sh, i) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? ((&(sh->elf32))[i]).sh_addralign : ((&(sh->elf64))[i]).sh_addralign))
|
||||||
|
+#define SH_OFFSET_AT(h, sh, i) ((unsigned) (h->e_ident[EI_CLASS] == ELFCLASS32 ? ((&(sh->elf32))[i]).sh_offset : ((&(sh->elf64))[i]).sh_offset))
|
||||||
|
+
|
||||||
|
+#define SET_SH_ADDR_AT(h, sh, i, v) \
|
||||||
|
+ { \
|
||||||
|
+ if (h->e_ident[EI_CLASS] == ELFCLASS32) \
|
||||||
|
+ ((&(sh->elf32))[i]).sh_addr = v; \
|
||||||
|
+ else \
|
||||||
|
+ ((&(sh->elf64))[i]).sh_addr = v; \
|
||||||
|
+ }
|
||||||
|
diff -Naur grub-0.97.orig/stage2/shared.h grub-0.97.patched/stage2/shared.h
|
||||||
|
--- grub-0.97.orig/stage2/shared.h 2004-06-19 10:40:09.000000000 -0600
|
||||||
|
+++ grub-0.97.patched/stage2/shared.h 2006-09-25 14:54:53.000000000 -0600
|
||||||
|
@@ -70,6 +70,13 @@
|
||||||
|
|
||||||
|
#define BOOT_PART_TABLE RAW_ADDR (0x07be)
|
||||||
|
|
||||||
|
+#define PML4 0x70000
|
||||||
|
+#define PDPT0x000 0x71000
|
||||||
|
+#define PD0x000_000 0x72000
|
||||||
|
+#define PD0x000_001 0x73000
|
||||||
|
+#define PD0x000_002 0x74000
|
||||||
|
+#define PD0x000_003 0x75000
|
||||||
|
+
|
||||||
|
/*
|
||||||
|
* BIOS disk defines
|
||||||
|
*/
|
||||||
|
@@ -692,6 +699,8 @@
|
||||||
|
|
||||||
|
extern entry_func entry_addr;
|
||||||
|
|
||||||
|
+extern unsigned long_64bit_mode;
|
||||||
|
+
|
||||||
|
/* Enter the stage1.5/stage2 C code after the stack is set up. */
|
||||||
|
void cmain (void);
|
||||||
|
|
||||||
|
@@ -739,6 +748,9 @@
|
||||||
|
/* booting a multiboot executable */
|
||||||
|
void multi_boot (int start, int mb_info) __attribute__ ((noreturn));
|
||||||
|
|
||||||
|
+/* boot into 64-bit long mode */
|
||||||
|
+void multi_boot_64bit_doit (int start, int mb_info) __attribute__ ((noreturn));
|
||||||
|
+
|
||||||
|
/* If LINEAR is nonzero, then set the Intel processor to linear mode.
|
||||||
|
Otherwise, bit 20 of all memory accesses is always forced to zero,
|
||||||
|
causing a wraparound effect for bugwards compatibility with the
|
||||||
|
diff -Naur grub-0.97.orig/stage2/x86-64-elf.h grub-0.97.patched/stage2/x86-64-elf.h
|
||||||
|
--- grub-0.97.orig/stage2/x86-64-elf.h 1969-12-31 17:00:00.000000000 -0700
|
||||||
|
+++ grub-0.97.patched/stage2/x86-64-elf.h 2006-08-26 21:45:22.000000000 -0600
|
||||||
|
@@ -0,0 +1,86 @@
|
||||||
|
+/*
|
||||||
|
+ * GRUB -- GRand Unified Bootloader
|
||||||
|
+ * Copyright (C) 2001,2002,2006 Free Software Foundation, Inc.
|
||||||
|
+ *
|
||||||
|
+ * This program is free software; you can redistribute it and/or modify
|
||||||
|
+ * it under the terms of the GNU General Public License as published by
|
||||||
|
+ * the Free Software Foundation; either version 2 of the License, or
|
||||||
|
+ * (at your option) any later version.
|
||||||
|
+ *
|
||||||
|
+ * This program is distributed in the hope that it will be useful,
|
||||||
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
+ * GNU General Public License for more details.
|
||||||
|
+ *
|
||||||
|
+ * You should have received a copy of the GNU General Public License
|
||||||
|
+ * along with this program; if not, write to the Free Software
|
||||||
|
+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef unsigned short Elf64_Half;
|
||||||
|
+typedef unsigned long Elf64_Word;
|
||||||
|
+typedef unsigned long long Elf64_Off;
|
||||||
|
+typedef unsigned long long Elf64_Addr;
|
||||||
|
+typedef unsigned long long Elf64_Xword;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef struct
|
||||||
|
+{
|
||||||
|
+ unsigned char e_ident[EI_NIDENT]; /* basic identification block */
|
||||||
|
+ Elf64_Half e_type; /* file types */
|
||||||
|
+ Elf64_Half e_machine; /* machine types */
|
||||||
|
+ Elf64_Word e_version; /* use same as "EI_VERSION" above */
|
||||||
|
+ Elf64_Addr e_entry; /* entry point of the program */
|
||||||
|
+ Elf64_Off e_phoff; /* program header table file offset */
|
||||||
|
+ Elf64_Off e_shoff; /* section header table file offset */
|
||||||
|
+ Elf64_Word e_flags; /* flags */
|
||||||
|
+ Elf64_Half e_ehsize; /* elf header size in bytes */
|
||||||
|
+ Elf64_Half e_phentsize; /* program header entry size */
|
||||||
|
+ Elf64_Half e_phnum; /* number of entries in program header */
|
||||||
|
+ Elf64_Half e_shentsize; /* section header entry size */
|
||||||
|
+ Elf64_Half e_shnum; /* number of entries in section header */
|
||||||
|
+ Elf64_Half e_shstrndx; /* section header table index */
|
||||||
|
+}
|
||||||
|
+Elf64_Ehdr;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef struct
|
||||||
|
+{
|
||||||
|
+ Elf64_Word p_type;
|
||||||
|
+ Elf64_Word p_flags;
|
||||||
|
+ Elf64_Off p_offset;
|
||||||
|
+ Elf64_Addr p_vaddr;
|
||||||
|
+ Elf64_Addr p_paddr;
|
||||||
|
+ Elf64_Xword p_filesz;
|
||||||
|
+ Elf64_Xword p_memsz;
|
||||||
|
+ Elf64_Xword p_align;
|
||||||
|
+}
|
||||||
|
+Elf64_Phdr;
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+typedef struct
|
||||||
|
+{
|
||||||
|
+ Elf64_Word sh_name; /* Section name (string tbl index) */
|
||||||
|
+ Elf64_Word sh_type; /* Section type */
|
||||||
|
+ Elf64_Xword sh_flags; /* Section flags */
|
||||||
|
+ Elf64_Addr sh_addr; /* Section virtual addr at execution */
|
||||||
|
+ Elf64_Off sh_offset; /* Section file offset */
|
||||||
|
+ Elf64_Xword sh_size; /* Section size in bytes */
|
||||||
|
+ Elf64_Word sh_link; /* Link to another section */
|
||||||
|
+ Elf64_Word sh_info; /* Additional section information */
|
||||||
|
+ Elf64_Xword sh_addralign; /* Section alignment */
|
||||||
|
+ Elf64_Xword sh_entsize; /* Entry size if section holds table */
|
||||||
|
+}
|
||||||
|
+Elf64_Shdr;
|
||||||
|
+
|
||||||
|
+#define ELFCLASS64 2
|
||||||
|
+
|
||||||
|
+#define EM_X86_64 0x3e
|
||||||
|
+
|
||||||
|
+#define BOOTABLE_X86_64_ELF(h) \
|
||||||
|
+ ((h.e_ident[EI_MAG0] == ELFMAG0) & (h.e_ident[EI_MAG1] == ELFMAG1) \
|
||||||
|
+ & (h.e_ident[EI_MAG2] == ELFMAG2) & (h.e_ident[EI_MAG3] == ELFMAG3) \
|
||||||
|
+ & (h.e_ident[EI_CLASS] == ELFCLASS64) & (h.e_ident[EI_DATA] == ELFDATA2LSB) \
|
||||||
|
+ & (h.e_ident[EI_VERSION] == EV_CURRENT) & (h.e_type == ET_EXEC) \
|
||||||
|
+ & (h.e_machine == EM_X86_64) & (h.e_version == EV_CURRENT))
|
121
extra/source/grub/grub.SlackBuild
Executable file
121
extra/source/grub/grub.SlackBuild
Executable file
|
@ -0,0 +1,121 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
VERSION=0.97
|
||||||
|
GCVER=1.28
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=7
|
||||||
|
|
||||||
|
NUMJOBS=${NUMJOBS:-" -j7 "}
|
||||||
|
|
||||||
|
if [ "$ARCH" = "i486" ]; then
|
||||||
|
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
elif [ "$ARCH" = "s390" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
elif [ "$ARCH" = "x86_64" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-grub
|
||||||
|
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG $TMP
|
||||||
|
cd $TMP
|
||||||
|
rm -rf grub-$VERSION
|
||||||
|
tar xvf $CWD/grub-$VERSION.tar.gz || exit 1
|
||||||
|
cd grub-$VERSION || exit 1
|
||||||
|
|
||||||
|
# This is needed for the optional (but now default) increase in
|
||||||
|
# inode size from 128 to 256 bytes with ext2 and ext3:
|
||||||
|
zcat $CWD/grub_support_256byte_inode.patch.gz | patch -p1 --verbose || exit 1
|
||||||
|
|
||||||
|
zcat $CWD/grub-0.97-x86_64.patch.gz | patch -p1 || exit 1
|
||||||
|
|
||||||
|
chown -R root:root .
|
||||||
|
find . \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--infodir=/usr/info \
|
||||||
|
--mandir=/usr/man
|
||||||
|
|
||||||
|
make $NUMJOBS || make || exit 1
|
||||||
|
make install DESTDIR=$PKG || exit 1
|
||||||
|
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
||||||
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
# Compress and if needed symlink the man pages:
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
( cd $PKG/usr/man
|
||||||
|
for manpagedir in $(find . -type d -name "man*") ; do
|
||||||
|
( cd $manpagedir
|
||||||
|
for eachpage in $( find . -type l -maxdepth 1) ; do
|
||||||
|
ln -s $( readlink $eachpage ).gz $eachpage.gz
|
||||||
|
rm $eachpage
|
||||||
|
done
|
||||||
|
gzip -9 *.?
|
||||||
|
)
|
||||||
|
done
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compress info pages and purge "dir" file from the package:
|
||||||
|
if [ -d $PKG/usr/info ]; then
|
||||||
|
( cd $PKG/usr/info
|
||||||
|
rm -f dir
|
||||||
|
gzip -9 *
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $PKG/usr/doc/grub-$VERSION
|
||||||
|
cp -a \
|
||||||
|
AUTHORS BUGS COPYING INSTALL MAINTENANCE NEWS README THANKS TODO \
|
||||||
|
$PKG/usr/doc/grub-$VERSION
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
# Add Kent's grubconfig tool:
|
||||||
|
cd $TMP
|
||||||
|
rm -rf grubconfig-$GCVER
|
||||||
|
tar xf $CWD/grubconfig-${GCVER}.tar.gz || exit 1
|
||||||
|
cd grubconfig-$GCVER || exit 1
|
||||||
|
zcat $CWD/grubconfig_localefix.patch.gz | patch || exit 1
|
||||||
|
chown -R root:root .
|
||||||
|
chmod 644 README
|
||||||
|
chmod 755 grubconfig
|
||||||
|
mkdir -p $PKG/usr/doc/grubconfig-${GCVER}
|
||||||
|
cp -a README $PKG/usr/doc/grubconfig-${GCVER}
|
||||||
|
cp -a grubconfig $PKG/usr/sbin/grubconfig
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/grub-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
94
extra/source/grub/grub_support_256byte_inode.patch
Normal file
94
extra/source/grub/grub_support_256byte_inode.patch
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
diff -Nrup a/stage2/fsys_ext2fs.c b/stage2/fsys_ext2fs.c
|
||||||
|
--- a/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200
|
||||||
|
+++ b/stage2/fsys_ext2fs.c 2008-01-30 14:27:20.000000000 +0100
|
||||||
|
@@ -79,7 +79,52 @@ struct ext2_super_block
|
||||||
|
__u32 s_rev_level; /* Revision level */
|
||||||
|
__u16 s_def_resuid; /* Default uid for reserved blocks */
|
||||||
|
__u16 s_def_resgid; /* Default gid for reserved blocks */
|
||||||
|
- __u32 s_reserved[235]; /* Padding to the end of the block */
|
||||||
|
+ /*
|
||||||
|
+ * These fields are for EXT2_DYNAMIC_REV superblocks only.
|
||||||
|
+ *
|
||||||
|
+ * Note: the difference between the compatible feature set and
|
||||||
|
+ * the incompatible feature set is that if there is a bit set
|
||||||
|
+ * in the incompatible feature set that the kernel doesn't
|
||||||
|
+ * know about, it should refuse to mount the filesystem.
|
||||||
|
+ *
|
||||||
|
+ * e2fsck's requirements are more strict; if it doesn't know
|
||||||
|
+ * about a feature in either the compatible or incompatible
|
||||||
|
+ * feature set, it must abort and not try to meddle with
|
||||||
|
+ * things it doesn't understand...
|
||||||
|
+ */
|
||||||
|
+ __u32 s_first_ino; /* First non-reserved inode */
|
||||||
|
+ __u16 s_inode_size; /* size of inode structure */
|
||||||
|
+ __u16 s_block_group_nr; /* block group # of this superblock */
|
||||||
|
+ __u32 s_feature_compat; /* compatible feature set */
|
||||||
|
+ __u32 s_feature_incompat; /* incompatible feature set */
|
||||||
|
+ __u32 s_feature_ro_compat; /* readonly-compatible feature set */
|
||||||
|
+ __u8 s_uuid[16]; /* 128-bit uuid for volume */
|
||||||
|
+ char s_volume_name[16]; /* volume name */
|
||||||
|
+ char s_last_mounted[64]; /* directory where last mounted */
|
||||||
|
+ __u32 s_algorithm_usage_bitmap; /* For compression */
|
||||||
|
+ /*
|
||||||
|
+ * Performance hints. Directory preallocation should only
|
||||||
|
+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on.
|
||||||
|
+ */
|
||||||
|
+ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/
|
||||||
|
+ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */
|
||||||
|
+ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */
|
||||||
|
+ /*
|
||||||
|
+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set.
|
||||||
|
+ */
|
||||||
|
+ __u8 s_journal_uuid[16]; /* uuid of journal superblock */
|
||||||
|
+ __u32 s_journal_inum; /* inode number of journal file */
|
||||||
|
+ __u32 s_journal_dev; /* device number of journal file */
|
||||||
|
+ __u32 s_last_orphan; /* start of list of inodes to delete */
|
||||||
|
+ __u32 s_hash_seed[4]; /* HTREE hash seed */
|
||||||
|
+ __u8 s_def_hash_version; /* Default hash version to use */
|
||||||
|
+ __u8 s_jnl_backup_type; /* Default type of journal backup */
|
||||||
|
+ __u16 s_reserved_word_pad;
|
||||||
|
+ __u32 s_default_mount_opts;
|
||||||
|
+ __u32 s_first_meta_bg; /* First metablock group */
|
||||||
|
+ __u32 s_mkfs_time; /* When the filesystem was created */
|
||||||
|
+ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */
|
||||||
|
+ __u32 s_reserved[172]; /* Padding to the end of the block */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ext2_group_desc
|
||||||
|
@@ -218,6 +263,9 @@ struct ext2_dir_entry
|
||||||
|
#define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32))
|
||||||
|
#define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s)))
|
||||||
|
|
||||||
|
+#define EXT2_INODE_SIZE(s) (SUPERBLOCK->s_inode_size)
|
||||||
|
+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s))
|
||||||
|
+
|
||||||
|
/* linux/ext2_fs.h */
|
||||||
|
#define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10)
|
||||||
|
/* kind of from ext2/super.c */
|
||||||
|
@@ -553,7 +601,7 @@ ext2fs_dir (char *dirname)
|
||||||
|
gdp = GROUP_DESC;
|
||||||
|
ino_blk = gdp[desc].bg_inode_table +
|
||||||
|
(((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group))
|
||||||
|
- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)));
|
||||||
|
+ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK)));
|
||||||
|
#ifdef E2DEBUG
|
||||||
|
printf ("inode table fsblock=%d\n", ino_blk);
|
||||||
|
#endif /* E2DEBUG */
|
||||||
|
@@ -565,13 +613,12 @@ ext2fs_dir (char *dirname)
|
||||||
|
/* reset indirect blocks! */
|
||||||
|
mapblock2 = mapblock1 = -1;
|
||||||
|
|
||||||
|
- raw_inode = INODE +
|
||||||
|
- ((current_ino - 1)
|
||||||
|
- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1));
|
||||||
|
+ raw_inode = (struct ext2_inode *)((char *)INODE +
|
||||||
|
+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) *
|
||||||
|
+ EXT2_INODE_SIZE (SUPERBLOCK));
|
||||||
|
#ifdef E2DEBUG
|
||||||
|
printf ("ipb=%d, sizeof(inode)=%d\n",
|
||||||
|
- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)),
|
||||||
|
- sizeof (struct ext2_inode));
|
||||||
|
+ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK));
|
||||||
|
printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode);
|
||||||
|
printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE);
|
||||||
|
for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode;
|
32
extra/source/grub/grubconfig_localefix.patch
Normal file
32
extra/source/grub/grubconfig_localefix.patch
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
--- /usr/sbin/grubconfig 2006-03-24 09:28:41.000000000 +0100
|
||||||
|
+++ _developpement/debug/grubconfig 2007-05-12 16:51:57.000000000 +0200
|
||||||
|
@@ -53,6 +53,10 @@
|
||||||
|
rm -rf $TMP $BOOT_TMP
|
||||||
|
mkdir -p $TMP $BOOT_TMP
|
||||||
|
|
||||||
|
+# We need to ensure the output is in english in order to match the devices
|
||||||
|
+# with fdisk.
|
||||||
|
+export LC_ALL=C
|
||||||
|
+
|
||||||
|
PATH=$PATH:/bin:/usr/bin:/sbin:/usr/sbin
|
||||||
|
|
||||||
|
# Menu to check if we want to use VESA framebuffer support:
|
||||||
|
@@ -475,7 +479,8 @@
|
||||||
|
chmod 644 $BOOT/grub/$grub_config
|
||||||
|
message=yes
|
||||||
|
installcolor;
|
||||||
|
- umount $BOOT_TMP 2>$TMP/null && rmdir $BOOT_TMP
|
||||||
|
+ umount $BOOT_TMP 2> $TMP/null
|
||||||
|
+ rmdir $BOOT_TMP 2> $TMP/null
|
||||||
|
rm -rf $TMP
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1004,8 +1009,6 @@
|
||||||
|
KILL=NO
|
||||||
|
fi
|
||||||
|
simplegrub
|
||||||
|
- umount $BOOT_TMP 2>$TMP/null
|
||||||
|
- rm -rf $TMP $BOOT_TMP
|
||||||
|
chroot_umount
|
||||||
|
exit
|
||||||
|
fi
|
19
extra/source/grub/slack-desc
Normal file
19
extra/source/grub/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
grub: grub (GNU GRUB Legacy bootloader)
|
||||||
|
grub:
|
||||||
|
grub: This is the legacy (0.9x) version of GNU GRUB, the GRand Unified
|
||||||
|
grub: Bootloader. GRUB is an alternative to other familiar bootloaders
|
||||||
|
grub: such as LILO. Unlike LILO, it loads a kernel through direct file-
|
||||||
|
grub: system support rather than a block list so it does not need to be
|
||||||
|
grub: updated if a new kernel is installed.
|
||||||
|
grub:
|
||||||
|
grub: Also included is Kent Robotti's 'grubconfig' tool (similar to the
|
||||||
|
grub: Slackware 'liloconfig' setup tool).
|
||||||
|
grub:
|
74
extra/source/jdk-6/COPYRIGHT
Normal file
74
extra/source/jdk-6/COPYRIGHT
Normal file
|
@ -0,0 +1,74 @@
|
||||||
|
Copyright © 2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||||
|
California 95054, U.S.A. All rights reserved.
|
||||||
|
|
||||||
|
Sun Microsystems, Inc. has intellectual property rights relating to
|
||||||
|
technology embodied in the product that is described in this document.
|
||||||
|
In particular, and without limitation, these intellectual property
|
||||||
|
rights may include one or more of the U.S. patents listed at
|
||||||
|
http://www.sun.com/patents and one or more additional patents or pending
|
||||||
|
patent applications in the U.S. and in other countries.
|
||||||
|
|
||||||
|
THIS PRODUCT CONTAINS CONFIDENTIAL INFORMATION AND TRADE SECRETS OF SUN
|
||||||
|
MICROSYSTEMS, INC. USE, DISCLOSURE OR REPRODUCTION IS PROHIBITED
|
||||||
|
WITHOUT THE PRIOR EXPRESS WRITTEN PERMISSION OF SUN MICROSYSTEMS, INC.
|
||||||
|
|
||||||
|
U.S. Government Rights - Commercial software. Government users are
|
||||||
|
subject to the Sun Microsystems, Inc. standard license agreement and
|
||||||
|
applicable provisions of the FAR and its supplements.
|
||||||
|
|
||||||
|
Use is subject to license terms.
|
||||||
|
|
||||||
|
This distribution may include materials developed by third parties.
|
||||||
|
|
||||||
|
Sun, Sun Microsystems, the Sun logo, Java and Java SE are trademarks or
|
||||||
|
registered trademarks of Sun Microsystems, Inc. in the U.S. and other
|
||||||
|
countries.
|
||||||
|
|
||||||
|
This product is covered and controlled by U.S. Export Control laws and
|
||||||
|
may be subject to the export or import laws in other countries.
|
||||||
|
Nuclear, missile, chemical biological weapons or nuclear maritime end
|
||||||
|
uses or end users, whether direct or indirect, are strictly prohibited.
|
||||||
|
Export or reexport to countries subject to U.S. embargo or to entities
|
||||||
|
identified on U.S. export exclusion lists, including, but not limited
|
||||||
|
to, the denied persons and specially designated nationals lists is
|
||||||
|
strictly prohibited.
|
||||||
|
|
||||||
|
Copyright © 2009 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
|
||||||
|
California 95054, Etats-Unis. Tous droits rservs.
|
||||||
|
|
||||||
|
Sun Microsystems, Inc. dtient les droits de proprit intellectuele
|
||||||
|
relatifs la technologie incorpore dans le produit qui est dcrit dans ce
|
||||||
|
document. En particulier, et ce sans limitation, ces droits de proprit
|
||||||
|
intellectuelle peuvent inclure un ou plusieurs des brevets amricains
|
||||||
|
lists l'adresse suivante: http://www.sun.com/patents et un ou
|
||||||
|
plusieures de brevet en attente aux Etats - Unis et dans les autres
|
||||||
|
pays.
|
||||||
|
|
||||||
|
CE PRODUIT CONTIENT DES INFORMATIONS CONFIDENTIELLES ET DES SECRETS
|
||||||
|
COMMERCIAUX DE SUN MICROSYSTEMS, INC. SON UTILISATION, SA DIVULGATION
|
||||||
|
ET SA REPRODUCTION SONT INTERDITES SANS L AUTORISATION EXPRESSE, ECRITE
|
||||||
|
ET PREALABLE DE SUN MICROSYSTEMS, INC.
|
||||||
|
|
||||||
|
L'utilisation est soumise aux termes du contract de licence.
|
||||||
|
|
||||||
|
Cette distributions peut inclure des elements dvelopps par des tiers.
|
||||||
|
|
||||||
|
Sun, Sun Microsystems, le logo Sun, Java et Java SE sont des marques de
|
||||||
|
fabrique ou des marques dposes de Sun Microsystems, Inc. aux Etats-Unis
|
||||||
|
et dans d'autres pays.
|
||||||
|
|
||||||
|
Ce produit est soumis la lgislation amricaine en matire de contrle des
|
||||||
|
exportations et peut tre soumis la rglementation en vigueur dans
|
||||||
|
d'autres pays dans le domaine des exportations et importations. Les
|
||||||
|
utilisations finales, ou utilisateurs finaux, pour des armes
|
||||||
|
nuclaires,des missiles, des armes biologiques et chimiques ou du
|
||||||
|
nuclaire maritime, directement ou indirectement, sont strictement
|
||||||
|
interdites. Les exportations ou rexportations vers les pays sous
|
||||||
|
embargo amricain, ou vers des entits figurant sur les listes d'exclusion
|
||||||
|
d'exportation des produits ou des services qui sont regis parla
|
||||||
|
legislation amricaines, y compris, mais de manire non exhaustive, la
|
||||||
|
liste de personnes qui font objet d'un ordre de ne pas participer, d'une
|
||||||
|
faon directe ou indirecte, aux exportations des produits ou des services
|
||||||
|
qui sont rgis par la lgislation amricaine sur le contrle des
|
||||||
|
exportations et la liste de ressortissants spcifiquement dsigns, sont
|
||||||
|
rigoureusement interdites.
|
9
extra/source/jdk-6/HOWTO-BUILD-TXZ
Normal file
9
extra/source/jdk-6/HOWTO-BUILD-TXZ
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
1. Download the file jdk-6u14-linux-i586.bin from
|
||||||
|
java.sun.com and put it in the directory.
|
||||||
|
|
||||||
|
2. Run jdk.SlackBuild to package it as an installable
|
||||||
|
.txz package.
|
||||||
|
|
||||||
|
Newer (or older) versions may be packaged by editing the
|
||||||
|
version number in jdk.SlackBuild first.
|
||||||
|
|
345
extra/source/jdk-6/LICENSE
Normal file
345
extra/source/jdk-6/LICENSE
Normal file
|
@ -0,0 +1,345 @@
|
||||||
|
Sun Microsystems, Inc. Binary Code License Agreement
|
||||||
|
|
||||||
|
for the JAVA SE DEVELOPMENT KIT (JDK), VERSION 6
|
||||||
|
|
||||||
|
SUN MICROSYSTEMS, INC. ("SUN") IS WILLING TO LICENSE THE
|
||||||
|
SOFTWARE IDENTIFIED BELOW TO YOU ONLY UPON THE CONDITION
|
||||||
|
THAT YOU ACCEPT ALL OF THE TERMS CONTAINED IN THIS BINARY
|
||||||
|
CODE LICENSE AGREEMENT AND SUPPLEMENTAL LICENSE TERMS
|
||||||
|
(COLLECTIVELY "AGREEMENT"). PLEASE READ THE AGREEMENT
|
||||||
|
CAREFULLY. BY USING THE SOFTWARE YOU ACKNOWLEDGE THAT
|
||||||
|
YOU HAVE READ THE TERMS AND AGREE TO THEM. IF YOU ARE
|
||||||
|
AGREEING TO THESE TERMS ON BEHALF OF A COMPANY OR OTHER
|
||||||
|
LEGAL ENTITY, YOU REPRESENT THAT YOU HAVE THE LEGAL
|
||||||
|
AUTHORITY TO BIND THE LEGAL ENTITY TO THESE TERMS. IF
|
||||||
|
YOU DO NOT HAVE SUCH AUTHORITY, OR IF YOU DO NOT WISH
|
||||||
|
TO BE BOUND BY THE TERMS, THEN YOU MUST NOT USE THE
|
||||||
|
SOFTWARE ON THIS SITE OR ANY OTHER MEDIA ON WHICH THE
|
||||||
|
SOFTWARE IS CONTAINED.
|
||||||
|
|
||||||
|
1. DEFINITIONS. "Software" means the identified above in
|
||||||
|
binary form, any other machine readable materials
|
||||||
|
(including, but not limited to, libraries, source files,
|
||||||
|
header files, and data files), any updates or error
|
||||||
|
corrections provided by Sun, and any user manuals,
|
||||||
|
programming guides and other documentation provided to you
|
||||||
|
by Sun under this Agreement. "General Purpose Desktop
|
||||||
|
Computers and Servers" means computers, including desktop
|
||||||
|
and laptop computers, or servers, used for general
|
||||||
|
computing functions under end user control (such as but not
|
||||||
|
specifically limited to email, general purpose Internet
|
||||||
|
browsing, and office suite productivity tools).
|
||||||
|
The use of Software in systems and solutions that provide
|
||||||
|
dedicated functionality (other than as mentioned above) or
|
||||||
|
designed for use in embedded or function-specific software
|
||||||
|
applications, for example but not limited to: Software
|
||||||
|
embedded in or bundled with industrial control systems,
|
||||||
|
wireless mobile telephones, wireless handheld devices,
|
||||||
|
netbooks, kiosks, TV/STB, Blu-ray Disc devices, telematics
|
||||||
|
and network control switching equipment, printers and
|
||||||
|
storage management systems, and other related systems are
|
||||||
|
excluded from this definition and not licensed under this
|
||||||
|
Agreement. "Programs" means Java technology applets and
|
||||||
|
applications intended to run on the Java Platform Standard
|
||||||
|
Edition (Java SE) platform on Java-enabled General Purpose
|
||||||
|
Desktop Computers and Servers.
|
||||||
|
|
||||||
|
2. LICENSE TO USE. Subject to the terms and conditions of
|
||||||
|
this Agreement, including, but not limited to the Java
|
||||||
|
Technology Restrictions of the Supplemental License Terms,
|
||||||
|
Sun grants you a non-exclusive, non-transferable, limited
|
||||||
|
license without license fees to reproduce and use
|
||||||
|
internally Software complete and unmodified for the sole
|
||||||
|
purpose of running Programs. Additional licenses for
|
||||||
|
developers and/or publishers are granted in the
|
||||||
|
Supplemental License Terms.
|
||||||
|
|
||||||
|
3. RESTRICTIONS. Software is confidential and copyrighted.
|
||||||
|
Title to Software and all associated intellectual property
|
||||||
|
rights is retained by Sun and/or its licensors. Unless
|
||||||
|
enforcement is prohibited by applicable law, you may not
|
||||||
|
modify, decompile, or reverse engineer Software. You
|
||||||
|
acknowledge that Licensed Software is not designed or
|
||||||
|
intended for use in the design, construction, operation or
|
||||||
|
maintenance of any nuclear facility. Sun Microsystems, Inc.
|
||||||
|
disclaims any express or implied warranty of fitness for
|
||||||
|
such uses. No right, title or interest in or to any
|
||||||
|
trademark, service mark, logo or trade name of Sun or its
|
||||||
|
licensors is granted under this Agreement. Additional
|
||||||
|
restrictions for developers and/or publishers licenses are
|
||||||
|
set forth in the Supplemental License Terms.
|
||||||
|
|
||||||
|
4. LIMITED WARRANTY. Sun warrants to you that for a period
|
||||||
|
of ninety (90) days from the date of purchase, as evidenced
|
||||||
|
by a copy of the receipt, the media on which Software is
|
||||||
|
furnished (if any) will be free of defects in materials and
|
||||||
|
workmanship under normal use. Except for the foregoing,
|
||||||
|
Software is provided "AS IS". Your exclusive remedy and
|
||||||
|
Sun's entire liability under this limited warranty will be
|
||||||
|
at Sun's option to replace Software media or refund the fee
|
||||||
|
paid for Software. Any implied warranties on the Software
|
||||||
|
are limited to 90 days. Some states do not allow
|
||||||
|
limitations on duration of an implied warranty, so the
|
||||||
|
above may not apply to you. This limited warranty gives you
|
||||||
|
specific legal rights. You may have others, which vary from
|
||||||
|
state to state.
|
||||||
|
|
||||||
|
5. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN THIS
|
||||||
|
AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
|
||||||
|
REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED
|
||||||
|
WARRANTY OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE OR NON-INFRINGEMENT ARE DISCLAIMED, EXCEPT TO THE
|
||||||
|
EXTENT THAT THESE DISCLAIMERS ARE HELD TO BE LEGALLY
|
||||||
|
INVALID.
|
||||||
|
|
||||||
|
6. LIMITATION OF LIABILITY. TO THE EXTENT NOT PROHIBITED BY
|
||||||
|
LAW, IN NO EVENT WILL SUN OR ITS LICENSORS BE LIABLE FOR
|
||||||
|
ANY LOST REVENUE, PROFIT OR DATA, OR FOR SPECIAL, INDIRECT,
|
||||||
|
CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER
|
||||||
|
CAUSED REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
|
||||||
|
OF OR RELATED TO THE USE OF OR INABILITY TO USE SOFTWARE,
|
||||||
|
EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
|
DAMAGES. In no event will Sun's liability to you, whether
|
||||||
|
in contract, tort (including negligence), or otherwise,
|
||||||
|
exceed the amount paid by you for Software under this
|
||||||
|
Agreement. The foregoing limitations will apply even if the
|
||||||
|
above stated warranty fails of its essential purpose. Some
|
||||||
|
states do not allow the exclusion of incidental or
|
||||||
|
consequential damages, so some of the terms above may not
|
||||||
|
be applicable to you.
|
||||||
|
|
||||||
|
7. TERMINATION. This Agreement is effective until
|
||||||
|
terminated. You may terminate this Agreement at any time by
|
||||||
|
destroying all copies of Software. This Agreement will
|
||||||
|
terminate immediately without notice from Sun if you fail
|
||||||
|
to comply with any provision of this Agreement. Either
|
||||||
|
party may terminate this Agreement immediately should any
|
||||||
|
Software become, or in either party's opinion be likely to
|
||||||
|
become, the subject of a claim of infringement of any
|
||||||
|
intellectual property right. Upon Termination, you must
|
||||||
|
destroy all copies of Software.
|
||||||
|
|
||||||
|
8. EXPORT REGULATIONS. All Software and technical data
|
||||||
|
delivered under this Agreement are subject to US export
|
||||||
|
control laws and may be subject to export or import
|
||||||
|
regulations in other countries. You agree to comply
|
||||||
|
strictly with all such laws and regulations and acknowledge
|
||||||
|
that you have the responsibility to obtain such licenses to
|
||||||
|
export, re-export, or import as may be required after
|
||||||
|
delivery to you.
|
||||||
|
|
||||||
|
9. TRADEMARKS AND LOGOS. You acknowledge and agree as
|
||||||
|
between you and Sun that Sun owns the SUN, SOLARIS, JAVA,
|
||||||
|
JINI, FORTE, and iPLANET trademarks and all SUN, SOLARIS,
|
||||||
|
JAVA, JINI, FORTE, and iPLANET-related trademarks, service
|
||||||
|
marks, logos and other brand designations ("Sun Marks"),
|
||||||
|
and you agree to comply with the Sun Trademark and Logo
|
||||||
|
Usage Requirements currently located at
|
||||||
|
http://www.sun.com/policies/trademarks. Any use you make of
|
||||||
|
the Sun Marks inures to Sun's benefit.
|
||||||
|
|
||||||
|
10. U.S. GOVERNMENT RESTRICTED RIGHTS. If Software is being
|
||||||
|
acquired by or on behalf of the U.S. Government or by a
|
||||||
|
U.S. Government prime contractor or subcontractor (at any
|
||||||
|
tier), then the Government's rights in Software and
|
||||||
|
accompanying documentation will be only as set forth in
|
||||||
|
this Agreement; this is in accordance with 48 CFR 227.7201
|
||||||
|
through 227.7202-4 (for Department of Defense (DOD)
|
||||||
|
acquisitions) and with 48 CFR 2.101 and 12.212 (for non-DOD
|
||||||
|
acquisitions).
|
||||||
|
|
||||||
|
11. GOVERNING LAW. Any action related to this Agreement
|
||||||
|
will be governed by California law and controlling U.S.
|
||||||
|
federal law. No choice of law rules of any jurisdiction
|
||||||
|
will apply.
|
||||||
|
|
||||||
|
12. SEVERABILITY. If any provision of this Agreement is
|
||||||
|
held to be unenforceable, this Agreement will remain in
|
||||||
|
effect with the provision omitted, unless omission would
|
||||||
|
frustrate the intent of the parties, in which case this
|
||||||
|
Agreement will immediately terminate.
|
||||||
|
|
||||||
|
13. INTEGRATION. This Agreement is the entire agreement
|
||||||
|
between you and Sun relating to its subject matter. It
|
||||||
|
supersedes all prior or contemporaneous oral or written
|
||||||
|
communications, proposals, representations and warranties
|
||||||
|
and prevails over any conflicting or additional terms of
|
||||||
|
any quote, order, acknowledgment, or other communication
|
||||||
|
between the parties relating to its subject matter during
|
||||||
|
the term of this Agreement. No modification of this
|
||||||
|
Agreement will be binding, unless in writing and signed by
|
||||||
|
an authorized representative of each party.
|
||||||
|
|
||||||
|
SUPPLEMENTAL LICENSE TERMS
|
||||||
|
|
||||||
|
These Supplemental License Terms add to or modify the terms
|
||||||
|
of the Binary Code License Agreement. Capitalized terms not
|
||||||
|
defined in these Supplemental Terms shall have the same
|
||||||
|
meanings ascribed to them in the Binary Code License
|
||||||
|
Agreement . These Supplemental Terms shall supersede any
|
||||||
|
inconsistent or conflicting terms in the Binary Code
|
||||||
|
License Agreement, or in any license contained within the
|
||||||
|
Software.
|
||||||
|
|
||||||
|
A. Software Internal Use and Development License Grant.
|
||||||
|
Subject to the terms and conditions of this Agreement and
|
||||||
|
restrictions and exceptions set forth in the Software
|
||||||
|
"README" file incorporated herein by reference, including,
|
||||||
|
but not limited to the Java Technology Restrictions of
|
||||||
|
these Supplemental Terms, Sun grants you a non-exclusive,
|
||||||
|
non-transferable, limited license without fees to reproduce
|
||||||
|
internally and use internally the Software complete and
|
||||||
|
unmodified for the purpose of designing, developing, and
|
||||||
|
testing your Programs.
|
||||||
|
|
||||||
|
B. License to Distribute Software. Subject to the terms and
|
||||||
|
conditions of this Agreement and restrictions and
|
||||||
|
exceptions set forth in the Software README file,
|
||||||
|
including, but not limited to the Java Technology
|
||||||
|
Restrictions of these Supplemental Terms, Sun grants you a
|
||||||
|
non-exclusive, non-transferable, limited license without
|
||||||
|
fees to reproduce and distribute the Software, provided
|
||||||
|
that (i) you distribute the Software complete and
|
||||||
|
unmodified and only bundled as part of, and for the sole
|
||||||
|
purpose of running, your Programs, (ii) the Programs add
|
||||||
|
significant and primary functionality to the Software,
|
||||||
|
(iii) you do not distribute additional software intended to
|
||||||
|
replace any component(s) of the Software, (iv) you do not
|
||||||
|
remove or alter any proprietary legends or notices
|
||||||
|
contained in the Software, (v) you only distribute the
|
||||||
|
Software subject to a license agreement that protects Sun's
|
||||||
|
interests consistent with the terms contained in this
|
||||||
|
Agreement, and (vi) you agree to defend and indemnify Sun
|
||||||
|
and its licensors from and against any damages, costs,
|
||||||
|
liabilities, settlement amounts and/or expenses (including
|
||||||
|
attorneys' fees) incurred in connection with any claim,
|
||||||
|
lawsuit or action by any third party that arises or results
|
||||||
|
from the use or distribution of any and all Programs and/or
|
||||||
|
Software.
|
||||||
|
|
||||||
|
C. License to Distribute Redistributables. Subject to the
|
||||||
|
terms and conditions of this Agreement and restrictions and
|
||||||
|
exceptions set forth in the Software README file, including
|
||||||
|
but not limited to the Java Technology Restrictions of
|
||||||
|
these Supplemental Terms, Sun grants you a non-exclusive,
|
||||||
|
non-transferable, limited license without fees to reproduce
|
||||||
|
and distribute those files specifically identified as
|
||||||
|
redistributable in the Software "README" file
|
||||||
|
("Redistributables") provided that: (i) you distribute the
|
||||||
|
Redistributables complete and unmodified, and only bundled
|
||||||
|
as part of Programs, (ii) the Programs add significant and
|
||||||
|
primary functionality to the Redistributables, (iii) you do
|
||||||
|
not distribute additional software intended to supersede
|
||||||
|
any component(s) of the Redistributables (unless otherwise
|
||||||
|
specified in the applicable README file), (iv) you do not
|
||||||
|
remove or alter any proprietary legends or notices
|
||||||
|
contained in or on the Redistributables, (v) you only
|
||||||
|
distribute the Redistributables pursuant to a license
|
||||||
|
agreement that protects Sun's interests consistent with the
|
||||||
|
terms contained in the Agreement, (vi) you agree to defend
|
||||||
|
and indemnify Sun and its licensors from and against any
|
||||||
|
damages, costs, liabilities, settlement amounts and/or
|
||||||
|
expenses (including attorneys' fees) incurred in connection
|
||||||
|
with any claim, lawsuit or action by any third party that
|
||||||
|
arises or results from the use or distribution of any and
|
||||||
|
all Programs and/or Software.
|
||||||
|
|
||||||
|
D. Java Technology Restrictions. You may not create,
|
||||||
|
modify, or change the behavior of, or authorize your
|
||||||
|
licensees to create, modify, or change the behavior of,
|
||||||
|
classes, interfaces, or subpackages that are in any way
|
||||||
|
identified as "java", "javax", "sun" or similar convention
|
||||||
|
as specified by Sun in any naming convention designation.
|
||||||
|
|
||||||
|
E. Distribution by Publishers. This section pertains to
|
||||||
|
your distribution of the Software with your printed book or
|
||||||
|
magazine (as those terms are commonly used in the industry)
|
||||||
|
relating to Java technology ("Publication"). Subject to and
|
||||||
|
conditioned upon your compliance with the restrictions and
|
||||||
|
obligations contained in the Agreement, in addition to the
|
||||||
|
license granted in Paragraph 1 above, Sun hereby grants to
|
||||||
|
you a non-exclusive, nontransferable limited right to
|
||||||
|
reproduce complete and unmodified copies of the Software on
|
||||||
|
electronic media (the "Media") for the sole purpose of
|
||||||
|
inclusion and distribution with your Publication(s),
|
||||||
|
subject to the following terms: (i) You may not distribute
|
||||||
|
the Software on a stand-alone basis; it must be distributed
|
||||||
|
with your Publication(s); (ii) You are responsible for
|
||||||
|
downloading the Software from the applicable Sun web site;
|
||||||
|
(iii) You must refer to the Software as JavaTM SE
|
||||||
|
Development Kit 6; (iv) The Software must be reproduced in
|
||||||
|
its entirety and without any modification whatsoever
|
||||||
|
(including, without limitation, the Binary Code License and
|
||||||
|
Supplemental License Terms accompanying the Software and
|
||||||
|
proprietary rights notices contained in the Software);
|
||||||
|
(v) The Media label shall include the following
|
||||||
|
information: Copyright 2006, Sun Microsystems, Inc. All
|
||||||
|
rights reserved. Use is subject to license terms. Sun, Sun
|
||||||
|
Microsystems, the Sun logo, Solaris, Java, the Java Coffee
|
||||||
|
Cup logo, J2SE, and all trademarks and logos based on Java
|
||||||
|
are trademarks or registered trademarks of Sun
|
||||||
|
Microsystems, Inc. in the U.S. and other countries. This
|
||||||
|
information must be placed on the Media label in such a
|
||||||
|
manner as to only apply to the Sun Software; (vi) You must
|
||||||
|
clearly identify the Software as Sun's product on the Media
|
||||||
|
holder or Media label, and you may not state or imply that
|
||||||
|
Sun is responsible for any third-party software contained
|
||||||
|
on the Media; (vii) You may not include any third party
|
||||||
|
software on the Media which is intended to be a replacement
|
||||||
|
or substitute for the Software; (viii) You shall indemnify
|
||||||
|
Sun for all damages arising from your failure to comply
|
||||||
|
with the requirements of this Agreement. In addition, you
|
||||||
|
shall defend, at your expense, any and all claims brought
|
||||||
|
against Sun by third parties, and shall pay all damages
|
||||||
|
awarded by a court of competent jurisdiction, or such
|
||||||
|
settlement amount negotiated by you, arising out of or in
|
||||||
|
connection with your use, reproduction or distribution of
|
||||||
|
the Software and/or the Publication. Your obligation to
|
||||||
|
provide indemnification under this section shall arise
|
||||||
|
provided that Sun: (a) provides you prompt notice of the
|
||||||
|
claim; (b) gives you sole control of the defense and
|
||||||
|
settlement of the claim; (c) provides you, at your expense,
|
||||||
|
with all available information, assistance and authority to
|
||||||
|
defend; and (d) has not compromised or settled such claim
|
||||||
|
without your prior written consent; and (ix) You shall
|
||||||
|
provide Sun with a written notice for each Publication;
|
||||||
|
such notice shall include the following information: (1)
|
||||||
|
title of Publication, (2) author(s), (3) date of
|
||||||
|
Publication, and (4) ISBN or ISSN numbers. Such notice
|
||||||
|
shall be sent to Sun Microsystems, Inc., 4150 Network
|
||||||
|
Circle, M/S USCA12-110, Santa Clara, California 95054,
|
||||||
|
U.S.A , Attention: Contracts Administration.
|
||||||
|
|
||||||
|
F. Source Code. Software may contain source code that,
|
||||||
|
unless expressly licensed for other purposes, is provided
|
||||||
|
solely for reference purposes pursuant to the terms of this
|
||||||
|
Agreement. Source code may not be redistributed unless
|
||||||
|
expressly provided for in this Agreement.
|
||||||
|
|
||||||
|
G. Third Party Code. Additional copyright notices and
|
||||||
|
license terms applicable to portions of the Software are
|
||||||
|
set forth in the THIRDPARTYLICENSEREADME.txt file. In
|
||||||
|
addition to any terms and conditions of any third party
|
||||||
|
opensource/freeware license identified in the
|
||||||
|
THIRDPARTYLICENSEREADME.txt file, the disclaimer of
|
||||||
|
warranty and limitation of liability provisions in
|
||||||
|
paragraphs 5 and 6 of the Binary Code License Agreement
|
||||||
|
shall apply to all Software in this distribution.
|
||||||
|
|
||||||
|
H. Termination for Infringement. Either party may terminate
|
||||||
|
this Agreement immediately should any Software become, or
|
||||||
|
in either party's opinion be likely to become, the subject
|
||||||
|
of a claim of infringement of any intellectual property
|
||||||
|
right.
|
||||||
|
|
||||||
|
I. Installation and Auto-Update. The Software's
|
||||||
|
installation and auto-update processes transmit a limited
|
||||||
|
amount of data to Sun (or its service provider) about those
|
||||||
|
specific processes to help Sun understand and optimize
|
||||||
|
them. Sun does not associate the data with personally
|
||||||
|
identifiable information. You can find more information
|
||||||
|
about the data Sun collects at http://java.com/data/.
|
||||||
|
|
||||||
|
For inquiries please contact: Sun Microsystems, Inc., 4150
|
||||||
|
Network Circle, Santa Clara, California 95054, U.S.A.
|
||||||
|
|
714
extra/source/jdk-6/README.html
Normal file
714
extra/source/jdk-6/README.html
Normal file
|
@ -0,0 +1,714 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=us-ascii">
|
||||||
|
<meta name="collection" content="reference">
|
||||||
|
|
||||||
|
<title>README -- Java Platform, Standard Edition Development Kit</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body lang="en-US" bgcolor="#FFFFFF">
|
||||||
|
<h1 align="center">README</h1>
|
||||||
|
|
||||||
|
<h2 align="center">Java<sup><font size="-2">TM</font></sup> Platform,
|
||||||
|
Standard Edition 6<br>
|
||||||
|
Development Kit</h2>
|
||||||
|
|
||||||
|
<p align="center"><b>JDK<sup><font size="-2">TM</font></sup> 6</b></p>
|
||||||
|
|
||||||
|
<h2>Contents</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#introduction">Introduction</a></li>
|
||||||
|
|
||||||
|
<li><a href="#install">System Requirements & Installation</a></li>
|
||||||
|
|
||||||
|
<li><a href="#docs">JDK Documentation</a></li>
|
||||||
|
|
||||||
|
<li><a href="#relnotes">Release Notes</a></li>
|
||||||
|
|
||||||
|
<li><a href="#compatibility">Compatibility</a></li>
|
||||||
|
|
||||||
|
<li><a href="#bugs">Bug Reports and Feedback</a></li>
|
||||||
|
|
||||||
|
<li><a href="#contents">Contents of the JDK</a></li>
|
||||||
|
|
||||||
|
<li><a href="#jre">Java Runtime Environment</a></li>
|
||||||
|
|
||||||
|
<li><a href="#redistribution">Redistribution</a></li>
|
||||||
|
|
||||||
|
<li><a href="#endorsed">Java Endorsed Standards Override
|
||||||
|
Mechanism</a></li>
|
||||||
|
|
||||||
|
<li><a href="#javadb">Java DB</a></li>
|
||||||
|
|
||||||
|
<li><a href="#webpages">Web Pages</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="introduction" id="introduction"></a>Introduction</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Thank you for downloading this release of the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Platform, Standard Edition Development Kit
|
||||||
|
(JDK<sup><font size="-2">TM</font></sup>). The JDK is a development
|
||||||
|
environment for building applications, applets, and components using the
|
||||||
|
Java programming language.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The JDK includes tools useful for developing and testing programs written
|
||||||
|
in the Java programming language and running on the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> platform.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="install" id="install"></a>System Requirements &
|
||||||
|
Installation</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
System requirements, installation instructions and troubleshooting tips
|
||||||
|
are located on the Java Software web site at:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href="http://java.sun.com/javase/6/webnotes/install/">JDK 6
|
||||||
|
Installation Instructions</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="docs" id="docs"></a>JDK<sup><font size="-2">TM</font></sup>
|
||||||
|
Documentation</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The on-line <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/">Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Platform, Standard Edition (Java SE)
|
||||||
|
Documentation</a> contains API specifications, feature descriptions,
|
||||||
|
developer guides, reference pages for JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup> tools and utilities, demos, and links to related
|
||||||
|
information. This documentation is also available in a download bundle
|
||||||
|
which you can install on your machine. To obtain the documentation bundle,
|
||||||
|
see the <a href="http://java.sun.com/javase/6/download.jsp">download
|
||||||
|
page</a>. For API documentation, refer to the <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/api/index.html">The
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition API
|
||||||
|
Specification</a> This provides brief descriptions of the API with an
|
||||||
|
emphasis on specifications, not on code examples.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="relnotes" id="relnotes"></a>Release Notes</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
See the <a href="http://java.sun.com/javase/6/webnotes/">Java SE 6 Release
|
||||||
|
Notes</a> on the Java Software web site for additional information
|
||||||
|
pertaining to this release. Please check the on-line release notes
|
||||||
|
occasionally for the latest information as they will be updated as needed.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="compatibility" id="compatibility"></a>Compatibility</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
See <a href=
|
||||||
|
"http://java.sun.com/javase/6/webnotes/compatibility.html">Compatibility
|
||||||
|
with Previous Releases</a> on the Java Software web site for the list of
|
||||||
|
known compatibility issues. Every effort has been made to support programs
|
||||||
|
written for previous versions of the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> platform. Although some incompatible changes were
|
||||||
|
necessary, most software should migrate to the current version with no
|
||||||
|
reprogramming. Any failure to do so is considered a bug, except for a
|
||||||
|
small number of cases where compatibility was deliberately broken, as
|
||||||
|
described on our compatibility web page. Some compatibility-breaking
|
||||||
|
changes were required to close potential security holes or to fix
|
||||||
|
implementation or design bugs.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="bugs" id="bugs"></a>Bug Reports and Feedback</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The <a href="http://bugs.sun.com/bugdatabase/index.jsp">Bug Database</a>
|
||||||
|
web site lets you search for and examine existing bug reports, submit your
|
||||||
|
own bug reports, and tell us which bug fixes matter most to you. To
|
||||||
|
directly submit a bug or request a feature, fill out this form:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href=
|
||||||
|
"http://bugs.sun.com/services/bugreport/index.jsp">http://bugs.sun.com/services/bugreport/index.jsp</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
You can send feedback to the <a href=
|
||||||
|
"http://developers.sun.com/contact/feedback.jsp?&category=docteam">Java SE documentation
|
||||||
|
team</a>. You can also send comments directly to <a href=
|
||||||
|
"http://developers.sun.com/contact/index.jsp">Java Software engineering
|
||||||
|
team email addresses</a>.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<b>Note</b> - Please do not seek technical support through the Bug
|
||||||
|
Database or our development teams. For support options, see <a href=
|
||||||
|
"http://java.sun.com/developer/support/">Support and Services</a> on the
|
||||||
|
Java Software web site.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="contents" id="contents"></a>Contents of the JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup></h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
This section contains a general summary of the files and directories in
|
||||||
|
the JDK<sup><font size="-2">TM</font></sup>. For details on the files and
|
||||||
|
directories, see the <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/tools/index.html#general">JDK
|
||||||
|
File Structure</a> section of the Java SE documentation for your platform.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><b>Development Tools</b></dt>
|
||||||
|
|
||||||
|
<dd>(In the <code>bin/</code> subdirectory) Tools and utilities that
|
||||||
|
will help you develop, execute, debug, and document programs written
|
||||||
|
in the Java<sup><font size="-2">TM</font></sup> programming language.
|
||||||
|
For further information, see the <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/tools/index.html">tool
|
||||||
|
documentation</a>.<br>
|
||||||
|
<br></dd>
|
||||||
|
|
||||||
|
<dt><b>Runtime Environment</b></dt>
|
||||||
|
|
||||||
|
<dd>(In the <code>jre/</code> subdirectory) An implementation of the
|
||||||
|
Java Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) for
|
||||||
|
use by the JDK. The JRE includes a Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Virtual Machine (JVM<sup><font size=
|
||||||
|
"-2">TM</font></sup>), class libraries, and other files that support
|
||||||
|
the execution of programs written in the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> programming language.<br>
|
||||||
|
<br></dd>
|
||||||
|
|
||||||
|
<dt><b>Additional Libraries</b></dt>
|
||||||
|
|
||||||
|
<dd>(In the <code>lib/</code> subdirectory) Additional class libraries
|
||||||
|
and support files required by the development tools.<br>
|
||||||
|
<br></dd>
|
||||||
|
|
||||||
|
<dt><b>Demo Applets and Applications</b></dt>
|
||||||
|
|
||||||
|
<dd>(In the <code>demo/</code> subdirectory) Examples, with source
|
||||||
|
code, of programming for the Java<sup><font size="-2">TM</font></sup>
|
||||||
|
platform. These include examples that use Swing and other
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Foundation Classes, and the
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Platform Debugger
|
||||||
|
Architecture.<br>
|
||||||
|
<br></dd>
|
||||||
|
|
||||||
|
<dt><b>Sample Code</b></dt>
|
||||||
|
|
||||||
|
<dd>(In the <code>sample</code> subdirectory) Samples, with source
|
||||||
|
code, of programming for certain Java API's.<br>
|
||||||
|
<br></dd>
|
||||||
|
|
||||||
|
<dt><b>C header Files</b></dt>
|
||||||
|
|
||||||
|
<dd>(In the <code>include/</code> subdirectory) Header files that
|
||||||
|
support native-code programming using the <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/guides/jni/">Java Native
|
||||||
|
Interface</a>, the <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/guides/jvmti/">JVM<sup><font size="-2">TM</font></sup>
|
||||||
|
Tool Interface</a>, and other functionality of the
|
||||||
|
Java<sup><font size="-2">TM</font></sup> platform.<br>
|
||||||
|
<br></dd>
|
||||||
|
|
||||||
|
<dt><b>Source Code</b></dt>
|
||||||
|
|
||||||
|
<dd>(In <code>src.zip</code>) Java<sup><font size="-2">TM</font></sup>
|
||||||
|
programming language source files for all classes that make up the
|
||||||
|
Java core API (that is, sources files for the java.*, javax.* and
|
||||||
|
some org.* packages, but not for com.sun.* packages). This source code
|
||||||
|
is provided for informational purposes only, to help developers learn
|
||||||
|
and use the Java<sup><font size="-2">TM</font></sup> programming
|
||||||
|
language. These files do not include platform-specific implementation
|
||||||
|
code and cannot be used to rebuild the class libraries. To extract
|
||||||
|
these file, use any common zip utility. Or, you may use the Jar
|
||||||
|
utility in the JDK's <code>bin/</code> directory:<br>
|
||||||
|
<br>
|
||||||
|
<code>jar xvf src.zip</code></dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h2><a name="jre" id="jre"></a>The Java Runtime Environment
|
||||||
|
(JRE<sup><font size="-2">TM</font></sup>)</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The Java<sup><font size="-2">TM</font></sup> Runtime Environment
|
||||||
|
(JRE<sup><font size="-2">TM</font></sup>) is available as a separately
|
||||||
|
downloadable product. See the <a href=
|
||||||
|
"http://java.sun.com/javase/6/download.jsp">download web site</a>.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The JRE allows you to run applications written in the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> programming language. Like the JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup>, it contains the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Virtual Machine (JVM<sup><font size=
|
||||||
|
"-2">TM</font></sup>), classes comprising the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> platform API, and supporting files. Unlike the JDK,
|
||||||
|
it does not contain development tools such as compilers and debuggers.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
You can freely redistribute the JRE with your application, according to
|
||||||
|
the terms of the JRE license. Once you have developed your application
|
||||||
|
using the JDK, you can ship it with the JRE so your end-users will have a
|
||||||
|
Java<sup><font size="-2">TM</font></sup> platform on which to run your
|
||||||
|
software.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="redistribution" id="redistribution"></a>Redistribution</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<blockquote>
|
||||||
|
<hr>
|
||||||
|
NOTE - The license for this software does not allow the redistribution
|
||||||
|
of beta and other pre-release versions.
|
||||||
|
<hr>
|
||||||
|
</blockquote>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Subject to the terms and conditions of the Software License Agreement and
|
||||||
|
the obligations, restrictions, and exceptions set forth below, You may
|
||||||
|
reproduce and distribute the Software (and also portions of Software
|
||||||
|
identified below as Redistributable), provided that:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<ol type="a">
|
||||||
|
<li>you distribute the Software complete and unmodified and only bundled
|
||||||
|
as part of Your applets and applications ("Programs"),</li>
|
||||||
|
|
||||||
|
<li>your Programs add significant and primary functionality to the
|
||||||
|
Software,</li>
|
||||||
|
|
||||||
|
<li>your Programs are only intended to run on Java-enabled general
|
||||||
|
purpose desktop computers and servers,</li>
|
||||||
|
|
||||||
|
<li>you distribute Software for the sole purpose of running your
|
||||||
|
Programs,</li>
|
||||||
|
|
||||||
|
<li>you do not distribute additional software intended to replace any
|
||||||
|
component(s) of the Software,</li>
|
||||||
|
|
||||||
|
<li>you do not remove or alter any proprietary legends or notices
|
||||||
|
contained in or on the Software,</li>
|
||||||
|
|
||||||
|
<li>you only distribute the Software subject to a license agreement that
|
||||||
|
protects Sun's interests consistent with the terms contained in this
|
||||||
|
Agreement, and</li>
|
||||||
|
|
||||||
|
<li>you agree to defend and indemnify Sun and its licensors from and
|
||||||
|
against any damages, costs, liabilities, settlement amounts and/or
|
||||||
|
expenses (including attorneys' fees) incurred in connection with any
|
||||||
|
claim, lawsuit or action by any third party that arises or results from
|
||||||
|
the use or distribution of any and all Programs and/or Software.</li>
|
||||||
|
</ol>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The term "vendors" used here refers to licensees, developers, and
|
||||||
|
independent software vendors (ISVs) who license and distribute the
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Development Kit
|
||||||
|
(JDK<sup><font size="-2">TM</font></sup>) with their programs.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Vendors must follow the terms of the Java Development Kit Binary Code
|
||||||
|
License agreement.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>Required vs. Optional Files</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The files that make up the Java<sup><font size="-2">TM</font></sup>
|
||||||
|
Development Kit (JDK<sup><font size="-2">TM</font></sup>) are divided into
|
||||||
|
two categories: required and optional. Optional files may be excluded from
|
||||||
|
redistributions of the JDK at the vendor's discretion.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The following section contains a list of the files and directories that
|
||||||
|
may optionally be omitted from redistributions of the JDK. All files not
|
||||||
|
in these lists of optional files must be included in redistributions of
|
||||||
|
the JDK.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>Optional Files and Directories</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The following files may be optionally excluded from redistributions. These
|
||||||
|
files are located in the jdk1.6.0_<version> directory, where
|
||||||
|
<version> is the update version number. Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> and Linux filenames and separators are shown. Windows
|
||||||
|
executables have the ".exe" suffix. Corresponding files with
|
||||||
|
<code>_g</code> in the name can also be excluded. The corresponding man
|
||||||
|
pages should be excluded for any excluded executables (with paths listed
|
||||||
|
below beginning with <code>bin/</code>, for the Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System and Linux).
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><code>jre/lib/charsets.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>Character conversion classes</dd>
|
||||||
|
|
||||||
|
<dt><code>jre/lib/ext/</code></dt>
|
||||||
|
|
||||||
|
<dd><code>sunjce_provider.jar</code> - the SunJCE provider for Java
|
||||||
|
Cryptography APIs<br>
|
||||||
|
<code>localedata.jar</code> - contains many of the resources needed
|
||||||
|
for non US English locales<br>
|
||||||
|
<code>ldapsec.jar</code> - contains security features supported by the
|
||||||
|
LDAP service provider<br>
|
||||||
|
<code>dnsns.jar</code> - for the InetAddress wrapper of JNDI DNS
|
||||||
|
provider</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/rmid</code> and <code>jre/bin/rmid</code></dt>
|
||||||
|
|
||||||
|
<dd>Java RMI Activation System Daemon</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/rmiregistry</code> and
|
||||||
|
<code>jre/bin/rmiregistry</code></dt>
|
||||||
|
|
||||||
|
<dd>Java Remote Object Registry</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/tnameserv</code> and <code>jre/bin/tnameserv</code></dt>
|
||||||
|
|
||||||
|
<dd>Java IDL Name Server</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/keytool</code> and <code>jre/bin/keytool</code></dt>
|
||||||
|
|
||||||
|
<dd>Key and Certificate Management Tool</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/kinit</code> and <code>jre/bin/kinit</code></dt>
|
||||||
|
|
||||||
|
<dd>Used to obtain and cache Kerberos ticket-granting tickets</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/klist</code> and <code>jre/bin/klist</code></dt>
|
||||||
|
|
||||||
|
<dd>Kerberos display entries in credentials cache and keytab</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/ktab</code> and <code>jre/bin/ktab</code></dt>
|
||||||
|
|
||||||
|
<dd>Kerberos key table manager</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/policytool</code> and
|
||||||
|
<code>jre/bin/policytool</code></dt>
|
||||||
|
|
||||||
|
<dd>Policy File Creation and Management Tool</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/orbd</code> and <code>jre/bin/orbd</code></dt>
|
||||||
|
|
||||||
|
<dd>Object Request Broker Daemon</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/servertool</code> and
|
||||||
|
<code>jre/bin/servertool</code></dt>
|
||||||
|
|
||||||
|
<dd>Java IDL Server Tool</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/javaws</code>, <code>jre/bin/javaws</code>,
|
||||||
|
<code>jre/lib/javaws/</code> and <code>jre/lib/javaws.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>Java Web Start</dd>
|
||||||
|
|
||||||
|
<dt><code>db/</code></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
Java DB, Sun Microsystems's distribution of the Apache Derby
|
||||||
|
database (only with file based distributions of the JDK).
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt><code>demo/</code></dt>
|
||||||
|
|
||||||
|
<dd>Demo Applets and Applications</dd>
|
||||||
|
|
||||||
|
<dt><code>sample/</code></dt>
|
||||||
|
|
||||||
|
<dd>Sample Code</dd>
|
||||||
|
|
||||||
|
<dt><code>src.zip</code></dt>
|
||||||
|
|
||||||
|
<dd>Archive of source files</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3><a name="redistributablejdkfiles" id=
|
||||||
|
"redistributablejdkfiles"></a>Redistributable JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup> Files</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The limited set of files and directories from the JDK listed below may be
|
||||||
|
included in vendor redistributions of the Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Runtime Environment (JRE<sup><font size=
|
||||||
|
"-2">TM</font></sup>). They cannot be redistributed separately, and must
|
||||||
|
accompany an identically versioned JRE distribution. All paths are
|
||||||
|
relative to the top-level directory of the JDK. The corresponding man
|
||||||
|
pages should be included for any included executables (with paths listed
|
||||||
|
below beginning with <code>bin/</code>, for the Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System and Linux).
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><code>jre/lib/cmm/PYCC.pf</code></dt>
|
||||||
|
|
||||||
|
<dd>Color profile. This file is required only if one wishes to convert
|
||||||
|
between the PYCC color space and another color space.</dd>
|
||||||
|
|
||||||
|
<dt>All <code>.ttf</code> font files in the
|
||||||
|
<code>jre/lib/fonts/</code> directory.</dt>
|
||||||
|
|
||||||
|
<dd>Note that the LucidaSansRegular.ttf font is already contained in
|
||||||
|
the JRE, so there is no need to bring that file over from the
|
||||||
|
JDK.</dd>
|
||||||
|
|
||||||
|
<dt><code>jre/lib/audio/soundbank.gm</code></dt>
|
||||||
|
|
||||||
|
<dd>This MIDI soundbank is present in the JDK, but it has been removed
|
||||||
|
from the JRE in order to reduce the size of the JRE download bundle.
|
||||||
|
However, a soundbank file is necessary for MIDI playback, and
|
||||||
|
therefore the JDK's <code>soundbank.gm</code> file may be included in
|
||||||
|
redistributions of the JRE at the vendor's discretion. Several
|
||||||
|
versions of enhanced MIDI soundbanks are available from the Java Sound
|
||||||
|
web site: <a href=
|
||||||
|
"http://java.sun.com/products/java-media/sound/">http://java.sun.com/products/java-media/sound/</a>.
|
||||||
|
These alternative soundbanks may be included in redistributions of the
|
||||||
|
JRE.</dd>
|
||||||
|
|
||||||
|
<dt>The javac bytecode compiler, consisting of the following
|
||||||
|
files:</dt>
|
||||||
|
|
||||||
|
<dd><code>bin/javac</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System and Linux]<br>
|
||||||
|
<code>bin/sparcv9/javac</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition)]<br>
|
||||||
|
<code>bin/amd64/javac</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (AMD)]<br>
|
||||||
|
<code>bin/javac.exe</code> [Microsoft Windows]<br>
|
||||||
|
<code>lib/tools.jar</code> [All platforms]</dd>
|
||||||
|
|
||||||
|
<dt>The Annotation Processing Tool, consisting of the following
|
||||||
|
files:</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [All platforms]<br>
|
||||||
|
<code>bin/apt</code> [Solaris<sup><font size="-2">TM</font></sup>
|
||||||
|
Operating System and Linux]<br>
|
||||||
|
<code>bin/sparcv9/apt</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition)]<br>
|
||||||
|
<code>bin/amd64/apt</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (AMD)]<br>
|
||||||
|
<code>bin/apt.exe</code> [Microsoft Windows]</dd>
|
||||||
|
|
||||||
|
<dt><code>lib/jconsole.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>The Jconsole application. NOTE: The Jconsole application requires
|
||||||
|
the dynamic attach mechanism.</dd>
|
||||||
|
|
||||||
|
<dt>The dynamic attach mechanism consisting of the following
|
||||||
|
files:</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [All platforms]<br>
|
||||||
|
<code>jre/lib/sparc/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
|
||||||
|
Linux]<br>
|
||||||
|
<code>jre/lib/sparcv9/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
|
||||||
|
Linux]<br>
|
||||||
|
<code>jre/lib/i386/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (x86) and Linux]<br>
|
||||||
|
<code>jre/lib/amd64/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (AMD) and Linux]<br>
|
||||||
|
<code>jre\bin\attach.dll</code> [Microsoft Windows]<br></dd>
|
||||||
|
|
||||||
|
<dt>The Java Platform Debugger Architecture implementation consisting
|
||||||
|
of the files shown in the dynamic attach section above, and the
|
||||||
|
following files:</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [All platforms]<br>
|
||||||
|
<code>lib/sa-jdi.jar</code> [All platforms]<br>
|
||||||
|
<code>jre/lib/sparc/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
|
||||||
|
Linux]<br>
|
||||||
|
<code>jre/lib/sparcv9/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (SPARC(R) Platform Edition) and
|
||||||
|
Linux]<br>
|
||||||
|
<code>jre/lib/i386/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (x86) and Linux]<br>
|
||||||
|
<code>jre/lib/amd64/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> Operating System (AMD) and Linux]<br></dd>
|
||||||
|
|
||||||
|
<dt><code>jre\bin\server\</code></dt>
|
||||||
|
|
||||||
|
<dd>On Microsoft Windows platforms, the JDK includes both the Java
|
||||||
|
HotSpot<sup><font size="-2">TM</font></sup> Server VM and Java
|
||||||
|
HotSpot<sup><font size="-2">TM</font></sup> Client VM. However, the
|
||||||
|
JRE for Microsoft Windows platforms includes only the Java
|
||||||
|
HotSpot<sup><font size="-2">TM</font></sup> Client VM. Those wishing
|
||||||
|
to use the Java HotSpot<sup><font size="-2">TM</font></sup> Server VM
|
||||||
|
with the JRE may copy the JDK's <code>jre\bin\server</code> folder to
|
||||||
|
a <code>bin\server</code> directory in the JRE. Software vendors may
|
||||||
|
redistribute the Java HotSpot<sup><font size="-2">TM</font></sup>
|
||||||
|
Server VM with their redistributions of the JRE.</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3>Unlimited Strength Java Cryptography Extension</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Due to import control restrictions for some countries, the Java
|
||||||
|
Cryptography Extension (JCE) policy files shipped with the JDK and the JRE
|
||||||
|
allow strong but limited cryptography to be used. These files are located
|
||||||
|
at<br>
|
||||||
|
<br>
|
||||||
|
<code><java-home>/lib/security/local_policy.jar</code><br>
|
||||||
|
<code><java-home>/lib/security/US_export_policy.jar</code><br>
|
||||||
|
<br>
|
||||||
|
where <code><java-home></code> is the <code>jre</code> directory of
|
||||||
|
the JDK or the top-level directory of the JRE.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
An unlimited strength version of these files indicating no restrictions on
|
||||||
|
cryptographic strengths is available on the JDK web site for those living
|
||||||
|
in eligible countries. Those living in eligible countries may download the
|
||||||
|
unlimited strength version and replace the strong cryptography jar files
|
||||||
|
with the unlimited strength files.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>The cacerts Certificates File</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Root CA certificates may be added to or removed from the Java SE
|
||||||
|
certificate file located at
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<code><java-home>/lib/security/cacerts</code>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
For more information, see <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/tools/solaris/keytool.html#cacerts">
|
||||||
|
The cacerts Certificates File</a> section in the keytool documentation.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="endorsed" id="endorsed"></a> Java Endorsed Standards Override
|
||||||
|
Mechanism</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
From time to time it is necessary to update the Java platform in order to
|
||||||
|
incorporate newer versions of standards that are created outside of the
|
||||||
|
Java Community Process<font size="-2"><sup>SM</sup></font> (JCP<font size=
|
||||||
|
"-2"><sup>SM</sup></font> <a href=
|
||||||
|
"http://www.jcp.org/">http://www.jcp.org/</a>) (<i>Endorsed
|
||||||
|
Standards</i>), or in order to update the version of a technology included
|
||||||
|
in the platform to correspond to a later standalone version of that
|
||||||
|
technology (<i>Standalone Technologies</i>).
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
The <i>Endorsed Standards Override Mechanism</i> provides a means whereby
|
||||||
|
later versions of classes and interfaces that implement Endorsed Standards
|
||||||
|
or Standalone Technologies may be incorporated into the Java Platform.
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
For more information on the Endorsed Standards Override Mechanism,
|
||||||
|
including the list of platform packages that it may be used to override,
|
||||||
|
see
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/guides/standards/">http://java.sun.com/javase/6/docs/technotes/guides/standards/</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="javadb" id="javadb"></a>Java DB</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
This distribution bundles Java DB, Sun Microsystems' distribution of the
|
||||||
|
Apache Derby pure Java database technology. Default installation locations
|
||||||
|
are:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Solaris: <code>/opt/SUNWjavadb</code></li>
|
||||||
|
|
||||||
|
<li>Linux: <code>/opt/sun/javadb</code></li>
|
||||||
|
|
||||||
|
<li>Windows: <code>C:\Program Files\Sun\JavaDB</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>For information on Java DB and Derby, including user and API
|
||||||
|
documentation, the capabilities of Java DB and further resources, see the
|
||||||
|
index.html file in the above directories.</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Note that file based distributions of the JDK on Solaris and Linux
|
||||||
|
include Java DB in the ${JAVA_HOME}/db directory.
|
||||||
|
</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="webpages" id="webpages"></a>Web Pages</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
For additional information, refer to these Sun Microsystems pages on the
|
||||||
|
World Wide Web:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><a href="http://java.sun.com/">http://java.sun.com/</a></dt>
|
||||||
|
|
||||||
|
<dd>The Java Software web site, with the latest information on Java
|
||||||
|
technology, product information, news, and features.</dd>
|
||||||
|
|
||||||
|
<dt><a href=
|
||||||
|
"http://java.sun.com/docs">http://java.sun.com/docs</a></dt>
|
||||||
|
|
||||||
|
<dd>Java<sup><font size="-2">TM</font></sup> platform Documentation
|
||||||
|
provides access to white papers, the Java Tutorial and other
|
||||||
|
documents.</dd>
|
||||||
|
|
||||||
|
<dt><a href=
|
||||||
|
"http://developer.java.sun.com/">http://developer.java.sun.com</a></dt>
|
||||||
|
|
||||||
|
<dd>Developer Services web site (Free registration required).
|
||||||
|
Additional technical information, news, and features; user forums;
|
||||||
|
support information, and much more.</dd>
|
||||||
|
|
||||||
|
<dt><a href=
|
||||||
|
"http://java.sun.com/products/">http://java.sun.com/products/</a></dt>
|
||||||
|
|
||||||
|
<dd>Java Technology Products & API</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><font size="2">The Java<sup><font size="-2">TM</font></sup> Development
|
||||||
|
Kit (JDK<sup><font size="-2">TM</font></sup>) is a product of Sun
|
||||||
|
Microsystems<sup><font size="-2">TM</font></sup>, Inc.<br>
|
||||||
|
<br>
|
||||||
|
Copyright © 2009 Sun Microsystems, Inc.<br>
|
||||||
|
4150 Network Circle, Santa Clara, California 95054, U.S.A.<br>
|
||||||
|
All rights reserved.</font></p>
|
||||||
|
<script type="text/javascript" language="JavaScript" src="/js/omi/jsc/s_code_remote.js">
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
438
extra/source/jdk-6/README_ja.html
Normal file
438
extra/source/jdk-6/README_ja.html
Normal file
|
@ -0,0 +1,438 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=EUC-JP">
|
||||||
|
<meta name="collection" content="reference">
|
||||||
|
|
||||||
|
<title>README -- Java Platform, Standard Edition Development Kit</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body lang="en-US" bgcolor="#FFFFFF">
|
||||||
|
<h1 align="center">README</h1>
|
||||||
|
|
||||||
|
<h2 align="center">Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition 6<br> Development Kit</h2>
|
||||||
|
|
||||||
|
<p align="center"><b>JDK<sup><font size="-2">TM</font></sup> 6</b></p>
|
||||||
|
|
||||||
|
<h2>目次</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#introduction">はじめに</a></li>
|
||||||
|
|
||||||
|
<li><a href="#install">システム要件およびインストール</a></li>
|
||||||
|
|
||||||
|
<li><a href="#docs">JDK ドキュメント</a></li>
|
||||||
|
|
||||||
|
<li><a href="#relnotes">リリースノート</a></li>
|
||||||
|
|
||||||
|
<li><a href="#compatibility">互換性</a></li>
|
||||||
|
|
||||||
|
<li><a href="#bugs">バグ報告とフィードバック</a></li>
|
||||||
|
|
||||||
|
<li><a href="#contents">JDK の内容</a></li>
|
||||||
|
|
||||||
|
<li><a href="#jre">Java Runtime Environment</a></li>
|
||||||
|
|
||||||
|
<li><a href="#redistribution">再配布</a></li>
|
||||||
|
|
||||||
|
<li><a href="#endorsed">推奨規格オーバーライド機構</a></li>
|
||||||
|
|
||||||
|
<li><a href="#javadb">Java DB</a></li>
|
||||||
|
|
||||||
|
<li><a href="#webpages">Web ページ</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="introduction"></a>はじめに</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition Development Kit (JDK<sup><font size="-2">TM</font></sup>) のこのリリースをダウンロードいただきありがとうございます。JDK は、Java プログラミング言語を使用してアプリケーション、アプレット、およびコンポーネントを構築するための開発環境です。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
JDK には、Java プログラミング言語で記述されたプログラムの開発とテスト、および Java<sup><font size="-2">TM</font></sup> プラットフォームでの実行に使用できる各種ツールが付属しています。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="install"></a>システム要件およびインストール</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
システム要件、インストール手順、およびトラブルシューティングのヒントについては、次の Java Software Web サイトを参照してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href="http://java.sun.com/javase/ja/6/webnotes/install/">JDK 6 インストール手順</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="docs"></a>JDK<sup><font size="-2">TM</font></sup> ドキュメント</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href="http://java.sun.com/javase/ja/6/docs/ja/index.html">Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition (Java SE) のオンラインドキュメント</a>には、API 仕様、機能説明、開発者ガイド、JDK<sup><font size="-2">TM</font></sup> ツールおよびユーティリティーのリファレンスページ、デモ、および関連情報へのリンクが含まれています。JDK ドキュメントは、使用しているマシンにインストール可能なダウンロードバンドルでも入手できます。 ドキュメントバンドルを入手するには、<a href="../download.html">ダウンロードページ</a>を参照してください。 API については、<a href="http://java.sun.com/javase/ja/6/docs/ja/api/index.html">Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition の API 仕様</a>を参照してください。 API について、コード例よりも仕様に重点をおいた簡単な説明を読むことができます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="relnotes"></a>リリースノート</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
このリリースに関する追加情報については、Java Software Web サイトの <a href="index.html">Java SE 6 リリースノート</a>を参照してください。オンライン版のリリースノートは随時更新されるので、定期的にアクセスして最新の情報を確認してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="compatibility"></a>互換性</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
互換性に関する既知の問題については、Java Software Web サイトで<a href="compatibility.html">以前のリリースとの互換性</a>を参照してください。 以前のバージョンの Java<sup><font size="-2">TM</font></sup> プラットフォーム用に記述されたプログラムのサポートについては万全を期しています。互換性を失う変更が必要な箇所もありましたが、ほとんどのソフトウェアはプログラミングをやり直すことなく現在のバージョンに移行できます。互換性に関する Web ページで説明しているような意図的に互換性を排除したわずかな場合を除いて、プログラミングをやり直さないと移行できない場合はバグであるとみなされます。潜在的なセキュリティーホールをふさぐため、または実装や設計上のバグを修正するために必要な変更によって、一部の互換性が失われています。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="bugs"></a>バグ報告とフィードバック</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href="http://bugs.sun.com/bugdatabase/index.jsp">バグデータベース</a> Web サイトでは、既存のバグ報告の検索と調査、バグ報告の送信、バグ修正の重要度の報告を行うことができます。バグ報告や機能に関する要望を直接送信するには、次のフォームに記入してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href= "http://bugs.sun.com/services/bugreport/index.jsp">http://bugs.sun.com/services/bugreport/index.jsp</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
フィードバックは、<a href="http://java.sun.com/docs/forms/sendusmail.html">Java SE ドキュメントチーム</a>に送信してください。 また、<a href="http://java.sun.com/mail/">Java Software エンジニアリングチームの電子メールアドレス</a>にコメントを直接送信していただくこともできます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<b>注</b> - Bug Database や弊社開発チームからテクニカルサポートを受けることはできません。 サポートオプションについては、Java Software Web サイトの<a href="http://java.sun.com/support/">サポートとサービス</a>を参照してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="contents"></a>JDK<sup><font size="-2">TM</font></sup> の内容</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
ここでは、JDK<sup><font size="-2">TM</font></sup> のファイルとディレクトリの概要を説明します。 ファイルとディレクトリの詳細については、お使いのプラットフォームの Java SE ドキュメントの「<a href="http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/index.html#general">JDK ファイル構造</a>」を参照してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><b>開発ツール</b></dt>
|
||||||
|
|
||||||
|
<dd><code>bin</code> サブディレクトリに格納されています。 Java<sup><font size="-2">TM</font></sup> プログラミング言語で記述されたプログラムの開発、実行、デバッグ、およびドキュメント作成を支援するツールとユーティリティーです。 詳細については、<a href="http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/index.html">各ツールのマニュアル</a>を参照してください。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>Runtime Environment</b></dt>
|
||||||
|
|
||||||
|
<dd><code>jre</code> サブディレクトリに格納されています。JDK で使用される Java Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) 実行環境の実装です。 JREには、Java<sup><font size="-2">TM</font></sup> 仮想マシン、クラスライブラリ、および Java<sup><font size="-2">TM</font></sup> プログラミング言語で記述されたプログラムの実行をサポートするその他のファイルが含まれます。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>追加ライブラリ</b></dt>
|
||||||
|
|
||||||
|
<dd><code>lib</code> サブディレクトリに格納されています。 開発ツールに必要な追加のクラスライブラリとサポートファイルです。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>デモアプレットとアプリケーション</b></dt>
|
||||||
|
|
||||||
|
<dd><code>demo</code> サブディレクトリに格納されています。 Java<sup><font size="-2">TM</font></sup> プラットフォーム用のプログラミング例で、ソースコードが含まれます。 Swing やその他の Java<sup><font size="-2">TM</font></sup> Foundation Classes、および Java<sup><font size="-2">TM</font></sup> Platform Debugger Architecture を使用する例も含まれます。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>サンプルコード</b></dt>
|
||||||
|
|
||||||
|
<dd><code>sample</code> サブディレクトリに格納されています。 特定の Java API のプログラミングのソースコード付きサンプルです。</dd>
|
||||||
|
|
||||||
|
<dt><b>C ヘッダーファイル</b></dt>
|
||||||
|
|
||||||
|
<dd><code>include</code> サブディレクトリに格納されています。 <a href="http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jni/index.html">Java Native Interface</a>、<a href="http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/jvmti/index.html">JVM<sup><font size="-2">TM</font></sup> Tool Interface</a>、およびその他の Java<sup><font size="-2">TM</font></sup> Platform の機能を使用するネイティブコードプログラミングをサポートするヘッダーファイルです。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>ソースコード</b></dt>
|
||||||
|
|
||||||
|
<dd><code>src.zip</code> に格納されています。Java コア API を構成するすべてのクラスに対する Java<sup><font size="-2">TM</font></sup> プログラミング言語のソースファイルです (java.*、javax.*、および一部の org.* パッケージのソースファイル。com.sun.* パッケージは対象外)。このソースコードは情報提供のみを目的としており、開発者が Java<sup><font size="-2">TM</font></sup> プログラミング言語を理解し活用するのに役立ちます。これらのファイルには、プラットフォーム固有の実装コードは含まれません。これらのファイルを使用して、クラスライブラリを再構築することはできません。これらのファイルを展開するには、一般的な zip ユーティリティーを使用します。 また、次のように、JDK の <code>bin/</code> ディレクトリに用意されている Jar ユーティリティーを使用することもできます。<br> <br> <code>jar xvf src.zip</code></dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h2><a name="jre"></a>Java SE Runtime Environment (JRE<sup><font size="-2">TM</font></sup>)</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) は、単独でダウンロードできる製品として提供されています。 <a href="../download.html">ダウンロード Web サイト</a>を参照 してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
JRE を使用すると、Java<sup><font size="-2">TM</font></sup> プログラミング言語で記述されたアプリケーションを実行できます。 JDK<sup><font size="-2">TM</font></sup> と同様に、Java<sup><font size="-2">TM</font></sup> 仮想マシン、Java<sup><font size="-2">TM</font></sup> プラットフォーム API を構成するクラス、およびサポートファイルが含まれます。JDK とは異なり、コンパイラやデバッガなどの開発ツールは含まれません。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
JRE は、JRE のライセンス条項に従って、独自に開発したアプリケーションとともに自由に再配布することができます。JDK を使用してアプリケーションを開発したのち、エンドユーザーがそのソフトウェアを Java<sup><font size="-2">TM</font></sup> プラットフォームで実行できるように、JRE とともに出荷することができます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="redistribution"></a>再配布</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<blockquote>
|
||||||
|
<hr>
|
||||||
|
注 - このソフトウェアのライセンスは、ベータ版およびその他のプレリリース版の再配布を許可するものではありません。
|
||||||
|
<hr>
|
||||||
|
</blockquote>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
ソフトウェアライセンス契約の条項、および以下で規定される義務、制限、および例外事項に従い、ソフトウェア (および以下で再配布可能と見なされる、ソフトウェアの一部) を複製および配布できます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<ol type="a">
|
||||||
|
<li>ソフトウェアを完全な改変されていない状態で、かつアプレットおよびアプリケーション (「プログラム」) の一部としてバンドルされた状態でのみ配布する。</li>
|
||||||
|
|
||||||
|
<li>プログラムが重要かつ主要な機能をソフトウェアに追加する。</li>
|
||||||
|
|
||||||
|
<li>プログラムが Java 対応の汎用デスクトップコンピュータおよびサーバーで実行されることのみを目的とする。</li>
|
||||||
|
|
||||||
|
<li>プログラムの実行のみを目的として、ソフトウェアを配布する。</li>
|
||||||
|
|
||||||
|
<li>ソフトウェアのコンポーネントと置き換えることを目的として追加のソフトウェアを配布しない。</li>
|
||||||
|
|
||||||
|
<li>ソフトウェアに記載されているいかなる所有権表示や告知も除去または変更しない。</li>
|
||||||
|
|
||||||
|
<li>本契約に含まれる条項と合致した、Sun の利益を保護するライセンス契約に従ってのみソフトウェアを配布する。</li>
|
||||||
|
|
||||||
|
<li>プログラムおよびソフトウェアの一部またはすべての使用あるいは配布に起因した第三者からの請求、訴訟、または措置に関連して生じるいかなる損害、費用、債務、和解金、および出費 (弁護士費用を含む) から、Sun とそのライセンサを擁護し、補償することに同意する。</li>
|
||||||
|
</ol>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
ここで使用されている「ベンダー」という用語は、自らのプログラムとともに Java<sup><font size="-2">TM</font></sup> Development Kit (JDK<sup><font size="-2">TM</font></sup>) をライセンス供与および配布するライセンシ、開発者、および独立系ソフトウェアベンダー (ISV) を指します。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
ベンダーは、Java Development Kit バイナリコードライセンス契約の条項に従う必要があります。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>必須ファイルとオプションファイル</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Development Kit (JDK<sup><font size="-2">TM</font></sup>) を構成するファイルは、必須とオプションの 2 つに分類されます。オプションファイルは、ベンダーの判断により JDK の再配布から除外することができます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
JDK の再配布から任意で除外できるファイルおよびディレクトリを次に示します。これらのオプションファイル一覧に含まれないファイルは、すべて JDK の再配布に含める必要があります。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>オプションのファイルとディレクトリ</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
次のファイルは再配布から任意に除外できます。 これらのファイルは、jdk1.6.0_<version> ディレクトリにあります。<version> は、アップデートバージョン番号です。 Solaris<sup><font size= "-2">TM</font></sup> および Linux のファイル名と区切り記号が示されています。Windows の実行可能ファイルには末尾に「.exe」が付きます。名前に <code>_g</code> が付く対応するファイルも除外できます。 除外された実行可能ファイル (Solaris<sup><font size="-2">TM</font></sup> オペレーティングシステムおよび Linux の場合、以下の一覧でパスが bin/ から始まる) に対応するマニュアルページは除外する必要があります。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><code>jre/lib/charsets.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>文字変換クラス</dd>
|
||||||
|
|
||||||
|
<dt><code>jre/lib/ext/</code></dt>
|
||||||
|
|
||||||
|
<dd><code>sunjce_provider.jar</code> - Java 暗号化 API の SunJCE プロバイダ<br> <code>localedata.jar</code> - 米国英語以外のロケールに必要なリソースの多くを含む<br> <code>ldapsec.jar</code> - LDAP サービスプロバイダがサポートするセキュリティー機能を含む<br> <code>dnsns.jar</code> - JNDI DNS プロバイダの InetAddress ラッパー用</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/rmid</tt> および <tt>jre/bin/rmid</tt></dt>
|
||||||
|
|
||||||
|
<dd>Java RMI 起動システムデーモン</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/rmiregistry</tt> および <tt>jre/bin/rmiregistry</tt></dt>
|
||||||
|
|
||||||
|
<dd>Java リモートオブジェクトレジストリ</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/tnameserv</tt> および <tt>jre/bin/tnameserv</tt></dt>
|
||||||
|
|
||||||
|
<dd>Java IDL ネームサーバー</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/keytool</tt> および <tt>jre/bin/keytool</tt></dt>
|
||||||
|
|
||||||
|
<dd>鍵および証明書の管理ツール</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/kinit</tt> および <tt>jre/bin/kinit</tt></dt>
|
||||||
|
|
||||||
|
<dd>Kerberos チケット認可チケットの取得およびキャッシュに使用</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/klist</tt> および <tt>jre/bin/klist</tt></dt>
|
||||||
|
|
||||||
|
<dd>資格キャッシュおよびキータブ内の Kerberos 表示エントリ</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/ktab</tt> および <tt>jre/bin/ktab</tt></dt>
|
||||||
|
|
||||||
|
<dd>Kerberos キーテーブルマネージャー</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/policytool</tt> および <tt>jre/bin/policytool</tt></dt>
|
||||||
|
|
||||||
|
<dd>ポリシーファイルの作成および管理ツール</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/orbd</tt> および <tt>jre/bin/orbd</tt></dt>
|
||||||
|
|
||||||
|
<dd>Object Request Broker Daemon</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/servertool</tt> および <tt>jre/bin/servertool</tt></dt>
|
||||||
|
|
||||||
|
<dd>Java IDL サーバーツール</dd>
|
||||||
|
|
||||||
|
<dt><tt>bin/javaws</tt>、<tt>jre/bin/javaws</tt>、<tt>jre/lib/javaws/</tt> および <tt>jre/lib/javaws.jar</tt></dt>
|
||||||
|
|
||||||
|
<dd>Java Web Start</dd>
|
||||||
|
|
||||||
|
<dt><code>db/</code></dt>
|
||||||
|
|
||||||
|
<dd>
|
||||||
|
Java DB。Sun Microsystems が配布する Apache Derby データベーステクノロジーです。デフォルトでは以下にインストールされます。
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Solaris: <code>/opt/SUNWjavadb</code></li>
|
||||||
|
|
||||||
|
<li>Linux: <code>/opt/sun/javadb</code></li>
|
||||||
|
|
||||||
|
<li>Windows: <code>C:\Program Files\Sun\JavaDB</code></li>
|
||||||
|
</ul>ユーザードキュメントや API ドキュメント、Java DB の機能やその他リソースなどの Java DB と Derby の情報については、上記ディレクトリの index.html ファイルを参照してください。
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dt><code>demo/</code></dt>
|
||||||
|
|
||||||
|
<dd>デモアプレットとアプリケーション</dd>
|
||||||
|
|
||||||
|
<dt><code>sample/</code></dt>
|
||||||
|
|
||||||
|
<dd>サンプルコード</dd>
|
||||||
|
|
||||||
|
<dt><code>src.zip</code></dt>
|
||||||
|
|
||||||
|
<dd>ソースファイルのアーカイブ</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3>再配布可能な JDK<sup><font size="-2">TM</font></sup> ファイル</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
次に示す JDK のファイル/ディレクトリセットは、ベンダーの提供する Java<sup><font size="-2">TM</font></sup> Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) の再配布に含めることができます。 これらを個別に再配布することはできません。バージョンが一致する JRE とともに配布する必要があります。次のパスは、すべて JDK の最上位ディレクトリからの相対パスです。 含められる実行可能ファイル (Solaris<sup><font size="-2">TM</font></sup> オペレーティングシステムおよび Linux の場合、以下の一覧でパスが bin/ から始まる) に対応するマニュアルページは含める必要があります。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><code>jre/lib/cmm/PYCC.pf</code></dt>
|
||||||
|
|
||||||
|
<dd>カラープロファイル。このファイルは、PYCC カラー領域とその他のカラー領域の間で変換を行う場合にのみ必要です。</dd>
|
||||||
|
|
||||||
|
<dt><tt>jre/lib/fonts</tt> ディレクトリ内のすべての <tt>.ttf</tt> フォントファイル</dt>
|
||||||
|
|
||||||
|
<dd>LucidaSansRegular.ttf フォントはすでに JRE に含まれているため、JDK から取得する必要はありません。</dd>
|
||||||
|
|
||||||
|
<dt><code>jre/lib/audio/soundbank.gm</code></dt>
|
||||||
|
|
||||||
|
<dd>この MIDI サウンドバンクは JDK に含まれますが、JRE から削除されています。これは JRE のダウンロードバンドルのサイズを減らすことが目的です。 ただし、サウンドバンクファイルは MIDI の再生に必要なため、ベンダーの判断で JDK の <tt>soundbank.gm</tt> ファイルを JRE の再配布に含めることができます。 拡張 MIDI サウンドバンクのいくつかのバージョンを Java Sound Web サイト <a href="http://java.sun.com/products/java-media/sound/">http://java.sun.com/products/java-media/sound/</a> で入手できます。これらの代替のサウンドバンクはどれも、JRE の再配布に含めることができます。</dd>
|
||||||
|
|
||||||
|
<dt>javac バイトコードコンパイラ。以下のファイルで構成されます。</dt>
|
||||||
|
|
||||||
|
<dd><tt>bin/javac</tt> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステムおよび Linux]<br> <tt>bin/sparcv9/javac</tt> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (SPARC(R) プラットフォーム版)]<br> <tt>bin/amd64/javac</tt> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (AMD)]<br> <tt>bin/javac.exe</tt> [Microsoft Windows]<br> <tt>lib/tools.jar</tt> [すべてのプラットフォーム]</dd>
|
||||||
|
|
||||||
|
<dt>Annotation Processing Tool。以下のファイルで構成されます。<br></dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [すべてのプラットフォーム]<br> <code>bin/apt</code> [Solaris<sup><font size="-2">TM</font></sup> オペレーティングシステムおよび Linux]<br> <code>bin/sparcv9/apt</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (SPARC(R) プラットフォーム版)]<br> <code>bin/amd64/apt</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (AMD)]<br> <code>bin/apt.exe</code> [Microsoft Windows]</dd>
|
||||||
|
|
||||||
|
<dt><code>lib/jconsole.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>Jconsole アプリケーション。注: Jconsole アプリケーションには動的アタッチ機構が必要です。</dd>
|
||||||
|
|
||||||
|
<dt>動的アタッチ機構は、以下のファイルで構成されます。</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [すべてのプラットフォーム]<br> <code>jre/lib/sparc/libattach.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (SPARC(R) プラットフォーム版) および Linux]<br> <code>jre/lib/sparcv9/libattach.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (SPARC(R) プラットフォーム版) および Linux]<br> <code>jre/lib/i386/libattach.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (x86) および Linux]<br> <code>jre/lib/amd64/libattach.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (AMD) および Linux]<br> <code>jre\bin\attach.dll</code> [Microsoft Windows]<br></dd>
|
||||||
|
|
||||||
|
<dt>Java Platform Debugger Architecture の実装は、上の動的アタッチで示されたファイル、および以下のファイルで構成されます。</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [すべてのプラットフォーム]<br> <code>lib/sa-jdi.jar</code> [すべてのプラットフォーム]<br> <code>jre/lib/sparc/libsaproc.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (SPARC(R) プラットフォーム版) および Linux]<br> <code>jre/lib/sparcv9/libsaproc.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (SPARC(R) プラットフォーム版) および Linux]<br> <code>jre/lib/i386/libsaproc.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (x86) および Linux]<br> <code>jre/lib/amd64/libsaproc.so</code> [Solaris<sup><font size= "-2">TM</font></sup> オペレーティングシステム (AMD) および Linux]<br></dd>
|
||||||
|
|
||||||
|
<dt><code>jre\bin\server\</code></dt>
|
||||||
|
|
||||||
|
<dd>Microsoft Windows プラットフォームでは、JDK に Java HotSpot<sup><font size="-2">TM</font></sup> Server VM と Java HotSpot<sup><font size="-2">TM</font></sup> Client VM の両方が含まれます。ただし、Microsoft Windows プラットフォーム版の JRE には Java HotSpot<sup><font size="-2">TM</font></sup> Client VM しか含まれていません。Java HotSpot<sup><font size="-2">TM</font></sup> Server VM を JRE で使用する場合は、JDK の <tt>jre\bin\server</tt> フォルダを JRE の <tt>bin\server</tt> ディレクトリにコピーしてください。ソフトウェアベンダーは、JRE の再配布の際に、Java HotSpot<sup><font size="-2">TM</font></sup> Server VM を再配布することができます。</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3>無制限強度 Java 暗号化拡張機能</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
一部の国の輸入規制に対応するため、JDK および JRE とともに出荷される Java 暗号化拡張機能 (JCE) のポリシーファイルは、強力ではあっても制限付きの暗号方式の使用しか許可していません。 これらのファイルは次の場所に格納されています。<br>
|
||||||
|
<br> <code><java-home>/lib/security/local_policy.jar</code><br> <code><java-home>/lib/security/US_export_policy.jar</code><br> <br><code><java-home></code> は、JDK の <code>jre</code> ディレクトリまたは JRE の最上位ディレクトリです。 </blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
規制を受けない国のユーザーのために、暗号化強度に制限のない無制限強度バージョンのファイルが JDK Web サイトに用意されています。これらの国のユーザーは、無制限強度バージョンをダウンロードし、強力暗号化 jar ファイルを無制限強度ファイルで置き換えることができます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>cacerts 証明書ファイル</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
以下にある Java SE 証明書ファイルでルート認証局証明書を追加または削除することができます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<code><java-home>/lib/security/cacerts</code>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
詳細は keytool ドキュメントの <a href="http://java.sun.com/javase/ja/6/docs/ja/technotes/tools/solaris/keytool.html#cacerts">cacerts 証明書ファイル</a> を参照してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="endorsed"></a>Java 推奨規格オーバーライド機構</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Java プラットフォームは、Java Community Process<sup><font size="-1">SM</font></sup> (JCP<sup><font size="-1">SM</font></sup><a href="http://www.jcp.org/">http://www.jcp.org/</a>) 以外で作成された標準 (推奨標準) の最新バージョンを組み込むため、またはプラットフォームに含まれるテクノロジーのバージョンを、そのテクノロジーの新しいスタンドアロンバージョン (標準テクノロジー) に対応させるため、適宜更新が必要です。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
推奨規格オーバーライド機構を使用すれば、Java プラットフォームに組み込まれる可能性のある推奨標準やスタンドアロンテクノロジーを実装する、新しいバージョンのクラスやインタフェースを提供できます。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
推奨規格オーバーライド機構の詳細については、次のサイトを参照してください。優先指定に使用できるプラットフォームパッケージの一覧も掲載されています。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href= "http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/standards/">http://java.sun.com/javase/ja/6/docs/ja/technotes/guides/standards/</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="javadb" id="javadb"></a>Java DB</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
この配布は、Sun Microsystems が配布する Apache Derby pure Java データベーステクノロジーである Java DB をバンドルしています。デフォルトでは以下にインストールされます。
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Solaris: <code>/opt/SUNWjavadb</code></li>
|
||||||
|
|
||||||
|
<li>Linux: <code>/opt/sun/javadb</code></li>
|
||||||
|
|
||||||
|
<li>Windows: <code>C:\Program Files\Sun\JavaDB</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>ユーザードキュメントや API ドキュメント、Java DB の機能やその他リソースなどの Java DB と Derby の情報については、上記ディレクトリの index.html ファイルを参照してください。</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="webpages"></a>Web ページ</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
詳細については、次の Sun Microsystems の Web ページを参照してください。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><a href="http://java.sun.com/">http://java.sun.com/</a></dt>
|
||||||
|
|
||||||
|
<dd>Java Software Web サイト。Java テクノロジ、製品情報、ニュース、および機能についての最新情報が掲載されています。</dd>
|
||||||
|
|
||||||
|
<dt><a href= "http://java.sun.com/docs">http://java.sun.com/docs</a></dt>
|
||||||
|
|
||||||
|
<dd>Java<sup><font size="-2">TM</font></sup> プラットフォームのドキュメント。ホワイトペーパーや Java チュートリアルなどのドキュメントにアクセスできます。</dd>
|
||||||
|
|
||||||
|
<dt><a href= "http://developer.java.sun.com/">http://developer.java.sun.com</a></dt>
|
||||||
|
|
||||||
|
<dd>Developer Services Web サイト。(無料の登録が必要。) 技術情報、ニュース、および機能の詳細情報、ユーザーフォーラム、サポート情報などが提供されています。</dd>
|
||||||
|
|
||||||
|
<dt><a href= "http://java.sun.com/products/">http://java.sun.com/products/</a></dt>
|
||||||
|
|
||||||
|
<dd>Java テクノロジ製品と API</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><font size="2">Java<sup><font size="-2">TM</font></sup> Development Kit (JDK<sup><font size="-2">TM</font></sup>) は Sun Microsystems<sup><small>TM</small></sup>, Inc. の製品です。<br> <br> Copyright © 2009 Sun Microsystems, Inc.<br> 4150 Network Circle, Santa Clara, California 95054, U.S.A.<br> All rights reserved.</font></p>
|
||||||
|
<script type="text/javascript" language="JavaScript" src="/js/omi/jsc/s_code_remote.js">
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
507
extra/source/jdk-6/README_zh_CN.html
Normal file
507
extra/source/jdk-6/README_zh_CN.html
Normal file
|
@ -0,0 +1,507 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=GB2312">
|
||||||
|
|
||||||
|
<title>自述文件 -- Java Platform, Standard Edition Development Kit</title>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body lang="en-US" bgcolor="#FFFFFF">
|
||||||
|
<h1 align="center">自述文件</h1>
|
||||||
|
|
||||||
|
<h2 align="center">Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition 6<br> Development Kit</h2>
|
||||||
|
|
||||||
|
<p align="center"><b>JDK<sup><font size="-2">TM</font></sup> 6</b></p>
|
||||||
|
|
||||||
|
<h2>目录</h2>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li><a href="#introduction">简介</a></li>
|
||||||
|
|
||||||
|
<li><a href="#install">系统要求与安装</a></li>
|
||||||
|
|
||||||
|
<li><a href="#docs">JDK 文档</a></li>
|
||||||
|
|
||||||
|
<li><a href="#relnotes">发行说明</a></li>
|
||||||
|
|
||||||
|
<li><a href="#compatibility">兼容性</a></li>
|
||||||
|
|
||||||
|
<li><a href="#bugs">错误报告与反馈</a></li>
|
||||||
|
|
||||||
|
<li><a href="#contents">JDK 的内容</a></li>
|
||||||
|
|
||||||
|
<li><a href="#jre">Java Runtime Environment</a></li>
|
||||||
|
|
||||||
|
<li><a href="#redistribution">再分发</a></li>
|
||||||
|
|
||||||
|
<li><a href="#endorsed">Java 签名标准覆盖机制</a></li>
|
||||||
|
|
||||||
|
<li><a href="#javadb">Java DB</a></li>
|
||||||
|
|
||||||
|
<li><a href="#webpages">Web 页</a></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<h2><a name="introduction" id="introduction"></a>简介</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
感谢您下载此版本的 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Platform, Standard Edition Development Kit (JDK<sup><font size="-2">TM</font></sup>)。JDK 是一种开发环境,用于使用 Java 编程语言生成应用程序、applet 和组件。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
JDK 包含的工具可用于开发和测试以 Java 编程语言编写并在 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 平台上运行的程序。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="install" id="install"></a>系统要求与安装</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
系统要求、安装说明和故障排除提示位于 Java 软件 Web 站点上的以下位置:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href="http://java.sun.com/javase/6/webnotes/install/">JDK 6 安装说明</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="docs" id="docs"></a>JDK<sup><font size="-2">TM</font></sup> 文档</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
联机 <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/">Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Platform, Standard Edition (Java SE) 文档</a>包含 API 说明、功能介绍、开发者指南、JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup> 工具和实用程序的参考页面、演示程序以及指向相关信息的链接。此文档还以下载包的形式提供,您可以将此包安装在计算机上。要获得该文档包,请参见<a href="http://java.sun.com/javase/downloads/index.jsp">下载页面</a>。有关 API 文档的信息,请参阅 <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/api/index.html">Java<sup><font size="-2">TM</font></sup> Platform, Standard Edition API 说明</a>。该页面提供了 API 的简要介绍,其中重点介绍了 API 说明而非代码示例。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="relnotes" id="relnotes"></a>发行说明</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
有关此版本的其他信息,请参见 Java 软件 Web 站点上的 <a href="http://java.sun.com/javase/6/webnotes/">Java SE 6 发行说明</a>。由于联机发行说明将根据需要进行更新,因此请不定期查看联机发行说明以了解最新信息。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="compatibility" id="compatibility"></a>兼容性</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
有关已知的兼容性问题列表,请参见 Java 软件 Web 站点上<a href=
|
||||||
|
"http://java.sun.com/javase/6/webnotes/compatibility.html">与早期版本的兼容性</a>。我们已尽力支持为早期版本的 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 平台编写的程序。尽管必然会有某些不兼容的更改,但大部分软件都能够在不重新编程的情况下迁移到当前版本。除了在极少数情况下有意不保持兼容(如我们的兼容性 Web 页中所述)以外,如果做不到这一点,将被认为是一个错误。之所以存在一些破坏兼容性的更改,是因为需要弥补潜在的安全漏洞或修复实现或设计错误。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="bugs" id="bugs"></a>错误报告与反馈</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href="http://bugs.sun.com/bugdatabase/index.jsp">错误数据库</a> Web 站点使您可以搜索和检查现有的错误报告、提交您自己的错误报告以及通知我们您最希望修复哪些错误。要直接提交错误或请求功能,请填写以下表单:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href=
|
||||||
|
"http://bugs.sun.com/services/bugreport/index.jsp">http://bugs.sun.com/services/bugreport/index.jsp</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
您可以向 <a href=
|
||||||
|
"http://java.sun.com/docs/forms/sendusmail.html">Java SE 文档小组</a>发送反馈,也可以直接向 <a href=
|
||||||
|
"http://developers.sun.com/contact/index.jsp">Java 软件工程小组的电子邮件地址</a>发送意见。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<b>注</b> - 请不要通过错误数据库或我们的开发团队寻求技术支持。有关可以选择的支持方式,请参见 Java 软件 Web 站点上的<a href=
|
||||||
|
"http://java.sun.com/developer/support/">支持与服务</a>。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="contents" id="contents"></a>JDK<sup><font size= "-2">TM</font></sup> 的内容</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
本部分概括介绍了 JDK<sup><font size="-2">TM</font></sup> 中的文件和目录。有关这些文件和目录的详细信息,请参见适用于您的平台的 Java SE 文档的 <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/tools/index.html#general">JDK 文件结构</a>部分。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><b>开发工具</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>bin/</code> 子目录中)指工具和实用程序,可帮助您开发、执行、调试和保存以 Java<sup><font size="-2">TM</font></sup> 编程语言编写的程序。有关详细信息,请参见<a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/tools/index.html">工具文档</a>。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>运行时环境</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>jre/</code> 子目录中)由 JDK 使用的 Java Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) 的实现。JRE 包括 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 虚拟机 (JVM<sup><font size=
|
||||||
|
"-2">TM</font></sup>)、类库以及其他支持执行以 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 编程语言编写的程序的文件。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>附加库</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>lib/</code> 子目录中)开发工具所需的其他类库和支持文件。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>演示 applet 和应用程序</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>demo/</code> 子目录中)Java<sup><font size="-2">TM</font></sup> 平台的编程示例(带源代码)。这些示例包括使用 Swing 和其他 Java<sup><font size="-2">TM</font></sup> 基类以及 Java<sup><font size="-2">TM</font></sup> 平台调试器体系结构的示例。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>样例代码</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>sample</code> 子目录中)某些 Java API 的编程样例(带源代码)。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>C 头文件</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>include/</code> 子目录中)支持使用 <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/guides/jni/">Java 本机界面</a>、<a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/guides/jvmti/">JVM<sup><font size="-2">TM</font></sup> 工具界面</a>以及 Java<sup><font size="-2">TM</font></sup> 平台的其他功能进行本机代码编程的头文件。<br> <br></dd>
|
||||||
|
|
||||||
|
<dt><b>源代码</b></dt>
|
||||||
|
|
||||||
|
<dd>(位于 <code>src.zip</code> 中)组成 Java 核心 API 的所有类的 Java<sup><font size="-2">TM</font></sup> 编程语言源文件(即,java.*、javax.* 和某些 org.* 包的源文件,但不包括 com.sun.* 包的源文件)。此源代码仅供参考,以便帮助开发者学习和使用 Java<sup><font size="-2">TM</font></sup> 编程语言。这些文件不包含特定于平台的实现代码,且不能用于重新生成类库。要对这些文件进行解压,请使用任一常用的 zip 实用程序;或者也可以使用位于 JDK 的 <code>bin/</code> 目录中的 Jar 实用程序:<br><br><code>jar xvf src.zip</code></dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h2><a name="jre" id="jre"></a>Java Runtime Environment (JRE<sup><font size="-2">TM</font></sup>)</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
Java<sup><font size="-2">TM</font></sup> Runtime Environment (JRE<sup><font size="-2">TM</font></sup>) 是一款可单独下载的产品。请参见<a href=
|
||||||
|
"http://java.sun.com/javase/downloads/index.jsp">下载 Web 站点</a>。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
通过 JRE,您可以运行以 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 编程语言编写的应用程序。与 JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup> 相似,JRE 包含 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 虚拟机 (JVM<sup><font size=
|
||||||
|
"-2">TM</font></sup>)、组成 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> 平台 API 的类及支持文件。与 JDK 不同的是,它不包含诸如编译器和调试器这样的开发工具。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
依照 JRE 许可证条款,您可以随意地将 JRE 随应用程序一起进行再分发。使用 JDK 开发应用程序后,可将其与 JRE 一起发行,以便最终用户具有可运行软件的 Java<sup><font size="-2">TM</font></sup> 平台。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="redistribution" id="redistribution"></a>再分发</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<blockquote>
|
||||||
|
<hr>
|
||||||
|
注 - 本软件的许可证不允许再分发测试版和其他预发行版本。
|
||||||
|
<hr>
|
||||||
|
</blockquote>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
必须遵守软件许可协议的条款和条件以及下面提出的义务、限制和例外。在下列情况下,您可以复制和分发本软件(以及在下面标识为“可再分发”的软件部分):
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<ol type="a">
|
||||||
|
<li>您将完整地分发软件而不能进行修改,并仅作为您的 applet 和应用程序(程序)的一部分打包;</li>
|
||||||
|
|
||||||
|
<li>您的程序将向本软件添加重要的主要功能;</li>
|
||||||
|
|
||||||
|
<li>您的程序仅用于在启用了 Java 的普通桌面计算机和服务器上运行;</li>
|
||||||
|
|
||||||
|
<li>您分发软件只是为了运行您的程序;</li>
|
||||||
|
|
||||||
|
<li>您不分发其他软件来替换本软件的任何组件;</li>
|
||||||
|
|
||||||
|
<li>您不删除或更改本软件中包含的任何专用图例或声明;</li>
|
||||||
|
|
||||||
|
<li>您只按照旨在保护 Sun 的利益的许可协议中的条款来分发本软件;</li>
|
||||||
|
|
||||||
|
<li>您同意维护和保障 Sun 及其许可方的利益,不使其承担因第三方使用或分发任意和全部程序和/或软件而引起的赔偿、诉讼或冲突所导致的赔偿金、诉讼费、债务和/或调解费(包括律师费)。</li>
|
||||||
|
</ol>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
此处使用的“供应商”一词是指许可证持有人、开发者以及将 Java<sup><font size="-2">TM</font></sup> Development Kit (JDK<sup><font size="-2">TM</font></sup>) 与其程序一起许可和分发的独立软件供应商 (ISV)。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
供应商必须遵守 Java Development Kit 二进制代码许可协议的条款。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>必要文件与可选文件</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
组成 Java<sup><font size="-2">TM</font></sup> Development Kit (JDK<sup><font size="-2">TM</font></sup>) 的文件分为两类:必要的和可选的。可选文件可以不包含在 JDK 的再分发中(由供应商决定)。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
下面一节列出了可以选择从 JDK 的再分发中省略的文件和目录。没有列为可选文件的所有文件都必须包含在 JDK 的再分发中。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>可选文件和目录</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
下列文件可以从再分发中排除。这些文件位于 jdk1.6.0_<版本> 目录中,其中 <版本> 是最新的版本号。将显示 Solaris<sup><font size="-2">TM</font></sup> 和 Linux 的文件名和分隔符。Windows 可执行文件具有 ".exe" 后缀。还可以排除名称中带有 <code>_g</code> 的相应文件。对于任何已排除的可执行文件,应排除相应的手册页(包含下面列出的以 <code>bin/</code> 开头的路径,适用于 Solaris<sup><font size="-2">TM</font></sup> 操作系统和 Linux)。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><code>jre/lib/charsets.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>字符转换类</dd>
|
||||||
|
|
||||||
|
<dt><code>jre/lib/ext/</code></dt>
|
||||||
|
|
||||||
|
<dd><code>sunjce_provider.jar</code> - SunJCE 的 Java 加密法 API 提供者<br> <code>localedata.jar</code> - 包含非美式英语语言环境所需的许多资源<br> <code>ldapsec.jar</code> - 包含 LDAP 服务提供者所支持的安全特征<br> <code>dnsns.jar</code> - 用于 JNDI DNS 提供者的 InetAddress 包装</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/rmid</code> 和 <code>jre/bin/rmid</code></dt>
|
||||||
|
|
||||||
|
<dd>Java RMI 活化系统守护进程</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/rmiregistry</code> 和 <code>jre/bin/rmiregistry</code></dt>
|
||||||
|
|
||||||
|
<dd>Java 远程对象注册表</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/tnameserv</code> 和 <code>jre/bin/tnameserv</code></dt>
|
||||||
|
|
||||||
|
<dd>Java IDL 名称服务器</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/keytool</code> 和 <code>jre/bin/keytool</code></dt>
|
||||||
|
|
||||||
|
<dd>密钥和证书管理工具</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/kinit</code> 和 <code>jre/bin/kinit</code></dt>
|
||||||
|
|
||||||
|
<dd>用于获取和高速缓存 Kerberos 票证的授予票证</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/klist</code> 和 <code>jre/bin/klist</code></dt>
|
||||||
|
|
||||||
|
<dd>凭据高速缓存和密钥表中的 Kerberos 显示条目</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/ktab</code> 和 <code>jre/bin/ktab</code></dt>
|
||||||
|
|
||||||
|
<dd>Kerberos 密钥表管理器</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/policytool</code> 和 <code>jre/bin/policytool</code></dt>
|
||||||
|
|
||||||
|
<dd>策略文件创建和管理工具</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/orbd</code> 和 <code>jre/bin/orbd</code></dt>
|
||||||
|
|
||||||
|
<dd>对象请求代理守护进程</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/servertool</code> 和 <code>jre/bin/servertool</code></dt>
|
||||||
|
|
||||||
|
<dd>Java IDL 服务器工具</dd>
|
||||||
|
|
||||||
|
<dt><code>bin/javaws</code>、<code>jre/bin/javaws</code>、<code>jre/lib/javaws/</code> 和 <code>jre/lib/javaws.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>Java Web Start</dd>
|
||||||
|
|
||||||
|
<dt><code>db/</code></dt>
|
||||||
|
<dd>
|
||||||
|
Java DB,它是 Sun Microsystems 的 Apache Derby 数据库技术的分发。
|
||||||
|
默认安装位置为:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Solaris:<code>/opt/SUNWjavadb</code></li>
|
||||||
|
|
||||||
|
<li>Linux:<code>/opt/sun/javadb</code></li>
|
||||||
|
|
||||||
|
<li>Windows:<code>C:\Program Files\Sun\JavaDB</code></li>
|
||||||
|
</ul>有关 Java DB 和 Derby 的信息(包括用户
|
||||||
|
和 API 文档、Java DB 的功能以及更多资源),
|
||||||
|
请参见上述目录中的 index.html 文件。
|
||||||
|
</dd>
|
||||||
|
|
||||||
|
<dd>Java<sup><font size="-2">TM</font></sup>DB,Sun Microsystems 的 Apache Derby 数据库技术分发。</dd>
|
||||||
|
|
||||||
|
<dt><code>demo/</code></dt>
|
||||||
|
|
||||||
|
<dd>演示 applet 和应用程序</dd>
|
||||||
|
|
||||||
|
<dt><code>sample/</code></dt>
|
||||||
|
|
||||||
|
<dd>样例代码</dd>
|
||||||
|
|
||||||
|
<dt><code>src.zip</code></dt>
|
||||||
|
|
||||||
|
<dd>源文件归档</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3><a name="redistributablejdkfiles" id=
|
||||||
|
"redistributablejdkfiles"></a>可再分发的 JDK<sup><font size=
|
||||||
|
"-2">TM</font></sup> 文件</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
下面列出了有限几组 JDK 文件和目录,供应商在再分发 Java<sup><font size=
|
||||||
|
"-2">TM</font></sup> Runtime Environment (JRE<sup><font size=
|
||||||
|
"-2">TM</font></sup>) 时,可能会将这些文件和目录随附其中。不能单独对它们进行再分发,而必须随相同版本的 JRE 一起分发。所有路径都是相对 JDK 的顶层目录而言的。对于任何已包含的可执行文件,应包含相应的手册页(包含下面列出的以 <code>bin/</code> 开头的路径,适用于 Solaris<sup><font size="-2">TM</font></sup> 操作系统和 Linux)。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><code>jre/lib/cmm/PYCC.pf</code></dt>
|
||||||
|
|
||||||
|
<dd>颜色配置文件。仅当用户希望在 PYCC 颜色区间与另一个颜色区间之间进行转换时才需要用到此文件。</dd>
|
||||||
|
|
||||||
|
<dt>位于 <code>jre/lib/fonts/</code> 目录中的所有 <code>.ttf</code> 字体文件。</dt>
|
||||||
|
|
||||||
|
<dd>请注意,JRE 中已包含 LucidaSansRegular.ttf 字体,因此无需从 JDK 中引入该文件。</dd>
|
||||||
|
|
||||||
|
<dt><code>jre/lib/audio/soundbank.gm</code></dt>
|
||||||
|
|
||||||
|
<dd>JDK 中具有该 MIDI 声音库,但为了减小 JRE 下载包所占的空间,已从 JRE 中删除该库。但是,对于 MIDI 回放,声音库文件是必需的,因此在再分发 JRE 时可能将 JDK 的 <code>soundbank.gm</code> 文件随附其中(由供应商决定)。可从 Java Sound Web 站点获得若干加强的 MIDI 声音库版本,该站点如下:<a href=
|
||||||
|
"http://java.sun.com/products/java-media/sound/">http://java.sun.com/products/java-media/sound/</a>。在再分发 JRE 时,可能将这些备用声音库随附其中。</dd>
|
||||||
|
|
||||||
|
<dt>javac 字节码编译器由下列文件组成:</dt>
|
||||||
|
|
||||||
|
<dd><code>bin/javac</code> [Solaris<sup><font size="-2">TM</font></sup> 操作系统和 Linux]<br> <code>bin/sparcv9/javac</code> [Solaris<sup><font size="-2">TM</font></sup> 操作系统(SPARC(R) 平台版)]<br> <code>bin/amd64/javac</code> [Solaris<sup><font size="-2">TM</font></sup> 操作系统 (AMD)]<br> <code>bin/javac.exe</code> [Microsoft Windows]<br> <code>lib/tools.jar</code> [所有平台]</dd>
|
||||||
|
|
||||||
|
<dt>注释处理工具由下列文件组成:</dt>
|
||||||
|
<dd><code>lib/tools.jar</code> [所有平台]<br>
|
||||||
|
<dd><code>bin/apt</code> [Solaris<sup><font size="-2">TM</font></sup> 操作系统和 Linux]<br> <code>bin/sparcv9/apt</code> [Solaris<sup><font size="-2">TM</font></sup> 操作系统(SPARC(R) 平台版)]<br> <code>bin/amd64/apt</code> [Solaris<sup><font size="-2">TM</font></sup> 操作系统 (AMD)]<br> <code>bin/apt.exe</code> [Microsoft Windows]</dd>
|
||||||
|
|
||||||
|
<dt><code>lib/jconsole.jar</code></dt>
|
||||||
|
|
||||||
|
<dd>Jconsole 应用程序。注意:</dd>
|
||||||
|
Jconsole 应用程序要求使用动态连接机制。</dd>
|
||||||
|
|
||||||
|
<dt>动态连接机制由下列文件组成:</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [所有平台]<br>
|
||||||
|
<code>jre/lib/sparc/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统(SPARC(R) 平台版)和 Linux]
|
||||||
|
<br>
|
||||||
|
<code>jre/lib/sparcv9/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统(SPARC(R) 平台版)和 Linux]
|
||||||
|
<br>
|
||||||
|
<code>jre/lib/i386/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统 (x86) 和 Linux]<br>
|
||||||
|
<code>jre/lib/amd64/libattach.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统 (AMD) 和 Linux]
|
||||||
|
<code>jre\bin\attach.dll</code> [Microsoft Windows]<br></dd>
|
||||||
|
|
||||||
|
<dt>Java 平台调试器体系结构实现由
|
||||||
|
在上述动态连接部分中显示的文件和
|
||||||
|
下列文件组成:</dt>
|
||||||
|
|
||||||
|
<dd><code>lib/tools.jar</code> [所有平台]<br>
|
||||||
|
<code>lib/sa-jdi.jar</code> [所有平台]<br>
|
||||||
|
<code>jre/lib/sparc/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统(SPARC(R) 平台版)和 Linux]
|
||||||
|
<br>
|
||||||
|
<code>jre/lib/sparcv9/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统(SPARC(R) 平台版)和 Linux]
|
||||||
|
<br>
|
||||||
|
<code>jre/lib/i386/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统 (x86) 和 Linux]<br>
|
||||||
|
<code>jre/lib/amd64/libsaproc.so</code> [Solaris<sup><font size=
|
||||||
|
"-2">TM</font></sup> 操作系统 (AMD) 和 Linux]<br></dd>
|
||||||
|
|
||||||
|
<dt><code>jre\bin\server\</code></dt>
|
||||||
|
|
||||||
|
<dd>在 Microsoft Windows 平台上,JDK 同时包含 Java HotSpot<sup><font size="-2">TM</font></sup> 服务器 VM 和 Java HotSpot<sup><font size="-2">TM</font></sup> 客户机 VM。但是,Microsoft Windows 平台上的 JRE 仅包含 Java HotSpot<sup><font size="-2">TM</font></sup> 客户机 VM。如果用户希望和 JRE 一起使用 Java HotSpot<sup><font size="-2">TM</font></sup> 服务器 VM,可以将 JDK 的 <code>jre\bin\server</code> 文件夹复制到 JRE 的 <code>bin\server</code> 目录中。软件供应商可将 Java HotSpot<sup><font size="-2">TM</font></sup> 服务器 VM 随 JRE 一起再分发。</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
|
||||||
|
<h3>无限加强的 Java 加密法扩展</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
由于某些国家/地区存在进口控制限制,因此 JDK 和 JRE 随附的 Java 加密法扩展 (JCE) 策略文件允许使用强大但有限的加密法。这些文件位于<br> <br> <code><java-home>/lib/security/local_policy.jar</code><br> <code><java-home>/lib/security/US_export_policy.jar</code><br> <br>其中 <code><java-home></code> 是 JDK 的 <code>jre</code> 目录或 JRE 的顶层目录。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
对于那些位于符合条件的国家/地区的用户,可以从 JDK Web 站点获取不对加密技术的强度指定任何限制的无限加强版文件。位于符合条件的国家/地区的用户可以下载无限加强版文件,并用这些文件替换强度有限的 jar 文件。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h3>Cacerts 证书文件</h3>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
可以在位于以下位置的 Java SE 证书文件中添加或删除根 CA 证书
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<code><java-home>/lib/security/cacerts</code>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
有关详细信息,请参见 keytool 文档中的 <a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/tools/solaris/keytool.html#cacerts">cacerts 证书文件</a>一节。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="endorsed" id="endorsed"></a>Java 签名标准覆盖机制</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
需时常更新 Java 平台,以便并入在 Java Community Process <font size="-2"><sup>SM</sup></font> (JCP<font size=
|
||||||
|
"-2"><sup>SM</sup></font> <a href=
|
||||||
|
"http://www.jcp.org/">http://www.jcp.org/</a>) 之外创建的较新版本的标准(<i>签名标准</i>),或将该平台中所包含的技术版本更新为该技术相应的较新的独立版本(<i>独立技术</i>)。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<i>签名标准覆盖机制</i>提供了一种方法,可将执行签名标准或独立技术的较新版本的类和界面并入 Java 平台中。
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
有关签名标准覆盖机制的详细信息,包括该机制进行覆盖时可能用到的平台包的列表,请参见
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
<a href=
|
||||||
|
"http://java.sun.com/javase/6/docs/technotes/guides/standards/">http://java.sun.com/javase/6/docs/technotes/guides/standards/</a>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<h2><a name="javadb" id="javadb"></a>Java DB</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
分发包 Java DB,它是 Sun Microsystems
|
||||||
|
的 Apache Derby 纯 Java 数据库技术的分发。
|
||||||
|
默认安装位置为:
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li>Solaris: <code>/opt/SUNWjavadb</code></li>
|
||||||
|
|
||||||
|
<li>Linux: <code>/opt/sun/javadb</code></li>
|
||||||
|
|
||||||
|
<li>Windows: <code>C:\Program Files\Sun\JavaDB</code></li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p>有关 Java DB 和 Derby 的信息(包括用户和 API 文档、Java DB
|
||||||
|
的功能以及更多资源),
|
||||||
|
请参见上述目录中的 index.html 文件。</p>
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
|
||||||
|
<h2><a name="webpages" id="webpages"></a>Web 页</h2>
|
||||||
|
|
||||||
|
<blockquote>
|
||||||
|
有关详细信息,请参阅万维网上的下列 Sun Microsystems 页面:
|
||||||
|
</blockquote>
|
||||||
|
|
||||||
|
<dl>
|
||||||
|
<dd>
|
||||||
|
<dl>
|
||||||
|
<dt><a href="http://java.sun.com/">http://java.sun.com/</a></dt>
|
||||||
|
|
||||||
|
<dd>Java 软件 Web 站点,包含有关 Java 技术、产品信息、新闻和软件特性的最新信息。</dd>
|
||||||
|
|
||||||
|
<dt><a href=
|
||||||
|
"http://java.sun.com/docs">http://java.sun.com/docs</a></dt>
|
||||||
|
|
||||||
|
<dd>Java<sup><font size="-2">TM</font></sup> 平台文档,包含白皮书、Java 教程以及其他文档。</dd>
|
||||||
|
|
||||||
|
<dt><a href=
|
||||||
|
"http://developer.java.sun.com/">http://developer.java.sun.com</a></dt>
|
||||||
|
|
||||||
|
<dd>开发者服务 Web 站点(需要进行免费注册)。其他技术信息、新闻和软件特性;用户论坛;支持信息等等。</dd>
|
||||||
|
|
||||||
|
<dt><a href=
|
||||||
|
"http://java.sun.com/products/">http://java.sun.com/products/</a></dt>
|
||||||
|
|
||||||
|
<dd>Java 技术产品和 API</dd>
|
||||||
|
</dl>
|
||||||
|
</dd>
|
||||||
|
</dl>
|
||||||
|
<hr>
|
||||||
|
|
||||||
|
<p><font size="2">Java<sup><font size="-2">TM</font></sup> Development Kit (JDK<sup><font size="-2">TM</font></sup>) 是 Sun Microsystems<sup><font size="-2">TM</font></sup>, Inc. 的产品。<br> <br> 版权所有 (C) 2009 Sun Microsystems, Inc.<br> 4150 Network Circle, Santa Clara, California 95054, U.S.A.<br> 保留所有权利。</font></p>
|
||||||
|
<script type="text/javascript" language="JavaScript" src="/js/omi/jsc/s_code_remote.js">
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
</html>
|
123
extra/source/jdk-6/jdk.SlackBuild
Executable file
123
extra/source/jdk-6/jdk.SlackBuild
Executable file
|
@ -0,0 +1,123 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
VERSION=6u16
|
||||||
|
DVER=1.6.0_16
|
||||||
|
ARCH=x86_64 # only determines the lib path locations
|
||||||
|
JAVA_ARCH=${JAVA_ARCH:-x64} # or i586 if you want the 32bit version
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$JAVA_ARCH" = "x64" ]; then
|
||||||
|
LIB_ARCH=amd64
|
||||||
|
else
|
||||||
|
LIB_ARCH=i386
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$ARCH" = "x86_64" ]; then
|
||||||
|
LIBDIRSUFFIX="64"
|
||||||
|
else
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-jdk
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $TMP $PKG
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}
|
||||||
|
cd usr/lib${LIBDIRSUFFIX}
|
||||||
|
yes yes | sh $CWD/jdk-${VERSION}-linux-${JAVA_ARCH}.bin || exit 1
|
||||||
|
mkdir -p $PKG/etc/profile.d
|
||||||
|
for file in $(ls $CWD/profile.d/*) ; do
|
||||||
|
cat $file | sed -e "s#lib/java#lib${LIBDIRSUFFIX}/java#" \
|
||||||
|
> $PKG/etc/profile.d/$(basename $file)
|
||||||
|
done
|
||||||
|
chown -R root.root $PKG
|
||||||
|
find $PKG \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400
|
||||||
|
\) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
chmod 755 $PKG/etc/profile.d/*
|
||||||
|
( cd $PKG/usr/lib${LIBDIRSUFFIX}
|
||||||
|
mv jdk${DVER} java || exit 1
|
||||||
|
ln -sf java jdk${DVER}
|
||||||
|
) || exit 1
|
||||||
|
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
|
||||||
|
( cd $PKG/usr/lib${LIBDIRSUFFIX}/mozilla/plugins
|
||||||
|
ln -sf /usr/lib${LIBDIRSUFFIX}/java/jre/lib/${LIB_ARCH}/libnpjp2.so libnpjp2.so
|
||||||
|
)
|
||||||
|
( cd $PKG/usr/lib${LIBDIRSUFFIX}
|
||||||
|
ln -sf ./java/jre/lib/${LIB_ARCH}/server/libjvm.so .
|
||||||
|
)
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
cat << EOF > $PKG/install/doinst.sh
|
||||||
|
|
||||||
|
# Clean up a potential upgrade mess caused by changing the
|
||||||
|
# installation directory to /usr/lib${LIBDIRSUFFIX}/java/:
|
||||||
|
if [ -L usr/lib${LIBDIRSUFFIX}/java ]; then
|
||||||
|
rm -rf usr/lib${LIBDIRSUFFIX}/java
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/java/man
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/java/jre/lib/${LIB_ARCH}/server
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/java/jre/lib/${LIB_ARCH}/client
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/java/jre/javaws
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/java/jre/bin
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/java/bin
|
||||||
|
mkdir -p usr/lib${LIBDIRSUFFIX}/mozilla/plugins
|
||||||
|
fi
|
||||||
|
if [ -L ControlPanel ]; then
|
||||||
|
rm -f ControlPanel
|
||||||
|
fi
|
||||||
|
if [ -L ja ]; then
|
||||||
|
rm -f ja
|
||||||
|
fi
|
||||||
|
if [ -L javaws ]; then
|
||||||
|
rm -f javaws
|
||||||
|
fi
|
||||||
|
if [ -L libjsig.so ]; then
|
||||||
|
rm -f libjsig.so
|
||||||
|
fi
|
||||||
|
# End cleanup.
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Install the desktop/mime files:
|
||||||
|
mkdir -p $PKG/usr/share/{applications,icons,mime}
|
||||||
|
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/java/jre/lib/desktop/applications/* \
|
||||||
|
$PKG/usr/share/applications/
|
||||||
|
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/java/jre/lib/desktop/icons/hicolor \
|
||||||
|
$PKG/usr/share/icons/
|
||||||
|
cp -a $PKG/usr/lib${LIBDIRSUFFIX}/java/jre/lib/desktop/mime/packages \
|
||||||
|
$PKG/usr/share/mime/
|
||||||
|
|
||||||
|
# We ship the package unmodified, so we do not compress manpages.
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/jdk-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
|
||||||
|
|
4
extra/source/jdk-6/profile.d/jdk.csh
Executable file
4
extra/source/jdk-6/profile.d/jdk.csh
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/csh
|
||||||
|
setenv JAVA_HOME /usr/lib/java
|
||||||
|
setenv MANPATH ${MANPATH}:${JAVA_HOME}/man
|
||||||
|
setenv PATH ${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin
|
4
extra/source/jdk-6/profile.d/jdk.sh
Executable file
4
extra/source/jdk-6/profile.d/jdk.sh
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
export JAVA_HOME=/usr/lib/java
|
||||||
|
export MANPATH="${MANPATH}:${JAVA_HOME}/man"
|
||||||
|
export PATH="${PATH}:${JAVA_HOME}/bin:${JAVA_HOME}/jre/bin"
|
79
extra/source/jdk-6/register.html
Normal file
79
extra/source/jdk-6/register.html
Normal file
|
@ -0,0 +1,79 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>Register your JDK</title>
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
.style1 {font-family: Arial, Helvetica, sans-serif}
|
||||||
|
.style3 {font-family: Arial, Helvetica, sans-serif; font-size: small; }
|
||||||
|
input.buttonblue,input.defbutton{ background: #3F6580;border-right:1px solid #304C60;border-bottom:1px solid #304C60;border-left:1px solid #BACDD9;border-top:1px solid #BACDD9; font-weight:bold; color:#FFFFFF; font-size:.8em; height:1.9em}
|
||||||
|
input.buttonblue:hover{color:#fbe249;}
|
||||||
|
a:link,a.named:visited{color:#3E6B8A}
|
||||||
|
a:hover{text-decoration:underline}
|
||||||
|
a{text-decoration:none}
|
||||||
|
a:visited,a:visited code{color:#917E9C}
|
||||||
|
-->
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<table width="813" border="0" cellpadding="3" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td width="7" height="78"> </td>
|
||||||
|
<td width="794" align="left" valign="top">
|
||||||
|
<img src="file:/tmp/package-jdk/usr/lib64/jdk1.6.0_15/jre/lib/servicetag/jdk_header.png" width="783" height="63"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td><p class="style1">Thank you for installing the
|
||||||
|
<strong> Java Development Kit Version 6 Update 15 </strong>
|
||||||
|
from Sun Microsystems. </p>
|
||||||
|
<p class="style1">Registering your product will give you the following benefits:</p>
|
||||||
|
<ul class="style1">
|
||||||
|
<li> Notification of new versions, patches, and updates</li>
|
||||||
|
<li> Special offers on Sun developer products, services and training </li>
|
||||||
|
<li> Access to early releases and documentation </li>
|
||||||
|
</ul>
|
||||||
|
<p class="style1">Product registration is FREE, quick and easy!</p>
|
||||||
|
<blockquote>
|
||||||
|
<p class="style1">All you need is a Sun Developer Network or other Sun Online account. If you don't already have one, you will be prompted to create one. </p>
|
||||||
|
<table width="708" border="0" cellspacing="0" cellpadding="3">
|
||||||
|
<tr valign="top">
|
||||||
|
<td width="126" height="35">
|
||||||
|
<form name="form1" method="post" action="https://inventory.sun.com/RegistrationWeb/register/urn:st:39938c22-57ad-43b4-8953-b7833a960447?product=jdk&locale=en" enctype="text/xml">
|
||||||
|
<input type="hidden" name="servicetag_payload" value="<?xml version=%221.0%22 encoding=%22UTF-8%22 standalone=%22no%22?><registration_data version=%221.0%22><environment><hostname>midas64</hostname><hostId>00000000</hostId><osName>Linux</osName><osVersion>2.6.29.6</osVersion><osArchitecture>amd64</osArchitecture><systemModel>AuthenticAMD</systemModel><systemManufacturer>gigabyte technology co., ltd.</systemManufacturer><cpuManufacturer>AuthenticAMD</cpuManufacturer><serialNumber>serial number</serialNumber></environment><registry urn=%22urn:st:39938c22-57ad-43b4-8953-b7833a960447%22 version=%221.0%22><service_tag><instance_urn>urn:st:771d40cb-57e3-4969-b32a-769e55e82934</instance_urn><product_name>Java SE 6 Development Kit</product_name><product_version>1.6.0_15</product_version><product_urn>urn:uuid:b58ef9a8-5ae8-11db-a023-080020a9ed93</product_urn><product_parent_urn>urn:uuid:fdc90b21-018d-4cab-b866-612c7c119ed3</product_parent_urn><product_parent>Java Platform Standard Edition 6 (Java SE 6)</product_parent><product_defined_inst_id>id=1.6.0_15-b03 amd64,dir=/tmp/package-jdk/usr/lib64/jdk1.6.0_15/jre</product_defined_inst_id><product_vendor>Sun Microsystems</product_vendor><platform_arch>amd64</platform_arch><timestamp>2009-08-06 00:48:47 GMT</timestamp><container>global</container><source>jdk-6u15-fcs-bin-b03-linux-amd64-02_jul_2009.bin</source><installer_uid>-1</installer_uid></service_tag></registry></registration_data>">
|
||||||
|
<input type="submit" name="Submit"border="0" class="buttonblue" onmouseover="this.style.color='#fbe249';" onmouseout="this.style.color='#FFF';" value="Register My JDK">
|
||||||
|
</form></td>
|
||||||
|
<td width="570"><span class="style3">You need to be connected to the Internet to register this Sun product. </span></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</blockquote>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td bgcolor="#f1f7df">
|
||||||
|
<p class="style3">Sun Microsystems, Inc. respects your privacy.
|
||||||
|
We will use your personal information for communications
|
||||||
|
and management of your Sun Online Account, the services
|
||||||
|
and applications you access using your Sun Online Account,
|
||||||
|
and the products and systems you register with your Sun Online Account.</p>
|
||||||
|
<p class="style3">For more information on the data that will be collected as
|
||||||
|
part of the registration process and how it will be managed <br>
|
||||||
|
see <a href="http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html</a>. <br>
|
||||||
|
<br>
|
||||||
|
For more information on Sun's Privacy Policy see <a href="http://www.sun.com/privacy/">http://www.sun.com/privacy/</a> or contact <a class="moz-txt-link-rfc2396E" href="mailto:privacy@sun.com">privacy@sun.com.</a></p></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
66
extra/source/jdk-6/register_ja.html
Normal file
66
extra/source/jdk-6/register_ja.html
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.or
|
||||||
|
g/TR/html4/loose.dtd">
|
||||||
|
<html><head>
|
||||||
|
|
||||||
|
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>JDK 製品登録</title>
|
||||||
|
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
.style1 {font-family: Arial, Helvetica, sans-serif}
|
||||||
|
.style3 {font-family: Arial, Helvetica, sans-serif; font-size: small; }
|
||||||
|
input.buttonblue,input.defbutton{ background: #3F6580;border-right:1px solid #304C60;border-bottom:1px solid #304C60;border-left:1px solid #BACDD9;border-top:1px solid #BACDD9; font-weight:bold; color:#FFFFFF; font-size:.8em; height:1.9em}
|
||||||
|
input.buttonblue:hover{color:#fbe249;}
|
||||||
|
a:link,a.named:visited{color:#3E6B8A}
|
||||||
|
a:hover{text-decoration:underline}
|
||||||
|
a{text-decoration:none}
|
||||||
|
a:visited,a:visited code{color:#917E9C}
|
||||||
|
-->
|
||||||
|
</style></head><body>
|
||||||
|
<table border="0" cellpadding="3" cellspacing="0" width="813">
|
||||||
|
<tbody><tr>
|
||||||
|
<td height="78" width="7"> </td>
|
||||||
|
<td align="left" valign="top" width="794"><img src="file:/tmp/package-jdk/usr/lib64/jdk1.6.0_15/jre/lib/servicetag/jdk_header.png" height="63" width="783"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
|
||||||
|
<td><p class="style1">Sun Microsystems の<strong> Java Development Kit Version 6 Update 15 </strong>をインストールしていただき、ありがとうございます。 </p>
|
||||||
|
<p class="style1">製品登録をすると、次のような特典を受けることができます。</p>
|
||||||
|
<ul class="style1">
|
||||||
|
<li> 最新のバージョン、パッチ、および更新についての通知</li>
|
||||||
|
<li> Sun の開発者向け製品、サービス、およびトレーニングの特別販売 </li>
|
||||||
|
<li> アーリーリリースおよびドキュメントへのアクセス </li>
|
||||||
|
</ul>
|
||||||
|
<p class="style1">製品登録は無料であり、迅速で簡単です。</p>
|
||||||
|
<blockquote>
|
||||||
|
<p class="style1">必要になるのは、Sun 開発者向けネットワークアカウントまたはその他の Sun オンラインアカウントだけです。 まだアカウントがない場合は、アカウントの作成が求められます。 </p>
|
||||||
|
<table width="708" border="0" cellspacing="0" cellpadding="3">
|
||||||
|
<tr valign="top">
|
||||||
|
<td width="126" height="35"><form name="form1" method="post" action="https://inventory.sun.com/RegistrationWeb/register/urn:st:39938c22-57ad-43b4-8953-b7833a960447?product=jdk&locale=ja" enctype="text/xml">
|
||||||
|
<input type="hidden" name="servicetag_payload" value="<?xml version=%221.0%22 encoding=%22UTF-8%22 standalone=%22no%22?><registration_data version=%221.0%22><environment><hostname>midas64</hostname><hostId>00000000</hostId><osName>Linux</osName><osVersion>2.6.29.6</osVersion><osArchitecture>amd64</osArchitecture><systemModel>AuthenticAMD</systemModel><systemManufacturer>gigabyte technology co., ltd.</systemManufacturer><cpuManufacturer>AuthenticAMD</cpuManufacturer><serialNumber>serial number</serialNumber></environment><registry urn=%22urn:st:39938c22-57ad-43b4-8953-b7833a960447%22 version=%221.0%22><service_tag><instance_urn>urn:st:771d40cb-57e3-4969-b32a-769e55e82934</instance_urn><product_name>Java SE 6 Development Kit</product_name><product_version>1.6.0_15</product_version><product_urn>urn:uuid:b58ef9a8-5ae8-11db-a023-080020a9ed93</product_urn><product_parent_urn>urn:uuid:fdc90b21-018d-4cab-b866-612c7c119ed3</product_parent_urn><product_parent>Java Platform Standard Edition 6 (Java SE 6)</product_parent><product_defined_inst_id>id=1.6.0_15-b03 amd64,dir=/tmp/package-jdk/usr/lib64/jdk1.6.0_15/jre</product_defined_inst_id><product_vendor>Sun Microsystems</product_vendor><platform_arch>amd64</platform_arch><timestamp>2009-08-06 00:48:47 GMT</timestamp><container>global</container><source>jdk-6u15-fcs-bin-b03-linux-amd64-02_jul_2009.bin</source><installer_uid>-1</installer_uid></service_tag></registry></registration_data>">
|
||||||
|
<input type="submit" name="Submit"border="0" class="buttonblue" onmouseover="this.style.color='#fbe249';" onmouseout="this.style.color='#FFF';" value="JDK 製品登録">
|
||||||
|
</form></td>
|
||||||
|
<td width="570"><span class="style3">この Sun 製品を登録するには、インターネットに接続している必要があります。 </span></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</blockquote>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td bgcolor="#f1f7df">
|
||||||
|
<p class="style3">Sun Microsystems, Inc. は、お客様のプライバシーを尊重します。 お客様の個人情報は、お客様の Sun オンラインアカウント、お客様が Sun オンラインアカウントを使用してアクセスするサービスとアプリケーション、およびお客様が Sun オンラインアカウントで登録する製品とシステムの通信と管理に使用します。</p>
|
||||||
|
<p class="style3">登録の際に収集されるデータや、それらがどのように管理されるかについての詳細は、<br><a href="http://java.sun.com/javase/ja/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/ja/registration/JDKRegistrationPrivacy.html</a> を参照してください。 <br> <br> Sun のプライバシーポリシーについての詳細は、<a href="http://jp.sun.com/privacy/">http://jp.sun.com/privacy/</a> を参照するか、<a class="moz-txt-link-rfc2396E" href="http://jp.sun.com/cgi-bin/contact/comment.cgi?url=http://jp.sun.com/privacy/">お問い合わせフォーム</a>からお問い合わせください。</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
66
extra/source/jdk-6/register_zh_CN.html
Normal file
66
extra/source/jdk-6/register_zh_CN.html
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
||||||
|
"http://www.w3.org/TR/html4/loose.dtd">
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<title>注册您的 JDK</title>
|
||||||
|
<style type="text/css">
|
||||||
|
<!--
|
||||||
|
.style1 {font-family: Arial, Helvetica, sans-serif}
|
||||||
|
.style3 {font-family: Arial, Helvetica, sans-serif; font-size: small; }
|
||||||
|
input.buttonblue,input.defbutton{ background: #3F6580;border-right:1px solid #304C60;border-bottom:1px solid #304C60;border-left:1px solid #BACDD9;border-top:1px solid #BACDD9; font-weight:bold; color:#FFFFFF; font-size:.8em; height:1.9em}
|
||||||
|
input.buttonblue:hover{color:#fbe249;}
|
||||||
|
a:link,a.named:visited{color:#3E6B8A}
|
||||||
|
a:hover{text-decoration:underline}
|
||||||
|
a{text-decoration:none}
|
||||||
|
a:visited,a:visited code{color:#917E9C}
|
||||||
|
-->
|
||||||
|
</style></head><body>
|
||||||
|
<table border="0" cellpadding="3" cellspacing="0" width="813">
|
||||||
|
<tbody><tr>
|
||||||
|
<td height="78" width="7"> </td>
|
||||||
|
<td align="left" valign="top" width="794"><img src="file:/tmp/package-jdk/usr/lib64/jdk1.6.0_15/jre/lib/servicetag/jdk_header.png" height="63" width="783"></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
|
||||||
|
<td><p class="style1">感谢您安装 Sun Microsystems 的 <strong>Java Development Kit Version 6 Update 15</strong>。 </p>
|
||||||
|
<p class="style1">注册产品后您将获得如下增值服务:</p>
|
||||||
|
<ul class="style1">
|
||||||
|
<li> 获得新版本、修补程序和更新的通知服务</li>
|
||||||
|
<li> 获得有关 Sun 开发者产品、服务和培训的优惠 </li>
|
||||||
|
<li> 获得对早期版本和文档的访问权限 </li>
|
||||||
|
</ul>
|
||||||
|
<p class="style1">产品注册是免费的,即快速又轻松!</p>
|
||||||
|
<blockquote>
|
||||||
|
<p class="style1">您需要具有 Sun 开发者网络或其他 Sun 联机帐户。如果您没有,系统将提示您创建一个。 </p>
|
||||||
|
<table width="708" border="0" cellspacing="0" cellpadding="3">
|
||||||
|
<tr valign="top">
|
||||||
|
<td width="126" height="35"><form name="form1" method="post" action="https://inventory.sun.com/RegistrationWeb/register/urn:st:39938c22-57ad-43b4-8953-b7833a960447?product=jdk&locale=zh_CN" enctype="text/xml">
|
||||||
|
<input type="hidden" name="servicetag_payload" value="<?xml version=%221.0%22 encoding=%22UTF-8%22 standalone=%22no%22?><registration_data version=%221.0%22><environment><hostname>midas64</hostname><hostId>00000000</hostId><osName>Linux</osName><osVersion>2.6.29.6</osVersion><osArchitecture>amd64</osArchitecture><systemModel>AuthenticAMD</systemModel><systemManufacturer>gigabyte technology co., ltd.</systemManufacturer><cpuManufacturer>AuthenticAMD</cpuManufacturer><serialNumber>serial number</serialNumber></environment><registry urn=%22urn:st:39938c22-57ad-43b4-8953-b7833a960447%22 version=%221.0%22><service_tag><instance_urn>urn:st:771d40cb-57e3-4969-b32a-769e55e82934</instance_urn><product_name>Java SE 6 Development Kit</product_name><product_version>1.6.0_15</product_version><product_urn>urn:uuid:b58ef9a8-5ae8-11db-a023-080020a9ed93</product_urn><product_parent_urn>urn:uuid:fdc90b21-018d-4cab-b866-612c7c119ed3</product_parent_urn><product_parent>Java Platform Standard Edition 6 (Java SE 6)</product_parent><product_defined_inst_id>id=1.6.0_15-b03 amd64,dir=/tmp/package-jdk/usr/lib64/jdk1.6.0_15/jre</product_defined_inst_id><product_vendor>Sun Microsystems</product_vendor><platform_arch>amd64</platform_arch><timestamp>2009-08-06 00:48:47 GMT</timestamp><container>global</container><source>jdk-6u15-fcs-bin-b03-linux-amd64-02_jul_2009.bin</source><installer_uid>-1</installer_uid></service_tag></registry></registration_data>">
|
||||||
|
<input type="submit" name="Submit"border="0" class="buttonblue" onmouseover="this.style.color='#fbe249';" onmouseout="this.style.color='#FFF';" value="注册我的 JDK">
|
||||||
|
</form></td>
|
||||||
|
<td width="570"><span class="style3">您需要连接到 Internet 来注册此 Sun 产品。 </span></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</blockquote>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td bgcolor="#f1f7df">
|
||||||
|
<p class="style3">Sun Microsystems, Inc. 尊重您的隐私。我们会将您的个人信息用于通信和 Sun 联机帐户的管理、Sun 联机帐户访问的服务和应用程序以及用于使用 Sun 联机帐户注册的产品和系统。</p>
|
||||||
|
<p class="style3">有关注册过程中收集的数据以及这些数据的管理方式的更多信息,<br>请访问 <a href="http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html">http://java.sun.com/javase/registration/JDKRegistrationPrivacy.html</a>。<br> <br>有关 Sun 隐私政策的更多信息,请访问 <a href="http://www.sun.com/privacy/">http://www.sun.com/privacy/</a> 或与 <a class="moz-txt-link-rfc2396E" href="mailto:privacy@sun.com">privacy@sun.com</a> 联系。</p></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
18
extra/source/jdk-6/slack-desc
Normal file
18
extra/source/jdk-6/slack-desc
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|' on
|
||||||
|
# the right side marks the last column you can put a character in. You must make
|
||||||
|
# exactly 11 lines for the formatting to be correct. It's also customary to
|
||||||
|
# leave one space after the ':'.
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
jdk: Java(TM) 2 Platform Standard Edition Development Kit 6.0 update 16.
|
||||||
|
jdk:
|
||||||
|
jdk: The Java 2 SDK software includes tools for developing, testing, and
|
||||||
|
jdk: running programs written in the Java programming language. This
|
||||||
|
jdk: package contains everything you need to run Java(TM).
|
||||||
|
jdk:
|
||||||
|
jdk: For additional information, refer to this Sun Microsystems web page:
|
||||||
|
jdk: http://java.sun.com/
|
||||||
|
jdk:
|
||||||
|
jdk:
|
||||||
|
jdk:
|
57
extra/source/kde3-compat/arts/arts.SlackBuild
Executable file
57
extra/source/kde3-compat/arts/arts.SlackBuild
Executable file
|
@ -0,0 +1,57 @@
|
||||||
|
#!/bin/sh
|
||||||
|
CWD=`pwd`
|
||||||
|
TMP=/tmp
|
||||||
|
PKG=$TMP/package-arts
|
||||||
|
|
||||||
|
VERSION=${VERSION:-1.5.10}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-opt1}
|
||||||
|
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG/opt/kde3
|
||||||
|
|
||||||
|
# Avoid a version number in .la files:
|
||||||
|
if [ -d /opt/kde3/lib64/qt3 ]; then
|
||||||
|
QTDIR=/opt/kde3/lib64/qt3
|
||||||
|
fi
|
||||||
|
cd $TMP
|
||||||
|
echo "Building arts-$VERSION.tar.bz2..."
|
||||||
|
tar xjvf $CWD/arts-$VERSION.tar.bz2
|
||||||
|
cd arts-$VERSION
|
||||||
|
|
||||||
|
QTDIR=/opt/kde3/lib64/qt3
|
||||||
|
|
||||||
|
zcat $CWD/arts.tmpdir.diff.gz | patch -p1 --verbose || exit 1
|
||||||
|
|
||||||
|
chown -R root:root .
|
||||||
|
CFLAGS=$CPUOPT \
|
||||||
|
CXXFLAGS=$CPUOPT \
|
||||||
|
./configure \
|
||||||
|
--prefix=/opt/kde3 \
|
||||||
|
--libdir=/opt/kde3/lib64 \
|
||||||
|
--sysconfdir=/opt/kde3/etc \
|
||||||
|
--with-xinerama \
|
||||||
|
--disable-debug \
|
||||||
|
--program-prefix="" \
|
||||||
|
--program-suffix="" \
|
||||||
|
--build=$ARCH-slackware-linux
|
||||||
|
make -j4 || exit 1
|
||||||
|
make install DESTDIR=$PKG
|
||||||
|
|
||||||
|
mkdir -p $PKG/usr/doc/arts-$VERSION
|
||||||
|
cp -a \
|
||||||
|
COPYING* INSTALL doc/NEWS doc/README doc/TODO \
|
||||||
|
$PKG/usr/doc/arts-$VERSION
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
( cd $PKG
|
||||||
|
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
)
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
gzip -9 $PKG/usr/man/man?/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
makepkg -l y -c n ../arts-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
17
extra/source/kde3-compat/arts/arts.tmpdir.diff
Normal file
17
extra/source/kde3-compat/arts/arts.tmpdir.diff
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
--- ./mcop/mcoputils.cc.orig 2006-01-19 10:16:08.000000000 -0600
|
||||||
|
+++ ./mcop/mcoputils.cc 2006-09-19 17:07:50.000000000 -0500
|
||||||
|
@@ -47,7 +47,13 @@
|
||||||
|
result = lstat(tmp_dir, &stat_buf);
|
||||||
|
if ((result == -1) && (errno == ENOENT))
|
||||||
|
{
|
||||||
|
- return 1;
|
||||||
|
+ result = mkdir(tmp_dir, 0700);
|
||||||
|
+ if (result == -1)
|
||||||
|
+ {
|
||||||
|
+ arts_warning("Error: Can not create directory \"%s\".\n", tmp_dir);
|
||||||
|
+ return 1;
|
||||||
|
+ }
|
||||||
|
+ result = stat(tmp_dir, &stat_buf);
|
||||||
|
}
|
||||||
|
if ((result == -1) || (!S_ISDIR(stat_buf.st_mode)))
|
||||||
|
{
|
19
extra/source/kde3-compat/arts/slack-desc
Normal file
19
extra/source/kde3-compat/arts/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
arts: arts (Analog Realtime Synthesizer)
|
||||||
|
arts:
|
||||||
|
arts: aRts is the core sound system for KDE, and is short for "analog
|
||||||
|
arts: realtime synthesizer". aRts is designed to create or process sound
|
||||||
|
arts: using small specialized modules. These may create a waveform, play
|
||||||
|
arts: samples, filter data, add signals, perform effects (like delay,
|
||||||
|
arts: flanger or chorus), or output the data to the soundcard.
|
||||||
|
arts:
|
||||||
|
arts:
|
||||||
|
arts:
|
||||||
|
arts:
|
67
extra/source/kde3-compat/k3b3/k3b3.SlackBuild
Executable file
67
extra/source/kde3-compat/k3b3/k3b3.SlackBuild
Executable file
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/sh
|
||||||
|
CWD=`pwd`
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-k3b3
|
||||||
|
|
||||||
|
VERSION=1.0.5
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=opt1
|
||||||
|
|
||||||
|
if [ "$ARCH" = "i386" ]; then
|
||||||
|
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
|
||||||
|
elif [ "$ARCH" = "i486" ]; then
|
||||||
|
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
elif [ "$ARCH" = "s390" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
elif [ "$ARCH" = "x86_64" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -d $TMP ]; then
|
||||||
|
mkdir -p $TMP
|
||||||
|
fi
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG
|
||||||
|
cd $TMP
|
||||||
|
rm -rf k3b-$VERSION
|
||||||
|
tar xjvf $CWD/k3b-$VERSION.tar.bz2 || exit 1
|
||||||
|
cd k3b-$VERSION
|
||||||
|
chown -R root:root .
|
||||||
|
find . -perm 777 -exec chmod 755 {} \;
|
||||||
|
find . -perm 664 -exec chmod 644 {} \;
|
||||||
|
|
||||||
|
QTDIR=/opt/kde3/lib64/qt3
|
||||||
|
|
||||||
|
# ./configure --help lists --docdir, but it is ignored. Oh well.
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
CXXFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure \
|
||||||
|
--prefix=/opt/kde3 \
|
||||||
|
--libdir=/opt/kde3/lib64 \
|
||||||
|
--sysconfdir=/etc/kde \
|
||||||
|
--docdir=/usr/doc \
|
||||||
|
--without-cdrecord-suid-root \
|
||||||
|
--program-prefix="" \
|
||||||
|
--program-suffix="" \
|
||||||
|
--build=$ARCH-slackware-linux
|
||||||
|
make -j4 || exit 1
|
||||||
|
make install DESTDIR=$PKG
|
||||||
|
|
||||||
|
# Add a .desktop in the compatible location:
|
||||||
|
mkdir -p $PKG/usr/share/applications/kde4
|
||||||
|
( cd $PKG/usr/share/applications/kde4 ; ln -sf /opt/kde3/share/applications/kde/k3b.desktop k3b3.desktop )
|
||||||
|
|
||||||
|
( cd $PKG
|
||||||
|
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
)
|
||||||
|
mkdir -p $PKG/usr/doc/k3b-$VERSION
|
||||||
|
cp -a \
|
||||||
|
AUTHORS COPYING COPYING-DOCS ChangeLog FAQ INSTALL KNOWNBUGS PERMISSIONS README RELEASE_HOWTO TODO k3b.lsm \
|
||||||
|
$PKG/usr/doc/k3b-$VERSION
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
makepkg -l y -c n $TMP/k3b3-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
19
extra/source/kde3-compat/k3b3/slack-desc
Normal file
19
extra/source/kde3-compat/k3b3/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|' on
|
||||||
|
# the right side marks the last column you can put a character in. You must make
|
||||||
|
# exactly 11 lines for the formatting to be correct. It's also customary to
|
||||||
|
# leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
k3b3: k3b3 (The CD Creator, KDE3 version)
|
||||||
|
k3b3:
|
||||||
|
k3b3: K3b makes writing cds under Linux easy. It has an easy to use
|
||||||
|
k3b3: interface and supports CD burning (including on-the-fly), copying,
|
||||||
|
k3b3: erasing, ripping, and more.
|
||||||
|
k3b3:
|
||||||
|
k3b3: K3b was written by Sebastian Trueg, Thomas Froescher,
|
||||||
|
k3b3: Christian Kvasny, and Klaus-Dieter Krannich.
|
||||||
|
k3b3:
|
||||||
|
k3b3: For more information, visit: http://www.k3b.org
|
||||||
|
k3b3:
|
3
extra/source/kde3-compat/kdelibs3/apply-patches.sh
Normal file
3
extra/source/kde3-compat/kdelibs3/apply-patches.sh
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
zcat $CWD/kdelibs-utempter.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
|
||||||
|
zcat $CWD/kdelibs.inotify.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
|
||||||
|
zcat $CWD/kdelibs.no.inotify.externs.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
|
23
extra/source/kde3-compat/kdelibs3/kdelibs-utempter.diff
Normal file
23
extra/source/kde3-compat/kdelibs3/kdelibs-utempter.diff
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
diff -Naur kdelibs-3.5.7.orig/kdecore/kpty.cpp kdelibs-3.5.7/kdecore/kpty.cpp
|
||||||
|
--- kdelibs-3.5.7.orig/kdecore/kpty.cpp 2006-05-22 19:14:21.000000000 +0100
|
||||||
|
+++ kdelibs-3.5.7/kdecore/kpty.cpp 2007-06-10 14:08:18.000000000 +0100
|
||||||
|
@@ -401,7 +401,9 @@
|
||||||
|
#ifdef HAVE_UTEMPTER
|
||||||
|
KProcess_Utmp utmp;
|
||||||
|
utmp.cmdFd = d->masterFd;
|
||||||
|
- utmp << "/usr/sbin/utempter" << "-a" << d->ttyName << "";
|
||||||
|
+ utmp << "/usr/lib/utempter/utempter" << "add";
|
||||||
|
+ if (remotehost)
|
||||||
|
+ utmp << remotehost;
|
||||||
|
utmp.start(KProcess::Block);
|
||||||
|
Q_UNUSED(user);
|
||||||
|
Q_UNUSED(remotehost);
|
||||||
|
@@ -444,7 +446,7 @@
|
||||||
|
#ifdef HAVE_UTEMPTER
|
||||||
|
KProcess_Utmp utmp;
|
||||||
|
utmp.cmdFd = d->masterFd;
|
||||||
|
- utmp << "/usr/sbin/utempter" << "-d" << d->ttyName;
|
||||||
|
+ utmp << "/usr/lib/utempter/utempter" << "del";
|
||||||
|
utmp.start(KProcess::Block);
|
||||||
|
#elif defined(USE_LOGIN)
|
||||||
|
const char *str_ptr = d->ttyName.data();
|
11
extra/source/kde3-compat/kdelibs3/kdelibs.inotify.diff
Normal file
11
extra/source/kde3-compat/kdelibs3/kdelibs.inotify.diff
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./kio/kio/kdirwatch.cpp.orig 2006-07-22 03:16:37.000000000 -0500
|
||||||
|
+++ ./kio/kio/kdirwatch.cpp 2009-06-18 19:27:38.000000000 -0500
|
||||||
|
@@ -71,7 +71,7 @@
|
||||||
|
#include <linux/types.h>
|
||||||
|
// Linux kernel headers are documented to not compile
|
||||||
|
#define _S390_BITOPS_H
|
||||||
|
-#include <linux/inotify.h>
|
||||||
|
+#include <sys/inotify.h>
|
||||||
|
|
||||||
|
static inline int inotify_init (void)
|
||||||
|
{
|
|
@ -0,0 +1,37 @@
|
||||||
|
--- ./kio/kio/kdirwatch.cpp.orig 2009-06-18 19:29:01.000000000 -0500
|
||||||
|
+++ ./kio/kio/kdirwatch.cpp 2009-06-18 19:32:41.000000000 -0500
|
||||||
|
@@ -73,20 +73,20 @@
|
||||||
|
#define _S390_BITOPS_H
|
||||||
|
#include <sys/inotify.h>
|
||||||
|
|
||||||
|
-static inline int inotify_init (void)
|
||||||
|
-{
|
||||||
|
- return syscall (__NR_inotify_init);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static inline int inotify_add_watch (int fd, const char *name, __u32 mask)
|
||||||
|
-{
|
||||||
|
- return syscall (__NR_inotify_add_watch, fd, name, mask);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static inline int inotify_rm_watch (int fd, __u32 wd)
|
||||||
|
-{
|
||||||
|
- return syscall (__NR_inotify_rm_watch, fd, wd);
|
||||||
|
-}
|
||||||
|
+// static inline int inotify_init (void)
|
||||||
|
+// {
|
||||||
|
+// return syscall (__NR_inotify_init);
|
||||||
|
+// }
|
||||||
|
+
|
||||||
|
+// static inline int inotify_add_watch (int fd, const char *name, __u32 mask)
|
||||||
|
+// {
|
||||||
|
+// return syscall (__NR_inotify_add_watch, fd, name, mask);
|
||||||
|
+// }
|
||||||
|
+
|
||||||
|
+// static inline int inotify_rm_watch (int fd, __u32 wd)
|
||||||
|
+// {
|
||||||
|
+// return syscall (__NR_inotify_rm_watch, fd, wd);
|
||||||
|
+// }
|
||||||
|
|
||||||
|
#ifndef IN_ONLYDIR
|
||||||
|
#define IN_ONLYDIR 0x01000000
|
68
extra/source/kde3-compat/kdelibs3/kdelibs3.SlackBuild
Executable file
68
extra/source/kde3-compat/kdelibs3/kdelibs3.SlackBuild
Executable file
|
@ -0,0 +1,68 @@
|
||||||
|
#!/bin/sh
|
||||||
|
CWD=`pwd`
|
||||||
|
TMP=/tmp
|
||||||
|
PKG=$TMP/package-kdelibs
|
||||||
|
|
||||||
|
# Set the config option variables if they are not already set:
|
||||||
|
if [ -r ../KDE.options ]; then
|
||||||
|
. ../KDE.options
|
||||||
|
fi
|
||||||
|
|
||||||
|
# The global options may be overridden here (if needed):
|
||||||
|
if [ -r ./local.options ]; then
|
||||||
|
. ./local.options
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG/usr
|
||||||
|
|
||||||
|
# Avoid a version number in .la files:
|
||||||
|
if [ -d /opt/kde3/lib64/qt ]; then
|
||||||
|
QTDIR=/opt/kde3/lib64/qt3
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $TMP
|
||||||
|
echo "Building kdelibs-$VERSION.tar.bz2..."
|
||||||
|
tar xjvf $CWD/kdelibs-$VERSION.tar.bz2 || exit 1
|
||||||
|
cd kdelibs-$VERSION || exit 1
|
||||||
|
|
||||||
|
if [ -r $CWD/apply-patches.sh ]; then
|
||||||
|
. $CWD/apply-patches.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R root:root .
|
||||||
|
CFLAGS=$CPUOPT \
|
||||||
|
CXXFLAGS=$CPUOPT \
|
||||||
|
./configure \
|
||||||
|
--prefix=/opt/kde3 \
|
||||||
|
--libdir=/opt/kde3/lib64 \
|
||||||
|
--sysconfdir=/opt/kde3/etc \
|
||||||
|
--with-ssl-dir=/usr \
|
||||||
|
--with-xinerama \
|
||||||
|
--disable-debug \
|
||||||
|
--enable-dnotify \
|
||||||
|
--program-prefix="" \
|
||||||
|
--program-suffix="" \
|
||||||
|
--build=$TARGET-slackware-linux
|
||||||
|
|
||||||
|
make $NUMJOBS || exit 1
|
||||||
|
make install DESTDIR=$PKG
|
||||||
|
|
||||||
|
mkdir -p $PKG/usr/doc/kdelibs-$VERSION
|
||||||
|
cp -a \
|
||||||
|
AUTHORS COMPILING COMPILING.html COPYING* DEBUG INSTALL KDE2PORTING.html KDE3PORTING.html NAMING README kdelibs.lsm \
|
||||||
|
$PKG/usr/doc/kdelibs-$VERSION
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
( cd $PKG
|
||||||
|
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
)
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
gzip -9 $PKG/usr/man/man?/*
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
makepkg -l y -c n ../kdelibs3-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
4
extra/source/kde3-compat/kdelibs3/local.options
Normal file
4
extra/source/kde3-compat/kdelibs3/local.options
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
VERSION=3.5.10
|
||||||
|
ARCH=x86_64
|
||||||
|
TARGET=x86_64
|
||||||
|
BUILD=opt1
|
19
extra/source/kde3-compat/kdelibs3/slack-desc
Normal file
19
extra/source/kde3-compat/kdelibs3/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|' on
|
||||||
|
# the right side marks the last column you can put a character in. You must make
|
||||||
|
# exactly 11 lines for the formatting to be correct. It's also customary to
|
||||||
|
# leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
kdelibs3: kdelibs3 (KDE3 runtime libraries)
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3: System libraries and other resources required by KDE3.
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
||||||
|
kdelibs3:
|
9
extra/source/kde3-compat/qt3/doinst.sh
Normal file
9
extra/source/kde3-compat/qt3/doinst.sh
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
## This was causing problems compiling KDE for unknown reasons.
|
||||||
|
## So, we'll symlink the libraries into /opt/kde3 again...
|
||||||
|
# Add QT library directory to /etc/ld.so.conf:
|
||||||
|
if ! grep /opt/kde3/lib etc/ld.so.conf 1> /dev/null 2> /dev/null ; then
|
||||||
|
echo "/opt/kde3/lib" >> etc/ld.so.conf
|
||||||
|
fi
|
||||||
|
if [ -x /sbin/ldconfig ]; then
|
||||||
|
/sbin/ldconfig 2> /dev/null
|
||||||
|
fi
|
22
extra/source/kde3-compat/qt3/profile.d/qt.csh
Executable file
22
extra/source/kde3-compat/qt3/profile.d/qt.csh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/csh
|
||||||
|
# Environment path variables for the Qt package:
|
||||||
|
if ( ! $?QTDIR ) then
|
||||||
|
# It's best to use the generic directory to avoid
|
||||||
|
# compiling in a version-containing path:
|
||||||
|
if ( -d /opt/kde3/lib/qt3 ) then
|
||||||
|
setenv QTDIR /opt/kde3/lib/qt3
|
||||||
|
else
|
||||||
|
# Find the newest Qt directory and set $QTDIR to that:
|
||||||
|
foreach qtd ( /opt/kde3/lib/qt-* )
|
||||||
|
if ( -d $qtd ) then
|
||||||
|
setenv QTDIR $qtd
|
||||||
|
endif
|
||||||
|
end
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
set path = ( $path $QTDIR/bin /opt/kde3/bin )
|
||||||
|
if ( $?CPLUS_INCLUDE_PATH ) then
|
||||||
|
setenv CPLUS_INCLUDE_PATH $QTDIR/include:$CPLUS_INCLUDE_PATH
|
||||||
|
else
|
||||||
|
setenv CPLUS_INCLUDE_PATH $QTDIR/include
|
||||||
|
endif
|
23
extra/source/kde3-compat/qt3/profile.d/qt.sh
Executable file
23
extra/source/kde3-compat/qt3/profile.d/qt.sh
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Environment variables for the Qt package.
|
||||||
|
#
|
||||||
|
# It's best to use the generic directory to avoid
|
||||||
|
# compiling in a version-containing path:
|
||||||
|
if [ -d /opt/kde3/lib/qt3 ]; then
|
||||||
|
QTDIR=/opt/kde3/lib/qt3
|
||||||
|
else
|
||||||
|
# Find the newest Qt directory and set $QTDIR to that:
|
||||||
|
for qtd in /opt/kde3/lib/qt-* ; do
|
||||||
|
if [ -d $qtd ]; then
|
||||||
|
QTDIR=$qtd
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
if [ ! "$CPLUS_INCLUDE_PATH" = "" ]; then
|
||||||
|
CPLUS_INCLUDE_PATH=$QTDIR/include:$CPLUS_INCLUDE_PATH
|
||||||
|
else
|
||||||
|
CPLUS_INCLUDE_PATH=$QTDIR/include
|
||||||
|
fi
|
||||||
|
PATH="$PATH:$QTDIR/bin:/opt/kde3/bin"
|
||||||
|
export QTDIR
|
||||||
|
export CPLUS_INCLUDE_PATH
|
11
extra/source/kde3-compat/qt3/qt-x11.diff
Normal file
11
extra/source/kde3-compat/qt3/qt-x11.diff
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./src/kernel/qgif.h.orig Tue Mar 19 02:31:42 2002
|
||||||
|
+++ ./src/kernel/qgif.h Sun Mar 24 22:14:19 2002
|
||||||
|
@@ -47,7 +47,7 @@
|
||||||
|
#endif // QT_H
|
||||||
|
|
||||||
|
#ifndef QT_BUILTIN_GIF_READER
|
||||||
|
-#define QT_BUILTIN_GIF_READER 0
|
||||||
|
+#define QT_BUILTIN_GIF_READER 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
bool qt_builtin_gif_reader();
|
11
extra/source/kde3-compat/qt3/qt.mysql.h.diff
Normal file
11
extra/source/kde3-compat/qt3/qt.mysql.h.diff
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./src/sql/drivers/mysql/qsql_mysql.h.orig 2002-04-15 03:05:53.000000000 -0700
|
||||||
|
+++ ./src/sql/drivers/mysql/qsql_mysql.h 2002-10-14 14:59:36.000000000 -0700
|
||||||
|
@@ -46,7 +46,7 @@
|
||||||
|
#include <qt_windows.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#include <mysql.h>
|
||||||
|
+#include <mysql/mysql.h>
|
||||||
|
|
||||||
|
#ifdef QT_PLUGIN
|
||||||
|
#define Q_EXPORT_SQLDRIVER_MYSQL
|
11
extra/source/kde3-compat/qt3/qt.x86.cflags.diff
Normal file
11
extra/source/kde3-compat/qt3/qt.x86.cflags.diff
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
--- ./mkspecs/linux-g++/qmake.conf.orig Fri Apr 26 00:48:00 2002
|
||||||
|
+++ ./mkspecs/linux-g++/qmake.conf Tue May 7 12:05:04 2002
|
||||||
|
@@ -18,7 +18,7 @@
|
||||||
|
QMAKE_CFLAGS_DEPS = -M
|
||||||
|
QMAKE_CFLAGS_WARN_ON = -Wall -W
|
||||||
|
QMAKE_CFLAGS_WARN_OFF = -w
|
||||||
|
-QMAKE_CFLAGS_RELEASE = -O2
|
||||||
|
+QMAKE_CFLAGS_RELEASE = -O2 -march=i486 -mtune=i686
|
||||||
|
QMAKE_CFLAGS_DEBUG = -g
|
||||||
|
QMAKE_CFLAGS_SHLIB = -fPIC
|
||||||
|
QMAKE_CFLAGS_YACC = -Wno-unused -Wno-parentheses
|
192
extra/source/kde3-compat/qt3/qt3.SlackBuild
Executable file
192
extra/source/kde3-compat/qt3/qt3.SlackBuild
Executable file
|
@ -0,0 +1,192 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright 2006, 2007, 2008 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
# Build with NODEVEL=<something> after building the other deps to get rid of
|
||||||
|
# the .so, include, and other files not needed for runtime.
|
||||||
|
|
||||||
|
PKGNAM=qt3
|
||||||
|
VERSION=${VERSION:-3.3.8b}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
NUMJOBS=${NUMJOBS:-" -j7 "}
|
||||||
|
BUILD=${BUILD:-opt2}
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-${PKGNAM}
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $TMP $PKG
|
||||||
|
|
||||||
|
# Don't build a devel package (but put a devel SYSTEM on this machine...)
|
||||||
|
NODEVEL=true
|
||||||
|
|
||||||
|
if [ "$ARCH" = "i486" ]; then
|
||||||
|
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
elif [ "$ARCH" = "s390" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
elif [ "$ARCH" = "x86_64" ]; then
|
||||||
|
SLKCFLAGS="-O2 -fPIC"
|
||||||
|
LIBDIRSUFFIX="64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
#cd $TMP
|
||||||
|
# I have *many* times tried building this package in /tmp, and it always
|
||||||
|
# ends up with a "/tmp" directory embedded in some wrong place. Hopefully
|
||||||
|
# the next time I see this comment I'll remember that and not make the
|
||||||
|
# same mistake again just for the sake of doing things "right" (but having
|
||||||
|
# the package come out wrong...)
|
||||||
|
#rm -rf ${PKGNAM}-${VERSION}
|
||||||
|
mkdir -p /opt/kde3/lib${LIBDIRSUFFIX}
|
||||||
|
cd /opt/kde3/lib${LIBDIRSUFFIX}
|
||||||
|
rm -rf qt-3* qt3 qt-3.* qt3-*
|
||||||
|
tar xvf $CWD/qt-x11-free-$VERSION.tar.bz2 || exit 1
|
||||||
|
mv qt-x11-free-$VERSION qt3
|
||||||
|
cd qt3
|
||||||
|
|
||||||
|
if [ $ARCH = "i486" ]; then
|
||||||
|
zcat $CWD/qt.x86.cflags.diff.gz | patch -p1 || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
zcat $CWD/qt-x11.diff.gz | patch -p1 || exit 1
|
||||||
|
zcat $CWD/qt.mysql.h.diff.gz | patch -p1 || exit 1
|
||||||
|
|
||||||
|
# Make sure ownerships and permissions are sane:
|
||||||
|
chown -R root:root .
|
||||||
|
find . \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
QTDIR=/opt/kde3/lib${LIBDIRSUFFIX}/qt3
|
||||||
|
|
||||||
|
# And here's what we are currently using. The "yes" agrees to the GPL, so don't run this script if you
|
||||||
|
# don't agree. :-)
|
||||||
|
echo "yes" | CFLAGS="$SLKCFLAGS" CXXFLAGS="$SLKCFLAGS" ./configure \
|
||||||
|
-prefix /opt/kde3/lib${LIBDIRSUFFIX}/qt3-${VERSION} \
|
||||||
|
-release \
|
||||||
|
-system-zlib \
|
||||||
|
-system-libpng \
|
||||||
|
-qt-imgfmt-png \
|
||||||
|
-system-libmng \
|
||||||
|
-qt-imgfmt-mng \
|
||||||
|
-system-libjpeg \
|
||||||
|
-qt-imgfmt-jpeg \
|
||||||
|
-qt-gif \
|
||||||
|
-thread \
|
||||||
|
-stl \
|
||||||
|
-no-g++-exceptions \
|
||||||
|
-xft \
|
||||||
|
-plugin-sql-mysql \
|
||||||
|
-plugin-style-cde \
|
||||||
|
-plugin-style-compact \
|
||||||
|
-qt-style-motif \
|
||||||
|
-plugin-style-motifplus \
|
||||||
|
-plugin-style-platinum \
|
||||||
|
-plugin-style-sgi \
|
||||||
|
-plugin-style-windows \
|
||||||
|
-enable-opengl
|
||||||
|
|
||||||
|
# We're using '-i' to work around a bug where the build tries to strip html files.
|
||||||
|
# Build the important stuff:
|
||||||
|
make $NUMJOBS -i
|
||||||
|
make install || exit 1
|
||||||
|
make $NUMJOBS -i symlinks sub-src sub-tools
|
||||||
|
make install || exit 1
|
||||||
|
make install INSTALL_ROOT=$PKG || exit 1
|
||||||
|
# Link the shared libraries into /opt/kde3/lib.
|
||||||
|
( cd /opt/kde3/lib${LIBDIRSUFFIX}
|
||||||
|
for file in qt3/lib/*.so* ; do
|
||||||
|
ln -sf $file .
|
||||||
|
done
|
||||||
|
)
|
||||||
|
|
||||||
|
# Leave these out so as not to interfere with Qt4:
|
||||||
|
if [ -z "$NODEVEL" ]; then
|
||||||
|
# Add man pages:
|
||||||
|
mkdir -p $PKG/usr/man
|
||||||
|
cp -a doc/man/* $PKG/usr/man
|
||||||
|
find $PKG/usr/man -type f -exec gzip -9 "{}" \;
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ $ARCH = "i486" ]; then
|
||||||
|
# Put this back as shipped:
|
||||||
|
( cd $PKG/opt/kde3/lib/qt3-${VERSION}
|
||||||
|
zcat $CWD/qt.x86.cflags.diff.gz | patch -p1 -R )
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $PKG/etc/profile.d
|
||||||
|
cat $CWD/profile.d/qt.sh | sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" \
|
||||||
|
> $PKG/etc/profile.d/qt.sh
|
||||||
|
cat $CWD/profile.d/qt.csh | sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" \
|
||||||
|
> $PKG/etc/profile.d/qt.csh
|
||||||
|
chmod 755 $PKG/etc/profile.d/*
|
||||||
|
|
||||||
|
# Strip binaries:
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
|
||||||
|
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
# Put a ton of links to more "normal" places. I'd just use a prefix of /usr, but it
|
||||||
|
# creates a ton of new (and ambiguously named) /usr directories...
|
||||||
|
|
||||||
|
mkdir -p $PKG/opt/kde3/bin
|
||||||
|
( cd $PKG/opt/kde3/bin
|
||||||
|
for file in assistant designer linguist lrelease lupdate moc qm2ts qmake qtconfig uic ; do
|
||||||
|
ln -sf /opt/kde3/lib${LIBDIRSUFFIX}/qt3/bin/$file .
|
||||||
|
done
|
||||||
|
)
|
||||||
|
|
||||||
|
sed -i -e "s#/lib\$#/lib${LIBDIRSUFFIX}#" \
|
||||||
|
$PKG/opt/kde3/lib${LIBDIRSUFFIX}/qt3-$VERSION/lib/pkgconfig/qt-mt.pc || exit 1
|
||||||
|
mkdir -p $PKG/opt/kde3/lib${LIBDIRSUFFIX}/pkgconfig
|
||||||
|
( cd $PKG/opt/kde3/lib${LIBDIRSUFFIX}/pkgconfig
|
||||||
|
ln -sf /opt/kde3/lib${LIBDIRSUFFIX}/qt3/lib/pkgconfig/qt-mt.pc .
|
||||||
|
)
|
||||||
|
|
||||||
|
# Add a documentation directory:
|
||||||
|
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
|
||||||
|
cp -a \
|
||||||
|
FAQ INSTALL LICENSE.GPL* LICENSE.QPL MANIFEST PLATFORMS README* changes* \
|
||||||
|
$PKG/usr/doc/${PKGNAM}-$VERSION
|
||||||
|
|
||||||
|
# Put the actual file tree in /opt/kde3/lib/qt3:
|
||||||
|
mv $PKG/opt/kde3/lib${LIBDIRSUFFIX}/qt3-${VERSION} $PKG/opt/kde3/lib${LIBDIRSUFFIX}/qt3
|
||||||
|
( cd $PKG/opt/kde3/lib${LIBDIRSUFFIX} ; ln -sf qt3 qt3-${VERSION})
|
||||||
|
|
||||||
|
( cd $PKG/opt/kde3/lib${LIBDIRSUFFIX}
|
||||||
|
for file in qt3/lib/*.so* ; do
|
||||||
|
ln -sf $file .
|
||||||
|
done
|
||||||
|
)
|
||||||
|
|
||||||
|
# This much documentation isn't needed for the compat qt3 package -- look in the
|
||||||
|
# source if you need it.
|
||||||
|
rm -rf $PKG/opt/kde3/lib${LIBDIRSUFFIX}/qt3/doc
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
zcat $CWD/doinst.sh.gz | sed -e "s#/lib#/lib${LIBDIRSUFFIX}#" \
|
||||||
|
> $PKG/install/doinst.sh
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
19
extra/source/kde3-compat/qt3/slack-desc
Normal file
19
extra/source/kde3-compat/qt3/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
qt3: Qt3 (a multi-platform C++ graphical user interface toolkit, version 3)
|
||||||
|
qt3:
|
||||||
|
qt3: Qt is a complete and well-developed object-oriented framework for
|
||||||
|
qt3: developing graphical user interface (GUI) applications using C++.
|
||||||
|
qt3:
|
||||||
|
qt3: This release is free only for development of free software for the X
|
||||||
|
qt3: Window System. If you use Qt for developing commercial or other
|
||||||
|
qt3: non-free software, you must have a professional license. Please see
|
||||||
|
qt3: http://www.trolltech.com/purchase.html for information on how to
|
||||||
|
qt3: obtain a professional license.
|
||||||
|
qt3:
|
111
extra/source/mpg123/mpg123.SlackBuild
Executable file
111
extra/source/mpg123/mpg123.SlackBuild
Executable file
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright 2006-2009 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
PKGNAM=mpg123
|
||||||
|
VERSION=${VERSION:-0.65}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
|
|
||||||
|
NUMJOBS=${NUMJOBS:-" -j7 "}
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-${PKGNAM}
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $PKG $TMP
|
||||||
|
|
||||||
|
if [ "$ARCH" = "i486" ]; then
|
||||||
|
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
elif [ "$ARCH" = "s390" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
elif [ "$ARCH" = "x86_64" ]; then
|
||||||
|
SLKCFLAGS="-O2 -fPIC"
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd $TMP
|
||||||
|
rm -rf ${PKGNAM}-${VERSION}
|
||||||
|
tar xvf $CWD/${PKGNAM}-$VERSION.tar.bz2 || exit 1
|
||||||
|
cd ${PKGNAM}-$VERSION || exit 1
|
||||||
|
|
||||||
|
# Make sure ownerships and permissions are sane:
|
||||||
|
chown -R root:root .
|
||||||
|
find . \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Configure:
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure \
|
||||||
|
--prefix=/usr \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--mandir=/usr/man \
|
||||||
|
--program-prefix= \
|
||||||
|
--program-suffix= \
|
||||||
|
--build=$ARCH-slackware-linux
|
||||||
|
|
||||||
|
# Build and install:
|
||||||
|
make $NUMJOBS || make || exit 1
|
||||||
|
make install DESTDIR=$PKG || exit 1
|
||||||
|
|
||||||
|
# Strip binaries:
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
||||||
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
# Compress and link manpages, if any:
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
( cd $PKG/usr/man
|
||||||
|
for manpagedir in $(find . -type d -name "man*") ; do
|
||||||
|
( cd $manpagedir
|
||||||
|
for eachpage in $( find . -type l -maxdepth 1) ; do
|
||||||
|
ln -s $( readlink $eachpage ).gz $eachpage.gz
|
||||||
|
rm $eachpage
|
||||||
|
done
|
||||||
|
gzip -9 *.*
|
||||||
|
)
|
||||||
|
done
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Compress info files, if any:
|
||||||
|
if [ -d $PKG/usr/info ]; then
|
||||||
|
( cd $PKG/usr/info
|
||||||
|
rm -f dir
|
||||||
|
gzip -9 *
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add a documentation directory:
|
||||||
|
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
|
||||||
|
cp -a \
|
||||||
|
AUTHORS COPYING INSTALL NEWS README \
|
||||||
|
doc \
|
||||||
|
$PKG/usr/doc/${PKGNAM}-$VERSION
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
|
||||||
|
|
19
extra/source/mpg123/slack-desc
Normal file
19
extra/source/mpg123/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
mpg123: mpg123 (a command-line mp3 player)
|
||||||
|
mpg123:
|
||||||
|
mpg123: (full?) MPEG 1.0/2.0, Layer 1,2 and 3 support (Layer-3 realtime only
|
||||||
|
mpg123: with a 'fast' machine). Since April 97, 128kbit j-stereo should work
|
||||||
|
mpg123: on a 486DX4-120. With 2:1 down-sampling or using the downmix-mode
|
||||||
|
mpg123: even a 486DX2-66 should play such a stream in realtime!
|
||||||
|
mpg123:
|
||||||
|
mpg123: The mpg123 project was started by Michel Hipp and is now being
|
||||||
|
mpg123: maintained by Thomas Orgis and Nicholas J. Humfrey.
|
||||||
|
mpg123:
|
||||||
|
mpg123:
|
247
extra/source/mplayerplug-in/mplayerplug-in.SlackBuild
Executable file
247
extra/source/mplayerplug-in/mplayerplug-in.SlackBuild
Executable file
|
@ -0,0 +1,247 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# $Id: mplayerplug-in.SlackBuild,v 1.3 2008/08/08 11:36:29 root Exp root $
|
||||||
|
# Copyright (c) 2006-2008 Eric Hameleers <alien@slackware.com>, Eindhoven,NL
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for
|
||||||
|
# any purpose with or without fee is hereby granted, provided that
|
||||||
|
# the above copyright notice and this permission notice appear in all
|
||||||
|
# copies.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Slackware SlackBuild script
|
||||||
|
# ===========================
|
||||||
|
# By: Eric Hameleers <alien@slackware.com>
|
||||||
|
# For: mplayerplug-in
|
||||||
|
# Descr: embedded video player for mozilla based browsers
|
||||||
|
# URL: http://mplayerplug-in.sourceforge.net/
|
||||||
|
# Needs: MPlayer >= 1.0rc2
|
||||||
|
# Changelog:
|
||||||
|
# 3.31-1: 05/Nov/2006 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Initial build.
|
||||||
|
# 3.55-1: 08/Aug/2008 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Update.
|
||||||
|
#
|
||||||
|
# Run 'sh mplayerplug-in.SlackBuild --cleanup' to build a Slackware package.
|
||||||
|
# The package (.txz) plus descriptive .txt file are created in /tmp .
|
||||||
|
# Install using 'installpkg'.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Set initial variables:
|
||||||
|
|
||||||
|
PRGNAM=mplayerplug-in
|
||||||
|
VERSION=${VERSION:-3.55}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
TAG=${TAG:-}
|
||||||
|
|
||||||
|
DOCS="ChangeLog INSTALL LICENSE README TODO"
|
||||||
|
|
||||||
|
# Where do we look for sources?
|
||||||
|
SRCDIR=$(cd $(dirname $0); pwd)
|
||||||
|
|
||||||
|
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
|
||||||
|
TMP=${TMP:-/tmp/build}
|
||||||
|
PKG=$TMP/package-$PRGNAM
|
||||||
|
OUTPUT=${OUTPUT:-/tmp}
|
||||||
|
|
||||||
|
SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz"
|
||||||
|
SRCURL="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.gz"
|
||||||
|
|
||||||
|
##
|
||||||
|
## --- with a little luck, you won't have to edit below this point --- ##
|
||||||
|
##
|
||||||
|
|
||||||
|
# Exit the script on errors:
|
||||||
|
set -e
|
||||||
|
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
|
||||||
|
# Catch unitialized variables:
|
||||||
|
set -u
|
||||||
|
P1=${1:-1}
|
||||||
|
|
||||||
|
# Slackware 11 and up need other option (gcc > 3.3.x)
|
||||||
|
if [ $(gcc -dumpversion | tr -d '.' |cut -c 1-2) -gt 33 ]; then
|
||||||
|
MOPT=tune
|
||||||
|
else
|
||||||
|
MOPT=cpu
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$ARCH" in
|
||||||
|
i486) SLKCFLAGS="-O2 -march=i486 -m${MOPT}=i686"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
s390) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
powerpc) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
x86_64) SLKCFLAGS="-O2 -fPIC"
|
||||||
|
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
|
||||||
|
;;
|
||||||
|
athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Create working directories:
|
||||||
|
mkdir -p $OUTPUT # place for the package to be saved
|
||||||
|
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
|
||||||
|
mkdir -p $PKG # place for the package to be built
|
||||||
|
rm -rf $PKG/* # always erase old package's contents
|
||||||
|
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
|
||||||
|
|
||||||
|
# Source file availability:
|
||||||
|
if ! [ -f ${SOURCE} ]; then
|
||||||
|
if ! [ "x${SRCURL}" == "x" ]; then
|
||||||
|
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
|
||||||
|
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
|
||||||
|
echo "Source '$(basename ${SOURCE})' not available yet..."
|
||||||
|
echo "Will download file to $(dirname $SOURCE)"
|
||||||
|
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
|
||||||
|
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
|
||||||
|
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
|
||||||
|
mv -f "${SOURCE}" "${SOURCE}".FAIL
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "File '$(basename ${SOURCE})' not available... aborting the build."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$P1" == "--download" ]; then
|
||||||
|
echo "Download complete."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- PACKAGE BUILDING ---
|
||||||
|
|
||||||
|
echo "++"
|
||||||
|
echo "|| $PRGNAM-$VERSION"
|
||||||
|
echo "++"
|
||||||
|
|
||||||
|
cd $TMP/tmp-$PRGNAM
|
||||||
|
echo "Extracting the source archive(s) for $PRGNAM..."
|
||||||
|
if $(file ${SOURCE} | grep -q ": bzip2"); then
|
||||||
|
tar -xjvf ${SOURCE}
|
||||||
|
elif $(file ${SOURCE} | grep -q ": gzip"); then
|
||||||
|
tar -xzvf ${SOURCE}
|
||||||
|
fi
|
||||||
|
cd ${PRGNAM}-${VERSION}
|
||||||
|
chown -R root:root .
|
||||||
|
chmod -R u+w,go+r-w,a-s .
|
||||||
|
|
||||||
|
echo Building ...
|
||||||
|
LDFLAGS="$SLKLDFLAGS" \
|
||||||
|
CXXFLAGS="$SLKCFLAGS" \
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--mandir=/usr/man \
|
||||||
|
--enable-wmp \
|
||||||
|
--enable-qt \
|
||||||
|
--enable-rm \
|
||||||
|
--enable-gmp \
|
||||||
|
--enable-dvx \
|
||||||
|
--program-prefix="" \
|
||||||
|
--program-suffix="" \
|
||||||
|
--build=$ARCH-slackware-linux \
|
||||||
|
2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
|
||||||
|
make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
|
||||||
|
|
||||||
|
# Install all the needed stuff to the package dir
|
||||||
|
# Use installwatch if available, to produce a logfile of the installation
|
||||||
|
# process that is more easily readable:
|
||||||
|
if $(which installwatch > /dev/null 2>&1); then
|
||||||
|
installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
|
||||||
|
else
|
||||||
|
make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Prepare the config files:
|
||||||
|
mv $PKG/etc/mplayerplug-in.conf{,.new}
|
||||||
|
mv $PKG/etc/mplayerplug-in.types{,.new}
|
||||||
|
|
||||||
|
# Add this to the doinst.sh
|
||||||
|
! [ -d $PKG/install ] && mkdir -p $PKG/install
|
||||||
|
cat <<EOINS >> $PKG/install/doinst.sh
|
||||||
|
# Handle the incoming configuration files:
|
||||||
|
config() {
|
||||||
|
for infile in \$1; do
|
||||||
|
NEW="\$infile"
|
||||||
|
OLD="\`dirname \$NEW\`/\`basename \$NEW .new\`"
|
||||||
|
# If there's no config file by that name, mv it over:
|
||||||
|
if [ ! -r \$OLD ]; then
|
||||||
|
mv \$NEW \$OLD
|
||||||
|
elif [ "\`cat \$OLD | md5sum\`" = "\`cat \$NEW | md5sum\`" ]; then
|
||||||
|
# toss the redundant copy
|
||||||
|
rm \$NEW
|
||||||
|
fi
|
||||||
|
# Otherwise, we leave the .new copy for the admin to consider...
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
config etc/mplayerplug-in.conf.new
|
||||||
|
config etc/mplayerplug-in.types.new
|
||||||
|
|
||||||
|
EOINS
|
||||||
|
|
||||||
|
# Add documentation:
|
||||||
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
|
||||||
|
cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||||
|
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
find $PKG/usr/doc -type f -exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Compress the man page(s):
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
|
||||||
|
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip binaries:
|
||||||
|
cd $PKG
|
||||||
|
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||||
|
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
|
||||||
|
cd -
|
||||||
|
|
||||||
|
# Add a package description:
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
|
||||||
|
if [ -f $SRCDIR/doinst.sh ]; then
|
||||||
|
cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build the package:
|
||||||
|
cd $PKG
|
||||||
|
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
|
||||||
|
cd $OUTPUT
|
||||||
|
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
|
||||||
|
cd -
|
||||||
|
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
|
||||||
|
if [ -f $PKG/install/slack-required ]; then
|
||||||
|
cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.dep
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Clean up the extra stuff:
|
||||||
|
if [ "$P1" = "--cleanup" ]; then
|
||||||
|
rm -rf $TMP/tmp-$PRGNAM
|
||||||
|
rm -rf $PKG
|
||||||
|
fi
|
19
extra/source/mplayerplug-in/slack-desc
Normal file
19
extra/source/mplayerplug-in/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
mplayerplug-in: mplayerplug-in (embedded video player for mozilla based browsers)
|
||||||
|
mplayerplug-in:
|
||||||
|
mplayerplug-in: mplayerplug-in is a browser plugin to allow playing embedded
|
||||||
|
mplayerplug-in: movies on web pages, using MPlayer.
|
||||||
|
mplayerplug-in: Media is played embedded in the page or in a separate window
|
||||||
|
mplayerplug-in: depending on how the author of the webpage intended the media to
|
||||||
|
mplayerplug-in: be displayed.
|
||||||
|
mplayerplug-in:
|
||||||
|
mplayerplug-in:
|
||||||
|
mplayerplug-in: mplayerplug-in homepage: http://mplayerplug-in.sf.net/
|
||||||
|
mplayerplug-in:
|
5
extra/source/partitionmanager/doinst.sh
Normal file
5
extra/source/partitionmanager/doinst.sh
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
if [ -x /usr/bin/update-desktop-database ]; then
|
||||||
|
/usr/bin/update-desktop-database /usr/share/applications >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
89
extra/source/partitionmanager/partitionmanager.SlackBuild
Executable file
89
extra/source/partitionmanager/partitionmanager.SlackBuild
Executable file
|
@ -0,0 +1,89 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
|
||||||
|
# All rights reserved.
|
||||||
|
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
VERSION=1.0.0-BETA1
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
NUMJOBS=${NUMJOBS:--j6}
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-partitionmanager
|
||||||
|
|
||||||
|
if [ "$ARCH" = "i486" ]; then
|
||||||
|
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
elif [ "$ARCH" = "s390" ]; then
|
||||||
|
SLKCFLAGS="-O2"
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
elif [ "$ARCH" = "x86_64" ]; then
|
||||||
|
SLKCFLAGS="-O2 -fPIC"
|
||||||
|
LIBDIRSUFFIX="64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $TMP $PKG
|
||||||
|
cd $TMP
|
||||||
|
rm -rf partitionmanager-$VERSION
|
||||||
|
tar xvf $CWD/partitionmanager-$VERSION.tar.bz2 || exit 1
|
||||||
|
cd partitionmanager-$VERSION || exit 1
|
||||||
|
# All the rest of KDE uses 'en' not 'en_US' as a documentation language:
|
||||||
|
mv doc/{en_US,en} || exit 1
|
||||||
|
sed -i -e 's/en_US/en/' doc/CMakeLists.txt
|
||||||
|
sed -i -e 's/en_US/en/' doc/en/CMakeLists.txt
|
||||||
|
chown -R root:root .
|
||||||
|
find . \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
mkdir -p build
|
||||||
|
cd build
|
||||||
|
QTDIR=/usr/lib${LIBDIRSUFFIX}/qt \
|
||||||
|
PATH=$QTDIR/bin:$PATH \
|
||||||
|
cmake \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
|
||||||
|
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||||
|
-DLIB_SUFFIX=${LIBDIRSUFFIX} \
|
||||||
|
..
|
||||||
|
make $NUMJOBS || make || exit 1
|
||||||
|
make install DESTDIR=$PKG || exit 1
|
||||||
|
cd -
|
||||||
|
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
||||||
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
mkdir -p $PKG/usr/doc/partitionmanager-$VERSION
|
||||||
|
cp -a \
|
||||||
|
BUGS CHANGES* COPYING* INSTALL README* \
|
||||||
|
$PKG/usr/doc/partitionmanager-$VERSION
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/partitionmanager-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
|
||||||
|
|
19
extra/source/partitionmanager/slack-desc
Normal file
19
extra/source/partitionmanager/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------|
|
||||||
|
partitionmanager: partitionmanager (Graphical partition manager for KDE4)
|
||||||
|
partitionmanager:
|
||||||
|
partitionmanager: Easily manage disks, partitions and filesystems on your KDE
|
||||||
|
partitionmanager: desktop. Create, resize, move, copy, back up, restore or
|
||||||
|
partitionmanager: delete partitions.
|
||||||
|
partitionmanager:
|
||||||
|
partitionmanager:
|
||||||
|
partitionmanager:
|
||||||
|
partitionmanager:
|
||||||
|
partitionmanager:
|
||||||
|
partitionmanager:
|
245
extra/source/recordmydesktop/recordmydesktop.SlackBuild
Executable file
245
extra/source/recordmydesktop/recordmydesktop.SlackBuild
Executable file
|
@ -0,0 +1,245 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# $Id: recordmydesktop.SlackBuild,v 1.8 2009/05/12 22:14:43 root Exp root $
|
||||||
|
# Copyright (c) 2008 Eric Hameleers <alien@slackware.com>
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for
|
||||||
|
# any purpose with or without fee is hereby granted, provided that
|
||||||
|
# the above copyright notice and this permission notice appear in all
|
||||||
|
# copies.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Slackware SlackBuild script
|
||||||
|
# ===========================
|
||||||
|
# By: Eric Hameleers <alien@slackware.com>
|
||||||
|
# For: recordmydesktop
|
||||||
|
# Descr: record desktop sessions with audio and video
|
||||||
|
# URL: http://recordmydesktop.sourceforge.net/
|
||||||
|
# Needs:
|
||||||
|
# Changelog:
|
||||||
|
# 0.3.8.1-1: 17/Dec/2008 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Initial build.
|
||||||
|
# 0.3.8.1-2: 13/may/2009 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Rebuilt for python 2.6.2.
|
||||||
|
#
|
||||||
|
# Run 'sh recordmydesktop.SlackBuild --cleanup' to build a Slackware package.
|
||||||
|
# The package (.txz) and .txt file as well as build logs are created in /tmp .
|
||||||
|
# Install it using 'installpkg'.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Set initial variables:
|
||||||
|
|
||||||
|
PRGNAM=recordmydesktop
|
||||||
|
VERSION=${VERSION:-0.3.8.1}
|
||||||
|
QTVER=${QTVER:-0.3.8}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-2}
|
||||||
|
NUMJOBS=${NUMJOBS:" -j4 "}
|
||||||
|
|
||||||
|
DOCS="AUTHORS COPYING README ChangeLog"
|
||||||
|
QTDOCS="AUTHORS COPYING README ChangeLog"
|
||||||
|
|
||||||
|
# Where do we look for sources?
|
||||||
|
SRCDIR=$(cd $(dirname $0); pwd)
|
||||||
|
|
||||||
|
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
|
||||||
|
TMP=${TMP:-/tmp/build}
|
||||||
|
PKG=$TMP/package-$PRGNAM
|
||||||
|
OUTPUT=${OUTPUT:-/tmp}
|
||||||
|
|
||||||
|
SOURCE[0]="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz"
|
||||||
|
SRCURL[0]="http://downloads.sourceforge.net/${PRGNAM}/${PRGNAM}-${VERSION}.tar.gz"
|
||||||
|
|
||||||
|
SOURCE[1]="$SRCDIR/qt-${PRGNAM}-${QTVER}.tar.gz"
|
||||||
|
SRCURL[1]="http://downloads.sourceforge.net/${PRGNAM}/qt-${PRGNAM}-${QTVER}.tar.gz"
|
||||||
|
|
||||||
|
##
|
||||||
|
## --- with a little luck, you won't have to edit below this point --- ##
|
||||||
|
##
|
||||||
|
|
||||||
|
# Exit the script on errors:
|
||||||
|
set -e
|
||||||
|
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
|
||||||
|
# Catch unitialized variables:
|
||||||
|
set -u
|
||||||
|
P1=${1:-1}
|
||||||
|
|
||||||
|
case "$ARCH" in
|
||||||
|
i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
s390) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
powerpc) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
x86_64) SLKCFLAGS="-O2 -fPIC"
|
||||||
|
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
|
||||||
|
;;
|
||||||
|
athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Create working directories:
|
||||||
|
mkdir -p $OUTPUT # place for the package to be saved
|
||||||
|
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
|
||||||
|
mkdir -p $PKG # place for the package to be built
|
||||||
|
rm -rf $PKG/* # always erase old package's contents
|
||||||
|
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
|
||||||
|
rm -rf $OUTPUT/{configure,make,install,error,makepkg}-$PRGNAM.log
|
||||||
|
# remove old log files
|
||||||
|
|
||||||
|
# Source file availability:
|
||||||
|
for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
|
||||||
|
if ! [ -f ${SOURCE[$i]} ]; then
|
||||||
|
if ! [ "x${SRCURL[$i]}" == "x" ]; then
|
||||||
|
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
|
||||||
|
[ -w "$SRCDIR" ] || SOURCE[$i]="$OUTPUT/$(basename ${SOURCE[$i]})"
|
||||||
|
echo "Source '$(basename ${SOURCE[$i]})' not available yet..."
|
||||||
|
echo "Will download file to $(dirname $SOURCE[$i])"
|
||||||
|
wget -nv -T 20 -O "${SOURCE[$i]}" "${SRCURL[$i]}" || true
|
||||||
|
if [ $? -ne 0 -o ! -s "${SOURCE[$i]}" ]; then
|
||||||
|
echo "Downloading '$(basename ${SOURCE[$i]})' failed.. aborting the build."
|
||||||
|
mv -f "${SOURCE[$i]}" "${SOURCE[$i]}".FAIL
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "File '$(basename ${SOURCE[$i]})' not available.. aborting the build."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$P1" == "--download" ]; then
|
||||||
|
echo "Download complete."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- PACKAGE BUILDING ---
|
||||||
|
|
||||||
|
echo "++"
|
||||||
|
echo "|| $PRGNAM-$VERSION"
|
||||||
|
echo "++"
|
||||||
|
|
||||||
|
cd $TMP/tmp-$PRGNAM
|
||||||
|
echo "Extracting the source archive(s) for $PRGNAM..."
|
||||||
|
for (( i = 0; i < ${#SOURCE[*]}; i++ )) ; do
|
||||||
|
tar -xvf ${SOURCE[$i]}
|
||||||
|
done
|
||||||
|
chown -R root:root *
|
||||||
|
chmod -R u+w,go+r-w,a-s *
|
||||||
|
|
||||||
|
echo Building ...
|
||||||
|
|
||||||
|
# First, the commandline program:
|
||||||
|
cd ${PRGNAM}-${VERSION}
|
||||||
|
LDFLAGS="$SLKLDFLAGS" \
|
||||||
|
CXXFLAGS="$SLKCFLAGS" \
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--mandir=/usr/man \
|
||||||
|
--program-prefix= \
|
||||||
|
--program-suffix= \
|
||||||
|
--build=$ARCH-slackware-linux \
|
||||||
|
2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
|
||||||
|
make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
|
||||||
|
|
||||||
|
if $(which installwatch > /dev/null 2>&1); then
|
||||||
|
installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
|
||||||
|
else
|
||||||
|
make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
|
||||||
|
fi
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Next, the QT4 GUI program:
|
||||||
|
cd qt-${PRGNAM}-${QTVER}
|
||||||
|
LDFLAGS="$SLKLDFLAGS" \
|
||||||
|
CXXFLAGS="$SLKCFLAGS" \
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--mandir=/usr/man \
|
||||||
|
--program-prefix= \
|
||||||
|
--program-suffix= \
|
||||||
|
--build=$ARCH-slackware-linux \
|
||||||
|
2>&1 | tee $OUTPUT/configure-qt-${PRGNAM}.log
|
||||||
|
make 2>&1 | tee $OUTPUT/make-qt-${PRGNAM}.log
|
||||||
|
|
||||||
|
if $(which installwatch > /dev/null 2>&1); then
|
||||||
|
installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
|
||||||
|
else
|
||||||
|
make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
|
||||||
|
fi
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Add this to the doinst.sh:
|
||||||
|
! [ -d $PKG/install ] && mkdir -p $PKG/install
|
||||||
|
cat <<EOT >> $PKG/install/doinst.sh
|
||||||
|
# Update the desktop database:
|
||||||
|
if [ -x usr/bin/update-desktop-database ]; then
|
||||||
|
chroot . /usr/bin/update-desktop-database /usr/share/applications > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
EOT
|
||||||
|
|
||||||
|
# Add documentation:
|
||||||
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION/qt-${PRGNAM}
|
||||||
|
( cd ${PRGNAM}-${VERSION}
|
||||||
|
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
|
||||||
|
)
|
||||||
|
( cd qt-${PRGNAM}-${QTVER}
|
||||||
|
cp -a $QTDOCS $PKG/usr/doc/$PRGNAM-$VERSION/qt-${PRGNAM} || true
|
||||||
|
)
|
||||||
|
cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||||
|
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
find $PKG/usr/doc -type f -exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Compress the man page(s):
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
|
||||||
|
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip binaries:
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
||||||
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
# Add a package description:
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
|
||||||
|
if [ -f $SRCDIR/doinst.sh ]; then
|
||||||
|
cat $SRCDIR/doinst.sh >> $PKG/install/doinst.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build the package:
|
||||||
|
cd $PKG
|
||||||
|
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
|
||||||
|
cd $OUTPUT
|
||||||
|
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz.md5
|
||||||
|
cd -
|
||||||
|
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txt
|
||||||
|
if [ -f $PKG/install/slack-required ]; then
|
||||||
|
cat $PKG/install/slack-required > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.dep
|
||||||
|
fi
|
||||||
|
|
19
extra/source/recordmydesktop/slack-desc
Normal file
19
extra/source/recordmydesktop/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
recordmydesktop: recordmydesktop (record desktop sessions with audio and video)
|
||||||
|
recordmydesktop:
|
||||||
|
recordmydesktop: recordMyDesktop is a desktop session recorder for GNU/Linux
|
||||||
|
recordmydesktop: that attemps to be easy to use, yet also effective at it's
|
||||||
|
recordmydesktop: primary task.
|
||||||
|
recordmydesktop: The command-line program (the backend) and the graphical
|
||||||
|
recordmydesktop: interface (the frontend) are separate programs, but all the
|
||||||
|
recordmydesktop: functionality relies on the backend which is also a standalone
|
||||||
|
recordmydesktop: program. The frontend can't function on it's own.
|
||||||
|
recordmydesktop:
|
||||||
|
recordmydesktop: recordmydesktop home: http://recordmydesktop.sourceforge.net/
|
21
extra/source/slacktrack/slacktrack.SlackBuild
Executable file
21
extra/source/slacktrack/slacktrack.SlackBuild
Executable file
|
@ -0,0 +1,21 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Set initial variables:
|
||||||
|
CWD=`pwd`
|
||||||
|
if [ "$TMP" = "" ]; then
|
||||||
|
TMP=/tmp
|
||||||
|
fi
|
||||||
|
|
||||||
|
export VERSION=2.06
|
||||||
|
export ARCH=${ARCH:-x86_64}
|
||||||
|
export PKGEXT=${PKGEXT:-txz}
|
||||||
|
|
||||||
|
if [ ! -d $TMP ]; then
|
||||||
|
mkdir -p $TMP # location to build the source
|
||||||
|
fi
|
||||||
|
cd $TMP
|
||||||
|
rm -rf slacktrack
|
||||||
|
tar xvf $CWD/slacktrack-$VERSION-source.tar.gz
|
||||||
|
cd slacktrack
|
||||||
|
|
||||||
|
# Start the "real" SlackBuild:
|
||||||
|
./slacktrack.SlackBuild
|
24
extra/source/tightvnc/doinst.sh
Normal file
24
extra/source/tightvnc/doinst.sh
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
# Handle the incoming configuration files:
|
||||||
|
config() {
|
||||||
|
NEW="$1"
|
||||||
|
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
||||||
|
# If there's no config file by that name, mv it over:
|
||||||
|
if [ ! -r $OLD ]; then
|
||||||
|
mv $NEW $OLD
|
||||||
|
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
|
||||||
|
# toss the redundant copy
|
||||||
|
rm $NEW
|
||||||
|
fi
|
||||||
|
# Otherwise, we leave the .new copy for the admin to consider...
|
||||||
|
}
|
||||||
|
|
||||||
|
config etc/tightvncserver.conf.new
|
||||||
|
config etc/rc.d/rc.vncservers.new
|
||||||
|
config etc/rc.d/rc.vncservers.conf.new
|
||||||
|
|
||||||
|
# Update the desktop database:
|
||||||
|
if [ -x usr/bin/update-desktop-database ]; then
|
||||||
|
chroot . /usr/bin/update-desktop-database usr/share/applications > /dev/null
|
||||||
|
2>&1
|
||||||
|
fi
|
||||||
|
|
19
extra/source/tightvnc/slack-desc
Normal file
19
extra/source/tightvnc/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
tightvnc: tightvnc (remote control software)
|
||||||
|
tightvnc:
|
||||||
|
tightvnc: Virtual Network Computing (VNC) is a remote display system which
|
||||||
|
tightvnc: allows you to view a desktop environment from anywhere on the Internet
|
||||||
|
tightvnc: and from a wide variety of machine architectures.
|
||||||
|
tightvnc: TightVNC is an enhanced VNC distribution. This package contains a
|
||||||
|
tightvnc: client which will allow you to connect to other desktops running a
|
||||||
|
tightvnc: VNC or a TightVNC server.
|
||||||
|
tightvnc:
|
||||||
|
tightvnc: tightvnc home: http://www.tightvnc.com/
|
||||||
|
tightvnc:
|
128
extra/source/tightvnc/tightvnc.SlackBuild
Executable file
128
extra/source/tightvnc/tightvnc.SlackBuild
Executable file
|
@ -0,0 +1,128 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# Copyright 2007-2009 Eric Hameleers, Eindhoven, NL
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for
|
||||||
|
# any purpose with or without fee is hereby granted, provided that
|
||||||
|
# the above copyright notice and this permission notice appear in all
|
||||||
|
# copies.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Slackware SlackBuild script
|
||||||
|
# ===========================
|
||||||
|
# By: Eric Hameleers <alien@slackware.com>
|
||||||
|
# For: tightvnc
|
||||||
|
# Descr: remote control software
|
||||||
|
# URL: http://www.tightvnc.com/
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
# Set initial variables:
|
||||||
|
|
||||||
|
PRGNAM=tightvnc
|
||||||
|
VERSION=${VERSION:-1.3.10}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-${PRGNAM}
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $TMP $PKG
|
||||||
|
|
||||||
|
case "$ARCH" in
|
||||||
|
i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
s390) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
x86_64) SLKCFLAGS="-O2 -fPIC"
|
||||||
|
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Explode the package framework:
|
||||||
|
cd $PKG
|
||||||
|
explodepkg $CWD/_$PRGNAM.tar.gz
|
||||||
|
cd -
|
||||||
|
|
||||||
|
cd $TMP
|
||||||
|
rm -rf vnc_unixsrc
|
||||||
|
tar xvf $CWD/${PRGNAM}-${VERSION}_unixsrc.tar.?z* || exit 1
|
||||||
|
cd vnc_unixsrc || exit 1
|
||||||
|
|
||||||
|
# Make sure ownerships and permissions are sane:
|
||||||
|
chown -R root:root .
|
||||||
|
find . \
|
||||||
|
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||||
|
-exec chmod 755 {} \; -o \
|
||||||
|
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||||
|
-exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Make vncserver use sane pathnames and executable permissions:
|
||||||
|
zcat $CWD/tightvnc.paths-and-perms.diff.gz | patch -p1 --verbose || exit 1
|
||||||
|
|
||||||
|
# Use xinit's Xclients script to start the session:
|
||||||
|
cat vnc-xclients.patch | sed -e 's/Red Hat /Slackware /' | patch || exit 1
|
||||||
|
|
||||||
|
xmkmf -a
|
||||||
|
make CDEBUGFLAGS="$SLKCFLAGS" World || exit 1
|
||||||
|
|
||||||
|
cd Xvnc
|
||||||
|
LDFLAGS="$SLKLDFLAGS" \
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
CXXFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure
|
||||||
|
make EXTRA_LIBRARIES="-lwrap -lnss_nis" CDEBUGFLAGS="$SLKCFLAGS" \
|
||||||
|
EXTRA_DEFINES="-DUSE_LIBWRAP=1"
|
||||||
|
cd - # end 'cd Xvnc'
|
||||||
|
|
||||||
|
# Manually install files:
|
||||||
|
mkdir -p $PKG/usr/bin $PKG/usr/man/man1
|
||||||
|
./vncinstall $PKG/usr/bin $PKG/usr/man
|
||||||
|
|
||||||
|
mkdir -p $PKG/usr/share/tightvnc
|
||||||
|
cp -aR classes $PKG/usr/share/tightvnc/
|
||||||
|
|
||||||
|
mkdir $PKG/etc
|
||||||
|
cp -a tightvncserver.conf $PKG/etc/tightvncserver.conf.new
|
||||||
|
|
||||||
|
# Add documentation:
|
||||||
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
cp -a \
|
||||||
|
LICENCE.TXT README WhatsNew ChangeLog \
|
||||||
|
$PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
mv $PKG/install/README.1st $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
|
||||||
|
# Compress the man page(s):
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
|
||||||
|
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip binaries:
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
||||||
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
# Add a package description:
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
|
||||||
|
|
||||||
|
# Build the package:
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -l y -c n $TMP/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
|
||||||
|
|
52
extra/source/tightvnc/tightvnc.paths-and-perms.diff
Normal file
52
extra/source/tightvnc/tightvnc.paths-and-perms.diff
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
diff -ur vnc_unixsrc.orig/tightvncserver.conf vnc_unixsrc/tightvncserver.conf
|
||||||
|
--- vnc_unixsrc.orig/tightvncserver.conf 2009-02-12 05:27:18.000000000 +0100
|
||||||
|
+++ vnc_unixsrc/tightvncserver.conf 2009-06-02 23:55:22.000000000 +0200
|
||||||
|
@@ -19,15 +19,15 @@
|
||||||
|
# $geometry = "1024x768";
|
||||||
|
# $depth = 24;
|
||||||
|
# $desktopName = "X";
|
||||||
|
-# $vncClasses = "/usr/local/vnc/classes";
|
||||||
|
+# $vncClasses = "/usr/share/tightvnc/classes";
|
||||||
|
# $vncUserDir = "$ENV{HOME}/.vnc";
|
||||||
|
-# $fontPath = "unix/:7100";
|
||||||
|
+# $fontPath = "/usr/share/fonts/misc/,/usr/share/fonts/Type1/,/usr/share/fonts/75dpi/";
|
||||||
|
# $authType = "-rfbauth $vncUserDir/passwd";
|
||||||
|
-# $colorPath = "/usr/lib/X11/rgb";
|
||||||
|
+# $colorPath = "/usr/share/X11/rgb";
|
||||||
|
|
||||||
|
## Here is another example of setting the font path:
|
||||||
|
#
|
||||||
|
-# $fontPath = "/usr/lib/X11/fonts/misc/"
|
||||||
|
+# $fontPath = "unix/:7100";
|
||||||
|
# $fontPath = "$fontPath,/usr/lib/X11/fonts/75dpi/";
|
||||||
|
|
||||||
|
## You might wish to make your vnc directory under /tmp, to make sure
|
||||||
|
diff -ur vnc_unixsrc.orig/vncinstall vnc_unixsrc/vncinstall
|
||||||
|
--- vnc_unixsrc.orig/vncinstall 2002-03-19 12:44:02.000000000 +0100
|
||||||
|
+++ vnc_unixsrc/vncinstall 2009-06-02 23:51:54.000000000 +0200
|
||||||
|
@@ -47,7 +47,7 @@
|
||||||
|
else
|
||||||
|
echo "Copying $f -> $bin_dst/`basename $f`"
|
||||||
|
cp -pf $f $bin_dst
|
||||||
|
- chmod 0555 $bin_dst/`basename $f`
|
||||||
|
+ chmod 0755 $bin_dst/`basename $f`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Installing man pages
|
||||||
|
diff -ur vnc_unixsrc.orig/vncserver vnc_unixsrc/vncserver
|
||||||
|
--- vnc_unixsrc.orig/vncserver 2009-02-12 05:27:18.000000000 +0100
|
||||||
|
+++ vnc_unixsrc/vncserver 2009-06-02 23:51:39.000000000 +0200
|
||||||
|
@@ -32,10 +32,11 @@
|
||||||
|
$geometry = "1024x768";
|
||||||
|
$depth = 24;
|
||||||
|
$desktopName = "X";
|
||||||
|
-$vncClasses = "/usr/local/vnc/classes";
|
||||||
|
+$vncClasses = "/usr/share/tightvnc/classes";
|
||||||
|
$vncUserDir = "$ENV{HOME}/.vnc";
|
||||||
|
-$fontPath = "unix/:7100";
|
||||||
|
+$fontPath = "/usr/share/fonts/misc/,/usr/share/fonts/Type1/,/usr/share/fonts/75dpi/";
|
||||||
|
$authType = "-rfbauth $vncUserDir/passwd";
|
||||||
|
+$colorPath = "/usr/share/X11/rgb";
|
||||||
|
|
||||||
|
# Read configuration from the system-wide and user files if present.
|
||||||
|
|
21
extra/source/wicd/README.SLACKWARE
Normal file
21
extra/source/wicd/README.SLACKWARE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
After installing this package, make sure the /etc/rc.d/rc.wicd
|
||||||
|
script is executable; if necessary, do:
|
||||||
|
chmod +x /etc/rc.d/rc.wicd
|
||||||
|
|
||||||
|
Results have varied, but you will probably need/want to remove
|
||||||
|
any references to interfaces from /etc/rc.d/rc.inet1.conf - in
|
||||||
|
other words, make that file look as if netconfig has never been
|
||||||
|
run.
|
||||||
|
|
||||||
|
When you start X, you should see a wicd icon in the system tray;
|
||||||
|
click on it to open the gui interface and configure as desired.
|
||||||
|
Your user account will need to be a member of the 'netdev' group
|
||||||
|
in order to use wicd.
|
||||||
|
|
||||||
|
Note that urwid will need to be installed if you want to use the
|
||||||
|
curses client.
|
||||||
|
|
||||||
|
Also, if you don't have kde installed, you won't have a graphical
|
||||||
|
sudo client available; you might wish to consider ktsuss from
|
||||||
|
SlackBuilds.org.
|
||||||
|
|
36
extra/source/wicd/doinst.sh
Normal file
36
extra/source/wicd/doinst.sh
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
config() {
|
||||||
|
NEW="$1"
|
||||||
|
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
||||||
|
# If there's no config file by that name, mv it over:
|
||||||
|
if [ ! -r $OLD ]; then
|
||||||
|
mv $NEW $OLD
|
||||||
|
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
|
||||||
|
# toss the redundant copy
|
||||||
|
rm $NEW
|
||||||
|
fi
|
||||||
|
# Otherwise, we leave the .new copy for the admin to consider...
|
||||||
|
}
|
||||||
|
|
||||||
|
# Keep same perms on rc.wicd.new:
|
||||||
|
if [ -e etc/rc.d/rc.wicd ]; then
|
||||||
|
cp -a etc/rc.d/rc.wicd etc/rc.d/rc.wicd.new.incoming
|
||||||
|
cat etc/rc.d/rc.wicd.new > etc/rc.d/rc.wicd.new.incoming
|
||||||
|
mv etc/rc.d/rc.wicd.new.incoming etc/rc.d/rc.wicd.new
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update desktop menu
|
||||||
|
if [ -x /usr/bin/update-desktop-database ]; then
|
||||||
|
/usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Update icon cache if one exists
|
||||||
|
if [ -r usr/share/icons/hicolor/icon-theme.cache ]; then
|
||||||
|
if [ -x /usr/bin/gtk-update-icon-cache ]; then
|
||||||
|
/usr/bin/gtk-update-icon-cache -t -f usr/share/icons/hicolor >/dev/null 2>&1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
config etc/dbus-1/system.d/wicd.conf.new
|
||||||
|
config etc/rc.d/rc.wicd.new
|
||||||
|
config etc/wicd/manager-settings.conf.new
|
||||||
|
|
19
extra/source/wicd/slack-desc
Normal file
19
extra/source/wicd/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler-------------------------------------------------------|
|
||||||
|
wicd: wicd (network manager for linux)
|
||||||
|
wicd:
|
||||||
|
wicd: wicd is a wired and wireless network manager for Linux.
|
||||||
|
wicd: Some features include:
|
||||||
|
wicd: - Ability to connect to wired and wireless networks
|
||||||
|
wicd: - Profiles for each wireless network and wired network
|
||||||
|
wicd: - Many encryption schemes, some of which include WEP/WPA/WPA2
|
||||||
|
wicd: - Compatible with wireless-tools
|
||||||
|
wicd:
|
||||||
|
wicd: Homepage: http://wicd.net
|
||||||
|
wicd:
|
81
extra/source/wicd/wicd.SlackBuild
Executable file
81
extra/source/wicd/wicd.SlackBuild
Executable file
|
@ -0,0 +1,81 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright 2008,2009 Robby Workman Northport, AL, USA
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use of this script, with or without modification, is
|
||||||
|
# permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# 1. Redistributions of this script must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ''AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
|
||||||
|
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
PRGNAM=wicd
|
||||||
|
VERSION=${VERSION:-1.6.2.1}
|
||||||
|
ARCH=${ARCH:-x86_64} # This should be the same as the python package
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
|
||||||
|
CWD=$(pwd)
|
||||||
|
TMP=${TMP:-/tmp}
|
||||||
|
PKG=$TMP/package-$PRGNAM
|
||||||
|
|
||||||
|
if [ "$ARCH" = "i486" ]; then
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
elif [ "$ARCH" = "s390" ]; then
|
||||||
|
LIBDIRSUFFIX=""
|
||||||
|
elif [ "$ARCH" = "x86_64" ]; then
|
||||||
|
LIBDIRSUFFIX="64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
rm -rf $PKG
|
||||||
|
mkdir -p $TMP $PKG
|
||||||
|
cd $TMP
|
||||||
|
rm -rf $PRGNAM-$VERSION
|
||||||
|
tar xvf $CWD/$PRGNAM-$VERSION.tar.bz2 || exit 1
|
||||||
|
cd $PRGNAM-$VERSION || exit 1
|
||||||
|
chown -R root:root .
|
||||||
|
|
||||||
|
python setup.py configure \
|
||||||
|
--lib=/usr/lib${LIBDIRSUFFIX}/wicd \
|
||||||
|
--kdedir=/usr/share/autostart \
|
||||||
|
--backends=/usr/lib${LIBDIRSUFFIX}/wicd/backends \
|
||||||
|
--wicdgroup=netdev \
|
||||||
|
|| exit 1
|
||||||
|
python setup.py install --root=$PKG || exit 1
|
||||||
|
|
||||||
|
# Handle some Slackware defaults
|
||||||
|
# Use dhcpcd as the dhcp client
|
||||||
|
# Use kdesu as the graphical sudo application
|
||||||
|
cat << EOF > $PKG/etc/wicd/manager-settings.conf.new
|
||||||
|
[Settings]
|
||||||
|
dhcp_client = 2
|
||||||
|
sudo_app = 2
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Don't clobber dbus config on upgrade
|
||||||
|
mv $PKG/etc/dbus-1/system.d/wicd.conf $PKG/etc/dbus-1/system.d/wicd.conf.new
|
||||||
|
mv $PKG/etc/rc.d/rc.wicd $PKG/etc/rc.d/rc.wicd.new
|
||||||
|
|
||||||
|
# Compress the man pages and add a bit to the package docs
|
||||||
|
( cd $PKG/usr/man || exit 1
|
||||||
|
find . -type f -exec gzip -9 {} \;
|
||||||
|
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
|
||||||
|
)
|
||||||
|
cat $CWD/README.SLACKWARE > $PKG/usr/doc/$PRGNAM-$VERSION/README.SLACKWARE
|
||||||
|
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||||
|
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
|
||||||
|
|
||||||
|
cd $PKG
|
||||||
|
/sbin/makepkg -c n -l y $TMP/$PRGNAM-$VERSION-$ARCH-$BUILD.txz
|
19
extra/source/yasm/slack-desc
Normal file
19
extra/source/yasm/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
# HOW TO EDIT THIS FILE:
|
||||||
|
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||||
|
# up the first '|' above the ':' following the base package name, and the '|'
|
||||||
|
# on the right side marks the last column you can put a character in. You must
|
||||||
|
# make exactly 11 lines for the formatting to be correct. It's also
|
||||||
|
# customary to leave one space after the ':'.
|
||||||
|
|
||||||
|
|-----handy-ruler------------------------------------------------------|
|
||||||
|
yasm: yasm (complete rewrite of the NASM assembler)
|
||||||
|
yasm:
|
||||||
|
yasm: Yasm is a complete rewrite of the NASM assembler under the "new" BSD
|
||||||
|
yasm: License (some portions are under other licenses, see COPYING for
|
||||||
|
yasm: details). Yasm currently supports the x86 and AMD64 instruction sets,
|
||||||
|
yasm: accepts NASM and GAS assembler syntaxes, outputs binary, ELF32, ELF64,
|
||||||
|
yasm: 32 and 64-bit Mach-O, RDOFF2, COFF, Win32, and Win64 object formats,
|
||||||
|
yasm: and generates source debugging information in STABS, DWARF 2, and
|
||||||
|
yasm: CodeView 8 formats.
|
||||||
|
yasm:
|
||||||
|
yasm: yasm home: http://www.tortall.net/projects/yasm/
|
204
extra/source/yasm/yasm.SlackBuild
Executable file
204
extra/source/yasm/yasm.SlackBuild
Executable file
|
@ -0,0 +1,204 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# $Id: yasm.SlackBuild,v 1.7 2009/05/12 20:24:31 root Exp root $
|
||||||
|
# Copyright (c) 2008 Eric Hameleers <alien@slackware.com>
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and distribute this software for
|
||||||
|
# any purpose with or without fee is hereby granted, provided that
|
||||||
|
# the above copyright notice and this permission notice appear in all
|
||||||
|
# copies.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
|
||||||
|
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
# IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
|
||||||
|
# USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
|
||||||
|
# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# Slackware SlackBuild script
|
||||||
|
# ===========================
|
||||||
|
# By: Eric Hameleers <alien@slackware.com>
|
||||||
|
# For: yasm
|
||||||
|
# Descr: complete rewrite of the NASM assembler
|
||||||
|
# URL: http://www.tortall.net/projects/yasm/
|
||||||
|
# Needs:
|
||||||
|
# Changelog:
|
||||||
|
# 0.7.1-1: 16/Jun/2008 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Initial build.
|
||||||
|
# 0.7.2-1: 08/dec/2008 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Update.
|
||||||
|
# 0.8.0-1: 12/may/2009 by Eric Hameleers <alien@slackware.com>
|
||||||
|
# * Update.
|
||||||
|
#
|
||||||
|
# Run 'sh yasm.SlackBuild' to build a Slackware package.
|
||||||
|
# The package (.txz) plus descriptive .txt file are created in /tmp .
|
||||||
|
# Install using 'installpkg'.
|
||||||
|
#
|
||||||
|
# -----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
PRGNAM=yasm
|
||||||
|
VERSION=${VERSION:-0.8.0}
|
||||||
|
ARCH=${ARCH:-x86_64}
|
||||||
|
BUILD=${BUILD:-1}
|
||||||
|
TAG=${TAG:-}
|
||||||
|
|
||||||
|
DOCS="ABOUT-NLS AUTHORS ChangeLog COPYING GNU_* NEWS README *.txt"
|
||||||
|
|
||||||
|
# If you want to disable python bindings, set ENABLE_PYTHON to "NO".
|
||||||
|
# Building python support on Slackware 12.0 and older will fail (missing Pyrex).
|
||||||
|
ENABLE_PYTHON=${ENABLE_PYTHON:-"YES"}
|
||||||
|
|
||||||
|
# Where do we look for sources?
|
||||||
|
SRCDIR=$(cd $(dirname $0); pwd)
|
||||||
|
|
||||||
|
# Place to build (TMP) package (PKG) and output (OUTPUT) the program:
|
||||||
|
TMP=${TMP:-/tmp/build}
|
||||||
|
PKG=$TMP/package-$PRGNAM
|
||||||
|
OUTPUT=${OUTPUT:-/tmp}
|
||||||
|
|
||||||
|
SOURCE="$SRCDIR/${PRGNAM}-${VERSION}.tar.gz"
|
||||||
|
SRCURL="http://www.tortall.net/projects/${PRGNAM}/releases/${PRGNAM}-${VERSION}.tar.gz"
|
||||||
|
|
||||||
|
##
|
||||||
|
## --- with a little luck, you won't have to edit below this point --- ##
|
||||||
|
##
|
||||||
|
|
||||||
|
# Exit the script on errors:
|
||||||
|
set -e
|
||||||
|
trap 'echo "$0 FAILED at line ${LINENO}" | tee $OUTPUT/error-${PRGNAM}.log' ERR
|
||||||
|
# Catch unitialized variables:
|
||||||
|
set -u
|
||||||
|
P1=${1:-1}
|
||||||
|
|
||||||
|
case "$ARCH" in
|
||||||
|
i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
s390) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
powerpc) SLKCFLAGS="-O2"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
x86_64) SLKCFLAGS="-O2 -fPIC"
|
||||||
|
SLKLDFLAGS="-L/usr/lib64"; LIBDIRSUFFIX="64"
|
||||||
|
;;
|
||||||
|
athlon-xp) SLKCFLAGS="-march=athlon-xp -O3 -pipe -fomit-frame-pointer"
|
||||||
|
SLKLDFLAGS=""; LIBDIRSUFFIX=""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Create working directories:
|
||||||
|
mkdir -p $OUTPUT # place for the package to be saved
|
||||||
|
mkdir -p $TMP/tmp-$PRGNAM # location to build the source
|
||||||
|
mkdir -p $PKG # place for the package to be built
|
||||||
|
rm -rf $PKG/* # always erase old package's contents
|
||||||
|
rm -rf $TMP/tmp-$PRGNAM/* # remove the remnants of previous build
|
||||||
|
|
||||||
|
# Source file availability:
|
||||||
|
if ! [ -f ${SOURCE} ]; then
|
||||||
|
if ! [ "x${SRCURL}" == "x" ]; then
|
||||||
|
# Check if the $SRCDIR is writable at all - if not, download to $OUTPUT
|
||||||
|
[ -w "$SRCDIR" ] || SOURCE="$OUTPUT/$(basename $SOURCE)"
|
||||||
|
echo "Source '$(basename ${SOURCE})' not available yet..."
|
||||||
|
echo "Will download file to $(dirname $SOURCE)"
|
||||||
|
wget -nv -T 20 -O "${SOURCE}" "${SRCURL}" || true
|
||||||
|
if [ $? -ne 0 -o ! -s "${SOURCE}" ]; then
|
||||||
|
echo "Downloading '$(basename ${SOURCE})' failed... aborting the build."
|
||||||
|
mv -f "${SOURCE}" "${SOURCE}".FAIL
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "File '$(basename ${SOURCE})' not available... aborting the build."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$P1" == "--download" ]; then
|
||||||
|
echo "Download complete."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --- PACKAGE BUILDING ---
|
||||||
|
|
||||||
|
echo "++"
|
||||||
|
echo "|| $PRGNAM-$VERSION"
|
||||||
|
echo "++"
|
||||||
|
|
||||||
|
cd $TMP/tmp-$PRGNAM
|
||||||
|
echo "Extracting the source archive(s) for $PRGNAM..."
|
||||||
|
tar -xvf ${SOURCE}
|
||||||
|
cd ${PRGNAM}-${VERSION}
|
||||||
|
chown -R root:root .
|
||||||
|
chmod -R u+w,go+r-w,a-s .
|
||||||
|
|
||||||
|
if [ "$ENABLE_PYTHON" = "YES" ]; then
|
||||||
|
PYTHONSTUFF="--enable-python --enable-python-bindings"
|
||||||
|
else
|
||||||
|
PYTHONSTUFF=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo Building ...
|
||||||
|
LDFLAGS="$SLKLDFLAGS" \
|
||||||
|
CXXFLAGS="$SLKCFLAGS" \
|
||||||
|
CFLAGS="$SLKCFLAGS" \
|
||||||
|
./configure --prefix=/usr \
|
||||||
|
--libdir=/usr/lib${LIBDIRSUFFIX} \
|
||||||
|
--localstatedir=/var \
|
||||||
|
--sysconfdir=/etc \
|
||||||
|
--mandir=/usr/man \
|
||||||
|
${PYTHONSTUFF} \
|
||||||
|
--program-prefix= \
|
||||||
|
--program-suffix= \
|
||||||
|
--build=$ARCH-slackware-linux \
|
||||||
|
2>&1 | tee $OUTPUT/configure-${PRGNAM}.log
|
||||||
|
make 2>&1 | tee $OUTPUT/make-${PRGNAM}.log
|
||||||
|
|
||||||
|
# Install all the needed stuff to the package dir
|
||||||
|
# Use installwatch if available, to produce a logfile of the installation
|
||||||
|
# process that is more easily readable:
|
||||||
|
if $(which installwatch > /dev/null 2>&1); then
|
||||||
|
installwatch -o $OUTPUT/install-${PRGNAM}.log make DESTDIR=$PKG install
|
||||||
|
else
|
||||||
|
make DESTDIR=$PKG install 2>&1 |tee $OUTPUT/install-${PRGNAM}.log
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Add documentation:
|
||||||
|
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION || true
|
||||||
|
cp -a $SRCDIR/$(basename $0) $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||||
|
chown -R root:root $PKG/usr/doc/$PRGNAM-$VERSION
|
||||||
|
find $PKG/usr/doc -type f -exec chmod 644 {} \;
|
||||||
|
|
||||||
|
# Remove empty share directory:
|
||||||
|
rmdir $PKG/usr/share || true
|
||||||
|
|
||||||
|
# Compress the man page(s):
|
||||||
|
if [ -d $PKG/usr/man ]; then
|
||||||
|
find $PKG/usr/man -type f -name "*.?" -exec gzip -9f {} \;
|
||||||
|
for i in $(find $PKG/usr/man -type l -name "*.?") ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Strip binaries:
|
||||||
|
find $PKG | xargs file | grep -e "executable" -e "shared object" \
|
||||||
|
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
|
||||||
|
|
||||||
|
# Add a package description:
|
||||||
|
mkdir -p $PKG/install
|
||||||
|
cat $SRCDIR/slack-desc > $PKG/install/slack-desc
|
||||||
|
|
||||||
|
# Build the package:
|
||||||
|
cd $PKG
|
||||||
|
makepkg --linkadd y --chown n $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz 2>&1 | tee $OUTPUT/makepkg-${PRGNAM}.log
|
||||||
|
cd $OUTPUT
|
||||||
|
md5sum ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz > ${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txz.md5
|
||||||
|
cd -
|
||||||
|
cat $PKG/install/slack-desc | grep "^${PRGNAM}" > $OUTPUT/${PRGNAM}-${VERSION}-${ARCH}-${BUILD}${TAG}.txt
|
||||||
|
|
21
extra/wicd/README.SLACKWARE
Normal file
21
extra/wicd/README.SLACKWARE
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
After installing this package, make sure the /etc/rc.d/rc.wicd
|
||||||
|
script is executable; if necessary, do:
|
||||||
|
chmod +x /etc/rc.d/rc.wicd
|
||||||
|
|
||||||
|
Results have varied, but you will probably need/want to remove
|
||||||
|
any references to interfaces from /etc/rc.d/rc.inet1.conf - in
|
||||||
|
other words, make that file look as if netconfig has never been
|
||||||
|
run.
|
||||||
|
|
||||||
|
When you start X, you should see a wicd icon in the system tray;
|
||||||
|
click on it to open the gui interface and configure as desired.
|
||||||
|
Your user account will need to be a member of the 'netdev' group
|
||||||
|
in order to use wicd.
|
||||||
|
|
||||||
|
Note that urwid will need to be installed if you want to use the
|
||||||
|
curses client.
|
||||||
|
|
||||||
|
Also, if you don't have kde installed, you won't have a graphical
|
||||||
|
sudo client available; you might wish to consider ktsuss from
|
||||||
|
SlackBuilds.org.
|
||||||
|
|
132
isolinux/README.TXT
Normal file
132
isolinux/README.TXT
Normal file
|
@ -0,0 +1,132 @@
|
||||||
|
|
||||||
|
HOW TO MAKE A BOOTABLE SLACKWARE DVD ISO IMAGE
|
||||||
|
|
||||||
|
To make a bootable Slackware install DVD, get into the top level Slackware
|
||||||
|
directory (The one with ChangeLog.txt in it) and issue a command like this
|
||||||
|
to build the ISO image in /tmp:
|
||||||
|
|
||||||
|
mkisofs -o /tmp/slackware-dvd.iso \
|
||||||
|
-R -J -A "Slackware Install" \
|
||||||
|
-hide-rr-moved \
|
||||||
|
-v -d -N \
|
||||||
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
|
-sort isolinux/iso.sort \
|
||||||
|
-b isolinux/isolinux.bin \
|
||||||
|
-c isolinux/isolinux.boot \
|
||||||
|
-V "SlackDVD" .
|
||||||
|
|
||||||
|
On my system, here's the command I'd use to burn the resulting DVD ISO:
|
||||||
|
|
||||||
|
growisofs -speed=2 -dvd-compat -Z /dev/dvd=slackware-dvd.iso
|
||||||
|
|
||||||
|
If your burner is not /dev/dvd, replace the device with the one your
|
||||||
|
system uses.
|
||||||
|
|
||||||
|
I find discs burned at 2x are more reliable than ones burned at higher
|
||||||
|
speeds, but you may see completely different results depending on media
|
||||||
|
and burner type. The -dvd-compat option is also used so that a complete
|
||||||
|
lead-out is written to the media for maximum compatibility.
|
||||||
|
|
||||||
|
Or, you can burn directly from the Slackware tree to a DVD(-/+)R(W):
|
||||||
|
|
||||||
|
growisofs \
|
||||||
|
-Z /dev/dvd \
|
||||||
|
-R -J -A "Slackware Install" \
|
||||||
|
-hide-rr-moved \
|
||||||
|
-v -d -N \
|
||||||
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
|
-sort isolinux/iso.sort \
|
||||||
|
-b isolinux/isolinux.bin \
|
||||||
|
-c isolinux/isolinux.boot \
|
||||||
|
-dvd-compat \
|
||||||
|
-V "SlackDVD" .
|
||||||
|
|
||||||
|
|
||||||
|
HOW TO MAKE A SET OF BOOTABLE / INSTALLABLE CDROMS
|
||||||
|
|
||||||
|
This is a little bit more tricky. Step one will be to split the tree into
|
||||||
|
portions that will fit on the media that you plan to burn to. The first
|
||||||
|
disc must contain these directories:
|
||||||
|
|
||||||
|
/isolinux/
|
||||||
|
/kernels/
|
||||||
|
/slackware/
|
||||||
|
|
||||||
|
You'll need to make other /slackware/ directories on discs 2, 3, and maybe
|
||||||
|
more, moving some of the disc series from disc 1 to other discs to make
|
||||||
|
things fit. It is also possible to split a series to make more efficient
|
||||||
|
use of the CD media. See the README_SPLIT.TXT example and instructional
|
||||||
|
file in this directory for details about how to set that up.
|
||||||
|
|
||||||
|
The rest of the splitting up of discs is left as an exercise for the reader.
|
||||||
|
|
||||||
|
To make the first (bootable) ISO, a command like this is used within the
|
||||||
|
directory where the disc tree is. Let's say the directory is 'd1' and you
|
||||||
|
wish to output the ISO image in /tmp:
|
||||||
|
|
||||||
|
cd d1
|
||||||
|
mkisofs -o /tmp/slackware-install-1.iso \
|
||||||
|
-R -J -A "Slackware Install 1" \
|
||||||
|
-hide-rr-moved \
|
||||||
|
-v -d -N \
|
||||||
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
|
-sort isolinux/iso.sort \
|
||||||
|
-b isolinux/isolinux.bin \
|
||||||
|
-c isolinux/isolinux.boot \
|
||||||
|
-V "SlackCD1" .
|
||||||
|
|
||||||
|
Making a non-bootable disc is similar. Just omit a few options:
|
||||||
|
|
||||||
|
cd d2
|
||||||
|
mkisofs -o /tmp/slackware-install-2.iso \
|
||||||
|
-R -J -A "Slackware Install 2" \
|
||||||
|
-hide-rr-moved \
|
||||||
|
-v -d -N \
|
||||||
|
-V "SlackCD2" .
|
||||||
|
|
||||||
|
To burn an ISO image to CD-R(W), the cdrecord command is used. For complete
|
||||||
|
instructions, see the man page ('man cdrecord'). On my own machine where
|
||||||
|
the burner is /dev/cdrw, disc one would be burned with the following command:
|
||||||
|
|
||||||
|
cat /tmp/slackware-install-1.iso | cdrecord -v dev=/dev/cdrw speed=10 fs=8m -tao -eject -data -
|
||||||
|
|
||||||
|
As before, it's possible to burn from the disc trees without the intermediate
|
||||||
|
step of creating iso images by omitting the -o option to mkisofs and piping
|
||||||
|
the output directly to cdrecord:
|
||||||
|
|
||||||
|
cd d1
|
||||||
|
mkisofs \
|
||||||
|
-R -J -A "Slackware Install 1" \
|
||||||
|
-hide-rr-moved \
|
||||||
|
-v -d -N \
|
||||||
|
-no-emul-boot -boot-load-size 4 -boot-info-table \
|
||||||
|
-sort isolinux/iso.sort \
|
||||||
|
-b isolinux/isolinux.bin \
|
||||||
|
-c isolinux/isolinux.boot \
|
||||||
|
-V "SlackCD1" . | cdrecord -v dev=/dev/cdrw speed=10 fs=8m -tao -eject -data -
|
||||||
|
|
||||||
|
-----
|
||||||
|
|
||||||
|
NOTES:
|
||||||
|
The isolinux/isolinux.boot file will be created on the disc; it's not
|
||||||
|
supposed to be in the source tree. I mention this only because so many
|
||||||
|
people report the "missing" isolinux/isolinux.boot file as a bug.
|
||||||
|
|
||||||
|
The "-boot-load-size 4" is actually not large enough to hold the isolinux
|
||||||
|
boot loader, but many BIOS implementations are broken and will *only*
|
||||||
|
accept "4". Evidently many newer, more correct BIOS implementations
|
||||||
|
expect this and will continue to load the boot loader file until the
|
||||||
|
EOF is reached. Anyway, previous uses of larger values were correct, but
|
||||||
|
led to the Slackware ISO not booting on some machines which contained
|
||||||
|
broken BIOS implementations. It is my hope that by using the incorrect
|
||||||
|
value of 4 sectors that the ISO will boot on most (if not all) machines
|
||||||
|
that are supposed to be able to boot from an ISO image.
|
||||||
|
|
||||||
|
I don't know how to create a bootable Slackware ISO on operating systems
|
||||||
|
other than Linux, but it should be easy to burn the Linux-created ISO with
|
||||||
|
most CD burning software on any operating system.
|
||||||
|
|
||||||
|
Enjoy!
|
||||||
|
|
||||||
|
-P.
|
||||||
|
|
21
isolinux/README_SPLIT.TXT
Normal file
21
isolinux/README_SPLIT.TXT
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
|
||||||
|
Hello,
|
||||||
|
|
||||||
|
Thanks for noticing this README-encrypted file. :-)
|
||||||
|
|
||||||
|
When found on a disc-media based Slackware distribution, this file indicates
|
||||||
|
an incomplete software series that continues on the next disc.
|
||||||
|
|
||||||
|
The installer will ask for the next disc and look for the rest of the
|
||||||
|
packages there. If you are installing packages from the command line, look
|
||||||
|
at the next disc to make certain that you install all the packages you need.
|
||||||
|
|
||||||
|
For example, to split /slackware/kde across two discs, both discs will need
|
||||||
|
to have /slackware/kde directories. The first one should contain a copy of
|
||||||
|
this file. The second one should have the install.end file, the additional
|
||||||
|
packages not in the first directory, and an extra copy of the tagfile file.
|
||||||
|
|
||||||
|
Have fun!
|
||||||
|
|
||||||
|
-- The Management
|
||||||
|
|
16
isolinux/f2.txt
Normal file
16
isolinux/f2.txt
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
|
||||||
|
-+ Kernel Selection Help +-
|
||||||
|
|
||||||
|
You'll need one kernel to get Linux started on your system so that you can
|
||||||
|
install it. The default kernel is huge.s, which requires at least a
|
||||||
|
Pentium Pro processor. There is also a "speakup.s" kernel, which supports
|
||||||
|
various speech synthesizers.
|
||||||
|
|
||||||
|
***************************************************************************
|
||||||
|
* Tip: If you have no idea which kernel to use, go with huge.s! *
|
||||||
|
***************************************************************************
|
||||||
|
|
||||||
|
To boot the chosen kernel put the name of the kernel and press enter.
|
||||||
|
|
||||||
|
boot: huge.s "For example, boot the 'huge.s' kernel!"
|
||||||
|
|
3
isolinux/iso.sort
Normal file
3
isolinux/iso.sort
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
isolinux 100
|
||||||
|
isolinux/isolinux.bin 200
|
||||||
|
kernels 50
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue