Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mkimage-profiles
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
2
Issues
2
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ximper Linux
mkimage-profiles
Commits
4688fa8c
Commit
4688fa8c
authored
Oct 14, 2022
by
Anton Midyukov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
dev: do not configure altlinux user in live (51-hasher)
live user is configured for build if builder-useradd is installed.
parent
4b52bc68
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
1 addition
and
193 deletions
+1
-193
51-hasher
features.in/dev/live/image-scripts.d/51-hasher
+1
-193
No files found.
features.in/dev/live/image-scripts.d/51-hasher
View file @
4688fa8c
...
...
@@ -28,196 +28,4 @@ followed by ${white}service livecd-tmpfs restart${gray} to reconfigure tmpfs
EOH
EOF
# predefined passwordless livecd user
USER
=
"altlinux"
if
!
id
"
$USER
"
>
&/dev/null
;
then
echo
"No such user '
$USER
'"
>
&2
exit
fi
# ~
HOME
=
"/home/
$USER
"
install
-dm750
-o
"
$USER
"
-g
"
$USER
"
"
$HOME
"
# http://altlinux.org/tmpfs
TMP
=
"/tmp/.private/
$USER
"
# we honestly don't know much more
if
type
-t
git
&&
type
-t
su
;
then
su -
-c
"git config --global user.email
$USER
@localhost"
"
$USER
"
su -
-c
"git config --global user.name 'live builder'"
"
$USER
"
fi
>
&/dev/null
# developer should feel comfortable, eh? ;-)
ZSHELL
=
"/bin/zsh"
if
[
-x
"
$ZSHELL
"
]
;
then
chsh
-s
"
$ZSHELL
"
"
$USER
"
install
-m644
-o
"
$USER
"
-g
"
$USER
"
/dev/null
"
$HOME
/.zshrc"
cat
>>
"
$HOME
/.zsh_history"
<<-
EOF
git clone git://git.altlinux.org/gears/m/mkimage-profiles.git && cd mkimage-profiles && make help/distro
make -C /usr/share/mkimage-profiles grub.iso
git clone git://git.altlinux.org/gears/h/hello.git && cd hello && gear-hsh
EOF
fi
if
type
-t
screen
;
then
cat
>>
"
$HOME
/.screenrc"
<<-
EOF
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %72=Load: %l %{wk}"
defscrollback 1000
EOF
fi
>
&/dev/null
cat
>>
"
$HOME
/.profile"
<<
EOF
alias l='ls -l'
alias m='cd /usr/share/mkimage-profiles'
clear
cat << EOH
Welcome to live builder environment!
Here are some ALT package/image build tools prepared for you:
*
${
white
}
gear
${
gray
}
(1) -- see
${
cyan
}
http://en.altlinux.org/gear
${
gray
}
;
*
${
white
}
hsh
${
gray
}
(1) -- see
${
cyan
}
http://en.altlinux.org/hasher
${
gray
}
;
*
${
white
}
mkimage
${
gray
}
-- see
${
cyan
}
http://en.altlinux.org/mkimage
${
gray
}
;
*
${
white
}
mkimage-profiles
${
gray
}
described in Russian at
${
cyan
}
http://altlinux.org/m-p
${
gray
}
Examples (use right/middle mouse button to paste; see ~/hasher/repo/):
*
${
white
}
git clone git://git.altlinux.org/gears/h/hello.git && cd hello && gear-hsh
${
gray
}
*
${
white
}
make -C /usr/share/mkimage-profiles grub.iso
${
gray
}
EOH
EOF
# rpm
sed
-i
'/^%_tmppath.*tmp$/d'
"
$HOME
/.rpmmacros"
cat
<<
EOF
>> "
$HOME
/.rpmmacros"
%packager Unknown <nobody@altlinux.org>
%_target_cpu
$ARCH
%_tmppath
$TMP
%_sourcedir %{_topsrcdir}/SOURCES/%name
EOF
# hasher
WORKDIR
=
"
$TMP
/hasher"
ln
-s
"
$WORKDIR
"
"
$HOME
/hasher"
mkdir
"
$HOME
/.hasher"
cat
>>
"
$HOME
/.hasher/config"
<<
EOF
packager="\
$(
rpm
--eval
%packager
)
"
def_target=
$ARCH
export GCC_USE_CCACHE=1
mkdir -p "
$WORKDIR
"
EOF
# create apt.conf for supported ARCHES and BRANCHES
# use format: $BRANCH-$ARCH
create_apt_conf
()
{
local
PORTS
=
local
SIGN
=
local
BRANCH
=
$(
echo
"
$1
"
|
cut
-f1
-d
'-'
)
local
ARCH
=
$(
echo
"
$1
"
|
cut
-f2
-d
'-'
)
local
EXT_BRANCH
=
$(
echo
"
$1
"
|
cut
-f3
-d
'-'
)
[
-n
"
$ARCH
"
]
||
[
-n
"
$BRANCH
"
]
||
exit
1
[
-z
"
$EXT_BRANCH
"
]
||
[
"
$EXT_BRANCH
"
=
port
]
||
exit
1
[
"
$EXT_BRANCH
"
=
port
]
&&
PORTS
=
1
if
[
"
$BRANCH
"
=
sisyphus
]
;
then
BRANCH_PATH
=
Sisyphus
SIGN
=
'[alt]'
else
BRANCH_PATH
=
$BRANCH
/branch
SIGN
=
"[
$BRANCH
]"
fi
if
[
-n
"
$PORTS
"
]
;
then
if
[
"
$BRANCH
"
=
sisyphus
]
;
then
BRANCH_PATH
=
ports/
$ARCH
/Sisyphus
else
BRANCH_PATH
=
ports/
$ARCH
/
$BRANCH
fi
SIGN
=
"[
$BRANCH
-
$ARCH
]"
fi
mkdir
-p
"
$HOME
/apt/lists/partial"
\
"
$HOME
/apt/cache/
$BRANCH
/
$ARCH
/archives/partial"
\
"
$HOME
/apt/cache/
$BRANCH
/noarch/archives/partial"
cat
>
"
$HOME
/apt/apt.conf.
$BRANCH
.
$ARCH
"
<<
EOF
Dir::Etc::main "/dev/null";
Dir::Etc::SourceParts "/var/empty";
Dir::Etc::SourceList "
$HOME
/apt/sources.list.
$BRANCH
.
$ARCH
";
Dir::State::lists "
$HOME
/apt/lists/";
Dir::Cache "
$HOME
/apt/cache/
$BRANCH
/
$ARCH
";
;Debug::pkgMarkInstall "true";
;Debug::pkgProblemResolver "true";
EOF
cat
>
"
$HOME
/apt/sources.list.
$BRANCH
.
$ARCH
"
<<
EOF
rpm-dir file://
$HOME
/hasher/repo
$ARCH
hasher
# Official repo (slow)
#rpm
$SIGN
http://ftp.altlinux.org/pub/distributions/ALTLinux/
$BRANCH_PATH
$ARCH
classic
#rpm
$SIGN
http://ftp.altlinux.org/pub/distributions/ALTLinux/
$BRANCH_PATH
noarch classic
# Yandex mirror (fast)
rpm
$SIGN
http://mirror.yandex.ru/altlinux/
$BRANCH_PATH
$ARCH
classic
rpm
$SIGN
http://mirror.yandex.ru/altlinux/
$BRANCH_PATH
noarch classic
EOF
}
target_apt_confs
=
"
sisyphus-x86_64
sisyphus-i586
sisyphus-aarch64
sisyphus-armh
sisyphus-ppc64le
sisyphus-mipsel-port
sisyphus-riscv64-port
p10-x86_64
p10-i586
p10-aarch64
p10-armh
p10-ppc64le
p9-x86_64
p9-i586
p9-aarch64
p9-armh
p9-ppc64le
p9-mipsel-port
"
for
target_apt_conf
in
$target_apt_confs
;
do
create_apt_conf
"
$target_apt_conf
"
done
# setup mkimage-profiles settings
# add mkimage-profiles settings
mkdir
-p
$HOME
/.mkimage
cat
>
$HOME
/.mkimage/profiles.mk
<<
EOF
ifneq (,\
$(
BRANCH
)
)
APTCONF = ~/apt/apt.conf.\
$(
BRANCH
)
.\
$(
ARCH
)
IMAGEDIR = ~/out/\
$(
BRANCH
)
/\
$(
shell
date
+%Y%m%d
)
else
APTCONF = ~/apt/apt.conf.sisyphus.\
$(
ARCH
)
IMAGEDIR = ~/out/sisyphus/\
$(
shell
date
+%Y%m%d
)
endif
CLEAN = 1
DEBUG = 1
REPORT = 1
NO_SYMLINK = 1
#NICE = 1
#QUIET = 1
EOF
# fix owner:group
chown
$USER
:
$USER
-R
"
$HOME
"
# online repo needs network not isolation
echo
"export share_network=1"
>>
/etc/profile.d/hasher.sh
chmod
+x /etc/profile.d/hasher.sh
# squashfs-tools 4.3+
echo
"allowed_mountpoints=/proc"
>>
/etc/hasher-priv/system
# requisite
hasher-useradd
"
$USER
"
# predefined passwordless livecd user is created with livecd-user
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment