From 5ea757b7a34225bd7bf3d3f351a3321afd8bf8c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 5 Aug 2015 14:45:59 +0300 Subject: [PATCH 1/3] add needed package part-1 --- hardware/cpu/component.xml | 3 + hardware/cpu/intel-ucode/actions.py | 17 ++ hardware/cpu/intel-ucode/files/LICENSE | 123 +++++++++++++ .../intel-ucode/files/intel-microcode2ucode.c | 163 ++++++++++++++++++ hardware/cpu/intel-ucode/pspec.xml | 55 ++++++ hardware/cpu/intel-ucode/translations.xml | 8 + hardware/cpu/irqbalance/actions.py | 22 +++ hardware/cpu/irqbalance/comar/service.py | 46 +++++ .../cpu/irqbalance/files/irqbalance.confd | 18 ++ .../cpu/irqbalance/files/irqbalance.service | 9 + hardware/cpu/irqbalance/pspec.xml | 66 +++++++ hardware/cpu/irqbalance/translations.xml | 8 + hardware/disk/squashfs-tools/actions.py | 28 +++ hardware/disk/squashfs-tools/pspec.xml | 61 +++++++ hardware/disk/squashfs-tools/translations.xml | 8 + hardware/powermanagement/suspend/actions.py | 30 ++++ .../mandriva/suspend-0.8-printf_format.patch | 22 +++ .../files/resume-dont-ask-questions.patch | 27 +++ .../suspend/files/suppress-outputs.patch | 50 ++++++ .../suse/configure-suspend-encryption.sh | 75 ++++++++ ...spend-0.80-dont-return-eintr-on-abort.diff | 16 ++ .../suspend-0.80-fix-s2both-resume-hacks.diff | 79 +++++++++ .../suspend-0.80-keygen-new-defaults.diff | 48 ++++++ .../suspend-0.80-vbetool-retry-on-errors.diff | 102 +++++++++++ .../suspend-comment-configfile-options.diff | 71 ++++++++ .../files/suse/suspend-default-compress.diff | 39 +++++ .../files/suse/suspend-default-splash.diff | 49 ++++++ hardware/powermanagement/suspend/pspec.xml | 76 ++++++++ .../powermanagement/suspend/translations.xml | 8 + util/admin/logrotate/actions.py | 22 +++ util/admin/logrotate/pspec.xml | 66 +++++++ util/admin/logrotate/translations.xml | 8 + 32 files changed, 1423 insertions(+) create mode 100644 hardware/cpu/component.xml create mode 100644 hardware/cpu/intel-ucode/actions.py create mode 100644 hardware/cpu/intel-ucode/files/LICENSE create mode 100644 hardware/cpu/intel-ucode/files/intel-microcode2ucode.c create mode 100644 hardware/cpu/intel-ucode/pspec.xml create mode 100644 hardware/cpu/intel-ucode/translations.xml create mode 100644 hardware/cpu/irqbalance/actions.py create mode 100644 hardware/cpu/irqbalance/comar/service.py create mode 100644 hardware/cpu/irqbalance/files/irqbalance.confd create mode 100644 hardware/cpu/irqbalance/files/irqbalance.service create mode 100644 hardware/cpu/irqbalance/pspec.xml create mode 100644 hardware/cpu/irqbalance/translations.xml create mode 100644 hardware/disk/squashfs-tools/actions.py create mode 100644 hardware/disk/squashfs-tools/pspec.xml create mode 100644 hardware/disk/squashfs-tools/translations.xml create mode 100644 hardware/powermanagement/suspend/actions.py create mode 100644 hardware/powermanagement/suspend/files/mandriva/suspend-0.8-printf_format.patch create mode 100644 hardware/powermanagement/suspend/files/resume-dont-ask-questions.patch create mode 100644 hardware/powermanagement/suspend/files/suppress-outputs.patch create mode 100644 hardware/powermanagement/suspend/files/suse/configure-suspend-encryption.sh create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-0.80-dont-return-eintr-on-abort.diff create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-0.80-fix-s2both-resume-hacks.diff create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-0.80-keygen-new-defaults.diff create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-0.80-vbetool-retry-on-errors.diff create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-comment-configfile-options.diff create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-default-compress.diff create mode 100644 hardware/powermanagement/suspend/files/suse/suspend-default-splash.diff create mode 100644 hardware/powermanagement/suspend/pspec.xml create mode 100644 hardware/powermanagement/suspend/translations.xml create mode 100644 util/admin/logrotate/actions.py create mode 100644 util/admin/logrotate/pspec.xml create mode 100644 util/admin/logrotate/translations.xml diff --git a/hardware/cpu/component.xml b/hardware/cpu/component.xml new file mode 100644 index 0000000000..1e92460830 --- /dev/null +++ b/hardware/cpu/component.xml @@ -0,0 +1,3 @@ + + hardware.cpu + diff --git a/hardware/cpu/intel-ucode/actions.py b/hardware/cpu/intel-ucode/actions.py new file mode 100644 index 0000000000..475a945dee --- /dev/null +++ b/hardware/cpu/intel-ucode/actions.py @@ -0,0 +1,17 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt. + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import shelltools +from pisi.actionsapi import get + +def build(): + autotools.compile("-Wall %s -o intel-microcode2ucode intel-microcode2ucode.c" % get.CFLAGS()) + shelltools.system("./intel-microcode2ucode ./microcode.dat") + +def install(): + pisitools.insinto("/lib/firmware/intel-ucode", "intel-ucode/*") diff --git a/hardware/cpu/intel-ucode/files/LICENSE b/hardware/cpu/intel-ucode/files/LICENSE new file mode 100644 index 0000000000..c05358c0f8 --- /dev/null +++ b/hardware/cpu/intel-ucode/files/LICENSE @@ -0,0 +1,123 @@ +INTEL SOFTWARE LICENSE AGREEMENT + +IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING. +Do not use or load this software and any associated materials (collectively, +the "Software") until you have carefully read the following terms and +conditions. By loading or using the Software, you agree to the terms of this +Agreement. If you do not wish to so agree, do not install or use the Software. + +LICENSES: Please Note: +- If you are a network administrator, the "Site License" below shall +apply to you. +- If you are an end user, the "Single User License" shall apply to you. +- If you are an original equipment manufacturer (OEM), the "OEM License" +shall apply to you. + +SITE LICENSE. You may copy the Software onto your organization's computers +for your organization's use, and you may make a reasonable number of +back-up copies of the Software, subject to these conditions: + +1. This Software is licensed for use only in conjunction with Intel +component products. Use of the Software in conjunction with non-Intel +component products is not licensed hereunder. +2. You may not copy, modify, rent, sell, distribute or transfer any part +of the Software except as provided in this Agreement, and you agree to +prevent unauthorized copying of the Software. +3. You may not reverse engineer, decompile, or disassemble the Software. +4. You may not sublicense or permit simultaneous use of the Software by +more than one user. +5. The Software may include portions offered on terms in addition to those +set out here, as set out in a license accompanying those portions. + +SINGLE USER LICENSE. You may copy the Software onto a single computer for +your personal, noncommercial use, and you may make one back-up copy of the +Software, subject to these conditions: + +1. This Software is licensed for use only in conjunction with Intel +component products. Use of the Software in conjunction with non-Intel +component products is not licensed hereunder. +2. You may not copy, modify, rent, sell, distribute or transfer any part +of the Software except as provided in this Agreement, and you agree to +prevent unauthorized copying of the Software. +3. You may not reverse engineer, decompile, or disassemble the Software. +4. You may not sublicense or permit simultaneous use of the Software by +more than one user. +5. The Software may include portions offered on terms in addition to those +set out here, as set out in a license accompanying those portions. + +OEM LICENSE: You may reproduce and distribute the Software only as an +integral part of or incorporated in Your product or as a standalone +Software maintenance update for existing end users of Your products, +excluding any other standalone products, subject to these conditions: + +1. This Software is licensed for use only in conjunction with Intel +component products. Use of the Software in conjunction with non-Intel +component products is not licensed hereunder. +2. You may not copy, modify, rent, sell, distribute or transfer any part +of the Software except as provided in this Agreement, and you agree to +prevent unauthorized copying of the Software. +3. You may not reverse engineer, decompile, or disassemble the Software. +4. You may only distribute the Software to your customers pursuant to a +written license agreement. Such license agreement may be a "break-the- +seal" license agreement. At a minimum such license shall safeguard +Intel's ownership rights to the Software. +5. The Software may include portions offered on terms in addition to those +set out here, as set out in a license accompanying those portions. + +NO OTHER RIGHTS. No rights or licenses are granted by Intel to You, expressly +or by implication, with respect to any proprietary information or patent, +copyright, mask work, trademark, trade secret, or other intellectual property +right owned or controlled by Intel, except as expressly provided in this +Agreement. + +OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software +remains with Intel or its suppliers. The Software is copyrighted and +protected by the laws of the United States and other countries, and +international treaty provisions. You may not remove any copyright notices +from the Software. Intel may make changes to the Software, or to items +referenced therein, at any time without notice, but is not obligated to +support or update the Software. Except as otherwise expressly provided, Intel +grants no express or implied right under Intel patents, copyrights, +trademarks, or other intellectual property rights. You may transfer the +Software only if the recipient agrees to be fully bound by these terms and if +you retain no copies of the Software. + +LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on +physical media, Intel warrants the media to be free from material physical +defects for a period of ninety days after delivery by Intel. If such a defect +is found, return the media to Intel for replacement or alternate delivery of +the Software as Intel may select. + +EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS +PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND +INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A +PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for the +accuracy or completeness of any information, text, graphics, links or other +items contained within the Software. + +LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE +FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS, +BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR +INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR +LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL +DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE +OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION. + +TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time +if you violate its terms. Upon termination, you will immediately destroy the +Software or return all copies of the Software to Intel. + +APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the +laws of California, excluding its principles of conflict of laws and the +United Nations Convention on Contracts for the Sale of Goods. You may not +export the Software in violation of applicable export laws and regulations. +Intel is not obligated under any other agreements unless they are in writing +and signed by an authorized representative of Intel. + +GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED +RIGHTS." Use, duplication, or disclosure by the Government is subject to +restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its +successor. Use of the Software by the Government constitutes acknowledgment +of Intel's proprietary rights therein. Contractor or Manufacturer is Intel +2200 Mission College Blvd., Santa Clara, CA 95052. diff --git a/hardware/cpu/intel-ucode/files/intel-microcode2ucode.c b/hardware/cpu/intel-ucode/files/intel-microcode2ucode.c new file mode 100644 index 0000000000..caad0323e8 --- /dev/null +++ b/hardware/cpu/intel-ucode/files/intel-microcode2ucode.c @@ -0,0 +1,163 @@ +/* + * Convert Intel microcode.dat into individual ucode files + * named: intel-ucode/$family-$model-$stepping + * + * The subdir intel-ucode/ is created in the current working + * directory. We get multiple ucodes in the same file, so they + * are appended to an existing file. Make sure the directory + * is empty before every run of the converter. + * + * Kay Sievers + */ + + +#ifndef _GNU_SOURCE +# define _GNU_SOURCE 1 +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +struct microcode_header_intel { + unsigned int hdrver; + unsigned int rev; + unsigned int date; + unsigned int sig; + unsigned int cksum; + unsigned int ldrver; + unsigned int pf; + unsigned int datasize; + unsigned int totalsize; + unsigned int reserved[3]; +}; + +union mcbuf { + struct microcode_header_intel hdr; + unsigned int i[0]; + char c[0]; +}; + +int main(int argc, char *argv[]) +{ + char *filename = "/lib/firmware/microcode.dat"; + FILE *f; + char line[LINE_MAX]; + char buf[4000000]; + union mcbuf *mc; + size_t bufsize, count, start; + int rc = EXIT_SUCCESS; + + if (argv[1] != NULL) + filename = argv[1]; + + count = 0; + mc = (union mcbuf *) buf; + f = fopen(filename, "re"); + if (f == NULL) { + printf("open %s: %m\n", filename); + rc = EXIT_FAILURE; + goto out; + } + + while (fgets(line, sizeof(line), f) != NULL) { + if (sscanf(line, "%x, %x, %x, %x", + &mc->i[count], + &mc->i[count + 1], + &mc->i[count + 2], + &mc->i[count + 3]) != 4) + continue; + count += 4; + } + fclose(f); + + bufsize = count * sizeof(int); + printf("%s: %lu(%luk) bytes, %zu integers\n", + filename, + bufsize, + bufsize / 1024, + count); + + if (bufsize < sizeof(struct microcode_header_intel)) + goto out; + + mkdir("intel-ucode", 0750); + + start = 0; + for (;;) { + size_t size; + unsigned int family, model, stepping; + unsigned int year, month, day; + + mc = (union mcbuf *) &buf[start]; + + if (mc->hdr.totalsize) + size = mc->hdr.totalsize; + else + size = 2000 + sizeof(struct microcode_header_intel); + + if (mc->hdr.ldrver != 1 || mc->hdr.hdrver != 1) { + printf("unknown version/format:\n"); + rc = EXIT_FAILURE; + break; + } + + /* + * 0- 3 stepping + * 4- 7 model + * 8-11 family + * 12-13 type + * 16-19 extended model + * 20-27 extended family + */ + family = (mc->hdr.sig >> 8) & 0xf; + if (family == 0xf) + family += (mc->hdr.sig >> 20) & 0xff; + model = (mc->hdr.sig >> 4) & 0x0f; + if (family == 0x06) + model += ((mc->hdr.sig >> 16) & 0x0f) << 4; + stepping = mc->hdr.sig & 0x0f; + + year = mc->hdr.date & 0xffff; + month = mc->hdr.date >> 24; + day = (mc->hdr.date >> 16) & 0xff; + + asprintf(&filename, "intel-ucode/%02x-%02x-%02x", family, model, stepping); + printf("\n"); + printf("%s\n", filename); + printf("signature: 0x%02x\n", mc->hdr.sig); + printf("flags: 0x%02x\n", mc->hdr.pf); + printf("revision: 0x%02x\n", mc->hdr.rev); + printf("date: %04x-%02x-%02x\n", year, month, day); + printf("size: %zu\n", size); + + f = fopen(filename, "ae"); + if (f == NULL) { + printf("open %s: %m\n", filename); + rc = EXIT_FAILURE; + goto out; + } + if (fwrite(mc, size, 1, f) != 1) { + printf("write %s: %m\n", filename); + rc = EXIT_FAILURE; + goto out; + } + fclose(f); + free(filename); + + start += size; + if (start >= bufsize) + break; + } + printf("\n"); +out: + return rc; +} diff --git a/hardware/cpu/intel-ucode/pspec.xml b/hardware/cpu/intel-ucode/pspec.xml new file mode 100644 index 0000000000..305feb76d5 --- /dev/null +++ b/hardware/cpu/intel-ucode/pspec.xml @@ -0,0 +1,55 @@ + + + + + intel-ucode + http://www.intel.com/ + + PisiLinux Community + admins@pisilinux.org + + as-is + library + Microcode update files for Intel CPUs + Microcode update files for Intel CPUs + http://downloadmirror.intel.com/23574/eng/microcode-20140122.tgz + + intel-microcode2ucode.c + + + + + intel-ucode + + /usr/share/doc + /lib/firmware + + + LICENSE + + + + + + 2014-05-06 + 20140122 + Version bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-01-23 + 20130906 + Version Bump + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2012-10-01 + 20120606 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/hardware/cpu/intel-ucode/translations.xml b/hardware/cpu/intel-ucode/translations.xml new file mode 100644 index 0000000000..f0b40671be --- /dev/null +++ b/hardware/cpu/intel-ucode/translations.xml @@ -0,0 +1,8 @@ + + + + intel-ucode + Intel işlemciler için microcode dosyaları + Intel işlemciler için microcode dosyaları + + diff --git a/hardware/cpu/irqbalance/actions.py b/hardware/cpu/irqbalance/actions.py new file mode 100644 index 0000000000..2f2ac09109 --- /dev/null +++ b/hardware/cpu/irqbalance/actions.py @@ -0,0 +1,22 @@ +#!/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 shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def setup(): + autotools.configure() + +def build(): + autotools.make("CFLAGS='%s'" % get.CFLAGS()) + +def install(): + pisitools.doman("irqbalance.1") + pisitools.dosbin("irqbalance") + + pisitools.dodoc("COPYING", "AUTHORS") diff --git a/hardware/cpu/irqbalance/comar/service.py b/hardware/cpu/irqbalance/comar/service.py new file mode 100644 index 0000000000..8033598651 --- /dev/null +++ b/hardware/cpu/irqbalance/comar/service.py @@ -0,0 +1,46 @@ +from comar.service import * +import os + +serviceType = "local" +serviceConf = "irqbalance" +serviceDefault = "conditional" +serviceDesc = _({"en": "Irqbalance Daemon", + "tr": "Irqbalance Servisi"}) + +@synchronized +def start(): + args = "" + oneshot = config.get("ONESHOT") + affinity = config.get("IRQ_AFFINITY_MASK") + + if oneshot == "yes" and os.path.exists("/run/irqbalance.pid"): + return + + if oneshot == "yes": + args += ("--oneshot -f") + + if affinity: + os.environ["IRQBALANCE_BANNED_CPUS"] = affinity + + startService(command="/usr/sbin/irqbalance", + args=args, donotify=True) + os.system("pidof -o %PPID /usr/sbin/irqbalance > /run/irqbalance.pid") + +@synchronized +def stop(): + stopService(command="/usr/sbin/irqbalance", + pidfile="/run/irqbalance.pid", + donotify=True) + + try: + os.unlink("/var/lock/subsys/irqbalance") + except: + pass + +def ready(): + status = is_on() + if status == "on" or (status == "conditional" and os.path.exists("/sys/devices/system/cpu/cpu1")): + start() + +def status(): + return isServiceRunning("/run/irqbalance.pid") diff --git a/hardware/cpu/irqbalance/files/irqbalance.confd b/hardware/cpu/irqbalance/files/irqbalance.confd new file mode 100644 index 0000000000..0ff3939a83 --- /dev/null +++ b/hardware/cpu/irqbalance/files/irqbalance.confd @@ -0,0 +1,18 @@ +# irqbalance is a daemon process that distributes interrupts across +# CPUS on SMP systems. The default is to rebalance once every 10 +# seconds. There is one configuration option: +# +# ONESHOT=yes +# after starting, wait for a minute, then look at the interrupt +# load and balance it once; after balancing exit and do not change +# it again. +ONESHOT= + +# +# IRQ_AFFINITY_MASK +# 64 bit bitmask which allows you to indicate which cpu's should +# be skipped when reblancing irqs. Cpu numbers which have their +# corresponding bits set to zero in this mask will not have any +# irq's assigned to them on rebalance +# +#IRQ_AFFINITY_MASK= diff --git a/hardware/cpu/irqbalance/files/irqbalance.service b/hardware/cpu/irqbalance/files/irqbalance.service new file mode 100644 index 0000000000..3d4528a8c2 --- /dev/null +++ b/hardware/cpu/irqbalance/files/irqbalance.service @@ -0,0 +1,9 @@ +[Unit] +Description=irqbalance daemon +After=syslog.target + +[Service] +ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS + +[Install] +WantedBy=multi-user.target diff --git a/hardware/cpu/irqbalance/pspec.xml b/hardware/cpu/irqbalance/pspec.xml new file mode 100644 index 0000000000..e74ac398c6 --- /dev/null +++ b/hardware/cpu/irqbalance/pspec.xml @@ -0,0 +1,66 @@ + + + + + irqbalance + http://www.irqbalance.org + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + service + Distribute hardware interrupts across processors + Daemon to balance IRQs across multiple CPUs on systems.This can lead to better performance and I/O balance on SMP systems. + + http://pkgs.fedoraproject.org/repo/pkgs/irqbalance/irqbalance-1.0.7.tar.bz2/09cb0ab81ab4f3401a7ff5dabc158a1e/irqbalance-1.0.7.tar.bz2 + + numactl-devel + + + + + irqbalance + + numactl + + + /etc + /usr/sbin + /lib/systemd/system + /usr/share/man + /usr/share/doc + + + irqbalance.confd + irqbalance.service + + + System.Service + + + + + + 2014-06-06 + 1.0.7 + Version bump. + Aydın Demirel + aydin.demirel@pisilinux.org + + + 2014-01-26 + 1.0.4 + Rebuild with new Download Area + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2012-10-01 + 1.0.4 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/hardware/cpu/irqbalance/translations.xml b/hardware/cpu/irqbalance/translations.xml new file mode 100644 index 0000000000..c09b304b3c --- /dev/null +++ b/hardware/cpu/irqbalance/translations.xml @@ -0,0 +1,8 @@ + + + + irqbalance + Donanım kesmelerini işlemciler arasında dağıtır + Birden fazla işlemcili sistemlerde donanım kesmelerini (hardware interrupt) işlemciler arasında dağıtarak dengeleme sağlayan artalan süreci. Bu SMP (simetrik çoklu işlemcili) sistemlerde daha iyi performans ve G/Ç dengesi sağlar. + + diff --git a/hardware/disk/squashfs-tools/actions.py b/hardware/disk/squashfs-tools/actions.py new file mode 100644 index 0000000000..0f0d939ac3 --- /dev/null +++ b/hardware/disk/squashfs-tools/actions.py @@ -0,0 +1,28 @@ +#!/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 shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +def build(): + shelltools.cd("squashfs-tools") + #Chakra features + #reduce memory requirements of unsquashfs to support installation on systems with 256 MB RAM + cmd1='sed -i -e "s/BUFFER_DEFAULT [0-9]*/BUFFER_DEFAULT 32/" unsquashfs.h' + cmd2="sed -i 's|^#XZ_SUPPORT = 1|XZ_SUPPORT = 1|' Makefile" + cmd3="sed -i 's|^#LZO_SUPPORT = 1|LZO_SUPPORT = 1|' Makefile" + cmd4="sed -i 's|^COMP_DEFAULT = gzip|COMP_DEFAULT = xz|' Makefile" + cmds=[cmd1,cmd2,cmd3,cmd4] + + for cmd in cmds: + shelltools.system(cmd) + autotools.make('RPM_OPT_FLAGS="%s"' % get.CFLAGS()) + +def install(): + shelltools.cd("squashfs-tools") + autotools.install("INSTALL_DIR='%s/usr/sbin'" % get.installDIR()) diff --git a/hardware/disk/squashfs-tools/pspec.xml b/hardware/disk/squashfs-tools/pspec.xml new file mode 100644 index 0000000000..f37221d0bb --- /dev/null +++ b/hardware/disk/squashfs-tools/pspec.xml @@ -0,0 +1,61 @@ + + + + + squashfs-tools + http://squashfs.sourceforge.net/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + Userspace tools to create squashfs compressed filesystem + Squashfs is a highly compressed read-only filesystem for Linux. This package contains the utilities for manipulating squashfs filesystems. + http://sourceforge.net/projects/squashfs/files/squashfs/squashfs4.2/squashfs4.2.tar.gz + + lzo-devel + + xz-devel + zlib-devel + + + + + squashfs-tools + + lzo + + zlib + xz + + + /usr/sbin + /usr/share/doc + + + + + + 2014-03-09 + 4.2 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2013-02-12 + 4.2 + Change compression type to xz, and some other enhancements. + Serdar Soytetir + kaptan@pisilinux.org + + + 2012-11-14 + 4.2 + First release + Osman Erkan + osman.erkan@pisilinux.org + + + diff --git a/hardware/disk/squashfs-tools/translations.xml b/hardware/disk/squashfs-tools/translations.xml new file mode 100644 index 0000000000..0799d13cc3 --- /dev/null +++ b/hardware/disk/squashfs-tools/translations.xml @@ -0,0 +1,8 @@ + + + + squashfs-tools + squashfs sıkıştırılmış salt-okunur dosya sistemi oluşturma aracı + squashfs, Linux için sıkıştırılmış ve salt-okunur bir dosya sistemidir. Bu paket squashfs dosya sistemiyle çalışmak için kullanılabilecek araçları içerir. + + diff --git a/hardware/powermanagement/suspend/actions.py b/hardware/powermanagement/suspend/actions.py new file mode 100644 index 0000000000..045c5a933c --- /dev/null +++ b/hardware/powermanagement/suspend/actions.py @@ -0,0 +1,30 @@ +# -*- 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 shelltools +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + + + +def setup(): + #autotools.autoreconf("-vif") + autotools.configure("--enable-threads \ + --enable-compress \ + --enable-plymouth \ + --disable-encrypt \ + --disable-resume-static \ + --with-initramfsdir=/usr/sbin") + +def build(): + autotools.make() + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + + pisitools.removeDir("/dev") + + shelltools.touch("%s/etc/suspend.key" % get.installDIR()) diff --git a/hardware/powermanagement/suspend/files/mandriva/suspend-0.8-printf_format.patch b/hardware/powermanagement/suspend/files/mandriva/suspend-0.8-printf_format.patch new file mode 100644 index 0000000000..e1ba36be3e --- /dev/null +++ b/hardware/powermanagement/suspend/files/mandriva/suspend-0.8-printf_format.patch @@ -0,0 +1,22 @@ +--- suspend-0.8.20080612/bootsplash.c.printf_format 2009-02-04 09:45:15.000000000 +0100 ++++ suspend-0.8.20080612/bootsplash.c 2009-02-04 10:03:01.000000000 +0100 +@@ -118,7 +118,7 @@ int bootsplash_dialog(const char *prompt + { + int ret; + bootsplash_to_verbose(); +- printf(prompt); ++ printf("%s", prompt); + ret = getchar(); + bootsplash_to_silent(); + +--- suspend-0.8.20080612/splash.c.printf_format 2009-02-04 09:45:15.000000000 +0100 ++++ suspend-0.8.20080612/splash.c 2009-02-04 09:56:30.000000000 +0100 +@@ -53,7 +53,7 @@ static void splash_dummy_readpass(char * + + static int splash_dialog(const char *prompt) + { +- printf(prompt); ++ printf("%s", prompt); + return getchar(); + } + diff --git a/hardware/powermanagement/suspend/files/resume-dont-ask-questions.patch b/hardware/powermanagement/suspend/files/resume-dont-ask-questions.patch new file mode 100644 index 0000000000..3ed565b885 --- /dev/null +++ b/hardware/powermanagement/suspend/files/resume-dont-ask-questions.patch @@ -0,0 +1,27 @@ +Index: suspend-0.8_20100831/resume.c +=================================================================== +--- suspend-0.8_20100831.orig/resume.c ++++ suspend-0.8_20100831/resume.c +@@ -471,19 +471,9 @@ int main(int argc, char *argv[]) + + while (stat(resume_dev_name, &stat_buf)) { + fprintf(stderr, +- "%s: Could not stat the resume device file '%s'\n" +- "\tPlease type in the full path name to try again\n" +- "\tor press ENTER to boot the system: ", my_name, +- resume_dev_name); +- fgets(resume_dev_name, MAX_STR_LEN - 1, stdin); +- n = strlen(resume_dev_name) - 1; +- if (n <= 0) { +- error = EINVAL; +- goto Free; +- } +- +- if (resume_dev_name[n] == '\n') +- resume_dev_name[n] = '\0'; ++ "%s: Could not stat the resume device file '%s'\n", my_name, resume_dev_name); ++ error = EINVAL; ++ goto Free; + } + + setvbuf(stdout, NULL, _IONBF, 0); diff --git a/hardware/powermanagement/suspend/files/suppress-outputs.patch b/hardware/powermanagement/suspend/files/suppress-outputs.patch new file mode 100644 index 0000000000..80a95733c7 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suppress-outputs.patch @@ -0,0 +1,50 @@ +Index: suspend-0.8_20100831/splash.c +=================================================================== +--- suspend-0.8_20100831.orig/splash.c ++++ suspend-0.8_20100831/splash.c +@@ -206,7 +206,7 @@ void splash_prepare(struct splash *splas + if (!mode) + return; + +- printf("Looking for splash system... "); ++ /*printf("Looking for splash system... ");*/ + + if (!bootsplash_open()) { + splash->finish = bootsplash_finish; +@@ -246,12 +246,12 @@ void splash_prepare(struct splash *splas + } else if (0) { + /* add another splash system here */ + } else { +- printf("none\n"); ++ /*printf("none\n");*/ + if (!open_input_fd()) + splash->key_pressed = key_pressed; + return; + } +- printf("found\n"); ++ /*printf("found\n");*/ + + splash->progress(0); + } +Index: suspend-0.8_20100831/suspend.c +=================================================================== +--- suspend-0.8_20100831.orig/suspend.c ++++ suspend-0.8_20100831/suspend.c +@@ -1733,7 +1733,7 @@ int suspend_system(int snapshot_fd, int + } + + sprintf(message, "Snapshotting system"); +- printf("%s: %s\n", my_name, message); ++ /*printf("%s: %s\n", my_name, message);*/ + splash.set_caption(message); + attempts = 2; + do { +@@ -1748,7 +1748,7 @@ int suspend_system(int snapshot_fd, int + if (!in_suspend) { + /* first unblank the console, see console_codes(4) */ + printf("\e[13]"); +- printf("%s: returned to userspace\n", my_name); ++ /*printf("%s: returned to userspace\n", my_name);*/ + free_snapshot(snapshot_fd); + break; + } diff --git a/hardware/powermanagement/suspend/files/suse/configure-suspend-encryption.sh b/hardware/powermanagement/suspend/files/suse/configure-suspend-encryption.sh new file mode 100644 index 0000000000..189b9882b4 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/configure-suspend-encryption.sh @@ -0,0 +1,75 @@ +#!/bin/bash +# +# configuration script for encrypted suspend +# +# (C) 2008 Stefan Seyfried SUSE Linux Products GmbH +# released under the GPL V2 + +CONF=/etc/suspend.conf + +if [ $UID != 0 ]; then + echo "Sorry, this configuration script needs root privileges." + echo "Exiting now..." + echo + exit 1 +fi + +cat <> $CONF + +# if we have more than one CPU / core, enabling threads will speed up +# suspend. +NUMCPU=$(grep -c ^processor /proc/cpuinfo) +if [ $NUMCPU -gt 1 ]; then + # remove the threads setting... + sed -i '/^threads /d; ' $CONF + # ..and add it back. + echo "threads = y" >> $CONF +fi + +echo +echo "/etc/suspend.conf written, you can find the original file as /etc/suspend.conf.backup" +echo + diff --git a/hardware/powermanagement/suspend/files/suse/suspend-0.80-dont-return-eintr-on-abort.diff b/hardware/powermanagement/suspend/files/suse/suspend-0.80-dont-return-eintr-on-abort.diff new file mode 100644 index 0000000000..dddba22a4c --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-0.80-dont-return-eintr-on-abort.diff @@ -0,0 +1,16 @@ +Index: b/suspend.c +=================================================================== +--- a/suspend.c ++++ b/suspend.c +@@ -1261,6 +1261,11 @@ Shutdown: + + Unfreeze: + unfreeze(snapshot_fd); ++ /* ugly hack, because "user aborted suspend" is not really ++ * an error. ++ */ ++ if (error == EINTR) ++ return 0; + return error; + } + diff --git a/hardware/powermanagement/suspend/files/suse/suspend-0.80-fix-s2both-resume-hacks.diff b/hardware/powermanagement/suspend/files/suse/suspend-0.80-fix-s2both-resume-hacks.diff new file mode 100644 index 0000000000..3c52d6c3bd --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-0.80-fix-s2both-resume-hacks.diff @@ -0,0 +1,79 @@ +Index: b/suspend.c +=================================================================== +--- a/suspend.c ++++ b/suspend.c +@@ -1772,11 +1772,10 @@ int suspend_system(int snapshot_fd, int + if (error) + goto Shutdown; + reset_signature(resume_fd); + free_swap_pages(snapshot_fd); + free_snapshot(snapshot_fd); +- s2ram_resume(); + goto Unfreeze; + } + Shutdown: + #endif + close(resume_fd); +@@ -2268,11 +2267,11 @@ int main(int argc, char *argv[]) + struct stat stat_buf; + int resume_fd, snapshot_fd, vt_fd, orig_vc = -1, suspend_vc = -1; + int test_fd = -1; + dev_t resume_dev; + int orig_loglevel, orig_swappiness, ret; +- struct rlimit rlim; ++ struct rlimit rlim, rlim_saved; + static char chroot_path[MAX_STR_LEN]; + + my_name = basename(argv[0]); + + /* Make sure the 0, 1, 2 descriptors are open before opening the +@@ -2500,19 +2499,19 @@ int main(int argc, char *argv[]) + goto Restore_console; + } + + splash.progress(5); + ++#ifdef CONFIG_ENCRYPT ++ if (do_encrypt && ! use_RSA) ++ splash.read_password(password, 1); ++#endif + #ifdef CONFIG_BOTH + /* If s2ram_hacks returns != 0, better not try to suspend to RAM */ + if (s2ram) + s2ram = !s2ram_hacks(); + #endif +-#ifdef CONFIG_ENCRYPT +- if (do_encrypt && ! use_RSA) +- splash.read_password(password, 1); +-#endif + + open_printk(); + orig_loglevel = get_kernel_console_loglevel(); + set_kernel_console_loglevel(suspend_loglevel); + +@@ -2522,18 +2521,25 @@ int main(int argc, char *argv[]) + + sync(); + + splash.progress(10); + ++ getrlimit(RLIMIT_NOFILE, &rlim_saved); + rlim.rlim_cur = 0; + rlim.rlim_max = 0; + setrlimit(RLIMIT_NOFILE, &rlim); + setrlimit(RLIMIT_NPROC, &rlim); + setrlimit(RLIMIT_CORE, &rlim); + + ret = suspend_system(snapshot_fd, resume_fd, test_fd); + ++ setrlimit(RLIMIT_NOFILE, &rlim_saved); ++#ifdef CONFIG_BOTH ++ if (s2ram) ++ s2ram_resume(); ++#endif ++ + if (orig_loglevel >= 0) + set_kernel_console_loglevel(orig_loglevel); + + close_printk(); + diff --git a/hardware/powermanagement/suspend/files/suse/suspend-0.80-keygen-new-defaults.diff b/hardware/powermanagement/suspend/files/suse/suspend-0.80-keygen-new-defaults.diff new file mode 100644 index 0000000000..08d2369a04 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-0.80-keygen-new-defaults.diff @@ -0,0 +1,48 @@ +Index: b/keygen.c +=================================================================== +--- a/keygen.c ++++ b/keygen.c +@@ -25,11 +25,11 @@ + + #define MIN_KEY_BITS 1024 + #define MAX_KEY_BITS 4096 + #define MAX_OUT_SIZE (sizeof(struct RSA_data)) + #define MAX_STR_LEN 256 +-#define DEFAULT_FILE "suspend.key" ++#define DEFAULT_FILE "/etc/suspend.key" + + static char in_buffer[MAX_STR_LEN]; + static char pass_buf[MAX_STR_LEN]; + static struct RSA_data rsa; + static unsigned char encrypt_buffer[RSA_DATA_SIZE]; +@@ -40,11 +40,11 @@ int main(int argc, char *argv[]) + gcry_ac_handle_t rsa_hd; + gcry_ac_key_t rsa_priv; + gcry_ac_key_pair_t rsa_key_pair; + gcry_mpi_t mpi; + size_t offset; +- int len = MIN_KEY_BITS, ret = EXIT_SUCCESS; ++ int len = 2048, ret = EXIT_SUCCESS; + struct termios termios; + char *vrfy_buf; + struct md5_ctx ctx; + unsigned char key_buf[PK_KEY_SIZE]; + gcry_cipher_hd_t sym_hd; +@@ -197,12 +197,15 @@ Retry: + gcry_free(str); + } + + size = offset + sizeof(struct RSA_data) - RSA_DATA_SIZE; + +- printf("File name [%s]: ", DEFAULT_FILE); +- fgets(in_buffer, MAX_STR_LEN, stdin); ++ *in_buffer = 0; ++ if (!((argc > 1) && (strcmp(argv[1], "-q") == 0))) { ++ printf("File name [%s]: ", DEFAULT_FILE); ++ fgets(in_buffer, MAX_STR_LEN, stdin); ++ } + if (!strlen(in_buffer) || *in_buffer == '\n') + strcpy(in_buffer, DEFAULT_FILE); + else if (in_buffer[strlen(in_buffer)-1] == '\n') + in_buffer[strlen(in_buffer)-1] = '\0'; + fd = open(in_buffer, O_RDWR | O_CREAT | O_TRUNC, 00600); diff --git a/hardware/powermanagement/suspend/files/suse/suspend-0.80-vbetool-retry-on-errors.diff b/hardware/powermanagement/suspend/files/suse/suspend-0.80-vbetool-retry-on-errors.diff new file mode 100644 index 0000000000..2637e3d644 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-0.80-vbetool-retry-on-errors.diff @@ -0,0 +1,102 @@ +Index: s2ram-x86.c +=================================================================== +--- s2ram-x86.c.orig ++++ s2ram-x86.c +@@ -321,6 +321,7 @@ int s2ram_do(void) + + void s2ram_resume(void) + { ++ int i = 0; + if (flags & PCI_SAVE) { + printf("restoring PCI config of device %02x:%02x.%d\n", + vga_dev.bus, vga_dev.dev, vga_dev.func); +@@ -330,19 +331,36 @@ void s2ram_resume(void) + } + // FIXME: can we call vbetool_init() multiple times without cleaning up? + if (flags & VBE_POST) { +- vbetool_init(); +- printf("Calling do_post\n"); +- do_post(); ++ while (i++ < 5) { ++ vbetool_init(); ++ printf("Calling do_post\n"); ++ if (!do_post()) ++ break; ++ printf("do_post failed, sleeping 100ms and retrying...\n"); ++ usleep(100000); ++ } ++ i = 0; + } + if (vbe_buffer) { +- vbetool_init(); +- printf("Calling restore_state_from\n"); +- restore_state_from(vbe_buffer); ++ while (i++ < 5) { ++ vbetool_init(); ++ printf("Calling restore_state_from\n"); ++ if (!restore_state_from(vbe_buffer)) ++ break; ++ printf("restore_state_from failed, sleeping 100ms and retrying...\n"); ++ usleep(100000); ++ } ++ i = 0; + } + if (vbe_mode >= 0) { +- vbetool_init(); +- printf("Calling set_vbe_mode\n"); +- do_set_mode(vbe_mode, 0); ++ while (i++ < 5) { ++ vbetool_init(); ++ printf("Calling set_vbe_mode\n"); ++ if (!do_set_mode(vbe_mode, 0)) ++ break; ++ printf("set_vbe_mode failed, sleeping 100ms and retrying...\n"); ++ usleep(100000); ++ } + } + if (!fb_nosuspend) + resume_fbcon(); +Index: vbetool/vbetool.c +=================================================================== +--- vbetool/vbetool.c.orig ++++ vbetool/vbetool.c +@@ -231,9 +231,10 @@ int do_post(void) + return 0; + } + +-void restore_state_from(char *data) ++int restore_state_from(char *data) + { + struct LRMI_regs r; ++ int ret = 1; + + /* VGA BIOS mode 3 is text mode */ + do_set_mode(3,1); +@@ -252,12 +253,16 @@ void restore_state_from(char *data) + "Can't restore video state (vm86 failure)\n"); + } else if ((r.eax & 0xffff) != 0x4f) { + fprintf(stderr, "Restore video state failed\n"); ++ } else { ++ /* everything ok */ ++ ret = 0; + } + + LRMI_free_real(data); + + ioctl(0, KDSETMODE, KD_TEXT); + ++ return ret; + } + + #ifndef S2RAM +Index: vbetool/vbetool.h +=================================================================== +--- vbetool/vbetool.h.orig ++++ vbetool/vbetool.h +@@ -18,5 +18,5 @@ int disable_vga(void); + int do_get_panel_id(); + void vbetool_init(void); + char *__save_state(int *); +-void restore_state_from(char *); ++int restore_state_from(char *); + int __get_mode(void); diff --git a/hardware/powermanagement/suspend/files/suse/suspend-comment-configfile-options.diff b/hardware/powermanagement/suspend/files/suse/suspend-comment-configfile-options.diff new file mode 100644 index 0000000000..7d3ddae382 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-comment-configfile-options.diff @@ -0,0 +1,71 @@ +Index: b/conf/suspend.conf +=================================================================== +--- a/conf/suspend.conf ++++ b/conf/suspend.conf +@@ -1,9 +1,62 @@ +-snapshot device = /dev/snapshot +-resume device = ++############################################################################# ++## ++## note: ++## using pm-utils or powersaved, this file (/etc/suspend.conf) only serves as ++## a template, image_size and resume_device are filled in dynamically ++## and the generated /var/lib/s2disk.conf is used to suspend. ++## _If_ you enter stuff here, it will be copied to that file unchanged, ++## but this might skip some features and sanity checks. ++## ++############################################################################# ++## ++## your snapshot device. You should not need to change this. ++# snapshot device = /dev/snapshot ++# ++## enter your swap device here. Read the warning on pm-utils above, please! ++#resume device = ++# ++## image size will also be filled in by pm-utils + #image size = 350000000 ++# + #suspend loglevel = 2 ++#max loglevel = ++# ++## compute checksum will slow down suspend and resume. ++## Debugging option, default n + #compute checksum = y +-#compress = y ++# ++## compression will often speed up suspend and resume (default n) ++#compress = n ++# ++## encryption support is rather basic right now - e.g. USB keyboards will not ++## work to enter the key in the standard initrd, also beware of ++## non-US keyboard layouts. Only use this if you know what you are doing. + #encrypt = y +-#early writeout = y ++# ++## RSA key file that is used for encryption ++#RSA key file = /etc/suspend.key ++# ++## start writing out the image early, before buffers are full. ++## will most of the time speed up overall writing time (default y) ++#early writeout = n ++# ++## use splash picture? (default n) + #splash = y ++# ++## shutdown method: ++## platform - go through ACPI BIOS to power off the machine (default on ++## machines that support it) ++## shutdown - just power off like after a shutdown ++## reboot - reboot instead of powering off. For debugging only. ++#shutdown method = platform ++# ++## resume offset: for use with swapfiles, use "swap-offset" to find out. ++#resume offset = 12345 ++# ++## pause after resume for n seconds, so that the timing information can ++## actually be read (default 0 => don't pause) ++#resume pause = 2 ++# ++## use threads for suspend? (default n) ++## this hugely speeds up encryption and also compression on mulitcore machines ++#threads = y diff --git a/hardware/powermanagement/suspend/files/suse/suspend-default-compress.diff b/hardware/powermanagement/suspend/files/suse/suspend-default-compress.diff new file mode 100644 index 0000000000..f4058c2489 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-default-compress.diff @@ -0,0 +1,39 @@ +Index: suspend.c +=================================================================== +--- suspend.c.orig ++++ suspend.c +@@ -1768,13 +1768,15 @@ int main(int argc, char *argv[]) + if (compute_checksum != 'y' && compute_checksum != 'Y') + compute_checksum = 0; + #ifdef CONFIG_COMPRESS +- if (do_compress != 'y' && do_compress != 'Y') { ++ if (do_compress != 'n' && do_compress != 'N') { ++ do_compress = 1; ++ if (lzo_init() != LZO_E_OK) { ++ suspend_error("Failed to initialize LZO. " ++ "Compression disabled.\n"); ++ do_compress = 0; ++ } ++ } else + do_compress = 0; +- } else if (lzo_init() != LZO_E_OK) { +- suspend_error("Failed to initialize LZO. " +- "Compression disabled.\n"); +- do_compress = 0; +- } + #endif + #ifdef CONFIG_ENCRYPT + if (do_encrypt != 'y' && do_encrypt != 'Y') +Index: conf/suspend.conf +=================================================================== +--- conf/suspend.conf.orig ++++ conf/suspend.conf +@@ -25,7 +25,7 @@ + ## Debugging option, default n + #compute checksum = y + # +-## compression will often speed up suspend and resume (default n) ++## compression will often speed up suspend and resume (default y) + #compress = n + # + ## encryption support is rather basic right now - e.g. USB keyboards will not diff --git a/hardware/powermanagement/suspend/files/suse/suspend-default-splash.diff b/hardware/powermanagement/suspend/files/suse/suspend-default-splash.diff new file mode 100644 index 0000000000..06bdf76fd3 --- /dev/null +++ b/hardware/powermanagement/suspend/files/suse/suspend-default-splash.diff @@ -0,0 +1,49 @@ +Index: resume.c +=================================================================== +--- resume.c.orig ++++ resume.c +@@ -421,10 +421,10 @@ int main(int argc, char *argv[]) + if (error) + return -error; + +- if (splash_param != 'y' && splash_param != 'Y') +- splash_param = 0; +- else ++ if (splash_param != 'n' && splash_param != 'N') + splash_param = SPL_RESUME; ++ else ++ splash_param = 0; + + get_page_and_buffer_sizes(); + +Index: suspend.c +=================================================================== +--- suspend.c.orig ++++ suspend.c +@@ -1782,10 +1782,10 @@ int main(int argc, char *argv[]) + if (do_encrypt != 'y' && do_encrypt != 'Y') + do_encrypt = 0; + #endif +- if (splash_param != 'y' && splash_param != 'Y') +- splash_param = 0; +- else ++ if (splash_param != 'n' && splash_param != 'N') + splash_param = SPL_SUSPEND; ++ else ++ splash_param = 0; + + if (early_writeout != 'n' && early_writeout != 'N') + early_writeout = 1; +Index: conf/suspend.conf +=================================================================== +--- conf/suspend.conf.orig ++++ conf/suspend.conf +@@ -40,7 +40,7 @@ + ## will most of the time speed up overall writing time (default y) + #early writeout = n + # +-## use splash picture? (default n) ++## use splash picture? (default y) + #splash = y + # + ## shutdown method: diff --git a/hardware/powermanagement/suspend/pspec.xml b/hardware/powermanagement/suspend/pspec.xml new file mode 100644 index 0000000000..38214b666f --- /dev/null +++ b/hardware/powermanagement/suspend/pspec.xml @@ -0,0 +1,76 @@ + + + + + suspend + http://suspend.sourceforge.net/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + A set of tools to support sleep modes + suspend package allows users to suspend-to-ram, suspend-to-disk, and suspend-to-both. + http://sourceforge.net/projects/suspend/files/suspend/suspend-1.0/suspend-utils-1.0.tar.bz2 + + lzo-devel + pciutils-devel + libx86-devel + plymouth-devel + + + suse/suspend-comment-configfile-options.diff + suse/suspend-default-compress.diff + suse/suspend-default-splash.diff + suse/suspend-0.80-dont-return-eintr-on-abort.diff + + suse/suspend-0.80-keygen-new-defaults.diff + suse/suspend-0.80-vbetool-retry-on-errors.diff + + mandriva/suspend-0.8-printf_format.patch + + + + resume-dont-ask-questions.patch + suppress-outputs.patch + + + + + + suspend + + lzo + libx86 + plymouth-core-libs + pciutils + + + /etc/suspend.conf + /etc/suspend.key + /usr/sbin + /usr/share/doc + + + suse/configure-suspend-encryption.sh + + + + + + 2014-03-09 + 1.0 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2012-12-29 + 1.0 + First release + Osman Erkan + osman.erkan@pisilinux.org + + + diff --git a/hardware/powermanagement/suspend/translations.xml b/hardware/powermanagement/suspend/translations.xml new file mode 100644 index 0000000000..1ce8506914 --- /dev/null +++ b/hardware/powermanagement/suspend/translations.xml @@ -0,0 +1,8 @@ + + + + suspend + Uyku kiplerini destekleme araçları + suspend, kullanıcıların bellek, disk veya her ikisini de kullanarak sistemlerini askıya almalarını sağlayan araçları içerir. + + diff --git a/util/admin/logrotate/actions.py b/util/admin/logrotate/actions.py new file mode 100644 index 0000000000..4dbf198244 --- /dev/null +++ b/util/admin/logrotate/actions.py @@ -0,0 +1,22 @@ +#!/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 build(): + autotools.make("RPM_OPT_FLAGS=\"%s\" WITH_ACL=yes" % get.CFLAGS()) + +def install(): + autotools.rawInstall("PREFIX=%s MANDIR=%s" % (get.installDIR(), get.manDIR())) + + pisitools.dodir("/etc/logrotate.d") + + pisitools.dobin("examples/logrotate.cron", "/etc/cron.daily") + pisitools.insinto("/etc", "examples/logrotate-default", "logrotate.conf") + + pisitools.dodoc("CHANGES", "COPYING", "README*") diff --git a/util/admin/logrotate/pspec.xml b/util/admin/logrotate/pspec.xml new file mode 100644 index 0000000000..2a323d9665 --- /dev/null +++ b/util/admin/logrotate/pspec.xml @@ -0,0 +1,66 @@ + + + + + logrotate + https://fedorahosted.org/releases/l/o/logrotate + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + Rotates, compresses, removes and emails system log files + logrotate is designed to ease administration of systems that generate large numbers of log files. It allows automatic rotation, compression, removal, and emailing of log files. + https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.8.8.tar.gz + + popt-devel + acl-devel + + + + + logrotate + + popt + acl + + + /etc + /usr/sbin + /usr/share/doc + /usr/share/man + + + + + + 2015-01-26 + 3.8.8 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-06-18 + 3.8.7 + v.bump + Ayhan Yalçınsoy + ayhanyacinsoy@gmail.com + + + 2014-03-09 + 3.7.9 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2011-09-29 + 3.7.9 + First release + Pisi Linux Admins + admins@pisilinux.org + + + diff --git a/util/admin/logrotate/translations.xml b/util/admin/logrotate/translations.xml new file mode 100644 index 0000000000..248d52b3c5 --- /dev/null +++ b/util/admin/logrotate/translations.xml @@ -0,0 +1,8 @@ + + + + logrotate + Sistem günlük (log) dosyalarını yönetmeyi kolaylaştıran bir araç + Logrotate kayıt dosyalarının rotasyonunu, silinmesini veya e-posta ile gönderilmesi gibi işlevleri ile sistem yönetimini kolaylaştırıan bir uygulamadır. + + From 52962c48725c95bf6bd34de89a37bf9430b43118 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 5 Aug 2015 15:20:42 +0300 Subject: [PATCH 2/3] gfxboot and pisilinux themes in main --- system/boot/gfxboot/actions.py | 26 +++++++ .../boot/gfxboot/files/no-theme-no-git.patch | 52 +++++++++++++ system/boot/gfxboot/files/productname.patch | 12 +++ system/boot/gfxboot/pspec.xml | 74 +++++++++++++++++++ system/boot/gfxboot/translations.xml | 8 ++ .../gfxtheme-pisilinux-install/actions.py | 19 +++++ .../files/chmod-t.patch | 11 +++ .../boot/gfxtheme-pisilinux-install/pspec.xml | 62 ++++++++++++++++ .../translations.xml | 8 ++ 9 files changed, 272 insertions(+) create mode 100644 system/boot/gfxboot/actions.py create mode 100644 system/boot/gfxboot/files/no-theme-no-git.patch create mode 100644 system/boot/gfxboot/files/productname.patch create mode 100644 system/boot/gfxboot/pspec.xml create mode 100644 system/boot/gfxboot/translations.xml create mode 100644 system/boot/gfxtheme-pisilinux-install/actions.py create mode 100644 system/boot/gfxtheme-pisilinux-install/files/chmod-t.patch create mode 100644 system/boot/gfxtheme-pisilinux-install/pspec.xml create mode 100644 system/boot/gfxtheme-pisilinux-install/translations.xml diff --git a/system/boot/gfxboot/actions.py b/system/boot/gfxboot/actions.py new file mode 100644 index 0000000000..2116f174db --- /dev/null +++ b/system/boot/gfxboot/actions.py @@ -0,0 +1,26 @@ +#!/usr/bin/python +# -*- coding: utf-8 -*- +# +# Licensed under the GNU General Public License, version 3. +# See the file http://www.gnu.org/copyleft/gpl.txt. + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + + +def setup(): + pisitools.dosed("Makefile", "^CC.*", "CC = %s" % get.CC()) + #pisitools.dosed("doc/Makefile", "xmlto", "xmlto --skip-validation") + pisitools.dosed("gfxboot-font.c", "#include ", "#include ") + + +def build(): + autotools.make() + autotools.make("-j1 doc") + +def install(): + autotools.rawInstall("DESTDIR=%s" % get.installDIR()) + autotools.make('DESTDIR="%s" installsrc' % get.installDIR()) + + pisitools.dodoc("doc/*.txt", "doc/*.html") diff --git a/system/boot/gfxboot/files/no-theme-no-git.patch b/system/boot/gfxboot/files/no-theme-no-git.patch new file mode 100644 index 0000000000..75bf8a0d08 --- /dev/null +++ b/system/boot/gfxboot/files/no-theme-no-git.patch @@ -0,0 +1,52 @@ +diff -Nuar gfxboot-4.5.7.orig/Makefile gfxboot-4.5.7/Makefile +--- gfxboot-4.5.7.orig/Makefile 2014-10-14 14:37:02.000000000 +0300 ++++ gfxboot-4.5.7/Makefile 2015-08-05 15:02:12.676842244 +0300 +@@ -1,16 +1,7 @@ + CC = gcc + CFLAGS = -g -Wall -Wno-pointer-sign -O2 -fomit-frame-pointer + +-GIT2LOG := $(shell if [ -x ./git2log ] ; then echo ./git2log --update ; else echo true ; fi) +-GITDEPS := $(shell [ -d .git ] && echo .git/HEAD .git/refs/heads .git/refs/tags) +-VERSION := $(shell $(GIT2LOG) --version VERSION ; cat VERSION) +-BRANCH := $(shell git branch | perl -ne 'print $$_ if s/^\*\s*//') +-PREFIX := gfxboot-$(VERSION) +- +-# THEMES = $(wildcard themes/*) +-THEMES = themes/upstream themes/openSUSE themes/SLES themes/SLED themes/KDE +- +-.PHONY: all clean distclean doc install installsrc themes ++.PHONY: all clean distclean doc install installsrc + + all: changelog bin2c gfxboot-compile bincode gfxboot-font addblack + +@@ -54,20 +45,10 @@ + install -m 755 gfxboot~ $(DESTDIR)/usr/sbin/gfxboot + install -m 755 gfxtest $(DESTDIR)/usr/sbin + install -m 755 gfxboot-compile gfxboot-font $(DESTDIR)/usr/sbin +- @for i in $(THEMES) ; do \ +- install -d -m 755 $(DESTDIR)/etc/bootsplash/$$i/{bootloader,cdrom} ; \ +- cp $$i/bootlogo $(DESTDIR)/etc/bootsplash/$$i/cdrom ; \ +- bin/unpack_bootlogo $(DESTDIR)/etc/bootsplash/$$i/cdrom ; \ +- install -m 644 $$i/{message,po/*.tr,help-boot/*.hlp} $(DESTDIR)/etc/bootsplash/$$i/bootloader ; \ +- bin/2hl --link --quiet $(DESTDIR)/etc/bootsplash/$$i/* ; \ +- done + + installsrc: + install -d -m 755 $(DESTDIR)/usr/share/gfxboot/themes +- @for i in $(THEMES) ; do \ +- cp -a $$i $(DESTDIR)/usr/share/gfxboot/themes ; \ +- done +- cp -a themes/example* $(DESTDIR)/usr/share/gfxboot/themes ++ + cp -a bin test $(DESTDIR)/usr/share/gfxboot + + archive: changelog +@@ -87,8 +68,6 @@ + distclean: clean + @for i in themes/example* ; do make -C $$i clean || break ; done + +-themes: +- @for i in $(THEMES) ; do make -C $$i $(MAKECMDGOALS) || break ; done + + doc: + make -C doc $(MAKECMDGOALS) diff --git a/system/boot/gfxboot/files/productname.patch b/system/boot/gfxboot/files/productname.patch new file mode 100644 index 0000000000..a18541c297 --- /dev/null +++ b/system/boot/gfxboot/files/productname.patch @@ -0,0 +1,12 @@ +diff -ur bin/help2txt~ bin/help2txt +--- bin/help2txt~ 2012-10-01 11:52:39.000000000 +0300 ++++ bin/help2txt 2013-01-13 20:54:56.977178803 +0200 +@@ -12,7 +12,7 @@ + sub find_tag; + sub nospaces; + +-$opt_product = "openSUSE"; ++$opt_product = "PisiLinux"; + + %help_key_rename = ( + 'F2' => 'F3', diff --git a/system/boot/gfxboot/pspec.xml b/system/boot/gfxboot/pspec.xml new file mode 100644 index 0000000000..63395660e7 --- /dev/null +++ b/system/boot/gfxboot/pspec.xml @@ -0,0 +1,74 @@ + + + + + gfxboot + https://github.com/openSUSE/gfxboot + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + gfxboot + app:console + Tools to create graphical boot logos + Set of tools to create graphical boot logos, for grub, lilo and syslinux. It supports arch-specific boot menus, advanced help menus, multiple keymaps, animated images, and more graphical pretty things. + https://github.com/openSUSE/gfxboot/archive/4.5.7.tar.gz + + xmlto + freetype-devel + util-linux + libxslt + lynx + + + productname.patch + no-theme-no-git.patch + + + + + gfxboot + + perl-HTML-Parser + freetype + + + /usr/sbin + /usr/share/gfxboot/bin + /usr/share/gfxboot + /usr/share/doc + + + + + + 2015-08-05 + 4.5.7 + Release bump. + Ertuğrul Erata + ertugrulerata@gmail.com + + + 2014-06-14 + 4.5.1 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-23 + 4.5.1 + Rebuild + Kamil Atlı + suvarice@gmail.com + + + 2013-01-13 + 4.5.1 + First release + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/system/boot/gfxboot/translations.xml b/system/boot/gfxboot/translations.xml new file mode 100644 index 0000000000..894a9f527a --- /dev/null +++ b/system/boot/gfxboot/translations.xml @@ -0,0 +1,8 @@ + + + + gfxboot + Grafik açılış logosu oluşturma araçları + Grub, syslinux ve lilo gibi önyükleyiciler için grafik açılış logoları oluşturma araçları. Mimari bazlı açılış menüsü, gelişmiş yardım menüsü, farklı diller için klavye haritası desteği, hareketli görüntü desteği ve daha pek çok görsel efekt desteği içerir. + + diff --git a/system/boot/gfxtheme-pisilinux-install/actions.py b/system/boot/gfxtheme-pisilinux-install/actions.py new file mode 100644 index 0000000000..bf8ca30edb --- /dev/null +++ b/system/boot/gfxtheme-pisilinux-install/actions.py @@ -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/copyleft/gpl.txt. + +from pisi.actionsapi import autotools +from pisi.actionsapi import pisitools +from pisi.actionsapi import get + +datadir = "/usr/share/gfxtheme/pisilinux" + +def build(): + autotools.make('PRODUCT="PisiLinux"') + +def install(): + pisitools.insinto(datadir, "bootlogo.dir", "install") + pisitools.insinto(datadir, "bootlogo", "install") + diff --git a/system/boot/gfxtheme-pisilinux-install/files/chmod-t.patch b/system/boot/gfxtheme-pisilinux-install/files/chmod-t.patch new file mode 100644 index 0000000000..01be3e8aa8 --- /dev/null +++ b/system/boot/gfxtheme-pisilinux-install/files/chmod-t.patch @@ -0,0 +1,11 @@ +--- Makefile~ 2013-04-06 23:49:41.000000000 +0200 ++++ Makefile 2014-02-26 19:21:51.000000000 +0100 +@@ -57,7 +57,7 @@ + ifdef DEFAULT_LANG + @echo $(DEFAULT_LANG) >bootlogo.dir/lang + endif +- @sh -c 'cd bootlogo.dir; chmod +t * ; chmod -t init languages' ++ @sh -c 'cd bootlogo.dir; chmod +t * ; chmod -t init languages gfxboot.cfg pabout.txt lang' + @sh -c 'cd bootlogo.dir; echo * | sed -e "s/ /\n/g" | cpio --quiet -o >../bootlogo' + + clean: diff --git a/system/boot/gfxtheme-pisilinux-install/pspec.xml b/system/boot/gfxtheme-pisilinux-install/pspec.xml new file mode 100644 index 0000000000..210cc82bda --- /dev/null +++ b/system/boot/gfxtheme-pisilinux-install/pspec.xml @@ -0,0 +1,62 @@ + + + + + gfxtheme-pisilinux-install + www.pisilinux.org + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + data + Pisi Linux gfxboot install theme + Gfxtheme install package for Pisi Linux + http://source.pisilinux.org/1.0/gfxtheme-pisilinux-install-0.2.tar.xz + + gfxboot + fribidi-devel + + + chmod-t.patch + + + + + gfxtheme-pisilinux-install + + /usr/share/gfxtheme/pisilinux/install + + + + + + 2014-08-04 + 0.2 + Version bump. + Serdar Soytetir + kaptan@pisilinux.org + + + 2014-06-14 + 0.1 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-02-23 + 0.1 + Rebuild. + Kamil Atlı + suvarice@gmail.com + + + 2013-04-06 + 0.1 + First release. + Serdar Soytetir + kaptan@pisilinux.org + + + diff --git a/system/boot/gfxtheme-pisilinux-install/translations.xml b/system/boot/gfxtheme-pisilinux-install/translations.xml new file mode 100644 index 0000000000..6554f382d3 --- /dev/null +++ b/system/boot/gfxtheme-pisilinux-install/translations.xml @@ -0,0 +1,8 @@ + + + + gfxtheme-pisilinux-install + Pisi Linux gfxboot teması + Kurulum sistemi ve kurulu sistem için Pisi Linux gfxboot teması. + + From 30673b5a562a8d29824b53eb06e88e3274c611be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ertu=C4=9Frul=20Erata?= Date: Wed, 5 Aug 2015 16:24:21 +0300 Subject: [PATCH 3/3] memtest86 in main --- system/boot/memtest86/actions.py | 30 +++++++++ system/boot/memtest86/files/linkonce.patch | 11 ++++ .../memtest86/files/no-hardcoded-cc.patch | 30 +++++++++ system/boot/memtest86/pspec.xml | 62 +++++++++++++++++++ system/boot/memtest86/translations.xml | 9 +++ 5 files changed, 142 insertions(+) create mode 100644 system/boot/memtest86/actions.py create mode 100644 system/boot/memtest86/files/linkonce.patch create mode 100644 system/boot/memtest86/files/no-hardcoded-cc.patch create mode 100644 system/boot/memtest86/pspec.xml create mode 100644 system/boot/memtest86/translations.xml diff --git a/system/boot/memtest86/actions.py b/system/boot/memtest86/actions.py new file mode 100644 index 0000000000..aa6d6a3519 --- /dev/null +++ b/system/boot/memtest86/actions.py @@ -0,0 +1,30 @@ +#!/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 + +WorkDir = "%s+-%s" % (get.srcNAME(), get.srcVERSION()) +docompile = False if get.ARCH() == "x86_64" else True + +def setup(): + pisitools.dosed("memtest.lds", "0x5000", "0x100000") + +def build(): + if docompile: + autotools.make() + +def install(): + if docompile: + finalbin = "memtest.bin" + else: + finalbin = "precomp.bin" + + pisitools.insinto("/boot", finalbin, "memtest") + + pisitools.dodoc("FAQ", "README*") + diff --git a/system/boot/memtest86/files/linkonce.patch b/system/boot/memtest86/files/linkonce.patch new file mode 100644 index 0000000000..561df2b66d --- /dev/null +++ b/system/boot/memtest86/files/linkonce.patch @@ -0,0 +1,11 @@ +diff -ur memtest86+-1.70.orig/memtest_shared.lds memtest86+-1.70/memtest_shared.lds +--- memtest86+-1.70.orig/memtest_shared.lds 2006-12-27 02:33:06.000000000 +0100 ++++ memtest86+-1.70/memtest_shared.lds 2007-01-25 16:34:19.000000000 +0100 +@@ -8,6 +8,7 @@ + _start = .; + *(.text) + *(.text.*) ++ *(.gnu.linkonce.t.*) + *(.plt) + _etext = . ; + } = 0x9090 diff --git a/system/boot/memtest86/files/no-hardcoded-cc.patch b/system/boot/memtest86/files/no-hardcoded-cc.patch new file mode 100644 index 0000000000..ed0705c615 --- /dev/null +++ b/system/boot/memtest86/files/no-hardcoded-cc.patch @@ -0,0 +1,30 @@ +diff -Naurp memtest86+-4.10-orig/Makefile memtest86+-4.10/Makefile +--- memtest86+-4.10-orig/Makefile 2010-06-24 00:27:22.864634431 +0200 ++++ memtest86+-4.10/Makefile 2010-06-24 00:28:42.402478590 +0200 +@@ -8,10 +8,9 @@ + # + FDISK=/dev/fd0 + +-AS=as -32 +-CC=gcc +- +-CFLAGS= -Wall -march=i486 -m32 -O2 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC -fno-stack-protector ++CFLAGS=-Wall -march=i486 -m32 -O2 -fomit-frame-pointer -fno-builtin -ffreestanding -fPIC -fno-stack-protector ++CPPFLAGS=-m32 ++ASFLAGS=-32 + + OBJS= head.o reloc.o main.o test.o init.o lib.o patn.o screen_buffer.o \ + config.o linuxbios.o memsize.o pci.o controller.o random.o spd.o \ +@@ -47,10 +46,10 @@ memtest.bin: memtest_shared.bin bootsect + memtest_shared.bin -o memtest.bin + + reloc.o: reloc.c +- $(CC) -c $(CFLAGS) -fno-strict-aliasing reloc.c ++ $(CC) -c $(CFLAGS) -fno-strict-aliasing -fno-stack-protector reloc.c + + test.o: test.c +- $(CC) -c -Wall -march=i486 -m32 -Os -fomit-frame-pointer -fno-builtin -ffreestanding test.c ++ $(CC) -c -Wall -march=i486 -m32 -O1 -fomit-frame-pointer -fno-builtin -ffreestanding -fno-stack-protector -fno-pie -nopie test.c + + clean: + rm -f *.o *.s *.iso memtest.bin memtest memtest_shared memtest_shared.bin diff --git a/system/boot/memtest86/pspec.xml b/system/boot/memtest86/pspec.xml new file mode 100644 index 0000000000..f0d39e23be --- /dev/null +++ b/system/boot/memtest86/pspec.xml @@ -0,0 +1,62 @@ + + + + + memtest86 + http://www.memtest.org/ + + PisiLinux Community + admins@pisilinux.org + + GPLv2 + app:console + Memory tester + Memory tester for x86 and x86_64 devices for x86 and 64bit x86 compatible computers. It should be started from boot menu. + http://www.memtest.org/download/5.01/memtest86+-5.01.tar.gz + + + + + + + + + + memtest86 + + /boot + /usr/share/doc + + + + + + 2015-01-27 + 5.01 + Version bump. + Stefan Gronewold(groni) + groni@pisilinux.org + + + 2014-06-14 + 4.20 + Release bump. + Alihan Öztürk + alihan@pisilinux.org + + + 2014-03-10 + 4.20 + Rebuild + Varol Maksutoğlu + waroi@pisilinux.org + + + 2012-09-24 + 4.20 + First release + Erdem Artan + admins@pisilinux.org + + + diff --git a/system/boot/memtest86/translations.xml b/system/boot/memtest86/translations.xml new file mode 100644 index 0000000000..a921e183fe --- /dev/null +++ b/system/boot/memtest86/translations.xml @@ -0,0 +1,9 @@ + + + + memtest86 + Bellek test edici + x86 ve 64bit x86 mimarilerindeki bilgisayarın belleklerini test etmeye ve hataları bulmaya yaran bir program. Kullanmak için açılış menüsünden çalıştırmanız gerekmektedir. + Testeur de mémoire pour architecture x86 et x86_64 pour ordinateurs x86 et 64 bit x86 compatibles. Il doit être lancer depuis le menu de démarrage. + +