Package init
This commit is contained in:
parent
28fc75abb5
commit
0b3c91b288
238
sqlite-jdbc-3.15.1-build.patch
Normal file
238
sqlite-jdbc-3.15.1-build.patch
Normal file
@ -0,0 +1,238 @@
|
||||
diff -Nru sqlite-jdbc-3.15.1/Makefile sqlite-jdbc-3.15.1.build/Makefile
|
||||
--- sqlite-jdbc-3.15.1/Makefile 2016-11-04 21:42:29.000000000 +0100
|
||||
+++ sqlite-jdbc-3.15.1.build/Makefile 2016-11-06 12:15:06.926445700 +0100
|
||||
@@ -3,45 +3,37 @@
|
||||
|
||||
RESOURCE_DIR = src/main/resources
|
||||
|
||||
-.phony: all package win32 win64 mac32 linux32 linux64 linux-arm linux-armhf native native-all deploy
|
||||
+.phony: all package win32 win64 mac32 linux native native-all deploy
|
||||
|
||||
all: jni-header package
|
||||
|
||||
deploy:
|
||||
- mvn package deploy -DperformRelease=true
|
||||
|
||||
-MVN:=mvn
|
||||
+
|
||||
+MVN:=xmvn -o
|
||||
SRC:=src/main/java
|
||||
SQLITE_OUT:=$(TARGET)/$(sqlite)-$(OS_NAME)-$(OS_ARCH)
|
||||
-SQLITE_ARCHIVE:=$(TARGET)/$(sqlite)-amal.zip
|
||||
-SQLITE_UNPACKED:=$(TARGET)/sqlite-unpack.log
|
||||
-SQLITE_AMAL_DIR=$(TARGET)/$(SQLITE_AMAL_PREFIX)
|
||||
+#SQLITE_ARCHIVE:=$(TARGET)/$(sqlite)-amal.zip
|
||||
+#SQLITE_UNPACKED:=$(TARGET)/sqlite-unpack.log
|
||||
+#SQLITE_AMAL_DIR=$(TARGET)/$(SQLITE_AMAL_PREFIX)
|
||||
|
||||
-CCFLAGS:= -I$(SQLITE_OUT) -I$(SQLITE_AMAL_DIR) $(CCFLAGS)
|
||||
+CCFLAGS:= -I$(SQLITE_OUT) $(CCFLAGS) -lsqlite3
|
||||
|
||||
$(SQLITE_ARCHIVE):
|
||||
- @mkdir -p $(@D)
|
||||
- curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2016/$(SQLITE_AMAL_PREFIX).zip || \
|
||||
- curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2015/$(SQLITE_AMAL_PREFIX).zip || \
|
||||
- curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2014/$(SQLITE_AMAL_PREFIX).zip || \
|
||||
- curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/2013/$(SQLITE_AMAL_PREFIX).zip || \
|
||||
- curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/$(SQLITE_AMAL_PREFIX).zip || \
|
||||
- curl -L --max-redirs 0 -f -o$@ http://www.sqlite.org/$(SQLITE_OLD_AMAL_PREFIX).zip
|
||||
+
|
||||
|
||||
$(SQLITE_UNPACKED): $(SQLITE_ARCHIVE)
|
||||
- unzip -qo $< -d $(TARGET)/tmp.$(version)
|
||||
- (mv $(TARGET)/tmp.$(version)/$(SQLITE_AMAL_PREFIX) $(TARGET) && rmdir $(TARGET)/tmp.$(version)) || mv $(TARGET)/tmp.$(version)/ $(TARGET)/$(SQLITE_AMAL_PREFIX)
|
||||
- touch $@
|
||||
|
||||
|
||||
-$(TARGET)/common-lib/org/sqlite/%.class: src/main/java/org/sqlite/%.java
|
||||
+
|
||||
+$(SQLITE_OUT)/org/sqlite/%.class: src/main/java/org/sqlite/%.java
|
||||
@mkdir -p $(@D)
|
||||
- $(JAVAC) -source 1.5 -target 1.5 -sourcepath $(SRC) -d $(TARGET)/common-lib $<
|
||||
+ $(JAVAC) -source 1.6 -target 1.6 -sourcepath $(SRC) -d $(SQLITE_OUT) $<
|
||||
|
||||
-jni-header: $(TARGET)/common-lib/NativeDB.h
|
||||
+jni-header: $(SQLITE_OUT)/NativeDB.h
|
||||
|
||||
-$(TARGET)/common-lib/NativeDB.h: $(TARGET)/common-lib/org/sqlite/core/NativeDB.class
|
||||
- $(JAVAH) -classpath $(TARGET)/common-lib -jni -o $@ org.sqlite.core.NativeDB
|
||||
+$(SQLITE_OUT)/NativeDB.h: $(SQLITE_OUT)/org/sqlite/core/NativeDB.class
|
||||
+ $(JAVAH) -classpath $(SQLITE_OUT) -jni -o $@ org.sqlite.core.NativeDB
|
||||
|
||||
test:
|
||||
mvn test
|
||||
@@ -50,35 +42,11 @@
|
||||
|
||||
|
||||
$(SQLITE_OUT)/sqlite3.o : $(SQLITE_UNPACKED)
|
||||
- @mkdir -p $(@D)
|
||||
- perl -p -e "s/sqlite3_api;/sqlite3_api = 0;/g" \
|
||||
- $(SQLITE_AMAL_DIR)/sqlite3ext.h > $(SQLITE_OUT)/sqlite3ext.h
|
||||
-# insert a code for loading extension functions
|
||||
- perl -p -e "s/^opendb_out:/ if(!db->mallocFailed && rc==SQLITE_OK){ rc = RegisterExtensionFunctions(db); }\nopendb_out:/;" \
|
||||
- $(SQLITE_AMAL_DIR)/sqlite3.c > $(SQLITE_OUT)/sqlite3.c
|
||||
- cat src/main/ext/*.c >> $(SQLITE_OUT)/sqlite3.c
|
||||
- $(CC) -o $@ -c $(CCFLAGS) \
|
||||
- -DSQLITE_ENABLE_LOAD_EXTENSION=1 \
|
||||
- -DSQLITE_HAVE_ISNAN \
|
||||
- -DSQLITE_HAVE_USLEEP \
|
||||
- -DSQLITE_ENABLE_UPDATE_DELETE_LIMIT \
|
||||
- -DSQLITE_ENABLE_COLUMN_METADATA \
|
||||
- -DSQLITE_CORE \
|
||||
- -DSQLITE_ENABLE_FTS3 \
|
||||
- -DSQLITE_ENABLE_FTS3_PARENTHESIS \
|
||||
- -DSQLITE_ENABLE_FTS5 \
|
||||
- -DSQLITE_ENABLE_JSON1 \
|
||||
- -DSQLITE_ENABLE_RTREE \
|
||||
- -DSQLITE_ENABLE_STAT2 \
|
||||
- -DSQLITE_THREADSAFE=1 \
|
||||
- -DSQLITE_DEFAULT_MEMSTATUS=0 \
|
||||
- -DSQLITE_MAX_VARIABLE_NUMBER=250000 \
|
||||
- $(SQLITE_FLAGS) \
|
||||
- $(SQLITE_OUT)/sqlite3.c
|
||||
|
||||
-$(SQLITE_OUT)/$(LIBNAME): $(SQLITE_OUT)/sqlite3.o $(SRC)/org/sqlite/core/NativeDB.c
|
||||
+
|
||||
+$(SQLITE_OUT)/$(LIBNAME): $(SQLITE_OUT)/sqlite3.o $(SRC)/org/sqlite/core/NativeDB.c $(SQLITE_OUT)/NativeDB.h
|
||||
@mkdir -p $(@D)
|
||||
- $(CC) $(CCFLAGS) -I $(TARGET)/common-lib -c -o $(SQLITE_OUT)/NativeDB.o $(SRC)/org/sqlite/core/NativeDB.c
|
||||
+ $(CC) $(CCFLAGS) -I $(SQLITE_OUT) -c -o $(SQLITE_OUT)/NativeDB.o $(SRC)/org/sqlite/core/NativeDB.c
|
||||
$(CC) $(CCFLAGS) -o $@ $(SQLITE_OUT)/*.o $(LINKFLAGS)
|
||||
$(STRIP) $@
|
||||
|
||||
@@ -88,7 +56,7 @@
|
||||
NATIVE_DLL:=$(NATIVE_DIR)/$(LIBNAME)
|
||||
|
||||
# For cross-compilation, install docker. See also https://github.com/dockcross/dockcross
|
||||
-native-all: native win32 win64 linux32 linux64 linux-arm linux-armhf
|
||||
+native-all: native linux
|
||||
|
||||
native: $(SQLITE_UNPACKED) $(NATIVE_DLL)
|
||||
|
||||
@@ -99,33 +67,23 @@
|
||||
cp $< $(NATIVE_TARGET_DIR)/$(LIBNAME)
|
||||
|
||||
win32: $(SQLITE_UNPACKED) jni-header
|
||||
- ./docker/dockcross-windows-x86 bash -c 'make clean-native native CROSS_PREFIX=i686-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86'
|
||||
-
|
||||
-win64: $(SQLITE_UNPACKED) jni-header
|
||||
- ./docker/dockcross-windows-x64 bash -c 'make clean-native native CROSS_PREFIX=x86_64-w64-mingw32.static- OS_NAME=Windows OS_ARCH=x86_64'
|
||||
|
||||
-linux32: $(SQLITE_UNPACKED) jni-header
|
||||
- docker run -ti -v $$PWD:/work xerial/centos5-linux-x86 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86'
|
||||
|
||||
-linux64: $(SQLITE_UNPACKED) jni-header
|
||||
- docker run -ti -v $$PWD:/work xerial/centos5-linux-x86_64 bash -c 'make clean-native native OS_NAME=Linux OS_ARCH=x86_64'
|
||||
+win64: $(SQLITE_UNPACKED) jni-header
|
||||
|
||||
-linux-arm: $(SQLITE_UNPACKED) jni-header
|
||||
- ./docker/dockcross-armv5 bash -c 'make clean-native native CROSS_PREFIX=arm-linux-gnueabi- OS_NAME=Linux OS_ARCH=arm'
|
||||
|
||||
-linux-armhf: $(SQLITE_UNPACKED) jni-header
|
||||
- ./docker/dockcross-armv6 bash -c 'make clean-native native CROSS_PREFIX=arm-linux-gnueabihf- OS_NAME=Linux OS_ARCH=armhf'
|
||||
+linux: $(SQLITE_UNPACKED) jni-header
|
||||
+ $(MAKE) native OS_NAME=Linux OS_ARCH=$(OS_ARCH)
|
||||
|
||||
sparcv9:
|
||||
- $(MAKE) native OS_NAME=SunOS OS_ARCH=sparcv9
|
||||
+
|
||||
|
||||
# deprecated
|
||||
mac32:
|
||||
- $(MAKE) native OS_NAME=Mac OS_ARCH=x86
|
||||
+
|
||||
|
||||
package: native-all
|
||||
- rm -rf target/dependency-maven-plugin-markers
|
||||
- $(MVN) package
|
||||
+
|
||||
|
||||
clean-native:
|
||||
rm -rf $(SQLITE_OUT)
|
||||
@@ -138,7 +96,7 @@
|
||||
rm -rf $(TARGET)/{surefire*,testdb.jar*}
|
||||
|
||||
docker-linux64:
|
||||
- docker build -f docker/Dockerfile.linux_x86_64 -t xerial/centos5-linux-x86-64 .
|
||||
+
|
||||
|
||||
docker-linux32:
|
||||
- docker build -f docker/Dockerfile.linux_x86 -t xerial/centos5-linux-x86 .
|
||||
+
|
||||
diff -Nru sqlite-jdbc-3.15.1/Makefile.common sqlite-jdbc-3.15.1.build/Makefile.common
|
||||
--- sqlite-jdbc-3.15.1/Makefile.common 2016-11-04 21:42:29.000000000 +0100
|
||||
+++ sqlite-jdbc-3.15.1.build/Makefile.common 2016-11-06 11:58:31.575085824 +0100
|
||||
@@ -47,50 +47,24 @@
|
||||
|
||||
# os=Default is meant to be generic unix/linux
|
||||
|
||||
-known_targets := Linux-x86 Linux-x86_64 Linux-arm Linux-armhf Mac-x86 Mac-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9
|
||||
+known_targets := Linux Mac-x86 Mac-x86_64 FreeBSD-x86_64 OpenBSD-x86_64 Windows-x86 Windows-x86_64 SunOS-sparcv9
|
||||
target := $(OS_NAME)-$(OS_ARCH)
|
||||
|
||||
-ifeq (,$(findstring $(strip $(target)),$(known_targets)))
|
||||
- target := Default
|
||||
+ifeq ($(OS_NAME),Linux)
|
||||
+ target := $(OS_NAME)
|
||||
+else
|
||||
+ target := $(OS_NAME)-$(OS_ARCH)
|
||||
endif
|
||||
|
||||
# cross-compilation toolchain prefix (e.g. "arm-linux-gnueabi-")
|
||||
CROSS_PREFIX :=
|
||||
|
||||
-Default_CC := $(CROSS_PREFIX)gcc
|
||||
-Default_STRIP := $(CROSS_PREFIX)strip
|
||||
-Default_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -Os -fPIC -fvisibility=hidden
|
||||
-Default_LINKFLAGS := -shared
|
||||
-Default_LIBNAME := libsqlitejdbc.so
|
||||
-Default_SQLITE_FLAGS :=
|
||||
-
|
||||
-Linux-x86_CC := $(CROSS_PREFIX)gcc
|
||||
-Linux-x86_STRIP := $(CROSS_PREFIX)strip
|
||||
-Linux-x86_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -O2 -fPIC -m32 -fvisibility=hidden
|
||||
-Linux-x86_LINKFLAGS := -shared -static-libgcc
|
||||
-Linux-x86_LIBNAME := libsqlitejdbc.so
|
||||
-Linux-x86_SQLITE_FLAGS :=
|
||||
-
|
||||
-Linux-x86_64_CC := $(CROSS_PREFIX)gcc
|
||||
-Linux-x86_64_STRIP := $(CROSS_PREFIX)strip
|
||||
-Linux-x86_64_CCFLAGS := -Ilib/inc_linux -I$(JAVA_HOME)/include -O2 -fPIC -m64 -fvisibility=hidden
|
||||
-Linux-x86_64_LINKFLAGS := -shared -static-libgcc
|
||||
-Linux-x86_64_LIBNAME := libsqlitejdbc.so
|
||||
-Linux-x86_64_SQLITE_FLAGS :=
|
||||
-
|
||||
-Linux-arm_CC := $(CROSS_PREFIX)gcc
|
||||
-Linux-arm_STRIP := $(CROSS_PREFIX)strip
|
||||
-Linux-arm_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -O2 -fPIC -mfloat-abi=softfp -mfpu=vfp -fvisibility=hidden
|
||||
-Linux-arm_LINKFLAGS := -shared -static-libgcc
|
||||
-Linux-arm_LIBNAME := libsqlitejdbc.so
|
||||
-Linux-arm_SQLITE_FLAGS :=
|
||||
-
|
||||
-Linux-armhf_CC := $(CROSS_PREFIX)gcc
|
||||
-Linux-armhf_STRIP := $(CROSS_PREFIX)strip
|
||||
-Linux-armhf_CCFLAGS := -I$(JAVA_HOME)/include -Ilib/inc_linux -O2 -mfloat-abi=hard -mfpu=vfp -fPIC -fvisibility=hidden
|
||||
-Linux-armhf_LINKFLAGS := -shared -static-libgcc
|
||||
-Linux-armhf_LIBNAME := libsqlitejdbc.so
|
||||
-Linux-armhf_SQLITE_FLAGS :=
|
||||
+Linux_CC := gcc
|
||||
+Linux_STRIP := strip
|
||||
+Linux_CCFLAGS := -I$(JAVA_HOME)/include $(CCFLAGS) -fPIC -fvisibility=hidden
|
||||
+Linux_LINKFLAGS := -shared -static-libgcc
|
||||
+Linux_LIBNAME := libsqlitejdbc.so
|
||||
+Linux_SQLITE_FLAGS :=
|
||||
|
||||
FreeBSD-x86_64_CC := $(CROSS_PREFIX)cc
|
||||
FreeBSD-x86_64_STRIP := $(CROSS_PREFIX)strip
|
||||
diff -Nru sqlite-jdbc-3.15.1/pom.xml sqlite-jdbc-3.15.1.build/pom.xml
|
||||
--- sqlite-jdbc-3.15.1/pom.xml 2016-11-04 21:42:29.000000000 +0100
|
||||
+++ sqlite-jdbc-3.15.1.build/pom.xml 2016-11-06 11:54:16.840693425 +0100
|
||||
@@ -84,7 +84,7 @@
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.1</version>
|
||||
<configuration>
|
||||
- <source>1.5</source>
|
||||
+ <source>1.6</source>
|
||||
<target>1.6</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
BIN
sqlite-jdbc-3.15.1.tar.gz
Normal file
BIN
sqlite-jdbc-3.15.1.tar.gz
Normal file
Binary file not shown.
102
sqlite-jdbc.spec
Normal file
102
sqlite-jdbc.spec
Normal file
@ -0,0 +1,102 @@
|
||||
%global debug_package %nil
|
||||
Name: sqlite-jdbc
|
||||
Version: 3.15.1
|
||||
Release: 1
|
||||
Summary: SQLite JDBC library
|
||||
License: ASL 2.0 and BSD and ISC
|
||||
URL: https://github.com/xerial/sqlite-jdbc
|
||||
Source0: https://github.com/xerial/sqlite-jdbc/archive/%{version}/sqlite-jdbc-%{version}.tar.gz
|
||||
Patch0: sqlite-jdbc-3.15.1-build.patch
|
||||
BuildRequires: gcc maven-local mvn(junit:junit) mvn(org.apache.felix:maven-bundle-plugin)
|
||||
BuildRequires: mvn(org.apache.maven.plugins:maven-antrun-plugin)
|
||||
BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:) sqlite-devel
|
||||
%description
|
||||
SQLite JDBC, is a library for accessing and
|
||||
creating SQLite database files in Java.
|
||||
|
||||
%package javadoc
|
||||
Summary: Javadoc for %{name}
|
||||
BuildArch: noarch
|
||||
%description javadoc
|
||||
This package contains javadoc for %{name}.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
find . -name "*.class" -delete
|
||||
find . -name "*.jar" ! -name "testdb.jar" -delete
|
||||
find -name "*.jnilib" -print -delete
|
||||
find -name "*.dll" -print -delete
|
||||
find -name "*.so" -print -delete
|
||||
find -name "*.h" -print -delete
|
||||
rm -r archive/* docker/*
|
||||
rm -r src/test/java/org/sqlite/ExtensionTest.java
|
||||
sed -i '/ExtensionTest/d' src/test/java/org/sqlite/AllTests.java
|
||||
rm -r src/test/java/org/sqlite/TransactionTest.java
|
||||
sed -i '/TransactionTest/d' src/test/java/org/sqlite/AllTests.java
|
||||
%ifarch %{power64}
|
||||
rm -r src/test/java/org/sqlite/SQLiteDataSourceTest.java
|
||||
sed -i '/SQLiteDataSourceTest/d' src/test/java/org/sqlite/AllTests.java
|
||||
%endif
|
||||
%patch0 -p1
|
||||
%pom_add_plugin org.apache.maven.plugins:maven-antrun-plugin:1.7 . '
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>com.sun</groupId>
|
||||
<artifactId>tools</artifactId>
|
||||
<version>1.8.0</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>compile</id>
|
||||
<phase>process-classes</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<javac destdir="lib"
|
||||
srcdir="lib"
|
||||
source="1.6" target="1.6" debug="on"
|
||||
classpathref="maven.plugin.classpath">
|
||||
<include name="**/OSInfo.java"/>
|
||||
</javac>
|
||||
<exec executable="make">
|
||||
<arg line="%{?_smp_mflags}
|
||||
JAVA_HOME=%{_jvmdir}/java
|
||||
JAVA=%{_jvmdir}/java/bin/java
|
||||
JAVAC=%{_jvmdir}/java/bin/javac
|
||||
JAVAH=%{_jvmdir}/java/bin/javah
|
||||
native"/>
|
||||
</exec>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>'
|
||||
cp -p src/main/java/org/sqlite/util/OSInfo.java lib/org/sqlite/
|
||||
sed -i "s|package org.sqlite.util;|package org.sqlite;|" lib/org/sqlite/OSInfo.java
|
||||
%mvn_file org.xerial:%{name} %{name}
|
||||
|
||||
%build
|
||||
%ifarch %{arm}
|
||||
opts='-f'
|
||||
%endif
|
||||
sed -i 's|$(CCFLAGS) -I|$(CCFLAGS) $(CFLAGS) -I|' Makefile
|
||||
CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ;
|
||||
sed -i 's|$(CCFLAGS) -o|$(CCFLAGS) $(LDFLAGS) -o|' Makefile
|
||||
LDFLAGS="${LDFLAGS:-%__global_ldflags}"; export LDFLAGS;
|
||||
%mvn_build $opts -- -Dmaven.test.failure.ignore=true
|
||||
|
||||
%install
|
||||
%mvn_install
|
||||
|
||||
%files -f .mfiles
|
||||
%doc CHANGELOG README.md Usage.md
|
||||
%license LICENSE* NOTICE
|
||||
|
||||
%files javadoc -f .mfiles-javadoc
|
||||
%license LICENSE* NOTICE
|
||||
|
||||
%changelog
|
||||
* Mon Aug 3 2020 Jeffery.Gao <gaojianxing@huawei.com> - 3.15.1-1
|
||||
- Package init
|
||||
5
sqlite-jdbc.yaml
Normal file
5
sqlite-jdbc.yaml
Normal file
@ -0,0 +1,5 @@
|
||||
git_url: https://github.com/xerial/sqlite-jdbc
|
||||
version_control: github
|
||||
src_repo: xerial/sqlite-jdbc
|
||||
tag_prefix: "^"
|
||||
seperator: "."
|
||||
Loading…
x
Reference in New Issue
Block a user