This repo contains software to build linux from scratch and package it into rpm files.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
3.4 KiB

find network hosts:
for ip in $(seq 1 254); do ping -c 1 192.168.1.$ip>/dev/null; [ $? -eq 0 ] && echo "192.168.1.$ip UP" || : ; done
Copy the file "foobar.txt" from a remote host to the local host
$ scp /some/local/directory
Copy the file "foobar.txt" from the local host to a remote host
$ scp foobar.txt
Copy the directory "foo" from the local host to a remote host's directory "bar"
$ scp -r foo
Copy the file "foobar.txt" from remote host "" to remote host ""
$ scp \
Copying the files "foo.txt" and "bar.txt" from the local host to your home directory on the remote host
$ scp foo.txt bar.txt
Copy the file "foobar.txt" from the local host to a remote host using port 2264
$ scp -P 2264 foobar.txt
Copy multiple files from the remote host to your current directory on the local host
$ scp\{a,b,c\} .
$ scp\{foo.txt,bar.txt\} .
Update rpm to
* update, download tarball
* update, build
* update not needed
* update rpm.spec, see below
* drop python dependency
#MD5SUM: fdb8b8857f103b087b6aed5b78dd9b4f;rpm-
#MD5SUM: f73afcb308aefde7e6ece4caa87b22a9;SOURCES/db-6.0.20.tar.gz
Read base.spec to get list of packages to install
TODO for
Make a base.spec generator
list= $( ls rpm dir )
for i in $list; do
case $i in
filespec*) ;;
*) LIST+="Requires: ${i} " ;;
write header
write requires
write end
then build base package
fetch package name start with base ( sort unique )
determine binary package name insert into name = ${REPOPATH}/package name-* to process
do until - process names, de dupe names
requirements = $( rpm -qp --requires ${RPMS}/${RPM_ARCH}/${RPM_BINARY}): > ${REQUIRES}/${RPM_NAME} 2>&1 || true
work string = $( rpm <name> requirements )
determine requires [ rpm -qp --requires <filespec> ] if / then filespec add to rpm list
determine requires [ rpm -qp --requires <libary ] ] if ( then library add to rpm list
determine requires [ rpm -qp --requires <package> ] else package add to rpm list
binary name = strip current name from list of package names
no more
LIST+="${REPOPATH}/${i##Requires:}* "
rpm -qp --requires ${RPMS}/${RPM_ARCH}/${RPM_BINARY} > ${REQUIRES}/${RPM_NAME} 2>&1 || true
# rpm -q --whatprovides [file name]
for i in ${LIST}; do
find requires
msg_line "installing: ${i} :"
rpm --upgrade --verbose --hash --noscripts --root ${ROOTPATH} --dbpath ${DBPATH} "${REPOPATH}/${i}-*"
./configure \
--prefix=/usr \
--program-prefix= \
--sysconfdir=/etc \
--with-crypto=openssl \
--with-cap \
--with-acl \
--without-external-db \
--without-archive \
--without-lua \
--disable-dependency-tracking \
--disable-silent-rules \
--disable-rpath \
--disable-plugins \