diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..6bd674642609d45310ece9abc8a9e81c96205ee8 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +log.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ecdc5c0000d95ba9d4e87dd4e5c5241385eb2b36 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,496 @@ +cmake_minimum_required(VERSION 3.5.1) + +PROJECT (ICU) + +SET(ICU_LINUX_COMPILE_OPTIONS + "-Wno-undef" + "-Wno-deprecated-declarations" + "-Wno-error" + "-Wno-unused-parameter" + "-Wno-missing-field-initializers" + "-Wno-sign-compare" + "-Wno-type-limits" + "-Wno-stringop-overflow" +) + +SET(ICU_COMMON_SOURCES + ${ICU_VERSION_DIR}/source/common/appendable.cpp + ${ICU_VERSION_DIR}/source/common/bmpset.cpp + ${ICU_VERSION_DIR}/source/common/brkeng.cpp + ${ICU_VERSION_DIR}/source/common/brkiter.cpp + ${ICU_VERSION_DIR}/source/common/bytesinkutil.cpp + ${ICU_VERSION_DIR}/source/common/bytestream.cpp + ${ICU_VERSION_DIR}/source/common/bytestriebuilder.cpp + ${ICU_VERSION_DIR}/source/common/bytestrie.cpp + ${ICU_VERSION_DIR}/source/common/bytestrieiterator.cpp + ${ICU_VERSION_DIR}/source/common/caniter.cpp + ${ICU_VERSION_DIR}/source/common/characterproperties.cpp + ${ICU_VERSION_DIR}/source/common/chariter.cpp + ${ICU_VERSION_DIR}/source/common/charstr.cpp + ${ICU_VERSION_DIR}/source/common/cmemory.cpp + ${ICU_VERSION_DIR}/source/common/cstr.cpp + ${ICU_VERSION_DIR}/source/common/cstring.cpp + ${ICU_VERSION_DIR}/source/common/cwchar.cpp + ${ICU_VERSION_DIR}/source/common/dictbe.cpp + ${ICU_VERSION_DIR}/source/common/dictionarydata.cpp + ${ICU_VERSION_DIR}/source/common/dtintrv.cpp + ${ICU_VERSION_DIR}/source/common/edits.cpp + ${ICU_VERSION_DIR}/source/common/errorcode.cpp + ${ICU_VERSION_DIR}/source/common/filteredbrk.cpp + ${ICU_VERSION_DIR}/source/common/filterednormalizer2.cpp + ${ICU_VERSION_DIR}/source/common/icudataver.cpp + ${ICU_VERSION_DIR}/source/common/icuplug.cpp + ${ICU_VERSION_DIR}/source/common/loadednormalizer2impl.cpp + ${ICU_VERSION_DIR}/source/common/localebuilder.cpp + ${ICU_VERSION_DIR}/source/common/localematcher.cpp + ${ICU_VERSION_DIR}/source/common/localeprioritylist.cpp + ${ICU_VERSION_DIR}/source/common/locavailable.cpp + ${ICU_VERSION_DIR}/source/common/locbased.cpp + ${ICU_VERSION_DIR}/source/common/locdispnames.cpp + ${ICU_VERSION_DIR}/source/common/locdistance.cpp + ${ICU_VERSION_DIR}/source/common/locdspnm.cpp + ${ICU_VERSION_DIR}/source/common/locid.cpp + ${ICU_VERSION_DIR}/source/common/loclikely.cpp + ${ICU_VERSION_DIR}/source/common/loclikelysubtags.cpp + ${ICU_VERSION_DIR}/source/common/locmap.cpp + ${ICU_VERSION_DIR}/source/common/locresdata.cpp + ${ICU_VERSION_DIR}/source/common/locutil.cpp + ${ICU_VERSION_DIR}/source/common/lsr.cpp + ${ICU_VERSION_DIR}/source/common/messagepattern.cpp + ${ICU_VERSION_DIR}/source/common/normalizer2.cpp + ${ICU_VERSION_DIR}/source/common/normalizer2impl.cpp + ${ICU_VERSION_DIR}/source/common/normlzr.cpp + ${ICU_VERSION_DIR}/source/common/parsepos.cpp + ${ICU_VERSION_DIR}/source/common/patternprops.cpp + ${ICU_VERSION_DIR}/source/common/pluralmap.cpp + ${ICU_VERSION_DIR}/source/common/propname.cpp + ${ICU_VERSION_DIR}/source/common/propsvec.cpp + ${ICU_VERSION_DIR}/source/common/punycode.cpp + ${ICU_VERSION_DIR}/source/common/putil.cpp + ${ICU_VERSION_DIR}/source/common/rbbi_cache.cpp + ${ICU_VERSION_DIR}/source/common/rbbi.cpp + ${ICU_VERSION_DIR}/source/common/rbbidata.cpp + ${ICU_VERSION_DIR}/source/common/rbbinode.cpp + ${ICU_VERSION_DIR}/source/common/rbbirb.cpp + ${ICU_VERSION_DIR}/source/common/rbbiscan.cpp + ${ICU_VERSION_DIR}/source/common/rbbisetb.cpp + ${ICU_VERSION_DIR}/source/common/rbbistbl.cpp + ${ICU_VERSION_DIR}/source/common/rbbitblb.cpp + ${ICU_VERSION_DIR}/source/common/resbund_cnv.cpp + ${ICU_VERSION_DIR}/source/common/resbund.cpp + ${ICU_VERSION_DIR}/source/common/resource.cpp + ${ICU_VERSION_DIR}/source/common/restrace.cpp + ${ICU_VERSION_DIR}/source/common/ruleiter.cpp + ${ICU_VERSION_DIR}/source/common/schriter.cpp + ${ICU_VERSION_DIR}/source/common/serv.cpp + ${ICU_VERSION_DIR}/source/common/servlk.cpp + ${ICU_VERSION_DIR}/source/common/servlkf.cpp + ${ICU_VERSION_DIR}/source/common/servls.cpp + ${ICU_VERSION_DIR}/source/common/servnotf.cpp + ${ICU_VERSION_DIR}/source/common/servrbf.cpp + ${ICU_VERSION_DIR}/source/common/servslkf.cpp + ${ICU_VERSION_DIR}/source/common/sharedobject.cpp + ${ICU_VERSION_DIR}/source/common/simpleformatter.cpp + ${ICU_VERSION_DIR}/source/common/static_unicode_sets.cpp + ${ICU_VERSION_DIR}/source/common/stringpiece.cpp + ${ICU_VERSION_DIR}/source/common/stringtriebuilder.cpp + ${ICU_VERSION_DIR}/source/common/uarrsort.cpp + ${ICU_VERSION_DIR}/source/common/ubidi.cpp + ${ICU_VERSION_DIR}/source/common/ubidiln.cpp + ${ICU_VERSION_DIR}/source/common/ubidi_props.cpp + ${ICU_VERSION_DIR}/source/common/ubiditransform.cpp + ${ICU_VERSION_DIR}/source/common/ubidiwrt.cpp + ${ICU_VERSION_DIR}/source/common/ubrk.cpp + ${ICU_VERSION_DIR}/source/common/ucase.cpp + ${ICU_VERSION_DIR}/source/common/ucasemap.cpp + ${ICU_VERSION_DIR}/source/common/ucasemap_titlecase_brkiter.cpp + ${ICU_VERSION_DIR}/source/common/ucat.cpp + ${ICU_VERSION_DIR}/source/common/uchar.cpp + ${ICU_VERSION_DIR}/source/common/ucharstriebuilder.cpp + ${ICU_VERSION_DIR}/source/common/ucharstrie.cpp + ${ICU_VERSION_DIR}/source/common/ucharstrieiterator.cpp + ${ICU_VERSION_DIR}/source/common/uchriter.cpp + ${ICU_VERSION_DIR}/source/common/ucln_cmn.cpp + ${ICU_VERSION_DIR}/source/common/ucmndata.cpp + ${ICU_VERSION_DIR}/source/common/ucnv2022.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_bld.cpp + ${ICU_VERSION_DIR}/source/common/ucnvbocu.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_cb.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_cnv.cpp + ${ICU_VERSION_DIR}/source/common/ucnv.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_ct.cpp + ${ICU_VERSION_DIR}/source/common/ucnvdisp.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_err.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_ext.cpp + ${ICU_VERSION_DIR}/source/common/ucnvhz.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_io.cpp + ${ICU_VERSION_DIR}/source/common/ucnvisci.cpp + ${ICU_VERSION_DIR}/source/common/ucnvlat1.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_lmb.cpp + ${ICU_VERSION_DIR}/source/common/ucnvmbcs.cpp + ${ICU_VERSION_DIR}/source/common/ucnvscsu.cpp + ${ICU_VERSION_DIR}/source/common/ucnvsel.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_set.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_u16.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_u32.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_u7.cpp + ${ICU_VERSION_DIR}/source/common/ucnv_u8.cpp + ${ICU_VERSION_DIR}/source/common/ucol_swp.cpp + ${ICU_VERSION_DIR}/source/common/ucptrie.cpp + ${ICU_VERSION_DIR}/source/common/ucurr.cpp + ${ICU_VERSION_DIR}/source/common/udata.cpp + ${ICU_VERSION_DIR}/source/common/udatamem.cpp + ${ICU_VERSION_DIR}/source/common/udataswp.cpp + ${ICU_VERSION_DIR}/source/common/uenum.cpp + ${ICU_VERSION_DIR}/source/common/uhash.cpp + ${ICU_VERSION_DIR}/source/common/uhash_us.cpp + ${ICU_VERSION_DIR}/source/common/uidna.cpp + ${ICU_VERSION_DIR}/source/common/uinit.cpp + ${ICU_VERSION_DIR}/source/common/uinvchar.cpp + ${ICU_VERSION_DIR}/source/common/uiter.cpp + ${ICU_VERSION_DIR}/source/common/ulist.cpp + ${ICU_VERSION_DIR}/source/common/uloc.cpp + ${ICU_VERSION_DIR}/source/common/uloc_keytype.cpp + ${ICU_VERSION_DIR}/source/common/uloc_tag.cpp + ${ICU_VERSION_DIR}/source/common/umapfile.cpp + ${ICU_VERSION_DIR}/source/common/umath.cpp + ${ICU_VERSION_DIR}/source/common/umutablecptrie.cpp + ${ICU_VERSION_DIR}/source/common/umutex.cpp + ${ICU_VERSION_DIR}/source/common/unames.cpp + ${ICU_VERSION_DIR}/source/common/unifiedcache.cpp + ${ICU_VERSION_DIR}/source/common/unifilt.cpp + ${ICU_VERSION_DIR}/source/common/unifunct.cpp + ${ICU_VERSION_DIR}/source/common/uniset_closure.cpp + ${ICU_VERSION_DIR}/source/common/uniset.cpp + ${ICU_VERSION_DIR}/source/common/uniset_props.cpp + ${ICU_VERSION_DIR}/source/common/unisetspan.cpp + ${ICU_VERSION_DIR}/source/common/unistr_case.cpp + ${ICU_VERSION_DIR}/source/common/unistr_case_locale.cpp + ${ICU_VERSION_DIR}/source/common/unistr_cnv.cpp + ${ICU_VERSION_DIR}/source/common/unistr.cpp + ${ICU_VERSION_DIR}/source/common/unistr_props.cpp + ${ICU_VERSION_DIR}/source/common/unistr_titlecase_brkiter.cpp + ${ICU_VERSION_DIR}/source/common/unormcmp.cpp + ${ICU_VERSION_DIR}/source/common/unorm.cpp + ${ICU_VERSION_DIR}/source/common/uobject.cpp + ${ICU_VERSION_DIR}/source/common/uprops.cpp + ${ICU_VERSION_DIR}/source/common/uresbund.cpp + ${ICU_VERSION_DIR}/source/common/ures_cnv.cpp + ${ICU_VERSION_DIR}/source/common/uresdata.cpp + ${ICU_VERSION_DIR}/source/common/usc_impl.cpp + ${ICU_VERSION_DIR}/source/common/uscript.cpp + ${ICU_VERSION_DIR}/source/common/uscript_props.cpp + ${ICU_VERSION_DIR}/source/common/uset.cpp + ${ICU_VERSION_DIR}/source/common/usetiter.cpp + ${ICU_VERSION_DIR}/source/common/uset_props.cpp + ${ICU_VERSION_DIR}/source/common/ushape.cpp + ${ICU_VERSION_DIR}/source/common/usprep.cpp + ${ICU_VERSION_DIR}/source/common/ustack.cpp + ${ICU_VERSION_DIR}/source/common/ustrcase.cpp + ${ICU_VERSION_DIR}/source/common/ustrcase_locale.cpp + ${ICU_VERSION_DIR}/source/common/ustr_cnv.cpp + ${ICU_VERSION_DIR}/source/common/ustrenum.cpp + ${ICU_VERSION_DIR}/source/common/ustrfmt.cpp + ${ICU_VERSION_DIR}/source/common/ustring.cpp + ${ICU_VERSION_DIR}/source/common/ustr_titlecase_brkiter.cpp + ${ICU_VERSION_DIR}/source/common/ustrtrns.cpp + ${ICU_VERSION_DIR}/source/common/ustr_wcs.cpp + ${ICU_VERSION_DIR}/source/common/utext.cpp + ${ICU_VERSION_DIR}/source/common/utf_impl.cpp + ${ICU_VERSION_DIR}/source/common/util.cpp + ${ICU_VERSION_DIR}/source/common/util_props.cpp + ${ICU_VERSION_DIR}/source/common/utrace.cpp + ${ICU_VERSION_DIR}/source/common/utrie2_builder.cpp + ${ICU_VERSION_DIR}/source/common/utrie2.cpp + ${ICU_VERSION_DIR}/source/common/utrie.cpp + ${ICU_VERSION_DIR}/source/common/utrie_swap.cpp + ${ICU_VERSION_DIR}/source/common/uts46.cpp + ${ICU_VERSION_DIR}/source/common/utypes.cpp + ${ICU_VERSION_DIR}/source/common/uvector.cpp + ${ICU_VERSION_DIR}/source/common/uvectr32.cpp + ${ICU_VERSION_DIR}/source/common/uvectr64.cpp + ${ICU_VERSION_DIR}/source/common/wintz.cpp +) + +SET(ICU_I18N_SOURCES + ${ICU_VERSION_DIR}/source/i18n/alphaindex.cpp + ${ICU_VERSION_DIR}/source/i18n/anytrans.cpp + ${ICU_VERSION_DIR}/source/i18n/astro.cpp + ${ICU_VERSION_DIR}/source/i18n/basictz.cpp + ${ICU_VERSION_DIR}/source/i18n/bocsu.cpp + ${ICU_VERSION_DIR}/source/i18n/brktrans.cpp + ${ICU_VERSION_DIR}/source/i18n/buddhcal.cpp + ${ICU_VERSION_DIR}/source/i18n/calendar.cpp + ${ICU_VERSION_DIR}/source/i18n/casetrn.cpp + ${ICU_VERSION_DIR}/source/i18n/cecal.cpp + ${ICU_VERSION_DIR}/source/i18n/chnsecal.cpp + ${ICU_VERSION_DIR}/source/i18n/choicfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/coleitr.cpp + ${ICU_VERSION_DIR}/source/i18n/collationbuilder.cpp + ${ICU_VERSION_DIR}/source/i18n/collationcompare.cpp + ${ICU_VERSION_DIR}/source/i18n/collation.cpp + ${ICU_VERSION_DIR}/source/i18n/collationdatabuilder.cpp + ${ICU_VERSION_DIR}/source/i18n/collationdata.cpp + ${ICU_VERSION_DIR}/source/i18n/collationdatareader.cpp + ${ICU_VERSION_DIR}/source/i18n/collationdatawriter.cpp + ${ICU_VERSION_DIR}/source/i18n/collationfastlatinbuilder.cpp + ${ICU_VERSION_DIR}/source/i18n/collationfastlatin.cpp + ${ICU_VERSION_DIR}/source/i18n/collationfcd.cpp + ${ICU_VERSION_DIR}/source/i18n/collationiterator.cpp + ${ICU_VERSION_DIR}/source/i18n/collationkeys.cpp + ${ICU_VERSION_DIR}/source/i18n/collationroot.cpp + ${ICU_VERSION_DIR}/source/i18n/collationrootelements.cpp + ${ICU_VERSION_DIR}/source/i18n/collationruleparser.cpp + ${ICU_VERSION_DIR}/source/i18n/collationsets.cpp + ${ICU_VERSION_DIR}/source/i18n/collationsettings.cpp + ${ICU_VERSION_DIR}/source/i18n/collationtailoring.cpp + ${ICU_VERSION_DIR}/source/i18n/collationweights.cpp + ${ICU_VERSION_DIR}/source/i18n/coll.cpp + ${ICU_VERSION_DIR}/source/i18n/compactdecimalformat.cpp + ${ICU_VERSION_DIR}/source/i18n/coptccal.cpp + ${ICU_VERSION_DIR}/source/i18n/cpdtrans.cpp + ${ICU_VERSION_DIR}/source/i18n/csdetect.cpp + ${ICU_VERSION_DIR}/source/i18n/csmatch.cpp + ${ICU_VERSION_DIR}/source/i18n/csr2022.cpp + ${ICU_VERSION_DIR}/source/i18n/csrecog.cpp + ${ICU_VERSION_DIR}/source/i18n/csrmbcs.cpp + ${ICU_VERSION_DIR}/source/i18n/csrsbcs.cpp + ${ICU_VERSION_DIR}/source/i18n/csrucode.cpp + ${ICU_VERSION_DIR}/source/i18n/csrutf8.cpp + ${ICU_VERSION_DIR}/source/i18n/curramt.cpp + ${ICU_VERSION_DIR}/source/i18n/currfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/currpinf.cpp + ${ICU_VERSION_DIR}/source/i18n/currunit.cpp + ${ICU_VERSION_DIR}/source/i18n/dangical.cpp + ${ICU_VERSION_DIR}/source/i18n/datefmt.cpp + ${ICU_VERSION_DIR}/source/i18n/dayperiodrules.cpp + ${ICU_VERSION_DIR}/source/i18n/dcfmtsym.cpp + ${ICU_VERSION_DIR}/source/i18n/decContext.cpp + ${ICU_VERSION_DIR}/source/i18n/decimfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/decNumber.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-bignum.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-bignum-dtoa.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-cached-powers.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-double-to-string.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-fast-dtoa.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-string-to-double.cpp + ${ICU_VERSION_DIR}/source/i18n/double-conversion-strtod.cpp + ${ICU_VERSION_DIR}/source/i18n/dtfmtsym.cpp + ${ICU_VERSION_DIR}/source/i18n/dtitvfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/dtitvinf.cpp + ${ICU_VERSION_DIR}/source/i18n/dtptngen.cpp + ${ICU_VERSION_DIR}/source/i18n/dtrule.cpp + ${ICU_VERSION_DIR}/source/i18n/erarules.cpp + ${ICU_VERSION_DIR}/source/i18n/esctrn.cpp + ${ICU_VERSION_DIR}/source/i18n/ethpccal.cpp + ${ICU_VERSION_DIR}/source/i18n/fmtable_cnv.cpp + ${ICU_VERSION_DIR}/source/i18n/fmtable.cpp + ${ICU_VERSION_DIR}/source/i18n/format.cpp + ${ICU_VERSION_DIR}/source/i18n/formatted_string_builder.cpp + ${ICU_VERSION_DIR}/source/i18n/formattedval_iterimpl.cpp + ${ICU_VERSION_DIR}/source/i18n/formattedval_sbimpl.cpp + ${ICU_VERSION_DIR}/source/i18n/formattedvalue.cpp + ${ICU_VERSION_DIR}/source/i18n/fphdlimp.cpp + ${ICU_VERSION_DIR}/source/i18n/fpositer.cpp + ${ICU_VERSION_DIR}/source/i18n/funcrepl.cpp + ${ICU_VERSION_DIR}/source/i18n/gender.cpp + ${ICU_VERSION_DIR}/source/i18n/gregocal.cpp + ${ICU_VERSION_DIR}/source/i18n/gregoimp.cpp + ${ICU_VERSION_DIR}/source/i18n/hebrwcal.cpp + ${ICU_VERSION_DIR}/source/i18n/indiancal.cpp + ${ICU_VERSION_DIR}/source/i18n/inputext.cpp + ${ICU_VERSION_DIR}/source/i18n/islamcal.cpp + ${ICU_VERSION_DIR}/source/i18n/japancal.cpp + ${ICU_VERSION_DIR}/source/i18n/listformatter.cpp + ${ICU_VERSION_DIR}/source/i18n/measfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/measunit.cpp + ${ICU_VERSION_DIR}/source/i18n/measunit_extra.cpp + ${ICU_VERSION_DIR}/source/i18n/measure.cpp + ${ICU_VERSION_DIR}/source/i18n/msgfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/name2uni.cpp + ${ICU_VERSION_DIR}/source/i18n/nfrs.cpp + ${ICU_VERSION_DIR}/source/i18n/nfrule.cpp + ${ICU_VERSION_DIR}/source/i18n/nfsubs.cpp + ${ICU_VERSION_DIR}/source/i18n/nortrans.cpp + ${ICU_VERSION_DIR}/source/i18n/nultrans.cpp + ${ICU_VERSION_DIR}/source/i18n/number_affixutils.cpp + ${ICU_VERSION_DIR}/source/i18n/number_asformat.cpp + ${ICU_VERSION_DIR}/source/i18n/number_capi.cpp + ${ICU_VERSION_DIR}/source/i18n/number_compact.cpp + ${ICU_VERSION_DIR}/source/i18n/number_currencysymbols.cpp + ${ICU_VERSION_DIR}/source/i18n/number_decimalquantity.cpp + ${ICU_VERSION_DIR}/source/i18n/number_decimfmtprops.cpp + ${ICU_VERSION_DIR}/source/i18n/number_fluent.cpp + ${ICU_VERSION_DIR}/source/i18n/number_formatimpl.cpp + ${ICU_VERSION_DIR}/source/i18n/number_grouping.cpp + ${ICU_VERSION_DIR}/source/i18n/number_integerwidth.cpp + ${ICU_VERSION_DIR}/source/i18n/number_longnames.cpp + ${ICU_VERSION_DIR}/source/i18n/number_mapper.cpp + ${ICU_VERSION_DIR}/source/i18n/number_modifiers.cpp + ${ICU_VERSION_DIR}/source/i18n/number_multiplier.cpp + ${ICU_VERSION_DIR}/source/i18n/number_notation.cpp + ${ICU_VERSION_DIR}/source/i18n/number_output.cpp + ${ICU_VERSION_DIR}/source/i18n/number_padding.cpp + ${ICU_VERSION_DIR}/source/i18n/number_patternmodifier.cpp + ${ICU_VERSION_DIR}/source/i18n/number_patternstring.cpp + ${ICU_VERSION_DIR}/source/i18n/number_rounding.cpp + ${ICU_VERSION_DIR}/source/i18n/number_scientific.cpp + ${ICU_VERSION_DIR}/source/i18n/number_skeletons.cpp + ${ICU_VERSION_DIR}/source/i18n/number_symbolswrapper.cpp + ${ICU_VERSION_DIR}/source/i18n/number_usageprefs.cpp + ${ICU_VERSION_DIR}/source/i18n/number_utils.cpp + ${ICU_VERSION_DIR}/source/i18n/numfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_affixes.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_compositions.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_currency.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_decimal.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_impl.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_parsednumber.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_scientific.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_symbols.cpp + ${ICU_VERSION_DIR}/source/i18n/numparse_validators.cpp + ${ICU_VERSION_DIR}/source/i18n/numrange_capi.cpp + ${ICU_VERSION_DIR}/source/i18n/numrange_fluent.cpp + ${ICU_VERSION_DIR}/source/i18n/numrange_impl.cpp + ${ICU_VERSION_DIR}/source/i18n/numsys.cpp + ${ICU_VERSION_DIR}/source/i18n/olsontz.cpp + ${ICU_VERSION_DIR}/source/i18n/persncal.cpp + ${ICU_VERSION_DIR}/source/i18n/pluralranges.cpp + ${ICU_VERSION_DIR}/source/i18n/plurfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/plurrule.cpp + ${ICU_VERSION_DIR}/source/i18n/quant.cpp + ${ICU_VERSION_DIR}/source/i18n/quantityformatter.cpp + ${ICU_VERSION_DIR}/source/i18n/rbnf.cpp + ${ICU_VERSION_DIR}/source/i18n/rbt.cpp + ${ICU_VERSION_DIR}/source/i18n/rbt_data.cpp + ${ICU_VERSION_DIR}/source/i18n/rbt_pars.cpp + ${ICU_VERSION_DIR}/source/i18n/rbt_rule.cpp + ${ICU_VERSION_DIR}/source/i18n/rbt_set.cpp + ${ICU_VERSION_DIR}/source/i18n/rbtz.cpp + ${ICU_VERSION_DIR}/source/i18n/regexcmp.cpp + ${ICU_VERSION_DIR}/source/i18n/regeximp.cpp + ${ICU_VERSION_DIR}/source/i18n/regexst.cpp + ${ICU_VERSION_DIR}/source/i18n/regextxt.cpp + ${ICU_VERSION_DIR}/source/i18n/region.cpp + ${ICU_VERSION_DIR}/source/i18n/reldatefmt.cpp + ${ICU_VERSION_DIR}/source/i18n/reldtfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/rematch.cpp + ${ICU_VERSION_DIR}/source/i18n/remtrans.cpp + ${ICU_VERSION_DIR}/source/i18n/repattrn.cpp + ${ICU_VERSION_DIR}/source/i18n/rulebasedcollator.cpp + ${ICU_VERSION_DIR}/source/i18n/scientificnumberformatter.cpp + ${ICU_VERSION_DIR}/source/i18n/scriptset.cpp + ${ICU_VERSION_DIR}/source/i18n/search.cpp + ${ICU_VERSION_DIR}/source/i18n/selfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/sharedbreakiterator.cpp + ${ICU_VERSION_DIR}/source/i18n/simpletz.cpp + ${ICU_VERSION_DIR}/source/i18n/smpdtfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/smpdtfst.cpp + ${ICU_VERSION_DIR}/source/i18n/sortkey.cpp + ${ICU_VERSION_DIR}/source/i18n/standardplural.cpp + ${ICU_VERSION_DIR}/source/i18n/string_segment.cpp + ${ICU_VERSION_DIR}/source/i18n/strmatch.cpp + ${ICU_VERSION_DIR}/source/i18n/strrepl.cpp + ${ICU_VERSION_DIR}/source/i18n/stsearch.cpp + ${ICU_VERSION_DIR}/source/i18n/taiwncal.cpp + ${ICU_VERSION_DIR}/source/i18n/timezone.cpp + ${ICU_VERSION_DIR}/source/i18n/titletrn.cpp + ${ICU_VERSION_DIR}/source/i18n/tmunit.cpp + ${ICU_VERSION_DIR}/source/i18n/tmutamt.cpp + ${ICU_VERSION_DIR}/source/i18n/tmutfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/tolowtrn.cpp + ${ICU_VERSION_DIR}/source/i18n/toupptrn.cpp + ${ICU_VERSION_DIR}/source/i18n/translit.cpp + ${ICU_VERSION_DIR}/source/i18n/transreg.cpp + ${ICU_VERSION_DIR}/source/i18n/tridpars.cpp + ${ICU_VERSION_DIR}/source/i18n/tzfmt.cpp + ${ICU_VERSION_DIR}/source/i18n/tzgnames.cpp + ${ICU_VERSION_DIR}/source/i18n/tznames.cpp + ${ICU_VERSION_DIR}/source/i18n/tznames_impl.cpp + ${ICU_VERSION_DIR}/source/i18n/tzrule.cpp + ${ICU_VERSION_DIR}/source/i18n/tztrans.cpp + ${ICU_VERSION_DIR}/source/i18n/ucal.cpp + ${ICU_VERSION_DIR}/source/i18n/ucln_in.cpp + ${ICU_VERSION_DIR}/source/i18n/ucol.cpp + ${ICU_VERSION_DIR}/source/i18n/ucoleitr.cpp + ${ICU_VERSION_DIR}/source/i18n/ucol_res.cpp + ${ICU_VERSION_DIR}/source/i18n/ucol_sit.cpp + ${ICU_VERSION_DIR}/source/i18n/ucsdet.cpp + ${ICU_VERSION_DIR}/source/i18n/udat.cpp + ${ICU_VERSION_DIR}/source/i18n/udateintervalformat.cpp + ${ICU_VERSION_DIR}/source/i18n/udatpg.cpp + ${ICU_VERSION_DIR}/source/i18n/ufieldpositer.cpp + ${ICU_VERSION_DIR}/source/i18n/uitercollationiterator.cpp + ${ICU_VERSION_DIR}/source/i18n/ulistformatter.cpp + ${ICU_VERSION_DIR}/source/i18n/ulocdata.cpp + ${ICU_VERSION_DIR}/source/i18n/umsg.cpp + ${ICU_VERSION_DIR}/source/i18n/unesctrn.cpp + ${ICU_VERSION_DIR}/source/i18n/uni2name.cpp + ${ICU_VERSION_DIR}/source/i18n/units_complexconverter.cpp + ${ICU_VERSION_DIR}/source/i18n/units_converter.cpp + ${ICU_VERSION_DIR}/source/i18n/units_data.cpp + ${ICU_VERSION_DIR}/source/i18n/units_router.cpp + ${ICU_VERSION_DIR}/source/i18n/unum.cpp + ${ICU_VERSION_DIR}/source/i18n/unumsys.cpp + ${ICU_VERSION_DIR}/source/i18n/upluralrules.cpp + ${ICU_VERSION_DIR}/source/i18n/uregexc.cpp + ${ICU_VERSION_DIR}/source/i18n/uregex.cpp + ${ICU_VERSION_DIR}/source/i18n/uregion.cpp + ${ICU_VERSION_DIR}/source/i18n/usearch.cpp + ${ICU_VERSION_DIR}/source/i18n/uspoof_build.cpp + ${ICU_VERSION_DIR}/source/i18n/uspoof_conf.cpp + ${ICU_VERSION_DIR}/source/i18n/uspoof.cpp + ${ICU_VERSION_DIR}/source/i18n/uspoof_impl.cpp + ${ICU_VERSION_DIR}/source/i18n/utf16collationiterator.cpp + ${ICU_VERSION_DIR}/source/i18n/utf8collationiterator.cpp + ${ICU_VERSION_DIR}/source/i18n/utmscale.cpp + ${ICU_VERSION_DIR}/source/i18n/utrans.cpp + ${ICU_VERSION_DIR}/source/i18n/vtzone.cpp + ${ICU_VERSION_DIR}/source/i18n/vzone.cpp + ${ICU_VERSION_DIR}/source/i18n/zonemeta.cpp + ${ICU_VERSION_DIR}/source/i18n/zrule.cpp + ${ICU_VERSION_DIR}/source/i18n/ztrans.cpp +) + +ADD_LIBRARY(icuuc STATIC ${ICU_COMMON_SOURCES}) +TARGET_COMPILE_DEFINITIONS(icuuc PRIVATE -DU_COMMON_IMPLEMENTATION) +TARGET_INCLUDE_DIRECTORIES(icuuc PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/${ICU_VERSION_DIR}/source/common" +) + +ADD_LIBRARY(icui18n STATIC ${ICU_I18N_SOURCES}) +TARGET_COMPILE_DEFINITIONS(icui18n PRIVATE -DU_I18N_IMPLEMENTATION) +TARGET_INCLUDE_DIRECTORIES(icui18n PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/${ICU_VERSION_DIR}/source/common" + "${CMAKE_CURRENT_SOURCE_DIR}/${ICU_VERSION_DIR}/source/i18n" + ) + +ADD_LIBRARY(icustubdata STATIC + ${ICU_VERSION_DIR}/source/stubdata/stubdata.cpp) +TARGET_INCLUDE_DIRECTORIES(icustubdata PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/${ICU_VERSION_DIR}/source/common" + ) + +TARGET_COMPILE_OPTIONS(icuuc PRIVATE ${ICU_LINUX_COMPILE_OPTIONS}) +TARGET_COMPILE_OPTIONS(icui18n PRIVATE ${ICU_LINUX_COMPILE_OPTIONS}) +TARGET_COMPILE_OPTIONS(icustubdata PRIVATE ${ICU_LINUX_COMPILE_OPTIONS}) + +IF(MY_COMPILER_IS_GNU_OR_CLANG) + ADD_COMPILE_FLAGS( + ${ICU_VERSION_DIR}/source/common/uidna.cpp COMPILE_FLAGS "-Wno-deprecated-declarations") +ENDIF() + +ADD_CUSTOM_TARGET(icu_all) +ADD_DEPENDENCIES(icu_all icuuc icui18n icustubdata) + + +install(DIRECTORY ${CMAKE_SOURCE_DIR}/${ICU_VERSION_DIR}/source/common/unicode/ + DESTINATION include/unicode + PATTERN "*.h") + +install(DIRECTORY ${CMAKE_SOURCE_DIR}/${ICU_VERSION_DIR}/source/common/ + DESTINATION include/ + PATTERN "*.h") + +install(TARGETS icuuc icui18n icustubdata + DESTINATION lib) diff --git a/aliyun-oss-c-sdk-3.9.2.tar.gz b/aliyun-oss-c-sdk-3.9.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..9c3f59d676c44405e7ff22869c6dcffba43d1e05 Binary files /dev/null and b/aliyun-oss-c-sdk-3.9.2.tar.gz differ diff --git a/apr-1.6.5.tar.gz b/apr-1.6.5.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b8877c1cf1669b419139ab1ef5b42e36beb0793c Binary files /dev/null and b/apr-1.6.5.tar.gz differ diff --git a/apr-1.7.4.tar.gz b/apr-1.7.4.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..8d2e21d4af2cacd289f93237cca5a6c5cb3d04ad Binary files /dev/null and b/apr-1.7.4.tar.gz differ diff --git a/apr-util-1.6.1.tar.gz b/apr-util-1.6.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..e1d254ca70074b761e66fff737cda260fe18b274 Binary files /dev/null and b/apr-util-1.6.1.tar.gz differ diff --git a/apr-util-1.6.3.tar.gz b/apr-util-1.6.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7c08c9156621da21e2a7fb8a45f127ce33663167 Binary files /dev/null and b/apr-util-1.6.3.tar.gz differ diff --git a/apr_build.sh b/apr_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..e83a21b8d30634b55c847894ed8c4c91f05cdcde --- /dev/null +++ b/apr_build.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +export CFLAGS=-fPIC +rm -rf apr-1.6.5 +tar -xf apr-1.6.5.tar.gz +cd apr-1.6.5 +mkdir -p build +cd build +../configure --prefix=$PREFIX +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install + +cd $CUR_DIR +rm -rf apr-util-1.6.1 +tar -xf apr-util-1.6.1.tar.gz +cd apr-util-1.6.1 +mkdir -p build +cd build +../configure --prefix=$PREFIX --with-apr=$PREFIX +make -j${CPU_CORES} +make install diff --git a/aws-sdk-cpp-1.11.156.tar.gz b/aws-sdk-cpp-1.11.156.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1dc055218d718057142d0b087ad08bb71ee9fbae Binary files /dev/null and b/aws-sdk-cpp-1.11.156.tar.gz differ diff --git a/binutils-2.30.tar.bz2 b/binutils-2.30.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..9bbe52758d123de00bce46d7c657d10aad97bf38 Binary files /dev/null and b/binutils-2.30.tar.bz2 differ diff --git a/binutils_build.sh b/binutils_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..cd71575e5649d63a0b1a1951480f682919d3ccf3 --- /dev/null +++ b/binutils_build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +rm -rf binutils-2.30 +tar -xf binutils-2.30.tar.bz2 +cd binutils-2.30 +mkdir -p build +cd build +../configure --prefix=$PREFIX +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/bison-2.4.1.tar.bz2 b/bison-2.4.1.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..139080df704911bfef00f078033b4c959f52c831 Binary files /dev/null and b/bison-2.4.1.tar.bz2 differ diff --git a/bison_build.sh b/bison_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..aefaebc354378a3a072ad5a319ca686a8d32641b --- /dev/null +++ b/bison_build.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +BUILD_OPTION='' +OS_ARCH="$(uname -m)" +if [ "${OS_ARCH}x" = "sw_64x" ]; then + BUILD_OPTION='--build=sw_64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "aarch64x" ]; then + BUILD_OPTION='--build=aarch64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "ppc64lex" ]; then + BUILD_OPTION='--build=ppc64le' +fi + +rm -rf bison-2.4.1 +tar -xf bison-2.4.1.tar.bz2 +cd bison-2.4.1 + +mkdir -p build +cd build +../configure --prefix=$PREFIX ${BUILD_OPTION} +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/boost_1_74_0.tar.bz2 b/boost_1_74_0.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..6267038c609fc972b69d2ed03b1dc958f4e6a96d Binary files /dev/null and b/boost_1_74_0.tar.bz2 differ diff --git a/boost_build.sh b/boost_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..fac4830f2d09ab95fcfdb3aecb4164d29d95f070 --- /dev/null +++ b/boost_build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +rm -rf boost_1_74_0 +tar -xf boost_1_74_0.tar.bz2 +cd boost_1_74_0 +source_dir=$(pwd) +mkdir -p ${source_dir}/build + +export PATH=$TOOLS_DIR/bin:$PATH; +export LD_LIBRARY_PATH=$TOOLS_DIR/lib:$TOOLS_DIR/lib64:$LD_LIBRARY_PATH +./bootstrap.sh --prefix=${RPM_BUILD_ROOT}/%{_prefix} --with-libraries=system,thread +./b2 cxxflags=-fPIC cflags=-fPIC -a stage --stagedir=${source_dir}/build variant=release threading=multi link=static +mkdir -p $PREFIX/lib +cp -r ${source_dir}/build/lib/*.a $PREFIX/lib + +# install geometry files +./b2 tools/bcp +mkdir -p $PREFIX/include +./dist/bin/bcp boost/geometry.hpp boost/geometry.hpp boost/geometry \ +boost/spirit/include/qi.hpp boost/spirit/include/phoenix.hpp boost/bind/bind.hpp boost/fusion/include/adapt_struct.hpp \ +boost/lambda/lambda.hpp $PREFIX/include +cd $PREFIX/include +# delete unnecessary files +rm -rf Jamroot +rm -rf libs diff --git a/ccache-3.7.12.tar.gz b/ccache-3.7.12.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f4f129fa865a6143fdde7de5d4b57f258fcd65a0 Binary files /dev/null and b/ccache-3.7.12.tar.gz differ diff --git a/ccache_build.sh b/ccache_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..1ea4aa6aa8f4088c76b0d3b719c0b375b6ee7785 --- /dev/null +++ b/ccache_build.sh @@ -0,0 +1,22 @@ +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +BUILD_OPTION='' +OS_ARCH="$(uname -m)" +if [ "${OS_ARCH}x" = "sw_64x" ]; then + BUILD_OPTION='--build=sw_64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "aarch64x" ]; then + BUILD_OPTION='--build=aarch64-unknown-linux-gnu' +fi + +rm -rf ccache-3.7.12 +tar -xf ccache-3.7.12.tar.gz +cd ccache-3.7.12 +mkdir build +cd build +../configure --prefix=$PREFIX --disable-man ${BUILD_OPTION} +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install diff --git a/clang-11.0.1.src.tar.xz b/clang-11.0.1.src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..438bdcf534aeb6073c21d3ab3e69f376c9542c2b Binary files /dev/null and b/clang-11.0.1.src.tar.xz differ diff --git a/cmake-3.22.1.tar.gz b/cmake-3.22.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c2b82cae487f0ee2700df23dce1ba57bfefd1eb8 Binary files /dev/null and b/cmake-3.22.1.tar.gz differ diff --git a/cmake_build.sh b/cmake_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..2edd2ae37e3aa5530010464b9bcacf2ea86eb7d7 --- /dev/null +++ b/cmake_build.sh @@ -0,0 +1,14 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +tar -xf cmake-3.22.1.tar.gz +cd cmake-3.22.1 + +./bootstrap --prefix=$PREFIX -- -DCMAKE_USE_OPENSSL=OFF +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/compiler-rt-11.0.1.src.tar.xz b/compiler-rt-11.0.1.src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..7c3f14902455ee1568c4b4560d1951b9a201d1ed Binary files /dev/null and b/compiler-rt-11.0.1.src.tar.xz differ diff --git a/cos-c-sdk-5.0.16.tar.gz b/cos-c-sdk-5.0.16.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..aabb207190aec0f6c93b7e2f3517852fdcc6b3dd Binary files /dev/null and b/cos-c-sdk-5.0.16.tar.gz differ diff --git a/cos_build.sh b/cos_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..8007053eff97ebc32443b5c0661c60a0c3b82f80 --- /dev/null +++ b/cos_build.sh @@ -0,0 +1,79 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +export PATH=$TOOLS_DIR/bin:$PATH + +TMP_DIR=$CUR_DIR/cos_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +TMP_PRODUCT_DIR=$TMP_DIR/product +mkdir -p $TMP_PRODUCT_DIR + +TMP_THIRD_DIR=$TMP_DIR/third +mkdir -p $TMP_THIRD_DIR + +cd $CUR_DIR +rm -rf curl-8.1.2 +tar -zxvf curl-8.1.2.tar.gz +cd curl-8.1.2 +./configure --prefix=$TMP_THIRD_DIR --without-ssl +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} + +cd $CUR_DIR +rm -rf expat-2.6.2 +tar -zxvf expat-2.6.2.tar.gz +cd expat-2.6.2 +./configure --prefix=$TMP_THIRD_DIR +make -j${CPU_CORES} +make install + +APR_PATH=$TOOLS_DIR/usr/local/apr/ +mkdir -p $APR_PATH +export PATH=$APR_PATH/bin:$PATH + +cd $CUR_DIR +rm -rf apr-1.7.4 +tar -zxvf apr-1.7.4.tar.gz +cd apr-1.7.4 +./configure --prefix=$APR_PATH +make -j${CPU_CORES} +make install + +cd $CUR_DIR +rm -rf apr-util-1.6.3 +tar -zxvf apr-util-1.6.3.tar.gz +cd apr-util-1.6.3 +./configure --with-apr=$APR_PATH/bin/apr-1-config --prefix=$APR_PATH +make -j${CPU_CORES} +make install + +MXML_PATH=$TOOLS_DIR/usr/local/ +mkdir -p $MXML_PATH +cd $CUR_DIR +rm -rf mxml-3.3 +tar -zxvf mxml-3.3.tar.gz +cd mxml-3.3 +./configure --prefix=$MXML_PATH +make -j${CPU_CORES} +make install + +cd $CUR_DIR +rm -rf cos-c-sdk-5.0.16 +tar -xzvf cos-c-sdk-5.0.16.tar.gz +cd cos-c-sdk-5.0.16 +git apply ../cos_diff.patch +mkdir -p build +cd build +cmake -DMINIXML_INCLUDE_DIR=$MXML_PATH/include .. +make -j${CPU_CORES} +make install DESTDIR=$TMP_PRODUCT_DIR + +cp -rf $TMP_PRODUCT_DIR/usr/local/* $PREFIX + diff --git a/cos_diff.patch b/cos_diff.patch new file mode 100644 index 0000000000000000000000000000000000000000..d75faa3ddfe26bda65cc9d9913baec34dcb084cd --- /dev/null +++ b/cos_diff.patch @@ -0,0 +1,21 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 635f506..07f3fd6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -94,6 +94,7 @@ aux_source_directory(cos_c_sdk SRC_LIST) + + add_library(${CMAKE_PROJECT_NAME} SHARED ${SRC_LIST}) + add_library(${CMAKE_PROJECT_NAME}_static STATIC ${SRC_LIST}) ++target_compile_options(${CMAKE_PROJECT_NAME}_static PRIVATE -fvisibility=hidden -Wno-unused-parameter -Wno-type-limits) + + set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES VERSION ${CMAKE_VERSION} SOVERSION ${CMAKE_VERSION}) + +@@ -121,4 +122,4 @@ INSTALL(FILES + cos_c_sdk/cos_xml.h + DESTINATION include/cos_c_sdk) + +-add_subdirectory(cos_c_sdk_test) ++#add_subdirectory(cos_c_sdk_test) +-- +2.17.0 + diff --git a/curl-7.29.0.tar.gz b/curl-7.29.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..22edd0f9117c70552a3b6e4b1bf243a51063a781 Binary files /dev/null and b/curl-7.29.0.tar.gz differ diff --git a/curl-8.1.2.tar.gz b/curl-8.1.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f4c028ef2a05ff8d80580d8fa79eed0462c704bf Binary files /dev/null and b/curl-8.1.2.tar.gz differ diff --git a/devdeps-relaxed-rapidjson-1.0.0.zip b/devdeps-relaxed-rapidjson-1.0.0.zip new file mode 100644 index 0000000000000000000000000000000000000000..c132c57d6805fcd04f86f22b29f5c29e7b7df502 Binary files /dev/null and b/devdeps-relaxed-rapidjson-1.0.0.zip differ diff --git a/devdeps-relaxed-rapidjson.diff b/devdeps-relaxed-rapidjson.diff new file mode 100644 index 0000000000000000000000000000000000000000..0dfeec7ddd8126e2a00238d9021dbd59c77feba2 --- /dev/null +++ b/devdeps-relaxed-rapidjson.diff @@ -0,0 +1,495 @@ +diff --git a/include/rapidjson/reader.h b/include/rapidjson/reader.h +index 5554660..80e4104 100644 +--- a/include/rapidjson/reader.h ++++ b/include/rapidjson/reader.h +@@ -155,6 +155,9 @@ enum ParseFlag { + kParseTrailingCommasFlag = 128, //!< Allow trailing commas at the end of objects and arrays. + kParseNanAndInfFlag = 256, //!< Allow parsing NaN, Inf, Infinity, -Inf and -Infinity as doubles. + kParseEscapedApostropheFlag = 512, //!< Allow escaped apostrophe in strings. ++ kParseObjectKeyNoQuotesFlag = 1024, //!< Allow without quotes in key of objects. ++ kParseIgnoreCaseForKeyword = 2048, //!< Allow ignore case in boolean/null input. ++ kParseRelaxNumberFlag = 4096, //!< Allow Numerals for relaxed JSON syntax . + kParseDefaultFlags = RAPIDJSON_PARSE_DEFAULT_FLAGS //!< Default parse flags. Can be customized by defining RAPIDJSON_PARSE_DEFAULT_FLAGS + }; + +@@ -754,8 +757,12 @@ private: + } + + for (SizeType memberCount = 0;;) { +- if (RAPIDJSON_UNLIKELY(is.Peek() != '"')) +- RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); ++ if (!(parseFlags & kParseObjectKeyNoQuotesFlag)) { ++ if (RAPIDJSON_UNLIKELY(is.Peek() != '"')) ++ RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); ++ } else if ((parseFlags & kParseObjectKeyNoQuotesFlag) && (RAPIDJSON_UNLIKELY(is.Peek() >= '0' && is.Peek() <= '9'))) { ++ RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissColon, is.Tell()); ++ } + + ParseString(is, handler, true); + RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; +@@ -854,41 +861,89 @@ private: + + template + void ParseNull(InputStream& is, Handler& handler) { +- RAPIDJSON_ASSERT(is.Peek() == 'n'); +- is.Take(); ++ if (parseFlags & kParseIgnoreCaseForKeyword) { ++ RAPIDJSON_ASSERT(is.Peek() == 'n' || is.Peek() == 'N'); ++ is.Take(); + +- if (RAPIDJSON_LIKELY(Consume(is, 'u') && Consume(is, 'l') && Consume(is, 'l'))) { +- if (RAPIDJSON_UNLIKELY(!handler.Null())) +- RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ if (RAPIDJSON_LIKELY(ConsumeIgnoreCase(is, 'u') && ConsumeIgnoreCase(is, 'l') && ConsumeIgnoreCase(is, 'l'))) { ++ if (RAPIDJSON_UNLIKELY(!handler.Null())) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else ++ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); ++ } ++ else { ++ RAPIDJSON_ASSERT(is.Peek() == 'n'); ++ is.Take(); ++ ++ if (RAPIDJSON_LIKELY(Consume(is, 'u') && Consume(is, 'l') && Consume(is, 'l'))) { ++ if (RAPIDJSON_UNLIKELY(!handler.Null())) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else ++ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); + } +- else +- RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); + } + + template + void ParseTrue(InputStream& is, Handler& handler) { +- RAPIDJSON_ASSERT(is.Peek() == 't'); +- is.Take(); ++ if (parseFlags & kParseIgnoreCaseForKeyword) { ++ RAPIDJSON_ASSERT(is.Peek() == 't' || is.Peek() == 'T'); ++ is.Take(); + +- if (RAPIDJSON_LIKELY(Consume(is, 'r') && Consume(is, 'u') && Consume(is, 'e'))) { +- if (RAPIDJSON_UNLIKELY(!handler.Bool(true))) +- RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ if (RAPIDJSON_LIKELY(ConsumeIgnoreCase(is, 'r') && ConsumeIgnoreCase(is, 'u') && ConsumeIgnoreCase(is, 'e'))) { ++ if (RAPIDJSON_UNLIKELY(!handler.Bool(true))) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else ++ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); ++ } else { ++ RAPIDJSON_ASSERT(is.Peek() == 't'); ++ is.Take(); ++ ++ if (RAPIDJSON_LIKELY(Consume(is, 'r') && Consume(is, 'u') && Consume(is, 'e'))) { ++ if (RAPIDJSON_UNLIKELY(!handler.Bool(true))) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else ++ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); + } +- else +- RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); + } + + template + void ParseFalse(InputStream& is, Handler& handler) { +- RAPIDJSON_ASSERT(is.Peek() == 'f'); +- is.Take(); ++ if (parseFlags & kParseIgnoreCaseForKeyword) { ++ RAPIDJSON_ASSERT(is.Peek() == 'f' || is.Peek() == 'F'); ++ is.Take(); + +- if (RAPIDJSON_LIKELY(Consume(is, 'a') && Consume(is, 'l') && Consume(is, 's') && Consume(is, 'e'))) { +- if (RAPIDJSON_UNLIKELY(!handler.Bool(false))) +- RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ if (RAPIDJSON_LIKELY(ConsumeIgnoreCase(is, 'a') && ConsumeIgnoreCase(is, 'l') && ConsumeIgnoreCase(is, 's') && ConsumeIgnoreCase(is, 'e'))) { ++ if (RAPIDJSON_UNLIKELY(!handler.Bool(false))) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else ++ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); ++ } else { ++ RAPIDJSON_ASSERT(is.Peek() == 'f'); ++ is.Take(); ++ ++ if (RAPIDJSON_LIKELY(Consume(is, 'a') && Consume(is, 'l') && Consume(is, 's') && Consume(is, 'e'))) { ++ if (RAPIDJSON_UNLIKELY(!handler.Bool(false))) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else ++ RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); ++ } ++ ++ } ++ ++ template ++ RAPIDJSON_FORCEINLINE static bool ConsumeIgnoreCase(InputStream& is, typename InputStream::Ch expect) { ++ if (RAPIDJSON_LIKELY(is.Peek() == expect || is.Peek() == expect - 'a' + 'A')) { ++ is.Take(); ++ return true; + } + else +- RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, is.Tell()); ++ return false; + } + + template +@@ -960,13 +1015,22 @@ private: + internal::StreamLocalCopy copy(is); + InputStream& s(copy.s); + +- RAPIDJSON_ASSERT(s.Peek() == '\"'); +- s.Take(); // Skip '\"' ++ bool has_quote = false; ++ if ((parseFlags & kParseObjectKeyNoQuotesFlag) && isKey) { ++ if (s.Peek() == '\"') { ++ s.Take(); // Skip '\"' ++ has_quote = true; ++ } ++ } else { ++ RAPIDJSON_ASSERT(s.Peek() == '\"'); ++ s.Take(); // Skip '\"' ++ has_quote = true; ++ } + + bool success = false; + if (parseFlags & kParseInsituFlag) { + typename InputStream::Ch *head = s.PutBegin(); +- ParseStringToStream(s, s); ++ ParseStringToStream(s, s, has_quote, isKey); + RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; + size_t length = s.PutEnd(head) - 1; + RAPIDJSON_ASSERT(length <= 0xFFFFFFFF); +@@ -975,10 +1039,11 @@ private: + } + else { + StackStream stackStream(stack_); +- ParseStringToStream(s, stackStream); ++ ParseStringToStream(s, stackStream, has_quote, isKey); + RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; + SizeType length = static_cast(stackStream.Length()) - 1; + const typename TargetEncoding::Ch* const str = stackStream.Pop(); ++ RAPIDJSON_PARSE_ERROR_EARLY_RETURN_VOID; + success = (isKey ? handler.Key(str, length, true) : handler.String(str, length, true)); + } + if (RAPIDJSON_UNLIKELY(!success)) +@@ -988,9 +1053,10 @@ private: + // Parse string to an output is + // This function handles the prefix/suffix double quotes, escaping, and optional encoding validation. + template +- RAPIDJSON_FORCEINLINE void ParseStringToStream(InputStream& is, OutputStream& os) { ++ RAPIDJSON_FORCEINLINE void ParseStringToStream(InputStream& is, OutputStream& os, bool has_quote = true, bool isKey = true) { + //!@cond RAPIDJSON_HIDDEN_FROM_DOXYGEN + #define Z16 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 ++#define Z8 0,0,0,0,0,0,0,0 + static const char escape[256] = { + Z16, Z16, 0, 0,'\"', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '/', + Z16, Z16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,'\\', 0, 0, 0, +@@ -998,16 +1064,32 @@ private: + 0, 0,'\r', 0,'\t', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16 + }; ++ ++ static const bool illegalKeyNoQuotes[256] = { ++ Z16, Z16, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, ++ 1, 1, Z8, 0, 0, 1, 1, 1, 1, 1, 1, 1, Z16, Z8, 0, 0, ++ 1, 1, 1, 1, 0, 1, Z16, Z8, 0, 0, 1, 1, 1, 0, 0, ++ Z16, Z16, Z16, Z16, Z16, Z16, Z16, Z16 ++ }; + #undef Z16 ++#undef Z8 + //!@endcond +- ++ if ((parseFlags & kParseObjectKeyNoQuotesFlag) && ++ !has_quote && ++ RAPIDJSON_UNLIKELY(illegalKeyNoQuotes[static_cast(is.Peek())])) { ++ RAPIDJSON_PARSE_ERROR(kParseErrorObjectMissName, is.Tell()); ++ } + for (;;) { + // Scan and copy string before "\\\"" or < 0x20. This is an optional optimzation. + if (!(parseFlags & kParseValidateEncodingFlag)) + ScanCopyUnescapedString(is, os); + + Ch c = is.Peek(); +- if (RAPIDJSON_UNLIKELY(c == '\\')) { // Escape ++ if ((parseFlags & kParseObjectKeyNoQuotesFlag) && !has_quote && RAPIDJSON_UNLIKELY(c == '\\')) { ++ // Escape sequences are not allowed in an object field that is not quoted ++ RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, is.Tell()); ++ } ++ else if (has_quote && RAPIDJSON_UNLIKELY(c == '\\')) { // Escape + size_t escapeOffset = is.Tell(); // For invalid escaping, report the initial '\\' as error offset + is.Take(); + Ch e = is.Peek(); +@@ -1046,11 +1128,38 @@ private: + else + RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, escapeOffset); + } ++ else if ((parseFlags & kParseObjectKeyNoQuotesFlag) && ++ !has_quote && ++ RAPIDJSON_UNLIKELY(c == '"')) { // Closing double quote is unexpected without quote before ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } else if ((parseFlags & kParseObjectKeyNoQuotesFlag) && ++ !isKey && ++ RAPIDJSON_UNLIKELY(c == '\t')) { ++ RAPIDJSON_PARSE_ERROR(kParseErrorStringEscapeInvalid, is.Tell()); ++ } + else if (RAPIDJSON_UNLIKELY(c == '"')) { // Closing double quote + is.Take(); + os.Put('\0'); // null-terminate the string + return; + } ++ else if ((parseFlags & kParseObjectKeyNoQuotesFlag) && ++ !has_quote && ++ RAPIDJSON_UNLIKELY(c == ':')) { // End of key ++ os.Put('\0'); // null-terminate the string ++ return; ++ } ++ else if ((parseFlags & kParseObjectKeyNoQuotesFlag) && ++ !has_quote && ++ (RAPIDJSON_UNLIKELY(c == ' '))) { ++ SkipWhitespace(is); ++ if (RAPIDJSON_UNLIKELY(is.Peek() != ':')) ++ RAPIDJSON_PARSE_ERROR(kParseErrorTermination, is.Tell()); ++ } ++ else if ((parseFlags & kParseObjectKeyNoQuotesFlag) && ++ !has_quote && ++ RAPIDJSON_UNLIKELY(illegalKeyNoQuotes[static_cast(c)])) { ++ RAPIDJSON_PARSE_ERROR(kParseErrorStringInvalidEncoding, is.Tell()); ++ } + else if (RAPIDJSON_UNLIKELY(static_cast(c) < 0x20)) { // RFC 4627: unescaped = %x20-21 / %x23-5B / %x5D-10FFFF + if (c == '\0') + RAPIDJSON_PARSE_ERROR(kParseErrorStringMissQuotationMark, is.Tell()); +@@ -1481,13 +1590,28 @@ private: + bool useNanOrInf = false; + + // Parse minus +- bool minus = Consume(s, '-'); ++ bool minus = false; ++ if (RAPIDJSON_LIKELY(s.Peek() == '-')) { ++ s.Take(); ++ minus = true; ++ } ++ else if ((parseFlags & kParseRelaxNumberFlag) && s.Peek() == '+') { ++ s.Take(); ++ } + + // Parse int: zero / ( digit1-9 *DIGIT ) + unsigned i = 0; + uint64_t i64 = 0; + bool use64bit = false; + int significandDigit = 0; ++ bool skip_zero = false; // deal 0000/ multi zero ++ if ((parseFlags & kParseRelaxNumberFlag)) { ++ while (RAPIDJSON_UNLIKELY(s.Peek() == '0')) { ++ skip_zero = true; ++ s.TakePush(); ++ } ++ } ++ + if (RAPIDJSON_UNLIKELY(s.Peek() == '0')) { + i = 0; + s.TakePush(); +@@ -1544,6 +1668,21 @@ private: + RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); + } + } ++ else if ((parseFlags & kParseRelaxNumberFlag) && ++ (s.Peek() == '.' ++ || s.Peek() == 'e' ++ || s.Peek() == 'E' ++ || ((s.Peek() == 0 ++ || s.Peek() == ',' ++ || s.Peek() == ' ' ++ || s.Peek() == ']' ++ || s.Peek() == '}' ++ || s.Peek() == '\n' ++ || s.Peek() == '\t' ++ || s.Peek() == '\r') && skip_zero))) { ++ // do nothing ++ i = 0; ++ } + else + RAPIDJSON_PARSE_ERROR(kParseErrorValueInvalid, s.Tell()); + +@@ -1586,45 +1725,59 @@ private: + size_t decimalPosition; + if (Consume(s, '.')) { + decimalPosition = s.Length(); +- +- if (RAPIDJSON_UNLIKELY(!(s.Peek() >= '0' && s.Peek() <= '9'))) +- RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissFraction, s.Tell()); +- +- if (!useDouble) { ++ if (!(parseFlags & kParseRelaxNumberFlag) && RAPIDJSON_UNLIKELY(!(s.Peek() >= '0' && s.Peek() <= '9'))) ++ RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissFraction, s.Tell()); ++ ++ if ((parseFlags & kParseRelaxNumberFlag) && RAPIDJSON_UNLIKELY(!(s.Peek() >= '0' && s.Peek() <= '9'))) { ++ typename InputStream::Ch c = s.Peek(); ++ switch (c) { ++ case '\0': ++ case 'e': ++ case 'E': ++ case ',': ++ case '}': ++ case ']': ++ // do nothing ++ break; ++ default: ++ RAPIDJSON_PARSE_ERROR(kParseErrorNumberMissFraction, s.Tell()); ++ break; ++ } ++ } ++ else if (!useDouble) { + #if RAPIDJSON_64BIT +- // Use i64 to store significand in 64-bit architecture +- if (!use64bit) +- i64 = i; ++ // Use i64 to store significand in 64-bit architecture ++ if (!use64bit) ++ i64 = i; + +- while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { +- if (i64 > RAPIDJSON_UINT64_C2(0x1FFFFF, 0xFFFFFFFF)) // 2^53 - 1 for fast path +- break; +- else { +- i64 = i64 * 10 + static_cast(s.TakePush() - '0'); +- --expFrac; +- if (i64 != 0) +- significandDigit++; ++ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { ++ if (i64 > RAPIDJSON_UINT64_C2(0x1FFFFF, 0xFFFFFFFF)) // 2^53 - 1 for fast path ++ break; ++ else { ++ i64 = i64 * 10 + static_cast(s.TakePush() - '0'); ++ --expFrac; ++ if (i64 != 0) ++ significandDigit++; ++ } + } +- } + +- d = static_cast(i64); ++ d = static_cast(i64); + #else +- // Use double to store significand in 32-bit architecture +- d = static_cast(use64bit ? i64 : i); ++ // Use double to store significand in 32-bit architecture ++ d = static_cast(use64bit ? i64 : i); + #endif +- useDouble = true; +- } +- +- while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { +- if (significandDigit < 17) { +- d = d * 10.0 + (s.TakePush() - '0'); +- --expFrac; +- if (RAPIDJSON_LIKELY(d > 0.0)) +- significandDigit++; ++ useDouble = true; ++ } ++ while (RAPIDJSON_LIKELY(s.Peek() >= '0' && s.Peek() <= '9')) { ++ if (significandDigit < 17) { ++ d = d * 10.0 + (s.TakePush() - '0'); ++ --expFrac; ++ if (RAPIDJSON_LIKELY(d > 0.0)) ++ significandDigit++; ++ } ++ else ++ s.TakePush(); + } +- else +- s.TakePush(); +- } + } + else + decimalPosition = s.Length(); // decimal position at the end of integer. +@@ -1750,17 +1903,35 @@ private: + // Parse any JSON value + template + void ParseValue(InputStream& is, Handler& handler) { +- switch (is.Peek()) { +- case 'n': ParseNull (is, handler); break; +- case 't': ParseTrue (is, handler); break; +- case 'f': ParseFalse (is, handler); break; +- case '"': ParseString(is, handler); break; +- case '{': ParseObject(is, handler); break; +- case '[': ParseArray (is, handler); break; +- default : +- ParseNumber(is, handler); +- break; ++ if (parseFlags & kParseIgnoreCaseForKeyword) { ++ switch (is.Peek()) { ++ case 'n': ++ case 'N': ParseNull (is, handler); break; ++ case 't': ++ case 'T': ParseTrue (is, handler); break; ++ case 'f': ++ case 'F': ParseFalse (is, handler); break; ++ case '"': ParseString(is, handler); break; ++ case '{': ParseObject(is, handler); break; ++ case '[': ParseArray (is, handler); break; ++ default : ++ ParseNumber(is, handler); ++ break; ++ } ++ } ++ else { ++ switch (is.Peek()) { ++ case 'n': ParseNull (is, handler); break; ++ case 't': ParseTrue (is, handler); break; ++ case 'f': ParseFalse (is, handler); break; ++ case '"': ParseString(is, handler); break; ++ case '{': ParseObject(is, handler); break; ++ case '[': ParseArray (is, handler); break; ++ default : ++ ParseNumber(is, handler); ++ break; + ++ } + } + } + +diff --git a/rpm/devdeps-relaxed-rapidjson.spec b/rpm/devdeps-relaxed-rapidjson.spec +new file mode 100644 +index 0000000..38196e8 +--- /dev/null ++++ b/rpm/devdeps-relaxed-rapidjson.spec +@@ -0,0 +1,34 @@ ++Name: devdeps-relaxed-rapidjson ++Version: 1.0.0 ++Release: %(echo $RELEASE)%{?dist} ++ ++Summary: Relaxed-RapidJSON is based on RapidJSON. ++ ++License: MIT and BSD ++Url: https://www.oceanbase.com ++AutoReqProv:no ++ ++%undefine _missing_build_ids_terminate_build ++%define _build_id_links compat ++%define _prefix /usr/local/oceanbase/deps/devel ++%define debug_package %{nil} ++ ++%description ++Relaxed-RapidJSON is based on RapidJSON. RapidJSON is a JSON parser and generator for C++. ++ ++%install ++mkdir -p $RPM_BUILD_ROOT/%{_prefix}/include ++cd $OLDPWD/../; ++source_dir=$(pwd) ++\cp -r ${source_dir}/include/rapidjson $RPM_BUILD_ROOT/%{_prefix}/include ++ ++%files ++%defattr(-,root,root) ++%{_prefix} ++ ++%post -p /sbin/ldconfig ++%postun -p /sbin/ldconfig ++ ++%changelog ++* Thu Aug 11 2022 xuhao.yf ++- relaxed-rapidjson-1.0.0 +\ No newline at end of file diff --git a/diff.patch b/diff.patch index 028952fa915ba50b8447bd69a612affbf8749264..ce9eee1f7ebbabe2f8fbab8b4716a710d63f1832 100644 --- a/diff.patch +++ b/diff.patch @@ -1,313 +1,198 @@ -diff --git a/.secignore b/.secignore -index 1085ab2..d951c07 100644 ---- a/.secignore -+++ b/.secignore -@@ -188,6 +188,8 @@ - http://helloworld.com/* - http://1.1.1.1:8080/* - https://mirrors.aliyun.com/* -+ https://mirrors.oceanbase.com/* -+ http://mirrors.oceanbase.com/* - https://bixense.com/clicolors/ - martin.gieseking@uos.de - jloup@gzip.org -diff --git a/cmake/RPM.cmake b/cmake/RPM.cmake -index f0cec90..5771ba3 100644 ---- a/cmake/RPM.cmake -+++ b/cmake/RPM.cmake -@@ -64,27 +64,31 @@ set(CPACK_RPM_SPEC_MORE_DEFINE - if (OB_BUILD_OPENSOURCE) - set(CPACK_RPM_PACKAGE_REQUIRES "jq, systemd") - -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/oceanbase-service.sh.template -- ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/oceanbase-service.sh -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/oceanbase-service.sh.template -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/oceanbase-service.sh - @ONLY) -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/telemetry.sh.template -- ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/telemetry.sh -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/telemetry.sh.template -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/telemetry.sh - @ONLY) - -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/post_install.sh.template -- ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/post_install.sh -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/pre_install.sh.template -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/pre_install.sh - @ONLY) -- set(CPACK_RPM_SERVER_POST_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/post_install.sh) -+ set(CPACK_RPM_SERVER_PRE_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/pre_install.sh) -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/post_install.sh.template -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/post_install.sh -+ @ONLY) -+ set(CPACK_RPM_SERVER_POST_INSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/post_install.sh) - -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/pre_uninstall.sh.template -- ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/pre_uninstall.sh -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/pre_uninstall.sh.template -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/pre_uninstall.sh - @ONLY) -- set(CPACK_RPM_SERVER_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/pre_uninstall.sh) -+ set(CPACK_RPM_SERVER_PRE_UNINSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/pre_uninstall.sh) - -- configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/post_uninstall.sh.template -- ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/post_uninstall.sh -+ configure_file(${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/post_uninstall.sh.template -+ ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/post_uninstall.sh - @ONLY) -- set(CPACK_RPM_SERVER_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/rpm/systemd/profile/post_uninstall.sh) -+ set(CPACK_RPM_SERVER_POST_UNINSTALL_SCRIPT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/tools/systemd/profile/post_uninstall.sh) - endif() - - ## TIPS -@@ -134,14 +138,15 @@ install( - - if (OB_BUILD_OPENSOURCE) - install(FILES -- tools/rpm/systemd/profile/oceanbase.cnf -- tools/rpm/systemd/profile/oceanbase-pre.json -- tools/rpm/systemd/profile/oceanbase.service -- tools/rpm/systemd/profile/oceanbase-service.sh -- tools/rpm/systemd/profile/post_install.sh -- tools/rpm/systemd/profile/post_uninstall.sh -- tools/rpm/systemd/profile/pre_uninstall.sh -- tools/rpm/systemd/profile/telemetry.sh -+ tools/systemd/profile/oceanbase.cnf -+ tools/systemd/profile/oceanbase-pre.json -+ tools/systemd/profile/oceanbase.service -+ tools/systemd/profile/oceanbase-service.sh -+ tools/systemd/profile/pre_install.sh -+ tools/systemd/profile/post_install.sh -+ tools/systemd/profile/post_uninstall.sh -+ tools/systemd/profile/pre_uninstall.sh -+ tools/systemd/profile/telemetry.sh - DESTINATION profile - COMPONENT server) - endif() -@@ -230,171 +235,6 @@ install(FILES +diff -uNr oceanbase-ce-4.2.1.7/cmake/Pack.cmake oceanbase-ce-4.2.1.7_modify/cmake/Pack.cmake +--- oceanbase-ce-4.2.1.7/cmake/Pack.cmake 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/cmake/Pack.cmake 2024-06-26 07:24:58.715210886 +0000 +@@ -158,173 +158,7 @@ DESTINATION include COMPONENT sql-parser) --## oceanbsae-table --install(FILES -- deps/oblib/src/common/data_buffer.h -- deps/oblib/src/common/ob_accuracy.h -- deps/oblib/src/common/ob_action_flag.h -- deps/oblib/src/common/ob_common_utility.h -- deps/oblib/src/common/ob_range.h -- deps/oblib/src/common/ob_region.h -- deps/oblib/src/common/ob_role.h -- deps/oblib/src/common/ob_string_buf.h -- deps/oblib/src/common/ob_string_buf.ipp -- deps/oblib/src/common/ob_timeout_ctx.h -- deps/oblib/src/common/ob_zerofill_info.h -- deps/oblib/src/common/ob_zone.h -- deps/oblib/src/common/object/ob_obj_type.h -- deps/oblib/src/common/object/ob_object.h -- deps/oblib/src/common/rowkey/ob_rowkey.h -- deps/oblib/src/common/rowkey/ob_rowkey_info.h -- deps/oblib/src/lib/alloc/abit_set.h -- deps/oblib/src/lib/alloc/alloc_assist.h -- deps/oblib/src/lib/alloc/alloc_func.h -- deps/oblib/src/lib/alloc/alloc_struct.h -- deps/oblib/src/lib/alloc/block_set.h -- deps/oblib/src/lib/alloc/ob_malloc_allocator.h -- deps/oblib/src/lib/alloc/ob_tenant_ctx_allocator.h -- deps/oblib/src/lib/alloc/object_mgr.h -- deps/oblib/src/lib/alloc/object_set.h -- deps/oblib/src/lib/allocator/ob_allocator.h -- deps/oblib/src/lib/allocator/ob_cached_allocator.h -- deps/oblib/src/lib/allocator/ob_concurrent_fifo_allocator.h -- deps/oblib/src/lib/allocator/ob_fifo_allocator.h -- deps/oblib/src/lib/allocator/ob_lf_fifo_allocator.h -- deps/oblib/src/lib/allocator/ob_malloc.h -- deps/oblib/src/lib/allocator/ob_mod_define.h -- deps/oblib/src/lib/allocator/ob_pcounter.h -- deps/oblib/src/lib/allocator/ob_pooled_allocator.h -- deps/oblib/src/lib/allocator/ob_retire_station.h -- deps/oblib/src/lib/allocator/ob_small_allocator.h -- deps/oblib/src/lib/allocator/ob_tc_malloc.h -- deps/oblib/src/lib/allocator/page_arena.h -- deps/oblib/src/lib/atomic/ob_atomic.h -- deps/oblib/src/lib/atomic/ob_atomic_reference.h -- deps/oblib/src/lib/charset/ob_charset.h -- deps/oblib/src/lib/charset/ob_config.h -- deps/oblib/src/lib/charset/ob_ctype.h -- deps/oblib/src/lib/charset/ob_mysql_global.h -- deps/oblib/src/lib/checksum/ob_crc64.h -- deps/oblib/src/lib/container/ob_array.h -- deps/oblib/src/lib/container/ob_array_helper.h -- deps/oblib/src/lib/container/ob_array_iterator.h -- deps/oblib/src/lib/container/ob_array_serialization.h -- deps/oblib/src/lib/container/ob_array_wrap.h -- deps/oblib/src/lib/container/ob_bit_set.h -- deps/oblib/src/lib/container/ob_fixed_array.h -- deps/oblib/src/lib/container/ob_iarray.h -- deps/oblib/src/lib/container/ob_se_array.h -- deps/oblib/src/lib/container/ob_vector.h -- deps/oblib/src/lib/container/ob_vector.ipp -- deps/oblib/src/lib/core_local/ob_core_local_storage.h -- deps/oblib/src/lib/file/config.h -- deps/oblib/src/lib/file/ob_string_util.h -- deps/oblib/src/lib/hash/mprotect.h -- deps/oblib/src/lib/hash/ob_array_index_hash_set.h -- deps/oblib/src/lib/hash/ob_hashmap.h -- deps/oblib/src/lib/hash/ob_hashset.h -- deps/oblib/src/lib/hash/ob_hashtable.h -- deps/oblib/src/lib/hash/ob_hashutils.h -- deps/oblib/src/lib/hash/ob_iteratable_hashmap.h -- deps/oblib/src/lib/hash/ob_linear_hash_map.h -- deps/oblib/src/lib/hash/ob_placement_hashutils.h -- deps/oblib/src/lib/hash/ob_pointer_hashmap.h -- deps/oblib/src/lib/hash/ob_serialization.h -- deps/oblib/src/lib/hash_func/murmur_hash.h -- deps/oblib/src/lib/hash_func/ob_hash_func.h -- deps/oblib/src/lib/json/ob_yson.h -- deps/oblib/src/lib/json/ob_yson_encode.h -- deps/oblib/src/lib/list/ob_dlink_node.h -- deps/oblib/src/lib/list/ob_dlist.h -- deps/oblib/src/lib/list/ob_list.h -- deps/oblib/src/lib/lock/cond.h -- deps/oblib/src/lib/lock/ob_lock.h -- deps/oblib/src/lib/lock/ob_monitor.h -- deps/oblib/src/lib/lock/mutex.h -- deps/oblib/src/lib/lock/ob_bucket_lock.h -- deps/oblib/src/lib/lock/ob_drw_lock.h -- deps/oblib/src/lib/lock/ob_latch.h -- deps/oblib/src/lib/lock/ob_lock_guard.h -- deps/oblib/src/lib/lock/ob_mutex.h -- deps/oblib/src/lib/lock/ob_small_spin_lock.h -- deps/oblib/src/lib/lock/ob_spin_lock.h -- deps/oblib/src/lib/lock/ob_spin_rwlock.h -- deps/oblib/src/lib/lock/ob_thread_cond.h -- deps/oblib/src/lib/lock/ob_rwlock.h -- deps/oblib/src/lib/metrics/ob_counter.h -- deps/oblib/src/lib/net/ob_addr.h -- deps/oblib/src/lib/net/ob_net_util.h -- deps/oblib/src/lib/number/ob_number_v2.h -- deps/oblib/src/lib/ob_date_unit_type.h -- deps/oblib/src/lib/ob_define.h -- deps/oblib/src/lib/ob_errno.h -- deps/oblib/src/lib/ob_name_def.h -- deps/oblib/src/lib/ob_name_id_def.h -- deps/oblib/src/lib/oblog/ob_log.h -- deps/oblib/src/lib/oblog/ob_log_module.h -- deps/oblib/src/lib/oblog/ob_log_print_kv.h -- deps/oblib/src/lib/oblog/ob_trace_log.h -- deps/oblib/src/lib/profile/ob_atomic_event.h -- deps/oblib/src/lib/queue/ob_dedup_queue.h -- deps/oblib/src/lib/queue/ob_fixed_queue.h -- deps/oblib/src/lib/queue/ob_link.h -- deps/oblib/src/lib/random/ob_random.h -- deps/oblib/src/lib/resource/achunk_mgr.h -- deps/oblib/src/lib/resource/ob_cache_washer.h -- deps/oblib/src/lib/resource/ob_resource_mgr.h -- deps/oblib/src/lib/stat/ob_latch_define.h -- deps/oblib/src/lib/string/ob_fixed_length_string.h -- deps/oblib/src/lib/string/ob_string.h -- deps/oblib/src/lib/string/ob_strings.h -- deps/oblib/src/lib/thread_local/ob_tsi_factory.h -- deps/oblib/src/lib/thread_local/ob_tsi_utils.h -- deps/oblib/src/lib/time/Time.h -- deps/oblib/src/lib/time/ob_time_utility.h -- deps/oblib/src/lib/timezone/ob_time_convert.h -- deps/oblib/src/lib/timezone/ob_timezone_info.h -- deps/oblib/src/lib/trace/ob_seq_event_recorder.h -- deps/oblib/src/lib/trace/ob_trace_event.h -- deps/oblib/src/lib/utility/ob_hang_fatal_error.h -- deps/oblib/src/lib/utility/ob_macro_utils.h -- deps/oblib/src/lib/utility/ob_print_kv.h -- deps/oblib/src/lib/utility/ob_print_utils.h -- deps/oblib/src/lib/utility/ob_rate_limiter.h -- deps/oblib/src/lib/utility/ob_serialization_helper.h -- deps/oblib/src/lib/utility/ob_template_utils.h -- deps/oblib/src/lib/utility/ob_unify_serialize.h -- deps/oblib/src/lib/utility/serialization.h -- deps/oblib/src/lib/utility/utility.h -- deps/oblib/src/lib/wait_event/ob_wait_class.h -- deps/oblib/src/lib/wait_event/ob_wait_event.h -- src/share/config/ob_common_config.h -- src/share/config/ob_config.h -- src/share/config/ob_config_helper.h -- src/share/mysql_errno.h -- src/share/object/ob_obj_cast.h -- src/share/partition_table/ob_partition_location.h -- src/share/table/ob_table.h -- src/share/table/ob_table_rpc_proxy.h -- src/share/table/ob_table_rpc_struct.h -- src/libtable/src/libobtable.h -- src/libtable/src/ob_table.h -- src/libtable/src/ob_hkv_table.h -- src/libtable/src/ob_pstore.h -- src/libtable/src/ob_table_service_client.h -- src/libtable/src/ob_table_service_config.h -- src/libtable/src/ob_table_define.h -- DESTINATION include -- COMPONENT table) +-if (NOT OB_BUILD_OPENSOURCE) +- ## oceanbsae-table +- list(APPEND CPACK_COMPONENTS_ALL table) +- install(FILES +- deps/oblib/src/common/data_buffer.h +- deps/oblib/src/common/ob_accuracy.h +- deps/oblib/src/common/ob_action_flag.h +- deps/oblib/src/common/ob_common_utility.h +- deps/oblib/src/common/ob_range.h +- deps/oblib/src/common/ob_region.h +- deps/oblib/src/common/ob_role.h +- deps/oblib/src/common/ob_string_buf.h +- deps/oblib/src/common/ob_string_buf.ipp +- deps/oblib/src/common/ob_timeout_ctx.h +- deps/oblib/src/common/ob_zerofill_info.h +- deps/oblib/src/common/ob_zone.h +- deps/oblib/src/common/object/ob_obj_type.h +- deps/oblib/src/common/object/ob_object.h +- deps/oblib/src/common/rowkey/ob_rowkey.h +- deps/oblib/src/common/rowkey/ob_rowkey_info.h +- deps/oblib/src/lib/alloc/abit_set.h +- deps/oblib/src/lib/alloc/alloc_assist.h +- deps/oblib/src/lib/alloc/alloc_func.h +- deps/oblib/src/lib/alloc/alloc_struct.h +- deps/oblib/src/lib/alloc/block_set.h +- deps/oblib/src/lib/alloc/ob_malloc_allocator.h +- deps/oblib/src/lib/alloc/ob_tenant_ctx_allocator.h +- deps/oblib/src/lib/alloc/object_mgr.h +- deps/oblib/src/lib/alloc/object_set.h +- deps/oblib/src/lib/allocator/ob_allocator.h +- deps/oblib/src/lib/allocator/ob_cached_allocator.h +- deps/oblib/src/lib/allocator/ob_concurrent_fifo_allocator.h +- deps/oblib/src/lib/allocator/ob_fifo_allocator.h +- deps/oblib/src/lib/allocator/ob_lf_fifo_allocator.h +- deps/oblib/src/lib/allocator/ob_malloc.h +- deps/oblib/src/lib/allocator/ob_mod_define.h +- deps/oblib/src/lib/allocator/ob_pcounter.h +- deps/oblib/src/lib/allocator/ob_pooled_allocator.h +- deps/oblib/src/lib/allocator/ob_retire_station.h +- deps/oblib/src/lib/allocator/ob_small_allocator.h +- deps/oblib/src/lib/allocator/ob_tc_malloc.h +- deps/oblib/src/lib/allocator/page_arena.h +- deps/oblib/src/lib/atomic/ob_atomic.h +- deps/oblib/src/lib/atomic/ob_atomic_reference.h +- deps/oblib/src/lib/charset/ob_charset.h +- deps/oblib/src/lib/charset/ob_config.h +- deps/oblib/src/lib/charset/ob_ctype.h +- deps/oblib/src/lib/charset/ob_mysql_global.h +- deps/oblib/src/lib/checksum/ob_crc64.h +- deps/oblib/src/lib/container/ob_array.h +- deps/oblib/src/lib/container/ob_array_helper.h +- deps/oblib/src/lib/container/ob_array_iterator.h +- deps/oblib/src/lib/container/ob_array_serialization.h +- deps/oblib/src/lib/container/ob_array_wrap.h +- deps/oblib/src/lib/container/ob_bit_set.h +- deps/oblib/src/lib/container/ob_fixed_array.h +- deps/oblib/src/lib/container/ob_iarray.h +- deps/oblib/src/lib/container/ob_se_array.h +- deps/oblib/src/lib/container/ob_vector.h +- deps/oblib/src/lib/container/ob_vector.ipp +- deps/oblib/src/lib/core_local/ob_core_local_storage.h +- deps/oblib/src/lib/file/config.h +- deps/oblib/src/lib/file/ob_string_util.h +- deps/oblib/src/lib/hash/mprotect.h +- deps/oblib/src/lib/hash/ob_array_index_hash_set.h +- deps/oblib/src/lib/hash/ob_hashmap.h +- deps/oblib/src/lib/hash/ob_hashset.h +- deps/oblib/src/lib/hash/ob_hashtable.h +- deps/oblib/src/lib/hash/ob_hashutils.h +- deps/oblib/src/lib/hash/ob_iteratable_hashmap.h +- deps/oblib/src/lib/hash/ob_linear_hash_map.h +- deps/oblib/src/lib/hash/ob_placement_hashutils.h +- deps/oblib/src/lib/hash/ob_pointer_hashmap.h +- deps/oblib/src/lib/hash/ob_serialization.h +- deps/oblib/src/lib/hash_func/murmur_hash.h +- deps/oblib/src/lib/hash_func/ob_hash_func.h +- deps/oblib/src/lib/json/ob_yson.h +- deps/oblib/src/lib/json/ob_yson_encode.h +- deps/oblib/src/lib/list/ob_dlink_node.h +- deps/oblib/src/lib/list/ob_dlist.h +- deps/oblib/src/lib/list/ob_list.h +- deps/oblib/src/lib/lock/cond.h +- deps/oblib/src/lib/lock/ob_lock.h +- deps/oblib/src/lib/lock/ob_monitor.h +- deps/oblib/src/lib/lock/mutex.h +- deps/oblib/src/lib/lock/ob_bucket_lock.h +- deps/oblib/src/lib/lock/ob_drw_lock.h +- deps/oblib/src/lib/lock/ob_latch.h +- deps/oblib/src/lib/lock/ob_lock_guard.h +- deps/oblib/src/lib/lock/ob_mutex.h +- deps/oblib/src/lib/lock/ob_small_spin_lock.h +- deps/oblib/src/lib/lock/ob_spin_lock.h +- deps/oblib/src/lib/lock/ob_spin_rwlock.h +- deps/oblib/src/lib/lock/ob_thread_cond.h +- deps/oblib/src/lib/lock/ob_rwlock.h +- deps/oblib/src/lib/metrics/ob_counter.h +- deps/oblib/src/lib/net/ob_addr.h +- deps/oblib/src/lib/net/ob_net_util.h +- deps/oblib/src/lib/number/ob_number_v2.h +- deps/oblib/src/lib/ob_date_unit_type.h +- deps/oblib/src/lib/ob_define.h +- deps/oblib/src/lib/ob_errno.h +- deps/oblib/src/lib/ob_name_def.h +- deps/oblib/src/lib/ob_name_id_def.h +- deps/oblib/src/lib/oblog/ob_log.h +- deps/oblib/src/lib/oblog/ob_log_module.h +- deps/oblib/src/lib/oblog/ob_log_print_kv.h +- deps/oblib/src/lib/oblog/ob_trace_log.h +- deps/oblib/src/lib/profile/ob_atomic_event.h +- deps/oblib/src/lib/queue/ob_dedup_queue.h +- deps/oblib/src/lib/queue/ob_fixed_queue.h +- deps/oblib/src/lib/queue/ob_link.h +- deps/oblib/src/lib/random/ob_random.h +- deps/oblib/src/lib/resource/achunk_mgr.h +- deps/oblib/src/lib/resource/ob_cache_washer.h +- deps/oblib/src/lib/resource/ob_resource_mgr.h +- deps/oblib/src/lib/stat/ob_latch_define.h +- deps/oblib/src/lib/string/ob_fixed_length_string.h +- deps/oblib/src/lib/string/ob_string.h +- deps/oblib/src/lib/string/ob_strings.h +- deps/oblib/src/lib/thread_local/ob_tsi_factory.h +- deps/oblib/src/lib/thread_local/ob_tsi_utils.h +- deps/oblib/src/lib/time/Time.h +- deps/oblib/src/lib/time/ob_time_utility.h +- deps/oblib/src/lib/timezone/ob_time_convert.h +- deps/oblib/src/lib/timezone/ob_timezone_info.h +- deps/oblib/src/lib/trace/ob_seq_event_recorder.h +- deps/oblib/src/lib/trace/ob_trace_event.h +- deps/oblib/src/lib/utility/ob_hang_fatal_error.h +- deps/oblib/src/lib/utility/ob_macro_utils.h +- deps/oblib/src/lib/utility/ob_print_kv.h +- deps/oblib/src/lib/utility/ob_print_utils.h +- deps/oblib/src/lib/utility/ob_rate_limiter.h +- deps/oblib/src/lib/utility/ob_serialization_helper.h +- deps/oblib/src/lib/utility/ob_template_utils.h +- deps/oblib/src/lib/utility/ob_unify_serialize.h +- deps/oblib/src/lib/utility/serialization.h +- deps/oblib/src/lib/utility/utility.h +- deps/oblib/src/lib/wait_event/ob_wait_class.h +- deps/oblib/src/lib/wait_event/ob_wait_event.h +- src/share/config/ob_common_config.h +- src/share/config/ob_config.h +- src/share/config/ob_config_helper.h +- src/share/mysql_errno.h +- src/share/object/ob_obj_cast.h +- src/share/partition_table/ob_partition_location.h +- src/share/table/ob_table.h +- src/share/table/ob_table_rpc_proxy.h +- src/share/table/ob_table_rpc_struct.h +- src/libtable/src/libobtable.h +- src/libtable/src/ob_table.h +- src/libtable/src/ob_hkv_table.h +- src/libtable/src/ob_pstore.h +- src/libtable/src/ob_table_service_client.h +- src/libtable/src/ob_table_service_config.h +- src/libtable/src/ob_table_define.h +- DESTINATION include +- COMPONENT table) - --install(FILES -- src/libtable/examples/ob_pstore_example.cpp -- src/libtable/examples/ob_kvtable_example.cpp -- src/libtable/examples/ob_table_example.cpp -- src/libtable/examples/example_makefile.mk -- DESTINATION examples -- COMPONENT table) +- install(FILES +- src/libtable/examples/ob_pstore_example.cpp +- src/libtable/examples/ob_kvtable_example.cpp +- src/libtable/examples/ob_table_example.cpp +- src/libtable/examples/example_makefile.mk +- DESTINATION examples +- COMPONENT table) - - if (OB_BUILD_LIBOBTABLE) - - if (ENABLE_THIN_LTO) -@@ -406,14 +246,6 @@ if (OB_BUILD_LIBOBTABLE) - COMMAND_EXPAND_LISTS) - list(APPEND BITCODE_TO_ELF_LIST libobtable_static_to_elf) ++if (NOT OB_BUILD_OPENSOURCE) + if (OB_BUILD_LIBOBTABLE) + + if (ENABLE_THIN_LTO) +@@ -337,13 +171,6 @@ + list(APPEND BITCODE_TO_ELF_LIST libobtable_static_to_elf) + endif() + +- install(PROGRAMS +- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so +- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so.1 +- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so.1.0.0 +- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable_static.a +- DESTINATION lib +- COMPONENT table) endif() -- -- install(PROGRAMS -- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so -- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so.1 -- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable.so.1.0.0 -- ${CMAKE_BINARY_DIR}/src/libtable/src/libobtable_static.a -- DESTINATION lib -- COMPONENT table) endif() - if(OB_BUILD_OPENSOURCE) -diff --git a/deps/init/dep_create.sh b/deps/init/dep_create.sh -index ad5f149..4ad0adb 100644 ---- a/deps/init/dep_create.sh -+++ b/deps/init/dep_create.sh -@@ -80,6 +80,9 @@ function get_os_release() { - fedora) - version_ge "33" && compat_centos7 && return - ;; -+ openEuler) -+ version_ge "20" && compat_centos9 && return -+ ;; - opensuse-leap) - version_ge "15" && compat_centos7 && return - ;; -@@ -106,10 +109,18 @@ function get_os_release() { - version_ge "8.0" && compat_centos8 && return - version_ge "7.0" && compat_centos7 && return - ;; -+ anolis) -+ version_ge "23.0" && compat_centos9 && return -+ version_ge "8.0" && compat_centos8 && return -+ version_ge "7.0" && compat_centos7 && return -+ ;; - centos) - version_ge "8.0" && OS_RELEASE=8 && return - version_ge "7.0" && OS_RELEASE=7 && return - ;; -+ openEuler) -+ version_ge "20" && compat_centos9 && return -+ ;; - ubuntu) - version_ge "22.04" && compat_centos9 && return - version_ge "16.04" && compat_centos7 && return -diff --git a/deps/init/oceanbase.el7.aarch64.deps b/deps/init/oceanbase.el7.aarch64.deps -index 56c510d..1397b9c 100644 ---- a/deps/init/oceanbase.el7.aarch64.deps -+++ b/deps/init/oceanbase.el7.aarch64.deps +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el7.aarch64.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el7.aarch64.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el7.aarch64.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el7.aarch64.deps 2024-06-26 12:10:58.811493751 +0000 @@ -1,12 +1,12 @@ [target-default] os=7 @@ -323,10 +208,9 @@ index 56c510d..1397b9c 100644 [deps] -diff --git a/deps/init/oceanbase.el7.x86_64.deps b/deps/init/oceanbase.el7.x86_64.deps -index e86e501..5b83a69 100644 ---- a/deps/init/oceanbase.el7.x86_64.deps -+++ b/deps/init/oceanbase.el7.x86_64.deps +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el7.x86_64.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el7.x86_64.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el7.x86_64.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el7.x86_64.deps 2024-06-26 12:10:58.811493751 +0000 @@ -1,13 +1,13 @@ [target-default] os=7 @@ -343,10 +227,9 @@ index e86e501..5b83a69 100644 [deps] -diff --git a/deps/init/oceanbase.el8.aarch64.deps b/deps/init/oceanbase.el8.aarch64.deps -index 2b8612c..919cd33 100644 ---- a/deps/init/oceanbase.el8.aarch64.deps -+++ b/deps/init/oceanbase.el8.aarch64.deps +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el8.aarch64.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el8.aarch64.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el8.aarch64.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el8.aarch64.deps 2024-06-26 12:10:58.811493751 +0000 @@ -1,12 +1,12 @@ [target-default] os=8 @@ -362,11 +245,28 @@ index 2b8612c..919cd33 100644 [deps] -diff --git a/deps/init/oceanbase.el8.x86_64.deps b/deps/init/oceanbase.el8.x86_64.deps -index bda5fcc..db3c8a1 100644 ---- a/deps/init/oceanbase.el8.x86_64.deps -+++ b/deps/init/oceanbase.el8.x86_64.deps +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el8.ppc64le.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el8.ppc64le.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el8.ppc64le.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el8.ppc64le.deps 2024-06-26 12:10:58.811493751 +0000 @@ -1,12 +1,12 @@ + [target-default] + os=8 + arch=ppc64le +-repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/8/ppc64le/ ++repo=https://mirrors.oceanbase.com/oceanbase/development-kit/el/8/ppc64le/ + + [target-community] + os=8 + arch=ppc64le +-repo=http://mirrors.aliyun.com/oceanbase/community/stable/el/8/ppc64le/ ++repo=https://mirrors.oceanbase.com/oceanbase/community/stable/el/8/ppc64le/ + + [deps] + devdeps-apr-1.6.5-3.el8.ppc64le.rpm +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el8.x86_64.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el8.x86_64.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el8.x86_64.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el8.x86_64.deps 2024-07-20 07:56:32.254001068 +0000 +@@ -1,53 +1,53 @@ [target-default] os=8 arch=x86_64 @@ -381,11 +281,86 @@ index bda5fcc..db3c8a1 100644 [deps] -diff --git a/deps/init/oceanbase.el9.aarch64.deps b/deps/init/oceanbase.el9.aarch64.deps -index 136767c..07d4b9a 100644 ---- a/deps/init/oceanbase.el9.aarch64.deps -+++ b/deps/init/oceanbase.el9.aarch64.deps -@@ -1,17 +1,17 @@ +-devdeps-gtest-1.8.0-132022101316.el8.x86_64.rpm +-devdeps-isa-l-static-2.22.0-22022092915.el8.x86_64.rpm +-devdeps-libcurl-static-8.2.1-172023092015.el8.x86_64.rpm +-devdeps-libunwind-static-1.6.2-222022100410.el8.x86_64.rpm +-devdeps-mariadb-connector-c-3.1.12-12022100422.el8.x86_64.rpm +-devdeps-libaio-0.3.112-12022092915.el8.x86_64.rpm +-devdeps-relaxed-rapidjson-1.0.0-52023011719.el8.x86_64.rpm +-devdeps-openssl-static-1.1.1u-22023100710.el8.x86_64.rpm +-devdeps-libxml2-2.10.4-42023082915.el8.x86_64.rpm +-devdeps-mxml-2.12.0-12022090616.el8.x86_64.rpm +-devdeps-apr-1.6.5-32022090616.el8.x86_64.rpm +-devdeps-xz-5.2.2-42022090615.el8.x86_64.rpm +-devdeps-lua-5.4.6-22023082916.el8.x86_64.rpm +-devdeps-oss-c-sdk-3.9.2-182022100412.el8.x86_64.rpm +-devdeps-zlib-static-1.2.7-132022100815.el8.x86_64.rpm +-devdeps-ncurses-static-6.2-72022100815.el8.x86_64.rpm +-devdeps-boost-1.74.0-22022110914.el8.x86_64.rpm +-devdeps-s2geometry-0.9.0-12023092021.el8.x86_64.rpm +-devdeps-icu-69.1-72022112416.el8.x86_64.rpm +-devdeps-cos-c-sdk-5.0.16-52023070517.el8.x86_64.rpm +-devdeps-protobuf-c-1.4.1-100000062023102016.el8.x86_64.rpm +-devdeps-s3-cpp-sdk-1.11.156-102023122011.el8.x86_64.rpm ++#devdeps-gtest-1.8.0-132022101316.el8.x86_64.rpm ++#devdeps-isa-l-static-2.22.0-22022092915.el8.x86_64.rpm ++#devdeps-libcurl-static-8.2.1-172023092015.el8.x86_64.rpm ++#devdeps-libunwind-static-1.6.2-222022100410.el8.x86_64.rpm ++#devdeps-mariadb-connector-c-3.1.12-12022100422.el8.x86_64.rpm ++#devdeps-libaio-0.3.112-12022092915.el8.x86_64.rpm ++#devdeps-relaxed-rapidjson-1.0.0-52023011719.el8.x86_64.rpm ++#devdeps-openssl-static-1.1.1u-22023100710.el8.x86_64.rpm ++#devdeps-libxml2-2.10.4-42023082915.el8.x86_64.rpm ++#devdeps-mxml-2.12.0-12022090616.el8.x86_64.rpm ++#devdeps-apr-1.6.5-32022090616.el8.x86_64.rpm ++#devdeps-xz-5.2.2-42022090615.el8.x86_64.rpm ++#devdeps-lua-5.4.6-22023082916.el8.x86_64.rpm ++#devdeps-oss-c-sdk-3.9.2-182022100412.el8.x86_64.rpm ++#devdeps-zlib-static-1.2.7-132022100815.el8.x86_64.rpm ++#devdeps-ncurses-static-6.2-72022100815.el8.x86_64.rpm ++#devdeps-boost-1.74.0-22022110914.el8.x86_64.rpm ++#devdeps-s2geometry-0.9.0-12023092021.el8.x86_64.rpm ++#devdeps-icu-69.1-72022112416.el8.x86_64.rpm ++#devdeps-cos-c-sdk-5.0.16-52023070517.el8.x86_64.rpm ++#devdeps-protobuf-c-1.4.1-100000062023102016.el8.x86_64.rpm ++#devdeps-s3-cpp-sdk-1.11.156-102023122011.el8.x86_64.rpm + + [tools] +-obdevtools-binutils-2.30-12022100413.el8.x86_64.rpm +-obdevtools-bison-2.4.1-12022100413.el8.x86_64.rpm +-obdevtools-ccache-3.7.12-12022100417.el8.x86_64.rpm +-obdevtools-cmake-3.22.1-22022100417.el8.x86_64.rpm +-obdevtools-flex-2.5.35-12022100417.el8.x86_64.rpm +-obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm +-obdevtools-llvm-11.0.1-312022092921.el8.x86_64.rpm ++#obdevtools-binutils-2.30-12022100413.el8.x86_64.rpm ++#obdevtools-bison-2.4.1-12022100413.el8.x86_64.rpm ++#obdevtools-ccache-3.7.12-12022100417.el8.x86_64.rpm ++#obdevtools-cmake-3.22.1-22022100417.el8.x86_64.rpm ++#obdevtools-flex-2.5.35-12022100417.el8.x86_64.rpm ++#obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm ++#obdevtools-llvm-11.0.1-312022092921.el8.x86_64.rpm + + [tools-deps] +-devdeps-oblogmsg-1.0-182024030421.el8.x86_64.rpm +-devdeps-rocksdb-6.22.1.1-52022100420.el8.x86_64.rpm +-obshell-4.2.3.1-52024053020.el8.x86_64.rpm target=community ++#devdeps-oblogmsg-1.0-182024030421.el8.x86_64.rpm ++#devdeps-rocksdb-6.22.1.1-52022100420.el8.x86_64.rpm ++#obshell-4.2.3.1-52024053020.el8.x86_64.rpm target=community + + [test-utils] +-ob-deploy-2.8.0-4.el8.x86_64.rpm target=community +-obclient-2.2.2-1.el8.x86_64.rpm target=community +-libobclient-2.2.2-3.el8.x86_64.rpm target=community ++#ob-deploy-2.8.0-4.el8.x86_64.rpm target=community ++#obclient-2.2.2-1.el8.x86_64.rpm target=community ++#libobclient-2.2.2-3.el8.x86_64.rpm target=community +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el9.aarch64.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el9.aarch64.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el9.aarch64.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el9.aarch64.deps 2024-07-15 03:54:48.816440487 +0000 +@@ -1,58 +1,58 @@ [target-default] os=9 arch=aarch64 @@ -404,24 +379,110 @@ index 136767c..07d4b9a 100644 -repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/9/aarch64/ +repo=https://mirrors.oceanbase.com/oceanbase/development-kit/el/9/aarch64/ + [deps] - devdeps-gtest-1.8.0-132022101316.el8.aarch64.rpm -@@ -46,8 +46,9 @@ obdevtools-gcc9-9.3.0-52022092914.el8.aarch64.rpm - obdevtools-llvm-11.0.1-312022092921.el8.aarch64.rpm +-devdeps-gtest-1.8.0-132022101316.el8.aarch64.rpm +-devdeps-isa-l-static-2.22.0-22022092915.el8.aarch64.rpm +-devdeps-libcurl-static-8.2.1-172023092015.el8.aarch64.rpm +-devdeps-mariadb-connector-c-3.1.12-12022100422.el8.aarch64.rpm +-devdeps-libaio-0.3.112-12022092915.el8.aarch64.rpm +-devdeps-relaxed-rapidjson-1.0.0-52023011719.el8.aarch64.rpm +-devdeps-openssl-static-1.1.1u-22023100710.el8.aarch64.rpm +-devdeps-libxml2-2.10.4-42023082915.el8.aarch64.rpm +-devdeps-mxml-2.12.0-12022090616.el8.aarch64.rpm +-devdeps-xz-5.2.2-42022090615.el8.aarch64.rpm +-devdeps-lua-5.4.6-22023082916.el8.aarch64.rpm +-devdeps-oss-c-sdk-3.9.2-182022100412.el8.aarch64.rpm +-devdeps-zlib-static-1.2.7-132022100815.el8.aarch64.rpm +-devdeps-ncurses-static-6.2-72022100815.el8.aarch64.rpm +-devdeps-boost-1.74.0-22022110914.el8.aarch64.rpm +-devdeps-s2geometry-0.9.0-12023092021.el8.aarch64.rpm +-devdeps-icu-69.1-72022112416.el8.aarch64.rpm +-devdeps-cos-c-sdk-5.0.16-52023070517.el8.aarch64.rpm +-devdeps-s3-cpp-sdk-1.11.156-102023122011.el8.aarch64.rpm ++#devdeps-gtest-1.8.0-132022101316.el8.aarch64.rpm ++#devdeps-isa-l-static-2.22.0-22022092915.el8.aarch64.rpm ++#devdeps-libcurl-static-8.2.1-172023092015.el8.aarch64.rpm ++#devdeps-mariadb-connector-c-3.1.12-12022100422.el8.aarch64.rpm ++#devdeps-libaio-0.3.112-12022092915.el8.aarch64.rpm ++#devdeps-relaxed-rapidjson-1.0.0-52023011719.el8.aarch64.rpm ++#devdeps-openssl-static-1.1.1u-22023100710.el8.aarch64.rpm ++#devdeps-libxml2-2.10.4-42023082915.el8.aarch64.rpm ++#devdeps-mxml-2.12.0-12022090616.el8.aarch64.rpm ++#devdeps-xz-5.2.2-42022090615.el8.aarch64.rpm ++#devdeps-lua-5.4.6-22023082916.el8.aarch64.rpm ++#devdeps-oss-c-sdk-3.9.2-182022100412.el8.aarch64.rpm ++#devdeps-zlib-static-1.2.7-132022100815.el8.aarch64.rpm ++#devdeps-ncurses-static-6.2-72022100815.el8.aarch64.rpm ++#devdeps-boost-1.74.0-22022110914.el8.aarch64.rpm ++#devdeps-s2geometry-0.9.0-12023092021.el8.aarch64.rpm ++#devdeps-icu-69.1-72022112416.el8.aarch64.rpm ++#devdeps-cos-c-sdk-5.0.16-52023070517.el8.aarch64.rpm ++#devdeps-s3-cpp-sdk-1.11.156-102023122011.el8.aarch64.rpm + + [deps-apr-el9] +-devdeps-apr-1.6.5-232023090616.el9.aarch64.rpm target=apr-el9 ++#devdeps-apr-1.6.5-232023090616.el9.aarch64.rpm target=apr-el9 + + [tools] +-obdevtools-binutils-2.30-12022100413.el8.aarch64.rpm +-obdevtools-bison-2.4.1-12022100413.el8.aarch64.rpm +-obdevtools-ccache-3.7.12-12022100417.el8.aarch64.rpm +-obdevtools-cmake-3.22.1-22022100417.el8.aarch64.rpm +-obdevtools-flex-2.5.35-12022100417.el8.aarch64.rpm +-obdevtools-gcc9-9.3.0-52022092914.el8.aarch64.rpm +-obdevtools-llvm-11.0.1-312022092921.el8.aarch64.rpm ++#obdevtools-binutils-2.30-12022100413.el8.aarch64.rpm ++#obdevtools-bison-2.4.1-12022100413.el8.aarch64.rpm ++#obdevtools-ccache-3.7.12-12022100417.el8.aarch64.rpm ++#obdevtools-cmake-3.22.1-22022100417.el8.aarch64.rpm ++#obdevtools-flex-2.5.35-12022100417.el8.aarch64.rpm ++#obdevtools-gcc9-9.3.0-52022092914.el8.aarch64.rpm ++#obdevtools-llvm-11.0.1-312022092921.el8.aarch64.rpm [tools-deps] --devdeps-oblogmsg-1.0-52022113019.el8.aarch64.rpm -+devdeps-oblogmsg-1.0-142024012415.el8.aarch64.rpm - devdeps-rocksdb-6.22.1.1-52022100420.el8.aarch64.rpm -+obshell-4.2.2.0-122024022614.el8.aarch64.rpm target=community +-devdeps-oblogmsg-1.0-182024030421.el8.aarch64.rpm +-devdeps-rocksdb-6.22.1.1-52022100420.el8.aarch64.rpm +-obshell-4.2.3.1-52024053020.el8.aarch64.rpm target=community ++#devdeps-oblogmsg-1.0-182024030421.el8.aarch64.rpm ++#devdeps-rocksdb-6.22.1.1-52022100420.el8.aarch64.rpm ++#obshell-4.2.3.1-52024053020.el8.aarch64.rpm target=community [test-utils] - ob-deploy-1.6.0-41.el8.aarch64.rpm target=community -diff --git a/deps/init/oceanbase.el9.x86_64.deps b/deps/init/oceanbase.el9.x86_64.deps -index e9712b3..a359e80 100644 ---- a/deps/init/oceanbase.el9.x86_64.deps -+++ b/deps/init/oceanbase.el9.x86_64.deps +-ob-deploy-1.6.0-41.el8.aarch64.rpm target=community +-obclient-2.2.2-1.el8.aarch64.rpm target=community +-libobclient-2.2.2-3.el8.aarch64.rpm target=community ++#ob-deploy-1.6.0-41.el8.aarch64.rpm target=community ++#obclient-2.2.2-1.el8.aarch64.rpm target=community ++#libobclient-2.2.2-3.el8.aarch64.rpm target=community +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el9.ppc64le.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el9.ppc64le.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el9.ppc64le.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el9.ppc64le.deps 2024-07-03 10:00:45.605156581 +0000 @@ -1,17 +1,17 @@ + [target-default] + os=9 + arch=ppc64le +-repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/8/ppc64le/ ++repo=https://mirrors.oceanbase.com/oceanbase/development-kit/el/8/ppc64le/ + + [target-community] + os=9 + arch=ppc64le +-repo=http://mirrors.aliyun.com/oceanbase/community/stable/el/8/ppc64le/ ++repo=https://mirrors.oceanbase.com/oceanbase/community/stable/el/8/ppc64le/ + + [target-el9] + os=9 + arch=ppc64le +-repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/9/ppc64le/ ++repo=https://mirrors.oceanbase.com/oceanbase/development-kit/el/9/ppc64le/ + + [deps] + devdeps-boost-1.74.0-1.el8.ppc64le.rpm +diff -uNr oceanbase-ce-4.2.1.7/deps/init/oceanbase.el9.x86_64.deps oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el9.x86_64.deps +--- oceanbase-ce-4.2.1.7/deps/init/oceanbase.el9.x86_64.deps 2024-06-06 03:29:39.000000000 +0000 ++++ oceanbase-ce-4.2.1.7_modify/deps/init/oceanbase.el9.x86_64.deps 2024-07-15 03:54:26.696305246 +0000 +@@ -1,61 +1,61 @@ [target-default] os=9 arch=x86_64 @@ -440,575 +501,85 @@ index e9712b3..a359e80 100644 -repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/9/x86_64/ +repo=https://mirrors.oceanbase.com/oceanbase/development-kit/el/9/x86_64/ + [deps] - devdeps-gtest-1.8.0-132022101316.el8.x86_64.rpm -@@ -47,8 +47,9 @@ obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm - obdevtools-llvm-11.0.1-312022092921.el8.x86_64.rpm +-devdeps-gtest-1.8.0-132022101316.el8.x86_64.rpm +-devdeps-isa-l-static-2.22.0-22022092915.el8.x86_64.rpm +-devdeps-libcurl-static-8.2.1-172023092015.el8.x86_64.rpm +-devdeps-libunwind-static-1.6.2-222022100410.el8.x86_64.rpm +-devdeps-mariadb-connector-c-3.1.12-12022100422.el8.x86_64.rpm +-devdeps-libaio-0.3.112-12022092915.el8.x86_64.rpm +-devdeps-relaxed-rapidjson-1.0.0-52023011719.el8.x86_64.rpm +-devdeps-openssl-static-1.1.1u-22023100710.el8.x86_64.rpm +-devdeps-libxml2-2.10.4-42023082915.el8.x86_64.rpm +-devdeps-mxml-2.12.0-12022090616.el8.x86_64.rpm +-devdeps-xz-5.2.2-42022090615.el8.x86_64.rpm +-devdeps-lua-5.4.6-22023082916.el8.x86_64.rpm +-devdeps-oss-c-sdk-3.9.2-182022100412.el8.x86_64.rpm +-devdeps-zlib-static-1.2.7-132022100815.el8.x86_64.rpm +-devdeps-ncurses-static-6.2-72022100815.el8.x86_64.rpm +-devdeps-boost-1.74.0-22022110914.el8.x86_64.rpm +-devdeps-s2geometry-0.9.0-12023092021.el8.x86_64.rpm +-devdeps-icu-69.1-72022112416.el8.x86_64.rpm +-devdeps-cos-c-sdk-5.0.16-52023070517.el8.x86_64.rpm +-devdeps-cloud-qpl-1.1.0-272023061419.el8.x86_64.rpm +-devdeps-s3-cpp-sdk-1.11.156-102023122011.el8.x86_64.rpm +-devdeps-protobuf-c-1.4.1-100000062023102016.el8.x86_64.rpm ++#devdeps-gtest-1.8.0-132022101316.el8.x86_64.rpm ++#devdeps-isa-l-static-2.22.0-22022092915.el8.x86_64.rpm ++#devdeps-libcurl-static-8.2.1-172023092015.el8.x86_64.rpm ++#devdeps-libunwind-static-1.6.2-222022100410.el8.x86_64.rpm ++#devdeps-mariadb-connector-c-3.1.12-12022100422.el8.x86_64.rpm ++#devdeps-libaio-0.3.112-12022092915.el8.x86_64.rpm ++#devdeps-relaxed-rapidjson-1.0.0-52023011719.el8.x86_64.rpm ++#devdeps-openssl-static-1.1.1u-22023100710.el8.x86_64.rpm ++#devdeps-libxml2-2.10.4-42023082915.el8.x86_64.rpm ++#devdeps-mxml-2.12.0-12022090616.el8.x86_64.rpm ++#devdeps-xz-5.2.2-42022090615.el8.x86_64.rpm ++#devdeps-lua-5.4.6-22023082916.el8.x86_64.rpm ++#devdeps-oss-c-sdk-3.9.2-182022100412.el8.x86_64.rpm ++#devdeps-zlib-static-1.2.7-132022100815.el8.x86_64.rpm ++#devdeps-ncurses-static-6.2-72022100815.el8.x86_64.rpm ++#devdeps-boost-1.74.0-22022110914.el8.x86_64.rpm ++#devdeps-s2geometry-0.9.0-12023092021.el8.x86_64.rpm ++#devdeps-icu-69.1-72022112416.el8.x86_64.rpm ++#devdeps-cos-c-sdk-5.0.16-52023070517.el8.x86_64.rpm ++#devdeps-cloud-qpl-1.1.0-272023061419.el8.x86_64.rpm ++#devdeps-s3-cpp-sdk-1.11.156-102023122011.el8.x86_64.rpm ++#devdeps-protobuf-c-1.4.1-100000062023102016.el8.x86_64.rpm + + [deps-apr-el9] +-devdeps-apr-1.6.5-232023090616.el9.x86_64.rpm target=apr-el9 ++#devdeps-apr-1.6.5-232023090616.el9.x86_64.rpm target=apr-el9 + + [tools] +-obdevtools-binutils-2.30-12022100413.el8.x86_64.rpm +-obdevtools-bison-2.4.1-12022100413.el8.x86_64.rpm +-obdevtools-ccache-3.7.12-12022100417.el8.x86_64.rpm +-obdevtools-cmake-3.22.1-22022100417.el8.x86_64.rpm +-obdevtools-flex-2.5.35-12022100417.el8.x86_64.rpm +-obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm +-obdevtools-llvm-11.0.1-312022092921.el8.x86_64.rpm ++#obdevtools-binutils-2.30-12022100413.el8.x86_64.rpm ++#obdevtools-bison-2.4.1-12022100413.el8.x86_64.rpm ++#obdevtools-ccache-3.7.12-12022100417.el8.x86_64.rpm ++#obdevtools-cmake-3.22.1-22022100417.el8.x86_64.rpm ++#obdevtools-flex-2.5.35-12022100417.el8.x86_64.rpm ++#obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm ++#obdevtools-llvm-11.0.1-312022092921.el8.x86_64.rpm [tools-deps] --devdeps-oblogmsg-1.0-52022113019.el8.x86_64.rpm -+devdeps-oblogmsg-1.0-142024012415.el8.x86_64.rpm - devdeps-rocksdb-6.22.1.1-52022100420.el8.x86_64.rpm -+obshell-4.2.2.0-122024022614.el8.x86_64.rpm target=community +-devdeps-oblogmsg-1.0-182024030421.el8.x86_64.rpm +-devdeps-rocksdb-6.22.1.1-52022100420.el8.x86_64.rpm +-obshell-4.2.3.1-52024053020.el8.x86_64.rpm target=community ++#devdeps-oblogmsg-1.0-182024030421.el8.x86_64.rpm ++#devdeps-rocksdb-6.22.1.1-52022100420.el8.x86_64.rpm ++#obshell-4.2.3.1-52024053020.el8.x86_64.rpm target=community [test-utils] - ob-deploy-1.6.0-41.el8.x86_64.rpm target=community -diff --git a/tools/rpm/systemd/README-CN.md b/tools/rpm/systemd/README-CN.md -deleted file mode 100644 -index 2af52a9..0000000 ---- a/tools/rpm/systemd/README-CN.md -+++ /dev/null -@@ -1,27 +0,0 @@ --# 通过yum和systemd的方式安装OceanBase数据库 --如果你想在linux rpm平台上部署oceanbase,可以使用yum进行单节点安装,并通过systemd进行简单管理 -- --**注意** -- --- 该方法仅能用做学习研究或测试使用; --- 千万不要使用此方法用于带有重要数据的场景,比如生产环境。 -- --## 安装方法 --现在暂时只支持RPM平台系统,可以通过以下指令进行安装和启动: --```bash --yum install oceanbase-ce --systemctl start oceanbase --``` --可以通过以下指令将oceanbase服务设置为开机自启动: --```bash --systemctl enable oceanbase --``` -- --## systemd介绍 --Systemd提供了自动化管理oceanbase的启动和停止,可以通过systemctl指令对oceanbase进行管理控制,例如: --```bash --systemctl {start|stop|restart|status} oceanbase --``` -- --## 通过systemd配置oceanbase --systemd提供了配置文件`/etc/oceanbase.cnf`,可以在启动前修改配置进行带参启动 -diff --git a/tools/rpm/systemd/README.md b/tools/rpm/systemd/README.md -deleted file mode 100644 -index 89bb399..0000000 ---- a/tools/rpm/systemd/README.md -+++ /dev/null -@@ -1,27 +0,0 @@ --# Installing OceanBase Database via yum and systemd --If you want to deploy OceanBase on a Linux RPM platform, you can use yum for single-node installation and simple management with systemd. -- --**WARNING** -- --- The installation method is just used for study or test; --- You should not deploy it with important data as it is not used in production environment. -- --## Installation Method --Now systemd only support RPM platform and you can install and run oceanbase service using the following command: --```bash --yum install oceanbase-ce --systemctl start oceanbase --``` --You can set the OceanBase service to start automatically on boot using the following command: --```bash --systemctl enable oceanbase --``` -- --## Overview of systemd --Systemd provides automatic oceanbase startup and shutdown. It also enables manual server management using the systemctl command. For example: --```bash --systemctl {start|stop|restart|status} oceanbase --``` -- --## Oceanbase configuration by systemd --Systemd provide `/etc/oceanbase.cnf` to config oceanbase before startup. -diff --git a/tools/rpm/systemd/profile/post_install.sh.template b/tools/rpm/systemd/profile/post_install.sh.template -deleted file mode 100644 -index 94df4dc..0000000 ---- a/tools/rpm/systemd/profile/post_install.sh.template -+++ /dev/null -@@ -1,14 +0,0 @@ --#!/bin/bash -- --echo "execute post install script" --prefix=@CPACK_PACKAGING_INSTALL_PREFIX@ -- --# prepare the systemd service unit --cp -f $prefix/profile/oceanbase.service /etc/systemd/system/oceanbase.service --chmod 644 /etc/systemd/system/oceanbase.service --chmod +x $prefix/profile/oceanbase-service.sh --cp -f $prefix/profile/oceanbase.cnf /etc/oceanbase.cnf --systemctl daemon-reload -- --# telemetry --/bin/bash $prefix/profile/telemetry.sh $1 >/dev/null 2>&1 -\ No newline at end of file -diff --git a/tools/rpm/systemd/profile/post_uninstall.sh.template b/tools/rpm/systemd/profile/post_uninstall.sh.template -deleted file mode 100644 -index 0b3666c..0000000 ---- a/tools/rpm/systemd/profile/post_uninstall.sh.template -+++ /dev/null -@@ -1,6 +0,0 @@ --#!/bin/bash -- --echo "execute post uninstall script" --prefix=@CPACK_PACKAGING_INSTALL_PREFIX@ -- --rm -rf $prefix/.meta $prefix/log_obshell -\ No newline at end of file -diff --git a/tools/systemd/README-CN.md b/tools/systemd/README-CN.md -new file mode 100644 -index 0000000..3911528 ---- /dev/null -+++ b/tools/systemd/README-CN.md -@@ -0,0 +1,54 @@ -+# 通过软件源安装 OceanBase 数据库 -+如果你想在Linux rpm或deb平台上部署OceanBase,可以使用yum或apt进行单节点安装,并通过systemd进行简单管理 -+ -+**注意** -+ -+- 该方法仅能用做学习研究或测试使用; -+- 千万不要使用此方法用于带有重要数据的场景,比如生产环境。 -+ -+## 通过 YUM 仓库安装 OceanBase -+配置yum源,安装OceanBase,会自动安装所需依赖 -+```bash -+yum install -y yum-utils -+yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo -+yum install -y oceanbase-ce -+``` -+ -+## 通过 APT 仓库安装 OceanBase -+配置apt源,安装OceanBase,会自动安装所需依赖 -+```bash -+apt update -+apt install -y lsb-release wget gnupg2 mysql-client curl -+wget http://mirrors.oceanbase.com/oceanbase/oceanbase_deb.pub && apt-key add oceanbase_deb.pub -+echo "deb http://mirrors.oceanbase.com/oceanbase/community/stable/$(lsb_release -is | awk '{print tolower($0)}')/$(lsb_release -cs)/$(dpkg --print-architecture)/ ./" | tee -a /etc/apt/sources.list.d/oceanbase.list -+apt update -+apt install -y oceanbase-ce -+``` -+ -+## 依赖列表说明: -+| 组件 | 版本 | -+|-------|-------| -+| oceanbase-ce-libs | 与oceanbase-ce相同版本 | -+| jq | / | -+| oniguruma | / | -+| curl | / | -+ -+# 启动方法 -+可以通过以下指令进行启动: -+```bash -+systemctl start oceanbase -+``` -+ -+可以通过以下指令将oceanbase服务设置为开机自启动: -+```bash -+systemctl enable oceanbase -+``` -+ -+## systemd介绍 -+Systemd提供了自动化管理oceanbase的启动和停止,可以通过systemctl指令对oceanbase进行管理控制,例如: -+```bash -+systemctl {start|stop|restart|status} oceanbase -+``` -+ -+## 通过systemd配置OceanBase -+systemd提供了配置文件`/etc/oceanbase.cnf`,可以在启动前修改配置进行带参启动 -diff --git a/tools/systemd/README.md b/tools/systemd/README.md -new file mode 100644 -index 0000000..2d0832f ---- /dev/null -+++ b/tools/systemd/README.md -@@ -0,0 +1,53 @@ -+# Installing OceanBase Database via yum/apt -+If you want to deploy OceanBase on a Linux RPM platform, you can use yum/apt for single-node installation and simple management with systemd. -+ -+**WARNING** -+ -+- The installation method is just used for study or test; -+- You should not deploy it with important data as it is not used in production environment. -+ -+## Installing OceanBase via yum -+Config yum repo then install OceanBase, it will automatically install the required dependencies. -+```bash -+yum install -y yum-utils -+yum-config-manager --add-repo https://mirrors.aliyun.com/oceanbase/OceanBase.repo -+yum install -y oceanbase-ce -+``` -+ -+## Installing OceanBase via apt -+Config apt repo then install OceanBase, it will automatically install the required dependencies. -+```bash -+apt update -+apt install -y lsb-release wget gnupg2 mysql-client curl -+wget http://mirrors.oceanbase.com/oceanbase/oceanbase_deb.pub && apt-key add oceanbase_deb.pub -+echo "deb http://mirrors.oceanbase.com/oceanbase/community/stable/$(lsb_release -is | awk '{print tolower($0)}')/$(lsb_release -cs)/$(dpkg --print-architecture)/ ./" | tee -a /etc/apt/sources.list.d/oceanbase.list -+apt update -+apt install -y oceanbase-ce -+``` -+ -+## Dependencies list: -+| dependency | version | -+|-------|-------| -+| oceanbase-ce-libs | same version with oceanbase-ce | -+| jq | / | -+| oniguruma | / | -+| curl | / | -+ -+# Startup Method -+You can install and run OceanBase service using the following command: -+```bash -+systemctl start oceanbase -+``` -+You can set the OceanBase service to start automatically on boot using the following command: -+```bash -+systemctl enable oceanbase -+``` -+ -+## Overview of systemd -+Systemd provides automatic OceanBase startup and shutdown. It also enables manual server management using the systemctl command. For example: -+```bash -+systemctl {start|stop|restart|status} oceanbase -+``` -+ -+## Oceanbase configuration by systemd -+Systemd provide `/etc/oceanbase.cnf` to config OceanBase before startup. -diff --git a/tools/rpm/systemd/profile/oceanbase-pre.json b/tools/systemd/profile/oceanbase-pre.json -similarity index 100% -rename from tools/rpm/systemd/profile/oceanbase-pre.json -rename to tools/systemd/profile/oceanbase-pre.json -diff --git a/tools/rpm/systemd/profile/oceanbase-service.sh.template b/tools/systemd/profile/oceanbase-service.sh.template -similarity index 85% -rename from tools/rpm/systemd/profile/oceanbase-service.sh.template -rename to tools/systemd/profile/oceanbase-service.sh.template -index c726e6d..04184ee 100644 ---- a/tools/rpm/systemd/profile/oceanbase-service.sh.template -+++ b/tools/systemd/profile/oceanbase-service.sh.template -@@ -2,12 +2,14 @@ - - DATE=`date '+%Y-%m-%d %H:%M:%S'` - cnf_file='/etc/oceanbase.cnf' --ip=`hostname -i` -+ip=`hostname -I | awk '/^[0-9]/ {print $1; exit}'` - port=2886 - url="http://localhost" - prefix=@CPACK_PACKAGING_INSTALL_PREFIX@ - unix_socket="$prefix/run/obshell.sock" - obshell="$prefix/bin/obshell" -+etc_folder="$prefix/etc" -+current_user=`whoami` - report=3 - - function prepare_config_json { -@@ -43,6 +45,11 @@ function prepare_config_json { - sed -i "s|HOSTIP|${ip}|g" $json_file - } - -+function prepare_env { -+ echo "change etc owner to ${current_user}" -+ chown $current_user:$current_user "${etc_folder}" -+} -+ - function do_reload_observer { - echo "Not support reload now" - } -@@ -72,8 +79,8 @@ function check_obagent_process { - echo "obshell process with PID $pid is not running." - $obshell admin start --ip $ip --port $port - if [ $? -ne 0 ]; then -- echo "start ob_agent failed" -- exit -+ echo "start ob_shell failed" -+ exit 1 - fi - fi - else -@@ -103,10 +110,10 @@ function check_trace { - state=$(echo "$response" | jq -r '.data.state') - echo "the response state is $state" - if [ "x$state" = "xSUCCEED" ]; then -- echo "request successfully" -+ echo "$content request successfully" - break - elif [ "x$state" = "xFAILED" ]; then -- echo "request failed" -+ echo "$content request failed" - exit 1 - else - count=$((count + 1)) -@@ -123,8 +130,8 @@ function check_trace { - function start_obshell { - $obshell admin start --ip $ip --port $port > /dev/null 2>&1 - if [ $? -ne 0 ]; then -- echo "start ob_agent failed" -- exit -+ echo "start ob_shell failed" -+ exit 1 - fi - } - -@@ -169,19 +176,10 @@ function do_config_observer { - check_trace $trace "config observer" 3 3 - } - --function deploy_observer { -- echo "oceanbase service deployed at ${DATE}" -- prepare_config_json -- start_obshell -- do_config_observer --} -- --function start_observer { -- systemd-notify --ready -+function do_start_observer { - # check observer status - response=$(curl --silent -H "Content-Type: application/json" -X GET --unix-socket $unix_socket $url/api/v1/status) - identity=$(echo "$response" | jq -r '.data.agent.identity') -- systemd-notify "STATUS=Service is running" - if [ "x$identity" = "xCLUSTER AGENT" ]; then - echo "The observer is already bootstrap, please start it immediately" - response=$(curl --silent -H "Content-Type: application/json" -X POST -d '{ -@@ -222,41 +220,40 @@ function start_observer { - echo "The observer has been installed before" - fi - -- systemd-notify --status="Service is ready" -- - if [ -f $prefix/run/observer.pid ]; then - pid=$(cat $prefix/run/observer.pid) -- while true; do -- if [ ! -d "/proc/$pid" ]; then -- echo "Observer process with PID $pid has exited." -- break -- fi -+ if [ ! -d "/proc/$pid" ]; then -+ echo "Observer process with PID $pid has exited." -+ break -+ fi - -- echo "Observer process with PID $pid is still running." -- # check observer state -- response=$(curl --silent -H "Content-Type: application/json" -X GET -d '{ -- "scope": -- { -- "type":"global", -- "target":[] -- }, -- "force": true -- }' --unix-socket $unix_socket $url/api/v1/status) -- ob_state=$(echo "$response" | jq -r '.data.obState') -- if [ "x$ob_state" = "x1" ]; then -- echo "The agent dose not know the observer password" -- echo "1. Please set environment: export OB_ROOT_PASSWORD={root_passowrd}" -- echo "2. Kill all the obshell process" -- echo "3. Restart the agent process: $prefix/bin/obshell admin start --ip $ip --port $port" -- fi -- sleep 30 -- done -+ # check observer state -+ response=$(curl --silent -H "Content-Type: application/json" -X GET --unix-socket $unix_socket $url/api/v1/status) -+ ob_state=$(echo "$response" | jq -r '.data.obState') -+ if [ "x$ob_state" = "x1" ]; then -+ echo "The agent dose not know the observer password" -+ echo "1. Please set environment: export OB_ROOT_PASSWORD={root_passowrd}" -+ echo "2. Kill all the obshell process" -+ echo "3. Restart the agent process: $prefix/bin/obshell admin start --ip $ip --port $port" -+ fi - else - echo "observer PID file not found." - exit 1 - fi - } - -+function start_observer { -+ /bin/bash $prefix/profile/telemetry.sh $report "10" >/dev/null 2>&1 -+ prepare_config_json -+ prepare_env -+ if check_daemon_process; then -+ echo "The agent service is exist" -+ else -+ start_obshell -+ fi -+ do_start_observer -+} -+ - function stop_observer { - check_obagent_process - response=$(curl --silent -H "Content-Type: application/json" -X POST -d '{ -@@ -274,7 +271,6 @@ function stop_observer { - fi - trace=$(echo "$response" | jq -r '.data.id') - check_trace $trace "stop observer" 20 6 -- systemd-notify --status='STOPPING=1' - } - - function reload_observer { -@@ -285,15 +281,7 @@ function reload_observer { - - if [ "x$1" = "xstart" ]; then - echo "oceanbase service started at ${DATE}" -- /bin/bash $prefix/profile/telemetry.sh $report "10" >/dev/null 2>&1 -- prepare_config_json -- if check_daemon_process; then -- echo "The agent service is exist" -- else -- start_obshell -- fi - start_observer -- - elif [ "x$1" = "xstop" ]; then - echo "oceanbase service stopped at ${DATE}" - stop_observer -@@ -306,7 +294,7 @@ elif [ "x$1" = "xdestroy" ]; then - $obshell admin stop > /dev/null 2>&1 - if [ $? -ne 0 ]; then - echo "stop obshell failed" -- exit -+ exit 1 - fi - fi - -diff --git a/tools/rpm/systemd/profile/oceanbase.cnf b/tools/systemd/profile/oceanbase.cnf -similarity index 100% -rename from tools/rpm/systemd/profile/oceanbase.cnf -rename to tools/systemd/profile/oceanbase.cnf -diff --git a/tools/rpm/systemd/profile/oceanbase.service b/tools/systemd/profile/oceanbase.service -similarity index 52% -rename from tools/rpm/systemd/profile/oceanbase.service -rename to tools/systemd/profile/oceanbase.service -index bc3b05f..7e135fa 100644 ---- a/tools/rpm/systemd/profile/oceanbase.service -+++ b/tools/systemd/profile/oceanbase.service -@@ -3,11 +3,22 @@ Description=oceanbase - - [Service] - User=root --Type=notify -+Type=forking - KillMode=none - ExecStart=/bin/bash /home/admin/oceanbase/profile/oceanbase-service.sh start - ExecStop=/bin/bash /home/admin/oceanbase/profile/oceanbase-service.sh stop - ExecReload=/bin/bash /home/admin/oceanbase/profile/oceanbase-service.sh reload -+PIDFile=/home/admin/oceanbase/run/observer.pid -+TimeoutSec=2000 -+TimeoutStopSec=300 -+Restart=on-failure -+RestartSec=10 -+SuccessExitStatus=SIGKILL -+SendSIGKILL=no -+LimitNOFILE=infinity -+LimitNPROC=infinity -+LimitCORE=infinity -+LimitSTACK=infinity - - [Install] - WantedBy=multi-user.target -\ No newline at end of file -diff --git a/tools/systemd/profile/post_install.sh.template b/tools/systemd/profile/post_install.sh.template -new file mode 100644 -index 0000000..21ad989 ---- /dev/null -+++ b/tools/systemd/profile/post_install.sh.template -@@ -0,0 +1,20 @@ -+#!/bin/bash -+echo "execute post install script" -+prefix=@CPACK_PACKAGING_INSTALL_PREFIX@ -+ -+# prepare the systemd service unit -+cp -f $prefix/profile/oceanbase.service /etc/systemd/system/oceanbase.service -+chmod 644 /etc/systemd/system/oceanbase.service -+chmod +x $prefix/profile/oceanbase-service.sh -+cp -f $prefix/profile/oceanbase.cnf /etc/oceanbase.cnf -+systemctl daemon-reload -+ -+# telemetry -+/bin/bash $prefix/profile/telemetry.sh $1 >/dev/null 2>&1 -+ -+GREEN='\033[32m' -+NC="\033[0m" -+echo -e "${GREEN}To configure OceanBase${NC} : edit /etc/oceanbase.cnf" -+echo -e "${GREEN}To start OceanBase${NC} : systemctl start oceanbase" -+echo -e "${GREEN}To enable OceanBase auto reboot ${NC} : systemctl enable oceanbase" -+echo -e "${GREEN}To get more infomation${NC} : https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000640297" -\ No newline at end of file -diff --git a/tools/systemd/profile/post_uninstall.sh.template b/tools/systemd/profile/post_uninstall.sh.template -new file mode 100644 -index 0000000..65e826f ---- /dev/null -+++ b/tools/systemd/profile/post_uninstall.sh.template -@@ -0,0 +1,24 @@ -+#!/bin/bash -+echo "execute post uninstall script" -+prefix=@CPACK_PACKAGING_INSTALL_PREFIX@ -+json_file=$prefix/profile/oceanbase.json -+GREEN='\033[32m' -+NC="\033[0m" -+ -+if [ $1 -eq 0 ]; then -+ rm -rf $prefix/.meta $prefix/log_obshell -+ -+ # prepare clean script -+ echo "find $prefix/ -mindepth 1 -maxdepth 1 ! -name lib -exec rm -rf {} +" > $prefix/oceanbase_clean.sh -+ -+ if [ -f "$json_file" ] && [ -s "$json_file" ]; then -+ redo_dir=$(cat "$json_file" | jq -r '.oceanbase_ce.server.observerConfig.redo_dir') -+ echo "rm -rf $redo_dir" >> $prefix/oceanbase_clean.sh -+ data_dir=$(cat "$json_file" | jq -r '.oceanbase_ce.server.observerConfig.data_dir') -+ echo "rm -rf $data_dir" >> $prefix/oceanbase_clean.sh -+ echo "echo OK" >> $prefix/oceanbase_clean.sh -+ fi -+ -+ echo "Clean oceanbase script can clean ob all configuration files and all data files." -+ echo -e "${GREEN}To clean OceanBase${NC} : bash $prefix/oceanbase_clean.sh" -+fi -\ No newline at end of file -diff --git a/tools/systemd/profile/pre_install.sh.template b/tools/systemd/profile/pre_install.sh.template -new file mode 100644 -index 0000000..b87b154 ---- /dev/null -+++ b/tools/systemd/profile/pre_install.sh.template -@@ -0,0 +1,11 @@ -+#!/bin/bash -+echo "execute pre install script" -+version=@OceanBase_CE_VERSION@ -+ -+if [ "$1" -gt 1 ]; then -+ parent_name=$(cat /proc/$PPID/comm) -+ if [[ "$parent_name" != "ocp_mgragent" ]]; then -+ echo "The upgrade of the oceanbase $version is not allowed." >&2 -+ exit 1 -+ fi -+fi -\ No newline at end of file -diff --git a/tools/rpm/systemd/profile/pre_uninstall.sh.template b/tools/systemd/profile/pre_uninstall.sh.template -similarity index 84% -rename from tools/rpm/systemd/profile/pre_uninstall.sh.template -rename to tools/systemd/profile/pre_uninstall.sh.template -index 23c699d..5c50bde 100644 ---- a/tools/rpm/systemd/profile/pre_uninstall.sh.template -+++ b/tools/systemd/profile/pre_uninstall.sh.template -@@ -1,5 +1,4 @@ - #!/bin/bash -- - echo "execute pre uninstall script" - prefix=@CPACK_PACKAGING_INSTALL_PREFIX@ - -diff --git a/tools/rpm/systemd/profile/telemetry.sh.template b/tools/systemd/profile/telemetry.sh.template -similarity index 100% -rename from tools/rpm/systemd/profile/telemetry.sh.template -rename to tools/systemd/profile/telemetry.sh.template -diff --git a/tools/systemd/profile/telemetry.sh.template.rej b/tools/systemd/profile/telemetry.sh.template.rej -new file mode 100644 -index 0000000..96945a4 ---- /dev/null -+++ b/tools/systemd/profile/telemetry.sh.template.rej -@@ -0,0 +1,10 @@ -+diff a/tools/systemd/profile/telemetry.sh.template b/tools/systemd/profile/telemetry.sh.template (rejected hunks) -+@@ -4,7 +4,7 @@ url="https://openwebapi.oceanbase.com/api/web/oceanbase/report" -+ type=@CPACK_PACKAGE_NAME@ -+ version=@CPACK_PACKAGE_VERSION@ -+ release=@CPACK_RPM_PACKAGE_RELEASE@ -+-ip=$(hostname -i) -++ip=$(hostname -I | awk '/^[0-9]/ {print $1; exit}') -+ hostHash=$(echo -n "$ip" | sha1sum | awk '{print $1}') -+ osName=$(cat /etc/os-release | grep "^ID=" | cut -f2 -d=) -+ osRelease=$(cat /etc/os-release | grep "^VERSION_ID=" | cut -f2 -d=) +-ob-deploy-1.6.0-41.el8.x86_64.rpm target=community +-obclient-2.2.2-1.el8.x86_64.rpm target=community +-libobclient-2.2.2-3.el8.x86_64.rpm target=community ++#ob-deploy-1.6.0-41.el8.x86_64.rpm target=community ++#obclient-2.2.2-1.el8.x86_64.rpm target=community ++#libobclient-2.2.2-3.el8.x86_64.rpm target=community diff --git a/expat-2.6.2.tar.gz b/expat-2.6.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d93106666bb3a0144ae5103abb294c0567b6a4ce Binary files /dev/null and b/expat-2.6.2.tar.gz differ diff --git a/flex-2.5.35.tar.bz2 b/flex-2.5.35.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..46d2c5d39fbfb49587ea533e1ce788088516bd04 Binary files /dev/null and b/flex-2.5.35.tar.bz2 differ diff --git a/flex_build.sh b/flex_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..712d7ba937e9016274e57bc19fe01204774832ba --- /dev/null +++ b/flex_build.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +BUILD_OPTION='' +OS_ARCH="$(uname -m)" +if [ "${OS_ARCH}x" = "sw_64x" ]; then + BUILD_OPTION='--build=sw_64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "aarch64x" ]; then + BUILD_OPTION='--build=aarch64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "ppc64lex" ]; then + BUILD_OPTION='--build=ppc64le' +fi + +rm -rf flex-2.5.35 +tar -xf flex-2.5.35.tar.bz2 +cd flex-2.5.35 + +mkdir -p build +cd build +../configure --prefix=$PREFIX ${BUILD_OPTION} +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install diff --git a/gcc-9.3.0.tar.gz b/gcc-9.3.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d107dfa427db8e5fec00aee85ab7d9262fd2382a Binary files /dev/null and b/gcc-9.3.0.tar.gz differ diff --git a/gcc_build.sh b/gcc_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..56caf4b5bd5d9a6390cea3f86a9a39e5b75ca7ee --- /dev/null +++ b/gcc_build.sh @@ -0,0 +1,45 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools +ARCH=$(uname -p) + +mkdir -p $PREFIX +rm -rf gcc-9.3.0 +tar -xf gcc-9.3.0.tar.gz + +rm -rf mpc-1.0.3 +tar -xf mpc-1.0.3.tar.gz +mv mpc-1.0.3 gcc-9.3.0/mpc + +rm -rf mpfr-3.1.4 +tar -xf mpfr-3.1.4.tar.bz2 +mv mpfr-3.1.4 gcc-9.3.0/mpfr + +rm -rf gmp-6.1.0 +tar -xf gmp-6.1.0.tar.bz2 +mv gmp-6.1.0 gcc-9.3.0/gmp + +rm -rf isl-0.18 +tar -xf isl-0.18.tar.bz2 +mv isl-0.18 gcc-9.3.0/isl + +cd gcc-9.3.0 + +sed -i '/COMPILER += \$(NO_PIE_CFLAGS)/d' gcc/Makefile.in +sed -i '/LINKER += \$(NO_PIE_FLAG)/d' gcc/Makefile.in +sed -i '/BUILD_CFLAGS += \$(BUILD_NO_PIE_CFLAGS)/d' gcc/Makefile.in +sed -i '/BUILD_CXXFLAGS += \$(BUILD_NO_PIE_CFLAGS)/d' gcc/Makefile.in +sed -i '/BUILD_LDFLAGS += \$(BUILD_NO_PIE_FLAG)/d' gcc/Makefile.in + +mkdir -p build +cd build +../configure --with-pic --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=${PREFIX} --enable-shared --enable-threads=posix --enable-checking=release --disable-multilib --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --with-linker-hash-style=gnu --with-default-libstdcxx-abi=gcc4-compatible --enable-plugin --enable-initfini-array --enable-gnu-indirect-function --build=${ARCH}-redhat-linux + +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install +cd $CUR_DIR +rm -rf gcc-9.3.0 diff --git a/gmp-6.1.0.tar.bz2 b/gmp-6.1.0.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..1bf8aa3d85064cb6658045090db4f57568d41d46 Binary files /dev/null and b/gmp-6.1.0.tar.bz2 differ diff --git a/go1.21.4.linux-amd64.tar.gz b/go1.21.4.linux-amd64.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..2f2001e9703ca843238b799d52f9b16493690ee7 Binary files /dev/null and b/go1.21.4.linux-amd64.tar.gz differ diff --git a/go1.21.4.linux-arm64.tar.gz b/go1.21.4.linux-arm64.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..5dee86947c8cb014223795560df941675a7ffd6e Binary files /dev/null and b/go1.21.4.linux-arm64.tar.gz differ diff --git a/googletest-release-1.8.0.tar.gz b/googletest-release-1.8.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..a40df33faad4a1fb308282148296ad7d0df4dd7a Binary files /dev/null and b/googletest-release-1.8.0.tar.gz differ diff --git a/gtest_build.sh b/gtest_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..65b1f4deb3cb2be5b567b29ef0f2a103d0f9631d --- /dev/null +++ b/gtest_build.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/gtest_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf googletest-release-1.8.0 +tar -xf googletest-release-1.8.0.tar.gz +cd googletest-release-1.8.0 + +mkdir -p build +cd build +cmake .. -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=$TMP_DIR -G 'Unix Makefiles' +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/icu-release-69-1.tar.gz b/icu-release-69-1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..570134b0aed885e356e12ed87666f51715c02d3e Binary files /dev/null and b/icu-release-69-1.tar.gz differ diff --git a/icu_build.sh b/icu_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..8c1e0325cd566bd59da5c77a1efa2c843091b0ee --- /dev/null +++ b/icu_build.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +mkdir -p $PREFIX/lib +mkdir -p $PREFIX/include/icu + +rm -rf icu-release-69-1 +tar -xf icu-release-69-1.tar.gz +cp $CUR_DIR/CMakeLists.txt icu-release-69-1 +cd icu-release-69-1 + +source_dir=$(pwd) +tmp_install_dir=${source_dir}/tmp_install_dir +build_dir=${source_dir}/build +rm -rf ${tmp_install_dir} +rm -rf ${build_dir} +mkdir -p ${tmp_install_dir} +mkdir -p ${build_dir} + +# compile and install +export PATH=$TOOLS_DIR/bin/:$PATH +export CC=$TOOLS_DIR/bin/gcc +export CXX=$TOOLS_DIR/bin/g++ + +cd ${build_dir} +cmake .. -DICU_VERSION_DIR=icu4c -DCMAKE_INSTALL_PREFIX=${tmp_install_dir} -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} icu_all +make install + +# install files +cp -r ${tmp_install_dir}/lib/*.a $PREFIX/lib +cp -r ${tmp_install_dir}/include/* $PREFIX/include/icu +mkdir -p $PREFIX/include/icu/i18n/unicode +cp ${source_dir}/icu4c/source/i18n/unicode/*.h $PREFIX/include/icu/i18n/unicode/ +cp -r ${source_dir}/icu4c/source/common $PREFIX/include/icu diff --git a/isa-l-2.22.0.tar.gz b/isa-l-2.22.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..71b49b111fe66d51ba8af8dff5881428c766783f Binary files /dev/null and b/isa-l-2.22.0.tar.gz differ diff --git a/isa_build.sh b/isa_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..6c4a1c9e0dca77989d5815115e648335c1116211 --- /dev/null +++ b/isa_build.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools +export PATH=$TOOLS_DIR/bin/:$PATH + +TMP_DIR=$CUR_DIR/isa_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf yasm-1.3.0 +tar -zxvf yasm-1.3.0.tar.gz +cd yasm-1.3.0 +./configure --prefix=$TOOLS_DIR +make +make install + +cd $CUR_DIR +rm -rf isa-l-2.22.0 +tar -xf isa-l-2.22.0.tar.gz +cd isa-l-2.22.0 +./autogen.sh +./configure --enable-static --with-pic=yes --disable-shared --prefix=$TMP_DIR +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/isl-0.18.tar.bz2 b/isl-0.18.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..4c8296cb72a25bbb2ef698c729855dfe7dbfa10d Binary files /dev/null and b/isl-0.18.tar.bz2 differ diff --git a/libaio-0.3.112.tar.xz b/libaio-0.3.112.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..76b5866e0ff7bdf2bbb1cf6ef05124aee9b5ecba Binary files /dev/null and b/libaio-0.3.112.tar.xz differ diff --git a/libaio_build.sh b/libaio_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..61fb6d04fc367d922e4e68cee272c19739efc47d --- /dev/null +++ b/libaio_build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/libaio_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf libaio-0.3.112 +tar -xf libaio-0.3.112.tar.xz +cd libaio-0.3.112 + +make prefix=$TMP_DIR install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/libcurl_build.sh b/libcurl_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..249367a0acecf523659db4a1e166da27dd2151c2 --- /dev/null +++ b/libcurl_build.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/libcurl_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf curl-7.29.0 +tar -xf curl-7.29.0.tar.gz +cd curl-7.29.0 + +BUILD_OPTION='' +OS_ARCH="$(uname -m)" +if [ "${OS_ARCH}x" = "sw_64x" ]; then + BUILD_OPTION='--build=sw_64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "aarch64x" ]; then + BUILD_OPTION='--build=aarch64-unknown-linux-gnu' +elif [ "${OS_ARCH}x" = "ppc64lex" ]; then + BUILD_OPTION='--build=ppc64le' +fi + +./configure --prefix=$TMP_DIR --without-libssh2 --without-nss --disable-ftp --disable-ldap --disable-ldaps --without-cyassl \ + --without-polarssl --without-winssl --without-gnutls --with-ssl --without-darwinssl --disable-cookies --disable-rtsp \ + --disable-pop3 --disable-smtp --disable-imap --disable-telnet --disable-tftp --disable-verbose --disable-gopher --enable-shared=no --with-pic=yes ${BUILD_OPTION} +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/libunwind-1.6.2.tar.gz b/libunwind-1.6.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..d638ea11c0157fbc467448ec60fa05c71890d4dd Binary files /dev/null and b/libunwind-1.6.2.tar.gz differ diff --git a/libunwind_build.sh b/libunwind_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..372c4532862093df86901c7245276f53605290e8 --- /dev/null +++ b/libunwind_build.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/libunwind_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf libunwind-1.6.2 +tar -xf libunwind-1.6.2.tar.gz +cd libunwind-1.6.2 + +./configure --prefix=$TMP_DIR --enable-minidebuginfo=no --with-pic=yes +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/libxml2-2.10.3.tar.xz b/libxml2-2.10.3.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..45926627e498c016160a60a393870fc8bd2b8e72 Binary files /dev/null and b/libxml2-2.10.3.tar.xz differ diff --git a/libxml2_build.sh b/libxml2_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..b3f6cf68e3523ef2f5af393374f87b1c07c36e43 --- /dev/null +++ b/libxml2_build.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +rm -rf libxml2-2.10.3 +tar -xvf libxml2-2.10.3.tar.xz +cd libxml2-2.10.3 + +mkdir -p build +cd build +../configure --prefix=$PREFIX --without-python --with-pic=yes --enable-static=yes --enable-shared=no +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/lld-11.0.1.src.tar.xz b/lld-11.0.1.src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..a53011cc2ee448139bf139a05f0451c5bfaf169c Binary files /dev/null and b/lld-11.0.1.src.tar.xz differ diff --git a/llvm-11.0.1.src.tar.xz b/llvm-11.0.1.src.tar.xz new file mode 100644 index 0000000000000000000000000000000000000000..2bbad2cc678be17a34b10dfeda32873bfa096ed2 Binary files /dev/null and b/llvm-11.0.1.src.tar.xz differ diff --git a/llvm_build.sh b/llvm_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..d6cb805facf7d29ab18edadda789d9578906a24d --- /dev/null +++ b/llvm_build.sh @@ -0,0 +1,101 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/devtools +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +export PATH=$TOOLS_DIR/bin:$PATH + +LLVM_DEBUG_DIR=$CUR_DIR/llvm_debug +rm -rf $LLVM_DEBUG_DIR +mkdir -p $LLVM_DEBUG_DIR +LLVM_RELEASE_DIR=$CUR_DIR/llvm_release +rm -rf $LLVM_RELEASE_DIR +mkdir -p $LLVM_RELEASE_DIR + + +# step1: build RelWithDebInfo version +rm -rf llvm-11.0.1.src lld-11.0.1.src clang-11.0.1.src compiler-rt-11.0.1.src +tar -xf llvm-11.0.1.src.tar.xz +tar -xf lld-11.0.1.src.tar.xz +tar -xf clang-11.0.1.src.tar.xz +tar -xf compiler-rt-11.0.1.src.tar.xz + +rm -rf llvm_src_dir +mkdir -p llvm_src_dir +mv -f llvm-11.0.1.src llvm_src_dir/llvm +mv -f clang-11.0.1.src llvm_src_dir/clang +mv -f compiler-rt-11.0.1.src llvm_src_dir/compiler-rt +mv -f lld-11.0.1.src llvm_src_dir/lld + +cd $CUR_DIR/llvm_src_dir +mkdir -p build_debug +cd build_debug + +arch=`uname -p` +if [[ x"$arch" == x"x86_64" ]]; then + echo "Build arch: x86" + arch=X86 +elif [[ x"$arch" == x"aarch64" ]]; then + echo "Build arch: AArch64" + arch=AArch64 +elif [[ x"$arch" == x"ppc64le" ]]; then + echo "Build arch: ppc64le" + arch=PowerPC +else + echo "Unknown arch" + exit 1 +fi + +cmake ../llvm \ + -DCMAKE_CXX_COMPILER="$TOOLS_DIR/bin/g++" \ + -DCMAKE_C_COMPILER="$TOOLS_DIR/bin/gcc" \ + -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" \ + -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++" \ + -DCMAKE_INSTALL_PREFIX=$LLVM_DEBUG_DIR \ + -DLLVM_TARGETS_TO_BUILD=$arch \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_EH=ON \ + -DLLVM_ENABLE_DUMP=ON \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DLLVM_ENABLE_PROJECTS='clang;compiler-rt;lld' \ + -G 'Unix Makefiles'; +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install; +cd $CUR_DIR +cp -r $LLVM_DEBUG_DIR/lib/clang/11.0.1/lib/linux . +rm -rf $LLVM_DEBUG_DIR + +# step2: build Release version +cd $CUR_DIR/llvm_src_dir +mkdir -p build_release +cd build_release + +cmake ../llvm \ + -DCMAKE_CXX_COMPILER="$TOOLS_DIR/bin/g++" \ + -DCMAKE_C_COMPILER="$TOOLS_DIR/bin/gcc" \ + -DCMAKE_CXX_FLAGS="-D_GLIBCXX_USE_CXX11_ABI=0" \ + -DCMAKE_EXE_LINKER_FLAGS="-static-libgcc -static-libstdc++" \ + -DCMAKE_INSTALL_PREFIX=$LLVM_RELEASE_DIR \ + -DLLVM_TARGETS_TO_BUILD=$arch \ + -DLLVM_ENABLE_RTTI=ON \ + -DLLVM_ENABLE_EH=ON \ + -DLLVM_ENABLE_DUMP=ON \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_ENABLE_PROJECTS='clang;compiler-rt;lld' \ + -G 'Unix Makefiles'; + +make -j${CPU_CORES}; +make install; + +# step3: replace asan debuginfo lib +rm -rf $LLVM_RELEASE_DIR/lib/clang/11.0.1/lib/linux +cp -r $CUR_DIR/linux $LLVM_RELEASE_DIR/lib/clang/11.0.1/lib/ + +# step4: install to 3rd dir +mkdir -p $PREFIX +cp -r $LLVM_RELEASE_DIR/* $PREFIX +rm -rf $LLVM_RELEASE_DIR diff --git a/lua-5.4.3.tar.gz b/lua-5.4.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1e7b11aa77b2cd92c66b1a185a2e844dc5da7c31 Binary files /dev/null and b/lua-5.4.3.tar.gz differ diff --git a/lua_build.sh b/lua_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..9bfd49fe806bdaa1d9cacdbf1eb298dccd1004aa --- /dev/null +++ b/lua_build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TO_INC=$(zgrep -aPo --color=never '(?<=^TO_INC= ).*' lua-5.4.3.tar.gz) +TO_LIB=$(zgrep -aPo --color=never '(?<=^TO_LIB= ).*' lua-5.4.3.tar.gz) + +echo $TO_INC +echo $TO_LIB + +rm -rf lua-5.4.3 +tar -xvf lua-5.4.3.tar.gz +cd lua-5.4.3/src +make a MYCFLAGS=-fPIC +cp $TO_INC $PREFIX/include +cp $TO_LIB $PREFIX/lib diff --git a/mariadb-connector-c-3.1.12.tar.gz b/mariadb-connector-c-3.1.12.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4bb61c2cc21d43143ba301eaf22ea0405563e000 Binary files /dev/null and b/mariadb-connector-c-3.1.12.tar.gz differ diff --git a/mariadb-connector-c_build.sh b/mariadb-connector-c_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..9fe911e359dca3c025983a67b806fd2a3de1b12a --- /dev/null +++ b/mariadb-connector-c_build.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/mariadb-connector-c_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf mariadb-connector-c-3.1.12 +tar -xf mariadb-connector-c-3.1.12.tar.gz +cd mariadb-connector-c-3.1.12 + +sed -i 's/END()/ENDIF()/g' cmake/ConnectorName.cmake +mkdir -p build +cd build +cmake .. -DCMAKE_INSTALL_PREFIX=$TMP_DIR -DCMAKE_BUILD_TYPE=RelWithDebInfo -DWITH_SSL=system -DENABLED_LOCAL_INFILE=1 -DDEFAULT_CHARSET=utf8 +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/mpc-1.0.3.tar.gz b/mpc-1.0.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..3da140d4fd683eaecc6d9ff4d74d96a837214b8b Binary files /dev/null and b/mpc-1.0.3.tar.gz differ diff --git a/mpfr-3.1.4.tar.bz2 b/mpfr-3.1.4.tar.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..c67b205ef266ace6e33311d7e348c32c06ffe9a9 Binary files /dev/null and b/mpfr-3.1.4.tar.bz2 differ diff --git a/mxml-2.12.zip b/mxml-2.12.zip new file mode 100644 index 0000000000000000000000000000000000000000..93863d9bed413766fd6c76224b16c807dd7646a2 Binary files /dev/null and b/mxml-2.12.zip differ diff --git a/mxml-3.3.tar.gz b/mxml-3.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..63661d9d5f11121d1faf8bbc8af17777ca090d30 Binary files /dev/null and b/mxml-3.3.tar.gz differ diff --git a/mxml_build.sh b/mxml_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..6a3a207f763561e2442ef18cdbfeebe8b84c19d8 --- /dev/null +++ b/mxml_build.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +rm -rf mxml-2.12 +unzip mxml-2.12.zip +cd mxml-2.12 +./configure --prefix=$PREFIX +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install + +cd $PREFIX +mkdir -p include/mxml +mv include/mxml.h include/mxml/ diff --git a/ncurses-6.2.tar.gz b/ncurses-6.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..c56d13ea81e7d05c6e156d30faa11a56bf0253c7 Binary files /dev/null and b/ncurses-6.2.tar.gz differ diff --git a/ncurses_build.sh b/ncurses_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..db847873704a3fc4ecc56ef8194092cb74bdf566 --- /dev/null +++ b/ncurses_build.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/ncurses_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf ncurses-6.2 +tar -xf ncurses-6.2.tar.gz +cd ncurses-6.2 +mkdir -p build +cd build + +export CFLAGS="-fPIC" +export CXXFLAGS="-fPIC" +../configure --with-normal --enable-overwrite +make install DESTDIR=$TMP_DIR + +mkdir -p $PREFIX +cp -r $TMP_DIR/usr/lib $TMP_DIR/usr/include $PREFIX diff --git a/oblogmsg-1.0.tar.gz b/oblogmsg-1.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7889a0030cc53008bb12230a6ad2297a6ec4dcc2 Binary files /dev/null and b/oblogmsg-1.0.tar.gz differ diff --git a/oblogmsg.diff b/oblogmsg.diff new file mode 100644 index 0000000000000000000000000000000000000000..5a06a5ddcef661097dcdad9f912e52fb363801b2 --- /dev/null +++ b/oblogmsg.diff @@ -0,0 +1,102 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 6b3d0b0..92adffd 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -39,10 +39,10 @@ endif () + add_subdirectory(src) + + if(OBLOGMSG_MASTER_PROJECT) +- message(STATUS "git submodule update --init third_party/googletest") +- execute_process(COMMAND git submodule update --init third_party/googletest +- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} +- COMMAND_ERROR_IS_FATAL ANY) ++ #message(STATUS "git submodule update --init third_party/googletest") ++ #execute_process(COMMAND git submodule update --init third_party/googletest ++ # WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} ++ # COMMAND_ERROR_IS_FATAL ANY) + set(BUILD_GMOCK OFF CACHE INTERNAL "Builds the googlemock subproject") + set(INSTALL_GTEST OFF CACHE INTERNAL "Enable installation of googletest. (Projects embedding googletest may want to turn this OFF.)") + add_subdirectory(third_party/googletest) +diff --git a/build.sh b/build.sh +index 977de31..08b102e 100755 +--- a/build.sh ++++ b/build.sh +@@ -1,12 +1,13 @@ + #!/bin/sh + + TOPDIR=`readlink -f \`dirname $0\`` ++PARENTDIR=$(dirname "$(dirname "$TOPDIR")") + BUILD_SH=$TOPDIR/build.sh + + ALL_ARGS=("$@") + DEP_DIR=${TOPDIR}/deps/3rd/usr/local/oceanbase/deps/devel + TOOLS_DIR=${TOPDIR}/deps/3rd/usr/local/oceanbase/devtools +-CMAKE_COMMAND="${TOOLS_DIR}/bin/cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DBUILD_AS_MAIN_PROJECT=ON" ++CMAKE_COMMAND="${PARENTDIR}/3rd/usr/local/oceanbase/devtools/bin/cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=1 -DBUILD_AS_MAIN_PROJECT=ON" + + echo "$0 ${ALL_ARGS[@]}" + +diff --git a/cmake/Env.cmake b/cmake/Env.cmake +index bcd0ab8..e281d9a 100644 +--- a/cmake/Env.cmake ++++ b/cmake/Env.cmake +@@ -1,5 +1,8 @@ +-ob_define(DEVTOOLS_DIR "${CMAKE_SOURCE_DIR}/deps/3rd/usr/local/oceanbase/devtools") +-ob_define(DEP_DIR "${CMAKE_SOURCE_DIR}/deps/3rd/usr/local/oceanbase/deps/devel") ++get_filename_component(PARENT_DIR ${CMAKE_SOURCE_DIR} DIRECTORY) ++get_filename_component(GRANDPARENT_DIR ${PARENT_DIR} DIRECTORY) ++ ++ob_define(DEVTOOLS_DIR "${GRANDPARENT_DIR}/3rd/usr/local/oceanbase/devtools") ++ob_define(DEP_DIR "${GRANDPARENT_DIR}/3rd/usr/local/oceanbase/deps/devel") + + set(CMAKE_C_COMPILER "${DEVTOOLS_DIR}/bin/gcc") + set(CMAKE_CXX_COMPILER "${DEVTOOLS_DIR}/bin/g++") +diff --git a/deps/3rd/dep_create.sh b/deps/3rd/dep_create.sh +index 9f41213..cc3e136 100644 +--- a/deps/3rd/dep_create.sh ++++ b/deps/3rd/dep_create.sh +@@ -78,6 +78,9 @@ function get_os_release() { + rocky) + version_ge "8.0" && compat_centos8 && return + ;; ++ openEuler) ++ version_ge "22.03" && compat_centos8 && return ++ ;; + esac + elif [[ "${OS_ARCH}x" == "aarch64x" ]]; then + case "$ID" in +@@ -89,6 +92,9 @@ function get_os_release() { + version_ge "8.0" && OS_RELEASE=8 && return + version_ge "7.0" && OS_RELEASE=7 && return + ;; ++ openEuler) ++ version_ge "22.03" && compat_centos8 && return ++ ;; + esac + elif [[ "${OS_ARCH}x" == "sw_64x" ]]; then + case "$ID" in +diff --git a/deps/3rd/logmessage.el8.aarch64.deps b/deps/3rd/logmessage.el8.aarch64.deps +index a8c6b12..624128e 100644 +--- a/deps/3rd/logmessage.el8.aarch64.deps ++++ b/deps/3rd/logmessage.el8.aarch64.deps +@@ -4,5 +4,5 @@ arch=aarch64 + repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/8/aarch64/ + + [tools] +-obdevtools-cmake-3.22.1-22022100417.el8.aarch64.rpm +-obdevtools-gcc9-9.3.0-52022092914.el8.aarch64.rpm ++#obdevtools-cmake-3.22.1-22022100417.el8.aarch64.rpm ++#obdevtools-gcc9-9.3.0-52022092914.el8.aarch64.rpm +diff --git a/deps/3rd/logmessage.el8.x86_64.deps b/deps/3rd/logmessage.el8.x86_64.deps +index 5086055..95b7ed1 100644 +--- a/deps/3rd/logmessage.el8.x86_64.deps ++++ b/deps/3rd/logmessage.el8.x86_64.deps +@@ -4,6 +4,6 @@ arch=x86_64 + repo=http://mirrors.aliyun.com/oceanbase/development-kit/el/8/x86_64/ + + [tools] +-obdevtools-cmake-3.22.1-22022100417.el8.x86_64.rpm +-obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm ++#obdevtools-cmake-3.22.1-22022100417.el8.x86_64.rpm ++#obdevtools-gcc9-9.3.0-52022092914.el8.x86_64.rpm + diff --git a/oblogmsg_build.sh b/oblogmsg_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..1fe2c790a35c06e4dadd0e50b370f894e6e4c61a --- /dev/null +++ b/oblogmsg_build.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools +export PATH=$TOOLS_DIR/bin/:$PATH + +mkdir -p $PREFIX/lib +mkdir -p $PREFIX/include/oblogmsg + +rm -rf oblogmsg-1.0 +tar -xf oblogmsg-1.0.tar.gz +cd oblogmsg-1.0 + +cp $CUR_DIR/oblogmsg.diff . +patch -p1 < oblogmsg.diff + +DEVTOOLS_DIR=/root/oceanbase/deps/3rd/usr/local/oceanbase/devtools +DEP_DIR=/root/oceanbase/deps/3rd/usr/local/oceanbase/deps/devel + +bash build.sh init +bash build.sh release +cd build_release +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} + +cd .. +cp build_release/src/liboblogmsg.a $PREFIX/lib/ +cp build_release/src/liboblogmsg.so $PREFIX/lib/ +cp include/*.h $PREFIX/include/oblogmsg/ diff --git a/obshell-4.2.3.tar.gz b/obshell-4.2.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..f1ac4c90862569b4b630c73905b9fcdb7911b801 Binary files /dev/null and b/obshell-4.2.3.tar.gz differ diff --git a/obshell_build.sh b/obshell_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..ab6a7121cc5a7f83d38de043c824099f9155c2af --- /dev/null +++ b/obshell_build.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/home/admin/oceanbase/ + +mkdir -p $PREFIX/bin + +# go env +rm -rf go +OS_ARCH="$(uname -m)" +if [ "${OS_ARCH}x" = "x86_64x" ]; then + tar -xf go1.21.4.linux-amd64.tar.gz +elif [ "${OS_ARCH}x" = "aarch64x" ]; then + tar -xf go1.21.4.linux-arm64.tar.gz +else + echo "Not support arch" + exit 1 +fi +export PATH=$PATH:${CUR_DIR}/go/bin + +export GO111MODULE=on +export GOPROXY=https://goproxy.cn + +export GOROOT=`go env GOROOT` +export GOPATH=`go env GOPATH` +export PATH=$PATH:$GOROOT/bin +export PATH=$PATH:$GOPATH/bin + +go install github.com/go-bindata/go-bindata/...@latest +go install github.com/swaggo/swag/cmd/swag@latest + +# build obshell +rm -rf obshell-4.2.3 +tar -xf obshell-4.2.3.tar.gz +cd obshell-4.2.3 + +make pre-build +make build-release + +cp bin/obshell $PREFIX/bin/ diff --git a/oceanbase-ce-4.2.1.4.tar.gz b/oceanbase-ce-4.2.1.7.tar.gz similarity index 77% rename from oceanbase-ce-4.2.1.4.tar.gz rename to oceanbase-ce-4.2.1.7.tar.gz index 847706e67f4be5eca4d353f9eff9969ce0821ec6..fb8423cf6d8b999aee99ff4fe662adc2c2271359 100644 Binary files a/oceanbase-ce-4.2.1.4.tar.gz and b/oceanbase-ce-4.2.1.7.tar.gz differ diff --git a/oceanbase-ce.spec b/oceanbase-ce.spec index 913d7d1696b9b17281b06c0da8c7da5739f3e89c..5e9dabb3a7a02dfe94fe138e9bf5ef0af94da1a6 100644 --- a/oceanbase-ce.spec +++ b/oceanbase-ce.spec @@ -1,7 +1,7 @@ -%define euler_release 104000052024022918 +%define euler_release 107000022024053117 Name: oceanbase-ce -Version: 4.2.1.4 +Version: 4.2.1.7 Release: %{euler_release} Summary: oceanbase-ce Group: Applications/Databases @@ -10,9 +10,105 @@ Url: https://open.oceanbase.com/ Vendor: OceanBase Inc. Prefix: /home/admin/oceanbase Requires: curl, jq, systemd, oceanbase-ce-libs = %{version} -BuildRequires: wget, rpm, cpio, make, glibc-devel, glibc-headers, binutils, m4, python3, libtool, libaio +BuildRequires: git, wget, rpm, cpio, make, glibc-devel, glibc-headers, binutils, m4, python3, libtool, libaio, gcc-c++, cmake, expat-devel, libcurl-devel, libstdc++-devel, automake, autoconf, zlib, zlib-devel Autoreq: 0 Source0: oceanbase-ce-%{version}.tar.gz +Source1: gcc-9.3.0.tar.gz +Source2: gcc_build.sh +Source3: mpc-1.0.3.tar.gz +Source4: mpfr-3.1.4.tar.bz2 +Source5: gmp-6.1.0.tar.bz2 +Source6: isl-0.18.tar.bz2 +Source7: llvm-11.0.1.src.tar.xz +Source8: lld-11.0.1.src.tar.xz +Source9: clang-11.0.1.src.tar.xz +Source10: compiler-rt-11.0.1.src.tar.xz +Source11: llvm_build.sh +Source12: cmake-3.22.1.tar.gz +Source13: cmake_build.sh +Source14: binutils-2.30.tar.bz2 +Source15: binutils_build.sh +Source16: bison-2.4.1.tar.bz2 +Source17: bison_build.sh +Source18: ccache-3.7.12.tar.gz +Source19: ccache_build.sh +Source20: flex-2.5.35.tar.bz2 +Source21: flex_build.sh + +Source22: googletest-release-1.8.0.tar.gz +Source23: gtest_build.sh +Source24: isa-l-2.22.0.tar.gz +Source25: yasm-1.3.0.tar.gz +Source26: isa_build.sh +Source27: curl-7.29.0.tar.gz +Source28: libcurl_build.sh +Source29: libunwind-1.6.2.tar.gz +Source30: libunwind_build.sh + +Source31: mariadb-connector-c-3.1.12.tar.gz +Source32: mariadb-connector-c_build.sh +Source33: libaio-0.3.112.tar.xz +Source34: libaio_build.sh +Source35: devdeps-relaxed-rapidjson-1.0.0.zip +Source36: devdeps-relaxed-rapidjson.diff +Source37: rapidjson_build.sh +Source38: openssl-1.1.1u.tar.gz +Source39: openssl_build.sh + +Source40: libxml2-2.10.3.tar.xz +Source41: libxml2_build.sh +Source42: mxml-2.12.zip +Source43: mxml_build.sh +Source44: xz-5.2.2.tar.gz +Source45: xz_build.sh +Source46: lua-5.4.3.tar.gz +Source47: lua_build.sh + +Source48: ncurses-6.2.tar.gz +Source49: ncurses_build.sh +Source50: boost_1_74_0.tar.bz2 +Source51: boost_build.sh +Source52: s2geometry-0.9.0.tar.gz +Source53: s2geometry_build.sh +Source54: aws-sdk-cpp-1.11.156.tar.gz +Source55: s3_build.sh + +Source56: apr-1.6.5.tar.gz +Source57: apr-util-1.6.1.tar.gz +Source58: apr_build.sh +Source59: zlib-1.2.13.tar.gz +Source60: zlib_build.sh +Source61: aliyun-oss-c-sdk-3.9.2.tar.gz +Source62: oss-c-sdk_build.sh +Source63: icu-release-69-1.tar.gz +Source64: CMakeLists.txt +Source65: icu_build.sh + +Source66: protobuf-all-3.20.3.tar.gz +Source67: protobuf-c-1.4.1.tar.gz +Source68: protobuf_build.sh +Source69: rocksdb-6.22.1.tar.gz +Source70: rocksdb_build.sh + +Source71: oblogmsg-1.0.tar.gz +Source72: oblogmsg.diff +Source73: oblogmsg_build.sh + +Source74: apr-1.7.4.tar.gz +Source75: apr-util-1.6.3.tar.gz +Source76: cos-c-sdk-5.0.16.tar.gz +Source77: cos_build.sh +Source78: curl-8.1.2.tar.gz +Source79: expat-2.6.2.tar.gz +Source80: mxml-3.3.tar.gz +Source81: cos_diff.patch + +Source82: go1.21.4.linux-amd64.tar.gz +Source83: go1.21.4.linux-arm64.tar.gz +Source84: obshell-4.2.3.tar.gz +Source85: obshell_build.sh +Source86: s2geometry-0.9.0-uint64.patch + Patch0: diff.patch %global daemon_name oceanbase @@ -76,16 +172,70 @@ Debug information is useful when developing applications that use this package or when debugging this package. %prep -%setup -q +%setup -q -n oceanbase-ce-4.2.1.7 +mkdir -p deps/3rd_party +cp %{SOURCE1} %{SOURCE2} %{SOURCE3} %{SOURCE4} %{SOURCE5} %{SOURCE6} %{SOURCE7} %{SOURCE8} %{SOURCE9} %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16} %{SOURCE17} %{SOURCE18} %{SOURCE19} %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE25} %{SOURCE26} %{SOURCE27} %{SOURCE28} %{SOURCE29} %{SOURCE30} deps/3rd_party +cp %{SOURCE31} %{SOURCE32} %{SOURCE33} %{SOURCE34} %{SOURCE35} %{SOURCE36} %{SOURCE37} %{SOURCE38} %{SOURCE39} deps/3rd_party +cp %{SOURCE40} %{SOURCE41} %{SOURCE42} %{SOURCE43} %{SOURCE44} %{SOURCE45} %{SOURCE46} %{SOURCE47} deps/3rd_party +cp %{SOURCE48} %{SOURCE49} %{SOURCE50} %{SOURCE51} %{SOURCE52} %{SOURCE53} %{SOURCE54} %{SOURCE55} deps/3rd_party +cp %{SOURCE56} %{SOURCE57} %{SOURCE58} %{SOURCE59} %{SOURCE60} %{SOURCE61} %{SOURCE62} %{SOURCE63} %{SOURCE64} %{SOURCE65} deps/3rd_party +cp %{SOURCE66} %{SOURCE67} %{SOURCE68} %{SOURCE69} %{SOURCE70} deps/3rd_party +cp %{SOURCE71} %{SOURCE72} %{SOURCE73} deps/3rd_party +cp %{SOURCE74} %{SOURCE75} %{SOURCE76} %{SOURCE77} %{SOURCE78} %{SOURCE79} %{SOURCE80} %{SOURCE81} deps/3rd_party +cp %{SOURCE82} %{SOURCE83} %{SOURCE84} %{SOURCE85} %{SOURCE86} deps/3rd_party %patch0 -p1 %build chmod u+x build.sh bash build.sh clean -bash build.sh release -DOB_BUILD_RPM=ON -DENABLE_FATAL_ERROR_HANG=OFF -DENABLE_AUTO_FDO=ON -DENABLE_THIN_LTO=ON \ - -DOB_STATIC_LINK_LGPL_DEPS=OFF -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLTO_JOBS=%{lto_jobs} --init -cd build_release +sh build.sh init +cd deps/3rd_party +bash gcc_build.sh +bash llvm_build.sh +bash cmake_build.sh +bash binutils_build.sh +bash bison_build.sh +bash ccache_build.sh +bash flex_build.sh + +bash gtest_build.sh +bash isa_build.sh +bash libcurl_build.sh +bash libunwind_build.sh + +bash mariadb-connector-c_build.sh +bash libaio_build.sh +bash rapidjson_build.sh +bash openssl_build.sh + +bash libxml2_build.sh +bash mxml_build.sh +bash xz_build.sh +bash lua_build.sh + +bash ncurses_build.sh +bash boost_build.sh +bash s2geometry_build.sh +bash s3_build.sh + +bash apr_build.sh +bash zlib_build.sh +bash oss-c-sdk_build.sh +bash icu_build.sh + +bash protobuf_build.sh +bash rocksdb_build.sh +bash oblogmsg_build.sh +bash cos_build.sh +bash obshell_build.sh +cd ../.. +#bash build.sh release -DOB_BUILD_PACKAGE=ON -DENABLE_FATAL_ERROR_HANG=OFF -DENABLE_AUTO_FDO=ON -DENABLE_THIN_LTO=ON \ +# -DOB_STATIC_LINK_LGPL_DEPS=OFF -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLTO_JOBS=%{lto_jobs} --init +#cd build_release + +bash build.sh debug -DOB_BUILD_PACKAGE=ON -DENABLE_FATAL_ERROR_HANG=OFF -DOB_STATIC_LINK_LGPL_DEPS=OFF -DCMAKE_INSTALL_PREFIX=%{_prefix} +cd build_debug make observer ob_sql_proxy_parser_static obtable obtable_static ob_admin ob_error -j16; make install DESTDIR=$RPM_BUILD_ROOT @@ -220,6 +370,9 @@ if [ $1 -eq 0 ]; then fi %changelog +* Thu Jul 18 2024 wangzelin - 4.2.1.7-107000022024053117 +- new features: update version to 4.2.1.7 and features patch + * Thu Apr 25 2024 wangzelin - 4.2.1.4-104000052024022918 - new features: optimize systemd - fix bugs: update license diff --git a/openssl-1.1.1u.tar.gz b/openssl-1.1.1u.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..385e492a0dac951def84b74112e94b8fd19d34ff Binary files /dev/null and b/openssl-1.1.1u.tar.gz differ diff --git a/openssl_build.sh b/openssl_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..ea6f046386949a936ff89e437eba4f8e3eb49285 --- /dev/null +++ b/openssl_build.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/openssl_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +unset RELEASE +rm -rf openssl-1.1.1u +tar -xf openssl-1.1.1u.tar.gz +cd openssl-1.1.1u +./config --prefix=$TMP_DIR -fPIC no-shared --openssldir=$TMP_DIR +make depend +make all +make install_sw + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX diff --git a/oss-c-sdk_build.sh b/oss-c-sdk_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..56ee0c4fbc4a828c31d8c0dccaf17380cbf0f956 --- /dev/null +++ b/oss-c-sdk_build.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +rm -rf aliyun-oss-c-sdk-3.9.2 +tar -xf aliyun-oss-c-sdk-3.9.2.tar.gz +cd aliyun-oss-c-sdk-3.9.2 +source_dir=$(pwd) + +# replace path +sed -i 's?/usr/bin /usr/local/bin /usr/local/apr/bin/?/usr/local/oceanbase/deps/devel/bin?g' ${source_dir}/CMakeLists.txt +sed -i 's?FIND_PROGRAM(CURL_CONFIG_BIN NAMES curl-config)?FIND_PROGRAM(CURL_CONFIG_BIN NAMES curl-config PATHS /usr/local/oceanbase/deps/devel/bin)?g' ${source_dir}/CMakeLists.txt +sed -i 's/add_subdirectory(oss_c_sdk_test)/#add_subdirectory(oss_c_sdk_test)/g' ${source_dir}/CMakeLists.txt +sed -i 's/add_subdirectory(oss_c_sdk_sample)/#add_subdirectory(oss_c_sdk_sample)/g' ${source_dir}/CMakeLists.txt +sed -i '115a include_directories("/usr/local/oceanbase/deps/devel/include/mxml")' ${source_dir}/CMakeLists.txt + +DEP_DIR=$PREFIX +echo $DEP_DIR +export C_INCLUDE_PATH=$DEP_DIR/include/apr-1:$DEP_DIR/include/mxml:$C_INCLUDE_PATH +export CPLUS_INCLUDE_PATH=$DEP_DIR/include/apr-1:$DEP_DIR/include/mxml:$CPLUS_INCLUDE_PATH + +mkdir -p build +cd build +cmake -DCMAKE_INSTALL_PREFIX=$PREFIX -G 'Unix Makefiles' .. +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/protobuf-all-3.20.3.tar.gz b/protobuf-all-3.20.3.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..fef4ed6ac11a359f671f7f3e86c40b3ba2011f3a Binary files /dev/null and b/protobuf-all-3.20.3.tar.gz differ diff --git a/protobuf-c-1.4.1.tar.gz b/protobuf-c-1.4.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..662ecfc930b4a28c69ec1b8b24026cb1f0e9cdc8 Binary files /dev/null and b/protobuf-c-1.4.1.tar.gz differ diff --git a/protobuf_build.sh b/protobuf_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..d0d0963a343f7eb761f320361e1285e1affb32e2 --- /dev/null +++ b/protobuf_build.sh @@ -0,0 +1,37 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +mkdir -p $PREFIX/lib/protobuf-c +mkdir -p $PREFIX/include/protobuf-c + +TMP_DIR=$CUR_DIR/protobuf_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf protobuf-3.20.3 +tar -xf protobuf-all-3.20.3.tar.gz +cd protobuf-3.20.3 +mkdir -p build +cd build +../configure --prefix=$TMP_DIR/proto +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install + +cd $CUR_DIR +rm -rf protobuf-c-1.4.1 +tar -xf protobuf-c-1.4.1.tar.gz +cd protobuf-c-1.4.1 +export PKG_CONFIG_PATH=$TMP_DIR/proto/lib/pkgconfig +mkdir -p build +cd build +../configure --prefix=$TMP_DIR --enable-shared=yes CFLAGS="-g -O2 -fPIC" CXXFLAGS="-g -O2 -fPIC" +make -j${CPU_CORES} +make install + +cp $TMP_DIR/include/protobuf-c/*.h $PREFIX/include/protobuf-c +cp $TMP_DIR/lib/*.a $PREFIX/lib/ diff --git a/rapidjson_build.sh b/rapidjson_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..6b639bdc1f97e6280d5b4e36925e951c22df1962 --- /dev/null +++ b/rapidjson_build.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +RAPIDJSON_DIR=$CUR_DIR/rapidjson-27c3a8dc0e2c9218fe94986d249a12b5ed838f1d + +rm -rf $RAPIDJSON_DIR +unzip devdeps-relaxed-rapidjson-1.0.0.zip +cd $RAPIDJSON_DIR +echo "move patch file here "$(pwd) +cp $CUR_DIR/devdeps-relaxed-rapidjson.diff . +patch -p1 < devdeps-relaxed-rapidjson.diff + +mkdir -p $PREFIX/include +cd $RAPIDJSON_DIR +cp -r include/rapidjson $PREFIX/include diff --git a/rocksdb-6.22.1.tar.gz b/rocksdb-6.22.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..4b105b0f501dd90a665a48fd4ab98c027aa5fd68 Binary files /dev/null and b/rocksdb-6.22.1.tar.gz differ diff --git a/rocksdb_build.sh b/rocksdb_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..7f1bdd34fe6e65bf92d76ee18fd0ba0d85daed8f --- /dev/null +++ b/rocksdb_build.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +export PATH=$TOOLS_DIR/bin:$PATH + +rm -rf rocksdb-6.22.1 +tar -xf rocksdb-6.22.1.tar.gz +cd rocksdb-6.22.1 +mkdir -p build +cd build +cmake .. -DCMAKE_INSTALL_PREFIX=$PREFIX -DCMAKE_BUILD_TYPE=Release -DWITH_GFLAGS=0 -DPORTABLE=ON \ + -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -lrt' +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/s2geometry-0.9.0-uint64.patch b/s2geometry-0.9.0-uint64.patch new file mode 100644 index 0000000000000000000000000000000000000000..27f5556bd0518270b1dc53bdd58c17157e9c7c36 --- /dev/null +++ b/s2geometry-0.9.0-uint64.patch @@ -0,0 +1,96 @@ +diff --git src/s2/third_party/absl/base/internal/unaligned_access.h src/s2/third_party/absl/base/internal/unaligned_access.h +index 6f7a703..399e7a4 100644 +--- src/s2/third_party/absl/base/internal/unaligned_access.h ++++ src/s2/third_party/absl/base/internal/unaligned_access.h +@@ -80,7 +80,7 @@ inline uint32_t UnalignedLoad32(const void *p) { + return __sanitizer_unaligned_load32(p); + } + +-inline uint64 UnalignedLoad64(const void *p) { ++inline uint64_t UnalignedLoad64(const void *p) { + return __sanitizer_unaligned_load64(p); + } + +@@ -92,7 +92,7 @@ inline void UnalignedStore32(void *p, uint32_t v) { + __sanitizer_unaligned_store32(p, v); + } + +-inline void UnalignedStore64(void *p, uint64 v) { ++inline void UnalignedStore64(void *p, uint64_t v) { + __sanitizer_unaligned_store64(p, v); + } + +@@ -130,8 +130,8 @@ inline uint32_t UnalignedLoad32(const void *p) { + return t; + } + +-inline uint64 UnalignedLoad64(const void *p) { +- uint64 t; ++inline uint64_t UnalignedLoad64(const void *p) { ++ uint64_t t; + memcpy(&t, p, sizeof t); + return t; + } +@@ -140,7 +140,7 @@ inline void UnalignedStore16(void *p, uint16_t v) { memcpy(p, &v, sizeof v); } + + inline void UnalignedStore32(void *p, uint32_t v) { memcpy(p, &v, sizeof v); } + +-inline void UnalignedStore64(void *p, uint64 v) { memcpy(p, &v, sizeof v); } ++inline void UnalignedStore64(void *p, uint64_t v) { memcpy(p, &v, sizeof v); } + + } // namespace base_internal + } // namespace absl +@@ -172,14 +172,14 @@ inline void UnalignedStore64(void *p, uint64 v) { memcpy(p, &v, sizeof v); } + #define ABSL_INTERNAL_UNALIGNED_LOAD32(_p) \ + (*reinterpret_cast(_p)) + #define ABSL_INTERNAL_UNALIGNED_LOAD64(_p) \ +- (*reinterpret_cast(_p)) ++ (*reinterpret_cast(_p)) + + #define ABSL_INTERNAL_UNALIGNED_STORE16(_p, _val) \ + (*reinterpret_cast(_p) = (_val)) + #define ABSL_INTERNAL_UNALIGNED_STORE32(_p, _val) \ + (*reinterpret_cast(_p) = (_val)) + #define ABSL_INTERNAL_UNALIGNED_STORE64(_p, _val) \ +- (*reinterpret_cast(_p) = (_val)) ++ (*reinterpret_cast(_p) = (_val)) + + #elif defined(__arm__) && \ + !defined(__ARM_ARCH_5__) && \ +@@ -246,13 +246,13 @@ struct Unaligned32Struct { + namespace absl { + namespace base_internal { + +-inline uint64 UnalignedLoad64(const void *p) { +- uint64 t; ++inline uint64_t UnalignedLoad64(const void *p) { ++ uint64_t t; + memcpy(&t, p, sizeof t); + return t; + } + +-inline void UnalignedStore64(void *p, uint64 v) { memcpy(p, &v, sizeof v); } ++inline void UnalignedStore64(void *p, uint64_t v) { memcpy(p, &v, sizeof v); } + + } // namespace base_internal + } // namespace absl +@@ -286,8 +286,8 @@ inline uint32_t UnalignedLoad32(const void *p) { + return t; + } + +-inline uint64 UnalignedLoad64(const void *p) { +- uint64 t; ++inline uint64_t UnalignedLoad64(const void *p) { ++ uint64_t t; + memcpy(&t, p, sizeof t); + return t; + } +@@ -296,7 +296,7 @@ inline void UnalignedStore16(void *p, uint16_t v) { memcpy(p, &v, sizeof v); } + + inline void UnalignedStore32(void *p, uint32_t v) { memcpy(p, &v, sizeof v); } + +-inline void UnalignedStore64(void *p, uint64 v) { memcpy(p, &v, sizeof v); } ++inline void UnalignedStore64(void *p, uint64_t v) { memcpy(p, &v, sizeof v); } + + } // namespace base_internal + } // namespace absl diff --git a/s2geometry-0.9.0.tar.gz b/s2geometry-0.9.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..309704257b9d66682b08241979759b10b4e51adb Binary files /dev/null and b/s2geometry-0.9.0.tar.gz differ diff --git a/s2geometry_build.sh b/s2geometry_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..55760af765ff1f041e6a13f60a73ace63926b520 --- /dev/null +++ b/s2geometry_build.sh @@ -0,0 +1,50 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +mkdir -p $PREFIX/include/s2 +mkdir -p $PREFIX/lib + +rm -rf s2geometry-0.9.0 +tar -xf s2geometry-0.9.0.tar.gz +cd s2geometry-0.9.0 +source_dir=$(pwd) +tmp_install_dir=${source_dir}/tmp_install_dir +build_dir=${source_dir}/build +rm -rf ${tmp_install_dir} +rm -rf ${build_dir} +mkdir -p ${tmp_install_dir} +mkdir -p ${build_dir} + +# disable compiling python interface +sed -i '/find_package(SWIG)/d' ${source_dir}/CMakeLists.txt +sed -i '/find_package(PythonInterp)/d' ${source_dir}/CMakeLists.txt +sed -i '/find_package(PythonLibs)/d' ${source_dir}/CMakeLists.txt + +# disable compiling test file +sed -i '/add_library(s2testing STATIC/d' ${source_dir}/CMakeLists.txt +sed -i '/s2builderutil_testing.cc/d' ${source_dir}/CMakeLists.txt +sed -i '/s2shapeutil_testing.cc/d' ${source_dir}/CMakeLists.txt +sed -i '/s2testing.cc/d' ${source_dir}/CMakeLists.txt +sed -i 's/install(TARGETS s2 s2testing DESTINATION lib)/install(TARGETS s2 DESTINATION lib)/' ${source_dir}/CMakeLists.txt + +# fix uint64 error in aarch64: https://github.com/google/s2geometry/pull/166 +cp ${source_dir}/../s2geometry-0.9.0-uint64.patch ${source_dir} +patch -p0 < s2geometry-0.9.0-uint64.patch + +export PATH=$TOOLS_DIR/bin/:$PATH +export CC=$TOOLS_DIR/bin/gcc +export CXX=$TOOLS_DIR/bin/g++ + +cd ${build_dir} +OPENSSL_ROOT_DIR=$PREFIX cmake .. -DCMAKE_INSTALL_PREFIX=${tmp_install_dir} -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_BUILD_TYPE=Release +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install + +cp -r ${tmp_install_dir}/include/s2/* $PREFIX/include/s2 +cp -r ${tmp_install_dir}/lib/* $PREFIX/lib diff --git a/s3_build.sh b/s3_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..d6edb9c1228fe0a4edb054276528106d68641ba9 --- /dev/null +++ b/s3_build.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel +TOOLS_DIR=$DEVTOOL_DIR/usr/local/oceanbase/devtools + +export PATH=$TOOLS_DIR/bin/:$PATH + +TMP_DIR=$CUR_DIR/s3_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf aws-sdk-cpp-1.11.156 +tar -zxf aws-sdk-cpp-1.11.156.tar.gz +cd aws-sdk-cpp-1.11.156 +sh prefetch_crt_dependency.sh +mkdir -p build +cd build +cmake .. -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR=$PREFIX \ + -DCURL_INCLUDE_DIR=$PREFIX/include -DCURL_LIBRARY=$PREFIX/lib/libcurl.a \ + -DCMAKE_INSTALL_PREFIX=$TMP_DIR -DCMAKE_PREFIX_PATH=$PREFIX \ + -DBUILD_ONLY="s3" -DBUILD_SHARED_LIBS=0 -DENABLE_TESTING=0 \ + -DCUSTOM_MEMORY_MANAGEMENT=1 -DAWS_CUSTOM_MEMORY_MANAGEMENT=1 +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES}; +make install + +cp -r $TMP_DIR/lib64 $TMP_DIR/include $PREFIX diff --git a/xz-5.2.2.tar.gz b/xz-5.2.2.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..b11deb57c9c682bb728223e19e951d682524621b Binary files /dev/null and b/xz-5.2.2.tar.gz differ diff --git a/xz_build.sh b/xz_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..29b509092a2665769a385879b6ba128c7cb61da0 --- /dev/null +++ b/xz_build.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +rm -rf xz-5.2.2 +tar -xvf xz-5.2.2.tar.gz +cd xz-5.2.2 +mkdir -p build +cd build +../configure --prefix=$PREFIX --enable-static --with-pic=yes +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install diff --git a/yasm-1.3.0.tar.gz b/yasm-1.3.0.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..665692ba8045c1c5f4c39b326424e39d21a4e7e7 Binary files /dev/null and b/yasm-1.3.0.tar.gz differ diff --git a/zlib-1.2.13.tar.gz b/zlib-1.2.13.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..adf740834fcce1eb379b7bdc921c0a079a169551 Binary files /dev/null and b/zlib-1.2.13.tar.gz differ diff --git a/zlib_build.sh b/zlib_build.sh new file mode 100644 index 0000000000000000000000000000000000000000..ac4ac3172a4b19ec5910c1d413278137c4a02559 --- /dev/null +++ b/zlib_build.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +CUR_DIR=$(dirname $(readlink -f "$0")) +ROOT_DIR=$(dirname $CUR_DIR) +DEVTOOL_DIR=$ROOT_DIR/3rd +PREFIX=$DEVTOOL_DIR/usr/local/oceanbase/deps/devel + +TMP_DIR=$CUR_DIR/zlib_tmp +rm -rf $TMP_DIR +mkdir -p $TMP_DIR + +rm -rf zlib-1.2.13 +tar -xzvf zlib-1.2.13.tar.gz +cd zlib-1.2.13 + +CFLAGS='-fPIC' CXXFLAGS='-fPIC' ./configure --prefix=$TMP_DIR --static +CPU_CORES=`grep -c ^processor /proc/cpuinfo` +make -j${CPU_CORES} +make install + +mkdir -p $PREFIX +cp -r $TMP_DIR/lib $TMP_DIR/include $PREFIX