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))
|
||||
package = $(shell \
|
||||
mkdir -p rpm/SOURCES; \
|
||||
cd rpm/SOURCES; \
|
||||
rm -f $(1)-$(2)*; \
|
||||
ln -s ../../$(1) $(1)-$(2); \
|
||||
@ -98,7 +99,8 @@ iso:
|
||||
cp rpm_verify /usr/local/bin/
|
||||
ln -sf `pwd` /tmp/qubes-installer
|
||||
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:
|
||||
rm -fr rpm/SOURCES/*.bz2
|
||||
|
@ -1113,10 +1113,13 @@ if __name__ == "__main__":
|
||||
doStartupX11Actions(opts.runres)
|
||||
xserver_pid = proc.pid
|
||||
except (OSError, RuntimeError):
|
||||
stdoutLog.warning(" X startup failed, falling back to text mode")
|
||||
anaconda.displayMode = 't'
|
||||
graphical_failed = 1
|
||||
stdoutLog.warning(" X startup failed, aborting installation")
|
||||
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:
|
||||
signal.signal(signal.SIGUSR1, old_sigusr1)
|
||||
signal.signal(signal.SIGCHLD, old_sigchld)
|
||||
|
@ -4,7 +4,7 @@
|
||||
Summary: Graphical system installer
|
||||
Name: anaconda
|
||||
Version: 13.42
|
||||
Release: 2%{?dist}
|
||||
Release: 4%{?dist}
|
||||
Epoch: 1000
|
||||
License: GPLv2+
|
||||
Group: Applications/System
|
||||
|
@ -188,7 +188,7 @@ class AnacondaBackend:
|
||||
return 1
|
||||
|
||||
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")
|
||||
|
||||
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.
|
||||
*/
|
||||
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) {
|
||||
setStage2LocFromCmdline(url, loaderData);
|
||||
if (!stage2ok)
|
||||
setStage2LocFromCmdline(url, loaderData);
|
||||
skipMethodDialog = 1;
|
||||
|
||||
logMessage(INFO, "Detected stage 2 image on CD (url: %s)", url);
|
||||
|
@ -18,7 +18,7 @@
|
||||
#
|
||||
|
||||
SYSLINUX=$IMGPATH/usr/share/syslinux/syslinux-nomtools
|
||||
CDLABEL=$PRODUCT
|
||||
CDLABEL="$PRODUCT $VERSION x86_64 DVD"
|
||||
|
||||
if [ ! -f $SYSLINUX ]; then
|
||||
echo "Warning: nomtools syslinux doesn't exist"
|
||||
@ -100,7 +100,7 @@ makeBootImages() {
|
||||
|
||||
# insert XEN boot options
|
||||
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
|
||||
if [ -f $IMGPATH/usr/lib/anaconda-runtime/boot/memtest* ]; then
|
||||
|
@ -366,6 +366,8 @@ etc/hosts
|
||||
etc/im_palette.pal
|
||||
etc/imrc
|
||||
etc/iscsid.conf
|
||||
etc/ld.so.conf
|
||||
etc/ld.so.conf.d/*
|
||||
etc/man.config
|
||||
etc/mke2fs.conf
|
||||
etc/netconfig
|
||||
@ -390,6 +392,7 @@ etc/shells
|
||||
etc/sysconfig/network-scripts/network-functions*
|
||||
etc/udev
|
||||
etc/wpa_supplicant/wpa_supplicant.conf
|
||||
etc/X11/fontpath.d
|
||||
etc/yum.repos.d/*
|
||||
etc/yum/pluginconf.d/blacklist.conf
|
||||
etc/yum/pluginconf.d/fedorakmod.conf
|
||||
@ -629,11 +632,13 @@ usr/share/fonts/*/lklug.ttf
|
||||
usr/share/fonts/lohit*/*
|
||||
usr/share/fonts/*/lklug.ttf
|
||||
usr/share/fonts/cjkuni*/uming*.ttc
|
||||
usr/share/fonts/default
|
||||
usr/share/fonts/dejavu/DejaVuSans-Bold.ttf
|
||||
usr/share/fonts/dejavu/DejaVuSans.ttf
|
||||
usr/share/fonts/dejavu/DejaVuSansMono.ttf
|
||||
usr/share/fonts/kacst/KacstFarsi.ttf
|
||||
usr/share/fonts/kacst/KacstQura.ttf
|
||||
usr/share/fonts/liberation
|
||||
usr/share/fonts/madan/Madan.ttf
|
||||
usr/share/fonts/un-core/UnDotum.ttf
|
||||
usr/share/fonts/*/VL-Gothic-Regular.ttf
|
||||
|
@ -492,6 +492,10 @@ class AnacondaYum(YumSorter):
|
||||
self._switchCD(1)
|
||||
self.mediagrabber = self.mediaHandler
|
||||
self._baseRepoURL = "file://%s" % self.tree
|
||||
elif m.startswith("file:"):
|
||||
self.tree = m[5:]
|
||||
self._baseRepoURL = "file://%s" % self.tree
|
||||
|
||||
else:
|
||||
# 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
|
||||
|
@ -83,7 +83,7 @@
|
||||
<packagereq type="mandatory">kdeaccessibility</packagereq>
|
||||
<packagereq type="mandatory">kdm</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">redhat-menus</packagereq>
|
||||
<packagereq type="mandatory">xsettings-kde</packagereq>
|
||||
|
@ -38,7 +38,7 @@ revisor_comps = 1
|
||||
comps = /tmp/qubes-installer/conf/comps-qubes.xml
|
||||
|
||||
destination_directory = /tmp/qubes-installer/build/ISO
|
||||
working_directory = /tmp/qubes-installer/build/work
|
||||
working_directory = /tmp/qubes-installer/build/work/
|
||||
|
||||
## Models
|
||||
|
||||
|
@ -75,7 +75,9 @@ EOF
|
||||
# On Mar 31, 2012, the Qubes signing key has changed
|
||||
# The new key is brought by this RPM, but we also
|
||||
# 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
|
||||
|
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
|
||||
Name: revisor
|
||||
Version: 2.2
|
||||
Release: 4%{?dist}
|
||||
Release: 5%{?dist}
|
||||
License: GPLv2
|
||||
Group: Applications/System
|
||||
URL: http://fedorahosted.org/revisor
|
||||
@ -132,6 +132,7 @@ Provides: revisor-wui = %{version}-%{release}
|
||||
Source100: F13-buildinstall
|
||||
Patch100: revisor-2.2-comps.patch
|
||||
Patch101: revisor-2.2-release.patch
|
||||
Patch102: revisor-2.2-volume-label.patch
|
||||
|
||||
%description cli
|
||||
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
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
|
||||
%build
|
||||
%configure
|
||||
|
Loading…
Reference in New Issue
Block a user