continue
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Licensed under the GNU General Public License, version 3.
|
||||||
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||||
|
|
||||||
|
from pisi.actionsapi import autotools
|
||||||
|
from pisi.actionsapi import pisitools
|
||||||
|
from pisi.actionsapi import shelltools
|
||||||
|
from pisi.actionsapi import get
|
||||||
|
|
||||||
|
def build():
|
||||||
|
shelltools.export("CCACHE_DIR", "%s" % get.workDIR())
|
||||||
|
autotools.make('CFLAGS="%s -fno-stack-protector -fno-strict-aliasing"' % get.CFLAGS())
|
||||||
|
|
||||||
|
def install():
|
||||||
|
pisitools.dobin("disktype")
|
||||||
|
pisitools.doman("disktype.1")
|
||||||
|
pisitools.dodoc("README", "HISTORY", "TODO")
|
||||||
@@ -0,0 +1,80 @@
|
|||||||
|
diff -ur disktype-9.orig/linux.c disktype-9/linux.c
|
||||||
|
--- disktype-9.orig/linux.c 2006-06-04 23:05:06.000000000 +0300
|
||||||
|
+++ disktype-9/linux.c 2007-02-14 14:34:36.749572288 +0200
|
||||||
|
@@ -43,11 +43,20 @@
|
||||||
|
|
||||||
|
if (get_le_short(buf + 56) == 0xEF53) {
|
||||||
|
if (get_le_long(buf + 96) & 0x0008) /* JOURNAL_DEV flag */
|
||||||
|
+ {
|
||||||
|
print_line(level, "Ext3 external journal");
|
||||||
|
+ print_line(level, "KERNELMODULE: ext3");
|
||||||
|
+ }
|
||||||
|
else if (get_le_long(buf + 92) & 0x0004) /* HAS_JOURNAL flag */
|
||||||
|
+ {
|
||||||
|
print_line(level, "Ext3 file system");
|
||||||
|
+ print_line(level, "KERNELMODULE: ext3");
|
||||||
|
+ }
|
||||||
|
else
|
||||||
|
+ {
|
||||||
|
print_line(level, "Ext2 file system");
|
||||||
|
+ print_line(level, "KERNELMODULE: ext2");
|
||||||
|
+ }
|
||||||
|
|
||||||
|
get_string(buf + 120, 16, s);
|
||||||
|
if (s[0])
|
||||||
|
@@ -93,19 +102,24 @@
|
||||||
|
/* check signature */
|
||||||
|
if (memcmp(buf + 52, "ReIsErFs", 8) == 0) {
|
||||||
|
print_line(level, "ReiserFS file system (old 3.5 format, standard journal, starts at %d KiB)", at);
|
||||||
|
+ print_line(level, "KERNELMODULE: reiserfs");
|
||||||
|
newformat = 0;
|
||||||
|
} else if (memcmp(buf + 52, "ReIsEr2Fs", 9) == 0) {
|
||||||
|
print_line(level, "ReiserFS file system (new 3.6 format, standard journal, starts at %d KiB)", at);
|
||||||
|
+ print_line(level, "KERNELMODULE: reiserfs");
|
||||||
|
newformat = 1;
|
||||||
|
} else if (memcmp(buf + 52, "ReIsEr3Fs", 9) == 0) {
|
||||||
|
newformat = get_le_short(buf + 72);
|
||||||
|
if (newformat == 0) {
|
||||||
|
print_line(level, "ReiserFS file system (old 3.5 format, non-standard journal, starts at %d KiB)", at);
|
||||||
|
+ print_line(level, "KERNELMODULE: reiserfs");
|
||||||
|
} else if (newformat == 2) {
|
||||||
|
print_line(level, "ReiserFS file system (new 3.6 format, non-standard journal, starts at %d KiB)", at);
|
||||||
|
+ print_line(level, "KERNELMODULE: reiserfs");
|
||||||
|
newformat = 1;
|
||||||
|
} else {
|
||||||
|
print_line(level, "ReiserFS file system (v3 magic, but unknown version %d, starts at %d KiB)", newformat, at);
|
||||||
|
+ print_line(level, "KERNELMODULE: reiserfs");
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
diff -ur disktype-9.orig/Makefile disktype-9/Makefile
|
||||||
|
--- disktype-9.orig/Makefile 2006-01-12 19:55:15.000000000 +0200
|
||||||
|
+++ disktype-9/Makefile 2007-02-14 14:24:30.917995693 +0200
|
||||||
|
@@ -3,7 +3,7 @@
|
||||||
|
###
|
||||||
|
|
||||||
|
RM = rm -f
|
||||||
|
-CC = gcc
|
||||||
|
+CC = klcc
|
||||||
|
|
||||||
|
OBJS = main.o lib.o \
|
||||||
|
buffer.o file.o cdaccess.o cdimage.o vpc.o compressed.o \
|
||||||
|
diff -ur disktype-9.orig/unix.c disktype-9/unix.c
|
||||||
|
--- disktype-9.orig/unix.c 2003-12-30 12:10:41.000000000 +0200
|
||||||
|
+++ disktype-9/unix.c 2007-02-14 14:27:48.529848766 +0200
|
||||||
|
@@ -49,6 +49,7 @@
|
||||||
|
/* tell the user */
|
||||||
|
version = get_le_long(buf + 4);
|
||||||
|
print_line(level, "JFS file system, version %d", version);
|
||||||
|
+ print_line(level, "KERNELMODULE: jfs");
|
||||||
|
|
||||||
|
get_string(buf + 101, 11, s);
|
||||||
|
print_line(level + 1, "Volume name \"%s\"", s);
|
||||||
|
@@ -82,6 +83,7 @@
|
||||||
|
raw_version = get_be_short(buf + 0x64);
|
||||||
|
version = raw_version & 0x000f;
|
||||||
|
print_line(level, "XFS file system, version %d", version);
|
||||||
|
+ print_line(level, "KERNELMODULE: xfs");
|
||||||
|
|
||||||
|
get_string(buf + 0x6c, 12, s);
|
||||||
|
print_line(level + 1, "Volume name \"%s\"", s);
|
||||||
@@ -0,0 +1,112 @@
|
|||||||
|
|
||||||
|
We first get some sane ext3 poperties and try to match the invert
|
||||||
|
of these with the filesystems related supoerblock sections. If we find
|
||||||
|
something not related to ext3 and have journal, we guess the filesystem
|
||||||
|
is of ext4 type. Then by checking EXT2_FLAGS_TEST_FILESYS in s_flags
|
||||||
|
section we distinguish ext4 and ext4dev. There may be a better way but
|
||||||
|
this is the way current e2fsprogs blkid probe does it. Ext4 sections
|
||||||
|
and flags are taken from the kernel headers of 2.6.25 where ext4 is
|
||||||
|
still marked as dev.
|
||||||
|
|
||||||
|
Onur Küçük <onur@pardus.org.tr>
|
||||||
|
|
||||||
|
|
||||||
|
diff -Nur disktype-9-old/detect.c disktype-9/detect.c
|
||||||
|
--- disktype-9-old/detect.c 2009-03-09 12:38:20.000000000 +0200
|
||||||
|
+++ disktype-9/detect.c 2009-03-09 12:38:33.000000000 +0200
|
||||||
|
@@ -59,7 +59,7 @@
|
||||||
|
void detect_udf(SECTION *section, int level);
|
||||||
|
|
||||||
|
/* in linux.c */
|
||||||
|
-void detect_ext23(SECTION *section, int level);
|
||||||
|
+void detect_ext234(SECTION *section, int level);
|
||||||
|
void detect_reiser(SECTION *section, int level);
|
||||||
|
void detect_reiser4(SECTION *section, int level);
|
||||||
|
void detect_linux_raid(SECTION *section, int level);
|
||||||
|
@@ -136,7 +136,7 @@
|
||||||
|
detect_udf,
|
||||||
|
detect_cdrom_misc,
|
||||||
|
detect_iso,
|
||||||
|
- detect_ext23,
|
||||||
|
+ detect_ext234,
|
||||||
|
detect_reiser,
|
||||||
|
detect_reiser4,
|
||||||
|
detect_linux_raid,
|
||||||
|
diff -Nur disktype-9-old/linux.c disktype-9/linux.c
|
||||||
|
--- disktype-9-old/linux.c 2009-03-09 12:38:20.000000000 +0200
|
||||||
|
+++ disktype-9/linux.c 2009-03-09 12:38:29.000000000 +0200
|
||||||
|
@@ -28,10 +28,43 @@
|
||||||
|
#include "global.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
- * ext2/ext3 file system
|
||||||
|
+ * ext2/ext3/ext4 file system
|
||||||
|
*/
|
||||||
|
|
||||||
|
-void detect_ext23(SECTION *section, int level)
|
||||||
|
+/* for s_flags */
|
||||||
|
+#define EXT2_FLAGS_TEST_FILESYS 0x0004
|
||||||
|
+
|
||||||
|
+/* for s_feature_compat */
|
||||||
|
+#define EXT3_FEATURE_COMPAT_HAS_JOURNAL 0x0004
|
||||||
|
+
|
||||||
|
+/* for s_feature_ro_compat */
|
||||||
|
+#define EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
|
||||||
|
+#define EXT2_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
|
||||||
|
+#define EXT2_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
|
||||||
|
+#define EXT4_FEATURE_RO_COMPAT_HUGE_FILE 0x0008
|
||||||
|
+#define EXT4_FEATURE_RO_COMPAT_GDT_CSUM 0x0010
|
||||||
|
+#define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
|
||||||
|
+#define EXT4_FEATURE_RO_COMPAT_EXTRA_ISIZE 0x0040
|
||||||
|
+
|
||||||
|
+/* for s_feature_incompat */
|
||||||
|
+#define EXT2_FEATURE_INCOMPAT_FILETYPE 0x0002
|
||||||
|
+#define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004
|
||||||
|
+#define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008
|
||||||
|
+#define EXT2_FEATURE_INCOMPAT_META_BG 0x0010
|
||||||
|
+#define EXT4_FEATURE_INCOMPAT_EXTENTS 0x0040
|
||||||
|
+#define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
|
||||||
|
+#define EXT4_FEATURE_INCOMPAT_MMP 0x0100
|
||||||
|
+#define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
|
||||||
|
+
|
||||||
|
+#define EXT3_FEATURE_RO_COMPAT_UNSUPPORTED ~(EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER | \
|
||||||
|
+ EXT2_FEATURE_RO_COMPAT_LARGE_FILE | \
|
||||||
|
+ EXT2_FEATURE_RO_COMPAT_BTREE_DIR)
|
||||||
|
+
|
||||||
|
+#define EXT3_FEATURE_INCOMPAT_UNSUPPORTED ~(EXT2_FEATURE_INCOMPAT_FILETYPE | \
|
||||||
|
+ EXT3_FEATURE_INCOMPAT_RECOVER | \
|
||||||
|
+ EXT2_FEATURE_INCOMPAT_META_BG)
|
||||||
|
+
|
||||||
|
+void detect_ext234(SECTION *section, int level)
|
||||||
|
{
|
||||||
|
unsigned char *buf;
|
||||||
|
char s[256];
|
||||||
|
@@ -49,8 +82,26 @@
|
||||||
|
}
|
||||||
|
else if (get_le_long(buf + 92) & 0x0004) /* HAS_JOURNAL flag */
|
||||||
|
{
|
||||||
|
- print_line(level, "Ext3 file system");
|
||||||
|
- print_line(level, "KERNELMODULE: ext3");
|
||||||
|
+ /* Try to find if it is ext4 by checking if there are any unsupported features of ext3 */
|
||||||
|
+ if ((get_le_long(buf + 96) & EXT3_FEATURE_INCOMPAT_UNSUPPORTED) && (get_le_long(buf + 100) & EXT3_FEATURE_RO_COMPAT_UNSUPPORTED))
|
||||||
|
+ {
|
||||||
|
+ /* We have ext4 but which version */
|
||||||
|
+ if (get_le_long(buf + 352) & EXT2_FLAGS_TEST_FILESYS)
|
||||||
|
+ {
|
||||||
|
+ print_line(level, "Ext4dev file system");
|
||||||
|
+ print_line(level, "KERNELMODULE: ext4dev");
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ print_line(level, "Ext4 file system");
|
||||||
|
+ print_line(level, "KERNELMODULE: ext4");
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ else
|
||||||
|
+ {
|
||||||
|
+ print_line(level, "Ext3 file system");
|
||||||
|
+ print_line(level, "KERNELMODULE: ext3");
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
diff -Nur disktype-9-old/dos.c disktype-9/dos.c
|
||||||
|
--- disktype-9-old/dos.c 2008-07-04 11:06:22.000000000 +0300
|
||||||
|
+++ disktype-9/dos.c 2008-07-04 11:22:59.000000000 +0300
|
||||||
|
@@ -485,6 +485,7 @@
|
||||||
|
strcpy(s, ", ATARI ST bootable");
|
||||||
|
print_line(level, "%s file system (hints score %d of %d%s)",
|
||||||
|
fatnames[fattype], score, 5, s);
|
||||||
|
+ print_line(level, "KERNELMODULE: vfat");
|
||||||
|
|
||||||
|
if (sectsize > 512)
|
||||||
|
print_line(level + 1, "Unusual sector size %lu bytes", sectsize);
|
||||||
|
@@ -551,6 +552,7 @@
|
||||||
|
|
||||||
|
/* tell the user */
|
||||||
|
print_line(level, "NTFS file system");
|
||||||
|
+ print_line(level, "KERNELMODULE: ntfs");
|
||||||
|
|
||||||
|
format_blocky_size(s, sectcount, sectsize, "sectors", NULL);
|
||||||
|
print_line(level + 1, "Volume size %s", s);
|
||||||
@@ -0,0 +1,60 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
|
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>disktype</Name>
|
||||||
|
<Homepage>http://disktype.sourceforge.net/</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>BSD</License>
|
||||||
|
<IsA>app:console</IsA>
|
||||||
|
<Summary>Detect the content format of a disk or disk image</Summary>
|
||||||
|
<Description>The purpose of disktype is to detect the content format of a disk or disk image. It knows about common file systems, partition tables, and boot codes.The program is written in C and is designed to compile on any modern Unix flavour.</Description>
|
||||||
|
<Archive type="targz" sha1sum="5ccc55d1c47f9a37becce7336c4aa3a7a43cc89c">mirrors://sourceforge/disktype/disktype-9.tar.gz</Archive>
|
||||||
|
<Patches>
|
||||||
|
<Patch level="1">disktype.patch</Patch>
|
||||||
|
<Patch level="1">vfat.patch</Patch>
|
||||||
|
<Patch level="1">ext4.patch</Patch>
|
||||||
|
</Patches>
|
||||||
|
<BuildDependencies>
|
||||||
|
<Dependency>klibc</Dependency>
|
||||||
|
<Dependency>colorgcc</Dependency>
|
||||||
|
</BuildDependencies>
|
||||||
|
</Source>
|
||||||
|
|
||||||
|
<Package>
|
||||||
|
<Name>disktype</Name>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc</Path>
|
||||||
|
<Path fileType="man">/usr/share/man</Path>
|
||||||
|
</Files>
|
||||||
|
</Package>
|
||||||
|
|
||||||
|
<History>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2015-04-01</Date>
|
||||||
|
<Version>9</Version>
|
||||||
|
<Comment>Release bump.</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2013-10-29</Date>
|
||||||
|
<Version>9</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Yusuf Aydemir</Name>
|
||||||
|
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2012-08-23</Date>
|
||||||
|
<Version>9</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>disktype</Name>
|
||||||
|
<Summary xml:lang="tr">Disk veya disk görüntüsünün biçimsel içeriğini saptar</Summary>
|
||||||
|
<Description xml:lang="tr">Disktype'ın amacı disk veya disk görüntüsünün içerik yapısını denetlemektir. Yaygın dosya sistemlerini, bölümleme tablolarını ve önyükleme kodlarını bilir. C dilinde yazılmış, herhangi bir modern Unix derleme tadında tasarlanmıştır.</Description>
|
||||||
|
</Source>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<PISI>
|
||||||
|
<Name>kernel.tools</Name>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Licensed under the GNU General Public License, version 3.
|
||||||
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||||
|
|
||||||
|
from pisi.actionsapi import pisitools
|
||||||
|
from pisi.actionsapi import shelltools
|
||||||
|
|
||||||
|
|
||||||
|
WorkDir = "./"
|
||||||
|
|
||||||
|
def setup():
|
||||||
|
shelltools.move("README.mkinitramfs", "README")
|
||||||
|
|
||||||
|
def install():
|
||||||
|
pisitools.dodir("/etc/initramfs.d")
|
||||||
|
pisitools.dodoc("README")
|
||||||
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
|
||||||
|
import os
|
||||||
|
import piksemel
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
def generate_initramfs(filepath):
|
||||||
|
patterns = ("lib/initramfs", "boot/kernel", "bin/busybox")
|
||||||
|
doc = piksemel.parse(filepath)
|
||||||
|
for item in doc.tags("File"):
|
||||||
|
path = item.getTagData("Path")
|
||||||
|
if path.startswith(patterns):
|
||||||
|
for kernel in os.listdir("/etc/kernel"):
|
||||||
|
subprocess.call(["/sbin/mkinitramfs", "--type", kernel])
|
||||||
|
return
|
||||||
|
|
||||||
|
def setupPackage(metapath, filepath):
|
||||||
|
generate_initramfs(filepath)
|
||||||
|
|
||||||
|
def cleanupPackage(metapath, filepath):
|
||||||
|
pass
|
||||||
|
|
||||||
|
def postCleanupPackage(metapath, filepath):
|
||||||
|
generate_initramfs(filepath)
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Simple script to handle uevents
|
||||||
|
#
|
||||||
|
|
||||||
|
if [ "$SUBSYSTEM/$ACTION" == "firmware/add" ]; then
|
||||||
|
[ -e "/sys$DEVPATH/loading" ] || exit 1
|
||||||
|
DIR=/lib/firmware
|
||||||
|
[ -e "$DIR/$FIRMWARE" ] || exit 1
|
||||||
|
echo 1 > /sys$DEVPATH/loading
|
||||||
|
cat "$DIR/$FIRMWARE" > /sys$DEVPATH/data
|
||||||
|
echo 0 > /sys$DEVPATH/loading
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
@@ -0,0 +1,593 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Simple init script that should handle both
|
||||||
|
# livecd/livedisk, thinclient and hdd boot
|
||||||
|
#
|
||||||
|
|
||||||
|
PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||||
|
INITRAMFSCONF="/etc/initramfs.conf"
|
||||||
|
|
||||||
|
ROOT_LINKS="bin sbin lib boot usr opt"
|
||||||
|
ROOT_TREES="etc root home var run"
|
||||||
|
TMPFS_DIRS="dev mnt mnt/cdrom mnt/livecd mnt/thin tmp sys proc media"
|
||||||
|
LOOPBACKFILE="/boot/pisi.sqfs"
|
||||||
|
|
||||||
|
NORESUME=0
|
||||||
|
LIVE=0
|
||||||
|
NFSROOT=0
|
||||||
|
QUIET=0
|
||||||
|
RAID_INCREMENTAL=1
|
||||||
|
RAID=0
|
||||||
|
LVM=0
|
||||||
|
COPYTORAM=0
|
||||||
|
SPLASH=0
|
||||||
|
WIPEMEM=0
|
||||||
|
|
||||||
|
HOTPLUG="/sbin/hotplug"
|
||||||
|
|
||||||
|
MNTDIR=""
|
||||||
|
FS_TYPE=""
|
||||||
|
INITRAMFS=""
|
||||||
|
ROOT_FLAGS=""
|
||||||
|
ROOT_DEVICE=""
|
||||||
|
ROOT_TARGET=""
|
||||||
|
RESUME_DEVICE=""
|
||||||
|
WIPEMEM_OPTS="-llv"
|
||||||
|
|
||||||
|
###########################
|
||||||
|
# Miscellaneous functions #
|
||||||
|
###########################
|
||||||
|
|
||||||
|
info() {
|
||||||
|
echo "<6>initramfs: $1" > /dev/kmsg
|
||||||
|
}
|
||||||
|
|
||||||
|
log_output() {
|
||||||
|
$@ | echo "<6>`sed 's#^\(.*\)$#initramfs:\1#g'`" > /dev/kmsg
|
||||||
|
}
|
||||||
|
|
||||||
|
fall2sh() {
|
||||||
|
# Kill any possible plymouth instances
|
||||||
|
test -x /bin/plymouth && /bin/plymouth quit &> /dev/null
|
||||||
|
kill -9 $(pidof plymouthd) &> /dev/null
|
||||||
|
|
||||||
|
echo "--> $*"
|
||||||
|
echo "Reboot with initramfs=shell(noprobe) to further debug the issue."
|
||||||
|
|
||||||
|
# Use a login shell for sourcing /etc/profile
|
||||||
|
/bin/sh -l
|
||||||
|
}
|
||||||
|
|
||||||
|
run_dhcpc() {
|
||||||
|
udhcpc -C -i eth0 -s /etc/udhcpc.script
|
||||||
|
}
|
||||||
|
|
||||||
|
##################
|
||||||
|
# Device probers #
|
||||||
|
##################
|
||||||
|
|
||||||
|
probe_devices() {
|
||||||
|
# Set hotplug helper for firmware loading
|
||||||
|
echo $HOTPLUG > /proc/sys/kernel/hotplug
|
||||||
|
|
||||||
|
if [ "x$1" = "x--with-kms" ]; then
|
||||||
|
probe_kms
|
||||||
|
test -x /bin/plymouth && /bin/plymouth show-splash
|
||||||
|
fi
|
||||||
|
|
||||||
|
probe_pci_devices
|
||||||
|
probe_virtio_devices
|
||||||
|
probe_usb_devices
|
||||||
|
|
||||||
|
# Unset hotplug helper
|
||||||
|
echo > /proc/sys/kernel/hotplug
|
||||||
|
|
||||||
|
[ "${RAID}" -eq "1" ] && probe_raid
|
||||||
|
[ "${LVM}" -eq "1" ] && probe_lvm
|
||||||
|
}
|
||||||
|
|
||||||
|
probe_kms() {
|
||||||
|
for device in /sys/bus/pci/devices/*/boot_vga; do
|
||||||
|
[ -f $device ] || continue
|
||||||
|
info "Loading KMS driver"
|
||||||
|
grep -q 1 $device && modprobe -bq `cat ${device%boot_vga}modalias`
|
||||||
|
done
|
||||||
|
if [ ! -c /dev/fb0 ]; then
|
||||||
|
echo "options uvesafb scroll=ywrap mtrr=0 nocrtc=1 mode_option=1024x768-32" > /etc/modprobe.d/uvesafb.conf
|
||||||
|
modprobe -bq uvesafb
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
probe_pci_devices() {
|
||||||
|
info "Probing PCI devices"
|
||||||
|
local MODULES=""
|
||||||
|
for module in /sys/bus/pci/devices/*/modalias; do
|
||||||
|
[ -f $module ] || continue
|
||||||
|
MODULES="$MODULES $(cat $module)"
|
||||||
|
done
|
||||||
|
modprobe -bqa $MODULES
|
||||||
|
}
|
||||||
|
|
||||||
|
probe_usb_devices() {
|
||||||
|
info "Probing USB devices"
|
||||||
|
local MODULES=""
|
||||||
|
for module in /sys/bus/usb/devices/*/modalias; do
|
||||||
|
[ -f $module ] || continue
|
||||||
|
MODULES="$MODULES $(cat $module)"
|
||||||
|
done
|
||||||
|
modprobe -bqa $MODULES
|
||||||
|
}
|
||||||
|
|
||||||
|
probe_raid() {
|
||||||
|
info "Probing RAID devices"
|
||||||
|
modprobe -bqa dm-mod raid0 raid1 raid10 raid456
|
||||||
|
if [ -x /sbin/mdadm ]
|
||||||
|
then
|
||||||
|
/sbin/mdadm --examine --scan > /etc/mdadm.conf
|
||||||
|
/sbin/mdadm -As
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
probe_lvm() {
|
||||||
|
info "Probing LVM devices"
|
||||||
|
modprobe -qa dm-mod
|
||||||
|
if [ -x /sbin/lvm ]
|
||||||
|
then
|
||||||
|
/sbin/lvm vgscan --ignorelockingfailure &> /dev/null
|
||||||
|
/sbin/lvm vgchange -ay --sysinit --ignorelockingfailure &> /dev/null
|
||||||
|
/sbin/lvm vgmknodes --ignorelockingfailure &> /dev/null
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
probe_virtio_devices() {
|
||||||
|
local MODULES=""
|
||||||
|
for module in /sys/bus/virtio/devices/*/modalias; do
|
||||||
|
[ -f $module ] || continue
|
||||||
|
MODULES="$MODULES $(cat $module)"
|
||||||
|
done
|
||||||
|
modprobe -bqa $MODULES
|
||||||
|
}
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Filesystem specific functions #
|
||||||
|
#################################
|
||||||
|
|
||||||
|
mount_rootfs() {
|
||||||
|
FS_TYPE=`disktype $ROOT_DEVICE | grep KERNELMODULE | awk '{print $2}'`
|
||||||
|
info "Mounting rootfs: $ROOT_DEVICE ($FS_TYPE)"
|
||||||
|
mount -r -t $FS_TYPE -n ${ROOT_FLAGS} ${ROOT_DEVICE} /newroot
|
||||||
|
}
|
||||||
|
|
||||||
|
find_live_mount() {
|
||||||
|
if [ "$#" -gt "0" ]
|
||||||
|
then
|
||||||
|
for x in $*
|
||||||
|
do
|
||||||
|
# this is used for non Linux fs detection
|
||||||
|
FS_TYPE=`disktype $1 | grep KERNELMODULE | awk '{print $2}'`
|
||||||
|
if [ -n "$FS_TYPE" -a -f /lib/modules/*/$FS_TYPE.ko ]
|
||||||
|
then
|
||||||
|
modprobe $FS_TYPE 1> /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mount -r ${x} /newroot/mnt/cdrom > /dev/null 2>&1
|
||||||
|
|
||||||
|
if [ "$?" = "0" ]
|
||||||
|
then
|
||||||
|
# Check for cdroot image
|
||||||
|
if [ -e /newroot/mnt/cdrom/${LOOPBACKFILE} ]
|
||||||
|
then
|
||||||
|
ROOT_DEVICE="/newroot${x}"
|
||||||
|
if [ "$COPYTORAM" == "1" ]
|
||||||
|
then
|
||||||
|
info "Copying Live Media files to RAM"
|
||||||
|
mkdir /newroot/mnt/cdromtemp
|
||||||
|
cp -af /newroot/mnt/cdrom/* /newroot/mnt/cdromtemp/
|
||||||
|
umount /newroot/mnt/cdrom
|
||||||
|
rmdir /newroot/mnt/cdrom
|
||||||
|
mv /newroot/mnt/cdromtemp /newroot/mnt/cdrom
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
else
|
||||||
|
umount /newroot/mnt/cdrom
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
manage_tmpfs() {
|
||||||
|
mount -t tmpfs tmpfs /newroot
|
||||||
|
|
||||||
|
for d in ${TMPFS_DIRS}; do
|
||||||
|
mkdir -p "/newroot/${d}"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
mount_nfs() {
|
||||||
|
FS_LOCATION='mnt/thin'
|
||||||
|
|
||||||
|
# Change directory to /newroot
|
||||||
|
cd /newroot
|
||||||
|
|
||||||
|
# FIXME: busybox mount does not load automatically
|
||||||
|
modprobe -q nfs
|
||||||
|
|
||||||
|
# mount nfs
|
||||||
|
if [ -z "/etc/udhcpc.info" ]
|
||||||
|
then
|
||||||
|
fall2sh "/etc/udhcpc.info not found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
. /etc/udhcpc.info
|
||||||
|
|
||||||
|
if [ -z "${ROOTPATH}" ]
|
||||||
|
then
|
||||||
|
fall2sh "NFS rootpath not found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Mounting NFS from $ROOTPATH"
|
||||||
|
mount -o tcp,nolock,ro $ROOTPATH /newroot/mnt/thin
|
||||||
|
|
||||||
|
if [ "$?" != '0' ]
|
||||||
|
then
|
||||||
|
fall2sh "Could not nfs root"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create necessary links
|
||||||
|
for x in ${ROOT_LINKS}; do
|
||||||
|
ln -s "${FS_LOCATION}/${x}" "${x}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -e "${FS_LOCATION}/lib32" ]
|
||||||
|
then
|
||||||
|
ln -s "${FS_LOCATION}/lib32" "lib32"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We need this for x86_64
|
||||||
|
ln -s "${FS_LOCATION}/lib" "lib64"
|
||||||
|
|
||||||
|
chmod 1777 tmp
|
||||||
|
(cd /newroot/${FS_LOCATION}; cp -a ${ROOT_TREES} /newroot)
|
||||||
|
|
||||||
|
# Needed for ltspfs mechanism
|
||||||
|
echo "$IP $HOSTNAME" >> /newroot/etc/hosts
|
||||||
|
}
|
||||||
|
|
||||||
|
mount_cdroot() {
|
||||||
|
FS_LOCATION="mnt/livecd"
|
||||||
|
|
||||||
|
# Change directory to /newroot
|
||||||
|
cd /newroot
|
||||||
|
|
||||||
|
# These are not loaded automatically
|
||||||
|
modprobe -q squashfs
|
||||||
|
|
||||||
|
# Loop type squashfs
|
||||||
|
mount -t squashfs -o loop,ro /newroot/mnt/cdrom/${LOOPBACKFILE} /newroot/mnt/livecd
|
||||||
|
|
||||||
|
if [ "$?" != "0" ]
|
||||||
|
then
|
||||||
|
fall2sh "Could not mount root image"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Create necessary links
|
||||||
|
for x in ${ROOT_LINKS}; do
|
||||||
|
ln -s "${FS_LOCATION}/${x}" "${x}"
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -e "${FS_LOCATION}/lib32" ]
|
||||||
|
then
|
||||||
|
ln -s "${FS_LOCATION}/lib32" "lib32"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# We need this for x86_64
|
||||||
|
ln -s "${FS_LOCATION}/lib" "lib64"
|
||||||
|
|
||||||
|
chmod 1777 tmp
|
||||||
|
(cd /newroot/${FS_LOCATION}; cp -a ${ROOT_TREES} /newroot)
|
||||||
|
|
||||||
|
# FIXME: the device list is taken from udev, we can't rely on sys entries since pluggable means different
|
||||||
|
# in kernel world. Suggestions that do not include this kind of regexp mania are welcome
|
||||||
|
|
||||||
|
# for userspace applications
|
||||||
|
REAL_ROOT_TYPE=`echo "${ROOT_DEVICE}" | sed -e 's/^\/newroot\/dev\///' | grep -qE '^sr[0-9]*|^hd[a-z]|^pcd[0-9]|^xvd*' && echo "optical" || echo "harddisk"`
|
||||||
|
echo "${REAL_ROOT_TYPE}" > /newroot/run/pisilinux/livemedia
|
||||||
|
|
||||||
|
# this is needed for yali
|
||||||
|
MNTDIR=`grep \/mnt\/cdrom\ /proc/mounts|sed 's/\/newroot//g'`
|
||||||
|
echo "$MNTDIR" >> /newroot/etc/fstab
|
||||||
|
}
|
||||||
|
|
||||||
|
##############################
|
||||||
|
# Config and cmdline parsers #
|
||||||
|
##############################
|
||||||
|
|
||||||
|
# FIXME: maybe we should just source the file instead of parsing
|
||||||
|
# also consider merging conf parser and cmdline parser
|
||||||
|
parse_config() {
|
||||||
|
while read inputline;
|
||||||
|
do
|
||||||
|
case "${inputline}" in
|
||||||
|
raid=*)
|
||||||
|
RAID=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
lvm=*)
|
||||||
|
LVM=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
thin=*)
|
||||||
|
NFSROOT=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
root=*)
|
||||||
|
ROOT_TARGET=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
rootflags=*)
|
||||||
|
ROOT_FLAGS=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
liveroot=*)
|
||||||
|
# Installation or livecd, enable RAID by default
|
||||||
|
# to be able to read existing RAID installations
|
||||||
|
LIVE=1
|
||||||
|
RAID_INCREMENTAL=0
|
||||||
|
LIVEROOT=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
resume=*)
|
||||||
|
RESUME_DEVICE="${inputline#resume=}"
|
||||||
|
;;
|
||||||
|
noresume)
|
||||||
|
NORESUME=1
|
||||||
|
;;
|
||||||
|
copytoram)
|
||||||
|
COPYTORAM=1
|
||||||
|
;;
|
||||||
|
wipemem)
|
||||||
|
WIPEMEM=1
|
||||||
|
;;
|
||||||
|
wipememopts=*)
|
||||||
|
WIPEMEM=1
|
||||||
|
WIPEMEM_OPTS=$(echo $inputline|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
splash)
|
||||||
|
SPLASH=1
|
||||||
|
;;
|
||||||
|
init=*)
|
||||||
|
INIT="${inputline#INIT=}"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done < $INITRAMFSCONF
|
||||||
|
}
|
||||||
|
|
||||||
|
parse_cmdline() {
|
||||||
|
for x in `cat /proc/cmdline`; do
|
||||||
|
case "${x}" in
|
||||||
|
[0123456Ss])
|
||||||
|
# Normalize 'S' to 's'
|
||||||
|
LEVEL=`echo ${x}|tr A-Z a-z`
|
||||||
|
;;
|
||||||
|
mudur=*)
|
||||||
|
for m in `echo ${x}|cut -f2 -d=|sed 's/,/ /g'`; do
|
||||||
|
case "${m}" in
|
||||||
|
livecd)
|
||||||
|
LIVE=1
|
||||||
|
;;
|
||||||
|
livedisk)
|
||||||
|
LIVE=1
|
||||||
|
;;
|
||||||
|
raid)
|
||||||
|
RAID=1
|
||||||
|
;;
|
||||||
|
lvm)
|
||||||
|
LVM=1
|
||||||
|
;;
|
||||||
|
thin)
|
||||||
|
NFSROOT=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
initramfs=*)
|
||||||
|
INITRAMFS=`echo ${x}|cut -f2- -d=`
|
||||||
|
;;
|
||||||
|
root=*)
|
||||||
|
ROOT_TARGET=`echo ${x}|cut -f2- -d=`
|
||||||
|
;;
|
||||||
|
rootflags=*)
|
||||||
|
ROOT_FLAGS="-o ${x#rootflags=}"
|
||||||
|
;;
|
||||||
|
liveroot=*)
|
||||||
|
LIVE=1
|
||||||
|
LIVEROOT=$(echo ${x}|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
resume=*)
|
||||||
|
RESUME_DEVICE="${x#resume=}"
|
||||||
|
;;
|
||||||
|
noresume)
|
||||||
|
NORESUME=1
|
||||||
|
;;
|
||||||
|
init=*)
|
||||||
|
INIT="${x#init=}"
|
||||||
|
;;
|
||||||
|
copytoram)
|
||||||
|
COPYTORAM=1
|
||||||
|
;;
|
||||||
|
wipemem)
|
||||||
|
WIPEMEM=1
|
||||||
|
;;
|
||||||
|
wipememopts=*)
|
||||||
|
WIPEMEM=1
|
||||||
|
WIPEMEM_OPTS=$(echo $x|cut -f2- -d=)
|
||||||
|
;;
|
||||||
|
splash)
|
||||||
|
SPLASH=1
|
||||||
|
;;
|
||||||
|
single)
|
||||||
|
LEVEL="s"
|
||||||
|
;;
|
||||||
|
quiet)
|
||||||
|
QUIET=1
|
||||||
|
;;
|
||||||
|
blacklist=*)
|
||||||
|
modules=${x#blacklist=}
|
||||||
|
for module in ${modules//,/ }; do
|
||||||
|
echo "blacklist $module" >> /etc/modprobe.d/cmdline.conf
|
||||||
|
done
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -f /etc/modprobe.d/cmdline.conf ]; then
|
||||||
|
cp /etc/modprobe.d/cmdline.conf /dev/.modprobe.initramfs.conf
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
####################
|
||||||
|
# init starts here #
|
||||||
|
####################
|
||||||
|
|
||||||
|
info "Starting init on initramfs"
|
||||||
|
|
||||||
|
# Mount needed filesystems
|
||||||
|
mount -n -t proc proc /proc
|
||||||
|
mount -n -t sysfs sysfs /sys
|
||||||
|
# Added to start udev properly
|
||||||
|
#mkdir -m 0755 /run
|
||||||
|
#mount -t tmpfs tmpfs /run
|
||||||
|
|
||||||
|
# Prepare /dev (Needs kernel >= 2.6.32)
|
||||||
|
mount -t devtmpfs devtmpfs /dev
|
||||||
|
mkdir -m 0755 /dev/pts
|
||||||
|
mount -t devpts -o gid=5,mode=620 devpts /dev/pts
|
||||||
|
|
||||||
|
# First parse config file, then cmdline to allow overwriting internal config
|
||||||
|
if [ -f "$INITRAMFSCONF" ]
|
||||||
|
then
|
||||||
|
#. $INITRAMFSCONF
|
||||||
|
parse_config
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Parse command line parameters
|
||||||
|
parse_cmdline
|
||||||
|
|
||||||
|
# Minimize printk log
|
||||||
|
test "x$QUIET" = "x1" && echo "1" > /proc/sys/kernel/printk
|
||||||
|
|
||||||
|
# Initialize plymouth daemon if found and splash is true
|
||||||
|
# Don't even launch plymouthd if we're in single-user mode
|
||||||
|
if [ "$LEVEL" != "s" -a "$SPLASH" = "1" -a -x /sbin/plymouthd ]; then
|
||||||
|
/sbin/plymouthd --attach-to-session
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Handle initramfs= parameter
|
||||||
|
if [ "${INITRAMFS}" == "shellnoprobe" ]
|
||||||
|
then
|
||||||
|
fall2sh "Starting up a shell without probing"
|
||||||
|
elif [ "${INITRAMFS}" == "shell" ]
|
||||||
|
then
|
||||||
|
probe_devices --with-kms
|
||||||
|
fall2sh "Starting up a shell"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${WIPEMEM}" = "1" ]
|
||||||
|
then
|
||||||
|
info "Wiping out memory, system will be shutdown after completion"
|
||||||
|
sdmem ${WIPEMEM_OPTS}
|
||||||
|
poweroff -f
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Probe devices
|
||||||
|
probe_devices --with-kms
|
||||||
|
|
||||||
|
if [ -x /usr/sbin/resume -a -b "$RESUME_DEVICE" -a "x$NORESUME" != "x1" ]
|
||||||
|
then
|
||||||
|
if [ "x$SPLASH" == "x1" ]
|
||||||
|
then
|
||||||
|
SPLASHPARAM="-P splash=y"
|
||||||
|
else
|
||||||
|
SPLASHPARAM="-P splash=n"
|
||||||
|
fi
|
||||||
|
# FIXME: This will fail if resume= contains LABEL/UUID
|
||||||
|
info "Attempting to resume from hibernation"
|
||||||
|
/usr/sbin/resume $SPLASHPARAM $RESUME_DEVICE
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo 0x0100 > /proc/sys/kernel/real-root-dev
|
||||||
|
|
||||||
|
if [ "${LIVE}" -eq "1" ]
|
||||||
|
then
|
||||||
|
ROOT_DEVICE=""
|
||||||
|
manage_tmpfs
|
||||||
|
|
||||||
|
# modprobe filesystems that are not in kernel, for live disks
|
||||||
|
modprobe -qa nls_cp857 nls_utf8 vfat
|
||||||
|
|
||||||
|
for i in `seq 50`
|
||||||
|
do
|
||||||
|
t=`findfs ${LIVEROOT} 2>/dev/null`
|
||||||
|
find_live_mount "$t"
|
||||||
|
|
||||||
|
if [ "${ROOT_DEVICE}" != "" ]
|
||||||
|
then
|
||||||
|
break
|
||||||
|
else
|
||||||
|
probe_devices
|
||||||
|
usleep 200000
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "${ROOT_DEVICE}" == "" ]
|
||||||
|
then
|
||||||
|
fall2sh "Could not find mount media"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mount_cdroot
|
||||||
|
|
||||||
|
elif [ "${NFSROOT}" -eq "1" ]
|
||||||
|
then
|
||||||
|
run_dhcpc
|
||||||
|
manage_tmpfs
|
||||||
|
mount_nfs
|
||||||
|
|
||||||
|
# set hostname for mudur
|
||||||
|
hostname $HOSTNAME
|
||||||
|
|
||||||
|
else
|
||||||
|
# Wait until ROOT_DEVICE appears
|
||||||
|
for i in `seq 50`
|
||||||
|
do
|
||||||
|
# let findfs handle all conversion
|
||||||
|
ROOT_DEVICE=`findfs ${ROOT_TARGET} 2>/dev/null`
|
||||||
|
|
||||||
|
if [ ! -b "${ROOT_DEVICE}" ]
|
||||||
|
then
|
||||||
|
probe_devices
|
||||||
|
usleep 200000
|
||||||
|
else
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
if [ ! -b "${ROOT_DEVICE}" ]
|
||||||
|
then
|
||||||
|
fall2sh "Could not find boot device"
|
||||||
|
else
|
||||||
|
mount_rootfs
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ "${INIT}" == "" ] && INIT="/sbin/init";
|
||||||
|
|
||||||
|
# This stops /lib/udev/rules.d/65-md-incremental.rules from medling with mdraid sets.
|
||||||
|
[ "${RAID_INCREMENTAL}" -eq "0" ] && touch /dev/.in_sysinit
|
||||||
|
|
||||||
|
# Move mounts instead of umount/mount
|
||||||
|
mount --move /dev /newroot/dev
|
||||||
|
mount --move /proc /newroot/proc
|
||||||
|
mount --move /sys /newroot/sys
|
||||||
|
# Added to start udev properly
|
||||||
|
#mount --move /run /newroot/run
|
||||||
|
|
||||||
|
|
||||||
|
# And we start
|
||||||
|
info "Switching to the real root"
|
||||||
|
test -x /bin/plymouth && /bin/plymouth update-root-fs --new-root-dir=/newroot
|
||||||
|
exec /bin/switch_root -c /dev/console /newroot ${INIT} ${LEVEL}
|
||||||
|
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#
|
||||||
|
# this file is used to configure initramfs, lowercase is preferred
|
||||||
|
#
|
||||||
|
|
||||||
|
# Set to 1 to enable probing raid modules and
|
||||||
|
# calling /sbin/mdadm if it exists
|
||||||
|
# raid=1
|
||||||
|
|
||||||
|
# Set to 1 to enable probing lvm modules and
|
||||||
|
# calling /sbin/lvm if it exists
|
||||||
|
# lvm=1
|
||||||
|
|
||||||
|
# Set to 1 to mount rootfs over NFS
|
||||||
|
# thin=0
|
||||||
|
|
||||||
|
# Set root device
|
||||||
|
# root=LABEL=MyPisiLinuxSystem
|
||||||
|
|
||||||
|
# Set rootfs's mount flags
|
||||||
|
# rootflags=acl,xattr
|
||||||
|
|
||||||
|
# Set resume partition
|
||||||
|
# resume=/dev/sdb5
|
||||||
|
|
||||||
|
# Set to 1 to disable resuming
|
||||||
|
# noresume=0
|
||||||
|
|
||||||
|
# Set Live media label
|
||||||
|
# liveroot=LABEL=PisiLiveImage
|
||||||
@@ -0,0 +1,586 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# PisiLinux initramfs creator
|
||||||
|
#
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import glob
|
||||||
|
import stat
|
||||||
|
import shutil
|
||||||
|
import tempfile
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
from optparse import OptionParser
|
||||||
|
|
||||||
|
config = {"rootDir" : "/",
|
||||||
|
"tmpDir" : "",
|
||||||
|
"debug" : False,
|
||||||
|
"dryrun" : False,
|
||||||
|
"destDir" : "/boot",
|
||||||
|
"blackList" : ["pktcdvd", "floppy"],
|
||||||
|
"kernelType" : "kernel",
|
||||||
|
"initramfsConf" : "/etc/initramfs.conf",
|
||||||
|
"kernelVersion" : "",
|
||||||
|
}
|
||||||
|
|
||||||
|
def loadFile(_file):
|
||||||
|
try:
|
||||||
|
f = file(_file)
|
||||||
|
d = [a.lstrip().rstrip("\n") for a in f]
|
||||||
|
d = filter(lambda x: not (x.startswith("#") or x == ""), d)
|
||||||
|
f.close()
|
||||||
|
return d
|
||||||
|
except:
|
||||||
|
return []
|
||||||
|
|
||||||
|
def writeFile(_file, data):
|
||||||
|
f = open(_file, "w")
|
||||||
|
f.write(data)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
def mkdir(_dir):
|
||||||
|
os.makedirs(_dir)
|
||||||
|
|
||||||
|
def dohardlink(destination, source):
|
||||||
|
os.link(destination, source)
|
||||||
|
|
||||||
|
def dosymlink(destination, source):
|
||||||
|
os.symlink(destination, source)
|
||||||
|
|
||||||
|
def mknod(nodfile, nodtype, major, minor, perms=0666):
|
||||||
|
# c for character b for block devices, mknod style
|
||||||
|
if nodtype == "c":
|
||||||
|
devtype = stat.S_IFCHR
|
||||||
|
else:
|
||||||
|
devtype = stat.S_IFBLK
|
||||||
|
|
||||||
|
os.mknod(nodfile, perms | devtype, os.makedev(major, minor))
|
||||||
|
|
||||||
|
def copy(source, destination):
|
||||||
|
# First let's check for the target directory and create if
|
||||||
|
# it doesn't exist
|
||||||
|
destdir = os.path.dirname(destination)
|
||||||
|
if not os.path.isdir(destdir):
|
||||||
|
mkdir(destdir)
|
||||||
|
|
||||||
|
try:
|
||||||
|
shutil.copy2(source, destination)
|
||||||
|
except IOError:
|
||||||
|
printWarn("Could not find %s" % source)
|
||||||
|
|
||||||
|
def touch(_file):
|
||||||
|
if os.path.exists(_file):
|
||||||
|
os.utime(_file, None)
|
||||||
|
else:
|
||||||
|
f = open(_file, 'w')
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
def capture(*cmd):
|
||||||
|
a = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
|
||||||
|
return a.communicate()
|
||||||
|
|
||||||
|
def run(*cmd):
|
||||||
|
f = file("/dev/null", "w")
|
||||||
|
return subprocess.call(cmd, shell=True, stdout=f, stderr=f)
|
||||||
|
|
||||||
|
def printFail(msg):
|
||||||
|
print "ERROR: %s" % msg
|
||||||
|
|
||||||
|
tempdir.cleanup()
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
def printWarn(msg):
|
||||||
|
print "WARNING: %s" % msg
|
||||||
|
|
||||||
|
def setKernelVersion(Version=""):
|
||||||
|
if Version == "":
|
||||||
|
kver = "".join(loadFile("/etc/kernel/%s" % config["kernelType"]))
|
||||||
|
else:
|
||||||
|
kver = Version
|
||||||
|
|
||||||
|
# FIXME: we should do this an option and in a try/except
|
||||||
|
if kver == "":
|
||||||
|
print "could not find version of %s, autodetecting" % config["kernelType"]
|
||||||
|
kver = os.uname()[2]
|
||||||
|
|
||||||
|
config["kernelVersion"] = kver
|
||||||
|
|
||||||
|
class BaseSystem:
|
||||||
|
def __init__(self):
|
||||||
|
self.kver = config["kernelVersion"]
|
||||||
|
self.tmpDir = config["tmpDir"]
|
||||||
|
self.baseDirs = ["bin", "sbin", "etc/initramfs.d", "dev", "dev/loop", "lib", "newroot", "proc", "sys"]
|
||||||
|
|
||||||
|
self.deviceNodes = {"null" : ["c", 1, 3],
|
||||||
|
"console" : ["c", 5, 1],
|
||||||
|
"tty" : ["c", 5, 0],
|
||||||
|
"tty0" : ["c", 4, 0],
|
||||||
|
"tty1" : ["c", 4, 1],
|
||||||
|
"ram0" : ["b", 1, 0],
|
||||||
|
"fb0" : ["c", 29, 0],
|
||||||
|
"urandom" : ["c", 1, 9],
|
||||||
|
"kmsg" : ["c", 1, 11],
|
||||||
|
}
|
||||||
|
|
||||||
|
self.baseFileList = {
|
||||||
|
"/bin/busybox" : "/bin/",
|
||||||
|
"/bin/busybox.links" : "/bin/",
|
||||||
|
"/usr/bin/disktype" : "/bin/",
|
||||||
|
"/usr/bin/sdmem" : "/bin/",
|
||||||
|
"/lib/initramfs/init" : "/",
|
||||||
|
"/lib/initramfs/hotplug" : "/sbin/",
|
||||||
|
"/lib/initramfs/udhcpc.script" : "/etc/",
|
||||||
|
"/lib/initramfs/profile.rc" : "/etc/profile",
|
||||||
|
}
|
||||||
|
|
||||||
|
self.modprobeBlacklistFileList = dict([(k,"/etc/modprobe.d") for k in glob.glob("/etc/modprobe.d/blacklist*conf")])
|
||||||
|
|
||||||
|
self.suspendFileList = {
|
||||||
|
"/etc/suspend.conf" : "/etc/",
|
||||||
|
"/usr/sbin/resume" : "/bin/",
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def getNewRoot(self, dir):
|
||||||
|
cleandir = dir.lstrip("/")
|
||||||
|
return os.path.join(self.tmpDir, cleandir)
|
||||||
|
|
||||||
|
def createBaseDirectories(self):
|
||||||
|
for i in self.baseDirs:
|
||||||
|
mkdir(self.getNewRoot(i))
|
||||||
|
|
||||||
|
mkdir(self.getNewRoot("/lib/modules/%s" % self.kver))
|
||||||
|
mkdir(self.getNewRoot("/lib/firmware"))
|
||||||
|
mkdir(self.getNewRoot("/etc/modprobe.d"))
|
||||||
|
|
||||||
|
def copyBasefiles(self):
|
||||||
|
for i in self.baseFileList:
|
||||||
|
copy(i, self.getNewRoot(self.baseFileList[i]))
|
||||||
|
|
||||||
|
for i in ["/init", "/etc/udhcpc.script"]:
|
||||||
|
os.chmod(self.getNewRoot(i), 0755)
|
||||||
|
|
||||||
|
for i in ["ext2", "ext3", "ext4", "reiserfs", "xfs"]:
|
||||||
|
touch(self.getNewRoot("/bin/fsck.%s" % i))
|
||||||
|
|
||||||
|
writeFile(self.getNewRoot("/etc/fstab"), "none none none defaults 0 0")
|
||||||
|
|
||||||
|
def createConfig(self):
|
||||||
|
# FIXME: Parse config files and create a proper one by hand
|
||||||
|
configFileSource = config["initramfsConf"]
|
||||||
|
if os.path.exists(configFileSource):
|
||||||
|
copy(configFileSource, self.getNewRoot(configFileSource))
|
||||||
|
|
||||||
|
def createNodes(self):
|
||||||
|
for i in self.deviceNodes:
|
||||||
|
k = self.deviceNodes[i]
|
||||||
|
mknod(self.getNewRoot("dev/%s" % i), k[0], k[1], k[2])
|
||||||
|
|
||||||
|
for i in range(8):
|
||||||
|
mknod(self.getNewRoot("dev/loop/%i" % i), "b", 7, i)
|
||||||
|
dosymlink("loop/%i" % i, self.getNewRoot("dev/loop%i" % i))
|
||||||
|
|
||||||
|
def createBaseSymlinks(self):
|
||||||
|
for i in loadFile(self.getNewRoot("/bin/busybox.links")):
|
||||||
|
# FIXME: python dosym does not play nice with cpio, it creates 120MB initramfs
|
||||||
|
# dosymlink("busybox", self.getNewRoot("/bin/%s" % i.split("/")[-1]))
|
||||||
|
dohardlink(self.getNewRoot("/bin/busybox"), self.getNewRoot("/bin/%s" % i.split("/")[-1]))
|
||||||
|
|
||||||
|
# FIXME: maybe we should symlink sbin to bin
|
||||||
|
dohardlink(self.getNewRoot("/bin/busybox"), self.getNewRoot("/sbin/modprobe"))
|
||||||
|
|
||||||
|
def addRaid(self):
|
||||||
|
mdadmFile = "/sbin/mdadm.static"
|
||||||
|
if os.path.exists(mdadmFile):
|
||||||
|
copy(mdadmFile, self.getNewRoot(mdadmFile.replace(".static", "")))
|
||||||
|
|
||||||
|
def addLvm(self):
|
||||||
|
lvmFile = "/sbin/lvm.static"
|
||||||
|
if os.path.exists(lvmFile):
|
||||||
|
copy(lvmFile, self.getNewRoot(lvmFile.replace(".static", "")))
|
||||||
|
|
||||||
|
def addSuspend(self):
|
||||||
|
for i in self.suspendFileList:
|
||||||
|
copy(i, self.getNewRoot(self.suspendFileList[i]))
|
||||||
|
|
||||||
|
def addModprobeBlacklists(self):
|
||||||
|
for i in self.modprobeBlacklistFileList:
|
||||||
|
copy(i, self.getNewRoot(self.modprobeBlacklistFileList[i]))
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
self.createBaseDirectories()
|
||||||
|
self.copyBasefiles()
|
||||||
|
self.createNodes()
|
||||||
|
self.createBaseSymlinks()
|
||||||
|
self.createConfig()
|
||||||
|
self.addRaid()
|
||||||
|
self.addLvm()
|
||||||
|
self.addSuspend()
|
||||||
|
self.addModprobeBlacklists()
|
||||||
|
|
||||||
|
class KernelModule:
|
||||||
|
def __init__(self):
|
||||||
|
self.modulesList = []
|
||||||
|
self.allModules = []
|
||||||
|
self.blackList = config["blackList"]
|
||||||
|
self.kernelVersion = config["kernelVersion"]
|
||||||
|
|
||||||
|
self.targetDir = config["tmpDir"]
|
||||||
|
self.rootDir = config["rootDir"]
|
||||||
|
self.modulesDir = os.path.join(self.rootDir, "lib/modules/%s" % self.kernelVersion)
|
||||||
|
self.firmwareDir = os.path.join(self.rootDir, "lib/firmware")
|
||||||
|
|
||||||
|
self.addNetworkModule = config["networkModule"]
|
||||||
|
self.addNetworkModuleBasic = config["networkModuleBasic"]
|
||||||
|
|
||||||
|
self.addDRMModules = not config["excludeDRM"]
|
||||||
|
self.findAllModules()
|
||||||
|
|
||||||
|
self.scsiDirs = ["kernel/drivers/scsi"]
|
||||||
|
self.scsiModules = ["mptfc", "mptsas", "mptscsih", "mptspi", "zfcp"]
|
||||||
|
|
||||||
|
self.mdDirs = ["kernel/drivers/md"]
|
||||||
|
self.ataDirs = ["kernel/drivers/ata"]
|
||||||
|
self.mmcDirs = ["kernel/drivers/mmc"]
|
||||||
|
self.ideDirs = ["kernel/drivers/ide"]
|
||||||
|
self.blockDirs = ["kernel/drivers/block"]
|
||||||
|
|
||||||
|
self.firewireModules = ["firewire-ohci", "firewire-sbp2", "firewire-net", "firewire-core"]
|
||||||
|
self.i2oModules = ["i2o_block"]
|
||||||
|
self.usbModules = ["usb-storage", "sd_mod", "usbcore", "ehci-hcd", "ohci-hcd", "uhci-hcd"]
|
||||||
|
|
||||||
|
self.filesystemModules = ["ext2", "ext3", "ext4", "reiser4", "jfs", "reiserfs", "xfs", "vfat", "fat", "ntfs", "unionfs", "cramfs", "nfs", "nls_utf8", "nls_iso8859_9", "nls_cp857", "nls_iso8859-1", "nls_ascii", "nls_cp850", "squashfs"]
|
||||||
|
|
||||||
|
self.networkBaseModules = ["af_packet", "mii", "8390", "via-rhine", "8139too", "ne2k-pci", "e100", "sky2", "tg3", "skge"]
|
||||||
|
self.networkDirs = ["kernel/drivers/net"]
|
||||||
|
|
||||||
|
self.drmDir = "kernel/drivers/gpu/drm"
|
||||||
|
|
||||||
|
self.virtioModules = ["virtio", "virtio_balloon", "virtio_blk", "virtio_net", "virtio_pci"]
|
||||||
|
self.xenModules = ["xenblk", "xenfb", "gntdev", "xennet", "xenkbd"]
|
||||||
|
|
||||||
|
|
||||||
|
def tidyModuleList(self):
|
||||||
|
ml = list(set(self.modulesList))
|
||||||
|
ml.sort()
|
||||||
|
self.modulesList = ml
|
||||||
|
|
||||||
|
def depmod(self, targetdir):
|
||||||
|
cmd = "/sbin/depmod -a -b %s -F %s/System.map %s"
|
||||||
|
capture(cmd % (targetdir, self.modulesDir, self.kernelVersion))
|
||||||
|
|
||||||
|
def installModules(self):
|
||||||
|
for i in self.modulesList:
|
||||||
|
if os.path.basename(i).replace(".ko", "") not in self.blackList:
|
||||||
|
copy(i, os.path.join(self.targetDir, self.modulesDir.replace(self.rootDir, "/").lstrip("/")))
|
||||||
|
|
||||||
|
def findAllModules(self):
|
||||||
|
foundModules = []
|
||||||
|
|
||||||
|
if not os.path.exists(self.modulesDir):
|
||||||
|
printFail("There is no %s, please check your kernel version" % self.modulesDir)
|
||||||
|
|
||||||
|
for root, directory, files in os.walk(self.modulesDir):
|
||||||
|
for name in files:
|
||||||
|
if name.endswith(".ko"):
|
||||||
|
foundModules.append(os.path.join(root, name))
|
||||||
|
|
||||||
|
self.allModules = foundModules
|
||||||
|
|
||||||
|
def findModuleDeps(self):
|
||||||
|
deps = []
|
||||||
|
depdata = loadFile(os.path.join(self.modulesDir, "modules.dep"))
|
||||||
|
|
||||||
|
for line in depdata:
|
||||||
|
for i in self.modulesList:
|
||||||
|
if "%s:" % i.replace("%s/" % self.modulesDir, "") in line:
|
||||||
|
deps.extend(line.split(":")[1].strip().split(" "))
|
||||||
|
|
||||||
|
# return [os.path.join(self.modulesDir, x) for x in deps if not x == ""]
|
||||||
|
self.modulesList.extend([os.path.join(self.modulesDir, x) for x in deps if not x == ""])
|
||||||
|
|
||||||
|
def appendFirmwares(self):
|
||||||
|
ret = capture("/sbin/modinfo -F firmware %s/*.ko" % os.path.join(self.targetDir, self.modulesDir.replace(self.rootDir, "/").lstrip("/")))[0]
|
||||||
|
fwlist = ret.strip("\n").split("\n")
|
||||||
|
|
||||||
|
targetbase = os.path.join(self.targetDir, "lib/firmware")
|
||||||
|
|
||||||
|
for i in fwlist:
|
||||||
|
src = os.path.join(self.firmwareDir, i)
|
||||||
|
target = os.path.join(targetbase, os.path.dirname(i))
|
||||||
|
|
||||||
|
if os.path.exists(src):
|
||||||
|
if not os.path.exists(target):
|
||||||
|
mkdir(target)
|
||||||
|
|
||||||
|
copy(src, target)
|
||||||
|
|
||||||
|
else:
|
||||||
|
printWarn("Could not find firmware %s" % src)
|
||||||
|
pass
|
||||||
|
|
||||||
|
def updateModuleDependencies(self, force=False):
|
||||||
|
# this is here to prevent a race condition with pakhandler, when installing a system from scratch
|
||||||
|
if force or not os.path.exists("%s/modules.dep" % self.modulesDir):
|
||||||
|
printWarn("Could not find module dependencies in %s, running depmod for system" % self.modulesDir)
|
||||||
|
self.depmod(self.rootDir)
|
||||||
|
|
||||||
|
def addDir(self, mdir):
|
||||||
|
newModules = []
|
||||||
|
dirtoadd = os.path.join(self.modulesDir, mdir)
|
||||||
|
|
||||||
|
for line in self.allModules:
|
||||||
|
if line.startswith(dirtoadd):
|
||||||
|
newModules.append(line)
|
||||||
|
|
||||||
|
self.modulesList.extend(newModules)
|
||||||
|
|
||||||
|
def addModule(self, module):
|
||||||
|
if module.endswith(".ko"):
|
||||||
|
module = module[:-3]
|
||||||
|
|
||||||
|
for line in self.allModules:
|
||||||
|
# FIXME: I still don't trust the _ versus - case, try to be sure of it in kernel
|
||||||
|
if line.replace("-", "_").endswith("/%s.ko" % module.replace("-", "_")):
|
||||||
|
self.modulesList.append(line)
|
||||||
|
return
|
||||||
|
|
||||||
|
def addScsi(self):
|
||||||
|
for i in self.scsiDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
for i in self.scsiModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addAta(self):
|
||||||
|
for i in self.ataDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
def addMmc(self):
|
||||||
|
for i in self.mmcDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
def addBlock(self):
|
||||||
|
for i in self.blockDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
def addIde(self):
|
||||||
|
for i in self.ideDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
def addNetwork(self):
|
||||||
|
if self.addNetworkModule:
|
||||||
|
for i in self.networkDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
if self.addNetworkModuleBasic:
|
||||||
|
for i in self.networkBaseModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addDRM(self):
|
||||||
|
if self.addDRMModules:
|
||||||
|
for i in glob.glob("%s/*/*.ko" % os.path.join(self.modulesDir, self.drmDir)):
|
||||||
|
# Check for drm_crtc_init symbol
|
||||||
|
if not os.system("grep -qw drm_crtc_init %s" % i):
|
||||||
|
self.addModule(i.partition(self.modulesDir+'/')[-1])
|
||||||
|
|
||||||
|
# Add uvesafb as a fallback
|
||||||
|
if os.path.exists("/sbin/v86d"):
|
||||||
|
copy("/sbin/v86d", os.path.join(self.targetDir, "sbin/"))
|
||||||
|
self.addModule("kernel/drivers/video/uvesafb.ko")
|
||||||
|
|
||||||
|
def addMd(self):
|
||||||
|
for i in self.mdDirs:
|
||||||
|
self.addDir(i)
|
||||||
|
|
||||||
|
def addFirewire(self):
|
||||||
|
for i in self.firewireModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addI2o(self):
|
||||||
|
for i in self.i2oModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addUsb(self):
|
||||||
|
for i in self.usbModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addFilesystem(self):
|
||||||
|
for i in self.filesystemModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addVirtio(self):
|
||||||
|
for i in self.virtioModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addXen(self):
|
||||||
|
for i in self.xenModules:
|
||||||
|
self.addModule(i)
|
||||||
|
|
||||||
|
def addGeneric(self):
|
||||||
|
self.addScsi()
|
||||||
|
self.addAta()
|
||||||
|
self.addMmc()
|
||||||
|
self.addBlock()
|
||||||
|
self.addIde()
|
||||||
|
self.addNetwork()
|
||||||
|
self.addMd()
|
||||||
|
self.addFirewire()
|
||||||
|
self.addI2o()
|
||||||
|
self.addUsb()
|
||||||
|
self.addFilesystem()
|
||||||
|
self.addVirtio()
|
||||||
|
self.addDRM()
|
||||||
|
|
||||||
|
def autoGenerate(self):
|
||||||
|
self.updateModuleDependencies()
|
||||||
|
self.addGeneric()
|
||||||
|
self.findModuleDeps()
|
||||||
|
self.tidyModuleList()
|
||||||
|
self.installModules()
|
||||||
|
self.appendFirmwares()
|
||||||
|
self.depmod(self.targetDir)
|
||||||
|
|
||||||
|
class Plymouth:
|
||||||
|
def __init__(self):
|
||||||
|
self.fileList = "/lib/initramfs/plymouth.list"
|
||||||
|
self.targetDir = config["tmpDir"]
|
||||||
|
self.theme = "pisilinux"
|
||||||
|
self.themeDir = "/usr/share/plymouth/themes"
|
||||||
|
|
||||||
|
def install_current_theme(self):
|
||||||
|
self.theme = os.popen("plymouth-set-default-theme").read().strip()
|
||||||
|
if os.path.exists("%s/%s" % (self.themeDir, self.theme)):
|
||||||
|
for themeFile in glob.glob("%s/%s/*" % (self.themeDir, self.theme)):
|
||||||
|
copy(themeFile, os.path.join(self.targetDir, themeFile[1:]))
|
||||||
|
|
||||||
|
def install(self):
|
||||||
|
"""Will install plymouth related base stuff."""
|
||||||
|
if os.path.exists(self.fileList):
|
||||||
|
with open(self.fileList, "r") as files:
|
||||||
|
for _file in files:
|
||||||
|
filename = _file.strip()
|
||||||
|
copy(filename.strip(), os.path.join(self.targetDir, filename[1:]))
|
||||||
|
|
||||||
|
self.install_current_theme()
|
||||||
|
|
||||||
|
class Initramfs:
|
||||||
|
def __init__(self):
|
||||||
|
self.destDir = config["destDir"]
|
||||||
|
self.sourceDir = config["tmpDir"]
|
||||||
|
self.initramfs = "initramfs-%s" % config["kernelVersion"]
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
if not os.path.exists(self.destDir):
|
||||||
|
mkdir(self.destDir)
|
||||||
|
|
||||||
|
cmd = "(cd %s && find . | cpio --quiet --dereference -o -H newc | gzip -6 > %s)"
|
||||||
|
capture(cmd % (self.sourceDir, os.path.join(self.destDir, self.initramfs)))
|
||||||
|
|
||||||
|
class Tempdir:
|
||||||
|
def __init__(self):
|
||||||
|
self.tmpDir = ""
|
||||||
|
self.keepTmp = False
|
||||||
|
|
||||||
|
def create(self):
|
||||||
|
self.tmpDir = tempfile.mkdtemp(prefix="mkinitramfs-")
|
||||||
|
|
||||||
|
def cleanup(self):
|
||||||
|
if self.keepTmp:
|
||||||
|
printWarn("Keeping temporary directory %s" % self.tmpDir)
|
||||||
|
else:
|
||||||
|
shutil.rmtree(self.tmpDir)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
tempdir = Tempdir()
|
||||||
|
tempdir.create()
|
||||||
|
config["tmpDir"] = tempdir.tmpDir
|
||||||
|
|
||||||
|
parser = OptionParser()
|
||||||
|
parser.add_option("-k", "--kernel", dest="kernelVersion", type="string",
|
||||||
|
help="kernel version to create initramfs for")
|
||||||
|
|
||||||
|
parser.add_option("-t", "--type", dest="type", type="string", default="kernel",
|
||||||
|
help="kernel type to create initramfs for")
|
||||||
|
|
||||||
|
parser.add_option("-o", "--output", dest="destDir", type="string", metavar="DIR", default="/boot",
|
||||||
|
help="create initramfs in DIR")
|
||||||
|
|
||||||
|
parser.add_option("-c", "--configfile", dest="configFile", type="string", metavar="FILE", default="/etc/initramfs.conf",
|
||||||
|
help="use FILE for initramfs config file, default is /etc/initramfs.conf")
|
||||||
|
|
||||||
|
parser.add_option("-r", "--rootdir", dest="rootDir", type="string", metavar="DIR", default="/",
|
||||||
|
help="use DIR as basedir for kernel modules")
|
||||||
|
|
||||||
|
parser.add_option("-f", "--filename", dest="filename", type="string", metavar="FILE",
|
||||||
|
help="use FILE for initramfs file name")
|
||||||
|
|
||||||
|
parser.add_option("-d", "--debug", action="store_true", dest="debug", default=False,
|
||||||
|
help="print extra debug info")
|
||||||
|
|
||||||
|
parser.add_option("--blacklist", dest="blackList", type="string", metavar="FILES", default="",
|
||||||
|
help="define modules to be blacklisted, seperated by comma. Example: e100,rtl819,ahci")
|
||||||
|
|
||||||
|
parser.add_option("--network", action="store_true", dest="networkModule", default=False,
|
||||||
|
help="add network modules")
|
||||||
|
|
||||||
|
parser.add_option("--nodrm", action="store_true", dest="excludeDRM", default=False,
|
||||||
|
help="Don't include KMS capable DRM modules")
|
||||||
|
|
||||||
|
parser.add_option("--network-generic", action="store_true", dest="networkModuleBasic", default=False,
|
||||||
|
help="add only generic network modules")
|
||||||
|
|
||||||
|
parser.add_option("--keeptmp", action="store_true", dest="keepTmp", default=False,
|
||||||
|
help="whether to keep temporary dir after operation")
|
||||||
|
|
||||||
|
parser.add_option("-n", "--dry-run", action="store_true", dest="dryrun", default=False,
|
||||||
|
help="do not perform any action, just show what will be done")
|
||||||
|
|
||||||
|
parser.add_option("--list-modules", action="store_true", dest="listModules", default=False,
|
||||||
|
help="do not perform any action, just show what will be done")
|
||||||
|
|
||||||
|
parser.add_option("--list-base", action="store_true", dest="listBase", default=False,
|
||||||
|
help="do not perform any action, just show what will be done")
|
||||||
|
|
||||||
|
(opts, args) = parser.parse_args()
|
||||||
|
|
||||||
|
config["initramfsConf"] = opts.configFile
|
||||||
|
|
||||||
|
config["destDir"] = os.path.abspath(opts.destDir)
|
||||||
|
config["rootDir"] = os.path.abspath(opts.rootDir)
|
||||||
|
|
||||||
|
config["debug"] = opts.debug
|
||||||
|
config["dryrun"] = opts.dryrun
|
||||||
|
tempdir.keepTmp = opts.keepTmp
|
||||||
|
|
||||||
|
config["kernelType"] = opts.type
|
||||||
|
config["networkModule"] = opts.networkModule
|
||||||
|
config["networkModuleBasic"] = opts.networkModuleBasic
|
||||||
|
config["excludeDRM"] = opts.excludeDRM
|
||||||
|
|
||||||
|
if "," in opts.blackList:
|
||||||
|
config["blackList"].extend(opts.blackList.split(","))
|
||||||
|
|
||||||
|
if opts.kernelVersion:
|
||||||
|
config["kernelVersion"] = opts.kernelVersion
|
||||||
|
else:
|
||||||
|
setKernelVersion()
|
||||||
|
|
||||||
|
basesystem = BaseSystem()
|
||||||
|
basesystem.create()
|
||||||
|
|
||||||
|
# Check for plymouth and install if found
|
||||||
|
plymouth = Plymouth()
|
||||||
|
plymouth.install()
|
||||||
|
|
||||||
|
kernelmodule = KernelModule()
|
||||||
|
kernelmodule.autoGenerate()
|
||||||
|
|
||||||
|
initramfs = Initramfs()
|
||||||
|
initramfs.create()
|
||||||
|
|
||||||
|
tempdir.cleanup()
|
||||||
|
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Simple profile file for sh
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
alias ll='ls --color -l'
|
||||||
|
|
||||||
|
export PS1="\[\033[1;31m\]initramfs \[\033[1;34m\]\W # \[\033[00m\]"
|
||||||
@@ -0,0 +1,85 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
PATH=/bin:/usr/bin:/sbin:/usr/sbin
|
||||||
|
|
||||||
|
RESOLV_CONF="/etc/resolv.conf"
|
||||||
|
|
||||||
|
UDHCPC_INFO="/etc/udhcpc.info"
|
||||||
|
|
||||||
|
update_interface()
|
||||||
|
{
|
||||||
|
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
|
||||||
|
[ -n "$subnet" ] && NETMASK="netmask $subnet"
|
||||||
|
/bin/ifconfig $interface $ip $BROADCAST $NETMASK
|
||||||
|
}
|
||||||
|
|
||||||
|
update_routes()
|
||||||
|
{
|
||||||
|
if [ -n "$router" ]
|
||||||
|
then
|
||||||
|
echo "deleting routes"
|
||||||
|
while /bin/route del default gw 0.0.0.0 dev $interface > /dev/null 2>&1
|
||||||
|
do :
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $router
|
||||||
|
do
|
||||||
|
/bin/route add default gw $i dev $interface
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
update_dns()
|
||||||
|
{
|
||||||
|
echo -n > $RESOLV_CONF
|
||||||
|
[ -n "$domain" ] && echo domain $domain >> $RESOLV_CONF
|
||||||
|
for i in $dns
|
||||||
|
do
|
||||||
|
echo adding dns $i
|
||||||
|
echo nameserver $i >> $RESOLV_CONF
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
deconfig()
|
||||||
|
{
|
||||||
|
/bin/ifconfig $interface 0.0.0.0
|
||||||
|
}
|
||||||
|
|
||||||
|
update_udhcpc_info()
|
||||||
|
{
|
||||||
|
cat > $UDHCPC_INFO <<EOF
|
||||||
|
HOSTNAME=$hostname
|
||||||
|
INTERFACE=$interface
|
||||||
|
IP=$ip
|
||||||
|
BROADCAST=$broadcast
|
||||||
|
NETMASK=$netmask
|
||||||
|
ROOTPATH=$rootpath
|
||||||
|
EOF
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
bound)
|
||||||
|
update_interface;
|
||||||
|
update_routes;
|
||||||
|
update_dns;
|
||||||
|
update_udhcpc_info;
|
||||||
|
;;
|
||||||
|
|
||||||
|
renew)
|
||||||
|
update_interface;
|
||||||
|
update_routes;
|
||||||
|
update_dns;
|
||||||
|
update_udhcpc_info;
|
||||||
|
;;
|
||||||
|
|
||||||
|
deconfig)
|
||||||
|
deconfig;
|
||||||
|
;;
|
||||||
|
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 {bound|renew|deconfig}"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -0,0 +1,101 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>mkinitramfs</Name>
|
||||||
|
<Homepage>http://www.busybox.net</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>GPLv2</License>
|
||||||
|
<IsA>app:console</IsA>
|
||||||
|
<Summary>A tool to create the initramfs image</Summary>
|
||||||
|
<Description>mkinitramfs contains a tool to create the initramfs image with busybox.</Description>
|
||||||
|
<Archive sha1sum="c35fcf085f1bb73b851d7525c135a483c903b13d" type="binary">http://source.pisilinux.org/1.0/README.mkinitramfs</Archive>
|
||||||
|
</Source>
|
||||||
|
|
||||||
|
<Package>
|
||||||
|
<Name>mkinitramfs</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>disktype</Dependency>
|
||||||
|
<Dependency>busybox</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="config">/etc</Path>
|
||||||
|
<Path fileType="executable">/sbin</Path>
|
||||||
|
<Path fileType="executable">/lib/initramfs</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc/mkinitramfs</Path>
|
||||||
|
</Files>
|
||||||
|
<AdditionalFiles>
|
||||||
|
<AdditionalFile owner="root" permission="0755" target="/sbin/mkinitramfs">mkinitramfs</AdditionalFile>
|
||||||
|
<AdditionalFile owner="root" permission="0755" target="/lib/initramfs/init">init</AdditionalFile>
|
||||||
|
<AdditionalFile owner="root" permission="0755" target="/lib/initramfs/udhcpc.script">udhcpc.script</AdditionalFile>
|
||||||
|
<AdditionalFile owner="root" permission="0755" target="/lib/initramfs/hotplug">hotplug</AdditionalFile>
|
||||||
|
<AdditionalFile owner="root" permission="0644" target="/lib/initramfs/profile.rc">profile.rc</AdditionalFile>
|
||||||
|
<AdditionalFile owner="root" permission="0644" target="/etc/initramfs.conf.example">initramfs.conf</AdditionalFile>
|
||||||
|
</AdditionalFiles>
|
||||||
|
<Provides>
|
||||||
|
<COMAR script="pakhandler.py">System.PackageHandler</COMAR>
|
||||||
|
</Provides>
|
||||||
|
</Package>
|
||||||
|
|
||||||
|
<History>
|
||||||
|
<Update release="8">
|
||||||
|
<Date>2014-05-11</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Release bump.</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="7">
|
||||||
|
<Date>2014-05-10</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Fix probing LVM devices</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="6">
|
||||||
|
<Date>2013-09-10</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Disable mount tmpfs on /run</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="5">
|
||||||
|
<Date>2013-09-05</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Add missing method to pakhandler.py</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="4">
|
||||||
|
<Date>2013-09-03</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Fix default plymouth theme name.</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2013-06-17</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Fix resume path.</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2013-02-13</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Change loopbackimage address and name.</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2013-01-13</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>mkinitramfs</Name>
|
||||||
|
<Summary xml:lang="tr">initramfs image dosyası yaratmak için araç</Summary>
|
||||||
|
<Description xml:lang="tr">initramfs image dosyası yaratmak için araç</Description>
|
||||||
|
<Description xml:lang="fr">Un outil pour créer les images initramfs</Description>
|
||||||
|
</Source>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<PISI>
|
||||||
|
<Name>office</Name>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
<PISI>
|
||||||
|
<Name>office.docbook</Name>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Licensed under the GNU General Public License, version 3.
|
||||||
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||||
|
|
||||||
|
from pisi.actionsapi import pisitools
|
||||||
|
from pisi.actionsapi import get
|
||||||
|
|
||||||
|
WorkDir="."
|
||||||
|
|
||||||
|
def install():
|
||||||
|
for version in ["4.1.2", "4.2", "4.3", "4.4", "4.5"]:
|
||||||
|
pisitools.insinto("/usr/share/xml/docbook/xml-dtd-%s" % version, "*.dtd")
|
||||||
|
pisitools.insinto("/usr/share/xml/docbook/xml-dtd-%s" % version, "*.mod")
|
||||||
|
pisitools.insinto("/usr/share/xml/docbook/xml-dtd-%s" % version, "docbook.cat")
|
||||||
|
pisitools.insinto("/usr/share/xml/docbook/xml-dtd-%s/ent" % version, "ent/*.ent")
|
||||||
|
|
||||||
|
pisitools.dodoc("ChangeLog", "README")
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
|
||||||
|
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
|
||||||
|
<delegatePublic publicIdStartString="-//OASIS//ENTITIES DocBook XML" catalog="file:///etc/xml/docbook"/>
|
||||||
|
<delegatePublic publicIdStartString="-//OASIS//DTD DocBook XML" catalog="file:///etc/xml/docbook"/>
|
||||||
|
<delegateSystem systemIdStartString="http://www.oasis-open.org/docbook/" catalog="file:///etc/xml/docbook"/>
|
||||||
|
<delegateURI uriStartString="http://www.oasis-open.org/docbook/" catalog="file:///etc/xml/docbook"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets"/>
|
||||||
|
<rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://docbook.sourceforge.net/release/xsl/current" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets"/>
|
||||||
|
<rewriteURI uriStartString="http://docbook.sourceforge.net/release/xsl/current" rewritePrefix="/usr/share/xml/docbook/xsl-stylesheets"/>
|
||||||
|
</catalog>
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0"?>
|
||||||
|
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN" "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
|
||||||
|
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/calstblx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//DTD XML Exchange Table Model 19990315//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/soextblx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/dbpoolx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/dbhierx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/dbgenent.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/dbnotnx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.1.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.1.2/dbcentx.mod"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.1.2" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.1.2"/>
|
||||||
|
<rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.1.2" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.1.2"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/calstblx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/dbpoolx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/dbhierx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/dbgenent.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Notations V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/dbnotnx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.2//EN" uri="http://www.oasis-open.org/docbook/xml/4.2/dbcentx.mod"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.2" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.2"/>
|
||||||
|
<rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.2" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.2"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/calstblx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/dbpoolx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/dbhierx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/dbgenent.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Notations V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/dbnotnx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.3//EN" uri="http://www.oasis-open.org/docbook/xml/4.3/dbcentx.mod"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.3"/>
|
||||||
|
<rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.3" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.3"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook CALS Table Model V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/calstblx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/htmltblx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook Information Pool V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/dbpoolx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook Document Hierarchy V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/dbhierx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Additional General Entities V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/dbgenent.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Notations V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/dbnotnx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook Character Entities V4.4//EN" uri="http://www.oasis-open.org/docbook/xml/4.4/dbcentx.mod"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.4"/>
|
||||||
|
<rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.4" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.4"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML V4.5//EN" uri="http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//DTD DocBook XML CALS Table Model V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/calstblx.dtd"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook XML Information Pool V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbpoolx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook XML Document Hierarchy V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbhierx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ELEMENTS DocBook XML HTML Tables V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/htmltblx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook XML Notations V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbnotnx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook XML Character Entities V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbcentx.mod"/>
|
||||||
|
<public publicId="-//OASIS//ENTITIES DocBook XML Additional General Entities V4.5//EN" uri="file:///usr/share/xml/docbook/xml-dtd-4.5/dbgenent.mod"/>
|
||||||
|
<rewriteSystem systemIdStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.5"/>
|
||||||
|
<rewriteURI uriStartString="http://www.oasis-open.org/docbook/xml/4.5" rewritePrefix="file:///usr/share/xml/docbook/xml-dtd-4.5"/>
|
||||||
|
</catalog>
|
||||||
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>docbook-xml</Name>
|
||||||
|
<Homepage>http://www.docbook.org/xml/</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>LGPLv2.1</License>
|
||||||
|
<IsA>data</IsA>
|
||||||
|
<Summary>Docbook XML DTD</Summary>
|
||||||
|
<Description>Contains Docbook DTD for XML. A widely used XML scheme for writing documentation and help</Description>
|
||||||
|
<Archive sha1sum="b9ae7a41056bfaf885581812d60651b7b5531519" type="zip">http://www.docbook.org/xml/4.1.2/docbkx412.zip</Archive>
|
||||||
|
<Archive sha1sum="0b4c6d8228f4526185de51b8afbcfe0ec8939849" type="zip">http://www.oasis-open.org/docbook/xml/4.1/docbkx41.zip</Archive>
|
||||||
|
<Archive sha1sum="5e3a35663cd028c5c5fbb959c3858fec2d7f8b9e" type="zip">http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip</Archive>
|
||||||
|
<Archive sha1sum="e79a59e9164c1013b8cc9f64f96f909a184ca016" type="zip">http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip</Archive>
|
||||||
|
<Archive sha1sum="7c4d91c82ad3747e1b5600c91782758e5d91c22b" type="zip">http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip</Archive>
|
||||||
|
<Archive sha1sum="b9124233b50668fb508773aa2b3ebc631d7c1620" type="zip">http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip</Archive>
|
||||||
|
</Source>
|
||||||
|
|
||||||
|
<Package>
|
||||||
|
<Name>docbook-xml</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>sgml-common</Dependency>
|
||||||
|
<Dependency>libxml2</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="doc">/usr/share/doc/</Path>
|
||||||
|
<Path fileType="data">/usr/share/xml</Path>
|
||||||
|
<Path fileType="data">/etc/xml/docbook</Path>
|
||||||
|
<Path fileType="data">/etc/xml/catalog</Path>
|
||||||
|
</Files>
|
||||||
|
<AdditionalFiles>
|
||||||
|
<AdditionalFile owner="root" permission="0644" target="/etc/xml/docbook">docbook</AdditionalFile>
|
||||||
|
<AdditionalFile owner="root" permission="0644" target="/etc/xml/catalog">catalog</AdditionalFile>
|
||||||
|
</AdditionalFiles>
|
||||||
|
</Package>
|
||||||
|
|
||||||
|
<History>
|
||||||
|
<Update release="4">
|
||||||
|
<Date>2014-11-17</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-01-22</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2011-09-16</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Pisi Linux Admins</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>docbook-xml</Name>
|
||||||
|
<Summary xml:lang="tr">Docbook XML DTD</Summary>
|
||||||
|
<Description xml:lang="tr">Docbook XML belirtimi (DTD) sürümlerini içerir.</Description>
|
||||||
|
</Source>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
|
||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Licensed under the GNU General Public License, version 3.
|
||||||
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||||
|
|
||||||
|
from pisi.actionsapi import autotools
|
||||||
|
from pisi.actionsapi import pisitools
|
||||||
|
from pisi.actionsapi import get
|
||||||
|
|
||||||
|
def install():
|
||||||
|
autotools.rawInstall("DESTDIR=%s/usr/share/xml/docbook/xsl-stylesheets"
|
||||||
|
% get.installDIR())
|
||||||
|
pisitools.insinto("/usr/share/xml/docbook/xsl-stylesheets/","VERSION.xsl")
|
||||||
|
|
||||||
|
# Don't ship the extensions
|
||||||
|
pisitools.remove("/usr/share/xml/docbook/xsl-stylesheets/extensions/*")
|
||||||
|
|
||||||
|
pisitools.dodoc("AUTHORS", "BUGS", "COPYING", "NEWS", "README",
|
||||||
|
"RELEASE-NOTES.txt", "TODO", "VERSION")
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||||
|
os.system("/usr/bin/build-docbook-catalog")
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
BINDIR = /usr/bin
|
||||||
|
DESTDIR = ..overridden in spec file..
|
||||||
|
|
||||||
|
all: install
|
||||||
|
|
||||||
|
install: install-xsl install-img install-extensions install-misc install-epub
|
||||||
|
|
||||||
|
install-xsl:
|
||||||
|
mkdir -p $(DESTDIR)/{common,eclipse,fo,html,htmlhelp/doc,javahelp,lib,template,xhtml,xhtml-1_1,manpages,profiling,highlighting,roundtrip,website}
|
||||||
|
cp common/*.dtd $(DESTDIR)/common
|
||||||
|
cp common/*.ent $(DESTDIR)/common
|
||||||
|
cp common/*.xml $(DESTDIR)/common
|
||||||
|
cp common/*.xsl $(DESTDIR)/common
|
||||||
|
cp eclipse/*.xsl $(DESTDIR)/eclipse
|
||||||
|
cp fo/*.xml $(DESTDIR)/fo
|
||||||
|
cp fo/*.xsl $(DESTDIR)/fo
|
||||||
|
cp html/*.xml $(DESTDIR)/html
|
||||||
|
cp html/*.xsl $(DESTDIR)/html
|
||||||
|
cp htmlhelp/*.xsl $(DESTDIR)/htmlhelp
|
||||||
|
cp javahelp/*.xsl $(DESTDIR)/javahelp
|
||||||
|
cp lib/*.xsl $(DESTDIR)/lib
|
||||||
|
cp template/*.xsl $(DESTDIR)/template
|
||||||
|
cp xhtml/*.xsl $(DESTDIR)/xhtml
|
||||||
|
cp xhtml-1_1/*.xsl $(DESTDIR)/xhtml-1_1
|
||||||
|
cp manpages/*.xsl $(DESTDIR)/manpages
|
||||||
|
cp profiling/*.xsl $(DESTDIR)/profiling
|
||||||
|
cp highlighting/*.xml $(DESTDIR)/highlighting
|
||||||
|
cp highlighting/*.xsl $(DESTDIR)/highlighting
|
||||||
|
cp roundtrip/*.xml $(DESTDIR)/roundtrip
|
||||||
|
cp roundtrip/*.xsl $(DESTDIR)/roundtrip
|
||||||
|
cp roundtrip/*.dtd $(DESTDIR)/roundtrip
|
||||||
|
cp website/*.xsl $(DESTDIR)/website
|
||||||
|
|
||||||
|
install-img:
|
||||||
|
mkdir -p $(DESTDIR)/images/callouts
|
||||||
|
cp images/*.gif $(DESTDIR)/images
|
||||||
|
cp images/*.png $(DESTDIR)/images
|
||||||
|
cp images/*.svg $(DESTDIR)/images
|
||||||
|
cp images/callouts/*.png $(DESTDIR)/images/callouts
|
||||||
|
cp images/callouts/*.gif $(DESTDIR)/images/callouts
|
||||||
|
cp images/callouts/*.svg $(DESTDIR)/images/callouts
|
||||||
|
|
||||||
|
install-extensions:
|
||||||
|
mkdir -p $(DESTDIR)/extensions
|
||||||
|
cp -r extensions/* $(DESTDIR)/extensions
|
||||||
|
|
||||||
|
install-epub:
|
||||||
|
mkdir -p $(DESTDIR)/epub
|
||||||
|
cp -r epub/* ${DESTDIR}/epub
|
||||||
|
|
||||||
|
install-misc:
|
||||||
|
cp VERSION $(DESTDIR)
|
||||||
@@ -0,0 +1,110 @@
|
|||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/fo/lists.xsl docbook-xsl-1.74.0/fo/lists.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/fo/lists.xsl 2008-08-06 13:32:46.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.74.0/fo/lists.xsl 2008-08-06 13:41:27.000000000 +0200
|
||||||
|
@@ -248,9 +248,17 @@
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-label>
|
||||||
|
<fo:list-item-body start-indent="body-start()">
|
||||||
|
- <fo:block>
|
||||||
|
- <xsl:apply-templates/>
|
||||||
|
- </fo:block>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <!-- * work around broken passivetex list-item-body rendering -->
|
||||||
|
+ <xsl:when test="$passivetex.extensions = '1'">
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:block>
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </fo:block>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
</fo:list-item-body>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
@@ -446,10 +454,18 @@
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-label>
|
||||||
|
<fo:list-item-body start-indent="body-start()">
|
||||||
|
- <fo:block>
|
||||||
|
- <xsl:apply-templates select="listitem"/>
|
||||||
|
- </fo:block>
|
||||||
|
- </fo:list-item-body>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <!-- * work around broken passivetex list-item-body rendering -->
|
||||||
|
+ <xsl:when test="$passivetex.extensions = '1'">
|
||||||
|
+ <xsl:apply-templates select="listitem"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:block>
|
||||||
|
+ <xsl:apply-templates select="listitem"/>
|
||||||
|
+ </fo:block>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </fo:list-item-body>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
<xsl:choose>
|
||||||
|
@@ -925,9 +941,17 @@
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-label>
|
||||||
|
<fo:list-item-body start-indent="body-start()">
|
||||||
|
- <fo:block>
|
||||||
|
- <xsl:apply-templates/>
|
||||||
|
- </fo:block>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <!-- * work around broken passivetex list-item-body rendering -->
|
||||||
|
+ <xsl:when test="$passivetex.extensions = '1'">
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:block>
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </fo:block>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
</fo:list-item-body>
|
||||||
|
</fo:list-item>
|
||||||
|
</xsl:template>
|
||||||
|
@@ -951,9 +975,17 @@
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-label>
|
||||||
|
<fo:list-item-body start-indent="body-start()">
|
||||||
|
- <fo:block>
|
||||||
|
- <xsl:apply-templates/>
|
||||||
|
- </fo:block>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <!-- * work around broken passivetex list-item-body rendering -->
|
||||||
|
+ <xsl:when test="$passivetex.extensions = '1'">
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:block>
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </fo:block>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
</fo:list-item-body>
|
||||||
|
</fo:list-item>
|
||||||
|
</xsl:template>
|
||||||
|
@@ -1141,9 +1173,17 @@
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-label>
|
||||||
|
<fo:list-item-body start-indent="body-start()">
|
||||||
|
- <fo:block>
|
||||||
|
- <xsl:apply-templates/>
|
||||||
|
- </fo:block>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <!-- * work around broken passivetex list-item-body rendering -->
|
||||||
|
+ <xsl:when test="$passivetex.extensions = '1'">
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:block>
|
||||||
|
+ <xsl:apply-templates/>
|
||||||
|
+ </fo:block>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
</fo:list-item-body>
|
||||||
|
</fo:list-item>
|
||||||
|
</xsl:template>
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
diff -urNp docbook-xsl-1.76.1-orig/manpages/other.xsl docbook-xsl-1.76.1/manpages/other.xsl
|
||||||
|
--- docbook-xsl-1.76.1-orig/manpages/other.xsl 2010-08-27 05:14:52.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.76.1/manpages/other.xsl 2011-09-06 17:17:07.973737258 +0200
|
||||||
|
@@ -595,7 +595,14 @@ manvolnum
|
||||||
|
<xsl:with-param name="message-prolog">Note: </xsl:with-param>
|
||||||
|
<xsl:with-param name="message-epilog"> (soelim stub)</xsl:with-param>
|
||||||
|
<xsl:with-param name="content">
|
||||||
|
- <xsl:value-of select="'.so '"/>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$man.output.in.separate.dir = 0">
|
||||||
|
+ <xsl:value-of select="concat('.so man', $section, '/')"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <xsl:value-of select="'.so '"/> <!-- added case -->
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
<xsl:call-template name="make.adjusted.man.filename">
|
||||||
|
<xsl:with-param name="name" select="$first.refname"/>
|
||||||
|
<xsl:with-param name="section" select="$section"/>
|
||||||
@@ -0,0 +1,394 @@
|
|||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/html/docbook.xsl docbook-xsl-1.74.0/html/docbook.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/html/docbook.xsl 2008-06-01 23:36:39.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.74.0/html/docbook.xsl 2008-08-06 13:37:35.000000000 +0200
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
<xsl:include href="../VERSION.xsl"/>
|
||||||
|
<xsl:include href="param.xsl"/>
|
||||||
|
<xsl:include href="../lib/lib.xsl"/>
|
||||||
|
+<xsl:include href="../lib/dumpfragment.xsl"/>
|
||||||
|
<xsl:include href="../common/l10n.xsl"/>
|
||||||
|
<xsl:include href="../common/common.xsl"/>
|
||||||
|
<xsl:include href="../common/utility.xsl"/>
|
||||||
|
@@ -44,6 +45,7 @@
|
||||||
|
<xsl:include href="graphics.xsl"/>
|
||||||
|
<xsl:include href="xref.xsl"/>
|
||||||
|
<xsl:include href="formal.xsl"/>
|
||||||
|
+<xsl:include href="dtbl.xsl"/>
|
||||||
|
<xsl:include href="table.xsl"/>
|
||||||
|
<xsl:include href="htmltbl.xsl"/>
|
||||||
|
<xsl:include href="sections.xsl"/>
|
||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/html/dtbl.xsl docbook-xsl-1.74.0/html/dtbl.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/html/dtbl.xsl 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ docbook-xsl-1.74.0/html/dtbl.xsl 2008-08-06 13:37:35.000000000 +0200
|
||||||
|
@@ -0,0 +1,293 @@
|
||||||
|
+<?xml version="1.0" encoding="US-ASCII"?>
|
||||||
|
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
+ xmlns:exsl="http://exslt.org/common"
|
||||||
|
+ xmlns:func="http://exslt.org/functions"
|
||||||
|
+ xmlns:dtbl="http://docbook.sourceforge.net/dtbl"
|
||||||
|
+ extension-element-prefixes="func"
|
||||||
|
+ exclude-result-prefixes="exsl func dtbl"
|
||||||
|
+ version="1.0">
|
||||||
|
+
|
||||||
|
+<func:function name="dtbl:convertLength">
|
||||||
|
+ <xsl:param name="arbitrary.length"/>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="pixels.per.inch" select="96"/>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="unscaled.length"
|
||||||
|
+ select="translate($arbitrary.length, 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ', '')"/>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="units"
|
||||||
|
+ select="translate($arbitrary.length,'+-0123456789. ', '')"/>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="scaled.length">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$units='in'">
|
||||||
|
+ <xsl:value-of select="$unscaled.length * $pixels.per.inch"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:when test="$units='cm'">
|
||||||
|
+ <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 2.54)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:when test="$units='mm'">
|
||||||
|
+ <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 25.4)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:when test="$units='pc'">
|
||||||
|
+ <xsl:value-of select="$unscaled.length * (($pixels.per.inch div 72) * 12)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:when test="$units='pt'">
|
||||||
|
+ <xsl:value-of select="$unscaled.length * ($pixels.per.inch div 72)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:when test="$units='px' or $units=''">
|
||||||
|
+ <xsl:value-of select="$unscaled.length"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <xsl:message terminate="no">
|
||||||
|
+ <xsl:text>"</xsl:text>
|
||||||
|
+ <xsl:value-of select="$units"/>
|
||||||
|
+ <xsl:text>" is not a known unit. Applying scaling factor of 1 instead.</xsl:text>
|
||||||
|
+ </xsl:message>
|
||||||
|
+ <xsl:value-of select="$unscaled.length"/>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <func:result select="round($scaled.length)"/>
|
||||||
|
+</func:function>
|
||||||
|
+
|
||||||
|
+<func:function name="dtbl:adjustColumnWidths">
|
||||||
|
+ <xsl:param name="colgroup"/>
|
||||||
|
+
|
||||||
|
+ <xsl:if test="$adjustColumnWidths.debug">
|
||||||
|
+ <xsl:message>
|
||||||
|
+ <xsl:text>entering adjustColumnWidths(</xsl:text>
|
||||||
|
+ <xsl:call-template name="dump-fragment">
|
||||||
|
+ <xsl:with-param name="fragment" select="$colgroup"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:message>
|
||||||
|
+ </xsl:if>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="expanded.colgroup">
|
||||||
|
+ <xsl:apply-templates select="exsl:node-set($colgroup)/*" mode="dtbl-split-widths"/>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="absolute.widths.total">
|
||||||
|
+ <xsl:value-of select="sum(exsl:node-set($expanded.colgroup)//col/@abswidth)"/>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="relative.widths.total">
|
||||||
|
+ <xsl:value-of select="sum(exsl:node-set($expanded.colgroup)//col/@relwidth)"/>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:if test="$adjustColumnWidths.debug">
|
||||||
|
+ <xsl:message>
|
||||||
|
+ <xsl:text>total relative widths = (</xsl:text>
|
||||||
|
+ <xsl:value-of select="$relative.widths.total"/>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:message>
|
||||||
|
+ <xsl:message>
|
||||||
|
+ <xsl:text>total absolute widths = (</xsl:text>
|
||||||
|
+ <xsl:value-of select="$absolute.widths.total"/>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:message>
|
||||||
|
+ </xsl:if>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="adjusted.colgroup">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$relative.widths.total = 0">
|
||||||
|
+ <xsl:if test="$adjustColumnWidths.debug">
|
||||||
|
+ <xsl:message>all widths are absolute</xsl:message>
|
||||||
|
+ </xsl:if>
|
||||||
|
+ <xsl:apply-templates select="exsl:node-set($expanded.colgroup)/*"
|
||||||
|
+ mode="dtbl-use-absolute-widths"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:when test="$absolute.widths.total = 0">
|
||||||
|
+ <xsl:if test="$adjustColumnWidths.debug">
|
||||||
|
+ <xsl:message>all widths are relative</xsl:message>
|
||||||
|
+ </xsl:if>
|
||||||
|
+ <xsl:apply-templates select="exsl:node-set($expanded.colgroup)/*"
|
||||||
|
+ mode="dtbl-use-relative-widths">
|
||||||
|
+ <xsl:with-param name="relative.widths.total"
|
||||||
|
+ select="$relative.widths.total"/>
|
||||||
|
+ </xsl:apply-templates>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="corrected.adjusted.colgroup">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$relative.widths.total = 0">
|
||||||
|
+ <xsl:copy-of select="$adjusted.colgroup"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <xsl:variable name="widths.total"
|
||||||
|
+ select="sum(exsl:node-set($adjusted.colgroup)//col/@width)"/>
|
||||||
|
+ <xsl:variable name="n.columns"
|
||||||
|
+ select="count(exsl:node-set($adjusted.colgroup)//col)"/>
|
||||||
|
+ <xsl:variable name="error"
|
||||||
|
+ select="100 - $widths.total"/>
|
||||||
|
+ <xsl:variable name="first.bad.column"
|
||||||
|
+ select="($n.columns - $error) + 1"/>
|
||||||
|
+ <xsl:apply-templates select="exsl:node-set($adjusted.colgroup)/*"
|
||||||
|
+ mode="dtbl-correct-rounding-error">
|
||||||
|
+ <xsl:with-param name="first.bad.column"
|
||||||
|
+ select="$first.bad.column"/>
|
||||||
|
+ </xsl:apply-templates>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:if test="$adjustColumnWidths.debug">
|
||||||
|
+ <xsl:message>
|
||||||
|
+ <xsl:text>result = (</xsl:text>
|
||||||
|
+ <xsl:call-template name="dump-fragment">
|
||||||
|
+ <xsl:with-param name="fragment" select="$corrected.adjusted.colgroup"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:message>
|
||||||
|
+ </xsl:if>
|
||||||
|
+
|
||||||
|
+ <func:result select="$corrected.adjusted.colgroup"/>
|
||||||
|
+</func:function>
|
||||||
|
+
|
||||||
|
+<xsl:template match="colgroup" mode="dtbl-correct-rounding-error">
|
||||||
|
+ <xsl:param name="first.bad.column"/>
|
||||||
|
+
|
||||||
|
+ <xsl:if test="$adjustColumnWidths.debug">
|
||||||
|
+ <xsl:message>
|
||||||
|
+ <xsl:text>first.bad.column = (</xsl:text>
|
||||||
|
+ <xsl:value-of select="$first.bad.column"/>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:message>
|
||||||
|
+ </xsl:if>
|
||||||
|
+
|
||||||
|
+ <colgroup>
|
||||||
|
+ <xsl:for-each select="col[position() < $first.bad.column]">
|
||||||
|
+ <xsl:element name="col">
|
||||||
|
+ <xsl:attribute name="width">
|
||||||
|
+ <xsl:value-of select="concat(@width, '%')"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </xsl:element>
|
||||||
|
+ </xsl:for-each>
|
||||||
|
+ <xsl:for-each select="col[position() >= $first.bad.column]">
|
||||||
|
+ <xsl:element name="col">
|
||||||
|
+ <xsl:attribute name="width">
|
||||||
|
+ <xsl:value-of select="concat(@width + 1, '%')"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </xsl:element>
|
||||||
|
+ </xsl:for-each>
|
||||||
|
+ </colgroup>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="col" mode="dtbl-correct-rounding-error">
|
||||||
|
+ <xsl:param name="relative.widths.total"/>
|
||||||
|
+ <xsl:param name="error"/>
|
||||||
|
+
|
||||||
|
+ <xsl:element name="col">
|
||||||
|
+ <xsl:attribute name="width">
|
||||||
|
+ <xsl:value-of select="concat('', round((@relwidth div $relative.widths.total) * 100))"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
|
||||||
|
+ </xsl:element>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="colgroup" mode="dtbl-use-relative-widths">
|
||||||
|
+ <xsl:param name="relative.widths.total"/>
|
||||||
|
+
|
||||||
|
+ <colgroup>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-use-relative-widths">
|
||||||
|
+ <xsl:with-param name="relative.widths.total"
|
||||||
|
+ select="$relative.widths.total"/>
|
||||||
|
+ </xsl:apply-templates>
|
||||||
|
+ </colgroup>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="col" mode="dtbl-use-relative-widths">
|
||||||
|
+ <xsl:param name="relative.widths.total"/>
|
||||||
|
+
|
||||||
|
+ <xsl:element name="col">
|
||||||
|
+ <xsl:attribute name="width">
|
||||||
|
+ <xsl:value-of select="round((@relwidth div $relative.widths.total) * 100)"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
|
||||||
|
+ </xsl:element>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="colgroup" mode="dtbl-use-absolute-widths">
|
||||||
|
+ <colgroup>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
|
||||||
|
+ </colgroup>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="col" mode="dtbl-use-absolute-widths">
|
||||||
|
+ <xsl:element name="col">
|
||||||
|
+ <xsl:attribute name="width">
|
||||||
|
+ <xsl:value-of select="@abswidth"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-use-absolute-widths"/>
|
||||||
|
+ </xsl:element>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="colgroup" mode="dtbl-split-widths">
|
||||||
|
+ <colgroup>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-split-widths"/>
|
||||||
|
+ </colgroup>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="col" mode="dtbl-split-widths">
|
||||||
|
+
|
||||||
|
+ <!-- width = @width ? @width : '1*' -->
|
||||||
|
+ <xsl:variable name="width">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="@width != ''">
|
||||||
|
+ <xsl:value-of select="@width"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <xsl:text>1*</xsl:text>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <!-- absolute.width = contains($width,'*') ? substring-after($width, '*') : $width -->
|
||||||
|
+ <xsl:variable name="absolute.width">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="contains($width, '*')">
|
||||||
|
+ <xsl:value-of select="substring-after($width, '*')"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <xsl:value-of select="$width"/>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="converted.absolute.width">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$absolute.width != ''">
|
||||||
|
+ <xsl:value-of select="dtbl:convertLength($absolute.width)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>0</xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:variable name="relative.width">
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="substring-before($width, '*') != ''">
|
||||||
|
+ <xsl:value-of select="substring-before($width, '*')"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>0</xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ </xsl:variable>
|
||||||
|
+
|
||||||
|
+ <xsl:element name="col">
|
||||||
|
+ <xsl:attribute name="width">
|
||||||
|
+ <xsl:value-of select="$width"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ <xsl:attribute name="relwidth">
|
||||||
|
+ <xsl:value-of select="$relative.width"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ <xsl:attribute name="abswidth">
|
||||||
|
+ <xsl:value-of select="$converted.absolute.width"/>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ <xsl:apply-templates mode="dtbl-split-widths"/>
|
||||||
|
+ </xsl:element>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+</xsl:stylesheet>
|
||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/html/table.xsl docbook-xsl-1.74.0/html/table.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/html/table.xsl 2008-06-01 23:36:39.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.74.0/html/table.xsl 2008-08-06 13:37:35.000000000 +0200
|
||||||
|
@@ -5,7 +5,8 @@
|
||||||
|
xmlns:xtbl="xalan://com.nwalsh.xalan.Table"
|
||||||
|
xmlns:lxslt="http://xml.apache.org/xslt"
|
||||||
|
xmlns:ptbl="http://nwalsh.com/xslt/ext/xsltproc/python/Table"
|
||||||
|
- exclude-result-prefixes="doc stbl xtbl lxslt ptbl"
|
||||||
|
+ xmlns:dtbl="http://docbook.sourceforge.net/dtbl"
|
||||||
|
+ exclude-result-prefixes="doc stbl xtbl lxslt ptbl dtbl"
|
||||||
|
version='1.0'>
|
||||||
|
|
||||||
|
<xsl:include href="../common/table.xsl"/>
|
||||||
|
@@ -365,6 +366,9 @@
|
||||||
|
<xsl:when test="$use.extensions != 0
|
||||||
|
and $tablecolumns.extension != 0">
|
||||||
|
<xsl:choose>
|
||||||
|
+ <xsl:when test="function-available('dtbl:convertLength')">
|
||||||
|
+ <xsl:value-of select="dtbl:convertLength($table.width)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
<xsl:when test="function-available('stbl:convertLength')">
|
||||||
|
<xsl:value-of select="stbl:convertLength($table.width)"/>
|
||||||
|
</xsl:when>
|
||||||
|
@@ -389,6 +393,9 @@
|
||||||
|
<xsl:when test="$use.extensions != 0
|
||||||
|
and $tablecolumns.extension != 0">
|
||||||
|
<xsl:choose>
|
||||||
|
+ <xsl:when test="function-available('dtbl:adjustColumnWidths')">
|
||||||
|
+ <xsl:copy-of select="dtbl:adjustColumnWidths($colgroup)"/>
|
||||||
|
+ </xsl:when>
|
||||||
|
<xsl:when test="function-available('stbl:adjustColumnWidths')">
|
||||||
|
<xsl:copy-of select="stbl:adjustColumnWidths($colgroup)"/>
|
||||||
|
</xsl:when>
|
||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/lib/dumpfragment.xsl docbook-xsl-1.74.0/lib/dumpfragment.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/lib/dumpfragment.xsl 1970-01-01 01:00:00.000000000 +0100
|
||||||
|
+++ docbook-xsl-1.74.0/lib/dumpfragment.xsl 2008-08-06 13:37:35.000000000 +0200
|
||||||
|
@@ -0,0 +1,30 @@
|
||||||
|
+<?xml version="1.0" encoding="US-ASCII"?>
|
||||||
|
+<xsl:stylesheet version="1.0"
|
||||||
|
+ xmlns:exsl="http://exslt.org/common"
|
||||||
|
+ xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
+ xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
+ exclude-result-prefixes="exsl">
|
||||||
|
+
|
||||||
|
+<xsl:template name="dump-fragment">
|
||||||
|
+ <xsl:param name="fragment"/>
|
||||||
|
+ <xsl:apply-templates select="exsl:node-set($fragment)/*" mode="dump-fragment"/>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="@*" mode="dump-fragment">
|
||||||
|
+ <xsl:text> </xsl:text>
|
||||||
|
+ <xsl:value-of select="local-name(.)"/>
|
||||||
|
+ <xsl:text>="</xsl:text>
|
||||||
|
+ <xsl:value-of select="."/>
|
||||||
|
+ <xsl:text>"</xsl:text>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+<xsl:template match="*" mode="dump-fragment">
|
||||||
|
+ <xsl:text><</xsl:text><xsl:value-of select="local-name(.)"/>
|
||||||
|
+ <xsl:apply-templates select="@*" mode="dump-fragment"/>
|
||||||
|
+ <xsl:text>></xsl:text>
|
||||||
|
+ <xsl:apply-templates mode="dump-fragment"/>
|
||||||
|
+ <xsl:text></</xsl:text><xsl:value-of select="local-name(.)"/>
|
||||||
|
+ <xsl:text>></xsl:text>
|
||||||
|
+</xsl:template>
|
||||||
|
+
|
||||||
|
+</xsl:stylesheet>
|
||||||
|
diff -urNp docbook-xsl-1.76.0-orig/html/param.xsl docbook-xsl-1.76.0/html/param.xsl
|
||||||
|
--- docbook-xsl-1.76.0-orig/html/param.xsl 2010-08-31 09:27:22.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.76.0/html/param.xsl 2010-09-06 11:01:07.916914161 +0200
|
||||||
|
@@ -68,6 +68,7 @@ div.annotation-close { position: absolut
|
||||||
|
http://docbook.sourceforge.net/release/images/annot-close.png</xsl:param>
|
||||||
|
<xsl:param name="annotation.graphic.open">http://docbook.sourceforge.net/release/images/annot-open.png</xsl:param>
|
||||||
|
|
||||||
|
+<xsl:param name="adjustColumnWidths.debug" select="false()"/>
|
||||||
|
<xsl:param name="annotation.js">
|
||||||
|
<xsl:text>http://docbook.sourceforge.net/release/script/AnchorPosition.js http://docbook.sourceforge.net/release/script/PopupWindow.js</xsl:text></xsl:param>
|
||||||
|
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/fo/param.xsl docbook-xsl-1.74.0/fo/param.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/fo/param.xsl 2008-08-06 13:32:46.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.74.0/fo/param.xsl 2008-08-06 13:38:36.000000000 +0200
|
||||||
|
@@ -23,8 +23,8 @@
|
||||||
|
<xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
|
||||||
|
<xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
|
||||||
|
<xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master, 'pt')"/></xsl:attribute>
|
||||||
|
- <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master, 'pt * 0.8')"/></xsl:attribute>
|
||||||
|
- <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master, 'pt * 1.2')"/></xsl:attribute>
|
||||||
|
+ <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat(($body.font.master * 0.8), 'pt')"/></xsl:attribute>
|
||||||
|
+ <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat(($body.font.master * 1.2), 'pt')"/></xsl:attribute>
|
||||||
|
<xsl:attribute name="hyphenate">false</xsl:attribute>
|
||||||
|
<xsl:attribute name="text-align">center</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
@@ -334,8 +334,8 @@ set toc,title
|
||||||
|
<xsl:attribute name="font-weight">bold</xsl:attribute>
|
||||||
|
<xsl:attribute name="keep-with-next.within-column">always</xsl:attribute>
|
||||||
|
<xsl:attribute name="space-before.optimum"><xsl:value-of select="concat($body.font.master,'pt')"/></xsl:attribute>
|
||||||
|
- <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat($body.font.master,'pt * 0.8')"/></xsl:attribute>
|
||||||
|
- <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat($body.font.master,'pt * 1.2')"/></xsl:attribute>
|
||||||
|
+ <xsl:attribute name="space-before.minimum"><xsl:value-of select="concat(($body.font.master * 0.8),'pt')"/></xsl:attribute>
|
||||||
|
+ <xsl:attribute name="space-before.maximum"><xsl:value-of select="concat(($body.font.master * 1.2),'pt')"/></xsl:attribute>
|
||||||
|
<xsl:attribute name="start-indent">0pt</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
|
<xsl:attribute-set name="index.entry.properties">
|
||||||
@@ -0,0 +1,281 @@
|
|||||||
|
diff -ruNp docbook-xsl-1.74.0.orig/fo/pagesetup.xsl docbook-xsl-1.74.0/fo/pagesetup.xsl
|
||||||
|
--- docbook-xsl-1.74.0.orig/fo/pagesetup.xsl 2008-06-01 23:36:39.000000000 +0200
|
||||||
|
+++ docbook-xsl-1.74.0/fo/pagesetup.xsl 2008-08-06 13:31:11.000000000 +0200
|
||||||
|
@@ -1697,45 +1697,99 @@
|
||||||
|
<xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
|
||||||
|
- <fo:table-column column-number="1">
|
||||||
|
- <xsl:attribute name="column-width">
|
||||||
|
- <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
- <xsl:call-template name="header.footer.width">
|
||||||
|
- <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
- <xsl:with-param name="position" select="$column1"/>
|
||||||
|
- <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
- <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
- </xsl:call-template>
|
||||||
|
- <xsl:text>)</xsl:text>
|
||||||
|
- </xsl:attribute>
|
||||||
|
- </fo:table-column>
|
||||||
|
- <fo:table-column column-number="2">
|
||||||
|
- <xsl:attribute name="column-width">
|
||||||
|
- <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
- <xsl:call-template name="header.footer.width">
|
||||||
|
- <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
- <xsl:with-param name="position" select="2"/>
|
||||||
|
- <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
- <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
- </xsl:call-template>
|
||||||
|
- <xsl:text>)</xsl:text>
|
||||||
|
- </xsl:attribute>
|
||||||
|
- </fo:table-column>
|
||||||
|
- <fo:table-column column-number="3">
|
||||||
|
- <xsl:attribute name="column-width">
|
||||||
|
- <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
- <xsl:call-template name="header.footer.width">
|
||||||
|
- <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
- <xsl:with-param name="position" select="$column3"/>
|
||||||
|
- <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
- <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
- </xsl:call-template>
|
||||||
|
- <xsl:text>)</xsl:text>
|
||||||
|
- </xsl:attribute>
|
||||||
|
- </fo:table-column>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$passivetex.extensions != 0">
|
||||||
|
+ <fo:table-column column-number="1">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column1"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>%</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:table-column column-number="1">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column1"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$passivetex.extensions != 0">
|
||||||
|
+ <fo:table-column column-number="2">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="2"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>%</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:table-column column-number="2">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="2"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$passivetex.extensions != 0">
|
||||||
|
+ <fo:table-column column-number="3">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column3"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>%</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:table-column column-number="3">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">header</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column3"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
|
||||||
|
<fo:table-body>
|
||||||
|
<fo:table-row>
|
||||||
|
@@ -2021,45 +2066,99 @@
|
||||||
|
<xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
<xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
</xsl:call-template>
|
||||||
|
- <fo:table-column column-number="1">
|
||||||
|
- <xsl:attribute name="column-width">
|
||||||
|
- <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
- <xsl:call-template name="header.footer.width">
|
||||||
|
- <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
- <xsl:with-param name="position" select="$column1"/>
|
||||||
|
- <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
- <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
- </xsl:call-template>
|
||||||
|
- <xsl:text>)</xsl:text>
|
||||||
|
- </xsl:attribute>
|
||||||
|
- </fo:table-column>
|
||||||
|
- <fo:table-column column-number="2">
|
||||||
|
- <xsl:attribute name="column-width">
|
||||||
|
- <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
- <xsl:call-template name="header.footer.width">
|
||||||
|
- <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
- <xsl:with-param name="position" select="2"/>
|
||||||
|
- <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
- <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
- </xsl:call-template>
|
||||||
|
- <xsl:text>)</xsl:text>
|
||||||
|
- </xsl:attribute>
|
||||||
|
- </fo:table-column>
|
||||||
|
- <fo:table-column column-number="3">
|
||||||
|
- <xsl:attribute name="column-width">
|
||||||
|
- <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
- <xsl:call-template name="header.footer.width">
|
||||||
|
- <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
- <xsl:with-param name="position" select="$column3"/>
|
||||||
|
- <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
- <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
- <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
- </xsl:call-template>
|
||||||
|
- <xsl:text>)</xsl:text>
|
||||||
|
- </xsl:attribute>
|
||||||
|
- </fo:table-column>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$passivetex.extensions != 0">
|
||||||
|
+ <fo:table-column column-number="1">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column1"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>%</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:table-column column-number="1">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column1"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$passivetex.extensions != 0">
|
||||||
|
+ <fo:table-column column-number="2">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="2"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>%</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:table-column column-number="2">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="2"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
+ <xsl:choose>
|
||||||
|
+ <xsl:when test="$passivetex.extensions != 0">
|
||||||
|
+ <fo:table-column column-number="3">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column3"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>%</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:when>
|
||||||
|
+ <xsl:otherwise>
|
||||||
|
+ <fo:table-column column-number="3">
|
||||||
|
+ <xsl:attribute name="column-width">
|
||||||
|
+ <xsl:text>proportional-column-width(</xsl:text>
|
||||||
|
+ <xsl:call-template name="header.footer.width">
|
||||||
|
+ <xsl:with-param name="location">footer</xsl:with-param>
|
||||||
|
+ <xsl:with-param name="position" select="$column3"/>
|
||||||
|
+ <xsl:with-param name="pageclass" select="$pageclass"/>
|
||||||
|
+ <xsl:with-param name="sequence" select="$sequence"/>
|
||||||
|
+ <xsl:with-param name="gentext-key" select="$gentext-key"/>
|
||||||
|
+ </xsl:call-template>
|
||||||
|
+ <xsl:text>)</xsl:text>
|
||||||
|
+ </xsl:attribute>
|
||||||
|
+ </fo:table-column>
|
||||||
|
+ </xsl:otherwise>
|
||||||
|
+ </xsl:choose>
|
||||||
|
|
||||||
|
<fo:table-body>
|
||||||
|
<fo:table-row>
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>docbook-xsl</Name>
|
||||||
|
<Homepage>http://wiki.docbook.org/topic/DocBookXslStylesheets</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>BSD</License>
|
||||||
|
<IsA>data</IsA>
|
||||||
|
<Summary>Norman Walsh's XSL stylesheets for DocBook XML</Summary>
|
||||||
|
<Description>These XSL stylesheets allow you to transform any DocBook XML document to other formats such as HTML, FO and XHTML.</Description>
|
||||||
|
<Archive sha1sum="1d668c845bb43c65115d1a1d9542f623801cfb6f" type="tarbz2">http://sourceforge.net/projects/docbook/files/docbook-xsl/1.78.1/docbook-xsl-1.78.1.tar.bz2</Archive>
|
||||||
|
<AdditionalFiles>
|
||||||
|
<AdditionalFile target="Makefile">Makefile</AdditionalFile>
|
||||||
|
</AdditionalFiles>
|
||||||
|
<Patches>
|
||||||
|
<Patch level="1">docbook-xsl-pagesetup.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-newmethods.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-non-constant-expressions.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-list-item-body.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-mandir.patch</Patch>
|
||||||
|
</Patches>
|
||||||
|
</Source>
|
||||||
|
|
||||||
|
<Package>
|
||||||
|
<Name>docbook-xsl</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>docbook-xml</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="doc">/usr/share/doc/docbook-xsl</Path>
|
||||||
|
<Path fileType="data">/usr/share/xml</Path>
|
||||||
|
</Files>
|
||||||
|
<Provides>
|
||||||
|
<COMAR script="package.py">System.Package</COMAR>
|
||||||
|
</Provides>
|
||||||
|
</Package>
|
||||||
|
|
||||||
|
<History>
|
||||||
|
<Update release="4">
|
||||||
|
<Date>2014-11-17</Date>
|
||||||
|
<Version>1.78.1</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>1.78.1</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-01-22</Date>
|
||||||
|
<Version>1.78.1</Version>
|
||||||
|
<Comment>Version bump.</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2012-10-10</Date>
|
||||||
|
<Version>1.77.1</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Erdem Artan</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>docbook-xsl</Name>
|
||||||
|
<Summary xml:lang="tr">Docbook XSL biçemyaprakları</Summary>
|
||||||
|
<Description xml:lang="tr">Docbook XSL biçemyapraklarını (stylesheets) içerir.</Description>
|
||||||
|
</Source>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Licensed under the GNU General Public License, version 3.
|
||||||
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||||
|
|
||||||
|
from pisi.actionsapi import autotools
|
||||||
|
from pisi.actionsapi import pisitools
|
||||||
|
from pisi.actionsapi import shelltools
|
||||||
|
from pisi.actionsapi import get
|
||||||
|
|
||||||
|
def setup():
|
||||||
|
autotools.autoreconf("-fi")
|
||||||
|
autotools.configure()
|
||||||
|
|
||||||
|
def install():
|
||||||
|
autotools.rawInstall("DESTDIR=%s" % get.installDIR())
|
||||||
|
|
||||||
|
pisitools.rename("/usr/share/doc/sgml-common-%s" % get.srcVERSION(), get.srcNAME())
|
||||||
|
pisitools.dodoc("AUTHORS", "ChangeLog", "COPYING", "NEWS", "README")
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
|
||||||
|
def postInstall(fromVersion, fromRelease, toVersion, toRelease):
|
||||||
|
|
||||||
|
os.system("/usr/bin/install-catalog --add \
|
||||||
|
/etc/sgml/sgml-ent.cat \
|
||||||
|
/usr/share/sgml/sgml-iso-entities-8879.1986/catalog")
|
||||||
|
|
||||||
|
os.system("/usr/bin/install-catalog --add \
|
||||||
|
/etc/sgml/sgml-docbook.cat \
|
||||||
|
/etc/sgml/sgml-ent.cat")
|
||||||
|
|
||||||
|
def postRemove():
|
||||||
|
|
||||||
|
os.system("/usr/bin/install-catalog --remove \
|
||||||
|
/etc/sgml/sgml-ent.cat \
|
||||||
|
/usr/share/sgml/sgml-iso-entities-8879.1986/catalog")
|
||||||
|
|
||||||
|
os.system("/usr/bin/install-catalog --remove \
|
||||||
|
/etc/sgml/sgml-docbook.cat \
|
||||||
|
/etc/sgml/sgml-ent.cat")
|
||||||
|
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
Index: sgml-common-0.6.3/configure.in
|
||||||
|
===================================================================
|
||||||
|
--- sgml-common-0.6.3.orig/configure.in
|
||||||
|
+++ sgml-common-0.6.3/configure.in
|
||||||
|
@@ -3,7 +3,7 @@ AC_INIT(Makefile.am)
|
||||||
|
|
||||||
|
AM_INIT_AUTOMAKE(sgml-common, 0.6.3)
|
||||||
|
|
||||||
|
-docdir='$(prefix)/doc'
|
||||||
|
+docdir='$(prefix)/share/doc'
|
||||||
|
AC_SUBST(docdir)
|
||||||
|
|
||||||
|
dnl Checks for programs.
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
Submitted by: Thomas Pegg <lnxfreak123 at insightbb dot com>
|
||||||
|
Date: 2003-11-18
|
||||||
|
Initial Package Version: 0.6.3
|
||||||
|
Origin: Thomas Pegg
|
||||||
|
Description: Fixes syntax of Makefile.am for installation of man pages,
|
||||||
|
for use with current automake versions 1.7.8 and higher.
|
||||||
|
|
||||||
|
Index: sgml-common-0.6.3/doc/man/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- sgml-common-0.6.3.orig/doc/man/Makefile.am
|
||||||
|
+++ sgml-common-0.6.3/doc/man/Makefile.am
|
||||||
|
@@ -1,2 +1 @@
|
||||||
|
-man8dir = $(mandir)/man8
|
||||||
|
-man8_DATA = *.8
|
||||||
|
+man_MANS = install-catalog.8
|
||||||
@@ -0,0 +1,52 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>sgml-common</Name>
|
||||||
|
<Homepage>http://www.linuxfromscratch.org/blfs/view/svn/pst/sgml-common.html</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>GPLv2</License>
|
||||||
|
<IsA>data</IsA>
|
||||||
|
<Summary>Base ISO character entities and utilities for SGML</Summary>
|
||||||
|
<Description>Sgml-common is a collection of entities and document type definitions (DTDs) useful for SGML processing.</Description>
|
||||||
|
<Archive sha1sum="b7d211c19b83accb92dcb51719de65227fb4c27c" type="targz">http://gd.tuwien.ac.at/hci/kde/devel/docbook/SOURCES/sgml-common-0.6.3.tgz</Archive>
|
||||||
|
<Patches>
|
||||||
|
<Patch level="1">sgml-common-0.6.3-configure.in.patch</Patch>
|
||||||
|
<Patch level="1">sgml-common-0.6.3-manpage-1.patch</Patch>
|
||||||
|
</Patches>
|
||||||
|
</Source>
|
||||||
|
|
||||||
|
<Package>
|
||||||
|
<Name>sgml-common</Name>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="config">/etc/sgml</Path>
|
||||||
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc/sgml-common</Path>
|
||||||
|
<Path fileType="man">/usr/share/man</Path>
|
||||||
|
<Path fileType="data">/usr/share/sgml</Path>
|
||||||
|
</Files>
|
||||||
|
<Provides>
|
||||||
|
<COMAR script="package.py">System.Package</COMAR>
|
||||||
|
</Provides>
|
||||||
|
</Package>
|
||||||
|
|
||||||
|
<History>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>0.6.3</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2010-10-13</Date>
|
||||||
|
<Version>0.6.3</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Pisi Linux Admins</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>sgml-common</Name>
|
||||||
|
<Summary xml:lang="tr">SGML ISO karakter nesneleri ve yardımcı programları</Summary>
|
||||||
|
<Description xml:lang="tr">sgml-common SGML uygulamaları için kullanışlı olan içerikler ve belge tip belirtimleri (DTD) topluluğudur.</Description>
|
||||||
|
</Source>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/python
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Licensed under the GNU General Public License, version 2
|
||||||
|
# See the file http://www.gnu.org/licenses/gpl.txt
|
||||||
|
|
||||||
|
from pisi.actionsapi import autotools
|
||||||
|
from pisi.actionsapi import pisitools
|
||||||
|
|
||||||
|
def setup():
|
||||||
|
autotools.configure("BASH=/bin/bash")
|
||||||
|
|
||||||
|
def build():
|
||||||
|
autotools.make()
|
||||||
|
|
||||||
|
def check():
|
||||||
|
autotools.make("check")
|
||||||
|
|
||||||
|
def install():
|
||||||
|
autotools.install()
|
||||||
|
|
||||||
|
pisitools.dodoc("ChangeLog", "NEWS", "FAQ", "README", "AUTHORS", "doc/*")
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>xmlto</Name>
|
||||||
|
<Homepage>https://fedorahosted.org/xmlto/</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>GPLv2+</License>
|
||||||
|
<IsA>app:console</IsA>
|
||||||
|
<Summary>A frontend to an XSL toolchain</Summary>
|
||||||
|
<Description>The purpose of xmlto is to convert an XML file to the desired format using whatever means necessary.</Description>
|
||||||
|
<Archive sha1sum="4b1daa7a15fc64176446332d55e8befa9a6d90bf" type="targz">https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.26.tar.gz</Archive>
|
||||||
|
<BuildDependencies>
|
||||||
|
<Dependency>libxslt</Dependency>
|
||||||
|
<Dependency>docbook-xsl</Dependency>
|
||||||
|
<Dependency>docbook-xml</Dependency>
|
||||||
|
</BuildDependencies>
|
||||||
|
</Source>
|
||||||
|
|
||||||
|
<Package>
|
||||||
|
<Name>xmlto</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>docbook-xsl</Dependency>
|
||||||
|
<Dependency>docbook-xml</Dependency>
|
||||||
|
<!-- FIXME: Disabled for now as it brings whole texlive
|
||||||
|
<Dependency>latex-passivetex</Dependency>
|
||||||
|
-->
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc/xmlto</Path>
|
||||||
|
<Path fileType="data">/usr/share/xmlto</Path>
|
||||||
|
<Path fileType="man">/usr/share/man</Path>
|
||||||
|
</Files>
|
||||||
|
</Package>
|
||||||
|
|
||||||
|
<History>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>0.0.26</Version>
|
||||||
|
<Comment>Version bump.</Comment>
|
||||||
|
<Name>Richard de Bruin</Name>
|
||||||
|
<Email>richdb@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-01-18</Date>
|
||||||
|
<Version>0.0.25</Version>
|
||||||
|
<Comment>Rebuild for 1.0</Comment>
|
||||||
|
<Name>Richard de Bruin</Name>
|
||||||
|
<Email>richdb@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2012-09-17</Date>
|
||||||
|
<Version>0.0.25</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</PISI>
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" ?>
|
||||||
|
<PISI>
|
||||||
|
<Source>
|
||||||
|
<Name>xmlto</Name>
|
||||||
|
<Summary xml:lang="tr">XML ve DocBook için dönüşüm aracı</Summary>
|
||||||
|
<Description xml:lang="tr">xmlto uygulamasının amacı verilen bir XML dosyasını istenen bir biçime dönüştürmektir.</Description>
|
||||||
|
</Source>
|
||||||
|
</PISI>
|
||||||
+417
-111
@@ -556,13 +556,9 @@
|
|||||||
<Dependency>bc</Dependency>
|
<Dependency>bc</Dependency>
|
||||||
<Dependency>pisi</Dependency>
|
<Dependency>pisi</Dependency>
|
||||||
<Dependency>cpio</Dependency>
|
<Dependency>cpio</Dependency>
|
||||||
<Dependency>unifdef</Dependency>
|
<Dependency>docbook-xsl</Dependency>
|
||||||
<Dependency>elfutils</Dependency>
|
|
||||||
<Dependency>diffutils</Dependency>
|
<Dependency>diffutils</Dependency>
|
||||||
<Dependency>xmlto</Dependency>
|
<Dependency>xmlto</Dependency>
|
||||||
<Dependency>asciidoc</Dependency>
|
|
||||||
<Dependency>pciutils-devel</Dependency>
|
|
||||||
<Dependency>numactl-devel</Dependency>
|
|
||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
<Patches>
|
<Patches>
|
||||||
<Patch compressionType="gz" level="1">patches/linux/patch-4.0.3.gz</Patch>
|
<Patch compressionType="gz" level="1">patches/linux/patch-4.0.3.gz</Patch>
|
||||||
@@ -1169,6 +1165,363 @@
|
|||||||
</Update>
|
</Update>
|
||||||
</History>
|
</History>
|
||||||
</SpecFile>
|
</SpecFile>
|
||||||
|
<SpecFile>
|
||||||
|
<Source>
|
||||||
|
<Name>mkinitramfs</Name>
|
||||||
|
<Homepage>http://www.busybox.net</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>GPLv2</License>
|
||||||
|
<IsA>app:console</IsA>
|
||||||
|
<PartOf>kernel.tools</PartOf>
|
||||||
|
<Summary xml:lang="en">A tool to create the initramfs image</Summary>
|
||||||
|
<Summary xml:lang="tr">initramfs image dosyası yaratmak için araç</Summary>
|
||||||
|
<Description xml:lang="fr">Un outil pour créer les images initramfs</Description>
|
||||||
|
<Description xml:lang="en">mkinitramfs contains a tool to create the initramfs image with busybox.</Description>
|
||||||
|
<Description xml:lang="tr">initramfs image dosyası yaratmak için araç</Description>
|
||||||
|
<Archive type="binary" sha1sum="c35fcf085f1bb73b851d7525c135a483c903b13d">http://source.pisilinux.org/1.0/README.mkinitramfs</Archive>
|
||||||
|
<SourceURI>kernel/tools/mkinitramfs/pspec.xml</SourceURI>
|
||||||
|
</Source>
|
||||||
|
<Package>
|
||||||
|
<Name>mkinitramfs</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>disktype</Dependency>
|
||||||
|
<Dependency>busybox</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="config">/etc</Path>
|
||||||
|
<Path fileType="executable">/sbin</Path>
|
||||||
|
<Path fileType="executable">/lib/initramfs</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc/mkinitramfs</Path>
|
||||||
|
</Files>
|
||||||
|
<Provides>
|
||||||
|
<COMAR script="pakhandler.py">System.PackageHandler</COMAR>
|
||||||
|
</Provides>
|
||||||
|
<AdditionalFiles>
|
||||||
|
<AdditionalFile target="/sbin/mkinitramfs" permission="0755" owner="root">mkinitramfs</AdditionalFile>
|
||||||
|
<AdditionalFile target="/lib/initramfs/init" permission="0755" owner="root">init</AdditionalFile>
|
||||||
|
<AdditionalFile target="/lib/initramfs/udhcpc.script" permission="0755" owner="root">udhcpc.script</AdditionalFile>
|
||||||
|
<AdditionalFile target="/lib/initramfs/hotplug" permission="0755" owner="root">hotplug</AdditionalFile>
|
||||||
|
<AdditionalFile target="/lib/initramfs/profile.rc" permission="0644" owner="root">profile.rc</AdditionalFile>
|
||||||
|
<AdditionalFile target="/etc/initramfs.conf.example" permission="0644" owner="root">initramfs.conf</AdditionalFile>
|
||||||
|
</AdditionalFiles>
|
||||||
|
</Package>
|
||||||
|
<History>
|
||||||
|
<Update release="8">
|
||||||
|
<Date>2014-05-11</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Release bump.</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="7">
|
||||||
|
<Date>2014-05-10</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Fix probing LVM devices</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="6">
|
||||||
|
<Date>2013-09-10</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Disable mount tmpfs on /run</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="5">
|
||||||
|
<Date>2013-09-05</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Add missing method to pakhandler.py</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="4">
|
||||||
|
<Date>2013-09-03</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Fix default plymouth theme name.</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2013-06-17</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Fix resume path.</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2013-02-13</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>Change loopbackimage address and name.</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2013-01-13</Date>
|
||||||
|
<Version>1.0.7</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</SpecFile>
|
||||||
|
<SpecFile>
|
||||||
|
<Source>
|
||||||
|
<Name>docbook-xml</Name>
|
||||||
|
<Homepage>http://www.docbook.org/xml/</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>LGPLv2.1</License>
|
||||||
|
<IsA>data</IsA>
|
||||||
|
<PartOf>office.docbook</PartOf>
|
||||||
|
<Summary xml:lang="en">Docbook XML DTD</Summary>
|
||||||
|
<Summary xml:lang="tr">Docbook XML DTD</Summary>
|
||||||
|
<Description xml:lang="en">Contains Docbook DTD for XML. A widely used XML scheme for writing documentation and help</Description>
|
||||||
|
<Description xml:lang="tr">Docbook XML belirtimi (DTD) sürümlerini içerir.</Description>
|
||||||
|
<Archive type="zip" sha1sum="b9ae7a41056bfaf885581812d60651b7b5531519">http://www.docbook.org/xml/4.1.2/docbkx412.zip</Archive>
|
||||||
|
<Archive type="zip" sha1sum="0b4c6d8228f4526185de51b8afbcfe0ec8939849">http://www.oasis-open.org/docbook/xml/4.1/docbkx41.zip</Archive>
|
||||||
|
<Archive type="zip" sha1sum="5e3a35663cd028c5c5fbb959c3858fec2d7f8b9e">http://www.docbook.org/xml/4.2/docbook-xml-4.2.zip</Archive>
|
||||||
|
<Archive type="zip" sha1sum="e79a59e9164c1013b8cc9f64f96f909a184ca016">http://www.docbook.org/xml/4.3/docbook-xml-4.3.zip</Archive>
|
||||||
|
<Archive type="zip" sha1sum="7c4d91c82ad3747e1b5600c91782758e5d91c22b">http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip</Archive>
|
||||||
|
<Archive type="zip" sha1sum="b9124233b50668fb508773aa2b3ebc631d7c1620">http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip</Archive>
|
||||||
|
<SourceURI>office/docbook/docbook-xml/pspec.xml</SourceURI>
|
||||||
|
</Source>
|
||||||
|
<Package>
|
||||||
|
<Name>docbook-xml</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>sgml-common</Dependency>
|
||||||
|
<Dependency>libxml2</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="doc">/usr/share/doc/</Path>
|
||||||
|
<Path fileType="data">/usr/share/xml</Path>
|
||||||
|
<Path fileType="data">/etc/xml/docbook</Path>
|
||||||
|
<Path fileType="data">/etc/xml/catalog</Path>
|
||||||
|
</Files>
|
||||||
|
<AdditionalFiles>
|
||||||
|
<AdditionalFile target="/etc/xml/docbook" permission="0644" owner="root">docbook</AdditionalFile>
|
||||||
|
<AdditionalFile target="/etc/xml/catalog" permission="0644" owner="root">catalog</AdditionalFile>
|
||||||
|
</AdditionalFiles>
|
||||||
|
</Package>
|
||||||
|
<History>
|
||||||
|
<Update release="4">
|
||||||
|
<Date>2014-11-17</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-01-22</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2011-09-16</Date>
|
||||||
|
<Version>4.5</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Pisi Linux Admins</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</SpecFile>
|
||||||
|
<SpecFile>
|
||||||
|
<Source>
|
||||||
|
<Name>docbook-xsl</Name>
|
||||||
|
<Homepage>http://wiki.docbook.org/topic/DocBookXslStylesheets</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>BSD</License>
|
||||||
|
<IsA>data</IsA>
|
||||||
|
<PartOf>office.docbook</PartOf>
|
||||||
|
<Summary xml:lang="en">Norman Walsh's XSL stylesheets for DocBook XML</Summary>
|
||||||
|
<Summary xml:lang="tr">Docbook XSL biçemyaprakları</Summary>
|
||||||
|
<Description xml:lang="en">These XSL stylesheets allow you to transform any DocBook XML document to other formats such as HTML, FO and XHTML.</Description>
|
||||||
|
<Description xml:lang="tr">Docbook XSL biçemyapraklarını (stylesheets) içerir.</Description>
|
||||||
|
<Archive type="tarbz2" sha1sum="1d668c845bb43c65115d1a1d9542f623801cfb6f">http://sourceforge.net/projects/docbook/files/docbook-xsl/1.78.1/docbook-xsl-1.78.1.tar.bz2</Archive>
|
||||||
|
<AdditionalFiles>
|
||||||
|
<AdditionalFile target="Makefile">Makefile</AdditionalFile>
|
||||||
|
</AdditionalFiles>
|
||||||
|
<Patches>
|
||||||
|
<Patch level="1">docbook-xsl-pagesetup.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-newmethods.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-non-constant-expressions.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-list-item-body.patch</Patch>
|
||||||
|
<Patch level="1">docbook-xsl-mandir.patch</Patch>
|
||||||
|
</Patches>
|
||||||
|
<SourceURI>office/docbook/docbook-xsl/pspec.xml</SourceURI>
|
||||||
|
</Source>
|
||||||
|
<Package>
|
||||||
|
<Name>docbook-xsl</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>docbook-xml</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="doc">/usr/share/doc/docbook-xsl</Path>
|
||||||
|
<Path fileType="data">/usr/share/xml</Path>
|
||||||
|
</Files>
|
||||||
|
<Provides>
|
||||||
|
<COMAR script="package.py">System.Package</COMAR>
|
||||||
|
</Provides>
|
||||||
|
</Package>
|
||||||
|
<History>
|
||||||
|
<Update release="4">
|
||||||
|
<Date>2014-11-17</Date>
|
||||||
|
<Version>1.78.1</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>1.78.1</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-01-22</Date>
|
||||||
|
<Version>1.78.1</Version>
|
||||||
|
<Comment>Version bump.</Comment>
|
||||||
|
<Name>Stefan Gronewold(groni)</Name>
|
||||||
|
<Email>groni@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2012-10-10</Date>
|
||||||
|
<Version>1.77.1</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Erdem Artan</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</SpecFile>
|
||||||
|
<SpecFile>
|
||||||
|
<Source>
|
||||||
|
<Name>sgml-common</Name>
|
||||||
|
<Homepage>http://www.linuxfromscratch.org/blfs/view/svn/pst/sgml-common.html</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>GPLv2</License>
|
||||||
|
<IsA>data</IsA>
|
||||||
|
<PartOf>office.docbook</PartOf>
|
||||||
|
<Summary xml:lang="en">Base ISO character entities and utilities for SGML</Summary>
|
||||||
|
<Summary xml:lang="tr">SGML ISO karakter nesneleri ve yardımcı programları</Summary>
|
||||||
|
<Description xml:lang="en">Sgml-common is a collection of entities and document type definitions (DTDs) useful for SGML processing.</Description>
|
||||||
|
<Description xml:lang="tr">sgml-common SGML uygulamaları için kullanışlı olan içerikler ve belge tip belirtimleri (DTD) topluluğudur.</Description>
|
||||||
|
<Archive type="targz" sha1sum="b7d211c19b83accb92dcb51719de65227fb4c27c">http://gd.tuwien.ac.at/hci/kde/devel/docbook/SOURCES/sgml-common-0.6.3.tgz</Archive>
|
||||||
|
<Patches>
|
||||||
|
<Patch level="1">sgml-common-0.6.3-configure.in.patch</Patch>
|
||||||
|
<Patch level="1">sgml-common-0.6.3-manpage-1.patch</Patch>
|
||||||
|
</Patches>
|
||||||
|
<SourceURI>office/docbook/sgml-common/pspec.xml</SourceURI>
|
||||||
|
</Source>
|
||||||
|
<Package>
|
||||||
|
<Name>sgml-common</Name>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="config">/etc/sgml</Path>
|
||||||
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc/sgml-common</Path>
|
||||||
|
<Path fileType="man">/usr/share/man</Path>
|
||||||
|
<Path fileType="data">/usr/share/sgml</Path>
|
||||||
|
</Files>
|
||||||
|
<Provides>
|
||||||
|
<COMAR script="package.py">System.Package</COMAR>
|
||||||
|
</Provides>
|
||||||
|
</Package>
|
||||||
|
<History>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>0.6.3</Version>
|
||||||
|
<Comment>Rebuild.</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2010-10-13</Date>
|
||||||
|
<Version>0.6.3</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Pisi Linux Admins</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</SpecFile>
|
||||||
|
<SpecFile>
|
||||||
|
<Source>
|
||||||
|
<Name>xmlto</Name>
|
||||||
|
<Homepage>https://fedorahosted.org/xmlto/</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>GPLv2+</License>
|
||||||
|
<IsA>app:console</IsA>
|
||||||
|
<PartOf>office.docbook</PartOf>
|
||||||
|
<Summary xml:lang="en">A frontend to an XSL toolchain</Summary>
|
||||||
|
<Summary xml:lang="tr">XML ve DocBook için dönüşüm aracı</Summary>
|
||||||
|
<Description xml:lang="en">The purpose of xmlto is to convert an XML file to the desired format using whatever means necessary.</Description>
|
||||||
|
<Description xml:lang="tr">xmlto uygulamasının amacı verilen bir XML dosyasını istenen bir biçime dönüştürmektir.</Description>
|
||||||
|
<Archive type="targz" sha1sum="4b1daa7a15fc64176446332d55e8befa9a6d90bf">https://fedorahosted.org/releases/x/m/xmlto/xmlto-0.0.26.tar.gz</Archive>
|
||||||
|
<BuildDependencies>
|
||||||
|
<Dependency>libxslt</Dependency>
|
||||||
|
<Dependency>docbook-xsl</Dependency>
|
||||||
|
<Dependency>docbook-xml</Dependency>
|
||||||
|
</BuildDependencies>
|
||||||
|
<SourceURI>office/docbook/xmlto/pspec.xml</SourceURI>
|
||||||
|
</Source>
|
||||||
|
<Package>
|
||||||
|
<Name>xmlto</Name>
|
||||||
|
<RuntimeDependencies>
|
||||||
|
<Dependency>docbook-xsl</Dependency>
|
||||||
|
<Dependency>docbook-xml</Dependency>
|
||||||
|
</RuntimeDependencies>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc/xmlto</Path>
|
||||||
|
<Path fileType="data">/usr/share/xmlto</Path>
|
||||||
|
<Path fileType="man">/usr/share/man</Path>
|
||||||
|
</Files>
|
||||||
|
</Package>
|
||||||
|
<History>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2014-05-18</Date>
|
||||||
|
<Version>0.0.26</Version>
|
||||||
|
<Comment>Version bump.</Comment>
|
||||||
|
<Name>Richard de Bruin</Name>
|
||||||
|
<Email>richdb@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2014-01-18</Date>
|
||||||
|
<Version>0.0.25</Version>
|
||||||
|
<Comment>Rebuild for 1.0</Comment>
|
||||||
|
<Name>Richard de Bruin</Name>
|
||||||
|
<Email>richdb@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2012-09-17</Date>
|
||||||
|
<Version>0.0.25</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>Serdar Soytetir</Name>
|
||||||
|
<Email>kaptan@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</SpecFile>
|
||||||
<SpecFile>
|
<SpecFile>
|
||||||
<Source>
|
<Source>
|
||||||
<Name>grub2</Name>
|
<Name>grub2</Name>
|
||||||
@@ -16680,112 +17033,6 @@
|
|||||||
</Update>
|
</Update>
|
||||||
</History>
|
</History>
|
||||||
</SpecFile>
|
</SpecFile>
|
||||||
<SpecFile>
|
|
||||||
<Source>
|
|
||||||
<Name>icecream</Name>
|
|
||||||
<Homepage>http://en.opensuse.org/Icecream</Homepage>
|
|
||||||
<Packager>
|
|
||||||
<Name>PisiLinux Community</Name>
|
|
||||||
<Email>admins@pisilinux.org</Email>
|
|
||||||
</Packager>
|
|
||||||
<License>GPLv2</License>
|
|
||||||
<IsA>service</IsA>
|
|
||||||
<PartOf>system.devel</PartOf>
|
|
||||||
<Summary xml:lang="en">Distributed C(++) compiling tool</Summary>
|
|
||||||
<Summary xml:lang="tr">Dağıtık C(++) derleme aracı</Summary>
|
|
||||||
<Summary xml:lang="es">Herramienta de compilación C(++) distribuida</Summary>
|
|
||||||
<Description xml:lang="fr">Icecream est un programme de compilation de code C/C++ distribuée sur plusieurs machines basé sur le code et les idées directrices de distcc.</Description>
|
|
||||||
<Description xml:lang="en">Icecream is a program for distributed compiling of C/C++ code across several machines based on ideas and code by distcc.</Description>
|
|
||||||
<Description xml:lang="tr">Icecream; C/C++ kaynak kodunun, birden fazla makinede dağıtık olarak derlenmesi fikrine dayanan, "distcc" kodu temelinde yazılmış bir uygulamadır.</Description>
|
|
||||||
<Description xml:lang="es">Icecream es un programa para compilación de código C/C++ distribuida en varios servidores, basado en ideas y código de distcc.</Description>
|
|
||||||
<Archive type="tarbz2" sha1sum="b1edce8d2385aa0caf93f731e292463bde98e8b0">ftp://ftp.suse.com/pub/projects/icecream/icecc-1.0.1.tar.bz2</Archive>
|
|
||||||
<BuildDependencies>
|
|
||||||
<Dependency>librsync-devel</Dependency>
|
|
||||||
</BuildDependencies>
|
|
||||||
<SourceURI>system/devel/icecream/pspec.xml</SourceURI>
|
|
||||||
</Source>
|
|
||||||
<Package>
|
|
||||||
<Name>icecream</Name>
|
|
||||||
<RuntimeDependencies>
|
|
||||||
<Dependency>librsync</Dependency>
|
|
||||||
<Dependency>libgcc</Dependency>
|
|
||||||
<Dependency>libcap-ng</Dependency>
|
|
||||||
</RuntimeDependencies>
|
|
||||||
<Files>
|
|
||||||
<Path fileType="executable">/opt/icecream/sbin/iceccd</Path>
|
|
||||||
<Path fileType="executable">/opt/icecream/bin/icecc</Path>
|
|
||||||
<Path fileType="executable">/usr/libexec/icecc</Path>
|
|
||||||
<Path fileType="library">/opt/icecream/lib</Path>
|
|
||||||
<Path fileType="executable">/opt/icecream/bin</Path>
|
|
||||||
<Path fileType="header">/opt/icecream/include/</Path>
|
|
||||||
<Path fileType="doc">/usr/share/doc</Path>
|
|
||||||
<Path fileType="data">/usr/share/icecc</Path>
|
|
||||||
<Path fileType="man">/usr/share/man</Path>
|
|
||||||
<Path fileType="data">/lib/systemd/system/icecream-daemon.service</Path>
|
|
||||||
</Files>
|
|
||||||
<Provides>
|
|
||||||
<COMAR script="daemon.py">System.Service</COMAR>
|
|
||||||
</Provides>
|
|
||||||
<AdditionalFiles>
|
|
||||||
<AdditionalFile target="/lib/systemd/system/icecream-daemon.service" permission="0644" owner="root">icecream-daemon.service</AdditionalFile>
|
|
||||||
</AdditionalFiles>
|
|
||||||
</Package>
|
|
||||||
<Package>
|
|
||||||
<Name>icecream-scheduler</Name>
|
|
||||||
<Summary xml:lang="en">Icecream scheduler which should only run on the master icecream node</Summary>
|
|
||||||
<RuntimeDependencies>
|
|
||||||
<Dependency>icecream</Dependency>
|
|
||||||
<Dependency>libgcc</Dependency>
|
|
||||||
</RuntimeDependencies>
|
|
||||||
<Files>
|
|
||||||
<Path fileType="executable">/opt/icecream/sbin/icecc-scheduler</Path>
|
|
||||||
<Path fileType="data">/lib/systemd/system/icecream-scheduler.service</Path>
|
|
||||||
</Files>
|
|
||||||
<Provides>
|
|
||||||
<COMAR script="scheduler.py">System.Service</COMAR>
|
|
||||||
</Provides>
|
|
||||||
<AdditionalFiles>
|
|
||||||
<AdditionalFile target="/lib/systemd/system/icecream-scheduler.service" permission="0644" owner="root">icecream-scheduler.service</AdditionalFile>
|
|
||||||
</AdditionalFiles>
|
|
||||||
</Package>
|
|
||||||
<History>
|
|
||||||
<Update release="5">
|
|
||||||
<Date>2014-05-11</Date>
|
|
||||||
<Version>1.0.1</Version>
|
|
||||||
<Comment>Release bump.</Comment>
|
|
||||||
<Name>Marcin Bojara</Name>
|
|
||||||
<Email>marcin@pisilinux.org</Email>
|
|
||||||
</Update>
|
|
||||||
<Update release="4">
|
|
||||||
<Date>2013-10-22</Date>
|
|
||||||
<Version>1.0.1</Version>
|
|
||||||
<Comment>Rebuild.</Comment>
|
|
||||||
<Name>Serdar Soytetir</Name>
|
|
||||||
<Email>kaptan@pisilinux.org</Email>
|
|
||||||
</Update>
|
|
||||||
<Update release="3">
|
|
||||||
<Date>2013-07-24</Date>
|
|
||||||
<Version>1.0.1</Version>
|
|
||||||
<Comment>Version bump.</Comment>
|
|
||||||
<Name>Yusuf Aydemir</Name>
|
|
||||||
<Email>yusuf.aydemir@pisilinux.org</Email>
|
|
||||||
</Update>
|
|
||||||
<Update release="2">
|
|
||||||
<Date>2013-02-18</Date>
|
|
||||||
<Version>0.9.98.3</Version>
|
|
||||||
<Comment>v.bump</Comment>
|
|
||||||
<Name>PisiLinux Community</Name>
|
|
||||||
<Email>admins@pisilinux.org</Email>
|
|
||||||
</Update>
|
|
||||||
<Update release="1">
|
|
||||||
<Date>2012-10-09</Date>
|
|
||||||
<Version>0.9.7</Version>
|
|
||||||
<Comment>First release</Comment>
|
|
||||||
<Name>Erdem Artan</Name>
|
|
||||||
<Email>admins@pisilinux.org</Email>
|
|
||||||
</Update>
|
|
||||||
</History>
|
|
||||||
</SpecFile>
|
|
||||||
<SpecFile>
|
<SpecFile>
|
||||||
<Source>
|
<Source>
|
||||||
<Name>libmpc</Name>
|
<Name>libmpc</Name>
|
||||||
@@ -19456,6 +19703,65 @@
|
|||||||
</Update>
|
</Update>
|
||||||
</History>
|
</History>
|
||||||
</SpecFile>
|
</SpecFile>
|
||||||
|
<SpecFile>
|
||||||
|
<Source>
|
||||||
|
<Name>disktype</Name>
|
||||||
|
<Homepage>http://disktype.sourceforge.net/</Homepage>
|
||||||
|
<Packager>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Packager>
|
||||||
|
<License>BSD</License>
|
||||||
|
<IsA>app:console</IsA>
|
||||||
|
<PartOf>hardware.disk</PartOf>
|
||||||
|
<Summary xml:lang="en">Detect the content format of a disk or disk image</Summary>
|
||||||
|
<Summary xml:lang="tr">Disk veya disk görüntüsünün biçimsel içeriğini saptar</Summary>
|
||||||
|
<Description xml:lang="en">The purpose of disktype is to detect the content format of a disk or disk image. It knows about common file systems, partition tables, and boot codes.The program is written in C and is designed to compile on any modern Unix flavour.</Description>
|
||||||
|
<Description xml:lang="tr">Disktype'ın amacı disk veya disk görüntüsünün içerik yapısını denetlemektir. Yaygın dosya sistemlerini, bölümleme tablolarını ve önyükleme kodlarını bilir. C dilinde yazılmış, herhangi bir modern Unix derleme tadında tasarlanmıştır.</Description>
|
||||||
|
<Archive type="targz" sha1sum="5ccc55d1c47f9a37becce7336c4aa3a7a43cc89c">mirrors://sourceforge/disktype/disktype-9.tar.gz</Archive>
|
||||||
|
<BuildDependencies>
|
||||||
|
<Dependency>klibc</Dependency>
|
||||||
|
<Dependency>colorgcc</Dependency>
|
||||||
|
</BuildDependencies>
|
||||||
|
<Patches>
|
||||||
|
<Patch level="1">disktype.patch</Patch>
|
||||||
|
<Patch level="1">vfat.patch</Patch>
|
||||||
|
<Patch level="1">ext4.patch</Patch>
|
||||||
|
</Patches>
|
||||||
|
<SourceURI>hardware/disk/disktype/pspec.xml</SourceURI>
|
||||||
|
</Source>
|
||||||
|
<Package>
|
||||||
|
<Name>disktype</Name>
|
||||||
|
<Files>
|
||||||
|
<Path fileType="executable">/usr/bin</Path>
|
||||||
|
<Path fileType="doc">/usr/share/doc</Path>
|
||||||
|
<Path fileType="man">/usr/share/man</Path>
|
||||||
|
</Files>
|
||||||
|
</Package>
|
||||||
|
<History>
|
||||||
|
<Update release="3">
|
||||||
|
<Date>2015-04-01</Date>
|
||||||
|
<Version>9</Version>
|
||||||
|
<Comment>Release bump.</Comment>
|
||||||
|
<Name>Marcin Bojara</Name>
|
||||||
|
<Email>marcin@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="2">
|
||||||
|
<Date>2013-10-29</Date>
|
||||||
|
<Version>9</Version>
|
||||||
|
<Comment>Rebuild</Comment>
|
||||||
|
<Name>Yusuf Aydemir</Name>
|
||||||
|
<Email>yusuf.aydemir@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
<Update release="1">
|
||||||
|
<Date>2012-08-23</Date>
|
||||||
|
<Version>9</Version>
|
||||||
|
<Comment>First release</Comment>
|
||||||
|
<Name>PisiLinux Community</Name>
|
||||||
|
<Email>admins@pisilinux.org</Email>
|
||||||
|
</Update>
|
||||||
|
</History>
|
||||||
|
</SpecFile>
|
||||||
<SpecFile>
|
<SpecFile>
|
||||||
<Source>
|
<Source>
|
||||||
<Name>lvm2</Name>
|
<Name>lvm2</Name>
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
b51768046af128bb91daccf579b2fc5d354ddd1e
|
0ca4cdfea36b833daddaf6a74b9135fd328e375e
|
||||||
Binary file not shown.
@@ -1 +1 @@
|
|||||||
d739b4faae04ea3d163ebbf1d7c3c888cf210797
|
d28c2f9f323d2b5367fc765dde97642215a3384f
|
||||||
Reference in New Issue
Block a user