diff options
Diffstat (limited to 'meta/recipes-extended')
217 files changed, 3307 insertions, 4961 deletions
diff --git a/meta/recipes-extended/at/files/S99at b/meta/recipes-extended/at/at/atd.init index eca379b3cd..eca379b3cd 100644 --- a/meta/recipes-extended/at/files/S99at +++ b/meta/recipes-extended/at/at/atd.init diff --git a/meta/recipes-extended/at/files/atd.service b/meta/recipes-extended/at/at/atd.service index 6dc844504a..6dc844504a 100644 --- a/meta/recipes-extended/at/files/atd.service +++ b/meta/recipes-extended/at/at/atd.service diff --git a/meta/recipes-extended/at/files/configure-add-enable-pam.patch b/meta/recipes-extended/at/at/configure-add-enable-pam.patch index 1e5efef128..1e5efef128 100644 --- a/meta/recipes-extended/at/files/configure-add-enable-pam.patch +++ b/meta/recipes-extended/at/at/configure-add-enable-pam.patch diff --git a/meta/recipes-extended/at/files/file_replacement_with_gplv2.patch b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch index d5ef0032be..d5ef0032be 100644 --- a/meta/recipes-extended/at/files/file_replacement_with_gplv2.patch +++ b/meta/recipes-extended/at/at/file_replacement_with_gplv2.patch diff --git a/meta/recipes-extended/at/files/fix_parallel_build_error.patch b/meta/recipes-extended/at/at/fix_parallel_build_error.patch index 66ff3e1c11..66ff3e1c11 100644 --- a/meta/recipes-extended/at/files/fix_parallel_build_error.patch +++ b/meta/recipes-extended/at/at/fix_parallel_build_error.patch diff --git a/meta/recipes-extended/at/at/makefile-fix-parallel.patch b/meta/recipes-extended/at/at/makefile-fix-parallel.patch new file mode 100644 index 0000000000..932a4c0bfe --- /dev/null +++ b/meta/recipes-extended/at/at/makefile-fix-parallel.patch @@ -0,0 +1,35 @@ +From 150b63a936af71b992a3a7b0fc2d2497e51fc800 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Wed, 28 Jan 2015 23:52:00 -0800 +Subject: [PATCH] Makefile: fix for parallel build + +Fixed: +y.tab.c:1001:0: error: unterminated #if + +Let "$(YACC) -d parsetime.y" only run once will fix the problem. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile.in b/Makefile.in +index 2a9b918..aa7c04a 100644 +--- a/Makefile.in ++++ b/Makefile.in +@@ -75,7 +75,9 @@ at: $(ATOBJECTS) + atd: $(RUNOBJECTS) + $(CC) $(LDFLAGS) -o atd $(RUNOBJECTS) $(LIBS) $(PAMLIB) + +-y.tab.c y.tab.h: parsetime.y ++y.tab.h: y.tab.c ++ ++y.tab.c: parsetime.y + $(YACC) -d parsetime.y + + lex.yy.c: parsetime.l +-- +1.7.9.5 + diff --git a/meta/recipes-extended/at/files/pam.conf.patch b/meta/recipes-extended/at/at/pam.conf.patch index dfe76d7487..b5ceb9ae82 100644 --- a/meta/recipes-extended/at/files/pam.conf.patch +++ b/meta/recipes-extended/at/at/pam.conf.patch @@ -3,19 +3,25 @@ oe doesn't support "@include", use the concrete directive instead. Upstream-Status: Pending Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> ---- at-3.1.12/pam.conf.orig 2009-11-23 23:11:52.000000000 +0800 -+++ at-3.1.12/pam.conf 2011-07-15 11:14:04.132818950 +0800 -@@ -2,8 +2,8 @@ +Index: at-3.1.15/pam.conf +=================================================================== +--- at-3.1.15.orig/pam.conf ++++ at-3.1.15/pam.conf +@@ -1,10 +1,11 @@ + # # The PAM configuration file for the at daemon # - --auth required pam_env.so --@include common-auth --@include common-account --@include common-session-noninteractive --session required pam_limits.so ++ +auth required pam_env.so +auth include common-auth +account include common-account +session include common-session-noninteractive +session required pam_limits.so ++session required pam_loginuid.so + +-auth required pam_env.so +-@include common-auth +-@include common-account +-session required pam_loginuid.so +-@include common-session-noninteractive +-session required pam_limits.so diff --git a/meta/recipes-extended/at/files/posixtm.c b/meta/recipes-extended/at/at/posixtm.c index 5514ba4fe2..5514ba4fe2 100644 --- a/meta/recipes-extended/at/files/posixtm.c +++ b/meta/recipes-extended/at/at/posixtm.c diff --git a/meta/recipes-extended/at/files/posixtm.h b/meta/recipes-extended/at/at/posixtm.h index e91749d736..e91749d736 100644 --- a/meta/recipes-extended/at/files/posixtm.h +++ b/meta/recipes-extended/at/at/posixtm.h diff --git a/meta/recipes-extended/at/at_3.1.14.bb b/meta/recipes-extended/at/at_3.1.16.bb index 68a24b8cd0..cee9fde967 100644 --- a/meta/recipes-extended/at/at_3.1.14.bb +++ b/meta/recipes-extended/at/at_3.1.16.bb @@ -7,9 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4325afd396febcb659c36b49533135d4" DEPENDS = "flex flex-native \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" -VIRTUAL-RUNTIME_initscripts ?= "initscripts" RDEPENDS_${PN} = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_DEPS}', '', d)} \ - ${VIRTUAL-RUNTIME_initscripts} \ " PAM_DEPS = "libpam libpam-runtime pam-plugin-env pam-plugin-limits" @@ -22,15 +20,17 @@ SRC_URI = "${DEBIAN_MIRROR}/main/a/at/at_${PV}.orig.tar.gz \ file://posixtm.c \ file://posixtm.h \ file://file_replacement_with_gplv2.patch \ - file://S99at \ + file://atd.init \ file://atd.service \ - ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)}" + ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ + file://makefile-fix-parallel.patch \ + " PAM_SRC_URI = "file://pam.conf.patch \ file://configure-add-enable-pam.patch" -SRC_URI[md5sum] = "d41cfd79033b6e49a8838add59a42ac6" -SRC_URI[sha256sum] = "cd092bf05d29c25b286f55a960ce8b8c3c5beb571d86ed8eb1dfb3b61291b3ae" +SRC_URI[md5sum] = "d05da75d9b75d93917ffb16ab48b1e19" +SRC_URI[sha256sum] = "cb9af59c6a54edce9536ba629841055409d1f89d8ae26494727a97141fb4d5c1" EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ --with-daemon_username=root \ @@ -39,11 +39,13 @@ EXTRA_OECONF += "ac_cv_path_SENDMAIL=/bin/true \ --with-atspool=/var/spool/at/spool \ ac_cv_header_security_pam_appl_h=${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'yes', 'no', d)} " -inherit autotools-brokensep systemd +inherit autotools-brokensep systemd update-rc.d + +INITSCRIPT_NAME = "atd" +INITSCRIPT_PARAMS = "defaults" SYSTEMD_SERVICE_${PN} = "atd.service" -PARALLEL_MAKE = "" do_compile_prepend () { cp -f ${WORKDIR}/posixtm.[ch] ${S} @@ -53,9 +55,7 @@ do_install () { oe_runmake -e "IROOT=${D}" install install -d ${D}${sysconfdir}/init.d - install -d ${D}${sysconfdir}/rcS.d - install -m 0755 ${WORKDIR}/S99at ${D}${sysconfdir}/init.d/atd - ln -sf ../init.d/atd ${D}${sysconfdir}/rcS.d/S99at + install -m 0755 ${WORKDIR}/atd.init ${D}${sysconfdir}/init.d/atd # install systemd unit files install -d ${D}${systemd_unitdir}/system diff --git a/meta/recipes-extended/bash/bash.inc b/meta/recipes-extended/bash/bash.inc index 2fe0c6b574..d7b28cfffe 100644 --- a/meta/recipes-extended/bash/bash.inc +++ b/meta/recipes-extended/bash/bash.inc @@ -4,10 +4,9 @@ SECTION = "base/shell" DEPENDS = "ncurses bison-native" -inherit autotools-brokensep gettext texinfo update-alternatives ptest - -PARALLEL_MAKE = "" +inherit autotools gettext texinfo update-alternatives ptest +EXTRA_AUTORECONF += "--exclude=autoheader" EXTRA_OECONF = "--enable-job-control" ALTERNATIVE_${PN} = "sh" @@ -15,8 +14,6 @@ ALTERNATIVE_LINK_NAME[sh] = "${base_bindir}/sh" ALTERNATIVE_TARGET[sh] = "${base_bindir}/bash" ALTERNATIVE_PRIORITY = "100" -export AUTOHEADER = "true" - RDEPENDS_${PN} += "base-files" RDEPENDS_${PN}_class-nativesdk = "" RDEPENDS_${PN}-ptest += "make" @@ -38,6 +35,10 @@ do_install_append () { mv ${D}${bindir}/bash ${D}${base_bindir} fi } +do_install_append_class-target () { + # Clean host path in bashbug + sed -i -e "s,${STAGING_DIR_TARGET},,g" ${D}${bindir}/bashbug +} do_install_ptest () { make INSTALL_TEST_DIR=${D}${PTEST_PATH}/tests install-test diff --git a/meta/recipes-extended/bash/bash_3.2.48.bb b/meta/recipes-extended/bash/bash_3.2.48.bb index fe04b28e7c..34272d1e25 100644 --- a/meta/recipes-extended/bash/bash_3.2.48.bb +++ b/meta/recipes-extended/bash/bash_3.2.48.bb @@ -6,9 +6,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=fd5d9bcabd8ed5a54a01ce8d183d592a" PR = "r11" SRC_URI = "${GNU_MIRROR}/bash/bash-${PV}.tar.gz;name=tarball \ - ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-049;apply=yes;striplevel=0;name=patch001 \ - ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-050;apply=yes;striplevel=0;name=patch002 \ - ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-051;apply=yes;striplevel=0;name=patch003 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-049;apply=yes;striplevel=0;name=patch049 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-050;apply=yes;striplevel=0;name=patch050 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-051;apply=yes;striplevel=0;name=patch051 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-052;apply=yes;striplevel=0;name=patch052 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-053;apply=yes;striplevel=0;name=patch053 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-054;apply=yes;striplevel=0;name=patch054 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-055;apply=yes;striplevel=0;name=patch055 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-056;apply=yes;striplevel=0;name=patch056 \ + ${GNU_MIRROR}/bash/bash-3.2-patches/bash32-057;apply=yes;striplevel=0;name=patch057 \ file://mkbuiltins_have_stringize.patch \ file://build-tests.patch \ file://test-output.patch \ @@ -17,12 +23,23 @@ SRC_URI = "${GNU_MIRROR}/bash/bash-${PV}.tar.gz;name=tarball \ SRC_URI[tarball.md5sum] = "338dcf975a93640bb3eaa843ca42e3f8" SRC_URI[tarball.sha256sum] = "128d281bd5682ba5f6953122915da71976357d7a76490d266c9173b1d0426348" -SRC_URI[patch001.md5sum] = "af571a2d164d5abdcae4499e94e8892c" -SRC_URI[patch001.sha256sum] = "b1217ed94bdb95dc878fa5cabbf8a164435eb0d9da23a392198f48566ee34a2f" -SRC_URI[patch002.md5sum] = "8443d4385d73ec835abe401d90591377" -SRC_URI[patch002.sha256sum] = "081bb03c580ecee63ba03b40beb3caf509eca29515b2e8dd3c078503609a1642" -SRC_URI[patch003.md5sum] = "15c6653042e9814aa87120098fc7a849" -SRC_URI[patch003.sha256sum] = "354886097cd95b4def77028f32ee01e2e088d58a98184fede9d3ce9320e218ef" +SRC_URI[patch049.md5sum] = "af571a2d164d5abdcae4499e94e8892c" +SRC_URI[patch049.sha256sum] = "b1217ed94bdb95dc878fa5cabbf8a164435eb0d9da23a392198f48566ee34a2f" +SRC_URI[patch050.md5sum] = "8443d4385d73ec835abe401d90591377" +SRC_URI[patch050.sha256sum] = "081bb03c580ecee63ba03b40beb3caf509eca29515b2e8dd3c078503609a1642" +SRC_URI[patch051.md5sum] = "15c6653042e9814aa87120098fc7a849" +SRC_URI[patch051.sha256sum] = "354886097cd95b4def77028f32ee01e2e088d58a98184fede9d3ce9320e218ef" +SRC_URI[patch052.md5sum] = "691023a944bbb9003cc92ad462d91fa1" +SRC_URI[patch052.sha256sum] = "a0eccf9ceda50871db10d21efdd74b99e35efbd55c970c400eeade012816bb61" +SRC_URI[patch053.md5sum] = "eb97d1c9230a55283d9dac69d3de2e46" +SRC_URI[patch053.sha256sum] = "fe6f0e96e0b966eaed9fb5e930ca12891f4380f30f9e0a773d200ff2063a864e" +SRC_URI[patch054.md5sum] = "1107744058c43b247f597584b88ba0a6" +SRC_URI[patch054.sha256sum] = "c6dab911e85688c542ce75afc175dbb4e5011de5102758e19a4a80dac1e79359" +SRC_URI[patch055.md5sum] = "05d201176d3499e2dfa4a73d09d42f05" +SRC_URI[patch055.sha256sum] = "c0e816700837942ed548da74e5917f74b70cbbbb10c9f2caf73e8e06a0713d0a" +SRC_URI[patch056.md5sum] = "222eaa3a2c26f54a15aa5e08817a534a" +SRC_URI[patch056.sha256sum] = "063a8d8d74e4407bf07a32b965b8ef6d213a66abdb6af26cc3584a437a56bbb4" +SRC_URI[patch057.md5sum] = "47d98e3e042892495c5efe54ec6e5913" +SRC_URI[patch057.sha256sum] = "5fc689394d515990f5ea74e2df765fc6e5e42ca44b4591b2c6f9be4b0cadf0f0" -SRC_URI[md5sum] = "338dcf975a93640bb3eaa843ca42e3f8" -SRC_URI[sha256sum] = "128d281bd5682ba5f6953122915da71976357d7a76490d266c9173b1d0426348" +PARALLEL_MAKE = "" diff --git a/meta/recipes-extended/bash/bash_4.3.bb b/meta/recipes-extended/bash/bash_4.3.bb index 25b7410c52..23d31976bb 100644 --- a/meta/recipes-extended/bash/bash_4.3.bb +++ b/meta/recipes-extended/bash/bash_4.3.bb @@ -1,10 +1,42 @@ require bash.inc +PR = "r1" + # GPLv2+ (< 4.0), GPLv3+ (>= 4.0) LICENSE = "GPLv3+" LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-001;apply=yes;striplevel=0;name=patch001 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-002;apply=yes;striplevel=0;name=patch002 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-003;apply=yes;striplevel=0;name=patch003 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-004;apply=yes;striplevel=0;name=patch004 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-005;apply=yes;striplevel=0;name=patch005 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-006;apply=yes;striplevel=0;name=patch006 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-007;apply=yes;striplevel=0;name=patch007 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-008;apply=yes;striplevel=0;name=patch008 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-009;apply=yes;striplevel=0;name=patch009 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-010;apply=yes;striplevel=0;name=patch010 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-011;apply=yes;striplevel=0;name=patch011 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-012;apply=yes;striplevel=0;name=patch012 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-013;apply=yes;striplevel=0;name=patch013 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-014;apply=yes;striplevel=0;name=patch014 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-015;apply=yes;striplevel=0;name=patch015 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-016;apply=yes;striplevel=0;name=patch016 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-017;apply=yes;striplevel=0;name=patch017 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-018;apply=yes;striplevel=0;name=patch018 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-019;apply=yes;striplevel=0;name=patch019 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-020;apply=yes;striplevel=0;name=patch020 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-021;apply=yes;striplevel=0;name=patch021 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-022;apply=yes;striplevel=0;name=patch022 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-023;apply=yes;striplevel=0;name=patch023 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-024;apply=yes;striplevel=0;name=patch024 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-025;apply=yes;striplevel=0;name=patch025 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-026;apply=yes;striplevel=0;name=patch026 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-027;apply=yes;striplevel=0;name=patch027 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-028;apply=yes;striplevel=0;name=patch028 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-029;apply=yes;striplevel=0;name=patch029 \ + ${GNU_MIRROR}/bash/bash-4.3-patches/bash43-030;apply=yes;striplevel=0;name=patch030 \ file://execute_cmd.patch;striplevel=0 \ file://mkbuiltins_have_stringize.patch \ file://build-tests.patch \ @@ -15,4 +47,65 @@ SRC_URI = "${GNU_MIRROR}/bash/${BPN}-${PV}.tar.gz;name=tarball \ SRC_URI[tarball.md5sum] = "81348932d5da294953e15d4814c74dd1" SRC_URI[tarball.sha256sum] = "afc687a28e0e24dc21b988fa159ff9dbcf6b7caa92ade8645cc6d5605cd024d4" +SRC_URI[patch001.md5sum] = "1ab682b4e36afa4cf1b426aa7ac81c0d" +SRC_URI[patch001.sha256sum] = "ecb3dff2648667513e31554b3ad054ccd89fce38e33367c9459ac3a285153742" +SRC_URI[patch002.md5sum] = "8fc22cf50ec85da00f6af3d66f7ddc1b" +SRC_URI[patch002.sha256sum] = "eee7cd7062ab29a9e4f02924d9c367264dcb8b162703f74ff6eb8f175a91502b" +SRC_URI[patch003.md5sum] = "a41728eca78858758e26b5dea64ae506" +SRC_URI[patch003.sha256sum] = "000e6eac50cd9053ce0630db01239dcdead04a2c2c351c47e2b51dac1ac1087d" +SRC_URI[patch004.md5sum] = "bf8d53d227829d67235927689a03cc7a" +SRC_URI[patch004.sha256sum] = "5ea0a42c6506720d26e6d3c5c358e9a0d49f6f189d69a8ed34d5935964821338" +SRC_URI[patch005.md5sum] = "c0c00935c8b8ffff76e8ab77e7be7d15" +SRC_URI[patch005.sha256sum] = "1ac83044032b9f5f11aeca8a344ae3c524ec2156185d3adbb8ad3e7a165aa3fa" +SRC_URI[patch006.md5sum] = "6f01e364cd092faa28dd7119f47ddb5f" +SRC_URI[patch006.sha256sum] = "a0648ee72d15e4a90c8b77a5c6b19f8d89e28c1bc881657d22fe26825f040213" +SRC_URI[patch007.md5sum] = "dcf471d222bcd83283d3094e6ceeb6f8" +SRC_URI[patch007.sha256sum] = "1113e321c59cf6a8648a36245bbe4217cf8acf948d71e67886dad7d486f8f3a3" +SRC_URI[patch008.md5sum] = "f7553416646dc26c266454c78a916d36" +SRC_URI[patch008.sha256sum] = "9941a98a4987192cc5ce3d45afe879983cad2f0bec96d441a4edd9033767f95e" +SRC_URI[patch009.md5sum] = "7e73d2151f4064b484a4ba2c4b09960e" +SRC_URI[patch009.sha256sum] = "c0226d6728946b2f53cdebf090bcd1c01627f01fee03295768605caa80bb40a5" +SRC_URI[patch010.md5sum] = "a275463d21735bb6d7161f9fbd320d8f" +SRC_URI[patch010.sha256sum] = "ce05799c0137314c70c7b6ea0477c90e1ac1d52e113344be8e32fa5a55c9f0b7" +SRC_URI[patch011.md5sum] = "c17103ee20420d77e46b224c8d3fceda" +SRC_URI[patch011.sha256sum] = "7c63402cdbc004a210f6c1c527b63b13d8bb9ec9c5a43d5c464a9010ff6f7f3b" +SRC_URI[patch012.md5sum] = "3e2a057a19d02b3f92a3a09eacbc03ae" +SRC_URI[patch012.sha256sum] = "3e1379030b35fbcf314e9e7954538cf4b43be1507142b29efae39eef997b8c12" +SRC_URI[patch013.md5sum] = "fb377143a996d4ff087a2771bc8332f9" +SRC_URI[patch013.sha256sum] = "bfa8ca5336ab1f5ef988434a4bdedf71604aa8a3659636afa2ce7c7446c42c79" +SRC_URI[patch014.md5sum] = "1a1aaecc99a9d0cbc310e8e247dcc8b6" +SRC_URI[patch014.sha256sum] = "5a4d6fa2365b6eb725a9d4966248b5edf7630a4aeb3fa8d526b877972658ac13" +SRC_URI[patch015.md5sum] = "4f04387458a3c1b4d460d199f49991a8" +SRC_URI[patch015.sha256sum] = "13293e8a24e003a44d7fe928c6b1e07b444511bed2d9406407e006df28355e8d" +SRC_URI[patch016.md5sum] = "90e759709720c4f877525bebc9d5dc06" +SRC_URI[patch016.sha256sum] = "92d60bcf49f61bd7f1ccb9602bead6f2c9946d79dea0e5ec0589bb3bfa5e0773" +SRC_URI[patch017.md5sum] = "11e4046e1b86070f6adbb7ffc89641be" +SRC_URI[patch017.sha256sum] = "1267c25c6b5ba57042a7bb6c569a6de02ffd0d29530489a16666c3b8a23e7780" +SRC_URI[patch018.md5sum] = "cd5a9b46f5bea0dc0248c93c7dfac011" +SRC_URI[patch018.sha256sum] = "7aa8b40a9e973931719d8cc72284a8fb3292b71b522db57a5a79052f021a3d58" +SRC_URI[patch019.md5sum] = "cff4dc024d9d3456888aaaf8a36ca774" +SRC_URI[patch019.sha256sum] = "a7a91475228015d676cafa86d2d7aa9c5d2139aa51485b6bbdebfdfbcf0d2d23" +SRC_URI[patch020.md5sum] = "167839c5f147347f4a03d88ab97ff787" +SRC_URI[patch020.sha256sum] = "ca5e86d87f178128641fe91f2f094875b8c1eb2de9e0d2e9154f5d5cc0336c98" +SRC_URI[patch021.md5sum] = "1d350671c48dec30b34d8b81f09cd79d" +SRC_URI[patch021.sha256sum] = "41439f06883e6bd11c591d9d5e9ae08afbc2abd4b935e1d244b08100076520a9" +SRC_URI[patch022.md5sum] = "11c349af66a55481a3215ef2520bec36" +SRC_URI[patch022.sha256sum] = "fd4d47bb95c65863f634c4706c65e1e3bae4ee8460c72045c0a0618689061a88" +SRC_URI[patch023.md5sum] = "b3cb0d80fd0c47728264405cbb3b23c7" +SRC_URI[patch023.sha256sum] = "9ac250c7397a8f53dbc84dfe790d2a418fbf1fe090bcece39b4a5c84a2d300d4" +SRC_URI[patch024.md5sum] = "b5ea5600942acceb4b6f07313d2de74e" +SRC_URI[patch024.sha256sum] = "3b505882a0a6090667d75824fc919524cd44cc3bd89dd08b7c4e622d3f960f6c" +SRC_URI[patch025.md5sum] = "193c06f578d38ffdbaebae9c51a7551f" +SRC_URI[patch025.sha256sum] = "1e5186f5c4a619bb134a1177d9e9de879f3bb85d9c5726832b03a762a2499251" +SRC_URI[patch026.md5sum] = "922578e2be7ed03729454e92ee8d3f3a" +SRC_URI[patch026.sha256sum] = "2ecc12201b3ba4273b63af4e9aad2305168cf9babf6d11152796db08724c214d" +SRC_URI[patch027.md5sum] = "8ff6948b16f2db5c29b1b9ae1085bbe7" +SRC_URI[patch027.sha256sum] = "1eb76ad28561d27f7403ff3c76a36e932928a4b58a01b868d663c165f076dabe" +SRC_URI[patch028.md5sum] = "dd51fa67913b5dca45a702b672b3323f" +SRC_URI[patch028.sha256sum] = "e8b0dbed4724fa7b9bd8ff77d12c7f03da0fbfc5f8251ef5cb8511eb082b469d" +SRC_URI[patch029.md5sum] = "0729364c977ef4271e9f8dfafadacf67" +SRC_URI[patch029.sha256sum] = "4cc4a397fe6bc63ecb97d030a4e44258ef2d4e076d0e90c77782968cc43d6292" +SRC_URI[patch030.md5sum] = "efb709fdb1368945513de23ccbfae053" +SRC_URI[patch030.sha256sum] = "85434f8a2f379d0c49a3ff6d9ffa12c8b157188dd739e556d638217d2a58385b" + BBCLASSEXTEND = "nativesdk" diff --git a/meta/recipes-extended/bc/bc_1.06.bb b/meta/recipes-extended/bc/bc_1.06.bb index b116052c7d..d8c8a860f8 100644 --- a/meta/recipes-extended/bc/bc_1.06.bb +++ b/meta/recipes-extended/bc/bc_1.06.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ SECTION = "base" DEPENDS = "flex" -PR = "r2" +PR = "r3" SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz \ file://fix-segment-fault.patch " @@ -18,7 +18,7 @@ SRC_URI = "${GNU_MIRROR}/bc/bc-${PV}.tar.gz \ SRC_URI[md5sum] = "d44b5dddebd8a7a7309aea6c36fda117" SRC_URI[sha256sum] = "4ef6d9f17c3c0d92d8798e35666175ecd3d8efac4009d6457b5c99cea72c0e33" -inherit autotools-brokensep texinfo update-alternatives +inherit autotools texinfo update-alternatives ALTERNATIVE_${PN} = "dc" ALTERNATIVE_PRIORITY = "100" diff --git a/meta/recipes-extended/byacc/byacc_20140422.bb b/meta/recipes-extended/byacc/byacc_20141128.bb index cf57738bea..15c14c9733 100644 --- a/meta/recipes-extended/byacc/byacc_20140422.bb +++ b/meta/recipes-extended/byacc/byacc_20141128.bb @@ -7,5 +7,5 @@ LICENSE = "PD" LIC_FILES_CHKSUM = "file://package/debian/copyright;md5=f186cf0d59bac042b75830396ec389a3" require byacc.inc -SRC_URI[md5sum] = "e7c13c5e207dc05eab9145cc9972397b" -SRC_URI[sha256sum] = "2f104c7e200dd86844d5f3521e12cb55fc48a9c3da3480a65fde2ca8c053bdcc" +SRC_URI[md5sum] = "acb0ff0fb6cc414a6b50c799794b2425" +SRC_URI[sha256sum] = "f517fc21f08c1a1f010177357df58fc64eb1131011e5dcd48c19fe44c47198d0" diff --git a/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac b/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac index 14b1d1809d..47ee576a8e 100644 --- a/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac +++ b/meta/recipes-extended/bzip2/bzip2-1.0.6/configure.ac @@ -1,7 +1,7 @@ AC_PREREQ([2.57]) AC_INIT(bzip2, 2.0.5, , libXrender) -AM_INIT_AUTOMAKE() +AM_INIT_AUTOMAKE(foreign) AM_MAINTAINER_MODE #AM_CONFIG_HEADER(config.h) diff --git a/meta/recipes-extended/bzip2/bzip2_1.0.6.bb b/meta/recipes-extended/bzip2/bzip2_1.0.6.bb index 9dd9e6a1f9..ed12277566 100644 --- a/meta/recipes-extended/bzip2/bzip2_1.0.6.bb +++ b/meta/recipes-extended/bzip2/bzip2_1.0.6.bb @@ -8,10 +8,10 @@ LICENSE = "bzip2" LIC_FILES_CHKSUM = "file://LICENSE;beginline=8;endline=37;md5=40d9d1eb05736d1bfc86cfdd9106e6b2" PR = "r5" -SRC_URI = "http://www.bzip.org/${PV}/${BPN}-${PV}.tar.gz \ - file://configure.ac \ - file://run-ptest \ - file://Makefile.am" +SRC_URI = "http://www.bzip.org/${PV}/${BP}.tar.gz \ + file://configure.ac;subdir=${BP} \ + file://Makefile.am;subdir=${BP} \ + file://run-ptest" SRC_URI[md5sum] = "00b516f4704d4a7cb50a1d97e6e8e15b" SRC_URI[sha256sum] = "a2848f34fcd5d6cf47def00461fcb528a0484d8edef8208d6d2e2909dc61d9cd" @@ -27,12 +27,6 @@ ALTERNATIVE_${PN} = "bunzip2 bzcat" #install binaries to bzip2-native under sysroot for replacement-native EXTRA_OECONF_append_class-native = " --bindir=${STAGING_BINDIR_NATIVE}/${PN}" -do_extraunpack () { - cp ${WORKDIR}/configure.ac ${S}/ - cp ${WORKDIR}/Makefile.am ${S}/ -} - -addtask extraunpack after do_unpack before do_patch do_install_ptest () { cp -f ${B}/Makefile ${D}${PTEST_PATH}/Makefile diff --git a/meta/recipes-extended/cpio/cpio-2.11/fix-memory-overrun.patch b/meta/recipes-extended/cpio/cpio-2.11/fix-memory-overrun.patch new file mode 100644 index 0000000000..89cd3cfa50 --- /dev/null +++ b/meta/recipes-extended/cpio/cpio-2.11/fix-memory-overrun.patch @@ -0,0 +1,220 @@ +cpio: Fix memory overrun on reading improperly created link records + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d + + * src/copyin.c (get_link_name): New function. + (list_file, copyin_link): use get_link_name + + * tests/symlink-bad-length.at: New file. + * tests/symlink-long.at: New file. + * tests/Makefile.am: Add new files. + * tests/testsuite.at: Likewise. + + See http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html + +Upstream-Status: Backport + +Signed-off-by: Sergey Poznyakoff <gray@gnu.org.ua> + +diff -Nurp cpio-2.11.orig/src/copyin.c cpio-2.11/src/copyin.c +--- cpio-2.11.orig/src/copyin.c 2010-02-15 18:02:23.000000000 +0800 ++++ cpio-2.11/src/copyin.c 2014-12-08 13:14:04.355547508 +0800 +@@ -126,6 +126,28 @@ tape_skip_padding (int in_file_des, off_ + } + + ++static char * ++get_link_name (struct cpio_file_stat *file_hdr, int in_file_des) ++{ ++ off_t n = file_hdr->c_filesize + 1; ++ char *link_name; ++ ++ if (n == 0 || n > SIZE_MAX) ++ { ++ error (0, 0, _("%s: stored filename length too big"), file_hdr->c_name); ++ link_name = NULL; ++ } ++ else ++ { ++ link_name = xmalloc (n); ++ tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); ++ link_name[file_hdr->c_filesize] = '\0'; ++ tape_skip_padding (in_file_des, file_hdr->c_filesize); ++ } ++ return link_name; ++} ++ ++ + static void + list_file(struct cpio_file_stat* file_hdr, int in_file_des) + { +@@ -136,21 +158,16 @@ list_file(struct cpio_file_stat* file_hd + { + if (archive_format != arf_tar && archive_format != arf_ustar) + { +- char *link_name = NULL; /* Name of hard and symbolic links. */ +- +- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); +- link_name[file_hdr->c_filesize] = '\0'; +- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); +- long_format (file_hdr, link_name); +- free (link_name); +- tape_skip_padding (in_file_des, file_hdr->c_filesize); +- return; ++ char *link_name = get_link_name (file_hdr, in_file_des); ++ if (link_name) ++ { ++ long_format (file_hdr, link_name); ++ free (link_name); ++ } + } + else +- { + long_format (file_hdr, file_hdr->c_tar_linkname); +- return; +- } ++ return; + } + else + #endif +@@ -650,10 +667,7 @@ copyin_link(struct cpio_file_stat *file_ + + if (archive_format != arf_tar && archive_format != arf_ustar) + { +- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); +- link_name[file_hdr->c_filesize] = '\0'; +- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); +- tape_skip_padding (in_file_des, file_hdr->c_filesize); ++ link_name = get_link_name (file_hdr, in_file_des); + } + else + { +diff -Nurp cpio-2.11.orig/tests/Makefile.am cpio-2.11/tests/Makefile.am +--- cpio-2.11.orig/tests/Makefile.am 2010-02-15 18:02:23.000000000 +0800 ++++ cpio-2.11/tests/Makefile.am 2014-12-08 13:14:49.931545727 +0800 +@@ -52,6 +52,8 @@ TESTSUITE_AT = \ + setstat04.at\ + setstat05.at\ + symlink.at\ ++ symlink-bad-length.at\ ++ symlink-long.at\ + version.at + + TESTSUITE = $(srcdir)/testsuite +diff -Nurp cpio-2.11.orig/tests/symlink-bad-length.at cpio-2.11/tests/symlink-bad-length.at +--- cpio-2.11.orig/tests/symlink-bad-length.at 1970-01-01 08:00:00.000000000 +0800 ++++ cpio-2.11/tests/symlink-bad-length.at 2014-12-08 13:17:45.979538847 +0800 +@@ -0,0 +1,49 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++# Copyright (C) 2014 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301 USA. ++ ++# Cpio v2.11 did segfault with badly set symlink length. ++# References: ++# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html ++ ++AT_SETUP([symlink-bad-length]) ++AT_KEYWORDS([symlink-long copyout]) ++ ++AT_DATA([ARCHIVE.base64], ++[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv ++JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF ++UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= ++]) ++ ++AT_CHECK([ ++base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST ++cpio -ntv < ARCHIVE ++test $? -eq 2 ++], ++[0], ++[-rw-rw-r-- 1 10029 10031 13 Nov 25 13:52 FILE ++],[cpio: LINK: stored filename length too big ++cpio: premature end of file ++]) ++ ++AT_CLEANUP +diff -Nurp cpio-2.11.orig/tests/symlink-long.at cpio-2.11/tests/symlink-long.at +--- cpio-2.11.orig/tests/symlink-long.at 1970-01-01 08:00:00.000000000 +0800 ++++ cpio-2.11/tests/symlink-long.at 2014-12-08 13:17:57.219538408 +0800 +@@ -0,0 +1,46 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++# Copyright (C) 2014 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301 USA. ++ ++# Cpio v2.11.90 changed the way symlink name is read from archive. ++# References: ++# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html ++ ++AT_SETUP([symlink-long]) ++AT_KEYWORDS([symlink-long copyout]) ++ ++AT_CHECK([ ++ ++# len(dirname) > READBUFSIZE ++dirname= ++for i in {1..52}; do ++ dirname="xxxxxxxxx/$dirname" ++ mkdir "$dirname" ++done ++ln -s "$dirname" x || AT_SKIP_TEST ++ ++echo x | cpio -o > ar ++list=`cpio -tv < ar | sed 's|.*-> ||'` ++test "$list" = "$dirname" && echo success || echo fail ++], ++[0], ++[success ++],[2 blocks ++2 blocks ++]) ++ ++AT_CLEANUP +diff -Nurp cpio-2.11.orig/tests/testsuite.at cpio-2.11/tests/testsuite.at +--- cpio-2.11.orig/tests/testsuite.at 2010-02-15 18:02:23.000000000 +0800 ++++ cpio-2.11/tests/testsuite.at 2014-12-08 13:15:13.515544805 +0800 +@@ -31,6 +31,8 @@ m4_include([version.at]) + + m4_include([inout.at]) + m4_include([symlink.at]) ++m4_include([symlink-bad-length.at]) ++m4_include([symlink-long.at]) + m4_include([interdir.at]) + + m4_include([setstat01.at]) diff --git a/meta/recipes-extended/cpio/cpio-2.8/fix-memory-overrun.patch b/meta/recipes-extended/cpio/cpio-2.8/fix-memory-overrun.patch new file mode 100644 index 0000000000..0148e70797 --- /dev/null +++ b/meta/recipes-extended/cpio/cpio-2.8/fix-memory-overrun.patch @@ -0,0 +1,217 @@ +cpio: Fix memory overrun on reading improperly created link records + +Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com> + +http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=746f3ff670dcfcdd28fcc990e79cd6fccc7ae48d + + * src/copyin.c (get_link_name): New function. + (list_file, copyin_link): use get_link_name + + * tests/symlink-bad-length.at: New file. + * tests/symlink-long.at: New file. + * tests/Makefile.am: Add new files. + * tests/testsuite.at: Likewise. + + See http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html + +Upstream-Status: Backport + +Signed-off-by: Sergey Poznyakoff <gray@gnu.org.ua> + +diff -Nurp cpio-2.8.orig/src/copyin.c cpio-2.8/src/copyin.c +--- cpio-2.8.orig/src/copyin.c 2007-06-07 19:58:03.000000000 +0800 ++++ cpio-2.8/src/copyin.c 2014-12-08 11:30:01.159791484 +0800 +@@ -126,6 +126,28 @@ tape_skip_padding (int in_file_des, int + } + + ++static char * ++get_link_name (struct cpio_file_stat *file_hdr, int in_file_des) ++{ ++ off_t n = file_hdr->c_filesize + 1; ++ char *link_name; ++ ++ if (n == 0 || n > SIZE_MAX) ++ { ++ error (0, 0, _("%s: stored filename length too big"), file_hdr->c_name); ++ link_name = NULL; ++ } ++ else ++ { ++ link_name = xmalloc (n); ++ tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); ++ link_name[file_hdr->c_filesize] = '\0'; ++ tape_skip_padding (in_file_des, file_hdr->c_filesize); ++ } ++ return link_name; ++} ++ ++ + static void + list_file(struct cpio_file_stat* file_hdr, int in_file_des) + { +@@ -136,21 +158,16 @@ list_file(struct cpio_file_stat* file_hd + { + if (archive_format != arf_tar && archive_format != arf_ustar) + { +- char *link_name = NULL; /* Name of hard and symbolic links. */ +- +- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); +- link_name[file_hdr->c_filesize] = '\0'; +- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); +- long_format (file_hdr, link_name); +- free (link_name); +- tape_skip_padding (in_file_des, file_hdr->c_filesize); +- return; ++ char *link_name = get_link_name (file_hdr, in_file_des); ++ if (link_name) ++ { ++ long_format (file_hdr, link_name); ++ free (link_name); ++ } + } + else +- { + long_format (file_hdr, file_hdr->c_tar_linkname); +- return; +- } ++ return; + } + else + #endif +@@ -732,10 +749,7 @@ copyin_link(struct cpio_file_stat *file_ + + if (archive_format != arf_tar && archive_format != arf_ustar) + { +- link_name = (char *) xmalloc ((unsigned int) file_hdr->c_filesize + 1); +- link_name[file_hdr->c_filesize] = '\0'; +- tape_buffered_read (link_name, in_file_des, file_hdr->c_filesize); +- tape_skip_padding (in_file_des, file_hdr->c_filesize); ++ link_name = get_link_name (file_hdr, in_file_des); + } + else + { +diff -Nurp cpio-2.8.orig/tests/Makefile.am cpio-2.8/tests/Makefile.am +--- cpio-2.8.orig/tests/Makefile.am 2006-10-24 18:32:13.000000000 +0800 ++++ cpio-2.8/tests/Makefile.am 2014-12-08 11:30:52.387789482 +0800 +@@ -45,6 +45,8 @@ TESTSUITE_AT = \ + testsuite.at\ + inout.at\ + symlink.at\ ++ symlink-bad-length.at\ ++ symlink-long.at\ + version.at + + TESTSUITE = $(srcdir)/testsuite +diff -Nurp cpio-2.8.orig/tests/symlink-bad-length.at cpio-2.8/tests/symlink-bad-length.at +--- cpio-2.8.orig/tests/symlink-bad-length.at 1970-01-01 08:00:00.000000000 +0800 ++++ cpio-2.8/tests/symlink-bad-length.at 2014-12-08 11:33:25.283783507 +0800 +@@ -0,0 +1,49 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++# Copyright (C) 2014 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301 USA. ++ ++# Cpio v2.11 did segfault with badly set symlink length. ++# References: ++# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html ++ ++AT_SETUP([symlink-bad-length]) ++AT_KEYWORDS([symlink-long copyout]) ++ ++AT_DATA([ARCHIVE.base64], ++[x3EjAIBAtIEtJy8nAQAAAHRUYW0FAAAADQBGSUxFAABzb21lIGNvbnRlbnQKAMdxIwBgQ/+hLScv ++JwEAAAB0VEhuBQD/////TElOSwAARklMRcdxAAAAAAAAAAAAAAEAAAAAAAAACwAAAAAAVFJBSUxF ++UiEhIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA ++AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= ++]) ++ ++AT_CHECK([ ++base64 -d ARCHIVE.base64 > ARCHIVE || AT_SKIP_TEST ++cpio -ntv < ARCHIVE ++test $? -eq 2 ++], ++[0], ++[-rw-rw-r-- 1 10029 10031 13 Nov 25 13:52 FILE ++],[cpio: LINK: stored filename length too big ++cpio: premature end of file ++]) ++ ++AT_CLEANUP +diff -Nurp cpio-2.8.orig/tests/symlink-long.at cpio-2.8/tests/symlink-long.at +--- cpio-2.8.orig/tests/symlink-long.at 1970-01-01 08:00:00.000000000 +0800 ++++ cpio-2.8/tests/symlink-long.at 2014-12-08 11:34:28.807781024 +0800 +@@ -0,0 +1,46 @@ ++# Process this file with autom4te to create testsuite. -*- Autotest -*- ++# Copyright (C) 2014 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 3, 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., 51 Franklin Street, Fifth Floor, Boston, MA ++# 02110-1301 USA. ++ ++# Cpio v2.11.90 changed the way symlink name is read from archive. ++# References: ++# http://lists.gnu.org/archive/html/bug-cpio/2014-11/msg00007.html ++ ++AT_SETUP([symlink-long]) ++AT_KEYWORDS([symlink-long copyout]) ++ ++AT_CHECK([ ++ ++# len(dirname) > READBUFSIZE ++dirname= ++for i in {1..52}; do ++ dirname="xxxxxxxxx/$dirname" ++ mkdir "$dirname" ++done ++ln -s "$dirname" x || AT_SKIP_TEST ++ ++echo x | cpio -o > ar ++list=`cpio -tv < ar | sed 's|.*-> ||'` ++test "$list" = "$dirname" && echo success || echo fail ++], ++[0], ++[success ++],[2 blocks ++2 blocks ++]) ++ ++AT_CLEANUP +diff -Nurp cpio-2.8.orig/tests/testsuite.at cpio-2.8/tests/testsuite.at +--- cpio-2.8.orig/tests/testsuite.at 2006-10-24 18:32:13.000000000 +0800 ++++ cpio-2.8/tests/testsuite.at 2014-12-08 11:34:56.515779942 +0800 +@@ -31,3 +31,5 @@ m4_include([version.at]) + + m4_include([inout.at]) + m4_include([symlink.at]) ++m4_include([symlink-bad-length.at]) ++m4_include([symlink-long.at]) diff --git a/meta/recipes-extended/cpio/cpio_2.11.bb b/meta/recipes-extended/cpio/cpio_2.11.bb index 5f88b30f1e..c42db6f352 100644 --- a/meta/recipes-extended/cpio/cpio_2.11.bb +++ b/meta/recipes-extended/cpio/cpio_2.11.bb @@ -3,9 +3,10 @@ include cpio_v2.inc LICENSE = "GPLv3" LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" -PR = "r4" +PR = "r5" SRC_URI += "file://remove-gets.patch \ + file://fix-memory-overrun.patch \ " SRC_URI[md5sum] = "1112bb6c45863468b5496ba128792f6c" diff --git a/meta/recipes-extended/cpio/cpio_2.8.bb b/meta/recipes-extended/cpio/cpio_2.8.bb index b6da207b92..3f97dbe2ce 100644 --- a/meta/recipes-extended/cpio/cpio_2.8.bb +++ b/meta/recipes-extended/cpio/cpio_2.8.bb @@ -3,11 +3,12 @@ require cpio_v2.inc LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=b7f772ea3a2489231cb4872656cac34b" -PR = "r3" +PR = "r4" SRC_URI += "file://m4extensions.patch \ - file://avoid_heap_overflow.patch \ - " + file://avoid_heap_overflow.patch \ + file://fix-memory-overrun.patch \ + " SRC_URI[md5sum] = "0caa356e69e149fb49b76bacc64615a1" SRC_URI[sha256sum] = "1b203248874c3b5a728b351f06513e5282f73e0170b7f207fbf8c39f28f6b4ad" diff --git a/meta/recipes-extended/cracklib/cracklib_2.9.1.bb b/meta/recipes-extended/cracklib/cracklib_2.9.2.bb index d70e76f43f..177ab27a2b 100644 --- a/meta/recipes-extended/cracklib/cracklib_2.9.1.bb +++ b/meta/recipes-extended/cracklib/cracklib_2.9.2.bb @@ -13,13 +13,15 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/cracklib/cracklib-${PV}.tar.gz \ file://0001-packlib.c-support-dictionary-byte-order-dependent.patch \ file://0002-craklib-fix-testnum-and-teststr-failed.patch" -SRC_URI[md5sum] = "90536219c520add2ceb3c26f0d7da404" -SRC_URI[sha256sum] = "408905c2539a97dc8cbbb6d7cd2046cb5647a345b4bda399220d9471be16d156" +SRC_URI[md5sum] = "559072fdfc095cdb763c4de3471a889e" +SRC_URI[sha256sum] = "c1c899291d443e99d1aecfbc879e4ac9c0cbc265574f47b487842da11e9759f5" -inherit autotools-brokensep gettext +PR = "r1" -BBCLASSEXTEND = "native" +inherit autotools gettext do_install_append_class-target() { create-cracklib-dict -o ${D}${datadir}/cracklib/pw_dict ${D}${datadir}/cracklib/cracklib-small } + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-extended/cronie/cronie/crontab b/meta/recipes-extended/cronie/cronie/crontab index cc9169eda9..22c4feb2dc 100644 --- a/meta/recipes-extended/cronie/cronie/crontab +++ b/meta/recipes-extended/cronie/cronie/crontab @@ -7,4 +7,8 @@ SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin -# m h dom mon dow user command +# m h dom mon dow user command +# 1 * * * * root cd / && run-parts /etc/cron.hourly +# 30 7 * * * root cd / && run-parts /etc/cron.daily +# 42 7 * * 7 root cd / && run-parts /etc/cron.weekly +# 55 7 1 * * root cd / && run-parts /etc/cron.monthly diff --git a/meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch b/meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch deleted file mode 100644 index 7384a0bad4..0000000000 --- a/meta/recipes-extended/cronie/cronie/fix-out-of-tree-build.patch +++ /dev/null @@ -1,31 +0,0 @@ -For an out of tree build, the cronie-common.h file was not being -found correctly, so point it to the top_srcdir - -Upstream-Status: Submitted - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: cronie-1.4.11/anacron/Makefile.am -=================================================================== ---- cronie-1.4.11.orig/anacron/Makefile.am -+++ cronie-1.4.11/anacron/Makefile.am -@@ -9,6 +9,7 @@ common_nodist = anacron-paths.h - nodist_anacron_SOURCES = $(common_nodist) - BUILT_SOURCES = $(common_nodist) - -+AM_CFLAGS = -I$(top_srcdir) - - LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT) - -Index: cronie-1.4.11/src/Makefile.am -=================================================================== ---- cronie-1.4.11.orig/src/Makefile.am -+++ cronie-1.4.11/src/Makefile.am -@@ -15,6 +15,7 @@ nodist_crond_SOURCES = $(common_nodist) - nodist_crontab_SOURCES = $(common_nodist) - BUILT_SOURCES = $(common_nodist) - -+AM_CFLAGS = -I$(top_srcdir) - - LDADD = $(LIBSELINUX) $(LIBPAM) $(LIBAUDIT) - diff --git a/meta/recipes-extended/cronie/cronie_1.4.11.bb b/meta/recipes-extended/cronie/cronie_1.4.12.bb index 02234f6a36..977332b3fc 100644 --- a/meta/recipes-extended/cronie/cronie_1.4.11.bb +++ b/meta/recipes-extended/cronie/cronie_1.4.12.bb @@ -7,16 +7,14 @@ HOMEPAGE = "https://fedorahosted.org/cronie/" BUGTRACKER = "mmaslano@redhat.com" # Internet Systems Consortium License -LICENSE = "ISC & BSD" -LIC_FILES_CHKSUM = "file://COPYING;md5=963ea0772a2adbdcd607a9b2ec320c11 \ +LICENSE = "ISC & BSD-3-Clause & BSD-2-Clause & GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=dd2a592170760e1386c769e1043b3722 \ file://src/cron.c;endline=20;md5=b425c334265026177128353a142633b4 \ file://src/popen.c;beginline=3;endline=31;md5=edd50742d8def712e9472dba353668a9" SECTION = "utils" - SRC_URI = "https://fedorahosted.org/releases/c/r/cronie/cronie-${PV}.tar.gz \ - file://fix-out-of-tree-build.patch \ file://crond.init \ file://crontab \ file://crond.service \ @@ -25,18 +23,16 @@ SRC_URI = "https://fedorahosted.org/releases/c/r/cronie/cronie-${PV}.tar.gz \ PAM_SRC_URI = "file://crond_pam_config.patch" PAM_DEPS = "libpam libpam-runtime pam-plugin-access pam-plugin-loginuid" -SRC_URI[md5sum] = "2ba645cf54de17f138ef70312843862f" -SRC_URI[sha256sum] = "fd08084cedddbb42499f80ddb7f2158195c3555c2ff40ee11d4ece2f9864d7be" +SRC_URI[md5sum] = "199db91e514a4d75e3222d69874b132f" +SRC_URI[sha256sum] = "0f5c9bf32f352599451c4ca0d6bc076d19e73ecfa5a90b34ecfe47c918c8bafd" inherit autotools update-rc.d useradd systemd - PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG[audit] = "--with-audit,--without-audit,audit," PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,${PAM_DEPS}" - INITSCRIPT_NAME = "crond" INITSCRIPT_PARAMS = "start 90 2 3 4 5 . stop 60 0 1 6 ." @@ -67,7 +63,7 @@ do_install_append () { mkdir -p ${D}${sysconfdir}/cron.weekly mkdir -p ${D}${sysconfdir}/cron.monthly touch ${D}${sysconfdir}/cron.deny - + # below setting is necessary to allow normal user using crontab # setgid for crontab binary @@ -82,4 +78,4 @@ do_install_append () { } FILES_${PN} += "${sysconfdir}/cron*" - +CONFFILES_${PN} += "${sysconfdir}/crontab" diff --git a/meta/recipes-extended/cups/cups.inc b/meta/recipes-extended/cups/cups.inc index c083501de2..df47c81d59 100644 --- a/meta/recipes-extended/cups/cups.inc +++ b/meta/recipes-extended/cups/cups.inc @@ -2,19 +2,26 @@ SUMMARY = "An Internet printing system for Unix" SECTION = "console/utils" LICENSE = "GPLv2 & LGPLv2" DEPENDS = "gnutls libpng jpeg dbus dbus-glib zlib libusb" -PROVIDES = "cups14" SRC_URI = "http://www.cups.org/software/${PV}/${BP}-source.tar.bz2 \ file://use_echo_only_in_init.patch \ file://0001-don-t-try-to-run-generated-binaries.patch \ file://cups_serverbin.patch \ - file://cups-no-gcrypt.patch \ - file://cups-str4402.patch \ + file://cups.socket \ + file://cups.path \ + file://cups.service \ " LEAD_SONAME = "libcupsdriver.so" -inherit autotools-brokensep binconfig +CLEANBROKEN = "1" + +inherit autotools-brokensep binconfig useradd systemd + +USERADD_PACKAGES = "${PN}" +GROUPADD_PARAM_${PN} = "--system lpadmin" + +SYSTEMD_SERVICE_${PN} = "cups.socket cups.path cups.service" PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'zeroconf', 'avahi', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" @@ -26,7 +33,6 @@ EXTRA_OECONF = " \ --enable-gnutls \ --enable-dbus \ --enable-browsing \ - --disable-openssl \ --disable-gssapi \ --enable-debug \ --disable-relro \ @@ -41,6 +47,7 @@ EXTRA_OECONF = " \ do_configure() { gnu-configize libtoolize --force + autoconf --force DSOFLAGS="${LDFLAGS}" SERVERBIN="${libdir}/cups" oe_runconf } @@ -63,12 +70,25 @@ do_compile () { "-I." } -fakeroot do_install () { +do_install () { oe_runmake "DSTROOT=${D}" install # Remove /var/run from package as cupsd will populate it on startup rm -fr ${D}/${localstatedir}/run rmdir ${D}/${libdir}/${BPN}/driver + + # Remove sysinit script and symlinks if sysvinit is not in DISTRO_FEATURES + if ${@bb.utils.contains('DISTRO_FEATURES','sysvinit','false','true',d)}; then + rm -rf ${D}${sysconfdir}/init.d/ + rm -rf ${D}${sysconfdir}/rc* + fi + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cups.socket ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cups.path ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/cups.service ${D}${systemd_unitdir}/system + sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/cups.service } python do_package_append() { @@ -80,6 +100,7 @@ python do_package_append() { PACKAGES =+ "${PN}-lib ${PN}-libimage" +RDEPENDS_${PN} += "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'procps', '', d)}" FILES_${PN} += "${libdir}/cups/backend \ ${libdir}/cups/cgi-bin \ ${libdir}/cups/filter \ diff --git a/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch b/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch index e6544b5607..5379eb6aa2 100644 --- a/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch +++ b/meta/recipes-extended/cups/cups/0001-don-t-try-to-run-generated-binaries.patch @@ -10,13 +10,13 @@ Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> ppdc/Makefile | 30 +++++++++++++++--------------- 1 files changed, 15 insertions(+), 15 deletions(-) -diff --git a/ppdc/Makefile b/ppdc/Makefile -index 0288d47..fc87f1b 100644 ---- a/ppdc/Makefile -+++ b/ppdc/Makefile -@@ -243,8 +243,8 @@ genstrings: genstrings.o libcupsppdc.a ../cups/libcups.a \ +Index: cups-2.0.0/ppdc/Makefile +=================================================================== +--- cups-2.0.0.orig/ppdc/Makefile ++++ cups-2.0.0/ppdc/Makefile +@@ -242,8 +242,8 @@ genstrings: genstrings.o libcupsppdc.a $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o genstrings genstrings.o \ - libcupsppdc.a ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) \ + libcupsppdc.a ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) \ $(DNSSDLIBS) $(COMMONLIBS) $(LIBZ) - echo Generating localization strings... - ./genstrings >sample.c @@ -25,9 +25,9 @@ index 0288d47..fc87f1b 100644 # -@@ -261,9 +261,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cups/libcups.a foo.drv foo-fr.po +@@ -260,9 +260,9 @@ ppdc-static: ppdc.o libcupsppdc.a ../cu $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdc-static ppdc.o libcupsppdc.a \ - ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ + ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ $(COMMONLIBS) $(LIBZ) - echo Testing PPD compiler... - ./ppdc-static -l en,fr -I ../data foo.drv @@ -38,24 +38,26 @@ index 0288d47..fc87f1b 100644 # -@@ -290,16 +290,16 @@ ppdi-static: ppdc-static ppdi.o libcupsppdc.a ../cups/libcups.a - ../cups/libcups.a $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ +@@ -288,17 +288,17 @@ ppdi-static: ppdc-static ppdi.o libcups + $(CXX) $(ARCHFLAGS) $(LDFLAGS) -o ppdi-static ppdi.o libcupsppdc.a \ + ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \ $(COMMONLIBS) $(LIBZ) - echo Testing PPD importer... +- echo Testing PPD importer... - $(RM) -r ppd ppd2 sample-import.drv -- ./ppdc-static -I ../data sample.drv +- ./ppdc-static -l en -I ../data sample.drv - ./ppdi-static -I ../data -o sample-import.drv ppd/* -- ./ppdc-static -I ../data -d ppd2 sample-import.drv +- ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv - if diff -r ppd ppd2 >/dev/null; then \ - echo PPD import OK; \ - else \ - echo PPD import FAILED; \ - exit 1; \ - fi ++# echo Testing PPD importer... +# $(RM) -r ppd ppd2 sample-import.drv -+# ./ppdc-static -I ../data sample.drv ++# ./ppdc-static -l en -I ../data sample.drv +# ./ppdi-static -I ../data -o sample-import.drv ppd/* -+# ./ppdc-static -I ../data -d ppd2 sample-import.drv ++# ./ppdc-static -l en -I ../data -d ppd2 sample-import.drv +# if diff -r ppd ppd2 >/dev/null; then \ +# echo PPD import OK; \ +# else \ @@ -65,6 +67,3 @@ index 0288d47..fc87f1b 100644 # --- -1.6.6.1 - diff --git a/meta/recipes-extended/cups/cups/cups-no-gcrypt.patch b/meta/recipes-extended/cups/cups/cups-no-gcrypt.patch deleted file mode 100644 index 8bbcf39497..0000000000 --- a/meta/recipes-extended/cups/cups/cups-no-gcrypt.patch +++ /dev/null @@ -1,49 +0,0 @@ -Description: Don't build-depend on libgcrypt, as nothing is used from it -Author: Didier Raboud <odyx@debian.org> -Bug-Debian: https://bugs.debian.org/638416 -Bug: http://www.cups.org/str.php?L???? - -[CUPS Ticket #4399] -- http://www.cups.org/str.php?L4399 - -Backported from http://www.cups.org/strfiles.php/3308/cups-no-gcrypt.patch - -Upstream-Status: Backport - -Signed-off-by: Armin Kuster <akuster@mvista.com> - -Last-Update: 2014-04-07 ---- a/config-scripts/cups-ssl.m4 -+++ b/config-scripts/cups-ssl.m4 -@@ -66,7 +66,6 @@ - dnl Then look for GNU TLS... - if test $have_ssl = 0 -a "x$enable_gnutls" != "xno" -a "x$PKGCONFIG" != x; then - AC_PATH_PROG(LIBGNUTLSCONFIG,libgnutls-config) -- AC_PATH_PROG(LIBGCRYPTCONFIG,libgcrypt-config) - if $PKGCONFIG --exists gnutls; then - have_ssl=1 - SSLLIBS=`$PKGCONFIG --libs gnutls` -@@ -84,14 +83,6 @@ - if test $have_ssl = 1; then - CUPS_SERVERCERT="ssl/server.crt" - CUPS_SERVERKEY="ssl/server.key" -- -- if $PKGCONFIG --exists gcrypt; then -- SSLLIBS="$SSLLIBS `$PKGCONFIG --libs gcrypt`" -- SSLFLAGS="$SSLFLAGS `$PKGCONFIG --cflags gcrypt`" -- elif test "x$LIBGCRYPTCONFIG" != x; then -- SSLLIBS="$SSLLIBS `$LIBGCRYPTCONFIG --libs`" -- SSLFLAGS="$SSLFLAGS `$LIBGCRYPTCONFIG --cflags`" -- fi - fi - fi - ---- a/cups/http-private.h -+++ b/cups/http-private.h -@@ -80,7 +80,6 @@ - # elif defined HAVE_GNUTLS - # include <gnutls/gnutls.h> - # include <gnutls/x509.h> --# include <gcrypt.h> - # elif defined(HAVE_CDSASSL) - # include <CoreFoundation/CoreFoundation.h> - # include <Security/Security.h> diff --git a/meta/recipes-extended/cups/cups/cups-str4402.patch b/meta/recipes-extended/cups/cups/cups-str4402.patch deleted file mode 100644 index 69d349cab1..0000000000 --- a/meta/recipes-extended/cups/cups/cups-str4402.patch +++ /dev/null @@ -1,190 +0,0 @@ - - -Upstream CUPS issue when building with out dnssd/avahi - -https://www.cups.org/str.php?L4408+P-1+S-2+C0+I0+E0+Q - -Upstream-Status: Backport [STR #4402] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - ---- a/scheduler/dirsvc.c 2014-03-05 13:11:32.000000000 -0800 -+++ b/shceduler/dirsvc.c 2014-05-19 11:33:51.743124614 -0700 -@@ -50,6 +50,9 @@ - static void update_lpd(int onoff); - static void update_smb(int onoff); - -+static void deregister_all_printers(int from_callback); -+static void register_all_printers(int from_callback); -+ - - #if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) - # ifdef __APPLE__ -@@ -60,12 +63,10 @@ - # ifdef HAVE_AVAHI - static void dnssdClientCallback(AvahiClient *c, AvahiClientState state, void *userdata); - # endif /* HAVE_AVAHI */ --static void dnssdDeregisterAllPrinters(int from_callback); - static void dnssdDeregisterInstance(cupsd_srv_t *srv, int from_callback); - static void dnssdDeregisterPrinter(cupsd_printer_t *p, int clear_name, int from_callback); - static const char *dnssdErrorString(int error); - static void dnssdFreeTxtRecord(cupsd_txt_t *txt); --static void dnssdRegisterAllPrinters(int from_callback); - # ifdef HAVE_DNSSD - static void dnssdRegisterCallback(DNSServiceRef sdRef, - DNSServiceFlags flags, -@@ -241,7 +242,7 @@ - * Register the individual printers - */ - -- dnssdRegisterAllPrinters(0); -+ register_all_printers(0); - } - - -@@ -259,7 +260,7 @@ - * De-register the individual printers - */ - -- dnssdDeregisterAllPrinters(0); -+ deregister_all_printers(0); - - /* - * Shut down browsing sockets... -@@ -579,7 +580,7 @@ - * Register the individual printers - */ - -- dnssdRegisterAllPrinters(1); -+ register_all_printers(1); - break; - - case AVAHI_CLIENT_FAILURE: -@@ -591,7 +592,7 @@ - * Unregister everything and close the client... - */ - -- dnssdDeregisterAllPrinters(1); -+ deregister_all_printers(1); - dnssdDeregisterInstance(&WebIFSrv, 1); - avahi_client_free(DNSSDClient); - DNSSDClient = NULL; -@@ -631,28 +632,6 @@ - - - /* -- * 'dnssdDeregisterAllPrinters()' - Deregister all printers. -- */ -- --static void --dnssdDeregisterAllPrinters( -- int from_callback) /* I - Deregistering because of callback? */ --{ -- cupsd_printer_t *p; /* Current printer */ -- -- -- if (!DNSSDMaster) -- return; -- -- for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); -- p; -- p = (cupsd_printer_t *)cupsArrayNext(Printers)) -- if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER))) -- dnssdDeregisterPrinter(p, 1, from_callback); --} -- -- --/* - * 'dnssdDeregisterInstance()' - Deregister a DNS-SD service instance. - */ - -@@ -858,27 +837,6 @@ - - - /* -- * 'dnssdRegisterAllPrinters()' - Register all printers. -- */ -- --static void --dnssdRegisterAllPrinters(int from_callback) /* I - Called from callback? */ --{ -- cupsd_printer_t *p; /* Current printer */ -- -- -- if (!DNSSDMaster) -- return; -- -- for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); -- p; -- p = (cupsd_printer_t *)cupsArrayNext(Printers)) -- if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER))) -- dnssdRegisterPrinter(p, from_callback); --} -- -- --/* - * 'dnssdRegisterCallback()' - DNSServiceRegister callback. - */ - -@@ -1813,6 +1771,61 @@ - } - - -+/* -+ * 'deregister_all_printers()' - Deregister all printers. -+ */ -+ -+static void -+deregister_all_printers( -+ int from_callback) /* I - Deregistering because of callback? */ -+{ -+ cupsd_printer_t *p; /* Current printer */ -+ -+ -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if (!DNSSDMaster) -+ return; -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ -+ -+ for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); -+ p; -+ p = (cupsd_printer_t *)cupsArrayNext(Printers)) -+ if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER))) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ dnssdDeregisterPrinter(p, 1, from_callback); -+#else -+ cupsdDeregisterPrinter(p, 1); -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ -+} -+ -+ -+/* -+ * 'register_all_printers()' - Register all printers. -+ */ -+ -+static void -+register_all_printers(int from_callback) /* I - Called from callback? */ -+{ -+ cupsd_printer_t *p; /* Current printer */ -+ -+ -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ if (!DNSSDMaster) -+ return; -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ -+ -+ for (p = (cupsd_printer_t *)cupsArrayFirst(Printers); -+ p; -+ p = (cupsd_printer_t *)cupsArrayNext(Printers)) -+ if (!(p->type & (CUPS_PRINTER_REMOTE | CUPS_PRINTER_SCANNER))) -+#if defined(HAVE_DNSSD) || defined(HAVE_AVAHI) -+ dnssdRegisterPrinter(p, from_callback); -+#else -+ cupsdRegisterPrinter(p); -+#endif /* HAVE_DNSSD || HAVE_AVAHI */ -+} -+ -+ - /* - * End of "$Id: dirsvc.c 11688 2014-03-05 21:11:32Z msweet $". - */ diff --git a/meta/recipes-extended/cups/cups/cups.path b/meta/recipes-extended/cups/cups/cups.path new file mode 100644 index 0000000000..de8cc57c27 --- /dev/null +++ b/meta/recipes-extended/cups/cups/cups.path @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printer Service Spool + +[Path] +PathExistsGlob=/var/spool/cups/d* + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-extended/cups/cups/cups.service b/meta/recipes-extended/cups/cups/cups.service new file mode 100644 index 0000000000..7d3e839867 --- /dev/null +++ b/meta/recipes-extended/cups/cups/cups.service @@ -0,0 +1,10 @@ +[Unit] +Description=CUPS Printing Service + +[Service] +ExecStart=@SBINDIR@/cupsd -f +PrivateTmp=true + +[Install] +Also=cups.socket cups.path +WantedBy=printer.target diff --git a/meta/recipes-extended/cups/cups/cups.socket b/meta/recipes-extended/cups/cups/cups.socket new file mode 100644 index 0000000000..33148705d6 --- /dev/null +++ b/meta/recipes-extended/cups/cups/cups.socket @@ -0,0 +1,8 @@ +[Unit] +Description=CUPS Printing Service Sockets + +[Socket] +ListenStream=/var/run/cups/cups.sock + +[Install] +WantedBy=sockets.target diff --git a/meta/recipes-extended/cups/cups_1.7.3.bb b/meta/recipes-extended/cups/cups_1.7.3.bb deleted file mode 100644 index 2175ba71a2..0000000000 --- a/meta/recipes-extended/cups/cups_1.7.3.bb +++ /dev/null @@ -1,6 +0,0 @@ -require cups.inc - -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=c5e50cb4b8f24b04636b719683a9102d" - -SRC_URI[md5sum] = "d498c3020acda0904ab0c13b6389a1ec" -SRC_URI[sha256sum] = "fa989f856d1499169dc442fb2311053ea42fe455ca2721693ba5a9fe4b333e31" diff --git a/meta/recipes-extended/cups/cups_2.0.2.bb b/meta/recipes-extended/cups/cups_2.0.2.bb new file mode 100644 index 0000000000..96c24cdcbf --- /dev/null +++ b/meta/recipes-extended/cups/cups_2.0.2.bb @@ -0,0 +1,6 @@ +require cups.inc + +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=6c5a350596fba02754bd96eb6df3afd0" + +SRC_URI[md5sum] = "6e0ea72dbafcf5baaa1cf4178e71096d" +SRC_URI[sha256sum] = "858720f76b66fd0441ae2a16f7cabd9554c8c64607e28ffacf16c36c53a3b18b" diff --git a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb index ee4b8900bb..43ea3ce382 100644 --- a/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb +++ b/meta/recipes-extended/cwautomacros/cwautomacros_20110201.bb @@ -1,15 +1,17 @@ SUMMARY = "Collection of autoconf m4 macros" SECTION = "base" -HOMEPAGE = "http://cwautomacros.berlios.de/" +HOMEPAGE = "http://sourceforge.net/projects/cwautomacros.berlios/" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://LICENSE;md5=eb723b61539feef013de476e68b5c50a" -SRC_URI = "http://download.berlios.de/cwautomacros/cwautomacros-${PV}.tar.bz2" - - +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}.berlios/${BP}.tar.bz2" SRC_URI[md5sum] = "074afcb50d0a8bff10786a2954b2b02d" SRC_URI[sha256sum] = "3115603b891f3a163c0bbb5fea2f3742113a183fa6745ee5e89e5f6d0e9f6121" +do_configure() { + : +} + do_install() { oe_runmake CWAUTOMACROSPREFIX=${D}${prefix} install } diff --git a/meta/recipes-extended/diffutils/diffutils_3.3.bb b/meta/recipes-extended/diffutils/diffutils_3.3.bb index a467f20aa4..b708962447 100644 --- a/meta/recipes-extended/diffutils/diffutils_3.3.bb +++ b/meta/recipes-extended/diffutils/diffutils_3.3.bb @@ -7,6 +7,8 @@ SRC_URI = "${GNU_MIRROR}/diffutils/diffutils-${PV}.tar.xz \ file://run-ptest \ " +EXTRA_OECONF += "--without-libsigsegv-prefix" + do_configure_prepend () { # Need to remove gettext macros with weird mix of versions for i in codeset.m4 gettext_gl.m4 intlmacosx.m4 inttypes-pri.m4 lib-ld_gl.m4 lib-prefix_gl.m4 po_gl.m4 ssize_t.m4 wchar_t.m4 wint_t.m4; do diff --git a/meta/recipes-extended/ethtool/ethtool/ethtool-uint.patch b/meta/recipes-extended/ethtool/ethtool/ethtool-uint.patch new file mode 100644 index 0000000000..bb96a18d82 --- /dev/null +++ b/meta/recipes-extended/ethtool/ethtool/ethtool-uint.patch @@ -0,0 +1,50 @@ +Fix build with musl by using correct uint type names. + +This patch is taken from Sabotage Linux, the license statement for patches and +build scripts in Sabotage Linux says: + + To the extent possible under law, Christian Neukirchen has waived + all copyright and related or neighboring rights to this work. + + http://creativecommons.org/publicdomain/zero/1.0/ + +Therefore this should be good to include in OpenEmbedded. + +Signed-off-by: Paul Barker <paul@paulbarker.me.uk> + +Upstream-status: Pending + +diff -u ethtool-3.14.org/internal.h ethtool-3.14/internal.h +--- ethtool-3.14.org/internal.h ++++ ethtool-3.14/internal.h +@@ -7,6 +7,7 @@ + #include "ethtool-config.h" + #endif + #include <stdio.h> ++#include <stdint.h> + #include <stdlib.h> + #include <string.h> + #include <sys/types.h> +@@ -17,16 +18,16 @@ + + /* ethtool.h expects these to be defined by <linux/types.h> */ + #ifndef HAVE_BE_TYPES +-typedef __uint16_t __be16; +-typedef __uint32_t __be32; ++typedef uint16_t __be16; ++typedef uint32_t __be32; + typedef unsigned long long __be64; + #endif + + typedef unsigned long long u64; +-typedef __uint32_t u32; +-typedef __uint16_t u16; +-typedef __uint8_t u8; +-typedef __int32_t s32; ++typedef uint32_t u32; ++typedef uint16_t u16; ++typedef uint8_t u8; ++typedef int32_t s32; + + #include "ethtool-copy.h" + #include "net_tstamp-copy.h" diff --git a/meta/recipes-extended/ethtool/ethtool_3.14.bb b/meta/recipes-extended/ethtool/ethtool_3.16.bb index 49c79b68d7..92a0704800 100644 --- a/meta/recipes-extended/ethtool/ethtool_3.14.bb +++ b/meta/recipes-extended/ethtool/ethtool_3.16.bb @@ -9,10 +9,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ SRC_URI = "${KERNELORG_MIRROR}/software/network/ethtool/ethtool-${PV}.tar.gz \ file://run-ptest \ file://avoid_parallel_tests.patch \ + file://ethtool-uint.patch \ " -SRC_URI[md5sum] = "997e20c25c43ad5800f8ae3204455a8a" -SRC_URI[sha256sum] = "b1a988d6e397bd9d5d73cfd64329f85121936a050174bbfe90f8701fd893a1df" +SRC_URI[md5sum] = "3806bae34c153e2b9e2859e85c54788d" +SRC_URI[sha256sum] = "a6f1433824af7b390ed4e66dfc7cee047d6d1f56dbb8ceef9fe905d63aef5275" inherit autotools ptest RDEPENDS_${PN}-ptest += "make" diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/01-27017.patch b/meta/recipes-extended/findutils/findutils-4.4.2/01-27017.patch deleted file mode 100644 index 69c1486cf7..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.4.2/01-27017.patch +++ /dev/null @@ -1,781 +0,0 @@ -Upstream-Status: Backport - -commit af974034b68bf59337c7a384e488a518a77dfecd -Author: James Youngman <jay@gnu.org> -Date: Sat Jul 11 19:55:27 2009 +0100 - - Fix Savannah bug #27017: find -D opt / -fstype ext3 -print , -quit coredump. - - Fix Savannah bug #27017: find -D opt / -fstype ext3 -print , -quit - coredumps. - * find/tree.c (set_new_parent): Initialise struct - predicate->arg_text to NULL (instead of leaving it uninitialised). - (get_new_pred_noarg): Likewise. - (get_new_pred): Initialise predicate->arg_text to - "ThisShouldBeSetToSomethingElse" to make it easier to notice - bugs. - (get_new_pred_chk_op): Use get_new_pred_noarg. - (print_predicate): Use an if statement instead of - two ternary operators. - * find/util.c (insert_primary_withpred): Accept new argument, arg, - being the argument (if any) of this predicate. Pass it to - get_new_pred_chk_op. - (insert_primary): Likewise (pass arg to insert_primary_withpred). - (insert_primary_noarg): New function; calls insert_primary with - arg=NULL. - * find/parser.c (collect_arg_stat_info): Add an output parameter; - the filename from which we collected the stat information. - (parse_closeparen, parse_delete, parse_and, parse_or, - parse_comma): Use get_new_pred_noarg. - (parse_cnewer, parse_newer, parse_anewer): Use new - collect_arg_stat_info and insert_primary interface. - (parse_print, parse_prune, parse_nouser, parse_empty): Use - insert_primary_noarg. - (parse_accesscheck, parse_false): Use insert_primary_noarg. - (parse_used, parse_iname, parse_fprint, insert_fprint, - parse_fstype, parse_ilname): Use new collect_arg and - insert_primary interfaces. - (parse_ipath, parse_lname, do_parse_xmin, parse_name, parse_path, - parse_perm, parse_size, parse_user, parse_time): Use new - collect_arg and insert_primary_withpred interface. - (parse_negate, parse_openparen): Use new get_new_pred_chk_op interface. - (parse_newerXY, parse_nogroup): Use new insert_primary interface. - (insert_regex, parse_samefile): Use new insert_primary_withpred - interface. - (insert_type, insert_fprintf, new_insert_exec_ok, insert_num): Use - new insert_primary_withpred interface. - * find/defs.h (struct predicate.arg_text): make const. - Add declarations for new function get_new_pred_noarg and - insert_primary_noarg. Add 'arg' parameter to get_new_pred_chk_op - and insert_primary_withpred. - -diff --git a/ChangeLog b/ChangeLog -index 6e346b8..e8ba0f8 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,0 +1,45 @@ -+2009-07-11 James Youngman <jay@gnu.org> -+ -+ Fix Savannah bug #27017: find -D opt / -fstype ext3 -print , -quit -+ coredumps. -+ * find/tree.c (set_new_parent): Initialise struct -+ predicate->arg_text to NULL (instead of leaving it uninitialised). -+ (get_new_pred_noarg): Likewise. -+ (get_new_pred): Initialise predicate->arg_text to -+ "ThisShouldBeSetToSomethingElse" to make it easier to notice -+ bugs. -+ (get_new_pred_chk_op): Use get_new_pred_noarg. -+ (print_predicate): Use an if statement instead of -+ two ternary operators. -+ * find/util.c (insert_primary_withpred): Accept new argument, arg, -+ being the argument (if any) of this predicate. Pass it to -+ get_new_pred_chk_op. -+ (insert_primary): Likewise (pass arg to insert_primary_withpred). -+ (insert_primary_noarg): New function; calls insert_primary with -+ arg=NULL. -+ * find/parser.c (collect_arg_stat_info): Add an output parameter; -+ the filename from which we collected the stat information. -+ (parse_closeparen, parse_delete, parse_and, parse_or, -+ parse_comma): Use get_new_pred_noarg. -+ (parse_cnewer, parse_newer, parse_anewer): Use new -+ collect_arg_stat_info and insert_primary interface. -+ (parse_print, parse_prune, parse_nouser, parse_empty): Use -+ insert_primary_noarg. -+ (parse_accesscheck, parse_false): Use insert_primary_noarg. -+ (parse_used, parse_iname, parse_fprint, insert_fprint, -+ parse_fstype, parse_ilname): Use new collect_arg and -+ insert_primary interfaces. -+ (parse_ipath, parse_lname, do_parse_xmin, parse_name, parse_path, -+ parse_perm, parse_size, parse_user, parse_time): Use new -+ collect_arg and insert_primary_withpred interface. -+ (parse_negate, parse_openparen): Use new get_new_pred_chk_op interface. -+ (parse_newerXY, parse_nogroup): Use new insert_primary interface. -+ (insert_regex, parse_samefile): Use new insert_primary_withpred -+ interface. -+ (insert_type, insert_fprintf, new_insert_exec_ok, insert_num): Use -+ new insert_primary_withpred interface. -+ * find/defs.h (struct predicate.arg_text): make const. -+ Add declarations for new function get_new_pred_noarg and -+ insert_primary_noarg. Add 'arg' parameter to get_new_pred_chk_op -+ and insert_primary_withpred. -+ -diff --git a/find/defs.h b/find/defs.h -index 1708d83..4539fd9 100644 ---- a/find/defs.h -+++ b/find/defs.h -@@ -297,7 +297,7 @@ struct predicate - boolean artificial; - - /* The raw text of the argument of this predicate. */ -- char *arg_text; -+ const char *arg_text; - - /* Information needed by the predicate processor. - Next to each member are listed the predicates that use it. */ -@@ -480,13 +480,16 @@ void show_success_rates(const struct predicate *node); - /* tree.c */ - struct predicate * build_expression_tree PARAMS((int argc, char *argv[], int end_of_leading_options)); - struct predicate * get_eval_tree PARAMS((void)); -+struct predicate *get_new_pred_noarg (const struct parser_table *entry); - struct predicate *get_new_pred PARAMS((const struct parser_table *entry)); --struct predicate *get_new_pred_chk_op PARAMS((const struct parser_table *entry)); -+struct predicate *get_new_pred_chk_op PARAMS((const struct parser_table *entry, -+ const char *arg)); - float calculate_derived_rates PARAMS((struct predicate *p)); - - /* util.c */ --struct predicate *insert_primary PARAMS((const struct parser_table *entry)); --struct predicate *insert_primary_withpred PARAMS((const struct parser_table *entry, PRED_FUNC fptr)); -+struct predicate *insert_primary PARAMS((const struct parser_table *entry, const char *arg)); -+struct predicate *insert_primary_noarg PARAMS((const struct parser_table *entry)); -+struct predicate *insert_primary_withpred PARAMS((const struct parser_table *entry, PRED_FUNC fptr, const char *arg)); - void usage PARAMS((FILE *fp, int status, char *msg)); - extern boolean check_nofollow(void); - void complete_pending_execs(struct predicate *p); -diff --git a/find/parser.c b/find/parser.c -index 534b670..2e6b989 100644 ---- a/find/parser.c -+++ b/find/parser.c -@@ -640,11 +640,13 @@ collect_arg(char **argv, int *arg_ptr, const char **collected_arg) - } - - static boolean --collect_arg_stat_info(char **argv, int *arg_ptr, struct stat *p) -+collect_arg_stat_info(char **argv, int *arg_ptr, struct stat *p, -+ const char **argument) - { - const char *filename; - if (collect_arg(argv, arg_ptr, &filename)) - { -+ *argument = filename; - if (0 == (options.xstat)(filename, p)) - { - return true; -@@ -656,6 +658,7 @@ collect_arg_stat_info(char **argv, int *arg_ptr, struct stat *p) - } - else - { -+ *argument = NULL; - return false; - } - } -@@ -679,7 +682,7 @@ parse_and (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = get_new_pred (entry); -+ our_pred = get_new_pred_noarg (entry); - our_pred->pred_func = pred_and; - our_pred->p_type = BI_OP; - our_pred->p_prec = AND_PREC; -@@ -691,11 +694,12 @@ static boolean - parse_anewer (const struct parser_table* entry, char **argv, int *arg_ptr) - { - struct stat stat_newer; -+ const char *arg; - - set_stat_placeholders(&stat_newer); -- if (collect_arg_stat_info(argv, arg_ptr, &stat_newer)) -+ if (collect_arg_stat_info(argv, arg_ptr, &stat_newer, &arg)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, arg); - our_pred->args.reftime.xval = XVAL_ATIME; - our_pred->args.reftime.ts = get_stat_mtime(&stat_newer); - our_pred->args.reftime.kind = COMP_GT; -@@ -713,7 +717,7 @@ parse_closeparen (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = get_new_pred (entry); -+ our_pred = get_new_pred_noarg (entry); - our_pred->pred_func = pred_closeparen; - our_pred->p_type = CLOSE_PAREN; - our_pred->p_prec = NO_PREC; -@@ -725,11 +729,12 @@ static boolean - parse_cnewer (const struct parser_table* entry, char **argv, int *arg_ptr) - { - struct stat stat_newer; -+ const char *arg; - - set_stat_placeholders(&stat_newer); -- if (collect_arg_stat_info(argv, arg_ptr, &stat_newer)) -+ if (collect_arg_stat_info(argv, arg_ptr, &stat_newer, &arg)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, arg); - our_pred->args.reftime.xval = XVAL_CTIME; /* like -newercm */ - our_pred->args.reftime.ts = get_stat_mtime(&stat_newer); - our_pred->args.reftime.kind = COMP_GT; -@@ -747,7 +752,7 @@ parse_comma (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = get_new_pred (entry); -+ our_pred = get_new_pred_noarg (entry); - our_pred->pred_func = pred_comma; - our_pred->p_type = BI_OP; - our_pred->p_prec = COMMA_PREC; -@@ -786,7 +791,7 @@ parse_delete (const struct parser_table* entry, char *argv[], int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - our_pred->side_effects = our_pred->no_default_print = true; - /* -delete implies -depth */ - options.do_dir_first = false; -@@ -831,7 +836,7 @@ parse_empty (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - our_pred->est_success_rate = 0.01f; /* assume 1% of files are empty. */ - return true; - } -@@ -856,7 +861,7 @@ parse_false (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - our_pred->need_stat = our_pred->need_type = false; - our_pred->side_effects = our_pred->no_default_print = false; - our_pred->est_success_rate = 0.0f; -@@ -866,7 +871,7 @@ parse_false (const struct parser_table* entry, char **argv, int *arg_ptr) - static boolean - insert_fls (const struct parser_table* entry, const char *filename) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary_noarg (entry); - if (filename) - open_output_file (filename, &our_pred->args.printf_vec); - else -@@ -899,7 +904,7 @@ parse_fprint (const struct parser_table* entry, char **argv, int *arg_ptr) - const char *filename; - if (collect_arg(argv, arg_ptr, &filename)) - { -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, filename); - open_output_file (filename, &our_pred->args.printf_vec); - our_pred->side_effects = our_pred->no_default_print = true; - our_pred->need_stat = our_pred->need_type = false; -@@ -915,7 +920,7 @@ parse_fprint (const struct parser_table* entry, char **argv, int *arg_ptr) - static boolean - insert_fprint(const struct parser_table* entry, const char *filename) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, filename); - if (filename) - open_output_file (filename, &our_pred->args.printf_vec); - else -@@ -960,7 +965,7 @@ parse_fstype (const struct parser_table* entry, char **argv, int *arg_ptr) - const char *typename; - if (collect_arg(argv, arg_ptr, &typename)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, typename); - our_pred->args.str = typename; - - /* This is an expensive operation, so although there are -@@ -1090,7 +1095,7 @@ parse_group (const struct parser_table* entry, char **argv, int *arg_ptr) - return false; - } - } -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, groupname); - our_pred->args.gid = gid; - our_pred->est_success_rate = (our_pred->args.numinfo.l_val < 100) ? 0.99 : 0.2; - return true; -@@ -1160,7 +1165,7 @@ parse_ilname (const struct parser_table* entry, char **argv, int *arg_ptr) - const char *name; - if (collect_arg(argv, arg_ptr, &name)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, name); - our_pred->args.str = name; - /* Use the generic glob pattern estimator to figure out how many - * links will match, but bear in mind that most files won't be links. -@@ -1227,7 +1232,7 @@ parse_iname (const struct parser_table* entry, char **argv, int *arg_ptr) - { - if (check_name_arg("-iname", name)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, name); - our_pred->need_stat = our_pred->need_type = false; - our_pred->args.str = name; - our_pred->est_success_rate = estimate_pattern_match_rate(name, 0); -@@ -1268,7 +1273,7 @@ parse_ipath (const struct parser_table* entry, char **argv, int *arg_ptr) - fnmatch_sanitycheck (); - if (collect_arg (argv, arg_ptr, &name)) - { -- struct predicate *our_pred = insert_primary_withpred (entry, pred_ipath); -+ struct predicate *our_pred = insert_primary_withpred (entry, pred_ipath, name); - our_pred->need_stat = our_pred->need_type = false; - our_pred->args.str = name; - our_pred->est_success_rate = estimate_pattern_match_rate (name, 0); -@@ -1316,7 +1321,7 @@ parse_lname (const struct parser_table* entry, char **argv, int *arg_ptr) - fnmatch_sanitycheck(); - if (collect_arg(argv, arg_ptr, &name)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, name); - our_pred->args.str = name; - our_pred->est_success_rate = 0.1 * estimate_pattern_match_rate(name, 0); - return true; -@@ -1391,7 +1396,7 @@ do_parse_xmin (const struct parser_table* entry, - "arithmetic overflow while converting %s " - "minutes to a number of seconds")) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, minutes); - our_pred->args.reftime = tval; - our_pred->est_success_rate = estimate_timestamp_success_rate(tval.ts.tv_sec); - return true; -@@ -1427,7 +1432,7 @@ parse_name (const struct parser_table* entry, char **argv, int *arg_ptr) - fnmatch_sanitycheck(); - if (check_name_arg("-name", name)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, name); - our_pred->need_stat = our_pred->need_type = false; - our_pred->args.str = name; - our_pred->est_success_rate = estimate_pattern_match_rate(name, 0); -@@ -1445,7 +1450,7 @@ parse_negate (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) &argv; - (void) &arg_ptr; - -- our_pred = get_new_pred_chk_op (entry); -+ our_pred = get_new_pred_chk_op (entry, NULL); - our_pred->pred_func = pred_negate; - our_pred->p_type = UNI_OP; - our_pred->p_prec = NEGATE_PREC; -@@ -1458,11 +1463,12 @@ parse_newer (const struct parser_table* entry, char **argv, int *arg_ptr) - { - struct predicate *our_pred; - struct stat stat_newer; -+ const char *arg; - - set_stat_placeholders(&stat_newer); -- if (collect_arg_stat_info(argv, arg_ptr, &stat_newer)) -+ if (collect_arg_stat_info(argv, arg_ptr, &stat_newer, &arg)) - { -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, arg); - our_pred->args.reftime.ts = get_stat_mtime(&stat_newer); - our_pred->args.reftime.xval = XVAL_MTIME; - our_pred->args.reftime.kind = COMP_GT; -@@ -1530,7 +1536,7 @@ parse_newerXY (const struct parser_table* entry, char **argv, int *arg_ptr) - (*arg_ptr)++; - } - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, argv[*arg_ptr]); - - - switch (x) -@@ -1623,7 +1629,7 @@ parse_nogroup (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) &argv; - (void) &arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, NULL); - our_pred->est_success_rate = 1e-4; - #ifdef CACHE_IDS - if (gid_unused == NULL) -@@ -1660,7 +1666,7 @@ parse_nouser (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) arg_ptr; - - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - our_pred->est_success_rate = 1e-3; - #ifdef CACHE_IDS - if (uid_unused == NULL) -@@ -1716,7 +1722,7 @@ parse_openparen (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = get_new_pred_chk_op (entry); -+ our_pred = get_new_pred_chk_op (entry, NULL); - our_pred->pred_func = pred_openparen; - our_pred->p_type = OPEN_PAREN; - our_pred->p_prec = NO_PREC; -@@ -1732,7 +1738,7 @@ parse_or (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = get_new_pred (entry); -+ our_pred = get_new_pred_noarg (entry); - our_pred->pred_func = pred_or; - our_pred->p_type = BI_OP; - our_pred->p_prec = OR_PREC; -@@ -1756,7 +1762,7 @@ parse_path (const struct parser_table* entry, char **argv, int *arg_ptr) - const char *name; - if (collect_arg(argv, arg_ptr, &name)) - { -- struct predicate *our_pred = insert_primary_withpred (entry, pred_path); -+ struct predicate *our_pred = insert_primary_withpred (entry, pred_path, name); - our_pred->need_stat = our_pred->need_type = false; - our_pred->args.str = name; - our_pred->est_success_rate = estimate_pattern_match_rate (name, 0); -@@ -1894,7 +1900,7 @@ parse_perm (const struct parser_table* entry, char **argv, int *arg_ptr) - rate = 0.9986; /* probably matches anything but a broken symlink */ - } - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, perm_expr); - our_pred->est_success_rate = rate; - if (havekind) - { -@@ -1928,7 +1934,7 @@ parse_print (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - /* -print has the side effect of printing. This prevents us - from doing undesired multiple printing when the user has - already specified -print. */ -@@ -1981,7 +1987,7 @@ parse_prune (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - if (options.do_dir_first == false) - our_pred->need_stat = our_pred->need_type = false; - /* -prune has a side effect that it does not descend into -@@ -1994,7 +2000,7 @@ parse_prune (const struct parser_table* entry, char **argv, int *arg_ptr) - static boolean - parse_quit (const struct parser_table* entry, char **argv, int *arg_ptr) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary_noarg (entry); - (void) argv; - (void) arg_ptr; - our_pred->need_stat = our_pred->need_type = false; -@@ -2036,7 +2042,7 @@ insert_regex (char **argv, - { - struct re_pattern_buffer *re; - const char *error_message; -- struct predicate *our_pred = insert_primary_withpred (entry, pred_regex); -+ struct predicate *our_pred = insert_primary_withpred (entry, pred_regex, rx); - our_pred->need_stat = our_pred->need_type = false; - re = xmalloc (sizeof (struct re_pattern_buffer)); - our_pred->args.regex = re; -@@ -2061,6 +2067,7 @@ static boolean - parse_size (const struct parser_table* entry, char **argv, int *arg_ptr) - { - struct predicate *our_pred; -+ char *arg; - uintmax_t num; - char suffix; - enum comparison_type c_type; -@@ -2073,42 +2080,43 @@ parse_size (const struct parser_table* entry, char **argv, int *arg_ptr) - */ - if ((argv == NULL) || (argv[*arg_ptr] == NULL)) - return false; -+ arg = argv[*arg_ptr]; - -- len = strlen (argv[*arg_ptr]); -+ len = strlen (arg); - if (len == 0) - error (1, 0, _("invalid null argument to -size")); - -- suffix = argv[*arg_ptr][len - 1]; -+ suffix = arg[len - 1]; - switch (suffix) - { - case 'b': - blksize = 512; -- argv[*arg_ptr][len - 1] = '\0'; -+ arg[len - 1] = '\0'; - break; - - case 'c': - blksize = 1; -- argv[*arg_ptr][len - 1] = '\0'; -+ arg[len - 1] = '\0'; - break; - - case 'k': - blksize = 1024; -- argv[*arg_ptr][len - 1] = '\0'; -+ arg[len - 1] = '\0'; - break; - - case 'M': /* Megabytes */ - blksize = 1024*1024; -- argv[*arg_ptr][len - 1] = '\0'; -+ arg[len - 1] = '\0'; - break; - - case 'G': /* Gigabytes */ - blksize = 1024*1024*1024; -- argv[*arg_ptr][len - 1] = '\0'; -+ arg[len - 1] = '\0'; - break; - - case 'w': - blksize = 2; -- argv[*arg_ptr][len - 1] = '\0'; -+ arg[len - 1] = '\0'; - break; - - case '0': -@@ -2127,14 +2135,14 @@ parse_size (const struct parser_table* entry, char **argv, int *arg_ptr) - error (1, 0, _("invalid -size type `%c'"), argv[*arg_ptr][len - 1]); - } - /* TODO: accept fractional megabytes etc. ? */ -- if (!get_num (argv[*arg_ptr], &num, &c_type)) -+ if (!get_num (arg, &num, &c_type)) - { - error(1, 0, - _("Invalid argument `%s%c' to -size"), -- argv[*arg_ptr], (int)suffix); -+ arg, (int)suffix); - return false; - } -- our_pred = insert_primary (entry); -+our_pred = insert_primary (entry, arg); - our_pred->args.size.kind = c_type; - our_pred->args.size.blocksize = blksize; - our_pred->args.size.size = num; -@@ -2162,9 +2170,10 @@ parse_samefile (const struct parser_table* entry, char **argv, int *arg_ptr) - struct predicate *our_pred; - struct stat st, fst; - int fd, openflags; -+ const char *filename; - - set_stat_placeholders(&st); -- if (!collect_arg_stat_info(argv, arg_ptr, &st)) -+ if (!collect_arg_stat_info(argv, arg_ptr, &st, &filename)) - return false; - - set_stat_placeholders(&fst); -@@ -2289,7 +2298,7 @@ parse_samefile (const struct parser_table* entry, char **argv, int *arg_ptr) - } - } - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, filename); - our_pred->args.samefileid.ino = st.st_ino; - our_pred->args.samefileid.dev = st.st_dev; - our_pred->args.samefileid.fd = fd; -@@ -2350,7 +2359,7 @@ parse_true (const struct parser_table* entry, char **argv, int *arg_ptr) - (void) argv; - (void) arg_ptr; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - our_pred->need_stat = our_pred->need_type = false; - our_pred->est_success_rate = 1.0f; - return true; -@@ -2369,7 +2378,7 @@ parse_accesscheck (const struct parser_table* entry, char **argv, int *arg_ptr) - struct predicate *our_pred; - (void) argv; - (void) arg_ptr; -- our_pred = insert_primary (entry); -+ our_pred = insert_primary_noarg (entry); - our_pred->need_stat = our_pred->need_type = false; - our_pred->side_effects = our_pred->no_default_print = false; - if (pred_is(our_pred, pred_executable)) -@@ -2414,7 +2423,7 @@ parse_used (const struct parser_table* entry, char **argv, int *arg_ptr) - struct timespec zero = {0,0}; - if (get_relative_timestamp(offset_str, &tval, zero, DAYSECS, errmsg)) - { -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, offset_str); - our_pred->args.reftime = tval; - our_pred->est_success_rate = estimate_file_age_success_rate(tval.ts.tv_sec / DAYSECS); - return true; -@@ -2472,7 +2481,7 @@ parse_user (const struct parser_table* entry, char **argv, int *arg_ptr) - return false; - } - } -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, username); - our_pred->args.uid = uid; - our_pred->est_success_rate = (our_pred->args.uid < 100) ? 0.99 : 0.2; - return true; -@@ -2650,7 +2659,7 @@ insert_type (char **argv, int *arg_ptr, - error(1, 0, _("Unknown argument to -type: %c"), (*typeletter)); - return false; - } -- our_pred = insert_primary_withpred (entry, which_pred); -+ our_pred = insert_primary_withpred (entry, which_pred, typeletter); - our_pred->est_success_rate = rate; - - /* Figure out if we will need to stat the file, because if we don't -@@ -2706,7 +2715,7 @@ insert_fprintf (struct format_val *vec, - struct segment **segmentp; /* Address of current segment. */ - struct predicate *our_pred; - -- our_pred = insert_primary_withpred (entry, func); -+ our_pred = insert_primary_withpred (entry, func, format_const); - our_pred->side_effects = our_pred->no_default_print = true; - our_pred->args.printf_vec = *vec; - our_pred->need_type = false; -@@ -3045,7 +3054,7 @@ new_insert_exec_ok (const char *action, - if ((argv == NULL) || (argv[*arg_ptr] == NULL)) - return false; - -- our_pred = insert_primary_withpred (entry, func); -+ our_pred = insert_primary_withpred (entry, func, "(some -exec* arguments)"); - our_pred->side_effects = our_pred->no_default_print = true; - our_pred->need_type = our_pred->need_stat = false; - -@@ -3374,7 +3383,7 @@ parse_time (const struct parser_table* entry, char *argv[], int *arg_ptr) - if (!get_relative_timestamp(timearg, &tval, origin, DAYSECS, errmsg)) - return false; - -- our_pred = insert_primary (entry); -+ our_pred = insert_primary (entry, orig_timearg); - our_pred->args.reftime = tval; - our_pred->est_success_rate = estimate_timestamp_success_rate(tval.ts.tv_sec); - -@@ -3487,7 +3496,7 @@ insert_num (char **argv, int *arg_ptr, const struct parser_table *entry) - - if (get_num (numstr, &num, &c_type)) - { -- struct predicate *our_pred = insert_primary (entry); -+ struct predicate *our_pred = insert_primary (entry, numstr); - our_pred->args.numinfo.kind = c_type; - our_pred->args.numinfo.l_val = num; - -diff --git a/find/tree.c b/find/tree.c -index 7420c60..60a0601 100644 ---- a/find/tree.c -+++ b/find/tree.c -@@ -269,10 +269,14 @@ predicate_is_cost_free(const struct predicate *p) - /* Prints a predicate */ - void print_predicate(FILE *fp, const struct predicate *p) - { -- fprintf (fp, "%s%s%s", -- p->p_name, -- p->arg_text ? " " : "", -- p->arg_text ? p->arg_text : ""); -+ if (p->arg_text) -+ { -+ fprintf (fp, "%s %s", p->p_name, p->arg_text); -+ } -+ else -+ { -+ fprintf (fp, "%s", p->p_name); -+ } - } - - -@@ -832,7 +836,8 @@ set_new_parent (struct predicate *curr, enum predicate_precedence high_prec, str - new_parent->need_stat = false; - new_parent->need_type = false; - new_parent->p_cost = NeedsNothing; -- -+ new_parent->arg_text = NULL; -+ - switch (high_prec) - { - case COMMA_PREC: -@@ -1393,6 +1398,18 @@ init_pred_perf(struct predicate *pred) - p->visits = p->successes = 0; - } - -+ -+struct predicate * -+get_new_pred_noarg (const struct parser_table *entry) -+{ -+ struct predicate *p = get_new_pred(entry); -+ if (p) -+ { -+ p->arg_text = NULL; -+ } -+ return p; -+} -+ - - /* Return a pointer to a new predicate structure, which has been - linked in as the last one in the predicates list. -@@ -1433,6 +1450,8 @@ get_new_pred (const struct parser_table *entry) - last_pred->no_default_print = false; - last_pred->need_stat = true; - last_pred->need_type = true; -+ last_pred->p_cost = NeedsUnknown; -+ last_pred->arg_text = "ThisShouldBeSetToSomethingElse"; - last_pred->args.str = NULL; - last_pred->pred_next = NULL; - last_pred->pred_left = NULL; -@@ -1449,7 +1468,8 @@ get_new_pred (const struct parser_table *entry) - predicate is an operator. If it isn't, the AND operator is inserted. */ - - struct predicate * --get_new_pred_chk_op (const struct parser_table *entry) -+get_new_pred_chk_op (const struct parser_table *entry, -+ const char *arg) - { - struct predicate *new_pred; - static const struct parser_table *entry_and = NULL; -@@ -1471,13 +1491,14 @@ get_new_pred_chk_op (const struct parser_table *entry) - case PRIMARY_TYPE: - case CLOSE_PAREN: - /* We need to interpose the and operator. */ -- new_pred = get_new_pred (entry_and); -+ new_pred = get_new_pred_noarg (entry_and); - new_pred->pred_func = pred_and; - new_pred->p_name = "-a"; - new_pred->p_type = BI_OP; - new_pred->p_prec = AND_PREC; - new_pred->need_stat = false; - new_pred->need_type = false; -+ new_pred->arg_text = NULL; - new_pred->args.str = NULL; - new_pred->side_effects = false; - new_pred->no_default_print = false; -@@ -1488,6 +1509,7 @@ get_new_pred_chk_op (const struct parser_table *entry) - } - - new_pred = get_new_pred (entry); -+ new_pred->arg_text = arg; - new_pred->parser_entry = entry; - return new_pred; - } -diff --git a/find/util.c b/find/util.c -index a06eada..cc9a3eb 100644 ---- a/find/util.c -+++ b/find/util.c -@@ -89,11 +89,13 @@ static struct debug_option_assoc debugassoc[] = - operator. */ - - struct predicate * --insert_primary_withpred (const struct parser_table *entry, PRED_FUNC pred_func) -+insert_primary_withpred (const struct parser_table *entry, -+ PRED_FUNC pred_func, -+ const char *arg) - { - struct predicate *new_pred; - -- new_pred = get_new_pred_chk_op (entry); -+ new_pred = get_new_pred_chk_op (entry, arg); - new_pred->pred_func = pred_func; - new_pred->p_name = entry->parser_name; - new_pred->args.str = NULL; -@@ -118,10 +120,16 @@ insert_primary_withpred (const struct parser_table *entry, PRED_FUNC pred_func) - either not there at all (we are the very first node) or is an - operator. */ - struct predicate * --insert_primary (const struct parser_table *entry) -+insert_primary (const struct parser_table *entry, const char *arg) - { - assert (entry->pred_func != NULL); -- return insert_primary_withpred(entry, entry->pred_func); -+ return insert_primary_withpred(entry, entry->pred_func, arg); -+} -+ -+struct predicate * -+insert_primary_noarg (const struct parser_table *entry) -+{ -+ return insert_primary(entry, NULL); - } - - diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/02-28824.patch b/meta/recipes-extended/findutils/findutils-4.4.2/02-28824.patch deleted file mode 100644 index c0ff3ff1c0..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.4.2/02-28824.patch +++ /dev/null @@ -1,294 +0,0 @@ -Upstream-Status: Backport - -commit 76ed377d6d3e4a83a00cabd401f751b37ecd1e7b -Author: James Youngman <jay@gnu.org> -Date: Sat Feb 20 13:11:45 2010 +0000 - - Fix Savannah bug# 28824: "-ctime x" yields "missing argument to `-ctime'". - - * find/parser.c (parse_fls): If the argument is invalid, reverse - the change that collect_arg() made to *arg_ptr (that is, don't - consume the argument). - (parse_fprint0): Likewise. - (parse_gid): Likewise. - (parse_group): Likewise. - (parse_inum): Likewise. - (parse_links): Likewise. - (do_parse_xmin): Likewise. - (parse_name): Likewise. - (parse_printf): Likewise. - (parse_uid): Likewise. - (parse_used): Likewise. - (parse_time): Likewise. - - Signed-off-by: James Youngman <jay@gnu.org> - -diff --git a/ChangeLog b/ChangeLog -index d0ce1fe..13539a4 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,0 +1,19 @@ -+2010-02-20 James Youngman <jay@gnu.org> -+ -+ Fix Savannah bug# 28824: "-ctime x" yields "missing argument to -+ `-ctime'". -+ * find/parser.c (parse_fls): If the argument is invalid, reverse -+ the change that collect_arg() made to *arg_ptr (that is, don't -+ consume the argument). -+ (parse_fprint0): Likewise. -+ (parse_gid): Likewise. -+ (parse_group): Likewise. -+ (parse_inum): Likewise. -+ (parse_links): Likewise. -+ (do_parse_xmin): Likewise. -+ (parse_name): Likewise. -+ (parse_printf): Likewise. -+ (parse_uid): Likewise. -+ (parse_used): Likewise. -+ (parse_time): Likewise. -+ -diff --git a/NEWS b/NEWS -index 5394311..4e910df 100644 ---- a/NEWS -+++ b/NEWS -@@ -4,5 +4,8 @@ GNU findutils NEWS - User visible changes. -*- outline -*- (allout) - - ** Bug Fixes - -+#28824: Corrected error message for "-ctime x". -+ Likewise for -gid, -inum, -links, -mmin, -cmin, -amin, -+ -uid, -used, -atime, -mtime, -ctime. - #26537: find -prune now makes sure it has valid stat() information. - -diff --git a/find/parser.c b/find/parser.c -index 2e6b989..08758ee 100644 ---- a/find/parser.c -+++ b/find/parser.c -@@ -886,8 +886,14 @@ static boolean - parse_fls (const struct parser_table* entry, char **argv, int *arg_ptr) - { - const char *filename; -- return collect_arg(argv, arg_ptr, &filename) -- && insert_fls(entry, filename); -+ if (collect_arg(argv, arg_ptr, &filename)) -+ { -+ if (insert_fls(entry, filename)) -+ return true; -+ else -+ --*arg_ptr; /* don't consume the invalid arg. */ -+ } -+ return false; - } - - static boolean -@@ -937,9 +943,13 @@ parse_fprint0 (const struct parser_table* entry, char **argv, int *arg_ptr) - { - const char *filename; - if (collect_arg(argv, arg_ptr, &filename)) -- return insert_fprint(entry, filename); -- else -- return false; -+ { -+ if (insert_fprint(entry, filename)) -+ return true; -+ else -+ --*arg_ptr; /* don't consume the bad arg. */ -+ } -+ return false; - } - - static float estimate_fstype_success_rate(const char *fsname) -@@ -993,6 +1003,7 @@ parse_gid (const struct parser_table* entry, char **argv, int *arg_ptr) - } - else - { -+ --*arg_ptr; /* don't consume the invalid argument. */ - return false; - } - } -@@ -1049,6 +1060,7 @@ static boolean - parse_group (const struct parser_table* entry, char **argv, int *arg_ptr) - { - const char *groupname; -+ const int saved_argc = *arg_ptr; - - if (collect_arg(argv, arg_ptr, &groupname)) - { -@@ -1077,6 +1089,7 @@ parse_group (const struct parser_table* entry, char **argv, int *arg_ptr) - "because it has the unexpected suffix %s"), - quotearg_n_style(0, options.err_quoting_style, groupname), - quotearg_n_style(1, options.err_quoting_style, groupname+gid_len)); -+ *arg_ptr = saved_argc; /* don't consume the invalid argument. */ - return false; - } - } -@@ -1092,6 +1105,7 @@ parse_group (const struct parser_table* entry, char **argv, int *arg_ptr) - { - error(1, 0, _("argument to -group is empty, but should be a group name")); - } -+ *arg_ptr = saved_argc; /* don't consume the invalid argument. */ - return false; - } - } -@@ -1256,6 +1270,7 @@ parse_inum (const struct parser_table* entry, char **argv, int *arg_ptr) - } - else - { -+ --*arg_ptr; /* don't consume the invalid argument. */ - return false; - } - } -@@ -1310,6 +1325,7 @@ parse_links (const struct parser_table* entry, char **argv, int *arg_ptr) - } - else - { -+ --*arg_ptr; /* don't consume the invalid argument. */ - return false; - } - } -@@ -1358,6 +1374,7 @@ insert_depthspec(const struct parser_table* entry, char **argv, int *arg_ptr, - error(1, 0, _("Expected a positive decimal integer argument to %s, but got %s"), - predicate, - quotearg_n_style(0, options.err_quoting_style, depthstr)); -+ /* NOTREACHED */ - return false; - } - /* missing argument */ -@@ -1385,6 +1402,7 @@ do_parse_xmin (const struct parser_table* entry, - enum xval xv) - { - const char *minutes; -+ const int saved_argc = *arg_ptr; - - if (collect_arg(argv, arg_ptr, &minutes)) - { -@@ -1401,6 +1419,11 @@ do_parse_xmin (const struct parser_table* entry, - our_pred->est_success_rate = estimate_timestamp_success_rate(tval.ts.tv_sec); - return true; - } -+ else -+ { -+ /* Don't consume the invalid argument. */ -+ *arg_ptr = saved_argc; -+ } - } - return false; - } -@@ -1427,6 +1450,8 @@ static boolean - parse_name (const struct parser_table* entry, char **argv, int *arg_ptr) - { - const char *name; -+ const int saved_argc = *arg_ptr; -+ - if (collect_arg(argv, arg_ptr, &name)) - { - fnmatch_sanitycheck(); -@@ -1438,6 +1463,10 @@ parse_name (const struct parser_table* entry, char **argv, int *arg_ptr) - our_pred->est_success_rate = estimate_pattern_match_rate(name, 0); - return true; - } -+ else -+ { -+ *arg_ptr = saved_argc; /* don't consume the invalid argument. */ -+ } - } - return false; - } -@@ -1954,11 +1983,21 @@ static boolean - parse_printf (const struct parser_table* entry, char **argv, int *arg_ptr) - { - const char *format; -+ const int saved_argc = *arg_ptr; -+ - if (collect_arg(argv, arg_ptr, &format)) - { - struct format_val fmt; - open_stdout(&fmt); -- return insert_fprintf (&fmt, entry, pred_fprintf, format); -+ if (insert_fprintf (&fmt, entry, pred_fprintf, format)) -+ { -+ return true; -+ } -+ else -+ { -+ *arg_ptr = saved_argc; /* don't consume the invalid argument. */ -+ return false; -+ } - } - return false; - } -@@ -1967,15 +2006,21 @@ static boolean - parse_fprintf (const struct parser_table* entry, char **argv, int *arg_ptr) - { - const char *format, *filename; -+ int saved_argc = *arg_ptr; -+ - if (collect_arg(argv, arg_ptr, &filename)) - { - if (collect_arg(argv, arg_ptr, &format)) - { - struct format_val fmt; - open_output_file (filename, &fmt); -- return insert_fprintf (&fmt, entry, pred_fprintf, format); -+ saved_argc = *arg_ptr; -+ -+ if (insert_fprintf (&fmt, entry, pred_fprintf, format)) -+ return true; - } - } -+ *arg_ptr = saved_argc; /* don't consume the invalid argument. */ - return false; - } - -@@ -2405,6 +2450,7 @@ parse_uid (const struct parser_table* entry, char **argv, int *arg_ptr) - } - else - { -+ --*arg_ptr; /* don't consume the invalid argument. */ - return false; - } - } -@@ -2431,6 +2477,7 @@ parse_used (const struct parser_table* entry, char **argv, int *arg_ptr) - else - { - error(1, 0, _("Invalid argument %s to -used"), offset_str); -+ /*NOTREACHED*/ - return false; - } - } -@@ -2610,6 +2657,7 @@ insert_type (char **argv, int *arg_ptr, - if (strlen(typeletter) != 1u) - { - error(1, 0, _("Arguments to -type should contain only one letter")); -+ /*NOTREACHED*/ - return false; - } - -@@ -2657,6 +2705,7 @@ insert_type (char **argv, int *arg_ptr, - #endif - default: /* None of the above ... nuke 'em. */ - error(1, 0, _("Unknown argument to -type: %c"), (*typeletter)); -+ /*NOTREACHED*/ - return false; - } - our_pred = insert_primary_withpred (entry, which_pred, typeletter); -@@ -3349,6 +3398,7 @@ parse_time (const struct parser_table* entry, char *argv[], int *arg_ptr) - const char *errmsg = "arithmetic overflow while converting %s " - "days to a number of seconds"; - struct timespec origin; -+ const int saved_argc = *arg_ptr; - - if (!collect_arg(argv, arg_ptr, &timearg)) - return false; -@@ -3381,7 +3431,10 @@ parse_time (const struct parser_table* entry, char *argv[], int *arg_ptr) - timearg = orig_timearg; - - if (!get_relative_timestamp(timearg, &tval, origin, DAYSECS, errmsg)) -- return false; -+ { -+ *arg_ptr = saved_argc; /* don't consume the invalid argument */ -+ return false; -+ } - - our_pred = insert_primary (entry, orig_timearg); - our_pred->args.reftime = tval; diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/03-28872.patch b/meta/recipes-extended/findutils/findutils-4.4.2/03-28872.patch deleted file mode 100644 index 940aaf6ff5..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.4.2/03-28872.patch +++ /dev/null @@ -1,58 +0,0 @@ -Upstream-Status: Backport - -commit 5f5eb921765794e8fc58c4bdffa2daa2ae34800f -Author: James Youngman <jay@gnu.org> -Date: Sat Feb 20 19:53:13 2010 +0000 - - Fix Savannah bug#28872, Mistake in "Problems with -exec and filenames" - - * doc/find.texi (Problems with -exec and filenames): Add missing - $0 argument in example for sh -c 'something "$@" sh ... - * NEWS: Mention this change. - - Signed-off-by: James Youngman <jay@gnu.org> - -diff --git a/ChangeLog b/ChangeLog -index 13539a4..e94ba96 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,5 +1,10 @@ - 2010-02-20 James Youngman <jay@gnu.org> - -+ Fix Savannah bug#28872, Mistake in "Problems with -exec and filenames" -+ * doc/find.texi (Problems with -exec and filenames): Add missing -+ $0 argument in example for sh -c 'something "$@" sh ... -+ * NEWS: Mention this change. -+ - Fix Savannah bug# 28824: "-ctime x" yields "missing argument to - `-ctime'". - * find/parser.c (parse_fls): If the argument is invalid, reverse -diff --git a/NEWS b/NEWS -index 4e910df..4c97be9 100644 ---- a/NEWS -+++ b/NEWS -@@ -4,6 +4,9 @@ GNU findutils NEWS - User visible changes. -*- outline -*- (allout) - - ** Bug Fixes - -+#28872: Mistake in "#safer" example in "Problems with -exec and -+ filenames" section of the Texinfo manual. -+ - #28824: Corrected error message for "-ctime x". - Likewise for -gid, -inum, -links, -mmin, -cmin, -amin, - -uid, -used, -atime, -mtime, -ctime. -diff --git a/doc/find.texi b/doc/find.texi -index 2e5958d..391ffa0 100644 ---- a/doc/find.texi -+++ b/doc/find.texi -@@ -4830,8 +4830,8 @@ problem: - - @example - # safer --find -exec sh -c 'something "$@@"' @{@} \; --find -execdir sh -c 'something "$@@"' @{@}\; -+find -exec sh -c 'something "$@@"' sh @{@} \; -+find -execdir sh -c 'something "$@@"' sh @{@}\; - @end example - - This approach is not guaranteed to avoid every problem, but it is much diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_doc.patch b/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_doc.patch deleted file mode 100644 index a48cdc221c..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_doc.patch +++ /dev/null @@ -1,84 +0,0 @@ -Fix documentation build errors - -This fixes the following errors building the findutils documentation: -find-maint.texi:45: misplaced { -find-maint.texi:45: misplaced } -find-maint.texi:236: warning: node next `Make the Compiler Find the Bugs' in menu `The File System Is Being Modified' and in sectioning `Factor Out Repeated Code' differ -find-maint.texi:335: warning: node `Debugging is For Users Too' is next for `Factor Out Repeated Code' in sectioning but not in menu -find-maint.texi:335: warning: node prev `Factor Out Repeated Code' in menu `Debugging is For Users Too' and in sectioning `Make the Compiler Find the Bugs' differ -find-maint.texi:378: warning: node next `Debugging is For Users Too' in menu `Factor Out Repeated Code' and in sectioning `Don't Trust the File System Contents' differ -find-maint.texi:378: warning: node prev `Debugging is For Users Too' in menu `Don't Trust the File System Contents' and in sectioning `Factor Out Repeated Code' differ -find-maint.texi:392: warning: node next `Don't Trust the File System Contents' in menu `Debugging is For Users Too' and in sectioning `The File System Is Being Modified' differ -find-maint.texi:392: warning: node prev `Don't Trust the File System Contents' in menu `The File System Is Being Modified' and in sectioning `Debugging is For Users Too' differ -find-maint.texi:417: warning: node `Don't Trust the File System Contents' is next for `The File System Is Being Modified' in menu but not in sectioning -find-maint.texi:417: warning: node prev `The File System Is Being Modified' in menu `Make the Compiler Find the Bugs' and in sectioning `Don't Trust the File System Contents' differ -find.texi:53: misplaced { -find.texi:53: misplaced } -find.texi:1862: warning: node `Formatting Flags' is next for `Time Directives' in menu but not in sectioning -find.texi:1975: warning: node `Formatting Flags' is next for `Combined Time Formats' in sectioning but not in menu -find.texi:2004: warning: node prev `Formatting Flags' in menu `Time Directives' and in sectioning `Combined Time Formats' differ -find.texi:2004: warning: node up `Formatting Flags' in menu `Format Directives' and in sectioning `Time Formats' differ -find.texi:1893: node `Time Formats' lacks menu item for `Formatting Flags' despite being its Up target - -Upstream-Status: Backport -Signed-off-by: Jonathan Liu <net147@gmail.com> - ---- a/doc/find-maint.texi -+++ b/doc/find-maint.texi -@@ -42,7 +42,7 @@ Free Documentation License''. - - @page - @vskip 0pt plus 1filll --@insertcopying{} -+@insertcopying - @end titlepage - - @contents -@@ -227,10 +227,10 @@ circumstances. - - @menu - * Make the Compiler Find the Bugs:: -+* Factor Out Repeated Code:: - * The File System Is Being Modified:: - * Don't Trust the File System Contents:: - * Debugging is For Users Too:: --* Factor Out Repeated Code:: - @end menu - - @node Make the Compiler Find the Bugs ---- a/doc/find.texi -+++ b/doc/find.texi -@@ -50,7 +50,7 @@ Texts. A copy of the license is included in the section entitled - - @page - @vskip 0pt plus 1filll --@insertcopying{} -+@insertcopying - @end titlepage - - @contents -@@ -1665,6 +1665,7 @@ no output is ever sent to it. - * Escapes:: - * Format Directives:: - * Time Formats:: -+* Formatting Flags:: - @end menu - - @node Escapes -@@ -1733,7 +1734,6 @@ from the novel you are reading. - * Size Directives:: - * Location Directives:: - * Time Directives:: --* Formatting Flags:: - @end menu - - @node Name Directives -@@ -2002,7 +2002,7 @@ seconds field includes a fractional part. - @end table - - @node Formatting Flags --@subsubsection Formatting Flags -+@subsection Formatting Flags - - The @samp{%m} and @samp{%d} directives support the @samp{#}, @samp{0} - and @samp{+} flags, but the other directives do not, even if they diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_automake-1.12.patch b/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_automake-1.12.patch deleted file mode 100644 index d4a7e95728..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_automake-1.12.patch +++ /dev/null @@ -1,22 +0,0 @@ -Upstream-Status: Pending - -This patch fixes following issue with automake 1.12 - -| configure.ac:80: error: automatic de-ANSI-fication support has been removed - -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/03 - -Index: findutils-4.4.2/configure.ac -=================================================================== ---- findutils-4.4.2.orig/configure.ac -+++ findutils-4.4.2/configure.ac -@@ -77,8 +77,6 @@ AC_PROG_CPP - dnl for gnulib - gl_EARLY - --AM_C_PROTOTYPES -- - AC_PROG_INSTALL - AC_PROG_RANLIB - dnl AC_PROG_LIBTOOL diff --git a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch b/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch deleted file mode 100644 index b78cc7539c..0000000000 --- a/meta/recipes-extended/findutils/findutils-4.4.2/findutils_fix_for_x32.patch +++ /dev/null @@ -1,40 +0,0 @@ -Upstream-Status: Pending - -Author: H.J. Lu <hjl.tools@gmail.com> - -Work around gnulib time_t assumption in findutils for x32 - -time_t is 64bit and long int is 32bit on x32. But gnulib used in -findutils assumes time_t values fit into long int. Such assumption is -invalid for x32 and should be removed. - -This patch is a workaround to compile gnulib for x32. - -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/05 - - -Index: findutils-4.4.2/gnulib/lib/getdate.y -=================================================================== ---- findutils-4.4.2.orig/gnulib/lib/getdate.y -+++ findutils-4.4.2/gnulib/lib/getdate.y -@@ -114,7 +114,6 @@ - wraps around, but there's no portable way to check for that at - compile-time. */ - verify (TYPE_IS_INTEGER (time_t)); --verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX); - - /* An integer value, and the number of digits in its textual - representation. */ -Index: findutils-4.4.2/gnulib/lib/mktime.c -=================================================================== ---- findutils-4.4.2.orig/gnulib/lib/mktime.c -+++ findutils-4.4.2/gnulib/lib/mktime.c -@@ -166,7 +166,7 @@ ydhms_diff (long int year1, long int yda - { - verify (C99_integer_division, -1 / 2 == 0); - verify (long_int_year_and_yday_are_wide_enough, -- INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX); -+ INT_MAX <= TIME_T_MAX / 2 || TIME_T_MAX <= UINT_MAX); - - /* Compute intervening leap days correctly even if year is negative. - Take care to avoid integer overflow here. */ diff --git a/meta/recipes-extended/findutils/findutils.inc b/meta/recipes-extended/findutils/findutils.inc index 4f4068a091..37c84cc59b 100644 --- a/meta/recipes-extended/findutils/findutils.inc +++ b/meta/recipes-extended/findutils/findutils.inc @@ -7,7 +7,7 @@ BUGTRACKER = "http://savannah.gnu.org/bugs/?group=findutils" SECTION = "console/utils" -SRC_URI = "${GNU_MIRROR}/findutils/findutils-${PV}.tar.gz" +SRC_URI = "ftp://alpha.gnu.org/gnu/${BPN}/${BP}.tar.gz" inherit autotools gettext texinfo update-alternatives diff --git a/meta/recipes-extended/findutils/findutils_4.2.31.bb b/meta/recipes-extended/findutils/findutils_4.2.31.bb index 72b657a100..7dee018834 100644 --- a/meta/recipes-extended/findutils/findutils_4.2.31.bb +++ b/meta/recipes-extended/findutils/findutils_4.2.31.bb @@ -4,9 +4,10 @@ PR = "r4" require findutils.inc -SRC_URI += "file://gnulib-extension.patch \ - file://findutils_fix_for_automake-1.12.patch \ - file://findutils-fix-doc-build-error.patch \ +SRC_URI = "${GNU_MIRROR}/${BPN}/${BP}.tar.gz \ + file://gnulib-extension.patch \ + file://findutils_fix_for_automake-1.12.patch \ + file://findutils-fix-doc-build-error.patch \ " SRC_URI[md5sum] = "a0e31a0f18a49709bf5a449867c8049a" diff --git a/meta/recipes-extended/findutils/findutils_4.4.2.bb b/meta/recipes-extended/findutils/findutils_4.4.2.bb deleted file mode 100644 index faf2ebe462..0000000000 --- a/meta/recipes-extended/findutils/findutils_4.4.2.bb +++ /dev/null @@ -1,25 +0,0 @@ -require findutils.inc - -# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32) -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" - -PR = "r6" - -SRC_URI += "file://01-27017.patch \ - file://02-28824.patch \ - file://03-28872.patch \ - file://findutils_fix_for_x32.patch \ - file://findutils_fix_for_automake-1.12.patch \ - file://findutils_fix_doc.patch \ - " - -SRC_URI[md5sum] = "351cc4adb07d54877fa15f75fb77d39f" -SRC_URI[sha256sum] = "434f32d171cbc0a5e72cfc5372c6fc4cb0e681f8dce566a0de5b6fccd702b62a" - -DEPENDS = "bison-native" - -# http://savannah.gnu.org/bugs/?27299 -CACHED_CONFIGUREVARS += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', 'gl_cv_func_wcwidth_works=yes', '', d)}" - -EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort" diff --git a/meta/recipes-extended/findutils/findutils_4.5.14.bb b/meta/recipes-extended/findutils/findutils_4.5.14.bb new file mode 100644 index 0000000000..9253637fc1 --- /dev/null +++ b/meta/recipes-extended/findutils/findutils_4.5.14.bb @@ -0,0 +1,15 @@ +require findutils.inc + +# GPLv2+ (<< 4.2.32), GPLv3+ (>= 4.2.32) +LICENSE = "GPLv3+" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" + +DEPENDS = "bison-native" + +SRC_URI[md5sum] = "a8a8176282fd28e8d1234c84d847fa66" +SRC_URI[sha256sum] = "0de3cf625a5c9f154eee3171e072515ffdde405244dd00502af617ac57b73ae2" + +# http://savannah.gnu.org/bugs/?27299 +CACHED_CONFIGUREVARS += "${@bb.utils.contains('DISTRO_FEATURES', 'libc-posix-clang-wchar', 'gl_cv_func_wcwidth_works=yes', '', d)}" + +EXTRA_OECONF += "ac_cv_path_SORT=${bindir}/sort" diff --git a/meta/recipes-extended/gawk/gawk-4.1.1/run-ptest b/meta/recipes-extended/gawk/gawk-4.1.1/run-ptest index 7d214eafbe..d23f0bf6d7 100644 --- a/meta/recipes-extended/gawk/gawk-4.1.1/run-ptest +++ b/meta/recipes-extended/gawk/gawk-4.1.1/run-ptest @@ -3,8 +3,8 @@ cd test for i in `grep -vE "@|^$|#|Gt-dummy" Maketests |awk -F: '{print $1}'`; \ do LC_ALL=${GAWKLOCALE:-C} LANG=${GAWKLOCALE:-C} srcdir=`pwd` AWK=gawk CMP=cmp \ - make -f Maketests $i &>$i.tmp; \ + make -f Maketests $i >$i.tmp 2>&1; \ grep -q "Error" $i.tmp; \ - if [ $? == 0 ]; then echo "FAIL: $i"; \ + if [ $? -eq 0 ]; then echo "FAIL: $i"; \ else echo "PASS: $i"; rm -f $i.tmp; fi; \ done diff --git a/meta/recipes-extended/gawk/gawk_4.1.1.bb b/meta/recipes-extended/gawk/gawk_4.1.1.bb index 1298ee2f4c..3266f58cbd 100644 --- a/meta/recipes-extended/gawk/gawk_4.1.1.bb +++ b/meta/recipes-extended/gawk/gawk_4.1.1.bb @@ -13,6 +13,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" DEPENDS += "readline" +PACKAGECONFIG[mpfr] = "--with-mpfr,--without-mpfr, mpfr" + SRC_URI = "${GNU_MIRROR}/gawk/gawk-${PV}.tar.gz \ file://run-ptest \ file://Use-DESTDIR-in-extension-Makefile.am-when-removing-..patch \ diff --git a/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch b/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch new file mode 100644 index 0000000000..a1c9368cc9 --- /dev/null +++ b/meta/recipes-extended/ghostscript/ghostscript/cups-no-gcrypt.patch @@ -0,0 +1,31 @@ +Subject: [PATCH] Don't build-depend on libgcrypt, as nothing is used from it + +Backported from http://www.cups.org/strfiles.php/3308/cups-no-gcrypt.patch + +This addresses the cryto dependency seen during build. + +Upstream-Status: Backport + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> + +Rebase the patch to ghostscript-9.15 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + cups/libs/cups/http-private.h | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/cups/libs/cups/http-private.h b/cups/libs/cups/http-private.h +index 99a85c3..a674852 100644 +--- a/cups/libs/cups/http-private.h ++++ b/cups/libs/cups/http-private.h +@@ -80,7 +80,6 @@ typedef int socklen_t; + # elif defined HAVE_GNUTLS + # include <gnutls/gnutls.h> + # include <gnutls/x509.h> +-# include <gcrypt.h> + # elif defined(HAVE_CDSASSL) + # include <CoreFoundation/CoreFoundation.h> + # include <Security/Security.h> +-- +1.9.1 + diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-parallel-make.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-parallel-make.patch index 601f5f127e..ae9da6e08e 100644 --- a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-parallel-make.patch +++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.02-parallel-make.patch @@ -12,6 +12,9 @@ RP: Extended || true to all CP_ operations, they all can race e.g.: Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +Rebase the patch to ghostscript-9.15 +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> + diff --git a/base/expat.mak b/base/expat.mak index 4ee9c8c..2e16a9d 100644 --- a/base/expat.mak @@ -39,10 +42,10 @@ index 16f2b95..409f75b 100644 # Define the shared version. $(FTGEN)freetype_1.dev : $(TOP_MAKEFILES) $(FT_MAK) $(ECHOGS_XE) diff --git a/base/gs.mak b/base/gs.mak -index 7d75fb0..2a9596c 100644 +index 3fc67df..1fc3e26 100644 --- a/base/gs.mak +++ b/base/gs.mak -@@ -433,7 +433,7 @@ $(gconfxx_h) : $(ld_tr) +@@ -434,7 +434,7 @@ $(gconfxx_h) : $(ld_tr) $(gconfig_h) : $(gconfxx_h) $(RM_) $(gconfig_h) @@ -78,7 +81,7 @@ index bb74630..44617a0 100644 # dev file for shared (separately built) jbig2dec library $(JBIG2GEN)jbig2dec_1.dev : $(TOP_MAKEFILES) $(JBIG2_MAK) $(ECHOGS_XE) diff --git a/base/jpeg.mak b/base/jpeg.mak -index 5310a20..43cee63 100644 +index e300a04..9fdad5a 100644 --- a/base/jpeg.mak +++ b/base/jpeg.mak @@ -96,7 +96,7 @@ jconfig_h=$(GLGEN)jconfig.h @@ -148,7 +151,7 @@ index 5310a20..43cee63 100644 # In order to avoid having to keep the dependency lists for the IJG code # accurate, we simply make all of them depend on the only files that -@@ -174,40 +174,40 @@ $(JGEN)jpegc0.dev : $(JPEG_MAK) $(ECHOGS_XE) $(jpegc0_) +@@ -181,40 +181,40 @@ $(JGEN)jpegc0.dev : $(JPEG_MAK) $(ECHOGS_XE) $(jpegc0_) $(SETMOD) $(JGEN)jpegc0 $(jpegc0_) $(JOBJ)jcomapi.$(OBJ) : $(JSRC)jcomapi.c $(JDEP) @@ -196,7 +199,7 @@ index 5310a20..43cee63 100644 jpege6=$(JOBJ)jcapimin.$(OBJ) $(JOBJ)jcapistd.$(OBJ) $(JOBJ)jcinit.$(OBJ) -@@ -223,90 +223,90 @@ $(JGEN)jpege6.dev : $(JPEG_MAK) $(ECHOGS_XE) $(JGEN)jpegc0.dev $(jpege6) $(jpege +@@ -230,90 +230,90 @@ $(JGEN)jpege6.dev : $(JPEG_MAK) $(ECHOGS_XE) $(JGEN)jpegc0.dev $(jpege6) $(jpege $(ADDMOD) $(JGEN)jpege6 -obj $(jpege_3) $(JOBJ)jcapimin.$(OBJ) : $(JSRC)jcapimin.c $(JDEP) @@ -304,7 +307,7 @@ index 5310a20..43cee63 100644 jpegd6=$(JOBJ)jdapimin.$(OBJ) $(JOBJ)jdapistd.$(OBJ) $(JOBJ)jdinput.$(OBJ) $(JOBJ)jdhuff.$(OBJ) -@@ -322,76 +322,76 @@ $(JGEN)jpegd6.dev : $(JPEG_MAK) $(ECHOGS_XE) $(JGEN)jpegc0.dev $(jpegd6) $(jpegd +@@ -329,76 +329,76 @@ $(JGEN)jpegd6.dev : $(JPEG_MAK) $(ECHOGS_XE) $(JGEN)jpegc0.dev $(jpegd6) $(jpegd $(ADDMOD) $(JGEN)jpegd6 -obj $(jpegd_3) $(JOBJ)jdapimin.$(OBJ) : $(JSRC)jdapimin.c $(JDEP) @@ -436,10 +439,10 @@ index 52f750c..33a9c16 100644 # dev file for shared (separately built) lcms library $(LCMS2GEN)lcms2_1.dev : $(TOP_MAKEFILES) $(LCMS2_MAK) $(ECHOGS_XE) diff --git a/base/lcups.mak b/base/lcups.mak -index 0bfb3ac..fcdb170 100644 +index 7504c44..7b9b979 100644 --- a/base/lcups.mak +++ b/base/lcups.mak -@@ -114,7 +114,7 @@ libcups.config-clean : +@@ -116,7 +116,7 @@ libcups.config-clean : # instantiate the requested build option (shared or compiled in) $(LIBCUPSGEN)lcups.dev : $(TOP_MAKEFILES) $(LIBCUPSGEN)lcups_$(SHARE_LCUPS).dev @@ -448,7 +451,7 @@ index 0bfb3ac..fcdb170 100644 # Define the shared version. $(LIBCUPSGEN)lcups_1.dev : $(TOP_MAKEFILES) $(LCUPS_MAK) $(ECHOGS_XE) -@@ -131,7 +131,7 @@ $(LIBCUPSGEN)lcups_0.dev : $(TOP_MAKEFILES) $(LCUPS_MAK) $(ECHOGS_XE) \ +@@ -133,7 +133,7 @@ $(LIBCUPSGEN)lcups_0.dev : $(TOP_MAKEFILES) $(LCUPS_MAK) $(ECHOGS_XE) \ # for simplicity we have every source file depend on all headers $(LIBCUPSGEN)$(D)cups$(D)config.h : $(LCUPSSRCDIR)$(D)libs$(D)config$(LCUPSBUILDTYPE).h @@ -457,7 +460,7 @@ index 0bfb3ac..fcdb170 100644 $(LIBCUPSOBJ)adminutil.$(OBJ) : $(LIBCUPSSRC)adminutil.c $(LIBSCUPSHEADERS) $(LIBCUPSGEN)$(D)cups$(D)config.h $(LCUPS_CC) $(LCUPSO_)adminutil.$(OBJ) $(C_) $(LIBCUPSSRC)adminutil.c -@@ -218,7 +218,7 @@ $(LIBCUPSOBJ)mark.$(OBJ) : $(LIBCUPSSRC)mark.c $(LIBSCUPSHEADERS) +@@ -220,7 +220,7 @@ $(LIBCUPSOBJ)mark.$(OBJ) : $(LIBCUPSSRC)mark.c $(LIBSCUPSHEADERS) $(LCUPS_CC) $(LCUPSO_)mark.$(OBJ) $(C_) $(LIBCUPSSRC)mark.c $(LIBCUPSOBJ)cups_md5.$(OBJ) : $(LIBCUPSSRC)md5.c $(LIBSCUPSHEADERS) @@ -466,7 +469,7 @@ index 0bfb3ac..fcdb170 100644 $(LCUPS_CC) $(LCUPSO_)cups_md5.$(OBJ) $(C_) $(LIBCUPSGEN)cups_md5.c $(LIBCUPSOBJ)md5passwd.$(OBJ) : $(LIBCUPSSRC)md5passwd.c $(LIBSCUPSHEADERS) -@@ -255,7 +255,7 @@ $(LIBCUPSOBJ)snmp.$(OBJ) : $(LIBCUPSSRC)snmp.c $(LIBSCUPSHEADERS) +@@ -257,7 +257,7 @@ $(LIBCUPSOBJ)snmp.$(OBJ) : $(LIBCUPSSRC)snmp.c $(LIBSCUPSHEADERS) $(LCUPS_CC) $(LCUPSO_)snmp.$(OBJ) $(C_) $(LIBCUPSSRC)snmp.c $(LIBCUPSOBJ)cups_snpf.$(OBJ) : $(LIBCUPSSRC)snprintf.c $(LIBSCUPSHEADERS) @@ -475,18 +478,18 @@ index 0bfb3ac..fcdb170 100644 $(LCUPS_CC) $(LCUPSO_)cups_snpf.$(OBJ) $(C_) $(LIBCUPSGEN)cups_snpf.c $(LIBCUPSOBJ)string.$(OBJ) : $(LIBCUPSSRC)string.c $(LIBSCUPSHEADERS) -@@ -271,5 +271,5 @@ $(LIBCUPSOBJ)usersys.$(OBJ) : $(LIBCUPSSRC)usersys.c $(LIBSCUPSHEADERS) - $(LCUPS_CC) $(LCUPSO_)usersys.$(OBJ) $(C_) $(LIBCUPSSRC)usersys.c +@@ -279,5 +279,5 @@ $(LIBCUPSOBJ)thread.$(OBJ) : $(LIBCUPSSRC)thread.c $(LIBSCUPSHEADERS) + $(LCUPS_CC) $(LCUPSO_)thread.$(OBJ) $(C_) $(LIBCUPSSRC)thread.c $(LIBCUPSOBJ)cups_util.$(OBJ) : $(LIBCUPSSRC)util.c $(LIBSCUPSHEADERS) - $(CP_) $(LIBCUPSSRC)util.c $(LIBCUPSGEN)cups_util.c + $(CP_) $(LIBCUPSSRC)util.c $(LIBCUPSGEN)cups_util.c || true $(LCUPS_CC) $(LCUPSO_)cups_util.$(OBJ) $(C_) $(LIBCUPSGEN)cups_util.c diff --git a/base/lcupsi.mak b/base/lcupsi.mak -index ea4047f..0102d93 100644 +index da47da5..fa7d74c 100644 --- a/base/lcupsi.mak +++ b/base/lcupsi.mak -@@ -73,7 +73,7 @@ libcupsi.config-clean : +@@ -59,7 +59,7 @@ libcupsi.config-clean : # instantiate the requested build option (shared or compiled in) $(LIBCUPSIGEN)lcupsi.dev : $(TOP_MAKEFILES) $(LIBCUPSIGEN)lcupsi_$(SHARE_LCUPSI).dev @@ -509,10 +512,10 @@ index 3f50892..97c76a0 100644 # external link .dev $(LDF_JB2_GEN)ldf_jb2_1.dev : $(TOP_MAKEFILES) $(LDF_JB2_MAK) $(ECHOGS_XE) diff --git a/base/lib.mak b/base/lib.mak -index 3ad7db3..87b4f01 100644 +index 90c9249..fb11aba 100644 --- a/base/lib.mak +++ b/base/lib.mak -@@ -343,7 +343,7 @@ md5_=$(GLOBJ)md5.$(OBJ) +@@ -350,7 +350,7 @@ md5_=$(GLOBJ)md5.$(OBJ) $(GLOBJ)md5.$(OBJ) : $(GLSRC)md5.c $(AK) $(md5_h) $(std_h) $(MAKEDIRS) $(EXP)$(ECHOGS_XE) $(EXP)$(ECHOGS_XE) -w $(GLGEN)md5.h -x 23 include -x 2022 memory_.h -x 22 $(EXP)$(ECHOGS_XE) -a $(GLGEN)md5.h -+R $(GLSRC)md5.h @@ -521,7 +524,7 @@ index 3ad7db3..87b4f01 100644 $(GLCC) $(GLO_)md5.$(OBJ) $(C_) $(GLGEN)md5.c $(RM_) $(GLGEN)md5.c $(GLGEN)md5.h -@@ -624,19 +624,19 @@ $(GLOBJ)gconfig.$(OBJ) : $(gconfig_h) $(GLSRC)gconf.c $(AK) $(gx_h)\ +@@ -631,19 +631,19 @@ $(GLOBJ)gconfig.$(OBJ) : $(gconfig_h) $(GLSRC)gconf.c $(AK) $(gx_h)\ $(gxdevice_h) $(gxiclass_h) $(gxiodev_h) $(gxiparam_h) $(TOP_MAKEFILES)\ $(MAKEDDIRS) $(RM_) $(GLGEN)gconfig.c @@ -544,7 +547,7 @@ index 3ad7db3..87b4f01 100644 $(GLCCAUX) $(C_) $(AUXO_)gscdefs.$(OBJ) $(AUX)gscdefs.c $(GLOBJ)gxacpath.$(OBJ) : $(GLSRC)gxacpath.c $(AK) $(gx_h)\ -@@ -1527,7 +1527,7 @@ $(GLOBJ)sjpegc_0.$(OBJ) : $(GLSRC)sjpegc.c $(AK) $(stdio__h) $(string__h)\ +@@ -1535,7 +1535,7 @@ $(GLOBJ)sjpegc_0.$(OBJ) : $(GLSRC)sjpegc.c $(AK) $(stdio__h) $(string__h)\ $(GLJCC) $(GLO_)sjpegc_0.$(OBJ) $(C_) $(GLSRC)sjpegc.c $(GLOBJ)sjpegc.$(OBJ) : $(GLOBJ)sjpegc_$(SHARE_JPEG).$(OBJ) @@ -553,7 +556,7 @@ index 3ad7db3..87b4f01 100644 # sdcparam is used by the filter operator and the PS/PDF writer. # It is not included automatically in sdcte/d. -@@ -1555,7 +1555,7 @@ $(GLOBJ)sdcte_0.$(OBJ) : $(GLSRC)sdcte.c $(AK)\ +@@ -1563,7 +1563,7 @@ $(GLOBJ)sdcte_0.$(OBJ) : $(GLSRC)sdcte.c $(AK)\ $(GLJCC) $(GLO_)sdcte_0.$(OBJ) $(C_) $(GLSRC)sdcte.c $(GLOBJ)sdcte.$(OBJ) : $(GLOBJ)sdcte_$(SHARE_JPEG).$(OBJ) $(MAKEDIRS) @@ -562,7 +565,7 @@ index 3ad7db3..87b4f01 100644 $(GLOBJ)sjpege_1.$(OBJ) : $(GLSRC)sjpege.c $(AK)\ -@@ -1571,7 +1571,7 @@ $(GLOBJ)sjpege_0.$(OBJ) : $(GLSRC)sjpege.c $(AK)\ +@@ -1579,7 +1579,7 @@ $(GLOBJ)sjpege_0.$(OBJ) : $(GLSRC)sjpege.c $(AK)\ $(GLJCC) $(GLO_)sjpege_0.$(OBJ) $(C_) $(GLSRC)sjpege.c $(GLOBJ)sjpege.$(OBJ) : $(GLOBJ)sjpege_$(SHARE_JPEG).$(OBJ) $(MAKEDIRS) @@ -571,7 +574,7 @@ index 3ad7db3..87b4f01 100644 # sdeparam is used by the filter operator and the PS/PDF writer. # It is not included automatically in sdcte. -@@ -1603,7 +1603,7 @@ $(GLOBJ)sdctd_0.$(OBJ) : $(GLSRC)sdctd.c $(AK)\ +@@ -1611,7 +1611,7 @@ $(GLOBJ)sdctd_0.$(OBJ) : $(GLSRC)sdctd.c $(AK)\ $(GLJCC) $(GLO_)sdctd_0.$(OBJ) $(C_) $(GLSRC)sdctd.c $(GLOBJ)sdctd.$(OBJ) : $(GLOBJ)sdctd_$(SHARE_JPEG).$(OBJ) $(MAKEDIRS) @@ -580,7 +583,7 @@ index 3ad7db3..87b4f01 100644 $(GLOBJ)sjpegd_1.$(OBJ) : $(GLSRC)sjpegd.c $(AK)\ -@@ -1620,7 +1620,7 @@ $(GLOBJ)sjpegd_0.$(OBJ) : $(GLSRC)sjpegd.c $(AK)\ +@@ -1628,7 +1628,7 @@ $(GLOBJ)sjpegd_0.$(OBJ) : $(GLSRC)sjpegd.c $(AK)\ $(GLOBJ)sjpegd.$(OBJ) : $(GLOBJ)sjpegd_$(SHARE_JPEG).$(OBJ) $(MAKEDIRS) @@ -589,7 +592,7 @@ index 3ad7db3..87b4f01 100644 # sddparam is used by the filter operator. # It is not included automatically in sdctd. -@@ -1643,7 +1643,7 @@ $(GLD)lzwe.dev : $(LIB_MAK) $(ECHOGS_XE) $(lzwe_) +@@ -1651,7 +1651,7 @@ $(GLD)lzwe.dev : $(LIB_MAK) $(ECHOGS_XE) $(lzwe_) # We need slzwe.dev as a synonym for lzwe.dev for BAND_LIST_STORAGE = memory. $(GLD)slzwe.dev : $(GLD)lzwe.dev @@ -598,7 +601,7 @@ index 3ad7db3..87b4f01 100644 $(GLOBJ)slzwe.$(OBJ) : $(GLSRC)slzwe.c $(AK) $(stdio__h) $(gdebug_h)\ $(slzwx_h) $(strimpl_h) $(MAKEDIRS) -@@ -1659,7 +1659,7 @@ $(GLD)lzwd.dev : $(LIB_MAK) $(ECHOGS_XE) $(lzwd_) +@@ -1667,7 +1667,7 @@ $(GLD)lzwd.dev : $(LIB_MAK) $(ECHOGS_XE) $(lzwd_) # We need slzwd.dev as a synonym for lzwd.dev for BAND_LIST_STORAGE = memory. $(GLD)slzwd.dev : $(GLD)lzwd.dev @@ -607,7 +610,7 @@ index 3ad7db3..87b4f01 100644 $(GLOBJ)slzwd.$(OBJ) : $(GLSRC)slzwd.c $(AK) $(stdio__h) $(gdebug_h)\ $(slzwx_h) $(strimpl_h) $(MAKEDIRS) -@@ -1709,7 +1709,7 @@ $(GLOBJ)saes.$(OBJ) : $(GLSRC)saes.c $(AK) $(memory__h)\ +@@ -1717,7 +1717,7 @@ $(GLOBJ)saes.$(OBJ) : $(GLSRC)saes.c $(AK) $(memory__h)\ # ---------------- JBIG2 compression filter ---------------- # $(GLD)sjbig2.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)sjbig2_$(JBIG2_LIB).dev @@ -616,7 +619,7 @@ index 3ad7db3..87b4f01 100644 # jbig2dec version sjbig2_jbig2dec=$(GLOBJ)sjbig2.$(OBJ) -@@ -1745,7 +1745,7 @@ $(GLOBJ)sjbig2_luratech.$(OBJ) : $(GLSRC)sjbig2_luratech.c $(AK) \ +@@ -1753,7 +1753,7 @@ $(GLOBJ)sjbig2_luratech.$(OBJ) : $(GLSRC)sjbig2_luratech.c $(AK) \ # ---------------- JPEG 2000 compression filter ---------------- # $(GLD)sjpx.dev : $(LIB_MAK) $(ECHOGS_XE) $(GLD)sjpx_$(JPX_LIB).dev @@ -625,7 +628,7 @@ index 3ad7db3..87b4f01 100644 $(GLOBJ)sjpx.$(OBJ) : $(GLSRC)sjpx.c $(AK) \ $(memory__h) $(gsmalloc_h) \ -@@ -1874,7 +1874,7 @@ $(GLOBJ)szlibc_0.$(OBJ) : $(GLSRC)szlibc.c $(AK) $(std_h)\ +@@ -1882,7 +1882,7 @@ $(GLOBJ)szlibc_0.$(OBJ) : $(GLSRC)szlibc.c $(AK) $(std_h)\ $(GLZCC) $(GLO_)szlibc_0.$(OBJ) $(C_) $(GLSRC)szlibc.c $(GLOBJ)szlibc.$(OBJ) : $(GLOBJ)szlibc_$(SHARE_ZLIB).$(OBJ) $(MAKEDIRS) @@ -634,7 +637,7 @@ index 3ad7db3..87b4f01 100644 szlibe_=$(szlibc_) $(GLOBJ)szlibe.$(OBJ) $(GLD)szlibe.dev : $(LIB_MAK) $(ECHOGS_XE) $(ZGENDIR)$(D)zlibe.dev $(szlibe_) -@@ -1890,7 +1890,7 @@ $(GLOBJ)szlibe_0.$(OBJ) : $(GLSRC)szlibe.c $(AK) $(std_h)\ +@@ -1898,7 +1898,7 @@ $(GLOBJ)szlibe_0.$(OBJ) : $(GLSRC)szlibe.c $(AK) $(std_h)\ $(GLZCC) $(GLO_)szlibe_0.$(OBJ) $(C_) $(GLSRC)szlibe.c $(GLOBJ)szlibe.$(OBJ) : $(GLOBJ)szlibe_$(SHARE_ZLIB).$(OBJ) $(MAKEDIRS) @@ -643,7 +646,7 @@ index 3ad7db3..87b4f01 100644 szlibd_=$(szlibc_) $(GLOBJ)szlibd.$(OBJ) $(GLD)szlibd.dev : $(LIB_MAK) $(ECHOGS_XE) $(ZGENDIR)$(D)zlibd.dev $(szlibd_) -@@ -1906,7 +1906,7 @@ $(GLOBJ)szlibd_0.$(OBJ) : $(GLSRC)szlibd.c $(AK) $(std_h) $(memory__h)\ +@@ -1914,7 +1914,7 @@ $(GLOBJ)szlibd_0.$(OBJ) : $(GLSRC)szlibd.c $(AK) $(std_h) $(memory__h)\ $(GLZCC) $(GLO_)szlibd_0.$(OBJ) $(C_) $(GLSRC)szlibd.c $(GLOBJ)szlibd.$(OBJ) : $(GLOBJ)szlibd_$(SHARE_ZLIB).$(OBJ) $(MAKEDIRS) @@ -652,7 +655,7 @@ index 3ad7db3..87b4f01 100644 # ---------------- Page devices ---------------- # # We include this here, rather than in devs.mak, because it is more like -@@ -2796,7 +2796,7 @@ $(GLOBJ)gsicc_lcms_0.$(OBJ) : $(GLSRC)gsicc_lcms.c\ +@@ -2804,7 +2804,7 @@ $(GLOBJ)gsicc_lcms_0.$(OBJ) : $(GLSRC)gsicc_lcms.c\ $(GLLCMSCC) $(GLO_)gsicc_lcms_0.$(OBJ) $(C_) $(GLSRC)gsicc_lcms.c $(GLOBJ)gsicc_lcms.$(OBJ) : $(GLOBJ)gsicc_lcms_$(SHARE_LCMS).$(OBJ) $(gp_h) @@ -661,16 +664,16 @@ index 3ad7db3..87b4f01 100644 $(GLOBJ)gsicc_lcms2_1.$(OBJ) : $(GLSRC)gsicc_lcms2.c\ -@@ -2808,7 +2808,7 @@ $(GLOBJ)gsicc_lcms2_0.$(OBJ) : $(GLSRC)gsicc_lcms2.c\ - $(GLLCMS2CC) $(GLO_)gsicc_lcms2_0.$(OBJ) $(C_) $(GLSRC)gsicc_lcms2.c +@@ -2817,7 +2817,7 @@ $(GLOBJ)gsicc_lcms2_0.$(OBJ) : $(GLSRC)gsicc_lcms2.c\ - $(GLOBJ)gsicc_lcms2.$(OBJ) : $(GLOBJ)gsicc_lcms2_$(SHARE_LCMS).$(OBJ) $(gp_h) + $(GLOBJ)gsicc_lcms2.$(OBJ) : $(GLOBJ)gsicc_lcms2_$(SHARE_LCMS).$(OBJ) $(gp_h) \ + $(gxsync_h) - $(CP_) $(GLOBJ)gsicc_lcms2_$(SHARE_LCMS).$(OBJ) $(GLOBJ)gsicc_lcms2.$(OBJ) + $(CP_) $(GLOBJ)gsicc_lcms2_$(SHARE_LCMS).$(OBJ) $(GLOBJ)gsicc_lcms2.$(OBJ) || true # Note that gsicc_create requires compile with lcms to obtain icc34.h # header file that is used for creating ICC structures from PS objects. -@@ -2828,7 +2828,7 @@ $(GLOBJ)gsicc_create_0.$(OBJ) : $(GLSRC)gsicc_create.c $(AK) $(string__h)\ +@@ -2837,7 +2837,7 @@ $(GLOBJ)gsicc_create_0.$(OBJ) : $(GLSRC)gsicc_create.c $(AK) $(string__h)\ $(GLLCMSCC) $(GLO_)gsicc_create_0.$(OBJ) $(C_) $(GLSRC)gsicc_create.c $(GLOBJ)gsicc_create.$(OBJ) : $(GLOBJ)gsicc_create_$(SHARE_LCMS).$(OBJ) $(MAKEDIRS) @@ -679,7 +682,7 @@ index 3ad7db3..87b4f01 100644 #include "icc34.h" /* Note this header is needed even if lcms is not compiled as default CMS */ -@@ -3132,7 +3132,7 @@ $(GLGEN)gsromfs1_1.c : $(MKROMFS_XE) $(PS_ROMFS_DEPS) $(MAKEDIRS) +@@ -3141,7 +3141,7 @@ $(GLGEN)gsromfs1_1.c : $(MKROMFS_XE) $(PS_ROMFS_DEPS) $(MAKEDIRS) $(PS_ROMFS_ARGS) $(GL_ROMFS_ARGS) $(GLGEN)gsromfs1.c : $(GLGEN)gsromfs1_$(UFST_BRIDGE).c $(MAKEDIRS) @@ -688,7 +691,7 @@ index 3ad7db3..87b4f01 100644 # the following module is only included if the romfs.dev FEATURE is enabled $(GLOBJ)gsiorom_1.$(OBJ) : $(GLSRC)gsiorom.c $(gsiorom_h) \ -@@ -3148,7 +3148,7 @@ $(GLOBJ)gsiorom_0.$(OBJ) : $(GLSRC)gsiorom.c $(gsiorom_h) \ +@@ -3157,7 +3157,7 @@ $(GLOBJ)gsiorom_0.$(OBJ) : $(GLSRC)gsiorom.c $(gsiorom_h) \ $(GLCC) $(GLO_)gsiorom_0.$(OBJ) $(I_)$(ZI_)$(_I) $(C_) $(GLSRC)gsiorom.c $(GLOBJ)gsiorom.$(OBJ) : $(GLOBJ)gsiorom_$(SHARE_ZLIB).$(OBJ) $(MAKEDIRS) @@ -711,7 +714,7 @@ index ca1b7cc..ad6446d 100644 # external link .dev $(LWF_JP2_GEN)lwf_jp2_1.dev : $(TOP_MAKEFILES) $(LWF_JP2_MAK) $(ECHOGS_XE) diff --git a/base/macos-mcp.mak b/base/macos-mcp.mak -index 4ded7f3..3599ed9 100644 +index 38a2937..2ab7cae 100644 --- a/base/macos-mcp.mak +++ b/base/macos-mcp.mak @@ -383,11 +383,11 @@ CWPROJ_XML=./ghostscript.mcp.xml @@ -731,7 +734,7 @@ index 4ded7f3..3599ed9 100644 $(GS_XE): $(ld_tr) $(ECHOGS_XE) $(XE_ALL) $(CWPROJ_XML) $(PSOBJ)gsromfs$(COMPILE_INITS).$(OBJ) diff --git a/base/openjpeg.mak b/base/openjpeg.mak -index 32be240..4a6b429 100644 +index b194709..dac7901 100644 --- a/base/openjpeg.mak +++ b/base/openjpeg.mak @@ -99,7 +99,7 @@ open_jpeg_HDRS = \ @@ -744,7 +747,7 @@ index 32be240..4a6b429 100644 # external link .dev $(OPEN_JPEG_GEN)openjpeg_1.dev : $(TOP_MAKEFILES) $(OPEN_JPEG_MAK) $(ECHOGS_XE) diff --git a/base/openvms.mak b/base/openvms.mak -index e5ae40b..286ee84 100644 +index 1ea06fe..84378a4 100644 --- a/base/openvms.mak +++ b/base/openvms.mak @@ -365,7 +365,7 @@ SH= @@ -757,7 +760,7 @@ index e5ae40b..286ee84 100644 # Define the command for deleting (a) file(s) (including wild cards) diff --git a/base/png.mak b/base/png.mak -index f01c426..8a89884 100644 +index 1725ddb..0d54b80 100644 --- a/base/png.mak +++ b/base/png.mak @@ -79,7 +79,7 @@ png.config-clean : @@ -772,7 +775,7 @@ index f01c426..8a89884 100644 @@ -134,7 +134,7 @@ $(PNGOBJ)pngget.$(OBJ) : $(PNGSRC)pngget.c $(PDEP) # Define the version of libpng.dev that we are actually using. - $(PNGGEN)libpng.dev : $(TOP_MAKEFILES) $(PNGGEN)libpng_$(SHARE_LIBPNG).dev + $(PNGGEN)libpng.dev : $(TOP_MAKEFILES) $(PNGGEN)libpng_$(SHARE_LIBPNG).dev $(MAKEDIRS) - $(CP_) $(PNGGEN)libpng_$(SHARE_LIBPNG).dev $(PNGGEN)libpng.dev + $(CP_) $(PNGGEN)libpng_$(SHARE_LIBPNG).dev $(PNGGEN)libpng.dev || true @@ -841,7 +844,7 @@ index 6aa3599..70a61f8 100644 RMN_=rm -f diff --git a/base/zlib.mak b/base/zlib.mak -index 6c50605..7fb8c9b 100644 +index 78d398a..3d48145 100644 --- a/base/zlib.mak +++ b/base/zlib.mak @@ -83,7 +83,7 @@ $(ZOBJ)zutil.$(OBJ) : $(ZSRC)zutil.c $(ZDEP) @@ -865,17 +868,17 @@ index 6c50605..7fb8c9b 100644 @@ -127,7 +127,7 @@ $(ZOBJ)crc32.$(OBJ) : $(ZSRC)crc32.c $(ZDEP) # Decoding (decompression) code. - $(ZGEN)zlibd.dev : $(TOP_MAKEFILES) $(ZGEN)zlibd_$(SHARE_ZLIB).dev + $(ZGEN)zlibd.dev : $(TOP_MAKEFILES) $(ZGEN)zlibd_$(SHARE_ZLIB).dev $(MAKEDIRS) - $(CP_) $(ZGEN)zlibd_$(SHARE_ZLIB).dev $(ZGEN)zlibd.dev + $(CP_) $(ZGEN)zlibd_$(SHARE_ZLIB).dev $(ZGEN)zlibd.dev || true $(ZGEN)zlibd_1.dev : $(TOP_MAKEFILES) $(ZLIB_MAK) $(ECHOGS_XE) $(SETMOD) $(ZGEN)zlibd_1 -lib $(ZLIB_NAME) diff --git a/devices/devs.mak b/devices/devs.mak -index bc22594..4bd0a11 100644 +index 0a668d4..a19082e 100644 --- a/devices/devs.mak +++ b/devices/devs.mak -@@ -1555,7 +1555,7 @@ libpng_dev=$(PNGGENDIR)$(D)libpng.dev +@@ -1547,7 +1547,7 @@ libpng_dev=$(PNGGENDIR)$(D)libpng.dev png_i_=-include $(PNGGENDIR)$(D)libpng $(DEVOBJ)gdevpng.$(OBJ) : $(DEVSRC)gdevpng.c\ @@ -885,7 +888,7 @@ index bc22594..4bd0a11 100644 $(DD)pngmono.dev : $(DEVS_MAK) $(libpng_dev) $(png_) $(GLD)page.dev $(GDEV) diff --git a/psi/int.mak b/psi/int.mak -index 62cba0e..a1e963a 100644 +index 7d36e66..71b88f5 100644 --- a/psi/int.mak +++ b/psi/int.mak @@ -274,7 +274,7 @@ $(PSOBJ)iconfig.$(OBJ) : $(gconfig_h) $(PSSRC)iconf.c $(stdio__h)\ @@ -925,5 +928,5 @@ index 62cba0e..a1e963a 100644 fjpx_luratech=$(PSOBJ)zfjpx_luratech.$(OBJ) -- -1.8.1.2 +1.9.1 diff --git a/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch new file mode 100644 index 0000000000..797b8947cf --- /dev/null +++ b/meta/recipes-extended/ghostscript/ghostscript/ghostscript-9.15-parallel-make.patch @@ -0,0 +1,40 @@ +From be1e1b33191afdcfe3c2ecc4ff3e361a5859e9c6 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Fri, 30 Jan 2015 00:40:22 -0800 +Subject: [PATCH] contrib.mak: fix for parallel build + +Fixed: +rm: cannot remove `/usr/share/ghostscript/9.15/lib': Is a directory + +Create lib before install to fix the race issue. + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + contrib/contrib.mak | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/contrib/contrib.mak b/contrib/contrib.mak +index 08a80d1..de2e20d 100644 +--- a/contrib/contrib.mak ++++ b/contrib/contrib.mak +@@ -947,6 +947,7 @@ $(DEVOBJ)dviprlib.$(OBJ) : $(JAPSRC)dviprlib.c $(JAPSRC)dviprlib.h + $(DEVCC) $(O_)$@ $(C_) $(JAPSRC)dviprlib.c + + extra-dmprt-install: ++ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib + $(INSTALL_DATA) $(JAPSRC)dmp_init.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 + $(INSTALL_DATA) $(JAPSRC)dmp_site.ps $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 + $(INSTALL_DATA) $(JAPSRC)escp_24.src $(DESTDIR)$(gsdatadir)$(D)lib || exit 1 +@@ -1088,6 +1089,7 @@ $(DEVOBJ)gdevalps.$(OBJ) : $(JAPSRC)gdevalps.c $(PDEVH) + ### ----------------- Additional .upp files ---------------- ### + + extra-upp-install: ++ mkdir -p $(DESTDIR)$(gsdatadir)$(D)lib + for f in $(CONTRIBSRC)uniprint$(D)*.upp; do \ + $(INSTALL_DATA) $$f $(DESTDIR)$(gsdatadir)$(D)lib || exit 1; \ + done +-- +1.7.9.5 + diff --git a/meta/recipes-extended/ghostscript/ghostscript/mips64eln32/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mips64eln32/objarch.h new file mode 100644 index 0000000000..a05de29def --- /dev/null +++ b/meta/recipes-extended/ghostscript/ghostscript/mips64eln32/objarch.h @@ -0,0 +1,40 @@ +/* Parameters derived from machine and compiler architecture. */ +/* This file is generated mechanically by genarch.c. */ + + /* ---------------- Scalar alignments ---------------- */ + +#define ARCH_ALIGN_SHORT_MOD 2 +#define ARCH_ALIGN_INT_MOD 4 +#define ARCH_ALIGN_LONG_MOD 8 +#define ARCH_ALIGN_PTR_MOD 8 +#define ARCH_ALIGN_FLOAT_MOD 4 +#define ARCH_ALIGN_DOUBLE_MOD 8 + + /* ---------------- Scalar sizes ---------------- */ + +#define ARCH_LOG2_SIZEOF_CHAR 0 +#define ARCH_LOG2_SIZEOF_SHORT 1 +#define ARCH_LOG2_SIZEOF_INT 2 +#define ARCH_LOG2_SIZEOF_LONG 3 +#define ARCH_LOG2_SIZEOF_LONG_LONG 3 +#define ARCH_SIZEOF_GX_COLOR_INDEX 8 +#define ARCH_SIZEOF_PTR 8 +#define ARCH_SIZEOF_FLOAT 4 +#define ARCH_SIZEOF_DOUBLE 8 +#define ARCH_FLOAT_MANTISSA_BITS 24 +#define ARCH_DOUBLE_MANTISSA_BITS 53 + + /* ---------------- Unsigned max values ---------------- */ + +#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0) +#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0) +#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0) +#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0) + + /* ---------------- Miscellaneous ---------------- */ + +#define ARCH_IS_BIG_ENDIAN 0 +#define ARCH_PTRS_ARE_SIGNED 0 +#define ARCH_FLOATS_ARE_IEEE 1 +#define ARCH_ARITH_RSHIFT 2 +#define ARCH_DIV_NEG_POS_TRUNCATES 1 diff --git a/meta/recipes-extended/ghostscript/ghostscript/mips64n32/objarch.h b/meta/recipes-extended/ghostscript/ghostscript/mips64n32/objarch.h new file mode 100644 index 0000000000..0d0a16bfa3 --- /dev/null +++ b/meta/recipes-extended/ghostscript/ghostscript/mips64n32/objarch.h @@ -0,0 +1,40 @@ +/* Parameters derived from machine and compiler architecture. */ +/* This file is generated mechanically by genarch.c. */ + + /* ---------------- Scalar alignments ---------------- */ + +#define ARCH_ALIGN_SHORT_MOD 2 +#define ARCH_ALIGN_INT_MOD 4 +#define ARCH_ALIGN_LONG_MOD 8 +#define ARCH_ALIGN_PTR_MOD 8 +#define ARCH_ALIGN_FLOAT_MOD 4 +#define ARCH_ALIGN_DOUBLE_MOD 8 + + /* ---------------- Scalar sizes ---------------- */ + +#define ARCH_LOG2_SIZEOF_CHAR 0 +#define ARCH_LOG2_SIZEOF_SHORT 1 +#define ARCH_LOG2_SIZEOF_INT 2 +#define ARCH_LOG2_SIZEOF_LONG 3 +#define ARCH_LOG2_SIZEOF_LONG_LONG 3 +#define ARCH_SIZEOF_GX_COLOR_INDEX 8 +#define ARCH_SIZEOF_PTR 8 +#define ARCH_SIZEOF_FLOAT 4 +#define ARCH_SIZEOF_DOUBLE 8 +#define ARCH_FLOAT_MANTISSA_BITS 24 +#define ARCH_DOUBLE_MANTISSA_BITS 53 + + /* ---------------- Unsigned max values ---------------- */ + +#define ARCH_MAX_UCHAR ((unsigned char)0xff + (unsigned char)0) +#define ARCH_MAX_USHORT ((unsigned short)0xffff + (unsigned short)0) +#define ARCH_MAX_UINT ((unsigned int)~0 + (unsigned int)0) +#define ARCH_MAX_ULONG ((unsigned long)~0L + (unsigned long)0) + + /* ---------------- Miscellaneous ---------------- */ + +#define ARCH_IS_BIG_ENDIAN 1 +#define ARCH_PTRS_ARE_SIGNED 0 +#define ARCH_FLOATS_ARE_IEEE 1 +#define ARCH_ARITH_RSHIFT 2 +#define ARCH_DIV_NEG_POS_TRUNCATES 1 diff --git a/meta/recipes-extended/ghostscript/ghostscript_9.14.bb b/meta/recipes-extended/ghostscript/ghostscript_9.15.bb index e14e656b93..578883777d 100644 --- a/meta/recipes-extended/ghostscript/ghostscript_9.14.bb +++ b/meta/recipes-extended/ghostscript/ghostscript_9.15.bb @@ -6,8 +6,6 @@ documents in an X11 environment. \ Furthermore, it can render PostScript and PDF files as graphics to be printed \ on non-PostScript printers. Supported printers include common \ dot-matrix, inkjet and laser models. \ -\ -Package gsfonts contains a set of standard fonts for Ghostscript. \ " HOMEPAGE = "http://www.ghostscript.com" SECTION = "console/utils" @@ -25,6 +23,8 @@ SRC_URI = "${SRC_URI_BASE} \ file://ghostscript-9.02-genarch.patch \ file://objarch.h \ file://ghostscript-9.02-parallel-make.patch \ + file://cups-no-gcrypt.patch \ + file://ghostscript-9.15-parallel-make.patch \ " SRC_URI_class-native = "${SRC_URI_BASE} \ @@ -32,8 +32,10 @@ SRC_URI_class-native = "${SRC_URI_BASE} \ file://base-genht.c-add-a-preprocessor-define-to-allow-fope.patch \ " -SRC_URI[md5sum] = "586494befb443363338c1b6379f13973" -SRC_URI[sha256sum] = "ab2ba5ce11c8db396c9acf774a497182d7686d04670976cc3e690ada7db9f0d4" +SRC_URI[md5sum] = "5a78ab0990ff6ec3a103576bc8777c46" +SRC_URI[sha256sum] = "27f11e4fe5b89857ae745687281d1e4daf9681edc858a3f7e8e77ef09609777a" + +PR = "r1" EXTRA_OECONF = "--without-x --with-system-libtiff --without-jbig2dec \ --with-fontpath=${datadir}/fonts \ @@ -59,7 +61,7 @@ EXTRA_OECONF_class-native = "--without-x --with-system-libtiff=no \ CFLAGS += "-DHAVE_SYS_TIME_H=1" BUILD_CFLAGS += "-DHAVE_SYS_TIME_H=1" -inherit autotools-brokensep +inherit autotools do_configure_prepend () { mkdir -p obj @@ -81,8 +83,8 @@ do_configure_append () { do_install_append () { mkdir -p ${D}${datadir}/ghostscript/${PV}/ - cp -r Resource ${D}${datadir}/ghostscript/${PV}/ - cp -r iccprofiles ${D}${datadir}/ghostscript/${PV}/ + cp -r ${S}/Resource ${D}${datadir}/ghostscript/${PV}/ + cp -r ${S}/iccprofiles ${D}${datadir}/ghostscript/${PV}/ } do_compile_class-native () { @@ -100,8 +102,3 @@ do_install_class-native () { } BBCLASSEXTEND = "native" - -# Ghostscript install tool 'instcopy' tries to remove already created -# directories during install and parallel make causes problems. -PARALLEL_MAKEINST="" - diff --git a/meta/recipes-extended/grep/grep_2.19.bb b/meta/recipes-extended/grep/grep_2.21.bb index f38a9a6171..2c378d8442 100644 --- a/meta/recipes-extended/grep/grep_2.19.bb +++ b/meta/recipes-extended/grep/grep_2.21.bb @@ -7,8 +7,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=8006d9c814277c1bfc4ca22af94b59ee" SRC_URI = "${GNU_MIRROR}/grep/grep-${PV}.tar.xz" -SRC_URI[md5sum] = "ac732142227d9fe9567d71301e127979" -SRC_URI[sha256sum] = "6388295be48cfcaf7665d9cd3914e6625ea000e9414132bfefd45cf1d8eec34d" +SRC_URI[md5sum] = "43c48064d6409862b8a850db83c8038a" +SRC_URI[sha256sum] = "5244a11c00dee8e7e5e714b9aaa053ac6cbfa27e104abee20d3c778e4bb0e5de" inherit autotools gettext texinfo @@ -36,3 +36,4 @@ ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep" ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep" ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep" +export CONFIG_SHELL="/bin/sh" diff --git a/meta/recipes-extended/grep/grep_2.5.1a.bb b/meta/recipes-extended/grep/grep_2.5.1a.bb index 79842baac8..178fc31e6f 100644 --- a/meta/recipes-extended/grep/grep_2.5.1a.bb +++ b/meta/recipes-extended/grep/grep_2.5.1a.bb @@ -22,7 +22,7 @@ SRC_URI[sha256sum] = "38c8a2bb9223d1fb1b10bdd607cf44830afc92fd451ac4cd07619bf92b inherit autotools gettext texinfo -EXTRA_OECONF = "--disable-perl-regexp --disable-ncurses" +EXTRA_OECONF = "--disable-perl-regexp" CFLAGS += "-D PROTOTYPES" do_configure_prepend () { @@ -47,3 +47,5 @@ ALTERNATIVE_${PN} = "grep egrep fgrep" ALTERNATIVE_LINK_NAME[grep] = "${base_bindir}/grep" ALTERNATIVE_LINK_NAME[egrep] = "${base_bindir}/egrep" ALTERNATIVE_LINK_NAME[fgrep] = "${base_bindir}/fgrep" + +export CONFIG_SHELL="/bin/sh" diff --git a/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-fix-bindir.patch b/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-fix-bindir.patch new file mode 100644 index 0000000000..559ae72898 --- /dev/null +++ b/meta/recipes-extended/groff/groff-1.18.1.4/groff-1.18.1.4-fix-bindir.patch @@ -0,0 +1,39 @@ +Upstream-Status: Inappropriate [embedded] + +Signed-off-by: Ming Liu <ming.liu@windriver.com> +--- + Makefile.sub | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +--- a/contrib/groffer/Makefile.sub ++++ b/contrib/groffer/Makefile.sub +@@ -38,16 +38,16 @@ groffer: groffer.sh groffer2.sh version. + $(RM) $@; + sed \ + -e "s|@g@|$(g)|g" \ +- -e "s|@BINDIR@|$(DESTDIR)$(bindir)|g" \ ++ -e "s|@BINDIR@|$(bindir)|g" \ + -e "s|@libdir@|$(DESTDIR)$(libdir)|g" \ + -e "s|@VERSION@|$(version)$(revision)|g" \ + $(srcdir)/groffer.sh >$@; + chmod +x $@ + + install_data: groffer +- -test -d $(DESTDIR)$(bindir) || $(mkinstalldirs) $(DESTDIR)$(bindir) +- -$(RM) $(DESTDIR)$(bindir)/groffer +- $(INSTALL_SCRIPT) groffer $(DESTDIR)$(bindir)/groffer ++ -test -d $(bindir) || $(mkinstalldirs) $(bindir) ++ -$(RM) $(bindir)/groffer ++ $(INSTALL_SCRIPT) groffer $(bindir)/groffer + -test -d $(DESTDIR)$(libdir)/groff/groffer || \ + $(mkinstalldirs) $(DESTDIR)$(libdir)/groff/groffer + -$(RM) $(DESTDIR)$(libdir)/groff/groffer/groffer2.sh +@@ -58,7 +58,7 @@ install_data: groffer + $(DESTDIR)$(libdir)/groff/groffer/version.sh + + uninstall_sub: +- -$(RM) $(DESTDIR)$(bindir)/groffer ++ -$(RM) $(bindir)/groffer + -$(RM) $(DESTDIR)$(libdir)/groff/groffer/groffer2.sh + -$(RM) $(DESTDIR)$(libdir)/groff/groffer/version.sh + -rmdir $(DESTDIR)$(libdir)/groff/groffer diff --git a/meta/recipes-extended/groff/groff_1.18.1.4.bb b/meta/recipes-extended/groff/groff_1.18.1.4.bb index 85357c56bf..bd786a30aa 100644 --- a/meta/recipes-extended/groff/groff_1.18.1.4.bb +++ b/meta/recipes-extended/groff/groff_1.18.1.4.bb @@ -2,16 +2,18 @@ SUMMARY = "GNU Troff software" DESCRIPTION = "The groff (GNU troff) software is a typesetting package which reads plain text mixed with \ formatting commands and produces formatted output." SECTION = "console/utils" -HOMEPAGE = "ftp://ftp.gnu.org/gnu/groff/" +HOMEPAGE = "http://www.gnu.org/software/groff/" LICENSE = "GPLv2" PR = "r1" LIC_FILES_CHKSUM = "file://COPYING;md5=e43fc16fccd8519fba405f0a0ff6e8a3" -SRC_URI = "${GNU_MIRROR}/groff/groff-${PV}.tar.gz \ +SRC_URI = "${GNU_MIRROR}/${BPN}/old/${BP}.tar.gz \ file://groff-1.18.1.4-remove-mom.patch;striplevel=1 \ file://man-local.patch \ - file://mdoc-local.patch" + file://mdoc-local.patch \ + file://groff-1.18.1.4-fix-bindir.patch \ +" inherit autotools texinfo @@ -26,6 +28,14 @@ do_configure (){ } do_install_append() { + # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location + # for target as /usr/bin/perl, so fix it to /usr/bin/perl. + for i in afmtodit mmroff; do + if [ -f ${D}${bindir}/$i ]; then + sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i + fi + done + mkdir -p ${D}${sysconfdir}/groff cp -rf ${D}${datadir}/groff/site-tmac/* ${D}${sysconfdir}/groff/ cp -rf ${D}${datadir}/groff/site-tmac/* ${D}${datadir}/groff/${PV}/tmac/ diff --git a/meta/recipes-extended/groff/groff_1.22.2.bb b/meta/recipes-extended/groff/groff_1.22.2.bb index 227f9fa621..63f0425ea4 100644 --- a/meta/recipes-extended/groff/groff_1.22.2.bb +++ b/meta/recipes-extended/groff/groff_1.22.2.bb @@ -55,14 +55,6 @@ do_install_append() { } do_install_append_class-native() { - # Some distros have both /bin/perl and /usr/bin/perl, but we set perl location - # for target as /usr/bin/perl, so fix it to /usr/bin/perl. - for i in afmtodit mmroff; do - if [ -f ${D}${bindir}/$i ]; then - sed -i -e '1s,#!.*perl,#! ${USRBINPATH}/env perl,' ${D}${bindir}/$i - fi - done - create_cmdline_wrapper ${D}/${bindir}/groff \ -F${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/font \ -M${STAGING_DIR_NATIVE}${datadir_native}/groff/${PV}/tmac diff --git a/meta/recipes-extended/gzip/gzip-1.6/wrong-path-fix.patch b/meta/recipes-extended/gzip/gzip-1.6/wrong-path-fix.patch new file mode 100644 index 0000000000..92863d6c4b --- /dev/null +++ b/meta/recipes-extended/gzip/gzip-1.6/wrong-path-fix.patch @@ -0,0 +1,31 @@ +fix MakeMaker issues with using wrong SHELL/GREP + +A set of substitution is being processed to all target scripts with sed by +replacing some key words with the detected values at configure time, this +is exactly not compliant with cross compling, and will cause missing path +errors at run time like: +"/usr/bin/zgrep: line 230: /usr/bin/grep: No such file or directory" + +Fixed by removing unneeded substitution and using real runtime paths +instead. + +Signed-off-by: Ming Liu <ming.liu@windriver.com> + +Upstream-Status: Pending + +Index: gzip-1.3.12/Makefile.am +=================================================================== +diff -urpN a/Makefile.am b/Makefile.am +--- a/Makefile.am 2013-11-30 10:06:09.402234871 +0800 ++++ b/Makefile.am 2013-11-30 10:13:42.952236025 +0800 +@@ -81,9 +81,8 @@ gzip.doc.gz: gzip.doc $(bin_PROGRAMS) + SUFFIXES = .in + .in: + $(AM_V_GEN)sed \ +- -e 's|/bin/sh|$(SHELL)|g' \ + -e 's|[@]bindir@|'\''$(bindir)'\''|g' \ +- -e 's|[@]GREP@|$(GREP)|g' \ ++ -e 's|[@]GREP@|$(base_bindir)/grep|g' \ + -e 's|[@]VERSION@|$(VERSION)|g' \ + $(srcdir)/$@.in >$@-t \ + && chmod a+x $@-t \ diff --git a/meta/recipes-extended/gzip/gzip.inc b/meta/recipes-extended/gzip/gzip.inc index 5f0a5cab36..94480ec530 100644 --- a/meta/recipes-extended/gzip/gzip.inc +++ b/meta/recipes-extended/gzip/gzip.inc @@ -4,11 +4,6 @@ project. Mark Adler wrote the decompression part" HOMEPAGE = "http://www.gnu.org/software/gzip/" SECTION = "console/utils" # change to GPLv3+ in 2007/07. Previous GPLv2 version is 1.3.12 -LICENSE = "GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ - file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e" - -SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz" inherit autotools texinfo @@ -20,6 +15,7 @@ do_install_append () { mv ${D}${bindir}/gunzip ${D}${base_bindir}/gunzip mv ${D}${bindir}/gzip ${D}${base_bindir}/gzip mv ${D}${bindir}/zcat ${D}${base_bindir}/zcat + mv ${D}${bindir}/uncompress ${D}${base_bindir}/uncompress } inherit update-alternatives @@ -29,3 +25,5 @@ ALTERNATIVE_${PN} = "gunzip gzip zcat" ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" + +export CONFIG_SHELL="/bin/sh" diff --git a/meta/recipes-extended/gzip/gzip_1.3.12.bb b/meta/recipes-extended/gzip/gzip_1.3.12.bb index 7a04b87c59..e4062827bd 100644 --- a/meta/recipes-extended/gzip/gzip_1.3.12.bb +++ b/meta/recipes-extended/gzip/gzip_1.3.12.bb @@ -1,8 +1,4 @@ -SUMMARY = "Standard GNU compressor" -DESCRIPTION = "GNU Gzip is a popular data compression program originally written by Jean-loup Gailly for the GNU \ -project. Mark Adler wrote the decompression part" -HOMEPAGE = "http://www.gnu.org/software/gzip" -SECTION = "base" +require gzip.inc LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ @@ -17,23 +13,3 @@ SRC_URI[md5sum] = "b5bac2d21840ae077e0217bc5e4845b1" SRC_URI[sha256sum] = "3f565be05f7f3d1aff117c030eb7c738300510b7d098cedea796ca8e4cd587af" PR = "r2" - -inherit autotools - -do_install_append () { - # move files into /bin (FHS) - install -d ${D}${base_bindir} - mv ${D}${bindir}/gunzip ${D}${base_bindir}/gunzip - mv ${D}${bindir}/gzip ${D}${base_bindir}/gzip - mv ${D}${bindir}/zcat ${D}${base_bindir}/zcat -} - -inherit update-alternatives - -ALTERNATIVE_${PN} = "gzip gunzip zcat" -ALTERNATIVE_LINK_NAME[gzip] = "${base_bindir}/gzip" -ALTERNATIVE_LINK_NAME[gunzip] = "${base_bindir}/gunzip" -ALTERNATIVE_LINK_NAME[zcat] = "${base_bindir}/zcat" -ALTERNATIVE_PRIORITY = "100" - -BBCLASSEXTEND = "native" diff --git a/meta/recipes-extended/gzip/gzip_1.6.bb b/meta/recipes-extended/gzip/gzip_1.6.bb index 9c728dff5a..b347f0bb8d 100644 --- a/meta/recipes-extended/gzip/gzip_1.6.bb +++ b/meta/recipes-extended/gzip/gzip_1.6.bb @@ -1,5 +1,13 @@ require gzip.inc +LICENSE = "GPLv3+" + +SRC_URI = "${GNU_MIRROR}/gzip/${BP}.tar.gz" +SRC_URI_append_class-target = " file://wrong-path-fix.patch" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://gzip.h;beginline=8;endline=20;md5=6e47caaa630e0c8bf9f1bc8d94a8ed0e" + PROVIDES_append_class-native = " gzip-replacement-native" NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}" diff --git a/meta/recipes-extended/hdparm/hdparm_9.43.bb b/meta/recipes-extended/hdparm/hdparm_9.45.bb index 805f76a6b3..d11412d40c 100644 --- a/meta/recipes-extended/hdparm/hdparm_9.43.bb +++ b/meta/recipes-extended/hdparm/hdparm_9.45.bb @@ -18,8 +18,8 @@ RDEPENDS_wiper = "bash gawk stat" SRC_URI = "${SOURCEFORGE_MIRROR}/hdparm/hdparm-${PV}.tar.gz " -SRC_URI[md5sum] = "f73233be118d86c779a8463d8b6a3cdb" -SRC_URI[sha256sum] = "2bbe92274971182192901ab220e94bd2e4896f924fa6b225d0cffd7d8c16b52a" +SRC_URI[md5sum] = "1c75d0751a44928b6c4bc81fb16d7fe8" +SRC_URI[sha256sum] = "23b01caa56a995cf0897877b6aff98ea622a5df255bc2894b1a7693387f38669" EXTRA_OEMAKE += 'STRIP="echo"' diff --git a/meta/recipes-extended/images/core-image-kernel-dev.bb b/meta/recipes-extended/images/core-image-kernel-dev.bb new file mode 100644 index 0000000000..e1aa71a79f --- /dev/null +++ b/meta/recipes-extended/images/core-image-kernel-dev.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "A development image that builds the kernel and packages that are \ +sensitive to kernel updates and version changes" + +# Could also be core-image-basic, but we'll keep this small for now +require recipes-core/images/core-image-minimal.bb + +KERNEL_DEV_UTILS ?= "dropbear" +KERNEL_DEV_TOOLS ?= "packagegroup-core-tools-profile packagegroup-core-buildessential kernel-devsrc" +KERNEL_DEV_MODULE ?= "kernel-modules" + +CORE_IMAGE_EXTRA_INSTALL += "${KERNEL_DEV_MODULE} \ + ${KERNEL_DEV_UTILS} \ + ${KERNEL_DEV_TOOLS} \ + " + +# We need extra space for things like kernel builds, etc. +IMAGE_ROOTFS_EXTRA_SPACE_append += "+ 3000000" diff --git a/meta/recipes-extended/iputils/iputils_s20121221.bb b/meta/recipes-extended/iputils/iputils_s20121221.bb index 46f8903222..e87a32a7de 100644 --- a/meta/recipes-extended/iputils/iputils_s20121221.bb +++ b/meta/recipes-extended/iputils/iputils_s20121221.bb @@ -34,6 +34,7 @@ do_install () { install -m 4555 ping ${D}${base_bindir}/ping install -m 4555 ping6 ${D}${base_bindir}/ping6 install -m 4555 traceroute6 ${D}${base_bindir}/ + install -m 4555 clockdiff ${D}${base_bindir}/ # Other programgs for i in arping tracepath tracepath6; do install -m 0755 $i ${D}${base_bindir}/ @@ -54,10 +55,10 @@ ALTERNATIVE_LINK_NAME[ping] = "${base_bindir}/ping" ALTERNATIVE_${PN}-ping6 = "ping6" ALTERNATIVE_LINK_NAME[ping6] = "${base_bindir}/ping6" -PACKAGES += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6" +PACKAGES += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6 ${PN}-clockdiff" ALLOW_EMPTY_${PN} = "1" -RDEPENDS_${PN} += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6" +RDEPENDS_${PN} += "${PN}-ping ${PN}-ping6 ${PN}-arping ${PN}-tracepath ${PN}-tracepath6 ${PN}-traceroute6 ${PN}-clockdiff" FILES_${PN} = "" FILES_${PN}-ping = "${base_bindir}/ping.${BPN}" @@ -66,4 +67,5 @@ FILES_${PN}-arping = "${base_bindir}/arping" FILES_${PN}-tracepath = "${base_bindir}/tracepath" FILES_${PN}-tracepath6 = "${base_bindir}/tracepath6" FILES_${PN}-traceroute6 = "${base_bindir}/traceroute6" +FILES_${PN}-clockdiff = "${base_bindir}/clockdiff" FILES_${PN}-doc = "${mandir}/man8" diff --git a/meta/recipes-extended/less/less_458.bb b/meta/recipes-extended/less/less_471.bb index 3e4518a339..81d354ccf0 100644 --- a/meta/recipes-extended/less/less_458.bb +++ b/meta/recipes-extended/less/less_471.bb @@ -26,8 +26,8 @@ DEPENDS = "ncurses" SRC_URI = "http://www.greenwoodsoftware.com/${BPN}/${BPN}-${PV}.tar.gz" -SRC_URI[md5sum] = "935b38aa2e73c888c210dedf8fd94f49" -SRC_URI[sha256sum] = "e536c7819ede54b3d487f0ffc4c14b3620bed83734d92a81e89f62346db0fcac" +SRC_URI[md5sum] = "9a40d29a2d84b41f9f36d7dd90b4f950" +SRC_URI[sha256sum] = "37f613fa9a526378788d790a92217d59b523574cf7159f6538da8564b3fb27f8" inherit autotools update-alternatives diff --git a/meta/recipes-extended/libaio/libaio/00_arches.patch b/meta/recipes-extended/libaio/libaio/00_arches.patch index 91f4588cc5..9d6447d98a 100644 --- a/meta/recipes-extended/libaio/libaio/00_arches.patch +++ b/meta/recipes-extended/libaio/libaio/00_arches.patch @@ -2,10 +2,10 @@ Upstream-Status: Inappropriate [embedded specific] from openembedded, added by Qing He <qing.he@intel.com> -Index: libaio-0.3.109/src/syscall-m68k.h +Index: libaio-0.3.110/src/syscall-m68k.h =================================================================== --- /dev/null -+++ libaio-0.3.109/src/syscall-m68k.h ++++ libaio-0.3.110/src/syscall-m68k.h @@ -0,0 +1,78 @@ +#define __NR_io_setup 241 +#define __NR_io_destroy 242 @@ -85,164 +85,27 @@ Index: libaio-0.3.109/src/syscall-m68k.h +return (type) __res; \ +} + -Index: libaio-0.3.109/src/syscall-sparc.h +Index: libaio-0.3.110/src/syscall.h =================================================================== ---- /dev/null -+++ libaio-0.3.109/src/syscall-sparc.h -@@ -0,0 +1,130 @@ -+/* $Id: unistd.h,v 1.74 2002/02/08 03:57:18 davem Exp $ */ -+ -+/* -+ * System calls under the Sparc. -+ * -+ * Don't be scared by the ugly clobbers, it is the only way I can -+ * think of right now to force the arguments into fixed registers -+ * before the trap into the system call with gcc 'asm' statements. -+ * -+ * Copyright (C) 1995 David S. Miller (davem@caip.rutgers.edu) -+ * -+ * SunOS compatibility based upon preliminary work which is: -+ * -+ * Copyright (C) 1995 Adrian M. Rodriguez (adrian@remus.rutgers.edu) -+ */ -+ -+ -+#define __NR_io_setup 268 -+#define __NR_io_destroy 269 -+#define __NR_io_submit 270 -+#define __NR_io_cancel 271 -+#define __NR_io_getevents 272 -+ -+ -+#define io_syscall1(type,fname,sname,type1,arg1) \ -+type fname(type1 arg1) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res >= 0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall2(type,fname,sname,type1,arg1,type2,arg2) \ -+type fname(type1 arg1,type2 arg2) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res >= 0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall3(type,fname,sname,type1,arg1,type2,arg2,type3,arg3) \ -+type fname(type1 arg1,type2 arg2,type3 arg3) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+register long __o2 __asm__ ("o2") = (long)(arg3); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res>=0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall4(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4) \ -+type fname(type1 arg1, type2 arg2, type3 arg3, type4 arg4) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+register long __o2 __asm__ ("o2") = (long)(arg3); \ -+register long __o3 __asm__ ("o3") = (long)(arg4); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res>=0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -+#define io_syscall5(type,fname,sname,type1,arg1,type2,arg2,type3,arg3,type4,arg4, \ -+ type5,arg5) \ -+type fname(type1 arg1,type2 arg2,type3 arg3,type4 arg4,type5 arg5) \ -+{ \ -+long __res; \ -+register long __g1 __asm__ ("g1") = __NR_##sname; \ -+register long __o0 __asm__ ("o0") = (long)(arg1); \ -+register long __o1 __asm__ ("o1") = (long)(arg2); \ -+register long __o2 __asm__ ("o2") = (long)(arg3); \ -+register long __o3 __asm__ ("o3") = (long)(arg4); \ -+register long __o4 __asm__ ("o4") = (long)(arg5); \ -+__asm__ __volatile__ ("t 0x10\n\t" \ -+ "bcc 1f\n\t" \ -+ "mov %%o0, %0\n\t" \ -+ "sub %%g0, %%o0, %0\n\t" \ -+ "1:\n\t" \ -+ : "=r" (__res), "=&r" (__o0) \ -+ : "1" (__o0), "r" (__o1), "r" (__o2), "r" (__o3), "r" (__o4), "r" (__g1) \ -+ : "cc"); \ -+if (__res < -255 || __res>=0) \ -+ return (type) __res; \ -+return -1; \ -+} -+ -Index: libaio-0.3.109/src/syscall.h -=================================================================== ---- libaio-0.3.109.orig/src/syscall.h -+++ libaio-0.3.109/src/syscall.h -@@ -24,6 +24,14 @@ - #include "syscall-alpha.h" - #elif defined(__arm__) - #include "syscall-arm.h" +--- libaio-0.3.110.orig/src/syscall.h ++++ libaio-0.3.110/src/syscall.h +@@ -28,6 +28,12 @@ + #include "syscall-sparc.h" + #elif defined(__aarch64__) + #include "syscall-arm64.h" +#elif defined(__m68k__) +#include "syscall-m68k.h" -+#elif defined(__sparc__) -+#include "syscall-sparc.h" +#elif defined(__hppa__) +#include "syscall-parisc.h" +#elif defined(__mips__) +#include "syscall-mips.h" #else - #error "add syscall-arch.h" - #endif -Index: libaio-0.3.109/src/syscall-mips.h + #warning "using generic syscall method" + #include "syscall-generic.h" +Index: libaio-0.3.110/src/syscall-mips.h =================================================================== --- /dev/null -+++ libaio-0.3.109/src/syscall-mips.h ++++ libaio-0.3.110/src/syscall-mips.h @@ -0,0 +1,223 @@ +/* + * This file is subject to the terms and conditions of the GNU General Public @@ -467,45 +330,10 @@ Index: libaio-0.3.109/src/syscall-mips.h + +#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */ + -Index: libaio-0.3.109/src/libaio.h -=================================================================== ---- libaio-0.3.109.orig/src/libaio.h -+++ libaio-0.3.109/src/libaio.h -@@ -83,6 +83,30 @@ typedef enum io_iocb_cmd { - #define PADDEDptr(x, y) x; unsigned y - #define PADDEDul(x, y) unsigned long x; unsigned y - # endif -+#elif defined(__m68k__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+#elif defined(__sparc__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+#elif defined(__hppa__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+#elif defined(__mips__) -+# if defined (__MIPSEB__) /* big endian, 32 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x, y) unsigned y; x -+#define PADDEDul(x, y) unsigned y; unsigned long x -+# elif defined(__MIPSEL__) /* little endian, 32 bits */ -+#define PADDED(x, y) x; unsigned y -+#define PADDEDptr(x, y) x; unsigned y -+#define PADDEDul(x, y) unsigned long x; unsigned y -+# else -+# error "neither mipseb nor mipsel?" -+# endif - #else - #error endian? - #endif -Index: libaio-0.3.109/src/syscall-parisc.h +Index: libaio-0.3.110/src/syscall-parisc.h =================================================================== --- /dev/null -+++ libaio-0.3.109/src/syscall-parisc.h ++++ libaio-0.3.110/src/syscall-parisc.h @@ -0,0 +1,146 @@ +/* + * Linux system call numbers. @@ -653,10 +481,10 @@ Index: libaio-0.3.109/src/syscall-parisc.h + return K_INLINE_SYSCALL(sname, 5, arg1, arg2, arg3, arg4, arg5); \ +} + -Index: libaio-0.3.109/src/syscall-arm.h +Index: libaio-0.3.110/src/syscall-arm.h =================================================================== ---- libaio-0.3.109.orig/src/syscall-arm.h -+++ libaio-0.3.109/src/syscall-arm.h +--- libaio-0.3.110.orig/src/syscall-arm.h ++++ libaio-0.3.110/src/syscall-arm.h @@ -114,3 +114,119 @@ type fname(type1 arg1, type2 arg2, type3 return (type) __res_r0; \ } diff --git a/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch b/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch new file mode 100644 index 0000000000..bba7e554af --- /dev/null +++ b/meta/recipes-extended/libaio/libaio/generic-arch-dectection-for-padding-defines.patch @@ -0,0 +1,65 @@ +From: Nathan Rossi <nathan.rossi@xilinx.com> +Date: Tue, 27 Jan 2015 14:59:35 +1000 +Subject: [PATCH] Generic arch dectection for padding defines + +When available use the GNU C defines for endian and bitwidth to +determine the padding required. This reduces the need to define the +padding selection for every architecture. + +Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> +Signed-off-by: Jeff Moyer <jmoyer@redhat.com> +Upstream-Status: Backport +--- + src/libaio.h | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/src/libaio.h b/src/libaio.h +index 1223146..4a4e0f5 100644 +--- a/src/libaio.h ++++ b/src/libaio.h +@@ -52,14 +52,18 @@ typedef enum io_iocb_cmd { + /* little endian, 32 bits */ + #if defined(__i386__) || (defined(__arm__) && !defined(__ARMEB__)) || \ + defined(__sh__) || defined(__bfin__) || defined(__MIPSEL__) || \ +- defined(__cris__) ++ defined(__cris__) || \ ++ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ ++ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 4) + #define PADDED(x, y) x; unsigned y + #define PADDEDptr(x, y) x; unsigned y + #define PADDEDul(x, y) unsigned long x; unsigned y + + /* little endian, 64 bits */ + #elif defined(__ia64__) || defined(__x86_64__) || defined(__alpha__) || \ +- (defined(__aarch64__) && defined(__AARCH64EL__)) ++ (defined(__aarch64__) && defined(__AARCH64EL__)) || \ ++ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ ++ __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ && __SIZEOF_LONG__ == 8) + #define PADDED(x, y) x, y + #define PADDEDptr(x, y) x + #define PADDEDul(x, y) unsigned long x +@@ -67,7 +71,9 @@ typedef enum io_iocb_cmd { + /* big endian, 64 bits */ + #elif defined(__powerpc64__) || defined(__s390x__) || \ + (defined(__sparc__) && defined(__arch64__)) || \ +- (defined(__aarch64__) && defined(__AARCH64EB__)) ++ (defined(__aarch64__) && defined(__AARCH64EB__)) || \ ++ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ ++ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 8) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x,y) x + #define PADDEDul(x, y) unsigned long x +@@ -76,7 +82,9 @@ typedef enum io_iocb_cmd { + #elif defined(__PPC__) || defined(__s390__) || \ + (defined(__arm__) && defined(__ARMEB__)) || \ + defined(__sparc__) || defined(__MIPSEB__) || defined(__m68k__) || \ +- defined(__hppa__) || defined(__frv__) || defined(__avr32__) ++ defined(__hppa__) || defined(__frv__) || defined(__avr32__) || \ ++ (defined(__GNUC__) && defined(__BYTE_ORDER__) && \ ++ __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ && __SIZEOF_LONG__ == 4) + #define PADDED(x, y) unsigned y; x + #define PADDEDptr(x, y) unsigned y; x + #define PADDEDul(x, y) unsigned y; unsigned long x +-- +2.1.1 + diff --git a/meta/recipes-extended/libaio/libaio/libaio-aarch64.patch b/meta/recipes-extended/libaio/libaio/libaio-aarch64.patch deleted file mode 100644 index e3d10585de..0000000000 --- a/meta/recipes-extended/libaio/libaio/libaio-aarch64.patch +++ /dev/null @@ -1,28 +0,0 @@ -Upstream-Status: Submitted - -Signed-off-by: Riku Voipio <riku.voipio@linaro.org> - ---- - harness/cases/16.t | 2 ++ - src/libaio.h | 10 ++++++++++ - 2 files changed, 12 insertions(+) - ---- a/src/libaio.h -+++ b/src/libaio.h -@@ -107,6 +107,16 @@ - # else - # error "neither mipseb nor mipsel?" - # endif -+#elif defined(__aarch64__) -+# if defined (__AARCH64EB__) /* big endian, 64 bits */ -+#define PADDED(x, y) unsigned y; x -+#define PADDEDptr(x,y) x -+#define PADDEDul(x, y) unsigned long x -+# elif defined(__AARCH64EL__) /* little endian, 64 bits */ -+#define PADDED(x, y) x, y -+#define PADDEDptr(x, y) x -+#define PADDEDul(x, y) unsigned long x -+# endif - #else - #error endian? - #endif diff --git a/meta/recipes-extended/libaio/libaio/toolchain.patch b/meta/recipes-extended/libaio/libaio/toolchain.patch deleted file mode 100644 index 4d88ec167b..0000000000 --- a/meta/recipes-extended/libaio/libaio/toolchain.patch +++ /dev/null @@ -1,27 +0,0 @@ -Upstream-Status: Inappropriate [embedded specific] - -8/27/2010 - created by Qing He <qing.he@intel.com> - -diff --git a/src/Makefile b/src/Makefile -index 8d134cc..df8e5b6 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -2,7 +2,6 @@ prefix=/usr - includedir=$(prefix)/include - libdir=$(prefix)/lib - --ARCH := $(shell uname -m | sed -e s/i.86/i386/) - CFLAGS := -nostdlib -nostartfiles -Wall -I. -g -fomit-frame-pointer -O2 -fPIC - SO_CFLAGS=-shared $(CFLAGS) - L_CFLAGS=$(CFLAGS) -@@ -44,8 +43,8 @@ $(libaio_objs) $(libaio_sobjs): libaio.h vsys_def.h - - libaio.a: $(libaio_objs) - rm -f libaio.a -- ar r libaio.a $^ -- ranlib libaio.a -+ $(AR) r libaio.a $^ -+ $(RANLIB) libaio.a - - $(libname): $(libaio_sobjs) libaio.map - $(CC) $(SO_CFLAGS) -Wl,--version-script=libaio.map -Wl,-soname=$(soname) -o $@ $(libaio_sobjs) $(LINK_FLAGS) diff --git a/meta/recipes-extended/libaio/libaio_0.3.109.bb b/meta/recipes-extended/libaio/libaio_0.3.110.bb index 978f5f5fb5..cbe29ce2ab 100644 --- a/meta/recipes-extended/libaio/libaio_0.3.109.bb +++ b/meta/recipes-extended/libaio/libaio_0.3.110.bb @@ -5,22 +5,20 @@ HOMEPAGE = "http://lse.sourceforge.net/io/aio.html" LICENSE = "LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" -PR = "r2" - SRC_URI = "${DEBIAN_MIRROR}/main/liba/libaio/libaio_${PV}.orig.tar.gz \ + file://generic-arch-dectection-for-padding-defines.patch \ file://00_arches.patch \ - file://toolchain.patch \ file://destdir.patch \ file://libaio_fix_for_x32.patch \ - file://libaio-generic.patch \ - file://libaio-aarch64.patch \ file://libaio_fix_for_mips_syscalls.patch \ " -SRC_URI[md5sum] = "435a5b16ca6198eaf01155263d855756" -SRC_URI[sha256sum] = "bf4a457253cbaab215aea75cb6e18dc8d95bbd507e9920661ff9bdd288c8778d" +SRC_URI[md5sum] = "2a35602e43778383e2f4907a4ca39ab8" +SRC_URI[sha256sum] = "e019028e631725729376250e32b473012f7cb68e1f7275bfc1bbcdd0f8745f7e" EXTRA_OEMAKE =+ "prefix=${prefix} includedir=${includedir} libdir=${libdir}" +# Need libc for stack-protector's __stack_chk_fail_local() bounce function +LDFLAGS_append_x86 = " -lc" do_configure () { sed -i 's#LINK_FLAGS=.*#LINK_FLAGS=$(LDFLAGS)#' src/Makefile diff --git a/meta/recipes-extended/libarchive/libarchive_3.1.2.bb b/meta/recipes-extended/libarchive/libarchive_3.1.2.bb index 2a2d0f90f9..96e2d500ed 100644 --- a/meta/recipes-extended/libarchive/libarchive_3.1.2.bb +++ b/meta/recipes-extended/libarchive/libarchive_3.1.2.bb @@ -27,6 +27,7 @@ PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," PACKAGECONFIG[libxml2] = "--with-xml2,--without-xml2,libxml2," PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat," PACKAGECONFIG[lzo] = "--with-lzo2,--without-lzo2,lzo," +PACKAGECONFIG[nettle] = "--with-nettle,--without-nettle,nettle," SRC_URI = "http://libarchive.org/downloads/libarchive-${PV}.tar.gz \ file://libarchive-CVE-2013-0211.patch \ diff --git a/meta/recipes-extended/libidn/libidn_0.6.14.bb b/meta/recipes-extended/libidn/libidn_0.6.14.bb index ff8d345ccb..4df1d08d8f 100644 --- a/meta/recipes-extended/libidn/libidn_0.6.14.bb +++ b/meta/recipes-extended/libidn/libidn_0.6.14.bb @@ -29,4 +29,5 @@ do_configure_prepend() { do_install_append() { rm -rf ${D}${libdir}/Libidn.dll + rm -rf ${D}${datadir}/emacs } diff --git a/meta/recipes-extended/libidn/libidn_1.28.bb b/meta/recipes-extended/libidn/libidn_1.29.bb index bd079c1fe2..04b534474d 100644 --- a/meta/recipes-extended/libidn/libidn_1.28.bb +++ b/meta/recipes-extended/libidn/libidn_1.29.bb @@ -3,13 +3,13 @@ DESCRIPTION = "Implementation of the Stringprep, Punycode and IDNA specification HOMEPAGE = "http://www.gnu.org/software/libidn/" SECTION = "libs" LICENSE = "(LGPLv2.1+ | LGPLv3) & GPLv3+" -LIC_FILES_CHKSUM = "file://COPYING;md5=3231f57e8fce0f62f81b03107e788888 \ +LIC_FILES_CHKSUM = "file://COPYING;md5=b35f8839295dd730a55f1a19ec086217 \ file://COPYING.LESSERv2;md5=4fbd65380cdd255951079008b364516c \ file://COPYING.LESSERv3;md5=e6a600fd5e1d9cbde2d983680233ad02 \ file://COPYINGv2;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://COPYINGv3;md5=d32239bcb673463ab874e80d47fae504 \ - file://lib/idna.h;endline=21;md5=f73089b7f52dd2cb3540e274bd76106d \ - file://src/idn.c;endline=20;md5=d7797e6cc3a7b48e6050fc0d27104595" + file://lib/idna.h;endline=21;md5=61a0e126c0c5552290d9bfa57e407dd6 \ + file://src/idn.c;endline=20;md5=3f55c28bede16bd7b1244be73067d195" inherit pkgconfig autotools gettext texinfo @@ -19,8 +19,8 @@ SRC_URI = "${GNU_MIRROR}/libidn/${BPN}-${PV}.tar.gz \ file://dont-depend-on-help2man.patch \ " -SRC_URI[md5sum] = "43a6f14b16559e10a492acc65c4b0acc" -SRC_URI[sha256sum] = "dd357a968449abc97c7e5fa088a4a384de57cb36564f9d4e0d898ecc6373abfb" +SRC_URI[md5sum] = "2b67bb507207af379f9461e1307dc84b" +SRC_URI[sha256sum] = "fb82747dbbf9b36f703ed27293317d818d7e851d4f5773dedf3efa4db32a7c7c" # command tool is under GPLv3+, while libidn itself is under LGPLv2.1+ or LGPLv3 # so package command into a separate package diff --git a/meta/recipes-extended/libtirpc/libtirpc_0.2.4.bb b/meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb index 88e2d820ee..3edf002497 100644 --- a/meta/recipes-extended/libtirpc/libtirpc_0.2.4.bb +++ b/meta/recipes-extended/libtirpc/libtirpc_0.2.5.bb @@ -10,15 +10,15 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=f835cce8852481e4b2bbbdd23b5e47f3 \ DEPENDS += "xz-native" PROVIDES = "virtual/librpc" -SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.bz2;name=libtirpc \ +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.bz2;name=libtirpc \ ${GENTOO_MIRROR}/${BPN}-glibc-nfs.tar.xz;name=glibc-nfs \ file://libtirpc-0.2.1-fortify.patch \ " SRC_URI_append_libc-uclibc = " file://remove-des-uclibc.patch" -SRC_URI[libtirpc.md5sum] = "847995e8d002cbf1387bda05947be086" -SRC_URI[libtirpc.sha256sum] = "45c3e21dfc23a5ba501f9dfc6671678316fdfdb8355a1ec404ae2aa2f81943a1" +SRC_URI[libtirpc.md5sum] = "8cd41a5ef5a9b50d0fb6abb98af15368" +SRC_URI[libtirpc.sha256sum] = "62f9de7c2c8686c568757730e1fef66502a0e00d6cacf33546d0267984e002db" SRC_URI[glibc-nfs.md5sum] = "5ae500b9d0b6b72cb875bc04944b9445" SRC_URI[glibc-nfs.sha256sum] = "2677cfedf626f3f5a8f6e507aed5bb8f79a7453b589d684dbbc086e755170d83" diff --git a/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd b/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd index cd25bf17b3..f5f1c377b6 100644 --- a/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd +++ b/meta/recipes-extended/lighttpd/lighttpd/index.html.lighttpd @@ -1 +1 @@ -<html><body><h1>It works!</h1></body></html>
\ No newline at end of file +<html><body><h1>It works!</h1></body></html> diff --git a/meta/recipes-extended/lighttpd/lighttpd_1.4.35.bb b/meta/recipes-extended/lighttpd/lighttpd_1.4.35.bb index 0acc37d94f..0cf5aa2df2 100644 --- a/meta/recipes-extended/lighttpd/lighttpd_1.4.35.bb +++ b/meta/recipes-extended/lighttpd/lighttpd_1.4.35.bb @@ -29,6 +29,9 @@ SRC_URI = "http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-${PV}.t SRC_URI[md5sum] = "f7a88130ee9984b421ad8aa80629750a" SRC_URI[sha256sum] = "4a71c1f6d8af41ed894b507720c4c17184dc320590013881d5170ca7f15c5bf7" +PACKAGECONFIG ??= "openssl" +PACKAGECONFIG[openssl] = "--with-openssl, --without-openssl, openssl" + EXTRA_OECONF = " \ --without-bzip2 \ --without-ldap \ @@ -37,7 +40,6 @@ EXTRA_OECONF = " \ --with-pcre \ --without-webdav-props \ --without-webdav-locks \ - --without-openssl \ --disable-static \ " @@ -51,7 +53,7 @@ SYSTEMD_SERVICE_${PN} = "lighttpd.service" do_install_append() { install -d ${D}${sysconfdir}/init.d ${D}${sysconfdir}/lighttpd.d ${D}/www/pages/dav install -m 0755 ${WORKDIR}/lighttpd ${D}${sysconfdir}/init.d - install -m 0755 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/lighttpd.conf ${D}${sysconfdir} install -m 0644 ${WORKDIR}/index.html.lighttpd ${D}/www/pages/index.html install -d ${D}${systemd_unitdir}/system diff --git a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch b/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch index 43068bdbd7..43ebcffbae 100644 --- a/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch +++ b/meta/recipes-extended/logrotate/logrotate/disable-check-different-filesystems.patch @@ -7,19 +7,20 @@ Upstream-Status: Submitted Signed-off-by: Robert Yang <liezhi.yang@windriver.com> --- - config.c | 8 -------- - 1 files changed, 0 insertions(+), 8 deletions(-) + config.c | 9 --------- + 1 file changed, 9 deletions(-) diff --git a/config.c b/config.c -index a85d1df..24575b3 100644 +index e0eadb7..c23092f 100644 --- a/config.c +++ b/config.c -@@ -1453,14 +1453,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig) +@@ -1515,15 +1515,6 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig) dirName, strerror(errno)); goto error; } - -- if (sb.st_dev != sb2.st_dev) { +- if (sb.st_dev != sb2.st_dev +- && !(newlog->flags & (LOG_FLAG_COPYTRUNCATE | LOG_FLAG_COPY))) { - message(MESS_ERROR, - "%s:%d olddir %s and log file %s " - "are on different devices\n", configFile, @@ -30,5 +31,4 @@ index a85d1df..24575b3 100644 } -- -1.7.4.1 - +1.7.9.5 diff --git a/meta/recipes-extended/logrotate/logrotate_3.8.7.bb b/meta/recipes-extended/logrotate/logrotate_3.8.7.bb deleted file mode 100644 index b386b85bf6..0000000000 --- a/meta/recipes-extended/logrotate/logrotate_3.8.7.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Rotates, compresses, removes and mails system log files" -SECTION = "console/utils" -HOMEPAGE = "https://fedorahosted.org/logrotate/" -LICENSE = "GPLv2" - -DEPENDS="coreutils popt" - -LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" - -SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate-${PV}.tar.gz \ - file://act-as-mv-when-rotate.patch \ - file://disable-check-different-filesystems.patch \ - file://update-the-manual.patch \ - " - -SRC_URI[md5sum] = "99e08503ef24c3e2e3ff74cc5f3be213" -SRC_URI[sha256sum] = "f6ba691f40e30e640efa2752c1f9499a3f9738257660994de70a45fe00d12b64" - -EXTRA_OEMAKE = "" - -do_install(){ - oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} - mkdir -p ${D}${sysconfdir}/logrotate.d - mkdir -p ${D}${sysconfdir}/cron.daily - mkdir -p ${D}${localstatedir}/lib - install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf - install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate - touch ${D}${localstatedir}/lib/logrotate.status -} diff --git a/meta/recipes-extended/logrotate/logrotate_3.8.8.bb b/meta/recipes-extended/logrotate/logrotate_3.8.8.bb new file mode 100644 index 0000000000..e3cfa90ced --- /dev/null +++ b/meta/recipes-extended/logrotate/logrotate_3.8.8.bb @@ -0,0 +1,65 @@ +SUMMARY = "Rotates, compresses, removes and mails system log files" +SECTION = "console/utils" +HOMEPAGE = "https://fedorahosted.org/logrotate/" +LICENSE = "GPLv2" + +# TODO: logrotate 3.8.8 adds autotools/automake support, update recipe to use it. +# TODO: Document coreutils dependency. Why not RDEPENDS? Why not busybox? + +DEPENDS="coreutils popt" + +LIC_FILES_CHKSUM = "file://COPYING;md5=18810669f13b87348459e611d31ab760" + +SRC_URI = "https://fedorahosted.org/releases/l/o/logrotate/logrotate-${PV}.tar.gz \ + file://act-as-mv-when-rotate.patch \ + file://update-the-manual.patch \ + file://disable-check-different-filesystems.patch \ + " + +SRC_URI[md5sum] = "49846e873dddea15964cd0355b9943ca" +SRC_URI[sha256sum] = "46a1510ef4a1f4359edd5f361112cfd1523942e85ff28e6cbb0c81bad1829d0f" + +PACKAGECONFIG ?= "\ + ${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ +" + +PACKAGECONFIG[acl] = ",,acl" +PACKAGECONFIG[selinux] = ",,libselinux" + +CONFFILES_${PN} += "${localstatedir}/lib/logrotate.status \ + ${sysconfdir}/logrotate.conf" + +# If RPM_OPT_FLAGS is unset, it adds -g itself rather than obeying our +# optimization variables, so use it rather than EXTRA_CFLAGS. +EXTRA_OEMAKE = "\ + LFS= \ + OS_NAME='${OS_NAME}' \ + \ + 'CC=${CC}' \ + 'RPM_OPT_FLAGS=${CFLAGS}' \ + 'EXTRA_LDFLAGS=${LDFLAGS}' \ + \ + ${@base_contains('PACKAGECONFIG', 'acl', 'WITH_ACL=yes', '', d)} \ + ${@base_contains('PACKAGECONFIG', 'selinux', 'WITH_SELINUX=yes', '', d)} \ +" + +# OS_NAME in the makefile defaults to `uname -s`. The behavior for +# freebsd/netbsd is questionable, so leave it as Linux, which only sets +# INSTALL=install and BASEDIR=/usr. +OS_NAME = "Linux" + +do_compile_prepend() { + # Make sure the recompile is OK + rm -f ${B}/.depend +} + +do_install(){ + oe_runmake install DESTDIR=${D} PREFIX=${D} MANDIR=${mandir} BINDIR=${bindir} + mkdir -p ${D}${sysconfdir}/logrotate.d + mkdir -p ${D}${sysconfdir}/cron.daily + mkdir -p ${D}${localstatedir}/lib + install -p -m 644 examples/logrotate-default ${D}${sysconfdir}/logrotate.conf + install -p -m 755 examples/logrotate.cron ${D}${sysconfdir}/cron.daily/logrotate + touch ${D}${localstatedir}/lib/logrotate.status +} diff --git a/meta/recipes-extended/lsb/lsb_4.1.bb b/meta/recipes-extended/lsb/lsb_4.1.bb index d265731e04..f05c30cd2c 100644 --- a/meta/recipes-extended/lsb/lsb_4.1.bb +++ b/meta/recipes-extended/lsb/lsb_4.1.bb @@ -5,7 +5,7 @@ LICENSE = "GPLv2+" PR = "r2" # lsb_release needs getopt -RDEPENDS_${PN} += "util-linux" +RDEPENDS_${PN} += "${VIRTUAL-RUNTIME_getopt}" LIC_FILES_CHKSUM = "file://README;md5=12da544b1a3a5a1795a21160b49471cf" @@ -21,6 +21,8 @@ SRC_URI[md5sum] = "30537ef5a01e0ca94b7b8eb6a36bb1e4" SRC_URI[sha256sum] = "99321288f8d62e7a1d485b7c6bdccf06766fb8ca603c6195806e4457fdf17172" S = "${WORKDIR}/lsb-release-1.4" +CLEANBROKEN = "1" + do_install(){ oe_runmake install prefix=${D} mandir=${D}/${datadir}/man/ DESTDIR=${D} @@ -70,19 +72,18 @@ do_install(){ do_install_append(){ install -d ${D}${sysconfdir}/core-lsb - install -d ${D}/${baselib}/lsb for i in lsb_killproc lsb_log_message lsb_pidofproc lsb_start_daemon do install -m 0755 ${WORKDIR}/${i} ${D}${sysconfdir}/core-lsb done - install -m 0755 ${WORKDIR}/init-functions ${D}/${baselib}/lsb + + install -d ${D}/lib/lsb + install -m 0755 ${WORKDIR}/init-functions ${D}/lib/lsb # creat links for LSB test install -d ${D}/usr/lib/lsb ln -sf ${sbindir}/chkconfig ${D}/usr/lib/lsb/install_initd ln -sf ${sbindir}/chkconfig ${D}/usr/lib/lsb/remove_initd - install -d ${D}/${libdir} - ln -sf ${sbindir}/sendmail ${D}/${libdir}/sendmail if [ "${TARGET_ARCH}" = "x86_64" ];then cd ${D} @@ -117,5 +118,4 @@ do_install_append(){ FILES_${PN} += "/lib64 \ /usr/lib/lsb \ ${base_libdir}/lsb/* \ - ${libdir}/sendmail \ " diff --git a/meta/recipes-extended/lsb/lsbinitscripts_9.54.bb b/meta/recipes-extended/lsb/lsbinitscripts_9.61.bb index 29ec7024d2..65eb9f40ab 100644 --- a/meta/recipes-extended/lsb/lsbinitscripts_9.54.bb +++ b/meta/recipes-extended/lsb/lsbinitscripts_9.61.bb @@ -6,12 +6,12 @@ DEPENDS = "popt glib-2.0" LIC_FILES_CHKSUM = "file://COPYING;md5=ebf4e8b49780ab187d51bd26aaa022c6" S="${WORKDIR}/initscripts-${PV}" -SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-9.54.tar.bz2/cf63862785d224394053f081865eb853/initscripts-9.54.tar.bz2 \ +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/initscripts/initscripts-9.61.tar.bz2/892006be882b41f680109cb7336949d1/initscripts-9.61.tar.bz2 \ file://functions.patch \ " -SRC_URI[md5sum] = "cf63862785d224394053f081865eb853" -SRC_URI[sha256sum] = "686a9aa4d265fc26f134163b2ceb02d421b72c49d97197c285f39087753b0b19" +SRC_URI[md5sum] = "892006be882b41f680109cb7336949d1" +SRC_URI[sha256sum] = "fb090d3fc48adbc0bb5835090e7eb5f1aa7e33d39537523d017a604527a59653" inherit update-alternatives @@ -27,4 +27,5 @@ do_compile[noexec] = "1" do_install(){ install -d ${D}${sysconfdir}/init.d/ install -m 0644 ${S}/rc.d/init.d/functions ${D}${sysconfdir}/init.d/functions + sed -i 's,${base_bindir}/mountpoint,${bindir}/mountpoint,g' ${D}${sysconfdir}/init.d/functions } diff --git a/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh b/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh index ab79985b1b..b9971a17d1 100644 --- a/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh +++ b/meta/recipes-extended/lsb/lsbtest/LSB_Test.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/sh # Copyright (C) 2012 Wind River Systems, Inc. # diff --git a/meta/recipes-extended/lsof/lsof_4.87.bb b/meta/recipes-extended/lsof/lsof_4.88.bb index 5676cd9822..0e49f9217c 100644 --- a/meta/recipes-extended/lsof/lsof_4.87.bb +++ b/meta/recipes-extended/lsof/lsof_4.88.bb @@ -6,8 +6,8 @@ LICENSE = "BSD" SRC_URI = "ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/lsof_${PV}.tar.bz2" -SRC_URI[md5sum] = "80e2a76d0e05826db910ec88e631296c" -SRC_URI[sha256sum] = "dfdd3709d82bc79ccdf3e404b84aafa9aede5948642a824ecaefd0aac589da2c" +SRC_URI[md5sum] = "1b29c10db4aa88afcaeeaabeef6790db" +SRC_URI[sha256sum] = "fe6f9b0e26b779ccd0ea5a0b6327c2b5c38d207a6db16f61ac01bd6c44e5c99b" LOCALSRC = "file://${WORKDIR}/lsof_${PV}/lsof_${PV}_src.tar" S = "${WORKDIR}/lsof_${PV}_src" @@ -15,9 +15,16 @@ S = "${WORKDIR}/lsof_${PV}_src" LIC_FILES_CHKSUM = "file://${S}/00README;beginline=645;endline=679;md5=964df275d26429ba3b39dbb9f205172a" python do_unpack () { + # temporarily change S for unpack + # of lsof_${PV} + s = d.getVar('S') + d.setVar('S', '${WORKDIR}/lsof_${PV}') bb.build.exec_func('base_do_unpack', d) + # temporarily change SRC_URI for unpack + # of lsof_${PV}_src src_uri = d.getVar('SRC_URI') d.setVar('SRC_URI', '${LOCALSRC}') + d.setVar('S', s) bb.build.exec_func('base_do_unpack', d) d.setVar('SRC_URI', src_uri) } @@ -30,8 +37,8 @@ export LSOF_INCLUDE = "${STAGING_INCDIR}" do_configure () { export LSOF_AR="${AR} cr" export LSOF_RANLIB="${RANLIB}" - if [ "x${EGLIBCVERSION}" != "x" ];then - LINUX_CLIB=`echo ${EGLIBCVERSION} |sed -e 's,\.,,g'` + if [ "x${GLIBCVERSION}" != "x" ];then + LINUX_CLIB=`echo ${GLIBCVERSION} |sed -e 's,\.,,g'` LINUX_CLIB="-DGLIBCV=${LINUX_CLIB}" export LINUX_CLIB fi diff --git a/meta/recipes-extended/ltp/ltp/add-knob-for-numa.patch b/meta/recipes-extended/ltp/ltp/add-knob-for-numa.patch new file mode 100644 index 0000000000..064f00ae3d --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/add-knob-for-numa.patch @@ -0,0 +1,39 @@ +[PATCH] add knob to control whether numa support should be checked + +Upstream-Status: Pending + +otherwise the random dependency will be generated + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + configure.ac | 10 +- +diff --git a/configure.ac b/configure.ac +index 9f397e7..1357256 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -142,6 +142,12 @@ else + AC_SUBST([WITH_REALTIME_TESTSUITE],["no"]) + fi + ++AC_ARG_WITH([numa], ++ AC_HELP_STRING([--without-numa], ++ [without the numa support]), ++ [],[with_numa=yes], ++) ++ + AC_CONFIG_SUBDIRS([utils/ffsb-6.0-rc2]) + + # END testsuites knobs +@@ -159,7 +165,9 @@ LTP_CHECK_SIGNAL + LTP_CHECK_SYSCALL_EVENTFD + LTP_CHECK_SYSCALL_KEYCTL + LTP_CHECK_SYSCALL_MODIFY_LDT ++if test "x$with_numa" = xyes; then + LTP_CHECK_SYSCALL_NUMA ++fi + LTP_CHECK_SYSCALL_QUOTACTL + LTP_CHECK_SYSCALL_SIGNALFD + LTP_CHECK_SYSCALL_UNSHARE +-- +1.9.1 + diff --git a/meta/recipes-extended/ltp/ltp/add-knob-for-tirpc.patch b/meta/recipes-extended/ltp/ltp/add-knob-for-tirpc.patch new file mode 100644 index 0000000000..36ff4c775d --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/add-knob-for-tirpc.patch @@ -0,0 +1,37 @@ +[PATCH] add knob to control whether tirpc support should be checked + +Upstream-Status: Pending + +tirpc support is broken upstream. in the meantime, allow to disable tirpc. + +Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> +--- + configure.ac | 9 +++++++++ + 1 file changed, 9 insertions(+) + +--- a/configure.ac ++++ b/configure.ac +@@ -98,6 +98,13 @@ if test "x$with_python" = xyes; then + else + AC_SUBST([WITH_PYTHON],["no"]) + fi ++ ++# TI RPC ++AC_ARG_WITH([tirpc], ++ AC_HELP_STRING([--without-tirpc], ++ [without libtirpc support]), ++ [],[with_tirpc=yes], ++) + # END tools knobs + + # Testsuites knobs +@@ -182,7 +189,9 @@ LTP_CHECK_RENAMEAT + LTP_CHECK_FALLOCATE + LTP_CHECK_SYSCALL_FCNTL + LTP_CHECK_SYSCALL_PERF_EVENT_OPEN ++if test "x$with_tirpc" = xyes; then + LTP_CHECK_TIRPC ++fi + LTP_CHECK_TEE + LTP_CHECK_SPLICE + LTP_CHECK_VMSPLICE diff --git a/meta/recipes-extended/ltp/ltp/make-setregid02-work.patch b/meta/recipes-extended/ltp/ltp/make-setregid02-work.patch new file mode 100644 index 0000000000..4836010bdf --- /dev/null +++ b/meta/recipes-extended/ltp/ltp/make-setregid02-work.patch @@ -0,0 +1,61 @@ +[PATCH] make setregid02 work + +Upstream-Status: Inappropriate [configuration] + +there is no "nobody" group in oe-core, the user "nobody" belongs to +"nogroup" group, so replace nobody with nogroup to make the test pass + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + testcases/kernel/syscalls/setregid/setregid02.c | 16 ++++++++-------- + 1 file changed, 8 insertions(+), 8 deletions(-) + +diff --git a/testcases/kernel/syscalls/setregid/setregid02.c b/testcases/kernel/syscalls/setregid/setregid02.c +index 8058627..866bee4 100644 +--- a/testcases/kernel/syscalls/setregid/setregid02.c ++++ b/testcases/kernel/syscalls/setregid/setregid02.c +@@ -41,7 +41,7 @@ static gid_t neg_one = -1; + + static struct passwd *ltpuser; + +-static struct group nobody, root, bin; ++static struct group nogroup, root, bin; + + /* + * The following structure contains all test data. Each structure in the array +@@ -57,17 +57,17 @@ struct test_data_t { + char *test_msg; + } test_data[] = { + { +- &neg_one, &root.gr_gid, EPERM, &nobody, &nobody, ++ &neg_one, &root.gr_gid, EPERM, &nogroup, &nogroup, + "After setregid(-1, root),"}, { +- &neg_one, &bin.gr_gid, EPERM, &nobody, &nobody, ++ &neg_one, &bin.gr_gid, EPERM, &nogroup, &nogroup, + "After setregid(-1, bin)"}, { +- &root.gr_gid, &neg_one, EPERM, &nobody, &nobody, ++ &root.gr_gid, &neg_one, EPERM, &nogroup, &nogroup, + "After setregid(root,-1),"}, { +- &bin.gr_gid, &neg_one, EPERM, &nobody, &nobody, ++ &bin.gr_gid, &neg_one, EPERM, &nogroup, &nogroup, + "After setregid(bin, -1),"}, { +- &root.gr_gid, &bin.gr_gid, EPERM, &nobody, &nobody, ++ &root.gr_gid, &bin.gr_gid, EPERM, &nogroup, &nogroup, + "After setregid(root, bin)"}, { +- &bin.gr_gid, &root.gr_gid, EPERM, &nobody, &nobody, ++ &bin.gr_gid, &root.gr_gid, EPERM, &nogroup, &nogroup, + "After setregid(bin, root),"} + }; + +@@ -165,7 +165,7 @@ static void setup(void) + } while (0) + + GET_GID(root); +- GET_GID(nobody); ++ GET_GID(nogroup); + GET_GID(bin); + + TEST_PAUSE; +-- +1.9.1 + diff --git a/meta/recipes-extended/ltp/ltp_20140422.bb b/meta/recipes-extended/ltp/ltp_20150119.bb index 995d6170ee..b422646903 100644 --- a/meta/recipes-extended/ltp/ltp_20140422.bb +++ b/meta/recipes-extended/ltp/ltp_20150119.bb @@ -19,12 +19,15 @@ LIC_FILES_CHKSUM = "\ file://utils/ffsb-6.0-rc2/COPYING;md5=c46082167a314d785d012a244748d803 \ " -DEPENDS = "attr libaio libcap acl openssl" -SRCREV = "f4c3bfe1eab51eb72caeb0f3336d2790c9a8bd1b" +DEPENDS = "attr libaio libcap acl openssl zip-native" +SRCREV = "b6ab85d764339b025526bdaf0b5026a67b3a677a" SRC_URI = "git://github.com/linux-test-project/ltp.git \ file://0001-Rename-runtests_noltp.sh-script-so-have-unique-name.patch \ file://ltp-Do-not-link-against-libfl.patch \ + file://make-setregid02-work.patch \ + file://add-knob-for-numa.patch \ + file://add-knob-for-tirpc.patch \ " S = "${WORKDIR}/git" @@ -36,13 +39,11 @@ TARGET_CC_ARCH += "${LDFLAGS}" export prefix = "/opt/ltp" export exec_prefix = "/opt/ltp" +PACKAGECONFIG[numa] = "--with-numa, --without-numa, numactl," +EXTRA_AUTORECONF += "-I ${S}/testcases/realtime/m4" EXTRA_OECONF = " --with-power-management-testsuite --with-realtime-testsuite " - -# ltp doesn't regenerate ffsb-6.0-rc2 configure and hardcode configure call. -# we explicitly force regeneration of that directory and pass configure options. -do_configure_append() { - (cd utils/ffsb-6.0-rc2; autoreconf -fvi; ./configure ${CONFIGUREOPTS}) -} +# ltp network/rpc test cases ftbfs when libtirpc is found +EXTRA_OECONF += " --without-tirpc " # The makefiles make excessive use of make -C and several include testcases.mk # which triggers a build of the syscall header. To reproduce, build ltp, @@ -58,13 +59,9 @@ do_install(){ # Copy POSIX test suite into ${D}/opt/ltp/testcases by manual cp -r testcases/open_posix_testsuite ${D}/opt/ltp/testcases - - # We need to remove all scripts which depend on /usr/bin/expect, since expect is not supported in oe-core - # We will add expect for enhancement in future - find ${D} -type f -print | xargs grep "\!.*\/usr\/bin\/expect" | awk -F":" '{print $1}' | xargs rm -f } -RDEPENDS_${PN} = "perl e2fsprogs-mke2fs" +RDEPENDS_${PN} = "perl e2fsprogs-mke2fs python-core libaio bash gawk expect" FILES_${PN}-dbg += "\ /opt/ltp/runtest/.debug \ diff --git a/meta/recipes-extended/mailx/mailx_12.5.bb b/meta/recipes-extended/mailx/mailx_12.5.bb index cc0b6bfd3a..a53da3af5d 100644 --- a/meta/recipes-extended/mailx/mailx_12.5.bb +++ b/meta/recipes-extended/mailx/mailx_12.5.bb @@ -12,8 +12,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4202a0a62910cf94f7af8a3436a2a2dd" DEPENDS = "openssl" -SRC_URI = "${DEBIAN_MIRROR}/main/h/heirloom-mailx/heirloom-mailx_${PV}.orig.tar.gz;name=archive \ - ${DEBIAN_MIRROR}/main/h/heirloom-mailx/heirloom-mailx_${PV}-1.diff.gz;name=patch \ +SRC_URI = "https://launchpad.net/ubuntu/+archive/primary/+files/heirloom-mailx_12.5.orig.tar.gz;name=archive \ + https://launchpad.net/ubuntu/+archive/primary/+files/heirloom-mailx_12.5-1.diff.gz;name=patch \ file://explicitly.disable.krb5.support.patch \ " @@ -29,4 +29,8 @@ inherit autotools-brokensep CFLAGS_append = " -D_BSD_SOURCE -DDEBIAN -I${S}/EXT" EXTRA_OEMAKE = "SENDMAIL=${sbindir}/sendmail" +# The makeconfig can't run parallelly, otherwise the checking results +# might be incorrect and lead to errors: +# fio.c:56:17: fatal error: ssl.h: No such file or directory +# #include <ssl.h> PARALLEL_MAKE = "" diff --git a/meta/recipes-extended/man-pages/man-pages_3.68.bb b/meta/recipes-extended/man-pages/man-pages_3.76.bb index fb669844ff..ed8a15f51d 100644 --- a/meta/recipes-extended/man-pages/man-pages_3.68.bb +++ b/meta/recipes-extended/man-pages/man-pages_3.76.bb @@ -7,8 +7,8 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://README;md5=8f2a3d43057d458e5066714980567a60" SRC_URI = "${KERNELORG_MIRROR}/linux/docs/${BPN}/Archive/${BP}.tar.gz" -SRC_URI[md5sum] = "b23aa8262f9c999e66a413fb44a0a055" -SRC_URI[sha256sum] = "ad26df6a8878cb87309e8cb1e5867def3e3bfa731e3cf02af076db7d94f58f1f" +SRC_URI[md5sum] = "d00cf09677caefc3e827737afc565583" +SRC_URI[sha256sum] = "eff558c13b61a46136994514b3ec00a74dcf00414d3bde4f0edca80a36d36359" RDEPENDS_${PN} = "man" @@ -27,3 +27,10 @@ do_install() { # Only deliveres man-pages so FILES_${PN} gets everything FILES_${PN}-doc = "" FILES_${PN} = "${mandir}/*" + +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" +ALTERNATIVE_${PN} = "passwd.5 getspnam.3" +ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5" +ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3" diff --git a/meta/recipes-extended/man/man/man-1.6e-whatis2.patch b/meta/recipes-extended/man/man/man-1.6e-whatis2.patch index 7f013836c0..fc4ed3135d 100644 --- a/meta/recipes-extended/man/man/man-1.6e-whatis2.patch +++ b/meta/recipes-extended/man/man/man-1.6e-whatis2.patch @@ -50,3 +50,10 @@ Index: man-1.6f/src/makewhatis.sh here=`pwd` cd $mandir for i in $sections +@@ -447,7 +447,6 @@ + + chmod 644 ${mandir1}/whatis + rm $TMPFILE +- fi + done + done diff --git a/meta/recipes-extended/man/man/man-1.6g-whatis3.patch b/meta/recipes-extended/man/man/man-1.6g-whatis3.patch new file mode 100644 index 0000000000..6334456857 --- /dev/null +++ b/meta/recipes-extended/man/man/man-1.6g-whatis3.patch @@ -0,0 +1,20 @@ +Do not use absolute path for awk while getting the path of awk +when running makewhatis. +This can avoid errors if path of awk changes. + +Upstream-Status: Submitted [man-1.6g] + +Signed-off-by: Jian Liu <jian.liu@windriver.com> + +diff -Nur man-1.6g.orig/src/makewhatis.sh man-1.6g/src/makewhatis.sh +--- man-1.6g.orig/src/makewhatis.sh 2015-02-25 16:13:12.657611419 +0800 ++++ man-1.6g/src/makewhatis.sh 2015-02-25 16:14:49.334694815 +0800 +@@ -67,7 +67,7 @@ + # but that leads to problems and bugs. + + # AWK=/usr/bin/gawk +-AWK=@awk@ ++AWK=`which awk` + + # Find a place for our temporary files. If security is not a concern, use + # TMPFILE=/tmp/whatis$$; TMPFILEDIR=none diff --git a/meta/recipes-extended/man/man/man.conf b/meta/recipes-extended/man/man/man.conf index bb3c69720e..fc10be2758 100644 --- a/meta/recipes-extended/man/man/man.conf +++ b/meta/recipes-extended/man/man/man.conf @@ -133,7 +133,8 @@ MANSECT 1:1p:8:2:3:3p:4:5:6:7:9:0p:tcl:n:l:p:o # The command given must act as a filter. # .gz /bin/gunzip -c -.bz2 /bin/bzip2 -c -d +.bz2 /usr/bin/bunzip2 -c +.xz /usr/bin/unxz -c .z .Z /bin/zcat .F diff --git a/meta/recipes-extended/man/man_1.6g.bb b/meta/recipes-extended/man/man_1.6g.bb index a66e01cb9a..d4a4b26fc5 100644 --- a/meta/recipes-extended/man/man_1.6g.bb +++ b/meta/recipes-extended/man/man_1.6g.bb @@ -9,7 +9,20 @@ PR = "r1" DEPENDS = "groff less" -SRC_URI = "http://primates.ximian.com/~flucifredi/${BPN}/${BPN}-${PV}.tar.gz \ +def compress_pkg(d): + if "compress_doc" in (d.getVar("INHERIT", True) or "").split(): + compress = d.getVar("DOC_COMPRESS", True) + if compress == "gz": + return "gzip" + elif compress == "bz2": + return "bzip2" + elif compress == "xz": + return "xz" + return "" + +RDEPENDS_${PN} += "${@compress_pkg(d)}" + +SRC_URI = "http://pkgs.fedoraproject.org/lookaside/pkgs/man2html/${BP}.tar.gz/ba154d5796928b841c9c69f0ae376660/${BP}.tar.gz \ file://man-1.5k-confpath.patch;striplevel=0 \ file://man-1.5h1-make.patch \ file://man-1.5k-nonascii.patch \ @@ -37,7 +50,9 @@ SRC_URI = "http://primates.ximian.com/~flucifredi/${BPN}/${BPN}-${PV}.tar.gz \ file://man.1.gz;unpack=false \ file://man.7.gz;unpack=false \ file://man.conf \ - file://manpath.5.gz;unpack=false" + file://manpath.5.gz;unpack=false \ + file://man-1.6g-whatis3.patch \ +" SRC_URI[md5sum] = "ba154d5796928b841c9c69f0ae376660" SRC_URI[sha256sum] = "ccdcb8c3f4e0080923d7e818f0e4a202db26c46415eaef361387c20995b8959f" @@ -47,7 +62,7 @@ do_configure () { } -fakeroot do_install() { +do_install() { oe_runmake install DESTDIR=${D} } diff --git a/meta/recipes-extended/mc/mc/mc-CTRL.patch b/meta/recipes-extended/mc/mc/mc-CTRL.patch new file mode 100644 index 0000000000..e23d9dd81c --- /dev/null +++ b/meta/recipes-extended/mc/mc/mc-CTRL.patch @@ -0,0 +1,31 @@ +Fix build with musl by ensuring CTRL is defined. + +musl does not define CTRL in <termios.h>, we could include <sys/ttydefaults.h> +explicitly but it's easier just to ensure CTRL is defined. + +This patch is taken from Sabotage Linux, the license statement for patches and +build scripts in Sabotage Linux says: + + To the extent possible under law, Christian Neukirchen has waived + all copyright and related or neighboring rights to this work. + + http://creativecommons.org/publicdomain/zero/1.0/ + +Therefore this should be good to include in OpenEmbedded. + +Signed-off-by: Paul Barker <paul@paulbarker.me.uk> + +Upstream-status: Accepted (should be included in v4.8.14) + +diff -u mc-4.8.1.7.org/lib/tty/tty-ncurses.c mc-4.8.1.7/lib/tty/tty-ncurses.c +--- mc-4.8.1.7.org/lib/tty/tty-ncurses.c ++++ mc-4.8.1.7/lib/tty/tty-ncurses.c +@@ -65,7 +65,7 @@ + + /*** file scope macro definitions ****************************************************************/ + +-#if defined(_AIX) && !defined(CTRL) ++#if !defined(CTRL) + #define CTRL(x) ((x) & 0x1f) + #endif + diff --git a/meta/recipes-extended/mc/mc_4.7.5.2.bb b/meta/recipes-extended/mc/mc_4.7.5.2.bb index 0e4434c7d9..b47eb02323 100644 --- a/meta/recipes-extended/mc/mc_4.7.5.2.bb +++ b/meta/recipes-extended/mc/mc_4.7.5.2.bb @@ -8,7 +8,9 @@ RDEPENDS_${PN} = "ncurses-terminfo" PR = "r3" -SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2" +SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ + file://mc-CTRL.patch \ + " SRC_URI[md5sum] = "bdae966244496cd4f6d282d80c9cf3c6" SRC_URI[sha256sum] = "a68338862bb30017eb65ed569a58e80ab66ae8cef11c886440c9e9f4d1efc6ab" diff --git a/meta/recipes-extended/mc/mc_4.8.12.bb b/meta/recipes-extended/mc/mc_4.8.13.bb index b8971931d9..ef5b1a23e2 100644 --- a/meta/recipes-extended/mc/mc_4.8.12.bb +++ b/meta/recipes-extended/mc/mc_4.8.13.bb @@ -6,10 +6,12 @@ SECTION = "console/utils" DEPENDS = "ncurses glib-2.0" RDEPENDS_${PN} = "ncurses-terminfo" -SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2" +SRC_URI = "http://www.midnight-commander.org/downloads/${BPN}-${PV}.tar.bz2 \ + file://mc-CTRL.patch \ + " -SRC_URI[md5sum] = "a64c426364bfaee56b628f6c0738aade" -SRC_URI[sha256sum] = "1054fcc27a488771cbe5b85d7c10135fa1cd1b7682a19930d44b51a023e39396" +SRC_URI[md5sum] = "12a521a50da6a86852177591b9623d5e" +SRC_URI[sha256sum] = "22e1b809edba957eb9a392138bf87fea3877f7ca0b7463b7cc2eb94afa6f3e49" inherit autotools gettext pkgconfig diff --git a/meta/recipes-extended/mdadm/mdadm_3.3.bb b/meta/recipes-extended/mdadm/mdadm_3.3.2.bb index 40d68d6664..7140990396 100644 --- a/meta/recipes-extended/mdadm/mdadm_3.3.bb +++ b/meta/recipes-extended/mdadm/mdadm_3.3.2.bb @@ -8,13 +8,13 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://mdadm.h;beglinlne=4;endline=22;md5=462bc9936ac0d3da110191a3f9994161" -SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.bz2 \ +SRC_URI = "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ file://mdadm-3.2.2_fix_for_x32.patch \ file://gcc-4.9.patch \ " -SRC_URI[md5sum] = "8ac04259cdd74b4566c3b6dea9414b57" -SRC_URI[sha256sum] = "9c07e518bdf3392ebac8874eb686258e10ea3ae0ff7a8acb6d014718a9c3ed45" +SRC_URI[md5sum] = "44698d351501cac6a89072dc877eb220" +SRC_URI[sha256sum] = "0f3a7e1a76b13892b79f9fceaf99ecb23513260389a768ac644ffa3ae06e5b8c" CFLAGS += "-fno-strict-aliasing" @@ -32,6 +32,7 @@ EXTRA_OEMAKE = "CHECK_RUN_DIR=0" # int-ll64.h included EXTRA_OEMAKE_append_powerpc64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' EXTRA_OEMAKE_append_mips64 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' +EXTRA_OEMAKE_append_mips64n32 = ' CFLAGS=-D__SANE_USERSPACE_TYPES__' do_compile() { oe_runmake diff --git a/meta/recipes-extended/mingetty/mingetty_1.08.bb b/meta/recipes-extended/mingetty/mingetty_1.08.bb index f1936afd23..3c16228b0d 100644 --- a/meta/recipes-extended/mingetty/mingetty_1.08.bb +++ b/meta/recipes-extended/mingetty/mingetty_1.08.bb @@ -5,7 +5,7 @@ LICENSE = "GPLv2" PR = "r3" LIC_FILES_CHKSUM = "file://COPYING;md5=0c56db0143f4f80c369ee3af7425af6e" -SRC_URI = "http://cdnetworks-kr-1.dl.sourceforge.net/project/mingetty/mingetty/${PV}/mingetty-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz" SRC_URI[md5sum] = "2a75ad6487ff271424ffc00a64420990" SRC_URI[sha256sum] = "0f55c90ba4faa913d91ef99cbf5cb2eb4dbe2780314c3bb17953f849c8cddd17" diff --git a/meta/recipes-extended/msmtp/msmtp_1.4.32.bb b/meta/recipes-extended/msmtp/msmtp_1.6.1.bb index 4b7024ba85..d6f3a1516f 100644 --- a/meta/recipes-extended/msmtp/msmtp_1.4.32.bb +++ b/meta/recipes-extended/msmtp/msmtp_1.6.1.bb @@ -9,17 +9,22 @@ DEPENDS = "zlib gnutls" #COPYING or Licence LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" -SRC_URI = "http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${BPN}-${PV}.tar.bz2 \ +SRC_URI = "http://sourceforge.net/projects/msmtp/files/msmtp/${PV}/${BPN}-${PV}.tar.xz \ " -SRC_URI[md5sum] = "aa60e22211118f222470439cea60f795" -SRC_URI[sha256sum] = "2bf0c5c7e78f9905f48de235a75111a1a88238793043bbeae00360b22f1a5f88" +SRC_URI[md5sum] = "6ebba4809bbc665b8a665a018d1a5ee1" +SRC_URI[sha256sum] = "c45d47f2dc77484e3f74c0f66aef0d5d95de6c47ed71d9f926d86d546f8346f3" inherit gettext autotools update-alternatives pkgconfig -EXTRA_OECONF += "--without-gnome-keyring --without-libidn" +EXTRA_OECONF += "--without-libsecret --without-libgsasl --without-libidn" ALTERNATIVE_${PN} = "sendmail" ALTERNATIVE_TARGET[sendmail] = "${bindir}/msmtp" ALTERNATIVE_LINK_NAME[sendmail] = "${sbindir}/sendmail" ALTERNATIVE_PRIORITY = "100" + +pkg_postinst_${PN}_linuxstdbase () { + # /usr/lib/sendmial is required by LSB core test + [ ! -L $D/usr/lib/sendmail ] && ln -sf ${sbindir}/sendmail $D/usr/lib/ +} diff --git a/meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch b/meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch new file mode 100644 index 0000000000..06f81420e9 --- /dev/null +++ b/meta/recipes-extended/net-tools/net-tools/ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch @@ -0,0 +1,32 @@ +From 81814dc2b14843009193efd307d814c26baa61f0 Mon Sep 17 00:00:00 2001 +From: Jiri Popelka <jpopelka@redhat.com> +Date: Wed, 7 Dec 2011 19:14:09 +0100 +Subject: [PATCH] ifconfig interface:0 del <IP> will remove the aliased IP on IA64 + +Upstream-Status: Backport + +commit 81814dc2b14843009193efd307d814c26baa61f0 from +git://git.code.sf.net/p/net-tools/code + +--- + ifconfig.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/ifconfig.c b/ifconfig.c +index bc405c6..dae8922 100644 +--- a/ifconfig.c ++++ b/ifconfig.c +@@ -890,7 +890,9 @@ int main(int argc, char **argv) + continue; + } + +- memcpy(&ip, &sin.sin_addr.s_addr, sizeof(unsigned long)); ++ /* Clear "ip" in case sizeof(unsigned long) > sizeof(sin.sin_addr.s_addr) */ ++ ip = 0; ++ memcpy(&ip, &sin.sin_addr.s_addr, sizeof(sin.sin_addr.s_addr)); + + if (get_nmbc_parent(ifr.ifr_name, &nm, &bc) < 0) { + fprintf(stderr, _("Interface %s not initialized\n"), +-- +1.7.9.5 + diff --git a/meta/recipes-extended/net-tools/net-tools_1.60-25.bb b/meta/recipes-extended/net-tools/net-tools_1.60-25.bb index 5a7b3070c8..c47d69a43d 100644 --- a/meta/recipes-extended/net-tools/net-tools_1.60-25.bb +++ b/meta/recipes-extended/net-tools/net-tools_1.60-25.bb @@ -6,10 +6,12 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b \ file://ifconfig.c;beginline=11;endline=15;md5=d1ca372080ad5401e23ca0afc35cf9ba" -SRC_URI = "${DEBIAN_MIRROR}/main/n/net-tools/net-tools_1.60.orig.tar.gz;name=tarball \ - ${DEBIAN_MIRROR}/main/n/net-tools/${BPN}_${PV}.diff.gz;apply=no;name=patch \ +SRC_URI = "http://snapshot.debian.org/archive/debian/20050312T000000Z/pool/main/n/${BPN}/${BPN}_1.60.orig.tar.gz;name=tarball \ + http://snapshot.debian.org/archive/debian/20130511T214653Z/pool/main/n/${BPN}/${BPN}_${PV}.diff.gz;apply=no;name=patch \ file://net-tools-config.h \ - file://net-tools-config.make" + file://net-tools-config.make \ + file://ifconfig-interface-0-del-IP-will-remove-the-aliased-.patch \ + " S = "${WORKDIR}/net-tools-1.60" @@ -32,6 +34,7 @@ nettools_do_patch() { cd ${S} quilt pop -a || true if [ -d ${S}/.pc-nettools ]; then + rm -rf ${S}/.pc mv ${S}/.pc-nettools ${S}/.pc QUILT_PATCHES=${S}/debian/patches quilt pop -a rm -rf ${S}/.pc ${S}/debian diff --git a/meta/recipes-extended/newt/libnewt-python_0.52.17.bb b/meta/recipes-extended/newt/libnewt-python_0.52.18.bb index d591fbd3d2..ecc670e0aa 100644 --- a/meta/recipes-extended/newt/libnewt-python_0.52.17.bb +++ b/meta/recipes-extended/newt/libnewt-python_0.52.18.bb @@ -12,7 +12,7 @@ EXTRA_OEMAKE += "PYTHONVERS=${PYTHON_DIR}" do_compile () { VERSION="$(sed -n 's/^VERSION = //p' Makefile)" - oe_runmake "LIBNEWTSH=${STAGING_LIBDIR}/libnewt.so.$VERSION" _snack.so + oe_runmake _snack.so } do_install () { diff --git a/meta/recipes-extended/newt/libnewt_0.52.17.bb b/meta/recipes-extended/newt/libnewt_0.52.18.bb index 09b017e24e..fa2493b554 100644 --- a/meta/recipes-extended/newt/libnewt_0.52.17.bb +++ b/meta/recipes-extended/newt/libnewt_0.52.18.bb @@ -17,16 +17,14 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=5f30f0716dfdd0d91eb439ebec522ec2" # slang needs to be >= 2.2 DEPENDS = "slang popt" -PR = "r2" - SRC_URI = "https://fedorahosted.org/releases/n/e/newt/newt-${PV}.tar.gz \ file://remove_slang_include.patch \ file://fix_SHAREDDIR.patch \ file://cross_ar.patch \ " -SRC_URI[md5sum] = "f36d4d908965a0c89fd6fd8b61a6118b" -SRC_URI[sha256sum] = "69837973ef2ee2fa644426f1c3e48d2b18785ebcd382ef7fd01eb2e67d2d632b" +SRC_URI[md5sum] = "685721bee1a318570704b19dcf31d268" +SRC_URI[sha256sum] = "771b0e634ede56ae6a6acd910728bb5832ac13ddb0d1d27919d2498dab70c91e" S = "${WORKDIR}/newt-${PV}" @@ -34,6 +32,8 @@ EXTRA_OECONF = "--without-tcl --without-python" inherit autotools-brokensep +CLEANBROKEN = "1" + export STAGING_INCDIR export STAGING_LIBDIR @@ -46,4 +46,9 @@ do_configure_prepend() { sh autogen.sh } +do_compile_prepend() { + # Make sure the recompile is OK + rm -f ${B}/.depend +} + FILES_whiptail = "${bindir}/whiptail" diff --git a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb index 0c9d4dc952..e0f32e0a1d 100644 --- a/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb +++ b/meta/recipes-extended/packagegroups/packagegroup-core-lsb.bb @@ -25,7 +25,6 @@ PACKAGES = "\ " -RPROVIDES_packagegroup-core-lsb = "task-core-lsb" RDEPENDS_packagegroup-core-lsb = "\ packagegroup-core-sys-extended \ packagegroup-core-db \ @@ -129,7 +128,7 @@ RDEPENDS_packagegroup-core-lsb-core = "\ cups \ diffutils \ ed \ - eglibc-utils \ + glibc-utils \ elfutils \ file \ findutils \ @@ -159,7 +158,7 @@ RDEPENDS_packagegroup-core-lsb-core = "\ util-linux \ xdg-utils \ \ - eglibc \ + glibc \ libgcc \ libpam \ libxml2 \ @@ -212,6 +211,7 @@ QT4PKGS = " \ ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "libqtopengl4", "", d)} \ " QT4PKGS_mips64 = "" +QT4PKGS_mips64n32 = "" SUMMARY_packagegroup-core-lsb-desktop = "LSB Desktop" DESCRIPTION_packagegroup-core-lsb-desktop = "Packages required to support libraries \ @@ -246,13 +246,13 @@ RDEPENDS_packagegroup-core-lsb-runtime-add = "\ libxml-parser-perl \ libxml-perl \ libxml-sax-perl \ - eglibc-localedatas \ - eglibc-gconvs \ - eglibc-charmaps \ - eglibc-binaries \ - eglibc-localedata-posix \ - eglibc-extra-nss \ - eglibc-pcprofile \ + glibc-localedatas \ + glibc-gconvs \ + glibc-charmaps \ + glibc-binaries \ + glibc-localedata-posix \ + glibc-extra-nss \ + glibc-pcprofile \ libclass-isa-perl \ libenv-perl \ libdumpvalue-perl \ diff --git a/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch b/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch new file mode 100644 index 0000000000..680029ae0d --- /dev/null +++ b/meta/recipes-extended/pam/libpam/libpam-xtests-remove-bash-dependency.patch @@ -0,0 +1,226 @@ +From 555407ff6e2f742df64ae93859f14a0fc1397829 Mon Sep 17 00:00:00 2001 +From: Wenzong Fan <wenzong.fan@windriver.com> +Date: Fri, 12 Sep 2014 05:35:05 -0400 +Subject: [PATCH] libpam/xtests: remove bash dependency + +There's not bash specific syntax in the xtest scripts: + + # after below patches applied: + $ cd Linux-PAM-1.1.6/xtests + $ checkbashisms *.sh + No output + +Just remove the runtime dependency to bash. + +Upstream-Status: Pending + +Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> +--- + xtests/run-xtests.sh | 2 +- + xtests/tst-pam_access1.sh | 2 +- + xtests/tst-pam_access2.sh | 2 +- + xtests/tst-pam_access3.sh | 2 +- + xtests/tst-pam_access4.sh | 2 +- + xtests/tst-pam_assemble_line1.sh | 2 +- + xtests/tst-pam_group1.sh | 2 +- + xtests/tst-pam_limits1.sh | 2 +- + xtests/tst-pam_pwhistory1.sh | 2 +- + xtests/tst-pam_substack1.sh | 2 +- + xtests/tst-pam_substack2.sh | 2 +- + xtests/tst-pam_substack3.sh | 2 +- + xtests/tst-pam_substack4.sh | 2 +- + xtests/tst-pam_substack5.sh | 2 +- + xtests/tst-pam_succeed_if1.sh | 2 +- + xtests/tst-pam_unix1.sh | 2 +- + xtests/tst-pam_unix2.sh | 2 +- + xtests/tst-pam_unix3.sh | 2 +- + xtests/tst-pam_unix4.sh | 2 +- + 19 files changed, 19 insertions(+), 19 deletions(-) + +diff --git a/xtests/run-xtests.sh b/xtests/run-xtests.sh +index 3a89057..1cf8684 100755 +--- a/xtests/run-xtests.sh ++++ b/xtests/run-xtests.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + SRCDIR=$1 + shift 1 +diff --git a/xtests/tst-pam_access1.sh b/xtests/tst-pam_access1.sh +index 180d256..70521d2 100755 +--- a/xtests/tst-pam_access1.sh ++++ b/xtests/tst-pam_access1.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/groupadd tstpamaccess + /usr/sbin/useradd -G tstpamaccess -p '!!' tstpamaccess1 +diff --git a/xtests/tst-pam_access2.sh b/xtests/tst-pam_access2.sh +index 0a30275..7e3e60f 100755 +--- a/xtests/tst-pam_access2.sh ++++ b/xtests/tst-pam_access2.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/groupadd tstpamaccess + /usr/sbin/useradd -p '!!' tstpamaccess2 +diff --git a/xtests/tst-pam_access3.sh b/xtests/tst-pam_access3.sh +index 348e0c3..3630e2e 100755 +--- a/xtests/tst-pam_access3.sh ++++ b/xtests/tst-pam_access3.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/useradd -p '!!' tstpamaccess3 + ./tst-pam_access3 +diff --git a/xtests/tst-pam_access4.sh b/xtests/tst-pam_access4.sh +index 61e7b44..4538df4 100755 +--- a/xtests/tst-pam_access4.sh ++++ b/xtests/tst-pam_access4.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/useradd -p '!!' tstpamaccess4 + ./tst-pam_access4 +diff --git a/xtests/tst-pam_assemble_line1.sh b/xtests/tst-pam_assemble_line1.sh +index 248d47e..dc2a675 100755 +--- a/xtests/tst-pam_assemble_line1.sh ++++ b/xtests/tst-pam_assemble_line1.sh +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + + exec ./tst-pam_authfail tst-pam_assemble_line1 +diff --git a/xtests/tst-pam_group1.sh b/xtests/tst-pam_group1.sh +index b76377f..44faca9 100755 +--- a/xtests/tst-pam_group1.sh ++++ b/xtests/tst-pam_group1.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/groupadd tstpamgrpg + /usr/sbin/useradd -p '!!' tstpamgrp +diff --git a/xtests/tst-pam_limits1.sh b/xtests/tst-pam_limits1.sh +index 4faa822..32c021d 100755 +--- a/xtests/tst-pam_limits1.sh ++++ b/xtests/tst-pam_limits1.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/useradd -p '!!' tstpamlimits + ./tst-pam_limits1 +diff --git a/xtests/tst-pam_pwhistory1.sh b/xtests/tst-pam_pwhistory1.sh +index ddb3b8b..0f212e2 100644 +--- a/xtests/tst-pam_pwhistory1.sh ++++ b/xtests/tst-pam_pwhistory1.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/useradd tstpampwhistory + ./tst-pam_pwhistory1 +diff --git a/xtests/tst-pam_substack1.sh b/xtests/tst-pam_substack1.sh +index 5260175..f1b72a7 100755 +--- a/xtests/tst-pam_substack1.sh ++++ b/xtests/tst-pam_substack1.sh +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + + exec ./tst-pam_authfail tst-pam_substack1 +diff --git a/xtests/tst-pam_substack2.sh b/xtests/tst-pam_substack2.sh +index c02f597..3804fa7 100755 +--- a/xtests/tst-pam_substack2.sh ++++ b/xtests/tst-pam_substack2.sh +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + + exec ./tst-pam_authsucceed tst-pam_substack2 +diff --git a/xtests/tst-pam_substack3.sh b/xtests/tst-pam_substack3.sh +index 0e572aa..aa48e8e 100755 +--- a/xtests/tst-pam_substack3.sh ++++ b/xtests/tst-pam_substack3.sh +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + + exec ./tst-pam_authsucceed tst-pam_substack3 +diff --git a/xtests/tst-pam_substack4.sh b/xtests/tst-pam_substack4.sh +index a3ef08a..958a07a 100755 +--- a/xtests/tst-pam_substack4.sh ++++ b/xtests/tst-pam_substack4.sh +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + + exec ./tst-pam_authsucceed tst-pam_substack4 +diff --git a/xtests/tst-pam_substack5.sh b/xtests/tst-pam_substack5.sh +index e2714fd..7e0da74 100755 +--- a/xtests/tst-pam_substack5.sh ++++ b/xtests/tst-pam_substack5.sh +@@ -1,3 +1,3 @@ +-#!/bin/bash ++#!/bin/sh + + exec ./tst-pam_authfail tst-pam_substack5 +diff --git a/xtests/tst-pam_succeed_if1.sh b/xtests/tst-pam_succeed_if1.sh +index a643b2e..58e57b4 100755 +--- a/xtests/tst-pam_succeed_if1.sh ++++ b/xtests/tst-pam_succeed_if1.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/useradd -p '!!' tstpamtest + /usr/sbin/useradd -p '!!' pamtest +diff --git a/xtests/tst-pam_unix1.sh b/xtests/tst-pam_unix1.sh +index f75bd84..72deac0 100755 +--- a/xtests/tst-pam_unix1.sh ++++ b/xtests/tst-pam_unix1.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + /usr/sbin/useradd -p '!!' tstpamunix + ./tst-pam_unix1 +diff --git a/xtests/tst-pam_unix2.sh b/xtests/tst-pam_unix2.sh +index 7093155..c04d6e6 100755 +--- a/xtests/tst-pam_unix2.sh ++++ b/xtests/tst-pam_unix2.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + # pamunix0 = 0aXKZztA.d1KY + /usr/sbin/useradd -p 0aXKZztA.d1KY tstpamunix +diff --git a/xtests/tst-pam_unix3.sh b/xtests/tst-pam_unix3.sh +index ef4a07c..b52db2b 100755 +--- a/xtests/tst-pam_unix3.sh ++++ b/xtests/tst-pam_unix3.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU + /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix +diff --git a/xtests/tst-pam_unix4.sh b/xtests/tst-pam_unix4.sh +index 787c2f9..e7976fd 100755 +--- a/xtests/tst-pam_unix4.sh ++++ b/xtests/tst-pam_unix4.sh +@@ -1,4 +1,4 @@ +-#!/bin/bash ++#!/bin/sh + + # pamunix01 = 0aXKZztA.d1KYIuFXArmd2jU + /usr/sbin/useradd -p 0aXKZztA.d1KYIuFXArmd2jU tstpamunix +-- +1.7.9.5 + diff --git a/meta/recipes-extended/pam/libpam_1.1.6.bb b/meta/recipes-extended/pam/libpam_1.1.6.bb index 3190aaf0d1..b3b39da864 100644 --- a/meta/recipes-extended/pam/libpam_1.1.6.bb +++ b/meta/recipes-extended/pam/libpam_1.1.6.bb @@ -26,6 +26,7 @@ SRC_URI = "http://linux-pam.org/library/Linux-PAM-${PV}.tar.bz2 \ file://pam-security-abstract-securetty-handling.patch \ file://pam-unix-nullok-secure.patch \ file://pam_timestamp-fix-potential-directory-traversal-issu.patch \ + file://libpam-xtests-remove-bash-dependency.patch \ " SRC_URI[md5sum] = "7b73e58b7ce79ffa321d408de06db2c4" SRC_URI[sha256sum] = "bab887d6280f47fc3963df3b95735a27a16f0f663636163ddf3acab5f1149fc2" @@ -61,7 +62,7 @@ FILES_${PN}-dev += "${base_libdir}/security/*.la ${base_libdir}/*.la ${base_libd FILES_${PN}-runtime = "${sysconfdir}" FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests" -PACKAGES_DYNAMIC += "^pam-plugin-.*" +PACKAGES_DYNAMIC += "^${MLPREFIX}pam-plugin-.*" def get_multilib_bit(d): baselib = d.getVar('baselib', True) or '' @@ -69,12 +70,27 @@ def get_multilib_bit(d): libpam_suffix = "suffix${@get_multilib_bit(d)}" -RPROVIDES_${PN} += "libpam-${libpam_suffix}" -RPROVIDES_${PN}-runtime += "libpam-runtime-${libpam_suffix}" - -RDEPENDS_${PN}-runtime = "libpam-${libpam_suffix} pam-plugin-deny-${libpam_suffix} pam-plugin-permit-${libpam_suffix} pam-plugin-warn-${libpam_suffix} pam-plugin-unix-${libpam_suffix}" -RDEPENDS_${PN}-xtests = "libpam-${libpam_suffix} pam-plugin-access-${libpam_suffix} pam-plugin-debug-${libpam_suffix} pam-plugin-cracklib-${libpam_suffix} pam-plugin-pwhistory-${libpam_suffix} pam-plugin-succeed-if-${libpam_suffix} pam-plugin-time-${libpam_suffix} coreutils" -RRECOMMENDS_${PN} = "libpam-runtime-${libpam_suffix}" +RPROVIDES_${PN} += "${PN}-${libpam_suffix}" +RPROVIDES_${PN}-runtime += "${PN}-runtime-${libpam_suffix}" + +RDEPENDS_${PN}-runtime = "${PN}-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-deny-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-permit-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-warn-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-unix-${libpam_suffix} \ + " +RDEPENDS_${PN}-xtests = "${PN}-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-access-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-debug-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-cracklib-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-pwhistory-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-succeed-if-${libpam_suffix} \ + ${MLPREFIX}pam-plugin-time-${libpam_suffix} \ + coreutils" + +# FIXME: Native suffix breaks here, disable it for now +RRECOMMENDS_${PN} = "${PN}-runtime-${libpam_suffix}" +RRECOMMENDS_${PN}_class-native = "" python populate_packages_prepend () { def pam_plugin_append_file(pn, dir, file): @@ -85,14 +101,14 @@ python populate_packages_prepend () { d.setVar('FILES_' + pn, nf) def pam_plugin_hook(file, pkg, pattern, format, basename): + pn = d.getVar('PN', True) libpam_suffix = d.getVar('libpam_suffix', True) - mlprefix = d.getVar('MLPREFIX', True) or '' rdeps = d.getVar('RDEPENDS_' + pkg, True) if rdeps: - rdeps = rdeps + " " + mlprefix + "libpam-" + libpam_suffix + rdeps = rdeps + " " + pn + "-" + libpam_suffix else: - rdeps = mlprefix + "libpam-" + libpam_suffix + rdeps = pn + "-" + libpam_suffix d.setVar('RDEPENDS_' + pkg, rdeps) provides = d.getVar('RPROVIDES_' + pkg, True) @@ -102,19 +118,22 @@ python populate_packages_prepend () { provides = pkg + "-" + libpam_suffix d.setVar('RPROVIDES_' + pkg, provides) + mlprefix = d.getVar('MLPREFIX', True) or '' dvar = bb.data.expand('${WORKDIR}/package', d, True) pam_libdir = d.expand('${base_libdir}/security') pam_sbindir = d.expand('${sbindir}') pam_filterdir = d.expand('${base_libdir}/security/pam_filter') + pam_pkgname = mlprefix + 'pam-plugin%s' - do_split_packages(d, pam_libdir, '^pam(.*)\.so$', 'pam-plugin%s', 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='') - mlprefix = d.getVar('MLPREFIX', True) or '' + do_split_packages(d, pam_libdir, '^pam(.*)\.so$', pam_pkgname, + 'PAM plugin for %s', hook=pam_plugin_hook, extra_depends='') pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_chkpwd') pam_plugin_append_file('%spam-plugin-unix' % mlprefix, pam_sbindir, 'unix_update') pam_plugin_append_file('%spam-plugin-tally' % mlprefix, pam_sbindir, 'pam_tally') pam_plugin_append_file('%spam-plugin-tally2' % mlprefix, pam_sbindir, 'pam_tally2') pam_plugin_append_file('%spam-plugin-timestamp' % mlprefix, pam_sbindir, 'pam_timestamp_check') pam_plugin_append_file('%spam-plugin-mkhomedir' % mlprefix, pam_sbindir, 'mkhomedir_helper') + pam_plugin_append_file('%spam-plugin-console' % mlprefix, pam_sbindir, 'pam_console_apply') do_split_packages(d, pam_filterdir, '^(.*)$', 'pam-filter-%s', 'PAM filter for %s', extra_depends='') } @@ -142,3 +161,11 @@ python do_pam_sanity () { bb.warn("Building libpam but 'pam' isn't in DISTRO_FEATURES, PAM won't work correctly") } addtask pam_sanity before do_configure + +BBCLASSEXTEND = "nativesdk native" + +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-auth" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-password" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-session-noninteractive" +CONFFILES_${PN}-runtime += "${sysconfdir}/pam.d/common-account" diff --git a/meta/recipes-extended/parted/parted-3.1/Makefile b/meta/recipes-extended/parted/files/Makefile index ee90be0814..ee90be0814 100644 --- a/meta/recipes-extended/parted/parted-3.1/Makefile +++ b/meta/recipes-extended/parted/files/Makefile diff --git a/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch b/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch new file mode 100644 index 0000000000..68ab715f32 --- /dev/null +++ b/meta/recipes-extended/parted/files/fix-compile-failure-while-dis.patch @@ -0,0 +1,57 @@ +From 060e74354774d36d2c11ef08e3e7ea9b9b6e23fb Mon Sep 17 00:00:00 2001 +From: Hongxu Jia <hongxu.jia@windriver.com> +Date: Thu, 13 Nov 2014 11:29:33 +0800 +Subject: [PATCH] libparted/arch/linux.c: fix compile failure while + --disable-device-mapper + +While --disable-device-mapper, the MACRO ENABLE_DEVICE_MAPPER is +undef, but it missed to scope some device mapper functions. + +Upstream-Status: Pending + +Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> +--- + libparted/arch/linux.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c +index 6fd73c5..2afa479 100644 +--- a/libparted/arch/linux.c ++++ b/libparted/arch/linux.c +@@ -2320,6 +2320,7 @@ zasprintf (const char *format, ...) + static char * + dm_canonical_path (PedDevice const *dev) + { ++#ifdef ENABLE_DEVICE_MAPPER + LinuxSpecific const *arch_specific = LINUX_SPECIFIC (dev); + + /* Get map name from devicemapper */ +@@ -2337,6 +2338,7 @@ dm_canonical_path (PedDevice const *dev) + dm_task_destroy (task); + return dev_name; + err: ++#endif + return NULL; + } + +@@ -2957,13 +2959,15 @@ _disk_sync_part_table (PedDisk* disk) + unsigned long long *start, + unsigned long long *length); + +- ++#ifdef ENABLE_DEVICE_MAPPER + if (disk->dev->type == PED_DEVICE_DM) { + add_partition = _dm_add_partition; + remove_partition = _dm_remove_partition; + resize_partition = _dm_resize_partition; + get_partition_start_and_length = _dm_get_partition_start_and_length; +- } else { ++ } else ++#endif ++ { + add_partition = _blkpg_add_partition; + remove_partition = _blkpg_remove_partition; + #ifdef BLKPG_RESIZE_PARTITION +-- +1.9.1 + diff --git a/meta/recipes-extended/parted/parted-3.1/fix-doc-mandir.patch b/meta/recipes-extended/parted/files/fix-doc-mandir.patch index 0711d4e297..0711d4e297 100644 --- a/meta/recipes-extended/parted/parted-3.1/fix-doc-mandir.patch +++ b/meta/recipes-extended/parted/files/fix-doc-mandir.patch diff --git a/meta/recipes-extended/parted/parted-3.1/no_check.patch b/meta/recipes-extended/parted/files/no_check.patch index 58d8db4426..58d8db4426 100644 --- a/meta/recipes-extended/parted/parted-3.1/no_check.patch +++ b/meta/recipes-extended/parted/files/no_check.patch diff --git a/meta/recipes-extended/parted/parted-3.1/run-ptest b/meta/recipes-extended/parted/files/run-ptest index 695c5e8a7b..695c5e8a7b 100644 --- a/meta/recipes-extended/parted/parted-3.1/run-ptest +++ b/meta/recipes-extended/parted/files/run-ptest diff --git a/meta/recipes-extended/parted/parted-3.1/syscalls.patch b/meta/recipes-extended/parted/files/syscalls.patch index e9bbe9a956..e9bbe9a956 100644 --- a/meta/recipes-extended/parted/parted-3.1/syscalls.patch +++ b/meta/recipes-extended/parted/files/syscalls.patch diff --git a/meta/recipes-extended/parted/parted-3.1/fix-deprecated-readline.patch b/meta/recipes-extended/parted/parted-3.1/fix-deprecated-readline.patch deleted file mode 100644 index c4ca06d407..0000000000 --- a/meta/recipes-extended/parted/parted-3.1/fix-deprecated-readline.patch +++ /dev/null @@ -1,34 +0,0 @@ - -From: Gustavo Zacarias -Subject: bug#16929: [PATCH] ui: switch to new-style readline typedef -Date: Mon, 3 Mar 2014 10:40:08 -0300 - -The CPPFunction typedef (among others) have been deprecated in favour of -specific prototyped typedefs since readline 4.2 (circa 2001). -It's been working since because compatibility typedefs have been in -place until they where removed in the recent readline 6.3 release. -Switch to the new style to avoid build breakage. - -Signed-off-by: Gustavo Zacarias <address@hidden> - -Upstream-Status: Backport - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - ---- - parted/ui.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/parted/ui.c b/parted/ui.c -index 786deed..b33f6fc 100644 ---- a/parted/ui.c -+++ b/parted/ui.c -@@ -1470,7 +1470,7 @@ init_readline (void) - #ifdef HAVE_LIBREADLINE - if (!opt_script_mode) { - rl_initialize (); -- rl_attempted_completion_function = (CPPFunction*) complete_function; -+ rl_attempted_completion_function = (rl_completion_func_t *) complete_function; - readline_state.in_readline = 0; - } - #endif diff --git a/meta/recipes-extended/parted/parted-3.1/fix-dvh-overflows.patch b/meta/recipes-extended/parted/parted-3.1/fix-dvh-overflows.patch deleted file mode 100644 index b1eae97988..0000000000 --- a/meta/recipes-extended/parted/parted-3.1/fix-dvh-overflows.patch +++ /dev/null @@ -1,35 +0,0 @@ -Upstream-Status: Pending - -Signed-off-by: Ming Liu <ming.liu@windriver.com> ---- - dvh.h | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -Index: parted-3.1/libparted/labels/dvh.h -=================================================================== ---- parted-3.1.orig/libparted/labels/dvh.h 2013-02-25 10:46:13.204477586 +0800 -+++ parted-3.1/libparted/labels/dvh.h 2013-02-25 10:47:20.954477065 +0800 -@@ -112,8 +112,8 @@ struct device_parameters { - - struct volume_directory { - char vd_name[VDNAMESIZE]; /* name */ -- int vd_lbn; /* logical block number */ -- int vd_nbytes; /* file length in bytes */ -+ unsigned int vd_lbn; /* logical block number */ -+ unsigned int vd_nbytes; /* file length in bytes */ - }; - - /* -@@ -125,9 +125,9 @@ struct volume_directory { - * NOTE: pt_firstlbn SHOULD BE CYLINDER ALIGNED - */ - struct partition_table { /* one per logical partition */ -- int pt_nblks; /* # of logical blks in partition */ -- int pt_firstlbn; /* first lbn of partition */ -- int pt_type; /* use of partition */ -+ unsigned int pt_nblks; /* # of logical blks in partition */ -+ unsigned int pt_firstlbn; /* first lbn of partition */ -+ int pt_type; /* use of partition */ - }; - - #define PTYPE_VOLHDR 0 /* partition is volume header */ diff --git a/meta/recipes-extended/parted/parted-3.1/fix-git-version-gen.patch b/meta/recipes-extended/parted/parted-3.1/fix-git-version-gen.patch deleted file mode 100644 index a9f26e9781..0000000000 --- a/meta/recipes-extended/parted/parted-3.1/fix-git-version-gen.patch +++ /dev/null @@ -1,43 +0,0 @@ -Upstream-Status: Accepted [Expected to be included in parted versions > 3.1] -Upstream-URL: http://git.savannah.gnu.org/cgit/gnulib.git/patch/?id=cbc11ff0020eb9c04caea6b3e7dc4e4281dff1f9 - -From cbc11ff0020eb9c04caea6b3e7dc4e4281dff1f9 Mon Sep 17 00:00:00 2001 -From: Andreas Oberritter <obi@opendreambox.org> -Date: Sun, 18 Mar 2012 17:39:14 +0000 -Subject: git-version-gen: don't let "prefix" envvar cause trouble - -* build-aux/git-version-gen (prefix): Initialize properly, -so as not to use a value specified via the environment. -Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810 ---- -diff --git a/build-aux/git-version-gen b/build-aux/git-version-gen -index d5542a2..0fa9063 100755 ---- a/build-aux/git-version-gen -+++ b/build-aux/git-version-gen -@@ -1,6 +1,6 @@ - #!/bin/sh - # Print a version string. --scriptversion=2012-01-06.07; # UTC -+scriptversion=2012-03-18.17; # UTC - - # Copyright (C) 2007-2012 Free Software Foundation, Inc. - # -@@ -92,6 +92,8 @@ Options: - - Running without arguments will suffice in most cases." - -+prefix=v -+ - while test $# -gt 0; do - case $1 in - --help) echo "$usage"; exit 0;; -@@ -120,7 +122,6 @@ if test -z "$tarball_version_file"; then - fi - - tag_sed_script="${tag_sed_script:-s/x/x/}" --prefix="${prefix:-v}" - - nl=' - ' --- -cgit v0.9.0.2 diff --git a/meta/recipes-extended/parted/parted_3.1.bb b/meta/recipes-extended/parted/parted_3.2.bb index 9057463c7e..e2257696d7 100644 --- a/meta/recipes-extended/parted/parted_3.1.bb +++ b/meta/recipes-extended/parted/parted_3.2.bb @@ -9,16 +9,14 @@ PR = "r1" SRC_URI = "${GNU_MIRROR}/parted/parted-${PV}.tar.xz \ file://no_check.patch \ file://syscalls.patch \ - file://fix-git-version-gen.patch \ file://fix-doc-mandir.patch \ - file://fix-dvh-overflows.patch \ - file://fix-deprecated-readline.patch \ + file://fix-compile-failure-while-dis.patch \ file://run-ptest \ file://Makefile \ " -SRC_URI[md5sum] = "5d89d64d94bcfefa9ce8f59f4b81bdcb" -SRC_URI[sha256sum] = "5e9cc1f91eaf016e5033d85b9b893fd6d3ffaca532a48de1082df9b94225ca15" +SRC_URI[md5sum] = "0247b6a7b314f8edeb618159fa95f9cb" +SRC_URI[sha256sum] = "858b589c22297cacdf437f3baff6f04b333087521ab274f7ab677cb8c6bb78e4" EXTRA_OECONF = "--disable-device-mapper" @@ -42,4 +40,4 @@ do_install_ptest() { sed -e 's| ../parted||' -i $t/tests/*.sh } -RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup" +RDEPENDS_${PN}-ptest = "bash coreutils perl util-linux-losetup python" diff --git a/meta/recipes-extended/pax/pax_3.4.bb b/meta/recipes-extended/pax/pax_3.4.bb index 0c10688feb..ad04871a8e 100644 --- a/meta/recipes-extended/pax/pax_3.4.bb +++ b/meta/recipes-extended/pax/pax_3.4.bb @@ -1,6 +1,6 @@ SUMMARY = "Portable Archive eXchange" DESCRIPTION = "pax (Portable Archive eXchange) is the POSIX standard archive tool" -HOMEPAGE = "http://www.openbsd.org/cgi-bin/cvsweb/src/bin/pax/" +HOMEPAGE = "http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin/pax/" BUGTRACKER = "http://www.openbsd.org/query-pr.html" LICENSE = "BSD" @@ -12,7 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4b0b674dfdc56daa3832d4069b820ea0 \ SECTION = "base" PR = "r2" -SRC_URI = "ftp://ftp.suse.com/pub/people/kukuk/pax/pax-${PV}.tar.bz2 \ +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/${BPN}/${BP}.tar.bz2/fbd9023b590b45ac3ade95870702a0d6/${BP}.tar.bz2 \ file://fix_for_compile_with_gcc-4.6.0.patch \ file://pax-3.4_fix_for_x32.patch" diff --git a/meta/recipes-extended/perl/libconvert-asn1-perl_0.26.bb b/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb index 9c2c9d5584..ebe042238f 100644 --- a/meta/recipes-extended/perl/libconvert-asn1-perl_0.26.bb +++ b/meta/recipes-extended/perl/libconvert-asn1-perl_0.27.bb @@ -5,8 +5,8 @@ LIC_FILES_CHKSUM = "file://README.md;beginline=91;endline=97;md5=ceff7fd286eb6d8 SRC_URI = "http://search.cpan.org/CPAN/authors/id/G/GB/GBARR/Convert-ASN1-${PV}.tar.gz" -SRC_URI[md5sum] = "1c846c8c1125e6a075444abe65d99b63" -SRC_URI[sha256sum] = "5db8b62fa0d036bd0cabc869ffe17941ad587d9a2af1ff030d554872adbc1ca1" +SRC_URI[md5sum] = "68723e96be0b258a9e20480276e8a62c" +SRC_URI[sha256sum] = "74a4a78ae0c5e973100ac0a8f203a110f76fb047b79dae4fc1fd7d6814d3d58a" S = "${WORKDIR}/Convert-ASN1-${PV}" diff --git a/meta/recipes-extended/pigz/pigz.inc b/meta/recipes-extended/pigz/pigz.inc index 355fb2a4ec..b5caa95184 100644 --- a/meta/recipes-extended/pigz/pigz.inc +++ b/meta/recipes-extended/pigz/pigz.inc @@ -5,25 +5,25 @@ multiple cores to the hilt when compressing data. pigz was written by Mark \ Adler, and uses the zlib and pthread libraries." HOMEPAGE = "http://zlib.net/pigz/" SECTION = "console/utils" -LICENSE = "Zlib" +LICENSE = "Zlib & Apache-2.0" -SRC_URI = "http://zlib.net/pigz/pigz-${PV}.tar.gz" +SRC_URI = "http://zlib.net/${BPN}/${BP}.tar.gz" PROVIDES_class-native += "gzip-native" DEPENDS = "zlib" -do_install () { - if [ "${CLASSOVERRIDE}" = "class-target" ] ; then - # Install files into /bin (FHS), which is typical place for gzip - install -d ${D}${base_bindir} - install ${B}/pigz ${D}${base_bindir}/gzip - install ${B}/unpigz ${D}${base_bindir}/gunzip - else - install -d ${D}${bindir} - install ${B}/pigz ${D}${bindir}/gzip - install ${B}/unpigz ${D}${bindir}/gunzip - fi +do_install_class-target() { + # Install files into /bin (FHS), which is typical place for gzip + install -d ${D}${base_bindir} + install ${B}/pigz ${D}${base_bindir}/gzip + install ${B}/unpigz ${D}${base_bindir}/gunzip +} + +do_install() { + install -d ${D}${bindir} + install ${B}/pigz ${D}${bindir}/gzip + install ${B}/unpigz ${D}${bindir}/gunzip } ALTERNATIVE_${PN} = "gzip gunzip" diff --git a/meta/recipes-extended/pigz/pigz/link-order.patch b/meta/recipes-extended/pigz/pigz/link-order.patch new file mode 100644 index 0000000000..4becc0e3fe --- /dev/null +++ b/meta/recipes-extended/pigz/pigz/link-order.patch @@ -0,0 +1,38 @@ +This patch avoids underlinking issues since we pass -lz via LDFLAGS but it appears +before pigz.o which needs symbols from libz however due to order linker happily discards libz + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> + +Index: pigz-2.3.3/Makefile +=================================================================== +--- pigz-2.3.3.orig/Makefile 2015-01-19 20:12:31.000000000 -0800 ++++ pigz-2.3.3/Makefile 2015-01-28 09:11:50.266669184 -0800 +@@ -5,7 +5,7 @@ + # use gcc and gmake on Solaris + + pigz: pigz.o yarn.o try.o ${ZOPFLI}deflate.o ${ZOPFLI}blocksplitter.o ${ZOPFLI}tree.o ${ZOPFLI}lz77.o ${ZOPFLI}cache.o ${ZOPFLI}hash.o ${ZOPFLI}util.o ${ZOPFLI}squeeze.o ${ZOPFLI}katajainen.o +- $(CC) $(LDFLAGS) -o pigz $^ -lpthread -lm ++ $(CC) -o pigz $^ $(LDFLAGS) -lz -lpthread -lm + ln -f pigz unpigz + + pigz.o: pigz.c yarn.h try.h ${ZOPFLI}deflate.h ${ZOPFLI}util.h +@@ -35,7 +35,7 @@ + dev: pigz pigzt pigzn + + pigzt: pigzt.o yarnt.o try.o ${ZOPFLI}deflate.o ${ZOPFLI}blocksplitter.o ${ZOPFLI}tree.o ${ZOPFLI}lz77.o ${ZOPFLI}cache.o ${ZOPFLI}hash.o ${ZOPFLI}util.o ${ZOPFLI}squeeze.o ${ZOPFLI}katajainen.o +- $(CC) $(LDFLAGS) -o pigzt $^ -lpthread -lm ++ $(CC) -o pigzt $^ $(LDFLAGS) -lz -lpthread -lm + + pigzt.o: pigz.c yarn.h try.h + $(CC) $(CFLAGS) -DDEBUG -g -c -o pigzt.o pigz.c +@@ -44,7 +44,7 @@ + $(CC) $(CFLAGS) -DDEBUG -g -c -o yarnt.o yarn.c + + pigzn: pigzn.o tryn.o ${ZOPFLI}deflate.o ${ZOPFLI}blocksplitter.o ${ZOPFLI}tree.o ${ZOPFLI}lz77.o ${ZOPFLI}cache.o ${ZOPFLI}hash.o ${ZOPFLI}util.o ${ZOPFLI}squeeze.o ${ZOPFLI}katajainen.o +- $(CC) $(LDFLAGS) -o pigzn $^ -lm ++ $(CC) -o pigzn $^ $(LDFLAGS) -lz -lm + + pigzn.o: pigz.c try.h + $(CC) $(CFLAGS) -DDEBUG -DNOTHREAD -g -c -o pigzn.o pigz.c diff --git a/meta/recipes-extended/pigz/pigz_2.3.1.bb b/meta/recipes-extended/pigz/pigz_2.3.3.bb index cd5508d63e..080be2bbc9 100644 --- a/meta/recipes-extended/pigz/pigz_2.3.1.bb +++ b/meta/recipes-extended/pigz/pigz_2.3.3.bb @@ -1,8 +1,10 @@ require pigz.inc LIC_FILES_CHKSUM = "file://pigz.c;beginline=7;endline=21;md5=a21d4075cb00ab4ca17fce5e7534ca95" -SRC_URI[md5sum] = "e803f8bc0770c7a5e96dccb1d2dd2aab" -SRC_URI[sha256sum] = "629b0ce5422a3978f31742bf8275d0be2f84987140d18f390f1e3b4e46e0af54" +SRC_URI += "file://link-order.patch" + +SRC_URI[md5sum] = "01d7a16cce77929cc1a78aa1bdfb68cb" +SRC_URI[sha256sum] = "4e8b67b432ce7907575a549f3e1cac4709781ba0f6b48afea9f59369846b509c" NATIVE_PACKAGE_PATH_SUFFIX = "/${PN}" diff --git a/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch b/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch deleted file mode 100644 index 203ccb3347..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/60_linux_version_init.patch +++ /dev/null @@ -1,54 +0,0 @@ -## 60_linux_init.dpatch by <david.sugar@canonical.com> -## -## All lines beginning with `## DP:' are a description of the patch. -## DP: Fix Linux version detection which relied on elf loader side-effect. -## DP: This patch also depends on 40_gnu-kbsd-version, which modified -## DP: init_Linux_version(). - -@DPATCH@ - -Upstream-Status: inappropriate [upstream unmaintained] ---- - proc/sysinfo.c | 1 + - proc/version.c | 5 +++-- - proc/version.h | 1 + - 3 files changed, 5 insertions(+), 2 deletions(-) - -Index: procps-3.2.8/proc/sysinfo.c -=================================================================== ---- procps-3.2.8.orig/proc/sysinfo.c -+++ procps-3.2.8/proc/sysinfo.c -@@ -212,6 +212,7 @@ static int check_for_privs(void){ - static void init_libproc(void) __attribute__((constructor)); - static void init_libproc(void){ - have_privs = check_for_privs(); -+ init_Linux_version(); // make sure we have version before continuing... - // ought to count CPUs in /proc/stat instead of relying - // on glibc, which foolishly tries to parse /proc/cpuinfo - // -Index: procps-3.2.8/proc/version.c -=================================================================== ---- procps-3.2.8.orig/proc/version.c -+++ procps-3.2.8/proc/version.c -@@ -33,8 +33,7 @@ void display_version(void) { - - int linux_version_code; - --static void init_Linux_version(void) __attribute__((constructor)); --static void init_Linux_version(void) { -+void init_Linux_version(void) { - int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 2 */ - FILE *fp; - char buf[256]; -Index: procps-3.2.8/proc/version.h -=================================================================== ---- procps-3.2.8.orig/proc/version.h -+++ procps-3.2.8/proc/version.h -@@ -14,6 +14,7 @@ - - EXTERN_C_BEGIN - -+extern void init_Linux_version(void); /* initialize linux version */ - extern void display_version(void); /* display suite version */ - extern const char procps_version[]; /* global buf for suite version */ - diff --git a/meta/recipes-extended/procps/procps-3.2.8/detect_bitness.patch b/meta/recipes-extended/procps/procps-3.2.8/detect_bitness.patch deleted file mode 100644 index 1523c3dfb2..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/detect_bitness.patch +++ /dev/null @@ -1,26 +0,0 @@ -Do not try to detect 64bit/32bit system -we already feed that information via compiler -defaults - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Inappropriate [OE specific] -Index: procps-3.2.8/Makefile -=================================================================== ---- procps-3.2.8.orig/Makefile 2014-05-03 01:00:01.707387583 -0700 -+++ procps-3.2.8/Makefile 2014-05-03 08:53:08.087175369 -0700 -@@ -118,15 +118,6 @@ - # until you go looking for a 64-bit curses library. - check_gcc = $(shell if $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) dummy.c $(ALL_LDFLAGS) $(1) -o /dev/null $(CURSES) > /dev/null 2>&1; then echo "$(1)"; else echo "$(2)"; fi ;) - --# Be 64-bit if at all possible. In a cross-compiling situation, one may --# do "make m64=-m32 lib64=lib" to produce 32-bit executables. DO NOT --# attempt to use a 32-bit executable on a 64-bit kernel. Packagers MUST --# produce separate executables for ppc and ppc64, s390 and s390x, --# i386 and x86-64, mips and mips64, sparc and sparc64, and so on. --# Failure to do so will cause data corruption. --m64 := $(call check_gcc,-m64,$(call check_gcc,-mabi=64,)) --ALL_CFLAGS += $(m64) -- - ALL_CFLAGS += $(call check_gcc,-Wdeclaration-after-statement,) - ALL_CFLAGS += $(call check_gcc,-Wpadded,) - ALL_CFLAGS += $(call check_gcc,-Wstrict-aliasing,) diff --git a/meta/recipes-extended/procps/procps-3.2.8/gnu-kbsd-version.patch b/meta/recipes-extended/procps/procps-3.2.8/gnu-kbsd-version.patch deleted file mode 100644 index 2582857e25..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/gnu-kbsd-version.patch +++ /dev/null @@ -1,44 +0,0 @@ -Upstream-Status: Inappropriate [not author, no upstream] - -Imported from Debian. -Source: http://anonscm.debian.org/gitweb/?p=collab-maint/procps.git;a=blob;f=debian/patches/gnu-kbsd-version.patch;h=fe5489fc772a3355ff8c0dcf9b953bf0c05aa9f8;hb=b460cfd726b019f8d918b380f78af4c19c5f3e50 -Bugtracker: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632749 - -Stops procps utilities from printing a warning when used with -kernels having only two digit versions, e.g. 3.0. - -Author: <csmall@debian.org> -Description: Rework version parsing so its ok with other OSes ---- a/proc/version.c -+++ b/proc/version.c -@@ -35,15 +35,23 @@ - - static void init_Linux_version(void) __attribute__((constructor)); - static void init_Linux_version(void) { -- static struct utsname uts; -- int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */ -+ int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 2 */ -+ FILE *fp; -+ char buf[256]; - -- if (uname(&uts) == -1) /* failure implies impending death */ -- exit(1); -- if (sscanf(uts.release, "%d.%d.%d", &x, &y, &z) < 3) -+ if ( (fp=fopen("/proc/version","r")) == NULL) /* failure implies impending death */ -+ exit(1); -+ if (fgets(buf, 256, fp) == NULL) { -+ fprintf(stderr, "Cannot read kernel version from /proc/version\n"); -+ fclose(fp); -+ exit(1); -+ } -+ fclose(fp); -+ if (sscanf(buf, "Linux version %d.%d.%d", &x, &y, &z) < 2) - fprintf(stderr, /* *very* unlikely to happen by accident */ - "Non-standard uts for running kernel:\n" -- "release %s=%d.%d.%d gives version code %d\n", -- uts.release, x, y, z, LINUX_VERSION(x,y,z)); -+ "release %s=%d.%d.%d gives version code %d\n", -+ buf, -+ x, y, z, LINUX_VERSION(x,y,z)); - linux_version_code = LINUX_VERSION(x, y, z); - } diff --git a/meta/recipes-extended/procps/procps-3.2.8/install.patch b/meta/recipes-extended/procps/procps-3.2.8/install.patch deleted file mode 100644 index 2a59a5ff68..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/install.patch +++ /dev/null @@ -1,39 +0,0 @@ -Upstream-Status: Inappropriate [configuration] - -diff -ruN procps-3.2.8-orig//Makefile procps-3.2.8/Makefile ---- procps-3.2.8-orig//Makefile 2011-08-23 22:06:46.471163999 +0800 -+++ procps-3.2.8/Makefile 2011-08-23 22:15:01.091163999 +0800 -@@ -29,9 +29,6 @@ - ln_sf := ln -sf - install := install -D --owner 0 --group 0 - --# Lame x86-64 /lib64 and /usr/lib64 abomination: --lib64 := lib$(shell [ -d /lib64 ] && echo 64) -- - usr/bin := $(DESTDIR)/usr/bin/ - bin := $(DESTDIR)/bin/ - sbin := $(DESTDIR)/sbin/ -@@ -39,8 +36,8 @@ - man1 := $(DESTDIR)/usr/share/man/man1/ - man5 := $(DESTDIR)/usr/share/man/man5/ - man8 := $(DESTDIR)/usr/share/man/man8/ --lib := $(DESTDIR)/$(lib64)/ --usr/lib := $(DESTDIR)/usr/$(lib64)/ -+lib := $(DESTDIR)/$(base_libdir)/ -+usr/lib := $(DESTDIR)/$(libdir)/ - usr/include := $(DESTDIR)/usr/include/ - - #SKIP := $(bin)kill $(man1)kill.1 -@@ -222,10 +219,10 @@ - ###### install - - $(BINFILES) : all -- $(install) --mode a=rx $(notdir $@) $@ -+ $(install) -m 555 $(notdir $@) $@ - - $(MANFILES) : all -- $(install) --mode a=r $(notdir $@) $@ -+ $(install) -m 444 $(notdir $@) $@ - - install: $(filter-out $(SKIP) $(addprefix $(DESTDIR),$(SKIP)),$(INSTALL)) - cd $(usr/bin) && $(ln_f) skill snice diff --git a/meta/recipes-extended/procps/procps-3.2.8/linux-limits.patch b/meta/recipes-extended/procps/procps-3.2.8/linux-limits.patch deleted file mode 100644 index 2ca972482d..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/linux-limits.patch +++ /dev/null @@ -1,15 +0,0 @@ -Upstream-Status: Pending - -diff --git a/pwdx.c b/pwdx.c -index cb96a52..29ebce2 100644 ---- a/pwdx.c -+++ b/pwdx.c -@@ -13,7 +13,7 @@ - #include <stdlib.h> - #include <sys/types.h> - #include <regex.h> --#include <limits.h> -+#include <linux/limits.h> - #include <unistd.h> - #include <errno.h> - diff --git a/meta/recipes-extended/procps/procps-3.2.8/procmodule.patch b/meta/recipes-extended/procps/procps-3.2.8/procmodule.patch deleted file mode 100644 index 2a65c3509f..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/procmodule.patch +++ /dev/null @@ -1,38 +0,0 @@ -Upstream-Status: Pending - -*** procps-3.2.5/proc/module.mk.orig Sun Jul 24 11:53:49 2005 ---- procps-3.2.5/proc/module.mk Sun Jul 24 11:54:32 2005 -*************** -*** 96,102 **** - #################### install rules ########################### - - $(lib)$(SOFILE) : proc/$(SONAME) -! $(install) --mode a=rx $< $@ - - ifneq ($(SOLINK),$(SOFILE)) - .PHONY: $(lib)$(SOLINK) ---- 96,102 ---- - #################### install rules ########################### - - $(lib)$(SOFILE) : proc/$(SONAME) -! $(install) -m 555 $< $@ - - ifneq ($(SOLINK),$(SOFILE)) - .PHONY: $(lib)$(SOLINK) -*************** -*** 115,121 **** - $(ldconfig) - - $(usr/lib)$(ANAME) : proc/$(ANAME) -! $(install) --mode a=r $< $@ - - # Junk anyway... supposed to go in /usr/include/$(NAME) - #INSTALL += $(addprefix $(include),$(HDRFILES)) ---- 115,121 ---- - $(ldconfig) - - $(usr/lib)$(ANAME) : proc/$(ANAME) -! $(install) -m 444 $< $@ - - # Junk anyway... supposed to go in /usr/include/$(NAME) - #INSTALL += $(addprefix $(include),$(HDRFILES)) diff --git a/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.7-top-remcpu.patch b/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.7-top-remcpu.patch deleted file mode 100644 index 0306c8d639..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.7-top-remcpu.patch +++ /dev/null @@ -1,111 +0,0 @@ -Upstream-Status: Pending - -fix that top will quit after cpu offline - -top utiliy fails to read /proc/stat after cpu offline, because Cpu_tot -is still the original cpu numbers when calling cpus_refresh, in which -it is trying to read and sscanf Cpu_tot times /proc/stat. - -The patch is from procps-3.2.8-2.fc12.src.rpm - -Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> - ---- ---- procps-3.2.7/top.c.remcpu 2006-07-10 10:41:11.000000000 +0200 -+++ procps-3.2.7/top.c 2006-07-10 10:41:35.000000000 +0200 -@@ -912,6 +912,7 @@ - static CPU_t *cpus_refresh (CPU_t *cpus) - { - static FILE *fp = NULL; -+ static int cpu_max; - int i; - int num; - // enough for a /proc/stat CPU line (not the intr line) -@@ -926,24 +927,29 @@ - can hold tics representing the /proc/stat cpu summary (the first - line read) -- that slot supports our View_CPUSUM toggle */ - cpus = alloc_c((1 + Cpu_tot) * sizeof(CPU_t)); -+ cpu_max = Cpu_tot; - } -+ else if (cpu_max > Cpu_tot) -+ /* move saved CUPs summary to cpu_max possition */ -+ memcpy(&cpus[cpu_max], &cpus[Cpu_tot], sizeof(CPU_t)); -+ - rewind(fp); - fflush(fp); - - // first value the last slot with the cpu summary line - if (!fgets(buf, sizeof(buf), fp)) std_err("failed /proc/stat read"); -- cpus[Cpu_tot].x = 0; // FIXME: can't tell by kernel version number -- cpus[Cpu_tot].y = 0; // FIXME: can't tell by kernel version number -- cpus[Cpu_tot].z = 0; // FIXME: can't tell by kernel version number -+ cpus[cpu_max].x = 0; // FIXME: can't tell by kernel version number -+ cpus[cpu_max].y = 0; // FIXME: can't tell by kernel version number -+ cpus[cpu_max].z = 0; // FIXME: can't tell by kernel version number - num = sscanf(buf, "cpu %Lu %Lu %Lu %Lu %Lu %Lu %Lu %Lu", -- &cpus[Cpu_tot].u, -- &cpus[Cpu_tot].n, -- &cpus[Cpu_tot].s, -- &cpus[Cpu_tot].i, -- &cpus[Cpu_tot].w, -- &cpus[Cpu_tot].x, -- &cpus[Cpu_tot].y, -- &cpus[Cpu_tot].z -+ &cpus[cpu_max].u, -+ &cpus[cpu_max].n, -+ &cpus[cpu_max].s, -+ &cpus[cpu_max].i, -+ &cpus[cpu_max].w, -+ &cpus[cpu_max].x, -+ &cpus[cpu_max].y, -+ &cpus[cpu_max].z - ); - if (num < 4) - std_err("failed /proc/stat read"); -@@ -955,7 +961,7 @@ - } - - // now value each separate cpu's tics -- for (i = 0; 1 < Cpu_tot && i < Cpu_tot; i++) { -+ for (i = 0; ; i++) { - if (!fgets(buf, sizeof(buf), fp)) std_err("failed /proc/stat read"); - cpus[i].x = 0; // FIXME: can't tell by kernel version number - cpus[i].y = 0; // FIXME: can't tell by kernel version number -@@ -964,9 +970,35 @@ - &cpus[i].id, - &cpus[i].u, &cpus[i].n, &cpus[i].s, &cpus[i].i, &cpus[i].w, &cpus[i].x, &cpus[i].y, &cpus[i].z - ); -- if (num < 4) -- std_err("failed /proc/stat read"); -+ if (num < 4) { -+ Cpu_tot = i; -+ break; -+ } -+ if (i == cpu_max - 1) { -+ // Bump cpu_max and extend cpus -+ cpu_max++; -+ cpus = realloc(cpus, (1 + cpu_max) * sizeof(CPU_t)); -+ if (!cpus) std_err("realloc failed"); -+ memcpy(&cpus[cpu_max], &cpus[cpu_max-1], sizeof(CPU_t)); -+ } -+ } -+ -+ if (cpu_max > Cpu_tot) -+ memcpy(&cpus[Cpu_tot], &cpus[cpu_max], sizeof(CPU_t)); -+ -+ // and just in case we're 2.2.xx compiled without SMP support... -+ if (Cpu_tot == 1) { -+ cpus[0].id = cpus[1].id = 0; -+ cpus[0].u = cpus[1].u; -+ cpus[0].n = cpus[1].n; -+ cpus[0].s = cpus[1].s; -+ cpus[0].i = cpus[1].i; -+ cpus[0].w = cpus[1].w; -+ cpus[0].x = cpus[1].x; -+ cpus[0].y = cpus[1].y; -+ cpus[0].z = cpus[1].z; - } -+ - return cpus; - } - diff --git a/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.8+gmake-3.82.patch b/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.8+gmake-3.82.patch deleted file mode 100644 index c8cee26eac..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.8+gmake-3.82.patch +++ /dev/null @@ -1,19 +0,0 @@ -Upstream-Status: Backport - -Fix for stricter Makefile parser in Make 3.82 take from Gentoo bugzilla: -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/sys-process/procps/files/procps-3.2.8%2Bgmake-3.82.patch?revision=1.1 - -Index: procps-3.2.8/Makefile -=================================================================== ---- procps-3.2.8.orig/Makefile -+++ procps-3.2.8/Makefile -@@ -174,7 +174,8 @@ INSTALL := $(BINFILES) $(MANFILES) - # want this rule first, use := on ALL, and ALL not filled in yet - all: do_all - ---include */module.mk -+-include proc/module.mk -+-include ps/module.mk - - do_all: $(ALL) - diff --git a/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.8-ps-cgroup.patch b/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.8-ps-cgroup.patch deleted file mode 100644 index 1a294142f5..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/procps-3.2.8-ps-cgroup.patch +++ /dev/null @@ -1,82 +0,0 @@ -From e529ce0b53f6b73d8b760cd37b23e0397720cede Mon Sep 17 00:00:00 2001 -From: Daniel Novotny <dnovotny@fedoraproject.org> -Date: Mon, 16 Feb 2009 12:22:20 +0000 -Subject: add cgroup support - -Rebased for 3.2.8: Andrei Gherzan <andrei.gherzan@windriver.com> - -Upstream-Status: Pending - -The patch was imported from the meta-ivi repository -(git://git.yoctoproject.org/meta-ivi) as of commit id -74b9624fe94b2b90810717a13d481b0db9d2d95a - -Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com> - -Index: procps-3.2.8/ps/output.c -=================================================================== ---- procps-3.2.8.orig/ps/output.c 2012-11-15 17:44:05.501337741 +0200 -+++ procps-3.2.8/ps/output.c 2012-11-15 17:48:31.585328231 +0200 -@@ -1099,6 +1099,39 @@ - return snprintf(outbuf, COLWID, "*"); - } - -+static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){ -+ char filename[48]; -+ FILE *fd; -+ int counter = 0; -+ int c; -+ int is_cgroup = 0; -+ -+ outbuf[0]='\0'; -+ snprintf(filename, sizeof filename, "/proc/%d/cgroup", pp->tgid); -+ fd = fopen(filename, "r"); -+ if (likely(fd == NULL)) goto fail; -+ while (( (c = fgetc(fd)) != EOF) && (counter<665)) { -+ if (is_cgroup == 0) { -+ if (c == ':') { -+ is_cgroup = 1; -+ if (counter>0) -+ outbuf[counter++]=';'; -+ } -+ }else -+ if ((c == '\n') || (c == '\0')) -+ is_cgroup = 0; -+ else -+ outbuf[counter++]=c; -+ } -+ outbuf[counter]='\0'; -+ close(fd); -+ if (counter>0) -+ return counter; -+fail: -+ outbuf[0] = '-'; -+ outbuf[1] = '\0'; -+ return 1; -+} - - /****************** FLASK & seLinux security stuff **********************/ - // move the bulk of this to libproc sometime -@@ -1293,6 +1326,7 @@ - {"bsdtime", "TIME", pr_bsdtime, sr_nop, 6, 0, LNX, ET|RIGHT}, - {"c", "C", pr_c, sr_pcpu, 2, 0, SUN, ET|RIGHT}, - {"caught", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigcatch*/ -+{"cgroup", "CGROUP", pr_cgroup, sr_nop, 35, 0, LNX, PO|LEFT}, /* cgroups*/ - {"class", "CLS", pr_class, sr_sched, 3, 0, XXX, TO|LEFT}, - {"cls", "CLS", pr_class, sr_sched, 3, 0, HPU, TO|RIGHT}, /*says HPUX or RT*/ - {"cmaj_flt", "-", pr_nop, sr_cmaj_flt, 1, 0, LNX, AN|RIGHT}, -Index: procps-3.2.8/ps/ps.1 -=================================================================== ---- procps-3.2.8.orig/ps/ps.1 2012-11-15 17:44:50.845336117 +0200 -+++ procps-3.2.8/ps/ps.1 2012-11-15 17:49:09.621326859 +0200 -@@ -904,6 +904,10 @@ - displayed. (alias\ \fBsig_catch\fR,\ \fBsigcatch\fR). - T} - -+cgroup CGROUP T{ -+display control groups to which the process belonges. -+t} -+ - class CLS T{ - scheduling class of the process. (alias\ \fBpolicy\fR,\ \fBcls\fR). - Field's possible values are: diff --git a/meta/recipes-extended/procps/procps-3.2.8/psmodule.patch b/meta/recipes-extended/procps/procps-3.2.8/psmodule.patch deleted file mode 100644 index 0775eaba26..0000000000 --- a/meta/recipes-extended/procps/procps-3.2.8/psmodule.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: Pending - -*** procps-3.2.5/ps/module.mk.orig Sun Jul 24 11:54:40 2005 ---- procps-3.2.5/ps/module.mk Sun Jul 24 11:55:02 2005 -*************** -*** 33,40 **** - - - $(bin)ps: ps/ps -! $(install) --mode a=rx $< $@ - - $(man1)ps.1 : ps/ps.1 -! $(install) --mode a=r $< $@ - -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz ---- 33,40 ---- - - - $(bin)ps: ps/ps -! $(install) -m 555 $< $@ - - $(man1)ps.1 : ps/ps.1 -! $(install) -m 444 $< $@ - -rm -f $(DESTDIR)/var/catman/cat1/ps.1.gz $(DESTDIR)/var/man/cat1/ps.1.gz diff --git a/meta/recipes-extended/procps/procps.inc b/meta/recipes-extended/procps/procps.inc deleted file mode 100644 index da91da232d..0000000000 --- a/meta/recipes-extended/procps/procps.inc +++ /dev/null @@ -1,31 +0,0 @@ -SUMMARY = "System and process monitoring utilities" -DESCRIPTION = "Procps contains a set of system utilities that provide system information about processes using \ -the /proc filesystem. The package \ includes the programs ps, top, vmstat, w, kill, and skill." -HOMEPAGE = "http://procps.sf.net" -SECTION = "base" -LICENSE = "GPLv2+ & LGPLv2+" -LIC_FILES_CHKSUM="file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ - file://COPYING.LIB;md5=6e29c688d912da12b66b73e32b03d812 \ - file://ps/COPYING;md5=6e29c688d912da12b66b73e32b03d812 \ - file://proc/COPYING;md5=6e29c688d912da12b66b73e32b03d812" -DEPENDS = "ncurses" - -SRC_URI = "http://procps.sourceforge.net/procps-${PV}.tar.gz \ - file://install.patch" - -inherit autotools-brokensep update-alternatives - -do_install_append() { - mv ${D}${bindir}/watch ${D}${bindir}/watch.${BPN} -} - -FILES_${PN} += "${libdir}/*-${PV}.so ${base_libdir}/*-${PV}.so" -FILES_SOLIBSDEV = "" - -ALTERNATIVE_${PN} = "top uptime free pkill pmap kill sysctl ps pgrep pwdx watch" -ALTERNATIVE_LINK_NAME[kill] = "${base_bindir}/kill" -ALTERNATIVE_LINK_NAME[sysctl] = "${base_sbindir}/sysctl" -ALTERNATIVE_LINK_NAME[ps] = "${base_bindir}/ps" -ALTERNATIVE_LINK_NAME[watch] = "${base_bindir}/watch" -ALTERNATIVE_TARGET[watch] = "${bindir}/watch.${BPN}" -ALTERNATIVE_PRIORITY = "110" diff --git a/meta/recipes-extended/procps/procps/fix-configure.patch b/meta/recipes-extended/procps/procps/fix-configure.patch new file mode 100644 index 0000000000..934ae80954 --- /dev/null +++ b/meta/recipes-extended/procps/procps/fix-configure.patch @@ -0,0 +1,19 @@ + +exec_prefix is /usr default in OE-Core + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Saul Wold <sgw@linux.intel.com> +Index: procps-ng-3.3.10/configure.ac +=================================================================== +--- procps-ng-3.3.10.orig/configure.ac ++++ procps-ng-3.3.10/configure.ac +@@ -70,7 +70,7 @@ AC_FUNC_MMAP + AC_FUNC_REALLOC + AC_FUNC_STRTOD + +-usrbin_execdir='${exec_prefix}/usr/bin' ++usrbin_execdir='${exec_prefix}/bin' + AC_SUBST([usrbin_execdir]) + + AM_GNU_GETTEXT_VERSION([0.14.1]) diff --git a/meta/recipes-extended/procps/procps-3.2.8/sysctl.conf b/meta/recipes-extended/procps/procps/sysctl.conf index 34e7488bf7..34e7488bf7 100644 --- a/meta/recipes-extended/procps/procps-3.2.8/sysctl.conf +++ b/meta/recipes-extended/procps/procps/sysctl.conf diff --git a/meta/recipes-extended/procps/procps_3.2.8.bb b/meta/recipes-extended/procps/procps_3.2.8.bb deleted file mode 100644 index b314bfe33c..0000000000 --- a/meta/recipes-extended/procps/procps_3.2.8.bb +++ /dev/null @@ -1,32 +0,0 @@ -require procps.inc - -PR = "r12" - -SRC_URI += "file://procmodule.patch \ - file://psmodule.patch \ - file://linux-limits.patch \ - file://sysctl.conf \ - file://procps-3.2.8+gmake-3.82.patch \ - file://gnu-kbsd-version.patch \ - file://60_linux_version_init.patch \ - file://procps-3.2.7-top-remcpu.patch \ - file://procps-3.2.8-ps-cgroup.patch \ - file://detect_bitness.patch \ - " - -SRC_URI[md5sum] = "9532714b6846013ca9898984ba4cd7e0" -SRC_URI[sha256sum] = "11ed68d8a4433b91cd833deb714a3aa849c02aea738c42e6b4557982419c1535" - -EXTRA_OEMAKE = 'CFLAGS="${CFLAGS} -I${STAGING_INCDIR}" \ - CPPFLAGS=-I${STAGING_INCDIR} \ - LDFLAGS="${LDFLAGS}" \ - CURSES=-lncurses \ - install="install -D" \ - ldconfig=echo' - -do_install_append () { - install -d ${D}${sysconfdir} - install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf -} - -CONFFILES_${PN} = "${sysconfdir}/sysctl.conf" diff --git a/meta/recipes-extended/procps/procps_3.3.10.bb b/meta/recipes-extended/procps/procps_3.3.10.bb new file mode 100644 index 0000000000..621b6dd578 --- /dev/null +++ b/meta/recipes-extended/procps/procps_3.3.10.bb @@ -0,0 +1,62 @@ +SUMMARY = "System and process monitoring utilities" +DESCRIPTION = "Procps contains a set of system utilities that provide system information about processes using \ +the /proc filesystem. The package includes the programs ps, top, vmstat, w, kill, and skill." +HOMEPAGE = "https://gitorious.org/procps" +SECTION = "base" +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM="file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://COPYING.LIB;md5=4cf66a4984120007c9881cc871cf49db \ + " + +DEPENDS = "ncurses" + +inherit autotools gettext pkgconfig update-alternatives + +SRC_URI = "http://downloads.sourceforge.net/project/procps-ng/Production/procps-ng-${PV}.tar.xz \ + file://fix-configure.patch \ + file://sysctl.conf \ + " + +SRC_URI[md5sum] = "1fb7f3f6bf92ce6c5c9ed9949ae858fe" +SRC_URI[sha256sum] = "a02e6f98974dfceab79884df902ca3df30b0e9bad6d76aee0fb5dce17f267f04" + +S = "${WORKDIR}/procps-ng-${PV}" + +EXTRA_OECONF = "--enable-skill --disable-modern-top" + +CPPFLAGS += "-I${S}" + +do_install_append () { + install -d ${D}${base_bindir} + [ "${bindir}" != "${base_bindir}" ] && for i in ${base_bindir_progs}; do mv ${D}${bindir}/$i ${D}${base_bindir}/$i; done + install -d ${D}${base_sbindir} + [ "${sbindir}" != "${base_sbindir}" ] && for i in ${base_sbindir_progs}; do mv ${D}${sbindir}/$i ${D}${base_sbindir}/$i; done + # Remove now empty dir + rmdir ${D}/${sbindir} + + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/sysctl.conf ${D}${sysconfdir}/sysctl.conf + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + install -d ${D}${sysconfdir}/sysctl.d + ln -sf ../sysctl.conf ${D}${sysconfdir}/sysctl.d/99-sysctl.conf + fi +} + +CONFFILES_${PN} = "${sysconfdir}/sysctl.conf" + +bindir_progs = "free pkill pmap pgrep pwdx skill snice top uptime" +base_bindir_progs += "kill pidof ps watch" +base_sbindir_progs += "sysctl" + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "${bindir_progs} ${base_bindir_progs} ${base_sbindir_progs}" + +python __anonymous() { + for prog in d.getVar('base_bindir_progs', True).split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_bindir', True), prog)) + + for prog in d.getVar('base_sbindir_progs', True).split(): + d.setVarFlag('ALTERNATIVE_LINK_NAME', prog, '%s/%s' % (d.getVar('base_sbindir', True), prog)) +} + diff --git a/meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch b/meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch new file mode 100644 index 0000000000..e57d60f6a3 --- /dev/null +++ b/meta/recipes-extended/psmisc/files/0001-Typo-in-fuser-makes-M-on-all-the-time.patch @@ -0,0 +1,46 @@ +From 3638cc55b4d08851faba46635d737b24d016665b Mon Sep 17 00:00:00 2001 +From: Brad Jorsch <anomie@users.sourceforge.net> +Date: Fri, 28 Feb 2014 21:55:02 +1100 +Subject: [PATCH] Typo in fuser makes -M on all the time + +Brad found that fuser had the -M option on all the time. +A simple but significant typo caused this, thanks the the patch. + +Bug-Debian: http://bugs.debian.org/740275 + +Upstream-Status: Backport + +Signed-off-by: Craig Small <csmall@enc.com.au> +--- + ChangeLog | 4 ++++ + src/fuser.c | 2 +- + 2 files changed, 5 insertions(+), 1 deletion(-) + +diff --git a/ChangeLog b/ChangeLog +index fd1cccf..e5f784c 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,7 @@ ++Changes in 22.22 ++================ ++ * Fixed typo in fuser which has -M on Debian #740275 ++ + Changes in 22.21 + ================ + * Missing comma in fuser(1) added Debian #702391 +diff --git a/src/fuser.c b/src/fuser.c +index b485f65..389b302 100644 +--- a/src/fuser.c ++++ b/src/fuser.c +@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[]) + usage(_("No process specification given")); + + /* Check if -M flag was used and if so check mounts */ +- if (opts * OPT_ISMOUNTPOINT) { ++ if (opts & OPT_ISMOUNTPOINT) { + check_mountpoints(&mounts, &names_head, &names_tail); + } + +-- +1.8.4.2 + diff --git a/meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch b/meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch new file mode 100644 index 0000000000..c0835e041e --- /dev/null +++ b/meta/recipes-extended/psmisc/files/0002-Include-limits.h-for-PATH_MAX.patch @@ -0,0 +1,29 @@ +From aa66afecd8ba9cc4139f25ab15ec315173413a7d Mon Sep 17 00:00:00 2001 +From: Paul Barker <paul@paulbarker.me.uk> +Date: Wed, 20 Aug 2014 10:31:37 +0000 +Subject: [PATCH] Include <limits.h> for PATH_MAX + +When building against musl libc, PATH_MAX is defined in <limits.h>. + +Signed-off-by: Paul Barker <paul@paulbarker.me.uk> + +Upstream-status: Accepted (Should be in next release after 22.21) +--- + src/pstree.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/pstree.c b/src/pstree.c +index 071e6c4..0d28260 100644 +--- a/src/pstree.c ++++ b/src/pstree.c +@@ -41,6 +41,7 @@ + #include <sys/types.h> + #include <sys/stat.h> + #include <sys/ioctl.h> ++#include <limits.h> + + #include "i18n.h" + #include "comm.h" +-- +2.0.4 + diff --git a/meta/recipes-extended/psmisc/psmisc_22.21.bb b/meta/recipes-extended/psmisc/psmisc_22.21.bb index 22f65c52be..66aba9ec57 100644 --- a/meta/recipes-extended/psmisc/psmisc_22.21.bb +++ b/meta/recipes-extended/psmisc/psmisc_22.21.bb @@ -4,3 +4,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" SRC_URI[md5sum] = "935c0fd6eb208288262b385fa656f1bf" SRC_URI[sha256sum] = "97323cad619210845b696d7d722c383852b2acb5c49b5b0852c4f29c77a8145a" + +SRC_URI += "file://0001-Typo-in-fuser-makes-M-on-all-the-time.patch \ + file://0002-Include-limits.h-for-PATH_MAX.patch \ + " diff --git a/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch b/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch deleted file mode 100644 index b556a46347..0000000000 --- a/meta/recipes-extended/rpcbind/rpcbind/0001-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 914507aa6980129fefb4decaabea1a4f60c7182b Mon Sep 17 00:00:00 2001 -From: Steve Dickson <steved@redhat.com> -Date: Wed, 21 Aug 2013 14:40:22 -0400 -Subject: [PATCH 1/1] rpcbind: rpcuser not being set in Makefile.am - -Upstream-Status: backport - -Commit 8d7a0708 cause a regression where the rpcuser id was not -being set, which in turn cause rpcbind to immediately exit. -This patch removes the extra ',' that was in the AC_ARG_WITH -statement in the configure.ac file. - -Signed-off-by: Steve Dickson <steved@redhat.com> -Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 2b67720..1cf42d3 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -23,7 +23,7 @@ AC_ARG_WITH([statedir], - AC_SUBST([statedir], [$with_statedir]) - - AC_ARG_WITH([rpcuser], -- AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]), -+ AS_HELP_STRING([--with-rpcuser=ARG], [use ARG for RPC @<:@default=root@:>@]) - ,, [with_rpcuser=root]) - AC_SUBST([rpcuser], [$with_rpcuser]) - --- -1.8.3.2 - diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service index 4de28d4ae1..b3ae2541a0 100644 --- a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service +++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.service @@ -1,14 +1,12 @@ [Unit] -Description=RPC Bind -After=network.target -Wants=rpcbind.target -Before=rpcbind.target +Description=RPC Bind Service +Requires=rpcbind.socket [Service] Type=forking EnvironmentFile=-@SYSCONFDIR@/rpcbind.conf ExecStart=@SBINDIR@/rpcbind -w $RPCBIND_OPTS -Restart=always +SuccessExitStatus=2 [Install] -WantedBy=multi-user.target +Also=rpcbind.socket diff --git a/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket new file mode 100644 index 0000000000..d63c1d9720 --- /dev/null +++ b/meta/recipes-extended/rpcbind/rpcbind/rpcbind.socket @@ -0,0 +1,8 @@ +[Unit] +Description=RPCbind Server Activation Socket + +[Socket] +ListenStream=/var/run/rpcbind.sock + +[Install] +WantedBy=sockets.target diff --git a/meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb b/meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb index 89e567bfb2..1952b2a298 100644 --- a/meta/recipes-extended/rpcbind/rpcbind_0.2.1.bb +++ b/meta/recipes-extended/rpcbind/rpcbind_0.2.2.bb @@ -11,10 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b46486e4c4a416602693a711bb5bfa39 \ file://src/rpcinfo.c;beginline=1;endline=27;md5=f8a8cd2cb25ac5aa16767364fb0e3c24" SRC_URI = "${SOURCEFORGE_MIRROR}/rpcbind/rpcbind-${PV}.tar.bz2 \ - file://0001-rpcbind-rpcuser-not-being-set-in-Makefile.am.patch \ file://init.d \ ${UCLIBCPATCHES} \ file://rpcbind.conf \ + file://rpcbind.socket \ file://rpcbind.service \ " @@ -23,8 +23,8 @@ UCLIBCPATCHES_libc-uclibc = "file://0001-uclibc-nss.patch \ " UCLIBCPATCHES ?= "" -SRC_URI[md5sum] = "0a5f9c2142af814c55d957aaab3bcc68" -SRC_URI[sha256sum] = "da169ff877a5a07581fad50a9a808ac6e96f0c277a3df49a7ef005778428496e" +SRC_URI[md5sum] = "8acf839bfef2364a05fbd6be5f8edf9a" +SRC_URI[sha256sum] = "13dbc8c796dbe0ce8df873007bea0490c8460b56202d918c9eb6fa0358a08f29" inherit autotools update-rc.d systemd pkgconfig @@ -35,14 +35,19 @@ INITSCRIPT_NAME = "rpcbind" INITSCRIPT_PARAMS = "start 12 2 3 4 5 . stop 60 0 1 6 ." SYSTEMD_SERVICE_${PN} = "rpcbind.service" -SYSTEMD_AUTO_ENABLE = "disable" inherit useradd USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home \ +USERADD_PARAM_${PN} = "--system --no-create-home --home-dir / \ --shell /bin/false --user-group rpc" +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" +PACKAGECONFIG[systemd] = "--with-systemdsystemunitdir=${systemd_unitdir}/system/, \ + --without-systemdsystemunitdir, \ + systemd \ +" + EXTRA_OECONF += " --enable-warmstarts --with-rpcuser=rpc" do_install_append () { @@ -56,6 +61,7 @@ do_install_append () { install -m 0755 ${WORKDIR}/rpcbind.conf ${D}${sysconfdir} install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/rpcbind.socket ${D}${systemd_unitdir}/system install -m 0644 ${WORKDIR}/rpcbind.service ${D}${systemd_unitdir}/system sed -i -e 's,@SBINDIR@,${sbindir},g' \ -e 's,@SYSCONFDIR@,${sysconfdir},g' \ diff --git a/meta/recipes-extended/screen/screen_4.0.3.bb b/meta/recipes-extended/screen/screen_4.0.3.bb index c5218ec1db..962a4993a9 100644 --- a/meta/recipes-extended/screen/screen_4.0.3.bb +++ b/meta/recipes-extended/screen/screen_4.0.3.bb @@ -34,6 +34,9 @@ SRC_URI[patch.sha256sum] = "10acb274b2fb0bb7137a0d66e52fa0f18125bc5198c7a8d5af38 inherit autotools texinfo +PACKAGECONFIG ??= "" +PACKAGECONFIG[utempter] = "ac_cv_header_utempter_h=yes,ac_cv_header_utempter_h=no,libutempter," + EXTRA_OECONF = "--with-pty-mode=0620 --with-pty-group=5 \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--enable-pam', '--disable-pam', d)}" diff --git a/meta/recipes-extended/sed/sed_4.1.2.bb b/meta/recipes-extended/sed/sed_4.1.2.bb index fe242e16bd..40e3a53ceb 100644 --- a/meta/recipes-extended/sed/sed_4.1.2.bb +++ b/meta/recipes-extended/sed/sed_4.1.2.bb @@ -23,12 +23,13 @@ do_configure_prepend () { do_install () { autotools_do_install install -d ${D}${base_bindir} - mv ${D}${bindir}/sed ${D}${base_bindir}/sed - rmdir ${D}${bindir}/ + if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then + mv ${D}${bindir}/sed ${D}${base_bindir}/sed + rmdir ${D}${bindir}/ + fi } ALTERNATIVE_${PN} = "sed" ALTERNATIVE_LINK_NAME[sed] = "${base_bindir}/sed" ALTERNATIVE_PRIORITY = "100" -BBCLASSEXTEND = "native" diff --git a/meta/recipes-extended/sed/sed_4.2.2.bb b/meta/recipes-extended/sed/sed_4.2.2.bb index 74ac16bea9..bbfa238df1 100644 --- a/meta/recipes-extended/sed/sed_4.2.2.bb +++ b/meta/recipes-extended/sed/sed_4.2.2.bb @@ -14,7 +14,7 @@ SRC_URI[md5sum] = "4111de4faa3b9848a0686b2f260c5056" SRC_URI[sha256sum] = "fea0a94d4b605894f3e2d5572e3f96e4413bcad3a085aae7367c2cf07908b2ff" inherit autotools texinfo update-alternatives gettext ptest -RDEPENDS_${PN}-ptest += "make locale-base-ru-ru" +RDEPENDS_${PN}-ptest += "make locale-base-ru-ru ${PN}" EXTRA_OECONF = "--disable-acl \ ${@bb.utils.contains('PTEST_ENABLED', '1', '--enable-regex-tests', '', d)}" @@ -22,8 +22,10 @@ EXTRA_OECONF = "--disable-acl \ do_install () { autotools_do_install install -d ${D}${base_bindir} - mv ${D}${bindir}/sed ${D}${base_bindir}/sed - rmdir ${D}${bindir}/ + if [ ! ${D}${bindir} -ef ${D}${base_bindir} ]; then + mv ${D}${bindir}/sed ${D}${base_bindir}/sed + rmdir ${D}${bindir}/ + fi } ALTERNATIVE_${PN} = "sed" @@ -40,4 +42,3 @@ do_install_ptest() { oe_runmake -C ${TESTDIR} install-ptest BUILDDIR=${B} DESTDIR=${D}${PTEST_PATH} TESTDIR=${TESTDIR} } -BBCLASSEXTEND = "native" diff --git a/meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch b/meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch new file mode 100644 index 0000000000..828b95a572 --- /dev/null +++ b/meta/recipes-extended/shadow/files/0001-Do-not-read-login.defs-before-doing-chroot.patch @@ -0,0 +1,46 @@ +From 170c25c8e0b5c3dc2615d1db94c8d24a13ff99bf Mon Sep 17 00:00:00 2001 +From: Peter Kjellerstedt <pkj@axis.com> +Date: Thu, 11 Sep 2014 15:11:23 +0200 +Subject: [PATCH] Do not read login.defs before doing chroot() + +If "useradd --root <root> ..." was used, the login.defs file would still +be read from /etc/login.defs instead of <root>/etc/login.defs. This was +due to getdef_ulong() being called before process_root_flag(). + +Upstream-Status: Submitted [http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/2014-September/010446.html] + +Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> +--- + src/useradd.c | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/useradd.c b/src/useradd.c +index a8a1f76..e1ebf50 100644 +--- a/src/useradd.c ++++ b/src/useradd.c +@@ -1993,9 +1993,11 @@ int main (int argc, char **argv) + #endif /* USE_PAM */ + #endif /* ACCT_TOOLS_SETUID */ + ++#ifdef ENABLE_SUBIDS + /* Needed for userns check */ +- uid_t uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL); +- uid_t uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL); ++ uid_t uid_min; ++ uid_t uid_max; ++#endif + + /* + * Get my name so that I can use it to report errors. +@@ -2026,6 +2028,8 @@ int main (int argc, char **argv) + is_shadow_grp = sgr_file_present (); + #endif + #ifdef ENABLE_SUBIDS ++ uid_min = (uid_t) getdef_ulong ("UID_MIN", 1000UL); ++ uid_max = (uid_t) getdef_ulong ("UID_MAX", 60000UL); + is_sub_uid = sub_uid_file_present () && !rflg && + (!user_id || (user_id <= uid_max && user_id >= uid_min)); + is_sub_gid = sub_gid_file_present () && !rflg && +-- +1.9.0 + diff --git a/meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch b/meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch new file mode 100644 index 0000000000..31337de362 --- /dev/null +++ b/meta/recipes-extended/shadow/files/0001-su.c-fix-to-exec-command-correctly.patch @@ -0,0 +1,25 @@ +Upstream-Status: Pending + +Subject: su.c: fix to exec command correctly + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/su.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/su.c b/src/su.c +index 3704217..bc4f2ac 100644 +--- a/src/su.c ++++ b/src/su.c +@@ -1156,7 +1156,7 @@ int main (int argc, char **argv) + * Use the shell and create an argv + * with the rest of the command line included. + */ +- argv[-1] = cp; ++ argv[-1] = shellstr; + execve_shell (shellstr, &argv[-1], environ); + err = errno; + (void) fprintf (stderr, +-- +1.7.9.5 + diff --git a/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch b/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch new file mode 100644 index 0000000000..85dde8e1bb --- /dev/null +++ b/meta/recipes-extended/shadow/files/0001-useradd.c-create-parent-directories-when-necessary.patch @@ -0,0 +1,109 @@ +Upstream-Status: Inappropriate [OE specific] + +Subject: useradd.c: create parent directories when necessary + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/useradd.c | 72 +++++++++++++++++++++++++++++++++++++++------------------ + 1 file changed, 49 insertions(+), 23 deletions(-) + +diff --git a/src/useradd.c b/src/useradd.c +index 4bd969d..cb5dd6c 100644 +--- a/src/useradd.c ++++ b/src/useradd.c +@@ -1893,6 +1893,35 @@ static void usr_update (void) + } + + /* ++ * mkdir_p - create directories, including parent directories when needed ++ * ++ * similar to `mkdir -p' ++ */ ++void mkdir_p(const char *path) { ++ int len = strlen(path); ++ char newdir[len + 1]; ++ mode_t mode = 0755; ++ int i = 0; ++ ++ if (path[i] == '\0') { ++ return; ++ } ++ ++ /* skip the leading '/' */ ++ i++; ++ ++ while(path[i] != '\0') { ++ if (path[i] == '/') { ++ strncpy(newdir, path, i); ++ newdir[i] = '\0'; ++ mkdir(newdir, mode); ++ } ++ i++; ++ } ++ mkdir(path, mode); ++} ++ ++/* + * create_home - create the user's home directory + * + * create_home() creates the user's home directory if it does not +@@ -1907,36 +1936,33 @@ static void create_home (void) + fail_exit (E_HOMEDIR); + } + #endif +- /* XXX - create missing parent directories. --marekm */ +- if (mkdir (user_home, 0) != 0) { +- fprintf (stderr, +- _("%s: cannot create directory %s\n"), +- Prog, user_home); +-#ifdef WITH_AUDIT +- audit_logger (AUDIT_ADD_USER, Prog, +- "adding home directory", +- user_name, (unsigned int) user_id, +- SHADOW_AUDIT_FAILURE); +-#endif +- fail_exit (E_HOMEDIR); +- } +- chown (user_home, user_id, user_gid); +- chmod (user_home, +- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); +- home_added = true; ++ mkdir_p(user_home); ++ } ++ if (access (user_home, F_OK) != 0) { + #ifdef WITH_AUDIT + audit_logger (AUDIT_ADD_USER, Prog, + "adding home directory", + user_name, (unsigned int) user_id, +- SHADOW_AUDIT_SUCCESS); ++ SHADOW_AUDIT_FAILURE); + #endif +-#ifdef WITH_SELINUX +- /* Reset SELinux to create files with default contexts */ +- if (reset_selinux_file_context () != 0) { +- fail_exit (E_HOMEDIR); +- } ++ fail_exit (E_HOMEDIR); ++ } ++ chown (user_home, user_id, user_gid); ++ chmod (user_home, ++ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); ++ home_added = true; ++#ifdef WITH_AUDIT ++ audit_logger (AUDIT_ADD_USER, Prog, ++ "adding home directory", ++ user_name, (unsigned int) user_id, ++ SHADOW_AUDIT_SUCCESS); + #endif ++#ifdef WITH_SELINUX ++ /* Reset SELinux to create files with default contexts */ ++ if (reset_selinux_file_context () != 0) { ++ fail_exit (E_HOMEDIR); + } ++#endif + } + + /* +-- +1.7.9.5 + diff --git a/meta/recipes-extended/shadow/files/add_root_cmd_groupmems.patch b/meta/recipes-extended/shadow/files/add_root_cmd_groupmems.patch deleted file mode 100644 index 40444967ab..0000000000 --- a/meta/recipes-extended/shadow/files/add_root_cmd_groupmems.patch +++ /dev/null @@ -1,75 +0,0 @@ -Add a --root command option to groupmems utility. - -This option allows the utility to be chrooted when run under pseudo. - -Signed-off-by: Mikhail Durnev <mikhail_durnev@mentor.com> - -diff -Naur old/src/groupmems.c new/src/groupmems.c ---- old/src/groupmems.c 2011-02-13 11:58:16.000000000 -0600 -+++ new/src/groupmems.c 2013-05-30 04:45:38.000000000 -0500 -@@ -60,6 +60,7 @@ - #define EXIT_MEMBER_EXISTS 7 /* member of group already exists */ - #define EXIT_INVALID_USER 8 /* specified user does not exist */ - #define EXIT_INVALID_GROUP 9 /* specified group does not exist */ -+#define EXIT_BAD_ARG 10 /* invalid argument to option */ - - /* - * Global variables -@@ -79,6 +80,7 @@ - static bool is_shadowgrp; - static bool sgr_locked = false; - #endif -+static const char *newroot = ""; - - /* local function prototypes */ - static char *whoami (void); -@@ -368,6 +370,7 @@ - "Options:\n" - " -g, --group groupname change groupname instead of the user's group\n" - " (root only)\n" -+ " -R, --root CHROOT_DIR directory to chroot into\n" - "\n" - "Actions:\n" - " -a, --add username add username to the members of the group\n" -@@ -391,10 +394,11 @@ - {"group", required_argument, NULL, 'g'}, - {"list", no_argument, NULL, 'l'}, - {"purge", no_argument, NULL, 'p'}, -+ {"root", required_argument, NULL, 'R'}, - {NULL, 0, NULL, '\0'} - }; - -- while ((arg = getopt_long (argc, argv, "a:d:g:lp", long_options, -+ while ((arg = getopt_long (argc, argv, "a:d:g:lpR:", long_options, - &option_index)) != EOF) { - switch (arg) { - case 'a': -@@ -416,6 +420,28 @@ - purge = true; - ++exclusive; - break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (EXIT_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (EXIT_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (EXIT_BAD_ARG); -+ } -+ break; - default: - usage (); - } diff --git a/meta/recipes-extended/shadow/files/add_root_cmd_options.patch b/meta/recipes-extended/shadow/files/add_root_cmd_options.patch deleted file mode 100644 index ab87e35535..0000000000 --- a/meta/recipes-extended/shadow/files/add_root_cmd_options.patch +++ /dev/null @@ -1,1384 +0,0 @@ -Add a --root command option to the following utilties: - -* useradd -* groupadd -* usermod -* groupmod -* userdel -* groupdel -* passwd -* gpasswd -* pwconv -* pwunconv -* grpconv -* grpunconv - -This option allows the utilities to be chrooted when run under pseudo. -They can then be used to manipulate user and group account information -in target sysroots. - -The useradd utility was also modified to create home directories -recursively when necessary. - -Upstream-Status: Inappropriate [Other] -Workaround is specific to our build system. - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -2011-09-29 Fix the parsing of the --root option in gpasswd, useradd, usermod: - -In programs which need to scan the command line in two passes to handle ---root option separately from the rest of the arguments, replace the first -calls to getopt_long with a simple iteration over the argument list since -getopt_long has the bad habit of reordering arguments on the command line. - -Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com> - -diff -urN shadow-4.1.4.3.orig//src/gpasswd.c shadow-4.1.4.3//src/gpasswd.c ---- shadow-4.1.4.3.orig//src/gpasswd.c 2011-09-29 12:00:45.211000091 +0100 -+++ shadow-4.1.4.3//src/gpasswd.c 2011-09-29 12:09:54.590000090 +0100 -@@ -63,6 +63,7 @@ - * (/etc/gshadow present) */ - static bool is_shadowgrp; - #endif -+static const char *newroot = ""; - - /* Flags set by options */ - static bool aflg = false; -@@ -97,6 +98,7 @@ - static void usage (void); - static RETSIGTYPE catch_signals (int killed); - static bool is_valid_user_list (const char *users); -+static void process_root_flag (int argc, char **argv); - static void process_flags (int argc, char **argv); - static void check_flags (int argc, int opt_index); - static void open_files (void); -@@ -136,6 +138,7 @@ - "Options:\n" - " -a, --add USER add USER to GROUP\n" - " -d, --delete USER remove USER from GROUP\n" -+ " -Q --root CHROOT_DIR directory to chroot into\n" - " -r, --remove-password remove the GROUP's password\n" - " -R, --restrict restrict access to GROUP to its members\n" - " -M, --members USER,... set the list of members of GROUP\n" -@@ -226,6 +229,57 @@ - } - - /* -+ * process_root_flag - chroot if given the --root option -+ * -+ * We do this outside of process_flags() because -+ * the is_shadow_pwd boolean needs to be set before -+ * process_flags(), and if we do need to chroot() we -+ * must do so before is_shadow_pwd gets set. -+ */ -+static void process_root_flag (int argc, char **argv) -+{ -+ /* -+ * Parse the command line options. -+ */ -+ int i; -+ char *root; -+ -+ for (i = 0; i < argc; i++) { -+ if (!strcmp (argv[i], "--root") || !strcmp (argv[i], "-Q")) { -+ if (i + 1 == argc) { -+ fprintf (stderr, -+ _("%s: option '%s' requires an argument\n"), -+ Prog, argv[i]); -+ exit (E_BAD_ARG); -+ } -+ root = argv[i + 1]; -+ -+ if ('/' != root[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, root); -+ exit (E_BAD_ARG); -+ } -+ newroot = root; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ } -+ } -+} -+ -+/* - * process_flags - process the command line options and arguments - */ - static void process_flags (int argc, char **argv) -@@ -235,6 +289,7 @@ - static struct option long_options[] = { - {"add", required_argument, NULL, 'a'}, - {"delete", required_argument, NULL, 'd'}, -+ {"root", required_argument, NULL, 'Q'}, - {"remove-password", no_argument, NULL, 'r'}, - {"restrict", no_argument, NULL, 'R'}, - {"administrators", required_argument, NULL, 'A'}, -@@ -242,7 +297,7 @@ - {NULL, 0, NULL, '\0'} - }; - -- while ((flag = getopt_long (argc, argv, "a:A:d:gM:rR", long_options, &option_index)) != -1) { -+ while ((flag = getopt_long (argc, argv, "a:A:d:gM:Q:rR", long_options, &option_index)) != -1) { - switch (flag) { - case 'a': /* add a user */ - aflg = true; -@@ -283,6 +338,9 @@ - } - Mflg = true; - break; -+ case 'Q': -+ /* no-op since we handled this in process_root_flag() earlier */ -+ break; - case 'r': /* remove group password */ - rflg = true; - break; -@@ -995,6 +1053,8 @@ - setbuf (stdout, NULL); - setbuf (stderr, NULL); - -+ process_root_flag (argc, argv); -+ - #ifdef SHADOWGRP - is_shadowgrp = sgr_file_present (); - #endif -diff -urN shadow-4.1.4.3.orig//src/groupadd.c shadow-4.1.4.3//src/groupadd.c ---- shadow-4.1.4.3.orig//src/groupadd.c 2011-09-29 12:00:45.212000091 +0100 -+++ shadow-4.1.4.3//src/groupadd.c 2011-09-29 11:59:28.386000092 +0100 -@@ -76,6 +76,7 @@ - static gid_t group_id; - static /*@null@*/char *group_passwd; - static /*@null@*/char *empty_list = NULL; -+static const char *newroot = ""; - - static bool oflg = false; /* permit non-unique group ID to be specified with -g */ - static bool gflg = false; /* ID value for the new group */ -@@ -120,6 +121,7 @@ - (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n" - " (non-unique) GID\n"), stderr); - (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); - (void) fputs (_(" -r, --system create a system account\n"), stderr); - (void) fputs ("\n", stderr); - exit (E_USAGE); -@@ -383,12 +385,13 @@ - {"key", required_argument, NULL, 'K'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"root", required_argument, NULL, 'R'}, - {"system", no_argument, NULL, 'r'}, - {NULL, 0, NULL, '\0'} - }; - - while ((c = -- getopt_long (argc, argv, "fg:hK:op:r", long_options, -+ getopt_long (argc, argv, "fg:hK:op:R:r", long_options, - &option_index)) != -1) { - switch (c) { - case 'f': -@@ -440,6 +443,28 @@ - pflg = true; - group_passwd = optarg; - break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; - case 'r': - rflg = true; - break; -diff -urN shadow-4.1.4.3.orig//src/groupdel.c shadow-4.1.4.3//src/groupdel.c ---- shadow-4.1.4.3.orig//src/groupdel.c 2011-09-29 12:00:45.212000091 +0100 -+++ shadow-4.1.4.3//src/groupdel.c 2011-09-29 11:59:28.386000092 +0100 -@@ -36,6 +36,7 @@ - - #include <ctype.h> - #include <fcntl.h> -+#include <getopt.h> - #include <grp.h> - #include <pwd.h> - #ifdef ACCT_TOOLS_SETUID -@@ -59,6 +60,7 @@ - - static char *group_name; - static gid_t group_id = -1; -+static const char *newroot = ""; - - #ifdef SHADOWGRP - static bool is_shadow_grp; -@@ -70,12 +72,14 @@ - /*@-exitarg@*/ - #define E_SUCCESS 0 /* success */ - #define E_USAGE 2 /* invalid command syntax */ -+#define E_BAD_ARG 3 /* invalid argument to option */ - #define E_NOTFOUND 6 /* specified group doesn't exist */ - #define E_GROUP_BUSY 8 /* can't remove user's primary group */ - #define E_GRP_UPDATE 10 /* can't update group file */ - - /* local function prototypes */ - static void usage (void); -+static void process_flags (int argc, char **argv); - static void grp_update (void); - static void close_files (void); - static void open_files (void); -@@ -86,11 +90,78 @@ - */ - static void usage (void) - { -- fputs (_("Usage: groupdel group\n"), stderr); -+ (void) fprintf (stderr, -+ _("Usage: groupdel [options]\n" -+ "\n" -+ "Options:\n"), -+ Prog); -+ (void) fputs (_(" -g, --group GROUP group name to delete\n"), stderr); -+ (void) fputs (_(" -h, --help display this help message and exit\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); -+ (void) fputs ("\n", stderr); - exit (E_USAGE); - } - - /* -+ * process_flags - perform command line argument setting -+ * -+ * process_flags() interprets the command line arguments and sets -+ * the values that the user will be created with accordingly. The -+ * values are checked for sanity. -+ */ -+static void process_flags (int argc, char **argv) -+{ -+ { -+ /* -+ * Parse the command line options. -+ */ -+ int c; -+ static struct option long_options[] = { -+ {"group", required_argument, NULL, 'g'}, -+ {"help", no_argument, NULL, 'h'}, -+ {"root", required_argument, NULL, 'R'}, -+ {NULL, 0, NULL, '\0'} -+ }; -+ while ((c = getopt_long (argc, argv, -+ "g:R:", -+ long_options, NULL)) != -1) { -+ switch (c) { -+ case 'g': -+ group_name = optarg; -+ break; -+ case 'h': -+ usage (); -+ break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ default: -+ usage (); -+ } -+ } -+ } -+} -+ -+/* - * grp_update - update group file entries - * - * grp_update() writes the new records to the group files. -@@ -328,14 +399,14 @@ - (void) bindtextdomain (PACKAGE, LOCALEDIR); - (void) textdomain (PACKAGE); - -- if (argc != 2) { -+ if (argc == 1) { - usage (); - } - -- group_name = argv[1]; -- - OPENLOG ("groupdel"); - -+ process_flags (argc, argv); -+ - #ifdef ACCT_TOOLS_SETUID - #ifdef USE_PAM - { -diff -urN shadow-4.1.4.3.orig//src/groupmod.c shadow-4.1.4.3//src/groupmod.c ---- shadow-4.1.4.3.orig//src/groupmod.c 2011-09-29 12:00:45.212000091 +0100 -+++ shadow-4.1.4.3//src/groupmod.c 2011-09-29 11:59:28.387000092 +0100 -@@ -79,6 +79,7 @@ - static char *group_passwd; - static gid_t group_id; - static gid_t group_newid; -+static char *newroot = ""; - - struct cleanup_info_mod info_passwd; - struct cleanup_info_mod info_group; -@@ -126,6 +127,7 @@ - (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), stderr); - (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n" - " PASSWORD\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); - (void) fputs ("\n", stderr); - exit (E_USAGE); - } -@@ -346,10 +348,11 @@ - {"new-name", required_argument, NULL, 'n'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"root", required_argument, NULL, 'R'}, - {NULL, 0, NULL, '\0'} - }; - while ((c = -- getopt_long (argc, argv, "g:hn:op:", -+ getopt_long (argc, argv, "g:hn:op:R:", - long_options, &option_index)) != -1) { - switch (c) { - case 'g': -@@ -373,6 +376,28 @@ - group_passwd = optarg; - pflg = true; - break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; - default: - usage (); - } -diff -urN shadow-4.1.4.3.orig//src/grpconv.c shadow-4.1.4.3//src/grpconv.c ---- shadow-4.1.4.3.orig//src/grpconv.c 2011-09-29 12:00:45.213000091 +0100 -+++ shadow-4.1.4.3//src/grpconv.c 2011-09-29 11:59:28.387000092 +0100 -@@ -39,6 +39,7 @@ - - #include <errno.h> - #include <fcntl.h> -+#include <getopt.h> - #include <grp.h> - #include <stdio.h> - #include <stdlib.h> -@@ -50,6 +51,14 @@ - #ifdef SHADOWGRP - #include "groupio.h" - #include "sgroupio.h" -+ -+/* -+ * exit status values -+ */ -+/*@-exitarg@*/ -+#define E_USAGE 2 /* invalid command syntax */ -+#define E_BAD_ARG 3 /* invalid argument to option */ -+ - /* - * Global variables - */ -@@ -57,9 +66,12 @@ - - static bool gr_locked = false; - static bool sgr_locked = false; -+static const char *newroot = ""; - - /* local function prototypes */ - static void fail_exit (int status); -+static void usage (void); -+static void process_flags (int argc, char **argv); - - static void fail_exit (int status) - { -@@ -82,6 +94,77 @@ - exit (status); - } - -+/* -+ * usage - display usage message and exit -+ */ -+static void usage (void) -+{ -+ (void) fprintf (stderr, -+ _("Usage: grpconv [options]\n" -+ "\n" -+ "Options:\n"), -+ Prog); -+ (void) fputs (_(" -h, --help display this help message and exit\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); -+ (void) fputs ("\n", stderr); -+ exit (E_USAGE); -+} -+ -+/* -+ * process_flags - perform command line argument setting -+ * -+ * process_flags() interprets the command line arguments and sets -+ * the values that the user will be created with accordingly. The -+ * values are checked for sanity. -+ */ -+static void process_flags (int argc, char **argv) -+{ -+ { -+ /* -+ * Parse the command line options. -+ */ -+ int c; -+ static struct option long_options[] = { -+ {"help", no_argument, NULL, 'h'}, -+ {"root", required_argument, NULL, 'R'}, -+ {NULL, 0, NULL, '\0'} -+ }; -+ while ((c = getopt_long (argc, argv, -+ "R:", -+ long_options, NULL)) != -1) { -+ switch (c) { -+ case 'h': -+ usage (); -+ break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ default: -+ usage (); -+ } -+ } -+ } -+} -+ - int main (int argc, char **argv) - { - const struct group *gr; -@@ -89,9 +172,6 @@ - const struct sgrp *sg; - struct sgrp sgent; - -- if (1 != argc) { -- (void) fputs (_("Usage: grpconv\n"), stderr); -- } - Prog = Basename (argv[0]); - - (void) setlocale (LC_ALL, ""); -@@ -100,6 +180,8 @@ - - OPENLOG ("grpconv"); - -+ process_flags (argc, argv); -+ - if (gr_lock () == 0) { - fprintf (stderr, - _("%s: cannot lock %s; try again later.\n"), -diff -urN shadow-4.1.4.3.orig//src/grpunconv.c shadow-4.1.4.3//src/grpunconv.c ---- shadow-4.1.4.3.orig//src/grpunconv.c 2011-09-29 12:00:45.213000091 +0100 -+++ shadow-4.1.4.3//src/grpunconv.c 2011-09-29 11:59:28.387000092 +0100 -@@ -43,6 +43,7 @@ - #include <stdlib.h> - #include <string.h> - #include <fcntl.h> -+#include <getopt.h> - #include <time.h> - #include <unistd.h> - #include <grp.h> -@@ -51,6 +52,14 @@ - #ifdef SHADOWGRP - #include "groupio.h" - #include "sgroupio.h" -+ -+/* -+ * exit status values -+ */ -+/*@-exitarg@*/ -+#define E_USAGE 2 /* invalid command syntax */ -+#define E_BAD_ARG 3 /* invalid argument to option */ -+ - /* - * Global variables - */ -@@ -58,9 +67,12 @@ - - static bool gr_locked = false; - static bool sgr_locked = false; -+static const char *newroot = ""; - - /* local function prototypes */ - static void fail_exit (int status); -+static void usage (void); -+static void process_flags (int argc, char **argv); - - static void fail_exit (int status) - { -@@ -83,6 +95,77 @@ - exit (status); - } - -+/* -+ * usage - display usage message and exit -+ */ -+static void usage (void) -+{ -+ (void) fprintf (stderr, -+ _("Usage: grpunconv [options]\n" -+ "\n" -+ "Options:\n"), -+ Prog); -+ (void) fputs (_(" -h, --help display this help message and exit\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); -+ (void) fputs ("\n", stderr); -+ exit (E_USAGE); -+} -+ -+/* -+ * process_flags - perform command line argument setting -+ * -+ * process_flags() interprets the command line arguments and sets -+ * the values that the user will be created with accordingly. The -+ * values are checked for sanity. -+ */ -+static void process_flags (int argc, char **argv) -+{ -+ { -+ /* -+ * Parse the command line options. -+ */ -+ int c; -+ static struct option long_options[] = { -+ {"help", no_argument, NULL, 'h'}, -+ {"root", required_argument, NULL, 'R'}, -+ {NULL, 0, NULL, '\0'} -+ }; -+ while ((c = getopt_long (argc, argv, -+ "R:", -+ long_options, NULL)) != -1) { -+ switch (c) { -+ case 'h': -+ usage (); -+ break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ default: -+ usage (); -+ } -+ } -+ } -+} -+ - int main (int argc, char **argv) - { - const struct group *gr; -@@ -100,6 +183,8 @@ - - OPENLOG ("grpunconv"); - -+ process_flags (argc, argv); -+ - if (sgr_file_present () == 0) { - exit (0); /* no /etc/gshadow, nothing to do */ - } -diff -urN shadow-4.1.4.3.orig//src/passwd.c shadow-4.1.4.3//src/passwd.c ---- shadow-4.1.4.3.orig//src/passwd.c 2011-09-29 12:00:45.214000091 +0100 -+++ shadow-4.1.4.3//src/passwd.c 2011-09-29 11:59:28.388000092 +0100 -@@ -75,6 +75,7 @@ - static char *name; /* The name of user whose password is being changed */ - static char *myname; /* The current user's name */ - static bool amroot; /* The caller's real UID was 0 */ -+static const char *newroot = ""; - - static bool - aflg = false, /* -a - show status for all users */ -@@ -174,6 +175,7 @@ - " -n, --mindays MIN_DAYS set minimum number of days before password\n" - " change to MIN_DAYS\n" - " -q, --quiet quiet mode\n" -+ " -R, --root CHROOT_DIR directory to chroot into\n" - " -r, --repository REPOSITORY change password in REPOSITORY repository\n" - " -S, --status report password status on the named account\n" - " -u, --unlock unlock the password of the named account\n" -@@ -803,6 +805,7 @@ - {"lock", no_argument, NULL, 'l'}, - {"mindays", required_argument, NULL, 'n'}, - {"quiet", no_argument, NULL, 'q'}, -+ {"root", required_argument, NULL, 'R'}, - {"repository", required_argument, NULL, 'r'}, - {"status", no_argument, NULL, 'S'}, - {"unlock", no_argument, NULL, 'u'}, -@@ -811,7 +814,7 @@ - {NULL, 0, NULL, '\0'} - }; - -- while ((c = getopt_long (argc, argv, "adei:kln:qr:Suw:x:", -+ while ((c = getopt_long (argc, argv, "adei:kln:qR:r:Suw:x:", - long_options, &option_index)) != -1) { - switch (c) { - case 'a': -@@ -858,6 +861,28 @@ - case 'q': - qflg = true; /* ok for users */ - break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; - case 'r': - /* -r repository (files|nis|nisplus) */ - /* only "files" supported for now */ -diff -urN shadow-4.1.4.3.orig//src/pwconv.c shadow-4.1.4.3//src/pwconv.c ---- shadow-4.1.4.3.orig//src/pwconv.c 2011-09-29 12:00:45.214000091 +0100 -+++ shadow-4.1.4.3//src/pwconv.c 2011-09-29 11:59:28.388000092 +0100 -@@ -59,6 +59,7 @@ - - #include <errno.h> - #include <fcntl.h> -+#include <getopt.h> - #include <pwd.h> - #include <stdio.h> - #include <stdlib.h> -@@ -79,6 +80,7 @@ - #define E_SUCCESS 0 /* success */ - #define E_NOPERM 1 /* permission denied */ - #define E_USAGE 2 /* invalid command syntax */ -+#define E_BAD_ARG 3 /* invalid argument to option */ - #define E_FAILURE 3 /* unexpected failure, nothing done */ - #define E_MISSING 4 /* unexpected failure, passwd file missing */ - #define E_PWDBUSY 5 /* passwd file(s) busy */ -@@ -90,9 +92,12 @@ - - static bool spw_locked = false; - static bool pw_locked = false; -+static const char *newroot = ""; - - /* local function prototypes */ - static void fail_exit (int status); -+static void usage (void); -+static void process_flags (int argc, char **argv); - - static void fail_exit (int status) - { -@@ -115,6 +120,77 @@ - exit (status); - } - -+/* -+ * usage - display usage message and exit -+ */ -+static void usage (void) -+{ -+ (void) fprintf (stderr, -+ _("Usage: pwconv [options]\n" -+ "\n" -+ "Options:\n"), -+ Prog); -+ (void) fputs (_(" -h, --help display this help message and exit\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); -+ (void) fputs ("\n", stderr); -+ exit (E_USAGE); -+} -+ -+/* -+ * process_flags - perform command line argument setting -+ * -+ * process_flags() interprets the command line arguments and sets -+ * the values that the user will be created with accordingly. The -+ * values are checked for sanity. -+ */ -+static void process_flags (int argc, char **argv) -+{ -+ { -+ /* -+ * Parse the command line options. -+ */ -+ int c; -+ static struct option long_options[] = { -+ {"help", no_argument, NULL, 'h'}, -+ {"root", required_argument, NULL, 'R'}, -+ {NULL, 0, NULL, '\0'} -+ }; -+ while ((c = getopt_long (argc, argv, -+ "R:", -+ long_options, NULL)) != -1) { -+ switch (c) { -+ case 'h': -+ usage (); -+ break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ default: -+ usage (); -+ } -+ } -+ } -+} -+ - int main (int argc, char **argv) - { - const struct passwd *pw; -@@ -122,9 +198,6 @@ - const struct spwd *sp; - struct spwd spent; - -- if (1 != argc) { -- (void) fputs (_("Usage: pwconv\n"), stderr); -- } - Prog = Basename (argv[0]); - - (void) setlocale (LC_ALL, ""); -@@ -133,6 +206,8 @@ - - OPENLOG ("pwconv"); - -+ process_flags (argc, argv); -+ - if (pw_lock () == 0) { - fprintf (stderr, - _("%s: cannot lock %s; try again later.\n"), -diff -urN shadow-4.1.4.3.orig//src/pwunconv.c shadow-4.1.4.3//src/pwunconv.c ---- shadow-4.1.4.3.orig//src/pwunconv.c 2011-09-29 12:00:45.214000091 +0100 -+++ shadow-4.1.4.3//src/pwunconv.c 2011-09-29 11:59:28.388000092 +0100 -@@ -35,6 +35,7 @@ - #ident "$Id: pwunconv.c 2852 2009-04-30 21:44:35Z nekral-guest $" - - #include <fcntl.h> -+#include <getopt.h> - #include <pwd.h> - #include <stdio.h> - #include <sys/types.h> -@@ -46,15 +47,24 @@ - #include "shadowio.h" - - /* -+ * exit status values -+ */ -+/*@-exitarg@*/ -+#define E_USAGE 2 /* invalid command syntax */ -+#define E_BAD_ARG 3 /* invalid argument to option */ -+/* - * Global variables - */ - char *Prog; - - static bool spw_locked = false; - static bool pw_locked = false; -+static const char *newroot = ""; - - /* local function prototypes */ - static void fail_exit (int status); -+static void usage (void); -+static void process_flags (int argc, char **argv); - - static void fail_exit (int status) - { -@@ -75,6 +85,76 @@ - exit (status); - } - -+/* -+ * usage - display usage message and exit -+ */ -+static void usage (void) -+{ -+ (void) fprintf (stderr, -+ _("Usage: pwunconv [options]\n" -+ "\n" -+ "Options:\n"), -+ Prog); -+ (void) fputs (_(" -h, --help display this help message and exit\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); -+ (void) fputs ("\n", stderr); -+ exit (E_USAGE); -+} -+ -+/* -+ * process_flags - perform command line argument setting -+ * -+ * process_flags() interprets the command line arguments and sets -+ * the values that the user will be created with accordingly. The -+ * values are checked for sanity. -+ */ -+static void process_flags (int argc, char **argv) -+{ -+ { -+ /* -+ * Parse the command line options. -+ */ -+ int c; -+ static struct option long_options[] = { -+ {"help", no_argument, NULL, 'h'}, -+ {"root", required_argument, NULL, 'R'}, -+ {NULL, 0, NULL, '\0'} -+ }; -+ while ((c = getopt_long (argc, argv, -+ "R:", -+ long_options, NULL)) != -1) { -+ switch (c) { -+ case 'h': -+ usage (); -+ break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ default: -+ usage (); -+ } -+ } -+ } -+} - - int main (int argc, char **argv) - { -@@ -93,6 +173,8 @@ - - OPENLOG ("pwunconv"); - -+ process_flags (argc, argv); -+ - if (!spw_file_present ()) { - /* shadow not installed, do nothing */ - exit (0); -diff -urN shadow-4.1.4.3.orig//src/useradd.c shadow-4.1.4.3//src/useradd.c ---- shadow-4.1.4.3.orig//src/useradd.c 2011-09-29 12:00:45.215000091 +0100 -+++ shadow-4.1.4.3//src/useradd.c 2011-09-29 11:59:28.520000092 +0100 -@@ -112,6 +112,7 @@ - #ifdef WITH_SELINUX - static const char *user_selinux = ""; - #endif -+static const char *newroot = ""; - - static long user_expire = -1; - static bool is_shadow_pwd; -@@ -189,6 +190,7 @@ - static void new_spent (struct spwd *); - static void grp_update (void); - -+static void process_root_flag (int argc, char **argv); - static void process_flags (int argc, char **argv); - static void close_files (void); - static void open_files (void); -@@ -711,6 +713,7 @@ - (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n" - " (non-unique) UID\n"), stderr); - (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), stderr); -+ (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); - (void) fputs (_(" -r, --system create a system account\n"), stderr); - (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), stderr); - (void) fputs (_(" -u, --uid UID user ID of the new account\n"), stderr); -@@ -943,6 +946,57 @@ - } - - /* -+ * process_root_flag - chroot if given the --root option -+ * -+ * We do this outside of process_flags() because -+ * the is_shadow_pwd boolean needs to be set before -+ * process_flags(), and if we do need to chroot() we -+ * must do so before is_shadow_pwd gets set. -+ */ -+static void process_root_flag (int argc, char **argv) -+{ -+ /* -+ * Parse the command line options. -+ */ -+ int i; -+ char *root; -+ -+ for (i = 0; i < argc; i++) { -+ if (!strcmp (argv[i], "--root") || !strcmp (argv[i], "-R")) { -+ if (i + 1 == argc) { -+ fprintf (stderr, -+ _("%s: option '%s' requires an argument\n"), -+ Prog, argv[i]); -+ exit (E_BAD_ARG); -+ } -+ root = argv[i + 1]; -+ -+ if ('/' != root[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, root); -+ exit (E_BAD_ARG); -+ } -+ newroot = root; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ } -+ } -+} -+ -+/* - * process_flags - perform command line argument setting - * - * process_flags() interprets the command line arguments and sets -@@ -978,6 +1032,7 @@ - {"no-user-group", no_argument, NULL, 'N'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"root", required_argument, NULL, 'R'}, - {"system", no_argument, NULL, 'r'}, - {"shell", required_argument, NULL, 's'}, - #ifdef WITH_SELINUX -@@ -989,9 +1044,9 @@ - }; - while ((c = getopt_long (argc, argv, - #ifdef WITH_SELINUX -- "b:c:d:De:f:g:G:k:K:lmMNop:rs:u:UZ:", -+ "b:c:d:De:f:g:G:k:K:lmMNop:R:rs:u:UZ:", - #else -- "b:c:d:De:f:g:G:k:K:lmMNop:rs:u:U", -+ "b:c:d:De:f:g:G:k:K:lmMNop:R:rs:u:U", - #endif - long_options, NULL)) != -1) { - switch (c) { -@@ -1156,6 +1211,9 @@ - } - user_pass = optarg; - break; -+ case 'R': -+ /* no-op since we handled this in process_root_flag() earlier */ -+ break; - case 'r': - rflg = true; - break; -@@ -1735,6 +1793,36 @@ - } - } - #endif -+ -+/* -+ * mkdir_p - create directories, including parent directories when needed -+ * -+ * similar to mkdir -p -+ */ -+void mkdir_p(const char *path) { -+ int len = strlen(path); -+ char newdir[len + 1]; -+ mode_t mode = 0755; -+ int i = 0; -+ -+ if (path[i] == '\0') { -+ return; -+ } -+ -+ /* skip the leading '/' */ -+ i++; -+ -+ while(path[i] != '\0') { -+ if (path[i] == '/') { -+ strncpy(newdir, path, i); -+ newdir[i] = '\0'; -+ mkdir(newdir, mode); -+ } -+ i++; -+ } -+ mkdir(path, mode); -+} -+ - /* - * create_home - create the user's home directory - * -@@ -1748,34 +1836,31 @@ - #ifdef WITH_SELINUX - selinux_file_context (user_home); - #endif -- /* XXX - create missing parent directories. --marekm */ -- if (mkdir (user_home, 0) != 0) { -- fprintf (stderr, -- _("%s: cannot create directory %s\n"), -- Prog, user_home); --#ifdef WITH_AUDIT -- audit_logger (AUDIT_ADD_USER, Prog, -- "adding home directory", -- user_name, (unsigned int) user_id, -- SHADOW_AUDIT_FAILURE); --#endif -- fail_exit (E_HOMEDIR); -- } -- chown (user_home, user_id, user_gid); -- chmod (user_home, -- 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); -- home_added = true; -+ mkdir_p(user_home); -+ } -+ if (access (user_home, F_OK) != 0) { - #ifdef WITH_AUDIT - audit_logger (AUDIT_ADD_USER, Prog, - "adding home directory", - user_name, (unsigned int) user_id, -- SHADOW_AUDIT_SUCCESS); -+ SHADOW_AUDIT_FAILURE); -+#endif -+ fail_exit (E_HOMEDIR); -+ } -+ chown (user_home, user_id, user_gid); -+ chmod (user_home, -+ 0777 & ~getdef_num ("UMASK", GETDEF_DEFAULT_UMASK)); -+ home_added = true; -+#ifdef WITH_AUDIT -+ audit_logger (AUDIT_ADD_USER, Prog, -+ "adding home directory", -+ user_name, (unsigned int) user_id, -+ SHADOW_AUDIT_SUCCESS); - #endif - #ifdef WITH_SELINUX -- /* Reset SELinux to create files with default contexts */ -- setfscreatecon (NULL); -+ /* Reset SELinux to create files with default contexts */ -+ setfscreatecon (NULL); - #endif -- } - } - - /* -@@ -1861,6 +1946,7 @@ - */ - user_groups[0] = (char *) 0; - -+ process_root_flag (argc, argv); - - is_shadow_pwd = spw_file_present (); - #ifdef SHADOWGRP -diff -urN shadow-4.1.4.3.orig//src/userdel.c shadow-4.1.4.3//src/userdel.c ---- shadow-4.1.4.3.orig//src/userdel.c 2011-09-29 12:00:45.216000091 +0100 -+++ shadow-4.1.4.3//src/userdel.c 2011-09-29 11:59:28.389000092 +0100 -@@ -79,6 +79,7 @@ - static char *user_name; - static uid_t user_id; - static char *user_home; -+static const char *newroot = ""; - - static bool fflg = false; - static bool rflg = false; -@@ -119,6 +120,7 @@ - " -f, --force force removal of files,\n" - " even if not owned by user\n" - " -h, --help display this help message and exit\n" -+ " -R, --root CHROOT_DIR directory to chroot into\n" - " -r, --remove remove home directory and mail spool\n" - "\n"), stderr); - exit (E_USAGE); -@@ -768,12 +770,34 @@ - {"remove", no_argument, NULL, 'r'}, - {NULL, 0, NULL, '\0'} - }; -- while ((c = getopt_long (argc, argv, "fhr", -+ while ((c = getopt_long (argc, argv, "fhR:r", - long_options, NULL)) != -1) { - switch (c) { - case 'f': /* force remove even if not owned by user */ - fflg = true; - break; -+ case 'R': -+ if ('/' != optarg[0]) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, optarg); -+ exit (E_BAD_ARG); -+ } -+ newroot = optarg; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; - case 'r': /* remove home dir and mailbox */ - rflg = true; - break; -diff -urN shadow-4.1.4.3.orig//src/usermod.c shadow-4.1.4.3//src/usermod.c ---- shadow-4.1.4.3.orig//src/usermod.c 2011-09-29 12:00:45.216000091 +0100 -+++ shadow-4.1.4.3//src/usermod.c 2011-09-29 11:59:28.390000092 +0100 -@@ -110,6 +110,7 @@ - static long user_newinactive; - static long sys_ngroups; - static char **user_groups; /* NULL-terminated list */ -+static const char *newroot = ""; - - static bool - aflg = false, /* append to existing secondary group set */ -@@ -164,6 +165,7 @@ - #endif - static void grp_update (void); - -+static void process_root_flag (int, char **); - static void process_flags (int, char **); - static void close_files (void); - static void open_files (void); -@@ -323,6 +325,7 @@ - " new location (use only with -d)\n" - " -o, --non-unique allow using duplicate (non-unique) UID\n" - " -p, --password PASSWORD use encrypted password for the new password\n" -+ " -R --root CHROOT_DIR directory to chroot into\n" - " -s, --shell SHELL new login shell for the user account\n" - " -u, --uid UID new UID for the user account\n" - " -U, --unlock unlock the user account\n" -@@ -802,6 +805,58 @@ - } - - /* -+ * process_root_flag - chroot if given the --root option -+ * -+ * We do this outside of process_flags() because -+ * the is_shadow_pwd boolean needs to be set before -+ * process_flags(), and if we do need to chroot() we -+ * must do so before is_shadow_pwd gets set. -+ */ -+static void process_root_flag (int argc, char **argv) -+{ -+ /* -+ * Parse the command line options. -+ */ -+ int i; -+ char *root; -+ -+ for (i = 0; i < argc; i++) { -+ if (!strcmp (argv[i], "--root") || !strcmp (argv[i], "-R")) { -+ if (i + 1 == argc) { -+ fprintf (stderr, -+ _("%s: option '%s' requires an argument\n"), -+ Prog, argv[i]); -+ exit (E_BAD_ARG); -+ } -+ root = argv[i + 1]; -+ -+ if ( (!VALID (root) ) -+ || ( ('/' != root[0]) ) ) { -+ fprintf (stderr, -+ _("%s: invalid chroot path '%s'\n"), -+ Prog, root); -+ exit (E_BAD_ARG); -+ } -+ newroot = root; -+ -+ if (access (newroot, F_OK) != 0) { -+ fprintf(stderr, -+ _("%s: chroot directory %s does not exist\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ if ( chroot(newroot) != 0 ) { -+ fprintf(stderr, -+ _("%s: unable to chroot to directory %s\n"), -+ Prog, newroot); -+ exit (E_BAD_ARG); -+ } -+ break; -+ } -+ } -+} -+ -+/* - * process_flags - perform command line argument setting - * - * process_flags() interprets the command line arguments and sets the -@@ -895,6 +950,7 @@ - {"move-home", no_argument, NULL, 'm'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, -+ {"root", required_argument, NULL, 'R'}, - #ifdef WITH_SELINUX - {"selinux-user", required_argument, NULL, 'Z'}, - #endif -@@ -905,9 +961,9 @@ - }; - while ((c = getopt_long (argc, argv, - #ifdef WITH_SELINUX -- "ac:d:e:f:g:G:hl:Lmop:s:u:UZ:", -+ "ac:d:e:f:g:G:hl:Lmop:R:s:u:UZ:", - #else -- "ac:d:e:f:g:G:hl:Lmop:s:u:U", -+ "ac:d:e:f:g:G:hl:Lmop:R:s:u:U", - #endif - long_options, NULL)) != -1) { - switch (c) { -@@ -999,6 +1055,9 @@ - user_pass = optarg; - pflg = true; - break; -+ case 'R': -+ /* no-op since we handled this in process_root_flag() earlier */ -+ break; - case 's': - if (!VALID (optarg)) { - fprintf (stderr, -@@ -1715,6 +1774,8 @@ - - OPENLOG ("usermod"); - -+ process_root_flag (argc, argv); -+ - is_shadow_pwd = spw_file_present (); - #ifdef SHADOWGRP - is_shadow_grp = sgr_file_present (); diff --git a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch b/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch index eafb935a3a..68da25f406 100644 --- a/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch +++ b/meta/recipes-extended/shadow/files/allow-for-setting-password-in-clear-text.patch @@ -3,20 +3,19 @@ Upstream-Status: Inappropriate [OE specific] Allow for setting password in clear text. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> - --- src/Makefile.am | 8 ++++---- src/groupadd.c | 8 +++++++- - src/groupmod.c | 9 ++++++++- + src/groupmod.c | 8 +++++++- src/useradd.c | 9 +++++++-- - src/usermod.c | 10 ++++++++-- - 5 files changed, 34 insertions(+), 10 deletions(-) + src/usermod.c | 8 +++++++- + 5 files changed, 32 insertions(+), 9 deletions(-) diff --git a/src/Makefile.am b/src/Makefile.am -index 6a3b4c5..1ffdbc6 100644 +index 25e288d..856b087 100644 --- a/src/Makefile.am +++ b/src/Makefile.am -@@ -76,10 +76,10 @@ chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT) +@@ -88,10 +88,10 @@ chgpasswd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBSELINUX) $(LIBCRYPT) chsh_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) chpasswd_LDADD = $(LDADD) $(LIBPAM) $(LIBSELINUX) $(LIBCRYPT) gpasswd_LDADD = $(LDADD) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) @@ -29,47 +28,46 @@ index 6a3b4c5..1ffdbc6 100644 grpck_LDADD = $(LDADD) $(LIBSELINUX) grpconv_LDADD = $(LDADD) $(LIBSELINUX) grpunconv_LDADD = $(LDADD) $(LIBSELINUX) -@@ -99,9 +99,9 @@ su_SOURCES = \ +@@ -111,9 +111,9 @@ su_SOURCES = \ suauth.c su_LDADD = $(LDADD) $(LIBPAM) $(LIBCRYPT_NOPAM) $(LIBSKEY) $(LIBMD) sulogin_LDADD = $(LDADD) $(LIBCRYPT) --useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) -+useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) - userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) --usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) -+usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBCRYPT) +-useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) ++useradd_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT) + userdel_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) +-usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) ++usermod_LDADD = $(LDADD) $(LIBPAM_SUID) $(LIBAUDIT) $(LIBSELINUX) $(LIBSEMANAGE) $(LIBACL) $(LIBATTR) $(LIBCRYPT) vipw_LDADD = $(LDADD) $(LIBSELINUX) install-am: all-am diff --git a/src/groupadd.c b/src/groupadd.c -index 66b38de..3157486 100644 +index f716f57..4e28c26 100644 --- a/src/groupadd.c +++ b/src/groupadd.c -@@ -124,6 +124,7 @@ static void usage (void) +@@ -124,6 +124,7 @@ static /*@noreturn@*/void usage (int status) (void) fputs (_(" -o, --non-unique allow to create groups with duplicate\n" - " (non-unique) GID\n"), stderr); - (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), stderr); -+ (void) fputs (_(" -P, --clear-password PASSWORD use this clear text password for the new group\n"), stderr); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); - (void) fputs (_(" -r, --system create a system account\n"), stderr); - (void) fputs ("\n", stderr); -@@ -388,13 +389,14 @@ static void process_flags (int argc, char **argv) - {"key", required_argument, NULL, 'K'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, + " (non-unique) GID\n"), usageout); + (void) fputs (_(" -p, --password PASSWORD use this encrypted password for the new group\n"), usageout); ++ (void) fputs (_(" -P, --clear-password PASSWORD use this clear password for the new group\n"), usageout); + (void) fputs (_(" -r, --system create a system account\n"), usageout); + (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs ("\n", usageout); +@@ -387,12 +388,13 @@ static void process_flags (int argc, char **argv) + {"key", required_argument, NULL, 'K'}, + {"non-unique", no_argument, NULL, 'o'}, + {"password", required_argument, NULL, 'p'}, + {"clear-password", required_argument, NULL, 'P'}, - {"root", required_argument, NULL, 'R'}, - {"system", no_argument, NULL, 'r'}, + {"system", no_argument, NULL, 'r'}, + {"root", required_argument, NULL, 'R'}, {NULL, 0, NULL, '\0'} }; - while ((c = -- getopt_long (argc, argv, "fg:hK:op:R:r", long_options, -+ getopt_long (argc, argv, "fg:hK:op:P:R:r", long_options, - &option_index)) != -1) { +- while ((c = getopt_long (argc, argv, "fg:hK:op:rR:", ++ while ((c = getopt_long (argc, argv, "fg:hK:op:P:rR:", + long_options, NULL)) != -1) { switch (c) { case 'f': -@@ -446,6 +448,10 @@ static void process_flags (int argc, char **argv) +@@ -444,6 +446,10 @@ static void process_flags (int argc, char **argv) pflg = true; group_passwd = optarg; break; @@ -77,37 +75,35 @@ index 66b38de..3157486 100644 + pflg = true; + group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); + break; - case 'R': - if ('/' != optarg[0]) { - fprintf (stderr, + case 'r': + rflg = true; + break; diff --git a/src/groupmod.c b/src/groupmod.c -index 27eb159..17acbc3 100644 +index d9d3807..68f49d1 100644 --- a/src/groupmod.c +++ b/src/groupmod.c -@@ -127,6 +127,8 @@ static void usage (void) - (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), stderr); +@@ -127,6 +127,7 @@ static void usage (int status) + (void) fputs (_(" -o, --non-unique allow to use a duplicate (non-unique) GID\n"), usageout); (void) fputs (_(" -p, --password PASSWORD change the password to this (encrypted)\n" - " PASSWORD\n"), stderr); -+ (void) fputs (_(" -P, --clear-password PASSWORD change the password to this (clear text)\n" -+ " PASSWORD\n"), stderr); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); - (void) fputs ("\n", stderr); - exit (E_USAGE); -@@ -348,11 +350,12 @@ static void process_flags (int argc, char **argv) - {"new-name", required_argument, NULL, 'n'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, + " PASSWORD\n"), usageout); ++ (void) fputs (_(" -P, --clear-password PASSWORD change the password to this clear PASSWORD\n"), usageout); + (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs ("\n", usageout); + exit (status); +@@ -375,10 +376,11 @@ static void process_flags (int argc, char **argv) + {"new-name", required_argument, NULL, 'n'}, + {"non-unique", no_argument, NULL, 'o'}, + {"password", required_argument, NULL, 'p'}, + {"clear-password", required_argument, NULL, 'P'}, - {"root", required_argument, NULL, 'R'}, + {"root", required_argument, NULL, 'R'}, {NULL, 0, NULL, '\0'} }; - while ((c = -- getopt_long (argc, argv, "g:hn:op:R:", -+ getopt_long (argc, argv, "g:hn:op:P:R:", - long_options, &option_index)) != -1) { +- while ((c = getopt_long (argc, argv, "g:hn:op:R:", ++ while ((c = getopt_long (argc, argv, "g:hn:op:P:R:", + long_options, NULL)) != -1) { switch (c) { case 'g': -@@ -376,6 +379,10 @@ static void process_flags (int argc, char **argv) +@@ -405,6 +407,10 @@ static void process_flags (int argc, char **argv) group_passwd = optarg; pflg = true; break; @@ -115,84 +111,81 @@ index 27eb159..17acbc3 100644 + group_passwd = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); + pflg = true; + break; - case 'R': - if ('/' != optarg[0]) { - fprintf (stderr, + case 'R': /* no-op, handled in process_root_flag () */ + break; + default: diff --git a/src/useradd.c b/src/useradd.c -index 2102630..390909c 100644 +index b3bd451..4416f90 100644 --- a/src/useradd.c +++ b/src/useradd.c -@@ -716,6 +716,7 @@ static void usage (void) +@@ -773,6 +773,7 @@ static void usage (int status) (void) fputs (_(" -o, --non-unique allow to create users with duplicate\n" - " (non-unique) UID\n"), stderr); - (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), stderr); -+ (void) fputs (_(" -P, --clear-password PASSWORD clear text password of the new account\n"), stderr); - (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), stderr); - (void) fputs (_(" -r, --system create a system account\n"), stderr); - (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), stderr); -@@ -1035,6 +1036,7 @@ static void process_flags (int argc, char **argv) - {"no-user-group", no_argument, NULL, 'N'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, + " (non-unique) UID\n"), usageout); + (void) fputs (_(" -p, --password PASSWORD encrypted password of the new account\n"), usageout); ++ (void) fputs (_(" -P, --clear-password PASSWORD clear password of the new account\n"), usageout); + (void) fputs (_(" -r, --system create a system account\n"), usageout); + (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs (_(" -s, --shell SHELL login shell of the new account\n"), usageout); +@@ -1047,6 +1048,7 @@ static void process_flags (int argc, char **argv) + {"no-user-group", no_argument, NULL, 'N'}, + {"non-unique", no_argument, NULL, 'o'}, + {"password", required_argument, NULL, 'p'}, + {"clear-password", required_argument, NULL, 'P'}, - {"root", required_argument, NULL, 'R'}, - {"system", no_argument, NULL, 'r'}, - {"shell", required_argument, NULL, 's'}, -@@ -1047,9 +1049,9 @@ static void process_flags (int argc, char **argv) + {"system", no_argument, NULL, 'r'}, + {"root", required_argument, NULL, 'R'}, + {"shell", required_argument, NULL, 's'}, +@@ -1059,9 +1061,9 @@ static void process_flags (int argc, char **argv) }; while ((c = getopt_long (argc, argv, #ifdef WITH_SELINUX -- "b:c:d:De:f:g:G:k:K:lmMNop:R:rs:u:UZ:", -+ "b:c:d:De:f:g:G:k:K:lmMNop:P:R:rs:u:UZ:", - #else -- "b:c:d:De:f:g:G:k:K:lmMNop:R:rs:u:U", -+ "b:c:d:De:f:g:G:k:K:lmMNop:P:R:rs:u:U", - #endif +- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:UZ:", ++ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:s:u:UZ:", + #else /* !WITH_SELINUX */ +- "b:c:d:De:f:g:G:hk:K:lmMNop:rR:s:u:U", ++ "b:c:d:De:f:g:G:hk:K:lmMNop:P:rR:s:u:U", + #endif /* !WITH_SELINUX */ long_options, NULL)) != -1) { switch (c) { -@@ -1214,6 +1216,9 @@ static void process_flags (int argc, char **argv) +@@ -1227,6 +1229,9 @@ static void process_flags (int argc, char **argv) } user_pass = optarg; break; -+ case 'P': /* set clear text password */ ++ case 'P': /* set clear text password */ + user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); + break; - case 'R': - /* no-op since we handled this in process_root_flag() earlier */ + case 'r': + rflg = true; break; diff --git a/src/usermod.c b/src/usermod.c -index 8363597..f4c1cee 100644 +index e7d4351..b79f7a3 100644 --- a/src/usermod.c +++ b/src/usermod.c -@@ -325,6 +325,7 @@ static void usage (void) - " new location (use only with -d)\n" - " -o, --non-unique allow using duplicate (non-unique) UID\n" - " -p, --password PASSWORD use encrypted password for the new password\n" -+ " -P, --clear-password PASSWORD use clear text password for the new password\n" - " -R --root CHROOT_DIR directory to chroot into\n" - " -s, --shell SHELL new login shell for the user account\n" - " -u, --uid UID new UID for the user account\n" -@@ -950,6 +951,7 @@ static void process_flags (int argc, char **argv) - {"move-home", no_argument, NULL, 'm'}, - {"non-unique", no_argument, NULL, 'o'}, - {"password", required_argument, NULL, 'p'}, +@@ -419,6 +419,7 @@ static /*@noreturn@*/void usage (int status) + " new location (use only with -d)\n"), usageout); + (void) fputs (_(" -o, --non-unique allow using duplicate (non-unique) UID\n"), usageout); + (void) fputs (_(" -p, --password PASSWORD use encrypted password for the new password\n"), usageout); ++ (void) fputs (_(" -P, --clear-password PASSWORD use clear password for the new password\n"), usageout); + (void) fputs (_(" -R, --root CHROOT_DIR directory to chroot into\n"), usageout); + (void) fputs (_(" -s, --shell SHELL new login shell for the user account\n"), usageout); + (void) fputs (_(" -u, --uid UID new UID for the user account\n"), usageout); +@@ -996,6 +997,7 @@ static void process_flags (int argc, char **argv) + {"move-home", no_argument, NULL, 'm'}, + {"non-unique", no_argument, NULL, 'o'}, + {"password", required_argument, NULL, 'p'}, + {"clear-password", required_argument, NULL, 'P'}, - {"root", required_argument, NULL, 'R'}, - #ifdef WITH_SELINUX - {"selinux-user", required_argument, NULL, 'Z'}, -@@ -961,9 +963,9 @@ static void process_flags (int argc, char **argv) + {"root", required_argument, NULL, 'R'}, + {"shell", required_argument, NULL, 's'}, + {"uid", required_argument, NULL, 'u'}, +@@ -1012,7 +1014,7 @@ static void process_flags (int argc, char **argv) + {NULL, 0, NULL, '\0'} }; while ((c = getopt_long (argc, argv, - #ifdef WITH_SELINUX -- "ac:d:e:f:g:G:hl:Lmop:R:s:u:UZ:", -+ "ac:d:e:f:g:G:hl:Lmop:P:R:s:u:UZ:", - #else -- "ac:d:e:f:g:G:hl:Lmop:R:s:u:U", -+ "ac:d:e:f:g:G:hl:Lmop:P:R:s:u:U", - #endif - long_options, NULL)) != -1) { - switch (c) { -@@ -1055,6 +1057,10 @@ static void process_flags (int argc, char **argv) +- "ac:d:e:f:g:G:hl:Lmop:R:s:u:U" ++ "ac:d:e:f:g:G:hl:Lmop:P:R:s:u:U" + #ifdef ENABLE_SUBIDS + "v:w:V:W:" + #endif /* ENABLE_SUBIDS */ +@@ -1112,6 +1114,10 @@ static void process_flags (int argc, char **argv) user_pass = optarg; pflg = true; break; @@ -200,9 +193,9 @@ index 8363597..f4c1cee 100644 + user_pass = pw_encrypt (optarg, crypt_make_salt (NULL, NULL)); + pflg = true; + break; - case 'R': - /* no-op since we handled this in process_root_flag() earlier */ + case 'R': /* no-op, handled in process_root_flag () */ break; + case 's': -- 1.7.9.5 diff --git a/meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch b/meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch new file mode 100644 index 0000000000..185590cabd --- /dev/null +++ b/meta/recipes-extended/shadow/files/check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch @@ -0,0 +1,41 @@ +From 2cb54158b80cdbd97ca3b36df83f9255e923ae3f Mon Sep 17 00:00:00 2001 +From: James Le Cuirot <chewi@aura-online.co.uk> +Date: Sat, 23 Aug 2014 09:46:39 +0100 +Subject: [PATCH] Check size of uid_t and gid_t using AC_CHECK_SIZEOF + +This built-in check is simpler than the previous method and, most +importantly, works when cross-compiling. + +Upstream-Status: Accepted +[https://github.com/shadow-maint/shadow/commit/2cb54158b80cdbd97ca3b36df83f9255e923ae3f] + +Signed-off-by: Serge Hallyn <serge.hallyn@ubuntu.com> +--- + configure.in | 14 ++++---------- + 1 file changed, 4 insertions(+), 10 deletions(-) + +diff --git a/configure.in b/configure.in +index 1a3f841..4a4d6d0 100644 +--- a/configure.in ++++ b/configure.in +@@ -335,16 +335,10 @@ if test "$enable_subids" != "no"; then + dnl + dnl FIXME: check if 32 bit UIDs/GIDs are supported by libc + dnl +- AC_RUN_IFELSE([AC_LANG_SOURCE([ +-#include <sys/types.h> +-int main(void) { +- uid_t u; +- gid_t g; +- return (sizeof u < 4) || (sizeof g < 4); +-} +- ])], [id32bit="yes"], [id32bit="no"]) +- +- if test "x$id32bit" = "xyes"; then ++ AC_CHECK_SIZEOF([uid_t],, [#include "sys/types.h"]) ++ AC_CHECK_SIZEOF([gid_t],, [#include "sys/types.h"]) ++ ++ if test "$ac_cv_sizeof_uid_t" -ge 4 && test "$ac_cv_sizeof_gid_t" -ge 4; then + AC_DEFINE(ENABLE_SUBIDS, 1, [Define to support the subordinate IDs.]) + enable_subids="yes" + else diff --git a/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch new file mode 100644 index 0000000000..4fa3d184ed --- /dev/null +++ b/meta/recipes-extended/shadow/files/commonio.c-fix-unexpected-open-failure-in-chroot-env.patch @@ -0,0 +1,46 @@ +Upstream-Status: Inappropriate [OE specific] + +commonio.c: fix unexpected open failure in chroot environment + +When using commands with '-R <newroot>' option in our pseudo environment, +we would usually get the 'Pemission Denied' error. This patch serves as +a workaround to this problem. + +Note that this patch doesn't change the logic in the code, it just expands +the codes. + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + lib/commonio.c | 16 ++++++++++++---- + 1 file changed, 12 insertions(+), 4 deletions(-) + +diff --git a/lib/commonio.c b/lib/commonio.c +index cc536bf..51cafd9 100644 +--- a/lib/commonio.c ++++ b/lib/commonio.c +@@ -613,10 +613,18 @@ int commonio_open (struct commonio_db *db, int mode) + db->cursor = NULL; + db->changed = false; + +- fd = open (db->filename, +- (db->readonly ? O_RDONLY : O_RDWR) +- | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); +- saved_errno = errno; ++ if (db->readonly) { ++ fd = open (db->filename, ++ (true ? O_RDONLY : O_RDWR) ++ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); ++ saved_errno = errno; ++ } else { ++ fd = open (db->filename, ++ (false ? O_RDONLY : O_RDWR) ++ | O_NOCTTY | O_NONBLOCK | O_NOFOLLOW); ++ saved_errno = errno; ++ } ++ + db->fp = NULL; + if (fd >= 0) { + #ifdef WITH_TCB +-- +1.7.9.5 + diff --git a/meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch b/meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch deleted file mode 100644 index 80ebdc22a4..0000000000 --- a/meta/recipes-extended/shadow/files/fix-etc-gshadow-reading.patch +++ /dev/null @@ -1,36 +0,0 @@ -shadow: Fix parsing of gshadow entries - -Upstream-Status: Backport [http://anonscm.debian.org/viewvc/pkg-shadow?view=revision&revision=3096] - -newgrp command does not function properly. -Even with the valid password, it outputs: "'Invalid password'" - -Signed-off-by: Roy.Li <rongqing.li@windriver.com> - -2010-02-14 Michael Bunk <mb@computer-leipzig.com> - - * NEWS, lib/gshadow.c: Fix parsing of gshadow entries. - -diff -urpN a/lib/gshadow.c b/lib/gshadow.c ---- a/lib/gshadow.c 2013-07-11 10:18:15.745450428 +0800 -+++ b/lib/gshadow.c 2013-07-11 10:17:30.465450280 +0800 -@@ -222,6 +222,7 @@ void endsgent (void) - if (NULL == buf) { - return NULL; - } -+ buflen = BUFSIZ; - } - - if (NULL == fp) { -@@ -229,9 +230,9 @@ void endsgent (void) - } - - #ifdef USE_NIS -- while (fgetsx (buf, (int) sizeof buf, fp) == buf) -+ while (fgetsx (buf, (int) buflen, fp) == buf) - #else -- if (fgetsx (buf, (int) sizeof buf, fp) == buf) -+ if (fgetsx (buf, (int) buflen, fp) == buf) - #endif - { - while ( ((cp = strrchr (buf, '\n')) == NULL) diff --git a/meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch b/meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch new file mode 100644 index 0000000000..02cb91aafd --- /dev/null +++ b/meta/recipes-extended/shadow/files/fix-installation-failure-with-subids-disabled.patch @@ -0,0 +1,28 @@ +Upstream-Status: Pending + +Subject: fix installation failure with subids disabled + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/Makefile.am | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/src/Makefile.am b/src/Makefile.am +index 25e288d..076f8ef 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -52,7 +52,10 @@ usbin_PROGRAMS = \ + noinst_PROGRAMS = id sulogin + + suidbins = su +-suidubins = chage chfn chsh expiry gpasswd newgrp passwd newuidmap newgidmap ++suidubins = chage chfn chsh expiry gpasswd newgrp passwd ++if ENABLE_SUBIDS ++suidubins += newgidmap newuidmap ++endif + if ACCT_TOOLS_SETUID + suidubins += chage chgpasswd chpasswd groupadd groupdel groupmod newusers useradd userdel usermod + endif +-- +1.7.9.5 + diff --git a/meta/recipes-extended/shadow/files/securetty b/meta/recipes-extended/shadow/files/securetty index 0b1629f143..2be341a216 100644 --- a/meta/recipes-extended/shadow/files/securetty +++ b/meta/recipes-extended/shadow/files/securetty @@ -9,23 +9,46 @@ ttyS2 ttyS3 # ARM AMBA SoCs +ttyAM0 +ttyAM1 +ttyAM2 +ttyAM3 ttyAMA0 ttyAMA1 ttyAMA2 ttyAMA3 +# QCOM Socs +ttyHSL0 +ttyHSL1 +ttyHSL2 +ttyHSL3 +ttyMSM0 +ttyMSM1 +ttyMSM2 + # Samsung ARM SoCs ttySAC0 ttySAC1 ttySAC2 ttySAC3 +# STM SoCs +ttyAS0 +ttyAS1 +ttyAS2 +ttyAS3 + # TI OMAP SoCs ttyO0 ttyO1 ttyO2 ttyO3 +# Xilinx Zynq SoC +ttyPS0 +ttyPS1 + # USB dongles ttyUSB0 ttyUSB1 @@ -137,6 +160,14 @@ ttymxc3 ttymxc4 ttymxc5 +# Freescale lpuart ports +ttyLP0 +ttyLP1 +ttyLP2 +ttyLP3 +ttyLP4 +ttyLP5 + # Standard serial ports, with devfs tts/0 tts/1 diff --git a/meta/recipes-extended/shadow/files/shadow-4.1.4.2-env-reset-keep-locale.patch b/meta/recipes-extended/shadow/files/shadow-4.1.4.2-env-reset-keep-locale.patch deleted file mode 100644 index 651474674b..0000000000 --- a/meta/recipes-extended/shadow/files/shadow-4.1.4.2-env-reset-keep-locale.patch +++ /dev/null @@ -1,31 +0,0 @@ -# commit message copied from openembedded: -# commit 246c80637b135f3a113d319b163422f98174ee6c -# Author: Khem Raj <raj.khem@gmail.com> -# Date: Wed Jun 9 13:37:03 2010 -0700 -# -# shadow-4.1.4.2: Add patches to support dots in login id. -# -# Signed-off-by: Khem Raj <raj.khem@gmail.com> -# -# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11 - -http://bugs.gentoo.org/283725 -https://alioth.debian.org/tracker/index.php?func=detail&aid=311740&group_id=30580&atid=411480 - -Upstream-Status: Pending - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -Index: shadow-4.1.4.2/libmisc/env.c -=================================================================== ---- shadow-4.1.4.2.orig/libmisc/env.c 2009-04-27 13:07:56.000000000 -0700 -+++ shadow-4.1.4.2/libmisc/env.c 2010-06-03 17:44:51.456408474 -0700 -@@ -251,7 +251,7 @@ void sanitize_env (void) - if (strncmp (*cur, *bad, strlen (*bad)) != 0) { - continue; - } -- if (strchr (*cur, '/') != NULL) { -+ if (strchr (*cur, '/') == NULL) { - continue; /* OK */ - } - for (move = cur; NULL != *move; move++) { diff --git a/meta/recipes-extended/shadow/files/shadow-4.1.4.2-groupmod-pam-check.patch b/meta/recipes-extended/shadow/files/shadow-4.1.4.2-groupmod-pam-check.patch deleted file mode 100644 index 640200b796..0000000000 --- a/meta/recipes-extended/shadow/files/shadow-4.1.4.2-groupmod-pam-check.patch +++ /dev/null @@ -1,36 +0,0 @@ -# commit message copied from openembedded: -# commit 246c80637b135f3a113d319b163422f98174ee6c -# Author: Khem Raj <raj.khem@gmail.com> -# Date: Wed Jun 9 13:37:03 2010 -0700 -# -# shadow-4.1.4.2: Add patches to support dots in login id. -# -# Signed-off-by: Khem Raj <raj.khem@gmail.com> -# -# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11 - -http://bugs.gentoo.org/300790 -http://lists.alioth.debian.org/pipermail/pkg-shadow-devel/2009-November/007850.html - -2009-11-05 Nicolas François <nicolas.francois@centraliens.net> - - * NEWS, src/groupmod.c: Fixed groupmod when configured with - --enable-account-tools-setuid. - -Upstream-Status: Pending - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -Index: shadow-4.1.4.2/src/groupmod.c -=================================================================== ---- shadow-4.1.4.2.orig/src/groupmod.c 2009-06-05 15:16:58.000000000 -0700 -+++ shadow-4.1.4.2/src/groupmod.c 2010-06-03 17:45:43.828952613 -0700 -@@ -720,7 +720,7 @@ int main (int argc, char **argv) - { - struct passwd *pampw; - pampw = getpwuid (getuid ()); /* local, no need for xgetpwuid */ -- if (NULL == pamh) { -+ if (NULL == pampw) { - fprintf (stderr, - _("%s: Cannot determine your user name.\n"), - Prog); diff --git a/meta/recipes-extended/shadow/files/shadow-4.1.4.2-su_no_sanitize_env.patch b/meta/recipes-extended/shadow/files/shadow-4.1.4.2-su_no_sanitize_env.patch deleted file mode 100644 index 0dc4d75b97..0000000000 --- a/meta/recipes-extended/shadow/files/shadow-4.1.4.2-su_no_sanitize_env.patch +++ /dev/null @@ -1,31 +0,0 @@ -# commit message copied from openembedded: -# commit 246c80637b135f3a113d319b163422f98174ee6c -# Author: Khem Raj <raj.khem@gmail.com> -# Date: Wed Jun 9 13:37:03 2010 -0700 -# -# shadow-4.1.4.2: Add patches to support dots in login id. -# -# Signed-off-by: Khem Raj <raj.khem@gmail.com> -# -# comment added by Kevin Tian <kevin.tian@intel.com>, 2010-08-11 - -http://bugs.gentoo.org/show_bug.cgi?id=301957 -https://alioth.debian.org/scm/browser.php?group_id=30580 - -Upstream-Status: Pending - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -Index: shadow-4.1.4.2/src/su.c -=================================================================== ---- shadow-4.1.4.2.orig/src/su.c 2009-07-23 13:38:56.000000000 -0700 -+++ shadow-4.1.4.2/src/su.c 2010-06-03 17:46:47.718944010 -0700 -@@ -378,7 +378,7 @@ int main (int argc, char **argv) - #endif - #endif /* !USE_PAM */ - -- sanitize_env (); -+ /* sanitize_env (); */ - - (void) setlocale (LC_ALL, ""); - (void) bindtextdomain (PACKAGE, LOCALEDIR); diff --git a/meta/recipes-extended/shadow/files/shadow.automake-1.11.patch b/meta/recipes-extended/shadow/files/shadow.automake-1.11.patch deleted file mode 100644 index a793f09a4e..0000000000 --- a/meta/recipes-extended/shadow/files/shadow.automake-1.11.patch +++ /dev/null @@ -1,106 +0,0 @@ -# patch is from openembedded: -# commit 2db61370333f7a2fc1dbb86385734883387e0217 -# Author: Martin Jansa <Martin.Jansa@gmail.com> -# Date: Fri Apr 2 07:34:46 2010 +0200 -# -# shadow: fix do_install with automake-1.11 -# -# Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> -# -# comment added by Kevin Tian <kevin.tian@intel.com> - -man_nopan is for !USE_PAM already included in man_MANS and automake-1.11 hates to install some file twice - -Upstream-Status: Pending - -Signed-off-by: Scott Garman <scott.a.garman@intel.com> - -diff -uNr shadow-4.1.4.2.orig/man/Makefile.am shadow-4.1.4.2/man/Makefile.am ---- shadow-4.1.4.2.orig/man/Makefile.am 2009-03-14 15:40:10.000000000 +0100 -+++ shadow-4.1.4.2/man/Makefile.am 2010-04-02 07:31:17.000000000 +0200 -@@ -163,7 +163,6 @@ - $(man_MANS) \ - $(man_XMANS) \ - $(addprefix login.defs.d/,$(login_defs_v)) \ -- $(man_nopam) \ - id.1 \ - id.1.xml \ - sulogin.8 \ -diff -uNr shadow-4.1.4.2.orig/man/fr/Makefile.am shadow-4.1.4.2/man/fr/Makefile.am ---- shadow-4.1.4.2.orig/man/fr/Makefile.am 2008-09-06 18:44:45.000000000 +0200 -+++ shadow-4.1.4.2/man/fr/Makefile.am 2010-04-02 07:42:11.000000000 +0200 -@@ -52,7 +52,6 @@ - - EXTRA_DIST = \ - $(man_MANS) \ -- $(man_nopam) \ - id.1 - - include ../generate_translations.mak -diff -uNr shadow-4.1.4.2.orig/man/it/Makefile.am shadow-4.1.4.2/man/it/Makefile.am ---- shadow-4.1.4.2.orig/man/it/Makefile.am 2008-09-06 18:44:45.000000000 +0200 -+++ shadow-4.1.4.2/man/it/Makefile.am 2010-04-02 07:42:20.000000000 +0200 -@@ -46,7 +46,6 @@ - - EXTRA_DIST = \ - $(man_MANS) \ -- $(man_nopam) \ - id.1 \ - logoutd.8 - -diff -uNr shadow-4.1.4.2.orig/man/ja/Makefile.am shadow-4.1.4.2/man/ja/Makefile.am ---- shadow-4.1.4.2.orig/man/ja/Makefile.am 2007-12-31 17:48:28.000000000 +0100 -+++ shadow-4.1.4.2/man/ja/Makefile.am 2010-04-02 07:42:17.000000000 +0200 -@@ -49,7 +49,6 @@ - - EXTRA_DIST = \ - $(man_MANS) \ -- $(man_nopam) \ - id.1 \ - shadow.3 \ - sulogin.8 -diff -uNr shadow-4.1.4.2.orig/man/pl/Makefile.am shadow-4.1.4.2/man/pl/Makefile.am ---- shadow-4.1.4.2.orig/man/pl/Makefile.am 2008-09-06 18:44:45.000000000 +0200 -+++ shadow-4.1.4.2/man/pl/Makefile.am 2010-04-02 07:42:07.000000000 +0200 -@@ -49,7 +49,6 @@ - - EXTRA_DIST = \ - $(man_MANS) \ -- $(man_nopam) \ - getspnam.3 \ - id.1 \ - shadow.3 \ -diff -uNr shadow-4.1.4.2.orig/man/ru/Makefile.am shadow-4.1.4.2/man/ru/Makefile.am ---- shadow-4.1.4.2.orig/man/ru/Makefile.am 2010-04-02 07:39:00.000000000 +0200 -+++ shadow-4.1.4.2/man/ru/Makefile.am 2010-04-02 07:42:01.000000000 +0200 -@@ -54,7 +54,6 @@ - - EXTRA_DIST = \ - $(man_MANS) \ -- $(man_nopam) \ - id.1 \ - sulogin.8 - -diff -uNr shadow-4.1.4.2.orig/man/sv/Makefile.am shadow-4.1.4.2/man/sv/Makefile.am ---- shadow-4.1.4.2.orig/man/sv/Makefile.am 2008-09-06 18:44:45.000000000 +0200 -+++ shadow-4.1.4.2/man/sv/Makefile.am 2010-04-02 07:42:24.000000000 +0200 -@@ -53,8 +53,7 @@ - endif - - EXTRA_DIST = \ -- $(man_MANS) \ -- $(man_nopam) -+ $(man_MANS) - - include ../generate_translations.mak - ---- shadow-4.1.4.2.orig/man/ru/Makefile.am 2010-04-02 07:54:09.000000000 +0200 -+++ shadow-4.1.4.2/man/ru/Makefile.am 2010-04-02 07:51:57.000000000 +0200 -@@ -1,7 +1,6 @@ - mandir = @mandir@/ru - - man_MANS = \ -- $(man_nopam) \ - chage.1 \ - chfn.1 \ - chgpasswd.8 \ diff --git a/meta/recipes-extended/shadow/files/shadow_fix_for_automake-1.12.patch b/meta/recipes-extended/shadow/files/shadow_fix_for_automake-1.12.patch deleted file mode 100644 index 6a27ed387d..0000000000 --- a/meta/recipes-extended/shadow/files/shadow_fix_for_automake-1.12.patch +++ /dev/null @@ -1,23 +0,0 @@ -Upstream-Status: pending - -Automake 1.12 has deprecated automatic de-ANSI-fication support - -This patch avoids this issue with automake 1.12: - -| configure.in:22: error: automatic de-ANSI-fication support has been removed - -Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> -2012/05/02 - -Index: shadow-4.1.4.3/configure.in -=================================================================== ---- shadow-4.1.4.3.orig/configure.in -+++ shadow-4.1.4.3/configure.in -@@ -19,7 +19,6 @@ AC_PROG_CC - AC_ISC_POSIX - AC_PROG_LN_S - AC_PROG_YACC --AM_C_PROTOTYPES - AM_PROG_LIBTOOL - - dnl Checks for libraries. diff --git a/meta/recipes-extended/shadow/files/slackware_fix_for_glib-2.17_crypt.patch b/meta/recipes-extended/shadow/files/slackware_fix_for_glib-2.17_crypt.patch deleted file mode 100644 index 7cd45afebb..0000000000 --- a/meta/recipes-extended/shadow/files/slackware_fix_for_glib-2.17_crypt.patch +++ /dev/null @@ -1,63 +0,0 @@ - -This patch is from Slackware, I tried to find the actual -author to add that attribution. The comment below is the -best summary, I will not repeat it here. - -Upstream-Status: Backport from slackware - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: shadow-4.1.4.3/lib/encrypt.c -=================================================================== ---- shadow-4.1.4.3.orig/lib/encrypt.c -+++ shadow-4.1.4.3/lib/encrypt.c -@@ -45,15 +45,40 @@ char *pw_encrypt (const char *clear, con - static char cipher[128]; - char *cp; - -- cp = crypt (clear, salt); -- if (!cp) { -- /* -- * Single Unix Spec: crypt() may return a null pointer, -- * and set errno to indicate an error. The caller doesn't -- * expect us to return NULL, so... -- */ -- perror ("crypt"); -- exit (EXIT_FAILURE); -+ cp = crypt (clear, salt); -+ if (!cp) { -+ /* -+ * In glibc-2.17 and newer, crypt() will return NULL if -+ * it was called using an invalid salt format. Previous -+ * versions of glibc would go ahead and compute a DES hash -+ * using the invalid salt. The salt value in this case was -+ * always '!'. We might arrive at this place if either the -+ * user does not exist, or if the hash in /etc/shadow doesn't -+ * have the proper magic for one of the supported hash -+ * formats (for example, if the account was locked using -+ * "passwd -l". To handle this situation, we will recompute -+ * the hash using a hardcoded salt as was previously done -+ * by glibc. The hash returned by the old glibc function -+ * always began with "!!", which would ensure that it could -+ * never match an otherwise valid hash in /etc/shadow that -+ * was disabled with a "!" at the beginning (since the second -+ * character would never be "!" as well), so we will also -+ * prepend the resulting hash with "!!". Finally, in case -+ * crypt() failed for some other reason we will check to see -+ * if we still get NULL from crypt even with the valid salt -+ * and will fail if that's the case. -+ */ -+ -+ /* Recalculate hash using a hardcoded, valid SHA512 salt: */ -+ cp = crypt (clear, "$6$8IIcy/1EPOk/"); -+ -+ if (!cp) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } else { -+ sprintf (cipher, "!!%s", cp); -+ return cipher; -+ } - } - - /* The GNU crypt does not return NULL if the algorithm is not diff --git a/meta/recipes-extended/shadow/files/useradd.patch b/meta/recipes-extended/shadow/files/useradd.patch deleted file mode 100644 index ff5016c0bf..0000000000 --- a/meta/recipes-extended/shadow/files/useradd.patch +++ /dev/null @@ -1,17 +0,0 @@ -Work around a bug introduced with the --root option which was causing -all other arguments to be ignored. - -Upstream-Status: inappropriate -Signed-off-by: Phil Blundell <philb@gnu.org> - ---- a/src/useradd.c~ 2011-09-01 15:36:40.398234861 +0100 -+++ b/src/useradd.c 2011-09-01 17:29:00.782004133 +0100 -@@ -1957,6 +1957,8 @@ - - get_defaults (); - -+ optind = 1; -+ - process_flags (argc, argv); - - #ifdef ACCT_TOOLS_SETUID diff --git a/meta/recipes-extended/shadow/files/usermod-fix-compilation-failure-with-subids-disabled.patch b/meta/recipes-extended/shadow/files/usermod-fix-compilation-failure-with-subids-disabled.patch new file mode 100644 index 0000000000..37dc153fca --- /dev/null +++ b/meta/recipes-extended/shadow/files/usermod-fix-compilation-failure-with-subids-disabled.patch @@ -0,0 +1,33 @@ +Upstream-Status: Pending + +usermod: fix compilation failure with subids disabled + +Signed-off-by: Chen Qi <Qi.Chen@windriver.com> +--- + src/usermod.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/usermod.c b/src/usermod.c +index e7d4351..685b50a 100644 +--- a/src/usermod.c ++++ b/src/usermod.c +@@ -1360,7 +1360,7 @@ static void process_flags (int argc, char **argv) + Prog, (unsigned long) user_newid); + exit (E_UID_IN_USE); + } +- ++#ifdef ENABLE_SUBIDS + if ( (vflg || Vflg) + && !is_sub_uid) { + fprintf (stderr, +@@ -1376,6 +1376,7 @@ static void process_flags (int argc, char **argv) + Prog, sub_gid_dbname (), "-w", "-W"); + exit (E_USAGE); + } ++#endif + } + + /* +-- +1.7.9.5 + diff --git a/meta/recipes-extended/shadow/shadow-securetty_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow-securetty_4.2.1.bb index 0e0410043b..c78f888cf4 100644 --- a/meta/recipes-extended/shadow/shadow-securetty_4.1.4.3.bb +++ b/meta/recipes-extended/shadow/shadow-securetty_4.2.1.bb @@ -9,6 +9,8 @@ PR = "r3" SRC_URI = "file://securetty" +S = "${WORKDIR}" + # Since SERIAL_CONSOLES is likely to be set from the machine configuration PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/meta/recipes-extended/shadow/shadow-sysroot_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow-sysroot_4.2.1.bb index 697569c47e..697569c47e 100644 --- a/meta/recipes-extended/shadow/shadow-sysroot_4.1.4.3.bb +++ b/meta/recipes-extended/shadow/shadow-sysroot_4.2.1.bb diff --git a/meta/recipes-extended/shadow/shadow.inc b/meta/recipes-extended/shadow/shadow.inc index 6848e054b3..bb3a927c17 100644 --- a/meta/recipes-extended/shadow/shadow.inc +++ b/meta/recipes-extended/shadow/shadow.inc @@ -1,50 +1,42 @@ SUMMARY = "Tools to change and administer password and group data" HOMEPAGE = "http://pkg-shadow.alioth.debian.org" BUGTRACKER = "https://alioth.debian.org/tracker/?group_id=30580" -SECTION = "base utils" +SECTION = "base/utils" LICENSE = "BSD | Artistic-1.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=08c553a87d4e51bbed50b20e0adcaede \ +LIC_FILES_CHKSUM = "file://COPYING;md5=ed80ff1c2b40843cf5768e5229cf16e5 \ file://src/passwd.c;beginline=8;endline=30;md5=d83888ea14ae61951982d77125947661" DEPENDS = "shadow-native" DEPENDS_class-native = "" DEPENDS_class-nativesdk = "" -SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.bz2 \ - file://shadow.automake-1.11.patch \ - file://shadow_fix_for_automake-1.12.patch \ +SRC_URI = "http://pkg-shadow.alioth.debian.org/releases/${BPN}-${PV}.tar.xz \ file://shadow-4.1.3-dots-in-usernames.patch \ - file://shadow-4.1.4.2-env-reset-keep-locale.patch \ + file://usermod-fix-compilation-failure-with-subids-disabled.patch \ + file://fix-installation-failure-with-subids-disabled.patch \ + file://0001-su.c-fix-to-exec-command-correctly.patch \ + file://0001-Do-not-read-login.defs-before-doing-chroot.patch \ + file://check_size_of_uid_t_and_gid_t_using_AC_CHECK_SIZEOF.patch \ ${@bb.utils.contains('PACKAGECONFIG', 'pam', '${PAM_SRC_URI}', '', d)} \ " SRC_URI_append_class-target = " \ file://login_defs_pam.sed \ - file://shadow-4.1.4.2-groupmod-pam-check.patch \ - file://shadow-4.1.4.2-su_no_sanitize_env.patch \ file://shadow-update-pam-conf.patch \ - file://slackware_fix_for_glib-2.17_crypt.patch \ - file://fix-etc-gshadow-reading.patch \ " SRC_URI_append_class-native = " \ - file://add_root_cmd_options.patch \ file://disable-syslog.patch \ - file://useradd.patch \ - file://add_root_cmd_groupmems.patch \ file://allow-for-setting-password-in-clear-text.patch \ + file://commonio.c-fix-unexpected-open-failure-in-chroot-env.patch \ + file://0001-useradd.c-create-parent-directories-when-necessary.patch \ " SRC_URI_append_class-nativesdk = " \ - file://add_root_cmd_options.patch \ file://disable-syslog.patch \ - file://useradd.patch \ - file://add_root_cmd_groupmems.patch \ " -SRC_URI[md5sum] = "b8608d8294ac88974f27b20f991c0e79" -SRC_URI[sha256sum] = "633f5bb4ea0c88c55f3642c97f9d25cbef74f82e0b4cf8d54e7ad6f9f9caa778" - -PR = "r14" +SRC_URI[md5sum] = "2bfafe7d4962682d31b5eba65dba4fc8" +SRC_URI[sha256sum] = "3b0893d1476766868cd88920f4f1231c4795652aa407569faff802bcda0f3d41" # Additional Policy files for PAM PAM_SRC_URI = "file://pam.d/chfn \ @@ -61,12 +53,14 @@ EXTRA_OECONF += "--without-audit \ --without-libcrack \ --without-selinux \ --with-group-name-max-length=24 \ + --enable-subordinate-ids=yes \ ${NSCDOPT}" NSCDOPT = "" NSCDOPT_class-native = "--without-nscd" NSCDOPT_class-nativesdk = "--without-nscd" NSCDOPT_libc-uclibc = " --without-nscd" +NSCDOPT_libc-glibc = "${@bb.utils.contains('DISTRO_FEATURES', 'libc-spawn', '--with-nscd', '--without-nscd', d)}" PAM_PLUGINS = "libpam-runtime \ pam-plugin-faildelay \ @@ -85,6 +79,8 @@ PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" PACKAGECONFIG_class-native = "" PACKAGECONFIG_class-nativesdk = "" PACKAGECONFIG[pam] = "--with-libpam,--without-libpam,libpam,${PAM_PLUGINS}" +PACKAGECONFIG[attr] = "--with-attr,--without-attr,attr" +PACKAGECONFIG[acl] = "--with-acl,--without-acl,acl" RDEPENDS_${PN} = "shadow-securetty \ base-passwd" @@ -164,13 +160,17 @@ ALTERNATIVE_LINK_NAME[vipw] = "${base_sbindir}/vipw" ALTERNATIVE_LINK_NAME[vigr] = "${base_sbindir}/vigr" ALTERNATIVE_LINK_NAME[su] = "${base_bindir}/su" +ALTERNATIVE_${PN}-doc = "passwd.5 getspnam.3" +ALTERNATIVE_LINK_NAME[passwd.5] = "${mandir}/man5/passwd.5" +ALTERNATIVE_LINK_NAME[getspnam.3] = "${mandir}/man3/getspnam.3" + pkg_postinst_${PN} () { if [ "x$D" != "x" ]; then - rootarg="--root=$D" + rootarg="--root $D" else rootarg="" fi - pwconv $rootarg - grpconv $rootarg + pwconv $rootarg || exit 1 + grpconv $rootarg || exit 1 } diff --git a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb b/meta/recipes-extended/shadow/shadow_4.2.1.bb index 5675cb8cc9..5675cb8cc9 100644 --- a/meta/recipes-extended/shadow/shadow_4.1.4.3.bb +++ b/meta/recipes-extended/shadow/shadow_4.2.1.bb diff --git a/meta/recipes-extended/slang/slang/slang-fix-the-iconv-existence-checking.patch b/meta/recipes-extended/slang/slang/slang-fix-the-iconv-existence-checking.patch new file mode 100644 index 0000000000..958fe983c5 --- /dev/null +++ b/meta/recipes-extended/slang/slang/slang-fix-the-iconv-existence-checking.patch @@ -0,0 +1,116 @@ +From 4588f4a0287787788eb86fb16f326cbaa7454e1d Mon Sep 17 00:00:00 2001 +From: Zheng Junling <zhengjunling@huawei.com> +Date: Mon, 16 Jun 2014 12:51:25 +0000 +Subject: [PATCH] slang: fix the iconv existence checking + +When checking whether there is iconv, the configure file always check +the host env. + +Now we make it working properly by adding correct prefix for cross- +compiling environment. + +When enabling iconv-module, we see a QA warning because rpaths hardcoded +into the build. And rpaths are not needed, so let's turn this off. + +This patch is generated by referencing the existing "fix-check-pcre" +patch. + +Upstream-Status: Inappropriate + +Signed-off-by: Zheng Junling <zhengjunling@huawei.com> +--- + configure | 60 ++++++------------------------------------------------------ + 1 file changed, 6 insertions(+), 54 deletions(-) + +diff --git a/configure b/configure +index 7a96256..91632f3 100755 +--- a/configure ++++ b/configure +@@ -7909,6 +7909,7 @@ $as_echo_n "checking for the iconv library and header files ... " >&6; } + /usr/include/iconv,/usr/lib \ + /usr/iconv/include,/usr/iconv/lib \ + /usr/include,/usr/lib \ ++ /usr/include,/usr/lib64 \ + /opt/include/iconv,/opt/lib \ + /opt/iconv/include,/opt/iconv/lib \ + /opt/include,/opt/lib" +@@ -7939,14 +7940,14 @@ $as_echo_n "checking for the iconv library and header files ... " >&6; } + xincdir=`echo $include_and_lib | tr ',' ' ' | awk '{print $1}'` + xlibdir=`echo $include_and_lib | tr ',' ' ' | awk '{print $2}'` + found=0 +- if test -r $xincdir/$xincfile ++ if test -r $PKG_CONFIG_SYSROOT_DIR/$xincdir/$xincfile + then + for E in $exts + do +- if test -r "$xlibdir/$xlibfile.$E" ++ if test -r "$PKG_CONFIG_SYSROOT_DIR/$xlibdir/$xlibfile.$E" + then +- jd_iconv_include_dir="$xincdir" +- jd_iconv_library_dir="$xlibdir" ++ jd_iconv_include_dir="$PKG_CONFIG_SYSROOT_DIR/$xincdir" ++ jd_iconv_library_dir="$PKG_CONFIG_SYSROOT_DIR/$xlibdir" + jd_with_iconv_library="yes" + found=1 + break +@@ -7972,56 +7973,7 @@ $as_echo "yes: $jd_iconv_library_dir and $jd_iconv_include_dir" >&6; } + then + ICONV_LIB="" + else +- +-if test "X$jd_iconv_library_dir" != "X" +-then +- if test "X$RPATH" = "X" +- then +- +-case "$host_os" in +- *linux*|*solaris* ) +- if test "X$GCC" = Xyes +- then +- if test "X$ac_R_nospace" = "Xno" +- then +- RPATH="-Wl,-R," +- else +- RPATH="-Wl,-R" +- fi +- else +- if test "X$ac_R_nospace" = "Xno" +- then +- RPATH="-R " +- else +- RPATH="-R" +- fi +- fi +- ;; +- *osf*|*openbsd*) +- if test "X$GCC" = Xyes +- then +- RPATH="-Wl,-rpath," +- else +- RPATH="-rpath " +- fi +- ;; +- *netbsd*) +- if test "X$GCC" = Xyes +- then +- RPATH="-Wl,-R" +- fi +- ;; +-esac +- +- if test "X$RPATH" != "X" +- then +- RPATH="$RPATH$jd_iconv_library_dir" +- fi +- else +- RPATH="$RPATH:$jd_iconv_library_dir" +- fi +-fi +- ++ RPATH="" + fi + + ICONV_INC=-I$jd_iconv_include_dir +-- +1.8.3.4 + diff --git a/meta/recipes-extended/slang/slang_2.2.4.bb b/meta/recipes-extended/slang/slang_2.2.4.bb index 90ed2d0a47..ed1190ad69 100644 --- a/meta/recipes-extended/slang/slang_2.2.4.bb +++ b/meta/recipes-extended/slang/slang_2.2.4.bb @@ -21,10 +21,13 @@ SRC_URI = "ftp://space.mit.edu/pub/davis/slang/v2.2/slang-${PV}.tar.bz2 \ file://fix-check-pcre.patch \ file://change-char-type-to-signed-char-in-macros.patch \ file://sprintf-bug-concerning-8-bit-characters.patch \ + file://slang-fix-the-iconv-existence-checking.patch \ " inherit autotools-brokensep +CLEANBROKEN = "1" + SRC_URI[md5sum] = "7fcfd447e378f07dd0c0bae671fe6487" SRC_URI[sha256sum] = "9a8257a9a2a55099af858b13338dc8f3a06dd2069f46f0df2c9c3bb84a01d5db" diff --git a/meta/recipes-extended/sudo/files/volatiles.99_sudo b/meta/recipes-extended/sudo/files/volatiles.99_sudo deleted file mode 100644 index ecb576eaa3..0000000000 --- a/meta/recipes-extended/sudo/files/volatiles.99_sudo +++ /dev/null @@ -1 +0,0 @@ -d root root 0755 /var/run/sudo none diff --git a/meta/recipes-extended/sudo/sudo.inc b/meta/recipes-extended/sudo/sudo.inc index 6de984a9f5..6e9aec824b 100644 --- a/meta/recipes-extended/sudo/sudo.inc +++ b/meta/recipes-extended/sudo/sudo.inc @@ -6,18 +6,20 @@ SECTION = "admin" LICENSE = "ISC & BSD & Zlib" LIC_FILES_CHKSUM = "file://doc/LICENSE;md5=69e337d679950e304953813158595256 \ file://plugins/sudoers/redblack.c;beginline=1;endline=41;md5=e2dbb155fc49beea947515300bab99e0 \ - file://compat/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ - file://compat/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ - file://compat/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \ - file://compat/snprintf.c;beginline=6;endline=31;md5=c98b24f02967c095d7a70ae2e4d4d4ea \ - file://include/queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ - file://compat/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a" + file://lib/util/fnmatch.c;beginline=3;endline=27;md5=67f83ee9bd456557397082f8f1be0efd \ + file://lib/util/getcwd.c;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ + file://lib/util/glob.c;beginline=6;endline=31;md5=5872733146b9eb0deb79e1f664815b85 \ + file://lib/util/snprintf.c;beginline=6;endline=31;md5=c98b24f02967c095d7a70ae2e4d4d4ea \ + file://include/sudo_queue.h;beginline=5;endline=27;md5=449af4cc57fc7d46f42090608ba3e681 \ + file://lib/util/inet_pton.c;beginline=3;endline=17;md5=3970ab0518ab79cbd0bafb697f10b33a" inherit autotools PACKAGECONFIG ??= "" PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib" +CONFFILES_${PN} = "${sysconfdir}/sudoers" + EXTRA_OECONF = "--with-editor=/bin/vi --with-env-editor" do_configure_prepend () { @@ -28,7 +30,7 @@ do_configure_prepend () { # mksigname/mksiglist are used on build host to generate source files do_compile_prepend () { - oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}" -C compat mksigname mksiglist + oe_runmake SSP_CFLAGS="" SSP_LDFLAGS="" CC="$BUILD_CC" CFLAGS="$BUILD_CFLAGS" CPPFLAGS="$BUILD_CPPFLAGS -I${S}/include -I${S} -I${B}" -C lib/util mksigname mksiglist } # Explicitly create ${localstatedir}/lib before do_install to ensure diff --git a/meta/recipes-extended/sudo/sudo_1.8.10p2.bb b/meta/recipes-extended/sudo/sudo_1.8.11p2.bb index aa8c445536..c5e2545c18 100644 --- a/meta/recipes-extended/sudo/sudo_1.8.10p2.bb +++ b/meta/recipes-extended/sudo/sudo_1.8.11p2.bb @@ -2,12 +2,12 @@ require sudo.inc SRC_URI = "http://ftp.sudo.ws/sudo/dist/sudo-${PV}.tar.gz \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \ - file://volatiles.99_sudo" + " PAM_SRC_URI = "file://sudo.pam" -SRC_URI[md5sum] = "5e5eab1036a7cc2c088ab0d9b6b6a42e" -SRC_URI[sha256sum] = "ba6cb8db6dccdb92a96e8ae63ca65c410f8b61270b603ab9af4b1154fef379f1" +SRC_URI[md5sum] = "84012b4871b6c775c957cd310d5bad87" +SRC_URI[sha256sum] = "8133849418fa18cf6b6bb6893d1855ff7afe21db8923234a00bf045c90fba1ad" DEPENDS += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" RDEPENDS_${PN} += " ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-limits pam-plugin-keyinit', '', d)}" @@ -22,9 +22,8 @@ do_install_append () { chmod 4111 ${D}${bindir}/sudo chmod 0440 ${D}${sysconfdir}/sudoers - # Explicitly remove the ${localstatedir}/run directory as we can - # manage it by a configuration file under ${sysconfdir}/default/volatiles/ + # Explicitly remove the ${localstatedir}/run directory to avoid QA error rmdir -p --ignore-fail-on-non-empty ${D}${localstatedir}/run/sudo - install -d ${D}/${sysconfdir}/default/volatiles - install -m 644 ${WORKDIR}/volatiles.99_sudo ${D}/${sysconfdir}/default/volatiles/99_sudo } + +FILES_${PN}-dev += "${libdir}/${BPN}/lib*${SOLIBSDEV} ${libdir}/${BPN}/*.la" diff --git a/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb b/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb new file mode 100644 index 0000000000..975ecc2b63 --- /dev/null +++ b/meta/recipes-extended/sysklogd/sysklogd_1.5.1.bb @@ -0,0 +1,4 @@ +require sysklogd.inc + +SRC_URI[md5sum] = "c70599ab0d037fde724f7210c2c8d7f8" +SRC_URI[sha256sum] = "5166c185ae23c92e8b9feee66a6e3d0bc944bf673112f53e3ecf62e08ce7c201" diff --git a/meta/recipes-extended/sysklogd/sysklogd_1.5.bb b/meta/recipes-extended/sysklogd/sysklogd_1.5.bb deleted file mode 100644 index 5c9588945d..0000000000 --- a/meta/recipes-extended/sysklogd/sysklogd_1.5.bb +++ /dev/null @@ -1,5 +0,0 @@ -require sysklogd.inc -PR = "r7" - -SRC_URI[md5sum] = "e053094e8103165f98ddafe828f6ae4b" -SRC_URI[sha256sum] = "6169b8e91d29288e90404f01462b69e7f2afb1161aa419826fe4736c7f9eb773" diff --git a/meta/recipes-extended/sysstat/sysstat.inc b/meta/recipes-extended/sysstat/sysstat.inc index 09a5d28d4a..566cb08fc2 100644 --- a/meta/recipes-extended/sysstat/sysstat.inc +++ b/meta/recipes-extended/sysstat/sysstat.inc @@ -4,7 +4,7 @@ HOMEPAGE = "http://sebastien.godard.pagesperso-orange.fr/" LICENSE = "GPLv2+" SECTION = "console/utils" -SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.gz \ +SRC_URI = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${PV}.tar.xz \ file://99_sysstat \ " diff --git a/meta/recipes-extended/sysstat/sysstat_10.2.1.bb b/meta/recipes-extended/sysstat/sysstat_10.2.1.bb deleted file mode 100644 index 654457dbe1..0000000000 --- a/meta/recipes-extended/sysstat/sysstat_10.2.1.bb +++ /dev/null @@ -1,6 +0,0 @@ -require sysstat.inc - -LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" - -SRC_URI[md5sum] = "039dcd235dfcfb3d4acc0a05730f9512" -SRC_URI[sha256sum] = "3bfd1b4c5b99314585709c092096234b6e181741729f601d18d0ed7f0612612a" diff --git a/meta/recipes-extended/sysstat/sysstat_11.0.2.bb b/meta/recipes-extended/sysstat/sysstat_11.0.2.bb new file mode 100644 index 0000000000..ce83f4f0f9 --- /dev/null +++ b/meta/recipes-extended/sysstat/sysstat_11.0.2.bb @@ -0,0 +1,6 @@ +require sysstat.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" + +SRC_URI[md5sum] = "27d4ca66869dce132ace3194dd7d7539" +SRC_URI[sha256sum] = "acd87fdfbe7c796480f14fc26119d8f785d26827d74a0f5bced6c492a91f1b96" diff --git a/meta/recipes-extended/tar/tar-replacement-native_1.27.1.bb b/meta/recipes-extended/tar/tar-replacement-native_1.28.bb index 071ede765b..071ede765b 100644 --- a/meta/recipes-extended/tar/tar-replacement-native_1.27.1.bb +++ b/meta/recipes-extended/tar/tar-replacement-native_1.28.bb diff --git a/meta/recipes-extended/tar/tar.inc b/meta/recipes-extended/tar/tar.inc index 51d49340a1..fb5db78f69 100644 --- a/meta/recipes-extended/tar/tar.inc +++ b/meta/recipes-extended/tar/tar.inc @@ -26,8 +26,6 @@ do_install_extra () { PACKAGES =+ "${PN}-rmt" -PACKAGECONFIG[acl] = "--with-posix-acls, --without-posix-acls, acl," - FILES_${PN}-rmt = "${base_sbindir}/rmt*" inherit update-alternatives diff --git a/meta/recipes-extended/tar/tar_1.27.1.bb b/meta/recipes-extended/tar/tar_1.27.1.bb deleted file mode 100644 index 439bb500b9..0000000000 --- a/meta/recipes-extended/tar/tar_1.27.1.bb +++ /dev/null @@ -1,10 +0,0 @@ -require tar.inc - -LICENSE = "GPLv3" -LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" - -SRC_URI += "file://remove-gets.patch \ - " - -SRC_URI[md5sum] = "490e074dd7e71f553df8357a7ef9bdcf" -SRC_URI[sha256sum] = "9b0fb3ce8512059337add0da5f8f0f7d7647f2201f5ece24581d620ea60337c6" diff --git a/meta/recipes-extended/tar/tar_1.28.bb b/meta/recipes-extended/tar/tar_1.28.bb new file mode 100644 index 0000000000..8816000399 --- /dev/null +++ b/meta/recipes-extended/tar/tar_1.28.bb @@ -0,0 +1,12 @@ +require tar.inc + +PACKAGECONFIG ??= "" +PACKAGECONFIG[acl] = "--with-posix-acls, --without-posix-acls, acl," + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" + +SRC_URI += "file://remove-gets.patch \ + " +SRC_URI[md5sum] = "8f32b2bc1ed7ddf4cf4e4a39711341b0" +SRC_URI[sha256sum] = "60e4bfe0602fef34cd908d91cf638e17eeb09394d7b98c2487217dc4d3147562" diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch new file mode 100644 index 0000000000..797352579b --- /dev/null +++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers-7.6/makefile-fix-parallel.patch @@ -0,0 +1,54 @@ +From daf89d272e51b2153015ce7f54ab0b86182e64c1 Mon Sep 17 00:00:00 2001 +From: Robert Yang <liezhi.yang@windriver.com> +Date: Wed, 28 Jan 2015 18:50:23 -0800 +Subject: [PATCH] Makefile: fix for parallel build + +Fixed: +make: *** No rule to make target `cflags', needed by `tcpd.o'. Stop. + +Let "cflags" depend on config-check which generates cflgas will fix the +problem. + +Also fixed: +Fatal error: can't create shared/hosts_access.o: No such file or directory + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <liezhi.yang@windriver.com> +--- + Makefile | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index fe5e732..f468751 100644 +--- a/Makefile ++++ b/Makefile +@@ -714,6 +714,7 @@ KIT = README miscd.c tcpd.c fromhost.c hosts_access.c shell_cmd.c \ + LIB = libwrap.a + + shared/%.o: %.c ++ [ -d shared ] || mkdir -p shared + $(CC) $(CFLAGS) $(SHCFLAGS) -c $< -o $@ + + SOMAJOR = 0 +@@ -730,6 +731,8 @@ SHLIB_OBJ= $(addprefix shared/, $(LIB_OBJ)); + + all other: config-check tcpd tcpdmatch try-from safe_finger tcpdchk $(LIB) + ++cflags: config-check ++ + # Invalidate all object files when the compiler options (CFLAGS) have changed. + + config-check: +@@ -739,7 +742,7 @@ config-check: + then rm cflags.new ; \ + else mv cflags.new cflags ; \ + fi >/dev/null 2>/dev/null +- @if [ ! -d shared ]; then mkdir shared; fi ++ @[ -d shared ] || mkdir -p shared + + $(LIB): $(LIB_OBJ) + rm -f $(LIB) +-- +1.7.9.5 + diff --git a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb index c7954e7ccd..2630478284 100644 --- a/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb +++ b/meta/recipes-extended/tcp-wrappers/tcp-wrappers_7.6.bb @@ -40,16 +40,16 @@ SRC_URI = "ftp://ftp.porcupine.org/pub/security/tcp_wrappers_${PV}.tar.gz \ file://tcpdchk_libwrapped.patch \ file://ldflags.patch \ file://rename_strings_variable.patch \ - \ file://try-from.8 \ - file://safe_finger.8" + file://safe_finger.8 \ + file://makefile-fix-parallel.patch \ + " SRC_URI[md5sum] = "e6fa25f71226d090f34de3f6b122fb5a" SRC_URI[sha256sum] = "9543d7adedf78a6de0b221ccbbd1952e08b5138717f4ade814039bb489a4315d" S = "${WORKDIR}/tcp_wrappers_${PV}" -PARALLEL_MAKE = "" EXTRA_OEMAKE = "'CC=${CC}' \ 'AR=${AR}' \ 'RANLIB=${RANLIB}' \ @@ -87,10 +87,12 @@ do_install () { oe_libinstall -a libwrap ${D}${libdir} oe_libinstall -C shared -so libwrap ${D}${base_libdir} - rel_lib_prefix=`echo ${libdir} | sed 's,\(^/\|\)[^/][^/]*,..,g'` - libname=`readlink ${D}${base_libdir}/libwrap.so | xargs basename` - ln -s ${rel_lib_prefix}${base_libdir}/${libname} ${D}${libdir}/libwrap.so - rm -f ${D}${base_libdir}/libwrap.so + if [ "${libdir}" != "${base_libdir}" ] ; then + rel_lib_prefix=`echo ${libdir} | sed 's,\(^/\|\)[^/][^/]*,..,g'` + libname=`readlink ${D}${base_libdir}/libwrap.so | xargs basename` + ln -s ${rel_lib_prefix}${base_libdir}/${libname} ${D}${libdir}/libwrap.so + rm -f ${D}${base_libdir}/libwrap.so + fi install -d ${D}${sbindir} for b in ${BINS}; do @@ -117,5 +119,10 @@ do_install () { install -d ${D}${includedir} install -m 0644 tcpd.h ${D}${includedir}/ + + install -d ${D}${sysconfdir} + touch ${D}${sysconfdir}/hosts.allow + touch ${D}${sysconfdir}/hosts.deny } +FILES_${PN} += "${sysconfdir}/hosts.allow ${sysconfdir}/hosts.deny" diff --git a/meta/recipes-extended/texi2html/texi2html-5.0/fix_gettext_version.patch b/meta/recipes-extended/texi2html/texi2html-5.0/fix_gettext_version.patch deleted file mode 100644 index d1c9fe5746..0000000000 --- a/meta/recipes-extended/texi2html/texi2html-5.0/fix_gettext_version.patch +++ /dev/null @@ -1,31 +0,0 @@ - -Upstream-Status: Inappropriate [configuration] - -Signed-off-by: Saul Wold <sgw@linux.intel.com> - -Index: texi2html-5.0/po_document/Makefile.in.in -=================================================================== ---- texi2html-5.0.orig/po_document/Makefile.in.in -+++ texi2html-5.0/po_document/Makefile.in.in -@@ -9,7 +9,7 @@ - # General Public License and is *not* in the public domain. - # - # Origin: gettext-0.17 --GETTEXT_MACRO_VERSION = 0.17 -+GETTEXT_MACRO_VERSION = 0.18 - - PACKAGE = @PACKAGE@ - VERSION = @VERSION@ -Index: texi2html-5.0/po_messages/Makefile.in.in -=================================================================== ---- texi2html-5.0.orig/po_messages/Makefile.in.in -+++ texi2html-5.0/po_messages/Makefile.in.in -@@ -9,7 +9,7 @@ - # General Public License and is *not* in the public domain. - # - # Origin: gettext-0.17 --GETTEXT_MACRO_VERSION = 0.17 -+GETTEXT_MACRO_VERSION = 0.18 - - PACKAGE = @PACKAGE@ - VERSION = @VERSION@ diff --git a/meta/recipes-extended/texi2html/texi2html_5.0.bb b/meta/recipes-extended/texi2html/texi2html_5.0.bb index aa5f1fddaf..eac289e3b5 100644 --- a/meta/recipes-extended/texi2html/texi2html_5.0.bb +++ b/meta/recipes-extended/texi2html/texi2html_5.0.bb @@ -7,7 +7,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" PR = "r2" SRC_URI = "${SAVANNAH_GNU_MIRROR}/texi2html/${BPN}-${PV}.tar.bz2 \ - file://fix_gettext_version.patch" + " SRC_URI[md5sum] = "f15ac876fcdc8be865b16535f480aa54" SRC_URI[sha256sum] = "e8a98b0ee20c495a6ab894398a065ef580272dbd5a15b1b19e8bd1bc89d9f9fa" @@ -15,15 +15,10 @@ SRC_URI[sha256sum] = "e8a98b0ee20c495a6ab894398a065ef580272dbd5a15b1b19e8bd1bc89 inherit autotools gettext texinfo do_configure_prepend() { - # Make a directory for the old gettext setup - if [ ! -d ${S}/po ]; then - mkdir ${S}/po - fi -} - -do_configure_append() { - # Clean up the phony po directory - rm -rf ${S}/po + # autotools_do_configure updates po/Makefile.in.in, we also need + # update po_document. + cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/ + cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_messages/ } do_install_append () { diff --git a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py index b0ebf75a15..8b7033eccc 100644 --- a/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py +++ b/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy/template.py @@ -44,7 +44,7 @@ with details on the recipe that failed. """ % this_binary # Autotools setups query the version, so this is actually necessary. Some of -# them (lookin' at you, eglibc) actually look for the substring "GNU texinfo," +# them (lookin' at you, glibc) actually look for the substring "GNU texinfo," # so we put that substring in there without actually telling a lie. version_str = """ %s (fake texinfo, emulating GNU texinfo) 5.2 diff --git a/meta/recipes-extended/texinfo/texinfo-4.8/check-locale-h.patch b/meta/recipes-extended/texinfo/texinfo-4.8/check-locale-h.patch new file mode 100644 index 0000000000..4a8cc57a56 --- /dev/null +++ b/meta/recipes-extended/texinfo/texinfo-4.8/check-locale-h.patch @@ -0,0 +1,28 @@ +fix the macro check + +Upstream-status: Pending + +configure does not check if locale.h exists, but check setlocale, +if setlocale exist, the locale.h should exist. + +Signed-off-by: Roy Li <rongqing.li@windriver.com> +--- + lib/system.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/lib/system.h b/lib/system.h +index 946eb3c..c70037b 100644 +--- a/lib/system.h ++++ b/lib/system.h +@@ -42,7 +42,7 @@ extern char *substring (const char *, const char *); + #include <ctype.h> + + /* All systems nowadays probably have these functions, but ... */ +-#ifdef HAVE_LOCALE_H ++#ifdef HAVE_SETLOCALE + #include <locale.h> + #endif + #ifndef HAVE_SETLOCALE +-- +1.7.10.4 + diff --git a/meta/recipes-extended/texinfo/texinfo-4.8/do-compile-native-tools.patch b/meta/recipes-extended/texinfo/texinfo-4.8/do-compile-native-tools.patch new file mode 100644 index 0000000000..2cc5fbb1fc --- /dev/null +++ b/meta/recipes-extended/texinfo/texinfo-4.8/do-compile-native-tools.patch @@ -0,0 +1,49 @@ +From 458e9450cecf703f55536e609365162719585900 Mon Sep 17 00:00:00 2001 +From: "Roy.Li" <rongqing.li@windriver.com> +Date: Wed, 10 Sep 2014 17:03:29 +0800 +Subject: [PATCH] do not compile host tools, since we have native + +Upstream-status: Pending + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + configure.ac | 23 +---------------------- + 1 file changed, 1 insertion(+), 22 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b46130d..cf58654 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -90,28 +90,7 @@ AC_CANONICAL_BUILD + # $native_tools is also added to SUBDIRS in the main Makefile.am, + # so that make compiles the native tools first. + # +-if test "$cross_compiling" = no; then +- native_tools= +-else +- native_tools=tools +- test -d "$native_tools" || mkdir "$native_tools" +- confdir=`(cd "$srcdir";pwd)` +- # Make sure the secondary configure won't fail with +- # "error: source directory already configured". +- rm -f config.status +- AC_MSG_NOTICE([[Doing configure of native tools (${build}).]]) +- cd "$native_tools" || exit 1 +- # Run secondary configure in alternate environment or +- # it gets the wrong CC etc. env -i gives this build host configure +- # a clean environment. +- env -i CC="${BUILD_CC}" AR="${BUILD_AR}" RANLIB="${BUILD_RANLIB}" \ +- PATH="${PATH}" \ +- tools_only=1 \ +- ${confdir}/configure --build=${build} --host=${build} \ +- --disable-rpath --disable-nls +- cd .. || exit 1 +- AC_MSG_NOTICE([[Continuing with main configure (${host}).]]) +-fi ++native_tools= + AC_SUBST(native_tools) + AM_CONDITIONAL(TOOLS_ONLY, [[test "x$tools_only" = x1]]) + +-- +1.9.1 + diff --git a/meta/recipes-extended/texinfo/texinfo-4.8/using-native-makeinfo.patch b/meta/recipes-extended/texinfo/texinfo-4.8/using-native-makeinfo.patch new file mode 100644 index 0000000000..d9bed6933d --- /dev/null +++ b/meta/recipes-extended/texinfo/texinfo-4.8/using-native-makeinfo.patch @@ -0,0 +1,24 @@ +From 9b0df7d6d3c18cfac82c291d60a5357d1bc8d9d0 Mon Sep 17 00:00:00 2001 +From: "Roy.Li" <rongqing.li@windriver.com> +Date: Wed, 10 Sep 2014 17:10:03 +0800 +Subject: [PATCH] using native makeinfo + +Upstream-status: Pending + +Signed-off-by: Roy.Li <rongqing.li@windriver.com> +--- + doc/Makefile.am | 2 +- + +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 63df818..b6ceb34 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -19,7 +19,7 @@ man_MANS = info.1 infokey.1 install-info.1 makeinfo.1 texindex.1 texi2dvi.1 \ + + # Use the programs built in our distribution, taking account of possible + # cross-compiling. +-MAKEINFO = $(top_builddir)/$(native_tools)/makeinfo/makeinfo ++MAKEINFO = makeinfo + INSTALL_INFO = $(top_builddir)/$(native_tools)/util/install-info + + TXI_XLATE = txi-cs.tex txi-de.tex txi-en.tex txi-es.tex txi-fr.tex \ diff --git a/meta/recipes-extended/texinfo/texinfo_4.8.bb b/meta/recipes-extended/texinfo/texinfo_4.8.bb new file mode 100644 index 0000000000..13678e093b --- /dev/null +++ b/meta/recipes-extended/texinfo/texinfo_4.8.bb @@ -0,0 +1,55 @@ +SUMMARY = "Documentation system for on-line information and printed output" +DESCRIPTION = "Texinfo is a documentation system that can produce both \ +online information and printed output from a single source file. The \ +GNU Project uses the Texinfo file format for most of its documentation." +HOMEPAGE = "http://www.gnu.org/software/texinfo/" +SECTION = "console/utils" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +PROVIDES_append_class-native = " texinfo-4.8-replacement-native" + +DEPENDS = "zlib ncurses texinfo-4.8-replacement-native" +DEPENDS_class-native = "zlib-native ncurses-native" + +TARGET_PATCH = "file://use_host_makedoc.patch \ + file://using-native-makeinfo.patch \ +" +TARGET_PATCH_class-native = "" + +SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \ + file://check-locale-h.patch \ + file://do-compile-native-tools.patch \ + ${TARGET_PATCH} \ + " + +SRC_URI[md5sum] = "4e9a1a591ed236003d0d4b008bf07eef" +SRC_URI[sha256sum] = "1f3cdeebe65fdf510f55d765ab1031b54416aa5bc2635b6a54ef9bcb2367c917" + +tex_texinfo = "texmf/tex/texinfo" + +inherit gettext autotools + +do_install_append() { + mkdir -p ${D}${datadir}/${tex_texinfo} + install -p -m644 ${S}/doc/texinfo.tex ${S}/doc/txi-??.tex ${D}${datadir}/${tex_texinfo} +} + +do_install_append_class-native() { + install -m 755 info/makedoc ${D}${bindir} + install -m 755 makeinfo/makeinfo ${D}${bindir} +} + +PACKAGES += "info info-doc" + +FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" +FILES_info-doc = "${infodir}/info.info ${infodir}/dir ${infodir}/info-*.info \ + ${mandir}/man1/info.1* ${mandir}/man5/info.5* \ + ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*" + +FILES_${PN} = "${bindir}/makeinfo ${bindir}/texi* ${bindir}/pdftexi2dvi ${bindir}/pod2texi ${datadir}/texinfo" +FILES_${PN}-doc = "${infodir}/texinfo* \ + ${datadir}/${tex_texinfo} \ + ${mandir}/man1 ${mandir}/man5" + +BBCLASSEXTEND = "native" diff --git a/meta/recipes-extended/texinfo/texinfo_5.2.bb b/meta/recipes-extended/texinfo/texinfo_5.2.bb index be90aba1d2..8dbcaa14f4 100644 --- a/meta/recipes-extended/texinfo/texinfo_5.2.bb +++ b/meta/recipes-extended/texinfo/texinfo_5.2.bb @@ -9,6 +9,19 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" PROVIDES_append_class-native = " texinfo-replacement-native" +def compress_pkg(d): + if "compress_doc" in (d.getVar("INHERIT", True) or "").split(): + compress = d.getVar("DOC_COMPRESS", True) + if compress == "gz": + return "gzip" + elif compress == "bz2": + return "bzip2" + elif compress == "xz": + return "xz" + return "" + +RDEPENDS_info += "${@compress_pkg(d)}" + DEPENDS = "zlib ncurses texinfo-replacement-native" DEPENDS_class-native = "zlib-native ncurses-native" @@ -27,11 +40,16 @@ SRC_URI = "${GNU_MIRROR}/texinfo/${BP}.tar.gz \ SRC_URI[md5sum] = "1b8f98b80a8e6c50422125e07522e8db" SRC_URI[sha256sum] = "6b8ca30e9b6f093b54fe04439e5545e564c63698a806a48065c0bba16994cf74" -S = "${WORKDIR}/${BP}" tex_texinfo = "texmf/tex/texinfo" inherit gettext autotools +do_configure_prepend () { + # autotools_do_configure updates po/Makefile.in.in, we also need + # update po_document. + cp -f ${STAGING_DATADIR_NATIVE}/gettext/po/Makefile.in.in ${S}/po_document/ +} + do_compile_prepend() { if [ -d tools ];then oe_runmake -C tools/gnulib/lib @@ -51,7 +69,7 @@ do_install_append_class-native() { PACKAGES += "info info-doc" FILES_info = "${bindir}/info ${bindir}/infokey ${bindir}/install-info" -FILES_info-doc = "${infodir}/info.info ${infodir}/dir ${infodir}/info-*.info \ +FILES_info-doc = "${infodir}/info.info* ${infodir}/dir ${infodir}/info-*.info* \ ${mandir}/man1/info.1* ${mandir}/man5/info.5* \ ${mandir}/man1/infokey.1* ${mandir}/man1/install-info.1*" diff --git a/meta/recipes-extended/tzcode/tzcode-native.inc b/meta/recipes-extended/tzcode/tzcode-native.inc index f0343332ae..4af1e20739 100644 --- a/meta/recipes-extended/tzcode/tzcode-native.inc +++ b/meta/recipes-extended/tzcode/tzcode-native.inc @@ -1,7 +1,7 @@ DESCRIPTION = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect" LICENSE = "PD & BSD" -LIC_FILES_CHKSUM = "file://${WORKDIR}/README;md5=0b7570113550eb5d30aa4bd220964b8f" +LIC_FILES_CHKSUM = "file://${WORKDIR}/README;md5=d0ff93a73dd5bc3c6e724bb4343760f6" S = "${WORKDIR}" diff --git a/meta/recipes-extended/tzcode/tzcode-native_2014e.bb b/meta/recipes-extended/tzcode/tzcode-native_2014e.bb deleted file mode 100644 index 405ed60f86..0000000000 --- a/meta/recipes-extended/tzcode/tzcode-native_2014e.bb +++ /dev/null @@ -1,11 +0,0 @@ -# note that we allow for us to use data later than our code version -# -SRC_URI =" ftp://ftp.iana.org/tz/releases/tzcode${PV}.tar.gz;name=tzcode \ - ftp://ftp.iana.org/tz/releases/tzdata2014e.tar.gz;name=tzdata" - -SRC_URI[tzcode.md5sum] = "552251600ee3571c244d33c7196ec2ed" -SRC_URI[tzcode.sha256sum] = "43ebc426ab4911e222a4487f24289adfd2bc5eb09363a5e77cdabf56374a8c1c" -SRC_URI[tzdata.md5sum] = "8a49fdedd4e832da8e85f7f9bcaedc33" -SRC_URI[tzdata.sha256sum] = "08e243a79051f838d86ac1311a78b74047951302d448024e823b5b7aa71f86c5" - -require tzcode-native.inc diff --git a/meta/recipes-extended/tzcode/tzcode-native_2015a.bb b/meta/recipes-extended/tzcode/tzcode-native_2015a.bb new file mode 100644 index 0000000000..a0a31d6cfb --- /dev/null +++ b/meta/recipes-extended/tzcode/tzcode-native_2015a.bb @@ -0,0 +1,10 @@ +# note that we allow for us to use data later than our code version +# +SRC_URI =" ftp://ftp.iana.org/tz/releases/tzcode${PV}.tar.gz;name=tzcode \ + ftp://ftp.iana.org/tz/releases/tzdata2015a.tar.gz;name=tzdata" + +SRC_URI[tzcode.md5sum] = "8f375ede46ae137fbac047ac431bda37" +SRC_URI[tzcode.sha256sum] = "885bab11f286852f34030d7a86ede7d4126319ca74b8ee22be8ca7c17d72dd19" +SRC_URI[tzdata.md5sum] = "4ed11c894a74a5ea64201b1c6dbb8831" +SRC_URI[tzdata.sha256sum] = "c52490917d00a8e7fc9b5f0b1b65ef6ec76d612b5b20c81bf86a04147af18e4c" +require tzcode-native.inc diff --git a/meta/recipes-extended/tzdata/tzdata.inc b/meta/recipes-extended/tzdata/tzdata.inc index 06a6bea4f1..f13a4fe910 100644 --- a/meta/recipes-extended/tzdata/tzdata.inc +++ b/meta/recipes-extended/tzdata/tzdata.inc @@ -2,7 +2,7 @@ DESCRIPTION = "Timezone data" HOMEPAGE = "ftp://elsie.nci.nih.gov/pub/" SECTION = "base" LICENSE = "PD & BSD" -LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234" +LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=996a9811747aa48db91ed239e5b355a1" DEPENDS = "tzcode-native" inherit allarch diff --git a/meta/recipes-extended/tzdata/tzdata_2014e.bb b/meta/recipes-extended/tzdata/tzdata_2014e.bb deleted file mode 100644 index b53d32331b..0000000000 --- a/meta/recipes-extended/tzdata/tzdata_2014e.bb +++ /dev/null @@ -1,6 +0,0 @@ -SRC_URI = "ftp://ftp.iana.org/tz/releases/tzdata${PV}.tar.gz;name=tzdata" - -SRC_URI[tzdata.md5sum] = "8a49fdedd4e832da8e85f7f9bcaedc33" -SRC_URI[tzdata.sha256sum] = "08e243a79051f838d86ac1311a78b74047951302d448024e823b5b7aa71f86c5" - -require tzdata.inc diff --git a/meta/recipes-extended/tzdata/tzdata_2015a.bb b/meta/recipes-extended/tzdata/tzdata_2015a.bb new file mode 100644 index 0000000000..6151aee115 --- /dev/null +++ b/meta/recipes-extended/tzdata/tzdata_2015a.bb @@ -0,0 +1,6 @@ +SRC_URI = "ftp://ftp.iana.org/tz/releases/tzdata${PV}.tar.gz;name=tzdata" + +SRC_URI[tzdata.md5sum] = "4ed11c894a74a5ea64201b1c6dbb8831" +SRC_URI[tzdata.sha256sum] = "c52490917d00a8e7fc9b5f0b1b65ef6ec76d612b5b20c81bf86a04147af18e4c" + +require tzdata.inc diff --git a/meta/recipes-extended/unzip/unzip_6.0.bb b/meta/recipes-extended/unzip/unzip_6.0.bb index 33c20f8b4c..e203c069f4 100644 --- a/meta/recipes-extended/unzip/unzip_6.0.bb +++ b/meta/recipes-extended/unzip/unzip_6.0.bb @@ -35,4 +35,11 @@ do_install() { rmdir ${D}${prefix}/man/ } +inherit update-alternatives + +ALTERNATIVE_PRIORITY = "100" + +ALTERNATIVE_${PN} = "unzip" +ALTERNATIVE_LINK_NAME[unzip] = "${bindir}/unzip" + BBCLASSEXTEND = "native" diff --git a/meta/recipes-extended/watchdog/files/fix-ping-failure.patch b/meta/recipes-extended/watchdog/watchdog/fix-ping-failure.patch index f5976eb5cf..14ab9c56ab 100644 --- a/meta/recipes-extended/watchdog/files/fix-ping-failure.patch +++ b/meta/recipes-extended/watchdog/watchdog/fix-ping-failure.patch @@ -33,11 +33,11 @@ Signed-off-by: Roy.Li <rongqing.li@windriver.com> src/watchdog.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) -Index: watchdog-5.13/src/watchdog.c +Index: watchdog-5.14/src/watchdog.c =================================================================== ---- watchdog-5.13.orig/src/watchdog.c 2013-02-01 03:15:44.000000000 -0800 -+++ watchdog-5.13/src/watchdog.c 2013-03-11 22:27:48.741657881 -0700 -@@ -28,6 +28,7 @@ +--- watchdog-5.14.orig/src/watchdog.c ++++ watchdog-5.14/src/watchdog.c +@@ -24,6 +24,7 @@ #include <sys/types.h> #include <sys/ioctl.h> #include <linux/oom.h> @@ -45,21 +45,35 @@ Index: watchdog-5.13/src/watchdog.c #include <linux/watchdog.h> #include <string.h> -@@ -567,6 +568,8 @@ - pid_t child_pid; - int oom_adjusted = 0; - struct stat s; -+ struct icmp_filter filt; -+ filt.data = ~(1<<ICMP_ECHOREPLY); +Index: watchdog-5.14/src/net.c +=================================================================== +--- watchdog-5.14.orig/src/net.c ++++ watchdog-5.14/src/net.c +@@ -11,7 +11,8 @@ + #include <errno.h> + #include <sys/time.h> + #include <netinet/ip.h> +-#include <netinet/ip_icmp.h> ++#include <linux/icmp.h> ++//#include <netinet/ip_icmp.h> + #include <fcntl.h> + #include <string.h> + #include <unistd.h> /* for gethostname() etc */ +@@ -179,6 +180,9 @@ int open_netcheck(struct list *tlist) + { + struct list *act; + int hold = 0; ++ struct icmp_filter filt; ++ filt.data = ~(1<<ICMP_ECHOREPLY); ++ + + if (tlist != NULL) { + for (act = tlist; act != NULL; act = act->next) { +@@ -202,6 +206,7 @@ int open_netcheck(struct list *tlist) + fatal_error(EX_SYSERR, "error opening socket (%s)", strerror(errno)); + } + ++ setsockopt(net->sock_fp, SOL_RAW, ICMP_FILTER, (char*)&filt, sizeof(filt)); + /* this is necessary for broadcast pings to work */ + (void)setsockopt(net->sock_fp, SOL_SOCKET, SO_BROADCAST, (char *)&hold, sizeof(hold)); - #if USE_SYSLOG - char *opts = "d:i:n:Ffsvbql:p:t:c:r:m:a:"; -@@ -703,7 +706,7 @@ - perror(progname); - exit(1); - } -- -+ setsockopt(net->sock_fp, SOL_RAW, ICMP_FILTER, (char*)&filt, sizeof(filt)); - /* this is necessary for broadcast pings to work */ - (void) setsockopt(net->sock_fp, SOL_SOCKET, SO_BROADCAST, (char *)&hold, sizeof(hold)); - diff --git a/meta/recipes-extended/watchdog/files/fixsepbuild.patch b/meta/recipes-extended/watchdog/watchdog/fixsepbuild.patch index 2fad3a112f..2fad3a112f 100644 --- a/meta/recipes-extended/watchdog/files/fixsepbuild.patch +++ b/meta/recipes-extended/watchdog/watchdog/fixsepbuild.patch diff --git a/meta/recipes-extended/watchdog/watchdog_5.13.bb b/meta/recipes-extended/watchdog/watchdog_5.14.bb index b9e29d22fc..c77d91dcdd 100644 --- a/meta/recipes-extended/watchdog/watchdog_5.13.bb +++ b/meta/recipes-extended/watchdog/watchdog_5.14.bb @@ -11,8 +11,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=ecc0551bf54ad97f6b541720f84d6569" SRC_URI = "${SOURCEFORGE_MIRROR}/watchdog/watchdog-${PV}.tar.gz \ file://fixsepbuild.patch \ file://fix-ping-failure.patch" -SRC_URI[md5sum] = "153455f008f1cf8f65f6ad9586a21ff1" -SRC_URI[sha256sum] = "141e0faf3ee4d8187a6ff4e00b18ef7b7a4ce432a2d4c8a6e6fdc62507fc6eb0" + +SRC_URI[md5sum] = "5b2dba0c593942f4acc100bca0d560c4" +SRC_URI[sha256sum] = "620b2f49e9879f2e85c73d4c1f422f9101e6b38e824fea2414befd8bb6866ad1" inherit autotools diff --git a/meta/recipes-extended/wget/wget.inc b/meta/recipes-extended/wget/wget.inc index 642d502a50..049b898d39 100644 --- a/meta/recipes-extended/wget/wget.inc +++ b/meta/recipes-extended/wget/wget.inc @@ -7,12 +7,18 @@ DEPENDS = "gnutls zlib libpcre" INC_PR = "r16" -inherit autotools gettext texinfo update-alternatives +inherit autotools gettext texinfo update-alternatives pkgconfig EXTRA_OECONF = "--enable-ipv6 --with-ssl=gnutls --disable-rpath --disable-iri \ - ac_cv_header_uuid_uuid_h=no" + --without-libgnutls-prefix ac_cv_header_uuid_uuid_h=no" ALTERNATIVE_${PN} = "wget" +ALTERNATIVE_${PN}_class-nativesdk = "" ALTERNATIVE_PRIORITY = "100" RRECOMMENDS_${PN} += "ca-certificates" + +BBCLASSEXTEND += "nativesdk" + +PACKAGECONFIG ??= "" +PACKAGECONFIG[libuuid] = "--with-libuuid, --without-libuuid,util-linux" diff --git a/meta/recipes-extended/wget/wget_1.15.bb b/meta/recipes-extended/wget/wget_1.15.bb deleted file mode 100644 index c2fcca740c..0000000000 --- a/meta/recipes-extended/wget/wget_1.15.bb +++ /dev/null @@ -1,7 +0,0 @@ -SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \ - file://fix_makefile.patch \ - " -SRC_URI[md5sum] = "506df41295afc6486662cc47470b4618" -SRC_URI[sha256sum] = "52126be8cf1bddd7536886e74c053ad7d0ed2aa89b4b630f76785bac21695fcd" - -require wget.inc diff --git a/meta/recipes-extended/wget/wget_1.16.1.bb b/meta/recipes-extended/wget/wget_1.16.1.bb new file mode 100644 index 0000000000..ca6f0fee25 --- /dev/null +++ b/meta/recipes-extended/wget/wget_1.16.1.bb @@ -0,0 +1,8 @@ +SRC_URI = "${GNU_MIRROR}/wget/wget-${PV}.tar.gz \ + file://fix_makefile.patch \ + " + +SRC_URI[md5sum] = "5d12410a398ec9907e105e8734561ba0" +SRC_URI[sha256sum] = "3b834ce69366d4681f295307fce36ee14e122c4ee68a4d1291b62b0b26755a77" + +require wget.inc diff --git a/meta/recipes-extended/which/which-2.18/automake-foreign.patch b/meta/recipes-extended/which/which-2.18/automake-foreign.patch new file mode 100644 index 0000000000..495cdc6cf4 --- /dev/null +++ b/meta/recipes-extended/which/which-2.18/automake-foreign.patch @@ -0,0 +1,28 @@ +Subject: [PATCH] automake foreign strictness + +Use foreign strictness to avoid automake errors. + +Upstream-Status: Inappropriate [upstream no longer active] + +Signed-off-by: Jackie Huang <jackie.huang@windriver.com> +--- + configure.ac | 5 +++-- + 1 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index b30b6f5..bd3222c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -1,6 +1,7 @@ + dnl Process this file with autoconf to produce a configure script. +-AC_INIT(which.c) +-AM_INIT_AUTOMAKE(which, 2.18) ++AC_INIT([which],[2.18]) ++AC_CONFIG_SRCDIR(which.c) ++AM_INIT_AUTOMAKE([foreign]) + AM_CONFIG_HEADER(config.h) + AM_MAINTAINER_MODE + +-- +1.7.1 + diff --git a/meta/recipes-extended/which/which-2.20/automake.patch b/meta/recipes-extended/which/which-2.20/automake.patch new file mode 100644 index 0000000000..ef00bc9f23 --- /dev/null +++ b/meta/recipes-extended/which/which-2.20/automake.patch @@ -0,0 +1,15 @@ +Update autoconf prologue to use "foreign" strictness. + +Upstream-Status: Pending +Signed-off-by: Ross Burton <ross.burton@intel.com> + +diff --git a/configure.ac b/configure.ac +index d974461..a20dfa8 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2,2 +2,3 @@ dnl Process this file with autoconf to produce a configure script. +-AC_INIT(which.c) +-AM_INIT_AUTOMAKE(which, 2.20) ++AC_INIT([which],[2.20]) ++AC_CONFIG_SRCDIR(which.c) ++AM_INIT_AUTOMAKE([foreign]) diff --git a/meta/recipes-extended/which/which_2.18.bb b/meta/recipes-extended/which/which_2.18.bb index 5fa5d9e8eb..eb6cc9967e 100644 --- a/meta/recipes-extended/which/which_2.18.bb +++ b/meta/recipes-extended/which/which_2.18.bb @@ -11,8 +11,10 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" PR = "r2" -SRC_URI = "http://www.xs4all.nl/~carlo17/which/which-${PV}.tar.gz \ - file://fix_name_conflict_group_member.patch" +SRC_URI = "http://pkgs.fedoraproject.org/repo/pkgs/which/which-2.18.tar.gz/42d51938e48b91f6e19fabf216f5c3e9/which-${PV}.tar.gz \ + file://fix_name_conflict_group_member.patch \ + file://automake-foreign.patch \ +" SRC_URI[md5sum] = "42d51938e48b91f6e19fabf216f5c3e9" SRC_URI[sha256sum] = "9445cd7e02ec0c26a44fd56098464ded064ba5d93dd2e15ec12410ba56b2e544" diff --git a/meta/recipes-extended/which/which_2.20.bb b/meta/recipes-extended/which/which_2.20.bb index f3c6037786..74835543de 100644 --- a/meta/recipes-extended/which/which_2.20.bb +++ b/meta/recipes-extended/which/which_2.20.bb @@ -18,6 +18,7 @@ PR = "r3" EXTRA_OECONF = "--disable-iberty" SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \ + file://automake.patch \ file://remove-declaration.patch" SRC_URI[md5sum] = "95be0501a466e515422cde4af46b2744" diff --git a/meta/recipes-extended/xinetd/xinetd/xinetd.service b/meta/recipes-extended/xinetd/xinetd/xinetd.service new file mode 100644 index 0000000000..d5fdc5bc29 --- /dev/null +++ b/meta/recipes-extended/xinetd/xinetd/xinetd.service @@ -0,0 +1,13 @@ +[Unit] +Description=Xinetd A Powerful Replacement For Inetd +After=syslog.target network.target + +[Service] +Type=forking +PIDFile=/var/run/xinetd.pid +EnvironmentFile=-/etc/sysconfig/xinetd +ExecStart=@SBINDIR@/xinetd -stayalive -pidfile /var/run/xinetd.pid "$EXTRAOPTIONS" +ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID + +[Install] +WantedBy=multi-user.target diff --git a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb index 1928949e94..ffc03e5c70 100644 --- a/meta/recipes-extended/xinetd/xinetd_2.3.15.bb +++ b/meta/recipes-extended/xinetd/xinetd_2.3.15.bb @@ -1,5 +1,5 @@ SUMMARY = "Socket-based service activation daemon" -HOMEPAGE = "http://www.xinetd.org" +HOMEPAGE = "https://github.com/xinetd-org/xinetd" # xinetd is a BSD-like license # Apple and Gentoo say BSD here. @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=8ad8615198542444f84d28a6cf226dd8" DEPENDS = "" PR = "r2" -SRC_URI = "http://www.xinetd.org/xinetd-${PV}.tar.gz \ +SRC_URI = "git://github.com/xinetd-org/xinetd.git;protocol=https \ file://xinetd.init \ file://xinetd.conf \ file://xinetd.default \ @@ -17,12 +17,16 @@ SRC_URI = "http://www.xinetd.org/xinetd-${PV}.tar.gz \ file://Disable-services-from-inetd.conf-if-a-service-with-t.patch \ file://xinetd-should-be-able-to-listen-on-IPv6-even-in-ine.patch \ file://xinetd-CVE-2013-4342.patch \ + file://xinetd.service \ " -SRC_URI[md5sum] = "77358478fd58efa6366accae99b8b04c" -SRC_URI[sha256sum] = "bf4e060411c75605e4dcbdf2ac57c6bd9e1904470a2f91e01ba31b50a80a5be3" +SRCREV = "68bb9ab9e9f214ad8a2322f28ac1d6733e70bc24" -inherit autotools update-rc.d +S = "${WORKDIR}/git" + +inherit autotools update-rc.d systemd + +SYSTEMD_SERVICE_${PN} = "xinetd.service" INITSCRIPT_NAME = "xinetd" INITSCRIPT_PARAMS = "defaults" @@ -52,6 +56,13 @@ do_install() { install -m 644 "${WORKDIR}/xinetd.default" "${D}${sysconfdir}/default/xinetd" install -m 755 "${B}/xinetd/xinetd" "${D}${sbindir}" install -m 755 "${B}/xinetd/itox" "${D}${sbindir}" + + # Install systemd unit files + install -d ${D}${systemd_unitdir}/system + install -m 0644 ${WORKDIR}/xinetd.service ${D}${systemd_unitdir}/system + sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \ + -e 's,@SBINDIR@,${sbindir},g' \ + ${D}${systemd_unitdir}/system/xinetd.service } CONFFILES_${PN} = "${sysconfdir}/xinetd.conf" diff --git a/meta/recipes-extended/xz/xz_5.1.3alpha.bb b/meta/recipes-extended/xz/xz_5.2.0.bb index b8501a5a39..3439ec911f 100644 --- a/meta/recipes-extended/xz/xz_5.1.3alpha.bb +++ b/meta/recipes-extended/xz/xz_5.2.0.bb @@ -25,8 +25,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c475b6c7dca236740ace4bba553e8e1c \ file://lib/getopt.c;endline=23;md5=2069b0ee710572c03bb3114e4532cd84 " SRC_URI = "http://tukaani.org/xz/xz-${PV}.tar.gz" -SRC_URI[md5sum] = "bbb2daa876c87fb2cf9fe4590af9694e" -SRC_URI[sha256sum] = "9f94506e301d5b6863921bba861a99ba00de384dafb4e5f409679a93e41613d4" +SRC_URI[md5sum] = "be585bdf8672e4406632eda3d819e284" +SRC_URI[sha256sum] = "231ef369982240bb20ed7cffa52bb12a4a297ce6871f480ab85e8a7ba98bf3d6" inherit autotools gettext @@ -38,3 +38,5 @@ FILES_liblzma-staticdev = "${libdir}/liblzma.a" FILES_liblzma-dbg = "${libdir}/.debug/liblzma*" BBCLASSEXTEND = "native nativesdk" + +export CONFIG_SHELL="/bin/sh" |