add needed package part-1
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
<PISI>
|
||||
<Name>hardware.cpu</Name>
|
||||
</PISI>
|
||||
@@ -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/*")
|
||||
@@ -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.
|
||||
@@ -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 <kay.sievers@vrfy.org>
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _GNU_SOURCE
|
||||
# define _GNU_SOURCE 1
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <time.h>
|
||||
#include <limits.h>
|
||||
#include <stdbool.h>
|
||||
#include <inttypes.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
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;
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>intel-ucode</Name>
|
||||
<Homepage>http://www.intel.com/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>as-is</License>
|
||||
<IsA>library</IsA>
|
||||
<Summary>Microcode update files for Intel CPUs</Summary>
|
||||
<Description>Microcode update files for Intel CPUs</Description>
|
||||
<Archive sha1sum="638d760b53c94f073d62b334561ae6bc139c8a32" type="targz" target="microcode-20140122">http://downloadmirror.intel.com/23574/eng/microcode-20140122.tgz</Archive>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="intel-microcode2ucode.c">intel-microcode2ucode.c</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>intel-ucode</Name>
|
||||
<Files>
|
||||
<Path fileType="data">/usr/share/doc</Path>
|
||||
<Path fileType="library">/lib/firmware</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile target="/usr/share/doc/intel-ucode/LICENSE" owner="root" permission="0644">LICENSE</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2014-05-06</Date>
|
||||
<Version>20140122</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2014-01-23</Date>
|
||||
<Version>20130906</Version>
|
||||
<Comment>Version Bump</Comment>
|
||||
<Name>Ertuğrul Erata</Name>
|
||||
<Email>ertugrulerata@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-10-01</Date>
|
||||
<Version>20120606</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>intel-ucode</Name>
|
||||
<Summary xml:lang="tr">Intel işlemciler için microcode dosyaları</Summary>
|
||||
<Description xml:lang="tr">Intel işlemciler için microcode dosyaları</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -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")
|
||||
@@ -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")
|
||||
@@ -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=
|
||||
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=irqbalance daemon
|
||||
After=syslog.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>irqbalance</Name>
|
||||
<Homepage>http://www.irqbalance.org</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>service</IsA>
|
||||
<Summary>Distribute hardware interrupts across processors</Summary>
|
||||
<Description>Daemon to balance IRQs across multiple CPUs on systems.This can lead to better performance and I/O balance on SMP systems.</Description>
|
||||
<!--<Archive sha1sum="01ad859a1eb0266e4ccbcffd7990a729c2befedb" type="tarbz2">http://pkgs.fedoraproject.org/repo/pkgs/irqbalance/irqbalance-1.0.4.tar.bz2/f7ca283c46331db73f27e686a643dcfb/irqbalance-1.0.4.tar.bz2</Archive>-->
|
||||
<Archive sha1sum="29b92a17d71b35966811ac3229bbb199bf53cd83" type="tarbz2">http://pkgs.fedoraproject.org/repo/pkgs/irqbalance/irqbalance-1.0.7.tar.bz2/09cb0ab81ab4f3401a7ff5dabc158a1e/irqbalance-1.0.7.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>numactl-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>irqbalance</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>numactl</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="executable">/usr/sbin</Path>
|
||||
<Path fileType="data">/lib/systemd/system</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0644" target="/etc/conf.d/irqbalance">irqbalance.confd</AdditionalFile>
|
||||
<AdditionalFile owner="root" permission="0644" target="/lib/systemd/system/irqbalance.service">irqbalance.service</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
<Provides>
|
||||
<COMAR script="service.py">System.Service</COMAR>
|
||||
</Provides>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2014-06-06</Date>
|
||||
<Version>1.0.7</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Aydın Demirel</Name>
|
||||
<Email>aydin.demirel@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2014-01-26</Date>
|
||||
<Version>1.0.4</Version>
|
||||
<Comment>Rebuild with new Download Area</Comment>
|
||||
<Name>Stefan Gronewold(groni)</Name>
|
||||
<Email>groni@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-10-01</Date>
|
||||
<Version>1.0.4</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>irqbalance</Name>
|
||||
<Summary xml:lang="tr">Donanım kesmelerini işlemciler arasında dağıtır</Summary>
|
||||
<Description xml:lang="tr">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.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -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())
|
||||
@@ -0,0 +1,61 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>squashfs-tools</Name>
|
||||
<Homepage>http://squashfs.sourceforge.net/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>Userspace tools to create squashfs compressed filesystem</Summary>
|
||||
<Description>Squashfs is a highly compressed read-only filesystem for Linux. This package contains the utilities for manipulating squashfs filesystems.</Description>
|
||||
<Archive sha1sum="e0944471ff68e215d3fecd464f30ea6ceb635fd7" type="targz">http://sourceforge.net/projects/squashfs/files/squashfs/squashfs4.2/squashfs4.2.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>lzo-devel</Dependency>
|
||||
<!--xz-devel is in system.devel-->
|
||||
<Dependency>xz-devel</Dependency>
|
||||
<Dependency>zlib-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>squashfs-tools</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>lzo</Dependency>
|
||||
<!--xz is in system.base-->
|
||||
<Dependency>zlib</Dependency>
|
||||
<Dependency>xz</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="executable">/usr/sbin</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="3">
|
||||
<Date>2014-03-09</Date>
|
||||
<Version>4.2</Version>
|
||||
<Comment>Rebuild</Comment>
|
||||
<Name>Varol Maksutoğlu</Name>
|
||||
<Email>waroi@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="2">
|
||||
<Date>2013-02-12</Date>
|
||||
<Version>4.2</Version>
|
||||
<Comment>Change compression type to xz, and some other enhancements.</Comment>
|
||||
<Name>Serdar Soytetir</Name>
|
||||
<Email>kaptan@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-11-14</Date>
|
||||
<Version>4.2</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>osman.erkan@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>squashfs-tools</Name>
|
||||
<Summary xml:lang="tr">squashfs sıkıştırılmış salt-okunur dosya sistemi oluşturma aracı</Summary>
|
||||
<Description xml:lang="tr">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.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -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())
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# configuration script for encrypted suspend
|
||||
#
|
||||
# (C) 2008 Stefan Seyfried <seife@suse.de> 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 <<EOF
|
||||
We are going to create the key for encrypted suspend now. There are some
|
||||
questions we need to ask for:
|
||||
- Key size.
|
||||
The longer the key, the harder it will be to break the encryption.
|
||||
On the other hand, the longer the key, the more computational power is
|
||||
needed, which means that the suspend and resume will be slightly slower.
|
||||
Nowadays, 1024 bits of key length might be too insecure for some users,
|
||||
the default of 2048 bits should be fine.
|
||||
- Your passphrase. This passphrase protects the generated key. It should
|
||||
be sufficiently long and not easy to guess.
|
||||
This is the password you need to enter to resume from encrypted suspend.
|
||||
To make sure that you did not mistype the passphrase, you need to confirm
|
||||
it by entering it a second time.
|
||||
|
||||
The program will create the key and copy it to /etc/suspend.key, then it
|
||||
will modify /etc/suspend.conf that from now on your suspend to disk image
|
||||
will be encrypted. Note that creating the key might take some time,
|
||||
depending on your machine. You can probably speed it up by using the mouse
|
||||
and generating I/O, e.g. by starting other programs.
|
||||
|
||||
If you do not want to continue, press CTRL-C now.
|
||||
|
||||
EOF
|
||||
# -q suppresses asking for the key file and makes it default
|
||||
# to /etc/suspend.key
|
||||
suspend-keygen -q
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo
|
||||
echo "Something went wrong. Please check above for error messages."
|
||||
echo "/etc/suspend.conf is not modified."
|
||||
echo
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "We successfully generated /etc/suspend.key. Modifying suspend.conf now."
|
||||
|
||||
# backup...
|
||||
cp -a $CONF ${CONF}.backup
|
||||
# remove the encrypt and keyfile entries from the config file.
|
||||
# the key file will default to /etc/suspend.key anyway
|
||||
sed -i '/^encrypt /d;/^RSA key file /d;' $CONF
|
||||
echo "encrypt = y" >> $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
|
||||
|
||||
+16
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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);
|
||||
+102
@@ -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);
|
||||
@@ -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 = <path_to_resume_device_file>
|
||||
+#############################################################################
|
||||
+##
|
||||
+## 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 = <path_to_resume_device_file>
|
||||
+#
|
||||
+## 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
|
||||
@@ -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
|
||||
@@ -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:
|
||||
@@ -0,0 +1,76 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>suspend</Name>
|
||||
<Homepage>http://suspend.sourceforge.net/</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>A set of tools to support sleep modes</Summary>
|
||||
<Description>suspend package allows users to suspend-to-ram, suspend-to-disk, and suspend-to-both.</Description>
|
||||
<Archive sha1sum="49ac219b54780265c31e8263d00e2b7b525d0736" type="tarbz2">http://sourceforge.net/projects/suspend/files/suspend/suspend-1.0/suspend-utils-1.0.tar.bz2</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>lzo-devel</Dependency>
|
||||
<Dependency>pciutils-devel</Dependency>
|
||||
<Dependency>libx86-devel</Dependency>
|
||||
<Dependency>plymouth-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
<Patches>
|
||||
<Patch level="1">suse/suspend-comment-configfile-options.diff</Patch>
|
||||
<Patch level="0">suse/suspend-default-compress.diff</Patch>
|
||||
<Patch level="0">suse/suspend-default-splash.diff</Patch>
|
||||
<Patch level="1">suse/suspend-0.80-dont-return-eintr-on-abort.diff</Patch>
|
||||
<!--Patch level="1">suse/suspend-0.80-fix-s2both-resume-hacks.diff</Patch-->
|
||||
<Patch level="1">suse/suspend-0.80-keygen-new-defaults.diff</Patch>
|
||||
<Patch level="0">suse/suspend-0.80-vbetool-retry-on-errors.diff</Patch>
|
||||
|
||||
<Patch level="1">mandriva/suspend-0.8-printf_format.patch</Patch>
|
||||
<!--<Patch level="1">mandriva/suspend-plymouth.patch</Patch>-->
|
||||
<!--<Patch level="1">mandriva/suspend-plymouth-always-quit.patch</Patch>-->
|
||||
|
||||
<Patch level="1">resume-dont-ask-questions.patch</Patch>
|
||||
<Patch level="1">suppress-outputs.patch</Patch>
|
||||
<!--<Patch level="1">improve-plymouth-support.patch</Patch>-->
|
||||
</Patches>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>suspend</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>lzo</Dependency>
|
||||
<Dependency>libx86</Dependency>
|
||||
<Dependency>plymouth-core-libs</Dependency>
|
||||
<Dependency>pciutils</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc/suspend.conf</Path>
|
||||
<Path fileType="config">/etc/suspend.key</Path>
|
||||
<Path fileType="executable">/usr/sbin</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
</Files>
|
||||
<AdditionalFiles>
|
||||
<AdditionalFile owner="root" permission="0755" target="/usr/sbin/configure-suspend-encryption">suse/configure-suspend-encryption.sh</AdditionalFile>
|
||||
</AdditionalFiles>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="2">
|
||||
<Date>2014-03-09</Date>
|
||||
<Version>1.0</Version>
|
||||
<Comment>Rebuild</Comment>
|
||||
<Name>Varol Maksutoğlu</Name>
|
||||
<Email>waroi@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="1">
|
||||
<Date>2012-12-29</Date>
|
||||
<Version>1.0</Version>
|
||||
<Comment>First release</Comment>
|
||||
<Name>Osman Erkan</Name>
|
||||
<Email>osman.erkan@pisilinux.org</Email>
|
||||
</Update>
|
||||
</History>
|
||||
</PISI>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" ?>
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>suspend</Name>
|
||||
<Summary xml:lang="tr">Uyku kiplerini destekleme araçları</Summary>
|
||||
<Description xml:lang="tr">suspend, kullanıcıların bellek, disk veya her ikisini de kullanarak sistemlerini askıya almalarını sağlayan araçları içerir.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
@@ -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*")
|
||||
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" ?>
|
||||
<!DOCTYPE PISI SYSTEM "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
|
||||
<PISI>
|
||||
<Source>
|
||||
<Name>logrotate</Name>
|
||||
<Homepage>https://fedorahosted.org/releases/l/o/logrotate</Homepage>
|
||||
<Packager>
|
||||
<Name>PisiLinux Community</Name>
|
||||
<Email>admins@pisilinux.org</Email>
|
||||
</Packager>
|
||||
<License>GPLv2</License>
|
||||
<IsA>app:console</IsA>
|
||||
<Summary>Rotates, compresses, removes and emails system log files</Summary>
|
||||
<Description>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.</Description>
|
||||
<Archive sha1sum="e1acb9d15abc0d9f6a4f6e58409e0319e5d41f4e" type="targz">https://fedorahosted.org/releases/l/o/logrotate/logrotate-3.8.8.tar.gz</Archive>
|
||||
<BuildDependencies>
|
||||
<Dependency>popt-devel</Dependency>
|
||||
<Dependency>acl-devel</Dependency>
|
||||
</BuildDependencies>
|
||||
</Source>
|
||||
|
||||
<Package>
|
||||
<Name>logrotate</Name>
|
||||
<RuntimeDependencies>
|
||||
<Dependency>popt</Dependency>
|
||||
<Dependency>acl</Dependency>
|
||||
</RuntimeDependencies>
|
||||
<Files>
|
||||
<Path fileType="config">/etc</Path>
|
||||
<Path fileType="executable">/usr/sbin</Path>
|
||||
<Path fileType="doc">/usr/share/doc</Path>
|
||||
<Path fileType="man">/usr/share/man</Path>
|
||||
</Files>
|
||||
</Package>
|
||||
|
||||
<History>
|
||||
<Update release="4">
|
||||
<Date>2015-01-26</Date>
|
||||
<Version>3.8.8</Version>
|
||||
<Comment>Version bump.</Comment>
|
||||
<Name>Stefan Gronewold(groni)</Name>
|
||||
<Email>groni@pisilinux.org</Email>
|
||||
</Update>
|
||||
<Update release="3" type="critical">
|
||||
<Date>2014-06-18</Date>
|
||||
<Version>3.8.7</Version>
|
||||
<Comment>v.bump</Comment>
|
||||
<Name>Ayhan Yalçınsoy</Name>
|
||||
<Email>ayhanyacinsoy@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="2" type="critical">
|
||||
<Date>2014-03-09</Date>
|
||||
<Version>3.7.9</Version>
|
||||
<Comment>Rebuild.</Comment>
|
||||
<Name>Kamil Atlı</Name>
|
||||
<Email>suvarice@gmail.com</Email>
|
||||
</Update>
|
||||
<Update release="1" type="critical">
|
||||
<Date>2011-09-29</Date>
|
||||
<Version>3.7.9</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>logrotate</Name>
|
||||
<Summary xml:lang="tr">Sistem günlük (log) dosyalarını yönetmeyi kolaylaştıran bir araç</Summary>
|
||||
<Description xml:lang="tr">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.</Description>
|
||||
</Source>
|
||||
</PISI>
|
||||
Reference in New Issue
Block a user