Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
duniter
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Monitor
Service Desk
Analyze
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
nodes
typescript
duniter
Commits
78eca00b
Commit
78eca00b
authored
5 years ago
by
Stéphane Veyret
Committed by
Éloïs
5 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Use Makefile in build-*
parent
4ec7e797
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
release/arch/arm/build-arm.sh
+8
-35
8 additions, 35 deletions
release/arch/arm/build-arm.sh
release/arch/linux/build-lin.sh
+11
-109
11 additions, 109 deletions
release/arch/linux/build-lin.sh
release/extra/debian/package/DEBIAN/postinst
+2
-4
2 additions, 4 deletions
release/extra/debian/package/DEBIAN/postinst
with
21 additions
and
148 deletions
release/arch/arm/build-arm.sh
+
8
−
35
View file @
78eca00b
...
@@ -10,7 +10,6 @@ NODE_VERSION=10.20.1
...
@@ -10,7 +10,6 @@ NODE_VERSION=10.20.1
ARCH
=
"
`
uname
-m
|
sed
-e
\"
s/86_//
\"
`
"
ARCH
=
"
`
uname
-m
|
sed
-e
\"
s/86_//
\"
`
"
NVER
=
"v
$NODE_VERSION
"
NVER
=
"v
$NODE_VERSION
"
DUNITER_TAG
=
$1
DUNITER_TAG
=
$1
DUNITER_UI_VER
=
"1.7.x"
# Folders
# Folders
INITIAL_DIRECTORY
=
`
pwd
`
INITIAL_DIRECTORY
=
`
pwd
`
...
@@ -63,54 +62,28 @@ fi
...
@@ -63,54 +62,28 @@ fi
rm
-rf
"
$RELEASES
"
rm
-rf
"
$RELEASES
"
mkdir
-p
"
$RELEASES
"
mkdir
-p
"
$RELEASES
"
cp
-r
"
$DOWNLOADS
/duniter"
"
$RELEASES
/duniter"
cd
"
$DOWNLOADS
/duniter"
echo
"Build Duniter server with GUI..."
make
-C
release server-gui clean
mv
"
$DOWNLOADS
/duniter/work"
"
$RELEASES
/duniter"
cd
${
RELEASES
}
/duniter
cd
${
RELEASES
}
/duniter
echo
"Copying Nodejs"
echo
"Copying Nodejs"
cp
-R
"
$DOWNLOADS
/node-
${
NVER
}
-linux-
${
ARCH
}
"
node
cp
-R
"
$DOWNLOADS
/node-
${
NVER
}
-linux-
${
ARCH
}
"
node
# Build Duniter with GUI
echo
"Build Duniter with GUI..."
export
NEON_BUILD_RELEASE
=
"true"
npm add
"duniter-ui@
${
DUNITER_UI_VER
}
"
||
exit
1
npm i
||
exit
1
npm prune
--production
||
exit
1
SRC
=
`
pwd
`
echo
$SRC
# Clean unused UI modules
rm
-Rf
node_modules/duniter-ui/node_modules
# Remove non production folders
rm
-rf
coverage
test
# Remove unused rust intermediate binaries
rm
-rf
target
rm
-rf
neon/native/target
# Remove typescript files
find ./
\(
-name
"*.js.map"
-o
-name
"*.d.ts"
-o
-name
"*.ts"
\)
-delete
cd
..
cd
..
mkdir
-p
duniter_release
cp
-R
${
SRC
}
/
*
duniter_release/
# Creating DEB packaging
# Creating DEB packaging
mv
duniter_release
/release/extra/debian/package duniter-
${
ARCH
}
cp
-r
"
$DOWNLOADS
"
/duniter
/release/extra/debian/package duniter-
${
ARCH
}
mkdir
-p
duniter-
${
ARCH
}
/opt/duniter/
mkdir
-p
duniter-
${
ARCH
}
/opt/duniter/
mkdir
-p
duniter-
${
ARCH
}
/etc/bash_completion.d/
mkdir
-p
duniter-
${
ARCH
}
/etc/bash_completion.d/
chmod
755 duniter-
${
ARCH
}
/DEBIAN/post
*
chmod
755 duniter-
${
ARCH
}
/DEBIAN/post
*
chmod
755 duniter-
${
ARCH
}
/DEBIAN/pre
*
chmod
755 duniter-
${
ARCH
}
/DEBIAN/pre
*
sed
-i
"s/Version:.*/Version:
$DUNITER_DEB_VER
/g"
duniter-
${
ARCH
}
/DEBIAN/control
sed
-i
"s/Version:.*/Version:
$DUNITER_DEB_VER
/g"
duniter-
${
ARCH
}
/DEBIAN/control
echo
"Extra..."
echo
"Extra..."
mv
duniter_release
/release/extra/completion/duniter_completion.bash duniter-
${
ARCH
}
/etc/bash_completion.d/duniter_completion.bash
cp
"
$DOWNLOADS
"
/duniter
/release/extra/completion/duniter_completion.bash duniter-
${
ARCH
}
/etc/bash_completion.d/duniter_completion.bash
echo
"Zipping..."
echo
"Zipping..."
cd
duniter_release
cd
duniter
pwd
rm
-Rf
.git
zip
-qr
../duniter.zip
*
zip
-qr
../duniter.zip
*
cd
..
/
cd
..
mv
duniter.zip duniter-
${
ARCH
}
/opt/duniter/
mv
duniter.zip duniter-
${
ARCH
}
/opt/duniter/
echo
"Making package package"
echo
"Making package package"
fakeroot dpkg-deb
--build
duniter-
${
ARCH
}
fakeroot dpkg-deb
--build
duniter-
${
ARCH
}
...
...
This diff is collapsed.
Click to expand it.
release/arch/linux/build-lin.sh
100644 → 100755
+
11
−
109
View file @
78eca00b
...
@@ -11,52 +11,6 @@ else
...
@@ -11,52 +11,6 @@ else
exit
1
exit
1
fi
fi
# ---------
# Functions
# ---------
# Copy nw.js compiled module released library to node libraries.
# -
# Parameters:
# 1. Module name.
nw_copy
()
{
[[
-z
${
1
}
]]
&&
exit
1
from_folder
=
lib/binding/Release/node-webkit-v
${
NW_VERSION
}
-linux-x64
if
[[
!
-z
${
2
}
]]
;
then
from_folder
=
${
2
}
fi
local
dest
=
lib/binding/Release/node-v
${
ADDON_VERSION
}
-linux-x64
mkdir
-p
${
dest
}
cp
${
from_folder
}
/
${
1
}
.node
\
${
dest
}
/
${
1
}
.node
||
exit
1
}
# Copy nw.js compiled module library to node libraries, prefixing with node_.
# -
# Parameters:
# 1. Module name.
nw_copy_node
()
{
[[
-z
${
1
}
]]
&&
exit
1
local
dest
=
lib/binding/node-v
${
ADDON_VERSION
}
-linux-x64
/
mkdir
-p
${
dest
}
cp
lib/binding/node-webkit-v
${
NW_VERSION
}
-linux-x64
/node_
${
1
}
.node
\
${
dest
}
/node_
${
1
}
.node
||
exit
1
}
# Compile the module with nw.js.
# -
# Parameters:
# 1. Module name.
# 2. Action to be done to module after compilation, if needed.
nw_compile
()
{
[[
-z
${
1
}
]]
&&
exit
1
cd
${
1
}
||
exit
1
node-pre-gyp
--runtime
=
node-webkit
--target
=
${
NW_VERSION
}
configure
||
exit
1
node-pre-gyp
--runtime
=
node-webkit
--target
=
${
NW_VERSION
}
build
||
exit
1
[[
-z
${
2
}
]]
||
${
2
}
${
1
}
${
3
}
cd
..
}
# Create description.
# Create description.
# -
# -
# Parameters:
# Parameters:
...
@@ -110,7 +64,7 @@ build_deb_pack() {
...
@@ -110,7 +64,7 @@ build_deb_pack() {
sed
-i
"s/Version:.*/Version:
${
DUNITER_DEB_VER
}
/g"
"
${
RELEASES
}
/duniter-x64/DEBIAN/control"
||
exit
1
sed
-i
"s/Version:.*/Version:
${
DUNITER_DEB_VER
}
/g"
"
${
RELEASES
}
/duniter-x64/DEBIAN/control"
||
exit
1
cd
"
${
RELEASES
}
/
${
1
}
_/"
cd
"
${
RELEASES
}
/
${
1
}
_/"
zip
-qr
"
${
RELEASES
}
/duniter-x64/opt/duniter/duniter.zip"
*
||
exit
1
zip
-
y
qr
"
${
RELEASES
}
/duniter-x64/opt/duniter/duniter.zip"
*
||
exit
1
sed
-i
"s/Package: .*/Package:
${
2
}
/g"
"
${
RELEASES
}
/duniter-x64/DEBIAN/control"
||
exit
1
sed
-i
"s/Package: .*/Package:
${
2
}
/g"
"
${
RELEASES
}
/duniter-x64/DEBIAN/control"
||
exit
1
...
@@ -128,17 +82,9 @@ NODE_VERSION=10.20.1
...
@@ -128,17 +82,9 @@ NODE_VERSION=10.20.1
NVER
=
"v
${
NODE_VERSION
}
"
NVER
=
"v
${
NODE_VERSION
}
"
DUNITER_TAG
=
"v
${
1
}
"
DUNITER_TAG
=
"v
${
1
}
"
DUNITER_DEB_VER
=
"
${
1
}
"
DUNITER_DEB_VER
=
"
${
1
}
"
ADDON_VERSION
=
64
NW_VERSION
=
0.33.1
NW_RELEASE
=
"v
${
NW_VERSION
}
"
NW
=
"nwjs-
${
NW_RELEASE
}
-linux-x64"
NW_GZ
=
"
${
NW
}
.tar.gz"
DUNITER_UI_VER
=
"1.7.x"
nvm
install
${
NVER
}
||
exit
1
nvm
install
${
NVER
}
||
exit
1
nvm use
${
NVER
}
||
exit
1
nvm use
${
NVER
}
||
exit
1
npm
install
-g
node-pre-gyp
||
exit
1
npm
install
-g
nw-gyp
||
exit
1
curl https://sh.rustup.rs
-sSf
| sh
-s
--
-y
curl https://sh.rustup.rs
-sSf
| sh
-s
--
-y
export
PATH
=
"
$HOME
/.cargo/bin:
$PATH
"
export
PATH
=
"
$HOME
/.cargo/bin:
$PATH
"
...
@@ -150,7 +96,8 @@ ROOT="${PWD}"
...
@@ -150,7 +96,8 @@ ROOT="${PWD}"
WORK_NAME
=
work
WORK_NAME
=
work
WORK
=
"
${
ROOT
}
/
${
WORK_NAME
}
"
WORK
=
"
${
ROOT
}
/
${
WORK_NAME
}
"
DOWNLOADS
=
"
${
WORK
}
/downloads"
DOWNLOADS
=
"
${
WORK
}
/downloads"
RELEASES
=
"
${
WORK
}
/releases"
RELEASES_SUBDIR
=
"releases"
RELEASES
=
"
${
WORK
}
/
${
RELEASES_SUBDIR
}
"
BIN
=
"
${
WORK
}
/bin"
BIN
=
"
${
WORK
}
/bin"
mkdir
-p
"
${
DOWNLOADS
}
"
"
${
RELEASES
}
"
"
${
BIN
}
"
||
exit
1
mkdir
-p
"
${
DOWNLOADS
}
"
"
${
RELEASES
}
"
"
${
BIN
}
"
||
exit
1
...
@@ -161,9 +108,6 @@ rm -rf "${BIN}/"*.{deb,tar.gz}{,.desc} # Clean up
...
@@ -161,9 +108,6 @@ rm -rf "${BIN}/"*.{deb,tar.gz}{,.desc} # Clean up
# -----------
# -----------
cd
"
${
DOWNLOADS
}
"
cd
"
${
DOWNLOADS
}
"
curl
-O
https://dl.nwjs.io/
${
NW_RELEASE
}
/
${
NW_GZ
}
||
exit
1
tar
xzf
${
NW_GZ
}
||
exit
1
rm
${
NW_GZ
}
curl
-O
http://nodejs.org/dist/
${
NVER
}
/node-
${
NVER
}
-linux-x64
.tar.gz
||
exit
1
curl
-O
http://nodejs.org/dist/
${
NVER
}
/node-
${
NVER
}
-linux-x64
.tar.gz
||
exit
1
tar
xzf node-
${
NVER
}
-linux-x64
.tar.gz
||
exit
1
tar
xzf node-
${
NVER
}
-linux-x64
.tar.gz
||
exit
1
rm
node-
${
NVER
}
-linux-x64
.tar.gz
rm
node-
${
NVER
}
-linux-x64
.tar.gz
...
@@ -172,73 +116,31 @@ rm node-${NVER}-linux-x64.tar.gz
...
@@ -172,73 +116,31 @@ rm node-${NVER}-linux-x64.tar.gz
# Releases
# Releases
# -----------
# -----------
# Prepare sources
pushd
"
${
ROOT
}
"
mkdir
-p
"
${
RELEASES
}
/duniter"
||
exit
1
make
-C
release
DEST
=
"
${
RELEASES_SUBDIR
}
/duniter"
base-gui
||
exit
1
cp
-r
$(
find
"
${
ROOT
}
"
-mindepth
1
-maxdepth
1
!
-name
"
${
WORK_NAME
}
"
)
"
${
RELEASES
}
/duniter"
||
exit
1
cp
-pr
"
${
RELEASES
}
/duniter"
"
${
RELEASES
}
/desktop_"
||
exit
1
cd
"
${
RELEASES
}
/duniter"
make
-C
release
DEST
=
"
${
RELEASES_SUBDIR
}
/desktop_"
desktop clean
||
exit
1
rm
-Rf
.gitignore .git
||
exit
1
# Remove git files
cp
-pr
"
${
RELEASES
}
/duniter"
"
${
RELEASES
}
/server_"
||
exit
1
make
-C
release
DEST
=
"
${
RELEASES_SUBDIR
}
/server_"
server-gui clean
||
exit
1
# Build Duniter with GUI
popd
echo
">> VM: building modules..."
export
NEON_BUILD_RELEASE
=
"true"
npm add
"duniter-ui@
${
DUNITER_UI_VER
}
"
||
exit
1
npm i
||
exit
1
npm prune
--production
||
exit
1
# Patch leveldown
cp
"
${
ROOT
}
/release/resources/leveldown-fix.json"
"
${
RELEASES
}
/duniter/node_modules/leveldown/package.json"
||
exit
1
# Remove non production folders
rm
-rf
coverage release
test
# Remove unused rust intermediate binaries
rm
-rf
target
rm
-rf
neon/native/target
# Remove typescript files
find ./
\(
-name
"*.js.map"
-o
-name
"*.d.ts"
-o
-name
"*.ts"
\)
-delete
cp
-r
"
${
RELEASES
}
/duniter"
"
${
RELEASES
}
/desktop_"
||
exit
1
cp
-r
"
${
RELEASES
}
/duniter"
"
${
RELEASES
}
/server_"
||
exit
1
# -------------------------------------
# Build Desktop version against nw.js
# -------------------------------------
echo
"
${
NW_RELEASE
}
"
cd
"
${
RELEASES
}
/desktop_/node_modules/"
nw_compile leveldown nw_copy
"build/Release/"
nw_compile sqlite3 nw_copy_node
# Unused binaries
cd
"
${
RELEASES
}
/desktop_/"
rm
-rf
node_modules/sqlite3/build
# --------------------------------
# --------------------------------
# Embed nw.js in desktop version
# Embed nw.js in desktop version
# --------------------------------
# --------------------------------
#
Install Nw.js
#
Embed Node.js to make Duniter modules installable
mkdir
-p
"
${
RELEASES
}
/desktop_release"
||
exit
1
mkdir
-p
"
${
RELEASES
}
/desktop_release"
||
exit
1
cp
-r
"
${
DOWNLOADS
}
/
${
NW
}
/"
*
"
${
RELEASES
}
/desktop_release/"
||
exit
1
# Embed Node.js with Nw.js to make Duniter modules installable
cp
-r
"
${
DOWNLOADS
}
/node-
${
NVER
}
-linux-x64/lib"
"
${
RELEASES
}
/desktop_release/"
||
exit
1
cp
-r
"
${
DOWNLOADS
}
/node-
${
NVER
}
-linux-x64/lib"
"
${
RELEASES
}
/desktop_release/"
||
exit
1
cp
-r
"
${
DOWNLOADS
}
/node-
${
NVER
}
-linux-x64/include"
"
${
RELEASES
}
/desktop_release/"
||
exit
1
cp
-r
"
${
DOWNLOADS
}
/node-
${
NVER
}
-linux-x64/include"
"
${
RELEASES
}
/desktop_release/"
||
exit
1
cp
-r
"
${
DOWNLOADS
}
/node-
${
NVER
}
-linux-x64/bin"
"
${
RELEASES
}
/desktop_release/"
||
exit
1
cp
-r
"
${
DOWNLOADS
}
/node-
${
NVER
}
-linux-x64/bin"
"
${
RELEASES
}
/desktop_release/"
||
exit
1
# Add some specific files for GUI
cp
"
${
RELEASES
}
/desktop_/gui/"
*
"
${
RELEASES
}
/desktop_release/"
||
exit
1
# Add Duniter sources
# Add Duniter sources
cp
-R
"
${
RELEASES
}
/desktop_/"
*
"
${
RELEASES
}
/desktop_release/"
||
exit
1
cp
-R
"
${
RELEASES
}
/desktop_/"
*
"
${
RELEASES
}
/desktop_release/"
||
exit
1
# Insert Nw specific fields while they do not exist (1.3.3)
sed
-i
"s/
\"
main
\"
:
\"
index.js
\"
,/
\"
main
\"
:
\"
index.html
\"
,/"
"
${
RELEASES
}
/desktop_release/package.json"
||
exit
1
# Add links for Node.js + NPM
# Add links for Node.js + NPM
cd
"
${
RELEASES
}
/desktop_release/bin"
cd
"
${
RELEASES
}
/desktop_release/bin"
ln
-s
"../lib/node_modules/npm/bin/npm-cli.js"
"./npm"
-f
||
exit
1
ln
-s
"../lib/node_modules/npm/bin/npm-cli.js"
"./npm"
-f
||
exit
1
cd
..
cd
..
ln
-s
"./bin/node"
"node"
-f
||
exit
1
ln
-s
"./bin/node"
"node"
-f
||
exit
1
ln
-s
"./bin/npm"
"npm"
-f
||
exit
1
ln
-s
"./bin/npm"
"npm"
-f
||
exit
1
#sed -i "s/\"node-main\": \"\.\.\/sources\/bin\/duniter\",/\"node-main\": \".\/bin\/duniter\",/" "$RELEASES/desktop_release/package.json"
rm
-rf
"
${
RELEASES
}
/desktop_"
rm
-rf
"
${
RELEASES
}
/desktop_"
mv
"
${
RELEASES
}
/desktop_release"
"
${
RELEASES
}
/desktop_"
mv
"
${
RELEASES
}
/desktop_release"
"
${
RELEASES
}
/desktop_"
...
...
This diff is collapsed.
Click to expand it.
release/extra/debian/package/DEBIAN/postinst
+
2
−
4
View file @
78eca00b
...
@@ -11,10 +11,8 @@ if [[ -f $DUN_ROOT/duniter.zip ]]; then
...
@@ -11,10 +11,8 @@ if [[ -f $DUN_ROOT/duniter.zip ]]; then
fi
fi
# Duniter-Desktop
# Duniter-Desktop
if
[[
-f
$DUN_SOURCES
/nw
]]
;
then
if
[[
-f
$DUN_SOURCES
/duniter-desktop
]]
;
then
chmod
+x
$DUN_SOURCES
/nw
$DUN_SOURCES
/lib
$DUN_SOURCES
/locales
ln
-s
$DUN_SOURCES
/duniter-desktop /usr/bin/duniter-desktop
chmod
+rw
$DUN_SOURCES
/nw
$DUN_SOURCES
/lib
$DUN_SOURCES
/locales
ln
-s
$DUN_SOURCES
/nw /usr/bin/duniter-desktop
sed
-i
"s/DEB_PACKAGING=.*/DEB_PACKAGING=true/g"
$DUN_SOURCES
/duniter.sh
sed
-i
"s/DEB_PACKAGING=.*/DEB_PACKAGING=true/g"
$DUN_SOURCES
/duniter.sh
# Links for Node + NPM
# Links for Node + NPM
cd
$DUN_SOURCES
cd
$DUN_SOURCES
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment