This repo has been archived. Our code is now hosted at
See you there!
This repo has been archived. Our code is now hosted at
Home Page: https://gitlab.manjaro.org
This repo has been archived. Our code is now hosted at
See you there!
make sure building only starts if valid folder
For example if you use buildpkg -pv package like in the wiki you get weird output as -v is not supported anymore. The script should break when some is wrongly entered.
For example some issue with mkset:
[phil@manjaro pacman.d]$ mkset -c /usr/bin/mkset: option requires an argument -- c /usr/bin/mkset: option requires an argument -- c /usr/bin/mkset: line 105: load_sets: command not found ==> Available sets:
As of now if we create lib32 packages we have to recreate x86_64 chroot. Else we would have normal gcc and not gcc-multilib. I would rather create a chroot called multilib for that case.
I have stopped filing bugs in general, but this one is serious in my opinion, so here goes:
$ buildpkg -p openrc-systemdcompat/ -a i686 -b unstable -cw
==> Cleaning up ...
removed '/mnt/datalinux2/manjaro-tools/cache/unstable/i686/openrc-core-0.13.8-2-i686.pkg.tar.xz.sig'
removed '/mnt/datalinux2/manjaro-tools/cache/unstable/i686/openrc-core-0.13.8-2-i686.pkg.tar.xz'
removed '/mnt/datalinux2/manjaro-tools/cache/unstable/i686/consolekit-0.9.2-2-i686.pkg.tar.xz'
removed '/mnt/datalinux2/manjaro-tools/cache/unstable/i686/polkit-consolekit-0.112-2-i686.pkg.tar.xz'
removed '/mnt/datalinux2/manjaro-tools/cache/unstable/i686/upower-pm-utils-0.9.23-4-i686.pkg.tar.xz'
removed '/home/aaditya/Documents/testdisk.log'
removed '/home/aaditya/derby.log'
removed '/home/aaditya/.VirtualBox/selectorwindow.log'
removed '/home/aaditya/.VirtualBox/VBoxSVC.log'
rm: cannot remove '/home/aaditya/.log': Is a directory
removed '/home/aaditya/weka.log'
removed '/home/aaditya/.wine/winetricks.log'
removed '/home/aaditya/Desktop/pacman.log'
removed '/home/aaditya/testdisk.log'
removed '/home/aaditya/.weechat/weechat.log'
removed '/home/aaditya/.inxi/inxi.log'
removed '/home/aaditya/.inxi/inxi.1.log'
removed '/home/aaditya/.inxi/inxi.2.log'
$ buildpkg -p openrc-systemdcompat/ -a i686 -b unstable -cw -q
[sudo] password for aaditya:
==> manjaro-tools
-> version: 0.9.6.1
-> user_config: /home/aaditya/.config/manjaro-tools.conf
==> PROFILE:
-> buildsets: default
-> buildset_pkg: openrc-systemdcompat/
-> is_buildset: false
==> OPTIONS:
-> arch: i686
-> branch: unstable
-> chroots_pkg: /mnt/datalinux2/manjaro-tools/buildpkg
==> ARGS:
-> clean_first: true
-> wipe_clean: true
-> namcap: false
-> sign: false
-> makepkg_args:
==> PATHS:
-> work_dir: /mnt/datalinux2/manjaro-tools/buildpkg/unstable/i686
-> sets_dir_pkg: /etc/manjaro-tools/sets/pkg
-> cache_dir_pkg: /mnt/datalinux2/manjaro-tools/cache/unstable/i686
-> build_mirror: http://mirror.netzspielplatz.de/manjaro/packages/unstable
==> BLACKLIST:
-> blacklist_trigger: eudev upower-pm-utils eudev-systemdcompat
-> blacklist: libsystemd
==> PKG:
-> base_packages: base-devel
==> BUILD QUEUE:
-> openrc-systemdcompat/
Should the library use the manjaro-tools.conf variables to write calamares modules configs?
I had a look at services.conf, wouldn't be a problem to feed calamares services from our variables.
This is totally wrong and blocks for example sudo to be excuteable. We have to check what causes this.
$ mkset -c i3
[sudo] password for aaditya:
==> Creating [/i3.set] ...
-> Adding i3-git
-> Adding i3bar-icons
-> Adding i3blocks
But it is not present in /etc/manjaro-tools/set, but rather in /i3.set
Sure we use branches on creating our images, but is it wanted to default on stable rather than the branch we build our install-media on? We might call this after root-image creation:
cp "${PKGDATADIR}/pacman-mirrors-${branch}.conf" "${work_dir}/root-image/etc/pacman-mirrors.conf"
Otherwise we can add another switch if other options are wanted ...
Output:
==> Making bootable image
==> ERROR: Image /run/media/aaditya/DataLinux2/manjarobuild/manjaro-xfce-openrc-2014-12-06-x86_64.iso already exists, aborting.
==> Creating ISO image...
Despite of the output, seems to create new ISO.
i just did a
git clone -b devel https://github.com/udeved/manjaro-tools.git
then i switched into the manjaro-tools directory and ran
sudo make install
i received this error:
Makefile:3: *** Rekursive Variable „PREFIX“ referenziert sich (schließlich) selbst. Schluss.
this does not have high priority, because it is possible to install the latest manjaro-tools with this file:
https://github.com/udeved/pkgbuilds/tree/master/manjaro-tools-git-devel/PKGBUILD
[anex@manjaro kde5]$ sudo buildiso -vCq
/etc/manjaro-tools/manjaro-tools.conf: line 31: syntax error near unexpected token `)'
/etc/manjaro-tools/manjaro-tools.conf: line 31: `'eudev-systemdcompat' 'lib32-eudev-systemdcompat')'
==> manjaro-tools
-> version: 0.9.5.7
-> manjaro_tools_conf: /etc/manjaro-tools/manjaro-tools.conf
-> iso_profile: kde5
-> initsys: systemd
==> OPTIONS:
-> arch: x86_64
-> branch: unstable
-> work_dir: /home/anex/git/manjaro-tools-iso-profiles-KF5/kde5/kde5/x86_64
-> target_dir: /home/anex/git/manjaro-tools-iso-profiles-KF5/kde5
==> ARGS:
-> clean_first: true
-> auto_svc_conf: true
-> high_compression: true
-> clean_cache_pkgs: true
-> clean_cache_lng: true
-> images_only: false
-> iso_only: false
-> custom_pac_conf: true
==> PATHS:
-> cache_pkgs: /var/cache/manjaro-tools/pkgs
-> cache_lng: /var/cache/manjaro-tools/lng
-> pacman_conf: /home/anex/git/manjaro-tools-iso-profiles-KF5/kde5/pacman-multilib.conf
-> pacman_mirrors: /usr/share/manjaro-tools/pacman-mirrors-unstable.conf
==> IMAGES SETTINGS:
-> manjaro_kernel: linux317
-> manjaro_version: 2015.01
-> displaymanager: sddm
-> plymouth_theme: manjaro-elegant
-> start_systemd: cronie cupsd tlp tlp-sleep
==> ISO SETTINGS:
-> iso_label: MJRO0090-dev-1222
-> iso_version: 0.9.0-dev-1222
-> manjaroiso: manjaroiso
-> code_name: Bellatrix
-> img_name: manjaro
-> install_dir: manjaro
-> iso_file: /home/anex/git/manjaro-tools-iso-profiles-KF5/kde5/manjaro-kde-0.9.0-dev-1222-x86_64.iso
==> LIVECD:
-> username: manjaro
-> password: manjaro
-> addgroups: video,audio,power,disk,storage,optical,network,lp,scanner
-> hostname: manjaro
-> start_systemd_live: bluez NetworkManager ModemManager
The error I get is
sudo: error in /etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
Devtools have the option to create log files and also display what is going on to a terminal. We can use this code to create automatically log files for each build. After iso image creation we should automatically create shasum files.
As of now mhwd-gpu --setgl gets only called in root chroot. When you try to build any lib32 pkg related on lib32-libgl it will fail. You have to call manjaro-chroot > mhwd-gpu --setgl mesa before you can compile such a package in your user chroot.
The error is as follows:
$ buildpkg -p openrc-base/
==> Updating chroot for [testing] (x86_64)...
/usr/bin/chroot-run: illegal option -- L
Usage: chroot-run [options] working-dir [run arguments]
A wrapper around chroot. Provides support for pacman.
options:
-C <file> Location of a pacman config file
-M <file> Location of a makepkg config file
-S <file> Location of a pacman-mirrors config file
-c <dir> Set pacman cache
-r <list> Bind mountargs ro
-w <list> Bind mountargs rw
List format [src1:target1,...,srcN:targetN]
-h This message
==> ERROR: Aborting...
Some information:
$ buildpkg -q -p openrc-base/
==> manjaro-tools
-> version: 0.9.5.6
-> user_config: /home/aaditya/.config/manjaro-tools.conf
==> OPTIONS:
-> arch: x86_64
-> branch: testing
-> chroots: /home/aaditya/DataLinux2/manjaro-tools
==> ARGS:
-> mkchrootpkg_args: -r /home/aaditya/DataLinux2/manjaro-tools/testing/x86_64
-> makepkg_args:
-> clean_first: false
-> wipe_clean: false
-> namcap: false
-> sign: false
==> PATHS:
-> chrootdir: /home/aaditya/DataLinux2/manjaro-tools/testing/x86_64
-> profiledir: /home/aaditya/.config/sets
-> pkg_dir: /home/aaditya/DataLinux2/manjaro-tools/pkgs/testing/x86_64
-> pacman_conf: /usr/share/manjaro-tools/pacman-default.conf
-> makepkg_conf: /usr/share/manjaro-tools/makepkg-x86_64.conf
-> mirrors_conf: /usr/share/manjaro-tools/pacman-mirrors-testing.conf
==> BLACKLIST:
-> blacklist_trigger: eudev lib32-eudev upower-pm-utils eudev-systemdcompat lib32-eudev-systemdcompat lib32-eudev upower-pm-utils eudev-systemdcompat lib32-eudev-systemdcompat lib32-eudev upower-pm-utils eudev-systemdcompat lib32-eudev-systemdcompat
-> blacklist: libsystemd
==> SETS:
-> profiles: default|lxdm-consolekit|openrc-artoo
-> profile: openrc-base/
-> is_profile: false
==> Build queue:
-> openrc-base/
By default we have followed locale.conf
LANG=en_US.utf8 LC_COLLATE=C
Somehow we end up with:
LANG=C
This is wrong and needs another look. Also it might create lot of issues during live-session bootup.
Example:
==> BUILD QUEUE: /usr/bin/buildiso: line 82: cd: xfce-minimal: No such file or directory --> Profile: [xfce-minimal] ... ls: cannot access Packages*: No such file or directory cat: displaymanager: No such file or directory cat: initsys: No such file or directory -> initsys: -> displaymanager: -> pacman_conf: /usr/share/manjaro-tools/pacman-multilib.conf -> work_dir: /opt/buildiso/xfce-minimal/x86_64 -> iso_file: manjaro--0.9.0-dev-x86_64.iso -> start_openrc: cronie cupsd metalog dbus consolekit acpid -> start_openrc_live: bluetooth NetworkManager
Should we support a local repo in a custom pacman.conf which is copied to iso the same way xorg and lng do?
Redirect build log to log if it is either not run in terminal, or copy terminal output to log file.
Should the Dm be configured on DE image or on livecd image?
I think calamares does this for the install, but what about thus and cli?
By default we error out when ISO files exist. Add an option to overwrite them.
After we release manjaro-tools-0.9.5.7, we should rebuild the livecd packages and the iso profiles.
Should I tag those packages 0.9.0-pre1 or something or as 0.8.11-2 ?
When you change something this much can you update the devel readme please?
build error?
[anex@manjaro kde5]$ buildiso -h
Usage: buildiso [options]
-p <profile> Set or profile [default: ]
-a <arch> Arch [default: x86_64]
-b <branch> Branch [default: unstable]
-r <dir> Chroots directory
[default: /opt/buildiso]
-v Verbose iso compression
-q Query settings and pretend build
-c Disable clean work dir and target dir iso
-A Disable auto configure services
-B Build images only
-G Generate iso only
Requires pre built images
-P Disable clean pkgs cache
-L Disable clean lng cache
-h This help
[anex@manjaro kde5]$ sudo buildiso -vq -p kde5
/usr/bin/buildiso: line 154: cd: kde5: No such file or directory
==> manjaro-tools
-> version: 0.9.6
-> manjaro_tools_conf: /etc/manjaro-tools/manjaro-tools.conf
==> PROFILE:
-> buildsets: default
-> buildset_iso: kde5
-> is_buildset: false
-> initsys: systemd
-> displaymanager: sddm
==> OPTIONS:
-> arch: x86_64
-> branch: unstable
-> chroots_iso: /opt/buildiso
==> ARGS:
-> clean_first: true
-> auto_svc_conf: true
-> custom_pac_conf:
==> PATHS:
-> work_dir: /opt/buildiso/kde5/x86_64
-> iso_dir: /var/cache/manjaro-tools/iso
-> pacman_conf: pacman-multilib.conf
-> pacman_mirrors: /usr/share/manjaro-tools/pacman-mirrors-unstable.conf
==> IMAGES SETTINGS:
-> manjaro_kernel: linux318
-> manjaro_version: 2015.01
-> plymouth_theme: manjaro-elegant
-> start_systemd: cronie org.cups.cupsd.service tlp tlp-sleep bluetooth NetworkManager ModemManager sddm
==> ISO SETTINGS:
-> iso_label: MJRO090
-> iso_version: 0.9.0-dev-0114
-> manjaroiso: manjaroiso
-> code_name: Bellatrix
-> img_name: manjaro
-> install_dir: manjaro
-> iso_file: /var/cache/manjaro-tools/iso/manjaro-kde-0.9.0-dev-0114-x86_64.iso
-> compression: xz
==> LIVECD:
-> username: manjaro
-> password: manjaro
-> addgroups: video,audio,power,disk,storage,optical,network,lp,scanner
-> hostname: manjaro
-> start_systemd_live: bluez NetworkManager ModemManager
[anex@manjaro kde5]$ sudo buildiso -v -p kde5
/usr/bin/buildiso: line 154: cd: kde5: No such file or directory
==> Cleaning [/var/cache/manjaro-tools/xorg] ...
==> Cleaning [/var/cache/manjaro-tools/lng] ...
==> Prepare [Base installation] (root-image)
==> ERROR: pacman config file '-M' does not exist
==> ERROR: Invalid command name /usr/share/manjaro-tools/pacman-mirrors-unstable.conf
usage mkiso [options] command <command options>
general options:
-f Force overwrite of working files/squashfs image/bootable image
-p PACKAGE(S) Additional package(s) to install, can be used multiple times
-C <file> Config file for pacman. Default -M
-L <label> Set a label for the disk
-P <publisher> Set a publisher for the disk
-A <application> Set an application name for the disk
-a <arch> Set an architecture for the disk (example: i686)
-c <compressor> Set SquashFS compression type: gzip, xz or lzo. Default xz
NOTES:
xz: needs Linux >= 2.6.35 - you can add '-x' for better compression
lzo: needs Linux >= 2.6.36
-D <install_dir> Set an install_dir. All files will by located here on ISO (except for isolinux)
Default manjaro
NOTE: Max 8 characters, use only [a-z0-9]
-i <image_folder> Set an image_folder for installing selected packages to.
Default root-image
-d Create default user directory /home/manjaro
-v Enable verbose output
-M Pass pacman-morrors.conf
-h This message
commands:
create <dir>
create a base directory layout to work with
includes all specified packages
iso <dir> <image name>
build an iso image from the working dir
==> ERROR: Please check you Packages file! Exiting.
[anex@manjaro kde5]$
Seems somehow when an openrc-host is used to build install-medias it somehow fails to umount the dev target:
(760/760) installing subversion [#######################################] 100% Optional dependencies for subversion libgnome-keyring: for GNOME Keyring for auth credentials [installed] kdebase-runtime: for KWallet for auth credentials bash-completion: for svn bash completion python2: for some hook scripts [installed] java-environment: for Java support ruby: for some hook scripts umount: /srv/manjaroiso/xfce/x86_64/xfce-image/dev: target is busy (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1).)
(386/386) installing ttf-droid [######################] 100% Updating font cache... done. Generating locales... Generation complete. -> Cleaning up what we can ==> ERROR: Please check your Packages-xfce file! Exiting.
Why Packages-xfce if it is Packages-Xfce ?!?
As I have for example direct access to repo.manjaro.org I like also to use that mirror on my pkg-chroots. This way I can be sure to use the latest packages currently present and don't have to wait for other mirrors to sync.
Seems clears workdir on re-run. Within ManjaroISO we have the option to remove for example xfce-image and call buildiso once again. As root-image was already created it skips that step and continues with xfce-image. This feature is missing within manjaro-tools. Therefore we have to add an option to disable workdir clearing.
Somehow we have an ntpd service issue. This service simply fails to start. Also it seems we have some other issue makeing the bootup hang. Might be mirror related or any other service trying to connect to the internet.
However, if you disable network it boots up as normal. Have to check if we have the same issue also with ManjaroISO.
If you build a lot you will be soon or later cluttered with log files. Would be nice to have them moved to a log archive.
Currently, we need to use -w switch everytime, or we get this mkiso error message:
==> Making bootable image
==> ERROR: Image /build/manjaro-tools/iso/manjaro-xfce-0.9.0-x86_64.iso already exists.
==> ERROR: Aborting...
I wondered if it makes sense at all to separate services for DE image and live image.
Do we need this specific array to start services only in live session, or can we move them to DE images too?
Line 87 change "cupsd" to "org.cups.cupsd"
In previous manjaroiso it would stop if some image was not built correctly, but in the new one it seems to go on..
error: failed to commit transaction (unexpected error)
Errors occurred, no packages were upgraded.
==> ERROR: Failed to install packages to new root
warning: database file for 'multilib' does not exist
warning: database file for 'infinality-bundle' does not exist
==> Done
==> Prepare pkgs-image
-> mount root-image
-> -mount xfce-image
Root : /run/media/aaditya/DataLinux2/manjarobuild/xfce/i686/pkgs-image/
Conf File : pacman-i686.conf
DB Path : /run/media/aaditya/DataLinux2/manjarobuild/xfce/i686/pkgs-image/var/lib/pacman/
Cache Dirs: /run/media/aaditya/DataLinux2/manjarobuild/xfce/i686/pkgs-image/opt/livecd/pkgs/
Lock File : /run/media/aaditya/DataLinux2/manjarobuild/xfce/i686/pkgs-image/var/lib/pacman/db.lck
Log File : /run/media/aaditya/DataLinux2/manjarobuild/xfce/i686/pkgs-image/var/log/pacman.log
GPG Dir : /etc/pacman.d/gnupg/
Targets : xorg-drivers xf86-video-ati xf86-video-intel xf86-video-nouveau ati-dri intel-dri nouveau-dri bumblebee primus linux314-bbswitch linux314-broadcom-wl linux314-rt3562sta linux314-r8168 virtualbox-guest-utils-openrc linux314-virtualbox-guest-modules libxaw libxpm libxvmc pangox-compat open-vm-tools
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
openrc-eudev is up to date
:: There are 34 members in group xorg-drivers:
:: Repository extra
1) xf86-input-evdev 2) xf86-input-joystick 3) xf86-input-keyboard
4) xf86-input-mouse 5) xf86-input-synaptics 6) xf86-input-vmmouse
7) xf86-input-void 8) xf86-video-ark 9) xf86-video-ast 10) xf86-video-ati
11) xf86-video-cirrus 12) xf86-video-dummy 13) xf86-video-fbdev
14) xf86-video-geode 15) xf86-video-glint 16) xf86-video-i128
17) xf86-video-intel 18) xf86-video-mach64 19) xf86-video-mga
20) xf86-video-modesetting 21) xf86-video-neomagic 22) xf86-video-nouveau
23) xf86-video-nv 24) xf86-video-openchrome 25) xf86-video-r128
26) xf86-video-savage 27) xf86-video-siliconmotion 28) xf86-video-sis
29) xf86-video-tdfx 30) xf86-video-trident 31) xf86-video-v4l
32) xf86-video-vesa 33) xf86-video-vmware 34) xf86-video-voodoo
Output generated seems to be an ISO with half the normal size (probably due to xfce-image being missing in it)..
As we added pkg cache to both binaries we should also add a switch to clean that cache up. Soon or later you might have a full harddrive cos of caching outdated packages in several places (pacman cache , etc).
any ideas?
manjaro-tools version: r541.7619636-1
:: Synchronizing package databases...
core is up to date
manjaro-livecd-repo is up to date
kf5-apps is up to date
extra is up to date
community is up to date
multilib is up to date
resolving dependencies...
looking for conflicting packages...
Packages (5) boost-1.57.0-2 yaml-cpp-0.5.1-1 calamares-0.17.7-1 manjaro-livecd-cli-installer-r42.9960b19-1 manjaro-livecd-systemd-r42.9960b19-1
Total Installed Size: 145.61 MiB
:: Proceed with installation? [Y/n]
(5/5) checking keys in keyring [####################################################################] 100%
(5/5) checking package integrity [####################################################################] 100%
(5/5) loading package files [####################################################################] 100%
(5/5) checking for file conflicts [####################################################################] 100%
error: failed to commit transaction (conflicting files)
calamares: /opt/buildiso/plasma5/kde5/x86_64/livecd-image/usr/lib64 exists in filesystem
Errors occurred, no packages were upgraded.
==> ERROR: Failed to install packages to new root
==> ERROR: Failed to install all packages
==> ERROR: Failed to retrieve one or more packages!
==> ERROR: Please check you Packages-Livecd file! Exiting.
[anex@manjaro kde5]$
If you change code_name in your custom manjaro-tools.conf /etc/lsb-release won't get updated on final iso-image.
The reason for this, lightdm autologin doesn't work if I provide a lightdm.conf in profile.
Problem here, I want to use the lxqt greeter, which needs greeter settings set.
the displaymanager file in profile could be expanded with a theme variable or we put it in manjaro-tools.conf.
Thats a special case for non gtk greeter, as lightdm defaults to gtk greeters.
Apart from that, lightdm needs VT7 on openrc which can be easily done in code.
Is lightdm the only DM which needs such specific stuff to fix autologin issues?
After a second try on xfce-minimal in this case, which failed first try due to netkit-bsd not in repos, the second run produces this:
==> Removing [/build/buildiso/xfce-minimal/x86_64] ...
rm: cannot remove '/build/buildiso/xfce-minimal/x86_64/xfce-image': Device or resource busy
rm: cannot remove '/build/buildiso/xfce-minimal/x86_64/root-image': Device or resource busy
make it work for iso sets too.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.