From 0e581659e6f376ff6d2cc524502ac54e02ebb93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 00:02:06 -0300 Subject: cups-filter-libre-1.0.20-2: moving new version to [libre] repo --- libre/cups-filters-libre/PKGBUILD | 20 +-- libre/cups-filters-libre/buildfix_dlopen.diff | 31 ---- libre/cups-filters-libre/buildfix_poppler.diff | 224 ------------------------- 3 files changed, 6 insertions(+), 269 deletions(-) delete mode 100644 libre/cups-filters-libre/buildfix_dlopen.diff delete mode 100644 libre/cups-filters-libre/buildfix_poppler.diff (limited to 'libre') diff --git a/libre/cups-filters-libre/PKGBUILD b/libre/cups-filters-libre/PKGBUILD index 1f4ba1f6e..2739a7c7c 100644 --- a/libre/cups-filters-libre/PKGBUILD +++ b/libre/cups-filters-libre/PKGBUILD @@ -1,37 +1,29 @@ -# $Id: PKGBUILD 163769 2012-07-19 15:52:39Z andyrtr $ +# $Id: PKGBUILD 165189 2012-08-12 19:45:00Z andyrtr $ # Maintainer: Andreas Radke pkgname=cups-filters-libre _pkgname=cups-filters -pkgver=1.0.19 -pkgrel=1 +pkgver=1.0.20 +pkgrel=2 pkgdesc="OpenPrinting CUPS Filters" arch=('i686' 'x86_64') url="http://www.linuxfoundation.org/collaborate/workgroups/openprinting" license=('GPL') -depends=('lcms2' 'poppler>=0.20.1') +depends=('lcms2' 'poppler>=0.20.3') makedepends=('ghostscript' 'ttf-dejavu') # ttf-dejavu for make check optdepends=('ghostscript: for non-PostScript printers to print with CUPS to convert PostScript to raster images' 'foomatic-db: drivers use Ghostscript to convert PostScript to a printable form directly' 'foomatic-db-engine: drivers use Ghostscript to convert PostScript to a printable form directly') backup=(etc/fonts/conf.d/99pdftoopvp.conf) options=(!libtool) -source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz - buildfix_poppler.diff - buildfix_dlopen.diff) -md5sums=('e3c9ad58ec005eda2f0ac2f3190a63b3' - 'b3d5b60a50568d06d1ef43c285ce7802' - '8b0c8874ef5c985287cada55db75d8d1') +source=(http://www.openprinting.org/download/cups-filters/$_pkgname-$pkgver.tar.gz) +md5sums=('fc1d2b8cb5b0513224d7e2b01f900704') replaces=("${_pkgname}") conflicts=("${_pkgname}") provides=("${_pkgname}=${pkgver}") build() { cd "$srcdir/$_pkgname-$pkgver" - # https://bugs.linuxfoundation.org/show_bug.cgi?id=1055 - patch -Np0 -i ${srcdir}/buildfix_poppler.diff - patch -Np0 -i ${srcdir}/buildfix_dlopen.diff - autoreconf -v ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-test-font-path=/usr/share/fonts/TTF/DejaVuSans.ttf diff --git a/libre/cups-filters-libre/buildfix_dlopen.diff b/libre/cups-filters-libre/buildfix_dlopen.diff deleted file mode 100644 index eea5f506c..000000000 --- a/libre/cups-filters-libre/buildfix_dlopen.diff +++ /dev/null @@ -1,31 +0,0 @@ -=== modified file 'Makefile.am' ---- Makefile.am 2012-06-22 15:40:53 +0000 -+++ Makefile.am 2012-07-19 09:36:30 +0000 -@@ -329,7 +329,8 @@ - $(FREETYPE_LIBS) \ - $(FONTCONFIG_LIBS) \ - $(LIBPNG_LIBS) \ -- $(POPPLER_LIBS) -+ $(POPPLER_LIBS) \ -+ $(DLOPEN_LIBS) - - EXTRA_DIST += $(pkgfontconfig_DATA) - -=== modified file 'configure.ac' ---- configure.ac 2012-07-19 14:02:32 +0000 -+++ configure.ac 2012-07-19 14:39:25 +0000 -@@ -110,6 +110,13 @@ - AC_DEFINE(PDFTOPDF, [], [Needed for pdftopdf filter compilation]) - AC_DEFINE_DIR(BANNERTOPDF_DATADIR, "{CUPS_DATADIR}/data", [Directory where bannertopdf finds its data files (PDF templates)]) - -+AC_SEARCH_LIBS([dlopen], -+ [dl], -+ DLOPEN_LIBS="-ldl", -+ AC_MSG_ERROR([unable to find the dlopen() function]) -+) -+AC_SUBST(DLOPEN_LIBS) -+ - # ====================== - # Check system functions - # ====================== - diff --git a/libre/cups-filters-libre/buildfix_poppler.diff b/libre/cups-filters-libre/buildfix_poppler.diff deleted file mode 100644 index 6f3cbc0b3..000000000 --- a/libre/cups-filters-libre/buildfix_poppler.diff +++ /dev/null @@ -1,224 +0,0 @@ -=== modified file 'NEWS' ---- NEWS 2012-07-11 19:48:23 +0000 -+++ NEWS 2012-07-19 14:02:32 +0000 -@@ -1,6 +1,11 @@ --NEWS - OpenPrinting CUPS Filters v1.0.19 - 2012-07-11 -+NEWS - OpenPrinting CUPS Filters v1.0.20 - 2012-07-19 - ----------------------------------------------------- - -+CHANGES IN V1.0.20 -+ -+ - Made the Poppler-based filters pdftopdf and pdftoopvp build with -+ both Poppler 0.18.x and 0.20.x (Bug #1055). -+ - CHANGES IN V1.0.19 - - - Fixes according to Coverity scan results (Bug #1054). - -=== modified file 'configure.ac' ---- configure.ac 2012-07-11 19:48:23 +0000 -+++ configure.ac 2012-07-19 14:02:32 +0000 -@@ -202,6 +202,7 @@ - # ================ - POPPLER_INCLUDEDIR=`pkg-config poppler --variable includedir` - AC_CHECK_HEADER([UGooString.h], [AC_DEFINE([HAVE_UGOOSTRING_H],,[Have UGooString.h])], []) -+AC_CHECK_HEADER([poppler/cpp/poppler-version.h], [AC_DEFINE([HAVE_CPP_POPPLER_VERSION_H],,[Define if you have Poppler's "cpp/poppler-version.h" header file.])], []) - # FIXME: - # Use proper c compile check not greps and then just link again poppler with all the features - # instead of this and all the libs. - -=== modified file 'filter/PDFError.h' ---- filter/PDFError.h 2012-03-29 14:06:07 +0000 -+++ filter/PDFError.h 2012-07-19 14:02:32 +0000 -@@ -31,6 +31,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - - #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19 - #define pdfError(pos,...) error(errInternal,pos,__VA_ARGS__) - -=== modified file 'filter/pdftoijs.cxx' ---- filter/pdftoijs.cxx 2012-06-04 16:46:44 +0000 -+++ filter/pdftoijs.cxx 2012-07-19 14:02:32 +0000 -@@ -30,6 +30,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include - #include - #include - -=== modified file 'filter/pdftoopvp/OPVPError.h' ---- filter/pdftoopvp/OPVPError.h 2012-03-29 14:06:07 +0000 -+++ filter/pdftoopvp/OPVPError.h 2012-07-19 14:02:32 +0000 -@@ -31,6 +31,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - - #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19 - #define opvpError(pos,...) error(errInternal,pos,__VA_ARGS__) - -=== modified file 'filter/pdftoopvp/OPVPOutputDev.cxx' ---- filter/pdftoopvp/OPVPOutputDev.cxx 2012-03-29 09:42:35 +0000 -+++ filter/pdftoopvp/OPVPOutputDev.cxx 2012-07-19 14:02:32 +0000 -@@ -8,6 +8,9 @@ - //======================================================================== - - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - - #ifdef USE_GCC_PRAGMAS - #pragma implementation - -=== modified file 'filter/pdftoopvp/oprs/OPVPSplash.cxx' ---- filter/pdftoopvp/oprs/OPVPSplash.cxx 2012-03-29 09:42:35 +0000 -+++ filter/pdftoopvp/oprs/OPVPSplash.cxx 2012-07-19 14:02:32 +0000 -@@ -5,6 +5,9 @@ - //======================================================================== - - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - - #ifdef USE_GCC_PRAGMAS - #pragma implementation - -=== modified file 'filter/pdftoopvp/oprs/OPVPSplashState.cxx' ---- filter/pdftoopvp/oprs/OPVPSplashState.cxx 2012-03-29 09:42:35 +0000 -+++ filter/pdftoopvp/oprs/OPVPSplashState.cxx 2012-07-19 14:02:32 +0000 -@@ -11,6 +11,9 @@ - #endif - - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "goo/gmem.h" - #include "splash/SplashPattern.h" - #include "splash/SplashScreen.h" - -=== modified file 'filter/pdftoopvp/oprs/OPVPSplashState.h' ---- filter/pdftoopvp/oprs/OPVPSplashState.h 2012-03-29 09:42:35 +0000 -+++ filter/pdftoopvp/oprs/OPVPSplashState.h 2012-07-19 14:02:32 +0000 -@@ -11,6 +11,9 @@ - #pragma interface - #endif - -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "splash/SplashTypes.h" - #include "splash/SplashState.h" - #include "splash/Splash.h" - -=== modified file 'filter/pdftoopvp/oprs/OPVPSplashXPath.cxx' ---- filter/pdftoopvp/oprs/OPVPSplashXPath.cxx 2012-03-29 09:42:35 +0000 -+++ filter/pdftoopvp/oprs/OPVPSplashXPath.cxx 2012-07-19 14:02:32 +0000 -@@ -1,5 +1,8 @@ - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "splash/Splash.h" - #include "splash/SplashMath.h" - #include "OPVPSplashClip.h" - -=== modified file 'filter/pdftoopvp/oprs/OPVPSplashXPath.h' ---- filter/pdftoopvp/oprs/OPVPSplashXPath.h 2012-03-29 09:42:35 +0000 -+++ filter/pdftoopvp/oprs/OPVPSplashXPath.h 2012-07-19 14:02:32 +0000 -@@ -2,6 +2,9 @@ - #define OPVPSPLASHXPATH_H - - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "splash/SplashXPath.h" - #include "OPVPSplashPath.h" - #include "OPVPSplashState.h" - -=== modified file 'filter/pdftoopvp/pdftoopvp.cxx' ---- filter/pdftoopvp/pdftoopvp.cxx 2012-06-04 16:46:44 +0000 -+++ filter/pdftoopvp/pdftoopvp.cxx 2012-07-19 14:02:32 +0000 -@@ -13,6 +13,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "goo/GooString.h" - #define GSTRING_H // for old GooString.h - #include "goo/gmem.h" - -=== modified file 'filter/pdftopdf/P2PError.h' ---- filter/pdftopdf/P2PError.h 2012-03-29 14:06:07 +0000 -+++ filter/pdftopdf/P2PError.h 2012-07-19 14:02:32 +0000 -@@ -31,6 +31,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - - #if POPPLER_VERSION_MAJOR > 0 || POPPLER_VERSION_MINOR >= 19 - #define p2pError(pos,...) error(errInternal,pos,__VA_ARGS__) - -=== modified file 'filter/pdftopdf/P2PFont.cxx' ---- filter/pdftopdf/P2PFont.cxx 2012-03-29 09:42:35 +0000 -+++ filter/pdftopdf/P2PFont.cxx 2012-07-19 14:02:32 +0000 -@@ -32,6 +32,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "goo/gmem.h" - #include "P2PFont.h" - #include "GfxFont.h" - -=== modified file 'filter/pdftopdf/pdftopdf.cxx' ---- filter/pdftopdf/pdftopdf.cxx 2012-06-04 16:46:44 +0000 -+++ filter/pdftopdf/pdftopdf.cxx 2012-07-19 14:02:32 +0000 -@@ -29,6 +29,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "goo/GooString.h" - #include "goo/gmem.h" - #include "Object.h" - -=== modified file 'filter/pdftoraster.cxx' ---- filter/pdftoraster.cxx 2012-06-04 16:46:44 +0000 -+++ filter/pdftoraster.cxx 2012-07-19 14:02:32 +0000 -@@ -31,6 +31,9 @@ - #include - #include - #include -+#ifdef HAVE_CPP_POPPLER_VERSION_H -+#include "cpp/poppler-version.h" -+#endif - #include "goo/GooString.h" - #include "goo/gmem.h" - #include "Object.h" - -- cgit v1.2.3-2-g168b From 4030033fc8102f13912a8262b940c0ede2d5e710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 00:08:59 -0300 Subject: texlive-bin-libre-2012.0-4: moving new revision to [libre] repo --- libre/texlive-bin-libre/PKGBUILD | 5 ++--- libre/texlive-bin-libre/texlive.install | 16 +++++++++++----- 2 files changed, 13 insertions(+), 8 deletions(-) (limited to 'libre') diff --git a/libre/texlive-bin-libre/PKGBUILD b/libre/texlive-bin-libre/PKGBUILD index 3dd2a8620..d5571465f 100644 --- a/libre/texlive-bin-libre/PKGBUILD +++ b/libre/texlive-bin-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 162397 2012-06-26 20:13:46Z remy $ +# $Id: PKGBUILD 165207 2012-08-13 08:28:02Z remy $ # Maintainer: Rémy Oudompheng # Contributor: francois # Maintainer (Parabola): Michał Masłowski @@ -6,7 +6,7 @@ pkgname=texlive-bin-libre pkgver=2012.0 -pkgrel=2 +pkgrel=4 pkgdesc="TeX Live binaries" license=('GPL') arch=('i686' 'x86_64' 'mips64el') @@ -284,7 +284,6 @@ vpl2vpl _latexextra_scripts=" authorindex exceltex -exceltex makeglossaries pdfannotextractor perltex diff --git a/libre/texlive-bin-libre/texlive.install b/libre/texlive-bin-libre/texlive.install index b85850123..06a40a3b3 100644 --- a/libre/texlive-bin-libre/texlive.install +++ b/libre/texlive-bin-libre/texlive.install @@ -16,13 +16,19 @@ post_install() { } post_upgrade() { + local corename corever _pacout echo ">>> texlive: updating the filename database..." usr/bin/mktexlsr - echo -n "recreating all formats..." - usr/bin/fmtutil-sys --all 1>/dev/null - echo " done." - echo " (logs are under /var/lib/texmf/web2c//.log)" - + _pacout=$(pacman -Q texlive-core 2>/dev/null) + read corename corever <<< ${_pacout} + if [[ ${corever} == 2012* ]]; then + echo -n "recreating all formats..." + usr/bin/fmtutil-sys --all 1>/dev/null + echo " done." + echo " (logs are under /var/lib/texmf/web2c//.log)" + else + echo "WARNING: not recreating formats since texlive-core has version '$corever'" + fi [[ -x usr/bin/install-info ]] || return 0 for file in "${filelist[@]}"; do install-info "$infodir/$file.gz" "$infodir/dir" 2> /dev/null -- cgit v1.2.3-2-g168b From ff0f66c534f9f5d0c042c3eaf48bd7e52d94fa34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 00:14:01 -0300 Subject: grub-0.97-21.4: changing folder name on abslibre --- libre/grub-legacy/040_all_grub-0.96-nxstack.patch | 623 +++++++++++++++++++++ libre/grub-legacy/05-grub-0.97-initrdaddr.diff | 16 + libre/grub-legacy/PKGBUILD | 107 ++++ libre/grub-legacy/ext4.patch | 263 +++++++++ libre/grub-legacy/grub-0.97-gpt.patch | 315 +++++++++++ ...grub-0.97-ldflags-objcopy-remove-build-id.patch | 196 +++++++ libre/grub-legacy/grub-inode-size.patch | 100 ++++ libre/grub-legacy/grub.install | 20 + libre/grub-legacy/i2o.patch | 45 ++ libre/grub-legacy/install-grub | 204 +++++++ libre/grub-legacy/intelmac.patch | 67 +++ libre/grub-legacy/menu.lst | 43 ++ libre/grub-legacy/more-raid.patch | 100 ++++ libre/grub-legacy/rePKGBUILD | 37 ++ libre/grub-legacy/special-devices.patch | 18 + libre/grub/040_all_grub-0.96-nxstack.patch | 623 --------------------- libre/grub/05-grub-0.97-initrdaddr.diff | 16 - libre/grub/PKGBUILD | 107 ---- libre/grub/ext4.patch | 263 --------- libre/grub/grub-0.97-gpt.patch | 315 ----------- ...grub-0.97-ldflags-objcopy-remove-build-id.patch | 196 ------- libre/grub/grub-inode-size.patch | 100 ---- libre/grub/grub.install | 20 - libre/grub/i2o.patch | 45 -- libre/grub/install-grub | 204 ------- libre/grub/intelmac.patch | 67 --- libre/grub/menu.lst | 43 -- libre/grub/more-raid.patch | 100 ---- libre/grub/rePKGBUILD | 37 -- libre/grub/special-devices.patch | 18 - 30 files changed, 2154 insertions(+), 2154 deletions(-) create mode 100644 libre/grub-legacy/040_all_grub-0.96-nxstack.patch create mode 100644 libre/grub-legacy/05-grub-0.97-initrdaddr.diff create mode 100644 libre/grub-legacy/PKGBUILD create mode 100644 libre/grub-legacy/ext4.patch create mode 100644 libre/grub-legacy/grub-0.97-gpt.patch create mode 100644 libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch create mode 100644 libre/grub-legacy/grub-inode-size.patch create mode 100644 libre/grub-legacy/grub.install create mode 100644 libre/grub-legacy/i2o.patch create mode 100644 libre/grub-legacy/install-grub create mode 100644 libre/grub-legacy/intelmac.patch create mode 100644 libre/grub-legacy/menu.lst create mode 100644 libre/grub-legacy/more-raid.patch create mode 100644 libre/grub-legacy/rePKGBUILD create mode 100644 libre/grub-legacy/special-devices.patch delete mode 100644 libre/grub/040_all_grub-0.96-nxstack.patch delete mode 100644 libre/grub/05-grub-0.97-initrdaddr.diff delete mode 100644 libre/grub/PKGBUILD delete mode 100644 libre/grub/ext4.patch delete mode 100644 libre/grub/grub-0.97-gpt.patch delete mode 100644 libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch delete mode 100644 libre/grub/grub-inode-size.patch delete mode 100644 libre/grub/grub.install delete mode 100644 libre/grub/i2o.patch delete mode 100644 libre/grub/install-grub delete mode 100644 libre/grub/intelmac.patch delete mode 100644 libre/grub/menu.lst delete mode 100644 libre/grub/more-raid.patch delete mode 100644 libre/grub/rePKGBUILD delete mode 100644 libre/grub/special-devices.patch (limited to 'libre') diff --git a/libre/grub-legacy/040_all_grub-0.96-nxstack.patch b/libre/grub-legacy/040_all_grub-0.96-nxstack.patch new file mode 100644 index 000000000..121941c75 --- /dev/null +++ b/libre/grub-legacy/040_all_grub-0.96-nxstack.patch @@ -0,0 +1,623 @@ +Fix NX segfaulting on amd64. + +Patch by Peter Jones. + +http://lists.gnu.org/archive/html/bug-grub/2005-03/msg00011.html + +--- grub-0.97/grub/asmstub.c ++++ grub-0.97/grub/asmstub.c +@@ -42,6 +42,7 @@ + #include + #include + #include ++#include + + #ifdef __linux__ + # include /* ioctl */ +@@ -79,7 +80,7 @@ + struct apm_info apm_bios_info; + + /* Emulation requirements. */ +-char *grub_scratch_mem = 0; ++void *grub_scratch_mem = 0; + + struct geometry *disks = 0; + +@@ -103,14 +104,62 @@ + static unsigned int serial_speed; + #endif /* SIMULATE_SLOWNESS_OF_SERIAL */ + ++/* This allocates page-aligned storage of the specified size, which must be ++ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE) ++ */ ++#ifdef __linux__ ++static void * ++grub_mmap_alloc(size_t len) ++{ ++ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE; ++ ++#ifdef MAP_32BIT ++ mmap_flags |= MAP_32BIT; ++#endif ++ /* Mark the simulated stack executable, as GCC uses stack trampolines ++ * to implement nested functions. */ ++ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0); ++} ++#else /* !defined(__linux__) */ ++static void * ++grub_mmap_alloc(size_t len) ++{ ++ int fd = 0, offset = 0, ret = 0; ++ void *pa = MAP_FAILED; ++ char template[] = "/tmp/grub_mmap_alloc_XXXXXX"; ++ errno_t e; ++ ++ fd = mkstemp(template); ++ if (fd < 0) ++ return pa; ++ ++ unlink(template); ++ ++ ret = ftruncate(fd, len); ++ if (ret < 0) ++ return pa; ++ ++ /* Mark the simulated stack executable, as GCC uses stack trampolines ++ * to implement nested functions. */ ++ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, ++ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset); ++ ++ e = errno; ++ close(fd); ++ errno = e; ++ return pa; ++} ++#endif /* defined(__linux__) */ ++ + /* The main entry point into this mess. */ + int + grub_stage2 (void) + { + /* These need to be static, because they survive our stack transitions. */ + static int status = 0; +- static char *realstack; +- char *scratch, *simstack; ++ static void *realstack; ++ void *simstack_alloc_base, *simstack; ++ size_t simstack_size, page_size; + int i; + + /* We need a nested function so that we get a clean stack frame, +@@ -140,9 +189,35 @@ + } + + assert (grub_scratch_mem == 0); +- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15); +- assert (scratch); +- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4); ++ ++ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and ++ * make sure the memory is aligned to a multiple of the system's ++ * page size */ ++ page_size = sysconf (_SC_PAGESIZE); ++ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15); ++ if (simstack_size % page_size) ++ { ++ /* If we're not on a page_size boundary, round up to the next one */ ++ simstack_size &= ~(page_size-1); ++ simstack_size += page_size; ++ } ++ ++ /* Add one for a PROT_NONE boundary page at each end. */ ++ simstack_size += 2 * page_size; ++ ++ simstack_alloc_base = grub_mmap_alloc(simstack_size); ++ assert (simstack_alloc_base != MAP_FAILED); ++ ++ /* mark pages above and below our simstack area as innaccessable. ++ * If the implementation we're using doesn't support that, then the ++ * new protection modes are undefined. It's safe to just ignore ++ * them, though. It'd be nice if we knew that we'd get a SEGV for ++ * touching the area, but that's all. it'd be nice to have. */ ++ mprotect (simstack_alloc_base, page_size, PROT_NONE); ++ mprotect ((void *)((unsigned long)simstack_alloc_base + ++ simstack_size - page_size), page_size, PROT_NONE); ++ ++ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size); + + /* FIXME: simulate the memory holes using mprot, if available. */ + +@@ -215,7 +290,7 @@ + device_map = 0; + free (disks); + disks = 0; +- free (scratch); ++ munmap(simstack_alloc_base, simstack_size); + grub_scratch_mem = 0; + + if (serial_device) +--- grub-0.97/stage2/builtins.c ++++ grub-0.97/stage2/builtins.c +@@ -131,63 +131,98 @@ + } + + ++/* blocklist_read_helper nee disk_read_blocklist_func was a nested ++ * function, to which pointers were taken and exposed globally. Even ++ * in the GNU-C nested functions extension, they have local linkage, ++ * and aren't guaranteed to be accessable *at all* outside of their ++ * containing scope. ++ * ++ * Above and beyond all of that, the variables within blocklist_func_context ++ * are originally local variables, with local (not even static) linkage, ++ * from within blocklist_func. These were each referenced by ++ * disk_read_blocklist_func, which is only called from other functions ++ * through a globally scoped pointer. ++ * ++ * The documentation in GCC actually uses the words "all hell will break ++ * loose" to describe this scenario. ++ * ++ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn ++ * about it (possibly because of the scoping madness?) ++ */ ++ ++static struct { ++ int start_sector; ++ int num_sectors; ++ int num_entries; ++ int last_length; ++} blocklist_func_context = { ++ .start_sector = 0, ++ .num_sectors = 0, ++ .num_entries = 0, ++ .last_length = 0 ++}; ++ ++/* Collect contiguous blocks into one entry as many as possible, ++ and print the blocklist notation on the screen. */ ++static void ++blocklist_read_helper (int sector, int offset, int length) ++{ ++ int *start_sector = &blocklist_func_context.start_sector; ++ int *num_sectors = &blocklist_func_context.num_sectors; ++ int *num_entries = &blocklist_func_context.num_entries; ++ int *last_length = &blocklist_func_context.last_length; ++ ++ if (*num_sectors > 0) ++ { ++ if (*start_sector + *num_sectors == sector ++ && offset == 0 && *last_length == SECTOR_SIZE) ++ { ++ *num_sectors++; ++ *last_length = length; ++ return; ++ } ++ else ++ { ++ if (*last_length == SECTOR_SIZE) ++ grub_printf ("%s%d+%d", *num_entries ? "," : "", ++ *start_sector - part_start, *num_sectors); ++ else if (*num_sectors > 1) ++ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "", ++ *start_sector - part_start, *num_sectors-1, ++ *start_sector + *num_sectors-1 - part_start, ++ *last_length); ++ else ++ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "", ++ *start_sector - part_start, *last_length); ++ *num_entries++; ++ *num_sectors = 0; ++ } ++ } ++ ++ if (offset > 0) ++ { ++ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "", ++ sector-part_start, offset, offset+length); ++ *num_entries++; ++ } ++ else ++ { ++ *start_sector = sector; ++ *num_sectors = 1; ++ *last_length = length; ++ } ++} ++ + /* blocklist */ + static int + blocklist_func (char *arg, int flags) + { + char *dummy = (char *) RAW_ADDR (0x100000); +- int start_sector; +- int num_sectors = 0; +- int num_entries = 0; +- int last_length = 0; +- +- auto void disk_read_blocklist_func (int sector, int offset, int length); +- +- /* Collect contiguous blocks into one entry as many as possible, +- and print the blocklist notation on the screen. */ +- auto void disk_read_blocklist_func (int sector, int offset, int length) +- { +- if (num_sectors > 0) +- { +- if (start_sector + num_sectors == sector +- && offset == 0 && last_length == SECTOR_SIZE) +- { +- num_sectors++; +- last_length = length; +- return; +- } +- else +- { +- if (last_length == SECTOR_SIZE) +- grub_printf ("%s%d+%d", num_entries ? "," : "", +- start_sector - part_start, num_sectors); +- else if (num_sectors > 1) +- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "", +- start_sector - part_start, num_sectors-1, +- start_sector + num_sectors-1 - part_start, +- last_length); +- else +- grub_printf ("%s%d[0-%d]", num_entries ? "," : "", +- start_sector - part_start, last_length); +- num_entries++; +- num_sectors = 0; +- } +- } +- +- if (offset > 0) +- { +- grub_printf("%s%d[%d-%d]", num_entries ? "," : "", +- sector-part_start, offset, offset+length); +- num_entries++; +- } +- else +- { +- start_sector = sector; +- num_sectors = 1; +- last_length = length; +- } +- } + ++ int *start_sector = &blocklist_func_context.start_sector; ++ int *num_sectors = &blocklist_func_context.num_sectors; ++ int *num_entries = &blocklist_func_context.num_entries; ++ + /* Open the file. */ + if (! grub_open (arg)) + return 1; +@@ -204,15 +241,15 @@ + grub_printf (")"); + + /* Read in the whole file to DUMMY. */ +- disk_read_hook = disk_read_blocklist_func; ++ disk_read_hook = blocklist_read_helper; + if (! grub_read (dummy, -1)) + goto fail; + + /* The last entry may not be printed yet. Don't check if it is a + * full sector, since it doesn't matter if we read too much. */ +- if (num_sectors > 0) +- grub_printf ("%s%d+%d", num_entries ? "," : "", +- start_sector - part_start, num_sectors); ++ if (*num_sectors > 0) ++ grub_printf ("%s%d+%d", *num_entries ? "," : "", ++ *start_sector - part_start, *num_sectors); + + grub_printf ("\n"); + +@@ -1868,6 +1905,77 @@ + + + /* install */ ++static struct { ++ int saved_sector; ++ int installaddr; ++ int installlist; ++ char *stage2_first_buffer; ++} install_func_context = { ++ .saved_sector = 0, ++ .installaddr = 0, ++ .installlist = 0, ++ .stage2_first_buffer = NULL, ++}; ++ ++/* Save the first sector of Stage2 in STAGE2_SECT. */ ++/* Formerly disk_read_savesect_func with local scope inside install_func */ ++static void ++install_savesect_helper(int sector, int offset, int length) ++{ ++ if (debug) ++ printf ("[%d]", sector); ++ ++ /* ReiserFS has files which sometimes contain data not aligned ++ on sector boundaries. Returning an error is better than ++ silently failing. */ ++ if (offset != 0 || length != SECTOR_SIZE) ++ errnum = ERR_UNALIGNED; ++ ++ install_func_context.saved_sector = sector; ++} ++ ++/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */ ++/* Formerly disk_read_blocklist_func with local scope inside install_func */ ++static void ++install_blocklist_helper (int sector, int offset, int length) ++{ ++ int *installaddr = &install_func_context.installaddr; ++ int *installlist = &install_func_context.installlist; ++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; ++ /* Was the last sector full? */ ++ static int last_length = SECTOR_SIZE; ++ ++ if (debug) ++ printf("[%d]", sector); ++ ++ if (offset != 0 || last_length != SECTOR_SIZE) ++ { ++ /* We found a non-sector-aligned data block. */ ++ errnum = ERR_UNALIGNED; ++ return; ++ } ++ ++ last_length = length; ++ ++ if (*((unsigned long *) (*installlist - 4)) ++ + *((unsigned short *) *installlist) != sector ++ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4) ++ { ++ *installlist -= 8; ++ ++ if (*((unsigned long *) (*installlist - 8))) ++ errnum = ERR_WONT_FIT; ++ else ++ { ++ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4); ++ *((unsigned long *) (*installlist - 4)) = sector; ++ } ++ } ++ ++ *((unsigned short *) *installlist) += 1; ++ *installaddr += 512; ++} ++ + static int + install_func (char *arg, int flags) + { +@@ -1875,8 +1983,12 @@ + char *stage1_buffer = (char *) RAW_ADDR (0x100000); + char *stage2_buffer = stage1_buffer + SECTOR_SIZE; + char *old_sect = stage2_buffer + SECTOR_SIZE; +- char *stage2_first_buffer = old_sect + SECTOR_SIZE; +- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; ++ /* stage2_first_buffer used to be defined as: ++ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */ ++ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; ++ /* and stage2_second_buffer was: ++ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */ ++ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE; + /* XXX: Probably SECTOR_SIZE is reasonable. */ + char *config_filename = stage2_second_buffer + SECTOR_SIZE; + char *dummy = config_filename + SECTOR_SIZE; +@@ -1885,10 +1997,11 @@ + int src_drive, src_partition, src_part_start; + int i; + struct geometry dest_geom, src_geom; +- int saved_sector; ++ int *saved_sector = &install_func_context.saved_sector; + int stage2_first_sector, stage2_second_sector; + char *ptr; +- int installaddr, installlist; ++ int *installaddr = &install_func_context.installaddr; ++ int *installlist = &install_func_context.installlist; + /* Point to the location of the name of a configuration file in Stage 2. */ + char *config_file_location; + /* If FILE is a Stage 1.5? */ +@@ -1897,67 +2010,13 @@ + int is_open = 0; + /* If LBA is forced? */ + int is_force_lba = 0; +- /* Was the last sector full? */ +- int last_length = SECTOR_SIZE; +- ++ ++ *stage2_first_buffer = old_sect + SECTOR_SIZE; + #ifdef GRUB_UTIL + /* If the Stage 2 is in a partition mounted by an OS, this will store + the filename under the OS. */ + char *stage2_os_file = 0; + #endif /* GRUB_UTIL */ +- +- auto void disk_read_savesect_func (int sector, int offset, int length); +- auto void disk_read_blocklist_func (int sector, int offset, int length); +- +- /* Save the first sector of Stage2 in STAGE2_SECT. */ +- auto void disk_read_savesect_func (int sector, int offset, int length) +- { +- if (debug) +- printf ("[%d]", sector); +- +- /* ReiserFS has files which sometimes contain data not aligned +- on sector boundaries. Returning an error is better than +- silently failing. */ +- if (offset != 0 || length != SECTOR_SIZE) +- errnum = ERR_UNALIGNED; +- +- saved_sector = sector; +- } +- +- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and +- INSTALLSECT. */ +- auto void disk_read_blocklist_func (int sector, int offset, int length) +- { +- if (debug) +- printf("[%d]", sector); +- +- if (offset != 0 || last_length != SECTOR_SIZE) +- { +- /* We found a non-sector-aligned data block. */ +- errnum = ERR_UNALIGNED; +- return; +- } +- +- last_length = length; +- +- if (*((unsigned long *) (installlist - 4)) +- + *((unsigned short *) installlist) != sector +- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4) +- { +- installlist -= 8; +- +- if (*((unsigned long *) (installlist - 8))) +- errnum = ERR_WONT_FIT; +- else +- { +- *((unsigned short *) (installlist + 2)) = (installaddr >> 4); +- *((unsigned long *) (installlist - 4)) = sector; +- } +- } +- +- *((unsigned short *) installlist) += 1; +- installaddr += 512; +- } + + /* First, check the GNU-style long option. */ + while (1) +@@ -1987,10 +2049,10 @@ + addr = skip_to (0, file); + + /* Get the installation address. */ +- if (! safe_parse_maxint (&addr, &installaddr)) ++ if (! safe_parse_maxint (&addr, installaddr)) + { + /* ADDR is not specified. */ +- installaddr = 0; ++ *installaddr = 0; + ptr = addr; + errnum = 0; + } +@@ -2084,17 +2146,17 @@ + = (dest_drive & BIOS_FLAG_FIXED_DISK); + + /* Read the first sector of Stage 2. */ +- disk_read_hook = disk_read_savesect_func; +- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) ++ disk_read_hook = install_savesect_helper; ++ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) + goto fail; + +- stage2_first_sector = saved_sector; ++ stage2_first_sector = *saved_sector; + + /* Read the second sector of Stage 2. */ + if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE) + goto fail; + +- stage2_second_sector = saved_sector; ++ stage2_second_sector = *saved_sector; + + /* Check for the version of Stage 2. */ + if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS)) +@@ -2110,27 +2172,27 @@ + + /* If INSTALLADDR is not specified explicitly in the command-line, + determine it by the Stage 2 id. */ +- if (! installaddr) ++ if (! *installaddr) + { + if (! is_stage1_5) + /* Stage 2. */ +- installaddr = 0x8000; ++ *installaddr = 0x8000; + else + /* Stage 1.5. */ +- installaddr = 0x2000; ++ *installaddr = 0x2000; + } + + *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR)) + = stage2_first_sector; + *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS)) +- = installaddr; ++ = *installaddr; + *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT)) +- = installaddr >> 4; ++ = *installaddr >> 4; + +- i = (int) stage2_first_buffer + SECTOR_SIZE - 4; ++ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4; + while (*((unsigned long *) i)) + { +- if (i < (int) stage2_first_buffer ++ if (i < (int) *stage2_first_buffer + || (*((int *) (i - 4)) & 0x80000000) + || *((unsigned short *) i) >= 0xA00 + || *((short *) (i + 2)) == 0) +@@ -2144,13 +2206,13 @@ + i -= 8; + } + +- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4; +- installaddr += SECTOR_SIZE; ++ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4; ++ *installaddr += SECTOR_SIZE; + + /* Read the whole of Stage2 except for the first sector. */ + grub_seek (SECTOR_SIZE); + +- disk_read_hook = disk_read_blocklist_func; ++ disk_read_hook = install_blocklist_helper; + if (! grub_read (dummy, -1)) + goto fail; + +@@ -2233,7 +2295,7 @@ + /* Skip the first sector. */ + grub_seek (SECTOR_SIZE); + +- disk_read_hook = disk_read_savesect_func; ++ disk_read_hook = install_savesect_helper; + if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE) + goto fail; + +@@ -2303,7 +2365,7 @@ + else + #endif /* GRUB_UTIL */ + { +- if (! devwrite (saved_sector - part_start, 1, stage2_buffer)) ++ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer)) + goto fail; + } + } +@@ -2325,7 +2387,7 @@ + goto fail; + } + +- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) ++ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) + { + fclose (fp); + errnum = ERR_WRITE; +@@ -2352,7 +2414,7 @@ + goto fail; + + if (! devwrite (stage2_first_sector - src_part_start, 1, +- stage2_first_buffer)) ++ *stage2_first_buffer)) + goto fail; + + if (! devwrite (stage2_second_sector - src_part_start, 1, +--- grub-0.97/stage2/shared.h ++++ grub-0.97/stage2/shared.h +@@ -36,8 +36,8 @@ + + /* Maybe redirect memory requests through grub_scratch_mem. */ + #ifdef GRUB_UTIL +-extern char *grub_scratch_mem; +-# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem) ++extern void *grub_scratch_mem; ++# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem) + # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4) + #else + # define RAW_ADDR(x) (x) diff --git a/libre/grub-legacy/05-grub-0.97-initrdaddr.diff b/libre/grub-legacy/05-grub-0.97-initrdaddr.diff new file mode 100644 index 000000000..ccf5f3e54 --- /dev/null +++ b/libre/grub-legacy/05-grub-0.97-initrdaddr.diff @@ -0,0 +1,16 @@ +--- grub-0.96/stage2/boot.c ++++ grub-0.96/stage2/boot.c +@@ -824,8 +824,11 @@ + moveto = (mbi.mem_upper + 0x400) << 10; + + moveto = (moveto - len) & 0xfffff000; +- max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203 +- ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS); ++ max_addr = LINUX_INITRD_MAX_ADDRESS; ++ if (lh->header == LINUX_MAGIC_SIGNATURE && ++ lh->version >= 0x0203 && ++ lh->initrd_addr_max < max_addr) ++ max_addr = lh->initrd_addr_max; + if (moveto + len >= max_addr) + moveto = (max_addr - len) & 0xfffff000; + diff --git a/libre/grub-legacy/PKGBUILD b/libre/grub-legacy/PKGBUILD new file mode 100644 index 000000000..d63a33ec9 --- /dev/null +++ b/libre/grub-legacy/PKGBUILD @@ -0,0 +1,107 @@ +# $Id: PKGBUILD 141999 2011-11-03 21:16:38Z ronald $ +# Maintainer: Ronald van Haren +# Maintainer (Parabola): André Silva +# Maintainer (Parabola): Jorge López + +pkgname=grub +pkgver=0.97 +pkgrel=21.4 +pkgdesc="A GNU multiboot boot loader (Parabola rebranded)" +arch=('i686' 'x86_64') +license=('GPL') +url="http://www.gnu.org/software/grub/" +groups=('base') +depends=('ncurses' 'diffutils' 'sed') +optdepends=('xfsprogs: freezing of xfs /boot in install-grub script') +source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz + menu.lst + install-grub + 040_all_grub-0.96-nxstack.patch + 05-grub-0.97-initrdaddr.diff + i2o.patch + special-devices.patch + more-raid.patch + intelmac.patch + grub-inode-size.patch + ext4.patch + grub-0.97-ldflags-objcopy-remove-build-id.patch) +backup=('boot/grub/menu.lst') +install=grub.install +sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb' + 'e13bf0f91510fd6bb9451e6eb1b2a6e4a03e8b5f' + '3e23bfee50285c8c7b9ef9ec07964310278b1e09' + '157b81dbad3576536b08642242accfa1aeb093a9' + 'adbb4685c98797ffb4dc83561ec75698991dddbd' + 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc' + 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0' + '45fe668a3779664fb292591f426976b6c784d6c8' + '066d7ab1ae442f88e94c9e4f1867ac6682965d06' + '0436aa6fa0b6f768289172f983a3f4b69384629e' + 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4' + '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869') + +#set destination architecture here +#DESTARCH="i686" +DESTARCH="x86_64" + + +build() { + cd $srcdir/$pkgname-$pkgver + fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g' + + # optimizations break the build -- disable them + # adding special devices to grub, patches are from fedora + patch -Np1 -i ../special-devices.patch + patch -Np1 -i ../i2o.patch + patch -Np1 -i ../more-raid.patch + patch -Np1 -i ../intelmac.patch + # Add support for bigger inode size to e2fs_stage1_5 + patch -Np1 -i ../grub-inode-size.patch + # Add ext4 support + # http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html + patch -Np1 -i ../ext4.patch + # binutils fix + patch -Np1 -i ../grub-0.97-ldflags-objcopy-remove-build-id.patch + + sed -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac" + sed -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac" + + ## recreate ./configure script with the required changes in LDFLAGS and objcopy + aclocal + autoconf + autoreconf + automake + + #arch64 fixes for static build + if [ "$CARCH" = "x86_64" ]; then ## correcting problems for new wersion of autotools + + echo "this package has to be built on i686, won't compile on x86_64" + sleep 5 + else + if [ "$DESTARCH" = "x86_64" ]; then + # patch from gentoo for fixing a segfault + patch -Np1 -i ../040_all_grub-0.96-nxstack.patch + # patch from frugalware to make it boot when more than 2GB ram installed + patch -Np1 -i ../05-grub-0.97-initrdaddr.diff + CFLAGS="-static -fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \ + --mandir=/usr/share/man --infodir=/usr/share/info + else + CFLAGS="-fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \ + --mandir=/usr/share/man --infodir=/usr/share/info + fi + fi +} + +package() { + cd $srcdir/$pkgname-$pkgver + + CFLAGS= make + make DESTDIR=$pkgdir install + install -D -m644 ../menu.lst $pkgdir/boot/grub/menu.lst + install -D -m755 ../install-grub $pkgdir/sbin/install-grub + + if [ "$DESTARCH" = "x86_64" ]; then + # fool makepkg into building a x86_64 package + export CARCH="x86_64" + fi +} diff --git a/libre/grub-legacy/ext4.patch b/libre/grub-legacy/ext4.patch new file mode 100644 index 000000000..8a2f9bdb0 --- /dev/null +++ b/libre/grub-legacy/ext4.patch @@ -0,0 +1,263 @@ +diff -ruNp grub-0.97/stage2/fsys_ext2fs.c grub-0.97-patch/stage2/fsys_ext2fs.c +--- grub-0.97/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200 ++++ grub-0.97-patch/stage2/fsys_ext2fs.c 2007-12-29 16:25:19.000000000 ++0100 +@@ -51,6 +51,9 @@ typedef unsigned int __u32; + #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) + #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) + ++/* Inode flags */ ++#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ ++ + /* include/linux/ext2_fs.h */ + struct ext2_super_block + { +@@ -191,6 +194,42 @@ struct ext2_dir_entry + #define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ + ~EXT2_DIR_ROUND) + ++/* linux/ext4_fs_extents.h */ ++/* ++ * This is the extent on-disk structure. ++ * It's used at the bottom of the tree. ++ */ ++struct ext4_extent { ++ __u32 ee_block; /* first logical block extent covers */ ++ __u16 ee_len; /* number of blocks covered by extent */ ++ __u16 ee_start_hi; /* high 16 bits of physical block */ ++ __u32 ee_start; /* low 32 bits of physical block */ ++}; ++ ++/* ++ * This is index on-disk structure. ++ * It's used at all the levels except the bottom. ++ */ ++struct ext4_extent_idx { ++ __u32 ei_block; /* index covers logical blocks from 'block' */ ++ __u32 ei_leaf; /* pointer to the physical block of the next * ++ * level. leaf or next index could be there */ ++ __u16 ei_leaf_hi; /* high 16 bits of physical block */ ++ __u16 ei_unused; ++}; ++ ++/* ++ * Each block (leaves and indexes), even inode-stored has header. ++ */ ++struct ext4_extent_header { ++ __u16 eh_magic; /* probably will support different formats */ ++ __u16 eh_entries; /* number of valid entries */ ++ __u16 eh_max; /* capacity of store in entries */ ++ __u16 eh_depth; /* has tree real underlying blocks? */ ++ __u32 eh_generation; /* generation of the tree */ ++}; ++ ++#define EXT4_EXT_MAGIC 0xf30a + + /* ext2/super.c */ + #define log2(n) ffz(~(n)) +@@ -279,6 +318,26 @@ ext2_rdfsb (int fsblock, int buffer) + EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer); + } + ++/* Walk through extents index tree to find the good leaf */ ++static struct ext4_extent_header * ++ext4_recurse_extent_index(struct ext4_extent_header *extent_block, int logical_block) ++{ ++ int i; ++ struct ext4_extent_idx *index = (struct ext4_extent_idx *) (extent_block + 1); ++ if (extent_block->eh_magic != EXT4_EXT_MAGIC) ++ return NULL; ++ if (extent_block->eh_depth == 0) ++ return extent_block; ++ for (i = 0; i < extent_block->eh_entries; i++) ++ { ++ if (logical_block < index[i].ei_block) ++ break; ++ } ++ if (i == 0 || !ext2_rdfsb(index[i-1].ei_leaf, DATABLOCK1)) ++ return NULL; ++ return (ext4_recurse_extent_index((struct ext4_extent_header *) DATABLOCK1, logical_block)); ++} ++ + /* from + ext2/inode.c:ext2_bmap() + */ +--- grub-0.97/stage2/fsys_ext2fs.c~ 2008-12-28 20:19:00.000000000 +0100 ++++ grub-0.97/stage2/fsys_ext2fs.c 2008-12-28 20:19:00.000000000 +0100 +@@ -366,83 +366,106 @@ + } + printf ("logical block %d\n", logical_block); + #endif /* E2DEBUG */ +- +- /* if it is directly pointed to by the inode, return that physical addr */ +- if (logical_block < EXT2_NDIR_BLOCKS) +- { +-#ifdef E2DEBUG +- printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block])); +- printf ("returning %d\n", INODE->i_block[logical_block]); +-#endif /* E2DEBUG */ +- return INODE->i_block[logical_block]; +- } +- /* else */ +- logical_block -= EXT2_NDIR_BLOCKS; +- /* try the indirect block */ +- if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK)) ++ /* standard ext2 inode */ ++ if (!(INODE->i_flags & EXT4_EXTENTS_FL)) + { +- if (mapblock1 != 1 +- && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1)) +- { +- errnum = ERR_FSYS_CORRUPT; +- return -1; +- } +- mapblock1 = 1; +- return ((__u32 *) DATABLOCK1)[logical_block]; +- } +- /* else */ +- logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK); +- /* now try the double indirect block */ +- if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2))) +- { +- int bnum; +- if (mapblock1 != 2 +- && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1)) +- { +- errnum = ERR_FSYS_CORRUPT; +- return -1; +- } +- mapblock1 = 2; +- if ((bnum = (((__u32 *) DATABLOCK1) +- [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)])) +- != mapblock2 +- && !ext2_rdfsb (bnum, DATABLOCK2)) +- { +- errnum = ERR_FSYS_CORRUPT; +- return -1; +- } +- mapblock2 = bnum; ++ /* if it is directly pointed to by the inode, return that physical addr */ ++ if (logical_block < EXT2_NDIR_BLOCKS) ++ { ++#ifdef E2DEBUG ++ printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block])); ++ printf ("returning %d\n", INODE->i_block[logical_block]); ++#endif /* E2DEBUG */ ++ return INODE->i_block[logical_block]; ++ } ++ /* else */ ++ logical_block -= EXT2_NDIR_BLOCKS; ++ /* try the indirect block */ ++ if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK)) ++ { ++ if (mapblock1 != 1 ++ && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ mapblock1 = 1; ++ return ((__u32 *) DATABLOCK1)[logical_block]; ++ } ++ /* else */ ++ logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK); ++ /* now try the double indirect block */ ++ if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2))) ++ { ++ int bnum; ++ if (mapblock1 != 2 ++ && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ mapblock1 = 2; ++ if ((bnum = (((__u32 *) DATABLOCK1) ++ [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)])) ++ != mapblock2 ++ && !ext2_rdfsb (bnum, DATABLOCK2)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ mapblock2 = bnum; ++ return ((__u32 *) DATABLOCK2) ++ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; ++ } ++ /* else */ ++ mapblock2 = -1; ++ logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)); ++ if (mapblock1 != 3 ++ && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ mapblock1 = 3; ++ if (!ext2_rdfsb (((__u32 *) DATABLOCK1) ++ [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) ++ * 2)], ++ DATABLOCK2)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ if (!ext2_rdfsb (((__u32 *) DATABLOCK2) ++ [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)) ++ & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)], ++ DATABLOCK2)) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } + return ((__u32 *) DATABLOCK2) +- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; +- } +- /* else */ +- mapblock2 = -1; +- logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)); +- if (mapblock1 != 3 +- && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1)) +- { +- errnum = ERR_FSYS_CORRUPT; +- return -1; ++ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; + } +- mapblock1 = 3; +- if (!ext2_rdfsb (((__u32 *) DATABLOCK1) +- [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) +- * 2)], +- DATABLOCK2)) +- { +- errnum = ERR_FSYS_CORRUPT; +- return -1; +- } +- if (!ext2_rdfsb (((__u32 *) DATABLOCK2) +- [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)) +- & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)], +- DATABLOCK2)) ++ /* inode is in extents format */ ++ else + { ++ int i; ++ struct ext4_extent_header *extent_hdr = ext4_recurse_extent_index((struct ext4_extent_header *) INODE->i_block, logical_block); ++ struct ext4_extent *extent = (struct ext4_extent *) (extent_hdr + 1); ++ if ( extent_hdr == NULL || extent_hdr->eh_magic != EXT4_EXT_MAGIC) ++ { ++ errnum = ERR_FSYS_CORRUPT; ++ return -1; ++ } ++ for (i = 0; ieh_entries; i++) ++ { ++ if (extent[i].ee_block <= logical_block && logical_block < extent[i].ee_block + extent[i].ee_len && !(extent[i].ee_len>>15)) ++ return (logical_block - extent[i].ee_block + extent[i].ee_start); ++ } ++ /* We should not arrive here */ + errnum = ERR_FSYS_CORRUPT; + return -1; + } +- return ((__u32 *) DATABLOCK2) +- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; + } + + /* preconditions: all preconds of ext2fs_block_map */ diff --git a/libre/grub-legacy/grub-0.97-gpt.patch b/libre/grub-legacy/grub-0.97-gpt.patch new file mode 100644 index 000000000..7b1a55cd8 --- /dev/null +++ b/libre/grub-legacy/grub-0.97-gpt.patch @@ -0,0 +1,315 @@ +diff -ruBbd --unidirectional-new-file grub-0.96/stage2/builtins.c grub-0.96-patched/stage2/builtins.c +--- grub-0.96/stage2/builtins.c 2004-06-20 09:33:04.000000000 -0400 ++++ grub-0.96-patched/stage2/builtins.c 2007-01-04 13:56:06.000000000 -0500 +@@ -1229,14 +1229,15 @@ + for (drive = 0x80; drive < 0x88; drive++) + { + unsigned long part = 0xFFFFFF; +- unsigned long start, len, offset, ext_offset; +- int type, entry; ++ unsigned long start, len, offset, ext_offset, gpt_offset; ++ int type, entry, gpt_count, gpt_size; + char buf[SECTOR_SIZE]; + + current_drive = drive; + while (next_partition (drive, 0xFFFFFF, &part, &type, + &start, &len, &offset, &entry, +- &ext_offset, buf)) ++ &ext_offset, &gpt_offset, ++ &gpt_count, &gpt_size, buf)) + { + if (type != PC_SLICE_TYPE_NONE + && ! IS_PC_SLICE_TYPE_BSD (type) +@@ -2806,8 +2807,8 @@ + { + int new_type; + unsigned long part = 0xFFFFFF; +- unsigned long start, len, offset, ext_offset; +- int entry, type; ++ unsigned long start, len, offset, ext_offset, gpt_offset; ++ int entry, type, gpt_count, gpt_size; + char mbr[512]; + + /* Get the drive and the partition. */ +@@ -2844,7 +2845,14 @@ + /* Look for the partition. */ + while (next_partition (current_drive, 0xFFFFFF, &part, &type, + &start, &len, &offset, &entry, +- &ext_offset, mbr)) ++ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) ++ /* The partition may not be a GPT partition. */ ++ if (gpt_offset != 0) ++ { ++ errnum = ERR_BAD_ARGUMENT; ++ return 1; ++ } ++ + { + if (part == current_partition) + { +diff -ruBbd --unidirectional-new-file grub-0.96/stage2/disk_io.c grub-0.96-patched/stage2/disk_io.c +--- grub-0.96/stage2/disk_io.c 2004-05-23 12:35:24.000000000 -0400 ++++ grub-0.96-patched/stage2/disk_io.c 2007-01-04 14:01:08.000000000 -0500 +@@ -21,6 +21,7 @@ + + #include + #include ++#include + + #ifdef SUPPORT_NETBOOT + # define GRUB 1 +@@ -502,8 +503,8 @@ + set_partition_hidden_flag (int hidden) + { + unsigned long part = 0xFFFFFF; +- unsigned long start, len, offset, ext_offset; +- int entry, type; ++ unsigned long start, len, offset, ext_offset, gpt_offset; ++ int entry, type, gpt_count, gpt_size; + char mbr[512]; + + /* The drive must be a hard disk. */ +@@ -524,7 +525,14 @@ + /* Look for the partition. */ + while (next_partition (current_drive, 0xFFFFFF, &part, &type, + &start, &len, &offset, &entry, +- &ext_offset, mbr)) ++ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) ++ /* The partition may not be a GPT partition. */ ++ if (gpt_offset != 0) ++ { ++ errnum = ERR_BAD_ARGUMENT; ++ return 1; ++ } ++ + { + if (part == current_partition) + { +@@ -577,11 +585,14 @@ + unsigned long *partition, int *type, + unsigned long *start, unsigned long *len, + unsigned long *offset, int *entry, +- unsigned long *ext_offset, char *buf) ++ unsigned long *ext_offset, ++ unsigned long *gpt_offset, int *gpt_count, ++ int *gpt_size, char *buf) + { + /* Forward declarations. */ + auto int next_bsd_partition (void); + auto int next_pc_slice (void); ++ auto int next_gpt_slice(void); + + /* Get next BSD partition in current PC slice. */ + int next_bsd_partition (void) +@@ -666,6 +677,40 @@ + return 0; + } + ++ /* If this is a GPT partition table, read it as such. */ ++ if (*entry == -1 && *offset == 0 && PC_SLICE_TYPE (buf, 0) == PC_SLICE_TYPE_GPT) ++ { ++ struct grub_gpt_header *hdr = (struct grub_gpt_header *) buf; ++ ++ /* Read in the GPT Partition table header. */ ++ if (! rawread (drive, 1, 0, SECTOR_SIZE, buf)) ++ return 0; ++ ++ if (hdr->magic == GPT_HEADER_MAGIC && hdr->version == 0x10000) ++ { ++ /* Let gpt_offset point to the first entry in the GPT ++ partition table. This can also be used by callers of ++ next_partition to determine if a entry comes from a ++ GPT partition table or not. */ ++ *gpt_offset = hdr->partitions; ++ *gpt_count = hdr->maxpart; ++ *gpt_size = hdr->partentry_size; ++ ++ return next_gpt_slice(); ++ } ++ else ++ { ++ /* This is not a valid header for a GPT partition table. ++ Re-read the MBR or the boot sector of the extended ++ partition. */ ++ if (! rawread (drive, *offset, 0, SECTOR_SIZE, buf)) ++ return 0; ++ } ++ } ++ ++ /* Not a GPT partition. */ ++ *gpt_offset = 0; ++ + /* Increase the entry number. */ + (*entry)++; + +@@ -710,6 +755,43 @@ + return 1; + } + ++ /* Get the next GPT slice. */ ++ int next_gpt_slice (void) ++ { ++ struct grub_gpt_partentry *gptentry = (struct grub_gpt_partentry *) buf; ++ /* Make GPT partitions show up as PC slices. */ ++ int pc_slice_no = (*partition & 0xFF0000) >> 16; ++ ++ /* If this is the first time... */ ++ if (pc_slice_no == 0xFF) ++ { ++ pc_slice_no = -1; ++ *entry = -1; ++ } ++ ++ do { ++ (*entry)++; ++ ++ if (*entry >= *gpt_count) ++ { ++ errnum = ERR_NO_PART; ++ return 0; ++ } ++ /* Read in the GPT Partition table entry. */ ++ if (! rawread (drive, (*gpt_offset) + GPT_ENTRY_SECTOR (*gpt_size, *entry), GPT_ENTRY_INDEX (*gpt_size, *entry), *gpt_size, buf)) ++ return 0; ++ } while (! (gptentry->type1 && gptentry->type2)); ++ ++ pc_slice_no++; ++ *start = gptentry->start; ++ *len = gptentry->end - gptentry->start + 1; ++ *type = PC_SLICE_TYPE_EXT2FS; ++ *entry = pc_slice_no; ++ *partition = (*entry << 16) | 0xFFFF; ++ ++ return 1; ++ } ++ + /* Start the body of this function. */ + + #ifndef STAGE1_5 +@@ -717,6 +799,9 @@ + return 0; + #endif + ++ if (*partition != 0xFFFFFF && *gpt_offset != 0) ++ return next_gpt_slice (); ++ + /* If previous partition is a BSD partition or a PC slice which + contains BSD partitions... */ + if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type & 0xff)) +@@ -755,6 +840,9 @@ + unsigned long dest_partition = current_partition; + unsigned long part_offset; + unsigned long ext_offset; ++ unsigned long gpt_offset; ++ int gpt_count; ++ int gpt_size; + int entry; + char buf[SECTOR_SIZE]; + int bsd_part, pc_slice; +@@ -766,7 +854,8 @@ + int ret = next_partition (current_drive, dest_partition, + ¤t_partition, ¤t_slice, + &part_start, &part_length, +- &part_offset, &entry, &ext_offset, buf); ++ &part_offset, &entry, &ext_offset, ++ &gpt_offset, &gpt_count, &gpt_size, buf); + bsd_part = (current_partition >> 8) & 0xFF; + pc_slice = current_partition >> 16; + return ret; +diff -ruBbd --unidirectional-new-file grub-0.96/stage2/gpt.h grub-0.96-patched/stage2/gpt.h +--- grub-0.96/stage2/gpt.h 1969-12-31 19:00:00.000000000 -0500 ++++ grub-0.96-patched/stage2/gpt.h 2007-01-04 13:52:14.000000000 -0500 +@@ -0,0 +1,68 @@ ++/* ++ * GRUB -- GRand Unified Bootloader ++ * Copyright (C) 2002,2005,2006 Free Software Foundation, Inc. ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ++ */ ++ ++#ifndef _GPT_H ++#define _GPT_H ++ ++typedef signed char grub_int8_t; ++typedef signed short grub_int16_t; ++typedef signed int grub_int32_t; ++typedef signed long long int grub_int64_t; ++typedef unsigned char grub_uint8_t; ++typedef unsigned short grub_uint16_t; ++typedef unsigned int grub_uint32_t; ++typedef unsigned long long int grub_uint64_t; ++ ++struct grub_gpt_header ++{ ++ grub_uint64_t magic; ++ grub_uint32_t version; ++ grub_uint32_t headersize; ++ grub_uint32_t crc32; ++ grub_uint32_t unused1; ++ grub_uint64_t primary; ++ grub_uint64_t backup; ++ grub_uint64_t start; ++ grub_uint64_t end; ++ grub_uint8_t guid[16]; ++ grub_uint64_t partitions; ++ grub_uint32_t maxpart; ++ grub_uint32_t partentry_size; ++ grub_uint32_t partentry_crc32; ++} __attribute__ ((packed)); ++ ++struct grub_gpt_partentry ++{ ++ grub_uint64_t type1; ++ grub_uint64_t type2; ++ grub_uint8_t guid[16]; ++ grub_uint64_t start; ++ grub_uint64_t end; ++ grub_uint8_t attrib; ++ char name[72]; ++} __attribute__ ((packed)); ++ ++#define GPT_HEADER_MAGIC 0x5452415020494645UL ++ ++#define GPT_ENTRY_SECTOR(size,entry) \ ++ ((((entry) * (size) + 1) & ~(SECTOR_SIZE - 1)) >> SECTOR_BITS) ++#define GPT_ENTRY_INDEX(size,entry) \ ++ ((((entry) * (size) + 1) & (SECTOR_SIZE - 1)) - 1) ++ ++#endif /* _GPT_H */ +diff -ruBbd --unidirectional-new-file grub-0.96/stage2/pc_slice.h grub-0.96-patched/stage2/pc_slice.h +--- grub-0.96/stage2/pc_slice.h 2003-07-09 07:45:53.000000000 -0400 ++++ grub-0.96-patched/stage2/pc_slice.h 2007-01-04 13:52:14.000000000 -0500 +@@ -115,6 +115,7 @@ + #define PC_SLICE_TYPE_LINUX_EXTENDED 0x85 + #define PC_SLICE_TYPE_VSTAFS 0x9e + #define PC_SLICE_TYPE_DELL_UTIL 0xde ++#define PC_SLICE_TYPE_GPT 0xee + #define PC_SLICE_TYPE_LINUX_RAID 0xfd + + +diff -ruBbd --unidirectional-new-file grub-0.96/stage2/shared.h grub-0.96-patched/stage2/shared.h +--- grub-0.96/stage2/shared.h 2004-06-19 12:40:09.000000000 -0400 ++++ grub-0.96-patched/stage2/shared.h 2007-01-04 13:52:15.000000000 -0500 +@@ -934,7 +934,9 @@ + unsigned long *partition, int *type, + unsigned long *start, unsigned long *len, + unsigned long *offset, int *entry, +- unsigned long *ext_offset, char *buf); ++ unsigned long *ext_offset, ++ unsigned long *gpt_offset, int *gpt_count, ++ int *gpt_size, char *buf); + + /* Sets device to the one represented by the SAVED_* parameters. */ + int make_saved_active (void); diff --git a/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch b/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch new file mode 100644 index 000000000..2b7cc32d0 --- /dev/null +++ b/libre/grub-legacy/grub-0.97-ldflags-objcopy-remove-build-id.patch @@ -0,0 +1,196 @@ +diff --git a/Makefile.in b/Makefile.in +index 6652366..ba058eb 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -112,6 +112,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +diff --git a/acinclude.m4 b/acinclude.m4 +index 368839c..32b3fa6 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -57,7 +57,7 @@ else + fi + grub_cv_prog_objcopy_absolute=yes + for link_addr in 2000 8000 7C00; do +- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then : ++ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr -Wl,--build-id=none conftest.o -o conftest.exec]); then : + else + AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) + fi +diff --git a/configure.ac b/configure.ac +index bb9e1d9..9ac5c9f 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -115,6 +115,9 @@ if test "x$ac_cv_prog_gcc" = xyes; then + fi + fi + ++LOADER_LDFLAGS="-Wl,--build-id=none" ++AC_SUBST(LOADER_LDFLAGS) ++ + AC_SUBST(STAGE1_CFLAGS) + AC_SUBST(STAGE2_CFLAGS) + AC_SUBST(GRUB_CFLAGS) +diff --git a/docs/Makefile.in b/docs/Makefile.in +index 3e2de4b..7b2c94d 100644 +--- a/docs/Makefile.in ++++ b/docs/Makefile.in +@@ -131,6 +131,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +diff --git a/grub/Makefile.in b/grub/Makefile.in +index 136c38f..7c23ebe 100644 +--- a/grub/Makefile.in ++++ b/grub/Makefile.in +@@ -108,6 +108,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +diff --git a/lib/Makefile.in b/lib/Makefile.in +index 3dae206..449e126 100644 +--- a/lib/Makefile.in ++++ b/lib/Makefile.in +@@ -107,6 +107,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +diff --git a/netboot/Makefile.in b/netboot/Makefile.in +index 75ac299..0275768 100644 +--- a/netboot/Makefile.in ++++ b/netboot/Makefile.in +@@ -108,6 +108,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +diff --git a/stage1/Makefile.am b/stage1/Makefile.am +index 0afc285..3d83356 100644 +--- a/stage1/Makefile.am ++++ b/stage1/Makefile.am +@@ -5,7 +5,7 @@ CLEANFILES = $(nodist_pkglib_DATA) + + # We can't use builtins or standard includes. + AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc +-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 ++LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 + + noinst_PROGRAMS = stage1.exec + stage1_exec_SOURCES = stage1.S stage1.h +diff --git a/stage1/Makefile.in b/stage1/Makefile.in +index 7134bdf..ee4477f 100644 +--- a/stage1/Makefile.in ++++ b/stage1/Makefile.in +@@ -110,9 +110,10 @@ INSTALL_DATA = @INSTALL_DATA@ + INSTALL_PROGRAM = @INSTALL_PROGRAM@ + INSTALL_SCRIPT = @INSTALL_SCRIPT@ + INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ +-LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 ++LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +diff --git a/stage2/Makefile.am b/stage2/Makefile.am +index f8e6d42..ff6f347 100644 +--- a/stage2/Makefile.am ++++ b/stage2/Makefile.am +@@ -55,11 +55,11 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ + endif + MOSTLYCLEANFILES = $(noinst_PROGRAMS) + +-PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 +-START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 +-NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 +-PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 +-START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 ++PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) ++START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) ++NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) ++PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) ++START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) + + if NETBOOT_SUPPORT + NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 +@@ -82,7 +82,7 @@ endif + STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ + $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) + +-STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 ++STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) + STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 + + # For stage2 target. +diff --git a/stage2/Makefile.in b/stage2/Makefile.in +index d0062bd..88b2038 100644 +--- a/stage2/Makefile.in ++++ b/stage2/Makefile.in +@@ -355,6 +355,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ +@@ -468,11 +469,11 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ + @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start start_eltorito + @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless + MOSTLYCLEANFILES = $(noinst_PROGRAMS) +-PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 +-START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 +-NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 +-PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 +-START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 ++PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) ++START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) ++NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) ++PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) ++START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) + @NETBOOT_SUPPORT_FALSE@NETBOOT_FLAGS = + @NETBOOT_SUPPORT_TRUE@NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 + @SERIAL_SUPPORT_FALSE@SERIAL_FLAGS = +@@ -482,7 +483,7 @@ START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 + STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ + $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) + +-STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 ++STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) + STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 + + # For stage2 target. +diff --git a/util/Makefile.in b/util/Makefile.in +index e700cf7..cd3bf51 100644 +--- a/util/Makefile.in ++++ b/util/Makefile.in +@@ -113,6 +113,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ + LDFLAGS = @LDFLAGS@ + LIBOBJS = @LIBOBJS@ + LIBS = @LIBS@ ++LOADER_LDFLAGS = @LOADER_LDFLAGS@ + LTLIBOBJS = @LTLIBOBJS@ + MAINT = @MAINT@ + MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ diff --git a/libre/grub-legacy/grub-inode-size.patch b/libre/grub-legacy/grub-inode-size.patch new file mode 100644 index 000000000..f5ceb110b --- /dev/null +++ b/libre/grub-legacy/grub-inode-size.patch @@ -0,0 +1,100 @@ +diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c +--- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600 ++++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600 +@@ -79,7 +79,52 @@ + __u32 s_rev_level; /* Revision level */ + __u16 s_def_resuid; /* Default uid for reserved blocks */ + __u16 s_def_resgid; /* Default gid for reserved blocks */ +- __u32 s_reserved[235]; /* Padding to the end of the block */ ++ /* ++ * These fields are for EXT2_DYNAMIC_REV superblocks only. ++ * ++ * Note: the difference between the compatible feature set and ++ * the incompatible feature set is that if there is a bit set ++ * in the incompatible feature set that the kernel doesn't ++ * know about, it should refuse to mount the filesystem. ++ * ++ * e2fsck's requirements are more strict; if it doesn't know ++ * about a feature in either the compatible or incompatible ++ * feature set, it must abort and not try to meddle with ++ * things it doesn't understand... ++ */ ++ __u32 s_first_ino; /* First non-reserved inode */ ++ __u16 s_inode_size; /* size of inode structure */ ++ __u16 s_block_group_nr; /* block group # of this superblock */ ++ __u32 s_feature_compat; /* compatible feature set */ ++ __u32 s_feature_incompat; /* incompatible feature set */ ++ __u32 s_feature_ro_compat; /* readonly-compatible feature set */ ++ __u8 s_uuid[16]; /* 128-bit uuid for volume */ ++ char s_volume_name[16]; /* volume name */ ++ char s_last_mounted[64]; /* directory where last mounted */ ++ __u32 s_algorithm_usage_bitmap; /* For compression */ ++ /* ++ * Performance hints. Directory preallocation should only ++ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. ++ */ ++ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ ++ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ ++ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ ++ /* ++ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. ++ */ ++ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ ++ __u32 s_journal_inum; /* inode number of journal file */ ++ __u32 s_journal_dev; /* device number of journal file */ ++ __u32 s_last_orphan; /* start of list of inodes to delete */ ++ __u32 s_hash_seed[4]; /* HTREE hash seed */ ++ __u8 s_def_hash_version; /* Default hash version to use */ ++ __u8 s_jnl_backup_type; /* Default type of journal backup */ ++ __u16 s_reserved_word_pad; ++ __u32 s_default_mount_opts; ++ __u32 s_first_meta_bg; /* First metablock group */ ++ __u32 s_mkfs_time; /* When the filesystem was created */ ++ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ ++ __u32 s_reserved[172]; /* Padding to the end of the block */ + }; + + struct ext2_group_desc +@@ -218,6 +263,14 @@ + #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) + #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) + ++#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ ++#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ ++#define EXT2_GOOD_OLD_INODE_SIZE 128 ++#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ ++ EXT2_GOOD_OLD_INODE_SIZE : \ ++ (s)->s_inode_size) ++#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) ++ + /* linux/ext2_fs.h */ + #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) + /* kind of from ext2/super.c */ +@@ -553,7 +606,7 @@ + gdp = GROUP_DESC; + ino_blk = gdp[desc].bg_inode_table + + (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) +- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); ++ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); + #ifdef E2DEBUG + printf ("inode table fsblock=%d\n", ino_blk); + #endif /* E2DEBUG */ +@@ -565,13 +618,12 @@ + /* reset indirect blocks! */ + mapblock2 = mapblock1 = -1; + +- raw_inode = INODE + +- ((current_ino - 1) +- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); ++ raw_inode = (struct ext2_inode *)((char *)INODE + ++ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * ++ EXT2_INODE_SIZE (SUPERBLOCK)); + #ifdef E2DEBUG + printf ("ipb=%d, sizeof(inode)=%d\n", +- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), +- sizeof (struct ext2_inode)); ++ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); + printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); + printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); + for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode; + diff --git a/libre/grub-legacy/grub.install b/libre/grub-legacy/grub.install new file mode 100644 index 000000000..c1f077d59 --- /dev/null +++ b/libre/grub-legacy/grub.install @@ -0,0 +1,20 @@ +infodir=/usr/share/info +filelist=(grub.info multiboot.info) + +post_install() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + post_install $1 +} + +pre_remove() { + [ -x usr/bin/install-info ] || return 0 + for file in ${filelist[@]}; do + install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null + done +} diff --git a/libre/grub-legacy/i2o.patch b/libre/grub-legacy/i2o.patch new file mode 100644 index 000000000..2af846c90 --- /dev/null +++ b/libre/grub-legacy/i2o.patch @@ -0,0 +1,45 @@ +Only in grub-0.94/docs: grub.info +Only in grub-0.94/docs: multiboot.info +diff -ur grub-0.94/lib/device.c grub-0.94.new/lib/device.c +--- grub-0.94/lib/device.c 2004-05-07 04:50:36.375238696 +0200 ++++ grub-0.94.new/lib/device.c 2004-05-07 04:48:57.611253104 +0200 +@@ -419,6 +419,12 @@ + { + sprintf (name, "/dev/rd/c%dd%d", controller, drive); + } ++ ++static void ++get_i2o_disk_name (char *name, int unit) ++{ ++ sprintf (name, "/dev/i2o/hd%c", unit + 'a'); ++} + #endif + + /* Check if DEVICE can be read. If an error occurs, return zero, +@@ -789,6 +795,26 @@ + } + } + } ++ ++ /* I2O disks. */ ++ for (i = 0; i < 8; i++) ++ { ++ char name[16]; ++ ++ get_i2o_disk_name (name, i); ++ if (check_device (name)) ++ { ++ (*map)[num_hd + 0x80] = strdup (name); ++ assert ((*map)[num_hd + 0x80]); ++ ++ /* If the device map file is opened, write the map. */ ++ if (fp) ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); ++ ++ num_hd++; ++ } ++ } ++ + #endif /* __linux__ */ + + /* OK, close the device map file if opened. */ diff --git a/libre/grub-legacy/install-grub b/libre/grub-legacy/install-grub new file mode 100644 index 000000000..affc9c38a --- /dev/null +++ b/libre/grub-legacy/install-grub @@ -0,0 +1,204 @@ +#!/bin/bash + +# +# This is a little helper script that tries to convert linux-style device +# names to grub-style. It's not very smart, so it +# probably won't work for more complicated setups. +# +# If it doesn't work for you, try installing grub manually: +# +# # mkdir -p /boot/grub +# # cp /usr/lib/grub/i386-pc/* /boot/grub/ +# +# Then start up the 'grub' shell and run something like the following: +# +# grub> root (hd0,0) +# grub> setup (hd0) +# +# The "root" line should point to the partition your kernel is located on, +# /boot if you have a separate boot partition, otherwise your root (/). +# +# The "setup" line tells grub which disc/partition to install the +# bootloader to. In the example above, it will install to the MBR of the +# primary master hard drive. +# + +usage() { + echo "usage: install-grub [boot_device]" + echo + echo "where is the device where Grub will be installed" + echo "and [boot_device] is the partition that contains the /boot" + echo "directory (auto-detected if omitted)" + echo + echo "examples: install-grub /dev/hda" + echo " install-grub /dev/hda /dev/hda1" + echo + exit 0 +} + +## new install-grub, code was taken from setup script +ROOTDEV=${1} +PART_ROOT=${2} + +if [ "${ROOTDEV}" = "" ]; then + usage +fi +if [ "${PART_ROOT}" = "" ]; then + PART_ROOT=$(mount | grep "on /boot type" | cut -d' ' -f 1) +fi +if [ "$PART_ROOT" = "" ]; then + PART_ROOT=$(mount | grep "on / type" | cut -d' ' -f 1) +fi +if [ "${PART_ROOT}" = "" ]; then + echo "error: could not determine BOOT_DEVICE, please specify manually" >&2 + exit 1 +fi + + +get_grub_map() { + [ -e /tmp/dev.map ] && rm /tmp/dev.map + /sbin/grub --no-floppy --device-map /tmp/dev.map >/tmp/grub.log 2>&1 </boot/grub/menu.lst + rm -f /tmp/.menu.lst + + for kernel in /boot/vmlinuz-linux* /boot/vmlinuz26-*; do + if [ ${kernel} == "/boot/vmlinuz-linux*" ] || [ ${kernel} == "/boot/vmlinuz26-*" ] ; then + echo > /dev/null + else + VMLINUZ=$( echo ${kernel} | cut -c 7- ) + + if [ "$( echo ${VMLINUZ} | cut -c -13 )" = "vmlinuz-linux" ]; then # new naming scheme for linux > 3.0 + extension=$( echo ${VMLINUZ} | cut -c 14- ) + INITRAMFS_BASENAME=initramfs-linux${extension} + else # old naming scheme for lts kernel + extension=$( echo ${VMLINUZ} | cut -c 10- ) + INITRAMFS_BASENAME=kernel26${extension} + fi + + echo "" >>/boot/grub/menu.lst + echo "# (0) Parabola GNU/Linux-libre" >>/boot/grub/menu.lst + echo "title Parabola GNU/Linux-libre - ${VMLINUZ}" >>/boot/grub/menu.lst + subdir= + if [ "${bootdev}" != "" ]; then + grubdev=$(mapdev ${bootdev}) + else + subdir="/boot" + fi + echo "root ${grubdev}" >>/boot/grub/menu.lst + echo "kernel ${subdir}/${VMLINUZ} root=${PART_ROOT} ro" >>/boot/grub/menu.lst + echo "initrd ${subdir}/${INITRAMFS_BASENAME}.img" >>/boot/grub/menu.lst + echo "" >>/boot/grub/menu.lst + + # adding fallback/full image + echo "# (1) Parabola GNU/Linux-libre" >>/boot/grub/menu.lst + echo "title Parabola GNU/Linux-libre Fallback - ${VMLINUZ}" >>/boot/grub/menu.lst + echo "root ${grubdev}" >>/boot/grub/menu.lst + echo "kernel ${subdir}/${VMLINUZ} root=${PART_ROOT} ro" >>/boot/grub/menu.lst + echo "initrd ${subdir}/${INITRAMFS_BASENAME}-fallback.img" >>/boot/grub/menu.lst + echo "" >>/boot/grub/menu.lst + fi + done + fi + fi + + echo "Installing the GRUB bootloader..." + cp -a /usr/lib/grub/i386-pc/* /boot/grub/ + sync + + # freeze xfs filesystems to enable grub installation on xfs filesystems + if [ -x /usr/sbin/xfs_freeze ]; then + [ "$(stat -fLc %T /boot)" == "xfs" ] && /usr/sbin/xfs_freeze -f /boot > /dev/null 2>&1 + [ "$(stat -fLc %T /)" == "xfs" ] && /usr/sbin/xfs_freeze -f / > /dev/null 2>&1 + fi + + # look for a separately-mounted /boot partition + bootpart=$(mount | grep /boot | cut -d' ' -f 1) + if [ "${bootpart}" = "" ]; then + bootpart=${PART_ROOT} + fi + bootpart=$(mapdev ${bootpart}) + bootdev=$(mapdev ${ROOTDEV}) + if [ "${bootpart}" = "" ]; then + echo "Error: Missing/Invalid root device: ${bootpart}" + exit 1 + fi + + echo ${bootpart} + echo ${bootdev} + /sbin/grub --no-floppy --batch >/tmp/grub.log 2>&1 < /dev/null 2>&1 + [ "$(stat -fLc %T /)" == "xfs" ] && /usr/sbin/xfs_freeze -u / > /dev/null 2>&1 + fi + if grep "Error [0-9]*: " /tmp/grub.log >/dev/null; then + echo "Error installing GRUB. (see /tmp/grub.log for output)" + exit 1 + fi + echo "GRUB was successfully installed." + + rm -f /tmp/grub.log + + exit 0 +} + +dogrub diff --git a/libre/grub-legacy/intelmac.patch b/libre/grub-legacy/intelmac.patch new file mode 100644 index 000000000..a3fabc733 --- /dev/null +++ b/libre/grub-legacy/intelmac.patch @@ -0,0 +1,67 @@ +--- grub-0.97.orig/stage2/asm.S 2004-06-19 18:55:22.000000000 +0200 ++++ grub-0.97/stage2/asm.S 2006-04-21 11:10:52.000000000 +0200 +@@ -1651,7 +1651,29 @@ + jnz 3f + ret + +-3: /* use keyboard controller */ ++3: /* ++ * try to switch gateA20 using PORT92, the "Fast A20 and Init" ++ * register ++ */ ++ mov $0x92, %dx ++ inb %dx, %al ++ /* skip the port92 code if it's unimplemented (read returns 0xff) */ ++ cmpb $0xff, %al ++ jz 6f ++ ++ /* set or clear bit1, the ALT_A20_GATE bit */ ++ movb 4(%esp), %ah ++ testb %ah, %ah ++ jz 4f ++ orb $2, %al ++ jmp 5f ++4: and $0xfd, %al ++ ++ /* clear the INIT_NOW bit don't accidently reset the machine */ ++5: and $0xfe, %al ++ outb %al, %dx ++ ++6: /* use keyboard controller */ + pushl %eax + + call gloop1 +@@ -1661,9 +1683,12 @@ + + gloopint1: + inb $K_STATUS ++ cmpb $0xff, %al ++ jz gloopint1_done + andb $K_IBUF_FUL, %al + jnz gloopint1 + ++gloopint1_done: + movb $KB_OUTPUT_MASK, %al + cmpb $0, 0x8(%esp) + jz gdoit +@@ -1684,6 +1709,8 @@ + + gloop1: + inb $K_STATUS ++ cmpb $0xff, %al ++ jz gloop2ret + andb $K_IBUF_FUL, %al + jnz gloop1 + +@@ -1991,6 +2018,11 @@ + ENTRY(console_getkey) + push %ebp + ++wait_for_key: ++ call EXT_C(console_checkkey) ++ incl %eax ++ jz wait_for_key ++ + call EXT_C(prot_to_real) + .code16 + diff --git a/libre/grub-legacy/menu.lst b/libre/grub-legacy/menu.lst new file mode 100644 index 000000000..f405baa91 --- /dev/null +++ b/libre/grub-legacy/menu.lst @@ -0,0 +1,43 @@ +# Config file for GRUB - The GNU GRand Unified Bootloader +# /boot/grub/menu.lst + +# DEVICE NAME CONVERSIONS +# +# Linux Grub +# ------------------------- +# /dev/fd0 (fd0) +# /dev/sda (hd0) +# /dev/sdb2 (hd1,1) +# /dev/sda3 (hd0,2) +# + +# FRAMEBUFFER RESOLUTION SETTINGS +# +-------------------------------------------------+ +# | 640x480 800x600 1024x768 1280x1024 +# ----+-------------------------------------------- +# 256 | 0x301=769 0x303=771 0x305=773 0x307=775 +# 32K | 0x310=784 0x313=787 0x316=790 0x319=793 +# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794 +# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795 +# +-------------------------------------------------+ +# for more details and different resolutions see +# https://wiki.archlinux.org/index.php/GRUB#Framebuffer_resolution + +# general configuration: +timeout 5 +default 0 +color magenta/black white/magenta + +# boot sections follow +# each is implicitly numbered from 0 in the order of appearance below +# +# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line. +# +#-* + +# (0) Parabola GNU/Linux-libre +title Parabola GNU/Linux-libre [/boot/vmlinuz-linux-libre] +root (hd0,0) +kernel /vmlinuz-linux-libre root=/dev/sda3 ro +initrd /initramfs-linux-libre.img + diff --git a/libre/grub-legacy/more-raid.patch b/libre/grub-legacy/more-raid.patch new file mode 100644 index 000000000..39db23474 --- /dev/null +++ b/libre/grub-legacy/more-raid.patch @@ -0,0 +1,100 @@ +--- grub-0.95/lib/device.c.moreraid 2004-11-30 17:09:36.736099360 -0500 ++++ grub-0.95/lib/device.c 2004-11-30 17:12:17.319686944 -0500 +@@ -544,6 +544,17 @@ + } + + static void ++get_cciss_disk_name (char * name, int controller, int drive) ++{ ++ sprintf (name, "/dev/cciss/c%dd%d", controller, drive); ++} ++ ++static void ++get_cpqarray_disk_name (char * name, int controller, int drive) ++{ ++ sprintf (name, "/dev/ida/c%dd%d", controller, drive); ++} ++static void + get_ataraid_disk_name (char *name, int unit) + { + sprintf (name, "/dev/ataraid/d%c", unit + '0'); +@@ -920,7 +931,7 @@ + + for (controller = 0; controller < 8; controller++) + { +- for (drive = 0; drive < 15; drive++) ++ for (drive = 0; drive < 32; drive++) + { + char name[24]; + +@@ -940,6 +951,70 @@ + } + } + #endif /* __linux__ */ ++ ++#ifdef __linux__ ++ /* This is for cciss - we have ++ /dev/cciss/cdp. ++ ++ cciss driver currently supports up to 8 controllers, 16 logical ++ drives, and 7 partitions. */ ++ { ++ int controller, drive; ++ ++ for (controller = 0; controller < 8; controller++) ++ { ++ for (drive = 0; drive < 16; drive++) ++ { ++ char name[24]; ++ ++ get_cciss_disk_name (name, controller, drive); ++ if (check_device (name)) ++ { ++ (*map)[num_hd + 0x80] = strdup (name); ++ assert ((*map)[num_hd + 0x80]); ++ ++ /* If the device map file is opened, write the map. */ ++ if (fp) ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); ++ ++ num_hd++; ++ } ++ } ++ } ++ } ++#endif /* __linux__ */ ++ ++#ifdef __linux__ ++ /* This is for cpqarray - we have ++ /dev/ida/cdp. ++ ++ cpqarray driver currently supports up to 8 controllers, 16 logical ++ drives, and 15 partitions. */ ++ { ++ int controller, drive; ++ ++ for (controller = 0; controller < 8; controller++) ++ { ++ for (drive = 0; drive < 15; drive++) ++ { ++ char name[24]; ++ ++ get_cpqarray_disk_name (name, controller, drive); ++ if (check_device (name)) ++ { ++ (*map)[num_hd + 0x80] = strdup (name); ++ assert ((*map)[num_hd + 0x80]); ++ ++ /* If the device map file is opened, write the map. */ ++ if (fp) ++ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); ++ ++ num_hd++; ++ } ++ } ++ } ++ } ++#endif /* __linux__ */ + + /* OK, close the device map file if opened. */ + if (fp) diff --git a/libre/grub-legacy/rePKGBUILD b/libre/grub-legacy/rePKGBUILD new file mode 100644 index 000000000..a73289fb5 --- /dev/null +++ b/libre/grub-legacy/rePKGBUILD @@ -0,0 +1,37 @@ +# Maintainer: Nicolas Reynolds +# Contributor: André Silva +source PKGBUILD +CARCH=i686 +unset build package md5sums source +_repo=core +source=(PKGBUILD + #http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT + http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%}-$pkgver-21-$CARCH$PKGEXT + # files for pkg modifications + menu.lst + install-grub + ) +options=(!strip) + +build() { + cd "${srcdir}/" + #rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT + rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-21-$CARCH$PKGEXT + # put actions for package modifications below this line + + rm -v boot/grub/menu.lst sbin/install-grub +} + +package() { + cd ${srcdir} + cp -a ./* ${pkgdir} + + install -D -m644 menu.lst $pkgdir/boot/grub/menu.lst + install -D -m755 install-grub $pkgdir/sbin/install-grub + + rm -v menu.lst install-grub ${pkgdir}/menu.lst ${pkgdir}/install-grub + +} + + +# vim:set ts=2 sw=2 et: diff --git a/libre/grub-legacy/special-devices.patch b/libre/grub-legacy/special-devices.patch new file mode 100644 index 000000000..894f3e887 --- /dev/null +++ b/libre/grub-legacy/special-devices.patch @@ -0,0 +1,18 @@ +--- grub-0.93/lib/device.c.raid 2002-05-20 05:53:46.000000000 -0400 ++++ grub-0.93/lib/device.c 2002-12-28 23:24:10.000000000 -0500 +@@ -689,7 +689,14 @@ + if (strcmp (dev + strlen(dev) - 5, "/disc") == 0) + strcpy (dev + strlen(dev) - 5, "/part"); + } +- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1); ++ ++ sprintf (dev + strlen(dev), "%s%d", ++ /* Compaq smart and others */ ++ (strncmp(dev, "/dev/ida/", 9) == 0 || ++ strncmp(dev, "/dev/ataraid/", 13) == 0 || ++ strncmp(dev, "/dev/cciss/", 11) == 0 || ++ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "", ++ ((partition >> 16) & 0xFF) + 1); + + /* Open the partition. */ + fd = open (dev, O_RDWR); diff --git a/libre/grub/040_all_grub-0.96-nxstack.patch b/libre/grub/040_all_grub-0.96-nxstack.patch deleted file mode 100644 index 121941c75..000000000 --- a/libre/grub/040_all_grub-0.96-nxstack.patch +++ /dev/null @@ -1,623 +0,0 @@ -Fix NX segfaulting on amd64. - -Patch by Peter Jones. - -http://lists.gnu.org/archive/html/bug-grub/2005-03/msg00011.html - ---- grub-0.97/grub/asmstub.c -+++ grub-0.97/grub/asmstub.c -@@ -42,6 +42,7 @@ - #include - #include - #include -+#include - - #ifdef __linux__ - # include /* ioctl */ -@@ -79,7 +80,7 @@ - struct apm_info apm_bios_info; - - /* Emulation requirements. */ --char *grub_scratch_mem = 0; -+void *grub_scratch_mem = 0; - - struct geometry *disks = 0; - -@@ -103,14 +104,62 @@ - static unsigned int serial_speed; - #endif /* SIMULATE_SLOWNESS_OF_SERIAL */ - -+/* This allocates page-aligned storage of the specified size, which must be -+ * a multiple of the page size as determined by calling sysconf(_SC_PAGESIZE) -+ */ -+#ifdef __linux__ -+static void * -+grub_mmap_alloc(size_t len) -+{ -+ int mmap_flags = MAP_ANONYMOUS|MAP_PRIVATE|MAP_EXECUTABLE; -+ -+#ifdef MAP_32BIT -+ mmap_flags |= MAP_32BIT; -+#endif -+ /* Mark the simulated stack executable, as GCC uses stack trampolines -+ * to implement nested functions. */ -+ return mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, mmap_flags, -1, 0); -+} -+#else /* !defined(__linux__) */ -+static void * -+grub_mmap_alloc(size_t len) -+{ -+ int fd = 0, offset = 0, ret = 0; -+ void *pa = MAP_FAILED; -+ char template[] = "/tmp/grub_mmap_alloc_XXXXXX"; -+ errno_t e; -+ -+ fd = mkstemp(template); -+ if (fd < 0) -+ return pa; -+ -+ unlink(template); -+ -+ ret = ftruncate(fd, len); -+ if (ret < 0) -+ return pa; -+ -+ /* Mark the simulated stack executable, as GCC uses stack trampolines -+ * to implement nested functions. */ -+ pa = mmap(NULL, len, PROT_READ|PROT_WRITE|PROT_EXEC, -+ MAP_PRIVATE|MAP_EXECUTABLE, fd, offset); -+ -+ e = errno; -+ close(fd); -+ errno = e; -+ return pa; -+} -+#endif /* defined(__linux__) */ -+ - /* The main entry point into this mess. */ - int - grub_stage2 (void) - { - /* These need to be static, because they survive our stack transitions. */ - static int status = 0; -- static char *realstack; -- char *scratch, *simstack; -+ static void *realstack; -+ void *simstack_alloc_base, *simstack; -+ size_t simstack_size, page_size; - int i; - - /* We need a nested function so that we get a clean stack frame, -@@ -140,9 +189,35 @@ - } - - assert (grub_scratch_mem == 0); -- scratch = malloc (0x100000 + EXTENDED_MEMSIZE + 15); -- assert (scratch); -- grub_scratch_mem = (char *) ((((int) scratch) >> 4) << 4); -+ -+ /* Allocate enough pages for 0x100000 + EXTENDED_SIZE + 15, and -+ * make sure the memory is aligned to a multiple of the system's -+ * page size */ -+ page_size = sysconf (_SC_PAGESIZE); -+ simstack_size = ( 0x100000 + EXTENDED_MEMSIZE + 15); -+ if (simstack_size % page_size) -+ { -+ /* If we're not on a page_size boundary, round up to the next one */ -+ simstack_size &= ~(page_size-1); -+ simstack_size += page_size; -+ } -+ -+ /* Add one for a PROT_NONE boundary page at each end. */ -+ simstack_size += 2 * page_size; -+ -+ simstack_alloc_base = grub_mmap_alloc(simstack_size); -+ assert (simstack_alloc_base != MAP_FAILED); -+ -+ /* mark pages above and below our simstack area as innaccessable. -+ * If the implementation we're using doesn't support that, then the -+ * new protection modes are undefined. It's safe to just ignore -+ * them, though. It'd be nice if we knew that we'd get a SEGV for -+ * touching the area, but that's all. it'd be nice to have. */ -+ mprotect (simstack_alloc_base, page_size, PROT_NONE); -+ mprotect ((void *)((unsigned long)simstack_alloc_base + -+ simstack_size - page_size), page_size, PROT_NONE); -+ -+ grub_scratch_mem = (void *)((unsigned long)simstack_alloc_base + page_size); - - /* FIXME: simulate the memory holes using mprot, if available. */ - -@@ -215,7 +290,7 @@ - device_map = 0; - free (disks); - disks = 0; -- free (scratch); -+ munmap(simstack_alloc_base, simstack_size); - grub_scratch_mem = 0; - - if (serial_device) ---- grub-0.97/stage2/builtins.c -+++ grub-0.97/stage2/builtins.c -@@ -131,63 +131,98 @@ - } - - -+/* blocklist_read_helper nee disk_read_blocklist_func was a nested -+ * function, to which pointers were taken and exposed globally. Even -+ * in the GNU-C nested functions extension, they have local linkage, -+ * and aren't guaranteed to be accessable *at all* outside of their -+ * containing scope. -+ * -+ * Above and beyond all of that, the variables within blocklist_func_context -+ * are originally local variables, with local (not even static) linkage, -+ * from within blocklist_func. These were each referenced by -+ * disk_read_blocklist_func, which is only called from other functions -+ * through a globally scoped pointer. -+ * -+ * The documentation in GCC actually uses the words "all hell will break -+ * loose" to describe this scenario. -+ * -+ * Also, "start_sector" was also used uninitialized, but gcc doesn't warn -+ * about it (possibly because of the scoping madness?) -+ */ -+ -+static struct { -+ int start_sector; -+ int num_sectors; -+ int num_entries; -+ int last_length; -+} blocklist_func_context = { -+ .start_sector = 0, -+ .num_sectors = 0, -+ .num_entries = 0, -+ .last_length = 0 -+}; -+ -+/* Collect contiguous blocks into one entry as many as possible, -+ and print the blocklist notation on the screen. */ -+static void -+blocklist_read_helper (int sector, int offset, int length) -+{ -+ int *start_sector = &blocklist_func_context.start_sector; -+ int *num_sectors = &blocklist_func_context.num_sectors; -+ int *num_entries = &blocklist_func_context.num_entries; -+ int *last_length = &blocklist_func_context.last_length; -+ -+ if (*num_sectors > 0) -+ { -+ if (*start_sector + *num_sectors == sector -+ && offset == 0 && *last_length == SECTOR_SIZE) -+ { -+ *num_sectors++; -+ *last_length = length; -+ return; -+ } -+ else -+ { -+ if (*last_length == SECTOR_SIZE) -+ grub_printf ("%s%d+%d", *num_entries ? "," : "", -+ *start_sector - part_start, *num_sectors); -+ else if (*num_sectors > 1) -+ grub_printf ("%s%d+%d,%d[0-%d]", *num_entries ? "," : "", -+ *start_sector - part_start, *num_sectors-1, -+ *start_sector + *num_sectors-1 - part_start, -+ *last_length); -+ else -+ grub_printf ("%s%d[0-%d]", *num_entries ? "," : "", -+ *start_sector - part_start, *last_length); -+ *num_entries++; -+ *num_sectors = 0; -+ } -+ } -+ -+ if (offset > 0) -+ { -+ grub_printf("%s%d[%d-%d]", *num_entries ? "," : "", -+ sector-part_start, offset, offset+length); -+ *num_entries++; -+ } -+ else -+ { -+ *start_sector = sector; -+ *num_sectors = 1; -+ *last_length = length; -+ } -+} -+ - /* blocklist */ - static int - blocklist_func (char *arg, int flags) - { - char *dummy = (char *) RAW_ADDR (0x100000); -- int start_sector; -- int num_sectors = 0; -- int num_entries = 0; -- int last_length = 0; -- -- auto void disk_read_blocklist_func (int sector, int offset, int length); -- -- /* Collect contiguous blocks into one entry as many as possible, -- and print the blocklist notation on the screen. */ -- auto void disk_read_blocklist_func (int sector, int offset, int length) -- { -- if (num_sectors > 0) -- { -- if (start_sector + num_sectors == sector -- && offset == 0 && last_length == SECTOR_SIZE) -- { -- num_sectors++; -- last_length = length; -- return; -- } -- else -- { -- if (last_length == SECTOR_SIZE) -- grub_printf ("%s%d+%d", num_entries ? "," : "", -- start_sector - part_start, num_sectors); -- else if (num_sectors > 1) -- grub_printf ("%s%d+%d,%d[0-%d]", num_entries ? "," : "", -- start_sector - part_start, num_sectors-1, -- start_sector + num_sectors-1 - part_start, -- last_length); -- else -- grub_printf ("%s%d[0-%d]", num_entries ? "," : "", -- start_sector - part_start, last_length); -- num_entries++; -- num_sectors = 0; -- } -- } -- -- if (offset > 0) -- { -- grub_printf("%s%d[%d-%d]", num_entries ? "," : "", -- sector-part_start, offset, offset+length); -- num_entries++; -- } -- else -- { -- start_sector = sector; -- num_sectors = 1; -- last_length = length; -- } -- } - -+ int *start_sector = &blocklist_func_context.start_sector; -+ int *num_sectors = &blocklist_func_context.num_sectors; -+ int *num_entries = &blocklist_func_context.num_entries; -+ - /* Open the file. */ - if (! grub_open (arg)) - return 1; -@@ -204,15 +241,15 @@ - grub_printf (")"); - - /* Read in the whole file to DUMMY. */ -- disk_read_hook = disk_read_blocklist_func; -+ disk_read_hook = blocklist_read_helper; - if (! grub_read (dummy, -1)) - goto fail; - - /* The last entry may not be printed yet. Don't check if it is a - * full sector, since it doesn't matter if we read too much. */ -- if (num_sectors > 0) -- grub_printf ("%s%d+%d", num_entries ? "," : "", -- start_sector - part_start, num_sectors); -+ if (*num_sectors > 0) -+ grub_printf ("%s%d+%d", *num_entries ? "," : "", -+ *start_sector - part_start, *num_sectors); - - grub_printf ("\n"); - -@@ -1868,6 +1905,77 @@ - - - /* install */ -+static struct { -+ int saved_sector; -+ int installaddr; -+ int installlist; -+ char *stage2_first_buffer; -+} install_func_context = { -+ .saved_sector = 0, -+ .installaddr = 0, -+ .installlist = 0, -+ .stage2_first_buffer = NULL, -+}; -+ -+/* Save the first sector of Stage2 in STAGE2_SECT. */ -+/* Formerly disk_read_savesect_func with local scope inside install_func */ -+static void -+install_savesect_helper(int sector, int offset, int length) -+{ -+ if (debug) -+ printf ("[%d]", sector); -+ -+ /* ReiserFS has files which sometimes contain data not aligned -+ on sector boundaries. Returning an error is better than -+ silently failing. */ -+ if (offset != 0 || length != SECTOR_SIZE) -+ errnum = ERR_UNALIGNED; -+ -+ install_func_context.saved_sector = sector; -+} -+ -+/* Write SECTOR to INSTALLLIST, and update INSTALLADDR and INSTALLSECT. */ -+/* Formerly disk_read_blocklist_func with local scope inside install_func */ -+static void -+install_blocklist_helper (int sector, int offset, int length) -+{ -+ int *installaddr = &install_func_context.installaddr; -+ int *installlist = &install_func_context.installlist; -+ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; -+ /* Was the last sector full? */ -+ static int last_length = SECTOR_SIZE; -+ -+ if (debug) -+ printf("[%d]", sector); -+ -+ if (offset != 0 || last_length != SECTOR_SIZE) -+ { -+ /* We found a non-sector-aligned data block. */ -+ errnum = ERR_UNALIGNED; -+ return; -+ } -+ -+ last_length = length; -+ -+ if (*((unsigned long *) (*installlist - 4)) -+ + *((unsigned short *) *installlist) != sector -+ || *installlist == (int) *stage2_first_buffer + SECTOR_SIZE + 4) -+ { -+ *installlist -= 8; -+ -+ if (*((unsigned long *) (*installlist - 8))) -+ errnum = ERR_WONT_FIT; -+ else -+ { -+ *((unsigned short *) (*installlist + 2)) = (*installaddr >> 4); -+ *((unsigned long *) (*installlist - 4)) = sector; -+ } -+ } -+ -+ *((unsigned short *) *installlist) += 1; -+ *installaddr += 512; -+} -+ - static int - install_func (char *arg, int flags) - { -@@ -1875,8 +1983,12 @@ - char *stage1_buffer = (char *) RAW_ADDR (0x100000); - char *stage2_buffer = stage1_buffer + SECTOR_SIZE; - char *old_sect = stage2_buffer + SECTOR_SIZE; -- char *stage2_first_buffer = old_sect + SECTOR_SIZE; -- char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; -+ /* stage2_first_buffer used to be defined as: -+ * char *stage2_first_buffer = old_sect + SECTOR_SIZE; */ -+ char **stage2_first_buffer = &install_func_context.stage2_first_buffer; -+ /* and stage2_second_buffer was: -+ * char *stage2_second_buffer = stage2_first_buffer + SECTOR_SIZE; */ -+ char *stage2_second_buffer = old_sect + SECTOR_SIZE + SECTOR_SIZE; - /* XXX: Probably SECTOR_SIZE is reasonable. */ - char *config_filename = stage2_second_buffer + SECTOR_SIZE; - char *dummy = config_filename + SECTOR_SIZE; -@@ -1885,10 +1997,11 @@ - int src_drive, src_partition, src_part_start; - int i; - struct geometry dest_geom, src_geom; -- int saved_sector; -+ int *saved_sector = &install_func_context.saved_sector; - int stage2_first_sector, stage2_second_sector; - char *ptr; -- int installaddr, installlist; -+ int *installaddr = &install_func_context.installaddr; -+ int *installlist = &install_func_context.installlist; - /* Point to the location of the name of a configuration file in Stage 2. */ - char *config_file_location; - /* If FILE is a Stage 1.5? */ -@@ -1897,67 +2010,13 @@ - int is_open = 0; - /* If LBA is forced? */ - int is_force_lba = 0; -- /* Was the last sector full? */ -- int last_length = SECTOR_SIZE; -- -+ -+ *stage2_first_buffer = old_sect + SECTOR_SIZE; - #ifdef GRUB_UTIL - /* If the Stage 2 is in a partition mounted by an OS, this will store - the filename under the OS. */ - char *stage2_os_file = 0; - #endif /* GRUB_UTIL */ -- -- auto void disk_read_savesect_func (int sector, int offset, int length); -- auto void disk_read_blocklist_func (int sector, int offset, int length); -- -- /* Save the first sector of Stage2 in STAGE2_SECT. */ -- auto void disk_read_savesect_func (int sector, int offset, int length) -- { -- if (debug) -- printf ("[%d]", sector); -- -- /* ReiserFS has files which sometimes contain data not aligned -- on sector boundaries. Returning an error is better than -- silently failing. */ -- if (offset != 0 || length != SECTOR_SIZE) -- errnum = ERR_UNALIGNED; -- -- saved_sector = sector; -- } -- -- /* Write SECTOR to INSTALLLIST, and update INSTALLADDR and -- INSTALLSECT. */ -- auto void disk_read_blocklist_func (int sector, int offset, int length) -- { -- if (debug) -- printf("[%d]", sector); -- -- if (offset != 0 || last_length != SECTOR_SIZE) -- { -- /* We found a non-sector-aligned data block. */ -- errnum = ERR_UNALIGNED; -- return; -- } -- -- last_length = length; -- -- if (*((unsigned long *) (installlist - 4)) -- + *((unsigned short *) installlist) != sector -- || installlist == (int) stage2_first_buffer + SECTOR_SIZE + 4) -- { -- installlist -= 8; -- -- if (*((unsigned long *) (installlist - 8))) -- errnum = ERR_WONT_FIT; -- else -- { -- *((unsigned short *) (installlist + 2)) = (installaddr >> 4); -- *((unsigned long *) (installlist - 4)) = sector; -- } -- } -- -- *((unsigned short *) installlist) += 1; -- installaddr += 512; -- } - - /* First, check the GNU-style long option. */ - while (1) -@@ -1987,10 +2049,10 @@ - addr = skip_to (0, file); - - /* Get the installation address. */ -- if (! safe_parse_maxint (&addr, &installaddr)) -+ if (! safe_parse_maxint (&addr, installaddr)) - { - /* ADDR is not specified. */ -- installaddr = 0; -+ *installaddr = 0; - ptr = addr; - errnum = 0; - } -@@ -2084,17 +2146,17 @@ - = (dest_drive & BIOS_FLAG_FIXED_DISK); - - /* Read the first sector of Stage 2. */ -- disk_read_hook = disk_read_savesect_func; -- if (grub_read (stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) -+ disk_read_hook = install_savesect_helper; -+ if (grub_read (*stage2_first_buffer, SECTOR_SIZE) != SECTOR_SIZE) - goto fail; - -- stage2_first_sector = saved_sector; -+ stage2_first_sector = *saved_sector; - - /* Read the second sector of Stage 2. */ - if (grub_read (stage2_second_buffer, SECTOR_SIZE) != SECTOR_SIZE) - goto fail; - -- stage2_second_sector = saved_sector; -+ stage2_second_sector = *saved_sector; - - /* Check for the version of Stage 2. */ - if (*((short *) (stage2_second_buffer + STAGE2_VER_MAJ_OFFS)) -@@ -2110,27 +2172,27 @@ - - /* If INSTALLADDR is not specified explicitly in the command-line, - determine it by the Stage 2 id. */ -- if (! installaddr) -+ if (! *installaddr) - { - if (! is_stage1_5) - /* Stage 2. */ -- installaddr = 0x8000; -+ *installaddr = 0x8000; - else - /* Stage 1.5. */ -- installaddr = 0x2000; -+ *installaddr = 0x2000; - } - - *((unsigned long *) (stage1_buffer + STAGE1_STAGE2_SECTOR)) - = stage2_first_sector; - *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_ADDRESS)) -- = installaddr; -+ = *installaddr; - *((unsigned short *) (stage1_buffer + STAGE1_STAGE2_SEGMENT)) -- = installaddr >> 4; -+ = *installaddr >> 4; - -- i = (int) stage2_first_buffer + SECTOR_SIZE - 4; -+ i = (int) *stage2_first_buffer + SECTOR_SIZE - 4; - while (*((unsigned long *) i)) - { -- if (i < (int) stage2_first_buffer -+ if (i < (int) *stage2_first_buffer - || (*((int *) (i - 4)) & 0x80000000) - || *((unsigned short *) i) >= 0xA00 - || *((short *) (i + 2)) == 0) -@@ -2144,13 +2206,13 @@ - i -= 8; - } - -- installlist = (int) stage2_first_buffer + SECTOR_SIZE + 4; -- installaddr += SECTOR_SIZE; -+ *installlist = (int) *stage2_first_buffer + SECTOR_SIZE + 4; -+ *installaddr += SECTOR_SIZE; - - /* Read the whole of Stage2 except for the first sector. */ - grub_seek (SECTOR_SIZE); - -- disk_read_hook = disk_read_blocklist_func; -+ disk_read_hook = install_blocklist_helper; - if (! grub_read (dummy, -1)) - goto fail; - -@@ -2233,7 +2295,7 @@ - /* Skip the first sector. */ - grub_seek (SECTOR_SIZE); - -- disk_read_hook = disk_read_savesect_func; -+ disk_read_hook = install_savesect_helper; - if (grub_read (stage2_buffer, SECTOR_SIZE) != SECTOR_SIZE) - goto fail; - -@@ -2303,7 +2365,7 @@ - else - #endif /* GRUB_UTIL */ - { -- if (! devwrite (saved_sector - part_start, 1, stage2_buffer)) -+ if (! devwrite (*saved_sector - part_start, 1, stage2_buffer)) - goto fail; - } - } -@@ -2325,7 +2387,7 @@ - goto fail; - } - -- if (fwrite (stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) -+ if (fwrite (*stage2_first_buffer, 1, SECTOR_SIZE, fp) != SECTOR_SIZE) - { - fclose (fp); - errnum = ERR_WRITE; -@@ -2352,7 +2414,7 @@ - goto fail; - - if (! devwrite (stage2_first_sector - src_part_start, 1, -- stage2_first_buffer)) -+ *stage2_first_buffer)) - goto fail; - - if (! devwrite (stage2_second_sector - src_part_start, 1, ---- grub-0.97/stage2/shared.h -+++ grub-0.97/stage2/shared.h -@@ -36,8 +36,8 @@ - - /* Maybe redirect memory requests through grub_scratch_mem. */ - #ifdef GRUB_UTIL --extern char *grub_scratch_mem; --# define RAW_ADDR(x) ((x) + (int) grub_scratch_mem) -+extern void *grub_scratch_mem; -+# define RAW_ADDR(x) ((x) + (unsigned long) grub_scratch_mem) - # define RAW_SEG(x) (RAW_ADDR ((x) << 4) >> 4) - #else - # define RAW_ADDR(x) (x) diff --git a/libre/grub/05-grub-0.97-initrdaddr.diff b/libre/grub/05-grub-0.97-initrdaddr.diff deleted file mode 100644 index ccf5f3e54..000000000 --- a/libre/grub/05-grub-0.97-initrdaddr.diff +++ /dev/null @@ -1,16 +0,0 @@ ---- grub-0.96/stage2/boot.c -+++ grub-0.96/stage2/boot.c -@@ -824,8 +824,11 @@ - moveto = (mbi.mem_upper + 0x400) << 10; - - moveto = (moveto - len) & 0xfffff000; -- max_addr = (lh->header == LINUX_MAGIC_SIGNATURE && lh->version >= 0x0203 -- ? lh->initrd_addr_max : LINUX_INITRD_MAX_ADDRESS); -+ max_addr = LINUX_INITRD_MAX_ADDRESS; -+ if (lh->header == LINUX_MAGIC_SIGNATURE && -+ lh->version >= 0x0203 && -+ lh->initrd_addr_max < max_addr) -+ max_addr = lh->initrd_addr_max; - if (moveto + len >= max_addr) - moveto = (max_addr - len) & 0xfffff000; - diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD deleted file mode 100644 index d63a33ec9..000000000 --- a/libre/grub/PKGBUILD +++ /dev/null @@ -1,107 +0,0 @@ -# $Id: PKGBUILD 141999 2011-11-03 21:16:38Z ronald $ -# Maintainer: Ronald van Haren -# Maintainer (Parabola): André Silva -# Maintainer (Parabola): Jorge López - -pkgname=grub -pkgver=0.97 -pkgrel=21.4 -pkgdesc="A GNU multiboot boot loader (Parabola rebranded)" -arch=('i686' 'x86_64') -license=('GPL') -url="http://www.gnu.org/software/grub/" -groups=('base') -depends=('ncurses' 'diffutils' 'sed') -optdepends=('xfsprogs: freezing of xfs /boot in install-grub script') -source=(ftp://alpha.gnu.org/gnu/grub/grub-$pkgver.tar.gz - menu.lst - install-grub - 040_all_grub-0.96-nxstack.patch - 05-grub-0.97-initrdaddr.diff - i2o.patch - special-devices.patch - more-raid.patch - intelmac.patch - grub-inode-size.patch - ext4.patch - grub-0.97-ldflags-objcopy-remove-build-id.patch) -backup=('boot/grub/menu.lst') -install=grub.install -sha1sums=('2580626c4579bd99336d3af4482c346c95dac4fb' - 'e13bf0f91510fd6bb9451e6eb1b2a6e4a03e8b5f' - '3e23bfee50285c8c7b9ef9ec07964310278b1e09' - '157b81dbad3576536b08642242accfa1aeb093a9' - 'adbb4685c98797ffb4dc83561ec75698991dddbd' - 'f2e0dff29a7c8a45e90aa07298a1b2a9a9d29afc' - 'c5e2c94ed0e759590b9eb38c9d979f075d19d7c0' - '45fe668a3779664fb292591f426976b6c784d6c8' - '066d7ab1ae442f88e94c9e4f1867ac6682965d06' - '0436aa6fa0b6f768289172f983a3f4b69384629e' - 'a36f34e51efed540f1ddafd78e9c9f6d83e4c8d4' - '61c4b58d2eaa3c1561d8e9d8fc41341ce8882869') - -#set destination architecture here -#DESTARCH="i686" -DESTARCH="x86_64" - - -build() { - cd $srcdir/$pkgname-$pkgver - fgrep -rlZ pkglib_DATA --include Makefile.am . | xargs -0 sed -i 's/pkglib_DATA/pkgdata_DATA/g' - - # optimizations break the build -- disable them - # adding special devices to grub, patches are from fedora - patch -Np1 -i ../special-devices.patch - patch -Np1 -i ../i2o.patch - patch -Np1 -i ../more-raid.patch - patch -Np1 -i ../intelmac.patch - # Add support for bigger inode size to e2fs_stage1_5 - patch -Np1 -i ../grub-inode-size.patch - # Add ext4 support - # http://www.mail-archive.com/bug-grub@gnu.org/msg11458.html - patch -Np1 -i ../ext4.patch - # binutils fix - patch -Np1 -i ../grub-0.97-ldflags-objcopy-remove-build-id.patch - - sed -e'/^AC_PROG_CC/ a\AM_PROG_CC_C_O\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac" - sed -e'/^AC_PROG_CC/ a\AM_PROG_AS\ ' -i "${srcdir}/${pkgname}-${pkgver}/configure.ac" - - ## recreate ./configure script with the required changes in LDFLAGS and objcopy - aclocal - autoconf - autoreconf - automake - - #arch64 fixes for static build - if [ "$CARCH" = "x86_64" ]; then ## correcting problems for new wersion of autotools - - echo "this package has to be built on i686, won't compile on x86_64" - sleep 5 - else - if [ "$DESTARCH" = "x86_64" ]; then - # patch from gentoo for fixing a segfault - patch -Np1 -i ../040_all_grub-0.96-nxstack.patch - # patch from frugalware to make it boot when more than 2GB ram installed - patch -Np1 -i ../05-grub-0.97-initrdaddr.diff - CFLAGS="-static -fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \ - --mandir=/usr/share/man --infodir=/usr/share/info - else - CFLAGS="-fno-strict-aliasing" ./configure --prefix=/usr --bindir=/bin --sbindir=/sbin \ - --mandir=/usr/share/man --infodir=/usr/share/info - fi - fi -} - -package() { - cd $srcdir/$pkgname-$pkgver - - CFLAGS= make - make DESTDIR=$pkgdir install - install -D -m644 ../menu.lst $pkgdir/boot/grub/menu.lst - install -D -m755 ../install-grub $pkgdir/sbin/install-grub - - if [ "$DESTARCH" = "x86_64" ]; then - # fool makepkg into building a x86_64 package - export CARCH="x86_64" - fi -} diff --git a/libre/grub/ext4.patch b/libre/grub/ext4.patch deleted file mode 100644 index 8a2f9bdb0..000000000 --- a/libre/grub/ext4.patch +++ /dev/null @@ -1,263 +0,0 @@ -diff -ruNp grub-0.97/stage2/fsys_ext2fs.c grub-0.97-patch/stage2/fsys_ext2fs.c ---- grub-0.97/stage2/fsys_ext2fs.c 2004-08-08 20:19:18.000000000 +0200 -+++ grub-0.97-patch/stage2/fsys_ext2fs.c 2007-12-29 16:25:19.000000000 -+0100 -@@ -51,6 +51,9 @@ typedef unsigned int __u32; - #define EXT2_TIND_BLOCK (EXT2_DIND_BLOCK + 1) - #define EXT2_N_BLOCKS (EXT2_TIND_BLOCK + 1) - -+/* Inode flags */ -+#define EXT4_EXTENTS_FL 0x00080000 /* Inode uses extents */ -+ - /* include/linux/ext2_fs.h */ - struct ext2_super_block - { -@@ -191,6 +194,42 @@ struct ext2_dir_entry - #define EXT2_DIR_REC_LEN(name_len) (((name_len) + 8 + EXT2_DIR_ROUND) & \ - ~EXT2_DIR_ROUND) - -+/* linux/ext4_fs_extents.h */ -+/* -+ * This is the extent on-disk structure. -+ * It's used at the bottom of the tree. -+ */ -+struct ext4_extent { -+ __u32 ee_block; /* first logical block extent covers */ -+ __u16 ee_len; /* number of blocks covered by extent */ -+ __u16 ee_start_hi; /* high 16 bits of physical block */ -+ __u32 ee_start; /* low 32 bits of physical block */ -+}; -+ -+/* -+ * This is index on-disk structure. -+ * It's used at all the levels except the bottom. -+ */ -+struct ext4_extent_idx { -+ __u32 ei_block; /* index covers logical blocks from 'block' */ -+ __u32 ei_leaf; /* pointer to the physical block of the next * -+ * level. leaf or next index could be there */ -+ __u16 ei_leaf_hi; /* high 16 bits of physical block */ -+ __u16 ei_unused; -+}; -+ -+/* -+ * Each block (leaves and indexes), even inode-stored has header. -+ */ -+struct ext4_extent_header { -+ __u16 eh_magic; /* probably will support different formats */ -+ __u16 eh_entries; /* number of valid entries */ -+ __u16 eh_max; /* capacity of store in entries */ -+ __u16 eh_depth; /* has tree real underlying blocks? */ -+ __u32 eh_generation; /* generation of the tree */ -+}; -+ -+#define EXT4_EXT_MAGIC 0xf30a - - /* ext2/super.c */ - #define log2(n) ffz(~(n)) -@@ -279,6 +318,26 @@ ext2_rdfsb (int fsblock, int buffer) - EXT2_BLOCK_SIZE (SUPERBLOCK), (char *) buffer); - } - -+/* Walk through extents index tree to find the good leaf */ -+static struct ext4_extent_header * -+ext4_recurse_extent_index(struct ext4_extent_header *extent_block, int logical_block) -+{ -+ int i; -+ struct ext4_extent_idx *index = (struct ext4_extent_idx *) (extent_block + 1); -+ if (extent_block->eh_magic != EXT4_EXT_MAGIC) -+ return NULL; -+ if (extent_block->eh_depth == 0) -+ return extent_block; -+ for (i = 0; i < extent_block->eh_entries; i++) -+ { -+ if (logical_block < index[i].ei_block) -+ break; -+ } -+ if (i == 0 || !ext2_rdfsb(index[i-1].ei_leaf, DATABLOCK1)) -+ return NULL; -+ return (ext4_recurse_extent_index((struct ext4_extent_header *) DATABLOCK1, logical_block)); -+} -+ - /* from - ext2/inode.c:ext2_bmap() - */ ---- grub-0.97/stage2/fsys_ext2fs.c~ 2008-12-28 20:19:00.000000000 +0100 -+++ grub-0.97/stage2/fsys_ext2fs.c 2008-12-28 20:19:00.000000000 +0100 -@@ -366,83 +366,106 @@ - } - printf ("logical block %d\n", logical_block); - #endif /* E2DEBUG */ -- -- /* if it is directly pointed to by the inode, return that physical addr */ -- if (logical_block < EXT2_NDIR_BLOCKS) -- { --#ifdef E2DEBUG -- printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block])); -- printf ("returning %d\n", INODE->i_block[logical_block]); --#endif /* E2DEBUG */ -- return INODE->i_block[logical_block]; -- } -- /* else */ -- logical_block -= EXT2_NDIR_BLOCKS; -- /* try the indirect block */ -- if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK)) -+ /* standard ext2 inode */ -+ if (!(INODE->i_flags & EXT4_EXTENTS_FL)) - { -- if (mapblock1 != 1 -- && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1)) -- { -- errnum = ERR_FSYS_CORRUPT; -- return -1; -- } -- mapblock1 = 1; -- return ((__u32 *) DATABLOCK1)[logical_block]; -- } -- /* else */ -- logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK); -- /* now try the double indirect block */ -- if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2))) -- { -- int bnum; -- if (mapblock1 != 2 -- && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1)) -- { -- errnum = ERR_FSYS_CORRUPT; -- return -1; -- } -- mapblock1 = 2; -- if ((bnum = (((__u32 *) DATABLOCK1) -- [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)])) -- != mapblock2 -- && !ext2_rdfsb (bnum, DATABLOCK2)) -- { -- errnum = ERR_FSYS_CORRUPT; -- return -1; -- } -- mapblock2 = bnum; -+ /* if it is directly pointed to by the inode, return that physical addr */ -+ if (logical_block < EXT2_NDIR_BLOCKS) -+ { -+#ifdef E2DEBUG -+ printf ("returning %d\n", (unsigned char *) (INODE->i_block[logical_block])); -+ printf ("returning %d\n", INODE->i_block[logical_block]); -+#endif /* E2DEBUG */ -+ return INODE->i_block[logical_block]; -+ } -+ /* else */ -+ logical_block -= EXT2_NDIR_BLOCKS; -+ /* try the indirect block */ -+ if (logical_block < EXT2_ADDR_PER_BLOCK (SUPERBLOCK)) -+ { -+ if (mapblock1 != 1 -+ && !ext2_rdfsb (INODE->i_block[EXT2_IND_BLOCK], DATABLOCK1)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ mapblock1 = 1; -+ return ((__u32 *) DATABLOCK1)[logical_block]; -+ } -+ /* else */ -+ logical_block -= EXT2_ADDR_PER_BLOCK (SUPERBLOCK); -+ /* now try the double indirect block */ -+ if (logical_block < (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2))) -+ { -+ int bnum; -+ if (mapblock1 != 2 -+ && !ext2_rdfsb (INODE->i_block[EXT2_DIND_BLOCK], DATABLOCK1)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ mapblock1 = 2; -+ if ((bnum = (((__u32 *) DATABLOCK1) -+ [logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)])) -+ != mapblock2 -+ && !ext2_rdfsb (bnum, DATABLOCK2)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ mapblock2 = bnum; -+ return ((__u32 *) DATABLOCK2) -+ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; -+ } -+ /* else */ -+ mapblock2 = -1; -+ logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)); -+ if (mapblock1 != 3 -+ && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ mapblock1 = 3; -+ if (!ext2_rdfsb (((__u32 *) DATABLOCK1) -+ [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) -+ * 2)], -+ DATABLOCK2)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ if (!ext2_rdfsb (((__u32 *) DATABLOCK2) -+ [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)) -+ & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)], -+ DATABLOCK2)) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } - return ((__u32 *) DATABLOCK2) -- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; -- } -- /* else */ -- mapblock2 = -1; -- logical_block -= (1 << (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) * 2)); -- if (mapblock1 != 3 -- && !ext2_rdfsb (INODE->i_block[EXT2_TIND_BLOCK], DATABLOCK1)) -- { -- errnum = ERR_FSYS_CORRUPT; -- return -1; -+ [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; - } -- mapblock1 = 3; -- if (!ext2_rdfsb (((__u32 *) DATABLOCK1) -- [logical_block >> (EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK) -- * 2)], -- DATABLOCK2)) -- { -- errnum = ERR_FSYS_CORRUPT; -- return -1; -- } -- if (!ext2_rdfsb (((__u32 *) DATABLOCK2) -- [(logical_block >> EXT2_ADDR_PER_BLOCK_BITS (SUPERBLOCK)) -- & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)], -- DATABLOCK2)) -+ /* inode is in extents format */ -+ else - { -+ int i; -+ struct ext4_extent_header *extent_hdr = ext4_recurse_extent_index((struct ext4_extent_header *) INODE->i_block, logical_block); -+ struct ext4_extent *extent = (struct ext4_extent *) (extent_hdr + 1); -+ if ( extent_hdr == NULL || extent_hdr->eh_magic != EXT4_EXT_MAGIC) -+ { -+ errnum = ERR_FSYS_CORRUPT; -+ return -1; -+ } -+ for (i = 0; ieh_entries; i++) -+ { -+ if (extent[i].ee_block <= logical_block && logical_block < extent[i].ee_block + extent[i].ee_len && !(extent[i].ee_len>>15)) -+ return (logical_block - extent[i].ee_block + extent[i].ee_start); -+ } -+ /* We should not arrive here */ - errnum = ERR_FSYS_CORRUPT; - return -1; - } -- return ((__u32 *) DATABLOCK2) -- [logical_block & (EXT2_ADDR_PER_BLOCK (SUPERBLOCK) - 1)]; - } - - /* preconditions: all preconds of ext2fs_block_map */ diff --git a/libre/grub/grub-0.97-gpt.patch b/libre/grub/grub-0.97-gpt.patch deleted file mode 100644 index 7b1a55cd8..000000000 --- a/libre/grub/grub-0.97-gpt.patch +++ /dev/null @@ -1,315 +0,0 @@ -diff -ruBbd --unidirectional-new-file grub-0.96/stage2/builtins.c grub-0.96-patched/stage2/builtins.c ---- grub-0.96/stage2/builtins.c 2004-06-20 09:33:04.000000000 -0400 -+++ grub-0.96-patched/stage2/builtins.c 2007-01-04 13:56:06.000000000 -0500 -@@ -1229,14 +1229,15 @@ - for (drive = 0x80; drive < 0x88; drive++) - { - unsigned long part = 0xFFFFFF; -- unsigned long start, len, offset, ext_offset; -- int type, entry; -+ unsigned long start, len, offset, ext_offset, gpt_offset; -+ int type, entry, gpt_count, gpt_size; - char buf[SECTOR_SIZE]; - - current_drive = drive; - while (next_partition (drive, 0xFFFFFF, &part, &type, - &start, &len, &offset, &entry, -- &ext_offset, buf)) -+ &ext_offset, &gpt_offset, -+ &gpt_count, &gpt_size, buf)) - { - if (type != PC_SLICE_TYPE_NONE - && ! IS_PC_SLICE_TYPE_BSD (type) -@@ -2806,8 +2807,8 @@ - { - int new_type; - unsigned long part = 0xFFFFFF; -- unsigned long start, len, offset, ext_offset; -- int entry, type; -+ unsigned long start, len, offset, ext_offset, gpt_offset; -+ int entry, type, gpt_count, gpt_size; - char mbr[512]; - - /* Get the drive and the partition. */ -@@ -2844,7 +2845,14 @@ - /* Look for the partition. */ - while (next_partition (current_drive, 0xFFFFFF, &part, &type, - &start, &len, &offset, &entry, -- &ext_offset, mbr)) -+ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) -+ /* The partition may not be a GPT partition. */ -+ if (gpt_offset != 0) -+ { -+ errnum = ERR_BAD_ARGUMENT; -+ return 1; -+ } -+ - { - if (part == current_partition) - { -diff -ruBbd --unidirectional-new-file grub-0.96/stage2/disk_io.c grub-0.96-patched/stage2/disk_io.c ---- grub-0.96/stage2/disk_io.c 2004-05-23 12:35:24.000000000 -0400 -+++ grub-0.96-patched/stage2/disk_io.c 2007-01-04 14:01:08.000000000 -0500 -@@ -21,6 +21,7 @@ - - #include - #include -+#include - - #ifdef SUPPORT_NETBOOT - # define GRUB 1 -@@ -502,8 +503,8 @@ - set_partition_hidden_flag (int hidden) - { - unsigned long part = 0xFFFFFF; -- unsigned long start, len, offset, ext_offset; -- int entry, type; -+ unsigned long start, len, offset, ext_offset, gpt_offset; -+ int entry, type, gpt_count, gpt_size; - char mbr[512]; - - /* The drive must be a hard disk. */ -@@ -524,7 +525,14 @@ - /* Look for the partition. */ - while (next_partition (current_drive, 0xFFFFFF, &part, &type, - &start, &len, &offset, &entry, -- &ext_offset, mbr)) -+ &ext_offset, &gpt_offset, &gpt_count, &gpt_size, mbr)) -+ /* The partition may not be a GPT partition. */ -+ if (gpt_offset != 0) -+ { -+ errnum = ERR_BAD_ARGUMENT; -+ return 1; -+ } -+ - { - if (part == current_partition) - { -@@ -577,11 +585,14 @@ - unsigned long *partition, int *type, - unsigned long *start, unsigned long *len, - unsigned long *offset, int *entry, -- unsigned long *ext_offset, char *buf) -+ unsigned long *ext_offset, -+ unsigned long *gpt_offset, int *gpt_count, -+ int *gpt_size, char *buf) - { - /* Forward declarations. */ - auto int next_bsd_partition (void); - auto int next_pc_slice (void); -+ auto int next_gpt_slice(void); - - /* Get next BSD partition in current PC slice. */ - int next_bsd_partition (void) -@@ -666,6 +677,40 @@ - return 0; - } - -+ /* If this is a GPT partition table, read it as such. */ -+ if (*entry == -1 && *offset == 0 && PC_SLICE_TYPE (buf, 0) == PC_SLICE_TYPE_GPT) -+ { -+ struct grub_gpt_header *hdr = (struct grub_gpt_header *) buf; -+ -+ /* Read in the GPT Partition table header. */ -+ if (! rawread (drive, 1, 0, SECTOR_SIZE, buf)) -+ return 0; -+ -+ if (hdr->magic == GPT_HEADER_MAGIC && hdr->version == 0x10000) -+ { -+ /* Let gpt_offset point to the first entry in the GPT -+ partition table. This can also be used by callers of -+ next_partition to determine if a entry comes from a -+ GPT partition table or not. */ -+ *gpt_offset = hdr->partitions; -+ *gpt_count = hdr->maxpart; -+ *gpt_size = hdr->partentry_size; -+ -+ return next_gpt_slice(); -+ } -+ else -+ { -+ /* This is not a valid header for a GPT partition table. -+ Re-read the MBR or the boot sector of the extended -+ partition. */ -+ if (! rawread (drive, *offset, 0, SECTOR_SIZE, buf)) -+ return 0; -+ } -+ } -+ -+ /* Not a GPT partition. */ -+ *gpt_offset = 0; -+ - /* Increase the entry number. */ - (*entry)++; - -@@ -710,6 +755,43 @@ - return 1; - } - -+ /* Get the next GPT slice. */ -+ int next_gpt_slice (void) -+ { -+ struct grub_gpt_partentry *gptentry = (struct grub_gpt_partentry *) buf; -+ /* Make GPT partitions show up as PC slices. */ -+ int pc_slice_no = (*partition & 0xFF0000) >> 16; -+ -+ /* If this is the first time... */ -+ if (pc_slice_no == 0xFF) -+ { -+ pc_slice_no = -1; -+ *entry = -1; -+ } -+ -+ do { -+ (*entry)++; -+ -+ if (*entry >= *gpt_count) -+ { -+ errnum = ERR_NO_PART; -+ return 0; -+ } -+ /* Read in the GPT Partition table entry. */ -+ if (! rawread (drive, (*gpt_offset) + GPT_ENTRY_SECTOR (*gpt_size, *entry), GPT_ENTRY_INDEX (*gpt_size, *entry), *gpt_size, buf)) -+ return 0; -+ } while (! (gptentry->type1 && gptentry->type2)); -+ -+ pc_slice_no++; -+ *start = gptentry->start; -+ *len = gptentry->end - gptentry->start + 1; -+ *type = PC_SLICE_TYPE_EXT2FS; -+ *entry = pc_slice_no; -+ *partition = (*entry << 16) | 0xFFFF; -+ -+ return 1; -+ } -+ - /* Start the body of this function. */ - - #ifndef STAGE1_5 -@@ -717,6 +799,9 @@ - return 0; - #endif - -+ if (*partition != 0xFFFFFF && *gpt_offset != 0) -+ return next_gpt_slice (); -+ - /* If previous partition is a BSD partition or a PC slice which - contains BSD partitions... */ - if ((*partition != 0xFFFFFF && IS_PC_SLICE_TYPE_BSD (*type & 0xff)) -@@ -755,6 +840,9 @@ - unsigned long dest_partition = current_partition; - unsigned long part_offset; - unsigned long ext_offset; -+ unsigned long gpt_offset; -+ int gpt_count; -+ int gpt_size; - int entry; - char buf[SECTOR_SIZE]; - int bsd_part, pc_slice; -@@ -766,7 +854,8 @@ - int ret = next_partition (current_drive, dest_partition, - ¤t_partition, ¤t_slice, - &part_start, &part_length, -- &part_offset, &entry, &ext_offset, buf); -+ &part_offset, &entry, &ext_offset, -+ &gpt_offset, &gpt_count, &gpt_size, buf); - bsd_part = (current_partition >> 8) & 0xFF; - pc_slice = current_partition >> 16; - return ret; -diff -ruBbd --unidirectional-new-file grub-0.96/stage2/gpt.h grub-0.96-patched/stage2/gpt.h ---- grub-0.96/stage2/gpt.h 1969-12-31 19:00:00.000000000 -0500 -+++ grub-0.96-patched/stage2/gpt.h 2007-01-04 13:52:14.000000000 -0500 -@@ -0,0 +1,68 @@ -+/* -+ * GRUB -- GRand Unified Bootloader -+ * Copyright (C) 2002,2005,2006 Free Software Foundation, Inc. -+ * -+ * This program is free software; you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation; either version 2 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ */ -+ -+#ifndef _GPT_H -+#define _GPT_H -+ -+typedef signed char grub_int8_t; -+typedef signed short grub_int16_t; -+typedef signed int grub_int32_t; -+typedef signed long long int grub_int64_t; -+typedef unsigned char grub_uint8_t; -+typedef unsigned short grub_uint16_t; -+typedef unsigned int grub_uint32_t; -+typedef unsigned long long int grub_uint64_t; -+ -+struct grub_gpt_header -+{ -+ grub_uint64_t magic; -+ grub_uint32_t version; -+ grub_uint32_t headersize; -+ grub_uint32_t crc32; -+ grub_uint32_t unused1; -+ grub_uint64_t primary; -+ grub_uint64_t backup; -+ grub_uint64_t start; -+ grub_uint64_t end; -+ grub_uint8_t guid[16]; -+ grub_uint64_t partitions; -+ grub_uint32_t maxpart; -+ grub_uint32_t partentry_size; -+ grub_uint32_t partentry_crc32; -+} __attribute__ ((packed)); -+ -+struct grub_gpt_partentry -+{ -+ grub_uint64_t type1; -+ grub_uint64_t type2; -+ grub_uint8_t guid[16]; -+ grub_uint64_t start; -+ grub_uint64_t end; -+ grub_uint8_t attrib; -+ char name[72]; -+} __attribute__ ((packed)); -+ -+#define GPT_HEADER_MAGIC 0x5452415020494645UL -+ -+#define GPT_ENTRY_SECTOR(size,entry) \ -+ ((((entry) * (size) + 1) & ~(SECTOR_SIZE - 1)) >> SECTOR_BITS) -+#define GPT_ENTRY_INDEX(size,entry) \ -+ ((((entry) * (size) + 1) & (SECTOR_SIZE - 1)) - 1) -+ -+#endif /* _GPT_H */ -diff -ruBbd --unidirectional-new-file grub-0.96/stage2/pc_slice.h grub-0.96-patched/stage2/pc_slice.h ---- grub-0.96/stage2/pc_slice.h 2003-07-09 07:45:53.000000000 -0400 -+++ grub-0.96-patched/stage2/pc_slice.h 2007-01-04 13:52:14.000000000 -0500 -@@ -115,6 +115,7 @@ - #define PC_SLICE_TYPE_LINUX_EXTENDED 0x85 - #define PC_SLICE_TYPE_VSTAFS 0x9e - #define PC_SLICE_TYPE_DELL_UTIL 0xde -+#define PC_SLICE_TYPE_GPT 0xee - #define PC_SLICE_TYPE_LINUX_RAID 0xfd - - -diff -ruBbd --unidirectional-new-file grub-0.96/stage2/shared.h grub-0.96-patched/stage2/shared.h ---- grub-0.96/stage2/shared.h 2004-06-19 12:40:09.000000000 -0400 -+++ grub-0.96-patched/stage2/shared.h 2007-01-04 13:52:15.000000000 -0500 -@@ -934,7 +934,9 @@ - unsigned long *partition, int *type, - unsigned long *start, unsigned long *len, - unsigned long *offset, int *entry, -- unsigned long *ext_offset, char *buf); -+ unsigned long *ext_offset, -+ unsigned long *gpt_offset, int *gpt_count, -+ int *gpt_size, char *buf); - - /* Sets device to the one represented by the SAVED_* parameters. */ - int make_saved_active (void); diff --git a/libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch b/libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch deleted file mode 100644 index 2b7cc32d0..000000000 --- a/libre/grub/grub-0.97-ldflags-objcopy-remove-build-id.patch +++ /dev/null @@ -1,196 +0,0 @@ -diff --git a/Makefile.in b/Makefile.in -index 6652366..ba058eb 100644 ---- a/Makefile.in -+++ b/Makefile.in -@@ -112,6 +112,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -diff --git a/acinclude.m4 b/acinclude.m4 -index 368839c..32b3fa6 100644 ---- a/acinclude.m4 -+++ b/acinclude.m4 -@@ -57,7 +57,7 @@ else - fi - grub_cv_prog_objcopy_absolute=yes - for link_addr in 2000 8000 7C00; do -- if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr conftest.o -o conftest.exec]); then : -+ if AC_TRY_COMMAND([${CC-cc} ${CFLAGS} -nostdlib -Wl,-N -Wl,-Ttext -Wl,$link_addr -Wl,--build-id=none conftest.o -o conftest.exec]); then : - else - AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) - fi -diff --git a/configure.ac b/configure.ac -index bb9e1d9..9ac5c9f 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -115,6 +115,9 @@ if test "x$ac_cv_prog_gcc" = xyes; then - fi - fi - -+LOADER_LDFLAGS="-Wl,--build-id=none" -+AC_SUBST(LOADER_LDFLAGS) -+ - AC_SUBST(STAGE1_CFLAGS) - AC_SUBST(STAGE2_CFLAGS) - AC_SUBST(GRUB_CFLAGS) -diff --git a/docs/Makefile.in b/docs/Makefile.in -index 3e2de4b..7b2c94d 100644 ---- a/docs/Makefile.in -+++ b/docs/Makefile.in -@@ -131,6 +131,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -diff --git a/grub/Makefile.in b/grub/Makefile.in -index 136c38f..7c23ebe 100644 ---- a/grub/Makefile.in -+++ b/grub/Makefile.in -@@ -108,6 +108,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -diff --git a/lib/Makefile.in b/lib/Makefile.in -index 3dae206..449e126 100644 ---- a/lib/Makefile.in -+++ b/lib/Makefile.in -@@ -107,6 +107,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -diff --git a/netboot/Makefile.in b/netboot/Makefile.in -index 75ac299..0275768 100644 ---- a/netboot/Makefile.in -+++ b/netboot/Makefile.in -@@ -108,6 +108,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -diff --git a/stage1/Makefile.am b/stage1/Makefile.am -index 0afc285..3d83356 100644 ---- a/stage1/Makefile.am -+++ b/stage1/Makefile.am -@@ -5,7 +5,7 @@ CLEANFILES = $(nodist_pkglib_DATA) - - # We can't use builtins or standard includes. - AM_CCASFLAGS = $(STAGE1_CFLAGS) -fno-builtin -nostdinc --LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 -+LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 - - noinst_PROGRAMS = stage1.exec - stage1_exec_SOURCES = stage1.S stage1.h -diff --git a/stage1/Makefile.in b/stage1/Makefile.in -index 7134bdf..ee4477f 100644 ---- a/stage1/Makefile.in -+++ b/stage1/Makefile.in -@@ -110,9 +110,10 @@ INSTALL_DATA = @INSTALL_DATA@ - INSTALL_PROGRAM = @INSTALL_PROGRAM@ - INSTALL_SCRIPT = @INSTALL_SCRIPT@ - INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ --LDFLAGS = -nostdlib -Wl,-N,-Ttext,7C00 -+LDFLAGS = $(LOADER_LDFLAGS) -nostdlib -Wl,-N,-Ttext,7C00 - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -diff --git a/stage2/Makefile.am b/stage2/Makefile.am -index f8e6d42..ff6f347 100644 ---- a/stage2/Makefile.am -+++ b/stage2/Makefile.am -@@ -55,11 +55,11 @@ noinst_PROGRAMS = pre_stage2.exec start.exec start_eltorito.exec \ - endif - MOSTLYCLEANFILES = $(noinst_PROGRAMS) - --PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 --START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 --NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 --PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 --START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 -+PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) -+START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) -+NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) -+PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) -+START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) - - if NETBOOT_SUPPORT - NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 -@@ -82,7 +82,7 @@ endif - STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) - --STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 -+STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) - STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 - - # For stage2 target. -diff --git a/stage2/Makefile.in b/stage2/Makefile.in -index d0062bd..88b2038 100644 ---- a/stage2/Makefile.in -+++ b/stage2/Makefile.in -@@ -355,6 +355,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ -@@ -468,11 +469,11 @@ libgrub_a_CFLAGS = $(GRUB_CFLAGS) -I$(top_srcdir)/lib \ - @DISKLESS_SUPPORT_FALSE@noinst_DATA = pre_stage2 start start_eltorito - @DISKLESS_SUPPORT_TRUE@noinst_DATA = pre_stage2 start start_eltorito nbloader pxeloader diskless - MOSTLYCLEANFILES = $(noinst_PROGRAMS) --PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 --START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 --NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 --PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 --START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 -+PRE_STAGE2_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8200 $(LOADER_LDFLAGS) -+START_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,8000 $(LOADER_LDFLAGS) -+NBLOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,0 $(LOADER_LDFLAGS) -+PXELOADER_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) -+START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 $(LOADER_LDFLAGS) - @NETBOOT_SUPPORT_FALSE@NETBOOT_FLAGS = - @NETBOOT_SUPPORT_TRUE@NETBOOT_FLAGS = -I$(top_srcdir)/netboot -DSUPPORT_NETBOOT=1 - @SERIAL_SUPPORT_FALSE@SERIAL_FLAGS = -@@ -482,7 +483,7 @@ START_ELTORITO_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,7C00 - STAGE2_COMPILE = $(STAGE2_CFLAGS) -fno-builtin -nostdinc \ - $(NETBOOT_FLAGS) $(SERIAL_FLAGS) $(HERCULES_FLAGS) - --STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 -+STAGE1_5_LINK = -nostdlib -Wl,-N -Wl,-Ttext -Wl,2000 $(LOADER_LDFLAGS) - STAGE1_5_COMPILE = $(STAGE2_COMPILE) -DNO_DECOMPRESSION=1 -DSTAGE1_5=1 - - # For stage2 target. -diff --git a/util/Makefile.in b/util/Makefile.in -index e700cf7..cd3bf51 100644 ---- a/util/Makefile.in -+++ b/util/Makefile.in -@@ -113,6 +113,7 @@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ - LDFLAGS = @LDFLAGS@ - LIBOBJS = @LIBOBJS@ - LIBS = @LIBS@ -+LOADER_LDFLAGS = @LOADER_LDFLAGS@ - LTLIBOBJS = @LTLIBOBJS@ - MAINT = @MAINT@ - MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@ diff --git a/libre/grub/grub-inode-size.patch b/libre/grub/grub-inode-size.patch deleted file mode 100644 index f5ceb110b..000000000 --- a/libre/grub/grub-inode-size.patch +++ /dev/null @@ -1,100 +0,0 @@ -diff -Naur grub-0.97-800/stage2/fsys_ext2fs.c grub-0.97-810/stage2/fsys_ext2fs.c ---- grub-0.97-800/stage2/fsys_ext2fs.c 2008-07-21 00:40:21.668879475 -0600 -+++ grub-0.97-810/stage2/fsys_ext2fs.c 2008-07-21 01:01:11.063953773 -0600 -@@ -79,7 +79,52 @@ - __u32 s_rev_level; /* Revision level */ - __u16 s_def_resuid; /* Default uid for reserved blocks */ - __u16 s_def_resgid; /* Default gid for reserved blocks */ -- __u32 s_reserved[235]; /* Padding to the end of the block */ -+ /* -+ * These fields are for EXT2_DYNAMIC_REV superblocks only. -+ * -+ * Note: the difference between the compatible feature set and -+ * the incompatible feature set is that if there is a bit set -+ * in the incompatible feature set that the kernel doesn't -+ * know about, it should refuse to mount the filesystem. -+ * -+ * e2fsck's requirements are more strict; if it doesn't know -+ * about a feature in either the compatible or incompatible -+ * feature set, it must abort and not try to meddle with -+ * things it doesn't understand... -+ */ -+ __u32 s_first_ino; /* First non-reserved inode */ -+ __u16 s_inode_size; /* size of inode structure */ -+ __u16 s_block_group_nr; /* block group # of this superblock */ -+ __u32 s_feature_compat; /* compatible feature set */ -+ __u32 s_feature_incompat; /* incompatible feature set */ -+ __u32 s_feature_ro_compat; /* readonly-compatible feature set */ -+ __u8 s_uuid[16]; /* 128-bit uuid for volume */ -+ char s_volume_name[16]; /* volume name */ -+ char s_last_mounted[64]; /* directory where last mounted */ -+ __u32 s_algorithm_usage_bitmap; /* For compression */ -+ /* -+ * Performance hints. Directory preallocation should only -+ * happen if the EXT2_FEATURE_COMPAT_DIR_PREALLOC flag is on. -+ */ -+ __u8 s_prealloc_blocks; /* Nr of blocks to try to preallocate*/ -+ __u8 s_prealloc_dir_blocks; /* Nr to preallocate for dirs */ -+ __u16 s_reserved_gdt_blocks;/* Per group table for online growth */ -+ /* -+ * Journaling support valid if EXT2_FEATURE_COMPAT_HAS_JOURNAL set. -+ */ -+ __u8 s_journal_uuid[16]; /* uuid of journal superblock */ -+ __u32 s_journal_inum; /* inode number of journal file */ -+ __u32 s_journal_dev; /* device number of journal file */ -+ __u32 s_last_orphan; /* start of list of inodes to delete */ -+ __u32 s_hash_seed[4]; /* HTREE hash seed */ -+ __u8 s_def_hash_version; /* Default hash version to use */ -+ __u8 s_jnl_backup_type; /* Default type of journal backup */ -+ __u16 s_reserved_word_pad; -+ __u32 s_default_mount_opts; -+ __u32 s_first_meta_bg; /* First metablock group */ -+ __u32 s_mkfs_time; /* When the filesystem was created */ -+ __u32 s_jnl_blocks[17]; /* Backup of the journal inode */ -+ __u32 s_reserved[172]; /* Padding to the end of the block */ - }; - - struct ext2_group_desc -@@ -218,6 +263,14 @@ - #define EXT2_ADDR_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s) / sizeof (__u32)) - #define EXT2_ADDR_PER_BLOCK_BITS(s) (log2(EXT2_ADDR_PER_BLOCK(s))) - -+#define EXT2_GOOD_OLD_REV 0 /* The good old (original) format */ -+#define EXT2_DYNAMIC_REV 1 /* V2 format w/ dynamic inode sizes */ -+#define EXT2_GOOD_OLD_INODE_SIZE 128 -+#define EXT2_INODE_SIZE(s) (((s)->s_rev_level == EXT2_GOOD_OLD_REV) ? \ -+ EXT2_GOOD_OLD_INODE_SIZE : \ -+ (s)->s_inode_size) -+#define EXT2_INODES_PER_BLOCK(s) (EXT2_BLOCK_SIZE(s)/EXT2_INODE_SIZE(s)) -+ - /* linux/ext2_fs.h */ - #define EXT2_BLOCK_SIZE_BITS(s) ((s)->s_log_block_size + 10) - /* kind of from ext2/super.c */ -@@ -553,7 +606,7 @@ - gdp = GROUP_DESC; - ino_blk = gdp[desc].bg_inode_table + - (((current_ino - 1) % (SUPERBLOCK->s_inodes_per_group)) -- >> log2 (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode))); -+ >> log2 (EXT2_INODES_PER_BLOCK (SUPERBLOCK))); - #ifdef E2DEBUG - printf ("inode table fsblock=%d\n", ino_blk); - #endif /* E2DEBUG */ -@@ -565,13 +618,12 @@ - /* reset indirect blocks! */ - mapblock2 = mapblock1 = -1; - -- raw_inode = INODE + -- ((current_ino - 1) -- & (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode) - 1)); -+ raw_inode = (struct ext2_inode *)((char *)INODE + -+ ((current_ino - 1) & (EXT2_INODES_PER_BLOCK (SUPERBLOCK) - 1)) * -+ EXT2_INODE_SIZE (SUPERBLOCK)); - #ifdef E2DEBUG - printf ("ipb=%d, sizeof(inode)=%d\n", -- (EXT2_BLOCK_SIZE (SUPERBLOCK) / sizeof (struct ext2_inode)), -- sizeof (struct ext2_inode)); -+ EXT2_INODES_PER_BLOCK (SUPERBLOCK), EXT2_INODE_SIZE (SUPERBLOCK)); - printf ("inode=%x, raw_inode=%x\n", INODE, raw_inode); - printf ("offset into inode table block=%d\n", (int) raw_inode - (int) INODE); - for (i = (unsigned char *) INODE; i <= (unsigned char *) raw_inode; - diff --git a/libre/grub/grub.install b/libre/grub/grub.install deleted file mode 100644 index c1f077d59..000000000 --- a/libre/grub/grub.install +++ /dev/null @@ -1,20 +0,0 @@ -infodir=/usr/share/info -filelist=(grub.info multiboot.info) - -post_install() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info $infodir/$file.gz $infodir/dir 2> /dev/null - done -} - -post_upgrade() { - post_install $1 -} - -pre_remove() { - [ -x usr/bin/install-info ] || return 0 - for file in ${filelist[@]}; do - install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null - done -} diff --git a/libre/grub/i2o.patch b/libre/grub/i2o.patch deleted file mode 100644 index 2af846c90..000000000 --- a/libre/grub/i2o.patch +++ /dev/null @@ -1,45 +0,0 @@ -Only in grub-0.94/docs: grub.info -Only in grub-0.94/docs: multiboot.info -diff -ur grub-0.94/lib/device.c grub-0.94.new/lib/device.c ---- grub-0.94/lib/device.c 2004-05-07 04:50:36.375238696 +0200 -+++ grub-0.94.new/lib/device.c 2004-05-07 04:48:57.611253104 +0200 -@@ -419,6 +419,12 @@ - { - sprintf (name, "/dev/rd/c%dd%d", controller, drive); - } -+ -+static void -+get_i2o_disk_name (char *name, int unit) -+{ -+ sprintf (name, "/dev/i2o/hd%c", unit + 'a'); -+} - #endif - - /* Check if DEVICE can be read. If an error occurs, return zero, -@@ -789,6 +795,26 @@ - } - } - } -+ -+ /* I2O disks. */ -+ for (i = 0; i < 8; i++) -+ { -+ char name[16]; -+ -+ get_i2o_disk_name (name, i); -+ if (check_device (name)) -+ { -+ (*map)[num_hd + 0x80] = strdup (name); -+ assert ((*map)[num_hd + 0x80]); -+ -+ /* If the device map file is opened, write the map. */ -+ if (fp) -+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); -+ -+ num_hd++; -+ } -+ } -+ - #endif /* __linux__ */ - - /* OK, close the device map file if opened. */ diff --git a/libre/grub/install-grub b/libre/grub/install-grub deleted file mode 100644 index affc9c38a..000000000 --- a/libre/grub/install-grub +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/bash - -# -# This is a little helper script that tries to convert linux-style device -# names to grub-style. It's not very smart, so it -# probably won't work for more complicated setups. -# -# If it doesn't work for you, try installing grub manually: -# -# # mkdir -p /boot/grub -# # cp /usr/lib/grub/i386-pc/* /boot/grub/ -# -# Then start up the 'grub' shell and run something like the following: -# -# grub> root (hd0,0) -# grub> setup (hd0) -# -# The "root" line should point to the partition your kernel is located on, -# /boot if you have a separate boot partition, otherwise your root (/). -# -# The "setup" line tells grub which disc/partition to install the -# bootloader to. In the example above, it will install to the MBR of the -# primary master hard drive. -# - -usage() { - echo "usage: install-grub [boot_device]" - echo - echo "where is the device where Grub will be installed" - echo "and [boot_device] is the partition that contains the /boot" - echo "directory (auto-detected if omitted)" - echo - echo "examples: install-grub /dev/hda" - echo " install-grub /dev/hda /dev/hda1" - echo - exit 0 -} - -## new install-grub, code was taken from setup script -ROOTDEV=${1} -PART_ROOT=${2} - -if [ "${ROOTDEV}" = "" ]; then - usage -fi -if [ "${PART_ROOT}" = "" ]; then - PART_ROOT=$(mount | grep "on /boot type" | cut -d' ' -f 1) -fi -if [ "$PART_ROOT" = "" ]; then - PART_ROOT=$(mount | grep "on / type" | cut -d' ' -f 1) -fi -if [ "${PART_ROOT}" = "" ]; then - echo "error: could not determine BOOT_DEVICE, please specify manually" >&2 - exit 1 -fi - - -get_grub_map() { - [ -e /tmp/dev.map ] && rm /tmp/dev.map - /sbin/grub --no-floppy --device-map /tmp/dev.map >/tmp/grub.log 2>&1 </boot/grub/menu.lst - rm -f /tmp/.menu.lst - - for kernel in /boot/vmlinuz-linux* /boot/vmlinuz26-*; do - if [ ${kernel} == "/boot/vmlinuz-linux*" ] || [ ${kernel} == "/boot/vmlinuz26-*" ] ; then - echo > /dev/null - else - VMLINUZ=$( echo ${kernel} | cut -c 7- ) - - if [ "$( echo ${VMLINUZ} | cut -c -13 )" = "vmlinuz-linux" ]; then # new naming scheme for linux > 3.0 - extension=$( echo ${VMLINUZ} | cut -c 14- ) - INITRAMFS_BASENAME=initramfs-linux${extension} - else # old naming scheme for lts kernel - extension=$( echo ${VMLINUZ} | cut -c 10- ) - INITRAMFS_BASENAME=kernel26${extension} - fi - - echo "" >>/boot/grub/menu.lst - echo "# (0) Parabola GNU/Linux-libre" >>/boot/grub/menu.lst - echo "title Parabola GNU/Linux-libre - ${VMLINUZ}" >>/boot/grub/menu.lst - subdir= - if [ "${bootdev}" != "" ]; then - grubdev=$(mapdev ${bootdev}) - else - subdir="/boot" - fi - echo "root ${grubdev}" >>/boot/grub/menu.lst - echo "kernel ${subdir}/${VMLINUZ} root=${PART_ROOT} ro" >>/boot/grub/menu.lst - echo "initrd ${subdir}/${INITRAMFS_BASENAME}.img" >>/boot/grub/menu.lst - echo "" >>/boot/grub/menu.lst - - # adding fallback/full image - echo "# (1) Parabola GNU/Linux-libre" >>/boot/grub/menu.lst - echo "title Parabola GNU/Linux-libre Fallback - ${VMLINUZ}" >>/boot/grub/menu.lst - echo "root ${grubdev}" >>/boot/grub/menu.lst - echo "kernel ${subdir}/${VMLINUZ} root=${PART_ROOT} ro" >>/boot/grub/menu.lst - echo "initrd ${subdir}/${INITRAMFS_BASENAME}-fallback.img" >>/boot/grub/menu.lst - echo "" >>/boot/grub/menu.lst - fi - done - fi - fi - - echo "Installing the GRUB bootloader..." - cp -a /usr/lib/grub/i386-pc/* /boot/grub/ - sync - - # freeze xfs filesystems to enable grub installation on xfs filesystems - if [ -x /usr/sbin/xfs_freeze ]; then - [ "$(stat -fLc %T /boot)" == "xfs" ] && /usr/sbin/xfs_freeze -f /boot > /dev/null 2>&1 - [ "$(stat -fLc %T /)" == "xfs" ] && /usr/sbin/xfs_freeze -f / > /dev/null 2>&1 - fi - - # look for a separately-mounted /boot partition - bootpart=$(mount | grep /boot | cut -d' ' -f 1) - if [ "${bootpart}" = "" ]; then - bootpart=${PART_ROOT} - fi - bootpart=$(mapdev ${bootpart}) - bootdev=$(mapdev ${ROOTDEV}) - if [ "${bootpart}" = "" ]; then - echo "Error: Missing/Invalid root device: ${bootpart}" - exit 1 - fi - - echo ${bootpart} - echo ${bootdev} - /sbin/grub --no-floppy --batch >/tmp/grub.log 2>&1 < /dev/null 2>&1 - [ "$(stat -fLc %T /)" == "xfs" ] && /usr/sbin/xfs_freeze -u / > /dev/null 2>&1 - fi - if grep "Error [0-9]*: " /tmp/grub.log >/dev/null; then - echo "Error installing GRUB. (see /tmp/grub.log for output)" - exit 1 - fi - echo "GRUB was successfully installed." - - rm -f /tmp/grub.log - - exit 0 -} - -dogrub diff --git a/libre/grub/intelmac.patch b/libre/grub/intelmac.patch deleted file mode 100644 index a3fabc733..000000000 --- a/libre/grub/intelmac.patch +++ /dev/null @@ -1,67 +0,0 @@ ---- grub-0.97.orig/stage2/asm.S 2004-06-19 18:55:22.000000000 +0200 -+++ grub-0.97/stage2/asm.S 2006-04-21 11:10:52.000000000 +0200 -@@ -1651,7 +1651,29 @@ - jnz 3f - ret - --3: /* use keyboard controller */ -+3: /* -+ * try to switch gateA20 using PORT92, the "Fast A20 and Init" -+ * register -+ */ -+ mov $0x92, %dx -+ inb %dx, %al -+ /* skip the port92 code if it's unimplemented (read returns 0xff) */ -+ cmpb $0xff, %al -+ jz 6f -+ -+ /* set or clear bit1, the ALT_A20_GATE bit */ -+ movb 4(%esp), %ah -+ testb %ah, %ah -+ jz 4f -+ orb $2, %al -+ jmp 5f -+4: and $0xfd, %al -+ -+ /* clear the INIT_NOW bit don't accidently reset the machine */ -+5: and $0xfe, %al -+ outb %al, %dx -+ -+6: /* use keyboard controller */ - pushl %eax - - call gloop1 -@@ -1661,9 +1683,12 @@ - - gloopint1: - inb $K_STATUS -+ cmpb $0xff, %al -+ jz gloopint1_done - andb $K_IBUF_FUL, %al - jnz gloopint1 - -+gloopint1_done: - movb $KB_OUTPUT_MASK, %al - cmpb $0, 0x8(%esp) - jz gdoit -@@ -1684,6 +1709,8 @@ - - gloop1: - inb $K_STATUS -+ cmpb $0xff, %al -+ jz gloop2ret - andb $K_IBUF_FUL, %al - jnz gloop1 - -@@ -1991,6 +2018,11 @@ - ENTRY(console_getkey) - push %ebp - -+wait_for_key: -+ call EXT_C(console_checkkey) -+ incl %eax -+ jz wait_for_key -+ - call EXT_C(prot_to_real) - .code16 - diff --git a/libre/grub/menu.lst b/libre/grub/menu.lst deleted file mode 100644 index f405baa91..000000000 --- a/libre/grub/menu.lst +++ /dev/null @@ -1,43 +0,0 @@ -# Config file for GRUB - The GNU GRand Unified Bootloader -# /boot/grub/menu.lst - -# DEVICE NAME CONVERSIONS -# -# Linux Grub -# ------------------------- -# /dev/fd0 (fd0) -# /dev/sda (hd0) -# /dev/sdb2 (hd1,1) -# /dev/sda3 (hd0,2) -# - -# FRAMEBUFFER RESOLUTION SETTINGS -# +-------------------------------------------------+ -# | 640x480 800x600 1024x768 1280x1024 -# ----+-------------------------------------------- -# 256 | 0x301=769 0x303=771 0x305=773 0x307=775 -# 32K | 0x310=784 0x313=787 0x316=790 0x319=793 -# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794 -# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795 -# +-------------------------------------------------+ -# for more details and different resolutions see -# https://wiki.archlinux.org/index.php/GRUB#Framebuffer_resolution - -# general configuration: -timeout 5 -default 0 -color magenta/black white/magenta - -# boot sections follow -# each is implicitly numbered from 0 in the order of appearance below -# -# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line. -# -#-* - -# (0) Parabola GNU/Linux-libre -title Parabola GNU/Linux-libre [/boot/vmlinuz-linux-libre] -root (hd0,0) -kernel /vmlinuz-linux-libre root=/dev/sda3 ro -initrd /initramfs-linux-libre.img - diff --git a/libre/grub/more-raid.patch b/libre/grub/more-raid.patch deleted file mode 100644 index 39db23474..000000000 --- a/libre/grub/more-raid.patch +++ /dev/null @@ -1,100 +0,0 @@ ---- grub-0.95/lib/device.c.moreraid 2004-11-30 17:09:36.736099360 -0500 -+++ grub-0.95/lib/device.c 2004-11-30 17:12:17.319686944 -0500 -@@ -544,6 +544,17 @@ - } - - static void -+get_cciss_disk_name (char * name, int controller, int drive) -+{ -+ sprintf (name, "/dev/cciss/c%dd%d", controller, drive); -+} -+ -+static void -+get_cpqarray_disk_name (char * name, int controller, int drive) -+{ -+ sprintf (name, "/dev/ida/c%dd%d", controller, drive); -+} -+static void - get_ataraid_disk_name (char *name, int unit) - { - sprintf (name, "/dev/ataraid/d%c", unit + '0'); -@@ -920,7 +931,7 @@ - - for (controller = 0; controller < 8; controller++) - { -- for (drive = 0; drive < 15; drive++) -+ for (drive = 0; drive < 32; drive++) - { - char name[24]; - -@@ -940,6 +951,70 @@ - } - } - #endif /* __linux__ */ -+ -+#ifdef __linux__ -+ /* This is for cciss - we have -+ /dev/cciss/cdp. -+ -+ cciss driver currently supports up to 8 controllers, 16 logical -+ drives, and 7 partitions. */ -+ { -+ int controller, drive; -+ -+ for (controller = 0; controller < 8; controller++) -+ { -+ for (drive = 0; drive < 16; drive++) -+ { -+ char name[24]; -+ -+ get_cciss_disk_name (name, controller, drive); -+ if (check_device (name)) -+ { -+ (*map)[num_hd + 0x80] = strdup (name); -+ assert ((*map)[num_hd + 0x80]); -+ -+ /* If the device map file is opened, write the map. */ -+ if (fp) -+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); -+ -+ num_hd++; -+ } -+ } -+ } -+ } -+#endif /* __linux__ */ -+ -+#ifdef __linux__ -+ /* This is for cpqarray - we have -+ /dev/ida/cdp. -+ -+ cpqarray driver currently supports up to 8 controllers, 16 logical -+ drives, and 15 partitions. */ -+ { -+ int controller, drive; -+ -+ for (controller = 0; controller < 8; controller++) -+ { -+ for (drive = 0; drive < 15; drive++) -+ { -+ char name[24]; -+ -+ get_cpqarray_disk_name (name, controller, drive); -+ if (check_device (name)) -+ { -+ (*map)[num_hd + 0x80] = strdup (name); -+ assert ((*map)[num_hd + 0x80]); -+ -+ /* If the device map file is opened, write the map. */ -+ if (fp) -+ fprintf (fp, "(hd%d)\t%s\n", num_hd, name); -+ -+ num_hd++; -+ } -+ } -+ } -+ } -+#endif /* __linux__ */ - - /* OK, close the device map file if opened. */ - if (fp) diff --git a/libre/grub/rePKGBUILD b/libre/grub/rePKGBUILD deleted file mode 100644 index a73289fb5..000000000 --- a/libre/grub/rePKGBUILD +++ /dev/null @@ -1,37 +0,0 @@ -# Maintainer: Nicolas Reynolds -# Contributor: André Silva -source PKGBUILD -CARCH=i686 -unset build package md5sums source -_repo=core -source=(PKGBUILD - #http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT - http://mirrors.kernel.org/archlinux/${_repo}/os/${CARCH}/${pkgname%}-$pkgver-21-$CARCH$PKGEXT - # files for pkg modifications - menu.lst - install-grub - ) -options=(!strip) - -build() { - cd "${srcdir}/" - #rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-$pkgrel-$CARCH$PKGEXT - rm PKGBUILD .{INSTALL,PKGINFO} ${pkgname%}-$pkgver-21-$CARCH$PKGEXT - # put actions for package modifications below this line - - rm -v boot/grub/menu.lst sbin/install-grub -} - -package() { - cd ${srcdir} - cp -a ./* ${pkgdir} - - install -D -m644 menu.lst $pkgdir/boot/grub/menu.lst - install -D -m755 install-grub $pkgdir/sbin/install-grub - - rm -v menu.lst install-grub ${pkgdir}/menu.lst ${pkgdir}/install-grub - -} - - -# vim:set ts=2 sw=2 et: diff --git a/libre/grub/special-devices.patch b/libre/grub/special-devices.patch deleted file mode 100644 index 894f3e887..000000000 --- a/libre/grub/special-devices.patch +++ /dev/null @@ -1,18 +0,0 @@ ---- grub-0.93/lib/device.c.raid 2002-05-20 05:53:46.000000000 -0400 -+++ grub-0.93/lib/device.c 2002-12-28 23:24:10.000000000 -0500 -@@ -689,7 +689,14 @@ - if (strcmp (dev + strlen(dev) - 5, "/disc") == 0) - strcpy (dev + strlen(dev) - 5, "/part"); - } -- sprintf (dev + strlen(dev), "%d", ((partition >> 16) & 0xFF) + 1); -+ -+ sprintf (dev + strlen(dev), "%s%d", -+ /* Compaq smart and others */ -+ (strncmp(dev, "/dev/ida/", 9) == 0 || -+ strncmp(dev, "/dev/ataraid/", 13) == 0 || -+ strncmp(dev, "/dev/cciss/", 11) == 0 || -+ strncmp(dev, "/dev/rd/", 8) == 0) ? "p" : "", -+ ((partition >> 16) & 0xFF) + 1); - - /* Open the partition. */ - fd = open (dev, O_RDWR); -- cgit v1.2.3-2-g168b From 43a5bcc4818d2b06b0dbc8f53c9b9c26150e7dc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 00:15:51 -0300 Subject: grub-2.00-1: adding new grub to [libre] repo on abslibre --- libre/grub/05_archtheme | 6 + libre/grub/20_memtest86+ | 29 +++ libre/grub/PKGBUILD | 250 +++++++++++++++++++++ .../fix_stack_pointer_handling_16_relocator.patch | 13 ++ libre/grub/grub-install.fix | 11 + ...config-Use_outside_GRUB_PREFIX_if_defined.patch | 15 ++ libre/grub/grub.cfg | 139 ++++++++++++ libre/grub/grub.default | 47 ++++ libre/grub/grub.install | 33 +++ libre/grub/grub2.install | 33 +++ .../grub2_automake_1.11.2_pkglib_to_pkgdata.patch | 134 +++++++++++ libre/grub/grub2_bzr_export.sh | 113 ++++++++++ libre/grub/grub_bzr_export.sh | 113 ++++++++++ libre/grub/grub_extras_lua_args_fix.patch | 13 ++ libre/grub/parabola-mkconfig.patch | 32 +++ libre/grub/parabola_grub_mkconfig_fixes.patch | 152 +++++++++++++ 16 files changed, 1133 insertions(+) create mode 100644 libre/grub/05_archtheme create mode 100644 libre/grub/20_memtest86+ create mode 100644 libre/grub/PKGBUILD create mode 100644 libre/grub/fix_stack_pointer_handling_16_relocator.patch create mode 100644 libre/grub/grub-install.fix create mode 100644 libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch create mode 100644 libre/grub/grub.cfg create mode 100644 libre/grub/grub.default create mode 100644 libre/grub/grub.install create mode 100644 libre/grub/grub2.install create mode 100644 libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch create mode 100644 libre/grub/grub2_bzr_export.sh create mode 100644 libre/grub/grub_bzr_export.sh create mode 100644 libre/grub/grub_extras_lua_args_fix.patch create mode 100644 libre/grub/parabola-mkconfig.patch create mode 100644 libre/grub/parabola_grub_mkconfig_fixes.patch (limited to 'libre') diff --git a/libre/grub/05_archtheme b/libre/grub/05_archtheme new file mode 100644 index 000000000..4d1b6fb20 --- /dev/null +++ b/libre/grub/05_archtheme @@ -0,0 +1,6 @@ +#!/bin/bash -e + +cat << EOF +set menu_color_normal=light-blue/black +set menu_color_highlight=light-cyan/blue +EOF diff --git a/libre/grub/20_memtest86+ b/libre/grub/20_memtest86+ new file mode 100644 index 000000000..1d3096f6b --- /dev/null +++ b/libre/grub/20_memtest86+ @@ -0,0 +1,29 @@ +#! /bin/sh -e +######################################################## +# This script generates a memtest86+ entry on grub.cfg # +# if memtest is installed on the system. # +######################################################## + +prefix="/usr" +exec_prefix="${prefix}" + +datarootdir="/usr/share" +datadir="${datarootdir}" + +. "${datadir}/grub/grub-mkconfig_lib" + +MEMTEST86_IMAGE="/boot/memtest86+/memtest.bin" +CLASS="--class memtest86 --class gnu --class tool" + +if [ -e $MEMTEST86_IMAGE ] && is_path_readable_by_grub $MEMTEST86_IMAGE; then + # image exists, create menu entry + echo "Found memtest86+ image: $MEMTEST86_IMAGE" >&2 + cat << EOF +menuentry "Memory test (memtest86+)" $CLASS { +EOF + prepare_grub_to_access_device `${grub_probe} --target=device $MEMTEST86_IMAGE` | sed -e "s/^/ /" + cat << EOF + linux16 (\$root)`make_system_path_relative_to_its_root $MEMTEST86_IMAGE` +} +EOF +fi diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD new file mode 100644 index 000000000..8a1c01434 --- /dev/null +++ b/libre/grub/PKGBUILD @@ -0,0 +1,250 @@ +# Maintainer: Ronald van Haren +# Contributor: Keshav P R <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> +# Maintainer (Parabola): André Silva + +_grub_lua_ver=24 +_grub_ntldr_ver=21 +_grub_915_ver=9 + +pkgname=('grub-common' 'grub-bios' 'grub-efi-i386') +pkgbase=grub +pkgver=2.00 +pkgrel=1 +url="https://www.gnu.org/software/grub/" +arch=('i686' 'x86_64') +license=('GPL3') +makedepends=('xz' 'bdf-unifont' 'ttf-dejavu' 'python' 'autogen' + 'texinfo' 'help2man' 'gettext' 'device-mapper' 'fuse') + +source=("http://ftp.gnu.org/gnu/grub/grub-${pkgver}.tar.xz" + "ftp://ftp.archlinux.org/other/grub2/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" + "ftp://ftp.archlinux.org/other/grub2/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" + "ftp://ftp.archlinux.org/other/grub2/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz" + 'parabola_grub_mkconfig_fixes.patch' + 'grub.default' + 'grub.cfg' + '20_memtest86+' + 'grub_bzr_export.sh') + +noextract=("grub2_extras_lua_r${_grub_lua_ver}.tar.xz" + "grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" + "grub2_extras_915resolution_r${_grub_915_ver}.tar.xz") + +sha1sums=('274d91e96b56a5b9dd0a07accff69dbb6dfb596b' + '89290031b974780c6df76893836d2477d4add895' + 'eb4b35b4c36b64f9405cbcbc538cb205171c1c0a' + 'd5ae2efec25616028a9d89e98b6e454f1c4c415f' + '31aa740fc225b3f3ed4917843038f9e8658a71be' + '79a0e597f19e15bd4c256384e0ef998bc6d06cc8' + 'fb69af1ff6c0b7fdf7ce7d42d0f048edc1a50a45' + 'ce35d7ae75cd1b5b677e894e528f96add40e77b9' + '0cfd4e51cdb14a92f06cfd3c607f2aa21f3e55fc') + +_build_grub-common_and_bios() { + + ## copy the source for building the common/bios package + cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_bios-${pkgver}" + cd "${srcdir}/grub_bios-${pkgver}" + + ## Apply Parabola specific fixes to enable grub-mkconfig detect Libre kernels and initramfs + patch -Np1 -i "${srcdir}/parabola_grub_mkconfig_fixes.patch" + echo + + ## fix unifont.bdf location so that grub-mkfont can create *.pf2 files + sed 's|/usr/share/fonts/unifont|/usr/share/fonts/unifont /usr/share/fonts/misc|g' -i "${srcdir}/grub_bios-${pkgver}/configure.ac" + + ## fix DejaVuSans.ttf location so that grub-mkfont can create *.pf2 files for starfield theme + sed 's|/usr/share/fonts/dejavu|/usr/share/fonts/dejavu /usr/share/fonts/TTF|g' -i "${srcdir}/grub_bios-${pkgver}/configure.ac" + + ## add the grub-extra sources + export GRUB_CONTRIB="${srcdir}/grub_bios-${pkgver}/grub-extras/" + install -d "${srcdir}/grub_bios-${pkgver}/grub-extras" + + bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \ + -C "${srcdir}/grub_bios-${pkgver}/grub-extras" + + bsdtar xf "${srcdir}/grub2_extras_ntldr-img_r${_grub_ntldr_ver}.tar.xz" \ + -C "${srcdir}/grub_bios-${pkgver}/grub-extras" + + bsdtar xf "${srcdir}/grub2_extras_915resolution_r${_grub_915_ver}.tar.xz" \ + -C "${srcdir}/grub_bios-${pkgver}/grub-extras" + + ## Requires python2 + # sed 's|python |python2 |g' -i "${srcdir}/grub_bios-${pkgver}/autogen.sh" + + ## start the actual build process + cd "${srcdir}/grub_bios-${pkgver}" + ./autogen.sh + echo + + CFLAGS="" ./configure \ + --with-platform="pc" \ + --target="i386" \ + --host="${CARCH}-unknown-linux-gnu" \ + "${_EFIEMU}" \ + --enable-mm-debug \ + --enable-nls \ + --enable-device-mapper \ + --enable-cache-stats \ + --enable-grub-mkfont \ + --enable-grub-mount \ + --prefix="/usr" \ + --bindir="/usr/bin" \ + --sbindir="/usr/sbin" \ + --mandir="/usr/share/man" \ + --infodir="/usr/share/info" \ + --datarootdir="/usr/share" \ + --sysconfdir="/etc" \ + --program-prefix="" \ + --with-bootdir="/boot" \ + --with-grubdir="grub" \ + --disable-werror + echo + + CFLAGS="" make + echo + +} + +_build_grub-efi-i386() { + + ## copy the source for building the efi package + cp -r "${srcdir}/grub-${pkgver}" "${srcdir}/grub_efi-${pkgver}" + cd "${srcdir}/grub_efi-${pkgver}" + + export GRUB_CONTRIB="${srcdir}/grub_efi-${pkgver}/grub-extras/" + install -d "${srcdir}/grub_efi-${pkgver}/grub-extras" + + bsdtar xf "${srcdir}/grub2_extras_lua_r${_grub_lua_ver}.tar.xz" \ + -C "${srcdir}/grub_efi-${pkgver}/grub-extras" + + cd "${srcdir}/grub_efi-${pkgver}" + ./autogen.sh + echo + + CFLAGS="" ./configure \ + --with-platform="efi" \ + --target="i386" \ + --host="${CARCH}-unknown-linux-gnu" \ + --disable-efiemu \ + --enable-mm-debug \ + --enable-nls \ + --enable-device-mapper \ + --enable-cache-stats \ + --enable-grub-mkfont \ + --enable-grub-mount \ + --prefix="/usr" \ + --bindir="/usr/bin" \ + --sbindir="/usr/sbin" \ + --mandir="/usr/share/man" \ + --infodir="/usr/share/info" \ + --datarootdir="/usr/share" \ + --sysconfdir="/etc" \ + --program-prefix="" \ + --with-bootdir="/boot" \ + --with-grubdir="grub" \ + --disable-werror + echo + + CFLAGS="" make + echo + +} + +build() { + + ## set architecture dependent variables + if [[ "${CARCH}" == 'x86_64' ]]; then + _EFIEMU="--enable-efiemu" + else + _EFIEMU="--disable-efiemu" + fi + + _HOST="${CARCH}" + + cd "${srcdir}/grub-${pkgver}" + # _get_locale_files + + _build_grub-common_and_bios + echo + + _build_grub-efi-i386 + echo + +} + +package_grub-common() { + + pkgdesc="GNU GRand Unified Bootloader - Utilities and Common Files (Parabola rebranded)" + depends=('sh' 'xz' 'freetype2' 'gettext' 'device-mapper' 'fuse') + conflicts=('grub-legacy' 'grub') + replaces=('grub2-common') + provides=('grub2-common') + backup=('boot/grub/grub.cfg' 'etc/default/grub' 'etc/grub.d/40_custom') + optdepends=('libisoburn: provides xorriso for generating grub rescue iso using grub-mkrescue' + 'os-prober: to detect other OSes when generating grub.cfg in BIOS systems' + 'mtools: for grub-mkrescue FAT FS support') + install="grub.install" + options=('strip' 'purge' 'docs' 'zipman' '!emptydirs') + + cd "${srcdir}/grub_bios-${pkgver}" + make DESTDIR="${pkgdir}/" bashcompletiondir="/usr/share/bash-completion/completions" install + echo + + ## install extra /etc/grub.d/ files + install -D -m0755 "${srcdir}/20_memtest86+" "${pkgdir}/etc/grub.d/20_memtest86+" + + ## install /etc/default/grub (used by grub-mkconfig) + install -D -m0644 "${srcdir}/grub.default" "${pkgdir}/etc/default/grub" + + ## install grub.cfg (needed so it doesn't get removed on upgrading because it was previously here) + install -D -m0644 "${srcdir}/grub.cfg" "${pkgdir}/boot/grub/grub.cfg" + + # remove platform specific files + rm -rf "${pkgdir}/usr/lib/grub/i386-pc/" + +} + +package_grub-bios() { + + pkgdesc="GNU GRand Unified Bootloader - i386 PC BIOS Modules" + depends=("grub-common=${pkgver}") + options=('!strip' '!emptydirs') + replaces=('grub2-bios') + provides=('grub2-bios') + + cd "${srcdir}/grub_bios-${pkgver}" + make DESTDIR="${pkgdir}/" install + echo + + ## remove non platform-specific files + rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}} + + ## remove gdb debugging related files + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/i386-pc"/{kernel.exec,gdb_grub,gmodule.pl} || true + +} + +package_grub-efi-i386() { + + pkgdesc="GNU GRand Unified Bootloader - i386 UEFI Modules" + depends=("grub-common=${pkgver}" 'dosfstools' 'efibootmgr') + options=('!strip' '!emptydirs') + replaces=('grub2-efi-i386') + provides=('grub2-efi-i386') + + cd "${srcdir}/grub_efi-${pkgver}" + make DESTDIR="${pkgdir}/" install + echo + + ## remove non platform-specific files + rm -rf "${pkgdir}"/{boot,etc,usr/{share,bin,sbin}} + + ## remove gdb debugging related files + rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.module || true + rm -f "${pkgdir}/usr/lib/grub/i386-efi"/*.image || true + rm -f "${pkgdir}/usr/lib/grub/i386-efi"/{kernel.exec,gdb_grub,gmodule.pl} || true + +} diff --git a/libre/grub/fix_stack_pointer_handling_16_relocator.patch b/libre/grub/fix_stack_pointer_handling_16_relocator.patch new file mode 100644 index 000000000..edc0ef502 --- /dev/null +++ b/libre/grub/fix_stack_pointer_handling_16_relocator.patch @@ -0,0 +1,13 @@ +diff --git a/grub-core/lib/i386/relocator16.S b/grub-core/lib/i386/relocator16.S +index c3768f4..982415d 100644 +--- a/grub-core/lib/i386/relocator16.S ++++ b/grub-core/lib/i386/relocator16.S +@@ -130,7 +130,7 @@ VARIABLE(grub_relocator16_ss) + .byte 0xb8 + VARIABLE(grub_relocator16_sp) + .word 0 +- movw %ax, %ss ++ movzwl %ax, %esp + + /* movw imm32, %edx. */ + .byte 0x66, 0xba diff --git a/libre/grub/grub-install.fix b/libre/grub/grub-install.fix new file mode 100644 index 000000000..29e74bd44 --- /dev/null +++ b/libre/grub/grub-install.fix @@ -0,0 +1,11 @@ +=== modified file 'grub-core/kern/emu/hostdisk.c' +--- grub-core/kern/emu/hostdisk.c 2012-04-18 21:48:52 +0000 ++++ grub-core/kern/emu/hostdisk.c 2012-04-19 18:35:06 +0000 +@@ -1081,7 +1081,7 @@ + { + int fd; + grub_disk_addr_t max = ~0ULL; +- fd = open_device (disk, sector, O_RDONLY, &max); ++ fd = open_device (disk, sector, O_WRONLY, &max); + if (fd < 0) + return grub_errno; diff --git a/libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch b/libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch new file mode 100644 index 000000000..e1de26859 --- /dev/null +++ b/libre/grub/grub-mkconfig-Use_outside_GRUB_PREFIX_if_defined.patch @@ -0,0 +1,15 @@ +diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in +index 859c2e8..c4391dc 100644 +--- a/util/grub-mkconfig.in ++++ b/util/grub-mkconfig.in +@@ -40,7 +40,9 @@ self=`basename $0` + grub_probe="${sbindir}/`echo grub-probe | sed "${transform}"`" + grub_script_check="${bindir}/`echo grub-script-check | sed "${transform}"`" + +-GRUB_PREFIX=`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"` ++if test -z "${GRUB_PREFIX}"; then ++ GRUB_PREFIX=`echo '/@bootdirname@/@grubdirname@' | sed "s,//*,/,g"` ++fi + + . "${datadir}/@PACKAGE@/grub-mkconfig_lib" + diff --git a/libre/grub/grub.cfg b/libre/grub/grub.cfg new file mode 100644 index 000000000..7f583e102 --- /dev/null +++ b/libre/grub/grub.cfg @@ -0,0 +1,139 @@ +# +# DO NOT EDIT THIS FILE +# +# It is automatically generated by grub-mkconfig using templates +# from /etc/grub.d and settings from /etc/default/grub +# + +### BEGIN /etc/grub.d/00_header ### +insmod part_gpt +insmod part_msdos +if [ -s $prefix/grubenv ]; then + load_env +fi +set default="0" + +if [ x"${feature_menuentry_id}" = xy ]; then + menuentry_id_option="--id" +else + menuentry_id_option="" +fi + +export menuentry_id_option + +if [ "${prev_saved_entry}" ]; then + set saved_entry="${prev_saved_entry}" + save_env saved_entry + set prev_saved_entry= + save_env prev_saved_entry + set boot_once=true +fi + +function savedefault { + if [ -z "${boot_once}" ]; then + saved_entry="${chosen}" + save_env saved_entry + fi +} + +function load_video { + if [ x$feature_all_video_module = xy ]; then + insmod all_video + else + insmod efi_gop + insmod efi_uga + insmod ieee1275_fb + insmod vbe + insmod vga + insmod video_bochs + insmod video_cirrus + fi +} + +if [ x$feature_default_font_path = xy ] ; then + font=unicode +else +insmod part_msdos +insmod ext2 +set root='hd0,msdos5' +if [ x$feature_platform_search_hint = xy ]; then + search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467 +else + search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467 +fi + font="/usr/share/grub/unicode.pf2" +fi + +if loadfont $font ; then + set gfxmode=auto + load_video + insmod gfxterm + set locale_dir=$prefix/locale + set lang=en_US + insmod gettext +fi +terminal_input console +terminal_output gfxterm +set timeout=5 +### END /etc/grub.d/00_header ### + +### BEGIN /etc/grub.d/10_linux ### +menuentry 'Parabola GNU/Linux-libre, with Linux-libre core repo kernel' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-true-ad4103fa-d940-47ca-8506-301d8071d467' { + load_video + set gfxpayload=keep + insmod gzio + insmod part_msdos + insmod ext2 + set root='hd0,msdos5' + if [ x$feature_platform_search_hint = xy ]; then + search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467 + else + search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467 + fi + echo 'Loading Linux libre core repo kernel ...' + linux /boot/vmlinuz-linux-libre root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet + echo 'Loading initial ramdisk ...' + initrd /boot/initramfs-linux-libre.img +} +menuentry 'Parabola GNU/Linux-libre, with Linux libre repo kernel (Fallback initramfs)' --class parabola --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-core repo kernel-fallback-ad4103fa-d940-47ca-8506-301d8071d467' { + load_video + set gfxpayload=keep + insmod gzio + insmod part_msdos + insmod ext2 + set root='hd0,msdos5' + if [ x$feature_platform_search_hint = xy ]; then + search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos5 --hint-efi=hd0,msdos5 --hint-baremetal=ahci0,msdos5 ad4103fa-d940-47ca-8506-301d8071d467 + else + search --no-floppy --fs-uuid --set=root ad4103fa-d940-47ca-8506-301d8071d467 + fi + echo 'Loading Linux libre core repo kernel ...' + linux /boot/vmlinuz-linux-libre root=UUID=ad4103fa-d940-47ca-8506-301d8071d467 ro quiet + echo 'Loading initial ramdisk ...' + initrd /boot/initramfs-linux-libre-fallback.img +} + +### END /etc/grub.d/10_linux ### + +### BEGIN /etc/grub.d/20_linux_xen ### +### END /etc/grub.d/20_linux_xen ### + +### BEGIN /etc/grub.d/20_memtest86+ ### +### END /etc/grub.d/20_memtest86+ ### + +### BEGIN /etc/grub.d/30_os-prober ### +### END /etc/grub.d/30_os-prober ### + +### BEGIN /etc/grub.d/40_custom ### +# This file provides an easy way to add custom menu entries. Simply type the +# menu entries you want to add after this comment. Be careful not to change +# the 'exec tail' line above. +### END /etc/grub.d/40_custom ### + +### BEGIN /etc/grub.d/41_custom ### +if [ -f ${config_directory}/custom.cfg ]; then + source ${config_directory}/custom.cfg +elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then + source $prefix/custom.cfg; +fi +### END /etc/grub.d/41_custom ### diff --git a/libre/grub/grub.default b/libre/grub/grub.default new file mode 100644 index 000000000..2ceb40543 --- /dev/null +++ b/libre/grub/grub.default @@ -0,0 +1,47 @@ +GRUB_DEFAULT=0 +GRUB_TIMEOUT=5 +GRUB_DISTRIBUTOR="Parabola GNU/Linux-libre" +GRUB_CMDLINE_LINUX_DEFAULT="quiet" +GRUB_CMDLINE_LINUX="" + +# Preload both GPT and MBR modules so that they are not missed +GRUB_PRELOAD_MODULES="part_gpt part_msdos" + +# Uncomment to enable Hidden Menu, and optionally hide the timeout count +#GRUB_HIDDEN_TIMEOUT=5 +#GRUB_HIDDEN_TIMEOUT_QUIET=true + +# Uncomment to use basic console +GRUB_TERMINAL_INPUT=console + +# Uncomment to disable graphical terminal +#GRUB_TERMINAL_OUTPUT=console + +# The resolution used on graphical terminal +# note that you can use only modes which your graphic card supports via VBE +# you can see them in real GRUB with the command `vbeinfo' +GRUB_GFXMODE=auto + +# Uncomment to allow the kernel use the same resolution used by grub +GRUB_GFXPAYLOAD_LINUX=keep + +# Uncomment if you want GRUB to pass to the Linux kernel the old parameter +# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx" +#GRUB_DISABLE_LINUX_UUID=true + +# Uncomment to disable generation of recovery mode menu entries +GRUB_DISABLE_RECOVERY=true + +# Uncomment and set to the desired menu colors. Used by normal and wallpaper +# modes only. Entries specified as foreground/background. +GRUB_COLOR_NORMAL="magenta/black" +GRUB_COLOR_HIGHLIGHT="white/magenta" + +# Uncomment one of them for the gfx desired, a image background or a gfxtheme +#GRUB_BACKGROUND="/path/to/wallpaper" +#GRUB_THEME="/path/to/gfxtheme" + +# Uncomment to get a beep at GRUB start +#GRUB_INIT_TUNE="480 440 1" + +#GRUB_SAVEDEFAULT="true" diff --git a/libre/grub/grub.install b/libre/grub/grub.install new file mode 100644 index 000000000..9188b357a --- /dev/null +++ b/libre/grub/grub.install @@ -0,0 +1,33 @@ +infodir="usr/share/info" +filelist=('grub.info' 'grub-dev.info') + +post_install() { + if [ -f /boot/grub/grub.cfg.pacsave ]; then + echo "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg" + install -D -m0644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg + fi + + cat << 'EOM' +Generating grub.cfg.example config file... +This may fail on some machines running a custom kernel. +EOM + + grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null + echo "done." + + for file in ${filelist[@]}; do + install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null + done +} + +post_upgrade() { + for file in ${filelist[@]}; do + install-info ${infodir}/${file}.gz ${infodir}/dir 2> /dev/null + done +} + +pre_remove() { + for file in ${filelist[@]}; do + install-info --delete ${infodir}/${file} ${infodir}/dir 2> /dev/null + done +} diff --git a/libre/grub/grub2.install b/libre/grub/grub2.install new file mode 100644 index 000000000..000533553 --- /dev/null +++ b/libre/grub/grub2.install @@ -0,0 +1,33 @@ +infodir=usr/share/info +filelist=(grub.info grub-dev.info) + +post_install() { + if [ -f /boot/grub/grub.cfg.pacsave ]; then + echo "Copying /boot/grub/grub.cfg.pacsave to /boot/grub/grub.cfg" + install -Dm644 /boot/grub/grub.cfg.pacsave /boot/grub/grub.cfg + fi + + cat << 'EOM' +Generating grub.cfg.example config file... +This may fail on some machines running a custom kernel. +EOM + + grub-mkconfig -o /boot/grub/grub.cfg.example 2> /dev/null + echo "done." + + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +post_upgrade() { + for file in ${filelist[@]}; do + install-info $infodir/$file.gz $infodir/dir 2> /dev/null + done +} + +pre_remove() { + for file in ${filelist[@]}; do + install-info --delete $infodir/$file $infodir/dir 2> /dev/null + done +} diff --git a/libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch b/libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch new file mode 100644 index 000000000..0e396b210 --- /dev/null +++ b/libre/grub/grub2_automake_1.11.2_pkglib_to_pkgdata.patch @@ -0,0 +1,134 @@ +diff --git a/ChangeLog_Keshav b/ChangeLog_Keshav +new file mode 100644 +index 0000000..0eafd65 +--- /dev/null ++++ b/ChangeLog_Keshav +@@ -0,0 +1,12 @@ ++2012-01-04 Keshav P R ++ ++ Fixes for automake 1.11.2 ++ ++ * conf/Makefile.common: Change pkglib_SCRIPTS to pkgdata_SCRIPTS. ++ * conf/Makefile.common: Change pkglib_DATA to pkgdata_DATA. ++ * Makefile.am: Likewise. ++ * gentpl.py: Likewise. ++ * util/grub-mkstandalone.in: Likewise. ++ * util/grub-mknetdir.in: Likewise. ++ * util/grub-mkrescue.in: Likewise. ++ * util/grub-mkstandalone.in: Likewise. +diff --git a/Makefile.am b/Makefile.am +index c5f486e..395b0dd 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -101,8 +101,8 @@ CLEANFILES += widthspec.h + # Install config.h into platformdir + platform_HEADERS = config.h + +-pkglib_DATA += grub-mkconfig_lib +-pkglib_DATA += update-grub_lib ++pkgdata_DATA += grub-mkconfig_lib ++pkgdata_DATA += update-grub_lib + + + if COND_i386_coreboot +diff --git a/conf/Makefile.common b/conf/Makefile.common +index 751188b..bbd59cc 100644 +--- a/conf/Makefile.common ++++ b/conf/Makefile.common +@@ -137,7 +137,7 @@ KERNEL_HEADER_FILES = + + man_MANS = + noinst_DATA = +-pkglib_DATA = ++pkgdata_DATA = + bin_SCRIPTS = + sbin_SCRIPTS = + bin_PROGRAMS = +@@ -147,7 +147,7 @@ check_SCRIPTS = + grubconf_DATA = + check_PROGRAMS = + noinst_SCRIPTS = +-pkglib_SCRIPTS = ++pkgdata_SCRIPTS = + noinst_PROGRAMS = + grubconf_SCRIPTS = + noinst_LIBRARIES = +diff --git a/gentpl.py b/gentpl.py +index 3008b80..a935f4d 100644 +--- a/gentpl.py ++++ b/gentpl.py +@@ -512,7 +512,7 @@ def script(platform): + r += "[+ ENDIF +]" + + r += rule("[+ name +]", platform_sources(platform) + " $(top_builddir)/config.status", """ +-$(top_builddir)/config.status --file=-:$< | sed -e 's,@pkglib_DATA@,$(pkglib_DATA),g' > $@ ++$(top_builddir)/config.status --file=-:$< | sed -e 's,@pkgdata_DATA@,$(pkgdata_DATA),g' > $@ + chmod a+x [+ name +] + """) + +diff --git a/util/grub-mknetdir.in b/util/grub-mknetdir.in +index e5a2172..7f6a36d 100644 +--- a/util/grub-mknetdir.in ++++ b/util/grub-mknetdir.in +@@ -30,7 +30,7 @@ PACKAGE_VERSION=@PACKAGE_VERSION@ + host_os=@host_os@ + localedir=@datadir@/locale + datarootdir=@datarootdir@ +-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst" ++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst" + + self=`basename $0` + +@@ -183,7 +183,7 @@ process_input_dir () + cp -f "$file" "$grubdir/" + fi + done +- for file in ${pkglib_DATA}; do ++ for file in ${pkgdata_DATA}; do + if test -f "${input_dir}/${file}"; then + cp -f "${input_dir}/${file}" "$grubdir/" + fi +diff --git a/util/grub-mkrescue.in b/util/grub-mkrescue.in +index eff7708..f6b96d4 100644 +--- a/util/grub-mkrescue.in ++++ b/util/grub-mkrescue.in +@@ -27,7 +27,7 @@ libdir=@libdir@ + PACKAGE_NAME=@PACKAGE_NAME@ + PACKAGE_TARNAME=@PACKAGE_TARNAME@ + PACKAGE_VERSION=@PACKAGE_VERSION@ +-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst" ++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst" + + self=`basename $0` + +@@ -163,7 +163,7 @@ process_input_dir () + cp -f "$file" ${iso9660_dir}/boot/grub/${platform}/ + fi + done +- for file in ${pkglib_DATA}; do ++ for file in ${pkgdata_DATA}; do + if test -f "${input_dir}/${file}"; then + cp -f "${input_dir}/${file}" ${iso9660_dir}/boot/grub/${platform}/ + fi +diff --git a/util/grub-mkstandalone.in b/util/grub-mkstandalone.in +index b0dbf9b..92b7306 100644 +--- a/util/grub-mkstandalone.in ++++ b/util/grub-mkstandalone.in +@@ -27,7 +27,7 @@ libdir=@libdir@ + PACKAGE_NAME=@PACKAGE_NAME@ + PACKAGE_TARNAME=@PACKAGE_TARNAME@ + PACKAGE_VERSION=@PACKAGE_VERSION@ +-pkglib_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst" ++pkgdata_DATA="moddep.lst command.lst fs.lst partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst" + + self=`basename $0` + +@@ -163,7 +163,7 @@ for file in "${source_directory}/"*.mod "${source_directory}/"efiemu32.o "${sour + fi + done + +-for file in ${pkglib_DATA}; do ++for file in ${pkgdata_DATA}; do + if test -f "${source_directory}/${file}"; then + cp -f "${source_directory}/${file}" "${memdisk_dir}"/boot/grub/ + fi diff --git a/libre/grub/grub2_bzr_export.sh b/libre/grub/grub2_bzr_export.sh new file mode 100644 index 000000000..f40588f82 --- /dev/null +++ b/libre/grub/grub2_bzr_export.sh @@ -0,0 +1,113 @@ +#!/bin/bash + +## For actual repos + +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/lua lua +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/gpxe gpxe +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/ntldr-img ntldr-img +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/915resolution 915resolution + +## For launchpad mirror + +# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-lua lua +# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-gpxe gpxe +# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-ntldr-img ntldr-img +# bzr branch lp:~the-ridikulus-rat/grub/grub2-extras-915resolution 915resolution + +## grub-extras zfs is integrated into grub2 bzr main repo and is no longer needed separately. + +_WD="${PWD}/" +_OUTPUT_DIR="${_WD}/" + +_ACTUAL_PKGVER="1.99" + +_GRUB2_BZR_REPO_DIR="${_WD}/grub2_BZR/" +_GRUB2_BZR_EXP_REPO_DIR="${_WD}/grub2_experimental_BZR/" +_GRUB2_EXTRAS_REPOS_DIR="${_WD}/grub2_extras_BZR/" + +_MAIN_SNAPSHOT() { + + cd "${_GRUB2_BZR_REPO_DIR}/" + echo + + _REVNUM="$(bzr revno ${_GRUB2_BZR_REPO_DIR})" + bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar" + echo + + cd "${_OUTPUT_DIR}/" + + xz -9 "${_OUTPUT_DIR}/grub2_r${_REVNUM}.tar" + echo + +} + +_EXP_SNAPSHOT() { + + cd "${_GRUB2_BZR_EXP_REPO_DIR}/" + echo + + _REVNUM="$(bzr revno ${_GRUB2_BZR_EXP_REPO_DIR})" + bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar" + echo + + cd "${_OUTPUT_DIR}/" + + xz -9 "${_OUTPUT_DIR}/grub2_exp_r${_REVNUM}.tar" + echo + +} + +_EXTRAS_SNAPSHOT() { + + cd "${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME}/" + echo + + _REVNUM="$(bzr revno ${_GRUB2_EXTRAS_REPOS_DIR}/${_GRUB2_EXTRAS_NAME})" + bzr export --root="${_GRUB2_EXTRAS_NAME}" --format=tar "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar" + echo + + cd "${_OUTPUT_DIR}/" + echo + + xz -9 "${_OUTPUT_DIR}/grub2_extras_${_GRUB2_EXTRAS_NAME}_r${_REVNUM}.tar" + echo + +} + +echo + +set -x -e + +echo + +_MAIN_SNAPSHOT + +echo + +# _EXP_SNAPSHOT + +echo + +_GRUB2_EXTRAS_NAME="lua" +_EXTRAS_SNAPSHOT + +_GRUB2_EXTRAS_NAME="gpxe" +_EXTRAS_SNAPSHOT + +_GRUB2_EXTRAS_NAME="ntldr-img" +_EXTRAS_SNAPSHOT + +_GRUB2_EXTRAS_NAME="915resolution" +_EXTRAS_SNAPSHOT + +echo + +set +x +e + +echo + +unset _WD +unset _OUTPUT_DIR +unset _GRUB2_BZR_REPO_DIR +unset _GRUB2_EXTRAS_REPOS_DIR +unset _GRUB2_EXTRAS_NAME diff --git a/libre/grub/grub_bzr_export.sh b/libre/grub/grub_bzr_export.sh new file mode 100644 index 000000000..ff8f99ecc --- /dev/null +++ b/libre/grub/grub_bzr_export.sh @@ -0,0 +1,113 @@ +#!/usr/bin/env bash + +## For actual repos + +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/lua lua +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/gpxe gpxe +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/ntldr-img ntldr-img +# bzr branch bzr://bzr.savannah.gnu.org/grub-extras/915resolution 915resolution + +## For launchpad mirror + +# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-lua lua +# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-gpxe gpxe +# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-ntldr-img ntldr-img +# bzr branch lp:~the-ridikulus-rat/grub/grub-extras-915resolution 915resolution + +## grub-extras zfs is integrated into grub bzr main repo and is no longer needed separately. + +_WD="${PWD}/" +_OUTPUT_DIR="${_WD}/" + +_ACTUAL_PKGVER="2.00" + +_GRUB_BZR_REPO_DIR="${_WD}/grub_mainline_BZR/" +_GRUB_BZR_EXP_REPO_DIR="${_WD}/grub_experimental_BZR/" +_GRUB_EXTRAS_REPOS_DIR="${_WD}/grub_extras_BZR/" + +_MAIN_SNAPSHOT() { + + cd "${_GRUB_BZR_REPO_DIR}/" + echo + + _REVNUM="$(bzr revno ${_GRUB_BZR_REPO_DIR})" + bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar" + echo + + cd "${_OUTPUT_DIR}/" + + xz -9 "${_OUTPUT_DIR}/grub_r${_REVNUM}.tar" + echo + +} + +_EXP_SNAPSHOT() { + + cd "${_GRUB_BZR_EXP_REPO_DIR}/" + echo + + _REVNUM="$(bzr revno ${_GRUB_BZR_EXP_REPO_DIR})" + bzr export --root="grub-${_ACTUAL_PKGVER}" --format="tar" "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar" + echo + + cd "${_OUTPUT_DIR}/" + + xz -9 "${_OUTPUT_DIR}/grub_exp_r${_REVNUM}.tar" + echo + +} + +_EXTRAS_SNAPSHOT() { + + cd "${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME}/" + echo + + _REVNUM="$(bzr revno ${_GRUB_EXTRAS_REPOS_DIR}/${_GRUB_EXTRAS_NAME})" + bzr export --root="${_GRUB_EXTRAS_NAME}" --format="tar" "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar" + echo + + cd "${_OUTPUT_DIR}/" + echo + + xz -9 "${_OUTPUT_DIR}/grub_extras_${_GRUB_EXTRAS_NAME}_r${_REVNUM}.tar" + echo + +} + +echo + +set -x -e + +echo + +_MAIN_SNAPSHOT + +echo + +# _EXP_SNAPSHOT + +echo + +_GRUB_EXTRAS_NAME="lua" +_EXTRAS_SNAPSHOT + +# _GRUB_EXTRAS_NAME="gpxe" +# _EXTRAS_SNAPSHOT + +_GRUB_EXTRAS_NAME="ntldr-img" +_EXTRAS_SNAPSHOT + +_GRUB_EXTRAS_NAME="915resolution" +_EXTRAS_SNAPSHOT + +echo + +set +x +e + +echo + +unset _WD +unset _OUTPUT_DIR +unset _GRUB_BZR_REPO_DIR +unset _GRUB_EXTRAS_REPOS_DIR +unset _GRUB_EXTRAS_NAME diff --git a/libre/grub/grub_extras_lua_args_fix.patch b/libre/grub/grub_extras_lua_args_fix.patch new file mode 100644 index 000000000..5cb317ce3 --- /dev/null +++ b/libre/grub/grub_extras_lua_args_fix.patch @@ -0,0 +1,13 @@ +diff --git a/grub-extras/lua/grub_lib.c b/grub-extras/lua/grub_lib.c +index 9014320..055d620 100644 +--- a/grub-extras/lua/grub_lib.c ++++ b/grub-extras/lua/grub_lib.c +@@ -466,7 +466,7 @@ grub_lua_add_menu (lua_State *state) + if (! p) + return push_result (state); + +- grub_normal_add_menu_entry (n, args, NULL, NULL, NULL, NULL, p, 0); ++ grub_normal_add_menu_entry (n, args, NULL, NULL, NULL, NULL, NULL, p, 0); + } + else + { diff --git a/libre/grub/parabola-mkconfig.patch b/libre/grub/parabola-mkconfig.patch new file mode 100644 index 000000000..7c18a4cc2 --- /dev/null +++ b/libre/grub/parabola-mkconfig.patch @@ -0,0 +1,32 @@ +diff -ru grub-1.99.orig/util/grub.d/10_linux.in grub-1.99/util/grub.d/10_linux.in +--- grub-1.99.orig/util/grub.d/10_linux.in 2011-08-11 15:54:52.051246328 +0200 ++++ grub-1.99/util/grub.d/10_linux.in 2011-08-11 15:55:41.297910793 +0200 +@@ -134,7 +134,7 @@ + + case x`uname -m` in + xi?86 | xx86_64) +- list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* /boot/vmlinuz26-* ; do ++ list=`for i in /boot/vmlinuz-* /vmlinuz-* /boot/kernel-* /boot/vmlinuz26-* /boot/vmlinuz26 ; do + if grub_file_is_not_garbage "$i" ; then echo -n "$i " ; fi + done` ;; + *) +@@ -163,7 +163,8 @@ + "initrd-${alt_version}" "initramfs-${alt_version}.img" \ + "initramfs-genkernel-${version}" \ + "initramfs-genkernel-${alt_version}" \ +- "${basename/vmlinuz/kernel}.img"; do ++ "${basename/vmlinuz/kernel}.img" \ ++ "${basename/vmlinuz/initramfs}.img"; do + if test -e "${dirname}/${i}" ; then + initrd="$i" + break +@@ -194,7 +195,8 @@ + linux_entry "${OS}" "${version}" false \ + "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}" + for i in "initramfs-${version}-fallback.img" \ +- "${basename/vmlinuz/kernel}-fallback.img"; do ++ "${basename/vmlinuz/kernel}-fallback.img" \ ++ "${basename/vmlinuz/initramfs}-fallback.img"; do + if test -e "${dirname}/${i}"; then + initrd="$i" + linux_entry "${OS}" "${version}" true \ diff --git a/libre/grub/parabola_grub_mkconfig_fixes.patch b/libre/grub/parabola_grub_mkconfig_fixes.patch new file mode 100644 index 000000000..19022aec6 --- /dev/null +++ b/libre/grub/parabola_grub_mkconfig_fixes.patch @@ -0,0 +1,152 @@ +diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in +index 516be86..5f37db2 100644 +--- a/util/grub-mkconfig.in ++++ b/util/grub-mkconfig.in +@@ -213,6 +213,8 @@ export GRUB_DEFAULT \ + GRUB_THEME \ + GRUB_GFXPAYLOAD_LINUX \ + GRUB_DISABLE_OS_PROBER \ ++ GRUB_COLOR_NORMAL \ ++ GRUB_COLOR_HIGHLIGHT \ + GRUB_INIT_TUNE \ + GRUB_SAVEDEFAULT \ + GRUB_ENABLE_CRYPTODISK \ +diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in +index 765bfdc..b148558 100644 +--- a/util/grub.d/00_header.in ++++ b/util/grub.d/00_header.in +@@ -115,6 +115,14 @@ cat < Date: Mon, 27 Aug 2012 14:59:45 -0300 Subject: linux-libre-3.5.3-1: updating version --- libre/linux-libre/PKGBUILD | 27 ++++++++++--- libre/linux-libre/alsa-powersave-3.5.x.patch | 29 ++++++++++++++ libre/linux-libre/i915-i2c-crash-3.5.x.patch | 47 ++++++++++++++++++++++ libre/linux-libre/linux-libre.install | 4 +- libre/linux-libre/watchdog-3.5.x.patch | 60 ++++++++++++++++++++++++++++ 5 files changed, 160 insertions(+), 7 deletions(-) create mode 100644 libre/linux-libre/alsa-powersave-3.5.x.patch create mode 100644 libre/linux-libre/i915-i2c-crash-3.5.x.patch create mode 100644 libre/linux-libre/watchdog-3.5.x.patch (limited to 'libre') diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 661fec088..7d0f0a70e 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -10,9 +10,9 @@ pkgbase=linux-libre # Build stock -LIBRE kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.5 -_sublevel=2 +_sublevel=3 pkgver=${_basekernel}.${_sublevel} -pkgrel=1.1 +pkgrel=1 _lxopkgver=${_basekernel}.2 # nearly always the same as pkgver arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -29,10 +29,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'Kbuild.platforms' 'boot-logo.patch' 'change-default-console-loglevel.patch' + 'alsa-powersave-3.5.x.patch' + 'watchdog-3.5.x.patch' + 'i915-i2c-crash-3.5.x.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") - -_kernelname=${pkgbase#linux-libre} -_localversionname=-LIBRE md5sums=('2407fc9563a74acaf38aa0c06516eb1c' 'b081f37b73c652cbb0d5193174092709' '3ba164b409d8024fdd433f3cc4ae1fea' @@ -42,6 +42,9 @@ md5sums=('2407fc9563a74acaf38aa0c06516eb1c' '8267264d9a8966e57fdacd1fa1fc65c4' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' + 'c1d58e712112cf8f95e7831012a1e67a' + 'ae13ed1e92bba07e9b17cf5c8d89683c' + 'ff4a203dd52e4dfb5d60948bb667d06d' 'd822cc131b20090f39b0d448b0e1f8be') if [ "$CARCH" != "mips64el" ]; then # Don't use the Loongson-specific patches on non-mips64el arches. @@ -49,6 +52,9 @@ if [ "$CARCH" != "mips64el" ]; then unset md5sums[${#md5sums[@]}-1] fi +_kernelname=${pkgbase#linux-libre} +_localversionname=-LIBRE + build() { cd "${srcdir}/linux-${_basekernel}" @@ -59,6 +65,17 @@ build() { # Add freedo as boot logo patch -Np1 -i "${srcdir}/boot-logo.patch" + # fix alsa powersave bug, probably fixed in 3.5.4 + # https://bugs.archlinux.org/task/31255 + patch -Np1 -i "${srcdir}/alsa-powersave-3.5.x.patch" + + # fix broken watchdog + # https://bugzilla.kernel.org/show_bug.cgi?id=44991 + patch -Np1 -i "${srcdir}/watchdog-3.5.x.patch" + + # fix i915 i2c crash + # https://bugzilla.kernel.org/show_bug.cgi?id=46381 + patch -Np1 -i "${srcdir}/i915-i2c-crash-3.5.x.patch" # set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param) # remove this when a Kconfig knob is made available by upstream diff --git a/libre/linux-libre/alsa-powersave-3.5.x.patch b/libre/linux-libre/alsa-powersave-3.5.x.patch new file mode 100644 index 000000000..189fd1ceb --- /dev/null +++ b/libre/linux-libre/alsa-powersave-3.5.x.patch @@ -0,0 +1,29 @@ +From: Takashi Iwai +Date: Mon, 20 Aug 2012 19:25:22 +0000 (+0200) +Subject: ALSA: hda - Fix leftover codec->power_transition +X-Git-Tag: v3.6-rc3~14^2~1 +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux.git;a=commitdiff_plain;h=535b6c51fe8293c88ce919cdfc4390c67a1cb6d1 + +ALSA: hda - Fix leftover codec->power_transition + +When the codec turn-on operation is canceled by the immediate +power-on, the driver left the power_transition flag as is. +This caused the persistent avoidance of power-save behavior. + +Cc: [v3.5+] +Signed-off-by: Takashi Iwai +--- + +diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c +index c3077d5..f560051 100644 +--- a/sound/pci/hda/hda_codec.c ++++ b/sound/pci/hda/hda_codec.c +@@ -4454,6 +4454,8 @@ static void __snd_hda_power_up(struct hda_codec *codec, bool wait_power_down) + * then there is no need to go through power up here. + */ + if (codec->power_on) { ++ if (codec->power_transition < 0) ++ codec->power_transition = 0; + spin_unlock(&codec->power_lock); + return; + } diff --git a/libre/linux-libre/i915-i2c-crash-3.5.x.patch b/libre/linux-libre/i915-i2c-crash-3.5.x.patch new file mode 100644 index 000000000..d202b531c --- /dev/null +++ b/libre/linux-libre/i915-i2c-crash-3.5.x.patch @@ -0,0 +1,47 @@ +From cee25168e9c4ef7f9417632af2dc78b8521dfda7 Mon Sep 17 00:00:00 2001 +From: Jani Nikula +Date: Mon, 13 Aug 2012 17:33:02 +0300 +Subject: [PATCH] drm/i915: ensure i2c adapter is all set before adding it + +i2c_add_adapter() may do i2c transfers on the bus to detect supported +devices. Therefore the adapter needs to be all set before adding it. This +was not the case for the bit-banging fallback, resulting in an oops if the +device detection GMBUS transfers timed out. Fix the issue by calling +i2c_add_adapter() only after intel_gpio_setup(). + +LKML-Reference: <5021F00B.7000503@ionic.de> +Tested-by: Mihai Moldovan +Signed-off-by: Jani Nikula +Signed-off-by: Daniel Vetter +--- + drivers/gpu/drm/i915/intel_i2c.c | 7 ++++--- + 1 files changed, 4 insertions(+), 3 deletions(-) + +diff --git a/drivers/gpu/drm/i915/intel_i2c.c b/drivers/gpu/drm/i915/intel_i2c.c +index d79500b..b9755f6 100644 +--- a/drivers/gpu/drm/i915/intel_i2c.c ++++ b/drivers/gpu/drm/i915/intel_i2c.c +@@ -486,9 +486,6 @@ int intel_setup_gmbus(struct drm_device *dev) + bus->dev_priv = dev_priv; + + bus->adapter.algo = &gmbus_algorithm; +- ret = i2c_add_adapter(&bus->adapter); +- if (ret) +- goto err; + + /* By default use a conservative clock rate */ + bus->reg0 = port | GMBUS_RATE_100KHZ; +@@ -498,6 +495,10 @@ int intel_setup_gmbus(struct drm_device *dev) + bus->force_bit = true; + + intel_gpio_setup(bus, port); ++ ++ ret = i2c_add_adapter(&bus->adapter); ++ if (ret) ++ goto err; + } + + intel_i2c_reset(dev_priv->dev); +-- +1.7.7.6 + diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install index 59b77b82d..0cd51930e 100644 --- a/libre/linux-libre/linux-libre.install +++ b/libre/linux-libre/linux-libre.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME= -KERNEL_VERSION=3.5.2-1.1-LIBRE +KERNEL_VERSION=3.5.3-1-LIBRE # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' @@ -33,7 +33,7 @@ post_install () { post_upgrade() { pacman -Q grub &>/dev/null hasgrub=$? - pacman -Q grub2-common &>/dev/null + pacman -Q grub-common &>/dev/null hasgrub2=$? pacman -Q lilo &>/dev/null haslilo=$? diff --git a/libre/linux-libre/watchdog-3.5.x.patch b/libre/linux-libre/watchdog-3.5.x.patch new file mode 100644 index 000000000..6d9df083b --- /dev/null +++ b/libre/linux-libre/watchdog-3.5.x.patch @@ -0,0 +1,60 @@ +diff --git a/drivers/mfd/lpc_ich.c b/drivers/mfd/lpc_ich.c +index 027cc8f..a05fdfc 100644 +--- a/drivers/mfd/lpc_ich.c ++++ b/drivers/mfd/lpc_ich.c +@@ -765,7 +765,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + u32 base_addr_cfg; + u32 base_addr; + int ret; +- bool acpi_conflict = false; + struct resource *res; + + /* Setup power management base register */ +@@ -780,20 +779,11 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + res = wdt_io_res(ICH_RES_IO_TCO); + res->start = base_addr + ACPIBASE_TCO_OFF; + res->end = base_addr + ACPIBASE_TCO_END; +- ret = acpi_check_resource_conflict(res); +- if (ret) { +- acpi_conflict = true; +- goto wdt_done; +- } + + res = wdt_io_res(ICH_RES_IO_SMI); + res->start = base_addr + ACPIBASE_SMI_OFF; + res->end = base_addr + ACPIBASE_SMI_END; +- ret = acpi_check_resource_conflict(res); +- if (ret) { +- acpi_conflict = true; +- goto wdt_done; +- } ++ + lpc_ich_enable_acpi_space(dev); + + /* +@@ -813,11 +803,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + res = wdt_mem_res(ICH_RES_MEM_GCS); + res->start = base_addr + ACPIBASE_GCS_OFF; + res->end = base_addr + ACPIBASE_GCS_END; +- ret = acpi_check_resource_conflict(res); +- if (ret) { +- acpi_conflict = true; +- goto wdt_done; +- } + } + + lpc_ich_finalize_cell(&lpc_ich_cells[LPC_WDT], id); +@@ -825,9 +810,6 @@ static int __devinit lpc_ich_init_wdt(struct pci_dev *dev, + 1, NULL, 0); + + wdt_done: +- if (acpi_conflict) +- pr_warn("Resource conflict(s) found affecting %s\n", +- lpc_ich_cells[LPC_WDT].name); + return ret; + } + +-- +1.7.1 + + -- cgit v1.2.3-2-g168b From 395a097920f6f4e0c9e962986ded9ef1e08e19a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 15:17:41 -0300 Subject: linux-libre-lts-3.0.41-1: reordering PKGBUILD --- libre/linux-libre-lts/PKGBUILD | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'libre') diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index e7d044b92..0631032ed 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -29,9 +29,6 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'i915-fix-ghost-tv-output.patch' 'ext4-options.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") - -_kernelname=${pkgbase#linux-libre} -_localversionname=-LIBRE-LTS md5sums=('5f64180fe7df4e574dac5911b78f5067' 'b4ebaa2ebf8418c75aba96fd4dd6daf3' '8cd05778fc1c2d8145b3b9932b4e3164' @@ -50,6 +47,9 @@ if [ "$CARCH" != "mips64el" ]; then unset md5sums[${#md5sums[@]}-1] fi +_kernelname=${pkgbase#linux-libre} +_localversionname=-LIBRE-LTS + build() { cd "${srcdir}/linux-${_basekernel}" -- cgit v1.2.3-2-g168b From c20b82e0708ca38798bd58a4b5ac2dff34f92995 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 15:34:21 -0300 Subject: lirc-libre-1:0.9.0-26: rebuild against linux-libre-3.5.3 --- libre/lirc-libre/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libre') diff --git a/libre/lirc-libre/PKGBUILD b/libre/lirc-libre/PKGBUILD index 4b3384c25..0968afd17 100644 --- a/libre/lirc-libre/PKGBUILD +++ b/libre/lirc-libre/PKGBUILD @@ -6,7 +6,7 @@ _pkgbase=lirc pkgbase=lirc-libre pkgname=('lirc-libre' 'lirc-utils-libre') pkgver=0.9.0 -pkgrel=25 +pkgrel=26 epoch=1 _extramodules=extramodules-3.5-LIBRE arch=('i686' 'x86_64' 'mips64el') @@ -63,7 +63,7 @@ build() { } package_lirc-libre() { - pkgdesc="Linux-libre Infrared Remote Control kernel modules for stock libre kernel" + pkgdesc="Linux-libre Infrared Remote Control kernel modules for stock kernel libre" depends=('lirc-utils-libre' 'linux-libre>=3.4' 'linux-libre<3.5') replaces=('lirc' 'lirc+pctv') conflicts=('lirc') -- cgit v1.2.3-2-g168b From 0fe4f45a38b011b92cbf7f5ed7cde228ab6c20f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 15:37:22 -0300 Subject: virtualbox-libre-modules-4.1.18-3: rebuild against linux-libre-3.5.3 --- libre/virtualbox-libre-modules/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libre') diff --git a/libre/virtualbox-libre-modules/PKGBUILD b/libre/virtualbox-libre-modules/PKGBUILD index 18b529e63..096fbc594 100644 --- a/libre/virtualbox-libre-modules/PKGBUILD +++ b/libre/virtualbox-libre-modules/PKGBUILD @@ -6,7 +6,7 @@ pkgbase=virtualbox-libre-modules pkgname=('virtualbox-libre-modules' 'virtualbox-libre-parabola-modules') pkgver=4.1.20 -pkgrel=2 +pkgrel=3 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') -- cgit v1.2.3-2-g168b From d20643e27a4eb86103309c345ed8e4203545615d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 17:27:00 -0300 Subject: vhba-module-libre-20120422-8: rebuild against linux-libre-3.5.3 --- libre/vhba-module-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libre') diff --git a/libre/vhba-module-libre/PKGBUILD b/libre/vhba-module-libre/PKGBUILD index 5e5b3411f..51c847e40 100644 --- a/libre/vhba-module-libre/PKGBUILD +++ b/libre/vhba-module-libre/PKGBUILD @@ -7,7 +7,7 @@ _pkgname=vhba-module pkgname=vhba-module-libre pkgver=20120422 _extramodules=extramodules-3.5-LIBRE -pkgrel=7.1 +pkgrel=8 pkgdesc="Kernel libre module that emulates SCSI devices" arch=('i686' 'x86_64') url="http://cdemu.sourceforge.net/" -- cgit v1.2.3-2-g168b From 8a8fc4d059d2c5d0b114e8009dfdad5f55d599e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 18:01:36 -0300 Subject: cdfs-libre: new package for [libre] repo --- libre/cdfs-libre/PKGBUILD | 40 ++++++ libre/cdfs-libre/cdfs-3.0.patch | 274 ++++++++++++++++++++++++++++++++++++++++ libre/cdfs-libre/cdfs-3.2.patch | 12 ++ libre/cdfs-libre/cdfs-3.4.patch | 12 ++ libre/cdfs-libre/cdfs.install | 14 ++ 5 files changed, 352 insertions(+) create mode 100644 libre/cdfs-libre/PKGBUILD create mode 100644 libre/cdfs-libre/cdfs-3.0.patch create mode 100644 libre/cdfs-libre/cdfs-3.2.patch create mode 100644 libre/cdfs-libre/cdfs-3.4.patch create mode 100644 libre/cdfs-libre/cdfs.install (limited to 'libre') diff --git a/libre/cdfs-libre/PKGBUILD b/libre/cdfs-libre/PKGBUILD new file mode 100644 index 000000000..77d7f73dc --- /dev/null +++ b/libre/cdfs-libre/PKGBUILD @@ -0,0 +1,40 @@ +# $Id$ +# Maintainer: Sergej Pupykin +# Contributor: J. Santiago Hirschfeld +# Maintainer (Parabola): André Silva + +_pkgname=cdfs +pkgname=cdfs-libre +pkgver=2.6.27 +pkgrel=27 +pkgdesc="File system module libre that 'exports' all tracks and boot images on a CD as normal files." +arch=(i686 x86_64) +url="http://www.elis.UGent.be/~ronsse/cdfs/" +license=('GPL') +makedepends=('linux-libre-headers') +replaces=('cdfs') +conflicts=('cdfs') +provides=("cdfs=${pkgver}") +install=cdfs.install +source=("http://www.elis.UGent.be/~ronsse/cdfs/download/$pkgname-$pkgver.tar.bz2" + "cdfs-3.0.patch" + "cdfs-3.2.patch" + "cdfs-3.4.patch") +md5sums=('ac64c014a90e3c488394832ea29605b3' + 'aba7da94a9dcbb8a93ea423cb6958fef' + 'e934407b3460257a301822ffc4ab3933' + '9215e7bdac728bd2f889fb525e543454') + +build() { + _kernver=`pacman -Q linux-libre | cut -d . -f 2 | cut -f 1 -d -` + depends=("linux-libre>=3.${_kernver}" "linux-libre<3.`expr ${_kernver} + 1`") + _kernverfull=`cat /usr/lib/modules/extramodules-3.${_kernver}-LIBRE/version` + + cd $srcdir/$pkgname-$pkgver + patch -p1 <$srcdir/cdfs-3.0.patch + patch -p1 <$srcdir/cdfs-3.2.patch + patch -p1 <$srcdir/cdfs-3.4.patch + make KDIR=/usr/lib/modules/${_kernverfull}/build + install -Dm0644 cdfs.ko $pkgdir/usr/lib/modules/extramodules-3.${_kernver}-LIBRE/cdfs.ko + sed -i "s|extramodules-.*-LIBRE|extramodules-3.${_kernver}-LIBRE|" $startdir/cdfs.install +} diff --git a/libre/cdfs-libre/cdfs-3.0.patch b/libre/cdfs-libre/cdfs-3.0.patch new file mode 100644 index 000000000..445a28970 --- /dev/null +++ b/libre/cdfs-libre/cdfs-3.0.patch @@ -0,0 +1,274 @@ +diff -wbBur cdfs-2.6.27/cddata.c cdfs-2.6.27.my/cddata.c +--- cdfs-2.6.27/cddata.c 2009-12-21 17:04:03.000000000 +0300 ++++ cdfs-2.6.27.my/cddata.c 2011-07-24 21:18:44.000000000 +0400 +@@ -83,7 +83,7 @@ + #else + .mmap = generic_file_readonly_mmap, + #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27) +- .sendfile = generic_file_sendfile ++// .sendfile = generic_file_sendfile + #else + .splice_read = generic_file_splice_read + #endif +diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c +--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 ++++ cdfs-2.6.27.my/root.c 2011-07-25 13:16:59.000000000 +0400 +@@ -32,19 +30,14 @@ + * Added code to transform /proc/cdfs into a sequential synthetic file. * + *++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/ + +- + #include +- +-#ifndef OLD_KERNEL + #include +-#endif ++#include + + extern struct seq_operations cdfs_operations; + extern struct _track_info *dummy_track_p; + +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + struct inode *cdfs_iget(struct super_block *sp, unsigned long ino); +-#endif + /*============================================================================* + * cdfs_open() * + * Description: * +@@ -115,15 +108,8 @@ + + /********************************************************************/ + +-#ifdef OLD_KERNEL +-static struct super_block * cdfs_mount(struct super_block *sb, void *data, int silent){ +- kdev_t dev = sb->s_dev; +- int i, j, t; +- struct cdrom_tochdr hdr; +-#else + static int cdfs_fill_super(struct super_block *sb, void *data, int silent){ + int i, t; +-#endif + struct cdrom_tocentry entry; + int no_audio=0, no_data=0; + cd * this_cd; +@@ -131,24 +117,13 @@ + + PRINT("cdfs_mount\n"); + +-#ifdef OLD_KERNEL +- MOD_INC_USE_COUNT; +- +- set_blocksize(dev, CD_FRAMESIZE); // voor bread met ide-cd +-#else + sb_set_blocksize(sb, CD_FRAMESIZE); // voor bread met ide-cd +-#endif + + sb->s_blocksize = CD_FRAMESIZE; + sb->s_blocksize_bits = 11; + + if (!(this_cd = cdfs_info(sb) = kmalloc(sizeof(cd), GFP_KERNEL))){ +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + return -ENOMEM; +-#endif + } + + this_cd->mode = MODE; +@@ -160,13 +135,8 @@ + + // Initialize cache for maximum sector size + if (!(this_cd->cache = kmalloc(CD_FRAMESIZE_RAWER*CACHE_SIZE, GFP_KERNEL))) { +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + kfree(cdfs_info(sb)); + return -ENOMEM; +-#endif + } + + // Cache is still invalid +@@ -183,23 +153,13 @@ + if (this_cd->toc_scsi){ + if (cdfs_toc_read_full(sb)){ + printk("TOC read failed\n"); +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + goto invalid; +-#endif + } + } else { + //if (cdfs_ioctl(sb, CDROMREADTOCHDR, (unsigned long)&hdr)){ + if (cdfs_toc_read(sb)){ + printk("cdfs_toc_read failed\n"); +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +- return NULL; +-#else + goto invalid; +-#endif + } + } + +@@ -365,11 +325,7 @@ + sb->s_flags |= MS_RDONLY; + sb->s_op = &cdfs_ops; + /* always get inode status */ +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + retinode=cdfs_iget(sb, 0); +-#else +- retinode=iget(sb, 0); +-#endif + if ( IS_ERR(retinode) ) + return PTR_ERR(retinode); + +@@ -379,16 +335,12 @@ + + cdfs_proc_cd = this_cd; + +-#ifdef OLD_KERNEL +- return sb; +-#else + return 0; + + invalid: + kfree(this_cd->cache); + kfree(cdfs_info(sb)); + return -EINVAL; +-#endif + } + + /************************************************************************/ +@@ -410,27 +362,12 @@ + // Remove /proc entry + cdfs_proc_cd = NULL; + kfree(cdfs_info(sb)); +- +-#ifdef OLD_KERNEL +- MOD_DEC_USE_COUNT; +-#endif +- + } + + /************************************************************************/ + +-#ifdef OLD_KERNEL +-static int cdfs_statfs(struct super_block *sb, struct statfs *buf) { +- cd * this_cd = cdfs_info(sb); +-#else +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) + static int cdfs_statfs(struct dentry *d, struct kstatfs *buf) { + cd * this_cd = cdfs_info(d->d_sb); +-#else +-static int cdfs_statfs(struct super_block *sb, struct kstatfs *buf) { +- cd * this_cd = cdfs_info(sb); +-#endif +-#endif + PRINT("rmfs_statfs\n"); + + buf->f_type = CDFS_MAGIC; +@@ -460,11 +397,7 @@ + + /************************************************************************/ + +-#ifdef OLD_KERNEL +-static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry){ +-#else + static struct dentry * cdfs_lookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd){ +-#endif + struct inode * inode; + int i; + cd * this_cd = cdfs_info(dir->i_sb); +@@ -480,15 +413,9 @@ + /* Use goto and read inode with iget()/cdfs_iget() */ + /* Thanks to David Howells for patch and Master class in his mail */ + found: +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + inode = cdfs_iget(dir->i_sb, i); + if (IS_ERR(inode)) + return ERR_CAST(inode); +-#else +- inode = iget(dir->i_sb, i); +- if (!inode) +- return ERR_PTR(-ENOMEM); +-#endif + d_add(dentry, inode); + return NULL; + } +@@ -529,12 +456,8 @@ + i->i_fop = &cdfs_dir_operations; + } else { /* file */ + i->i_size = this_cd->track[i->i_ino].size; +-#ifdef OLD_KERNEL +- i->i_mtime = i->i_atime = i->i_ctime = this_cd->track[i->i_ino].time; +-#else + i->i_mtime.tv_sec = i->i_atime.tv_sec = i->i_ctime.tv_sec = this_cd->track[i->i_ino].time; + i->i_mtime.tv_nsec = i->i_atime.tv_nsec = i->i_ctime.tv_nsec = 0; +-#endif + i->i_mode = this_cd->mode; + if ((this_cd->track[i->i_ino].type==DATA) && this_cd->track[i->i_ino].iso_size) { + i->i_fop = &cdfs_cddata_file_operations; +@@ -587,33 +510,21 @@ + /******************************************************************/ + + static struct super_operations cdfs_ops = { +-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25) +- .read_inode = cdfs_read_inode, +-#endif + .put_super = cdfs_umount, + .statfs = cdfs_statfs + }; + +-#ifdef OLD_KERNEL +-static DECLARE_FSTYPE_DEV(cdfs_fs_type, FSNAME, cdfs_mount); +-#else +-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,18) +-static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) { +- return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt); +-#else +-static struct super_block *cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data) { +- return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super); +-#endif +-} ++//static int cdfs_get_sb(struct file_system_type *fs_type, int flags, const char *dev_name, void *data, struct vfsmount *mnt) { ++// return get_sb_bdev(fs_type, flags, dev_name, data, cdfs_fill_super, mnt); ++//} + + static struct file_system_type cdfs_fs_type = { + .owner = THIS_MODULE, + .name = "cdfs", +- .get_sb = cdfs_get_sb, ++// .get_sb = cdfs_get_sb, + .kill_sb = kill_block_super, + .fs_flags = FS_REQUIRES_DEV + }; +-#endif + + /******************************************************/ + +@@ -621,10 +532,6 @@ + MODULE_DESCRIPTION("CDfs: a CD filesystem"); + MODULE_LICENSE("GPL"); + +-#ifdef OLD_KERNEL +-EXPORT_NO_SYMBOLS; +-#endif +- + /******************************************************************/ + + static int __init cdfs_init(void) { +@@ -676,11 +583,7 @@ + + if (!options) return; + +-#ifdef OLD_KERNEL +- for (this_char = strtok(options,","); this_char; this_char = strtok(NULL,",")) { +-#else + while ((this_char = strsep(&options,",")) != NULL) { +-#endif + + if (!strcmp(this_char,"single")) + this_cd->single=TRUE; diff --git a/libre/cdfs-libre/cdfs-3.2.patch b/libre/cdfs-libre/cdfs-3.2.patch new file mode 100644 index 000000000..b4ea610b5 --- /dev/null +++ b/libre/cdfs-libre/cdfs-3.2.patch @@ -0,0 +1,12 @@ +diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c +--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 ++++ cdfs-2.6.27.my/root.c 2012-01-18 11:23:03.000000000 +0400 +@@ -517,7 +517,7 @@ + + i->i_uid = this_cd->uid; + i->i_gid = this_cd->gid; +- i->i_nlink = 1; ++ i->__i_nlink = 1; + i->i_op = &cdfs_inode_operations; + i->i_fop = NULL; + i->i_data.a_ops = NULL; diff --git a/libre/cdfs-libre/cdfs-3.4.patch b/libre/cdfs-libre/cdfs-3.4.patch new file mode 100644 index 000000000..8e66bd85c --- /dev/null +++ b/libre/cdfs-libre/cdfs-3.4.patch @@ -0,0 +1,12 @@ +diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c +--- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 ++++ cdfs-2.6.27.my/root.c 2012-06-15 17:09:27.000000000 +0400 +@@ -375,7 +375,7 @@ + + PRINT("retinode = %ld\n", retinode->i_ino); + +- sb->s_root = d_alloc_root(retinode); ++ sb->s_root = d_make_root(retinode); + + cdfs_proc_cd = this_cd; + \ No newline at end of file diff --git a/libre/cdfs-libre/cdfs.install b/libre/cdfs-libre/cdfs.install new file mode 100644 index 000000000..1c3cb4f8e --- /dev/null +++ b/libre/cdfs-libre/cdfs.install @@ -0,0 +1,14 @@ +post_install() { + EXTRAMODULES='extramodules-3.5-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_upgrade() { + EXTRAMODULES='extramodules-3.5-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} + +post_remove() { + EXTRAMODULES='extramodules-3.5-LIBRE' + depmod $(cat /usr/lib/modules/$EXTRAMODULES/version) +} -- cgit v1.2.3-2-g168b From 920d12e55abb4f94cb88e98208ec83f39a0d9a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 18:07:41 -0300 Subject: cdfs-libre-2.6.27-27: fixing some parts on PKGBUILD --- libre/cdfs-libre/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libre') diff --git a/libre/cdfs-libre/PKGBUILD b/libre/cdfs-libre/PKGBUILD index 77d7f73dc..700c6b818 100644 --- a/libre/cdfs-libre/PKGBUILD +++ b/libre/cdfs-libre/PKGBUILD @@ -16,7 +16,7 @@ replaces=('cdfs') conflicts=('cdfs') provides=("cdfs=${pkgver}") install=cdfs.install -source=("http://www.elis.UGent.be/~ronsse/cdfs/download/$pkgname-$pkgver.tar.bz2" +source=("http://www.elis.UGent.be/~ronsse/cdfs/download/$_pkgname-$pkgver.tar.bz2" "cdfs-3.0.patch" "cdfs-3.2.patch" "cdfs-3.4.patch") @@ -30,7 +30,7 @@ build() { depends=("linux-libre>=3.${_kernver}" "linux-libre<3.`expr ${_kernver} + 1`") _kernverfull=`cat /usr/lib/modules/extramodules-3.${_kernver}-LIBRE/version` - cd $srcdir/$pkgname-$pkgver + cd $srcdir/$_pkgname-$pkgver patch -p1 <$srcdir/cdfs-3.0.patch patch -p1 <$srcdir/cdfs-3.2.patch patch -p1 <$srcdir/cdfs-3.4.patch -- cgit v1.2.3-2-g168b From d6a4e7985e5b1afa3822faa2f03fde030dcff1b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 18:58:26 -0300 Subject: linux-libre-3.5.3-1: updating md5sums --- libre/linux-libre/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libre') diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 7d0f0a70e..c5de207b9 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -34,7 +34,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'i915-i2c-crash-3.5.x.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('2407fc9563a74acaf38aa0c06516eb1c' - 'b081f37b73c652cbb0d5193174092709' + '861f5f97c75b1a572fc5078605248ea3' '3ba164b409d8024fdd433f3cc4ae1fea' 'fa1e2ab2f036974199374f015f5a2c46' 'e49ac236dfeef709f91a3d993ea7b62c' @@ -43,7 +43,7 @@ md5sums=('2407fc9563a74acaf38aa0c06516eb1c' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' 'c1d58e712112cf8f95e7831012a1e67a' - 'ae13ed1e92bba07e9b17cf5c8d89683c' + '9d5d7cd47b6d76aa7249cd7b318e0350' 'ff4a203dd52e4dfb5d60948bb667d06d' 'd822cc131b20090f39b0d448b0e1f8be') if [ "$CARCH" != "mips64el" ]; then -- cgit v1.2.3-2-g168b From 031fd9d31b14be981be2009900c32f4d37603522 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 20:16:24 -0300 Subject: linux-libre-lts-3.0.42-1: updating version --- libre/linux-libre-lts/PKGBUILD | 2 +- libre/linux-libre-lts/linux-libre-lts.install | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'libre') diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index 0631032ed..ae934eed6 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -7,7 +7,7 @@ pkgbase=linux-libre-lts # Build stock -LIBRE-LTS kernel #pkgbase=linux-libre-custom # Build kernel with a different name _basekernel=3.0 -_sublevel=41 +_sublevel=42 pkgver=${_basekernel}.${_sublevel} pkgrel=1 _lxopkgver=${_basekernel}.41 # nearly always the same as pkgver diff --git a/libre/linux-libre-lts/linux-libre-lts.install b/libre/linux-libre-lts/linux-libre-lts.install index e92e5eb16..05124e7ab 100644 --- a/libre/linux-libre-lts/linux-libre-lts.install +++ b/libre/linux-libre-lts/linux-libre-lts.install @@ -2,7 +2,7 @@ # arg 2: the old package version KERNEL_NAME=-lts -KERNEL_VERSION=3.0.41-1-LIBRE-LTS +KERNEL_VERSION=3.0.42-1-LIBRE-LTS # set a sane PATH to ensure that critical utils like depmod will be found export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' @@ -33,7 +33,7 @@ post_install () { post_upgrade() { pacman -Q grub &>/dev/null hasgrub=$? - pacman -Q grub2-common &>/dev/null + pacman -Q grub-common &>/dev/null hasgrub2=$? pacman -Q lilo &>/dev/null haslilo=$? -- cgit v1.2.3-2-g168b From 7a20ccd647aa7387730c85a11a02f43858c7d177 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 20:18:51 -0300 Subject: linux-libre-lts-3.0.42-1: updating md5sum kernel libre patch --- libre/linux-libre-lts/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libre') diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD index ae934eed6..03c280487 100644 --- a/libre/linux-libre-lts/PKGBUILD +++ b/libre/linux-libre-lts/PKGBUILD @@ -30,7 +30,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn 'ext4-options.patch' "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2") md5sums=('5f64180fe7df4e574dac5911b78f5067' - 'b4ebaa2ebf8418c75aba96fd4dd6daf3' + '8f1c9341d99e941b07d1d6f85f1953aa' '8cd05778fc1c2d8145b3b9932b4e3164' '87a54dc6251cf2adf35f72ddeddb6ea8' 'c072b17032e80debc6a8626299245d46' -- cgit v1.2.3-2-g168b From 975000d0555bb5ec1133cab1a426a294670a3f78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Mon, 27 Aug 2012 20:57:46 -0300 Subject: linux-libre-3.5.3-1: fixing watchdog patch --- libre/linux-libre/PKGBUILD | 2 +- libre/linux-libre/watchdog-3.5.x.patch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'libre') diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index c5de207b9..e63be980b 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -43,7 +43,7 @@ md5sums=('2407fc9563a74acaf38aa0c06516eb1c' '04b21c79df0a952c22d681dd4f4562df' '9d3c56a4b999c8bfbd4018089a62f662' 'c1d58e712112cf8f95e7831012a1e67a' - '9d5d7cd47b6d76aa7249cd7b318e0350' + 'ae13ed1e92bba07e9b17cf5c8d89683c' 'ff4a203dd52e4dfb5d60948bb667d06d' 'd822cc131b20090f39b0d448b0e1f8be') if [ "$CARCH" != "mips64el" ]; then diff --git a/libre/linux-libre/watchdog-3.5.x.patch b/libre/linux-libre/watchdog-3.5.x.patch index 6d9df083b..7ac1e6732 100644 --- a/libre/linux-libre/watchdog-3.5.x.patch +++ b/libre/linux-libre/watchdog-3.5.x.patch @@ -57,4 +57,4 @@ index 027cc8f..a05fdfc 100644 -- 1.7.1 - + \ No newline at end of file -- cgit v1.2.3-2-g168b From 47854c7621b1f39ba2167ad64a51ad4dd31bca15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 28 Aug 2012 01:08:05 -0300 Subject: cdfs-libre-2.6.27-27: fixing patches --- libre/cdfs-libre/cdfs-3.0.patch | 22 +++++++++++----------- libre/cdfs-libre/cdfs-3.2.patch | 2 +- libre/cdfs-libre/cdfs-3.4.patch | 2 +- 3 files changed, 13 insertions(+), 13 deletions(-) (limited to 'libre') diff --git a/libre/cdfs-libre/cdfs-3.0.patch b/libre/cdfs-libre/cdfs-3.0.patch index 445a28970..20194b848 100644 --- a/libre/cdfs-libre/cdfs-3.0.patch +++ b/libre/cdfs-libre/cdfs-3.0.patch @@ -28,8 +28,8 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c extern struct seq_operations cdfs_operations; extern struct _track_info *dummy_track_p; --#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) - struct inode *cdfs_iget(struct super_block *sp, unsigned long ino); +-#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,24) + struct inode *cdfs_iget(struct super_block *sp, unsigned long ino); -#endif /*============================================================================* * cdfs_open() * @@ -47,7 +47,7 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c static int cdfs_fill_super(struct super_block *sb, void *data, int silent){ int i, t; -#endif - struct cdrom_tocentry entry; + struct cdrom_tocentry entry; int no_audio=0, no_data=0; cd * this_cd; @@ -131,24 +117,13 @@ @@ -67,7 +67,7 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c if (!(this_cd = cdfs_info(sb) = kmalloc(sizeof(cd), GFP_KERNEL))){ -#ifdef OLD_KERNEL -- MOD_DEC_USE_COUNT; +- MOD_DEC_USE_COUNT; - return NULL; -#else return -ENOMEM; @@ -144,7 +144,7 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c /************************************************************************/ @@ -410,27 +362,12 @@ // Remove /proc entry - cdfs_proc_cd = NULL; + cdfs_proc_cd = NULL; kfree(cdfs_info(sb)); - -#ifdef OLD_KERNEL @@ -210,7 +210,7 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c -#endif i->i_mode = this_cd->mode; if ((this_cd->track[i->i_ino].type==DATA) && this_cd->track[i->i_ino].iso_size) { - i->i_fop = &cdfs_cddata_file_operations; + i->i_fop = &cdfs_cddata_file_operations; @@ -587,33 +510,21 @@ /******************************************************************/ @@ -251,7 +251,7 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c @@ -621,10 +532,6 @@ MODULE_DESCRIPTION("CDfs: a CD filesystem"); - MODULE_LICENSE("GPL"); + MODULE_LICENSE("GPL"); -#ifdef OLD_KERNEL -EXPORT_NO_SYMBOLS; @@ -261,14 +261,14 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c static int __init cdfs_init(void) { @@ -676,11 +583,7 @@ - + if (!options) return; - + -#ifdef OLD_KERNEL - for (this_char = strtok(options,","); this_char; this_char = strtok(NULL,",")) { -#else while ((this_char = strsep(&options,",")) != NULL) { -#endif - - if (!strcmp(this_char,"single")) + + if (!strcmp(this_char,"single")) this_cd->single=TRUE; diff --git a/libre/cdfs-libre/cdfs-3.2.patch b/libre/cdfs-libre/cdfs-3.2.patch index b4ea610b5..d3300bdbc 100644 --- a/libre/cdfs-libre/cdfs-3.2.patch +++ b/libre/cdfs-libre/cdfs-3.2.patch @@ -2,7 +2,7 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c --- cdfs-2.6.27/root.c 2009-12-21 16:38:31.000000000 +0300 +++ cdfs-2.6.27.my/root.c 2012-01-18 11:23:03.000000000 +0400 @@ -517,7 +517,7 @@ - + i->i_uid = this_cd->uid; i->i_gid = this_cd->gid; - i->i_nlink = 1; diff --git a/libre/cdfs-libre/cdfs-3.4.patch b/libre/cdfs-libre/cdfs-3.4.patch index 8e66bd85c..5c2cb9b24 100644 --- a/libre/cdfs-libre/cdfs-3.4.patch +++ b/libre/cdfs-libre/cdfs-3.4.patch @@ -9,4 +9,4 @@ diff -wbBur cdfs-2.6.27/root.c cdfs-2.6.27.my/root.c + sb->s_root = d_make_root(retinode); cdfs_proc_cd = this_cd; - \ No newline at end of file + -- cgit v1.2.3-2-g168b From 3b4fc574ae04a311e618fb44a07268ffb7e45cc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 28 Aug 2012 04:14:46 -0300 Subject: virtualbox-libre-modules-lts-4.1.18-2.1: rebuild against linux-libre-lts-3.0.42 --- libre/virtualbox-libre-modules-lts/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libre') diff --git a/libre/virtualbox-libre-modules-lts/PKGBUILD b/libre/virtualbox-libre-modules-lts/PKGBUILD index 597406075..4f4bb209a 100644 --- a/libre/virtualbox-libre-modules-lts/PKGBUILD +++ b/libre/virtualbox-libre-modules-lts/PKGBUILD @@ -7,7 +7,7 @@ pkgbase=virtualbox-libre-modules-lts pkgname=('virtualbox-libre-modules-lts' 'virtualbox-libre-parabola-modules-lts') pkgver=4.1.20 -pkgrel=2 +pkgrel=2.1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') -- cgit v1.2.3-2-g168b From 6ec85058686e5e132f01d5e6f6fe519ac562d53d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Mas=C5=82owski?= Date: Tue, 28 Aug 2012 15:22:50 +0200 Subject: kdebase-runtime-libre builds for mips64el. --- libre/kdebase-runtime-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libre') diff --git a/libre/kdebase-runtime-libre/PKGBUILD b/libre/kdebase-runtime-libre/PKGBUILD index ea7ec4e00..45ef65005 100644 --- a/libre/kdebase-runtime-libre/PKGBUILD +++ b/libre/kdebase-runtime-libre/PKGBUILD @@ -8,7 +8,7 @@ pkgname=kdebase-runtime-libre pkgver=4.9.0 pkgrel=3 pkgdesc="Plugins and applications necessary for the running of KDE applications (without non-privacy search providers)" -arch=('i686' 'x86_64') +arch=('i686' 'x86_64' 'mips64el') url='https://projects.kde.org/projects/kde/kde-runtime' license=('GPL' 'LGPL') depends=('nepomuk-core' 'smbclient' 'libssh' 'libcanberra' 'oxygen-icons' 'xorg-xauth' -- cgit v1.2.3-2-g168b From 1725b36366b5a6c9c9002006a69dcf9c343116f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 28 Aug 2012 14:30:28 -0300 Subject: virtualbox-libre-4.1.18-2.1: fixing dependencies and provides on PKGBUILD --- libre/virtualbox-libre/PKGBUILD | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index 1ac873d98..4a4250e59 100644 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -11,12 +11,12 @@ pkgname=('virtualbox-libre' 'virtualbox-libre-source' 'virtualbox-libre-parabola-source') pkgver=4.1.20 -pkgrel=2 +pkgrel=2.1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libxcursor' 'qt' 'libidl2' 'sdl_ttf' 'alsa-lib' 'libpulse' 'libxtst' -'xalan-c' 'sdl' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk7-openjdk' 'gsoap' 'vde2') +'xalan-c' 'sdl-libre' 'libxmu' 'curl' 'python2' 'linux-libre-headers' 'mesa' 'libxrandr' 'libxinerama' 'libvncserver' 'jdk7-openjdk' 'gsoap' 'vde2') #'xorg-server-devel' 'xf86driproto' 'libxcomposite') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 @@ -77,7 +77,7 @@ build() { package_virtualbox-libre() { pkgdesc="Powerful x86 virtualization for enterprise as well as home use (without Oracle VM VirtualBox Extension Pack and non-free OS options support)" - depends=('virtualbox-libre-modules' 'libxml2' 'libxcursor' 'libxinerama' 'sdl' 'libxmu' 'curl' 'libvncserver' 'libpng') + depends=('virtualbox-libre-modules' 'libxml2' 'libxcursor' 'libxinerama' 'sdl-libre' 'libxmu' 'curl' 'libvncserver' 'libpng') optdepends=('qt: for VirtualBox GUI' 'vde2: Virtual Distributed Ethernet support' 'virtualbox-libre-sdk: developer kit' @@ -165,7 +165,7 @@ package_virtualbox-libre-source() { depends=(dkms gcc make) replaces=('virtualbox-source') conflicts=('virtualbox-source') - provides=("virtualbox-source=$pkgver" 'virtualbox-modules') + provides=("virtualbox-source=$pkgver" 'virtualbox-libre-modules') optdepends=('linux-libre-headers' 'linux-libre-lts-headers') install=virtualbox-libre-source.install @@ -241,7 +241,7 @@ package_virtualbox-libre-parabola-source() { depends=(dkms gcc make) replaces=('virtualbox-archlinux-source') conflicts=('virtualbox-archlinux-source') - provides=("virtualbox-archlinux-source=${pkgver}" 'virtualbox-archlinux-modules') + provides=("virtualbox-archlinux-source=${pkgver}" 'virtualbox-libre-parabola-modules') optdepends=('linux-libre-headers' 'linux-libre-lts-headers') install=virtualbox-libre-parabola-source.install -- cgit v1.2.3-2-g168b From 55c222ad154179d2728214b07db6c3aaee2606a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 28 Aug 2012 14:31:02 -0300 Subject: virtualbox-libre-modules-4.1.18-3.1: fixing dependencies on PKGBUILD --- libre/virtualbox-libre-modules/PKGBUILD | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre-modules/PKGBUILD b/libre/virtualbox-libre-modules/PKGBUILD index 096fbc594..8497c28b8 100644 --- a/libre/virtualbox-libre-modules/PKGBUILD +++ b/libre/virtualbox-libre-modules/PKGBUILD @@ -6,11 +6,11 @@ pkgbase=virtualbox-libre-modules pkgname=('virtualbox-libre-modules' 'virtualbox-libre-parabola-modules') pkgver=4.1.20 -pkgrel=3 +pkgrel=3.1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') -makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-headers') +makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl-libre' 'linux-libre-headers') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 LocalConfig.kmk 60-vboxguest.rules os_blag_64.png os_blag.png -- cgit v1.2.3-2-g168b From 93d7eddb22403d2e39fdab6c0578aecc190f4be1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 28 Aug 2012 14:31:25 -0300 Subject: virtualbox-libre-modules-lts-4.1.18-3: fixing dependencies and provides on PKGBUILD --- libre/virtualbox-libre-modules-lts/PKGBUILD | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre-modules-lts/PKGBUILD b/libre/virtualbox-libre-modules-lts/PKGBUILD index 4f4bb209a..565ff1633 100644 --- a/libre/virtualbox-libre-modules-lts/PKGBUILD +++ b/libre/virtualbox-libre-modules-lts/PKGBUILD @@ -7,11 +7,11 @@ pkgbase=virtualbox-libre-modules-lts pkgname=('virtualbox-libre-modules-lts' 'virtualbox-libre-parabola-modules-lts') pkgver=4.1.20 -pkgrel=2.1 +pkgrel=3 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL') -makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl' 'linux-libre-lts' 'linux-libre-lts-headers') +makedepends=('libstdc++5' 'bin86' 'dev86' 'iasl' 'libxslt' 'libxml2' 'libpng' 'libidl2' 'xalan-c' 'sdl-libre' 'linux-libre-lts' 'linux-libre-lts-headers') [[ $CARCH == "x86_64" ]] && makedepends=("${makedepends[@]}" 'gcc-multilib' 'lib32-glibc') source=(http://download.virtualbox.org/virtualbox/${pkgver}/VirtualBox-${pkgver}.tar.bz2 LocalConfig.kmk 60-vboxguest.rules os_blag_64.png os_blag.png @@ -107,7 +107,7 @@ package_virtualbox-libre-parabola-modules-lts(){ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1') replaces=('virtualbox-archlinux-modules-lts') conflicts=('virtualbox-archlinux-modules-lts') - provides=("virtualbox-archlinux-modules-lts=$pkgver" 'virtualbox-archlinux-modules') + provides=("virtualbox-archlinux-modules-lts=$pkgver" 'virtualbox-libre-parabola-modules') source "$srcdir/VirtualBox-${pkgver}/env.sh" @@ -131,7 +131,7 @@ package_virtualbox-libre-modules-lts(){ depends=('linux-libre-lts>=3.0' 'linux-libre-lts<3.1') replaces=('virtualbox-modules-lts') conflicts=('virtualbox-modules-lts') - provides=("virtualbox-modules-lts=$pkgver" 'virtualbox-modules') + provides=("virtualbox-modules-lts=$pkgver" 'virtualbox-libre-modules') source "$srcdir/VirtualBox-${pkgver}/env.sh" -- cgit v1.2.3-2-g168b From 228df97655d82626e3785d396bb68ede11a52044 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Wed, 29 Aug 2012 11:55:51 -0300 Subject: spectrwm-libre: adding new package to [libre] repo --- libre/spectrwm-libre/LICENSE | 47 ++++++++++++++++++++++ libre/spectrwm-libre/PKGBUILD | 65 +++++++++++++++++++++++++++++++ libre/spectrwm-libre/baraction.sh | 82 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 194 insertions(+) create mode 100644 libre/spectrwm-libre/LICENSE create mode 100644 libre/spectrwm-libre/PKGBUILD create mode 100644 libre/spectrwm-libre/baraction.sh (limited to 'libre') diff --git a/libre/spectrwm-libre/LICENSE b/libre/spectrwm-libre/LICENSE new file mode 100644 index 000000000..24c04f3a0 --- /dev/null +++ b/libre/spectrwm-libre/LICENSE @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2009 Marco Peereboom + * Copyright (c) 2009 Ryan McBride + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ +/* + * Much code and ideas taken from dwm under the following license: + * MIT/X Consortium License + * + * 2006-2008 Anselm R Garbe + * 2006-2007 Sander van Dijk + * 2006-2007 Jukka Salmi + * 2007 Premysl Hruby + * 2007 Szabolcs Nagy + * 2007 Christof Musik + * 2007-2008 Enno Gottox Boland + * 2007-2008 Peter Hartlich + * 2008 Martin Hurton + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ diff --git a/libre/spectrwm-libre/PKGBUILD b/libre/spectrwm-libre/PKGBUILD new file mode 100644 index 000000000..4b4bccec3 --- /dev/null +++ b/libre/spectrwm-libre/PKGBUILD @@ -0,0 +1,65 @@ +# $Id$ +# Maintainer: Kyle Keen +# Contributor: Christoph Zeiler + +_pkgname=spectrwm +pkgname=spectrwm-libre +pkgver=2.0.1 +pkgrel=1 +pkgdesc="A minimalistic automatic tiling window manager that tries to stay out of the way (without unfree profont support)" +arch=('i686' 'x86_64' 'mips64el') +url="http://www.spectrwm.org" +_watch="https://opensource.conformal.com/snapshots/spectrwm/" +license=('custom:ISC') +depends=('dmenu' 'xcb-util' 'xcb-util-wm' 'xcb-util-keysyms' 'libxrandr' 'libxft' 'libxcursor') +replaces=('spectrwm' 'scrotwm') +conflicts=('spectrwm') +provides=("spectrwm=${pkgver}") +makedepends=('libxt') +optdepends=('scrot: screenshots' 'xlockmore: screenlocking' 'terminus-font: great font') +backup=(etc/spectrwm.conf) +source=(http://opensource.conformal.com/snapshots/$_pkgname/$_pkgname-$pkgver.tgz \ + LICENSE \ + baraction.sh) +md5sums=('ed553574e65bb364e26d359790e204f2' + 'a67cfe51079481e5b0eab1ad371379e3' + '950d663692e1da56e0ac864c6c3ed80e') + +build() { + cd "$srcdir/$_pkgname-$pkgver" + + # it is like a patch, only less fragile + sed -i 's|\"/usr/local/lib/libswmhack.so\"|\"libswmhack.so\"|' spectrwm.c + sed -i 's/verbose_layout = 0;/verbose_layout = 1;/' spectrwm.c + sed -i 's/# modkey = Mod1/modkey = Mod4/' spectrwm.conf + sed -i 's/-\*-terminus-medium-\*-\*-\*-\*/-*-profont-*-*-*-*-12/' spectrwm.conf + + cd linux + make PREFIX="/usr" +} + +package() { + cd "$srcdir/$_pkgname-$pkgver/linux" + make PREFIX="/usr" DESTDIR="$pkgdir" install + install -Dm644 spectrwm.desktop "$pkgdir/usr/share/xsessions/spectrwm.desktop" + cd .. + install -Dm644 spectrwm.conf "$pkgdir/etc/spectrwm.conf" + install -Dm755 screenshot.sh "$pkgdir/usr/share/spectrwm/screenshot.sh" + mkdir -p "$pkgdir/etc/spectrwm" + cp spectrwm_*.conf "$pkgdir/etc/spectrwm/" + cd "$srcdir" + install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$_pkgname/LICENSE" + install -Dm755 baraction.sh "$pkgdir/usr/share/spectrwm/baraction.sh" + + ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so.0" + ln -s /usr/lib/libswmhack.so.0.0 "$pkgdir/usr/lib/libswmhack.so" + + # fix this for real in the makefile + rm "$pkgdir/usr/bin/scrotwm" + ln -s "/usr/bin/spectrwm" "$pkgdir/usr/bin/scrotwm" + mkdir -p "$pkgdir"/usr/share/man/{es,it,pt,ru}/man1/ + mv "$pkgdir/usr/share/man/man1/spectrwm_es.1" "$pkgdir/usr/share/man/es/man1/" + mv "$pkgdir/usr/share/man/man1/spectrwm_it.1" "$pkgdir/usr/share/man/it/man1/" + mv "$pkgdir/usr/share/man/man1/spectrwm_pt.1" "$pkgdir/usr/share/man/pt/man1/" + mv "$pkgdir/usr/share/man/man1/spectrwm_ru.1" "$pkgdir/usr/share/man/ru/man1/" +} diff --git a/libre/spectrwm-libre/baraction.sh b/libre/spectrwm-libre/baraction.sh new file mode 100644 index 000000000..96a8a7b1a --- /dev/null +++ b/libre/spectrwm-libre/baraction.sh @@ -0,0 +1,82 @@ +#!/bin/bash +# baraction.sh for spectrwm status bar +# From http://wiki.archlinux.org/index.php/Scrotwm + +SLEEP_SEC=5 +#loops forever outputting a line every SLEEP_SEC secs +while :; do + + eval $(cat /proc/acpi/battery/BAT0/state | awk '/charging state/ {printf "BAT_CHGSTATE=%s;", $3}; /remaining capacity/ {printf "BAT_REMNG=%s;",$3}; /present rate/ {printf "BAT_RATE=%s;",$3};' -) + eval $(cat /proc/acpi/battery/BAT0/info | awk '/present/ {printf "BAT_PRESENT=%s;", $2}; /last full capacity/ {printf "BAT_LASTFULL=%s;",$4};' -) + + BAT_REMNG_WH=`echo "scale=1; a=($BAT_REMNG+50)/1000; print a" | bc -l` + BAT_RATE_W=`echo "scale=1; a=($BAT_RATE+50)/1000; print a" | bc -l` + BCSCRIPT="scale=0; a=(100*$BAT_REMNG / $BAT_LASTFULL); print a" + BAT_PCT=`echo $BCSCRIPT | bc -l`% + + case $BAT_PRESENT in + no) + POWER_STR="AC, NO BATTERY" + ;; + yes) + + case $BAT_CHGSTATE in + charged) + #on ac + AC_STATUS="ON AC" + TIME_REMNG="N/A" + POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT" + ;; + charging) + #on ac + AC_STATUS="ON AC" + BCSCRIPT="scale=1; a=(60*($BAT_LASTFULL - $BAT_REMNG) / $BAT_RATE); print a" + TIMETOFULL_MIN=`echo $BCSCRIPT | bc -l` + POWER_STR="$AC_STATUS $BAT_CHGSTATE $BAT_PCT C="$BAT_REMNG_WH"Wh Rate="$BAT_RATE_W"W TTF="$TIMETOFULL_MIN"min" + ;; + discharging) + AC_STATUS="ON BATT" + TIME_REMNG_MIN=`echo "scale=0; a=(60*$BAT_REMNG / $BAT_RATE); print a" | bc -l` + TIME_REMNG_HH=`echo "scale=0; a=($BAT_REMNG / $BAT_RATE); if (a<10) {print "0"; print a} else {print a}" | bc -l` + + TIME_REMNG_MM=`echo "scale=0; a=($TIME_REMNG_MIN-60*$TIME_REMNG_HH); if (a<10) {print "0"; print a} else {print a}" | bc -l` + POWER_STR="$AC_STATUS $BAT_PCT C="$BAT_REMNG_WH"Wh P="$BAT_RATE_W"W R="$TIME_REMNG_HH":"$TIME_REMNG_MM + ;; + *) + POWER_STR=$BAT_CHGSTATE + ;; + esac + + ;; + *) + POWER_STR="error" + ;; + esac + + #spectrwm bar_print can't handle UTF-8 characters, such as degree symbol + #Core 0: +67.0°C (crit = +100.0°C) + eval $(sensors 2>/dev/null | sed s/[°+]//g | awk '/^Core 0/ {printf "CORE0TEMP=%s;", $3}; /^Core 1/ {printf "CORE1TEMP=%s;",$3}; /^fan1/ {printf "FANSPD=%s;",$2};' -) + TEMP_STR="Tcpu=$CORE0TEMP,$CORE1TEMP F=$FANSPD" + + WLAN_ESSID=$(iwconfig wlan0 | awk -F "\"" '/wlan0/ { print $2 }') + eval $(cat /proc/net/wireless | sed s/[.]//g | awk '/wlan0/ {printf "WLAN_QULTY=%s; WLAN_SIGNL=%s; WLAN_NOISE=%s", $3,$4,$5};' -) + BCSCRIPT="scale=0;a=100*$WLAN_QULTY/70;print a" + WLAN_QPCT=`echo $BCSCRIPT | bc -l` + WLAN_POWER=`iwconfig 2>/dev/null| grep "Tx-Power"| awk {'print $4'}|sed s/Tx-Power=//` + WLAN_STR="$WLAN_ESSID: Q=$WLAN_QPCT% S/N="$WLAN_SIGNL"/"$WLAN_NOISE"dBm T="$WLAN_POWER"dBm" + + CPUFREQ_STR=`echo "Freq:"$(cat /proc/cpuinfo | grep 'cpu MHz' | sed 's/.*: //g; s/\..*//g;')` + CPULOAD_STR="Load:$(uptime | sed 's/.*://; s/,//g')" + + eval $(awk '/^MemTotal/ {printf "MTOT=%s;", $2}; /^MemFree/ {printf "MFREE=%s;",$2}' /proc/meminfo) + MUSED=$(( $MTOT - $MFREE )) + MUSEDPT=$(( ($MUSED * 100) / $MTOT )) + MEM_STR="Mem:${MUSEDPT}%" + + echo -e "$POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR" + #alternatively if you prefer a different date format + #DATE_STR=`date +"%H:%M %a %d %b` + #echo -e "$DATE_STR $POWER_STR $TEMP_STR $CPUFREQ_STR $CPULOAD_STR $MEM_STR $WLAN_STR" + + sleep $SLEEP_SEC +done -- cgit v1.2.3-2-g168b From fc6a496e22502260ab9be3f8ed9d45074b20dc49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Wed, 29 Aug 2012 12:30:11 -0300 Subject: syslinux-4.05-7: updating revision --- libre/syslinux/PKGBUILD | 23 ++++++++++++---------- ...ctors-dtors-via-init_array-and-fini_array.patch | 5 +++-- 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'libre') diff --git a/libre/syslinux/PKGBUILD b/libre/syslinux/PKGBUILD index 608316be1..b4e9fa35a 100644 --- a/libre/syslinux/PKGBUILD +++ b/libre/syslinux/PKGBUILD @@ -1,10 +1,11 @@ -# $Id: PKGBUILD 165001 2012-08-08 15:45:08Z tpowa $ +# $Id: PKGBUILD 165555 2012-08-23 18:27:20Z thomas $ +# Maintainer: Thomas Bächler # Maintainer: Tobias Powalowski # Maintainer (Parabola): André Silva pkgname=syslinux pkgver=4.05 -pkgrel=6 +pkgrel=7 arch=('i686' 'x86_64') pkgdesc="Collection of boot loaders that boot from FAT, ext2/3/4 and btrfs filesystems, from CDs and via PXE (Parabola rebranded)" url="http://syslinux.zytor.com/" @@ -26,6 +27,13 @@ source=(http://www.kernel.org/pub/linux/utils/boot/syslinux/$pkgname-${pkgver}.t avoid-using-ext2_fs.patch handle-ctors-dtors-via-init_array-and-fini_array.patch splash.png) +md5sums=('82299242418385da1274c9479a778cb2' + '1528c376e43f0eaccaa80d8ad1bc13b4' + '8dc2afca3739667e892faf04eb97e7b1' + '680750f73dc2e587ac567d057d485813' + '2e2c674a71c0c0bf265d96cfc19ce985' + 'd016d03f15177b1bb534ce3753b2aa9b' + '0035b6cac6756a384b861eda8d33e4f7') build() { # Do not try to build syslinux with our default LDFLAGS, it will fail @@ -39,7 +47,9 @@ build() { patch -Np1 -i "$srcdir"/handle-ctors-dtors-via-init_array-and-fini_array.patch # Fix FHS manpage path sed 's|/usr/man|/usr/share/man|g' -i mk/syslinux.mk - make + make installer + make -C utils + make -C com32 } package() { @@ -57,10 +67,3 @@ package() { mv "$pkgdir"/sbin/extlinux "$pkgdir"/usr/sbin/extlinux rmdir "$pkgdir"/sbin } -md5sums=('82299242418385da1274c9479a778cb2' - '1528c376e43f0eaccaa80d8ad1bc13b4' - '8dc2afca3739667e892faf04eb97e7b1' - '680750f73dc2e587ac567d057d485813' - '2e2c674a71c0c0bf265d96cfc19ce985' - '12a2dbd3fe59230df2f470600dd62dac' - '0035b6cac6756a384b861eda8d33e4f7') diff --git a/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch b/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch index 99e0d4777..aa513312b 100644 --- a/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch +++ b/libre/syslinux/handle-ctors-dtors-via-init_array-and-fini_array.patch @@ -61,6 +61,7 @@ index 37ee46c..008e4ce 100644 + KEEP (*(SORT(.dtors*))) PROVIDE (__dtors_end = .); } + +-- +1.7.6.5 --- -1.7.6.5 \ No newline at end of file -- cgit v1.2.3-2-g168b From 2d975209dfd7e8510ec13670bcf879e0005b8607 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Fri, 31 Aug 2012 14:33:51 -0300 Subject: iceweasel-libre-15.0.1-1: updating new version --- ...Make-the-Reset-Firefox-feature-more-gener.patch | 143 ++++++++++----------- libre/iceweasel-libre/PKGBUILD | 14 +- 2 files changed, 75 insertions(+), 82 deletions(-) (limited to 'libre') diff --git a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch index 4a0507271..240c3d4e8 100644 --- a/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch +++ b/libre/iceweasel-libre/Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch @@ -41,10 +41,10 @@ index 0e8ccf5..fa46c08 100644 brandBundle.getFormattedString("homePageImport", [appName]); var oldHomePage = document.getElementById("oldHomePage"); diff --git a/browser/components/migration/content/migration.xul b/browser/components/migration/content/migration.xul -index 4bcc1d9..c4db956 100644 +index f030756..23e37ff 100644 --- a/browser/components/migration/content/migration.xul +++ b/browser/components/migration/content/migration.xul -@@ -74,7 +74,7 @@ +@@ -42,7 +42,7 @@ #elifdef XP_UNIX #endif @@ -54,7 +54,7 @@ index 4bcc1d9..c4db956 100644 diff --git a/browser/components/migration/src/BrowserProfileMigrators.manifest b/browser/components/migration/src/BrowserProfileMigrators.manifest -index 527771f..782b38f 100644 +index d7fec75..d531b83 100644 --- a/browser/components/migration/src/BrowserProfileMigrators.manifest +++ b/browser/components/migration/src/BrowserProfileMigrators.manifest @@ -3,7 +3,7 @@ contract @mozilla.org/toolkit/profile-migrator;1 {6F8BB968-C14F-4D6F-9733-6C6737 @@ -63,11 +63,11 @@ index 527771f..782b38f 100644 component {91185366-ba97-4438-acba-48deaca63386} FirefoxProfileMigrator.js -contract @mozilla.org/profile/migrator;1?app=browser&type=firefox {91185366-ba97-4438-acba-48deaca63386} +contract @mozilla.org/profile/migrator;1?app=browser&type=self {91185366-ba97-4438-acba-48deaca63386} + #ifdef HAS_IE_MIGRATOR component {3d2532e3-4932-4774-b7ba-968f5899d3a4} IEProfileMigrator.js contract @mozilla.org/profile/migrator;1?app=browser&type=ie {3d2532e3-4932-4774-b7ba-968f5899d3a4} - component {4b609ecf-60b2-4655-9df4-dc149e474da1} SafariProfileMigrator.js diff --git a/browser/components/migration/src/FirefoxProfileMigrator.js b/browser/components/migration/src/FirefoxProfileMigrator.js -index 8f14f49..8dc175d 100644 +index a6598fe..8f83da8 100644 --- a/browser/components/migration/src/FirefoxProfileMigrator.js +++ b/browser/components/migration/src/FirefoxProfileMigrator.js @@ -88,7 +88,7 @@ Object.defineProperty(FirefoxProfileMigrator.prototype, "startupOnlyMigrator", { @@ -80,7 +80,7 @@ index 8f14f49..8dc175d 100644 const NSGetFactory = XPCOMUtils.generateNSGetFactory([FirefoxProfileMigrator]); diff --git a/browser/components/migration/src/MigrationUtils.jsm b/browser/components/migration/src/MigrationUtils.jsm -index 9460e6d..8db6827 100644 +index 0669aa8..19552e3 100644 --- a/browser/components/migration/src/MigrationUtils.jsm +++ b/browser/components/migration/src/MigrationUtils.jsm @@ -403,11 +403,6 @@ let MigrationUtils = Object.freeze({ @@ -126,10 +126,10 @@ index 744f117..59e5a4c 100644 classDescription: "Profile Migrator", contractID: "@mozilla.org/toolkit/profile-migrator;1", diff --git a/browser/locales/en-US/chrome/browser/migration/migration.dtd b/browser/locales/en-US/chrome/browser/migration/migration.dtd -index 0b4b776..ce26fbd 100644 +index 21cf405..f3c1a6b 100644 --- a/browser/locales/en-US/chrome/browser/migration/migration.dtd +++ b/browser/locales/en-US/chrome/browser/migration/migration.dtd -@@ -13,8 +13,6 @@ +@@ -17,8 +17,6 @@ @@ -139,10 +139,10 @@ index 0b4b776..ce26fbd 100644 diff --git a/browser/locales/en-US/chrome/browser/migration/migration.properties b/browser/locales/en-US/chrome/browser/migration/migration.properties -index f522a66..be26460 100644 +index ab82d85..915f6b8 100644 --- a/browser/locales/en-US/chrome/browser/migration/migration.properties +++ b/browser/locales/en-US/chrome/browser/migration/migration.properties -@@ -4,7 +4,6 @@ profileName_format=%S %S +@@ -8,7 +8,6 @@ profileName_format=%S %S sourceNameIE=Internet Explorer sourceNameSafari=Safari sourceNameChrome=Google Chrome @@ -150,7 +150,7 @@ index f522a66..be26460 100644 importedBookmarksFolder=From %S -@@ -18,29 +17,29 @@ importedSafariReadingList=Reading List (From Safari) +@@ -22,22 +21,22 @@ importedSafariReadingList=Reading List (From Safari) 2_ie=Cookies 2_safari=Cookies 2_chrome=Cookies @@ -177,79 +177,72 @@ index f522a66..be26460 100644 32_ie=Favorites 32_safari=Bookmarks - 32_chrome=Bookmarks --32_firefox=Bookmarks -+32_self=Bookmarks - +@@ -46,4 +45,4 @@ importedSafariReadingList=Reading List (From Safari) 64_ie=Other Data 64_safari=Other Data 64_chrome=Other Data -64_firefox=Bookmarks Backups +64_self=Bookmarks Backups -diff --git a/toolkit/content/aboutSupport.js b/toolkit/content/aboutSupport.js -index 957d4d8..1af3629 100644 ---- a/toolkit/content/aboutSupport.js -+++ b/toolkit/content/aboutSupport.js -@@ -616,13 +616,13 @@ function populateResetBox() { - .getService(Ci.nsIToolkitProfileService); +diff --git a/toolkit/content/jar.mn b/toolkit/content/jar.mn +index 697b217..b6e1709 100644 +--- a/toolkit/content/jar.mn ++++ b/toolkit/content/jar.mn +@@ -38,7 +38,7 @@ toolkit.jar: + + content/global/mozilla.xhtml (mozilla.xhtml) + *+ content/global/nsDragAndDrop.js (nsDragAndDrop.js) + content/global/resetProfile.css (resetProfile.css) +-* content/global/resetProfile.js (resetProfile.js) ++ content/global/resetProfile.js (resetProfile.js) + * content/global/resetProfile.xul (resetProfile.xul) + * content/global/resetProfileProgress.xul (resetProfileProgress.xul) + * content/global/treeUtils.js (treeUtils.js) +diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js +index dcb4065..09c1146 100644 +--- a/toolkit/content/resetProfile.js ++++ b/toolkit/content/resetProfile.js +@@ -36,13 +36,13 @@ function resetSupported() { + getService(Ci.nsIToolkitProfileService); let currentProfileDir = Services.dirsvc.get("ProfD", Ci.nsIFile); -#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__"; -#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__"; - - // Only show the reset box for the default profile if the self-migrator used for reset exists. + // Reset is only supported for the default profile if the self-migrator used for reset exists. try { - if (!currentProfileDir.equals(profileService.selectedProfile.rootDir) || -- !("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc)) -+ !("@mozilla.org/toolkit/profile-migrator;1" in Cc)) -+ return; -+ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator); -+ if (!("canMigrate" in pm) || !pm.canMigrate("self")) - return; - document.getElementById("reset-box").style.visibility = "visible"; +- return currentProfileDir.equals(profileService.selectedProfile.rootDir) && +- ("@mozilla.org/profile/migrator;1?app=" + MOZ_BUILD_APP + "&type=" + MOZ_APP_NAME in Cc); ++ if (currentProfileDir.equals(profileService.selectedProfile.rootDir) && ++ "@mozilla.org/toolkit/profile-migrator;1" in Cc) { ++ let pm = Cc["@mozilla.org/toolkit/profile-migrator;1"].createInstance(Ci.nsIProfileMigrator); ++ return ("canMigrate" in pm) && pm.canMigrate("self"); ++ } } catch (e) { -diff --git a/toolkit/content/resetProfile.js b/toolkit/content/resetProfile.js -index 84de6cd..3126da6 100644 ---- a/toolkit/content/resetProfile.js -+++ b/toolkit/content/resetProfile.js -@@ -6,6 +6,7 @@ Components.utils.import("resource://gre/modules/Services.jsm"); + // Catch exception when there is no selected profile. + Cu.reportError(e); +@@ -53,9 +53,6 @@ function resetSupported() { + function getMigratedData() { + Components.utils.import("resource:///modules/MigrationUtils.jsm"); - // based on onImportItemsPageShow from migration.js - function onResetProfileLoad() { -+<<<<<<< HEAD - #expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__"; - #expand const MOZ_APP_NAME = "__MOZ_APP_NAME__"; - -@@ -16,16 +17,22 @@ function onResetProfileLoad() { - "8_" + MOZ_APP_NAME, // Form History - "2_" + MOZ_APP_NAME, // Cookies - ]; -+======= -+ Components.utils.import("resource:///modules/MigrationUtils.jsm"); -+ const MAX_MIGRATED_TYPES = 16; -+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic - - var migratedItems = document.getElementById("migratedItems"); -- var bundle = Services.strings.createBundle("chrome://" + MOZ_BUILD_APP + -- "/locale/migration/migration.properties"); - - // Loop over possible data to migrate to give the user a list of what will be preserved. - for (var itemStringName of MIGRATED_TYPES) { +-#expand const MOZ_BUILD_APP = "__MOZ_BUILD_APP__"; +-#expand const MOZ_APP_NAME = "__MOZ_APP_NAME__"; +- + // From migration.properties + const MIGRATED_TYPES = [ + 4, // History and Bookmarks +@@ -68,7 +65,7 @@ function getMigratedData() { + let dataTypes = []; + for (let itemID of MIGRATED_TYPES) { try { - var checkbox = document.createElement("label"); -+<<<<<<< HEAD - checkbox.setAttribute("value", bundle.GetStringFromName(itemStringName)); -+======= -+ checkbox.setAttribute("value", MigrationUtils.getLocalizedString(itemID + "_self")); -+>>>>>>> Bug 756390 - Make the "Reset Firefox" feature more generic - migratedItems.appendChild(checkbox); +- let typeName = MigrationUtils.getLocalizedString(itemID + "_" + MOZ_APP_NAME); ++ let typeName = MigrationUtils.getLocalizedString(itemID + "_self"); + dataTypes.push(typeName); } catch (x) { // Catch exceptions when the string for a data type doesn't exist. diff --git a/toolkit/profile/nsIProfileMigrator.idl b/toolkit/profile/nsIProfileMigrator.idl -index e941336..5b264af 100644 +index f35c227..7062886 100644 --- a/toolkit/profile/nsIProfileMigrator.idl +++ b/toolkit/profile/nsIProfileMigrator.idl -@@ -69,7 +69,7 @@ interface nsIProfileStartup : nsISupports +@@ -37,7 +37,7 @@ interface nsIProfileStartup : nsISupports * @client Toolkit (Startup code) * @obtainable service, contractid("@mozilla.org/toolkit/profile-migrator;1") */ @@ -258,7 +251,7 @@ index e941336..5b264af 100644 interface nsIProfileMigrator : nsISupports { /** -@@ -92,6 +92,14 @@ interface nsIProfileMigrator : nsISupports +@@ -60,6 +60,14 @@ interface nsIProfileMigrator : nsISupports * @note The startup code ignores COM exceptions thrown from this method. */ void migrate(in nsIProfileStartup aStartup, in ACString aKey); @@ -274,15 +267,15 @@ index e941336..5b264af 100644 %{C++ diff --git a/toolkit/xre/nsAppRunner.cpp b/toolkit/xre/nsAppRunner.cpp -index d2db0e2..45a4b0d 100644 +index e5d3042..6de3390 100644 --- a/toolkit/xre/nsAppRunner.cpp +++ b/toolkit/xre/nsAppRunner.cpp -@@ -3642,7 +3642,7 @@ XREMain::XRE_mainRun() - if (gDoProfileReset) { - // Automatically migrate from the current application if we just - // reset the profile. -- aKey = MOZ_APP_NAME; -+ aKey = "self"; +@@ -3650,7 +3650,7 @@ XREMain::XRE_mainRun() + if (gDoProfileReset) { + // Automatically migrate from the current application if we just + // reset the profile. +- aKey = MOZ_APP_NAME; ++ aKey = "self"; + } pm->Migrate(&mDirProvider, aKey); - // Set the new profile as the default after migration. - rv = SetCurrentProfileAsDefault(mProfileSvc, mProfD); + } diff --git a/libre/iceweasel-libre/PKGBUILD b/libre/iceweasel-libre/PKGBUILD index 259413591..59435e71a 100644 --- a/libre/iceweasel-libre/PKGBUILD +++ b/libre/iceweasel-libre/PKGBUILD @@ -14,15 +14,15 @@ _pgo=false # We're getting this from Debian Experimental _debname=iceweasel -_debver=14.0.1 -_debrel=2 +_debver=15.0 +_debrel=1 _debrepo=http://ftp.debian.org/debian/pool/main/ debfile() { echo $@|sed -r 's@(.).*@\1/&/&@'; } _pkgname=iceweasel pkgname=iceweasel-libre pkgver=${_debver}.${_debrel} -pkgrel=2 +pkgrel=1 if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi if $_pgo; then @@ -52,8 +52,8 @@ source=("${_debrepo}/`debfile ${_debname}`_${_debver}.orig.tar.bz2" vendor.js shared-libs.patch Bug-756390-Make-the-Reset-Firefox-feature-more-gener.patch) -md5sums=('8e4f3987d37c8e73b168948d0771b872' - '8689c150a4d3a0a688ad2db6044feac6' +md5sums=('aa5a7f08f55a2b02a71c86f30ef75a25' + 'b93090724434e3801375730744e79950' 'eab149c1994ab14392e55af3abb08e80' 'ac29b01c189f20abae2f3eef1618ffc0' 'a485a2b5dc544a8a2bd40c985d2e5813' @@ -61,7 +61,7 @@ md5sums=('8e4f3987d37c8e73b168948d0771b872' 'e529742c0a425648087bc3ce537fe4c5' '0d053487907de4376d67d8f499c5502b' '52e52f840a49eb1d14be1c0065b03a93' - '88350bc611361a1ff635f5c960c6d6ee') + 'c52fac65c1e06290a5108b75c31ace79') if [ "$_pkgname" != "$pkgname" ]; then provides+=("$_pkgname=$pkgver") @@ -129,7 +129,7 @@ package() { cd "${srcdir}/${DEBIAN_BUILD}" make -j1 -f client.mk DESTDIR="$pkgdir" install - install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" + install -Dm644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/preferences/vendor.js" # I don't even know why we're hitting the objdir, and ConnOS didn't. _brandingdir=debian/branding -- cgit v1.2.3-2-g168b From 5d2e27cce6607a492153b9ceda590467ce42c8a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Reynolds?= Date: Fri, 31 Aug 2012 22:22:12 -0300 Subject: initscripts without parabola.7 --- libre/initscripts/PKGBUILD | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'libre') diff --git a/libre/initscripts/PKGBUILD b/libre/initscripts/PKGBUILD index 0eefec6df..cde66e1db 100644 --- a/libre/initscripts/PKGBUILD +++ b/libre/initscripts/PKGBUILD @@ -5,7 +5,7 @@ # Maintainer (Parabola): Nicolas Reynolds pkgname=initscripts -pkgver=2012.08.21 +pkgver=2012.09.1 pkgrel=1 pkgdesc="System initialization/bootup scripts (Parabola branding)" arch=('any') @@ -24,10 +24,13 @@ optdepends=('dhcpcd: DHCP network configuration' makedepends=(asciidoc) install=initscripts.install source=("https://repo.parabolagnulinux.org/other/${pkgname}-${pkgver}.tar.xz"{,.sig}) -md5sums=('abf911f25417e8fd3c7d787e6f4f1e9e' - '993fd80840cb8d0090e2c93b95a2b71c') package() { cd ${srcdir}/${pkgname}-${pkgver} make DESTDIR=${pkgdir} install + + # moved to filesystem + rm -rf ${pkgdir}/etc/profile.d } +md5sums=('16039aeb4c996194d9466a8c66a06f5a' + '522804c7981c32c3c779964844d64377') -- cgit v1.2.3-2-g168b From a42b76c35d387d3e8689eb75faf5783d48db56f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Alexandre=20Silva=20Delgado?= Date: Fri, 31 Aug 2012 23:22:34 -0300 Subject: icecat-i18n: updating PKGBUILD --- libre/icecat-i18n/PKGBUILD | 324 ++++++++++++++++++++++++++++++--------------- 1 file changed, 215 insertions(+), 109 deletions(-) (limited to 'libre') diff --git a/libre/icecat-i18n/PKGBUILD b/libre/icecat-i18n/PKGBUILD index e6f2e82b8..aebc6cef0 100644 --- a/libre/icecat-i18n/PKGBUILD +++ b/libre/icecat-i18n/PKGBUILD @@ -1,7 +1,8 @@ # Maintainer: Luke Shumaker # Contributor: fauno # Contributor: Figue -# Contributor: emulatorman +# Maintainer : Márcio Silva +# Maintainer : André Silva # Based on firefox-i18n package @@ -10,125 +11,230 @@ # - (optionally) edit PKGBUILD.in # - Run 'make'. It will take care of everything else for you. -_langpacks=(af ak ar as ast be bg bn-BD bn-IN br bs ca cs csb cy da de el en-GB en-US en-ZA eo es-AR es-CL es-ES es-MX et eu fa fi fr fy-NL ga-IE gd gl gu-IN he hi-IN hr hu hy-AM id is it ja kk kn ko ku lg lij lt lv mai mk ml mr nb-NO nl nn-NO nso or pa-IN pl pt-BR pt-PT rm ro ru si sk sl son sq sr sv-SE ta-LK ta te th tr uk vi zh-CN zh-TW zu) +_langpacks=( + af + ak + ar + as + ast + be + bg + bn-BD + bn-IN + br + bs + ca + cs + csb + cy + da + de + el + en-GB + en-US + en-ZA + eo + es-AR + es-CL + es-ES + es-MX + et + eu + fa + ff + fi + fr + fy-NL + ga-IE + gd + gl + gu-IN + he + hi-IN + hr + hu + hy-AM + id + is + it + ja + kk + km + kn + ko + ku + lg + lij + lt + lv + mai + mk + ml + mr + nb-NO + nl + nn-NO + nso + or + pa-IN + pl + pt-BR + pt-PT + rm + ro + ru + si + sk + sl + son + sq + sr + sv-SE + ta-LK + ta + te + th + tr + uk + vi + zh-CN + zh-TW + zu +) -pkgbase='icecat-i18n' -pkgname=($(for lang in ${_langpacks[@]} - do echo icecat-i18n-$lang | tr A-Z a-z - done)) -_pkgver=12.0 -pkgver=12.0 -pkgrel=2 -pkgdesc="Language packs for GNUzilla IceCat." -arch=('any') -license=('MPL') -url="http://www.gnu.org/software/gnuzilla/" -depends=("icecat=${pkgver}") -source=($(for lang in ${_langpacks[@]} - do echo http://ftp.gnu.org/gnu/gnuzilla/lang/$pkgver/$lang.xpi - done)) -noextract=($(for lang in ${_langpacks[@]} - do echo $lang.xpi - done)) +pkgbase=icecat-i18n +pkgname=( + $(for lang in ${_langpacks[@]} + do echo icecat-i18n-$lang | tr A-Z a-z + done) +) +_pkgver=14.0 +pkgver=14.0 +pkgrel=1 +pkgdesc='Language packs for GNUzilla IceCat.' +arch=( + any +) +license=( + MPL +) +url=http://www.gnu.org/software/gnuzilla/ +depends=( + ${pkgbase%-i18n}=$pkgver +) +source=( + $(for lang in ${_langpacks[@]} + do echo http://ftp.gnu.org/gnu/gnuzilla/lang/$pkgver/$lang.xpi + done) +) +noextract=( + $(for lang in ${_langpacks[@]} + do echo $lang.xpi + done) +) build() { - cd "${srcdir}" + cd $srcdir } -_path="/usr/lib/icecat/extensions/" +_path=/usr/lib/${pkgbase%-i18n}/extensions/ for lang in ${_langpacks[@]} do eval " package_icecat-i18n-$(echo $lang | tr A-Z a-z) () { - install -Dm644 '$srcdir/$lang.xpi' \"\${pkgdir}\"'${_path}langpack-$lang@firefox.mozilla.org.xpi' + install -Dm644 $srcdir/$lang.xpi \"\${pkgdir}\"'${_path}langpack-${lang}@firefox.mozilla.org.xpi' } " done -md5sums=('334d06cd9e32b2c3df5129dba4f0f474' - '99954e582ddb9bbd8965e6468e7d9799' - 'a2b777edb9a595b4c427716458ffdeb6' - '2d1796a37f2e927b5939de257dddab4e' - '17589c7d8994d4f62fd95fddc2c0c796' - '27f9d4029dbab73d9f5c6a7c169c1811' - '5d13f0aeb780e4d3693bf62be21e6e11' - 'c47f6aaa0b33261e7277f6d807e88396' - '0d87bb53f0b71634c189eeb3f3d64bc5' - '2ada422bef681cee2bd7e667a9090d6a' - 'fc8bc018c6d41c2fcb883734e37b518a' - '5e9b488cd52a42e235169de3a4b4cea2' - '0b781ce69f571797d3dc1fd5b70d882c' - '5ae943ee2293fd427a0072f1c95dd2e9' - '15d2a2076008efefdb7d031f4d0b1663' - '71a45cefe3b5f45de4ff784ca1a4fe1e' - '98e6f6de8c0184f339cc1b88e31e285b' - '43f9c2a3e9580b6a2adcc36dba4c0755' - 'a12665f7c8e6121e82c6c0be91da3f2a' - '7268181e8190cb62685c365fb99d9102' - '6f60912c53bd21acd99ee11abd5862d9' - '25f2c8a6665f6aef75204b1bcd0c0ff1' - '6e3516383f6eaad4bc1abe5fdd212d26' - 'c76f8a91086735c8252eab0d90e163e6' - '85cf430e36e70713b715fca4e1ac3410' - '60f3573882bbd1dc0ed0f16518660bf9' - '6c51beefb2da7add8c8c635efc2fc565' - 'e2d4d8182716b329249619d227d449f1' - '28facbc470554488b0a722cb0c3d53d3' - '3b167b50c188ef190fbad18077aacc0d' - 'f8edd8921fb8fa24099d1725fc478a2b' - '5b90202d9288d073e5f401b498355c13' - 'ec8478b6e0420484de8d7332bafafac2' - '9d932bc91062a58b0509b5395403c708' - 'bba6d905218c4a2b3d6e289e3ef35186' - 'b32d1ad6e5c8ed52cde0ea351290fd17' - 'd0d1d307c87ec8c8102527944f05887e' - '2605d5226c23205f3c7cd5466059b802' - '2b800c1c729d3b65ae38050bd4c06af1' - '8744ce05e573acefa9f802e53da2aea4' - 'edd3e216b37ee32fd517c2b49e85439a' - 'd9786706c058b1e4acac62f07deac285' - '6377004ddaa6731734696509be6dda53' - 'c73bd01ab8c5a25e234e51082978f7f5' - 'b44a3df07e663803234c72f359d06422' - '81c646a84b4f56d4721bec4013c123bf' - '9b678f5dbb7243b9e5751d04b988b640' - 'c237afb9ed6819a6219383590a8ee448' - 'b27c9236866dd55ee01a6e3929752767' - '8d527119a84f22840a919bc35ed612c0' - '1b51158c8c218544654245c418943c3a' - '1314bbc8cde2babcf6e807f7f958152c' - '59eb9146f16189932d9d5eea536cd8af' - 'a427b45282c6f8f4f1646050e9a93f71' - '618771f03f807603b2efed2760f6004c' - '56ca63d8c797d47fd3b6c094390990d7' - '24bde56465d7ab923fed3e23eca59d42' - 'ff9858a371df54c25f77ea4a5d1091f9' - '6135b885b12ccc64d5c93f385d5c62ad' - 'f98347a6ae9db6faef247373fd5092df' - 'e58f094448b085636c9e9435ef22fb53' - 'ed073cd4a1f3bbdcec1ee56334d8b9d3' - '988a1c279f94941bd4ab3b90cfad0bbe' - 'd8bc3ee80be944051f975a2534651ce1' - 'bd94ef18efe11eeee93a0ff1dc602301' - '20a8381c88b1735c558316936469c1a9' - '064d6f05f7b4c1ce8c5e0f083eccef15' - 'c22c4fb9da7cdee2cb29119e7c4f3696' - '50071d48b92f373713f6f8ee483b6f7d' - '518fbbf3838332da2e561565d29281bf' - '2a5a42ad2110e7e24c967233fdc0dc2c' - 'd21424a551ff625034b6e015f0eddcc4' - '829a1e6fe575e761f97564f68a1859ec' - 'd1047468370b7cbb766ed688107ca879' - '27f3609a99c3be8e59cfc700e251a5d7' - 'c7eb3ef0bedc610065713da9a55e2bf9' - '9125fcb792da1e58f00c43ec5b7bce97' - '5b9dd2a8ac84aace97a6095042ea537b' - '13be748a3331f2a9fac691dec7173aa8' - '0b694233f5385e0e5898d4b64a683bbc' - 'ad037272aabcc3b58fd2141447113905' - '347f53738950c9927b19ec3462840696' - '4fc25f81dd0b744aaaea5705dd36d943' - '5c96e79fc7463907b1c635586c910a71' - '50b1dcbd0eaf9d62b3f9050598298933' - 'c40de39f9502a8789f8301581cad25b4') +sha512sums=( + 765390ba04d88b4b56cebab007f9f593e33c54fe3cd8dbbafdb48171db68e23cd4e1c3d8360f2ef641a537e27f1d6db1aa8a0bdade854d3151359ecab6676af9 + 2b21f849299e7185163ce99e91aa612f64094cdf792bb855eb8836be940c0ef1cdfd33da080a793def714874810b269373f0c80830f42919f967417356efb86f + 86a79b1a785c967d56bb492a1c5867c42ac00832813a72027cc0a51dd940c1020dc7c911109efd9eb4ef1a9d996eea6382cd0a03a6a53e3347f909a28a3a943d + 727e3f44812c9c56620b7871fcffb28ebabef460fc52f483402fae787d90f3f197703e0bbde689a744e1135602b5ee765023402e0d365812e8521f8cf9dd2791 + 06989be3fd8d73f7887dae3bac7b0bdc80c7a11b7e6c8630da0ee4652f0ffbd60e01c049242ab3b61555f84485ce9b2f098c80cf6dba41538442cdc5cbdded9b + bc9e19e9e216df4acb8d9bccae2e0e426ab402998934ad9393cf86a2a81c6d20c7ba622d1f312dd70a62c8659b611421904ba0aa5aa7e3eb7ece5ed578cbdd81 + f12d343a5b5f9f35d3d112f041baa29919bfda8bf4c22353ac899ee65eda438c6a9ed243e7a03fb659aff0f9c448bfa5146807b8d3eafa9dd7b8384d7a0d8124 + 11cedfcd91a550fa1f65d1eca4ebac97ecd7c823e7a41e74f908ae1dc0b36b7cbb0c91c2640de5a0ba61c6820c0101c195bb31482376880025b494b280c7274d + 51f0b5e575f99b718b5ca96416148cced3a2c3fcd512e7135d3062fbc6e3c0ede86cb5bbda4a0bed43f6bd73d5c493a97c5bfbf373a92edb48b4a299b27a4f4d + de166d28ba81758d002712c408eada0ca5955e9b6275bc5f491177496f79f8de9dd5d5cd10cda5bc7671c56d7b5d15e136910d671da58ab1363b4dae769b58c9 + 79c0d107c1c61cd6281e0c545f10389a9968b7f49f27a4ff531c729c608cfff9107430f6d7b323a9f00cd2259ef5787db817b7aaa226272e7347413e0a50be83 + a1f5399254c5ce261468dbf539072371a51796de02331e173f8c44704f95d7784280115f7ba1deb46874caeccdeb925d9fe540dc8b5ada5970df6274a06f3429 + 11a278717f5da5a6d284242863bda3142ba4263946104fdbd86545f741127a368138bd4f7d0bd7bf377795d5d36fc61544b585dc044d5a6ddf93ce077f1e747f + 34a995016f4d7bff5c972bb4ef252a0ddac4f0b36943c7e4f8fbb899827aec307a081a7a30f1cb1fdf8c84af82f8f32675c57c45c39f7e47f21aacb75438be48 + fc5d410a903912f05886c4573a3b199efae22f8c9810a7bfc6acf8b5851b1791d97bd562a9c77204b7cf9091e0731ffe332c640d8693165f69cb934e8d523e04 + ab03d3e5391f806b6733078501d8a767cf2267d126cba284d473de21a7c976e55bd7ba63e3489336232ee9f5a7672b8c436e19adcfc68fe2a69db4e08b6f4b19 + fa55b4a26a346c21f0b98c137c4fabbd7aaaa61de45da89ca26c78044d23be8333f2d0c849ec5a34ff7517a556a979ee98b1ce87f02174fcb695632bbbb5edeb + 1ac410bd9b30d917b77ebac3ba08e25adaa4a20a6a77d13229a0efedca7a3b650777a6ca71675fde69f06137b09150dd2dee89760b93801dcf14b2801e6e5ad8 + 0b37ef6936f78c0384c36be7ad174cb90b5ca55b77128de6cdb6663de191144392728fccabc2baca25cb2d0f1ba69b80598bbf531e18b473a9515b553c1f594c + e2d4d6f1fc470d17dfc35b193c20f23b07dfbe54cad1b4f47d2f534493ea297dbdaf15e6c9b1556049c2db314dde66701a0624ef8af8f85f9cebbbf30f50ab3f + c3874b81b84de34fd9cfbb8b009dd033e57ffc726f7b607d895a917e4eb7ef9770ec0e24e0c41cdcd82f29c8140438101c1d1263ee64fbe0117c6b1510c0ed54 + e06f5da5fd157045be13459635b881cd09c92cc5f56af7d745afbdb52889ff18e23a75475331cc13471d9e7aefe157f43ae83074856d81e4f4ad0a9b275d58a5 + f04c77b037b04bf69929cdd712126b6c08a786d7a66181b3e536ca97c750506963b699dd8c4374fc01a86e694100f3fd9ed15d88ada0ef52364f492c5f61bb16 + f538442bf340e7856522288498de54a28dd0b25f36ad7897d1e444e46e98d17c0e5432c6f40e02c49cacacbe5b6b87a4db0dfec3f79e52df91ef278e15afdd73 + 9154c78adb5ec3d4c5dcb69bd61fb2b9a98a908f3fb6344ca5ba2ac96145ab8e770ad786b2c704f522c9f6cf61fdaf256e309e85bf105bbd83df892840804fca + 5c80bddaf0e51984034aac3d211327f89209673cceee5fc30dc4d9958cf44f564ce7aae995795987885c560a427a0098958fdcbf4534f5c84ec9778a3cd555c5 + 1d8a8a3fe5b2ade77dbd7b6f7fee74cd82452ec4eeee42bcb590b6f919fbccd9d345dc1ac2c171d265882e3583b6826778df73713e23df4c4ca66cfed594971b + 6d060b98e0a1d27b87d2e3b4c038756897af223759a53e3ce31beca9244d27f71610e5bc87ffbc5c53aced569165067ebf07720e33ee2ac27105a981dbc201d4 + 646eaaedec5aca57f26c0e1a8cc415e1607efc72a1f37205c40a22ee38e334ec138851375b0091c5d5ea5d8c5d7a2e2e90422e6aec0ddf6079a46f09696911b0 + a7619e2cd951f2b6c87f54386159fbffe5ef3895b05ac5422c76403b8cfd31b05ce98e3dd1532b79e81629adab828149c7154ba861d0bd4760a24ba74a8f4293 + 06dc48e0368927111fc7b4d3ea86c1a8a3a4b077fe0bddd434cf388c9048d2ea0cbd6184becfb2d02005c2e3ed6351e019a086a705c558a8e1e2df0a2816516f + 5b2120ffe02f469c1b52f0c4d9255619781aeac36e40c8df700707c955118ec298b78474ac2a17cf9d2823f049e9e15596fc58c4cffb5ac07315f9a73f7e2ad3 + c3141419942b85f93b2d6f5643544987f57e2805f1586c40ba91b814876cdf635f2500d350ad2a335cf440405716ed8e212221a7a9140cd8a4c3edee67fd3658 + 5fab16a0210bb6d6bcd18701ec0ff669bf5a971dd9f6953186864e09758ca37283af88c7dfec120cef87b9372bad61ac76d8248dad2bea68ca86b3a6410bc446 + d793679d2b51ecf41c0265e9bd9549d8bdae7d1db2afee631088bbf0aee314f16037840fcef8a1241519b952cdebec7f3eecedf3583ccdb92514d855d8577eb8 + bf658f472d23871cb3b54f9100bf3e935985625b4607330dff318315b9b56eae913c020ec69b0465f6a5cb3ac508e39bc0597e65cc940c20db7a63e3728dd632 + be75a19e56a39b597a88133071ca8f8d8ad2931d9accf47db3370d72c5d0dc9fd1c206f70ba64643a1657198ee930eb8884f36e2f9a2e7dbafb9bcd624c1c993 + b2ba8025736c7c8b40661826908c046e9ba8d61c1f273594d043c56f62dec39ed8e27c428a9444b946c2f638bdf60af5b9c5bd90b578d37dcdd884a9b0766d83 + cb140b72c26eb8e0d150cfac0da9a74932f2764911764d2ba326a6c059547e8e6ad1a5b5f6630b55f8dff1290182672c0c6016cf863b22a0e17524a79c1b835e + 5b6426c3c68ead2e9dd4975d18d671bdead44e455ee2802935fa34d153a9a651af765f25731ff0cd462823c85e60b3ad13b9e4a340c80e5b6435d9cb74545a89 + 03501a4808ba5cb0c9a94b61843a33604fde88d00bac2cc0e141975cef5ccc2ad4de219bcc077b92191fa45ba228dff3920c206add564a4331ccfbe02a8f69db + 5277580baa12169d15396ee08d019f5a1fa4cca86ba52e0e2dd05b0f497599cd5c560638ed502b842328c3e767a0f2bffcb6cfdbeada4d7613ff9f9040bd416f + 6656d0508d65c6e860fe66f5d1180c6040f03ac0579a85dded1f3e2b3d26341be4da8c423029927443ac99dfd52a954aa21f1a06a729ecaa4dca1522ccdd9333 + 4dcc6b8f1305d3b9ee3b6f90a92d169d8c9a3d6aec52b92c320a9cad88fc7c26567a343e201d943c56e721c587d2bbd74bbcfdb29fc0a2691f85e9262fad5dbd + 046b6d47386940892f07a10f564b9bbd0fdf7094a0e1f468f42d4b33514d8122b54a78fd6de09ad442a497eba266ad459733a86eda417c87db91d988c9d1ce2d + 0334bb286b560fa28ce9763868110970043155a24f6fec9b01611639add7b2f98781692d4ef84244d67c91afe477a9b1984aaedcba570ad0169c77d904cf865f + 6dda8b0cd0b5862520812ad2e2d4a5ee7d4be030565dcec55cefb0ff3eb960fb1f18aa52ee437d96890ccc35483d93b4fa684ea042cbb530d038d99770e45760 + 5ba5df20669dd3b337dae8de5f909def9747f4c22c041108ca30398ff59004c4a37dbfe88c243d55af23ef85fbe4509d4a4ddda772626f5170573f89a6f7990b + 9dd8b244130b291d16390fabf3470235892ae2506f7020fb5e1a3dcf142a5f771e3ebc91a6b14036721dd216751764a2d5cd74a6f60db92cdbe62e97f69d6af5 + a64ef951b6f0e23d8407414b9c1a5f5c8eabf89d7680fcbedb5acb70a9ca7e4c3253437e2af23c4287ecb5638587bceed4a87edc990056b26199e8cd9b955275 + 57459b8e13110e89acaa042a3c7bcfdde40c8f5e7fe00277f38960e23a9e750b1a85fba35fff29c8eca0d0d6c2e38a357cc2692a80af70feef8816225a88805b + 33cd4be72524c0d0877760a882c79e47fff8036e455103a2587d2eb694715f081a5c95355a8a536df08da4a62c8872001db2a9a1431fe9803d2267a3e02334e9 + 5e653ab0eb49e89408b51f34a549f0f1ac20868d121f9688f04a53788748b69f7f4628355fb23de6c1f69aefbb244d646debf345bed8f98a9f16f1fbd785f116 + 04bcfcf4683ff0f0596e703ea280d843d42f5e883a7c252518c1cc1953b7a7391b38adcab720a020164fa6adfbdfc8f40255109641880c83815b4b5bdb218378 + 6d550a3a1b4e1c375e6754e0e81e049bb10c04ec87614266123076dbc71b518bac4dc03233c7f8fb022302e1d5f7ed0064efdf6a21a98d17b8b0600b04b540fb + a8a14d0095ed6cb5b6e06f9737cbd7923c4fbce394671e510e275198312144706fa3e3063f4f57a3cd4ec9b08714f8e6b9d01943613b0147502be77647cc9440 + 3fa8938e38ea904b31a086b7cf8221b5ec4aa3c125fab79a9c88e68cc799595117d2199b6fc80e8b7cc1a809e1a10c230a929f420e4ef25bbd04775a0dfd52e1 + 1cb6fca6e8214603b1d60f5c0a187514b002704d33811ce229129a223fd63d55b4aafb1ccd1ed21d003f32b983bff8f785c74b488673edb8a5027f336dfde5d4 + 6566215d680dabf8184ba6edd33ddeeec09d2e2544250e7cf5026c4ea420de6273568056ac403739649d1f2636764459525b847f9d6e21ff860d211bdd3a0eed + 2c085539c1ab882b0370b2112d517b8f1be1f5869560fa5c0242ccc159c01b9f1c770593e72cafa6eecc3e3e623fe33a9901b2e0d576d98c85219122cdb34317 + 1f7e9eb6351e8de6b709c0a31b1cfcbfa108288da5b5b99ea88235e568b84ee0a3eabd8814c5f4b9935caca467f4a8e4531317ba8abf2d6d3121def8682fa961 + fde912f0a7cfac59fad72a56ddfe6c7ff10fc51a53ac5b89229f08f18c4ff689eb15d2980d32433b640f62941e7b38c4bf147b7728c22849fb04da46a13ec707 + e8b4de904e52503028ba50ec96fc4cf151ccae03bf42240c680204fa1794233374db6a4cc3a2e13965c28af2984be9f55288b0a9f522ec0d1ae738829da04b52 + 5bf071de14dce19ef5faa4b0b35a0618eb65093283c22d4da16b45839b6b3cfd4314fb8173f419dd3596b9684fd7c6ca1258098e0b9c4167b1546987c0e93b1e + ba0af0ad267b49e2890e77568882eae7d34846208472bfa3299934ae6d40a9864e39340a8228dd6215988a3238dd59dc84856e0d7cb4375601b0018683e867e7 + 3aac042bc0107e8f5d25009266f61272edbb70cad3dd0e984344738995a2119df247a4664bbd1c2bf9f7f889d0f8cb7039b6e852208f2f0c6040ef8953072cc4 + 8c1621ad105104b6dff50fa769c2504d66ef0d1c716f954ab1eb83742efad48be22ec718d4520a262bc733b42c72ef1a0085d1a1868124c5c18a1b4141b89041 + 1da09d13349b54f21ccaa46c0d96c320ee940af10591755a55e8953187a6159b1e1ebe087e3061888dbdc43ee767ed59259312d10e04f1374c45a715d09935ff + f0430e711a97bc9b0603620ac4a9adf7f63916c5ccdea3db588679df6a36fc4ccf7a17c9f581f7fab679002c50e4f0b8708ae5a2ee9bce4cb1d39bcc2dc05aef + bef2db0771b5f7053366d0a2f4fc9cce96649af1aec497bb5f38b9fd3affa0fc662a194d2f69f8cc49121037350690b6506da6f6659c41bef734089c8c7da784 + b7585ac1320f12915f01359a573eeff3524fbe24a583476f12a18ce16389c00802f4e48ebc2d4ecdb002dbcca97a44ad5721b0445bcfe0dee220f7d90abef4a5 + 59e278a846484b7c57c978b66658031d23dfc297f63bd756f82701b700906f74322de60988cd481a84c48a7d5e828e411e2ca7e4e58f7f695016b6ffbd680af1 + 21dc4bcdece71d8d310e179c010dc6c4b089ab55315ba7c67aee7da5a93b3ffc22f27e0c10087137c594adf1114abdbeda2424d5ee8c4944e6ad2a780d93acfb + bf16ae0501316c61656147bdff8140e9f75bfbc9ee625e791b11531d019a6431d9c9ee4110f2d566ae4f11c8d6d4d035c3ebed1a0f6ee0d98f2ede52bcc91e16 + 32161e5a951c353456564b6b0a203e148986322eccf7169630bda6fe8e3913485d431940595a27ff3e9ed71d3a9f2b2a2fd2835363e5db69a2982273e321186c + 01f6d21908175d58123faa91ec0545a173226052632ef636a3b6ded2b77bd6554532eb94e2a87ae2a64ef62cceacf3fc800360232b11a51cc91dfde4397190d8 + 8f8275d5a4582b524a6dd31ee81afffe1ca8371a87f50cfb663ab397a5906f6ad485b7ed7c49781af9bce82ef5e34f2d3de883ed45a5972ccb187cdbdae9c7c7 + 7183274b7d97652ae635a971dd539d46d16a397eac1f3e51c93c53fb8abfd6eb01cdfd41f7c951847291b033a17e6566ea2b9a629dc5796f012bf1993ca14b40 + b35822f1b09062a9c5b6fa41e036657f68def07a15ee9d5f078d372fdc17bb36fa42f08c1a3ed73bb7eb63d290041f441a580c19ee1f2fe789575aa6361b0293 + c9d05ac24a63799805ebe257c11675c1400a014e0d8c408a02e9b3842ec7bf40922a76120297b6796bba3adff0d2449abe1068085176f0deec0463756e3b5c3d + 28ff49291b5cfc51acd878fee3e2de6693bc060ac8f4b1233d44cd5797bf2815c0a563f07decd38647d384f183fb9f945e1040d77bfde4503320a5af2b91482f + 8a137bc5d30e662a28fb809615ebf480503e278a5882aa81b71260d8c548b73e0401e458a6dc4cf0e9e9a61bbadb72a5d8c4e636d7ce616672bf7f10bd4dc810 + cfa399cf459b2487f260a7287b1ddfcbc8ecde9bda160f6f8036bbff7389a383be5acadbfad092b72cbf7d77d8b053fbe98b3df0ae6f01029b92e78bbbf681ba + 5553b2e0193fe0aa65cc88171b5358949906ee01292bc2b2aaf1bc7c330b703d998901999aa5dd923861886b589411b221ae00fc3323cc3bb23068dd21220601 + 502426fc851b9ce8782a7c73b6024492b8e7a46764eaaf2a3b4fef7546312dde9ae9d6a83619f93c3fa96e85767d0cae668f3f9d4cf16427d9b8e7f55163df41 + 5b48c402f4ac36366d157a30db3c36e0bbbf6f8601a498ef0d7cfac4899ed5a168826caae7427f949cef7c54fada0c4886b5f7b7c9efb933fc246781845d5db4 + e8b0a1580757da961551580dcb83fe5dca1a99e446fc9b0bf302e7eded06f4ad795650743b387c0ce05840f238940e0013019b4b36d9eaff1272057fe2949c0a + b2d8be6934966c477c07f6c7fbe341148b7cdb75aeb51ac0fbe15b72c933a2886454057237ae968a3ce7d3d8b7132b8d9f488dac8e68f6ed451c608c17738f27 +) -- cgit v1.2.3-2-g168b From 96c4c1414481245fcbac8f25d7b5e467dedd7af7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A1rcio=20Alexandre=20Silva=20Delgado?= Date: Fri, 31 Aug 2012 23:25:38 -0300 Subject: icecat: updating package --- libre/icecat/PKGBUILD | 205 ++++++++++++++++----------------- libre/icecat/cairo.patch | 14 +-- libre/icecat/icecat-install-dir.patch | 13 +-- libre/icecat/libre.patch | 161 ++++++++++++-------------- libre/icecat/xulrunner-copy-stub.patch | 6 +- 5 files changed, 182 insertions(+), 217 deletions(-) (limited to 'libre') diff --git a/libre/icecat/PKGBUILD b/libre/icecat/PKGBUILD index 88bd70c09..fd050fb27 100644 --- a/libre/icecat/PKGBUILD +++ b/libre/icecat/PKGBUILD @@ -3,8 +3,8 @@ # Contributor: Figue # Contributor (Parabola): fauno # Contributor (Parabola): vando -# Contributor (Parabola): emulatorman -# Contributor (Parabola): Márcio Silva +# Contributor (Parabola): André Silva +# Maintainer (Parabola): Márcio Silva # Contributor (Arch): Jakub Schmidtke # Thank you very much to the older contributors: # Contributor: evr @@ -14,108 +14,102 @@ # the value for 'browser.dictionaries.download.url' in 'libre.patch' _pgo=false - -_pkgname=icecat -pkgver=13.0.1 +pkgname=icecat +pkgver=14.0 pkgrel=2 - -if [ -z "$pkgname" ]; then pkgname=$_pkgname; fi -if $_pgo; then - pkgname+='-pgo' -fi - -pkgdesc="The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!" -arch=('i686' 'x86_64' 'mips64el') -license=('GPL2' 'MPL' 'LGPL') +pkgdesc='The GNUzilla web browser, based on Mozilla Firefox. SafeBrowsing and other Google services disabled!' +arch=(i686 x86_64 mips64el) +license=(GPL2 MPL LGPL) depends=( - 'alsa-lib' - 'dbus-glib' - 'desktop-file-utils' - 'gtk2' - 'hicolor-icon-theme' - 'hunspell' - 'libevent' - 'libnotify' - 'libvpx' - 'libxt' - 'mime-types' - 'mozilla-common' - 'mozilla-searchplugins' - 'nss>=3.13.1' - 'sqlite3' - 'startup-notification' + alsa-lib + dbus-glib + desktop-file-utils + gtk2 + hicolor-icon-theme + hunspell + libevent + libnotify + libvpx + libxt + mime-types + mozilla-common + mozilla-searchplugins + 'nss>=3.13.3' + sqlite3 + startup-notification ) makedepends=( - 'autoconf2.13' - 'diffutils' - 'imagemagick' - 'libidl2' - 'librsvg' - 'libxslt' - 'mesa' - 'pkg-config' - 'python2' - 'unzip' - 'wireless_tools' - 'zip' + autoconf2.13 + diffutils + imagemagick + libidl2 + librsvg + libxslt + mesa + pkg-config + python2 + unzip + wireless_tools + zip +) +optdepends=( + 'wireless_tools: Location detection via available WiFi networks' ) if $_pgo; then - makedepends+=('xorg-server-xvfb') + makedepends+=(xorg-server-xvfb) options=(!ccache) fi - -url="http://www.gnu.org/software/gnuzilla/" -install=icecat.install -source=(ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::4}/${pkgname}-${pkgver}.tar.gz - mozconfig - mozconfig.pgo - xulrunner-copy-stub.patch - libre.patch - icecat.desktop - icecat-safe.desktop - icecat-install-dir.patch - vendor.js - cairo.patch) - -md5sums=('ba249f3e889089dc64615333dd324791' - '3117865902d1a20ab61d75707be9888e' - 'ac29b01c189f20abae2f3eef1618ffc0' - '683c4540ab84c220937feb7d1a1450ee' - 'cd52a6e3f138fa92267600cc53ff4247' - 'e81ad01dbc16ba28bf92ba4b7c309ca7' - 'd93fe402b87cd000a869e1fd6badc6c9' - '268e65c8fcae6152e156c09760a18dfd' - '0d053487907de4376d67d8f499c5502b' - '721c59ffc14f14cb0d3a90b7e84df70e') - -if [ "$_pkgname" != "$pkgname" ]; then - provides+=("$_pkgname") - conflicts+=("$_pkgname") -fi +options=(!emptydirs) +url=http://www.gnu.org/software/gnuzilla/ +install=$pkgname.install +source=( + ftp://ftp.gnu.org/gnu/gnuzilla/${pkgver::4}/$pkgname-$pkgver.tar.gz + mozconfig + mozconfig.pgo + xulrunner-copy-stub.patch + libre.patch + $pkgname.desktop + $pkgname-safe.desktop + $pkgname-install-dir.patch + vendor.js + cairo.patch +) +md5sums=( + 6bb02202cd568e8a4f43239b8f52a4a7 + 3117865902d1a20ab61d75707be9888e + ac29b01c189f20abae2f3eef1618ffc0 + 3009b176cc5f9b1e416b1bf7c45b064b + 72e6bb9ebebe555b4ab961add3df3b27 + e81ad01dbc16ba28bf92ba4b7c309ca7 + d93fe402b87cd000a869e1fd6badc6c9 + b320085e7effa2890a79f4f45760614b + 0d053487907de4376d67d8f499c5502b + c8552d030494443218d88792f4dbbd0f +) build() { - export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$_pkgname" - export PYTHON="/usr/bin/python2" - mv "$_pkgname-$pkgver" "$srcdir/mozilla-build" - cd "$srcdir/mozilla-build" - - patch -Np1 -i "$srcdir/icecat-install-dir.patch" # install to /usr/lib/$pkgname - patch -Np1 -i "$srcdir/xulrunner-copy-stub.patch" # small fix - patch -Np1 -i "$srcdir/libre.patch" # Remove Google+Mozilla stuff - patch -Np1 -i "$srcdir/cairo.patch" - - cp "$srcdir/mozconfig" .mozconfig # Load our build config, disable SafeSearch + mv $pkgname-$pkgver $srcdir/gnuzilla-build + cd $srcdir/gnuzilla-build + cp $srcdir/mozconfig .mozconfig # Load our build config, disable SafeSearch if $_pgo; then - cat "$srcdir/mozconfig.pgo" >> .mozconfig + cat $srcdir/mozconfig.pgo >> .mozconfig fi + patch -Np1 -i $srcdir/$pkgname-install-dir.patch # install to /usr/lib/$pkgname + patch -Np1 -i $srcdir/xulrunner-copy-stub.patch # small fix + patch -Np1 -i $srcdir/libre.patch # Remove Google+Mozilla stuff + patch -Np1 -i $srcdir/cairo.patch # fix cairo + + # Fix for use nspr, sqlite and nss external + sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \ + browser/installer/Makefile.in # Fix PRE_RELEASE_SUFFIX sed -i '/^PRE_RELEASE_SUFFIX := ""/s/ ""//' \ browser/base/Makefile.in # This is a bug, we should fix it. - if [ "$CARCH" = "mips64el" ]; then + if [ $CARCH = mips64el ]; then # Fix MIPS N32 support. sed -i 's/defined(_ABIO32)/(defined(_ABIO32) || defined(_ABIN32))/' \ js/src/assembler/wtf/Platform.h @@ -129,44 +123,43 @@ build() { fi chmod +x build/unix/run-icecat.sh # fix bug for bad file permition + export LDFLAGS="$LDFLAGS -Wl,-rpath,/usr/lib/$pkgname" + export PYTHON=/usr/bin/python2 if $_pgo; then LD_PRELOAD="" /usr/bin/Xvfb -nolisten tcp -extension GLX -screen 0 1280x1024x24 :99 & - LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS="$MAKEFLAGS" + LD_PRELOAD="" DISPLAY=:99 make -j1 -f client.mk profiledbuild MOZ_MAKE_FLAGS=$MAKEFLAGS kill $! || true else - LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS="$MAKEFLAGS" + LD_PRELOAD="" make -j1 -f client.mk build MOZ_MAKE_FLAGS=$MAKEFLAGS fi } package() { - cd "$srcdir/mozilla-build" - make -j1 -f client.mk DESTDIR="$pkgdir" install + cd $srcdir/gnuzilla-build + make -j1 -f client.mk DESTDIR=$pkgdir install - install -m644 "$srcdir"/vendor.js "$pkgdir/usr/lib/$_pkgname/defaults/pref" + install -Dm644 $srcdir/vendor.js $pkgdir/usr/lib/$pkgname/defaults/pref - brandingdir="browser/branding/unofficial" - icondir="$pkgdir/usr/share/icons/hicolor" + brandingdir=browser/branding/unofficial + icondir=$pkgdir/usr/share/icons/hicolor for i in 16x16 32x32 48x48; do - install -Dm644 "$brandingdir/default${i/x*/}.png" "$icondir/$i/apps/$_pkgname.png" + install -Dm644 $brandingdir/default${i/x*/}.png $icondir/$i/apps/$pkgname.png done - install -d "$pkgdir/usr/share/applications" - install -m644 "$srcdir/icecat.desktop" "$pkgdir/usr/share/applications" - install -m644 "$srcdir/icecat-safe.desktop" "$pkgdir/usr/share/applications" + for d in $pkgname $pkgname-safe; do + install -Dm644 $srcdir/$d.desktop $pkgdir/usr/share/applications/$d.desktop + done - rm -rf "$pkgdir/usr/lib/$_pkgname/"{dictionaries,hyphenation,searchplugins,plugins} - ln -sf /usr/share/hunspell "$pkgdir/usr/lib/$_pkgname/dictionaries" - ln -sf /usr/share/hyphen "$pkgdir/usr/lib/$_pkgname/hyphenation" - ln -sf /usr/lib/mozilla/plugins "$pkgdir/usr/lib/$_pkgname/plugins" - ln -sf /usr/lib/mozilla/searchplugins "$pkgdir/usr/lib/$_pkgname/searchplugins" + rm -rf $pkgdir/usr/lib/$pkgname/{dictionaries,hyphenation,searchplugins,plugins} + ln -sf /usr/share/hunspell $pkgdir/usr/lib/$pkgname/dictionaries + ln -sf /usr/share/hyphen $pkgdir/usr/lib/$pkgname/hyphenation + ln -sf /usr/lib/mozilla/plugins $pkgdir/usr/lib/$pkgname/plugins + ln -sf /usr/lib/mozilla/searchplugins $pkgdir/usr/lib/$pkgname/searchplugins # We don't want the development stuff - rm -rf "$pkgdir"/usr/{include,lib/$_pkgname-devel,share/idl} - - # Fix a bug with https-everywhere (duplicate rules) - #rm -f "$pkgdir/usr/lib/$pkgname/extensions/https-everywhere@eff.org/chrome/content/rules/GoogleMaps.xml~HEAD" + rm -rf $pkgdir/usr/{include,lib/$pkgname-devel,share/idl} # Workaround for now: https://bugzilla.mozilla.org/show_bug.cgi?id=658850 - ln -sf $_pkgname "$pkgdir/usr/lib/$_pkgname/$_pkgname-bin" + ln -sf $pkgname $pkgdir/usr/lib/$pkgname/$pkgname-bin } diff --git a/libre/icecat/cairo.patch b/libre/icecat/cairo.patch index 981eff883..a1fabee90 100644 --- a/libre/icecat/cairo.patch +++ b/libre/icecat/cairo.patch @@ -1,16 +1,6 @@ -From: Uli Schlachter -Date: Thu, 17 May 2012 10:51:11 +0200 -Subject: Bug 722975 - Make system cairo work again - ---- - gfx/thebes/gfxPlatform.cpp | 16 ++++------------ - 1 file changed, 4 insertions(+), 12 deletions(-) - -diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp -index fb06fba..a0edefc 100644 --- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp -@@ -436,11 +436,9 @@ void SourceBufferDestroy(void *srcBuffer) +@@ -459,11 +459,9 @@ void SourceBufferDestroy(void *srcBuffer) static_cast(srcBuffer)->Release(); } @@ -24,7 +14,7 @@ index fb06fba..a0edefc 100644 origSurf->SetData(&kSourceSurface, NULL, NULL); } -@@ -512,14 +510,8 @@ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurfa +@@ -535,14 +533,8 @@ gfxPlatform::GetSourceSurfaceForSurface(DrawTarget *aTarget, gfxASurface *aSurfa imgSurface->Stride(), format); diff --git a/libre/icecat/icecat-install-dir.patch b/libre/icecat/icecat-install-dir.patch index 6609650da..eb698f307 100644 --- a/libre/icecat/icecat-install-dir.patch +++ b/libre/icecat/icecat-install-dir.patch @@ -1,9 +1,8 @@ -diff -Nur icecat-12.0.orig/config/autoconf.mk.in icecat-12.0/config/autoconf.mk.in ---- icecat-12.0.orig/config/autoconf.mk.in 2011-12-31 17:07:52.000000000 -0500 -+++ icecat-12.0/config/autoconf.mk.in 2011-12-31 17:11:18.000000000 -0500 +--- a/config/autoconf.mk.in ++++ b/config/autoconf.mk.in @@ -74,8 +74,8 @@ mandir = @mandir@ - idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_BASE_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) -sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) @@ -12,9 +11,9 @@ diff -Nur icecat-12.0.orig/config/autoconf.mk.in icecat-12.0/config/autoconf.mk. DIST = $(DEPTH)/dist LIBXUL_SDK = @LIBXUL_SDK@ -diff -Nur icecat-12.0.orig/js/src/config/autoconf.mk.in icecat-12.0/js/src/config/autoconf.mk.in ---- icecat-12.0.orig/js/src/config/autoconf.mk.in 2011-12-20 18:28:21.000000000 -0500 -+++ icecat-12.0/js/src/config/autoconf.mk.in 2011-12-31 17:11:43.000000000 -0500 +diff -Nur a/js/src/config/autoconf.mk.in b/js/src/config/autoconf.mk.in +--- a/js/src/config/autoconf.mk.in ++++ b/js/src/config/autoconf.mk.in @@ -60,8 +60,8 @@ datadir = @datadir@ mandir = @mandir@ diff --git a/libre/icecat/libre.patch b/libre/icecat/libre.patch index a4c76b6f5..18dfcc177 100644 --- a/libre/icecat/libre.patch +++ b/libre/icecat/libre.patch @@ -1,36 +1,27 @@ -diff -Naur icecat-13.0.1/browser/app/profile/firefox.js icecat-13.0.1-libre/browser/app/profile/firefox.js ---- icecat-13.0.1/browser/app/profile/firefox.js 2012-07-12 14:27:37.000000000 -0300 -+++ icecat-13.0.1-libre/browser/app/profile/firefox.js 2012-07-17 21:35:32.600229972 -0300 -@@ -65,6 +65,7 @@ +diff -Nur a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js +--- a/browser/app/profile/firefox.js ++++ b/browser/app/profile/firefox.js +@@ -70,6 +70,7 @@ pref("extensions.getAddons.cache.enabled", true); pref("extensions.getAddons.maxResults", 15); - pref("extensions.getAddons.get.url", "http://www.gnu.org/software/gnuzilla/addons.html"); -+pref("extensions.getAddons.getWithPerformance.url", "http://www.gnu.org/s/gnuzilla/addons.html"); - pref("extensions.getAddons.search.browseURL", "http://www.gnu.org/software/gnuzilla/addons.html"); - pref("extensions.getAddons.search.url", "http://www.gnu.org/software/gnuzilla/addons.html"); - pref("extensions.webservice.discoverURL", "http://www.gnu.org/software/gnuzilla/addons.html"); -@@ -82,7 +83,7 @@ + pref("extensions.getAddons.get.url","http://www.gnu.org/software/gnuzilla/addons.html"); ++pref("extensions.getAddons.getWithPerformance.url","http://www.gnu.org/s/gnuzilla/addons.html"); + pref("extensions.getAddons.search.browseURL","http://www.gnu.org/software/gnuzilla/addons.html"); + pref("extensions.getAddons.search.url","http://www.gnu.org/software/gnuzilla/addons.html"); + pref("extensions.webservice.discoverURL","http://www.gnu.org/software/gnuzilla/addons.html"); +@@ -87,7 +88,7 @@ pref("extensions.update.autoUpdateDefault", true); // Dictionary download preference -pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/dictionaries/"); -+pref("browser.dictionaries.download.url", "about:blank"); ++pref("browser.dictionaries.download.url","http://www.gnu.org/software/gnuzilla/addons.html"); // The minimum delay in seconds for the timer to fire. // default=2 minutes -@@ -247,7 +248,7 @@ - // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session - // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore - pref("browser.startup.page", 1); --pref("browser.startup.homepage", "chrome://branding/locale/browserconfig.properties"); -+pref("browser.startup.homepage", "about:home"); - - // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into - // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream -diff -Naur icecat-13.0.1/browser/base/content/aboutHome.js icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js ---- icecat-13.0.1/browser/base/content/abouthome/aboutHome.js 2012-07-12 14:27:37.000000000 -0300 -+++ icecat-13.0.1-libre/browser/base/content/abouthome/aboutHome.js 2012-07-17 23:19:05.593724417 -0300 -@@ -37,104 +37,6 @@ +diff -Nur a/browser/base/content/aboutHome.js b/browser/base/content/abouthome/aboutHome.js +--- a/browser/base/content/abouthome/aboutHome.js ++++ b/browser/base/content/abouthome/aboutHome.js +@@ -38,104 +38,6 @@ * * ***** END LICENSE BLOCK ***** */ @@ -135,18 +126,19 @@ diff -Naur icecat-13.0.1/browser/base/content/aboutHome.js icecat-13.0.1-libre/b // The process of adding a new default snippet involves: // * add a new entity to aboutHome.dtd // * add a for it in aboutHome.xhtml -@@ -142,7 +44,7 @@ +@@ -143,7 +45,7 @@ // The part of the snippet will be linked to the corresponding url. const DEFAULT_SNIPPETS_URLS = [ - "http://www.mozilla.com/firefox/features/?WT.mc_ID=default1" +- "http://www.mozilla.com/firefox/features/?WT.mc_ID=default1" -, "https://addons.mozilla.org/firefox/?src=snippet&WT.mc_ID=default2" ++ "https://www.gnu.org/software/gnuzilla/?WT.mc_ID=default1" +, "http://www.gnu.org/software/gnuzilla/addons.html?src=snippet&WT.mc_ID=default2" ]; const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 Day. -diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.properties icecat-13.0.1-libre/browser/locales/en-US/chrome/browser-region/region.properties ---- icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.properties 2012-07-12 14:27:37.000000000 -0300 -+++ icecat-13.0.1-libre/browser/locales/en-US/chrome/browser-region/region.properties 2012-07-17 22:01:56.786224684 -0300 +diff -Nur a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties +--- a/browser/locales/en-US/chrome/browser-region/region.properties ++++ b/browser/locales/en-US/chrome/browser-region/region.properties @@ -1,28 +1,28 @@ # Default search engine -browser.search.defaultenginename=Google @@ -183,7 +175,7 @@ diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.prop # TRANSLATION NOTE: {moz:domain} and {searchTerms} are placeholders for the site # to be searched and the user's search query. Place them in the appropriate location # for your locale's URL but do not translate them. --browser.search.siteSearchURL=http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms} +-browser.search.siteSearchURL=https://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&q=site%3A{moz:domain}+{searchTerms} +browser.search.siteSearchURL=https://duckduckgo.com/lite/?q=site%3A{moz:domain}+{searchTerms} # increment this number when anything gets changed in the list below. This will @@ -210,9 +202,9 @@ diff -Naur icecat-13.0.1/browser/locales/en-US/chrome/browser-region/region.prop +# The default set of protocol handlers for ircs: +gecko.handlerService.schemes.ircs.0.name=Freenode +gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net/ -diff -Naur icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in icecat-13.0.1-libre/browser/locales/generic/profile/bookmarks.html.in ---- icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in 2012-07-12 14:27:37.000000000 -0300 -+++ icecat-13.0.1-libre/browser/locales/generic/profile/bookmarks.html.in 2012-07-17 23:34:22.488558721 -0300 +diff -Nur a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in +--- a/browser/locales/generic/profile/bookmarks.html.in ++++ b/browser/locales/generic/profile/bookmarks.html.in @@ -11,13 +11,20 @@

@bookmarks_toolbarfolder@

@bookmarks_toolbarfolder_description@ @@ -240,9 +232,9 @@ diff -Naur icecat-13.0.1/browser/locales/generic/profile/bookmarks.html.in iceca +
h-node

-diff -Naur icecat-13.0.1/build/pgo/blueprint/elements.html icecat-13.0.1-libre/build/pgo/blueprint/elements.html ---- icecat-13.0.1/build/pgo/blueprint/elements.html 2012-07-12 14:27:37.000000000 -0300 -+++ icecat-13.0.1-libre/build/pgo/blueprint/elements.html 2012-07-17 21:44:48.052812473 -0300 +diff -Nur a/build/pgo/blueprint/elements.html b/build/pgo/blueprint/elements.html +--- a/build/pgo/blueprint/elements.html ++++ b/build/pgo/blueprint/elements.html @@ -143,7 +143,7 @@

@@ -252,9 +244,9 @@ diff -Naur icecat-13.0.1/build/pgo/blueprint/elements.html icecat-13.0.1-libre/b

<abbr> abbr - extended text when mouseover.
-diff -Naur icecat-13.0.1/dom/ipc/test.xul icecat-13.0.1-libre/dom/ipc/test.xul ---- icecat-13.0.1/dom/ipc/test.xul 2012-07-12 14:27:37.000000000 -0300 -+++ icecat-13.0.1-libre/dom/ipc/test.xul 2012-07-17 21:48:08.242020288 -0300 +diff -Nur a/dom/ipc/test.xul b/dom/ipc/test.xul +--- a/dom/ipc/test.xul ++++ b/dom/ipc/test.xul @@ -294,6 +294,6 @@ oncommand="document.getElementById('page').QueryInterface(Components.interfaces.nsIFrameLoaderOwner).frameLoader.delayRemoteDialogs = this.checked;"/> @@ -263,9 +255,9 @@ diff -Naur icecat-13.0.1/dom/ipc/test.xul icecat-13.0.1-libre/dom/ipc/test.xul +

Please choose a descriptive name for the new virtual machine " + "and select the type of operating system you intend to install on it. " + "The name you choose will be used throughout VirtualBox " +- "to identify this machine.")); ++ "to identify this machine.

Note: We hope you don't use non-free " ++ "GNU/Linux distros and non-free operating systems, since to use them " ++ "is to surrender your freedom.

")); + } + + void UIWizardNewVMPageBasic1::initializePage() --- VirtualBox-4.2.0.orig/src/VBox/Main/xml/Settings.cpp 2012-08-29 11:13:34.000000000 -0300 +++ VirtualBox-4.2.0/src/VBox/Main/xml/Settings.cpp 2012-10-03 17:02:44.581501053 -0300 @@ -3405,7 +3405,18 @@ @@ -996,3 +1011,194 @@ #endif /* VBOX_WITH_VIDEOHWACCEL */ #ifdef VBOX_WITH_CRHGSMI /* Check if WDDM mode supported by the guest OS type: */ +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_bg.ts 2012-10-16 00:13:25.992465184 -0200 +@@ -9065,8 +9065,8 @@ + Име и операционна система + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Моля, изберете описателно име за новата виртуална машина и изберете типа на операционната система, която планирате да инсталирате в нея. Името, което изберете, ще се използва от VirtualBox за разпознаване на тази машина. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Моля, изберете описателно име за новата виртуална машина и изберете типа на операционната система, която планирате да инсталирате в нея. Името, което изберете, ще се използва от VirtualBox за разпознаване на тази машина.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_cs.ts 2012-10-16 13:48:43.077565860 -0200 +@@ -9732,8 +9732,8 @@ + Název a operační systém + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Zvolte prosím výstižný název pro nový virtuální počítač a vyberte typ operačního systému, který do něj budete instalovat. Zvolený název bude následně aplikací VirtualBox používán pro identifikaci tohoto počítače. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Zvolte prosím výstižný název pro nový virtuální počítač a vyberte typ operačního systému, který do něj budete instalovat. Zvolený název bude následně aplikací VirtualBox používán pro identifikaci tohoto počítače.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts 2012-09-13 05:26:18.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_de.ts 2012-10-16 13:52:23.322043944 -0200 +@@ -5837,8 +5837,8 @@ + Name und Betriebssystem + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Bitte wählen Sie einen angemessenen Namen für die neue virtuelle Maschine und wählen Sie den Typ des Betriebssystems, das Sie installieren möchten. Der gewählte Name wird zur Identifizierung dieser Maschine verwendet. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Bitte wählen Sie einen angemessenen Namen für die neue virtuelle Maschine und wählen Sie den Typ des Betriebssystems, das Sie installieren möchten. Der gewählte Name wird zur Identifizierung dieser Maschine verwendet.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_es.ts 2012-10-16 13:59:29.357639018 -0200 +@@ -9578,8 +9578,8 @@ + Nombre y sistema operativo + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Seleccione un nombre descriptivo para la nueva máquina virtual y seleccione el tipo de sistema operativo que tiene intención de instalar en ella. El nombre que seleccione será usado por VirtualBox para identificar esta máquina. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Seleccione un nombre descriptivo para la nueva máquina virtual y seleccione el tipo de sistema operativo que tiene intención de instalar en ella. El nombre que seleccione será usado por VirtualBox para identificar esta máquina.</p><p><b>Nota: Esperamos que no uses distros no libres de GNU/Linux y sistemas operativos no libres, ya que al hacerlo pierdes tu libertad.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts 2012-09-08 06:36:08.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_hu.ts 2012-10-16 14:05:28.901905114 -0200 +@@ -9505,8 +9505,8 @@ + Név és operációs rendszer + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Adj meg egy leíró nevet az új virtuális géphez és válaszd ki a telepíteni kívánt operációs rendszír típusát. A választott névvel lesz azonosítva a gép a VirtualBoxban. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Adj meg egy leíró nevet az új virtuális géphez és válaszd ki a telepíteni kívánt operációs rendszír típusát. A választott névvel lesz azonosítva a gép a VirtualBoxban.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_it.ts 2012-10-16 14:09:15.132822795 -0200 +@@ -10164,8 +10164,8 @@ + Nome e sistema operativo + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Scegli un nome descrittivo per la nuova macchina virtuale e seleziona il tipo di sistema operativo che desideri installare. Il nome che scegli sarà utilizzato da VirtualBox per identificare questa macchina. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Scegli un nome descrittivo per la nuova macchina virtuale e seleziona il tipo di sistema operativo che desideri installare. Il nome che scegli sarà utilizzato da VirtualBox per identificare questa macchina.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts 2012-09-08 06:36:08.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ja.ts 2012-10-16 14:12:46.698999485 -0200 +@@ -10874,8 +10874,8 @@ + + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- 新しい仮想マシンの記述名を指定し、インストールするオペレーティングシステムのタイプを選択してください。入力した名前はVirtualBoxでこのマシンを特定するのに使われます。 ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>新しい仮想マシンの記述名を指定し、インストールするオペレーティングシステムのタイプを選択してください。入力した名前はVirtualBoxでこのマシンを特定するのに使われます。</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ko.ts 2012-10-16 14:15:54.360627673 -0200 +@@ -9120,8 +9120,8 @@ + 이름 및 운영 체제 + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- 새 가상 머신을 나타내는 이름을 입력하고 설치할 운영 체제를 선택하십시오. 입력한 이름은 VirtualBox에서 가상 머신을 식별하는 데 사용됩니다. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>새 가상 머신을 나타내는 이름을 입력하고 설치할 운영 체제를 선택하십시오. 입력한 이름은 VirtualBox에서 가상 머신을 식별하는 데 사용됩니다.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_nl.ts 2012-10-16 14:18:48.962964625 -0200 +@@ -7241,8 +7241,8 @@ + Naam en besturingssysteem + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Kies een herkenbare naam voor de nieuwe virtuele machine en selecteer het type besturingssysteem dat u erop wilt installeren. De naam die u kiest zal binnen VirtualBox gebruikt worden om deze machine te identificeren. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Kies een herkenbare naam voor de nieuwe virtuele machine en selecteer het type besturingssysteem dat u erop wilt installeren. De naam die u kiest zal binnen VirtualBox gebruikt worden om deze machine te identificeren.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_pt_BR.ts 2012-10-16 14:21:26.059420850 -0200 +@@ -10180,8 +10180,8 @@ + Nome e Sistema Operacional + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina.</p><p><b>Aviso: Esperamos que não se usem distros não livres de GNU/Linux e sistemas operacionais não livres, pois ao usá-los abre-se mão de sua liberdade.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts 2012-09-13 05:26:18.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_ru.ts 2012-10-16 14:24:13.128882291 -0200 +@@ -9221,8 +9221,8 @@ + Укажите имя и тип ОС + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- Пожалуйста введите имя новой виртуальной машины и выберите тип операционной системы, которую Вы собираетесь установить на данную машину. Заданное Вами имя будет использоваться для идентификации данной машины. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>Пожалуйста введите имя новой виртуальной машины и выберите тип операционной системы, которую Вы собираетесь установить на данную машину. Заданное Вами имя будет использоваться для идентификации данной машины.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_uk.ts 2012-10-16 14:31:55.985969428 -0200 +@@ -9058,7 +9058,7 @@ + + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_xx_YY.ts 2012-10-16 14:35:52.321589511 -0200 +@@ -5832,7 +5832,7 @@ + + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_CN.ts 2012-10-16 14:39:00.340417942 -0200 +@@ -7217,8 +7217,8 @@ + 虚拟电脑名称和系统类型 + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- 请选择新虚拟电脑的描述名称及要安装的操作系统类型。此名称将用于标识此虚拟电脑。 ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>请选择新虚拟电脑的描述名称及要安装的操作系统类型。此名称将用于标识此虚拟电脑。</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size +--- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts 2012-09-08 06:36:09.000000000 -0300 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/nls/VirtualBox_zh_TW.ts 2012-10-16 14:42:12.176147258 -0200 +@@ -5836,8 +5836,8 @@ + 名稱和作業系統 + + +- Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. +- 請選擇新虛擬機器的描述性名稱,並選取您打算在其上安裝的作業系統類型。 VirtualBox 將使用整個選擇的名稱來識別此機器。 ++ <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> ++ <p>請選擇新虛擬機器的描述性名稱,並選取您打算在其上安裝的作業系統類型。 VirtualBox 將使用整個選擇的名稱來識別此機器。</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> + + + Memory size -- cgit v1.2.3-2-g168b From eeca7638c292f648065344a9959ca4ae3083934f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 16 Oct 2012 16:42:31 -0200 Subject: virtualbox-libre-4.2.0-4: fixing portuguese grammar --- libre/virtualbox-libre/PKGBUILD | 2 +- libre/virtualbox-libre/free-distros.patch | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index 27453834d..931f0f492 100755 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -109,7 +109,7 @@ md5sums=('691b4134983ce7d89b9fb683305cb647' '4da8eeb2ece7e475fc7a0d1003da26c6' '5e4187af59726d71c5be48d0cd816c34' '67cc4c8611890038eb3e4114ae899525' - '8b2707d4e99b8a4f862e87607845d22f') + '8864e92c5e997c45e27a51020cef7e12') #_extramodules=extramodules-3.5-LIBRE #_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true diff --git a/libre/virtualbox-libre/free-distros.patch b/libre/virtualbox-libre/free-distros.patch index ef81243e5..34fc3984d 100644 --- a/libre/virtualbox-libre/free-distros.patch +++ b/libre/virtualbox-libre/free-distros.patch @@ -1137,7 +1137,7 @@ - Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine. - Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina. + <p>Please choose a descriptive name for the new virtual machine and select the type of operating system you intend to install on it. The name you choose will be used throughout VirtualBox to identify this machine.</p><p><b>Note: We hope you don't use non-free GNU/Linux distros and non-free operating systems, since to use them is to surrender your freedom.</b></p> -+ <p>Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina.</p><p><b>Aviso: Esperamos que não se usem distros não livres de GNU/Linux e sistemas operacionais não livres, pois ao usá-los abre-se mão de sua liberdade.</b></p> ++ <p>Escolha um nome descritivo para a nova máquina virtual e selecione o tipo de sistema operacional que você pretende instalar nela. O nome que você escolher será utilizado pelo VirtualBox para identificar esta máquina.</p><p><b>Aviso: Esperamos que não se usem distros não-livres de GNU/Linux e sistemas operacionais não-livres, pois ao usá-los abre-se mão de sua liberdade.</b></p> Memory size -- cgit v1.2.3-2-g168b From a7fd62be588bd91e5d29cf46050765db6a1c539e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 16 Oct 2012 20:56:03 -0200 Subject: virtualbox-libre-4.2.0-4.1: fixing some bugs on virtual machine creation wizard --- libre/virtualbox-libre/PKGBUILD | 4 ++-- libre/virtualbox-libre/free-distros.patch | 36 +++++++++++++++---------------- 2 files changed, 20 insertions(+), 20 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index 931f0f492..0c1bb624f 100755 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -13,7 +13,7 @@ pkgname=('virtualbox-libre' 'virtualbox-libre-guest-utils' 'virtualbox-libre-guest-source') pkgver=4.2.0 -pkgrel=4 +pkgrel=4.1 arch=('i686' 'x86_64') url='http://virtualbox.org' license=('GPL' 'custom') @@ -109,7 +109,7 @@ md5sums=('691b4134983ce7d89b9fb683305cb647' '4da8eeb2ece7e475fc7a0d1003da26c6' '5e4187af59726d71c5be48d0cd816c34' '67cc4c8611890038eb3e4114ae899525' - '8864e92c5e997c45e27a51020cef7e12') + '276292b9183c38945e1e75f7d9e1baa9') #_extramodules=extramodules-3.5-LIBRE #_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true diff --git a/libre/virtualbox-libre/free-distros.patch b/libre/virtualbox-libre/free-distros.patch index 34fc3984d..2f6ab3491 100644 --- a/libre/virtualbox-libre/free-distros.patch +++ b/libre/virtualbox-libre/free-distros.patch @@ -500,8 +500,8 @@ 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE, StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 }, --- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-08-29 11:13:40.000000000 -0300 -+++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-15 22:30:16.982062202 -0200 -@@ -44,45 +44,45 @@ ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-16 20:51:20.628787157 -0200 +@@ -44,45 +44,33 @@ static const osTypePattern gs_OSTypePattern[] = { @@ -542,18 +542,6 @@ - { QRegExp("OS[/|!-]{,1}2.*W", Qt::CaseInsensitive), "OS2Warp3" }, - { QRegExp("(OS[/|!-]{,1}2.*e)|(eCS.*)", Qt::CaseInsensitive), "OS2eCS" }, - { QRegExp("OS[/|!-]{,1}2", Qt::CaseInsensitive), "OS2" }, -+ /* Regular names of generic GNU, GNU/Linux and GNU-Hurd Operating Systems */ -+ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" }, -+ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" }, -+ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" }, -+ { QRegExp("((((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" }, -+ { QRegExp("(((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" }, -+ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" }, -+ { QRegExp("(GNU[/|!-]{,1}Li)|(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" }, -+ { QRegExp("(GNU-Hu)|(GNU[/|!-]{,1}Hu)|(Hu)", Qt::CaseInsensitive), "GNUHurd" }, -+ { QRegExp("GNU.*64", Qt::CaseInsensitive), "GNU_64" }, -+ { QRegExp("GNU", Qt::CaseInsensitive), "GNU" }, -+ + /* Code names for free GNU/Linux distributions */ + { QRegExp("((Taranis)|(Dagda)|(Brigantia)).*64", Qt::CaseInsensitive), "Trisquel_64" }, + { QRegExp("(Taranis)|(Dagda)|(Brigantia)", Qt::CaseInsensitive), "Trisquel" }, @@ -563,8 +551,8 @@ + { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" }, + + /* Regular names of free GNU/Linux distributions */ -+ { QRegExp("Pa.*64", Qt::CaseInsensitive), "Parabola_64" }, -+ { QRegExp("Pa", Qt::CaseInsensitive), "Parabola" }, ++ { QRegExp("((Pa.*GNU[/|!-]{,1}Li)|(Pa.*Li)|(Pa)).*64", Qt::CaseInsensitive), "Parabola_64" }, ++ { QRegExp("(Pa.*GNU[/|!-]{,1}Li)|(Pa.*Li)|(Pa)", Qt::CaseInsensitive), "Parabola" }, + { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" }, + { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" }, + { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" }, @@ -585,7 +573,7 @@ { QRegExp("((edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)).*64", Qt::CaseInsensitive), "Ubuntu_64" }, { QRegExp("(edgy)|(feisty)|(gutsy)|(hardy)|(intrepid)|(jaunty)|(karmic)|(lucid)|(maverick)|(natty)|(oneiric)|(precise)", Qt::CaseInsensitive), "Ubuntu" }, { QRegExp("((sarge)|(etch)|(lenny)|(squeeze)|(wheezy)|(sid)).*64", Qt::CaseInsensitive), "Debian_64" }, -@@ -90,7 +90,7 @@ +@@ -90,7 +78,7 @@ { QRegExp("((moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)).*64", Qt::CaseInsensitive), "Fedora_64" }, { QRegExp("(moonshine)|(werewolf)|(sulphur)|(cambridge)|(leonidas)|(constantine)|(goddard)|(laughlin)|(lovelock)|(verne)", Qt::CaseInsensitive), "Fedora" }, @@ -594,7 +582,7 @@ { QRegExp("Arc.*64", Qt::CaseInsensitive), "ArchLinux_64" }, { QRegExp("Arc", Qt::CaseInsensitive), "ArchLinux" }, { QRegExp("Deb.*64", Qt::CaseInsensitive), "Debian_64" }, -@@ -115,15 +115,38 @@ +@@ -115,15 +103,50 @@ { QRegExp("(Or)|(oel)", Qt::CaseInsensitive), "Oracle" }, { QRegExp("Knoppix", Qt::CaseInsensitive), "Linux26" }, { QRegExp("Dsl", Qt::CaseInsensitive), "Linux24" }, @@ -607,6 +595,18 @@ - { QRegExp("(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" }, - /* Other: */ ++ /* Regular names of generic GNU, GNU/Linux and GNU-Hurd Operating Systems */ ++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?2", Qt::CaseInsensitive), "Linux22" }, ++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?4.*64", Qt::CaseInsensitive), "Linux24_64" }, ++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?4", Qt::CaseInsensitive), "Linux24" }, ++ { QRegExp("((((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?6)|(LFS)).*64", Qt::CaseInsensitive), "Linux26_64" }, ++ { QRegExp("(((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*2.?6)|(LFS)", Qt::CaseInsensitive), "Linux26" }, ++ { QRegExp("((GNU[/|!-]{,1}Li)|(Li)|(lnx)).*64", Qt::CaseInsensitive), "Linux26_64" }, ++ { QRegExp("(GNU[/|!-]{,1}Li)|(Li)|(lnx)", Qt::CaseInsensitive), "Linux26" }, ++ { QRegExp("(GNU-Hu)|(GNU[/|!-]{,1}Hu)|(Hu)", Qt::CaseInsensitive), "GNUHurd" }, ++ { QRegExp("GNU.*64", Qt::CaseInsensitive), "GNU_64" }, ++ { QRegExp("GNU", Qt::CaseInsensitive), "GNU" }, ++ + /* Regular names of non-free operating systems: */ + { QRegExp("DOS", Qt::CaseInsensitive), "DOS" }, + { QRegExp("Wi.*98", Qt::CaseInsensitive), "Windows98" }, -- cgit v1.2.3-2-g168b From 0eaf0e25a3e6630498a828469eab1cfe94f137f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 16 Oct 2012 21:11:27 -0200 Subject: virtualbox-libre-4.2.0-4.1: fixing others parts from free-distro.patch file --- libre/virtualbox-libre/free-distros.patch | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre/free-distros.patch b/libre/virtualbox-libre/free-distros.patch index 2f6ab3491..b49190a1b 100644 --- a/libre/virtualbox-libre/free-distros.patch +++ b/libre/virtualbox-libre/free-distros.patch @@ -500,7 +500,7 @@ 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE, StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 }, --- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-08-29 11:13:40.000000000 -0300 -+++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-16 20:51:20.628787157 -0200 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-16 21:08:36.066756905 -0200 @@ -44,45 +44,33 @@ static const osTypePattern gs_OSTypePattern[] = @@ -551,12 +551,12 @@ + { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" }, + + /* Regular names of free GNU/Linux distributions */ -+ { QRegExp("((Pa.*GNU[/|!-]{,1}Li)|(Pa.*Li)|(Pa)).*64", Qt::CaseInsensitive), "Parabola_64" }, -+ { QRegExp("(Pa.*GNU[/|!-]{,1}Li)|(Pa.*Li)|(Pa)", Qt::CaseInsensitive), "Parabola" }, ++ { QRegExp("((Pa.*GNU[/|!-]{,1}Li)|(Pa.*GNU)|(Pa.*Li)|(Pa)).*64", Qt::CaseInsensitive), "Parabola_64" }, ++ { QRegExp("(Pa.*GNU[/|!-]{,1}Li)|(Pa.*GNU)|(Pa.*Li)|(Pa)", Qt::CaseInsensitive), "Parabola" }, + { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" }, + { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" }, -+ { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" }, -+ { QRegExp("Bla", Qt::CaseInsensitive), "Blag" }, ++ { QRegExp("((Bla.*GNU[/|!-]{,1}Li)|(Bla.*GNU)|(Bla.*Li)|(Bla)).*64", Qt::CaseInsensitive), "Blag_64" }, ++ { QRegExp("(Bla.*GNU[/|!-]{,1}Li)|(Bla.*GNU)|(Bla.*Li)|(Bla)", Qt::CaseInsensitive), "Blag" }, + { QRegExp("Dra.*64", Qt::CaseInsensitive), "Dragora_64" }, + { QRegExp("Dra", Qt::CaseInsensitive), "Dragora" }, + { QRegExp("((Utu)|(XS)).*64", Qt::CaseInsensitive), "Ututo_64" }, -- cgit v1.2.3-2-g168b From fd0fd414514e44c8f015534a3835c89d18ae45bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 16 Oct 2012 21:12:56 -0200 Subject: virtualbox-libre-4.2.0-4.1: updating md5sums --- libre/virtualbox-libre/PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libre') diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index 0c1bb624f..7006ab4f0 100755 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -109,7 +109,7 @@ md5sums=('691b4134983ce7d89b9fb683305cb647' '4da8eeb2ece7e475fc7a0d1003da26c6' '5e4187af59726d71c5be48d0cd816c34' '67cc4c8611890038eb3e4114ae899525' - '276292b9183c38945e1e75f7d9e1baa9') + '2681df67a0db84afb3c54008903fd537') #_extramodules=extramodules-3.5-LIBRE #_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true -- cgit v1.2.3-2-g168b From 7701a796e16a4196b4e0602d37b9fabbcb077ba8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9=20Fabian=20Silva=20Delgado?= Date: Tue, 16 Oct 2012 21:29:18 -0200 Subject: virtualbox-libre-4.2.0-4.1: keeping some changes backward due that are unnecessary --- libre/virtualbox-libre/PKGBUILD | 2 +- libre/virtualbox-libre/free-distros.patch | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'libre') diff --git a/libre/virtualbox-libre/PKGBUILD b/libre/virtualbox-libre/PKGBUILD index 7006ab4f0..1983a2cd3 100755 --- a/libre/virtualbox-libre/PKGBUILD +++ b/libre/virtualbox-libre/PKGBUILD @@ -109,7 +109,7 @@ md5sums=('691b4134983ce7d89b9fb683305cb647' '4da8eeb2ece7e475fc7a0d1003da26c6' '5e4187af59726d71c5be48d0cd816c34' '67cc4c8611890038eb3e4114ae899525' - '2681df67a0db84afb3c54008903fd537') + '19109b9b69222fd16cc46579495c4606') #_extramodules=extramodules-3.5-LIBRE #_kernver="$(cat /usr/lib/modules/${_extramodules}/version)" || true diff --git a/libre/virtualbox-libre/free-distros.patch b/libre/virtualbox-libre/free-distros.patch index b49190a1b..1dbe38f69 100644 --- a/libre/virtualbox-libre/free-distros.patch +++ b/libre/virtualbox-libre/free-distros.patch @@ -500,7 +500,7 @@ 1024, 4, 8 * _1G64, NetworkAdapterType_I82545EM, 0, StorageControllerType_PIIX4, StorageBus_IDE, StorageControllerType_BusLogic, StorageBus_SCSI, ChipsetType_PIIX3, AudioControllerType_AC97 }, --- VirtualBox-4.2.0.orig/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-08-29 11:13:40.000000000 -0300 -+++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-16 21:08:36.066756905 -0200 ++++ VirtualBox-4.2.0/src/VBox/Frontends/VirtualBox/src/wizards/newvm/UIWizardNewVMPageBasic1.cpp 2012-10-16 21:21:17.755389876 -0200 @@ -44,45 +44,33 @@ static const osTypePattern gs_OSTypePattern[] = @@ -551,12 +551,12 @@ + { QRegExp("(90k)|(119k)|(140k)|(160k)|(90000)|(119000)|(140000)|(160000)|(Spartakus)", Qt::CaseInsensitive), "Blag" }, + + /* Regular names of free GNU/Linux distributions */ -+ { QRegExp("((Pa.*GNU[/|!-]{,1}Li)|(Pa.*GNU)|(Pa.*Li)|(Pa)).*64", Qt::CaseInsensitive), "Parabola_64" }, -+ { QRegExp("(Pa.*GNU[/|!-]{,1}Li)|(Pa.*GNU)|(Pa.*Li)|(Pa)", Qt::CaseInsensitive), "Parabola" }, ++ { QRegExp("Pa.*64", Qt::CaseInsensitive), "Parabola_64" }, ++ { QRegExp("Pa", Qt::CaseInsensitive), "Parabola" }, + { QRegExp("((gNe)|(new)|(Sen)).*64", Qt::CaseInsensitive), "gNewSense_64" }, + { QRegExp("(gNe)|(new)|(Sen)", Qt::CaseInsensitive), "gNewSense" }, -+ { QRegExp("((Bla.*GNU[/|!-]{,1}Li)|(Bla.*GNU)|(Bla.*Li)|(Bla)).*64", Qt::CaseInsensitive), "Blag_64" }, -+ { QRegExp("(Bla.*GNU[/|!-]{,1}Li)|(Bla.*GNU)|(Bla.*Li)|(Bla)", Qt::CaseInsensitive), "Blag" }, ++ { QRegExp("Bla.*64", Qt::CaseInsensitive), "Blag_64" }, ++ { QRegExp("Bla", Qt::CaseInsensitive), "Blag" }, + { QRegExp("Dra.*64", Qt::CaseInsensitive), "Dragora_64" }, + { QRegExp("Dra", Qt::CaseInsensitive), "Dragora" }, + { QRegExp("((Utu)|(XS)).*64", Qt::CaseInsensitive), "Ututo_64" }, -- cgit v1.2.3-2-g168b