Merge branch 'r1-beta1-fixes'
Conflicts: dom0/qvm-core/qubes.py version_dom0 version_vm
This commit is contained in:
commit
986f4a888c
22
Makefile
22
Makefile
@ -1,11 +1,13 @@
|
|||||||
RPMS_DIR=rpm/
|
RPMS_DIR=rpm/
|
||||||
|
|
||||||
VERSION_DOM0 := $(shell cat version_dom0)
|
VERSION_DOM0 := $(shell cat version_dom0)
|
||||||
|
VERSION_VAIO_FIXES := $(shell cat version_vaio_fixes)
|
||||||
VERSION_VM := $(shell cat version_vm)
|
VERSION_VM := $(shell cat version_vm)
|
||||||
|
|
||||||
help:
|
help:
|
||||||
@echo "make rpms -- generate binary rpm packages"
|
@echo "make rpms -- generate binary rpm packages"
|
||||||
@echo "make update-repo-current -- copy newly generated rpms to qubes yum repo"
|
@echo "make update-repo-current -- copy newly generated rpms to qubes yum repo"
|
||||||
|
@echo "make update-repo-current-testing -- same, but to -current-testing repo"
|
||||||
@echo "make update-repo-unstable -- same, but to -testing repo"
|
@echo "make update-repo-unstable -- same, but to -testing repo"
|
||||||
@echo "make update-repo-installer -- copy dom0 rpms to installer repo"
|
@echo "make update-repo-installer -- copy dom0 rpms to installer repo"
|
||||||
@echo "make clean -- cleanup"
|
@echo "make clean -- cleanup"
|
||||||
@ -17,17 +19,31 @@ rpms:
|
|||||||
rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-proxyvm.spec
|
rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-proxyvm.spec
|
||||||
rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0.spec
|
rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0.spec
|
||||||
rpm --addsign \
|
rpm --addsign \
|
||||||
$(RPMS_DIR)/x86_64/qubes-core-dom0-*$(VERSION_DOM0)*.rpm \
|
$(RPMS_DIR)/x86_64/qubes-core-dom0-$(VERSION_DOM0)*.rpm \
|
||||||
$(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*.rpm
|
$(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*.rpm
|
||||||
|
|
||||||
|
rpms-vaio-fixes:
|
||||||
|
rpmbuild --define "_rpmdir $(RPMS_DIR)" -bb rpm_spec/core-dom0-vaio-fixes.spec
|
||||||
|
rpm --addsign $(RPMS_DIR)/x86_64/qubes-core-dom0-vaio-fixes-$(VERSION_VAIO_FIXES)*.rpm
|
||||||
|
|
||||||
update-repo-current:
|
update-repo-current:
|
||||||
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-*$(VERSION_DOM0)*fc13*.rpm ../yum/current-release/current/dom0/rpm/
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-$(VERSION_DOM0)*fc13*.rpm ../yum/current-release/current/dom0/rpm/
|
||||||
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-vaio-fixes-$(VERSION_VAIO_FIXES)*fc13*.rpm ../yum/current-release/current/dom0/rpm/
|
||||||
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc13*.rpm ../yum/current-release/current/vm/f13/rpm/
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc13*.rpm ../yum/current-release/current/vm/f13/rpm/
|
||||||
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc14*.rpm ../yum/current-release/current/vm/f14/rpm/
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc14*.rpm ../yum/current-release/current/vm/f14/rpm/
|
||||||
cd ../yum && ./update_repo.sh
|
cd ../yum && ./update_repo.sh
|
||||||
|
|
||||||
|
update-repo-current-testing:
|
||||||
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-$(VERSION_DOM0)*fc13*.rpm ../yum/current-release/current-testing/dom0/rpm/
|
||||||
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-vaio-fixes-$(VERSION_VAIO_FIXES)*fc13*.rpm ../yum/current-release/current-testing/dom0/rpm/
|
||||||
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc13*.rpm ../yum/current-release/current-testing/vm/f13/rpm/
|
||||||
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc14*.rpm ../yum/current-release/current-testing/vm/f14/rpm/
|
||||||
|
cd ../yum && ./update_repo.sh
|
||||||
|
|
||||||
|
|
||||||
update-repo-unstable:
|
update-repo-unstable:
|
||||||
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-*$(VERSION_DOM0)*fc13*.rpm ../yum/current-release/unstable/dom0/rpm/
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-$(VERSION_DOM0)*fc13*.rpm ../yum/current-release/unstable/dom0/rpm/
|
||||||
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-dom0-vaio-fixes-$(VERSION_VAIO_FIXES)*fc13*.rpm ../yum/current-release/unstable/dom0/rpm/
|
||||||
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc13*.rpm ../yum/current-release/unstable/vm/f13/rpm/
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc13*.rpm ../yum/current-release/unstable/vm/f13/rpm/
|
||||||
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc14*.rpm ../yum/current-release/unstable/vm/f14/rpm/
|
ln -f $(RPMS_DIR)/x86_64/qubes-core-*vm-*$(VERSION_VM)*fc14*.rpm ../yum/current-release/unstable/vm/f14/rpm/
|
||||||
cd ../yum && ./update_repo.sh
|
cd ../yum && ./update_repo.sh
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
CC=gcc
|
CC=gcc
|
||||||
CFLAGS=-g -Wall -I../common
|
CFLAGS=-g -Wall -I../common -fPIC -pie
|
||||||
all: dvm_file_editor qfile-agent-dvm qfile-agent qfile-unpacker
|
all: dvm_file_editor qfile-agent-dvm qfile-agent qfile-unpacker
|
||||||
dvm_file_editor: dvm_file_editor.o ../common/ioall.o
|
dvm_file_editor: dvm_file_editor.o ../common/ioall.o
|
||||||
$(CC) -g -o dvm_file_editor dvm_file_editor.o ../common/ioall.o
|
$(CC) -pie -g -o dvm_file_editor dvm_file_editor.o ../common/ioall.o
|
||||||
qfile-agent-dvm: qfile-agent-dvm.o ../common/ioall.o ../common/gui-fatal.o
|
qfile-agent-dvm: qfile-agent-dvm.o ../common/ioall.o ../common/gui-fatal.o
|
||||||
$(CC) -g -o qfile-agent-dvm qfile-agent-dvm.o ../common/ioall.o ../common/gui-fatal.o
|
$(CC) -pie -g -o qfile-agent-dvm qfile-agent-dvm.o ../common/ioall.o ../common/gui-fatal.o
|
||||||
qfile-agent: qfile-agent.o ../common/ioall.o ../common/gui-fatal.o copy_file.o
|
qfile-agent: qfile-agent.o ../common/ioall.o ../common/gui-fatal.o copy_file.o
|
||||||
$(CC) -g -o qfile-agent qfile-agent.o ../common/ioall.o ../common/gui-fatal.o copy_file.o
|
$(CC) -pie -g -o qfile-agent qfile-agent.o ../common/ioall.o ../common/gui-fatal.o copy_file.o
|
||||||
qfile-unpacker: qfile-unpacker.o ../common/ioall.o ../common/gui-fatal.o copy_file.o unpack.o
|
qfile-unpacker: qfile-unpacker.o ../common/ioall.o ../common/gui-fatal.o copy_file.o unpack.o
|
||||||
$(CC) -g -o qfile-unpacker qfile-unpacker.o ../common/ioall.o ../common/gui-fatal.o copy_file.o unpack.o
|
$(CC) -pie -g -o qfile-unpacker qfile-unpacker.o ../common/ioall.o ../common/gui-fatal.o copy_file.o unpack.o
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f qfile-agent-dvm qfile-agent qfile-unpacker dvm_file_editor *.o *~
|
rm -f qfile-agent-dvm qfile-agent qfile-unpacker dvm_file_editor *.o *~
|
||||||
|
@ -4,6 +4,13 @@ baseurl = http://yum.qubes-os.org/r1-beta1/current/vm/f13
|
|||||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
||||||
gpgcheck = 1
|
gpgcheck = 1
|
||||||
|
|
||||||
|
[qubes-vm-current-testing]
|
||||||
|
name = Qubes OS Repository for VM (updates-testing)
|
||||||
|
baseurl = http://yum.qubes-os.org/r1-beta1/current-testing/vm/f13
|
||||||
|
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
||||||
|
gpgcheck = 1
|
||||||
|
enabled=0
|
||||||
|
|
||||||
[qubes-vm-unstable]
|
[qubes-vm-unstable]
|
||||||
name = Qubes OS Repository for VM (unstable)
|
name = Qubes OS Repository for VM (unstable)
|
||||||
baseurl = http://yum.qubes-os.org/r1-beta1/unstable/vm/f13
|
baseurl = http://yum.qubes-os.org/r1-beta1/unstable/vm/f13
|
||||||
|
@ -4,6 +4,13 @@ baseurl = http://yum.qubes-os.org/r1-beta1/current/vm/f14
|
|||||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
||||||
gpgcheck = 1
|
gpgcheck = 1
|
||||||
|
|
||||||
|
[qubes-vm-current-testing]
|
||||||
|
name = Qubes OS Repository for VM (updates-testing)
|
||||||
|
baseurl = http://yum.qubes-os.org/r1-beta1/current-testing/vm/f14
|
||||||
|
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
||||||
|
gpgcheck = 1
|
||||||
|
enabled=0
|
||||||
|
|
||||||
[qubes-vm-unstable]
|
[qubes-vm-unstable]
|
||||||
name = Qubes OS Repository for VM (unstable)
|
name = Qubes OS Repository for VM (unstable)
|
||||||
baseurl = http://yum.qubes-os.org/r1-beta1/unstable/vm/f14
|
baseurl = http://yum.qubes-os.org/r1-beta1/unstable/vm/f14
|
||||||
|
@ -13,11 +13,14 @@ trap 'exit 0' SIGTERM
|
|||||||
while true; do
|
while true; do
|
||||||
NET_DOMID=$(/usr/bin/xenstore-read qubes_netvm_domid)
|
NET_DOMID=$(/usr/bin/xenstore-read qubes_netvm_domid)
|
||||||
if [[ -n "$NET_DOMID" ]] && [[ $NET_DOMID -gt 0 ]]; then
|
if [[ -n "$NET_DOMID" ]] && [[ $NET_DOMID -gt 0 ]]; then
|
||||||
NETCFG=$(/usr/bin/xenstore-read /local/domain/$NET_DOMID/qubes_netvm_external_ip)
|
UNTRUSTED_NETCFG=$(/usr/bin/xenstore-read /local/domain/$NET_DOMID/qubes_netvm_external_ip)
|
||||||
if [[ "$NETCFG" != "$CURR_NETCFG" ]]; then
|
# UNTRUSTED_NETCFG is not parsed in any way
|
||||||
|
# thus, no sanitization ready
|
||||||
|
# but be careful when passing it to other shell scripts
|
||||||
|
if [[ "$UNTRUSTED_NETCFG" != "$CURR_NETCFG" ]]; then
|
||||||
/sbin/service qubes_firewall stop
|
/sbin/service qubes_firewall stop
|
||||||
/sbin/service qubes_firewall start
|
/sbin/service qubes_firewall start
|
||||||
CURR_NETCFG="$NETCFG"
|
CURR_NETCFG="$UNTRUSTED_NETCFG"
|
||||||
/usr/bin/xenstore-write qubes_netvm_external_ip "$CURR_NETCFG"
|
/usr/bin/xenstore-write qubes_netvm_external_ip "$CURR_NETCFG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
CC=gcc
|
CC=gcc
|
||||||
CFLAGS+=-g -Wall -I../vchan -I../common
|
CFLAGS+=-g -Wall -I../vchan -I../common -pie -fPIC
|
||||||
XENLIBS=-lvchan -lu2mfn -lxenstore -lxenctrl
|
XENLIBS=-lvchan -lu2mfn -lxenstore -lxenctrl
|
||||||
COMMONIOALL=../common/ioall.o
|
COMMONIOALL=../common/ioall.o
|
||||||
|
|
||||||
all: qrexec_daemon qrexec_agent qrexec_client
|
all: qrexec_daemon qrexec_agent qrexec_client
|
||||||
qrexec_daemon: qrexec_daemon.o unix_server.o $(COMMONIOALL) txrx-vchan.o buffer.o write_stdin.o
|
qrexec_daemon: qrexec_daemon.o unix_server.o $(COMMONIOALL) txrx-vchan.o buffer.o write_stdin.o
|
||||||
$(CC) -L../vchan -L../u2mfn -g -o qrexec_daemon qrexec_daemon.o unix_server.o $(COMMONIOALL) txrx-vchan.o write_stdin.o buffer.o $(XENLIBS)
|
$(CC) -pie -L../vchan -L../u2mfn -g -o qrexec_daemon qrexec_daemon.o unix_server.o $(COMMONIOALL) txrx-vchan.o write_stdin.o buffer.o $(XENLIBS)
|
||||||
qrexec_agent: qrexec_agent.o exec.o txrx-vchan.o write_stdin.o buffer.o $(COMMONIOALL)
|
qrexec_agent: qrexec_agent.o exec.o txrx-vchan.o write_stdin.o buffer.o $(COMMONIOALL)
|
||||||
$(CC) -L../vchan -L../u2mfn -g -o qrexec_agent qrexec_agent.o exec.o txrx-vchan.o write_stdin.o buffer.o $(COMMONIOALL) $(XENLIBS)
|
$(CC) -pie -L../vchan -L../u2mfn -g -o qrexec_agent qrexec_agent.o exec.o txrx-vchan.o write_stdin.o buffer.o $(COMMONIOALL) $(XENLIBS)
|
||||||
qrexec_client: qrexec_client.o $(COMMONIOALL) exec.o
|
qrexec_client: qrexec_client.o $(COMMONIOALL) exec.o
|
||||||
$(CC) -g -o qrexec_client qrexec_client.o $(COMMONIOALL) exec.o
|
$(CC) -pie -g -o qrexec_client qrexec_client.o $(COMMONIOALL) exec.o
|
||||||
clean:
|
clean:
|
||||||
rm -f *.o *~ qrexec_daemon qrexec_agent qrexec_client
|
rm -f *.o *~ qrexec_daemon qrexec_agent qrexec_client
|
||||||
|
@ -51,6 +51,8 @@ struct _client_info {
|
|||||||
int stdout_fd;
|
int stdout_fd;
|
||||||
int stderr_fd;
|
int stderr_fd;
|
||||||
|
|
||||||
|
int exit_status;
|
||||||
|
int is_exited;
|
||||||
int pid;
|
int pid;
|
||||||
int is_blocked;
|
int is_blocked;
|
||||||
int is_close_after_flush_needed;
|
int is_close_after_flush_needed;
|
||||||
@ -169,6 +171,8 @@ void handle_exec(int client_id, int len)
|
|||||||
client_info[client_id].stdin_fd = stdin_fd;
|
client_info[client_id].stdin_fd = stdin_fd;
|
||||||
client_info[client_id].stdout_fd = stdout_fd;
|
client_info[client_id].stdout_fd = stdout_fd;
|
||||||
client_info[client_id].stderr_fd = stderr_fd;
|
client_info[client_id].stderr_fd = stderr_fd;
|
||||||
|
client_info[client_id].exit_status = 0;
|
||||||
|
client_info[client_id].is_exited = 0;
|
||||||
client_info[client_id].pid = pid;
|
client_info[client_id].pid = pid;
|
||||||
client_info[client_id].is_blocked = 0;
|
client_info[client_id].is_blocked = 0;
|
||||||
client_info[client_id].is_close_after_flush_needed = 0;
|
client_info[client_id].is_close_after_flush_needed = 0;
|
||||||
@ -233,6 +237,18 @@ void remove_process(int client_id, int status)
|
|||||||
update_max_process_fd();
|
update_max_process_fd();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// remove process not immediately after it has exited, but after its stdout and stderr has been drained
|
||||||
|
// previous method implemented in flush_out_err was broken - it cannot work when peer signalled it is blocked
|
||||||
|
void possibly_remove_process(int client_id)
|
||||||
|
{
|
||||||
|
if (client_info[client_id].stdout_fd == -1 &&
|
||||||
|
client_info[client_id].stderr_fd == -1 &&
|
||||||
|
client_info[client_id].is_exited)
|
||||||
|
remove_process(client_id,
|
||||||
|
client_info[client_id].exit_status);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void handle_input(int client_id, int len)
|
void handle_input(int client_id, int len)
|
||||||
{
|
{
|
||||||
char buf[len];
|
char buf[len];
|
||||||
@ -243,8 +259,8 @@ void handle_input(int client_id, int len)
|
|||||||
|
|
||||||
if (len == 0) {
|
if (len == 0) {
|
||||||
if (client_info[client_id].is_blocked)
|
if (client_info[client_id].is_blocked)
|
||||||
client_info[client_id].
|
client_info[client_id].is_close_after_flush_needed
|
||||||
is_close_after_flush_needed = 1;
|
= 1;
|
||||||
else {
|
else {
|
||||||
close(client_info[client_id].stdin_fd);
|
close(client_info[client_id].stdin_fd);
|
||||||
client_info[client_id].stdin_fd = -1;
|
client_info[client_id].stdin_fd = -1;
|
||||||
@ -339,11 +355,18 @@ void handle_process_data(int fd)
|
|||||||
write_all_vchan_ext(buf, ret);
|
write_all_vchan_ext(buf, ret);
|
||||||
}
|
}
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
|
int client_id = process_fd[fd].client_id;
|
||||||
|
if (process_fd[fd].type == FDTYPE_STDOUT)
|
||||||
|
client_info[client_id].stdout_fd = -1;
|
||||||
|
else
|
||||||
|
client_info[client_id].stderr_fd = -1;
|
||||||
|
|
||||||
process_fd[fd].type = FDTYPE_INVALID;
|
process_fd[fd].type = FDTYPE_INVALID;
|
||||||
process_fd[fd].client_id = -1;
|
process_fd[fd].client_id = -1;
|
||||||
process_fd[fd].is_blocked = 0;
|
process_fd[fd].is_blocked = 0;
|
||||||
close(fd);
|
close(fd);
|
||||||
update_max_process_fd();
|
update_max_process_fd();
|
||||||
|
possibly_remove_process(client_id);
|
||||||
}
|
}
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
remove_process(process_fd[fd].client_id, 127);
|
remove_process(process_fd[fd].client_id, 127);
|
||||||
@ -376,39 +399,6 @@ void handle_process_data_all(fd_set * select_fds)
|
|||||||
handle_process_data(i);
|
handle_process_data(i);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void flush_out_err(int client_id)
|
|
||||||
{
|
|
||||||
fd_set select_set;
|
|
||||||
int fd_max = -1;
|
|
||||||
int i;
|
|
||||||
int ret;
|
|
||||||
struct timeval tv;
|
|
||||||
for (;;) {
|
|
||||||
FD_ZERO(&select_set);
|
|
||||||
for (i = 0; i <= max_process_fd; i++) {
|
|
||||||
if (process_fd[i].type != FDTYPE_INVALID
|
|
||||||
&& !process_fd[i].is_blocked
|
|
||||||
&& process_fd[i].client_id == client_id) {
|
|
||||||
FD_SET(i, &select_set);
|
|
||||||
fd_max = i;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (fd_max == -1)
|
|
||||||
return;
|
|
||||||
tv.tv_sec = 0;
|
|
||||||
tv.tv_usec = 0;
|
|
||||||
ret = select(fd_max + 1, &select_set, NULL, NULL, &tv);
|
|
||||||
if (ret < 0 && errno != EINTR) {
|
|
||||||
perror("select");
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
if (!ret)
|
|
||||||
return;
|
|
||||||
handle_process_data_all(&select_set);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void reap_children()
|
void reap_children()
|
||||||
{
|
{
|
||||||
int status;
|
int status;
|
||||||
@ -418,8 +408,9 @@ void reap_children()
|
|||||||
client_id = find_info(pid);
|
client_id = find_info(pid);
|
||||||
if (client_id < 0)
|
if (client_id < 0)
|
||||||
continue;
|
continue;
|
||||||
flush_out_err(client_id);
|
client_info[client_id].is_exited = 1;
|
||||||
remove_process(client_id, status);
|
client_info[client_id].exit_status = status;
|
||||||
|
possibly_remove_process(client_id);
|
||||||
}
|
}
|
||||||
child_exited = 0;
|
child_exited = 0;
|
||||||
}
|
}
|
||||||
|
46
rpm_spec/core-dom0-vaio-fixes.spec
Normal file
46
rpm_spec/core-dom0-vaio-fixes.spec
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
%{!?version: %define version %(cat version_vaio_fixes)}
|
||||||
|
|
||||||
|
Name: qubes-core-dom0-vaio-fixes
|
||||||
|
Version: %{version}
|
||||||
|
Release: 1%{?dist}
|
||||||
|
Summary: Additional scripts for supporting suspend on Vaio Z laptops
|
||||||
|
Requires: alsa-utils
|
||||||
|
|
||||||
|
Group: Qubes
|
||||||
|
Vendor: Invisible Things Lab
|
||||||
|
License: GPL
|
||||||
|
URL: http://www.qubes-os.org
|
||||||
|
|
||||||
|
%define _builddir %(pwd)/dom0
|
||||||
|
|
||||||
|
%description
|
||||||
|
Additional scripts for supporting suspend on Vaio Z laptops.
|
||||||
|
|
||||||
|
Due to broken Linux GPU drivers we need to do some additional actions during
|
||||||
|
suspend/resume.
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d
|
||||||
|
cp vaio_fixes/00sony-vaio-audio $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
||||||
|
cp vaio_fixes/99sony-vaio-audio $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
||||||
|
cp vaio_fixes/01sony-vaio-display $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
||||||
|
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d/
|
||||||
|
cp vaio_fixes/snd-hda-intel-sony-vaio.conf $RPM_BUILD_ROOT/etc/modprobe.d/
|
||||||
|
|
||||||
|
%post
|
||||||
|
grubby --update-kernel=/boot/vmlinuz-2.6.34.1-14.xenlinux.qubes.x86_64 --args="i8042.nopnp=1"
|
||||||
|
|
||||||
|
%triggerin -- kernel
|
||||||
|
grubby --update-kernel=/boot/vmlinuz-2.6.34.1-14.xenlinux.qubes.x86_64 --args="i8042.nopnp=1"
|
||||||
|
|
||||||
|
%postun
|
||||||
|
if [ "$1" = 0 ] ; then
|
||||||
|
# no more packages left
|
||||||
|
grubby --update-kernel=/boot/vmlinuz-2.6.34.1-14.xenlinux.qubes.x86_64 --remove-args="i8042.nopnp=1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
%files
|
||||||
|
/usr/lib64/pm-utils/sleep.d/00sony-vaio-audio
|
||||||
|
/usr/lib64/pm-utils/sleep.d/99sony-vaio-audio
|
||||||
|
/usr/lib64/pm-utils/sleep.d/01sony-vaio-display
|
||||||
|
/etc/modprobe.d/snd-hda-intel-sony-vaio.conf
|
@ -127,13 +127,6 @@ cp pm-utils/01qubes-sync-vms-clock $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
|||||||
cp pm-utils/01qubes-suspend-netvm $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
cp pm-utils/01qubes-suspend-netvm $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
||||||
cp pm-utils/02qubes-pause-vms $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
cp pm-utils/02qubes-pause-vms $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
||||||
|
|
||||||
# Optional scripts for Vaio (they go into separate package)
|
|
||||||
cp vaio_fixes/00sony-vaio-audio $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
|
||||||
cp vaio_fixes/99sony-vaio-audio $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
|
||||||
cp vaio_fixes/01sony-vaio-display $RPM_BUILD_ROOT/usr/lib64/pm-utils/sleep.d/
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d/
|
|
||||||
cp vaio_fixes/snd-hda-intel-sony-vaio.conf $RPM_BUILD_ROOT/etc/modprobe.d/
|
|
||||||
|
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/log/qubes
|
mkdir -p $RPM_BUILD_ROOT/var/log/qubes
|
||||||
mkdir -p $RPM_BUILD_ROOT/var/run/qubes
|
mkdir -p $RPM_BUILD_ROOT/var/run/qubes
|
||||||
|
|
||||||
@ -298,25 +291,3 @@ fi
|
|||||||
%{_libdir}/libu2mfn.so
|
%{_libdir}/libu2mfn.so
|
||||||
/etc/sudoers.d/qubes
|
/etc/sudoers.d/qubes
|
||||||
/etc/xdg/autostart/qubes-guid.desktop
|
/etc/xdg/autostart/qubes-guid.desktop
|
||||||
|
|
||||||
%package vaio-fixes
|
|
||||||
Summary: Additional scripts for supporting suspend on Vaio Z laptops
|
|
||||||
Requires: alsa-utils
|
|
||||||
|
|
||||||
%post vaio-fixes
|
|
||||||
grubby --update-kernel=/boot/vmlinuz-2.6.34.1-14.xenlinux.qubes.x86_64 --args="i8042.nopnp=1"
|
|
||||||
|
|
||||||
%postun vaio-fixes
|
|
||||||
grubby --update-kernel=/boot/vmlinuz-2.6.34.1-14.xenlinux.qubes.x86_64 --remove-args="i8042.nopnp=1"
|
|
||||||
|
|
||||||
%description vaio-fixes
|
|
||||||
Additional scripts for supporting suspend on Vaio Z laptops.
|
|
||||||
|
|
||||||
Due to broken Linux GPU drivers we need to do some additional actions during
|
|
||||||
suspend/resume.
|
|
||||||
|
|
||||||
%files vaio-fixes
|
|
||||||
/usr/lib64/pm-utils/sleep.d/00sony-vaio-audio
|
|
||||||
/usr/lib64/pm-utils/sleep.d/99sony-vaio-audio
|
|
||||||
/usr/lib64/pm-utils/sleep.d/01sony-vaio-display
|
|
||||||
/etc/modprobe.d/snd-hda-intel-sony-vaio.conf
|
|
||||||
|
1
version_vaio_fixes
Normal file
1
version_vaio_fixes
Normal file
@ -0,0 +1 @@
|
|||||||
|
1.5.25
|
Loading…
Reference in New Issue
Block a user