diff --git a/README.md b/README.md index 96cf756..cab2cbe 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # unetbootin +UNetbootin allows you to create bootable Live USB drives for many Linux distributions without burning a CD. + diff --git a/unetbootin-583-extlinux-path.patch b/unetbootin-583-extlinux-path.patch new file mode 100644 index 0000000..aaaab3f --- /dev/null +++ b/unetbootin-583-extlinux-path.patch @@ -0,0 +1,14 @@ +diff -Nru unetbootin-583.orig/unetbootin.cpp unetbootin-583/unetbootin.cpp +--- unetbootin-583.orig/unetbootin.cpp 2012-12-24 09:20:52.000000000 +0100 ++++ unetbootin-583/unetbootin.cpp 2013-01-28 19:45:00.543025476 +0100 +@@ -290,8 +290,8 @@ + syslinuxcommand = "/usr/bin/syslinux"; + else + syslinuxcommand = locatecommand("syslinux", tr("FAT32-formatted USB drive"), "syslinux"); +- if (QFile::exists("/usr/bin/extlinux")) +- extlinuxcommand = "/usr/bin/extlinux"; ++ if (QFile::exists("/sbin/extlinux")) ++ extlinuxcommand = "/sbin/extlinux"; + else + extlinuxcommand = locatecommand("extlinux", tr("EXT2-formatted USB drive"), "syslinux"); + #endif diff --git a/unetbootin-583-openmamba-2.patch b/unetbootin-583-openmamba-2.patch new file mode 100644 index 0000000..78e76f0 --- /dev/null +++ b/unetbootin-583-openmamba-2.patch @@ -0,0 +1,86 @@ +diff -Nru unetbootin-583.orig/distrolst.cpp unetbootin-583/distrolst.cpp +--- unetbootin-583.orig/distrolst.cpp 2012-12-24 09:14:22.000000000 +0100 ++++ unetbootin-583/distrolst.cpp 2013-02-03 14:37:53.338734805 +0100 +@@ -762,6 +762,54 @@ + kernelOpts = "rw vga=1 init=/linuxrc"; + } + ++if (nameDistro == "openmamba") ++{ ++ if (isarch64) ++ { ++ cpuarch = "x86_64"; ++ } ++ else ++ { ++ cpuarch = "i586"; ++ } ++ QString milestone = nameVersion.section('_', 0,0); ++ QString repo = milestone; ++ if (milestone == "snapshot") { ++ repo = "devel"; ++ } ++ QString part = nameVersion.section('_', 1,1); ++ QString lang = nameVersion.section('_', 2,2); ++ QString cpiotmpf = randtmpfile::getrandfilename(ubntmpf, "cpio"); ++ QString cpiogztmpf = cpiotmpf + ".gz"; ++ downloadfile(QString("http://www.openmamba.org/pub/openmamba/media/%1/%2/%3/openmamba-%2-%3-%4.%5.iso").arg(repo, part, lang, milestone, cpuarch), QString("%1openmamba-live.iso").arg(targetPath)); ++ downloadfile(QString("http://www.openmamba.org/pub/openmamba/media/%1/bootusb/%2/openmamba-bootusb-%2-%3.%4.cpio.gz").arg(repo, lang, milestone, cpuarch), cpiogztmpf); ++ extractfile(QFileInfo(cpiotmpf).fileName(), cpiotmpf, cpiogztmpf); ++ callexternapp(sevzcommand, QString("-bd -aoa -o\"%1\" x \"%2\"").arg(QDir::toNativeSeparators(targetPath), QDir::toNativeSeparators(cpiotmpf))); ++#ifdef Q_OS_LINUX ++ isext2 = false; ++ if (!volidcommand.isEmpty()) ++ { ++ if (callexternapp(volidcommand, QString("-t %2").arg(targetDev)).contains(QRegExp("(ext2|ext3|ext4)"))) ++ isext2 = true; ++ } ++ else ++ { ++ QString tstrblk = callexternapp(blkidcommand, QString("-s TYPE %2").arg(targetDev)); ++ if (tstrblk.contains('=')) ++ { ++ if (tstrblk.contains(QRegExp("(ext2|ext3|ext4)"))) ++ isext2 = true; ++ } ++ } ++#endif ++ if (isext2) ++ setLabel(targetDev, "openmamba_live"); ++ else ++ // TODO: not ext2 installation is not supported yet ++ setLabel(targetDev, "OPENMAMBALV"); ++ targetPath = targetPath + "/boot/"; ++} ++ + if (nameDistro == "openSUSE") + { + if (isarch64) +diff -Nru unetbootin-583.orig/distrover.cpp unetbootin-583/distrover.cpp +--- unetbootin-583.orig/distrover.cpp 2012-12-24 09:14:50.000000000 +0100 ++++ unetbootin-583/distrover.cpp 2013-02-03 14:39:07.926980662 +0100 +@@ -183,6 +183,24 @@ + "Description: The Offline NT Password and Registry Editor can reset Windows passwords and edit the registry on Windows 2000-Vista.
" + "Install Notes: NTPasswd is booted and run in live mode; no installation is required to use it.") << + "2008.05.26" << "2011.05.11")); ++#ifdef Q_OS_LINUX ++distroselect->addItem("openmamba", (QStringList() << "livecd_en_milestone2" << ++unetbootin::tr("Homepage: http://www.openmamba.org
" ++ "Description: openmamba is a fully-featured desktop and server distribution.
" ++ "milestone2 is the latest stable release. snapshot are less stable but include the most up-to-date software releases.
" ++ "livecd or livedvd are the most supported media based on the KDE4 desktop environment, livecd-light is a light LXDE based environment while livecd-gnome runs GNOME desktop.
" ++ "Install Notes: the USB device must be formatted with an ext2/3/4 filesystem") << ++ "milestone2_livecd_en" << "milestone2_livecd_it" << "milestone2_livecd_es" << ++ "milestone2_livedvd_en" << "milestone2_livedvd_it" << "milestone2_livedvd_es" << ++ "milestone2_livecd-light_en" << "milestone2_livecd-light_it" << "milestone2_livecd-light_es" << ++ "milestone2_livecd-gnome_en" << "milestone2_livecd-gnome_it" << "milestone2_livecd-gnome_es" << ++ "snapshot_livecd_en" << "snapshot_livecd_it" << "snapshot_livecd_es" << ++ "snapshot_livecd_en_x64" << "snapshot_livecd_it_x64" << "snapshot_livecd_es_x64" << ++ "snapshot_livedvd_en" << "snapshot_livedvd_it" << "snapshot_livedvd_es" << ++ "snapshot_livecd-light_en" << "snapshot_livecd-light_en_x64" << "snapshot_livecd-light_it" << ++ "snapshot_livecd-light_it_x64" << "snapshot_livecd-light_es" << "snapshot_livecd-light_es_x64" << ++ "snapshot_livecd-gnome_en" << "snapshot_livecd-gnome_it" << "snapshot_livecd-gnome_es")); ++#endif + distroselect->addItem("openSUSE", (QStringList() << "11.1" << + unetbootin::tr("Homepage: http://www.opensuse.org
" + "Description: openSUSE is a user-friendly Novell sponsored distribution.
" diff --git a/unetbootin-584-syslinux-5.patch b/unetbootin-584-syslinux-5.patch new file mode 100644 index 0000000..3bef5f7 --- /dev/null +++ b/unetbootin-584-syslinux-5.patch @@ -0,0 +1,32 @@ +diff -Nru unetbootin-584.orig/unetbootin.cpp unetbootin-584/unetbootin.cpp +--- unetbootin-584.orig/unetbootin.cpp 2013-07-01 21:16:52.363527422 +0200 ++++ unetbootin-584/unetbootin.cpp 2013-07-01 21:24:07.128189373 +0200 +@@ -3366,6 +3366,8 @@ + srcF.setFileName(QFile::exists("/usr/share/syslinux/memdisk") ? "/usr/share/syslinux/memdisk" : "/usr/lib/syslinux/memdisk"); + else if (srcfName == "menu.c32") + srcF.setFileName(QFile::exists("/usr/share/syslinux/menu.c32") ? "/usr/share/syslinux/menu.c32" : "/usr/lib/syslinux/menu.c32"); ++ else if (srcfName == "libutil.c32") ++ srcF.setFileName(QFile::exists("/usr/share/syslinux/libutil.c32") ? "/usr/share/syslinux/libutil.c32" : "/usr/lib/syslinux/libutil.c32"); + else if (srcfName == "mbr.bin") + srcF.setFileName(QFile::exists("/usr/share/syslinux/mbr.bin") ? "/usr/share/syslinux/mbr.bin" : "/usr/lib/syslinux/mbr.bin"); + else if (srcfName == "ubnsylnx") +@@ -4144,6 +4146,7 @@ + if (!abssyslpathloc.startsWith("/")) + abssyslpathloc.prepend("/"); + instIndvfl("menu.c32", QString("%1%2menu.c32").arg(targetPath).arg(syslpathloc)); ++ instIndvfl("libutil.c32", QString("%1%2libutil.c32").arg(targetPath).arg(syslpathloc)); + QString syslrealcfgloc = QString(locatedsyslinuxcfgfiles.at(j)).replace("isolinux.cfg", "syslinux.cfg").replace("extlinux.conf", "syslinux.cfg"); + if (syslrealcfgloc != locatedsyslinuxcfgfiles.at(j)) + { +@@ -4166,8 +4169,10 @@ + if (!dontgeneratesyslinuxcfg && isext2) + QFile::copy(QString("%1syslinux.cfg").arg(targetPath), QString("%1extlinux.conf").arg(targetPath)); + #endif +- if (!dontgeneratesyslinuxcfg) ++ if (!dontgeneratesyslinuxcfg) { + instIndvfl("menu.c32", QString("%1menu.c32").arg(targetPath)); ++ instIndvfl("libutil.c32", QString("%1libutil.c32").arg(targetPath)); ++ } + fininstall(); + } + diff --git a/unetbootin.spec b/unetbootin.spec new file mode 100644 index 0000000..319e3d7 --- /dev/null +++ b/unetbootin.spec @@ -0,0 +1,88 @@ +Name: unetbootin +Version: 585 +Release: 1mamba +Summary: Create bootable Live Linux USB drives without burning a CD +Group: Graphical Desktop/Applications/Utilities +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://unetbootin.sourceforge.net/ +Source: http://downloads.sourceforge.net/project/unetbootin/UNetbootin/%{version}/unetbootin-source-%{version}.tar.gz +Patch0: unetbootin-583-extlinux-path.patch +Patch1: unetbootin-583-openmamba-2.patch +Patch2: unetbootin-584-syslinux-5.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libgcc +BuildRequires: libqt4-devel +BuildRequires: libstdc++6-devel +## AUTOBUILDREQ-END +Requires: syslinux +Requires: util-linux +Requires: e2fsprogs +Requires: p7zip + +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +UNetbootin allows you to create bootable Live USB drives for many Linux distributions without burning a CD. + +%debug_package + +%prep +%setup -q -c %{name}-%{version} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 + +%build +lrelease unetbootin.pro +qmake-qt4 +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +install -D -m0755 unetbootin %{buildroot}%{_bindir}/unetbootin +install -D -m0644 unetbootin.desktop %{buildroot}%{_datadir}/applications/unetbootin.desktop +install -d -m0755 %{buildroot}%{_datadir}/unetbootin +cp unetbootin_*.qm %{buildroot}%{_datadir}/unetbootin/ +install -d -m0755 %{buildroot}%{_datadir}/pixmaps +cp unetbootin_64.png %{buildroot}%{_datadir}/pixmaps/unetbootin.png + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%files +%defattr(-,root,root) +%{_bindir}/unetbootin +%{_datadir}/applications/unetbootin.desktop +%{_datadir}/pixmaps/unetbootin.png +%dir %{_datadir}/unetbootin +%{_datadir}/unetbootin/unetbootin_*.qm + +%changelog +* Tue Jul 09 2013 Automatic Build System 585-1mamba +- automatic version update by autodist + +* Mon Jul 01 2013 Silvan Calarco 584-2mamba +- add a patch to install libutil.c32 required by syslinux 5 + +* Fri Jun 21 2013 Automatic Build System 584-1mamba +- automatic version update by autodist + +* Wed Feb 13 2013 Silvan Calarco 583-5mamba +- openmamba patch update: add support for x86_64 livecd + +* Mon Feb 04 2013 Silvan Calarco 583-4mamba +- openmamba patch update: force overwrite of files extracted from bootusb archive + +* Sun Feb 03 2013 Silvan Calarco 583-3mamba +- openmamba patch refined; only support linux builds for now because of ext* fs requirement + +* Tue Jan 29 2013 Silvan Calarco 583-2mamba +- added a preliminary patch for openmamba support + +* Mon Jan 28 2013 Silvan Calarco 583-1mamba +- package created by silvan using the webbuild interface