Merge branch 'master' of git.qubes-os.org:/var/lib/qubes/git/marmarek/installer
This commit is contained in:
commit
9f86c6309c
4
Makefile
4
Makefile
@ -24,6 +24,7 @@ RPMBUILD_DEFINES := --define "_rpmdir rpm/" --define "_sourcedir $(TOP)/rpm/SOUR
|
|||||||
|
|
||||||
spec_version = $(shell sed -n '/^Version:/s/.*:[ \t]\+//p' $(1))
|
spec_version = $(shell sed -n '/^Version:/s/.*:[ \t]\+//p' $(1))
|
||||||
package = $(shell \
|
package = $(shell \
|
||||||
|
mkdir -p rpm/SOURCES; \
|
||||||
cd rpm/SOURCES; \
|
cd rpm/SOURCES; \
|
||||||
rm -f $(1)-$(2)*; \
|
rm -f $(1)-$(2)*; \
|
||||||
ln -s ../../$(1) $(1)-$(2); \
|
ln -s ../../$(1) $(1)-$(2); \
|
||||||
@ -98,7 +99,8 @@ iso:
|
|||||||
cp rpm_verify /usr/local/bin/
|
cp rpm_verify /usr/local/bin/
|
||||||
ln -sf `pwd` /tmp/qubes-installer
|
ln -sf `pwd` /tmp/qubes-installer
|
||||||
revisor --cli --config=conf/qubes-install.conf --model=qubes-x86_64 --install-dvd
|
revisor --cli --config=conf/qubes-install.conf --model=qubes-x86_64 --install-dvd
|
||||||
rpm_verify build/work/revisor-install/R1-*/qubes-x86_64/x86_64/os/Packages/*.rpm
|
isohybrid build/ISO/qubes-x86_64/iso/*.iso
|
||||||
|
rpm_verify build/work/revisor-install/R?-*/qubes-x86_64/x86_64/os/Packages/*.rpm
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -fr rpm/SOURCES/*.bz2
|
rm -fr rpm/SOURCES/*.bz2
|
||||||
|
@ -1113,10 +1113,13 @@ if __name__ == "__main__":
|
|||||||
doStartupX11Actions(opts.runres)
|
doStartupX11Actions(opts.runres)
|
||||||
xserver_pid = proc.pid
|
xserver_pid = proc.pid
|
||||||
except (OSError, RuntimeError):
|
except (OSError, RuntimeError):
|
||||||
stdoutLog.warning(" X startup failed, falling back to text mode")
|
stdoutLog.warning(" X startup failed, aborting installation")
|
||||||
anaconda.displayMode = 't'
|
|
||||||
graphical_failed = 1
|
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
|
sys.exit(1)
|
||||||
|
#stdoutLog.warning(" X startup failed, falling back to text mode")
|
||||||
|
#anaconda.displayMode = 't'
|
||||||
|
#graphical_failed = 1
|
||||||
|
#time.sleep(2)
|
||||||
finally:
|
finally:
|
||||||
signal.signal(signal.SIGUSR1, old_sigusr1)
|
signal.signal(signal.SIGUSR1, old_sigusr1)
|
||||||
signal.signal(signal.SIGCHLD, old_sigchld)
|
signal.signal(signal.SIGCHLD, old_sigchld)
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
Summary: Graphical system installer
|
Summary: Graphical system installer
|
||||||
Name: anaconda
|
Name: anaconda
|
||||||
Version: 13.42
|
Version: 13.42
|
||||||
Release: 2%{?dist}
|
Release: 4%{?dist}
|
||||||
Epoch: 1000
|
Epoch: 1000
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
|
@ -188,7 +188,7 @@ class AnacondaBackend:
|
|||||||
return 1
|
return 1
|
||||||
|
|
||||||
isys.lochangefd("/dev/loop0", self._loopbackFile)
|
isys.lochangefd("/dev/loop0", self._loopbackFile)
|
||||||
if os.path.ismount("/mnt/stage2"):
|
if os.path.ismount("/mnt/stage2") and not anaconda.methodstr.find("/mnt/stage2") >= 0:
|
||||||
isys.umount("/mnt/stage2")
|
isys.umount("/mnt/stage2")
|
||||||
|
|
||||||
def removeInstallImage(self):
|
def removeInstallImage(self):
|
||||||
|
@ -1232,9 +1232,75 @@ static char *doLoaderMain(struct loaderData_s *loaderData,
|
|||||||
* That will also then bypass any method selection UI in loader.
|
* That will also then bypass any method selection UI in loader.
|
||||||
*/
|
*/
|
||||||
if (!FL_ASKMETHOD(flags)) {
|
if (!FL_ASKMETHOD(flags)) {
|
||||||
url = findAnacondaCD("/mnt/stage2");
|
int stage2ok = 0;
|
||||||
|
// marmarek hack for USB install
|
||||||
|
if (loaderData->method == METHOD_HD) {
|
||||||
|
char *location = "/mnt/stage2";
|
||||||
|
char *device = ((struct hdInstallData *)loaderData->stage2Data)->partition;
|
||||||
|
char *stage2loc = "/mnt/stage2/images/install.img";
|
||||||
|
char *stage2img;
|
||||||
|
int stage2inram;
|
||||||
|
|
||||||
|
if (!(rc=doPwMount(device, location, "auto", "ro", NULL))) {
|
||||||
|
if (!access(stage2loc, R_OK)) {
|
||||||
|
char *updpath;
|
||||||
|
|
||||||
|
//TODO? queryCDMediaCheck(device, location);
|
||||||
|
|
||||||
|
/* if in rescue mode lets copy stage 2 into RAM so we can */
|
||||||
|
/* free up the CD drive and user can have it avaiable to */
|
||||||
|
/* aid system recovery. */
|
||||||
|
if (FL_RESCUE(flags) && !FL_TEXT(flags) &&
|
||||||
|
totalMemory() > MIN_GUI_RAM ) {
|
||||||
|
rc = copyFile(stage2loc, "/tmp/install.img");
|
||||||
|
stage2img = strdup("/tmp/install.img");
|
||||||
|
stage2inram = 1;
|
||||||
|
} else {
|
||||||
|
stage2img = strdup(stage2loc);
|
||||||
|
stage2inram = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
rc = mountStage2(stage2img);
|
||||||
|
free(stage2img);
|
||||||
|
|
||||||
|
if (!rc) {
|
||||||
|
checked_asprintf(&updpath, "%s/images/updates.img", location);
|
||||||
|
|
||||||
|
logMessage(INFO, "Looking for updates in %s", updpath);
|
||||||
|
copyUpdatesImg(updpath);
|
||||||
|
free(updpath);
|
||||||
|
|
||||||
|
checked_asprintf(&updpath, "%s/images/product.img", location);
|
||||||
|
|
||||||
|
logMessage(INFO, "Looking for product in %s", updpath);
|
||||||
|
copyProductImg(updpath);
|
||||||
|
free(updpath);
|
||||||
|
|
||||||
|
/* if in rescue mode and we copied stage2 to RAM */
|
||||||
|
/* we can now unmount the CD */
|
||||||
|
if (FL_RESCUE(flags) && stage2inram) {
|
||||||
|
umount(location);
|
||||||
|
}
|
||||||
|
stage2ok = 1;
|
||||||
|
checked_asprintf(&url, "file://%s", location);
|
||||||
|
} else {
|
||||||
|
logMessage(INFO, "mounting stage2 failed");
|
||||||
|
umount(location);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
/* this wasnt the CD we were looking for, clean up and */
|
||||||
|
/* try the next CD drive */
|
||||||
|
umount(location);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
logMessage(WARNING, "Mount failed for %s at %s", device, location);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!url)
|
||||||
|
url = findAnacondaCD("/mnt/stage2");
|
||||||
if (url) {
|
if (url) {
|
||||||
setStage2LocFromCmdline(url, loaderData);
|
if (!stage2ok)
|
||||||
|
setStage2LocFromCmdline(url, loaderData);
|
||||||
skipMethodDialog = 1;
|
skipMethodDialog = 1;
|
||||||
|
|
||||||
logMessage(INFO, "Detected stage 2 image on CD (url: %s)", url);
|
logMessage(INFO, "Detected stage 2 image on CD (url: %s)", url);
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
SYSLINUX=$IMGPATH/usr/share/syslinux/syslinux-nomtools
|
SYSLINUX=$IMGPATH/usr/share/syslinux/syslinux-nomtools
|
||||||
CDLABEL=$PRODUCT
|
CDLABEL="$PRODUCT $VERSION x86_64 DVD"
|
||||||
|
|
||||||
if [ ! -f $SYSLINUX ]; then
|
if [ ! -f $SYSLINUX ]; then
|
||||||
echo "Warning: nomtools syslinux doesn't exist"
|
echo "Warning: nomtools syslinux doesn't exist"
|
||||||
@ -100,7 +100,7 @@ makeBootImages() {
|
|||||||
|
|
||||||
# insert XEN boot options
|
# insert XEN boot options
|
||||||
sed -i 's/kernel vmlinuz/kernel mboot.c32/' $MBD_BOOTTREE/isolinux.cfg
|
sed -i 's/kernel vmlinuz/kernel mboot.c32/' $MBD_BOOTTREE/isolinux.cfg
|
||||||
sed -i "s/append initrd=[^ ]*\(.*\)/append $xenimage --- $kernelimage stage2=hd:LABEL=\"$CDLABEL\"\1 --- $initrd/" $MBD_BOOTTREE/isolinux.cfg
|
sed -i "s/append initrd=[^ ]*\(.*\)/append $xenimage --- $kernelimage stage2=hd:LABEL=\"$CDLABEL\":\/images\/install.img repo=file:\/mnt\/stage2\1 --- $initrd/" $MBD_BOOTTREE/isolinux.cfg
|
||||||
|
|
||||||
# copy in memtest if present
|
# copy in memtest if present
|
||||||
if [ -f $IMGPATH/usr/lib/anaconda-runtime/boot/memtest* ]; then
|
if [ -f $IMGPATH/usr/lib/anaconda-runtime/boot/memtest* ]; then
|
||||||
|
@ -366,6 +366,8 @@ etc/hosts
|
|||||||
etc/im_palette.pal
|
etc/im_palette.pal
|
||||||
etc/imrc
|
etc/imrc
|
||||||
etc/iscsid.conf
|
etc/iscsid.conf
|
||||||
|
etc/ld.so.conf
|
||||||
|
etc/ld.so.conf.d/*
|
||||||
etc/man.config
|
etc/man.config
|
||||||
etc/mke2fs.conf
|
etc/mke2fs.conf
|
||||||
etc/netconfig
|
etc/netconfig
|
||||||
@ -390,6 +392,7 @@ etc/shells
|
|||||||
etc/sysconfig/network-scripts/network-functions*
|
etc/sysconfig/network-scripts/network-functions*
|
||||||
etc/udev
|
etc/udev
|
||||||
etc/wpa_supplicant/wpa_supplicant.conf
|
etc/wpa_supplicant/wpa_supplicant.conf
|
||||||
|
etc/X11/fontpath.d
|
||||||
etc/yum.repos.d/*
|
etc/yum.repos.d/*
|
||||||
etc/yum/pluginconf.d/blacklist.conf
|
etc/yum/pluginconf.d/blacklist.conf
|
||||||
etc/yum/pluginconf.d/fedorakmod.conf
|
etc/yum/pluginconf.d/fedorakmod.conf
|
||||||
@ -629,11 +632,13 @@ usr/share/fonts/*/lklug.ttf
|
|||||||
usr/share/fonts/lohit*/*
|
usr/share/fonts/lohit*/*
|
||||||
usr/share/fonts/*/lklug.ttf
|
usr/share/fonts/*/lklug.ttf
|
||||||
usr/share/fonts/cjkuni*/uming*.ttc
|
usr/share/fonts/cjkuni*/uming*.ttc
|
||||||
|
usr/share/fonts/default
|
||||||
usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
|
usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
|
||||||
usr/share/fonts/dejavu/DejaVuSans.ttf
|
usr/share/fonts/dejavu/DejaVuSans.ttf
|
||||||
usr/share/fonts/dejavu/DejaVuSansMono.ttf
|
usr/share/fonts/dejavu/DejaVuSansMono.ttf
|
||||||
usr/share/fonts/kacst/KacstFarsi.ttf
|
usr/share/fonts/kacst/KacstFarsi.ttf
|
||||||
usr/share/fonts/kacst/KacstQura.ttf
|
usr/share/fonts/kacst/KacstQura.ttf
|
||||||
|
usr/share/fonts/liberation
|
||||||
usr/share/fonts/madan/Madan.ttf
|
usr/share/fonts/madan/Madan.ttf
|
||||||
usr/share/fonts/un-core/UnDotum.ttf
|
usr/share/fonts/un-core/UnDotum.ttf
|
||||||
usr/share/fonts/*/VL-Gothic-Regular.ttf
|
usr/share/fonts/*/VL-Gothic-Regular.ttf
|
||||||
|
@ -492,6 +492,10 @@ class AnacondaYum(YumSorter):
|
|||||||
self._switchCD(1)
|
self._switchCD(1)
|
||||||
self.mediagrabber = self.mediaHandler
|
self.mediagrabber = self.mediaHandler
|
||||||
self._baseRepoURL = "file://%s" % self.tree
|
self._baseRepoURL = "file://%s" % self.tree
|
||||||
|
elif m.startswith("file:"):
|
||||||
|
self.tree = m[5:]
|
||||||
|
self._baseRepoURL = "file://%s" % self.tree
|
||||||
|
|
||||||
else:
|
else:
|
||||||
# No methodstr was given. In order to find an installation source,
|
# No methodstr was given. In order to find an installation source,
|
||||||
# we should first check to see if there's a CD/DVD with packages
|
# we should first check to see if there's a CD/DVD with packages
|
||||||
|
@ -83,7 +83,7 @@
|
|||||||
<packagereq type="mandatory">kdeaccessibility</packagereq>
|
<packagereq type="mandatory">kdeaccessibility</packagereq>
|
||||||
<packagereq type="mandatory">kdm</packagereq>
|
<packagereq type="mandatory">kdm</packagereq>
|
||||||
<packagereq type="mandatory">mesa-libEGL</packagereq>
|
<packagereq type="mandatory">mesa-libEGL</packagereq>
|
||||||
<packagereq type="mandatory">oxygen-icons-theme</packagereq>
|
<packagereq type="mandatory">oxygen-icon-theme</packagereq>
|
||||||
<packagereq type="mandatory">qubes-kde-dom0</packagereq>
|
<packagereq type="mandatory">qubes-kde-dom0</packagereq>
|
||||||
<packagereq type="mandatory">redhat-menus</packagereq>
|
<packagereq type="mandatory">redhat-menus</packagereq>
|
||||||
<packagereq type="mandatory">xsettings-kde</packagereq>
|
<packagereq type="mandatory">xsettings-kde</packagereq>
|
||||||
|
@ -38,7 +38,7 @@ revisor_comps = 1
|
|||||||
comps = /tmp/qubes-installer/conf/comps-qubes.xml
|
comps = /tmp/qubes-installer/conf/comps-qubes.xml
|
||||||
|
|
||||||
destination_directory = /tmp/qubes-installer/build/ISO
|
destination_directory = /tmp/qubes-installer/build/ISO
|
||||||
working_directory = /tmp/qubes-installer/build/work
|
working_directory = /tmp/qubes-installer/build/work/
|
||||||
|
|
||||||
## Models
|
## Models
|
||||||
|
|
||||||
|
@ -75,7 +75,9 @@ EOF
|
|||||||
# On Mar 31, 2012, the Qubes signing key has changed
|
# On Mar 31, 2012, the Qubes signing key has changed
|
||||||
# The new key is brought by this RPM, but we also
|
# The new key is brought by this RPM, but we also
|
||||||
# need to explicitly import it to RPM DB
|
# need to explicitly import it to RPM DB
|
||||||
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
if [ $1 -gt 1 ]; then
|
||||||
|
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-qubes-1-primary
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
|
12
revisor/revisor-2.2-volume-label.patch
Normal file
12
revisor/revisor-2.2-volume-label.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -ru revisor-2.2.orig/revisor/pungi.py revisor-2.2/revisor/pungi.py
|
||||||
|
--- revisor-2.2.orig/revisor/pungi.py 2010-06-04 15:36:04.000000000 +0200
|
||||||
|
+++ revisor-2.2/revisor/pungi.py 2012-04-28 02:32:04.675002111 +0200
|
||||||
|
@@ -584,7 +584,7 @@
|
||||||
|
if mt["discs"] > 1:
|
||||||
|
volume = "%s%d" % (volume, disc)
|
||||||
|
|
||||||
|
- extraargs.extend(['"%s"' % volume])
|
||||||
|
+ extraargs.extend(['%s' % volume])
|
||||||
|
extraargs.extend(['-o', isofile])
|
||||||
|
|
||||||
|
if not self.cfg.include_bootiso:
|
@ -19,7 +19,7 @@
|
|||||||
Summary: Fedora "Spin" Graphical User Interface
|
Summary: Fedora "Spin" Graphical User Interface
|
||||||
Name: revisor
|
Name: revisor
|
||||||
Version: 2.2
|
Version: 2.2
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Group: Applications/System
|
Group: Applications/System
|
||||||
URL: http://fedorahosted.org/revisor
|
URL: http://fedorahosted.org/revisor
|
||||||
@ -132,6 +132,7 @@ Provides: revisor-wui = %{version}-%{release}
|
|||||||
Source100: F13-buildinstall
|
Source100: F13-buildinstall
|
||||||
Patch100: revisor-2.2-comps.patch
|
Patch100: revisor-2.2-comps.patch
|
||||||
Patch101: revisor-2.2-release.patch
|
Patch101: revisor-2.2-release.patch
|
||||||
|
Patch102: revisor-2.2-volume-label.patch
|
||||||
|
|
||||||
%description cli
|
%description cli
|
||||||
Revisor provides a set of graphical tools for building customized, updated
|
Revisor provides a set of graphical tools for building customized, updated
|
||||||
@ -354,6 +355,7 @@ This is the Revisor Web User Interface package
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch100 -p1
|
%patch100 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
|
%patch102 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%configure
|
||||||
|
Loading…
Reference in New Issue
Block a user